From 5f27ed2bab3461644056509a6cef7e22445ff4c4 Mon Sep 17 00:00:00 2001 From: Penguin Date: Sun, 17 Sep 2023 15:27:37 -0500 Subject: [PATCH] reinit --- .../index/lv_anim.h.C99F97FD864A3798.idx | Bin 8636 -> 0 bytes .../index/lv_api_map.h.5CCAFEAA5E6CA360.idx | Bin 2728 -> 0 bytes .../index/lv_arc.h.AC87E223E4C80685.idx | Bin 2804 -> 0 bytes .../index/lv_area.h.D4CA4C05A6B7E6E9.idx | Bin 5068 -> 0 bytes .../index/lv_async.h.4602C68849611E1F.idx | Bin 1022 -> 0 bytes .../index/lv_bar.h.83F821044F007693.idx | Bin 3996 -> 0 bytes .../index/lv_bidi.h.4BE6DA29565B046E.idx | Bin 918 -> 0 bytes .../index/lv_btn.h.380F1EFC395CA339.idx | Bin 3924 -> 0 bytes .../index/lv_btnmatrix.h.6F289E1AE5700AA4.idx | Bin 5504 -> 0 bytes .../index/lv_calendar.h.9D118A82F6F27153.idx | Bin 3800 -> 0 bytes .../index/lv_canvas.h.6F7686932557A2E4.idx | Bin 5348 -> 0 bytes .../index/lv_chart.h.7739AA38EA273613.idx | Bin 6618 -> 0 bytes .../index/lv_checkbox.h.6CE753848B2FFC11.idx | Bin 2546 -> 0 bytes .../index/lv_color.h.DFF0ED47522F98E3.idx | Bin 12152 -> 0 bytes .../lv_conf_internal.h.02099AA941050787.idx | Bin 4846 -> 0 bytes .../index/lv_cont.h.104B23257FC44ED2.idx | Bin 4048 -> 0 bytes .../index/lv_cpicker.h.0C2E2EDFFAA899F0.idx | Bin 4572 -> 0 bytes .../index/lv_debug.h.BE48BCB057237D70.idx | Bin 1642 -> 0 bytes .../index/lv_disp.h.3BD2AF4370EBC3E8.idx | Bin 2034 -> 0 bytes .../index/lv_draw.h.67AC1833A83F9A7F.idx | Bin 432 -> 0 bytes .../index/lv_draw_arc.h.A6DB79B012145B66.idx | Bin 770 -> 0 bytes .../lv_draw_blend.h.6741EFBD75059457.idx | Bin 1146 -> 0 bytes .../index/lv_draw_img.h.CDE2FBA534DEF669.idx | Bin 2176 -> 0 bytes .../lv_draw_label.h.C31C046C34B4A0B1.idx | Bin 2934 -> 0 bytes .../index/lv_draw_line.h.B6E045C4E5A69430.idx | Bin 1494 -> 0 bytes .../index/lv_draw_mask.h.CC14B839286A5C26.idx | Bin 8220 -> 0 bytes .../index/lv_draw_rect.h.585A53CC2EA28323.idx | Bin 4018 -> 0 bytes .../lv_draw_triangle.h.064C5033F31C031F.idx | Bin 740 -> 0 bytes .../index/lv_dropdown.h.5CFDA02DB9F38199.idx | Bin 5430 -> 0 bytes .../index/lv_font.h.E68B64263F009FE5.idx | Bin 3672 -> 0 bytes .../lv_font_fmt_txt.h.1C4775F330FD3A11.idx | Bin 4758 -> 0 bytes .../clangd/index/lv_fs.h.B3364DFC746AB6BC.idx | Bin 7576 -> 0 bytes .../index/lv_gauge.h.FED1ACC14FE3BEF1.idx | Bin 5304 -> 0 bytes .../clangd/index/lv_gc.h.BEDC399C635A0416.idx | Bin 1848 -> 0 bytes .../lv_gpu_stm32_dma2d.h.59E10C40772F5070.idx | Bin 1456 -> 0 bytes .../index/lv_group.h.DA94777F4D37213F.idx | Bin 5150 -> 0 bytes .../index/lv_hal.h.D756D0D279F68093.idx | Bin 274 -> 0 bytes .../index/lv_hal_disp.h.E777A8C1550C8248.idx | Bin 7552 -> 0 bytes .../index/lv_hal_indev.h.00942C1E5A927340.idx | Bin 7384 -> 0 bytes .../index/lv_hal_tick.h.3363CB68DA3E1292.idx | Bin 802 -> 0 bytes .../index/lv_img.h.E77F56855542FC76.idx | Bin 4100 -> 0 bytes .../index/lv_img_buf.h.63EFD84C63D90E4F.idx | Bin 11046 -> 0 bytes .../index/lv_img_cache.h.F3340A3FBBC92B10.idx | Bin 1278 -> 0 bytes .../lv_img_decoder.h.287DBC3132B7D368.idx | Bin 5548 -> 0 bytes .../index/lv_imgbtn.h.F8C9B29184DCB331.idx | Bin 2430 -> 0 bytes .../index/lv_indev.h.164CCFB3AD45304A.idx | Bin 3310 -> 0 bytes .../index/lv_keyboard.h.9D2524FEB3DC98F1.idx | Bin 3244 -> 0 bytes .../index/lv_label.h.B2A75712D81DB0A8.idx | Bin 6498 -> 0 bytes .../index/lv_led.h.AD71F765554FCB28.idx | Bin 1468 -> 0 bytes .../index/lv_line.h.ACB6C70CD7650807.idx | Bin 1982 -> 0 bytes .../index/lv_linemeter.h.8B84E059BE5A0EAA.idx | Bin 3228 -> 0 bytes .../index/lv_list.h.79B590190FC84645.idx | Bin 5554 -> 0 bytes .../clangd/index/lv_ll.h.87E828A23D9B1E2F.idx | Bin 2630 -> 0 bytes .../index/lv_log.h.1AA0EF0E8C06BE55.idx | Bin 1672 -> 0 bytes .../index/lv_math.h.3894988CEE35F69F.idx | Bin 2142 -> 0 bytes .../index/lv_mem.h.E92C4EFE5374143D.idx | Bin 3646 -> 0 bytes .../index/lv_msgbox.h.6E4AE122F16492A9.idx | Bin 3128 -> 0 bytes .../index/lv_obj.h.188444A57A364B8D.idx | Bin 31982 -> 0 bytes .../lv_obj_style_dec.h.29E97610FA544952.idx | Bin 34534 -> 0 bytes .../index/lv_objmask.h.9A70250A36E6754F.idx | Bin 1612 -> 0 bytes .../index/lv_page.h.2E23B71B2A0EE390.idx | Bin 9334 -> 0 bytes .../index/lv_printf.h.12D4947AF1B38959.idx | Bin 918 -> 0 bytes .../index/lv_refr.h.23C65DD2EF0B7A61.idx | Bin 1318 -> 0 bytes .../index/lv_roller.h.943840E957C8ED32.idx | Bin 3968 -> 0 bytes .../index/lv_slider.h.51CDBBA38D6ED6D6.idx | Bin 3906 -> 0 bytes .../index/lv_spinbox.h.692EB2B3D9E1C67C.idx | Bin 3502 -> 0 bytes .../index/lv_spinner.h.8A37EC7C656E65F0.idx | Bin 3236 -> 0 bytes .../index/lv_style.h.BB6C5690E3D58F07.idx | Bin 20196 -> 0 bytes .../index/lv_switch.h.F624B9C1418BBD1C.idx | Bin 2368 -> 0 bytes .../lv_symbol_def.h.D4660ACB4EDF14E1.idx | Bin 5356 -> 0 bytes .../index/lv_table.h.DC32B78F671A4784.idx | Bin 4998 -> 0 bytes .../index/lv_tabview.h.AA25C152C6DAF8B1.idx | Bin 3892 -> 0 bytes .../index/lv_task.h.E8EF188A862E2F31.idx | Bin 3588 -> 0 bytes .../lv_test_assert.h.205ED9E07CD7BDEA.idx | Bin 1242 -> 0 bytes .../index/lv_test_core.h.6823145D44ED3AED.idx | Bin 306 -> 0 bytes .../index/lv_test_obj.h.95A07FEB29B44393.idx | Bin 308 -> 0 bytes .../lv_test_style.h.3A696EE238CD408B.idx | Bin 310 -> 0 bytes .../index/lv_textarea.h.E5B09E5B7E5E5E15.idx | Bin 8784 -> 0 bytes .../index/lv_theme.h.CAAADBE7EB326785.idx | Bin 6106 -> 0 bytes .../lv_theme_empty.h.75CA8EF209CFE155.idx | Bin 772 -> 0 bytes .../lv_theme_material.h.5D3924A6013D6B64.idx | Bin 1062 -> 0 bytes .../lv_theme_mono.h.5990A0AAB47183BE.idx | Bin 772 -> 0 bytes .../lv_theme_template.h.29B03139719D4666.idx | Bin 774 -> 0 bytes .../index/lv_tileview.h.2978CBE775EF11EC.idx | Bin 3388 -> 0 bytes .../index/lv_txt.h.A6A06B9483A16331.idx | Bin 4262 -> 0 bytes .../index/lv_txt_ap.h.F77527F3A8F9C41D.idx | Bin 332 -> 0 bytes .../index/lv_types.h.7CDB8491E973B660.idx | Bin 782 -> 0 bytes .../index/lv_utils.h.F80302D51558197C.idx | Bin 1058 -> 0 bytes .../index/lv_win.h.6244E1747950FDE3.idx | Bin 5266 -> 0 bytes .../clangd/index/lvgl.h.56FF87AD912762CF.idx | Bin 1204 -> 0 bytes .../.dir-locals.el => .dir-locals.el | 7 +- .gitignore | 1 + .gitmodules | 9 - .../breakout_board_2x20-cache.lib | 194 - .../breakout_board_2x20.kicad_pcb | 1261 - .../breakout_board_2x20.kicad_pcb-bak | 1258 - .../breakout_board_2x20.pro | 33 - .../breakout_board_2x20.sch | 358 - .../breakout_board_2x20.sch-bak | 358 - .../breakout_board_2x20/fp-info-cache | 638 - .../breakout_board_2x20/fp-lib-table | 3 - .../breakout_board_2x20/gerbers.zip | Bin 46302 -> 0 bytes .../gerbers/breakout_board_2x20-B_Cu.gbl | 384 - .../gerbers/breakout_board_2x20-B_Mask.gbs | 3028 - .../gerbers/breakout_board_2x20-B_SilkS.gbo | 175 - .../gerbers/breakout_board_2x20-Edge_Cuts.gm1 | 35 - .../gerbers/breakout_board_2x20-F_Cu.gtl | 1264 - .../gerbers/breakout_board_2x20-F_Mask.gts | 3028 - .../gerbers/breakout_board_2x20-F_SilkS.gto | 1938 - .../gerbers/breakout_board_2x20-NPTH.drl | 13 - .../gerbers/breakout_board_2x20-PTH.drl | 127 - .../libraries/Conn_02x20_LCD_INTF.dcm | 3 - .../libraries/Conn_02x20_LCD_INTF.lib | 99 - .../idc_breakout.kicad_mod | 173 - .../breakout_board_2x20/sym-lib-table | 3 - electrical/same54_dev_board/BRAIN.sch | 562 - electrical/same54_dev_board/BRAIN.sch-bak | 562 - electrical/same54_dev_board/NCP349MNAETBG.dcm | 3 - electrical/same54_dev_board/NCP349MNAETBG.lib | 22 - electrical/same54_dev_board/Power.sch | 401 - electrical/same54_dev_board/Power.sch-bak | 401 - .../SCREEN_INTF-s_SCREEN_INTF.pdf | Bin 64172 -> 0 bytes electrical/same54_dev_board/SCREEN_INTF.sch | 656 - .../same54_dev_board/SCREEN_INTF.sch-bak | 656 - electrical/same54_dev_board/USB_INTF.sch | 282 - electrical/same54_dev_board/USB_INTF.sch-bak | 282 - electrical/same54_dev_board/fp-7451.tmp | 51637 ---------- electrical/same54_dev_board/fp-info-cache | 78765 ---------------- electrical/same54_dev_board/fp-lib-table | 3 - .../libraries/Conn_02x20_LCD_INTF.bck | 9 - .../libraries/Conn_02x20_LCD_INTF.dcm | 9 - .../libraries/Conn_02x20_LCD_INTF.lib | 99 - .../libraries/MAX7301AAX_.dcm | 3 - .../libraries/MAX7301AAX_.lib | 60 - .../libraries/TPS73733QDRBRQ1.dcm | 3 - .../libraries/TPS73733QDRBRQ1.lib | 15 - .../SOP80P1030X264-36N.kicad_mod | 58 - .../same54_dev_board-2022-02-12_195512.zip | Bin 11813 -> 0 bytes .../same54_dev_board-2022-02-13_232912.zip | Bin 13771 -> 0 bytes .../same54_dev_board-2022-06-02_143540.zip | Bin 14490 -> 0 bytes .../same54_dev_board-cache.lib | 671 - .../same54_dev_board-rescue.dcm | 3 - .../same54_dev_board-rescue.lib | 171 - .../same54_dev_board.kicad_pcb | 1591 - .../same54_dev_board.kicad_pcb-bak | 1591 - .../same54_dev_board.kicad_prl | 77 - .../same54_dev_board.kicad_pro | 414 - .../same54_dev_board/same54_dev_board.pro | 43 - .../same54_dev_board/same54_dev_board.sch | 228 - .../same54_dev_board/same54_dev_board.sch-bak | 228 - electrical/same54_dev_board/sym-lib-table | 6 - .../AtmelStart.env_conf | 0 .../AtmelStart.gpdsc | 0 .../CMSIS/Core/Include/cmsis_armcc.h | 0 .../CMSIS/Core/Include/cmsis_armclang.h | 0 .../CMSIS/Core/Include/cmsis_compiler.h | 0 .../CMSIS/Core/Include/cmsis_gcc.h | 0 .../CMSIS/Core/Include/cmsis_iccarm.h | 0 .../CMSIS/Core/Include/cmsis_version.h | 0 .../CMSIS/Core/Include/core_armv8mbl.h | 0 .../CMSIS/Core/Include/core_armv8mml.h | 0 .../CMSIS/Core/Include/core_cm0.h | 0 .../CMSIS/Core/Include/core_cm0plus.h | 0 .../CMSIS/Core/Include/core_cm1.h | 0 .../CMSIS/Core/Include/core_cm23.h | 0 .../CMSIS/Core/Include/core_cm3.h | 0 .../CMSIS/Core/Include/core_cm33.h | 0 .../CMSIS/Core/Include/core_cm4.h | 0 .../CMSIS/Core/Include/core_cm7.h | 0 .../CMSIS/Core/Include/core_sc000.h | 0 .../CMSIS/Core/Include/core_sc300.h | 0 .../CMSIS/Core/Include/mpu_armv7.h | 0 .../CMSIS/Core/Include/mpu_armv8.h | 0 .../CMSIS/Core/Include/tz_context.h | 0 .../CMSIS/Documentation/Core/html/index.html | 0 .../GPATH | Bin .../GRTAGS | Bin .../GTAGS | Bin .../atmel_start.c | 0 .../atmel_start.h | 0 .../atmel_start_config.atstart | 0 .../atmel_start_pins.h | 0 .../compile_commands.json | 0 .../config/hpl_dmac_config.h | 0 .../config/hpl_gclk_config.h | 0 .../config/hpl_pm_config.h | 0 .../config/hpl_sercom_config.h | 0 .../config/hpl_sysctrl_config.h | 0 .../config/peripheral_clk_config.h | 0 .../driver_init.c | 0 .../driver_init.h | 0 .../examples/driver_examples.c | 0 .../examples/driver_examples.h | 0 .../gcc/Makefile | 0 oracle_d21_edition/gcc/compile_commands.json | 43 + .../gcc/hal/src/hal_delay.d | 12 +- oracle_d21_edition/gcc/hal/src/hal_delay.o | Bin 0 -> 687960 bytes .../gcc/hal/src/hal_init.d | 12 +- oracle_d21_edition/gcc/hal/src/hal_init.o | Bin 0 -> 685568 bytes .../gcc/hal/src/hal_io.d | 12 +- oracle_d21_edition/gcc/hal/src/hal_io.o | Bin 0 -> 688448 bytes .../gcc/hal/src/hal_usart_sync.d | 12 +- .../gcc/hal/src/hal_usart_sync.o | Bin 0 -> 704848 bytes .../gcc/hal/utils/src/utils_assert.d | 12 +- .../gcc/hal/utils/src/utils_assert.o | Bin 0 -> 685996 bytes .../gcc/hal/utils/src/utils_list.d | 12 +- .../gcc/hal/utils/src/utils_list.o | Bin 0 -> 689768 bytes .../gcc/hal/utils/src/utils_syscalls.d | 20 +- .../gcc/hal/utils/src/utils_syscalls.o | Bin 0 -> 61220 bytes .../gcc/hpl/core/hpl_core_m0plus_base.d | 12 +- .../gcc/hpl/core/hpl_core_m0plus_base.o | Bin 0 -> 698496 bytes .../gcc/hpl/core/hpl_init.d | 12 +- oracle_d21_edition/gcc/hpl/core/hpl_init.o | Bin 0 -> 701136 bytes .../gcc/hpl/dmac/hpl_dmac.d | 12 +- oracle_d21_edition/gcc/hpl/dmac/hpl_dmac.o | Bin 0 -> 727172 bytes .../gcc/hpl/gclk/hpl_gclk.d | 12 +- oracle_d21_edition/gcc/hpl/gclk/hpl_gclk.o | Bin 0 -> 692396 bytes .../gcc/hpl/pm/hpl_pm.d | 12 +- oracle_d21_edition/gcc/hpl/pm/hpl_pm.o | Bin 0 -> 694192 bytes .../gcc/hpl/sysctrl/hpl_sysctrl.d | 12 +- .../gcc/hpl/sysctrl/hpl_sysctrl.o | Bin 0 -> 700884 bytes .../gcc/main.d | 12 +- .../gcc/samd21a/gcc/gcc/startup_samd21.d | 4 +- .../gcc/samd21a/gcc/gcc/startup_samd21.o | Bin 0 -> 659416 bytes .../hal/documentation/usart_sync.rst | 0 .../hal/include/hal_atomic.h | 0 .../hal/include/hal_delay.h | 0 .../hal/include/hal_gpio.h | 0 .../hal/include/hal_init.h | 0 .../hal/include/hal_io.h | 0 .../hal/include/hal_sleep.h | 0 .../hal/include/hal_usart_sync.h | 0 .../hal/include/hpl_core.h | 0 .../hal/include/hpl_delay.h | 0 .../hal/include/hpl_dma.h | 0 .../hal/include/hpl_gpio.h | 0 .../hal/include/hpl_i2c_m_async.h | 0 .../hal/include/hpl_i2c_m_sync.h | 0 .../hal/include/hpl_i2c_s_async.h | 0 .../hal/include/hpl_i2c_s_sync.h | 0 .../hal/include/hpl_init.h | 0 .../hal/include/hpl_irq.h | 0 .../hal/include/hpl_missing_features.h | 0 .../hal/include/hpl_reset.h | 0 .../hal/include/hpl_sleep.h | 0 .../hal/include/hpl_spi.h | 0 .../hal/include/hpl_spi_async.h | 0 .../hal/include/hpl_spi_m_async.h | 0 .../hal/include/hpl_spi_m_dma.h | 0 .../hal/include/hpl_spi_m_sync.h | 0 .../hal/include/hpl_spi_s_async.h | 0 .../hal/include/hpl_spi_s_sync.h | 0 .../hal/include/hpl_spi_sync.h | 0 .../hal/include/hpl_usart.h | 0 .../hal/include/hpl_usart_async.h | 0 .../hal/include/hpl_usart_sync.h | 0 .../hal/src/hal_atomic.c | 0 .../hal/src/hal_delay.c | 0 .../hal/src/hal_gpio.c | 0 .../hal/src/hal_init.c | 0 .../hal/src/hal_io.c | 0 .../hal/src/hal_sleep.c | 0 .../hal/src/hal_usart_sync.c | 0 .../hal/utils/include/compiler.h | 0 .../hal/utils/include/err_codes.h | 0 .../hal/utils/include/events.h | 0 .../hal/utils/include/parts.h | 0 .../hal/utils/include/utils.h | 0 .../hal/utils/include/utils_assert.h | 0 .../hal/utils/include/utils_event.h | 0 .../hal/utils/include/utils_increment_macro.h | 0 .../hal/utils/include/utils_list.h | 0 .../hal/utils/include/utils_repeat_macro.h | 0 .../hal/utils/src/utils_assert.c | 0 .../hal/utils/src/utils_event.c | 0 .../hal/utils/src/utils_list.c | 0 .../hal/utils/src/utils_syscalls.c | 0 .../hpl/core/hpl_core_m0plus_base.c | 0 .../hpl/core/hpl_core_port.h | 0 .../hpl/core/hpl_init.c | 0 .../hpl/dmac/hpl_dmac.c | 0 .../hpl/gclk/hpl_gclk.c | 0 .../hpl/gclk/hpl_gclk_base.h | 0 .../hpl/pm/hpl_pm.c | 0 .../hpl/pm/hpl_pm_base.h | 0 .../hpl/port/hpl_gpio_base.h | 0 .../hpl/sercom/hpl_sercom.c | 0 .../hpl/sysctrl/hpl_sysctrl.c | 0 .../hri/hri_ac_d21.h | 0 .../hri/hri_adc_d21.h | 0 .../hri/hri_d21.h | 0 .../hri/hri_dac_d21.h | 0 .../hri/hri_dmac_d21.h | 0 .../hri/hri_dsu_d21.h | 0 .../hri/hri_eic_d21.h | 0 .../hri/hri_evsys_d21.h | 0 .../hri/hri_gclk_d21.h | 0 .../hri/hri_hmatrixb_d21.h | 0 .../hri/hri_i2s_d21.h | 0 .../hri/hri_mtb_d21.h | 0 .../hri/hri_nvic_d21.h | 0 .../hri/hri_nvmctrl_d21.h | 0 .../hri/hri_pac_d21.h | 0 .../hri/hri_pm_d21.h | 0 .../hri/hri_port_d21.h | 0 .../hri/hri_rtc_d21.h | 0 .../hri/hri_sercom_d21.h | 0 .../hri/hri_sysctrl_d21.h | 0 .../hri/hri_systemcontrol_d21.h | 0 .../hri/hri_systick_d21.h | 0 .../hri/hri_tc_d21.h | 0 .../hri/hri_tcc_d21.h | 0 .../hri/hri_usb_d21.h | 0 .../hri/hri_wdt_d21.h | 0 .../main.c | 1 + .../SAMD21A/Source/ARM/startup_SAMD21.s | 0 .../Device/SAMD21A/Source/system_samd21.c | 0 .../samd21a/gcc/gcc/samd21j18a_flash.ld | 0 .../samd21a/gcc/gcc/samd21j18a_sram.ld | 0 .../samd21a/gcc/gcc/startup_samd21.c | 0 .../samd21a/gcc/system_samd21.c | 0 .../samd21a/include/component-version.h | 0 .../samd21a/include/component/ac.h | 0 .../samd21a/include/component/adc.h | 0 .../samd21a/include/component/dac.h | 0 .../samd21a/include/component/dmac.h | 0 .../samd21a/include/component/dsu.h | 0 .../samd21a/include/component/eic.h | 0 .../samd21a/include/component/evsys.h | 0 .../samd21a/include/component/gclk.h | 0 .../samd21a/include/component/hmatrixb.h | 0 .../samd21a/include/component/i2s.h | 0 .../samd21a/include/component/mtb.h | 0 .../samd21a/include/component/nvmctrl.h | 0 .../samd21a/include/component/pac.h | 0 .../samd21a/include/component/pm.h | 0 .../samd21a/include/component/port.h | 0 .../samd21a/include/component/rtc.h | 0 .../samd21a/include/component/sercom.h | 0 .../samd21a/include/component/sysctrl.h | 0 .../samd21a/include/component/tc.h | 0 .../samd21a/include/component/tcc.h | 0 .../samd21a/include/component/usb.h | 0 .../samd21a/include/component/wdt.h | 0 .../samd21a/include/instance/ac.h | 0 .../samd21a/include/instance/adc.h | 0 .../samd21a/include/instance/dac.h | 0 .../samd21a/include/instance/dmac.h | 0 .../samd21a/include/instance/dsu.h | 0 .../samd21a/include/instance/eic.h | 0 .../samd21a/include/instance/evsys.h | 0 .../samd21a/include/instance/gclk.h | 0 .../samd21a/include/instance/i2s.h | 0 .../samd21a/include/instance/mtb.h | 0 .../samd21a/include/instance/nvmctrl.h | 0 .../samd21a/include/instance/pac0.h | 0 .../samd21a/include/instance/pac1.h | 0 .../samd21a/include/instance/pac2.h | 0 .../samd21a/include/instance/pm.h | 0 .../samd21a/include/instance/port.h | 0 .../samd21a/include/instance/ptc.h | 0 .../samd21a/include/instance/rtc.h | 0 .../samd21a/include/instance/sbmatrix.h | 0 .../samd21a/include/instance/sercom0.h | 0 .../samd21a/include/instance/sercom1.h | 0 .../samd21a/include/instance/sercom2.h | 0 .../samd21a/include/instance/sercom3.h | 0 .../samd21a/include/instance/sercom4.h | 0 .../samd21a/include/instance/sercom5.h | 0 .../samd21a/include/instance/sysctrl.h | 0 .../samd21a/include/instance/tc3.h | 0 .../samd21a/include/instance/tc4.h | 0 .../samd21a/include/instance/tc5.h | 0 .../samd21a/include/instance/tc6.h | 0 .../samd21a/include/instance/tc7.h | 0 .../samd21a/include/instance/tcc0.h | 0 .../samd21a/include/instance/tcc1.h | 0 .../samd21a/include/instance/tcc2.h | 0 .../samd21a/include/instance/usb.h | 0 .../samd21a/include/instance/wdt.h | 0 .../samd21a/include/pio/samd21e15a.h | 0 .../samd21a/include/pio/samd21e16a.h | 0 .../samd21a/include/pio/samd21e17a.h | 0 .../samd21a/include/pio/samd21e18a.h | 0 .../samd21a/include/pio/samd21g15a.h | 0 .../samd21a/include/pio/samd21g16a.h | 0 .../samd21a/include/pio/samd21g17a.h | 0 .../samd21a/include/pio/samd21g17au.h | 0 .../samd21a/include/pio/samd21g18a.h | 0 .../samd21a/include/pio/samd21g18au.h | 0 .../samd21a/include/pio/samd21j15a.h | 0 .../samd21a/include/pio/samd21j16a.h | 0 .../samd21a/include/pio/samd21j17a.h | 0 .../samd21a/include/pio/samd21j18a.h | 0 .../samd21a/include/sam.h | 0 .../samd21a/include/samd21.h | 0 .../samd21a/include/samd21e15a.h | 0 .../samd21a/include/samd21e16a.h | 0 .../samd21a/include/samd21e17a.h | 0 .../samd21a/include/samd21e18a.h | 0 .../samd21a/include/samd21g15a.h | 0 .../samd21a/include/samd21g16a.h | 0 .../samd21a/include/samd21g17a.h | 0 .../samd21a/include/samd21g17au.h | 0 .../samd21a/include/samd21g18a.h | 0 .../samd21a/include/samd21g18au.h | 0 .../samd21a/include/samd21j15a.h | 0 .../samd21a/include/samd21j16a.h | 0 .../samd21a/include/samd21j17a.h | 0 .../samd21a/include/samd21j18a.h | 0 .../samd21a/include/system_samd21.h | 0 .../README.md | 0 .../.vs/e54_gfx_learning/v14/.atsuo | Bin .../e54_gfx_learning/e54_gfx_learning.atsln | 0 .../e54_gfx_learning_1.zip | Bin .../.atmelstart/AtmelStart.env_conf | 0 .../.atmelstart/AtmelStart.gpdsc | 0 .../.atmelstart/atmel_start_config.atstart | 0 .../e54_gfx_learning/Config/RTE_Components.h | 0 .../e54_gfx_learning/Config/hpl_cmcc_config.h | 0 .../e54_gfx_learning/Config/hpl_dmac_config.h | 0 .../e54_gfx_learning/Config/hpl_eic_config.h | 0 .../e54_gfx_learning/Config/hpl_gclk_config.h | 0 .../e54_gfx_learning/Config/hpl_mclk_config.h | 0 .../Config/hpl_osc32kctrl_config.h | 0 .../Config/hpl_oscctrl_config.h | 0 .../e54_gfx_learning/Config/hpl_port_config.h | 0 .../Config/hpl_sercom_config.h | 0 .../e54_gfx_learning/Config/hpl_tc_config.h | 0 .../e54_gfx_learning/Config/lv_conf.h | 0 .../e54_gfx_learning/Config/pc_board.h | 0 .../e54_gfx_learning/Config/pc_master.h | 0 .../Config/peripheral_clk_config.h | 0 .../e54_gfx_learning/Debug.xml | 0 .../e54_gfx_learning/Debug/.gdb_history | 0 .../e54_gfx_learning/Debug/Makefile | 0 .../e54_gfx_learning/Debug/gdb.txt | 0 .../e54_gfx_learning/Debug/makedep.mk | 0 .../Debug/scripts/.gdb_history | 0 .../e54_gfx_learning/Debug/scripts/core | 0 .../e54_gfx_learning/Debug/scripts/debug.gdb | 0 .../e54_gfx_learning/Debug/scripts/gdb.txt | 0 .../Debug/scripts/openocd.cfg | 0 .../e54_gfx_learning/Debug/scripts/push.gdb | 0 .../e54_gfx_learning/Default.xml | 0 .../Device_Startup/same54p20a_flash.ld | 0 .../Device_Startup/same54p20a_sram.ld | 0 .../Device_Startup/startup_same54.c | 0 .../Device_Startup/system_same54.c | 0 .../e54_gfx_learning/Release.xml | 0 .../devices/display/p_ssd1963.c | 0 .../devices/display/p_ssd1963.h | 0 .../e54_gfx_learning/devices/p_screen.c | 0 .../e54_gfx_learning/devices/p_screen.h | 0 .../e54_gfx_learning/drivers/p_gpio.c | 0 .../e54_gfx_learning/drivers/p_gpio.h | 0 .../e54_gfx_learning/drivers/p_i2c.c | 0 .../e54_gfx_learning/drivers/p_i2c.h | 0 .../e54_gfx_learning/drivers/p_tcc.c | 0 .../e54_gfx_learning/drivers/p_tcc.h | 0 .../e54_gfx_learning/drivers/p_usart.c | 0 .../e54_gfx_learning/drivers/p_usart.h | 0 .../e54_gfx_learning.componentinfo.xml | 0 .../e54_gfx_learning/e54_gfx_learning.cproj | 0 .../hal/documentation/ext_irq.rst | 0 .../hal/documentation/i2c_master_sync.rst | 0 .../hal/documentation/timer.rst | 0 .../hal/documentation/usart_async.rst | 0 .../e54_gfx_learning/hal/include/hal_atomic.h | 0 .../e54_gfx_learning/hal/include/hal_cache.h | 0 .../e54_gfx_learning/hal/include/hal_delay.h | 0 .../hal/include/hal_ext_irq.h | 0 .../e54_gfx_learning/hal/include/hal_gpio.h | 0 .../hal/include/hal_i2c_m_sync.h | 0 .../e54_gfx_learning/hal/include/hal_init.h | 0 .../e54_gfx_learning/hal/include/hal_io.h | 0 .../e54_gfx_learning/hal/include/hal_sleep.h | 0 .../e54_gfx_learning/hal/include/hal_timer.h | 0 .../hal/include/hal_usart_async.h | 0 .../e54_gfx_learning/hal/include/hpl_cmcc.h | 0 .../e54_gfx_learning/hal/include/hpl_core.h | 0 .../e54_gfx_learning/hal/include/hpl_delay.h | 0 .../e54_gfx_learning/hal/include/hpl_dma.h | 0 .../hal/include/hpl_ext_irq.h | 0 .../e54_gfx_learning/hal/include/hpl_gpio.h | 0 .../hal/include/hpl_i2c_m_async.h | 0 .../hal/include/hpl_i2c_m_sync.h | 0 .../hal/include/hpl_i2c_s_async.h | 0 .../hal/include/hpl_i2c_s_sync.h | 0 .../e54_gfx_learning/hal/include/hpl_init.h | 0 .../e54_gfx_learning/hal/include/hpl_irq.h | 0 .../hal/include/hpl_missing_features.h | 0 .../e54_gfx_learning/hal/include/hpl_pwm.h | 0 .../e54_gfx_learning/hal/include/hpl_ramecc.h | 0 .../e54_gfx_learning/hal/include/hpl_reset.h | 0 .../e54_gfx_learning/hal/include/hpl_sleep.h | 0 .../e54_gfx_learning/hal/include/hpl_spi.h | 0 .../hal/include/hpl_spi_async.h | 0 .../hal/include/hpl_spi_m_async.h | 0 .../hal/include/hpl_spi_m_dma.h | 0 .../hal/include/hpl_spi_m_sync.h | 0 .../hal/include/hpl_spi_s_async.h | 0 .../hal/include/hpl_spi_s_sync.h | 0 .../hal/include/hpl_spi_sync.h | 0 .../e54_gfx_learning/hal/include/hpl_timer.h | 0 .../e54_gfx_learning/hal/include/hpl_usart.h | 0 .../hal/include/hpl_usart_async.h | 0 .../hal/include/hpl_usart_sync.h | 0 .../e54_gfx_learning/hal/src/hal_atomic.c | 0 .../e54_gfx_learning/hal/src/hal_cache.c | 0 .../e54_gfx_learning/hal/src/hal_delay.c | 0 .../e54_gfx_learning/hal/src/hal_ext_irq.c | 0 .../e54_gfx_learning/hal/src/hal_gpio.c | 0 .../e54_gfx_learning/hal/src/hal_i2c_m_sync.c | 0 .../e54_gfx_learning/hal/src/hal_init.c | 0 .../e54_gfx_learning/hal/src/hal_io.c | 0 .../e54_gfx_learning/hal/src/hal_sleep.c | 0 .../e54_gfx_learning/hal/src/hal_timer.c | 0 .../hal/src/hal_usart_async.c | 0 .../hal/utils/include/compiler.h | 0 .../hal/utils/include/err_codes.h | 0 .../hal/utils/include/events.h | 0 .../hal/utils/include/parts.h | 0 .../hal/utils/include/utils.h | 0 .../hal/utils/include/utils_assert.h | 0 .../hal/utils/include/utils_event.h | 0 .../hal/utils/include/utils_increment_macro.h | 0 .../hal/utils/include/utils_list.h | 0 .../hal/utils/include/utils_repeat_macro.h | 0 .../hal/utils/include/utils_ringbuffer.h | 0 .../hal/utils/src/utils_assert.c | 0 .../hal/utils/src/utils_event.c | 0 .../hal/utils/src/utils_list.c | 0 .../hal/utils/src/utils_ringbuffer.c | 0 .../hal/utils/src/utils_syscalls.c | 0 .../e54_gfx_learning/hornet.h | 0 .../e54_gfx_learning/hpl/cmcc/hpl_cmcc.c | 0 .../e54_gfx_learning/hpl/core/hpl_core_m4.c | 0 .../e54_gfx_learning/hpl/core/hpl_core_port.h | 0 .../e54_gfx_learning/hpl/core/hpl_init.c | 0 .../e54_gfx_learning/hpl/dmac/hpl_dmac.c | 0 .../e54_gfx_learning/hpl/eic/hpl_eic.c | 0 .../e54_gfx_learning/hpl/gclk/hpl_gclk.c | 0 .../e54_gfx_learning/hpl/gclk/hpl_gclk_base.h | 0 .../e54_gfx_learning/hpl/mclk/hpl_mclk.c | 0 .../hpl/osc32kctrl/hpl_osc32kctrl.c | 0 .../hpl/oscctrl/hpl_oscctrl.c | 0 .../e54_gfx_learning/hpl/pm/hpl_pm.c | 0 .../e54_gfx_learning/hpl/pm/hpl_pm_base.h | 0 .../e54_gfx_learning/hpl/port/hpl_gpio_base.h | 0 .../e54_gfx_learning/hpl/ramecc/hpl_ramecc.c | 0 .../e54_gfx_learning/hpl/sercom/hpl_sercom.c | 0 .../e54_gfx_learning/hpl/tc/hpl_tc.c | 0 .../e54_gfx_learning/hpl/tc/hpl_tc_base.h | 0 .../e54_gfx_learning/hri/hri_ac_e54.h | 0 .../e54_gfx_learning/hri/hri_adc_e54.h | 0 .../e54_gfx_learning/hri/hri_aes_e54.h | 0 .../e54_gfx_learning/hri/hri_can_e54.h | 0 .../e54_gfx_learning/hri/hri_ccl_e54.h | 0 .../e54_gfx_learning/hri/hri_cmcc_e54.h | 0 .../e54_gfx_learning/hri/hri_dac_e54.h | 0 .../e54_gfx_learning/hri/hri_dmac_e54.h | 0 .../e54_gfx_learning/hri/hri_dsu_e54.h | 0 .../e54_gfx_learning/hri/hri_e54.h | 0 .../e54_gfx_learning/hri/hri_eic_e54.h | 0 .../e54_gfx_learning/hri/hri_evsys_e54.h | 0 .../e54_gfx_learning/hri/hri_freqm_e54.h | 0 .../e54_gfx_learning/hri/hri_gclk_e54.h | 0 .../e54_gfx_learning/hri/hri_gmac_e54.h | 0 .../e54_gfx_learning/hri/hri_hmatrixb_e54.h | 0 .../e54_gfx_learning/hri/hri_i2s_e54.h | 0 .../e54_gfx_learning/hri/hri_icm_e54.h | 0 .../e54_gfx_learning/hri/hri_mclk_e54.h | 0 .../e54_gfx_learning/hri/hri_nvmctrl_e54.h | 0 .../e54_gfx_learning/hri/hri_osc32kctrl_e54.h | 0 .../e54_gfx_learning/hri/hri_oscctrl_e54.h | 0 .../e54_gfx_learning/hri/hri_pac_e54.h | 0 .../e54_gfx_learning/hri/hri_pcc_e54.h | 0 .../e54_gfx_learning/hri/hri_pdec_e54.h | 0 .../e54_gfx_learning/hri/hri_pm_e54.h | 0 .../e54_gfx_learning/hri/hri_port_e54.h | 0 .../e54_gfx_learning/hri/hri_qspi_e54.h | 0 .../e54_gfx_learning/hri/hri_ramecc_e54.h | 0 .../e54_gfx_learning/hri/hri_rstc_e54.h | 0 .../e54_gfx_learning/hri/hri_rtc_e54.h | 0 .../e54_gfx_learning/hri/hri_sdhc_e54.h | 0 .../e54_gfx_learning/hri/hri_sercom_e54.h | 0 .../e54_gfx_learning/hri/hri_supc_e54.h | 0 .../e54_gfx_learning/hri/hri_tc_e54.h | 0 .../e54_gfx_learning/hri/hri_tcc_e54.h | 0 .../e54_gfx_learning/hri/hri_trng_e54.h | 0 .../e54_gfx_learning/hri/hri_usb_e54.h | 0 .../e54_gfx_learning/hri/hri_wdt_e54.h | 0 .../e54_gfx_learning/e54_gfx_learning/main.c | 0 .../e54_gfx_learning/oracle.c | 0 .../e54_gfx_learning/oracle.h | 0 .../thirdparty/lv_examples/.github/stale.yml | 0 .../thirdparty/lv_examples/.gitignore | 0 .../thirdparty/lv_examples/README.md | 0 .../lv_examples/assets/img_cogwheel_alpha16.c | 0 .../lv_examples/assets/img_cogwheel_argb.c | 0 .../lv_examples/assets/img_cogwheel_argb.png | Bin .../assets/img_cogwheel_chroma_keyed.c | 0 .../assets/img_cogwheel_chroma_keyed.png | Bin .../assets/img_cogwheel_indexed16.c | 0 .../assets/img_cogwheel_indexed16.png | Bin .../lv_examples/assets/img_cogwheel_rgb.c | 0 .../lv_examples/assets/img_cogwheel_rgb.png | Bin .../assets/lv_font_montserrat_12_compr_az.c | 0 .../assets/lv_font_montserrat_16_compr_az.c | 0 .../assets/lv_font_montserrat_28_compr_az.c | 0 .../thirdparty/lv_examples/docs/LICENSE.md | 0 .../thirdparty/lv_examples/lv_ex_conf_templ.h | 0 .../thirdparty/lv_examples/lv_examples.h | 0 .../thirdparty/lv_examples/lv_examples.mk | 0 .../src/lv_demo_benchmark/lv_demo_benchmark.c | 0 .../src/lv_demo_benchmark/lv_demo_benchmark.h | 0 .../lv_demo_keypad_encoder.c | 0 .../lv_demo_keypad_encoder.h | 0 .../images/lv_demo_printer_icon_bright.c | 0 .../images/lv_demo_printer_icon_eco.c | 0 .../images/lv_demo_printer_icon_hue.c | 0 .../images/lv_demo_printer_icon_pc.c | 0 .../images/lv_demo_printer_icon_tel.c | 0 .../images/lv_demo_printer_icon_wifi.c | 0 .../images/lv_demo_printer_img_btn_bg.c | 0 .../images/lv_demo_printer_img_cloud.c | 0 .../images/lv_demo_printer_img_copy.c | 0 .../images/lv_demo_printer_img_internet.c | 0 .../images/lv_demo_printer_img_mobile.c | 0 .../images/lv_demo_printer_img_no_internet.c | 0 .../images/lv_demo_printer_img_phone.c | 0 .../images/lv_demo_printer_img_print.c | 0 .../images/lv_demo_printer_img_printer2.c | 0 .../images/lv_demo_printer_img_ready.c | 0 .../images/lv_demo_printer_img_scan.c | 0 .../images/lv_demo_printer_img_scan_example.c | 0 .../images/lv_demo_printer_img_setup.c | 0 .../images/lv_demo_printer_img_usb.c | 0 .../images/lv_demo_printer_img_wave.c | 0 .../src/lv_demo_printer/lv_demo_printer.c | 0 .../src/lv_demo_printer/lv_demo_printer.h | 0 .../lv_demo_printer/lv_demo_printer_theme.c | 0 .../lv_demo_printer/lv_demo_printer_theme.h | 0 .../src/lv_demo_stress/lv_demo_stress.c | 0 .../src/lv_demo_stress/lv_demo_stress.h | 0 .../src/lv_demo_widgets/lv_demo_widgets.c | 0 .../src/lv_demo_widgets/lv_demo_widgets.h | 0 .../src/lv_ex_get_started/lv_ex_get_started.h | 0 .../lv_ex_get_started/lv_ex_get_started_1.c | 0 .../lv_ex_get_started/lv_ex_get_started_1.png | Bin .../lv_ex_get_started/lv_ex_get_started_2.c | 0 .../lv_ex_get_started/lv_ex_get_started_2.png | Bin .../lv_ex_get_started/lv_ex_get_started_3.c | 0 .../lv_ex_get_started/lv_ex_get_started_3.png | Bin .../lv_examples/src/lv_ex_style/lv_ex_style.h | 0 .../src/lv_ex_style/lv_ex_style_1.c | 0 .../src/lv_ex_style/lv_ex_style_1.png | Bin .../src/lv_ex_style/lv_ex_style_10.c | 0 .../src/lv_ex_style/lv_ex_style_10.png | Bin .../src/lv_ex_style/lv_ex_style_11.c | 0 .../src/lv_ex_style/lv_ex_style_11.png | Bin .../src/lv_ex_style/lv_ex_style_2.c | 0 .../src/lv_ex_style/lv_ex_style_2.png | Bin .../src/lv_ex_style/lv_ex_style_3.c | 0 .../src/lv_ex_style/lv_ex_style_3.png | Bin .../src/lv_ex_style/lv_ex_style_4.c | 0 .../src/lv_ex_style/lv_ex_style_4.png | Bin .../src/lv_ex_style/lv_ex_style_5.c | 0 .../src/lv_ex_style/lv_ex_style_5.png | Bin .../src/lv_ex_style/lv_ex_style_6.c | 0 .../src/lv_ex_style/lv_ex_style_6.png | Bin .../src/lv_ex_style/lv_ex_style_7.c | 0 .../src/lv_ex_style/lv_ex_style_7.png | Bin .../src/lv_ex_style/lv_ex_style_8.c | 0 .../src/lv_ex_style/lv_ex_style_8.png | Bin .../src/lv_ex_style/lv_ex_style_9.c | 0 .../src/lv_ex_style/lv_ex_style_9.png | Bin .../src/lv_ex_widgets/lv_ex_arc/index.rst | 0 .../src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.c | 0 .../lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.png | Bin .../lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.py | 0 .../src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.c | 0 .../lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.png | Bin .../lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.py | 0 .../src/lv_ex_widgets/lv_ex_bar/index.rst | 0 .../src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.c | 0 .../lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.png | Bin .../lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.py | 0 .../src/lv_ex_widgets/lv_ex_btn/index.rst | 0 .../src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.c | 0 .../lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.png | Bin .../lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.py | 0 .../src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.c | 0 .../lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.png | Bin .../lv_ex_widgets/lv_ex_btnmatrix/index.rst | 0 .../lv_ex_btnmatrix/lv_ex_btnmatrix_1.c | 0 .../lv_ex_btnmatrix/lv_ex_btnmatrix_1.png | Bin .../lv_ex_btnmatrix/lv_ex_btnmatrix_1.py | 0 .../lv_ex_widgets/lv_ex_calendar/index.rst | 0 .../lv_ex_calendar/lv_ex_calendar_1.c | 0 .../lv_ex_calendar/lv_ex_calendar_1.png | Bin .../lv_ex_calendar/lv_ex_calendar_1.py | 0 .../src/lv_ex_widgets/lv_ex_canvas/index.rst | 0 .../lv_ex_canvas/lv_ex_canvas_1.c | 0 .../lv_ex_canvas/lv_ex_canvas_1.png | Bin .../lv_ex_canvas/lv_ex_canvas_1.py | 0 .../lv_ex_canvas/lv_ex_canvas_2.c | 0 .../lv_ex_canvas/lv_ex_canvas_2.png | Bin .../lv_ex_canvas/lv_ex_canvas_2.py | 0 .../src/lv_ex_widgets/lv_ex_chart/index.rst | 0 .../lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.c | 0 .../lv_ex_chart/lv_ex_chart_1.png | Bin .../lv_ex_chart/lv_ex_chart_1.py | 0 .../lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.c | 0 .../lv_ex_chart/lv_ex_chart_2.png | Bin .../lv_ex_widgets/lv_ex_checkbox/index.rst | 0 .../lv_ex_checkbox/lv_ex_checkbox_1.c | 0 .../lv_ex_checkbox/lv_ex_checkbox_1.png | Bin .../lv_ex_checkbox/lv_ex_checkbox_1.py | 0 .../src/lv_ex_widgets/lv_ex_cont/index.rst | 0 .../lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.c | 0 .../lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.png | Bin .../lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.py | 0 .../src/lv_ex_widgets/lv_ex_cpicker/index.rst | 0 .../lv_ex_cpicker/lv_ex_cpicker_1.c | 0 .../lv_ex_cpicker/lv_ex_cpicker_1.png | Bin .../lv_ex_cpicker/lv_ex_cpicker_2.c | 0 .../lv_ex_cpicker/lv_ex_cpicker_2.png | Bin .../lv_ex_widgets/lv_ex_dropdown/index.rst | 0 .../lv_ex_dropdown/lv_ex_dropdown_1.c | 0 .../lv_ex_dropdown/lv_ex_dropdown_1.png | Bin .../lv_ex_dropdown/lv_ex_dropdown_1.py | 0 .../lv_ex_dropdown/lv_ex_dropdown_2.c | 0 .../lv_ex_dropdown/lv_ex_dropdown_2.png | Bin .../lv_ex_dropdown/lv_ex_dropdown_2.py | 0 .../src/lv_ex_widgets/lv_ex_gauge/index.rst | 0 .../lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.c | 0 .../lv_ex_gauge/lv_ex_gauge_1.png | Bin .../lv_ex_gauge/lv_ex_gauge_1.py | 0 .../src/lv_ex_widgets/lv_ex_img/index.rst | 0 .../src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.c | 0 .../lv_ex_widgets/lv_ex_img/lv_ex_img_1.png | Bin .../lv_ex_widgets/lv_ex_img/lv_ex_img_1.py | 0 .../src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.c | 0 .../lv_ex_widgets/lv_ex_img/lv_ex_img_2.png | Bin .../src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.c | 0 .../lv_ex_widgets/lv_ex_img/lv_ex_img_3.png | Bin .../lv_ex_widgets/lv_ex_imgbtn/imgbtn_blue.c | 0 .../lv_ex_widgets/lv_ex_imgbtn/imgbtn_green.c | 0 .../src/lv_ex_widgets/lv_ex_imgbtn/index.rst | 0 .../lv_ex_imgbtn/lv_ex_imgbtn_1.c | 0 .../lv_ex_imgbtn/lv_ex_imgbtn_1.png | Bin .../lv_ex_widgets/lv_ex_keyboard/index.rst | 0 .../lv_ex_keyboard/lv_ex_keyboard_1.c | 0 .../lv_ex_keyboard/lv_ex_keyboard_1.png | Bin .../lv_ex_keyboard/lv_ex_keyboard_1.py | 0 .../src/lv_ex_widgets/lv_ex_label/index.rst | 0 .../lv_ex_widgets/lv_ex_label/lv_ex_label_1.c | 0 .../lv_ex_label/lv_ex_label_1.png | Bin .../lv_ex_label/lv_ex_label_1.py | 0 .../lv_ex_widgets/lv_ex_label/lv_ex_label_2.c | 0 .../lv_ex_label/lv_ex_label_2.png | Bin .../lv_ex_label/lv_ex_label_2.py | 0 .../lv_ex_widgets/lv_ex_label/lv_ex_label_3.c | 0 .../lv_ex_label/lv_ex_label_3.png | Bin .../lv_ex_label/lv_ex_label_3.py | 0 .../src/lv_ex_widgets/lv_ex_led/index.rst | 0 .../src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.c | 0 .../lv_ex_widgets/lv_ex_led/lv_ex_led_1.png | Bin .../lv_ex_widgets/lv_ex_led/lv_ex_led_1.py | 0 .../src/lv_ex_widgets/lv_ex_line/index.rst | 0 .../lv_ex_widgets/lv_ex_line/lv_ex_line_1.c | 0 .../lv_ex_widgets/lv_ex_line/lv_ex_line_1.png | Bin .../lv_ex_widgets/lv_ex_line/lv_ex_line_1.py | 0 .../lv_ex_widgets/lv_ex_linemeter/index.rst | 0 .../lv_ex_linemeter/lv_ex_linemeter_1.c | 0 .../lv_ex_linemeter/lv_ex_linemeter_1.png | Bin .../lv_ex_linemeter/lv_ex_linemeter_1.py | 0 .../src/lv_ex_widgets/lv_ex_list/index.rst | 0 .../lv_ex_widgets/lv_ex_list/lv_ex_list_1.c | 0 .../lv_ex_widgets/lv_ex_list/lv_ex_list_1.png | Bin .../lv_ex_widgets/lv_ex_list/lv_ex_list_1.py | 0 .../src/lv_ex_widgets/lv_ex_msgbox/index.rst | 0 .../lv_ex_msgbox/lv_ex_msgbox_1.c | 0 .../lv_ex_msgbox/lv_ex_msgbox_1.png | Bin .../lv_ex_msgbox/lv_ex_msgbox_1.py | 0 .../lv_ex_msgbox/lv_ex_msgbox_2.c | 0 .../lv_ex_msgbox/lv_ex_msgbox_2.png | Bin .../lv_ex_msgbox/lv_ex_msgbox_2.py | 0 .../src/lv_ex_widgets/lv_ex_obj/index.rst | 0 .../src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.c | 0 .../lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.png | Bin .../lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.py | 0 .../src/lv_ex_widgets/lv_ex_objmask/index.rst | 0 .../lv_ex_objmask/lv_ex_objmask_1.c | 0 .../lv_ex_objmask/lv_ex_objmask_1.png | Bin .../lv_ex_objmask/lv_ex_objmask_2.c | 0 .../lv_ex_objmask/lv_ex_objmask_2.png | Bin .../src/lv_ex_widgets/lv_ex_page/index.rst | 0 .../lv_ex_widgets/lv_ex_page/lv_ex_page_1.c | 0 .../lv_ex_widgets/lv_ex_page/lv_ex_page_1.png | Bin .../lv_ex_widgets/lv_ex_page/lv_ex_page_1.py | 0 .../src/lv_ex_widgets/lv_ex_roller/index.rst | 0 .../lv_ex_roller/lv_ex_roller_1.c | 0 .../lv_ex_roller/lv_ex_roller_1.png | Bin .../lv_ex_roller/lv_ex_roller_1.py | 0 .../src/lv_ex_widgets/lv_ex_slider/index.rst | 0 .../lv_ex_slider/lv_ex_slider_1.c | 0 .../lv_ex_slider/lv_ex_slider_1.png | Bin .../lv_ex_slider/lv_ex_slider_1.py | 0 .../lv_ex_slider/lv_ex_slider_2.c | 0 .../lv_ex_slider/lv_ex_slider_2.gif | Bin .../lv_ex_slider/lv_ex_slider_2.png | Bin .../lv_ex_slider/lv_ex_slider_2.py | 0 .../src/lv_ex_widgets/lv_ex_spinbox/index.rst | 0 .../lv_ex_spinbox/lv_ex_spinbox_1.c | 0 .../lv_ex_spinbox/lv_ex_spinbox_1.png | Bin .../lv_ex_spinbox/lv_ex_spinbox_1.py | 0 .../src/lv_ex_widgets/lv_ex_spinner/index.rst | 0 .../lv_ex_spinner/lv_ex_spinner_1.c | 0 .../lv_ex_spinner/lv_ex_spinner_1.png | Bin .../lv_ex_spinner/lv_ex_spinner_1.py | 0 .../src/lv_ex_widgets/lv_ex_switch/index.rst | 0 .../lv_ex_switch/lv_ex_switch_1.c | 0 .../lv_ex_switch/lv_ex_switch_1.png | Bin .../lv_ex_switch/lv_ex_switch_1.py | 0 .../src/lv_ex_widgets/lv_ex_table/index.rst | 0 .../lv_ex_widgets/lv_ex_table/lv_ex_table_1.c | 0 .../lv_ex_table/lv_ex_table_1.png | Bin .../lv_ex_table/lv_ex_table_1.py | 0 .../src/lv_ex_widgets/lv_ex_tabview/index.rst | 0 .../lv_ex_tabview/lv_ex_tabview_1.c | 0 .../lv_ex_tabview/lv_ex_tabview_1.png | Bin .../lv_ex_tabview/lv_ex_tabview_1.py | 0 .../src/lv_ex_widgets/lv_ex_templ.c | 0 .../lv_ex_widgets/lv_ex_textarea/index.rst | 0 .../lv_ex_textarea/lv_ex_textarea_1.c | 0 .../lv_ex_textarea/lv_ex_textarea_1.png | Bin .../lv_ex_textarea/lv_ex_textarea_1.py | 0 .../lv_ex_textarea/lv_ex_textarea_2.c | 0 .../lv_ex_textarea/lv_ex_textarea_2.png | Bin .../lv_ex_textarea/lv_ex_textarea_2.py | 0 .../lv_ex_widgets/lv_ex_tileview/index.rst | 0 .../lv_ex_tileview/lv_ex_tileview_1.c | 0 .../lv_ex_tileview/lv_ex_tileview_1.png | Bin .../lv_ex_tileview/lv_ex_tileview_1.py | 0 .../src/lv_ex_widgets/lv_ex_widgets.h | 0 .../src/lv_ex_widgets/lv_ex_win/index.rst | 0 .../src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.c | 0 .../lv_ex_widgets/lv_ex_win/lv_ex_win_1.png | Bin .../lv_ex_widgets/lv_ex_win/lv_ex_win_1.py | 0 .../thirdparty/lvgl/.editorconfig | 0 .../thirdparty/lvgl/.github/FUNDING.yml | 0 .../ISSUE_TEMPLATE/all-other-issues.md | 0 .../lvgl/.github/ISSUE_TEMPLATE/bug-report.md | 0 .../lvgl/.github/ISSUE_TEMPLATE/config.yml | 0 .../thirdparty/lvgl/.github/stale.yml | 0 .../lvgl/.github/workflows/ccpp.yml | 0 .../thirdparty/lvgl/.gitignore | 0 .../thirdparty/lvgl/.gitmodules | 0 .../thirdparty/lvgl/CHANGELOG.md | 0 .../thirdparty/lvgl/LICENCE.txt | 0 .../thirdparty/lvgl/README.md | 0 .../thirdparty/lvgl/docs/CODE_OF_CONDUCT.md | 0 .../thirdparty/lvgl/docs/CODING_STYLE.md | 0 .../thirdparty/lvgl/docs/CONTRIBUTING.md | 0 .../thirdparty/lvgl/library.json | 0 .../thirdparty/lvgl/lv_conf_template.h | 0 .../e54_gfx_learning/thirdparty/lvgl/lvgl.h | 0 .../e54_gfx_learning/thirdparty/lvgl/lvgl.mk | 0 .../lvgl/porting/lv_port_disp_template.c | 0 .../lvgl/porting/lv_port_disp_template.h | 0 .../lvgl/porting/lv_port_fs_template.c | 0 .../lvgl/porting/lv_port_fs_template.h | 0 .../lvgl/porting/lv_port_indev_template.c | 0 .../lvgl/porting/lv_port_indev_template.h | 0 .../thirdparty/lvgl/scripts/Doxyfile | 0 .../lvgl/scripts/built_in_font/DejaVuSans.ttf | Bin .../FontAwesome5-Solid+Brands+Regular.woff | Bin .../built_in_font/Montserrat-Medium.ttf | Bin .../lvgl/scripts/built_in_font/SimSun.woff | Bin .../built_in_font/built_in_font_gen.py | 0 .../scripts/built_in_font/generate_all.py | 0 .../thirdparty/lvgl/scripts/code-format.cfg | 0 .../thirdparty/lvgl/scripts/code-format.sh | 0 .../thirdparty/lvgl/scripts/cppcheck_run.sh | 0 .../thirdparty/lvgl/scripts/infer_run.sh | 0 .../lvgl/scripts/lv_conf_checker.py | 0 .../thirdparty/lvgl/scripts/release_patch.py | 0 .../thirdparty/lvgl/src/lv_api_map.h | 0 .../thirdparty/lvgl/src/lv_conf_internal.h | 0 .../thirdparty/lvgl/src/lv_core/lv_core.mk | 0 .../thirdparty/lvgl/src/lv_core/lv_debug.c | 0 .../thirdparty/lvgl/src/lv_core/lv_debug.h | 0 .../thirdparty/lvgl/src/lv_core/lv_disp.c | 0 .../thirdparty/lvgl/src/lv_core/lv_disp.h | 0 .../thirdparty/lvgl/src/lv_core/lv_group.c | 0 .../thirdparty/lvgl/src/lv_core/lv_group.h | 0 .../thirdparty/lvgl/src/lv_core/lv_indev.c | 0 .../thirdparty/lvgl/src/lv_core/lv_indev.h | 0 .../thirdparty/lvgl/src/lv_core/lv_obj.c | 0 .../thirdparty/lvgl/src/lv_core/lv_obj.h | 0 .../lvgl/src/lv_core/lv_obj_style_dec.h | 0 .../thirdparty/lvgl/src/lv_core/lv_refr.c | 0 .../thirdparty/lvgl/src/lv_core/lv_refr.h | 0 .../thirdparty/lvgl/src/lv_core/lv_style.c | 0 .../thirdparty/lvgl/src/lv_core/lv_style.h | 0 .../thirdparty/lvgl/src/lv_draw/lv_draw.h | 0 .../thirdparty/lvgl/src/lv_draw/lv_draw.mk | 0 .../thirdparty/lvgl/src/lv_draw/lv_draw_arc.c | 0 .../thirdparty/lvgl/src/lv_draw/lv_draw_arc.h | 0 .../lvgl/src/lv_draw/lv_draw_blend.c | 0 .../lvgl/src/lv_draw/lv_draw_blend.h | 0 .../thirdparty/lvgl/src/lv_draw/lv_draw_img.c | 0 .../thirdparty/lvgl/src/lv_draw/lv_draw_img.h | 0 .../lvgl/src/lv_draw/lv_draw_label.c | 0 .../lvgl/src/lv_draw/lv_draw_label.h | 0 .../lvgl/src/lv_draw/lv_draw_line.c | 0 .../lvgl/src/lv_draw/lv_draw_line.h | 0 .../lvgl/src/lv_draw/lv_draw_mask.c | 0 .../lvgl/src/lv_draw/lv_draw_mask.h | 0 .../lvgl/src/lv_draw/lv_draw_rect.c | 0 .../lvgl/src/lv_draw/lv_draw_rect.h | 0 .../lvgl/src/lv_draw/lv_draw_triangle.c | 0 .../lvgl/src/lv_draw/lv_draw_triangle.h | 0 .../thirdparty/lvgl/src/lv_draw/lv_img_buf.c | 0 .../thirdparty/lvgl/src/lv_draw/lv_img_buf.h | 0 .../lvgl/src/lv_draw/lv_img_cache.c | 0 .../lvgl/src/lv_draw/lv_img_cache.h | 0 .../lvgl/src/lv_draw/lv_img_decoder.c | 0 .../lvgl/src/lv_draw/lv_img_decoder.h | 0 .../thirdparty/lvgl/src/lv_font/lv_font.c | 0 .../thirdparty/lvgl/src/lv_font/lv_font.h | 0 .../thirdparty/lvgl/src/lv_font/lv_font.mk | 0 .../lv_font_dejavu_16_persian_hebrew.c | 0 .../lvgl/src/lv_font/lv_font_fmt_txt.c | 0 .../lvgl/src/lv_font/lv_font_fmt_txt.h | 0 .../lvgl/src/lv_font/lv_font_montserrat_12.c | 0 .../src/lv_font/lv_font_montserrat_12_subpx.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_14.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_16.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_18.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_20.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_22.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_24.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_26.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_28.c | 0 .../lv_font_montserrat_28_compressed.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_30.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_32.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_34.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_36.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_38.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_40.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_42.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_44.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_46.c | 0 .../lvgl/src/lv_font/lv_font_montserrat_48.c | 0 .../lvgl/src/lv_font/lv_font_simsun_16_cjk.c | 0 .../lvgl/src/lv_font/lv_font_unscii_8.c | 0 .../lvgl/src/lv_font/lv_symbol_def.h | 0 .../thirdparty/lvgl/src/lv_gpu/lv_gpu.mk | 0 .../lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.c | 0 .../lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.h | 0 .../thirdparty/lvgl/src/lv_hal/lv_hal.h | 0 .../thirdparty/lvgl/src/lv_hal/lv_hal.mk | 0 .../thirdparty/lvgl/src/lv_hal/lv_hal_disp.c | 0 .../thirdparty/lvgl/src/lv_hal/lv_hal_disp.h | 0 .../thirdparty/lvgl/src/lv_hal/lv_hal_indev.c | 0 .../thirdparty/lvgl/src/lv_hal/lv_hal_indev.h | 0 .../thirdparty/lvgl/src/lv_hal/lv_hal_tick.c | 0 .../thirdparty/lvgl/src/lv_hal/lv_hal_tick.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_anim.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_anim.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_area.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_area.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_async.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_async.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_bidi.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_bidi.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_color.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_color.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_fs.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_fs.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_gc.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_gc.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_ll.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_ll.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_log.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_log.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_math.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_math.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_mem.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_mem.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_misc.mk | 0 .../thirdparty/lvgl/src/lv_misc/lv_printf.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_printf.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_task.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_task.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_templ.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_templ.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_txt.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_txt.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_txt_ap.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_txt_ap.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_types.h | 0 .../thirdparty/lvgl/src/lv_misc/lv_utils.c | 0 .../thirdparty/lvgl/src/lv_misc/lv_utils.h | 0 .../thirdparty/lvgl/src/lv_themes/lv_theme.c | 0 .../thirdparty/lvgl/src/lv_themes/lv_theme.h | 0 .../lvgl/src/lv_themes/lv_theme_empty.c | 0 .../lvgl/src/lv_themes/lv_theme_empty.h | 0 .../lvgl/src/lv_themes/lv_theme_material.c | 0 .../lvgl/src/lv_themes/lv_theme_material.h | 0 .../lvgl/src/lv_themes/lv_theme_mono.c | 0 .../lvgl/src/lv_themes/lv_theme_mono.h | 0 .../lvgl/src/lv_themes/lv_theme_template.c | 0 .../lvgl/src/lv_themes/lv_theme_template.h | 0 .../lvgl/src/lv_themes/lv_themes.mk | 0 .../thirdparty/lvgl/src/lv_widgets/lv_arc.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_arc.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_bar.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_bar.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_btn.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_btn.h | 0 .../lvgl/src/lv_widgets/lv_btnmatrix.c | 0 .../lvgl/src/lv_widgets/lv_btnmatrix.h | 0 .../lvgl/src/lv_widgets/lv_calendar.c | 0 .../lvgl/src/lv_widgets/lv_calendar.h | 0 .../lvgl/src/lv_widgets/lv_canvas.c | 0 .../lvgl/src/lv_widgets/lv_canvas.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_chart.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_chart.h | 0 .../lvgl/src/lv_widgets/lv_checkbox.c | 0 .../lvgl/src/lv_widgets/lv_checkbox.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_cont.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_cont.h | 0 .../lvgl/src/lv_widgets/lv_cpicker.c | 0 .../lvgl/src/lv_widgets/lv_cpicker.h | 0 .../lvgl/src/lv_widgets/lv_dropdown.c | 0 .../lvgl/src/lv_widgets/lv_dropdown.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_gauge.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_gauge.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_img.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_img.h | 0 .../lvgl/src/lv_widgets/lv_imgbtn.c | 0 .../lvgl/src/lv_widgets/lv_imgbtn.h | 0 .../lvgl/src/lv_widgets/lv_keyboard.c | 0 .../lvgl/src/lv_widgets/lv_keyboard.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_label.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_label.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_led.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_led.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_line.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_line.h | 0 .../lvgl/src/lv_widgets/lv_linemeter.c | 0 .../lvgl/src/lv_widgets/lv_linemeter.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_list.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_list.h | 0 .../lvgl/src/lv_widgets/lv_msgbox.c | 0 .../lvgl/src/lv_widgets/lv_msgbox.h | 0 .../lvgl/src/lv_widgets/lv_objmask.c | 0 .../lvgl/src/lv_widgets/lv_objmask.h | 0 .../lvgl/src/lv_widgets/lv_objx_templ.c | 0 .../lvgl/src/lv_widgets/lv_objx_templ.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_page.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_page.h | 0 .../lvgl/src/lv_widgets/lv_roller.c | 0 .../lvgl/src/lv_widgets/lv_roller.h | 0 .../lvgl/src/lv_widgets/lv_slider.c | 0 .../lvgl/src/lv_widgets/lv_slider.h | 0 .../lvgl/src/lv_widgets/lv_spinbox.c | 0 .../lvgl/src/lv_widgets/lv_spinbox.h | 0 .../lvgl/src/lv_widgets/lv_spinner.c | 0 .../lvgl/src/lv_widgets/lv_spinner.h | 0 .../lvgl/src/lv_widgets/lv_switch.c | 0 .../lvgl/src/lv_widgets/lv_switch.h | 0 .../thirdparty/lvgl/src/lv_widgets/lv_table.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_table.h | 0 .../lvgl/src/lv_widgets/lv_tabview.c | 0 .../lvgl/src/lv_widgets/lv_tabview.h | 0 .../lvgl/src/lv_widgets/lv_textarea.c | 0 .../lvgl/src/lv_widgets/lv_textarea.h | 0 .../lvgl/src/lv_widgets/lv_tileview.c | 0 .../lvgl/src/lv_widgets/lv_tileview.h | 0 .../lvgl/src/lv_widgets/lv_widgets.mk | 0 .../thirdparty/lvgl/src/lv_widgets/lv_win.c | 0 .../thirdparty/lvgl/src/lv_widgets/lv_win.h | 0 .../thirdparty/lvgl/tests/Makefile | 0 .../thirdparty/lvgl/tests/build.py | 0 .../thirdparty/lvgl/tests/icon.png | Bin .../thirdparty/lvgl/tests/icon2.png | Bin .../thirdparty/lvgl/tests/lv_test_assert.c | 0 .../thirdparty/lvgl/tests/lv_test_assert.h | 0 .../thirdparty/lvgl/tests/lv_test_conf.h | 0 .../lvgl/tests/lv_test_core/lv_test_core.c | 0 .../lvgl/tests/lv_test_core/lv_test_core.h | 0 .../lvgl/tests/lv_test_core/lv_test_obj.c | 0 .../lvgl/tests/lv_test_core/lv_test_obj.h | 0 .../lvgl/tests/lv_test_core/lv_test_style.c | 0 .../lvgl/tests/lv_test_core/lv_test_style.h | 0 .../thirdparty/lvgl/tests/lv_test_main.c | 0 .../lvgl/tests/lv_test_objx/lv_test_cont.c | 0 .../lvgl/tests/lv_test_objx/lv_test_cont.h | 0 .../lv_test_ref_imgs/lv_test_obj_1_1.png | Bin software/README.md | 17 - software/conf/e54_gfx_learning.atzip | Bin 448883 -> 0 bytes software/conf/oracle_e54_ed_conf.zip | Bin 1255471 -> 0 bytes software/conf/project_oractle_config.atstart | 1177 - software/firmware/Makefile.backup | 662 - .../clangd/index/ac.h.4E8FD9260D08F3E5.idx | Bin 15678 -> 0 bytes .../clangd/index/ac.h.84101F1EED150854.idx | Bin 654 -> 0 bytes .../clangd/index/adc.h.2B91BB40E98AAF39.idx | Bin 792 -> 0 bytes .../clangd/index/adc.h.ADF29816BD49D9C5.idx | Bin 18950 -> 0 bytes .../index/atmel_start.c.C38A94BA53F03107.idx | Bin 704 -> 0 bytes .../index/atmel_start.h.6CE0FD0543AE8AED.idx | Bin 344 -> 0 bytes .../atmel_start_pins.h.CB5282A3CA99D8DB.idx | Bin 470 -> 0 bytes .../cmsis_compiler.h.09265E4FBFBE40C2.idx | Bin 310 -> 0 bytes .../index/cmsis_gcc.h.E442D20103021DDD.idx | Bin 6088 -> 0 bytes .../cmsis_version.h.DDD35DD3DFB371CC.idx | Bin 292 -> 0 bytes .../index/compiler.h.EA4D9037E9071A5A.idx | Bin 370 -> 0 bytes .../index/core_cm0plus.h.BB82742FE1D2790B.idx | Bin 14814 -> 0 bytes .../clangd/index/dac.h.61E09D252CB226BB.idx | Bin 470 -> 0 bytes .../clangd/index/dac.h.A8C3C0F7EF32D970.idx | Bin 7142 -> 0 bytes .../clangd/index/dmac.h.F305D8B01DA29760.idx | Bin 954 -> 0 bytes .../clangd/index/dmac.h.FA78821B6F13316F.idx | Bin 34464 -> 0 bytes .../driver_examples.c.6C813CFA93118EA5.idx | Bin 844 -> 0 bytes .../driver_examples.h.503A2C67F0264B48.idx | Bin 298 -> 0 bytes .../index/driver_init.c.51690482890CD65D.idx | Bin 1594 -> 0 bytes .../index/driver_init.h.EA00948A71057DF2.idx | Bin 804 -> 0 bytes .../clangd/index/dsu.h.1347B6BE1669697A.idx | Bin 15214 -> 0 bytes .../clangd/index/dsu.h.C3A516C62B7F29D1.idx | Bin 748 -> 0 bytes .../clangd/index/eic.h.0ADFC6E245F30225.idx | Bin 516 -> 0 bytes .../clangd/index/eic.h.5A26C2CC2A25DEA7.idx | Bin 21632 -> 0 bytes .../index/err_codes.h.DB9125430949B735.idx | Bin 954 -> 0 bytes .../index/events.h.395732B6A215AE5F.idx | Bin 308 -> 0 bytes .../clangd/index/evsys.h.18972C119CEFC9BF.idx | Bin 20638 -> 0 bytes .../clangd/index/evsys.h.E390E123CB8E0E7C.idx | Bin 3284 -> 0 bytes .../clangd/index/gclk.h.7BFB66C539BCAEA4.idx | Bin 7230 -> 0 bytes .../clangd/index/gclk.h.DBFAAEDECC0516AF.idx | Bin 680 -> 0 bytes .../index/hal_atomic.c.4799E048D52EAEF5.idx | Bin 1224 -> 0 bytes .../index/hal_atomic.h.1F11D2E442C04792.idx | Bin 910 -> 0 bytes .../index/hal_delay.c.9B628976838FA069.idx | Bin 1392 -> 0 bytes .../index/hal_delay.h.FD2753D10D7FDBD5.idx | Bin 834 -> 0 bytes .../index/hal_gpio.c.19C1209B42840505.idx | Bin 712 -> 0 bytes .../index/hal_gpio.h.707CAA5A2D4D9322.idx | Bin 2692 -> 0 bytes .../index/hal_init.c.FD13AD670B1E3EBC.idx | Bin 726 -> 0 bytes .../index/hal_init.h.E44F594ECF01474C.idx | Bin 566 -> 0 bytes .../index/hal_io.c.BB58C8A6035381D7.idx | Bin 1494 -> 0 bytes .../index/hal_io.h.E950E0EAB7D84858.idx | Bin 1394 -> 0 bytes .../index/hal_sleep.c.AE9AB7846EB6FA4F.idx | Bin 1160 -> 0 bytes .../index/hal_sleep.h.E43A4A5962C2B4A7.idx | Bin 696 -> 0 bytes .../hal_usart_sync.c.F3928A5153922C9D.idx | Bin 5808 -> 0 bytes .../hal_usart_sync.h.19FBB2E62E3780AD.idx | Bin 3268 -> 0 bytes .../index/hmatrixb.h.9965678B84DD9FF8.idx | Bin 1734 -> 0 bytes .../index/hpl_core.h.EBE5F08BC53A4FE7.idx | Bin 242 -> 0 bytes ...pl_core_m0plus_base.c.1639A09AAF859B06.idx | Bin 3236 -> 0 bytes .../hpl_core_port.h.2EF9EF981F0CA88D.idx | Bin 512 -> 0 bytes .../index/hpl_delay.h.589640957CA9FEFE.idx | Bin 852 -> 0 bytes .../index/hpl_dma.h.E5C1BA76ACA209A3.idx | Bin 2594 -> 0 bytes .../index/hpl_dmac.c.86F61D64F5A16AB4.idx | Bin 704 -> 0 bytes .../hpl_dmac_config.h.9A46FF031EF710D1.idx | Bin 6532 -> 0 bytes .../index/hpl_gclk.c.C52E412A1AFC6678.idx | Bin 2028 -> 0 bytes .../hpl_gclk_base.h.C8383DB5231C43F6.idx | Bin 856 -> 0 bytes .../hpl_gclk_config.h.1488FB0741D2A503.idx | Bin 1986 -> 0 bytes .../index/hpl_gpio.h.2D749C9BAF8694B3.idx | Bin 2908 -> 0 bytes .../hpl_gpio_base.h.8D66043F2D955D03.idx | Bin 3778 -> 0 bytes .../hpl_i2c_m_async.h.8E128132E50A20ED.idx | Bin 3390 -> 0 bytes .../hpl_i2c_m_sync.h.13148CFC83644188.idx | Bin 2684 -> 0 bytes .../hpl_i2c_s_async.h.1C1C1A53BC09A15E.idx | Bin 2888 -> 0 bytes .../hpl_i2c_s_sync.h.D88C460BB71EFB6D.idx | Bin 2266 -> 0 bytes .../index/hpl_init.c.87ADB53DB9143913.idx | Bin 1004 -> 0 bytes .../index/hpl_init.h.7FFA950E51012234.idx | Bin 1230 -> 0 bytes .../index/hpl_irq.h.A76EFC53B9991BD7.idx | Bin 1218 -> 0 bytes .../index/hpl_pm.c.DB30B0123A0D5E0F.idx | Bin 1910 -> 0 bytes .../index/hpl_pm_base.h.37FD0C92D501F951.idx | Bin 3202 -> 0 bytes .../hpl_pm_config.h.0B2158E193D3E8A1.idx | Bin 486 -> 0 bytes .../index/hpl_reset.h.CC9A847CDD9DD5C4.idx | Bin 982 -> 0 bytes .../index/hpl_sercom.c.BEA9A0CBF5340971.idx | Bin 52796 -> 0 bytes .../hpl_sercom_config.h.49B96934B1B41AA7.idx | Bin 964 -> 0 bytes .../index/hpl_sleep.h.51BEEB4DE59CA5EE.idx | Bin 708 -> 0 bytes .../index/hpl_spi.h.FD1CF11B154DE568.idx | Bin 3038 -> 0 bytes .../hpl_spi_async.h.5F5E743C9EDB890D.idx | Bin 1988 -> 0 bytes .../hpl_spi_m_async.h.8A0BB1934D325760.idx | Bin 3566 -> 0 bytes .../hpl_spi_m_sync.h.EF53EC56A65D4A32.idx | Bin 2332 -> 0 bytes .../hpl_spi_s_async.h.FCAD315E57CD4445.idx | Bin 3338 -> 0 bytes .../hpl_spi_s_sync.h.992DBEB0A2B3B7FE.idx | Bin 3142 -> 0 bytes .../index/hpl_spi_sync.h.3CCE3D73F945EEE4.idx | Bin 602 -> 0 bytes .../index/hpl_sysctrl.c.963A4D5BE6213E52.idx | Bin 1796 -> 0 bytes .../hpl_sysctrl_config.h.6BC852A437329FC0.idx | Bin 2968 -> 0 bytes .../index/hpl_usart.h.4797207AB2089F94.idx | Bin 2548 -> 0 bytes .../hpl_usart_async.h.0C897E03A75AA018.idx | Bin 4414 -> 0 bytes .../hpl_usart_sync.h.E91578044CA84BE0.idx | Bin 3432 -> 0 bytes .../index/hri_ac_d21.h.4395395D9A2C6019.idx | Bin 39672 -> 0 bytes .../index/hri_adc_d21.h.7FAA84FC02152335.idx | Bin 61614 -> 0 bytes .../index/hri_d21.h.6720B9BF4549BB45.idx | Bin 646 -> 0 bytes .../index/hri_dac_d21.h.0574F4535DAC2BC1.idx | Bin 24846 -> 0 bytes .../index/hri_dmac_d21.h.92AB4F18BC2013DB.idx | Bin 107302 -> 0 bytes .../index/hri_dsu_d21.h.F41B5D37A1990A97.idx | Bin 27644 -> 0 bytes .../index/hri_eic_d21.h.6C9742AC9F5616DE.idx | Bin 81570 -> 0 bytes .../hri_evsys_d21.h.B2CF34AC8DDB01AA.idx | Bin 46854 -> 0 bytes .../index/hri_gclk_d21.h.707FD4D78B7F474F.idx | Bin 21438 -> 0 bytes .../hri_hmatrixb_d21.h.8D3078FD71978C55.idx | Bin 5990 -> 0 bytes .../index/hri_i2s_d21.h.5E693FA7E626C766.idx | Bin 64212 -> 0 bytes .../index/hri_mtb_d21.h.CCB339AF33F3BF06.idx | Bin 13452 -> 0 bytes .../index/hri_nvic_d21.h.29E51607CD0B02E4.idx | Bin 188 -> 0 bytes .../hri_nvmctrl_d21.h.C3255578480E5FA7.idx | Bin 24690 -> 0 bytes .../index/hri_pac_d21.h.4ACC0FC42D057CA5.idx | Bin 2030 -> 0 bytes .../index/hri_pm_d21.h.239EC30A0A78826E.idx | Bin 61056 -> 0 bytes .../index/hri_port_d21.h.667732A9296E61F1.idx | Bin 35636 -> 0 bytes .../index/hri_rtc_d21.h.C8AF3D85D8387F5F.idx | Bin 140278 -> 0 bytes .../hri_sercom_d21.h.5267B1129ADCE180.idx | Bin 220654 -> 0 bytes .../hri_sysctrl_d21.h.23E2A1A4DA4BE563.idx | Bin 118374 -> 0 bytes ...i_systemcontrol_d21.h.BEBBAB2540602A4E.idx | Bin 194 -> 0 bytes .../hri_systick_d21.h.98A5D68681274846.idx | Bin 192 -> 0 bytes .../index/hri_tc_d21.h.C4FE6B2CDE7FE4C6.idx | Bin 60428 -> 0 bytes .../index/hri_tcc_d21.h.3D3025150B7626F4.idx | Bin 258752 -> 0 bytes .../index/hri_usb_d21.h.D825C2CA8F835300.idx | Bin 279362 -> 0 bytes .../index/hri_wdt_d21.h.108B755E621A4010.idx | Bin 14250 -> 0 bytes .../clangd/index/i2s.h.15CE9981EC02AC40.idx | Bin 884 -> 0 bytes .../clangd/index/i2s.h.A021F7F9EA858027.idx | Bin 19814 -> 0 bytes .../clangd/index/main.c.C6CE3E913F4CDB8D.idx | Bin 652 -> 0 bytes .../clangd/index/mtb.h.5B732F86CF7BB70B.idx | Bin 9694 -> 0 bytes .../clangd/index/mtb.h.FFD0981D50304585.idx | Bin 794 -> 0 bytes .../index/nvmctrl.h.9B60D694AB28A5CC.idx | Bin 866 -> 0 bytes .../index/nvmctrl.h.B1F5FF98ACF4111E.idx | Bin 12118 -> 0 bytes .../clangd/index/pac.h.8A60AB001B7054E1.idx | Bin 1374 -> 0 bytes .../clangd/index/pac0.h.05335D59CA90ED93.idx | Bin 288 -> 0 bytes .../clangd/index/pac1.h.35537AD40924C207.idx | Bin 288 -> 0 bytes .../clangd/index/pac2.h.7F746EFC38065928.idx | Bin 288 -> 0 bytes .../clangd/index/parts.h.06EF0A1A6826A8EE.idx | Bin 264 -> 0 bytes ...ripheral_clk_config.h.7C2A6021E44FD93B.idx | Bin 332 -> 0 bytes .../clangd/index/pm.h.00F95F0D08832F85.idx | Bin 654 -> 0 bytes .../clangd/index/pm.h.CCA48132B469CC13.idx | Bin 15178 -> 0 bytes .../clangd/index/port.h.2BE5AD8437091BE3.idx | Bin 1508 -> 0 bytes .../clangd/index/port.h.2BF2FFFDBC3769DF.idx | Bin 9886 -> 0 bytes .../clangd/index/ptc.h.8AFFDB79E34DB189.idx | Bin 240 -> 0 bytes .../clangd/index/rtc.h.3F0D0AEFDE7B8DBE.idx | Bin 32660 -> 0 bytes .../clangd/index/rtc.h.B13CCD8B14254AA3.idx | Bin 1022 -> 0 bytes .../clangd/index/sam.h.1F08C30B835550B2.idx | Bin 258 -> 0 bytes .../index/samd21.h.D53F11245FC783E3.idx | Bin 258 -> 0 bytes .../index/samd21j18a.h.7A198D296D3A6C84.idx | Bin 14612 -> 0 bytes .../index/samd21j18a.h.FD865312D86169BD.idx | Bin 29302 -> 0 bytes .../index/sbmatrix.h.69D44BEF4765C107.idx | Bin 1656 -> 0 bytes .../index/sercom.h.2B6C14D3B285533B.idx | Bin 49862 -> 0 bytes .../index/sercom0.h.0F5DE64E29C4A54E.idx | Bin 1302 -> 0 bytes .../index/sercom1.h.68F4B8958BC4AED3.idx | Bin 1302 -> 0 bytes .../index/sercom2.h.B2F17A447B19A8C4.idx | Bin 1302 -> 0 bytes .../index/sercom3.h.9236E987A01CA20E.idx | Bin 1302 -> 0 bytes .../index/sercom4.h.B1E01A8FD8646B84.idx | Bin 1302 -> 0 bytes .../index/sercom5.h.D1AFD6DBA1D57936.idx | Bin 1302 -> 0 bytes .../startup_samd21.c.87C5D36279956348.idx | Bin 6834 -> 0 bytes .../index/sysctrl.h.64F5AF4FD80D2397.idx | Bin 1302 -> 0 bytes .../index/sysctrl.h.E7E777CBB235DA8C.idx | Bin 29996 -> 0 bytes .../system_samd21.c.A0798A1E94E7C09B.idx | Bin 868 -> 0 bytes .../system_samd21.h.07D45D61D375A0E9.idx | Bin 542 -> 0 bytes .../clangd/index/tc.h.5B16481406FA5006.idx | Bin 20758 -> 0 bytes .../clangd/index/tc3.h.89308FF794CB8B53.idx | Bin 1048 -> 0 bytes .../clangd/index/tc4.h.FC910691CC95D7EA.idx | Bin 1048 -> 0 bytes .../clangd/index/tc5.h.B2B927C83910785B.idx | Bin 1048 -> 0 bytes .../clangd/index/tc6.h.F2C8885C6E0379E9.idx | Bin 1048 -> 0 bytes .../clangd/index/tc7.h.0025DD85338887E1.idx | Bin 1048 -> 0 bytes .../clangd/index/tcc.h.8D2EEA95263E2756.idx | Bin 62276 -> 0 bytes .../clangd/index/tcc0.h.C16D632FCB5EA460.idx | Bin 1324 -> 0 bytes .../clangd/index/tcc1.h.7AED5FEB8F523157.idx | Bin 1162 -> 0 bytes .../clangd/index/tcc2.h.0103469412E326E1.idx | Bin 1116 -> 0 bytes .../clangd/index/usb.h.A86B6D4173217744.idx | Bin 61410 -> 0 bytes .../clangd/index/usb.h.D434EEF1E6C246AA.idx | Bin 3894 -> 0 bytes .../clangd/index/utils.h.2057FB156B6D5E3C.idx | Bin 1012 -> 0 bytes .../index/utils_assert.c.CE7C5AB4A7C30915.idx | Bin 842 -> 0 bytes .../index/utils_assert.h.441AB57566E2A5E1.idx | Bin 572 -> 0 bytes .../index/utils_event.c.C3B3CA759ADC9CE9.idx | Bin 2316 -> 0 bytes .../index/utils_event.h.CD89BEC7BA047241.idx | Bin 1578 -> 0 bytes ...ils_increment_macro.h.6A1AD44267DE721C.idx | Bin 6462 -> 0 bytes .../index/utils_list.c.CC4C049166FB1114.idx | Bin 2434 -> 0 bytes .../index/utils_list.h.917206601256C4EB.idx | Bin 1820 -> 0 bytes .../utils_repeat_macro.h.358A33457B92CF76.idx | Bin 6530 -> 0 bytes .../utils_syscalls.c.47176806CAB859F7.idx | Bin 1428 -> 0 bytes .../clangd/index/wdt.h.88909A3EB77455DB.idx | Bin 424 -> 0 bytes .../clangd/index/wdt.h.9D23B056DA41716E.idx | Bin 6856 -> 0 bytes .../oracle_d21_edition/gcc/AtmelStart.bin | Bin 1692 -> 0 bytes .../oracle_d21_edition/gcc/AtmelStart.eep | 0 .../oracle_d21_edition/gcc/AtmelStart.elf | Bin 802920 -> 0 bytes .../oracle_d21_edition/gcc/AtmelStart.hex | 107 - .../oracle_d21_edition/gcc/AtmelStart.lss | 1230 - .../oracle_d21_edition/gcc/AtmelStart.map | 6697 -- .../oracle_d21_edition/gcc/atmel_start.d | 194 - .../oracle_d21_edition/gcc/atmel_start.o | Bin 687828 -> 0 bytes .../gcc/compile_commands.json | 986 - .../oracle_d21_edition/gcc/driver_init.d | 199 - .../oracle_d21_edition/gcc/driver_init.o | Bin 739264 -> 0 bytes .../gcc/examples/driver_examples.d | 196 - .../gcc/examples/driver_examples.o | Bin 691020 -> 0 bytes .../gcc/hal/src/hal_atomic.d | 166 - .../gcc/hal/src/hal_atomic.o | Bin 686944 -> 0 bytes .../gcc/hal/src/hal_delay.o | Bin 687776 -> 0 bytes .../oracle_d21_edition/gcc/hal/src/hal_gpio.d | 173 - .../oracle_d21_edition/gcc/hal/src/hal_gpio.o | Bin 686336 -> 0 bytes .../oracle_d21_edition/gcc/hal/src/hal_init.o | Bin 685388 -> 0 bytes .../oracle_d21_edition/gcc/hal/src/hal_io.o | Bin 688264 -> 0 bytes .../gcc/hal/src/hal_sleep.d | 170 - .../gcc/hal/src/hal_sleep.o | Bin 686384 -> 0 bytes .../gcc/hal/src/hal_usart_sync.o | Bin 704644 -> 0 bytes .../gcc/hal/utils/src/utils_assert.o | Bin 685812 -> 0 bytes .../gcc/hal/utils/src/utils_event.d | 207 - .../gcc/hal/utils/src/utils_event.o | Bin 715720 -> 0 bytes .../gcc/hal/utils/src/utils_list.o | Bin 689604 -> 0 bytes .../gcc/hal/utils/src/utils_syscalls.o | Bin 59800 -> 0 bytes .../gcc/hpl/core/hpl_core_m0plus_base.o | Bin 698312 -> 0 bytes .../gcc/hpl/core/hpl_init.o | Bin 700956 -> 0 bytes .../gcc/hpl/dmac/hpl_dmac.o | Bin 726988 -> 0 bytes .../gcc/hpl/gclk/hpl_gclk.o | Bin 692212 -> 0 bytes .../oracle_d21_edition/gcc/hpl/pm/hpl_pm.o | Bin 693976 -> 0 bytes .../gcc/hpl/sercom/hpl_sercom.d | 202 - .../gcc/hpl/sercom/hpl_sercom.o | Bin 882316 -> 0 bytes .../gcc/hpl/sysctrl/hpl_sysctrl.o | Bin 700688 -> 0 bytes .../firmware/oracle_d21_edition/gcc/main.o | Bin 687812 -> 0 bytes .../gcc/samd21a/gcc/gcc/startup_samd21.o | Bin 659324 -> 0 bytes .../gcc/samd21a/gcc/system_samd21.d | 121 - .../gcc/samd21a/gcc/system_samd21.o | Bin 633464 -> 0 bytes .../firmware/oracle_same54n19a/.gdb_history | 1 - software/firmware/oracle_same54n19a/.pclangd | 14 - .../.vscode/c_cpp_properties.json | 16 - .../oracle_same54n19a/.vscode/settings.json | 8 - .../oracle_same54n19a/AtmelStart.env_conf | 6 - .../oracle_same54n19a/AtmelStart.gpdsc | 215 - .../CMSIS/Core/Include/cmsis_armcc.h | 865 - .../CMSIS/Core/Include/cmsis_armclang.h | 1869 - .../CMSIS/Core/Include/cmsis_compiler.h | 266 - .../CMSIS/Core/Include/cmsis_gcc.h | 2085 - .../CMSIS/Core/Include/cmsis_iccarm.h | 935 - .../CMSIS/Core/Include/cmsis_version.h | 39 - .../CMSIS/Core/Include/core_armv8mbl.h | 1918 - .../CMSIS/Core/Include/core_armv8mml.h | 2927 - .../CMSIS/Core/Include/core_cm0.h | 949 - .../CMSIS/Core/Include/core_cm0plus.h | 1083 - .../CMSIS/Core/Include/core_cm1.h | 976 - .../CMSIS/Core/Include/core_cm23.h | 1993 - .../CMSIS/Core/Include/core_cm3.h | 1941 - .../CMSIS/Core/Include/core_cm33.h | 3002 - .../CMSIS/Core/Include/core_cm4.h | 2129 - .../CMSIS/Core/Include/core_cm7.h | 2671 - .../CMSIS/Core/Include/core_sc000.h | 1022 - .../CMSIS/Core/Include/core_sc300.h | 1915 - .../CMSIS/Core/Include/mpu_armv7.h | 270 - .../CMSIS/Core/Include/mpu_armv8.h | 333 - .../CMSIS/Core/Include/tz_context.h | 70 - .../CMSIS/Documentation/Core/html/index.html | 196 - .../firmware/oracle_same54n19a/atmel_start.c | 9 - .../firmware/oracle_same54n19a/atmel_start.h | 18 - .../atmel_start_config.atstart | 1201 - .../oracle_same54n19a/atmel_start_pins.h | 35 - .../oracle_same54n19a/compile_commands.json | 1 - .../config/hpl_cmcc_config.h | 54 - .../config/hpl_dmac_config.h | 7277 -- .../oracle_same54n19a/config/hpl_eic_config.h | 911 - .../config/hpl_gclk_config.h | 920 - .../config/hpl_mclk_config.h | 104 - .../config/hpl_osc32kctrl_config.h | 165 - .../config/hpl_oscctrl_config.h | 640 - .../config/hpl_port_config.h | 403 - .../config/hpl_sercom_config.h | 413 - .../oracle_same54n19a/config/hpl_tc_config.h | 180 - .../oracle_same54n19a/config/lv_conf.h | 699 - .../oracle_same54n19a/config/lv_demo_conf.h | 59 - .../oracle_same54n19a/config/lv_ex_conf.h | 47 - .../oracle_same54n19a/config/pc_board.h | 103 - .../oracle_same54n19a/config/pc_master.h | 14 - .../config/peripheral_clk_config.h | 257 - .../firmware/oracle_same54n19a/driver_init.c | 134 - .../firmware/oracle_same54n19a/driver_init.h | 54 - .../examples/driver_examples.c | 84 - .../examples/driver_examples.h | 26 - .../oracle_same54n19a/gcc/.gdb_history | 256 - .../firmware/oracle_same54n19a/gcc/Makefile | 695 - .../gcc/compile_commands.json | 8804 -- .../gcc/gcc/gcc/startup_same54.d | 176 - .../gcc/gcc/gcc/startup_same54.o | Bin 1343100 -> 0 bytes .../gcc/gcc/same54n19a_flash.ld | 163 - .../gcc/gcc/same54n19a_sram.ld | 162 - .../gcc/gcc/startup_same54.c | 678 - .../oracle_same54n19a/gcc/gcc/system_same54.d | 176 - .../oracle_same54n19a/gcc/gcc/system_same54.o | Bin 1328456 -> 0 bytes .../firmware/oracle_same54n19a/gcc/gdb.txt | 1872 - .../oracle_same54n19a/gcc/system_same54.c | 64 - .../hal/documentation/ext_irq.rst | 39 - .../hal/documentation/i2c_master_sync.rst | 87 - .../hal/documentation/timer.rst | 52 - .../hal/documentation/usart_async.rst | 72 - .../hal/include/hal_atomic.h | 120 - .../oracle_same54n19a/hal/include/hal_cache.h | 96 - .../oracle_same54n19a/hal/include/hal_delay.h | 89 - .../hal/include/hal_ext_irq.h | 118 - .../oracle_same54n19a/hal/include/hal_gpio.h | 201 - .../hal/include/hal_i2c_m_sync.h | 244 - .../oracle_same54n19a/hal/include/hal_init.h | 72 - .../oracle_same54n19a/hal/include/hal_io.h | 110 - .../oracle_same54n19a/hal/include/hal_sleep.h | 74 - .../oracle_same54n19a/hal/include/hal_timer.h | 206 - .../hal/include/hal_usart_async.h | 339 - .../oracle_same54n19a/hal/include/hpl_cmcc.h | 277 - .../oracle_same54n19a/hal/include/hpl_core.h | 56 - .../oracle_same54n19a/hal/include/hpl_delay.h | 97 - .../oracle_same54n19a/hal/include/hpl_dma.h | 176 - .../hal/include/hpl_ext_irq.h | 95 - .../oracle_same54n19a/hal/include/hpl_gpio.h | 185 - .../hal/include/hpl_i2c_m_async.h | 205 - .../hal/include/hpl_i2c_m_sync.h | 185 - .../hal/include/hpl_i2c_s_async.h | 184 - .../hal/include/hpl_i2c_s_sync.h | 184 - .../oracle_same54n19a/hal/include/hpl_init.h | 124 - .../oracle_same54n19a/hal/include/hpl_irq.h | 116 - .../hal/include/hpl_missing_features.h | 37 - .../oracle_same54n19a/hal/include/hpl_pwm.h | 193 - .../hal/include/hpl_ramecc.h | 100 - .../oracle_same54n19a/hal/include/hpl_reset.h | 93 - .../oracle_same54n19a/hal/include/hpl_sleep.h | 88 - .../oracle_same54n19a/hal/include/hpl_spi.h | 163 - .../hal/include/hpl_spi_async.h | 131 - .../hal/include/hpl_spi_m_async.h | 243 - .../hal/include/hpl_spi_m_dma.h | 182 - .../hal/include/hpl_spi_m_sync.h | 166 - .../hal/include/hpl_spi_s_async.h | 232 - .../hal/include/hpl_spi_s_sync.h | 232 - .../hal/include/hpl_spi_sync.h | 70 - .../oracle_same54n19a/hal/include/hpl_timer.h | 160 - .../oracle_same54n19a/hal/include/hpl_usart.h | 113 - .../hal/include/hpl_usart_async.h | 270 - .../hal/include/hpl_usart_sync.h | 254 - .../oracle_same54n19a/hal/src/hal_atomic.c | 66 - .../oracle_same54n19a/hal/src/hal_cache.c | 78 - .../oracle_same54n19a/hal/src/hal_delay.c | 80 - .../oracle_same54n19a/hal/src/hal_ext_irq.c | 188 - .../oracle_same54n19a/hal/src/hal_gpio.c | 44 - .../hal/src/hal_i2c_m_sync.c | 258 - .../oracle_same54n19a/hal/src/hal_init.c | 47 - .../oracle_same54n19a/hal/src/hal_io.c | 63 - .../oracle_same54n19a/hal/src/hal_sleep.c | 73 - .../oracle_same54n19a/hal/src/hal_timer.c | 250 - .../hal/src/hal_usart_async.c | 420 - .../hal/utils/include/compiler.h | 64 - .../hal/utils/include/err_codes.h | 73 - .../hal/utils/include/events.h | 54 - .../hal/utils/include/parts.h | 41 - .../hal/utils/include/utils.h | 368 - .../hal/utils/include/utils_assert.h | 93 - .../hal/utils/include/utils_event.h | 115 - .../hal/utils/include/utils_increment_macro.h | 308 - .../hal/utils/include/utils_list.h | 164 - .../hal/utils/include/utils_repeat_macro.h | 322 - .../hal/utils/include/utils_ringbuffer.h | 116 - .../hal/utils/src/utils_assert.c | 46 - .../hal/utils/src/utils_event.c | 125 - .../hal/utils/src/utils_list.c | 136 - .../hal/utils/src/utils_ringbuffer.c | 118 - .../hal/utils/src/utils_syscalls.c | 152 - .../oracle_same54n19a/hpl/cmcc/hpl_cmcc.c | 354 - .../oracle_same54n19a/hpl/core/hpl_core_m4.c | 241 - .../hpl/core/hpl_core_port.h | 61 - .../oracle_same54n19a/hpl/core/hpl_init.c | 78 - .../oracle_same54n19a/hpl/dmac/hpl_dmac.c | 263 - .../oracle_same54n19a/hpl/eic/hpl_eic.c | 258 - .../oracle_same54n19a/hpl/gclk/hpl_gclk.c | 312 - .../hpl/gclk/hpl_gclk_base.h | 87 - .../oracle_same54n19a/hpl/mclk/hpl_mclk.c | 44 - .../hpl/osc32kctrl/hpl_osc32kctrl.c | 82 - .../hpl/oscctrl/hpl_oscctrl.c | 230 - .../oracle_same54n19a/hpl/pm/hpl_pm.c | 68 - .../oracle_same54n19a/hpl/pm/hpl_pm_base.h | 45 - .../hpl/port/hpl_gpio_base.h | 171 - .../oracle_same54n19a/hpl/ramecc/hpl_ramecc.c | 83 - .../oracle_same54n19a/hpl/sercom/hpl_sercom.c | 3028 - .../oracle_same54n19a/hpl/tc/hpl_tc.c | 347 - .../oracle_same54n19a/hpl/tc/hpl_tc_base.h | 77 - .../oracle_same54n19a/hri/hri_ac_e54.h | 1836 - .../oracle_same54n19a/hri/hri_adc_e54.h | 3663 - .../oracle_same54n19a/hri/hri_aes_e54.h | 1287 - .../oracle_same54n19a/hri/hri_can_e54.h | 16997 ---- .../oracle_same54n19a/hri/hri_ccl_e54.h | 776 - .../oracle_same54n19a/hri/hri_cmcc_e54.h | 361 - .../oracle_same54n19a/hri/hri_dac_e54.h | 1706 - .../oracle_same54n19a/hri/hri_dmac_e54.h | 6800 -- .../oracle_same54n19a/hri/hri_dsu_e54.h | 1256 - .../firmware/oracle_same54n19a/hri/hri_e54.h | 76 - .../oracle_same54n19a/hri/hri_eic_e54.h | 1838 - .../oracle_same54n19a/hri/hri_evsys_e54.h | 1707 - .../oracle_same54n19a/hri/hri_freqm_e54.h | 464 - .../oracle_same54n19a/hri/hri_gclk_e54.h | 805 - .../oracle_same54n19a/hri/hri_gmac_e54.h | 3766 - .../oracle_same54n19a/hri/hri_hmatrixb_e54.h | 237 - .../oracle_same54n19a/hri/hri_i2s_e54.h | 3032 - .../oracle_same54n19a/hri/hri_icm_e54.h | 761 - .../oracle_same54n19a/hri/hri_mclk_e54.h | 3556 - .../oracle_same54n19a/hri/hri_nvmctrl_e54.h | 1618 - .../hri/hri_osc32kctrl_e54.h | 1199 - .../oracle_same54n19a/hri/hri_oscctrl_e54.h | 4441 - .../oracle_same54n19a/hri/hri_pac_e54.h | 1514 - .../oracle_same54n19a/hri/hri_pcc_e54.h | 298 - .../oracle_same54n19a/hri/hri_pdec_e54.h | 2684 - .../oracle_same54n19a/hri/hri_pm_e54.h | 820 - .../oracle_same54n19a/hri/hri_port_e54.h | 2528 - .../oracle_same54n19a/hri/hri_qspi_e54.h | 2058 - .../oracle_same54n19a/hri/hri_ramecc_e54.h | 362 - .../oracle_same54n19a/hri/hri_rstc_e54.h | 142 - .../oracle_same54n19a/hri/hri_rtc_e54.h | 10139 -- .../oracle_same54n19a/hri/hri_sdhc_e54.h | 7477 -- .../oracle_same54n19a/hri/hri_sercom_e54.h | 8892 -- .../oracle_same54n19a/hri/hri_supc_e54.h | 1769 - .../oracle_same54n19a/hri/hri_tc_e54.h | 3003 - .../oracle_same54n19a/hri/hri_tcc_e54.h | 9992 -- .../oracle_same54n19a/hri/hri_trng_e54.h | 380 - .../oracle_same54n19a/hri/hri_usb_e54.h | 9335 -- .../oracle_same54n19a/hri/hri_wdt_e54.h | 617 - .../include/component-version.h | 64 - .../oracle_same54n19a/include/component/ac.h | 598 - .../oracle_same54n19a/include/component/adc.h | 871 - .../oracle_same54n19a/include/component/aes.h | 375 - .../oracle_same54n19a/include/component/can.h | 3187 - .../oracle_same54n19a/include/component/ccl.h | 228 - .../include/component/cmcc.h | 357 - .../oracle_same54n19a/include/component/dac.h | 544 - .../include/component/dmac.h | 1416 - .../oracle_same54n19a/include/component/dsu.h | 647 - .../oracle_same54n19a/include/component/eic.h | 497 - .../include/component/evsys.h | 587 - .../include/component/freqm.h | 233 - .../include/component/gclk.h | 272 - .../include/component/gmac.h | 2593 - .../include/component/hmatrixb.h | 84 - .../oracle_same54n19a/include/component/i2s.h | 747 - .../oracle_same54n19a/include/component/icm.h | 582 - .../include/component/mclk.h | 482 - .../include/component/nvmctrl.h | 787 - .../include/component/osc32kctrl.h | 303 - .../include/component/oscctrl.h | 793 - .../oracle_same54n19a/include/component/pac.h | 686 - .../oracle_same54n19a/include/component/pcc.h | 251 - .../include/component/pdec.h | 726 - .../include/component/picop.h | 1321 - .../oracle_same54n19a/include/component/pm.h | 261 - .../include/component/port.h | 414 - .../include/component/qspi.h | 528 - .../include/component/ramecc.h | 178 - .../include/component/rstc.h | 115 - .../oracle_same54n19a/include/component/rtc.h | 2098 - .../include/component/sdhc.h | 2599 - .../include/component/sercom.h | 1680 - .../include/component/supc.h | 435 - .../oracle_same54n19a/include/component/tc.h | 851 - .../oracle_same54n19a/include/component/tcc.h | 1762 - .../include/component/trng.h | 172 - .../oracle_same54n19a/include/component/usb.h | 1777 - .../oracle_same54n19a/include/component/wdt.h | 300 - .../oracle_same54n19a/include/hornet.h | 469 - .../oracle_same54n19a/include/instance/ac.h | 79 - .../oracle_same54n19a/include/instance/adc0.h | 99 - .../oracle_same54n19a/include/instance/adc1.h | 100 - .../oracle_same54n19a/include/instance/aes.h | 105 - .../oracle_same54n19a/include/instance/can0.h | 139 - .../oracle_same54n19a/include/instance/can1.h | 139 - .../oracle_same54n19a/include/instance/ccl.h | 57 - .../oracle_same54n19a/include/instance/cmcc.h | 61 - .../oracle_same54n19a/include/instance/dac.h | 88 - .../oracle_same54n19a/include/instance/dmac.h | 596 - .../oracle_same54n19a/include/instance/dsu.h | 95 - .../oracle_same54n19a/include/instance/eic.h | 73 - .../include/instance/evsys.h | 720 - .../include/instance/freqm.h | 59 - .../oracle_same54n19a/include/instance/gclk.h | 191 - .../oracle_same54n19a/include/instance/gmac.h | 263 - .../include/instance/hmatrix.h | 133 - .../oracle_same54n19a/include/instance/i2s.h | 81 - .../oracle_same54n19a/include/instance/icm.h | 77 - .../oracle_same54n19a/include/instance/mclk.h | 61 - .../include/instance/nvmctrl.h | 75 - .../include/instance/osc32kctrl.h | 59 - .../include/instance/oscctrl.h | 130 - .../oracle_same54n19a/include/instance/pac.h | 69 - .../oracle_same54n19a/include/instance/pcc.h | 58 - .../oracle_same54n19a/include/instance/pdec.h | 80 - .../include/instance/picop.h | 147 - .../oracle_same54n19a/include/instance/pm.h | 59 - .../oracle_same54n19a/include/instance/port.h | 184 - .../include/instance/pukcc.h | 38 - .../oracle_same54n19a/include/instance/qspi.h | 72 - .../include/instance/ramecc.h | 54 - .../oracle_same54n19a/include/instance/rstc.h | 48 - .../oracle_same54n19a/include/instance/rtc.h | 156 - .../include/instance/sdhc0.h | 147 - .../include/instance/sdhc1.h | 147 - .../include/instance/sercom0.h | 181 - .../include/instance/sercom1.h | 181 - .../include/instance/sercom2.h | 181 - .../include/instance/sercom3.h | 181 - .../include/instance/sercom4.h | 181 - .../include/instance/sercom5.h | 181 - .../include/instance/sercom6.h | 181 - .../include/instance/sercom7.h | 181 - .../oracle_same54n19a/include/instance/supc.h | 62 - .../oracle_same54n19a/include/instance/tc0.h | 109 - .../oracle_same54n19a/include/instance/tc1.h | 109 - .../oracle_same54n19a/include/instance/tc2.h | 109 - .../oracle_same54n19a/include/instance/tc3.h | 109 - .../oracle_same54n19a/include/instance/tc4.h | 109 - .../oracle_same54n19a/include/instance/tc5.h | 109 - .../oracle_same54n19a/include/instance/tc6.h | 109 - .../oracle_same54n19a/include/instance/tc7.h | 109 - .../oracle_same54n19a/include/instance/tcc0.h | 125 - .../oracle_same54n19a/include/instance/tcc1.h | 115 - .../oracle_same54n19a/include/instance/tcc2.h | 106 - .../oracle_same54n19a/include/instance/tcc3.h | 99 - .../oracle_same54n19a/include/instance/tcc4.h | 99 - .../oracle_same54n19a/include/instance/trng.h | 51 - .../oracle_same54n19a/include/instance/usb.h | 343 - .../oracle_same54n19a/include/instance/wdt.h | 55 - .../oracle_same54n19a/include/oracle.h | 53 - .../include/pio/same54n19a.h | 2688 - .../include/pio/same54n20a.h | 2688 - .../include/pio/same54p19a.h | 3010 - .../include/pio/same54p20a.h | 3010 - .../firmware/oracle_same54n19a/include/sam.h | 45 - .../oracle_same54n19a/include/same54.h | 50 - .../oracle_same54n19a/include/same54n19a.h | 1085 - .../oracle_same54n19a/include/same54n20a.h | 1085 - .../oracle_same54n19a/include/same54p19a.h | 1085 - .../oracle_same54n19a/include/same54p20a.h | 1085 - .../oracle_same54n19a/include/system_same54.h | 48 - software/firmware/oracle_same54n19a/main.c | 13 - software/firmware/oracle_same54n19a/oracle.c | 36 - .../oracle_same54n19a/oracle_same54n19a.zip | Bin 1255411 -> 0 bytes .../oracle_same54n19a/scripts/debug.gdb | 6 - .../oracle_same54n19a/scripts/openocd.cfg | 9 - .../oracle_same54n19a/scripts/push.gdb | 12 - .../shared/devices/display/p_ssd1963.c | 295 - .../shared/devices/display/p_ssd1963.h | 166 - .../shared/devices/p_screen.c | 48 - .../shared/devices/p_screen.h | 15 - .../oracle_same54n19a/shared/drivers/p_gpio.c | 104 - .../oracle_same54n19a/shared/drivers/p_gpio.h | 27 - .../oracle_same54n19a/shared/drivers/p_i2c.c | 80 - .../oracle_same54n19a/shared/drivers/p_i2c.h | 11 - .../oracle_same54n19a/shared/drivers/p_tcc.c | 48 - .../oracle_same54n19a/shared/drivers/p_tcc.h | 14 - .../shared/drivers/p_usart.c | 96 - .../shared/drivers/p_usart.h | 20 - .../oracle_same54n19a/shared/thirdparty | 1 - software/thirdparty/lv_examples | 1 - software/thirdparty/lvgl | 1 - 1649 files changed, 140 insertions(+), 417389 deletions(-) delete mode 100644 .cache/clangd/index/lv_anim.h.C99F97FD864A3798.idx delete mode 100644 .cache/clangd/index/lv_api_map.h.5CCAFEAA5E6CA360.idx delete mode 100644 .cache/clangd/index/lv_arc.h.AC87E223E4C80685.idx delete mode 100644 .cache/clangd/index/lv_area.h.D4CA4C05A6B7E6E9.idx delete mode 100644 .cache/clangd/index/lv_async.h.4602C68849611E1F.idx delete mode 100644 .cache/clangd/index/lv_bar.h.83F821044F007693.idx delete mode 100644 .cache/clangd/index/lv_bidi.h.4BE6DA29565B046E.idx delete mode 100644 .cache/clangd/index/lv_btn.h.380F1EFC395CA339.idx delete mode 100644 .cache/clangd/index/lv_btnmatrix.h.6F289E1AE5700AA4.idx delete mode 100644 .cache/clangd/index/lv_calendar.h.9D118A82F6F27153.idx delete mode 100644 .cache/clangd/index/lv_canvas.h.6F7686932557A2E4.idx delete mode 100644 .cache/clangd/index/lv_chart.h.7739AA38EA273613.idx delete mode 100644 .cache/clangd/index/lv_checkbox.h.6CE753848B2FFC11.idx delete mode 100644 .cache/clangd/index/lv_color.h.DFF0ED47522F98E3.idx delete mode 100644 .cache/clangd/index/lv_conf_internal.h.02099AA941050787.idx delete mode 100644 .cache/clangd/index/lv_cont.h.104B23257FC44ED2.idx delete mode 100644 .cache/clangd/index/lv_cpicker.h.0C2E2EDFFAA899F0.idx delete mode 100644 .cache/clangd/index/lv_debug.h.BE48BCB057237D70.idx delete mode 100644 .cache/clangd/index/lv_disp.h.3BD2AF4370EBC3E8.idx delete mode 100644 .cache/clangd/index/lv_draw.h.67AC1833A83F9A7F.idx delete mode 100644 .cache/clangd/index/lv_draw_arc.h.A6DB79B012145B66.idx delete mode 100644 .cache/clangd/index/lv_draw_blend.h.6741EFBD75059457.idx delete mode 100644 .cache/clangd/index/lv_draw_img.h.CDE2FBA534DEF669.idx delete mode 100644 .cache/clangd/index/lv_draw_label.h.C31C046C34B4A0B1.idx delete mode 100644 .cache/clangd/index/lv_draw_line.h.B6E045C4E5A69430.idx delete mode 100644 .cache/clangd/index/lv_draw_mask.h.CC14B839286A5C26.idx delete mode 100644 .cache/clangd/index/lv_draw_rect.h.585A53CC2EA28323.idx delete mode 100644 .cache/clangd/index/lv_draw_triangle.h.064C5033F31C031F.idx delete mode 100644 .cache/clangd/index/lv_dropdown.h.5CFDA02DB9F38199.idx delete mode 100644 .cache/clangd/index/lv_font.h.E68B64263F009FE5.idx delete mode 100644 .cache/clangd/index/lv_font_fmt_txt.h.1C4775F330FD3A11.idx delete mode 100644 .cache/clangd/index/lv_fs.h.B3364DFC746AB6BC.idx delete mode 100644 .cache/clangd/index/lv_gauge.h.FED1ACC14FE3BEF1.idx delete mode 100644 .cache/clangd/index/lv_gc.h.BEDC399C635A0416.idx delete mode 100644 .cache/clangd/index/lv_gpu_stm32_dma2d.h.59E10C40772F5070.idx delete mode 100644 .cache/clangd/index/lv_group.h.DA94777F4D37213F.idx delete mode 100644 .cache/clangd/index/lv_hal.h.D756D0D279F68093.idx delete mode 100644 .cache/clangd/index/lv_hal_disp.h.E777A8C1550C8248.idx delete mode 100644 .cache/clangd/index/lv_hal_indev.h.00942C1E5A927340.idx delete mode 100644 .cache/clangd/index/lv_hal_tick.h.3363CB68DA3E1292.idx delete mode 100644 .cache/clangd/index/lv_img.h.E77F56855542FC76.idx delete mode 100644 .cache/clangd/index/lv_img_buf.h.63EFD84C63D90E4F.idx delete mode 100644 .cache/clangd/index/lv_img_cache.h.F3340A3FBBC92B10.idx delete mode 100644 .cache/clangd/index/lv_img_decoder.h.287DBC3132B7D368.idx delete mode 100644 .cache/clangd/index/lv_imgbtn.h.F8C9B29184DCB331.idx delete mode 100644 .cache/clangd/index/lv_indev.h.164CCFB3AD45304A.idx delete mode 100644 .cache/clangd/index/lv_keyboard.h.9D2524FEB3DC98F1.idx delete mode 100644 .cache/clangd/index/lv_label.h.B2A75712D81DB0A8.idx delete mode 100644 .cache/clangd/index/lv_led.h.AD71F765554FCB28.idx delete mode 100644 .cache/clangd/index/lv_line.h.ACB6C70CD7650807.idx delete mode 100644 .cache/clangd/index/lv_linemeter.h.8B84E059BE5A0EAA.idx delete mode 100644 .cache/clangd/index/lv_list.h.79B590190FC84645.idx delete mode 100644 .cache/clangd/index/lv_ll.h.87E828A23D9B1E2F.idx delete mode 100644 .cache/clangd/index/lv_log.h.1AA0EF0E8C06BE55.idx delete mode 100644 .cache/clangd/index/lv_math.h.3894988CEE35F69F.idx delete mode 100644 .cache/clangd/index/lv_mem.h.E92C4EFE5374143D.idx delete mode 100644 .cache/clangd/index/lv_msgbox.h.6E4AE122F16492A9.idx delete mode 100644 .cache/clangd/index/lv_obj.h.188444A57A364B8D.idx delete mode 100644 .cache/clangd/index/lv_obj_style_dec.h.29E97610FA544952.idx delete mode 100644 .cache/clangd/index/lv_objmask.h.9A70250A36E6754F.idx delete mode 100644 .cache/clangd/index/lv_page.h.2E23B71B2A0EE390.idx delete mode 100644 .cache/clangd/index/lv_printf.h.12D4947AF1B38959.idx delete mode 100644 .cache/clangd/index/lv_refr.h.23C65DD2EF0B7A61.idx delete mode 100644 .cache/clangd/index/lv_roller.h.943840E957C8ED32.idx delete mode 100644 .cache/clangd/index/lv_slider.h.51CDBBA38D6ED6D6.idx delete mode 100644 .cache/clangd/index/lv_spinbox.h.692EB2B3D9E1C67C.idx delete mode 100644 .cache/clangd/index/lv_spinner.h.8A37EC7C656E65F0.idx delete mode 100644 .cache/clangd/index/lv_style.h.BB6C5690E3D58F07.idx delete mode 100644 .cache/clangd/index/lv_switch.h.F624B9C1418BBD1C.idx delete mode 100644 .cache/clangd/index/lv_symbol_def.h.D4660ACB4EDF14E1.idx delete mode 100644 .cache/clangd/index/lv_table.h.DC32B78F671A4784.idx delete mode 100644 .cache/clangd/index/lv_tabview.h.AA25C152C6DAF8B1.idx delete mode 100644 .cache/clangd/index/lv_task.h.E8EF188A862E2F31.idx delete mode 100644 .cache/clangd/index/lv_test_assert.h.205ED9E07CD7BDEA.idx delete mode 100644 .cache/clangd/index/lv_test_core.h.6823145D44ED3AED.idx delete mode 100644 .cache/clangd/index/lv_test_obj.h.95A07FEB29B44393.idx delete mode 100644 .cache/clangd/index/lv_test_style.h.3A696EE238CD408B.idx delete mode 100644 .cache/clangd/index/lv_textarea.h.E5B09E5B7E5E5E15.idx delete mode 100644 .cache/clangd/index/lv_theme.h.CAAADBE7EB326785.idx delete mode 100644 .cache/clangd/index/lv_theme_empty.h.75CA8EF209CFE155.idx delete mode 100644 .cache/clangd/index/lv_theme_material.h.5D3924A6013D6B64.idx delete mode 100644 .cache/clangd/index/lv_theme_mono.h.5990A0AAB47183BE.idx delete mode 100644 .cache/clangd/index/lv_theme_template.h.29B03139719D4666.idx delete mode 100644 .cache/clangd/index/lv_tileview.h.2978CBE775EF11EC.idx delete mode 100644 .cache/clangd/index/lv_txt.h.A6A06B9483A16331.idx delete mode 100644 .cache/clangd/index/lv_txt_ap.h.F77527F3A8F9C41D.idx delete mode 100644 .cache/clangd/index/lv_types.h.7CDB8491E973B660.idx delete mode 100644 .cache/clangd/index/lv_utils.h.F80302D51558197C.idx delete mode 100644 .cache/clangd/index/lv_win.h.6244E1747950FDE3.idx delete mode 100644 .cache/clangd/index/lvgl.h.56FF87AD912762CF.idx rename software/firmware/oracle_same54n19a/.dir-locals.el => .dir-locals.el (51%) delete mode 100644 .gitmodules delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/breakout_board_2x20-cache.lib delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/breakout_board_2x20.kicad_pcb delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/breakout_board_2x20.kicad_pcb-bak delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/breakout_board_2x20.pro delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/breakout_board_2x20.sch delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/breakout_board_2x20.sch-bak delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/fp-info-cache delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/fp-lib-table delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers.zip delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_Cu.gbl delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_Mask.gbs delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_SilkS.gbo delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-Edge_Cuts.gm1 delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_Cu.gtl delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_Mask.gts delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_SilkS.gto delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-NPTH.drl delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-PTH.drl delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/libraries/Conn_02x20_LCD_INTF.dcm delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/libraries/Conn_02x20_LCD_INTF.lib delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/modules/breakout_board_2x20.pretty/idc_breakout.kicad_mod delete mode 100644 electrical/2x20_breakout_board/breakout_board_2x20/sym-lib-table delete mode 100644 electrical/same54_dev_board/BRAIN.sch delete mode 100644 electrical/same54_dev_board/BRAIN.sch-bak delete mode 100644 electrical/same54_dev_board/NCP349MNAETBG.dcm delete mode 100644 electrical/same54_dev_board/NCP349MNAETBG.lib delete mode 100644 electrical/same54_dev_board/Power.sch delete mode 100644 electrical/same54_dev_board/Power.sch-bak delete mode 100644 electrical/same54_dev_board/SCREEN_INTF-s_SCREEN_INTF.pdf delete mode 100644 electrical/same54_dev_board/SCREEN_INTF.sch delete mode 100644 electrical/same54_dev_board/SCREEN_INTF.sch-bak delete mode 100644 electrical/same54_dev_board/USB_INTF.sch delete mode 100644 electrical/same54_dev_board/USB_INTF.sch-bak delete mode 100644 electrical/same54_dev_board/fp-7451.tmp delete mode 100644 electrical/same54_dev_board/fp-info-cache delete mode 100644 electrical/same54_dev_board/fp-lib-table delete mode 100644 electrical/same54_dev_board/libraries/Conn_02x20_LCD_INTF.bck delete mode 100644 electrical/same54_dev_board/libraries/Conn_02x20_LCD_INTF.dcm delete mode 100644 electrical/same54_dev_board/libraries/Conn_02x20_LCD_INTF.lib delete mode 100644 electrical/same54_dev_board/libraries/MAX7301AAX_.dcm delete mode 100644 electrical/same54_dev_board/libraries/MAX7301AAX_.lib delete mode 100644 electrical/same54_dev_board/libraries/TPS73733QDRBRQ1.dcm delete mode 100644 electrical/same54_dev_board/libraries/TPS73733QDRBRQ1.lib delete mode 100644 electrical/same54_dev_board/modules/proj_modules.pretty/SOP80P1030X264-36N.kicad_mod delete mode 100644 electrical/same54_dev_board/same54_dev_board-backups/same54_dev_board-2022-02-12_195512.zip delete mode 100644 electrical/same54_dev_board/same54_dev_board-backups/same54_dev_board-2022-02-13_232912.zip delete mode 100644 electrical/same54_dev_board/same54_dev_board-backups/same54_dev_board-2022-06-02_143540.zip delete mode 100644 electrical/same54_dev_board/same54_dev_board-cache.lib delete mode 100644 electrical/same54_dev_board/same54_dev_board-rescue.dcm delete mode 100644 electrical/same54_dev_board/same54_dev_board-rescue.lib delete mode 100644 electrical/same54_dev_board/same54_dev_board.kicad_pcb delete mode 100644 electrical/same54_dev_board/same54_dev_board.kicad_pcb-bak delete mode 100644 electrical/same54_dev_board/same54_dev_board.kicad_prl delete mode 100644 electrical/same54_dev_board/same54_dev_board.kicad_pro delete mode 100644 electrical/same54_dev_board/same54_dev_board.pro delete mode 100644 electrical/same54_dev_board/same54_dev_board.sch delete mode 100644 electrical/same54_dev_board/same54_dev_board.sch-bak delete mode 100644 electrical/same54_dev_board/sym-lib-table rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/AtmelStart.env_conf (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/AtmelStart.gpdsc (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/cmsis_armcc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/cmsis_armclang.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/cmsis_compiler.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/cmsis_gcc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/cmsis_iccarm.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/cmsis_version.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_armv8mbl.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_armv8mml.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_cm0.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_cm0plus.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_cm1.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_cm23.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_cm3.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_cm33.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_cm4.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_cm7.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_sc000.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/core_sc300.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/mpu_armv7.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/mpu_armv8.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Core/Include/tz_context.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/CMSIS/Documentation/Core/html/index.html (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/GPATH (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/GRTAGS (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/GTAGS (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/atmel_start.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/atmel_start.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/atmel_start_config.atstart (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/atmel_start_pins.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/compile_commands.json (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/config/hpl_dmac_config.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/config/hpl_gclk_config.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/config/hpl_pm_config.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/config/hpl_sercom_config.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/config/hpl_sysctrl_config.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/config/peripheral_clk_config.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/driver_init.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/driver_init.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/examples/driver_examples.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/examples/driver_examples.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/Makefile (100%) create mode 100644 oracle_d21_edition/gcc/compile_commands.json rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hal/src/hal_delay.d (95%) create mode 100644 oracle_d21_edition/gcc/hal/src/hal_delay.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hal/src/hal_init.d (95%) create mode 100644 oracle_d21_edition/gcc/hal/src/hal_init.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hal/src/hal_io.d (95%) create mode 100644 oracle_d21_edition/gcc/hal/src/hal_io.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hal/src/hal_usart_sync.d (95%) create mode 100644 oracle_d21_edition/gcc/hal/src/hal_usart_sync.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hal/utils/src/utils_assert.d (95%) create mode 100644 oracle_d21_edition/gcc/hal/utils/src/utils_assert.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hal/utils/src/utils_list.d (95%) create mode 100644 oracle_d21_edition/gcc/hal/utils/src/utils_list.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hal/utils/src/utils_syscalls.d (93%) create mode 100644 oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hpl/core/hpl_core_m0plus_base.d (95%) create mode 100644 oracle_d21_edition/gcc/hpl/core/hpl_core_m0plus_base.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hpl/core/hpl_init.d (95%) create mode 100644 oracle_d21_edition/gcc/hpl/core/hpl_init.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hpl/dmac/hpl_dmac.d (95%) create mode 100644 oracle_d21_edition/gcc/hpl/dmac/hpl_dmac.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hpl/gclk/hpl_gclk.d (95%) create mode 100644 oracle_d21_edition/gcc/hpl/gclk/hpl_gclk.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hpl/pm/hpl_pm.d (95%) create mode 100644 oracle_d21_edition/gcc/hpl/pm/hpl_pm.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/hpl/sysctrl/hpl_sysctrl.d (95%) create mode 100644 oracle_d21_edition/gcc/hpl/sysctrl/hpl_sysctrl.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/main.d (96%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/gcc/samd21a/gcc/gcc/startup_samd21.d (98%) create mode 100644 oracle_d21_edition/gcc/samd21a/gcc/gcc/startup_samd21.o rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/documentation/usart_sync.rst (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hal_atomic.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hal_delay.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hal_gpio.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hal_init.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hal_io.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hal_sleep.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hal_usart_sync.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_core.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_delay.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_dma.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_gpio.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_i2c_m_async.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_i2c_m_sync.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_i2c_s_async.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_i2c_s_sync.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_init.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_irq.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_missing_features.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_reset.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_sleep.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_spi.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_spi_async.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_spi_m_async.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_spi_m_dma.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_spi_m_sync.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_spi_s_async.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_spi_s_sync.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_spi_sync.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_usart.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_usart_async.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/include/hpl_usart_sync.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/src/hal_atomic.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/src/hal_delay.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/src/hal_gpio.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/src/hal_init.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/src/hal_io.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/src/hal_sleep.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/src/hal_usart_sync.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/compiler.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/err_codes.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/events.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/parts.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/utils.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/utils_assert.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/utils_event.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/utils_increment_macro.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/utils_list.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/include/utils_repeat_macro.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/src/utils_assert.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/src/utils_event.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/src/utils_list.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hal/utils/src/utils_syscalls.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/core/hpl_core_m0plus_base.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/core/hpl_core_port.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/core/hpl_init.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/dmac/hpl_dmac.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/gclk/hpl_gclk.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/gclk/hpl_gclk_base.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/pm/hpl_pm.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/pm/hpl_pm_base.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/port/hpl_gpio_base.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/sercom/hpl_sercom.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hpl/sysctrl/hpl_sysctrl.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_ac_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_adc_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_dac_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_dmac_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_dsu_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_eic_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_evsys_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_gclk_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_hmatrixb_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_i2s_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_mtb_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_nvic_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_nvmctrl_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_pac_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_pm_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_port_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_rtc_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_sercom_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_sysctrl_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_systemcontrol_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_systick_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_tc_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_tcc_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_usb_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/hri/hri_wdt_d21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/main.c (92%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/armcc/Device/SAMD21A/Source/ARM/startup_SAMD21.s (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/armcc/Device/SAMD21A/Source/system_samd21.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/gcc/gcc/samd21j18a_flash.ld (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/gcc/gcc/samd21j18a_sram.ld (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/gcc/gcc/startup_samd21.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/gcc/system_samd21.c (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component-version.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/ac.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/adc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/dac.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/dmac.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/dsu.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/eic.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/evsys.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/gclk.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/hmatrixb.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/i2s.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/mtb.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/nvmctrl.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/pac.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/pm.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/port.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/rtc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/sercom.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/sysctrl.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/tc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/tcc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/usb.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/component/wdt.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/ac.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/adc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/dac.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/dmac.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/dsu.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/eic.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/evsys.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/gclk.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/i2s.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/mtb.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/nvmctrl.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/pac0.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/pac1.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/pac2.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/pm.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/port.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/ptc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/rtc.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/sbmatrix.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/sercom0.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/sercom1.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/sercom2.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/sercom3.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/sercom4.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/sercom5.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/sysctrl.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/tc3.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/tc4.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/tc5.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/tc6.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/tc7.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/tcc0.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/tcc1.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/tcc2.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/usb.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/instance/wdt.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21e15a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21e16a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21e17a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21e18a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21g15a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21g16a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21g17a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21g17au.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21g18a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21g18au.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21j15a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21j16a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21j17a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/pio/samd21j18a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/sam.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21e15a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21e16a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21e17a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21e18a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21g15a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21g16a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21g17a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21g17au.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21g18a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21g18au.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21j15a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21j16a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21j17a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/samd21j18a.h (100%) rename {software/firmware/oracle_d21_edition => oracle_d21_edition}/samd21a/include/system_samd21.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/README.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning.atsln (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/.atmel-start-backup/e54_gfx_learning_1.zip (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.env_conf (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.gpdsc (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/.atmelstart/atmel_start_config.atstart (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/RTE_Components.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_cmcc_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_dmac_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_eic_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_gclk_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_mclk_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_osc32kctrl_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_oscctrl_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_port_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_sercom_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/hpl_tc_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/lv_conf.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/pc_master.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Config/peripheral_clk_config.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug.xml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/.gdb_history (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/Makefile (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/gdb.txt (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/makedep.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/scripts/.gdb_history (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/scripts/core (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/scripts/debug.gdb (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/scripts/gdb.txt (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/scripts/openocd.cfg (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Debug/scripts/push.gdb (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Default.xml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_flash.ld (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_sram.ld (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Device_Startup/startup_same54.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Device_Startup/system_same54.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/Release.xml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/devices/p_screen.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/devices/p_screen.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.componentinfo.xml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/documentation/ext_irq.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/documentation/i2c_master_sync.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/documentation/timer.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/documentation/usart_async.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_atomic.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_cache.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_delay.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_ext_irq.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_gpio.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_i2c_m_sync.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_init.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_io.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_sleep.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_timer.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hal_usart_async.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_cmcc.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_core.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_delay.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_dma.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ext_irq.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_gpio.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_async.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_sync.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_async.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_sync.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_init.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_irq.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_missing_features.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_pwm.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ramecc.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_reset.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_sleep.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_async.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_async.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_dma.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_sync.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_async.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_sync.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_sync.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_timer.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_async.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_sync.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_atomic.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_cache.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_delay.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_ext_irq.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_gpio.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_i2c_m_sync.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_init.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_io.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_sleep.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_timer.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/src/hal_usart_async.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/compiler.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/err_codes.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/events.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/parts.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_assert.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_event.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_increment_macro.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_list.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_repeat_macro.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_ringbuffer.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_assert.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_event.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_list.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_ringbuffer.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_syscalls.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hornet.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/cmcc/hpl_cmcc.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_m4.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_port.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_init.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/dmac/hpl_dmac.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/eic/hpl_eic.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk_base.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/mclk/hpl_mclk.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/osc32kctrl/hpl_osc32kctrl.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/oscctrl/hpl_oscctrl.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm_base.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/port/hpl_gpio_base.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/ramecc/hpl_ramecc.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/sercom/hpl_sercom.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc_base.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_ac_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_adc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_aes_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_can_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_ccl_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_cmcc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_dac_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_dmac_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_dsu_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_eic_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_evsys_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_freqm_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_gclk_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_gmac_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_hmatrixb_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_i2s_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_icm_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_mclk_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_nvmctrl_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_osc32kctrl_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_oscctrl_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_pac_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_pcc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_pdec_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_pm_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_port_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_qspi_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_ramecc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_rstc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_rtc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_sdhc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_sercom_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_supc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_tc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_tcc_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_trng_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_usb_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/hri/hri_wdt_e54.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/main.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/oracle.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/oracle.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.github/stale.yml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.gitignore (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/README.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_alpha16.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/docs/LICENSE.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_ex_conf_templ.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_bright.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_eco.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_hue.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_pc.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_tel.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_wifi.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_btn_bg.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_cloud.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_copy.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_internet.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_mobile.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_no_internet.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_phone.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_print.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_printer2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_ready.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan_example.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_setup.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_usb.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_wave.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_blue.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_green.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.gif (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_templ.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_widgets.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/index.rst (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.editorconfig (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/FUNDING.yml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/all-other-issues.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/bug-report.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/config.yml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/stale.yml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/workflows/ccpp.yml (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitignore (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitmodules (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/CHANGELOG.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/LICENCE.txt (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/README.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODE_OF_CONDUCT.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODING_STYLE.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CONTRIBUTING.md (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/library.json (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lv_conf_template.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/Doxyfile (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/DejaVuSans.ttf (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/Montserrat-Medium.ttf (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/SimSun.woff (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/built_in_font_gen.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/generate_all.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.cfg (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.sh (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/cppcheck_run.sh (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/infer_run.sh (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/lv_conf_checker.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/release_patch.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_api_map.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_conf_internal.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_core.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj_style_dec.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_symbol_def.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_misc.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_types.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_themes.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_widgets.mk (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/Makefile (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/build.py (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon2.png (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_conf.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_main.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.c (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.h (100%) rename {software/firmware/oracle_e54_edition_pre_port => oracle_e54_edition_pre_port}/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_ref_imgs/lv_test_obj_1_1.png (100%) delete mode 100644 software/README.md delete mode 100644 software/conf/e54_gfx_learning.atzip delete mode 100644 software/conf/oracle_e54_ed_conf.zip delete mode 100644 software/conf/project_oractle_config.atstart delete mode 100644 software/firmware/Makefile.backup delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/ac.h.4E8FD9260D08F3E5.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/ac.h.84101F1EED150854.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/adc.h.2B91BB40E98AAF39.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/adc.h.ADF29816BD49D9C5.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/atmel_start.c.C38A94BA53F03107.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/atmel_start.h.6CE0FD0543AE8AED.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/atmel_start_pins.h.CB5282A3CA99D8DB.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/cmsis_compiler.h.09265E4FBFBE40C2.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/cmsis_gcc.h.E442D20103021DDD.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/cmsis_version.h.DDD35DD3DFB371CC.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/compiler.h.EA4D9037E9071A5A.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/core_cm0plus.h.BB82742FE1D2790B.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/dac.h.61E09D252CB226BB.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/dac.h.A8C3C0F7EF32D970.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/dmac.h.F305D8B01DA29760.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/dmac.h.FA78821B6F13316F.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/driver_examples.c.6C813CFA93118EA5.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/driver_examples.h.503A2C67F0264B48.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/driver_init.c.51690482890CD65D.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/driver_init.h.EA00948A71057DF2.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/dsu.h.1347B6BE1669697A.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/dsu.h.C3A516C62B7F29D1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/eic.h.0ADFC6E245F30225.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/eic.h.5A26C2CC2A25DEA7.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/err_codes.h.DB9125430949B735.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/events.h.395732B6A215AE5F.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/evsys.h.18972C119CEFC9BF.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/evsys.h.E390E123CB8E0E7C.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/gclk.h.7BFB66C539BCAEA4.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/gclk.h.DBFAAEDECC0516AF.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_atomic.c.4799E048D52EAEF5.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_atomic.h.1F11D2E442C04792.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_delay.c.9B628976838FA069.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_delay.h.FD2753D10D7FDBD5.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_gpio.c.19C1209B42840505.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_gpio.h.707CAA5A2D4D9322.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_init.c.FD13AD670B1E3EBC.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_init.h.E44F594ECF01474C.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_io.c.BB58C8A6035381D7.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_io.h.E950E0EAB7D84858.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_sleep.c.AE9AB7846EB6FA4F.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_sleep.h.E43A4A5962C2B4A7.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_usart_sync.c.F3928A5153922C9D.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hal_usart_sync.h.19FBB2E62E3780AD.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hmatrixb.h.9965678B84DD9FF8.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_core.h.EBE5F08BC53A4FE7.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_core_m0plus_base.c.1639A09AAF859B06.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_core_port.h.2EF9EF981F0CA88D.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_delay.h.589640957CA9FEFE.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dma.h.E5C1BA76ACA209A3.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dmac.c.86F61D64F5A16AB4.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dmac_config.h.9A46FF031EF710D1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gclk.c.C52E412A1AFC6678.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gclk_base.h.C8383DB5231C43F6.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gclk_config.h.1488FB0741D2A503.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gpio.h.2D749C9BAF8694B3.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gpio_base.h.8D66043F2D955D03.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_i2c_m_async.h.8E128132E50A20ED.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_i2c_m_sync.h.13148CFC83644188.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_i2c_s_async.h.1C1C1A53BC09A15E.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_i2c_s_sync.h.D88C460BB71EFB6D.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_init.c.87ADB53DB9143913.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_init.h.7FFA950E51012234.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_irq.h.A76EFC53B9991BD7.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_pm.c.DB30B0123A0D5E0F.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_pm_base.h.37FD0C92D501F951.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_pm_config.h.0B2158E193D3E8A1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_reset.h.CC9A847CDD9DD5C4.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sercom.c.BEA9A0CBF5340971.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sercom_config.h.49B96934B1B41AA7.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sleep.h.51BEEB4DE59CA5EE.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi.h.FD1CF11B154DE568.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_async.h.5F5E743C9EDB890D.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_m_async.h.8A0BB1934D325760.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_m_sync.h.EF53EC56A65D4A32.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_s_async.h.FCAD315E57CD4445.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_s_sync.h.992DBEB0A2B3B7FE.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_sync.h.3CCE3D73F945EEE4.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sysctrl.c.963A4D5BE6213E52.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sysctrl_config.h.6BC852A437329FC0.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_usart.h.4797207AB2089F94.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_usart_async.h.0C897E03A75AA018.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_usart_sync.h.E91578044CA84BE0.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_ac_d21.h.4395395D9A2C6019.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_adc_d21.h.7FAA84FC02152335.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_d21.h.6720B9BF4549BB45.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_dac_d21.h.0574F4535DAC2BC1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_dmac_d21.h.92AB4F18BC2013DB.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_dsu_d21.h.F41B5D37A1990A97.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_eic_d21.h.6C9742AC9F5616DE.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_evsys_d21.h.B2CF34AC8DDB01AA.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_gclk_d21.h.707FD4D78B7F474F.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_hmatrixb_d21.h.8D3078FD71978C55.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_i2s_d21.h.5E693FA7E626C766.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_mtb_d21.h.CCB339AF33F3BF06.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_nvic_d21.h.29E51607CD0B02E4.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_nvmctrl_d21.h.C3255578480E5FA7.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_pac_d21.h.4ACC0FC42D057CA5.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_pm_d21.h.239EC30A0A78826E.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_port_d21.h.667732A9296E61F1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_rtc_d21.h.C8AF3D85D8387F5F.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_sercom_d21.h.5267B1129ADCE180.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_sysctrl_d21.h.23E2A1A4DA4BE563.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_systemcontrol_d21.h.BEBBAB2540602A4E.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_systick_d21.h.98A5D68681274846.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_tc_d21.h.C4FE6B2CDE7FE4C6.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_tcc_d21.h.3D3025150B7626F4.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_usb_d21.h.D825C2CA8F835300.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/hri_wdt_d21.h.108B755E621A4010.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/i2s.h.15CE9981EC02AC40.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/i2s.h.A021F7F9EA858027.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/main.c.C6CE3E913F4CDB8D.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/mtb.h.5B732F86CF7BB70B.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/mtb.h.FFD0981D50304585.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/nvmctrl.h.9B60D694AB28A5CC.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/nvmctrl.h.B1F5FF98ACF4111E.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/pac.h.8A60AB001B7054E1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/pac0.h.05335D59CA90ED93.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/pac1.h.35537AD40924C207.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/pac2.h.7F746EFC38065928.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/parts.h.06EF0A1A6826A8EE.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/peripheral_clk_config.h.7C2A6021E44FD93B.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/pm.h.00F95F0D08832F85.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/pm.h.CCA48132B469CC13.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/port.h.2BE5AD8437091BE3.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/port.h.2BF2FFFDBC3769DF.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/ptc.h.8AFFDB79E34DB189.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/rtc.h.3F0D0AEFDE7B8DBE.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/rtc.h.B13CCD8B14254AA3.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sam.h.1F08C30B835550B2.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/samd21.h.D53F11245FC783E3.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/samd21j18a.h.7A198D296D3A6C84.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/samd21j18a.h.FD865312D86169BD.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sbmatrix.h.69D44BEF4765C107.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sercom.h.2B6C14D3B285533B.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sercom0.h.0F5DE64E29C4A54E.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sercom1.h.68F4B8958BC4AED3.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sercom2.h.B2F17A447B19A8C4.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sercom3.h.9236E987A01CA20E.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sercom4.h.B1E01A8FD8646B84.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sercom5.h.D1AFD6DBA1D57936.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/startup_samd21.c.87C5D36279956348.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sysctrl.h.64F5AF4FD80D2397.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/sysctrl.h.E7E777CBB235DA8C.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/system_samd21.c.A0798A1E94E7C09B.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/system_samd21.h.07D45D61D375A0E9.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tc.h.5B16481406FA5006.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tc3.h.89308FF794CB8B53.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tc4.h.FC910691CC95D7EA.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tc5.h.B2B927C83910785B.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tc6.h.F2C8885C6E0379E9.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tc7.h.0025DD85338887E1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tcc.h.8D2EEA95263E2756.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tcc0.h.C16D632FCB5EA460.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tcc1.h.7AED5FEB8F523157.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/tcc2.h.0103469412E326E1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/usb.h.A86B6D4173217744.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/usb.h.D434EEF1E6C246AA.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils.h.2057FB156B6D5E3C.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_assert.c.CE7C5AB4A7C30915.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_assert.h.441AB57566E2A5E1.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_event.c.C3B3CA759ADC9CE9.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_event.h.CD89BEC7BA047241.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_increment_macro.h.6A1AD44267DE721C.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_list.c.CC4C049166FB1114.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_list.h.917206601256C4EB.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_repeat_macro.h.358A33457B92CF76.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/utils_syscalls.c.47176806CAB859F7.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/wdt.h.88909A3EB77455DB.idx delete mode 100644 software/firmware/oracle_d21_edition/.cache/clangd/index/wdt.h.9D23B056DA41716E.idx delete mode 100644 software/firmware/oracle_d21_edition/gcc/AtmelStart.bin delete mode 100644 software/firmware/oracle_d21_edition/gcc/AtmelStart.eep delete mode 100644 software/firmware/oracle_d21_edition/gcc/AtmelStart.elf delete mode 100644 software/firmware/oracle_d21_edition/gcc/AtmelStart.hex delete mode 100644 software/firmware/oracle_d21_edition/gcc/AtmelStart.lss delete mode 100644 software/firmware/oracle_d21_edition/gcc/AtmelStart.map delete mode 100644 software/firmware/oracle_d21_edition/gcc/atmel_start.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/atmel_start.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/compile_commands.json delete mode 100644 software/firmware/oracle_d21_edition/gcc/driver_init.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/driver_init.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/examples/driver_examples.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/examples/driver_examples.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_atomic.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_atomic.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_delay.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_gpio.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_gpio.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_init.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_io.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_sleep.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_sleep.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/src/hal_usart_sync.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_assert.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_event.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_event.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_list.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hpl/core/hpl_core_m0plus_base.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hpl/core/hpl_init.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hpl/dmac/hpl_dmac.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hpl/gclk/hpl_gclk.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hpl/pm/hpl_pm.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hpl/sercom/hpl_sercom.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/hpl/sercom/hpl_sercom.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/hpl/sysctrl/hpl_sysctrl.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/main.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/samd21a/gcc/gcc/startup_samd21.o delete mode 100644 software/firmware/oracle_d21_edition/gcc/samd21a/gcc/system_samd21.d delete mode 100644 software/firmware/oracle_d21_edition/gcc/samd21a/gcc/system_samd21.o delete mode 100644 software/firmware/oracle_same54n19a/.gdb_history delete mode 100644 software/firmware/oracle_same54n19a/.pclangd delete mode 100644 software/firmware/oracle_same54n19a/.vscode/c_cpp_properties.json delete mode 100644 software/firmware/oracle_same54n19a/.vscode/settings.json delete mode 100644 software/firmware/oracle_same54n19a/AtmelStart.env_conf delete mode 100644 software/firmware/oracle_same54n19a/AtmelStart.gpdsc delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/cmsis_armcc.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/cmsis_armclang.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/cmsis_compiler.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/cmsis_gcc.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/cmsis_iccarm.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/cmsis_version.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_armv8mbl.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_armv8mml.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_cm0.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_cm0plus.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_cm1.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_cm23.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_cm3.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_cm33.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_cm4.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_cm7.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_sc000.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/core_sc300.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/mpu_armv7.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/mpu_armv8.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Core/Include/tz_context.h delete mode 100644 software/firmware/oracle_same54n19a/CMSIS/Documentation/Core/html/index.html delete mode 100644 software/firmware/oracle_same54n19a/atmel_start.c delete mode 100644 software/firmware/oracle_same54n19a/atmel_start.h delete mode 100644 software/firmware/oracle_same54n19a/atmel_start_config.atstart delete mode 100644 software/firmware/oracle_same54n19a/atmel_start_pins.h delete mode 120000 software/firmware/oracle_same54n19a/compile_commands.json delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_cmcc_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_dmac_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_eic_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_gclk_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_mclk_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_osc32kctrl_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_oscctrl_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_port_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_sercom_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/hpl_tc_config.h delete mode 100644 software/firmware/oracle_same54n19a/config/lv_conf.h delete mode 100644 software/firmware/oracle_same54n19a/config/lv_demo_conf.h delete mode 100644 software/firmware/oracle_same54n19a/config/lv_ex_conf.h delete mode 100644 software/firmware/oracle_same54n19a/config/pc_board.h delete mode 100644 software/firmware/oracle_same54n19a/config/pc_master.h delete mode 100644 software/firmware/oracle_same54n19a/config/peripheral_clk_config.h delete mode 100644 software/firmware/oracle_same54n19a/driver_init.c delete mode 100644 software/firmware/oracle_same54n19a/driver_init.h delete mode 100644 software/firmware/oracle_same54n19a/examples/driver_examples.c delete mode 100644 software/firmware/oracle_same54n19a/examples/driver_examples.h delete mode 100644 software/firmware/oracle_same54n19a/gcc/.gdb_history delete mode 100644 software/firmware/oracle_same54n19a/gcc/Makefile delete mode 100644 software/firmware/oracle_same54n19a/gcc/compile_commands.json delete mode 100644 software/firmware/oracle_same54n19a/gcc/gcc/gcc/startup_same54.d delete mode 100644 software/firmware/oracle_same54n19a/gcc/gcc/gcc/startup_same54.o delete mode 100644 software/firmware/oracle_same54n19a/gcc/gcc/same54n19a_flash.ld delete mode 100644 software/firmware/oracle_same54n19a/gcc/gcc/same54n19a_sram.ld delete mode 100644 software/firmware/oracle_same54n19a/gcc/gcc/startup_same54.c delete mode 100644 software/firmware/oracle_same54n19a/gcc/gcc/system_same54.d delete mode 100644 software/firmware/oracle_same54n19a/gcc/gcc/system_same54.o delete mode 100644 software/firmware/oracle_same54n19a/gcc/gdb.txt delete mode 100644 software/firmware/oracle_same54n19a/gcc/system_same54.c delete mode 100644 software/firmware/oracle_same54n19a/hal/documentation/ext_irq.rst delete mode 100644 software/firmware/oracle_same54n19a/hal/documentation/i2c_master_sync.rst delete mode 100644 software/firmware/oracle_same54n19a/hal/documentation/timer.rst delete mode 100644 software/firmware/oracle_same54n19a/hal/documentation/usart_async.rst delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_atomic.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_cache.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_delay.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_ext_irq.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_gpio.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_i2c_m_sync.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_init.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_io.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_sleep.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_timer.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hal_usart_async.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_cmcc.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_core.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_delay.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_dma.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_ext_irq.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_gpio.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_i2c_m_async.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_i2c_m_sync.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_i2c_s_async.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_i2c_s_sync.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_init.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_irq.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_missing_features.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_pwm.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_ramecc.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_reset.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_sleep.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_spi.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_spi_async.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_async.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_dma.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_sync.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_spi_s_async.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_spi_s_sync.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_spi_sync.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_timer.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_usart.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_usart_async.h delete mode 100644 software/firmware/oracle_same54n19a/hal/include/hpl_usart_sync.h delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_atomic.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_cache.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_delay.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_ext_irq.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_gpio.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_i2c_m_sync.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_init.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_io.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_sleep.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_timer.c delete mode 100644 software/firmware/oracle_same54n19a/hal/src/hal_usart_async.c delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/compiler.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/err_codes.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/events.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/parts.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/utils.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/utils_assert.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/utils_event.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/utils_increment_macro.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/utils_list.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/utils_repeat_macro.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/include/utils_ringbuffer.h delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/src/utils_assert.c delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/src/utils_event.c delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/src/utils_list.c delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/src/utils_ringbuffer.c delete mode 100644 software/firmware/oracle_same54n19a/hal/utils/src/utils_syscalls.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/cmcc/hpl_cmcc.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/core/hpl_core_m4.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/core/hpl_core_port.h delete mode 100644 software/firmware/oracle_same54n19a/hpl/core/hpl_init.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/dmac/hpl_dmac.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/eic/hpl_eic.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/gclk/hpl_gclk.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/gclk/hpl_gclk_base.h delete mode 100644 software/firmware/oracle_same54n19a/hpl/mclk/hpl_mclk.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/osc32kctrl/hpl_osc32kctrl.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/oscctrl/hpl_oscctrl.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/pm/hpl_pm.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/pm/hpl_pm_base.h delete mode 100644 software/firmware/oracle_same54n19a/hpl/port/hpl_gpio_base.h delete mode 100644 software/firmware/oracle_same54n19a/hpl/ramecc/hpl_ramecc.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/sercom/hpl_sercom.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/tc/hpl_tc.c delete mode 100644 software/firmware/oracle_same54n19a/hpl/tc/hpl_tc_base.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_ac_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_adc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_aes_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_can_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_ccl_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_cmcc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_dac_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_dmac_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_dsu_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_eic_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_evsys_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_freqm_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_gclk_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_gmac_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_hmatrixb_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_i2s_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_icm_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_mclk_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_nvmctrl_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_osc32kctrl_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_oscctrl_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_pac_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_pcc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_pdec_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_pm_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_port_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_qspi_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_ramecc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_rstc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_rtc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_sdhc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_sercom_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_supc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_tc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_tcc_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_trng_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_usb_e54.h delete mode 100644 software/firmware/oracle_same54n19a/hri/hri_wdt_e54.h delete mode 100644 software/firmware/oracle_same54n19a/include/component-version.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/ac.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/adc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/aes.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/can.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/ccl.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/cmcc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/dac.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/dmac.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/dsu.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/eic.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/evsys.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/freqm.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/gclk.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/gmac.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/hmatrixb.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/i2s.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/icm.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/mclk.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/nvmctrl.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/osc32kctrl.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/oscctrl.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/pac.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/pcc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/pdec.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/picop.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/pm.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/port.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/qspi.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/ramecc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/rstc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/rtc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/sdhc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/sercom.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/supc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/tc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/tcc.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/trng.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/usb.h delete mode 100644 software/firmware/oracle_same54n19a/include/component/wdt.h delete mode 100644 software/firmware/oracle_same54n19a/include/hornet.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/ac.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/adc0.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/adc1.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/aes.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/can0.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/can1.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/ccl.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/cmcc.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/dac.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/dmac.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/dsu.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/eic.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/evsys.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/freqm.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/gclk.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/gmac.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/hmatrix.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/i2s.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/icm.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/mclk.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/nvmctrl.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/osc32kctrl.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/oscctrl.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/pac.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/pcc.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/pdec.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/picop.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/pm.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/port.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/pukcc.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/qspi.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/ramecc.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/rstc.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/rtc.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sdhc0.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sdhc1.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sercom0.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sercom1.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sercom2.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sercom3.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sercom4.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sercom5.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sercom6.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/sercom7.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/supc.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tc0.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tc1.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tc2.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tc3.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tc4.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tc5.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tc6.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tc7.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tcc0.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tcc1.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tcc2.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tcc3.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/tcc4.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/trng.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/usb.h delete mode 100644 software/firmware/oracle_same54n19a/include/instance/wdt.h delete mode 100644 software/firmware/oracle_same54n19a/include/oracle.h delete mode 100644 software/firmware/oracle_same54n19a/include/pio/same54n19a.h delete mode 100644 software/firmware/oracle_same54n19a/include/pio/same54n20a.h delete mode 100644 software/firmware/oracle_same54n19a/include/pio/same54p19a.h delete mode 100644 software/firmware/oracle_same54n19a/include/pio/same54p20a.h delete mode 100644 software/firmware/oracle_same54n19a/include/sam.h delete mode 100644 software/firmware/oracle_same54n19a/include/same54.h delete mode 100644 software/firmware/oracle_same54n19a/include/same54n19a.h delete mode 100644 software/firmware/oracle_same54n19a/include/same54n20a.h delete mode 100644 software/firmware/oracle_same54n19a/include/same54p19a.h delete mode 100644 software/firmware/oracle_same54n19a/include/same54p20a.h delete mode 100644 software/firmware/oracle_same54n19a/include/system_same54.h delete mode 100644 software/firmware/oracle_same54n19a/main.c delete mode 100644 software/firmware/oracle_same54n19a/oracle.c delete mode 100644 software/firmware/oracle_same54n19a/oracle_same54n19a.zip delete mode 100644 software/firmware/oracle_same54n19a/scripts/debug.gdb delete mode 100644 software/firmware/oracle_same54n19a/scripts/openocd.cfg delete mode 100644 software/firmware/oracle_same54n19a/scripts/push.gdb delete mode 100644 software/firmware/oracle_same54n19a/shared/devices/display/p_ssd1963.c delete mode 100644 software/firmware/oracle_same54n19a/shared/devices/display/p_ssd1963.h delete mode 100644 software/firmware/oracle_same54n19a/shared/devices/p_screen.c delete mode 100644 software/firmware/oracle_same54n19a/shared/devices/p_screen.h delete mode 100644 software/firmware/oracle_same54n19a/shared/drivers/p_gpio.c delete mode 100644 software/firmware/oracle_same54n19a/shared/drivers/p_gpio.h delete mode 100644 software/firmware/oracle_same54n19a/shared/drivers/p_i2c.c delete mode 100644 software/firmware/oracle_same54n19a/shared/drivers/p_i2c.h delete mode 100644 software/firmware/oracle_same54n19a/shared/drivers/p_tcc.c delete mode 100644 software/firmware/oracle_same54n19a/shared/drivers/p_tcc.h delete mode 100644 software/firmware/oracle_same54n19a/shared/drivers/p_usart.c delete mode 100644 software/firmware/oracle_same54n19a/shared/drivers/p_usart.h delete mode 120000 software/firmware/oracle_same54n19a/shared/thirdparty delete mode 160000 software/thirdparty/lv_examples delete mode 160000 software/thirdparty/lvgl diff --git a/.cache/clangd/index/lv_anim.h.C99F97FD864A3798.idx b/.cache/clangd/index/lv_anim.h.C99F97FD864A3798.idx deleted file mode 100644 index 995351c7e798d44bbc1ca742bfca514fbab5ea53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8636 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 diff --git a/.cache/clangd/index/lv_api_map.h.5CCAFEAA5E6CA360.idx b/.cache/clangd/index/lv_api_map.h.5CCAFEAA5E6CA360.idx deleted file mode 100644 index 68391913a8c58f2b2d0ad32e7b915b8ae4a8db92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2728 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 diff --git a/.cache/clangd/index/lv_btn.h.380F1EFC395CA339.idx b/.cache/clangd/index/lv_btn.h.380F1EFC395CA339.idx deleted file mode 100644 index a527cfc7fce10fe06cb27b2220d82e298953ba01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3924 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 uHwmlL6I0@;-x=u%8P3!XZ%W8NFZ=@l kE!h<{4CBts}Hf2w5FYtejcI_Vk diff --git a/.cache/clangd/index/lv_btnmatrix.h.6F289E1AE5700AA4.idx b/.cache/clangd/index/lv_btnmatrix.h.6F289E1AE5700AA4.idx deleted file mode 100644 index 797379355bd0050fef37c3737acc1d8f8db97253..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5504 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 V*A;U?v>3Md&rj~3pRRv?{txa7LX-di diff --git a/.cache/clangd/index/lv_calendar.h.9D118A82F6F27153.idx b/.cache/clangd/index/lv_calendar.h.9D118A82F6F27153.idx deleted file mode 100644 index f5e27b904e677b6f32fc5b74d2beb8035bbd6f25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3800 zcmYk730PCt635TQgtA;NWPu<%iL!+yxkv)C8K@|m2n3O>DzaFWAe%soindx2H$V^~ zK0yUhq|`pe)c&NUP5Rg(_0P++ zPYTRSOU_mG+&lBN?83q7()xSi)N*@*(DB9ohWl?o4J8gy!oef-bNFMPZ z=Z_AZOX8?bc1WUC+;=5uD;vI;nYt^|*50Zpe?8_9&Yqfn{5UuF$SjX-^+{6K8iS4l zuPTEKzS^?)*EG(@TtgN}wW=wu7!ADrB#b&NI zcKw_kqwy%axW>QF&;RMZjgR_XnzhXyv|u=_65@50E3Jkkq<7g5J7r4(L{}~t=y+_4 ztAG3?M83asZo`@7-{qO78g&Psk&PFPjdkW%R_zdep`T;{5d%^fQh z*5Q>UF~U_Fn%TS)tcnbi&bs*vc5Chm3OuOE5jN?c>->wxv#@;FM1TAwPc*w`^7gp< z>^+gwl{zN%io2Wj;&#MWv|4sOu$bi*0?RPx1kIzVd<4x6P)l9lRPC1%!Jhv(kc9Lp;ZYZrd~VGMZ90&5RH9zI64ne3LSLfw*Bw z-)z41Y5tL^4eccbk6QWDnb&SNFi*XZi*JXG%L{*TFSY^vHQUKrgy)s{z2<-(jBoh(lsl_>O$XV=Uu;2oG_r*cVE=L)bD?96W*NOxK4a^^}0vH zk-uvDw0zOs)Ej#>v@uvy{*59TpIi9po`<)hUO2RUAMZqqj`~;IvXSqLR^(1pl||gr zCKtc9v2Gjc3(M!c^V<=4+vM^KzSA6Y;gxT0EPw91c-5BZznuo1_Qn)s@Sm|=m^mFO zQj_x6<;KJG*r~j!o5uWO2RF~Rth-!Vl75X{U>y5)VBYxk6+MQd9;YsUdu$W>x9YgjYj1g_C!g19KLK^ z!BAu;cj~=UczX_XJNds2C|#RcI@~>{TerWF!QERXk z@#B`HmbwtY8ODW7p($n5arUrp;GJ#ZEFActGfFYTQcM8P;OJ|J?cf>4p%&XeE2$nJ zz!Iq8z;Q66j9SC^a6QLeYwSJ_ype_+Gn8XOO5+ns!_-)Q)T5-o6$hRurvcM$z?`WZ zdYA(|hx>43^#3Ecu|D7dK>E^rXHy1d0ATH+%&;{Sq(2uF77`#7R^rBXv!aZ;5@$KP z$Ez&v5dmyq+*#L|Lm72EaJ(bWJ4=T9m zxo|0?R>*5OsL36)Y}W^KU=2Pr9}CJ*HCR$L>}U>|`s95?vlR7$aun=h^&=V}7 zf*G5j>KN6^IH$7==jZ}=I1zUZcNS$}1^`yn%w9c=7(TPNGA5k$&tWiB6D$+gV2RX-NE2iAp{Jz5N$EXG8| zn2-7)zzY_aV!r6cad?65a%=&*Q5<&UU5hP5E#h!cZVi|>8Wc`8W6sT(NR1-01rxMj z?&!&*;ll|i8Hy&594cwudZs>c7EW?$Tpa`{oaE7XI%vu`=}dFhL6?lWg+r!5tCB+Z z2@g;r79Eh2>05HG=*SE_z>Vg{LJNeGBASSWzSD71OcS#ZWf6~|k`l&935B6sNnqsu zX5!~(((pH5!*?mslIWucjphKWRH0b)52!^bql7S$LHLDkC3}$@Q5V;FPg|8ACmm=G zM(7dZB%j7NLaU0CjxeA@ z-VacUF+bi9Ajg;=?+2*Gm}o!HmjUcY`AvZOLF)j=q9VU4g3g5j3im2ET3_g<7_V}p z*8trV*i~*+EOe`At_mQO!)lZqS9t*%1k9(%t@0ym!)zt9Q8v0-=vIOnxj|;~`c=vg fS(&S|lxv|u;-4RkPjKcMX$XWspw0ur4}bmxf&`TA diff --git a/.cache/clangd/index/lv_canvas.h.6F7686932557A2E4.idx b/.cache/clangd/index/lv_canvas.h.6F7686932557A2E4.idx deleted file mode 100644 index 2987149b370e531ab38ebdc96e10319974ab6560..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5348 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 diff --git a/.cache/clangd/index/lv_checkbox.h.6CE753848B2FFC11.idx b/.cache/clangd/index/lv_checkbox.h.6CE753848B2FFC11.idx deleted file mode 100644 index b7980e7bab3841cfbcff06a0eaf50ba79fe0beb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2546 zcmYjT4Lnro8h?)&433#$#`+i^G2xiTV2qWWyZM-CC2T5F*|k1me57PbvCJ*239+PT zxn*V7rJq8r?21+!vT|9X?Uq_?d$mPAx82*VmVM9R<(}Vfo^#&+`M>{pp6C5P^P3QV zKfiGu0A#!T4<*IykE8d|6rU-Id^OryJo%^){Au#^yHBsRs-`FFLpKiaqxFY1&aLiQ z)na|=Dqk><<+{C_k`dtcp<&y}u&!#&zza58OAWNM!!AGZDKg3FyRMnlw7z;i@Wv}_ zzg}tWNFeQ^EWgp=#I53n(?jQF#bMvrMD*rvH#hOWva^c&WTr#Q6IOqvxcmoxjss?|9_vdNzK&y86bW)_~e3x2KK|{+BnX@UT+s9t-ns zHgxd6Yg#FDzn0CrVH+s?C{n*^i}cOJ@R~}$sgl8omp*$d9V?@zUH8NZ59`l+fvEml zS@R!T^6n4}_1|_R@r$0#cDV=@fd=~LwNCz=bMJzS)3L*5?+Z*r6+^cg zHpGolmkHyLwcH3+CJkMUwWe>G?h)bmP{< zUve9>?0b^;KJ2DnJ@Hu>ze#;0toC?KNKaqLnAY94evZ_nAWJ3p^jkNZ?lqnz?Jxb8 z+R7*t3*7g~BifbWD^Vlrh;*X@&!C&12e)Sy_6Lie3_iQZN%eOKsx$ow8Y%Q-m^6aD?x9%vTAZW(g=donY)%v_itW&_z zZ>zMN0-B!e#u!Hm|D7lQ<^EK4gD(+>*DL1TYaMd(798|BQ=7h-8-FW1_ksG3a|)+~ z_TX)KcS6S=cC@_hD|yY{?m_E|`6s0N(r&+K@o+qK`n6AE$QjLckU8+hS!G&Ml$Qn^ z5KE0mt-w!-0}%j31}DRT3P6X>($O%t#t4idJg+O;woQu#Od-RK?q)>=$bh?7uYwHS zXyW-yUV|A9)Xa7aLQ7QZS(^NeGqer>MeYOu&N*0t10D z6_yo}j$5<-;E6L?;4P>ip-XsFpcITLg@e(TM?^pPh;iTo848YK4HY1Rt*c4Zk^5&^ zrHfM`&H`qT;YxS4p~7Mvl*ShiRbO7ps~f?A6J)3{jv5mz-5`slL#NKAM$)|*=l)Z! z2ZWF%(hzZ|Kc^lWsfD8`{VSvu9DAvF`S6tM|dHtpgYti{erZSPasU11i_+!&z`Qob2JT# zaOqs;GQ8v&$R-VgU}O~tlRiPP%qc19V!6~v17;$N*p4#52^C+p7PUZLYLYgytB#H1 zgpe-8(JA1BBi#{49>ob6kTFmn;L1{F_kSyi>~AZpV6$MG<+CE>)^dmCb0NalguAY! zp%5x0%MK(C5C@!5OK~E@Ib%6R9NNi6jd>uaeb`a;WUQ!3pN13R?}V>I<-$$O48xU` z8e^)l<+URCHQv67e-`#gi=hQaYVlH}9}U0zVrmXH+JJ7rK`GAYCLah zKDaKFlvqk6sJgOs4c@+2U&KS$glhnSDMv5RY{M7iU?aHUgUR0XS1&A} zjDRj+qn2JC?eol=Gj=D-m8!fDn=IES2U~6)G9nZue+v)|ISURQHT_F?-=Nn(dBxYK zp=i8mya*LYit=-?wJ7!fyewiwAFn4X6Pt+zXl{@}p(yo(u_T%jvpbS}RHj5LrSPsn gq|DGp%N*(~>9%(E4#0Ma2XA&Oj}9x3_A8Hn0Rz4QhX4Qo diff --git a/.cache/clangd/index/lv_color.h.DFF0ED47522F98E3.idx b/.cache/clangd/index/lv_color.h.DFF0ED47522F98E3.idx deleted file mode 100644 index 50ae562c3d15d13ea3cb8d5d7cfb56f61e9375b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12152 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 diff --git a/.cache/clangd/index/lv_debug.h.BE48BCB057237D70.idx b/.cache/clangd/index/lv_debug.h.BE48BCB057237D70.idx deleted file mode 100644 index bbf53445a0946f8e2af40b83a9b7430025be4ce7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1642 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 diff --git a/.cache/clangd/index/lv_draw_blend.h.6741EFBD75059457.idx b/.cache/clangd/index/lv_draw_blend.h.6741EFBD75059457.idx deleted file mode 100644 index 6f4be8bb7b79f6c7aacd5f4b5fe3b435fa651a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1146 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 B-r4{F diff --git a/.cache/clangd/index/lv_draw_label.h.C31C046C34B4A0B1.idx b/.cache/clangd/index/lv_draw_label.h.C31C046C34B4A0B1.idx deleted file mode 100644 index 7f00d8a5c6f23b01ed53eb4b9dd3177bf9c67246..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2934 zcmYk630PBC7RN8)fk<8+OA_P(0YX9o0jWV&K^!z}`bosHgQy59SdguXf?}~nLC_g! z1(hjK#f{Nnky4~ERTeFd1$0EFgsMdl+(vd(D!qB+zVUruPLlus+;h*p@BZ#aKX30u zCID+<{L&L*)3#y&0A2V=O-qS0Q3s%S5di6>&4B~*{$;u|sUPw(9)A(s{ga3AKjM-O zUHyCKr3t6Mw|1GXoJx9md(S#S+kA`Lj_x2e9ACcC>Qh>h4R1N3CrGjn-d?o*94GtnPkX zWMpJ>R_Y#&vM!IPZ<`xeJmO{8Ud?UL>S^%J-#w@K#rL-bt@xs8j_jszcifM{WXTYJ zIp?rqM~VHE5&L4oIyS4vsX;E;zOP`dorOW6_wiR3Pgg!EYjDbatmXN1i(|%j*N4=` z%g+Td*9|(jyxUn=QMTOLW9%HUD(l8jQUG>Wt#b>@a^Tj_pE2xjJQ?fh(Mzl9DdKtN ztnhL0AB+z*jOi5IsE}@HT_1hS2P-}4VNzMh_hh@@wI}^$Uf9K^*FTK&YL59#2TVps zOr}Ik#z&-$%L0uPBnjE&Iv1*XcX8rZ1W$%*4_(oTe*7YPBz?8w{q&lrYpbGm2A)gI zZ;uN*sSy5ZKIB->`}{3`w(R0Y+pd12dhY}2dNIz<64R)FB|N=~{1(5xF`Mpf$4@(j zK3~^V`d@oZuj0I$f->pUwM)bE_T1DuMM-_unSVM;%M|nTMY+K&aczpo=zoRPB|Dui z_xXL5-Po8MYm`@T@aU`cF{OTPZCQ763PhRgs-S~2*;-Z>mo#(63i^t>_!IYxm+l{9 z77bq#rS40J-Uu1dE_<%uETM0yW67Zc z?USq11kLAFU)Lc>FD0e1VR8vcZRzG6~JOxUmE~5QjMRsd29Ez zFRu~609J6r-Ply1D@bN4ceq_@t0jOQ^d%gLDHUj68hy0m*yu`s0$4*|$P#j>K>My= z=lomxLlyLS&^I$MGok|R`>Y5pp3`qhAb<(f$_E^{*r;0v1y$Y5@;n5wXts}CzA zO1aXWQapeFOJD_Sjx|XIxnhtX{?GI)V5*7R*?9$S`i$ z!VG|#A$xeP?OXTEbQWNtj1X?f#~DY}JF}=j&ynXcvUWzpGm8Ma z&=>2Aji^BT6}_#qA$qGbaKJ}1$c^PzaFrSiH5)cuW#@sJm!r*f1Pkb(jBsxF$36T~ zHMjb2jH|UQ0IzlGAw#*LA7^w=$bxER>^2-&pbVL@ObTbwRM(d{u7J7y-nv zPji;JE*0oL`3}&f5hyt6j5#yWX5*wA=Eg(_V7}E$ zZ?gqW44jmIB6p#8l$86)H==)tST*ehQdQf4K!viBQk4qOv`|*UNy{oM8QKdts&t&( z;I=`IWn#5 zI2pzY%78SNRAsq052qca3$>dsNgXi0ECl(&sa1*j1yD=!%&qazJv<=ukhr!jNo<0CJu z;Zm(JYc@Jl&lDZI#~t3-LfHzl(nBX7Eg2S3UO=eGyOO_0nEf%*1J^7AGA@$gZ35)< szm(X|wkn;}lx?Y>D1R6$!@@(qV*qFv0E3ieJl`N-bor_q85@E>0R@_D%K!iX diff --git a/.cache/clangd/index/lv_draw_line.h.B6E045C4E5A69430.idx b/.cache/clangd/index/lv_draw_line.h.B6E045C4E5A69430.idx deleted file mode 100644 index 28d58162a150933fcfc74dc4b3c6174540565d33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1494 zcmYL{4^We39LJw+FXPW%9$*`P_Kz24$RB|=oJUCBnItfzOQ2BG6ef7X0BHl7CT6S5 z6HAVfT5N@k6bOStpcC&55Csi|BLbyE4hgV72qNiOj-K~r&)VI7cklQ6yx-sZ`+c5N zb$t9yCjjEI)P}t5!b}1H;EDeFLS2rP1wcOs0E4+D^}GC0h39V#jXwmgH~kpu6>U08 z7Pl9=j7M5rzIaic8=5*kQ2bHA(wOyU6<1oc%K4$;!TeY|r+aZ|p(IaJMcQhQ%xp*( z<)0h3Wjk%T^+%9lUB_2r8J5ky7lt3{JN@_Gyi@b)_4dQp%R?2^^U)f<&AB0t+)a59 z6@wj^O;qrFe5KSh z@-CUaI8d!vOgTLhle4C%eyB@oHuqVy=4)>xssBxC3wcL2+WauIo6<)0=3P#BYhbKI zePG6XroFK?t>DaO!pei1*2!9P@`|~tM5Gyk1C~s~PzZC)@ z2fzR_z?&(+g@%fLD+}{ew(c-mN#L<80H~BGgMlkSu$+BdS&+5SoLC@F^!*hAK1z_e z%RHIlNJxy07B^mbyqyQU0Dy9~T*wrZ000*Nl#pt(b+Ka(jX>an68we!{!DQsX!|&~ z>&Vn|5Rk~12qZG5IQ)XuLV@UlVl@Q5$QKL5eoS%rWu+ZPU7T?j1a8O|d5DBearl-A z^^Kxw#T3chVtP!dlBg8u3!T`2nQ>sWKkRDl*E$HiQ36F$zD#i>JP7*R?eNt3a0qzF zmkOj3ra1hkCC%;`+O(|@2#_C01`3$s@O9aH^l5AWh{UFd9>I!s773ME$~?#N?T}b* z%W&)@v=*6K;f(XjnK2V?r{`2+Nobl4&$pHoiG}b^7GGK{gsSQu)IFos?>28h-lt$(8%B zr9A$SLqdw6co+i-1Bd_~zPcm~Bm#MO#TYhfN0Y|w@VBF-Fl_C*wJ%J&lCt@s70L)1 ziFede(|z|BPw5isD<;HzJOT+NgoKahB%zd$@-h1Emp13JduJz5U#<(+2lu_!r3l;m zsU{LN5D_AXzYb4=PSdvupT=QGrY{ke@oY$@?~X%0ZP`ven;D>22$bGfMzDa&@dR|) extX-3*X`ERjo9#hPcifg|9+6=4&3oe0Q?6j1-P96 diff --git a/.cache/clangd/index/lv_draw_mask.h.CC14B839286A5C26.idx b/.cache/clangd/index/lv_draw_mask.h.CC14B839286A5C26.idx deleted file mode 100644 index cb3ba00b2df95dd9ecd4abe0b2441ca7ba8771d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8220 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 diff --git a/.cache/clangd/index/lv_draw_rect.h.585A53CC2EA28323.idx b/.cache/clangd/index/lv_draw_rect.h.585A53CC2EA28323.idx deleted file mode 100644 index ea37b4f156f616790ff470afcf46356af3ce370b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4018 zcmYL~3shBA9>zC%1cc4LaL*NRU$_sDr(U=q0vF=)a=bj`VIU!p@d&vp*a-N@#MDVh z9a9M@93N3CEj7(CO*E{Otj2OmqtSH4@iFFDgHDj*bN=VZ|HxW=Yu)d+&pv1Gv(NWE zn?7mMP8A`kFQzZ7sjM#(2qEt9Usqo{bMi1k_B#@?aMOYOBXiE1HP?RGdug3<&|flpK6@8PtCj8bv*gkqqi2U9?`kkyDr-nwCT*qhewv39xUyrl;#_8Yc-C9*)yz+9+u7QvDjy*iMZ^^W#{*@PM+FlBHZrt7pSC)+`nx##e zxok~@PugEDc2BJThvA16#acu0h1id)Mm2Bm$$HWKM)xbeCpPg!bY#|n6_tH zBI^z&EnV}@-uUgRp2y=xu>`Ho+IsVS%lh`Fk_P{jl^(l-7WHkBsh0T{_I-Gj zX-gBbi=!{yu4-?L+&r^mL*L5x=Y}M>ZuC8|rM$~^iAP23!sWed&c>MF*cr>4o90i^tO|?VGs~V< z({*LX@w53UcgOlUnY;&w8+yv#s(ZPn{Hqa!2%4?i3L?fnU?j?s@ElFf7+Hw3bok)U zW!K@ep$~S3GhzmAakF^IqHx!#*Ipd2_xpg6IN+ILrcM@xvo~Kd-E!EvkrM5b2?@84 zu&c;O!C7!f@OI!1s@botZ;RgbIU|uU!vt}HUKVAB(QE(OVBdXa8Y5$Xr)p9IWl^~Q z8x7vN;@}?{5rKzlLIY$`ctFMZyum%o^BH*t_#}@>To#1~<`^vv&dDB(7=fGJ%-*sn z++@>!x-s#SV~ps5M`$7fWl^~KPklunh41iWBoKIlM}kfkg-4t)ezmFl>;^{Mf$PqZk#WG|G;sm4C_H{~ts=Q!nf8rmA3H<7zqGw z^|boQqHycIQ?}odCVtDvSm0dbqh(Qe;`7acXRg@u7%>5lQblQHdCKR-sa;p3?_nei zc(fR;mqp>ZmA;{iS3h!MBoufGP2sXAyl_R5IJswH9V2Sser|rEEDA5RA6S!CZHr^X z1Gqsn1jwTBikDBnmN$ckG7=9w%`MGS7KP8LSv$2RI=O+7AmB-EN#3$3yw)0RYWy|& z3M2l&!^ALyEDEpx<6Xo3-PQkLWEAiaw-7H`6uxxl)GF)kcLNxS0X|ur93YFrn<^gd zKIOGLhmm05iK;}MEDB%y(Jj-Ms&Bj)@d6$s2I*x{c*`Yw{l9k}Kgmce@GLRQUlxV8 zo-`eDS>potp8z~vmCj{R_@*(9){eN_GZ+a69wWx+Wl{Lf)$Zno&o{qEi7$SE1=<2L ze1RiJxXNGP0oHlCX?%_|BLuSEYN!znNIE;TAU%1a|l zG1v=V(J1ndF z?;c*~NV&h@FXEn19x8;2nDdlJ2oWNtGUahXoQN4pd8&{q;_Q^?2st7)99|Filu82c ziS+=s)D383D}XIk0@`?6u%#wI8#@4OsQ}Q%=m%TMeYEju!It74Z47#_rIbe-^Brs{ z+|kBZ2V2T?v@y-WmZDs-he8}|DZ$ak>;_v3ZnQD7!IttGZA@ygrI=T6x#i8)`wXh&y9Wi+NZ*iwY!BpBXcOUaEkW;WPTV57b0 zx4HYZ13iVqD7U&;Mcg^cZ7wzuQw;MQu9dM zk+&1&eu5vxcSL!J5JGW7C^rjciiekSi(sMnAyb|tBvIUG%9Dj;+Bp>6l&1-46yGFP z27JtNRSZ1>_5?hbR1)}L2ey6D`=h(hV-@9G;A%XWlp6$t8qW;nM!~4Y6r?;z2vXy2 zQ64M=t2>8Ug7PpSOpPy|@^B$sjh_bP6NCwB3>C_wg=lr+(9xzmMu<`4=20Fi#HumX zDbElx)R>`^X9}5W3^K|m3zOA&Dk#qqvefv(@XWx9rP{+4#rMLOR3ah_{62m6{Zv7dv#g%aiUL@+mKf zC`iQ<1NAbov;dce+Yd8Ijfyk@g)JYFAj8B}t RrTlSrR=dM!qGT;0{|CE8{`&v` diff --git a/.cache/clangd/index/lv_draw_triangle.h.064C5033F31C031F.idx b/.cache/clangd/index/lv_draw_triangle.h.064C5033F31C031F.idx deleted file mode 100644 index 977cdea0ed1a6bde395a7f816c7c994a03a9398f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 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 diff --git a/.cache/clangd/index/lv_font.h.E68B64263F009FE5.idx b/.cache/clangd/index/lv_font.h.E68B64263F009FE5.idx deleted file mode 100644 index 060f70329cab1e14e84c33df878106024fb33769..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3672 zcmYjS2{=^i8~+Xm!yGeICQR9igTZLA6iJPJNp7e}p(g+7CLz0?;wH*KhF1Ebjx)fcjqXBW;!gpAPC?z@Z zTWoYnk4KYw>urxMLAfn;!X71)d2v=RdzxzlcH|X>u2vyxiR(d)P27l~4@Vch0Q#1J zwoT!zAOB3 zce#Vo-QQBYH8*l^edzdfHs6r*F?~Fd@2t1~eWWP1;OWm~DvtAJW5KPM1Cmbm=ZNS}#|NJ11b?k| zEf@=zm-G!M={1*aDkq#)uBlg#5ZNSZ*6W*l-TiBYM{&W@rRIg&RUru{6X&h+_s=9t zGi)*hmgTQ=mgT%0_wk)wqgIfw@5XqZQ(f;lB|dlXzA>-Ri=p3aVkoXIPg|j7(q3%9 z+EuwQDWK4)IeWP%{P%^*>%DxOzxX=$dv#BST(aq3kUnyjbJ&(I_ulv06^8?N2l^G9 z8ebaN7wk0c_TH~Ce7j`J;bhk}xBcX}6K@_~Fy%KT$Lnu=E$%43JE$~kymkYYd;fk` ziFazr3(JZ_;+)?`YKoJB)>mxmANzM=ctp5kPVoO8a3^`pxi>=EZa(n45>b4q8uNN4!z{X$$`5{RC@8XYj0hYVofMFx)ECPUx(~7gC1W?AA3UcN; z7>TK88h?=J-g(6WJPklPG95K30T|K}gpXE&UB{JrWu79K0~s9H4my;83;@7_g$&w~ z4L@yaI^p)QLXQQk zA%i(#u1*OVgO@P=p-%~SHyfx!25a0}gA(5{`1UVz!Vf>$$^y193OB+{of0yJIPa;j ztIPM-uz(h{V5Vv|ixM(@(%Yzu-1og3n7|5J@R9RjQsTQPll64${`0$G6bqO^3odLI zZA!=(k{>r(mbiPjFu`KTU@2#*K?#b1P37sQvF%PRQ9bij!IJ6J0x}y@%f<|+BlLZs{zb53RT}-C2~7S;-5v0+L)1!~&*JFW?A_C?V6I+mllINcCzV3vghZ zrmCj1C?V5dp6{O#v*rBHOt2JsX{TnVONnU@C@))Hy=nNTra{aCbD;%SwyP#3WDIwz zYQFL2UF~2?`!i{a+j1x|%|M-|q^v#EKvUC*4Q4@v6>i0$#CM24Jn{}6QE{AP0WS2C zPw?54klE;abL>Fqu9w>hV1Y6fq!wfh8B~>Uz4ljt;obaT| z7^1ou;(x*LUuZl6$g513^b8M-fOND*WCSU&5;&m1X-P_$8;O+&@EpE`zI&mQh22%hGOwmREnaP8lwEyb32sQ{0q5#X^ugoJXK5 zMUZB=8G#xGK}Lc|21>nP{E>-w*5O~F7xysy9;S)eL>DYnq7P7Lp)y+RcM@zU9W!mC}q*z)-z z#cFt&1~8=oOm-m%au5T97)J)of863fW&cT@AYE`57CHxlbj4j+XtKbwW5sErV?eP& zlhSd7m@XTve6V$#Z4O<`!tgBG#io^etd0E+orC!KjQKK85IJ0y&MXvZ8|TInjbw|r zkVcH*Vw&dG>3H$;QoS&!kYKn3lXVm{-yo56xFLVgP=m|TiH4SYc&fJ#M#Y9gnp6x= zrTNi;LcDaoAv`)Scu}Z{HnZMequy@IFMbATnlZeYrg<7aQ61t?KLHi37~V=NP`85o z(&>lzQGGyuYTnJP4?o}Rx;v0J4ry92yoIKj5ZMi-6|`J~if#<=rf>AS3x#fb-`4P; z;y8vMr+1)QfEK8EIb&gJ$)mqUPi{7V_*@LnrSbpbVBLii;U}P?7{iNc1&9{z43+MV wiQXEs4*tuL0i71{{Lc+b6^#rRE-*F$Ml<{9 diff --git a/.cache/clangd/index/lv_font_fmt_txt.h.1C4775F330FD3A11.idx b/.cache/clangd/index/lv_font_fmt_txt.h.1C4775F330FD3A11.idx deleted file mode 100644 index 81afa1c161a5cad054f44eb874370d139025c679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4758 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 diff --git a/.cache/clangd/index/lv_fs.h.B3364DFC746AB6BC.idx b/.cache/clangd/index/lv_fs.h.B3364DFC746AB6BC.idx deleted file mode 100644 index 97256da4e25b9e9bf10a2e61fa42f08f47d24e54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7576 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 z zY>>DV@a)9wIHUlg1OmYiCvY26$*<@v4)QU+2JrF)MDhhV(20?PbW|jqhI@O4k!9@3 zS8Q+)gI*lO9pp$sd*QY_4F3EWxeEuIk&|HzAI21+lR4@Vxfl_w)VbwngI@IJbAS&F zR*#`4O$sttM>1Fqx7w1#|Lv(}fixHlZ>hjiHYrFG=omWDQTyOxHGv%xwT z$ujOT8B)-Z%vGyCxw&#aV!lyDvgxWh>d7zWa$ zASbaWCzfg(^T`wt$rO->R)+FI ze$LKkG74_2lpDuE2JI;gW2a$C(8^d*bbADh z*$eDhxa+SUYuMljQ7c|tFGW(&dHb$*6>!gG)ejSO|R znjn9Y@Wq7*w;r^%vB4oCRyVGj0x4)OF~{TctafC*;Q$Y~0lExbX;Q#I;a!5eCEi4(9lB6Il0BN!D$&Uukz_pz7#)~oKT%l)hvN5HYg${a^<=zk%FEmC+&ndTU5W91-8M776~j8Ck1~Z z@|f?>S-2r%S)MiI!C{;l1_eaU&Rk~&QqU1!;O3>*eA@et4GIYZN0y@$DSjKwNCIz0 zRHj%Umk7gL!d!_I)55qA_cCLJUq~Ilr7Yntk>L@7cF{Oq`8iOxj8sZ0(CgdR*8rZS`;Jp_{;?hh@vq}zBY8V3jHP|sob zIkFb!>&Wp#?TnYuEc!h900(<$t8NVMCfkmgiX`9a`H%P8Ru0Raz(FQ$wOc@Zw*c`b zGgaoUUIts-OT)AEs-;ayI7mec7$+1b1uf=k;{2xjGPxr1xlnN>2YA7#br?F*q#&aX zBBSozYFF$$GzE|AQDW)bx$cUjpcC)Q{CYj7>cB@FWYM7%3y2pB5Z%^XRfG(suW#^h zYh}e}4)BBXXfw1WNI}lSZ$JOKk3`?e)xN?832+*FaeG-((9;YHES7y+TVKNlhlw~m zxE>0m_-!Em=O0FARS5z zn5RGAw=Vhhj*Ii${M{C#o(`WP+*bd7au0D|hSnVCxvz4M{r%+O;^B?f0q1$TczUB| zit`q@EbvBUj`Mu1eVh@3z$ZVSkl#cA}M*9mU|n>m4*(FYYi+fHDv^fLv1aJ2~P zL)?RS4--R}N3A1bJZMkw9kNGc2kj}MqwEpQL3;w_&~B)9iA+xFo)Cv>B~c~#FE{=N zk)0Tm4|J3o=jCH^`Isi%sCmVhd@-g);|N?txmrwf`Xb7o!?dO^np_K}IepRO+Az)E zi`I_Gw_{rL>jEyKTnDC!77=Y8jFv!2lr(}!s3r&!C1J4msFSYO zn0%C^b8}R7)I)6_=Q(RQ8=su~_f z(@Ist)981pdTDwYBm9DetFgf7cj0<#d7B^rfQ75)GaKcO^Za!D%n*OzJbxX3GelQ7 zFF-fI9KDQZ`L2zZ*`}X|;XFx(qzua6_>{`nBzAfdE{me5q7qW0J%E)%;WIUY&>7kj z+>GoIFGDo}%Seqd8M-0yn9|QXc0iu4gxsOo?(xp=8E$i7!Ei(LWq;$uPHpHevLKj`Jprf44Z>1kCLc#BYn-=) zv4n%z3+F9kEaRYJ#d&ekacVRW@KWScG*PkPaQERwmW9e8XZ*%skpEZ~+y-+|bIt{d z_i&!Is5J*cC^~B}G=h3jXsCg~R4B})f#i-Qgs?0}2~oM|19;mtwy13MtY zhcm4MGWF+Oa4r5J!e}NW^g(?+?trE0hEYv%3xZ9u|W1;QG;h_Q@7z>>;oY#$kZj434 zEw3K~{TPczeE8A^!x#&_#c|jfz&DJAS_KZF0Zd>l1P!Rj;f|6Q3u^07_^`;R>jX7` z=79s$6@nT-4&eZGYoG?ue!v-s+XAW?bWeb4;*vla19UlnYT{;q)aXtC)x?DWsnM#! zNh$uPM$q!W0Sfu40fhT-fTDbA0G((!K%zZTQ&jI)3K2YXLV-K= z14Ql6oooQNa7(rZbkfj;>$)t@IM>S7XV`EuL8WzXwK#z RHx4XhY}^nV2jb`v@P8khB^v+$ diff --git a/.cache/clangd/index/lv_gauge.h.FED1ACC14FE3BEF1.idx b/.cache/clangd/index/lv_gauge.h.FED1ACC14FE3BEF1.idx deleted file mode 100644 index 6c3cb60c3729d3f311f86f42027c71475d9f6249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5304 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 diff --git a/.cache/clangd/index/lv_hal.h.D756D0D279F68093.idx b/.cache/clangd/index/lv_hal.h.D756D0D279F68093.idx deleted file mode 100644 index 9a4a907ed0967454c4adf3d2c83630b2c68f7aa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 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 UiB68rbLY6Y0%wsB%pHIHKfgoLzW@LL diff --git a/.cache/clangd/index/lv_hal_indev.h.00942C1E5A927340.idx b/.cache/clangd/index/lv_hal_indev.h.00942C1E5A927340.idx deleted file mode 100644 index 16a75d3e0006feab43a40165cb76415217962796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7384 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 diff --git a/.cache/clangd/index/lv_hal_tick.h.3363CB68DA3E1292.idx b/.cache/clangd/index/lv_hal_tick.h.3363CB68DA3E1292.idx deleted file mode 100644 index f3c823725fd8d5b2c7e456125cc85c8ce6c00edd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 802 zcmWIYbaRtpW?*nm@vO*AElFfyU|9Y)bxoT=_o z={IduxvQmL|E!ZM`!!o8N!ImiTA``hr>opyf5VR!SLPN4`*#={d>m3!>6gPsSmfD&yc~818xkT z1%m|#+*&>haSM4E&)BoXe%6_9I!ru#;vC|#PzNypjbqRhh4Em!S!HvU1v8or^Q4zX zW*_FYJm=>qdp`)?{{3T5POdOCyPwf^5>z+-{IT7;*E#d9lt*n*YY23X^YHr~ zf3U+f$+j%}2*d4KSW?sh6VKm@PEQ=avN_jWHD44RPiW+eJet<g6oF#u25hzv6SmqsQSbkr17ue#><6?l4tn z?@0>_Ht%~Lp`TT687RGDdfztcp2;cx?4T7v8TZ6n>$-Yd-5)O1@LZ7VQnd2tifs`u zY_0cIuh!VC?rdi3D|6Rgy|chz%^zBuBN}%vZ8-WodT#Vlp;>8p`$?~(e+4YP6>^Kz z$aq%q^UJg}T~5k`J0|a22=@nGya7w`_Kg-ZW1hZJ+y2?!-tfwrqvMzFcp{oC-F-^8 ztw(5ZKkl@%no7%W{=QR`xSMZ9k9 z$WY02S#xDyNRth#`E%#<)7oLJK3k>kqYbi(qQf;8Z`{uE$#|{WkeupW9w1)D-(9Ac zFayC4DK8lP!YaetTs&@lEx?JLji5fm?6%Cbfv2_a&1#1zwR+(>_>L%^5W>|7`C+q*4CX zO;Ww(kZf0R_NUm~KjKG2RjsqQqQzI7+Oa*`Q zLK$FcT3n>=xBC72BT`s>p~Z`m>`kwh?oB#=AkRDA*LrJ_vGH#21I+`*qPx=eqGYFE z`*Xw(6C5-5$H!G@S1w`&_k4YReJC&W(UI1x#&be$TzBpoVEOH0i6$hqwHen(eEe8b z|DnI{@!RijTZ&Jlx3|Bki<>q%;Dy9&zfzoW;t8F&WKLn>caL~+R=>_TwHtnZ_0Elb zI_864RQ~j9;%b#}MZv&M^h_)1lUw33*DdZz1N}0W9J|mNbNbJ1QPJO`C8}<_$CY>) z<+vYjh*V(-{=SwP`OsyRJtI_bI9n-@y>mhB3adfap30Fk-Mu$&u;=!OR-V4mB3mu! z$`CExX<6m)DKC8_$SbGJ?zTsxt8PJk%9{_s@E^rAGZ)H{*35l-K#hTBJs_-B;24m2vgryA_XrNb8-^z}Ne%Ikzih^{8dh zNkMc+$CBB7_C~Kt4L$dzIn9V@?G)B`Wp1B2+uwHY-`AoGK8g4j6LxJIH}8Bpzw|+O zhEh?*^={>CPI%s*s|+oAyEb0^lJHcRDvo>H;9C22N%eT=sA(MgRsY#h_XM_l`*()yE$;5>pfmSKm0|p-+vcm3Qx2OeeW{&Ecj2BSwNNTM~CHg zS&P;lycb^nlM2}b{Z}d7@lCs+e6qy;=I4Qjj%Q|XboyMF%ClYPW%%gU>FJ})Sa$0W zNKQ?NCJ|98`+hTN+Fbq%0fG@@%75fM<~$vs$}pRtx!4JkP-Vc+wy87rAsfsx1|(mT zuSE&KlG7~uX?f^$oGUX9BY@983P9FEW-Zi3J}f4wQa-pZ4tDhKV?JerMaYLhQ^28w z!iQ;oRl?q3&!ucI71^x`Yh6kx?7~^Xxn4V7_o##UC_u56crqo>4b+t=O3{l9W^Z2o zE;a~79?Ue&bSa_mVCO%{aj-b^1_AtWlrpAF9wTp}78Rp-XXD{Oy^sq8n1>NnP`wHo zAqygW`!*9m1!88;U-x`(I9)1rjpo?wH539UnZ<^-67eY8Mk3+02$At)bFM@tWk>~#z$Kmf)B zG6UtenCdA}*~DKC8j<|It&RY5F`^8rm(ev*rfRY*cxz>{PAsCYenQ4%N{8&yN zPx)E)euJyUR%p)#A{4C^VWmq6MYM_hmD@#v^B34ag6yW+rW{Hr?0dK{$#Bo*du(8X z?B*Kg<0+xA=W$yW4%u!_AwUq0A%+tGL9-h7H0{K9++5-+P+q+&eNC0o_ zBOhwyLoT{!iVpJ!dvs6x#h2>LAs16kV2v`eW7u&hL1hG{%Okn#$Gmf^bh#@57GN(@ zrc~bZe0^;ypU%qmwN6(<{0ZQJ5u`dP&&J9KF0?~FMn?mA?Ds-zHi$%#T4-2kQ$i7G zQe1qpKzWQupz1&TLA%4`0oDE?4O)#k1EFcIpbeNP5MIs_v=(4~Kx#QTV6|YDMMLrsSdB>nspSlT)tDPlG!!S$dQ1pNO%nlaz$}0a)bwLDJ^IMI zeD1M#Jn;xkPdaVEV~z~;c+-YiUmQ0)+uJ>pNs#6Ya{@O%L0T{@2>c)fnFe`j&{{Em z(5UTBz5-7mMCde{qTn5b*%!c09xC)x% z$0kr24bDQ7u`<>|y;^95JC;CY)o+AcTvh^=&7cLE;5vr+)VH3$lotUBQpT5A<21q> ze|z4$=Zpq}AOkG}ZE*DoG80;6!hfAhASi+KW(7d*9kh&{aW&CvQA|zy!O0*sP0zFe zR}C3xPR0hBkWn|t*%-%zc^IkXB#hPR;oVJrd9Js|5u_QzjE%>LAO#Eo8;>l3Mwwp= zMYvL#pDw=)`tjoy)WwzzOLa_n1Zl;vQpXE{AcYK}I$oLtY0a=!$HPvLVwPAFk20PD z6q=m>acH=QP=*xa(|Szz2rcJ&jK*Dq&@{Kx7W|yZKodG`sNCIMx8SSGXBI*77(6zf zB7)>I_-xE>1SzqQ*#E1!En@6(U<4`UOGRVNEp?W9jGf9LD1&PF{Rq^IpbDztX2ea1 zqM}y_9ThGnN>9E#aC*4u5uRQbv<2@9gqJT0jK^^xJhd2TJ)UQzrnUiA-z5GQ8=rLx zIZ%br@)@!AY+MX51QA+&sJ;472jq*3zkOT`VYyrSU@u@_P dTn_WMIWF16ba9?=ghIs{{vcO9O3`~ diff --git a/.cache/clangd/index/lv_img_buf.h.63EFD84C63D90E4F.idx b/.cache/clangd/index/lv_img_buf.h.63EFD84C63D90E4F.idx deleted file mode 100644 index bd1adedb7d9c6df1742a7777768561a376807b34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11046 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 YFO)nlJey+{=v^kaJSvii;wFgy0ib%5%m4rY diff --git a/.cache/clangd/index/lv_img_cache.h.F3340A3FBBC92B10.idx b/.cache/clangd/index/lv_img_cache.h.F3340A3FBBC92B10.idx deleted file mode 100644 index 625638c517933126252577ed99b34f6cac0e2045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1278 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 diff --git a/.cache/clangd/index/lv_keyboard.h.9D2524FEB3DC98F1.idx b/.cache/clangd/index/lv_keyboard.h.9D2524FEB3DC98F1.idx deleted file mode 100644 index 7284f0512f8de6bfaf59d30e9bccdfd74ddd669e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3244 zcmYjR2|SeB8$O@;hLMjU4B}$Qz7CB&TBc33B2$tjTaB_Wt(W}Eh#Dz!(M_pIh(@dR z7D=IW^}DS%AzOdlLgn7db{|tIB8KvZ zQxt6fyihC6s2F=+`qxcswW?HQqueS_?@y)cg%_<>9m>2qV7AbhTlIcHOU7EMW54~9 zZ8h?G<;B}f?(6FnK^v58PYBs&k_;TnhV7T77Ei{b(ON%(wjDNs|@xYUgcGI z%yWL0<@oFObC}u72-=}_TXR$>o)794-1=+~%2#cDSM0x8-y(G>XSwcCtFF>pN(R2J zbC)bl>wU^!eh=ptMsfrGFK6aeHRQ~AH1A+=%(d!m%;GA$#g46K1WIMs_g%j4zG{de ze9OGODAg%HF>C8spb_0x1{FFJetSwPk$V^u6_B(IceG~j!fe^(`t7aN!Ut5krW z;&{N>heuXy8mTjGCo(F1Jfbh(&-6*#Eq#@H&&aqqH7K4>bc+K2{U4t=&c2TsD{FG+*f1h`ZS|Y4C61oIvOK}2-R)ZOlhFreCzD%7Zhfk? zcJLlCFwg8%3axzb_62UN8K~=-#QUS@{F?Hn){Ro~3I3()J_eXGyHa}h#dmw}8_4AD z(ZRKEW$d4rN1->>)NkM9rKhUz$BFUviTpXE-hgVXv5B!+t5v|qWN)5tc$P<`238tm z)h9V!J*V-kMKGNQ;XHUoG$lg*xub|bdz#?C|Q!}e@N9{^=?xd4$^3IK) zLzk_h7S8T_-y*+!{ogA$G+g{>Qnjx87v*ymx;|d-91~S^nr>9gVm$a*FcC8Lbx=4u zUNrG(ct`L2hCPv*gVp!mH6=YyFgI+ps2lF8%o((8$a_}aQ;_wm+N;5@%Gd6k4c;}V zE?*e%xUnX`J822ErE@Cj@P6$NeSKkrk3S}e%3iK)z8{#BoxQprO!jhILiL}-kCv8v zIMMSUT3+tY{9~UxhF5)fWxM)3eIjGW6PHe%^O>e8YAIzQ`0mVv(K;{YHaQvlR~11U z%D~j9fb-^A^~%nq8~eJwhT8DtZq9D)OX`cfWX9aud|$ z!=i#N=AO8Tk71YT9l2`PPli<%U6Z*U-WGn!W599v%0yg;SN-1SN2)W&HgI12@#f6K z=toiMu{QrGy?%OUK~d40;&CZ*jJovoX?3czT^k>B;GDbijn!n&Daun^ve zotm8{X=ZL@=Z%5>Z&PUwbf6DCxZp18r1`-^tcp6K*uNye>xvO#jd4f=3Zbk!#f=>u+onf&Ip(FKd! zq)!LBkYS3O>X2rdLB3sERdyRM_gkz2SOjmLO=l~SX6EL{6*8W3c+Hjsutix2F{%&~ z-@TdwmCPe1Bs8`VRs-rCOm@0wBpXn}V6&zhMFKN3u*L~iOErY0Y0|0^6d2YNhu8O% z#bX33ACt?+4A7mUzJlJ#ev)i(%CRs1H#&Ab z5-c{(CeY~#mOF5#%~To7UEAI8huJ)Lm+v!gZEwSwu3>pwc(cFH{O0)Sp<5tW!TP~w zeyB@XJPjUm=1p0N+KGlJSAvy_fmDn(Q#WvKnu^(cpYt(GK4v$g3M>I;BEVQP{S8ad zB@g4En<7|3Ok0Qfh1k45qFp2sBfU<(SC2AufqHBT+q{K*Iq%SZ#vA9T3fJ6ntVnsnP z(h>-Zg#^J!Kp-qu4+NuEgCR-1kl=^@ZXWhpJCQ~qSXMMEI#LFLWslp-p>icyt~6IV z>M^7*Fo0NGPyn=5de*dhubmG5eSx_iJ$ZLy5Je}oPMYTi$u5YmB7aUADfMy z1}PGZDwZP@6+JYBr!@#Ipo)R#l_-v61<4KEA=VniM_E8VsVx#59U8L5s)E?HIT_6b zxF`a)nhLI>f?y;vkS$gi1f$-9uvk_Q{Kz0Zf%b4O9XheaZ5im{e)m0cxmN4#DF`d! zN;3&|i99v8*$nAJSRGfNfuEncBzpG^KM7$WW+BAvQK_SUcp!;PN#e$Y@B+o3u`$81 iR^kt9v6&v0=mP+9iJVHYtiraxDw*;fqgYy5gZ}`4U@-~+ diff --git a/.cache/clangd/index/lv_label.h.B2A75712D81DB0A8.idx b/.cache/clangd/index/lv_label.h.B2A75712D81DB0A8.idx deleted file mode 100644 index 4ae28842229f042a0c769305a105866b3133c688..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6498 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 diff --git a/.cache/clangd/index/lv_led.h.AD71F765554FCB28.idx b/.cache/clangd/index/lv_led.h.AD71F765554FCB28.idx deleted file mode 100644 index f1574e301e0a069c07578e4ce70aeaa1b58f1a74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1468 zcmWIYbaUIn%D~{9;#rZKT9U}Zz`!5?#Kk2=nF>q{45xu|6?3+R1m@o|5cp=i|B+mU zf~acrQmvIJ@;a7agrY!GPJS>Uixpd{+; zlp7Yirm0;!{Z{aNqeS4+1ty2yR7>p2xf*n(A*?+@W$9A4=_>wD+#Z}-;hZ#GGMrU) zE914s&I4Ne42(_(a%Ru<<$G9>zVPeI7}*W2k1xty?6|7)fv-xnUc%wf*?fMsX2zJ< zc=L^i6!&;puQ_0~_N$vd=SSt0wezY{Z~ZwM)&7YTn*9T)7y3Ur@^hKK?z>xXK`-TdYBx2NPXHVCzgHhqp!53 zADaLCi?;f|wHL33KIlK)>LD~S#*ZidnbEfC3m>?7PW>6Se23ze{+%YAmdDn{ui1QP zyV^2Wmv5I>{94c@-ux$b>5Dab-*Q{cj83uyUYPXDKkBQ}s{FZk{cIGz?zt&omu2TI zypVfg?5ew`GT%;q<0%wYFL2wRIr~`q+O0k}(vj7XkAahgmxDz`lu?q=iLJP=XHUHtKZ77pQjJAT1WW)`02Pag09ANtcP;#X z^s=Y+y5@oo(~0HcUFp%^(ewRAN%%0~25~fTCx+6jK)5BZdU z?vR102;m5k1ghX+XHo{abVpiW%uY_Jl{^fxFct2s?)*R%yd2D6TdwZ*WS3UHIf;)! zh?_xDkw;MoOfYbOdWb61qo>U~=1>7azK`H4g>?;kknMX22Aw&Zf5wK_nIujJCf;0 diff --git a/.cache/clangd/index/lv_line.h.ACB6C70CD7650807.idx b/.cache/clangd/index/lv_line.h.ACB6C70CD7650807.idx deleted file mode 100644 index 439739784b7f8ed10ce43140c92d17d2e9e3e3a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1982 zcmYjR2~bm46nzN^B<6<@ku4t#Bp?`8(NIxw2^9qm76Rf@P>c&CAeJCY5l}233W8b} zXiz{6xPX;{3u>c~0g+BskVbIifMYzC#V!|niTAen zoX*!?%`ah$8Yh^Y%{Ry|Nqqcz5?JxK=xT$C4ewo}myQoyszD4BjXtFo!agLBb zH8MoJf3y16P|>p5D}r+GfQ56G+}_rhtK3?1j?veVE%+z+P2u&tv?*r`_cc3ul)tKW zGv38kE-2O7wgefOx70Y#EcRJ!hrhNvR&(;ZMB|hgX6|MS8r9pWPDF_ogDJnU3z#WU zYh9l-<~d!OXNL(qEcdb!%HliZ!#UR5$L~`WJsNv*ed>UXv8buMD`cI-B{n{}EW|oJ zbOR$Nw3Pm=k=Iu$f4sVAWmNK=NTud-?Z2wF8dc7Tb;r6os`3ZU$fnqxFYG_sQ4#y{ zQ-puL$D!R1esPs|B@Un3NMC(e6*WJiq&iLea)DwC^ZAe5?el87cnNMF6kxtNLjE*}dtp-Qi`Of4%cCJ$>i{>D#Aa6-ScrKKc9Ri=*LZH_Z+h$&PAo zWM-^fsF2#G`)jXeP$qo;c!TP4XM{FoeUjN+i~3w)SJOy}B)@XNdB+dZ23c9RJGpKt zIny`vC4J?cUavRPH3J2#Oy!a4J4>pyHUn4PY<AWr`HvAR+Qe4yD6y-fBxuLSY70C;~m?!hTIM;-Tiu|pY?_K1ER3g ztwYNPC8-P3pU?0fZ_6z%D_(RfR7*3N6z-8{dTWMww`R%FXW7nYEq=FkJAd<esznp*;&fZ9ck_YDKsL53sQkwp}O0q-niL?7RnvBI@I0|Q*t zg^Vh*A-bRvUBo=tYkSOfX(0w|5ktrj>KLpsB*$@3L;m6U{Fjptwqn2mF+^066=ayw zjh(F^BW-#)o&JfV#(+Iy1W|)@vodL9f^pt?bAx)7d7vq9fwS^4KAR|pSv9O{y-}Mg zeOQ1ECvl;;SP%s&KtXE@_zrEwB>vd^k_J;S0V+5!9W04rQ0Uoa{@SZ8=K=Y0MYL^mJqxiT=eX1gj6047QGhkuaQ1VYBooK;}UaopT6A zoe5Z1YbV9`gPO?`Xr&LLyC1H}PDBVxE{u1Jj59763?$EDUj+T4*(PZGQ$Z8!Hp83(?5f{gfNjbJ&f9gFcB|3jQWN! zktsc#9eKCq$v(eMxH|hW_T$iPgsbxu`68*j_nK#6AtOH-VK|S%V<68koKN91P$V&2 zKohW#aXUQ|sz`Hv3ZYZsv~U~!+W;a%SQlOdqu4@Nmste2y*-q%wWmY_VPl%HfsOoy yur9xdjl6&p5{X54;+nW<-ET#rR001102%LCQCzr1vmuRa!vTiY0N|h}0Qe727J|h9 diff --git a/.cache/clangd/index/lv_linemeter.h.8B84E059BE5A0EAA.idx b/.cache/clangd/index/lv_linemeter.h.8B84E059BE5A0EAA.idx deleted file mode 100644 index 02d2209b476bbf0334397dc90f1489c9e20014b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3228 zcmYjS3s_8R7yfolHO=g5(pA%arm0NRu5>|DL!FvLjVObtTn6c4x(Sh!PKW5?SGqWI z-2TFeLML)Lq3HO-LnlcW$B#G%Q9XVqCH`;k_BXYkXTE3lTJNm&u5YdN&ceBYfyFog z{%huLPEe$-WB>p-@RO3799yXlK!z>=n-BfEI3cdvh12o+3v0WBlVj|)GcJLq#})Si zZG`{6qdCeqj0~-NvT)x^zT#cu2mWV|O>LERS#^WGe>c32616u)8y^30(SN`s!ZM)be*crwq@_nAEZuJOn?DjaZcfrON@Ind z;{MbVTvuI?`tFR+vfRj#X=eF*PWFzC>^{lmr(er1T{};1b~$0hsl1_Mv3b3Lhk4t+ z*R3yz;-0cT&aPbiTl}T^%G#xFt(E)#x9DtfxRaT9dfeA-gL;)Wl;_sFd<-dyE4cI6 z=3=H{mwMPwx718rf|%^98x+E}kb?TE=C3}3ff>HNq&dq^Jt=B@KK%64n~1~w#;X^G3&AKQr~9# z9e)KP zizOT1uamH@?JfL$2`_SvVL_8P|=j0e{;TmX+(2O^mCblyFJiV*6F}h zOE__iZ9KnpL6^g&MQtmpvt6qnJFI&6#4A8P&+^R$?c>4M53=g=?rB!5UwAp~yw3oK z|2AOCdZU|qYFqMiyBF;gyl#D*rZLNEDq z89QFKdEeJjeBq3ZcgqbM$I}VX!h|#FaT~D&i}{gJqxF0Cj!nD5=}KW%!tmzb%#Aix9=0$gB79e_!$ zK78==Yo6Wv@>{qr2!wuX9cxqSQ2BKvT{W?@{Znw@IsOAc^)zy?bz#JA+ z+h=TU>!{NO-@zDsoNq)Osu)(&i4PIi%X9RAEu<)92+gPiMt~um$Ow|GMCFkMegkYE zh6sW~@Tg-P0ShHCzp80TLsen+IPgF`iZJaWOhDDjpm+o{$f`Q;rljG(7hx0{3i3A0 zIIN&)FiN!bg2Kq>PvLF2LZ-Glwno&UV!AqHFuc9tQydPwP=riorY($Ms;lNgGTktv z>e1}914THPju0i7MhSK2Tzx=gi62$(;$+V2#lb9u$-}hsFgq%a2E{ccCOmEjcD@P+ z-Uy>)DlI957L_S)wQ%fJbMR^$%ti>ghMWr#Rz_?pPpQNw^&2;Am<`PXDCio(GRgh*$mkKc(p#q{pgGl?6nR=``EgAh^;DH+4UfJw!8nV{>@+dNdJ2l$Yw z6T^u|9Td~?33zpQw@Y`h)_olKpcqjaQDhcNL!657*W>tHZrO?-b%7o1osEu-F?FbV zH?rwKdtZpLuP*S1emmUGh&m?xA2|f4tiVAR2%(>c^NgrN<^R@oW!b*6s&GBPgB(Q+ zku`Np;+U*hn_{Cev3Hm@+BcfAdUA&M%%)coZJgjScqyd^qU7)Q1DFUpXRs!0C3WRu40}vi< zKQxo8kIZQ0p_$xwWJY@qqtp9Md;CT`x4kUto&)dJnqiG2ayVhbu))!6;Djy17Dro- z6LLcCrP?DxE|E(o-l9CCd{t8iO943;6V-+jc^JsUn5s>NWIz$dMC_2#K$euk&>ZC@ zrdtNq{KDbjgcyjKs_i4hR$}`}ZysWwi8raals~Ee<}&_7$K~d7{v^h{DB%QSg@wWn z@xTeCol-PuHXPGkC(VXqrYo8a99AmK!KP2H)F}^hpIoVZ5k{a&$q}+B!R*io;c(R<^9U6Z~7^uMLKN$c}OJKK2)kQGG3f?27v$P#0gJxP> zX$N8n9kim-j-G!j}ruw z&_jbsRvuDEjZnkj9i&HtIZ zYvs+ftgSG%CR5WG#YWQt(Ui{8b|kV8O)4xxqltlNN>OP$S{aBYwG^R|E}WsI-a-fXYina^0$sWpp5G-~k_ z!V?PIryuLDYx?!$qn9Ahq&cq61}bE%yS4FegIL!|{_Y0emjW{MOu~zFeB`RbRBg0k z=UbImXfKp5HQcMa#W|~6Q)#}HW6*G%=kn4ic@Or;%X5lhp{cU;LX-I8D#l+u1o_`I zS6E&TofEb#>_J7(5l~^+T{Ew-qCL)dMdj`DbusIWLreOE!aTmO!d7Rf8=_s{_1^*| z0mo8wyKJAM7Zvd7&r#eBKL z59ioLEi#o}$u)idDbzYc4f8L=<^PVcFClpop<>{^v)T*8u&kkr8)ayxs8wMTz zt=Z*aUz-osj}F`&9Y|YU-PHTgt7_nWZWpb2Xy|cxX=7A+OrehSGacIEJHOZ->ox=g zsL~Cl2(EJ83yFSzJ?aa?b(F+oTqt_bOwVJJcw9+7|IQa=bu_uzfdq&=kp}3BO zjfqp@FKlj?+w5~T6m*7}WSXopD)Q*hl8GzYXC152#|`>ou)^!a9*=QtTW#WkURBdm zPMLo9b9QahR{insaz3bPcR!RJ^{#z5L((L9J5y!q3zfr!R7&Koh{I0OgRWa*!<($- zT=V90zF)03El;}J{wt@T=3F1)dH3AIZ8yEHCRzQk$@B@2I>-&Ixu&*%_0zy(@a*P+ zg2&~rLo9>2AqzRX+7qBeH?TGS>wB&9={@FA-Oe*U8Ks>)f9Iyg)x5o#J5oopr(~;Z zemLF}_QB!O?lr+0jp~yhnrgiBrT@AYU!9uL-D%fxD>eP{vn<(@Z#0TyVs(8d_h^h{ zZ;XAL=pa#A$gV1#6V2G(v-we4%U0vW-BVT;=68Coe(`cub!YIzoi`*W^(cMitUa-P zq$RU$>HG^r&*A)UCe^{URJY!cMpc&ZK=W?o1*+}IL``_nDLK}$#>Hq0@ zS2gcfPraHT>MurEl6V<-2LQ)0TGmhW4Ie?7pp%b~`uug!vhtnU^vS9jq|> zp%+s7*6LgI2S?B6YlAgkef;tu@cg&Dg#Er>Y^F{Oo9+HTUB<)KnPHvdrOsvK$XB-h z@3F&M=4hmTqL=;oGwI5TpP+1W$Y&zjp?QOMNd+Tpa?;w^J++UvyuGc(N^EY8t2$uu z%w49@Vc@{q2X0SiWlGBTPVek299RB4@Ye34*Rq?Q`<*%7G3ch>+?{EZ*`S~}(0#z= z@&T9Ob@@M}MnCusIyTf5eeXEm{B!rDl(gj05Sxc;7W4zNMyB>fKZl;uk^PHa9(Xw zn9hyJnUHfY=XuME;r5HnOP4bKzBr(E_0!Xn<=Om(gY|3mhA;Dj7u-7fz{^O`xL;Yg zCCB6F!z?DgZfmV^aLY28d+TeIz2#5J@OF275q)bW zhjE4_b$dvnStGpsR@g0vVe#p=&l2CY5UBbJ>ZXTnb*M zhl7OV=;f*m0ANa1_o38R0|bZ$fX9a%J~XE;K$<>9n~~%Nc~EL$@e8d*=ME7d6n!H_ zKVCm1`XLu#%(SEeJP~HRS^Y@;*1=i=tU~4z$SHva)CHleCn=MjjQzWEpV>0nWPu$* z+0*Sg1Wimp}ZtG0)j|dlZinU#B zNQ{VNL~;1IJcj_`7}Eq?6P;jH#qCDrpJ`W27cY#yY8| zV|GewMlKs9pp4BF%#_GwEaS7u!U=D9Np=JX!#;$NC8XlWl5zevuX0}Vz2pG_mWZB; zHbFo$p)M$ru{x8igph_+X0e}m6zW>mUGK86v9}-|Oj+Mkn zQbGvJi5xQ9`?p_Rtxe#|)+jW@ylSas?zkSl$fXgy6ql4a zI8g$z9(xdKV?xAmlm!Y;axwU+*gUfk2dq3)jUOH$0Am z@V{9XY_%UK`+OQJpQeTV{o-(sRIdMpPG2TRT1gX5smt>GMMJ%P5rr3zzJ0Du`p*^m60&%C209xQq zAkeuRmOyjyxtBrZGN?7y?&us1&cZ49UX{%rP?NHNiDBUHK?Y3->?4tE8z^(zNl1D5&vB z->cjUG7Qu%Ad>nf0)WE6>3lc?*S+YqItZYPSRR4w5vU-R`7|~kea5I?$RXa9n4aBn zsJwU5SUYLjIA44&s86WTgxV3|-80UswpI=8aME^iz(Ytxmg~m|!459!LrJEjJob;L z7^D`BFj$RuA+>03!D?LOC@49nP3Qd1KNW!U~GDSXFC1rd24fb;`U z1s64c_{Q4+|8E({;Kp>5#T19f7nF@?cEQ4QED7Icd-Ji&Vo>CfSqeC+RiM-#7G zIU%=|G{Z{TRP3+`XT6tEZibEL3ARb;fM+kaEGGAsBwt0 z)YtL^=_6M*p@@!LM{CUNxMM^IOU_5w5$0lK5RF7wjrkAxCr2Pke}C5fGpUc)bR+LO zA$=#*!Ayu53*o7Oh}!Y;<|~!?gUnB8$9VeqvD)o9+rx4x`1ub~%hTn>YHD^uZm5}w za)XZt8K^-C8y2^Ix3zu!7jiTNSwm0{a|z~b^kAadiGl-6703}aD^V8w-9QF%K%&(6 zGlblTMkDNIWZJ4&@E4;Mg|%0**TZv2eE4eePnv}I(1f`ntS{aGXgq$n?2#p=7iuMa aXZriio&{!(*?__>8xe1^OC6Ro|9g0i#sCu}fbWw*y9x?fSDCnr8XjM^o0IMM{x1QIRR_|ed)p*M>9e zYWr}e^<`BwaQLb30H%D(soto_-n z^oMc9uBnd-Ji7~6y^NH*qeDriZ9T6eAN4h)`^9J06<=EJq`10xXUBq+^8FLLx3Az9 zoD7tt?Rl=a)ph(tLheE4wbc=gBmSrI%9{@K(Yr^NB-{QcGbm}`f4|M6(>@3;{1fN+ zdo4p!`KGM+T&~%Z`OUp)D>)+1?sr|Y-*5GNmX&4ifw^oN_Uqo+_K*1XEP33b62W$c zt5t;Ei%ibJ2OUca%{SR~*1d^76qfb!i<2bqV|#voUi_V}MQ@|8(Jp`XI1~0Ul|L&n z)$jV%nBhM9Sp0_`n=HYfex21#)87%ALRw^>5f?iH~!tc#-YNk&Wfw!<507jNPpq%e$POrvC2LN_+mS zM_>E7OKd>q$=Tb4|8l5}YfS2{l?dbWtL6D)`n0kB>p+?uAF+=HfL2!#_rjkg>!$%v z009MAe!8XJfJ4430fZ}1XMG6fE zHi!{LkD6jkBN>UWI9+z~pX&{P7Yh*9Oluao03Fq(1)qcdRrTH5>V|MIcM1T+QB3P7 z#)4V6)9GZbIZf{-91UA$;9w5o@U{31$gp5)l8ijz}j8VN)`6YH{c_I$15hGM9)QDv0kd@ZZ5;i<;3o*rkEn;L~x*24@ zY(qV77dX}XQ5!$=le5Ih1Fk)5k(_X!;Qgd%v+ zy;L=DOti=vB+(nBvGCUhsga>Kr9z616MQ2+TYYqdfFymPiC9jojatBjlq0oKi-btwq}Zqh zL1bXu49r%2Fi?N&qZm&uOz4a0g_s30j9&ThJng zrh|f7gg-N#KA1U(=@F+fozobT8WKQ#V!BfXrEruC!jvni4Yxw3V@-2-BMcIEKhLXksuIWnt1 zX~jT(zzJ(jYX&O&;z~h~^=6YLuzYPDZA0n{fRqLkkoKi;Br*t-o~2-Pgb=2TN^Kx9 z!wu4%6pTuNNmah2P=I6#*`yOG9LWc=RUSlaWDUqBU59WUVT`Gx`!dnV}d8%dV eaYrxk_Sy`JU3v8U)Z6;>HzqHaP1#%M`Q~R;ep=il-3N=O z9B{my#V8;3u7X*r`iel7&Ac4RyOuHb7Pk-heP@mBexiMd??TDhvr}TUdJ`&|4Rx=1 zv^n>tt;o=R5VXiQsQaDb{y6)ipT1sv~ z>8X~YwO9RReC;N@HR-lFuQ=CW!DmB`GUq3Gj5nFKg;<5oOen5!X?km?m%5`Vn67*Oz$*d;5N?r;l_N-&VH0bS3y`gOQ@y3)}Su zlOAqydaQf$MBtX-80YNR6Uzmc>v3&deqv?kwMo5FOaCP9a&Jw$9`0X0dnXh7RJ-*L zUcG#)mK4}+TK+*zOMm8j^NlW7B6jVY?Jk&Rw158WVEfe?4bNvwzB#a6>6q(`6US$G zZwV_nm%*w$(^&qa#pXF0b5_N>>_6GHc=oqBoxby3m+&U9*~Ys`%=fD1;i6nmsWZW) zDa*onFYnXM(6r5*&3V>W_4xF#-w#i`d-wVFpJ|%PCF&D@DsY;tSLc|tXmRZ3_Z!!w z+@JHeQK{nFOc#;R?f)KCL~B319{uFph3iN6=pI&_#Idz#Qi?#G@!fEjvz%5UCas%1 zxC~9+g8602}fXX~rJp_O%*jO0B zW)!8S6}vJsFmSE;aMotlzh{g*Jcb^I0WjxD&5ExTy3e1&%ERNw;s?qeV8Fu@&JvEq zOJGSr;$^aABJqk?ir_q$u}oYL-@=Wvm9sU3dDtNHmlu(%T zAcqVO4|2%x@F0iG+iAt40|8DPYV_^H8ot9P@_(UaJ`8mLHyLq-xN z%)?V8Qltvwt#{jV-~UkkN}%f#ITGQ)bJ6nThU#5jCP2N?9MVV@WQt_MEr5jpFe1Py z6>8>ZMggIHa%S1Upw(p21ZEis_~KY6p?FRz9%!T#hZK@?5=0W<&iOF|XnMj|H=uK5 zIb`9Aes}U&=GuI&1q#b?$iapGyp{Bs;y(oxw}Bji@C5R|qio~O4U>(4Hc4_w!c_w^ uf=D>rCWfNaoJ5ezii?tql|c+1&FV{Q&)t;&%f!vazzq_C04^AVfdK$>H{7!T diff --git a/.cache/clangd/index/lv_math.h.3894988CEE35F69F.idx b/.cache/clangd/index/lv_math.h.3894988CEE35F69F.idx deleted file mode 100644 index e66085c55ae220765fe19ddbfec2c82dcc0c8ca4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2142 zcmYjR2~<;O7XA|gJRk%KYsd=_0z^UtoFFPNU=l?M!C0`NERJl6=s?Y|gd%W|6iJH~ zK@m}qs>LEGA}CfU+Kv&$B`l8Msd1|!(xO1)0tLbOgS;I7bMl|u?|t{X_ub`1gocEO z5diqfp?n%`;ns*YOxy;XJ%ZbFt zlueza@!d)@m7t0$PdO2PWyGU)$v|q}`Sjkq)|Jl+^Uu(Y82x0y9(mtDfVAvHb|tIq z;GH)OW}4Lg2W5ZTU%UJ?I*Z=yxplNAwf?-@t+i^JuyJEPt7K~|HDYO3UTf^!?fw01 zq*5gfA8-^>GxkYyZT7sXg%ntT`%wkh0@w0_Nu>3 zeK_Af(G(+BtrpQIGVx+0uzKgzX0fP$a8qOU&APs@Ro}lf()>^pcF!Y{-qlhr=6^V# zz8x6a=_$=BilgKeP(LW*ih?FCC{$6&fL?^~vBN_1BYvIYXt`n7U$RPLK9^z?#?vHk?moly=A<+tuz@?MJE)W@WdIX`g$aRSk3(^2 z-Lo22<-1%nK!*>P;g?y=Uyw1sw~(=POxoG~?qM(qP)q^pYwk;$zW}0JZFqzS6xIZh za*hbBKLP-iAuXSW+JP8r-z0yL<=G3SuxFTH{yw{N({OguycwwMCX zk>?2&h(?xw13C`qWEf(ko>A3+bRl~uCL{tPs#(F(ePplQ9;7_d8 zqA<)dJw2fgJUlmS0OhPjC*#yB+$vBkuN?q+3u5GC`EamI0Oz6>n#!WCHN9CA0iqBq7bZWm?EtB z{A4UhVXiQMZYHn*F*oa9CMU@&AZ&-&VKW8dg#W#D@z=`DFlU}EkEWj)l*i_AFl$p_ z&5|$f=k-EgTf|oHyE%^eLV4EWX9&9@u9jFNNjUdXVatz+I9LWpnJboNT33}xZ^ZQ& z$aX*+^dj=rNyD_}J<$-RBXm8Cg@!LTKeP+tMLiYr%KFD~knMyx*AoyPczx}@AnQt*aPvPUPW29>`1?^SAd6odH|eFAk|yxlGFs9Oh$TA21EBp ZKk)!K=f1t5 z##c(W-Py035~;9gTgj@FZrfE_)t-61XKH>w&&+wA|M{QiJm-1-KVboWegYN%-tht1 zsR`mZ8UR28{$+|qt25!^1B_+w8;lH1zbnw_Ybl_cy)L6kA6oL}7+94ZTy+j-3Ty{s zHhb1{t|xl$FbuHnDg89QzSgHww96@HRj93h%99U+gINc*FXU9-xK^CldRyeTb4CuQ z=z2p!(azF;Ey}8WY|)gxxcD(>YN*$Bm`v|0II?rVgt7FfDib?nQQgINY~!B#vzz}s zq>IazT(~=0U}vzqwqfK*b-nHI+S4Nw+smsQM)F=tE>uRb4@6umNNBI=KJ625TQg?o zyYoXQo;vs6dAcn9-WPFDjLf3rRB+DLE$;U%YPR;pmmmJ`p6#w@s?Qu#<2R1kwP^I7 zXk1cNdYqk>B`dW{uY8+pU$1rE_r~XxGk$I>pB%ziIp5XslFoW{{g8A_dQ^?}6T2hCn~i#vFy~e3M~(YUdNd19@(btSa2U6^Zl*;|r_Iu>NHZ3f-@|Uue zmec=}9+j#etf_vVm+ZcE*U>6v#}v=K&X!|G#cw4Jy6igx61t;IS9ys2e$%?V1F>b` z?p>dE<3wEGl9DDYYjDLcL(Hc8@z)H~at50)Z${sqNH*5CXxB?OO@qq!!LC{z1K!a` zE{X1BUB>8#-guu3{h{m5%#hfQ>-E2b64u-H!V=lw3ajb2@?As2ytqTBhO|;IJ#$#v z+5Wouq3DHMuxZ1jVOsL?wT+&<^vR_*w|>gw4PT+KVJ{I zT%fx)XTpQ`OlV(w<(W=UY;gWEd%cyjVSsW*HIA42G$+F^ zYWl=_)8Q@o)BXRhtdK383~PvwY-qz54z?%lHZ~iZ_J{J$I8GQNOZ%q`v*fv4mDkVu z2Vb~qB>0^FB*5I`&60oBSCZZdp?|cMb^W2aXV_<-!RgM$FG`dXPwH;-mb}u-Sk|*@ zOXP9$gB_g_q5PJcn>td?ZhLv1-yV5*p}upo{Vbcl8N$4O4>t!bvLCPs>Zxg58tr(t zSmVjXnwPVjh{h-zVNBh{-paUhS2~ia7&fPUKWOFkEUUkHQ@`U1{~=#L=t9^E$;RE1 z!M#C+SM};Lnv298-A4MY{snzw${kGsL$QZ81-*LKRPS`}`HhyWZAtB#-AB6bxoEAu zx~6bA_I$)iVMvdQJzu<}a-w0=_|4hXjeoWkFiw4P-Fi!V8F$C?q@UB-x?1sT(zJg~ z7UZ43LVGD35{g`Gb9!!_`n<+*Yji~tz9YW7XGA8Naj`~H9#|4AnkU)l*%Dy*v*`q9 zlA#n>lkL7F$|g4{E`sx7%WJd!=YP$3clP*>w=L!q`hUg}MIbXLb-5wb9__1Rk5V7=FEr>8S zW`qeKB1*XKM~hKOG!Cp0B3C6>4R6F=2ran5PZXMwc{-Jd-3N zDeLPV9>IYFVra#TS}`lgVKGC4JSD9x_xiYz`f?o1hM87iyb6q$B#q*v@5c{F#QoLvEU*B^t(aDNq*25(A7zT03hs^Lz!zl_Mi0|~ zCzxu}$vngr7DaWx|9=7pHVCl+qi?_rAjZ;&Nn#4}|5q2A?eYc(o(L1D5~vLkY+WTX z&kc*-{?hf`KsXC{z&yB2t}ba5c@*oMy5#A0W)BYR5Q7KZLlZI>8>^FN6rYP;U)y=^ zFavnQdN?XMvPc6FDBn!64 z3FdOJZMTE{D{V6taEJG`W?Gw)MseROM?)Umk){OWz!oux)x`2VOtn=P%Ne?Mtj`Y@ z9JXZwEEf%rBe8^yn+v<=;!7%nhn$g>7UXBAEV(_K=$}4JYtV~vGd|p7L zv)AS)ED#DAcsNgoGzx}Kdu{Wt4d=6Qz())+%t%Icx+cl-<@wXa_vRfl!NDAakzz(t zj04Z%7;2FiQ9@!SmkxmXvA=G(RegS>f)kcBOB@LXPH<^l95oqESkbI-)cQDKO|!<) zgW!Y>%?3vUiW6cWR#iL(k*l9;hQ=FlW9m~PMCHb@5DU_RY*s6&6Go~=hLjiJgp;My zJhVbW1^3ET3b~O!!M$>ELT;Q8s0j4YgU_9RS$!ZUS_fV+P$$q(FZDqrc?+oDWwD`f^a{M}G}UQ}%Z8qqskU%q{BuZ|2ohD%%piTm z)TVTm;zU)4Zc~I}2;GzhQUUZxFhB|)o@C*?+?3acg; zPRa|=ltMHqm6RWi4Rn+Gh}@JoLK3+$A`&z|5KU?!36+qDb>vaf42q%aLiJgFm5 z>0y9UOq7c#Atg@!J5#hG6aJ?IfUDe0ecaFw09?NQRA?6f&R@MmZd-_6d$sRMy30Ig HS2yqvg&}U` diff --git a/.cache/clangd/index/lv_msgbox.h.6E4AE122F16492A9.idx b/.cache/clangd/index/lv_msgbox.h.6E4AE122F16492A9.idx deleted file mode 100644 index 1435ff4eafe20dc4f4e134810da94e64608ee0ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3128 zcmYjT2UJtZ8lDRY^+G@pqJWeD(%VIZ2t-;W8bnYj`f%w=(?wK_un}pIB1P0l70bfz zS&^qAx|GM06_kgHpss~tSpiWFQY@>WyvZdK_nwo3j8GP*&V}%lPMYi`z!7QChY2WQ2BFoE;mE9dSB7gJFepy7nOLyD(c{^|{VPe#@j%WytZ-R5T}41-V1X{-#&r4})sxwHrcH&-zo)AI}unam9Bn3S2L z>wAsfkkhxDVK|c_&;_^Pn+&;(H9)Gk9F%cd4H|S_^|${QK(_9xAQIa6ZwRIbPp zx7%VW5(fWz%+=_LT3aJ<>d)x8dNtlB&{%Qxu<$&G8@j{ifag?^W}fTirinwsPF_uy zjP%OaTHmy;%(OON9%~BDT@h+F9wCIth@zY-~ z_-?%>wQuPZr}BAfu-RHi-`X0ZaO>I@pE{$&UIW?4g78>h3uZMjds@|nUE|vY ze{d5i`NN~CV`-ml3YIm0$Sz*iu!6@g$1b#-Fz>&5FjGj&XwDP(zH6J@>iDQ|gC*5D1`sHV$zx74zo&O=;GwY0-ciGB=ttlQd31)kTm^^R)jz0I%BzAPf zl0q%D>MDl7zoSvuV>J+Eb?Uqq!+i8rO zPNrdoU8qD?)^rV9oz3litUHl+Z^7SmktriKd_tIG|T<& zZf6Pjn;Qk!XSQ}5AA227x!5=9b7;z4tJT|QW1l}UvCE2;D$m-MdO*&4mxCcK!_q(| z0F&u83FS+<{>yEE<>cDNq6vqBf86JF>fKn*>r$D$8d48}71}nHf7ohsOkuWlTTgFY zMf>=mnsUj|nz(7j=y%K`HXIvXN<>HIft-|-y!Ke;9+&OeeD>=q-F4+Ei}}49?-##u z(z?ISyFd`e|Jbl$aO!Q7LCE#%Z<%FXk(rU{+e+tKioeYg&BXuYB zU+qk)df?eX%PdRl)Ou-;jH1?bUuAC5=ulH5Gt`H7J|}eZh%#=rSInYXN3B!XeYu;h!9BuFKZvdWvnoA_mk>TF1pqGp++qrt zYAXYV1|aN}>@~;%$cbzRJ{Aq^^izi#FW|swApnSKOuib^1M(D2WvZ7cMqqXYETj0C zp)eZI2Y_&)xM+|AM8Ka|iV%K1vCr0IQ-YL%A>74!k+nKGNOlSMt?`!Y==(@T-~bsM zq#RVqfn?AH05WW8yrSWIF0B9uZYYmrYVtCOpwpDt<`5AwVe(lK`?s$maEBZ$6_!3Z zEM!4)M9K4%K30}i;$Q{h;3{&pAY$2KX^-WQBVk^}vcB7 zN*9KXJh8*UO2ko&$roe#WF|6XKT-yYY97jZjp1Mw!qj5aT5KuAXe!GanZcd%^EjIg zby|IKV2?0C)F4fWSgMMV^$07KH(8~e6ykt|5E0Y}5khN`B8jN_%G|JH^M!Xfa6yPz zYOFRyXsaoZh>O5Rb4y&ACJpGpdYBaEVsd~8_ye+@->>DRpW-qLao~(NaxkSFOc!D_ zmE|l6JhEx#d^$u#8AlYe?Ci7--8F{nrgVmO$;ZPbfzgfLUe^-0;2na587Vv0E=Mc9li>w8~P=g>TX(i(Lb_bc!U!Li;z%z8#b|#Rmpl?Vb@)ksbDuyItFA=Yx(%^#F zK*S3_t+&ezH(9k7@~czS;UB_+)6kx}6 zh$cM<#dk-=hl$>kc1I+w5xqz>2Y{7mzVKM17a&DQg>6k!)q7Y$wX(Lgu>*FJC1Csg F_5a|h^krH!;$S|m}lsD4Td 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

DIFn$;XoleE%L5;+H<&nfB~Fg4mnxw zP6VO~AgWYMM5U={VQ(=28#1J1sWTA>29IET<}@(W5dKR(1_DqOm7R)9RIwxa_#%FO z0>iI500Ul#p`a-QkU^)CL;~39xgR$lEI7b8O$W0ufQwin4iSL8W$NJKM)e<$8s-`> z;19bJ0cK#*$iz+Bat#UHx1zH#;0+o1PWcidK*mga8<}~ccT&>=i`$bQ(t!ll z@W#AZM6lL)R9;_M@S5CA2U7T5%n`d1!TMd7mahNH7697}mCx;HQ40yfMPv~ZwT^^C zar~ixLI(7{?esY9GUuY^A^|KU~FAxmsm{ zr_4?X{I6GSfHoKv#_;^${Dr9Vq!#1wZzX4E!t1GkYFY^ZV7Qj9g|@Lg$VqTCW*Z?G z4HUv=?;sczg0R^z2-bf$U|b@N%7NR^JL`oA-mHr#z5L1NuOTcZi`hsZxva!8eZ)i~ zgeA@rG3o$a7w(R5*>o0UF<8>G$c+853&zpAT51d5LL9{ zRTv*uGSCceXfVi=Fs0d$C?%ROY=AJ}G>%pTVZwFOaJA{vs_e@_3vDqx#v?}lztwpv z=b*d5$$P1SQR4c<>k<8fch*M;kmZ Qvp0Nie?gtCyN4(E7gpZ@Qvd(} diff --git a/.cache/clangd/index/lv_symbol_def.h.D4660ACB4EDF14E1.idx b/.cache/clangd/index/lv_symbol_def.h.D4660ACB4EDF14E1.idx deleted file mode 100644 index 6b26cde06b9e113f3f5b24225010e7b3a806c0f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5356 zcmYk82UHeE7lvoaXhsl+rr$>sQJVB3DiT0JihvRX#aI9lkfsI@1DJr=02QT3Ni-2# zOo%2Lv3HH##QH1NC_)rPO*D36{<~#1v*&o{ocBK7o!yV!eMXN6328GyC@6VE{Gx6Wbb>Q`xz&A0sGcMF-H)HP1D%gbJJV9%EPmt$jAp0-{Q zGyB8GXVMqv^b+2@ZL9Vb);GF^>IQ9di=Fx~i)?M^^4v@B-JeDOKHX||>`u1T@Andh zU4Q=mO9M~0yRnn}Ja%L})sMdT>iCt@k+Tln_O*hhn%tzDbQ5KHs zeddlyqmhvxMT3FLz!{cO;RySg50=EoByFasKM+&!6s=TvqSWN+s7_4>MfyO@6YxAZ zle}=0gVzl-t7!ZTir{knmkM|(+yQyvsQxKO_O)0n4y4EtsOfmRMk*ZP+^Id-(mlV5 zqHaJ`3%DBQ$O}igUi+tMo9~4}iuwVSgL5=e;Rp}gXX(|(znD^F1H@!Jxu;Y(!t23; zMN`)hQ`gk19PgoaBQ7<40aDjzXIKr>_#N6@ooWdxw0HRF5WrDe~ za8#hnPb2ld{BTgZ@#O0^wQRE3!jeu)l zKk~v+YX>y7)YP@Z?>!Kx1e~Ci3P&_O8(QLWblp8FejEM2z+Y&j!Vy1yS7>@UeePt6 z9DtaGXKAFu5nE@OC(L_QJc=SOAU?;R_mm1p?3xhkc6V)i8Ab5X^{)_c1^nH~3rFq# zHH{8L*XGs@DcZq$MIUJaKzEZ5fAU&9&(W)4GAY_NF2N|L)?e-QMYJ&CpO?w;qJ2#dlPT?kjMvfEQm$HQe#D|AXaor z=`fdqhGI}kgXt4AM0a9?9A`hSc>Vp(_YjAXFm;nor8V8WNJR#*%rjIYB7H3kgebNS-6gY#vn3C<(YRuEJ_!n0~OhV zSTrpbGsA*d)GIZ<>29hs{HSwbojz`mwQIx%i2IVhD$NWJVo~oH9apVy^lFZwJ;c_;8eaYKF}|$h zHL6VUfmlN{>gfNB zzDZC$G~9{1dg9EUs|J@iH;sbWoS6R?2XFqkU&jgYaqLg}t1&Z2h(&E=C(RwEmvyrE zPw~#!5?hsK774Makc?*P2(jpmYTRIu^~~~F0K~({F!iUKeRB8Sn!`@VA$B58>Ro4c z39+b_YzR|Ih((`dG4n`>6?;@VOdX*idL!e@YdcIFzuq<-;$RXC4j~^*BOw+YlEus& zAy$l0=`dY{hUkinuW4KTsHM%W3&d8$N2Vu zuS_`M6m18w7x7a6tT(LQd;4tr`R5Qj6KD13VD<^IsGe-drs%-a;j_AJgV=+3sHbEm z3bCl6jAr@?vFM&GX3hz*Vwy^4SF!K34J2VLG)9q8>K1psYYGnR>KOyEmT1-KOiCeE zR8$$We{^|(ZA`m(UrdRqdf%CzLM*x|+YNJ4h(#e~@$pX^dUQS?RtWJBGDIE1{1jqQ zP8ogHYgmR;n2`;{1IPe%=jV;AqO=Dq#Ltc!aZ`s}2rd3S+Rri(Vn5=i#>{LX7PXem zzNqLd#Inn>#^nvKV?t7pMumGPA;(E4ovp2AiU!l(l91x7FHK^*{6NcgD=`=lwbF`+o0v&pFR|&NGV)4b3+KAUKK4 zO-s&R%m4uBqra@|%w_pZ01C$dkb9sxHZI-Vhf}sRf3vl1+AM?EohfG%kH&;IExAAA z!GzY-%J$UMCH$V$>R;Y$I8^mD?+16n%FHla;mWSR`@ak8UJWf+AvM2f!f=*yXXTa} zTradHkEQl!Ze^C)424F|*lVldw4Iwp$vnka~u z@pir5aFOG2qP4q@+h!hHadQ&qTp-&)CxTfH7?JK^Aur8fWw7T&dtJHB8Z28sN0P@^yJnG;g!JZClX(Yd8D6*zAVMB7w8+ z9_}`qd6MwTaWcz0)w6rdb{Kx#r5mo<6v}+&WbJ%9Zf##ibM?X1Uww9N)!ozCqQTu` z`D9+}O>tk|kYG*!$HV8>pM}2>OZ9!8>hf+GR`QpUd5w?i);=wGx9V=ecTJU%PT?-) z1T=cR>FmV6XQmaNiioZpx8=^%*o;)Zkz+vpa|6FtUO~5x-`sBQz@|(4>n6PZ;t_aD zhs-E*3K_Gt#(utqfwag-etNm#Z{2mmzoAL$AI|Jc`vbK4Qe1v|5%|2ds=WQ)*|nw) z*Ncx|(31Fv<*(9x&?uVcVHk1y6)#F$xNhFB_x7?MP5SncRQKGv)(fNS?tgg9z4&H0 zUNd%4Y~z^k{nJXG-QB=#w&_ch8lSP+am$AI>sY}P^6_Rt(&^jP`GN9(%NXUAwo_^< zS1*5c@DD!@u`m3O3XN-~`2`Djt@TguCKg;Im+yVG#Ia#rL5F|yTdBR4SG22N=lZIT zpQAUH#pq=Z-(1!ELhSaYx3tu3sG%X_uIP{!CpTgjgWoebdVFCNV|)C)1PgR>fN)=$KJQ~m0wdGzgxc6pQsC4 zTvY8Cf2Q!jV}s$uChfI4G2VN6Jxpvq|6}nyDMq@YpwPZ(+T-nANfMpreeazkv%hKk z#C^WP&+hnB7~%O~rT6|%=?;9`W&yY4M~Qo_ zRoSV|&34On7Qc8O+Vgwq&38QeSnibDJcpU>mbLr24I+)cBPPu&yqosTx<0+6!)4o% zx*6U#pZ>-<)>)mmFnATq%pkI6TFckweT|`M%?oZEeipQ2QM<47L!!={?@m}VckEu$ z7UH=0fMfZJFKr2zt~K6Us5xQIgP&eIb|*b_?Cg@*WxYBc+b)R{df)2xx_IY}-XWg@ zyBY_tOg((`*WQ73B3WG5&i0j!VckmWy0UTN`J}UP4@RXQo6ismH$Kg<86}o!>IEzyL=}AWd^nU*RS@PzJgg~h+QJ6jsE2SyxG81SdI-9FRNq(6mqQsS)g%HXC@NHHa7@ zQ_86ALUyoesOjOO+X%22uR+3;SfC82F-Fu*uajEaL=W|}5+Dv|NFh@SEm4k}wLX=z zwf|UQMf9Y(Y%mGU6T%4LP)2Q@qSy~{4#QiM2`~>=8H756&=%!5nlNT4QL!(n<+I&; z!!`oM;~Y6;%BdWeu>>_!ne~}smxf3e77!x@yX(7KP)4=lgK0I}SKt4#SQkX0P69Oo z^(jMj;z6C-kJHY+6h#jAvOox`;Gyrqp^U0RrI`l^cF;{=fgrS}0=9rd8CCp5|FhMu zfB39ofj|@wAOcJ%ql%yW#(uB#^4p(TU^1%jrtfA<8CCpJ()B&IFWHU+n2lH22bq1; zDkoZKOyQ%Qc(8rwdY!oIS2p0GRfIA^O(~21Ao;?8;;v6wktUNbYD?@5GJNT;W5hmRaa6T zc4MkTZY9rQx0mB`{Vk7%#SDU!!l_air@CgS3D5-faaRPXfItEDRoh2)LC^*DF#s@C zq9!Sdq$j}qh^AGNBc2x1B62G^5xX%LBDazVRqjvT>t2*R7FrRc55tGRH3`y};Y(od zAxN>ic(Mv>q}X398X2X!r1Ef!1exKI!Bf2-q{L0)t>PcF4enAnd1M=;&|eBgBjY0I zRs_9ONF$3NzX*nmjAhVG2EA1XB4v;-gCQehIrNf4e-+1&au_U!Q%A;CaB>w4P`$JW zRH7<4ePmn%K@HSa-57)|Pz$v&*a)&7^6DX9bz9Ie`ZdAekz;Iv$Q3m*RzP0`3>rCB z1q@ff$dPdu^zDK{_?QWF?BQK7a%9{Gz51ZPicQEq7~BV^j*JJP*C6y)@h&+CMT2lU z9^=;yow)L8!zYfPG=wJVDWm-}Ys##1CC7p_2+~U1N|jBJ0%L&#{x<5=IGr$Q(i?Oy z1|b-P+ITMf3Zl7`Paw|6j~{X?Uq0-fyW33iHtDE7hah7>j5h8FjVxm9)J7gLJ|iRX zSh0f|=*&}X)j(&SVXFo@ONqTY=*CK+gF478i=e$as4QjBUL8bsa_FoM8iy+AstyvX z8tAAF602J1s16d_dN@%XBu-7xLmd1q4D1=!3NC0|4s`bQDUFfj`4n9J!U+0=u!QKyIa^ zz;3*&2s@O7p#3?S0XwdKSN;{j!k^)9g!%BB7EQ&+_C<>{Mw7PMw$``^O0xDxlI_1A zJ{VMz)*N)8aOnE)v!njrq(zW!+HP$8<`Sg4wmTbZ1cKyhbJ>{n3DQH`gNS72IWB?;T7r*QT;+BXa7=>Yg)eTy&Qrh6=@UElgXemQS_6kl4MHk;MLo4PmII0H% zqXy;EvWCvb{i6CxL4)gKDTCaBNXK9|UIB6|#S3<0*@E0k&4S&>et3K-W|;pEdT00y zJ_}z(baNR37XF4HB>@r=pP!P-Ks_9dQHr+(RaUAUTp8~`ju4L>vI12mjJD(vk@HB4z`SUDpv8v-y#y-ecjVb!_4NK+n;0mo0wXs&ALN zeBQ^tr_VZk@vzTeQ(I}ouA^h5@tXMSJKfi$AFpz28Gi!-|IJ;`6qS&A>O*b}hN0eLb$Fn~Mvo4bNeia^EViI#@ zRjPOAt;Fd#R^*f3>#Y$dJ~BwH8CcQNzIWH|8uy+>_fH$S{_w?QRr|ynr>UrBJ-7JF z38$9pHU?=VUCGbT8YWWG?WEyrG{1WLy#0FhJeR|CI zDI;&b=C(Z#F8J{Ftl;i7D$M??;I_!{^alTDOeQmS4Y$O7{-LlHL1DAf{t?05larGc zD>tU@^7!SSW8Br>8-=>`l~yLT29$iq=>6|sXZA=Hk&?EX{aT}yIrE+#{98VqT_4Rh zTGkfw-q}}^SyTTS6t-T-y^#8Ry`UTP-~MD~f7$S(k_0b1qs~n8Sv#M)BLCYX8+KIG zE|By*Jn-~0%aoa9flRz(VnSPS_~7cvUo^`2A_GO!!|j!wwb6fC@oF4$2P3M7-W+}- zeg9hP>Any6U3jR%Md4_3V4^-R$N%!mBF!=P0H&{8hAVr zCSLp3A7pp4472+>`kCU~_Oxzir*p)WbSv%yQE_-)U-yvn5ibtU*5^|F^gl1UEP2B2 zii?xuWk#1WmPno?EI;pi=TXLcn_B_}Z+?C}8U8A;db?YFQTtfiJ471}GB4ih zm#+S8D7mkwv#y}CZg1z${5GeCu3Ib1Z`^q3ez*S{--?m08{{D&|7aGyo@S+Q z+qCWo)C64iD0a(EVG9S?0zkUpF6OiWOiDbKxL_n^p!-rk>T8p$Y!G1xNRh6{kT!rp zA>hYwU24rTy%7N$gu`_oj*kg#=GNN-{G<2|>o|Z9BP_-jo6$xsf@$ry438bAPgb0 zG_%Yg!rXvKBf@0Ar@xHh*|LE%%rw9>z?wFyOd|uf-;JPQrb3ScU>(Rwc zU&iUbTtfg~6hW#fHGvVh^XJhKmSyF;JxSNbIbb2IH4=|Bp$$a9FVNjw)i0iR$f4~h z2iQP_BkpKM8#ToGOzQ)p${v_SB+No+Ahe*3DvOQBl5+;L#Q7Xx2^qri@P)KdW60>6 zdewM!W(yk#AcHr@+n6>ghTO6C;j_;Uzb1eX)gfU?s9u_IFz>~%mof|ank9=^AF_cX zWbo7VGp3D-VP}XPKl5SA2@bG^IV{DOn$borhdu3Ud51QoyE`!da;(1a;eooSQ4zPkO5qN|tZPen_tpB@MyX3cI z0t6zKQjA%OSwf5vp+%pa7U>GPqNNCqMtjH-g-2P?MvdhgR!Ci@Z`noy_#u{NjM=O_ zftobSw@v!ji^q@qaey6Ual)NUX`{w+>ZRAx->z##u|P0H#OTFX(dHe3uDOF4&dU_G z-y=XMij$9N=40j%W2(oZ&(O6$<*wT#UbP&s2(mci&OF+v#p!-D?9uUw!jJ?ccMZjnU4BJxmB7LV3iq;;Aeaur=t;|FL_y z?)F~69S(4SF+%ZBE83{Vm^hbmnEk&l0|NLX4moBl#}-435rO+qxAwK4R5+d^>R{< zqwZq9fDe*&h|mhna_%ggBr*4Vv-H9j+J%WD=w=?n|JJ zBuEi1B2ZZb>4*Cf=#mm-mLSU;g&|0po6HBLNRXu%D8(46YXVCF)ffZSMvx7dcLNrn zx{PEq2AVMjx)4Y*VNH}?qShd#gl*1grQP8Qeq*ooqLm- zO07|{uzluPe6{vj$ZY4@myhxCF&ovrh3&L0#az_eXdg~hd>iAxGJoRyX1LQ`+57CtBBlnkU2D+YBiSIzP5AMT8KMD4T z5B9b+N*kbCjEhw_0?h_ULJbB)^3~L}krm5c?baYj0Ykt++Ch*pj2I5mR@6yYg>qUb zzm7%)B&FsAB1Jm|@yfZNTseBFx+$a6Lkx4v5@*Gr{YSF`(oll}(Vz{3G|IuCTtQO- z;;E5<@F-pArse>0E7BMX+sCag!Jwi1P%#qOixmaeYVp=2=r+U+ReeII4hB_D2_+92 z5s;ml4~QLU2y|0J0lATeKsPlBkb9`>u}SPp#smz?#kug`#&;idfnZR2Bq-e|RY*b& z1B6Bg7owHouUtX9hwHpke5IQp1MmP7q$&igYe_y9h6<&w1CV1zh!u$d3`$J~6f{lp rc_Q_kp0+-n{w3yyRse9Hd-R-p^iVx&kgs1P*6pY)lHqRdo*v-;@u;9N diff --git a/.cache/clangd/index/lv_task.h.E8EF188A862E2F31.idx b/.cache/clangd/index/lv_task.h.E8EF188A862E2F31.idx deleted file mode 100644 index 9073b07f0075b3a74cb5c5a45a1e1b3a5c2ee623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3588 zcmYk83p|wB8^_O^nK1J*Bexm%T&LXUWmJQ~gz#6iq-@wBs@ZI1Frj3_3R#ynHKi1x zcGHcv%eoZ1EX69VZmQiaO8?ZBF8D|PGp{*Q@8{$BoO#ag{hjAI?>XO(r#(O;Gz>^OJLaoD_|5~}efsxJAVVCbU z2r56^#e2TnCx7h$x-ZQ#zSDN{q4cQTsa0$qG0 zrP|GuI#GwtUbUn{ixNyn*D;oAT6XLpG|uSndjf{yoP2!;BvoNAa#m0dG<3%< zaP10i{2^U*K2+sqc0`az@3+0vR|YliX={pH3^Yv4Zi$!nmW+5CmP~qiH?GQC=~I*Q zWzcoMai=zW?_~o=7G0Pmnm-P`IREBd|G0JY#S2-pWY0Qo>`1v}S9;2OB*c2?TIihl zcP;;Ss7SMC(MXM60n4-hLHV+TgI!AtbepbJC0}(D**^Zsp5Z-BxBggj)IR3`MqO>* zkX)M=9(q(SYX4fsn!NY26f=`UDb{YgDu%w!>kWxLb}{PhK>s^tSZ3M+EN{ad*I0=~ zU|mu1rcS-lgSO?Nl0H3so?WwPp{zFCVx_bsq+icCd{%GRz76@~jUn$jk(#2mqucyC zR{Xs9w^CI{hteMh+~!d^b%C*8JWn1uk@z5T=d)wB{*!Ut0n1MIHI==6;F|HA!sK{v zz4*c_<|EzuS?%$DBAxep{hrX%AJpg7c?_qxcimEPd*8|D;_oCnM%mNn-w<^nR-A9o2P<#dEL{vTG|qGuA$&s zYQho^GgZeer#PH#K8Ye43@a(Q;M!xy%tkybq^zGIV5jV;42 zYYTkK1(=ccNGGc=a@&HXOYYL5oma)Fw!WA;M;*^e8``>k(lCBi?38yj&t@#*%jDA^ zC!)&M+aC{T#l>gY-f88R-qlWWbEf`yxw~MsAgz)Y&%R(&|J^d#!|GF~$AsKlJK9D3 zb#8Nwj3!?`x$T;ua;NCpRfBsrhgF&at21`!>+)2*+ur0zxKE?Jeb8{$=c_(x`N&aal=Kax2()$%t4zAErv-fxsYx{JN*&(%6-8m*!x629-~ zxVT2#eZXrX*pKVRm_pftuQHS(_UGc`EcN^Ue zEBo=s$pX_TgB3S~113>(iRtL#`a>6Tr91pe|8{vi$Soh6cQGL;GUURamKxfj&J&48 zXrlJ>AC@kl>OEBDte)Gjtx6e7Nm$;<)eg(}=cg@;dzxs4 zrc+WP!9tK){SmZaf4u^dw8YpCDgfvTBL^kcPQPga-+6#=*KpS+15lF#4?c!x`#Agj zxA)V5I{*Za$ul7XP@kE{2+Z1kiBa<{-d!Bn%)A1KU}~^FROsug{l^X}=0{kyof%mm zp#vfGSUhVnoeZQ06#%HP3sng*3vS>ufEiS9DO_DL%&cN>3l+{ccMAGj2DdYSIaD}N zoOHHHO-nWF?+iZE9BbYuz+~3+&cI!$X%0%5DX2 zj?+D5308FA3RmGUIEG{(S7DHq`knnL?aVLn?Xv*~D)q^2ONK6URm9a|Z| z3ij(janKZpJ9;W`|6AeTanTBvYQCtU`!mhHeNa<6KFAXuvx-AjiI%32@2 z!8&>lJlKZ=Z{(3l&D4df80+Gs!*iFUOO?CtxiWwytize&tV4#+>X;~c$$Bm*DaXMA zV$==g%+vr!9Rr?f*-6_PCi8zp!c9&K{~|@S^(Zay1}#@ zZO8`QM3|QI45`s4g6<^26moR1U|NAK#ROs&w2=b~xub&$^$I{KW?JvNh`wV_B|;t; zs2M=s&OGpHgK#$bg%Ac!<@`dm-S=Pa>DxBE5T;etRF%gDT^hI+2{MJtvsRYhV4b@^ zRGX-oDEmfmgK0V0(30p@LKBi?D4!I+K_nkblHw%(@&WN{yWjQQ8jQcGPL2*-XW%4H T&ODB20D!}%q4TF9_tWtI9Xf3i diff --git a/.cache/clangd/index/lv_test_assert.h.205ED9E07CD7BDEA.idx b/.cache/clangd/index/lv_test_assert.h.205ED9E07CD7BDEA.idx deleted file mode 100644 index 7a5a8329d0a22390b58d4d17eee12efcbf870361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1242 zcmWIYbaT7J!oc91;#rZKT9OE4G6(>1aY<3;G)4x75LO0;iaA?@ZSxNqh@3gI{=4bc)8g#TJc}CY{m)omo9BbEbs5G-ltye|Mzl*+g2m7 zi!&Ic81A<}5@@Y1{TBG&WM$5*&zrBWFtFolT2OlY&<@|Dhn_I`?>-W&D!}9OFp`Ua&)Z3&=1?iev=;>Y!f56xI&G5$xr!^nfJ-qHX zy?X5#*E;_dA|-yBsdv_BP5K%rn8p5nRgCAxlk3u-FRsezo#lA?abN}ojm>8@zONu@Rx0~b)Ay#Y}_0i(zyTR z=kr$c?skfW+_cU}xgBuRLHPEwv{f4H7Xtp&b~~vtE`Oc+{n&5T^wSp(7gy#cg#crR zSJHI)hdI}G@c;uD0z}kU)ub3WS-4pkrbSSO9&&|Ui3R9uZsxAXm!N(3! zA^Vzl$(vW(YIzvMVJehZl|W|jutHS0t`9xLA$`%Dhd~miLWNZYq=J_XqQbpD%a{LO zp(PK4G)#pmt13tZ7c)dfXizrmpT(~#c^JfCDl}L%Kq@#GAu8&ZZU6uJ@vF@|46-m4 z3ako(Koy)!5Ea`diO>9fS4Dt_K@O%uo>g85tb!lx+k?w^UoLa3apPf-fT>VsRYrE{ zg);}t?%q`ehKCGHg(9mW#0-cnMX71U^}w)YE~>V+Jp9a_jYmXDT1g2WOd?9^N_q&M zvb3@i+*%Q3EoDOlPeocq2_ASNDq1RrFdi)87&##k26YQ8wt&LmSb_?}Yy%2|qXsGr zGYlvUjt{6XEHZ$?;7EW9!(sp^3=VmyFf7=C!rVMgT)9?FE}QkdKrpR pa}q)9;-chYeIU&wvSfbF)p73=mh$$?e|A*JL2#djCwg#VXEy zbA5#mIXNlo_$}GizinC2r(0Kke1CN8z}$15=UN|gp0n1TwQYCo?dBcj&gM2Qcg3qE zS7;r6ViVdS5uA|8QLR1Ggo{rx+l?V{?=nDvael> zel0qGEP2rmyIQ&b2CFuxMemHbq4nf}$sYz=Cx={y;>z44C7{dR&*Ch4;`x-Bhk+Hy z0|6FkR%t;7P8LQ+CN^e97RI8~v|>G=c$nmggPS9=R2jKg*f`k4z-oa6%m7ACh(@S* dQEE;ih*?~eT+9umnOG{_Z?X1Wc+$+k000-9W~%@I diff --git a/.cache/clangd/index/lv_test_obj.h.95A07FEB29B44393.idx b/.cache/clangd/index/lv_test_obj.h.95A07FEB29B44393.idx deleted file mode 100644 index de8f31b0919ec4bcdf728663e58acae8f5deca99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmWIYbaT^TWMFVk@vO*AElFfyU|5Uao)`q(n5XwO{>9Y$lji?O+$ZtF*yCQ-4~AVP_7jUMbCZ;SZYw#HV_zGRD#XLU z3gm$Ri!`gW00SorBO?~j_79$r68wZ;x gRFt78H760oE-p$g<_6MCEXU_4N2VR^*ucO50O%iPdjJ3c diff --git a/.cache/clangd/index/lv_test_style.h.3A696EE238CD408B.idx b/.cache/clangd/index/lv_test_style.h.3A696EE238CD408B.idx deleted file mode 100644 index 07af0a758ecd893af80a89b73a083818db073e8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmWIYbaT^VWMFVk@vO*AElFfyU|Y%YPPbv8wal zxn-P*ij5rI!Yki8W^1Wl_vZZ{CnMwYW7+pf-w*y{INqC@8XB*Eb=}UZv3KvzUUYVw z(S^#UgO#TQ4ZRXfg|>wmO6FMDczPds^i?7G#2l}%&81fJw1RAQW*(7Xt6Xo|RhpA_ zbkhR=#qJAt*wwz;f8q58HT%v@6;{zdiaicW{$MzI(Xp1HxH30M3Fx|_y%x2s+kH3l zFt7r7AiyHcDlNpo$->CU#Kz3X!dR4=R;&jUPnk6R-2StR?=W()uyL@7gVh2Fm;sEO h5RFjrqSTy35VN=_xtJSBGqI??@LTA!wQdaq0{~JrXpjH^ diff --git a/.cache/clangd/index/lv_textarea.h.E5B09E5B7E5E5E15.idx b/.cache/clangd/index/lv_textarea.h.E5B09E5B7E5E5E15.idx deleted file mode 100644 index 7be42e90239e78c478ce1ffd559b65477a436ca7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8784 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 diff --git a/.cache/clangd/index/lv_theme.h.CAAADBE7EB326785.idx b/.cache/clangd/index/lv_theme.h.CAAADBE7EB326785.idx deleted file mode 100644 index ada2fea1bf8d6b19aa3226e2835b40348fe3ab3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6106 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 bX88wZ ze%(b8+1ve22~V7LDMLifp}O?$6Q+4G(l?jIhQHnY{!u`N)Sm5;o1WbH|GmHVx%VQu zlT!+sygy2J+-A^R@WlFMRmz^HZQ&}{gQT~aE_(FrsBnJvdV$zq3g@`&X6QVL63yTC zI5=6Sux#$qC)wW5xHZ0czur;kwD#oY0_jf%e-DP0zpOo#cPYBe+E*>dM9Nm?ZIor2 zww~(Etc5ZUT_Dm^maxb=KRINwSUgf1cL`_e-il>XD5VcdEI{!y|1==3bugM|tjq z8!19t-c9Cs8E4bacK4$4*8_cL(_U^WXX@a~t)0K-lIt{|+4uH&irsg*WitEDTBk=j z=fb*Eww(#PStIuJ;{y9QwPc%(`D)J$rnoMhAQ0@e_Hx_$Mm_U84vzb!{|XnSXGYmN z1v(TO8rJL<+_`rKlR1~YTUP1Ic@vl2Sh(!Kx^n#xyS1uY)t3L87IL!2SzFJ2_Wzwz z&!3PBTeHeuSBN2C{XViuZ{1CTk`{=cJzx&EFOvRPCNvnXd&wU_gy1t&W3l9S? zkOuwe44f>?OpJUSjNFVy?;Vs_nO}V1XJ7|PO0r05fC-=qpkf|Qpo+Q=+4r|j z&b`Uczy?$y!6KmmCXiI@KD(fEqlsQQKLaq4af`Ev%Yz9d6`wWFv+XaDj^<|I0jiK< zl9B=wU==`%fVLE+rWKn4(<#@Q4`*#={d>m9!>u2sp9J#&jArD7cmV7d1_qex8Mz>? zh6+1fou#GhE_Deg%*Mec4Hadm`dqkK`s>vQ79MT`EdyhinLwV0K_C(@-Jk%$Gt@GK ztAqsw&|FYBz|3uJP_w(68ayB9WUpF`Cre-#Q*?~kZLLb diff --git a/.cache/clangd/index/lv_theme_mono.h.5990A0AAB47183BE.idx b/.cache/clangd/index/lv_theme_mono.h.5990A0AAB47183BE.idx deleted file mode 100644 index 68f04f48d49fcb77e1e3149e2660c903c7f21c8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 772 zcmWIYbaVT|#K7R3;#rZKT9U}Zz`!5?#Kk2=nHv}x7}9|P6?3*uarD1qAkbQTFW#`- zmLV!h^p?`oEgrEMOV>tCT@{`@$@9^vjp2_YHC+F`pIa(6ZNrl7a!Qt;_f7w36Ma(c z!^!Av$8O%|xT92Zu>I_!!!=Bwrz&1{l#Ef>t8`m(m;aT=R+<8@LVVVVFY8GCaCLF+ z_iNJGmEY!WHTG@MzrW#@p0ae(Yv~=E?;QI2sr}!-!jF{;?RE6N9R2hs=y_$`-p%ai zt;&vBMzFq?T#^)co@B>_c~7*(J%%J3n92N8az-)8%i33!>I6z5cTEgy!Rr znrIFo$s@P(<@?GK)gImDxcGePgzw4nH`S&u*etk0oo{pV#+PXZb~kw1jL$xhf85jg zS7q_Fw*tvkLj0RISTTrX0WbTUwPm-HH~ zHGTRg*F;4hd#oz;spxemkLi8RwNJDHRIhixpSnADPFKh(k@oeayDabR*z>wTxuxayZ%QJAY zFf%c7urRVQ7Nw>Y-vmiORWfoyRDgtlfcbBjpn{e5d`2!dHV!s%h#&(4*P0J!ZD##@ z#>m5_9i|-z(`;i_*Dt!#j2$Q}$Ra2TQ(g7BaI^H+s}U?bY&vQ>`Y_c%o{Nqz5-(XN z2f@=-(}k-%e%L@Ot1n59322>ywiZH>ww1OEjCWiAq3(*v-VY!*F=%tagc*uba}q%= eDK1Jb26=#q?ToEojLI+Jy^O33tS~n+FaQ9KPc32q diff --git a/.cache/clangd/index/lv_theme_template.h.29B03139719D4666.idx b/.cache/clangd/index/lv_theme_template.h.29B03139719D4666.idx deleted file mode 100644 index 1d9b2369bdb9534f69898d66b8abac8bcf03c9e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 774 zcmWIYbaVU1#K7R3;#rZKT9U}Zz`!5?#Kk2=nHw1y7_xx^6?3*u^7p@EAaJz!p1)zc z?SZUF?icc!%UxeFP2H9ix+<>OQ>|0`c;B(j0bRfD&Mcj_ERoZkZ`z#7{o>X0)Mp+@ zPrs3o{ZFBwHy~l9`84$nIi@e!it=q!b!WO=u2q@$Es!z(*rGLT^Jg+WyC>?u?cZwS zX`8;yU3xXNVg3D$H*%S?lOAjBFpfF=^;i10$3k)+*;Kl|rc}-evtRxN&DgVz=|1tW_Uaf3b?x8`~NSd}^DM@xQS} zRcKeu>|V}ThetxCOeYV1d1$e9d!)D_|NZChWtQ=)|NgZ9jdH=PyeDfe3r|cww(*Ca zsER?y_T6@8ei$fG^A>muqbgr0x+HdfDLD*SdF;+2m z@g=u!J$abXJ8O>5UaoyltQSu0VG=cpt6BdhH#KxY%u$P&nMY3+-qL%u-A1cSIOM*# z+1oO$r&so|ZBF5z@LSSPj`6(8oYxG+mAOeuz!;pjNU&thjDItD7&w4D5Ma~h)mCQU zWMO7vWM^SyV=PKdE4~R7=UVgOtj(-{&lq{ww4=0>U>cQmetWFrUwW94i;azgO&V+j zkf{1xxLNw^)d&_IHXSV;W0-0n&qF5=iI=WZfZ*wB>B3dQL>W0D4uTqd{IG#mR$r1H z6VMeZ+IlcmK%Skp2aI=H|Do=R$lebir!r`B!G!OccgCB^oIL^*7Gx2WggKR=C^aV$ e#3?RHE*1wdSV06BFtJ(fvxtiIohZb}$^Zb9n?DEu diff --git a/.cache/clangd/index/lv_tileview.h.2978CBE775EF11EC.idx b/.cache/clangd/index/lv_tileview.h.2978CBE775EF11EC.idx deleted file mode 100644 index 0fa1d5ed21aa7eb0046cfafc16cfca413fdc3183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3388 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 X1ZJwZOzJk$1a?4KFaUPw7XbVNgz|B# diff --git a/.cache/clangd/index/lv_txt.h.A6A06B9483A16331.idx b/.cache/clangd/index/lv_txt.h.A6A06B9483A16331.idx deleted file mode 100644 index 08706423d0c82bddfbf639218bbea471426cdb99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4262 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 diff --git a/.cache/clangd/index/lv_txt_ap.h.F77527F3A8F9C41D.idx b/.cache/clangd/index/lv_txt_ap.h.F77527F3A8F9C41D.idx deleted file mode 100644 index caadd3abf5d8ea62e819dbb3055fce11a3a352b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmWIYbaQiIWMFVk@vO*AElFfyU|9`$R(}__|Nl2D!C#%Bpis#}0 zU(r12v?#%*?c%!+cj}d8`h0J1IdJgDO`(i!)7p-O?sh5`k>PxIdrj-?BkVKR6wIsA z3XP6unVh`%>(l_I>7KpLaodG&ZoJVlDgMFqjWNQ(PU)=I=k7Q4T_gW2{om{rheKlW znObH=GZa_mCIKDIP?VZhtOul@8m#EQwe{>%MjjSn7GZgi6bQV3!XGi^T(vnP7YiE) vn=nKWq$?*8#4avMF4hOqOe`ie~I^X>RP{ajdS9(1?n z7Pms<-18z2cZ4iX59v{VFj+~z&F)Ov+21AsA8zuja0%{8%3SY#R{j+`!*OYzt?t@! z57gEEUF=inRjuJa_~5O~gug}is~ewaCg&Xby6d3PEt7p$jJ}pmxvduY>Xzko$-BG} z+qN-nKXtXL_)?`?c-fWRI?mcBtWydVe{bq-pOE=k_wLcBuWCx)t!S}vD`}tlH>xA- zTXadjvDq&1b)Tm^diRU>SjWdV^Zs54oUqybOU#K0L6hG-SKFf8*PK2#=3eevQ$Dp@ z^HMskcs0^eCj~~$J^DW0EdH47Hs9jP+@ua*_}V{E;#>EzB9)tgn}LDTQpi#cOfYZ) zBLEoWjGT;K$tLdGKJ7H(X8=YIry+|WFPH$UU}0wistDYq$m!mc@|K%{3#h_az*quI zfK>pk0IF!b=9HbfzuJ(WfeENWpGBV!On_Ceg3TyOO)I{O9%ECOkXW32MV)sunED0VXgoQgPZ^pZvS!QWk}%n7DgUUV-90} zn3;={!*B2O+SAU&!zs%rD+yB#}tLDtVJICq>m+L3n{qB~M zZ*67Iab=%yP7mdLJpacBo5sD%zgu5is?zgtapdYA`>OfX28JIVnmWAN=>N+?+G%m& z#WkBRmaXQ@`G0!eW|g8FCAqU1_fPAacw1}9AIHM&o(blS;YrcI4`edc`?oLLHsixX z2PN-g`D?!9)P4MUSw?SvTuf|C?S7lsCHc#izU(xWwc?BVNm3Qm}&6R>NMTa&_v{^r*Xig~Z(+zI^X6=`u?F+QtIR|LE+fB{8 z%67=$Q;g3>Q? zET`zaYI`DH$NtE&kwIhbWPV#;u_?`yxJ*>5S+7m44SmmF%oI0$y_l=vG>M|>dv91@ zZ!w(m^tNtCzKw;*a;0gx%a|Tny>CAjCavGzV(@Uz29Ev$oyb+w=P0Un?BkBQ(bg}r zQCT|Mt%c)#$@K7RKlW@;op)r7h5DzplSJO9ZoW2S>Fk}8c0ZP4SIQ7fnYp2=;9ssC zKbu7MjWyM-^Okv@Td_8L)~D3}-=YQg3GCc%d4KAX8NL38{HK4pZnSdBv6%vkw()kE z&Jw*}ZFqItgeZaK3k>FFwJa<3d-3DnM2#&btBWc!w!Yc^=tD-8fvvzPkzKlh6ZE~; zEc?2@HDT#Cg+phjYKwGV*d{Xl+`XiSo^v*RJ+thNeQ{Cj>ZWhcbtWZ7vfey(pH*mI z*t(SZKg}2JcCFmmWL~*g!*21E%a8s$UiJL%=v&7;vsu@kp|~q_%0vnxw8aI&y4v2t@V@-r@%|GfFQ+V)pG4D3J^vFx!D{ATQC5fs9!x7EC&V>C!$ANh4HO1D0V2w<_I&1#I|b#37`gb_IM{@sq6`d0sX2)t hPH|Cku`-Zm;!j<&@5_CjZ+T3-JPf>WbqqWRCIBH7tXcp7 diff --git a/.cache/clangd/index/lv_win.h.6244E1747950FDE3.idx b/.cache/clangd/index/lv_win.h.6244E1747950FDE3.idx deleted file mode 100644 index 46bcf499d22cb08a5244afdfb94e15bccdc2f126..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5266 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 TtXS@itq=*Z<&&>oldt~+`h*G> diff --git a/.cache/clangd/index/lvgl.h.56FF87AD912762CF.idx b/.cache/clangd/index/lvgl.h.56FF87AD912762CF.idx deleted file mode 100644 index 2d416e169f5064485b1d11d6f0c1efe2ed876dde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1204 zcmWIYbaPw7!oc91;#rZKT9OE4G6(>1aY<2T3nK$VfG7h)#hks@&-UF>;9>tzyHNN0 zz14Bw0#@=1SUwPV|3UTf+%tP>XWq=6YRB;3+kxwmdPm`z(`udjt)K4-U3%i(cfV5y z|6cla?%uB76T|r$55M+bx~=>D`h1_LB`()rryZAgn7G2{PP*wdP>U{O9EVE|5RXCT|@#61AF*ZNvJ}-*a{kHw6 z=jmy=8*ir+F8^}%OzEaC=cinJe>8bTh%(!$6l=FEt)pf=saN!iRc~7s|Gz%FTUJQv zcChkXnMU>Or6+fO$cc1}QhpPfXK*q2kx;|!mn&mdKHg#Y`boZKUie~_6p}2^|ZBjbF7`Ye& zI0B?VQXpV&W^Zc4RXqbJT*6Tz0TEWC+1z7#Iu?Ohp8f8Nn1mFjWvtRs@qD!Bj>tWe`kF1XBUQgogtI11Cb13&E5_ zFyX<$zyQhzP#_OuFfa%rn9>NQ4uS~}3kC)bgeW(H2@gXC23~}yDuStnV9FwxYzU?r zf~kvO@*tSPa3&LD-FwRh-EF^481f46@o=-Tu(C4?a&qyD$jd1zYe=a|=t)WoYbl8; z$Y>gf8|fRWsmrS93h9Vxb1*R|!Hr=6mH{vz24gTVh$EO92qrs%sf}Q&BbcDl1q$?F V3NjVRrXv`BY@fWSBL?DM?m zJZJBH-tYVTW4Y#9bIyCrYmRY^Ys?=@`2`$2%7goV@EQ%uzirYoIyf>b zgI?I6{qT3M_j0&(?cg;B^@9h`{-u|ZgXt?PTW2Q&BimOFCI)P7Y%Gjo2I9_4=0?`u zI(oJ*>#)3;NAB$2eets?h95edV=kf8mQv=$wMKGI_m8VVsjaDQ_ekToIU`wQK0ZGF z_9$?*YU9w3hZv*5r$qju&ev<&yPnUt#dDsd4tleEbhCVW+I?O>_sh|@qGfL0tI>P@ zro!EFcxzsWe|-4vD#72ye*P@Cf6t=sRp+++40|o9Obg3$K*;e9YF>P5%F6OmlMR>IuZbGHlByM)QE3UhOkv<6*QU$f>j^U-hD?A`l|(T2zU>-E<+2QNl1 z<~}TRF55NF35Ucnr_^=dlpU{ZtU*i9Gh8(dNQIyGr-XjBZQF}Tv0C)<^ zKm5{mrOw!NaBHG%?j1|1vt4|~u2gEvM6JqftKV{cINqeWaQ5gxIQLOYbMvz^7x4}K zJYiBOX}U0h=(cF^&4Y8{0kXDh!~$lnZ2^W!`77?)@is<=ma8L&%IE2;2azVt>!&jr zrY#EcItg+YLB=J$)lmb{ubetnFvxR~O?P0rAHTJyQ+z8DVZwg6&fxidkRO#NL>X-= zRi(rwinrz+?AsL{(t^D~dYidaLfU3^%cLjOu&jquenE()DVATBAFQu$%wl7ClI5iYSNvhQUqWK|Qb>e-*##S;U!({3p}XozE}=u*Ba!@6x>0*fwB zQlp7bCGv6vRl*9DhoF#`OX72{%pkH9oT3z6gvw|gF9O7|8iAE2DtQGvNc8PQs-Y+v zO70JtQMmhOIVAVbh`Y%UK{tOS@F-*@=)S}H<^v;TGR|%b%y+PbyyX7)@;%8by?*%E zGJ~U79hoAQ5mmp(WLtKLc!U!gurON;$XTIZxT&d}P;@(2_i1h6%Rh|Z9SSnX5Fkq~ z38mWLL6#19PlK1kJkfkXB_XP{Z8D+FSbmzPk7^XoLH#`Y+2_=#?`bE2=Fcqo>*Fcf zL+NO*wdG^%)S})=e;{BL3X8@M(O>WQj`%F<5o!&MXRmZjBNa|sDDO2+-p4r}*W!;D za}Bp>(OWzTSc(CZ_PGeU`)u)ADI5{gfw?rpST)H!Nixv3amAr@0@?P1$(QA?vdqSH zkW^wa1IXBWuIKC9YhrK*;)u1!E4Z^a6N20wWJIBHdT>Y&xo*=zmDMIl0}Q}_0S~|efY9ID1#Y7RlP1Qo55J8^=djN)Rf^&|x%I%l9I{3L#Q2mAqKMM#09$RwZa zF*WbR>vfJO+On1!1x3{5BD&CbPKS0C`Ev3fDqke7SM8H-6EZifJzop;AYpj1_u7u| zp*Rw}9=nssq#*eP*V$#&tZ=wbP}XeEt4>jk+TB?Eb7gp26|_l>lO+DUNiVbahSFWi z;fB7N(p$D?^Sb!>L2E%z-xyUmh#NHKneRu_0Y#o~UlHATj+bv5B+m3ZN@BUEwB)z+`D=#M&3 z0eXQ=Xs(lAL~B4H;N8N>^nlYV84kl#GcMqAAJ@T+?88$JbS>h0L$4@qL)qww?yM?zS&z@>SF?!Jc6Xp$Pj>4r(NI2P-k@i@mt!lKdFOa2qb*U6x$S&yO zQMHCtKHAKEA|P62L3{NB+tNWhil!rY9AeBfZowS&F(=;uAuh972=YtYA>T>lu*7B+ zUh!evJr+Z;z#OUAOt?VyG@}w@511X>Qh{cVfotjG+3VKO_-Dfvikb?t268RF9DNQI zN^4S75pp#RRBSJD)O{#h`$h?}uFl4+=nnAH#pn_zmbCokMTzBEqZEvO!7k4_2U*Cn zQ4dd4<=Xn7M#U7ig#jne{;C|FN%(aWGmPeI9OcjLewJ)_%D#VG#HAvzh8;dqP4i8L zHT#}src-Ro(>PS0DGc(ErbXou0@u6Cc$Y~iK0SVgzqE)t#(aA5V>!;ouI0yseSZ(# zo68oVGzfWyumd^?uLi~Q4e9lAM6041e@+`O=FcNAqDb_%iv^utgc$fzAAk`_iq752 ze6?4adg6-%?om=$By?E*^xO`QCAm606m%_}y+56lOWadN0(v8!_ z;qhL|bw+FJ-TvN^zR>)_?OckIerv1u(cY(w{acr7pBolmEn&CXyLHmL_FvzqAGt;f zpZ;2#Yno%U+0rf=uDw!FB#k>#;am0fi5(lya6huU%Wz$4y;<0q(>xycZMa+8%P?4I z^K!e{*lVkGnyYQCnLVyLFY>-9KAp`V$@94=w%Kcne@=C`a=yG@c6WR_Qf6@LcF}ut z^L2+?Se8zB>GpPc@Z#9O*X^osc=4Cr#SF8sH@|A@&DHIPY1c=>t-mgr>)Kj;cZ7fb zxc!ju$aeAe=KNFBL0(VWVz2b#_3jR{(5wXZIo zC!Gr~WPe8`y4bIiMmf6}0`J9~$x?UX5EiN|S^()yfF8=ztf^^`sMi~fR z>)+h0V;!el7#dp3=E}yf>#ZS%-K zs?ydB_Oxy=&dDsD-{RArbR$yeZbSCMs$Hzlv?Qf0T2?zP6b|G2a0#jfLey$|8uzYi zr`7W)=9x0IGsi9C3_bU;Y+yGQ6(ky7m&8vDT3oAmxa0BWvPp2!7DT8^d}A;!R(xSP zY|OyclSAr%L$Nb|!QjP6H^|7j?Dkf%v@nzjH)y?*^!O7V!|KQFWZoy_wf2Pc@C4;W zQJnNxag`o#BUGCywqIs56todLnoiul=QW*^Y}P%=NohK&{wAE6b z2MuV+VGz`l>gygGH(eEoPmk|;{X!{$yqrP1HX7Q;0*y|VN6Zz8;Vhg|lau4#jN(Vj zUZwep(4b6V0miKo(cKlHk;>X^ZH=k!fq`5R-dkJ9MtUBNJp>lu;dXpNI+H_J>uI&b zafR8CM37Bt7m6riF`dbvoJ3x+e&z~xSrA_W4eB;?H!<&Y`5xuaXgm_`=VwSli>0PrbU?CjD0UbkCkm@2^PV*5T*0Qjyx5~L zeY@$TJKN`vu+?BOm>P^Z#}kg@kEW&GlN=W$r`;mbO{h!)U0HRc<)Le` z3(nAkw4f@fiyv~MNBAU8vQpS-aoQr>X6y3rzi~mM#iC$7p=eh>m2Z!k#hVVS)OyyQz9Gmq`3A-PmewmXbEagS^Z_Pak{}a z5 zvBakJWO%c-`_Q49rE{ii5`QIe%`CK$U>++c=2A8ObaCmXTyZu2PsXB66~_NJ0X$T4 zX_+41!L+e8c43&#bn|e1i!B1Id^OY=V3rJ)9#1+CfGprF*|5MG*BTx_Zke4rss43h z1Ku}?Rir{cRPO@R49L3yfRH;dpr;}oYHlK^bRDGVu+Ncp%L6ALmdcqgU;1Zo{mYiB z(0;<(IVj;Ini$tjd# zo%38+AJ+pzM!4&AIuaX@DdQF1$G%de!mqTe;&{huSW0ORViYAyyjA|z#I2nV4C0FkF1KWsA2F#$E zt+74vY16GUBgi8mmEp6&K&k}T9?5&C=A%ml!-+_SaO*@~lD~<-$C>A1{dc5na`V1N zgiV;R^T^prOBG4x6+2~q-G7k1OJmp0#8F4J`qFXy2Zaa!isCq!=RuuFD(9PsdI*?@ zuRhC2!v0ey!*{B%B=+b^1Xq({%otI=DOVH4V4XtMvg{QcUy5x#hsp=Otd6@cK@wdo zxhzt;aB6U5yBqe)RJs6ubJ~i)PksEgeMt6z6Znn!y5UA{|H@#aQm7GF1k)qE9U(?Z z&?S2fyokgF14iEgAL9dkWdN#_J3=i%sU%<0^7R7PMW}xikG9l9oCKu)l^rm!%!r^B z|D@CZ?d#L3<&Ks2Ocm*2Tif-cKd=H@XA! z2`)dL>I}v4n~x{ZwDF975o)P~8pWhiNSZteAKxIKgfpxQ!{)?p;@>-Yv?KbQ(2sdQ z15Skrz$rjbtsVeyn1R!5nZol^x8wsHrtg7k1WqGn3NT1Qy>cP}eQaq#A4c%B#Rjwz zm_sv_>cFt1=u8lIGvxCYv+6u>P836g3!(Iq-NsHM&k0nVG|XTY62bO?j`k?51i6MA z9kl-;*FO4;{3G-R$FB+v)AOxaSselr*$8mt^TVFyYfF(nVPOv}Oaj`h5s;@w%%EZQ znZO`WG#|&%`BpLB(eU=!i866K!R4KnH~rIOyvebHIf?wOB2%>ru=#mqIy6m89+4L5 zgyTQO9@WHF$x|2@P_zYE6bFq;rjvnp#mw z6^+Ozy$?x}N0wzDe0*gFOVu?nAU$he}(y6nt-V% z!0ZdfMsneR^pNaOTK+hxxnFQ}Rab0poDrL;6U!i5cA{Srg8bk>YH%3#!1!M#;D7oN z^OX~S-`dlpj(38UE)#~4@=jR0(VU~5jY@SZ56^pY8x13ip^V=spSbu7R;KHeOHZjj zI`8q|yKkw2mLtY_kAzA4(&xLYT zE^-rcX&yKvWj~*&9DIyH_!*iMBU3J2`*+cnf}DuYuF76vO{o<3O3A97A5r^lPqKQb zoc5N;hXojk8I|w;datP%97>b=UP@5&x+W|7rovE34H2qRX@>O1j<$332N}Vd;ewEL zq^d+Xz;{9!MN2K>u!8=FuH$uK0)q2k%4-se0PPoI41o9cD2*w*u9l(P96x5kKHX|X z@-!)#1{j?^-HopCf%i1A$px)&fS8qIlEVyi?pFeQymw_XRL#4SHKHcffrPU6W=4GKm`ZM>`hj)qI;f4G8~yZ3T@XlvLs^GQy>4pd&VP%$5aB+ZN@n-7K`*U8dlAW7!YBJ1W~`8MxA z6PA$d1WftG^e zw71UF_IE;hk)TzB4ZIJ_cmyh`C7Ka016W0ZUjn$;OTunf!x>`YFVRe{FWNUx`a>D@Rrbcbp?XNfpwyYOmo%UCG>!jHpz_#^kHswFVb9XN2)qRt*^SqcQ?zQM8NZ>M za+1SokX4#Zf_j#3m{s>Ye^#TLZzozd~>A5mv7KBq=K#AELsLYVuVSKQ7^OAK0@ zWPY?ag%%087H70r@%y{t^{yx!?q^?V?QG99oeR3TM*ph)z94xvs{6_OfNrT_$NYc~ za=1@nZwz|zor71-J}L|uEgNxTS2Ma4U@kM0n_W=xd2R#Yq7=de=iTU}z4N5-lUjxm z3E$N!$jeaEZhxUypyta(JYaJ8t7v?=117@-^*f-`GgZ-yeCyHRdNC(vDFl+pXo&=q zQy^Yhfq4CWl#uQM-;`DSCkHqqUXC%2gLN%`muISpe%o@7T92Q4K(TgkLF^=|Q|b>K zm5s-yqBm=alpBP#-m7XocZ1`mP4kp7ZspP%rtuF2^yI+J3-t3ION;iW+KiOnC_f!@ zlDIX#0j&~G@U9c~EfktKm5zH3r!);---n^b+7a8~@9HI}h!(-qgbA)7zAA960aE{N z^lc8lN_~{JpCj-q*}r4-)e6SL>d5oAGksE9fMdo{-Ef142ljRP;{_@ zqNAS+WGzbL|5Ci*jm{CcCNFNb5!PE4jyd8p$+~1kBlE;qbnCUjQ5@WA?^_!tDY^y} z@PR^LbR#AB)N3LF4$xvO74mYO-eEL+C6kL_dl`i~Sc1$uJzxE^$Nj&TE{~fd2Yz$b zpB+`+tIhj;3l(C_X!*mHR)eh;p#2pf*RRn4&*25SNuwitM@TQ?-lJ&2bIv{R9B18M zh;i6TGy``S-uvnZ#cT#T4ifvlP)PZ|5ar`R#=1(5f2m#?*zSHVnP%uqfaAMP0dOpp zFFb_%giH zsGeN&pG7AzKc4mVKk{FR-hQf#z&|Q93Q|z%_BAVNUu>lVS$;W)dunlMrhBoKbl0f# z;uh4e0$+g|KVAYS2bWtwvkwU0<3xHVpI{0U!rzp5|E4-=?+f9eUNTTAD*gu>q}=HY zG=f7KAkGt^)9GEO-7`i;t0=6dY;=k81hVo~VM0`fW@xJHRo0Z8zkSNg4jzQy|2~c~ z`eL+UM5imUsNis0?Re!#u-UO$IYm3JUKCR(E)CWGP@woZ0wFD#%H)S$rRTDZ(}tR=a=)LqM0 zGPqRL_Z|P_B35$h%XIO8Cg0t!lgp$HjI@u(i5r#@_KexJNvISy120J_jn~6vc+I>& z_5AucTRUmtew$v~N0t{1j`@YIR;^SDy%rQA@HS5`hqA};g3hUyEMMTtzfWX`V$JpV z;rJJ8tAlz!J9}l~Q;^ujfWO3grQ-3xjgql>%zm*0+_Jj{9Ea12d;ZLw%NQ|r(ebDF zGV@-_rQ6)A3Q_4G;$9{lx4nvM?y|EJre>}-T9mT0QPi@tCOrL=C8L1p^v;h~W!mrz za~8^hY?;ZioH+P#RFjB&vRiMh9J(F9)}GHwR2nRHU7DlEmJI(QynLc>NyzR^0vT93HM`;e*>|_^&@>NW3RK>;^xEI zW<#20m#5OpHSQYAHB}1%)9dyD(+sfjdmJ?41j-71$tYoRF_v&?xu>5w8*>h+iWoSKGM8wZ1vU0hgHz(LD8 zBD;+)k>^<%MT|4B)`KtXW+ObSS*Adbr$1Nr>2P-O0L)3)0L=M7*UVLRg8J7Gw4Q;k z7;T5MT(w`U<|a|fZ1$L%Ye_VhYi!y;V-C#LOvT)6hQ(qIeQRSX5;kz$oh`c@ZI(DS<6(HcWDb(+xv@} z=~;HS)>9p#>6-J|uwAP%cld!B3qxH3W%9n{q7b>5#{kbo5w%8YRHxX){^;AQb}R3@ zS)xnNwd+}{8wL-`l8bC^wsv|C%9A_nmgw_e^TjP@SmoAGQGz}{OURU(p<1#U(dM%} zq|#oJ=}(*C)mEUJ%NZDC8x*oAlfsFu-*leMJyu$>89pF0N@TGCI=TI&6+mCU41u3B zXqmd2UX-!Q*$kJzzylM$k+e0@M*(+S2k|IngD-x5vBD+qmmVdmKr5g!RX~u+ldXBH z2=VxyJkRPIhFVqwMh^J40((}}Po-vAfhqhRqeMx_z`6~+=fFd%{?v@(MPO%8z-oaZ zll0Z2mgrhr15ZjDVKDr<38L#^(-yMWb3z^Q#mbY}gL2qUewj1W&y*j%PZ?1yrZOKk zXDoMCgql{+PGSF>J}`N)r|qB*FZv#r5}cN3>J{K98mCebm*K5oKY%SO&Uh_YkzQ;Y zQ142cKiQQ(@K|c*TGu@1E*s3)%jQ0A&hy=?VcpU9v}xW4KtFw-pq~<*&HW=v8lZEC2rp>{Zh}3A7Yeg1Cx>gOy`(uJU;?W+5@ z%W}=7qpF)t^}SgLAc}cH7lWifSEikRIH!XvlGRpyt6~AM$&878T2JLFFs^7-b_S3S z^8srgtph(=W2w0$LBsr!bB#gx@p})q*PXi?YXZJ4C1pxiRDR zd&L~oSQ02#J}maQNy)dl+q8vV*K9C)f&FZ$Hy}FcZathG4Y{s4;x4Q*8K5wnQGCZ1 z3p1HpT==9z zSip4cr+R~vzvnLk;rX)glb^F6QiVw*NsryxodJ8T=(_C@K(#&h8ql;n_q=etWg`E= zMR@A6AMsMr1WeD;Tt(&Rff+7gn46~}z|(a`yXBf%JntT4h0zbEe{Th^&!)KkN$Xw8 zbm3Q+;6b`dRy|)vy86l)fh)E(reB7*pXrRf2e!2@`Gcw?(lW!gVyt)^Y@rlY2(Lall>C~Wp>toXs5`-S#Pas4@!m*PV*_UK!GNoOM} zMoiMPkEWwEJ!{JJ`7cTiXHOjfl>^7$5eQxEsT#~ZoOQw@93RMG5i^)9$N~#m1G!r-fA954&TjW zYr2)Rg{0p#%Q1W04hObykJhcqT1r8zShp}WpKt$O z$)Ee^eiOjrQG`|5f;phAaMf8Y_;NrTZfqUoO{a6WgY=Pcbe%UXaNJv&abAel|G=`cI7>ub zZW4urPOpB9#M>6c`T?r*R!u9o%e8eKCEA*!0V$zBAFwQQ3RsU9dP&Pv9iTP=*!5kG z@)EQHOj8AQ$voNMw~87E;CTlu$@6uG)vGM-vEe-{+uRJm-R_GbT5dLrj5zxIp7*T? zEw?@5zrni(i{R9=qKYPaGLl( zPy2Z?Ym;b#eWdlDd4cv zdk$M%N@P%MTI6A3tCs>(Xo8KtX$0A#ZE;(R%p>i7F$aAb&=z`KlYhzol^!5Cbjp8A z5E)xxx4jzQz3@}b`z%WV^3Uo0G$+1b&o@*9ru6~bM?FLVlNPqvxc?!9RtSo8J@;Ax z1Z@Drtqbi_sjFsE+UE0L?7(+)0j#aSTLdHRN8b4C*Ly=%PV zKM>hGFu3UCdV728Y+z0HyD{Yt8g)H){A4#bJFOwjz6*HJ@Qbo*ig!n?x4I^Ri_>AD za^2T_CrborN3C4y&+JGJc4j(bPFK9qo87L2B!2{Zr{_a|CB5Z>W3jS%Vwg88BH~nC z;}>K(4x?TEFmc?%m($A*mTa8srLGKKTqYfdZan;)akrbH3np)&?2pG%<21|g!3|jC5TO5^tgiaxZ zPGwWMMU2BKL+d{Ch7j*%w49q<4qAEiWz1NzKcKI+ffecG!h9e*r}N;{W*i3pq=)*R z(f&|~uj9mO0x@FW)PEs4e^H575SkA6%_9#_eKi9FO3Adi(wp=sY{ru38@POxO4`0PD9T@5t*ZG@mKy2Rd=Rr&X5 zrF+);LxBCO-+_JSmFhUhE1PkW^(smn6{}5tX%xV<2d`!=h9WbohBHzp%fPY@lou#d zzOwlxGg#4#&;?kclh7>K1@K#sAw^VfWn%M&3gs%0v%)Dbv05qcS3neGut*ftu~Za{ zq7g#`hJR4h|4Hc_?Q+r<+i_S5ea9RM(`;}Gt87*ZN0ksTltcmb ziHZV#%wPX9s0Cg`pL|&2Oj!+4!a0fR(NOg-9-%^g8=^o7E1O~nf5mn7uIad6UP0KzWPerz(8%wUq2EcJ{p+3;C*vd6PO2{YN2`~JpnBOW`_j`{w)PF8T} zgoe1wm=US^gZ;(@`%MYju8);IeH2<;R>eA8{kC`Ps{tfeDwecVc=_g@Z zb35wu_r>4e5X>$Rvona9fZe1~XDpkr>8r!lL^^A=U}WdK5Ke7$asQfNYQvEuD$x~b zEAhN#=CC`_s`Wy&ttfHmCvoYsa|Sgf)aELC?kn+s-*1dbdI|B1U<95%;B7}QNFlni z0P{DbCRR<}%2_tOFm$!rNHVirPcvN2boc(fiR=Zf6 zxK|P>uicVsr&-`^nqN)Le*7v|qy1s?HPIuiNkr00Lo62Pc+VdP5qWZj5?SJBD5E3Z zMlca<>yX@*+Zn4`8+wpdip6Vdt1xh8&$%;=h*tb^ZIa-wYLhU+?zJyd?Ld)TY~GM1ojI-nwCb!xZL3eL^pjL3 z**SZ?5^6*Ve-eEE+zdXsfxMod%XL$WLc|$#i_78GdnAhmBa4CPYP;yOB4dk<=%;%M z3x)%f8NW}4OdoJ+Pbp`rqf8R=DK{>oxPD8?T&D5#bPB2d0VaW@v3&z}coK2ZPZCuJ zM=UlfNSx)r`EQ8a-WyQ<1Q?(iV7(`(4h;ASueQsm0t{e4INh^R0|uma2!{BC|EB?S z5#MP%#UUZql5Jg!9UW+==Tv4T+(H$Qmggaxn}ZMuHQOADKaE4((K6OQ(jD^+p-pX= z63+Fj=#sq;k^!|AI0fHaG{`K7^xn4GyhSj6dTDa6+!^2sdMg8AOCSYPBX7shHS53D zhJ8_~P2!Lo`eEx+3&Uwzj^le$rSPd(ZB9Elf~)bdip^UEy(*PogTsn178;sb(DNOKDpRb`ZemR`nx9iS7zUjj$N(~nHwVyRpJnjh1kjE(pgS}Y3JxW{h_Hjud{MqY=aX=!8KKH z*61?dTUwTs$s*o8E_SYO_GZY-Xnu6Ls@z+qc=iCBDBs-HZZ zVyR~<9BS*oCZ+YNdihBeYg2ILtYY(6Q!tj9IgjDt^RiIpHjK2zl8esbqHP=Z2Xw=i z*NtB9BbC0Yh8`DcH4{J8>AS3SW5AgEr7+p?L1S{fktyZivdDue<@g1R^boFV|EI`4 zFUb1Yj4v*?WDD)Kb%iY(C#QQY!<5K()@x|Nr{dWJ1y$>lUCWcyy&{jcHY!h5N)i$&Xt!*tfy{U|vClM2q+gD$2 zNJ&epz+dcNpN~v>4b3o^tCkY{3LVmGOK~+{Ci`_4O|(q#MA0`{<`r*D#9&h9!vjno zv1(TR&?zZo(=bs98H;+-sx2&0OpH9uFX1c?G4pfREIR^KiMlyd&x2kg(S^-?CiwoC zY=D2=*LuA3(%1HjJ-PJBR&)=ME8>q@E{NOV++2CRkboGUb2d-4P$t@Y4a#}g_peFF z#OU_LiLw%f*}jj7N@s>wOKCfvt~bO!j*d?u{zNN|9vF1)?fuYd@7fX-4z<&++Me*% z$;7aJU5?DZ(E`I@0)Nbu(38lFkPY9AurmMh`!8kqn*2qGj#Z?N>QvB({3ww+5`nU0 zw6kV_lec0}IJK63{q3P z|F+pGUJ$OR&@xq#?N2cw^(vo*`LM7~MVYU_KIrfvxjkm^k5g|<@}mf0_ZVg75z`JS zDuSM8@4k1DC4I4GDflVVU8je*;3YxKu{{g|G zd}9fn9m#T63{m__ZLU4UHQuZzbMKv@W`z&#>l*DgT8i8ZgjsclO%>ziaeOgs^yX-J zI7ALoleD2&57cTZG)(gG9>{osS8+;E)GK0~d13K4bj@ifVgyP-4O)upXcDwwCI8~uVTYrjFOH4bW<~MO)uP}-5 zG?_xg_3QdN+gKZUAUxk(E2jFECmy*rJN%R)Ttp=w+e`a4XLs-(O-2);ST>SxBAg7@ zO0Ie4I}RBVn)S9b5yi9d&qONJh9WqUQ`Px}OMZRl7mrF@{FGCE;)Mo9E&rk+YWDn4 z%sBO-OLk$iFQ1CXM8S!@y_B$$tH)1muHyhs6f3!~ec?qt!GzzcaTjO3pwu13;hl0YW<&2YuDXe5mbh~=h}8-sU5m3jT|Osce^_xu{LsLvMN+nE%GQq zIf=Cl7D{-PoMVzQd5nzS@ZzPALvv`IZA7_pKW+$w5~~xNKaoGy_F;PY5j@g4Py5eU z+3G8*x^*_`q`bCIX$}2qMJN1MF-Fe{lo0Sbu##wq*BzIT@tKK5CCP&(cVR3pSH5nI zIP3H()21cVgdYc$I=S1{J%X0jdqo|UE^Y{w3P^z{_oU z%OHBV0i1`pY&GKt%XJedYU+fPj_~8VSSWd)CO+F~CLk7Bo?eXA5+{kDqs}tDN_?N8 zQB`(WHh{G{1*2zgM^hSH-K@iu!tze?F^QN$%*@$({}~!?!j6J*vJ_T3`4^`3Z$86b zRq9TMIyri_4^Mb3n(HEN-1V!%S@vY#es?O1(!lz1Vh|9KD>ONnBe+JuaSm6JATZF? zjrkmAkKQ}b{%$opA^+@anmOOv9qEL5qYvL&O=D9+y7|>b^8|(7PDLLooW`1m%6@ZQ{>E#0lHPfjbfHC(%099|vW z+;o%fFA3i6oqb){^KJD#zuMdD&sg+ozMk8I9?=SfX9yl;+?@y`f2;b?gy?a5b+nI5 z(n!rD)czA?9xuylneOH)z)^Fc|HJiN!}ZqDBU{@g%q!mmU(a7BDc94FZ12K+rCn24 zj6;yqbGf$`Vxo+FAmUyZ&t7>X_`N>u-}|~?aJScY`eB-MKYd|IxY_$ITH^BTyy?S* zZx*R<>+R(9fp6>eRb8ZTMNi%EzVGGQ{_;7(d~4&K>0ML8g>ajX+uhH|xrB?hR$s5X zY2brOt+&ga3BrM=&?uq1RS_@8i^KK(<@KFMk=)A`jV7s)0+`v>n91m~CLeZgqA zi}UmKe(tu#<|f~t0F(9cC81W|=F7w7D#zaZFHLpawzu}<96l#o{pNQ^-DS7eW(B{h zQtD3exK&%Y^;#Il>Xy8(8BtGqLlcIZlnq*cZC`8No!w}1Gv6M5rN7N#&JaerSYQ+w zjJUfnzFR&~Ql#LZ*t#XFB}K$)yCcc=b=gUer?2~b7g%vOCz)Gz`?EPzl5N!2_kEP$ z@zQPZE(zU<$G%t2v(u;kQc3taUCj6i41K+fMgxdcu=qO+_@b<=tAl~ov_@Pe{j`Mm zNbwjh1HCqJhDI95@SQKI*I*m1XD$njHA13nmbq9v`NffV5yf*lCEw|G8SPSUSZ*4w zapm2Tya~1T*M<4|WG^iq|C3@N6G7_<|Mg5mTB3Swu*%fd;|^=BCJ&C{a-)2BO|<7Z zQWvG4-=0pIQ%CuK3~5ttjzlzrXvi~6ewObGp=~Ehl+|WwpDZ?pH|_lSdQ(JML*5|} z12kgq8@OoC1;vs4D~-I^oXBYCsj{-*M73F;6Y*ijBE&pECwbTxa@0BUHnTW!^>>4I z5;PbR(c15y;T!yZCOi7O!?qfUa#_U~bI*pIhiMoLQA^|Y(T|l@DLe{iw5-_oT1d|+ zaRq3e8W+8~;=$~~$*)(l!ku>*%2LZFTkGAXuJfNrFjI=fFW`;FmPV1vk4=SO@X$rOJ%i+xOW1>1WqXxTB z>m9Lq8H>CT471b^PBLi)2rnLsa|wD<7F^1aCr!KwJed&Cr$i4*Q*?5%%7$$EOC|M}+yRh*Z<6NO3wsQ9IVLII5%1 zxvoCb@Jo(6817>$gul@n?@6uKikKB7a}D$sR<-0Pc|gU@AqX$8BvJK3;6jy#;Adiz zE;`M*xR@iEc#g8q!&mzs{OP(GXcvUkxR1$+pu->eq*el{>KxN#M*-jH%YL!j~d!ZL=U1;=(CLz(4D)h@oDajg z(B-XiENoby794_D@`a-lG>NmKj!;7#A_e-?>nz!hl`J^v8G}>uR%Kz*s@&AXu;pSu zzo%GG4D2`bffV(JN^m)Lb51SmZ~;WSCs>@8G^e#nih_#t&KuIH5C_V3^Hi$7sXQ4J zFl`J`;`~T#qp{!Bbr-tDn4SF&^V==4gcIP8O4E;rRpA zZ6@8)qugggl9=aNiUpD@wGk9BiTskPIfin6>&V?^HNxA(;3!&;_CH zC)7Aq_Hg44uN~k{V$WW7!%$Ov+liE#Vfp?OQ|xEKFz*Bvj1~8Qb1Zv~imyP&SiMS` zz0a=n%9JyS1CPfsPLACUzNMvOO2;x!8a{r2?zAZ4?F;lOM>tjf`zhzGSK)>OL?Kf; zN(+MAjbgR|I(Oe!wE==tw|;DO7nQ<2qtUM=9mG%MAIZOYEr*^z@mg-=tjqG#xAgar ztl}rCtPpv}U*(TFljF3sj8ba-rF_ekJA4oW%)ZB}59B(bg$r&ljDK;udMlRHz)f;n zYlJN~4I`=0E4`k>N4p&vC`+)z z^RzxmjK4>{uU16^jZ+I_WH}-!mOLeAFB%7uDFoAh3J3dMYj);MX_CX$XEYSf{G>qF ztey6f!;D~`SUTAvyHsrP=JKqGwg+iL8m-em zihRZPc};%7PP>?c=ToB07sw#D--|t+-Yq|%IK#p*h1p$fh?sW(Jv>BZ+`c5=KZOhM z|Ky^9)XS2w}DrKL~N1N`EOLJWF#ij(>>-k|@TV$YA-^y-7D(S$I6va>CB-ZOk z;CfYkD+c05q+$?-){uNqy0SXtb1b1kVUu?O{_50B#pBh6%Is0+G%sRAOOH>NjS)r& z9Ihz&-8oxFb3XO-j@hm%E_5t|O9ju55hPO;QMe&vkLnHczHsG*e_R+xsFHb*@1n6Z zW873GPL(->kZ(Z$xcEps++b?O9HKFBs?YIUYsLI4&HU%s2MT4d<0!B9tBomYglV}_ zAgbg$^KbUh#kVs1gd~;`%{a0N&I}iO_*kM*@`P!SnTBWA7ZL}a`cp*GLCO-pKti24 z-UuqH>T1gQQE{{6NyW@*5KX&_HUvEAXN3RAH%;cr`o`rF?fD7A6O%_flxr#L!4tNA z1&*A?y?O3sNKwNWadQ~2h?ZjV>}A4&@Y6Gqzq%XpkD|*J)9qczRHtrf|2>GeuEVOJL3T zEO3IsH2=cU2vN(<%Z{)|_Men8xBR3&`>`wH?0p7>{{*=t&UnLHTA1W{kNuL7j1Xl( z44Pk=5a&01hof-<2c*g&#j)AnX4TlEoj4uh`2F9}re|zHgJ)>z1EJ!{e)$S2Mv@c>qXyA(FS`J1$kj!5*J<^J(S({qbNT(|i)%ADStP5iwf z+{AeCag>zB*KeHF*X#6h;KWsRU*Cx4lA8F;HM}h(;c(?UUGLez*fT+5TjvW{m;a#N zQTrqKwG?jRyxjsV1%cA~&VmD=3p04z3WcP|nye1449e*lT}zcmAf-0E-8yDB;w<9@OpMM?ZD}U6m@#%o{1aZr z5U;4i0_}-}RA(v;4f=_Px{A>-22&&AhNZ4>cxQ8v9(U@mKewWzzQ;@yNsi^Xcw zDqqQL37n$N6tD$|bLBE=Mcc@=^hv3{eujW@y$i8*ezo@mr{AVgQSD*Q>COU5`J(Jv zZP8HE(^;EI^snN@Jb2^vZ?}R0Wsc9j_W1RNG~q;Yx@m3Q$LvCacSvF24KGUz9-sj! zS=a%PcFlNMC{Y#O7WO(8paj2c8w1IS zygeQ!QU1a zGbCMml2>F{;3GBgMH=S~+=`h24%5!=Q`mb(BTm#02z5zR^od0<%gHPpwGmD~kPjs+ z-o=*hx8V|8-2M7iMF4A%28La3qyK^Np2uI<2+KU zz$hSW51FNNM1?mJDwOn+B1N!^c)fGL_|WednK?@z`5QQ$YB_u{(V zA(i^EAYZUb^}BUXenW@3X<3fx9*^0){87qY$8QhCEr;=PKE0$qjuRU4Vs$$rR@Nf= z`FR`if(zMhS?VrAT>xp~|6%Q}1ESjA#o-$$p_G(#O9>JJ(kUI13K9yE;{ei)fFRNc zNQZRy(4k0oj|?r{(k1Y&QP2IxIeN~$zxR*hnVG$3&z@&J>sf0JGoQ_fEF=VdU~p1R zU9N+ijyfCB%Y7JPjHMU=-ydAV+REBfi5Ke;C|jGdo(!hrI`Q=#t-`D$cDTUc!z_E{ z&Mbr4so9nUU!I?6vUUechI5 z@POH6nEoMD;69jVS%dEUMEjy5%k{ecTdL;zoQ&JTKIMZ1pB%8iHDlXb7>YQJJnN(K}P$cdlX|zs8|NA#PeN93qrTq`Fi@w*(}@7`hob65g_F9(DPR zyfHBn-)O&|pvFj=VJ*UZlAztQs4!kaNPNvO6U$VXu=s<115;~4OJfLL2IX~(sdLOP z&mW{t=a4U6oGZQ5j6k-)kf}D70y;8rL9w!a;*1uXh?X&LRZJGwEj=TEaYYe=O@6q8 zGVxSly9?`x$B3UX@4DyvHyf4tJ{Q?~g&ETmhzXBu@6R=Dx%sfZc9bS&s(Hs`Ds!Xm ze6Hml3=s5)!_T3YO>AI7@WEdUB{*C8Px{W&tfS5y!NA;) z!Ycy?x`kq==Q6davmlrYf>uJ-jO7yC8AtyhKfOfCvMBeCFbSL{8(XpW^%L?_xKsSo zFNBmmW^3N3Pw=NOU21lT2yb*#CNv4{cM;r)lc#U9DVA*?s%+z;Mm+J@$33F|#?DcL z@t{DMMIO126+%sa#W!w?qRNX8_8=gB*gD~i~o+dYU)M#S<>X7zM~ zaQ>@KzF%yFXJ02_dyOmiaFzHAihOl_i@ttBaF?yjyu1J}Yc`MZ6dHA*t8jH%iu&%f zpu_vyFO(=DN`ef81!ay$BTW&p{(Q|TfmLh4t{;fGQ}VQG?E8kW!2Hr~d+R=q2C7@8 zsX4xag|6i~L2lV1v!Z~hyEG=4YHD9pz!n?Ca3i-ma;yo(4$Db8dTDK*w|*+M@vezn zk%S_?3!`w5LDgDCX;e1l5pp)&WT;PIN%i!YRVg8WgC#RTFF z#%sjIL5aQy60m;BPGD7nkLNmmai&ndlu5r(zKOGc8qrazILLU5k4uG*pY~c-P#9PE zc5`vTYKLWi%gB3tVG6S7EnQkU3&)S@ueo)Ybj$H;7sFdnBHZQht0^M7?u-Qpb3Ap~ zrln_%}r%6Wzk;!Q?MvnEFnQk7> zbzh%hvmNl@qnEoDEim5~(B)Acy)h~s7D)2S?W#{LMs2*&q31}L^idrFA4Cbm=rheC zpN|))`JgD0TmdWT^s8XpG|w#bE+`9svi;PdijtG@8>V!qn;=n(AtGq~rtBQ=6Vk|X z$_r*{<~)Y;6{rYIDZVJ2;1dy{SG;m$f)^7vm|Dt^|6*~I36ZyibCGVKn z`jk9n?B?T3Vvd+WEiMz36Nh(lx%-qD+;Do_6wm<0zgvf)P)HJOTYpMC7R4_1gr_5G z>`QLK@(q#Z1j`ZFR+(n{B56eM%pwtMiQx7aL=6?A0yopOHyo-hQ7?#15i!Rc(HY1w za#7iX?u&XD=!zE(9(|3NLOfhW`;yzHfnl_Z>Z30+#X*wZIU+1Rv{7(De-BT%T21r% zo-T1}pictl^VnW(aYSB}mQCjK=#FKTmPREpP*Jt9kd;Zp)SaQBPz}s#qPV2|i^~|_ zM2hIB1$c?Y9vW>HS_v2hV6i#b9x}qw-R)Zr@Hje&b)Ss5=7SBhA;J&c8$Sxlde@Y<9zxXFF)D&z6qL2m*!Xsq#*4|i_RH-H zj4tASoZnu1FjM|CRDcdw1f!yu^2|yOI!T)K-02EeW&X{a2R^5^2KE-T`W2tV%k5h_ zk31XKo07eEx}JVC9S0-%nTIaio{Vy+TW4HXsrLTksFn|NCoV1us zhLr^@>JVKri`tCm;0WD+dYTguSjcfyG4GN-d^{$?Aqg1?I_F?RKGRA!EM<7xrXEj* zi^6S6`0kVT4mXO1^fw8UVfjgd#{-o|r{YxI>{-sM&mCoElH9DQy1xZ64eMDX%EXRl zu5^c~7_tThp3U~JW$!OAEufYt%2iET($Ja(WOid%TvVnCO1^sC#C+EFtA}CQMX^GI z&)jd4VZ_b^2?-a?T|CaXFr2S`zQ?*q+??~QyZy+N3cB4^_VL^}*m|Raek`BsfCx>s zaGk;gpDh^?$dIB_UHp7-a{ubi)6s`V-&muUiKaT_2eA=tJr$HolSM>@d-JH$<8S(? zv$!Sl(P_-jG;=2hDDCV5mKI!hGh8{sv~z@}(HZxu}|3=bMU9U83O1i5wJ;oyBUDwS=@UR5SJV=5bES)$6V}fL{u+zb z?A&N0J~EemmvACltTIsQ{GTo+b1Tu5=SgiUZJdX~dYMATjWn_`oZM}SWn#B%zf#K6 zb-QLRUwKc7+2ufI)t13mq@2txVTO{fMK;Wwuq$!&MJz6}TH7x{2lI}yEF!?HH9?dF zxt(L}=-HzXep0dgx#QigrxUYT9*8etbGy4uT+$>)=w!-6b{$1MLl=5kgOo6X$(Ul9 z#PW&dX#KDx^1FrI4hKZw8Y^Q0J16W@ry0AQI^Y|5lZxw;MT8EI?woX+9^o&-!>$?+ zri7$kPLv_}XyFtf-KZ2Fa39~71V{31IJNyJ}M_~*JOe+U9VMavi#{<>RZmQMw z>e#&&^z<&ZZbQLG%c%lBSCh%57b9Ed;k0olj`j{5?&dFq7zNYc9;if?Z##~@UY*VF zHjJ3zciNHU(!FWg$Z0jEUHHP^xQyc}FF#5@-|WXxhug8>Px5Fq&W5@!)(#I-VmQml zK&om7gAT=NQVpYL?Y%w~M9bp3vBtEh6?FS}{=@Ogf&7EmAho@Mum!eMDxaPH7v83i zJd<1xKRzC~;}gvMPWK_1h!R!M6X~Zr{m&qT^GWe{Qgj4Orix!S_F>q*SDU-M%>#>B zd7QBV_qjms`;L||h&ly@we{OOcUaN+-(bbf^PYbQD^en1#q}SsVm%U8)cX!AX8r?M@y_|~ zU%-kRe+Mh}R!ohbXP!?7oKWfs*E*e4j1_LwN70;HGf+BhmKHV~9%84T7MD%c9;_<6 zx*vR90e|=_rJS0Kz#d!gCUUq#|7O$j>||r+Y~iex*K%sIuDX|Ezqy3KOZW2?Qvb#J+0igAH*y!M^)_=TxBys4OhsD_j6 z&X_J2{aQ!&TYFmp${y$44X0;=ad+HL_IP(BC`CLH2N^1sKgBP2j4ukGt{fd{9Zh#V zx7>z{%#}yF4%MEjnBHWieC&}}-rBWO;|MjZ4WQha?d2Xg$PeM9l@>DR2;&&gGfB(f zw_YY04gcm{-77=k!h#tVFP9CK+844Ml{zjzXqAZ(;lUYIjWRb$gBj+wGIPqU(%(^n zcvS#WF?n7kt>pd)bgH7RfSF*%{;2Cxf@Uttm`#W&-n|10nvVMrSek{>Sja$UO&fJ2 zb&0H)T^>!NF|nbYHnR(bVVD@jDb5;^)?&TM3`E7uA{)K+nys~>u5GdC-Kf)0{kkXA zQR?un7_{P`!AHOP;X6y}K0_DN7*Z0WoEQ(voHsc*Z5-Ur7bs89l;2Ee6=Gc@H(Fli zR26=g$VR(Z3;;x_$IjK)J&oE+f&?{u`GS7s(%g_WTwbP`dT{j6=upNSn2L$!`p(s5 zFV^Ihm2p-F2JiRCfCn`zYIkkJxc1XC>EDKM+uRa=K6_X5SIS9Sl`oWX^x%AWaC=pr zk3s~tK31YkY2-pwIFym88igUcAD5%Aw4V zNlM*H^2p=e`bg<_i^`8#8NZNmdZ zOLNth(oEMRGsgxr32)2vDnkCozk5@a|38q^Kk(fC7XqFFL&_h<)qnf|`nTNX&)={c zFPaIy4@nKlb#f-7EnGBvvkUyY;8fHd+YZ1d4r+Qk@kf$%4O%0G#YrzGescQgOdF+- zf~<5vSe$fWSC&8hC@3^vo|tK~4jv7Al4$>TKN<(w3RR;0!yqtESE}<5e)#Q8mP32{ zrEkq$K}U0y@qm`9;nv?>hGq6^+)&_-E{sKep}mEJHHi_wMTu~qa43CGA)Gp zfMEFDcH1*MRqq4l&Ch^|wHng((-XS^(d+s|^xrV4eeO0Qb_J*94!G+$t|ZkMMt^7x zh%GXH1U-2QLW}$wA_)AD{qH;Q4}XWwo=-Wd9;DK;G`n)t3-Dg4_47bbhJdM9_H7y& z$b6tr21K_2H*s?qo8EIFY5Yo19Z8Dd4 zTZx|-%;j+yS^rhI{;f&>O*q9R?5L5!SXdqiMyBa^9TCz>+*O0>p79seJGCU1b(qFK zE`3l5WYlT9{h_LhjHc^1?y8dYb-{I7fKB}qbb}`Cx(!M8|1-Mr&lEhMmx&GC&W|IL#C5i#vn z+(#8J0Z!HbGBX>I;2su?bNL6KU~L$~V8P5^9p zTt#uK26>ZqzzW_wC6>LCb0IQsxIj|rQdo|-Y2)J|iOMDI12ZP(&wRK@G0?3HJON2p z$_#*gk$faE06Xr_t>J9kU1yHJ$d79hw9y=yGRyHF)#0~1W);%=_+F{H1|iCZ$Fsju z19@;&e>3lhF8W**-9Z@U5FRhG9)G5Dm7k+J&#uEZa^=}dU%%N1bq-#Up;)GI>+h5N z4_p}FMDle%tWFvapes5rBXvcj6UYrxqz=hX!a>sDGJ}+B*Xhe#1$>FKJW^K#tm!fo zq*=AA7KrdV$hANeH-vN#){N3%K_hW8-iwhXJsl=~id1j5cE6NT&TC68p!wE7Kz}Kd zgztI->=WdZdE$ujl^ww3{>ph90t#(u?DMOsNMP~5LDSy|F8|4rltk?bt|Q%0zUa)q zR+Ds*WAWZH>%S2$1L-Nr%AKEH^kr6n^xw?~adIO?;)#pP$;$HFVo8%gP)yr20<0%3 zFg%xCkU^Tm-CeE&ne~r49VftFGJjn_^Y0EmYnIg+RSpF;KDSa|<(-dG)5lhyo;r`6N71nB=X zuPe6sSdQefbA?&&>F%2`(Jc+yB)Cpw-X{U<-|P2)eiZ@^UL6Qq{s9Qv9$=Fov>;;8 z=YUO$>x}3Wo>*w0D_R?bmI1Sp20Ta#o)8yi2e_kObU1SpyW6I`-zmd=z`Om#v;U;M z20saT{u9qe3`U>b`z0AThxQvXP~p*Gh#`Oz>k(eUx>6uhnm}+A&p;QPCly>8 zL~?>q>*|fcZ8VDAWoJNd<)7Lq0LB(HtNiN{+Y5p-O|L-XidO$oRgOjNL7nJG0^hvD0(P>I>x;D$dS#g67dl8ga}>sA5iR2gdC!a{ty2g^ra4(yU9p!b18prDhYc2(Sk7-ow(>y z7u1n^oh8gFK)8!O2G)Gs0B-!H2CEHDtn43R z`ukct~Pkct63o>fIy%@O#pnDnGj7-sJU#vtccRF8mOe-yCHK(l;@Ati@G8cU`&Zc zVe#A%J&}#%fmmeCevLj|m*P7?USa&EqBDd*|Hp-2&ID8Kj{m^U0aCsTkn+HpTY+Fr z{13#yO25gT%E4W!*IXZ1aZG~ZXbbQw6a%p=vTmx3n{!-q##@Ny3Ijdk_hR4=pE?1A zXw-GtsV~z8IEg4zU@Sue0a@UMfI=R?x-@tRz`0<_7d8w9HC#iGY}ZVdYH9Gxbh7d$ zQlmTobAx}X1#*Rfoqwr4vQ_*X_Z~VtlUI%-CGQv+zog=`u;BNAqeAgjTGe}+-R^us z4r7Z(KO<5z(CHuj0u?s3P;9GO$Y_@C`5i#{bLj%A%I}R%BvKDRz_p*LM5C;OR20Ej z&ms*p+>U;bRWuel2g}xEAfprk2ApdKBALTZ1gLMlYsY1d!1WG!$lfWO00wsCL;)zU ze?KXgA{%p#{q^i6@~HKk?PM3}=H6KVA4_qZz9^5rStYIz6NmvbURQ$x_Bi9Zc> z-99JLV!E7J92E{`uq52v2ML6`Q^t7 z4ev;_$VPR+uA^G{09-?$%d#9y(s{?Km3zN|iNiJ$jwj{;E5LK`i9(w)n28&msem}0 z9-36&J^?d?-z@R|eby-hWc7F?#SVPV^I2ri$d*w)gTpW;$m-R zpb&H{u&uD*^3-^1?TvOfspIHPU+|OHFw}ZtKKrA(ZpnoJ?Izxnu<&nEt~QiA?NI9~ zdCb-@@Ol5aFyIlPXNekDTcaB?ZK--XqP& zB~NIY;`xF;OI-!Hdw0%&T*3_ka&QG0{Av?II?gD&wP zy3Z=Y7w)M<>cd=xWe#4Nmz<4!}oKRB_A?(R0k7s{4xgM#xgT zfBT(|OZTsEvP9By82pw$@DpDU>D3(T0Z`Fp29^tJguwfOl6C@+#P$5Ie`8O{jCp+3 zCY{ZN8_xqr@ruL@Z08zzkDQOW}#PK`Tr+=)2_CmAkFO-b_{PBX<1PfQ$HT{*en* zst5LK_6o1na2;k}QNFKTa{#!$QZ)B<7|({yI_!wP78r|(A9vE>h{^&O-1wQkOZV^H zyj?i9-s%Z_vTcfG3a+;bOfR!K;5(t~0o?066YzkGi^l7}v;-@GC76Z;^2(4vo|A++ zAPw{0e?`E+J$oo{2Bna`q5e-8?JxB{nP7|sRl3h-E3lD?H^^)H0E>hksVUV(hhD@{>T* z>>?S(dgKY!0o9R<4|sJX;9;FQAhiL0bL;n%Ah8HIVJ?H?Zpeu)U=S^5SZeLpfQ%R| zvJZ$wpz{PZ$R^Mujjg|?^D-NNC|9!ygYP3b#uMZd*4Z}TEj&nKaqo-!I`Na+wdK0a zr?Jw%cUcc-+@bNUaN)Uc%fLqLjmrk%Af0N2^xo?RqM^|T1Ozyu63)NUX{!j_+Bn3R zYDc8{Uz4pfgCk%A(#;+pJZk9)bkMpb2_;j1;k3Uwi!BMt?bw6UDNu4BzQ8;ZBnQ<4 zHr32M$6bgGOvN*6V9pH|KLVXU>Gp|P(jPj^zu>PI>(VbUow^$V$XJd98O!x_B!r2~ zAceYPz*Ow1>HR{ojR^iiVlCwl0ZimC${A7y;u~-W&qw6C?IEf_h0ch&R+s=1UuO}d zMI!W;54`8QtNPbkuQcfHbH^uxJp+*SaSVW?66iqy4ObNm*t@D=q%??k+z4p}wBC1k zvq5V!h1UQmV1KTu4^KWqPQM{`8k~`oB4J%4C?`Ki1p*MmYz(;MAp~-rUTTMG+&_-EW0Vv49a~aXy0^dclDD`zJ*3-^Z37 zO0XXU)Q>7XWU=6pC(?6a*LPXB18Hxv3Jgx9pZ6=?@x>H~g|n58%epWqTdzRB&^gfC zl`7Bz338OK>IfYN+lix*Zm+xiB&cP-z>C3mTfxw>2?tE=`Ra0h?Y^LF1IPwqU6*_j zWsf^``?cuC>#(!HsXKK@9_%k+)+HBEeLeKEVL*5Nv))(Y3*OmdfN!v^M=~`hBs8Ei`j=OpMXU;Gc z)UdPzu*dFM%d;1Vy_OeYAGwj9BEWl>;ot<0_cU8C^{)b%n8N8{IsdxuD9sPC?nkZ; z*MQF9^C7bN+Wl&zRXfR;r{t1a)b=OMxc9*X z0&)O|(c=lEuGk9#vUn;p16xc2w(BG^$RJzRonF}>$L(MA+#eH>)7O)JLUnF+1%(1Q z$0zX9DW~ti;+=BzT_7hKTowb`;+=9raHr<}+0?~lfG%px0bTJP6v-8=?|!2_ln%4<7!h30#&ml40zg2Y{58NPZc zB{lzwq&X5P{ zTOeV{@Z1fSGBbu`13XpHfsCA&^@;|b9AM^!w8npm#hOg&kR{P&UzYKw;lfrCim2&r zTD#Oxj5oxl)^D^Rh&Peu;{HpfIsSg;Hv)d`X#!vii8}HYnwfJ7Yjja?jYYR95}5l( zWtnbA$(U>3d*49R0HL7ne7sd-{9~^5uOabp#{>UYGZG*Ma*|ENgw z?WiSF?Px#q#^_(a@^{HIUgTTBDBVNANxqgW2SlI`j~1Hxa}rz`1PX0mMYi;BILREW z;1Ylvj)Iu~%NN|0JKy67lCiz}QAQHTh{%5d>{!{A39vsglD3x*JNq;RfBqH_e_axs zW6?Jh2+T`DvrI|CWX!$7mLMx(zZ68X`T6C-9hn9K{ypY@n2rildW9ggw7=0yRiB;D zxOekh0H&jmcAMr{Iw&w{mzc|&fgifSl59Cv@|yw!RRFf3m0TE@up%-Tjg!|^yR=EO zA7z(6!X<~+)1)BY-T#aB&eEeMsaC%IL8V2y>hajRHwIK5>p^ih zzvw{u)&;k*>C3-%JfVJ`sn2t-(;_544VKmU5}VFqmX5q5)64;vRg@lc^vmKo4E;4C z`knDy-|N*Yg+2zuiV1lMEWs|Tue{+R!PreyI%p?ZUq!d=Zy>=1u6rHj>FI4?0Z<+p zL~I&PS~{}NtC%JMg|W{ zO=0T^mtV+iQ~5T6D1U04jM?0!{WwS~n}-^Y9IAXP1yQN+>&8Ip==WQ&8({nUGl%M1 zSeDNqn_s1T_IaKs8(8*TeY-ybO}4aLx%z8Za1sSmdUPyREsX#iN=iIp*HKb;~%pf|mnQxAi7+g;hmT+VUMuiZdy}U-v@*H5UIE z?mU*^rlm%%IiIluoY=19gQ+VQZet+lNxJa+QV1WMF=@fb? zQHTRkYLsQthK2XFjhN0}arfDYhuLoP$A=C2d=-dVch|#^8pMtRe6O7L6M*?Ty)NP}Cg z$MNd=>TCUtq>Xb|UiZ0DOAp7rJxbLhLuP%@O0EtEhZ`GP3u7V5yvt5ibxw8%_V>OH zcAt+636Bf9)_OQsyMW)*?A7R72n!0jyPnwY92F*QBv}Z%fBRBB@6%9oz`J?oZ1etP zVF!NaY`$XZ+X?2@X><3<79MZcdiUJE)$+-d+xh8Cmr0>sL%fpP>2cgt!%@YQht19k zuShMpbi!)XojR8ntBEJmEgtpX){afiwoRPQMh#B7E%lX7o(i6wU<+p^1}B})ma2=J z&L-(qUyv!}dw1>29T_<$b~7@1_$1$!MKu;IX!B`c-VVym%&SNDKv^*Y*lu$&u~N zJ-Q)T7O;9oLJ3p81`lUW8{!%Hod51InU+1(>}$z-OuB^)HoXIWTWYRGvY`d(U3-}~ zijral?^NYs&joLa+>lnXsO_Pa*S*1TUn+*YnVZ8u_XWPSt(Gy3w7@&_IWfjzKl{75 zWlynv<4K%wPT4`&%)X+NV#6N76^B`cwF9*a(>Ym#8C?NQl1e9az(Ip7>ma6K1BD1Dz# zH#2+K-UxNYmZ}|F-!4J!S-x5oLOZkZa+cZ*xB9z#X1?K^0vOa%!{+!`vId9bV^=OY zuX{DLsIPz0Ddf3yF>cMe-u`+Ku3rhq!yPsq8+@f$p`EM#b8eOU(}KPaMoF)5lI%^} zS0G5B%VK6mMfE$?EpsQqmn8+^jl0JkO4EU_cTmWa%)+d!`D}+{t_?%IDA1 z-_b<2CwvjNOtvYmq}^@mqK{(v!AE}jf=>t!)l5^olofpEccOh6YQxe=J%Z6Ep_Z>4 zeLe^WX1OuuUT6>Ay`U6JZWdWmEQsS*^3*<~MIS17pRHge$qo9MJ5w>_L`gtgXJ73@ z+o5&B$a~a9(LD*Z3)E^yU!s?!H#S2*zx_r>tw~yX_QY`UBcdW5US9~CSl!#XG$*#7 zpWc~CwYE3P1-I~%2qcwi&8k-~64ln)3o0d=m7oxnCelMC@X1Do?FIJ;c~`$_VFni+ zl^0J~&*fppyC}2aGE?jsZz2pFAGMmKkzdlH*YsAvrx4wjDkY@Jjt=@v#`ww*W9#V@ zyTqYjw8kY*g}GsNm(j~zhl+DUvbgR2t!laPA@aU+#fasL)PuJU+|5&@NyYmz=GJ9s^h zt3uoj?>FY;KQO}UO;lB2^ zBGoXf#vM(Ft~+xm#qKQ;S+v4Bh&*&hRwz+@hv#6%)tk|_L}e|yYS3<@FLUKVZ{n3) z0)|Sx6y5k~ei@-qnQc|rhFR^JMovy> z25SC$OlngJjImf27ayZ07LYTYC#=holH7z^IaFUJrlVOb}zw+h|I=v@0;+wI0U z#Vq+gJjkH6E1|%~L~|q$suRQ=CL}sfs$%Nm18uEve(W=>lDr08BF*>pTO1y7W$Dq& zFL#f53d5xKCpWh3=GElr;+?r@MO9`VIA>I-@rp6O!&CwdQKUKl;FDf1nu@m1346*u zwLQN0k(A#6b6Iu<>hSJMn0Z9f6oh~}XTd7Tn6rZ*4=3mNF3QtF4YS?BI!#Q@0li$` zm9#o=?MN|5p$08ILN8ZJt_j?a1-Cds`(&)(6B`kH8m^vXpz_i=;G;E@l4p*xB)prt z_A#1?@czJ}igU7(oE=6jfi!Vas}B7w{KQ0dVew|Fj7zeoOE9}qZS9@vdn|Z9aP(e7 zjiM*g`BH(**p=lUAyQO@&E`%Dt6v^t&s;3|q_;R%dblqiuTI?*yx`2~Pho{$M55I$ zv2Rg0_ez13Us)35t#72@uCYSGD@REyN~s~?rYv#BLUa|m;2#ZD^tSa&V0Ji8x=f`q z7qO9>8k&(z+h{buM0?8+u{mc(PhTpBofJGUo6FZ+A%TO?a3wJNrkY7pxcQ`UWD)8I z##P3Gkv-wTmbutS9S%9Uf}8W&S-L$M-1Yw_A zvJVbrvImF@bUu~xHT)wZJARZrc!WQCx6u~BdDDlUTzR! z{+Oc!W+nJ&&1o=!TDo~|`fFM|a8kh4!>pT&En5ZNO&nN~yg!^aZ-jh(X@b#)<9S`k ze{6FK(N|i3dWOj*>8Kc{#-M>#oT^DH_3^T1r*`;@Pan~8jG)Mj3I#v*3?jvndcZo2 ztdJSn=Ff8IX|vvSWPqM9=-sjQY}VHsH_sUcLQId@-`17md6Sn6W<2YgI$|(xHG~Kx z4K@rvrBg?hJ&|2HL>P&n4-D&FhM!y+!U?kSy*s;bF;~U$LjOA%b_)tAg`hap!1Ax!%|pRF8b#X3j;xyM zz-ZMO&OgD1momBVQ85kF_$Z1Bhng?lWaHat-)owLCHq(Ro_-ewmAQPkO%SErW#J80DY7wPBK0U$KFyMK@_a?8x%9^`!jDX_9 z1e*)yf$^8Lrr_=|ouD1e6r47xV#5Wcp(-w1=a5&q_l21x1vmv(CkiA-YILheq&!QA z_@;;P#d+G4o=tug+}%LulX<7=cOX!yZ7}&Vp^4#&J<6puzu}kU?(2SJU(H_@-P%^f zFsGR;F4~@{3l#11y&JZvqcZiCN0X)qBvw)k+^^^sr&nwi^v8Qh7}$@^vM{V`&Jwkv zRK@TKt)9lDX1OsLT7s8WkUHyk*)gDg{0_AMP!#CFm&EEeOi=Kk)yg zbB0N$Nwh0UW2Ql*hiR?uctMMxJ68UkFB*O8@T1fI%NsYBV3H%@{-DifF0wP%CaM(8 zrjBZ9C~(HEZdag6;>&RyH_ivJN7?6+>+_^1pgs~=v*Vam>jHhzOXaJmS*0;M=c}j$~@yQSIng-Qx$@o>4MaGXn z_+73&70KJLIRBBh5J8%8qObc&F6fgQHs>E}%r~?gPkPZN&vwkg|0$-|ML?UMe{XZB zCcDdpKoDf_^l!J7+bqgj7>0U#W=Quu{8a z0w*7Qj;?)QbW?3Vwo+3&9fwQe5njJH-F7!AM!;xit|v|Vq3x_?cX{9O0O@^KoEgMM z8%$N6{7Qvmx165K>xM;sH^XO$P*kkvXevB;b8Pey?dV$=o^ELUCkm4|Pw7oiB6Y?d zQLv{#{m3`{-_N~byx-_n+swEcC;kZU4qV|ey~8A_+=drd#CWp>V^wGS1M7#W@8?>H z_FU*4gl@`hOsA1f8n={wFWv~0y56$ls$29A1K$QSOO1MmV$xH_SS$65Q9BMSfBXtP zJsH#4EBG)KWMr=?xpZ;jEwj+e6E&4Rt5p`9GHRje$Eq4*Rvyea|$kiMvy8|VHyp751m92%xR8|eFnxEj;*Dlr@KPjA% z(vFY#T=8kwIu9qiZ@#Ukow>#HX9?!45>xwk3Z<$yr?NQ(cq~`u2{=186RltcpaW6CzirEL z$lWQ#Pu01`)F_}~V6rD#%X+EsXp`8CRGbrG6`7|O09TxbeZ5dixP!Hxxw$Qw?B;D<3hw_6ZS_HjC!(+<+o)<^uGEH~))`hD5 z?T1tzfCW^gX6_5$m#BhbDR4o%FS1v@7iyLL3#lLU4Ci>9tnPQnG?(6aRdO~mGax52 z>=SCnl@Y~djSD6OaW4X0Tkckuce!#`S~1_I)}#Jjy;aAusWF!8b=))G@-Ih2$6_>0 z2Nkemm&Neb@)}sGS|fTD=;q7^6{Tw0m!daMN6iR0TY_x%v5k&cJEEqTT#Plc%+~h| z$M2OgmzC`w&qm4WmzcY1hdQ(3>Zj`k3>(~5E%ZU<$Zsf)tqXQK4H|YG@M9PTb5A+j zOufsg&04u&f_8}lpTX6}?X>2zEycZT6RelyQsTPqhOkGhdBmJJo66}AIEI~s!nPO| z6>t^ohs>K8ou{+B`XSPO9XP=u*xd(E*O%n`{JuCo+8u`%8rP=HX@sXQN?)v{;Ck-& zSWzMWpmw;4BfGjj|A}X^;+S1)qkFqEj#d1krA%DX7qvia2As_wsW5WDn! z9P_(8B$<>m1xcy6Nr1L7>yqQ5NM`6gX8t7_@9`w~m(_6G{L9v}At<*B4dj;puqe|j z)T}pa+>CGUF%=u`@H~X@>99bYg%sW1Mo)oy`ZIjC-uW78YmoWS2V5YDN zemD$;-yF;;b)XR*$=6%WRk(~MddY)pY1f+UO!pM6Zh z6Rnr}0lk5}Co}F2min9Muw*&963sU{(EJA`QtE3>a?fdB}c{ZPg|d@MfljkGE6VZm*-V7rXtpSrR}5=R^ZRo`NCXs z7#|-FTA+qk8z5ThjRg2~DkD>BH|s zY+UY(dNKSuqa?)eZAZuj4vdnDsDIMMne3{Dv>gv{R=& zQ@{eN%7IlsWa24fy+<{)rfQ=7(P!GlsMAtkWwl>~g8IxQG~G_UUfNldLyu%TFOKLYZfn`gHKX0dqHvU$rJDm z#IhI8NiSt&%sh6IiPJaokSoj1YqI^`W|YI;AVy}i-(%yQy`V1QV~+o$ZrI}E^n0VL z2t68oM1dwbii7$nXxzJ)Zv_LYuozvr42?*5jlSZ=^&pF(=D81q#+SS5Ym$`o0tN!=0Rnt=*D^ z+TZ0|mCom}M2SEZ98QJ{qR+?@i`hGJKZ_9hz=*P~ZB*Oi&7!Jm9Yr))6}4A!b@-^= zFU(8=vHHOm$LQ0J=T4_(Uq>WpQslTt?VL2qfj?l3s?Go{H8dqfCSqT7LiO3ze5D;M z>d(skyc>JwNlG>}$5LnrKjrsLu$8h`)431Fr3;MLQ-z{)so!e1FCL(_eQcXAT6DHu zbZo(QGn5?N-P$^N3vUx!;WG?&1|Q|U$~wG96x2q3Uf_4my4F!Zg)a6)Zc-X2&VxTU zRp)-qiNKyHBM$jkhR3F8mBRH@*HX1lotMOFufLe)e35?>AKKP5(LcvaG=7h1|0IOI z32W-eT~Z9k^Wc{itJH}f+DmUbT0L!z&iyOZz< z7)Q>(TnOEL#vnA>-UO4zx9n?Ga9k~qdQ3QZ)mD|(o(vU3wp>7uaMFK0ILfEOyk^#D zCST0qPCN70UGIv3HSyyyy8^olmV?cuJ?Pd(+8rhik5N0=y*Pz}?JGAvO@4r+Ce{T| z;o|aQ(OSgE_h@g1!BWl^vUhBo1eGvfa4KIr9`vGK!*{7Lg_0pQ6R5=sx^@Zsj>Atz z-}_ymqdhA#S9)k%XkxNx^!XCSYxs?h%U^Ac6a-!B=XZ)M$sEUS&{&X_cT+c-db)UX z#d}Pjc7mD`l55YGV1u7HSF5O{`+pmhVgY;+844iw66OLW(46 zq0hKoI?y`1Yz!8RHE%*);W=MRw5gR^9)CEwjCjE}_UI~$Pur99!#*jNX`6U;vxB<> zb$6sVjcju)tqg;>P#`j26l`U#n^bJTt|0gVpIPEd%}^m8`>AY05jFZ4#axffRxvG( zi?7r*=F63ntORf4r?Rfydqr%AxQFqext_*hHoS_WGMW>$i@W{nw~vR<60c#kJ5X-Y zM0HN^$!xGUR^iPQyr+UNlu3Q-8(Az`#D9KK>T#Yg#^X{+EPE`i6ini`bQ1jI%Fm=; z2x<7~8kO<*WtUvo7S&o$`Pz~5t%G?POGQ50KJtCV$1Bt^+Mk}5U9V)2wDi6v&N&2o z>Ol!_L-XRKBz!=g?$DV44WFzm2oSFUh)AI1>tvC@dt+IfbTsHOM~vVoKXO`L~wVV)|Q zbtqjf&U*`@Yo0DTL)X#>zp87IrzDJdHRU*j%8jMW)=XVp$SOIeB)jl7QKgO3n*)Q> zgMYmJOJLy#Qjh*d+M!g5GF+NO`xDs5+iPXd;a9}W%U8WjS(*#38Hgp?>*C~w@vbP( zq>Ad2y3WyIFnzWYyBXA9aLwz?C@xTae+@7 z#oOf{Ofrf#f+rlR9Un9c9kHp0@%9c!ekuB)I0()y8RPFOsm zAg*AD*(r+}yVKpin|bBbOw0tUsAY4ZmRA_BVe-VlR*+bCSx;Hfw(Yw2KK|j}m7CK2iOti=9_)~S74(8Wd__Myju~YPCNFYgmi`P_j_Dx zPKS+!pkam`c6W6p1=k(nr|z45k3SqOgt`l?I6>p0;W< zpdUORT_8@$^UYIDB;1V{6_W&S_{NnyxN5E{Nr-l{U#VpY>n&+>3oBxVP-OE z99}G&bsXae+=sajGDKLHl&_^}&W}^V{Be0J)anlgWPDSDW&=%JrD_rg?vql-r?RZ^ z;|=F24^J|ZF5RS_nVH8G&7IGL9`9Om6sr!L(%I)9JJsiJkEDmAa?3GDwX>^y*)O8z(= zgcu+MfzXUpQ8)nbvXc2`Zu9+NRz)8 ze3)a^h<8FgWS$XR-zaIE3#kg6ZzD~Fqp~bsfs0Ag z67Kwisug-oCT8fJ4WiFjVYlBeUpU7TI=>ge95ii}WkyzPLO z$8iMo`QBIGoV}%*K0{YsfLyGX=xWGYDigZKhT>F+9dW#K!H^qV6nm3$w`TNV(egy3 zbB%7#BHWg>;gq`>qvCGgCUa#{cj_jBtKJZQ z&GmlS->yNpIP_KzA0#}rA|OJ@Vxpj6$VRX*gkc1d+tUXm4z;-5iDoC+@9&tfm$^7R z<1UnE9%*xypF`Zui4s9=NvN3GttLY}MBVZN9?PNCFB02bWH0&}NBVM+cy7c~05NJ^ zNy7Kp4@+rzsf3_);})gePCp4T#KBsL zI=Yo$%>|#D-);$%gx?6W=Ca4!;Tv2#Jot7y_7tU2=OSAKpB;Yt4>^Qx zRjsJDbeTIQ!{D|0vAkWkE+)Qh)|9NR zi<3eiEaC_~kqv6Q|~J90Yz3eLGW+FX87$!JmSB&UY%6)7uq@EU*kgM5Jv zD6Y;g^jhO1@v}O&UDpvU^Os)sfO=Qyr!A9XnKsfiHe=IVIlTJn13oY22%fA61a1US z=7a3&Jk<;#2dluZWuOH>Ki`bc!2d6q0U1@CgR5F)4pD9W1gI8&M}A@Nr+@CeuC%qA z11j1X*KnMzX$Z8$uis=Dn2EYf-zR(bd`EcsvBFD2*|&g|oRv3Zp3m35e=5xP5j6Kv zm4K~$Fb3?}XmtYV48fl`_&Aw*8lX8I+92wXIBk$bJTKLY`&7Ji$&p|~c-s2qONB|@ z;C4@ziG@yrm|1i^Xd^hwy~{6oPNe`*-THuxMkvd#Bl6J+s93Y#qz&=VCRykx>u+W* z&jgox1z(gNr2eLgGd1ehbg^0Ud(WS-$m7H8k#0;0t<)sNA3al&>oh1%_Efwb=a9=s z)X}?f)QcO5?y$tP$$q9;Q?%1SRebNfG5Y|3;r#%B$S)e`Yx@|+nd4v@oFVhT?Pu`@ zw*MpSc(5WQgZBq29Vw5U)52GfAzb+Zierbz>TD23KEZ55HmUH*78Y6jY)Igv#?{ZQ z1Llj52d_51pY`e}ywPsfoK$yy#VEf|^TL8|uwdFL;YQ=C;=dXxs`2`M1MQEJoF7r1 zz_@1LZ4XSq9R#`F&n`KCGInoXt@BvsCi!k|rP*e$S`U?lt~z=1ug4c-k3KPY%XbLG z2c`p-I`z+DUd<15j${oG#%H~H3tu-bx%St@5lfM+3U9IN)#gpPZpBO)Mp=@E6}G-C zpiY-j0|@AZy4ZCXoV_f@LG!$9Y`3sMgo?mer_1r>5xl7KoB->VOKa1sP`xf~Wj(MG z$E5B7F3JZvUTSi_Y-mv=EyYX7U(qJ=C*hrmfA)>wuZ!GMb8VL{U9Px}cNJKzs?lqV za<^DO=OUUJl<1kb&_z>@J-PPnYMwmgzpYVHaiy;HDv5Br>DZi%< zRui|f&SpyMUW%y@`hesypGpUtUwtLhIVKZ0wjx#!NYO|`+cHAZ$hHbF?Psa$R%@?O78$8ZI^WIG3tlB6CvfG44hV(&Hx8GXek#RBPfR-y-kC5v87ck$>z} ztm#fQDt4fy%D0s7QukCbI}f!(|2LH>@nO@=Z#&WMOhh|}5cL#i`W5xdzO+_&S}r8G zVVAq7Liwa0a=-UtrsaM*@hk2(XJ%UPhrFs?@Sd{d7yS_Yy{#%OI9v7S;O|UUY0;OL zpYNjg)UCYwhv@IEJ!#SR5I;xn8GX`Hhs_@EQulOeD(8pP@An#}r3RS(in_P+FfDhT zzHXPhrxAW7KjePDCX|+I5dJIfw-utaU|*|>UGSc^aTopv{NKz<3l7fzIe0J6(o&5o zvUi8=o;Dx@t^Pfb{+q67so4cTr+!Udw9tsPFLTA7&Rhui3I$TLA%Hp`F$1C)005Pu Gozg!l-Si*; diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_Cu.gbl b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_Cu.gbl deleted file mode 100644 index 4bc62d9..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_Cu.gbl +++ /dev/null @@ -1,384 +0,0 @@ -G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3* -G04 #@! TF.CreationDate,2020-05-25T10:48:09-05:00* -G04 #@! TF.ProjectId,breakout_board_2x20,62726561-6b6f-4757-945f-626f6172645f,rev?* -G04 #@! TF.SameCoordinates,Original* -G04 #@! TF.FileFunction,Copper,L2,Bot* -G04 #@! TF.FilePolarity,Positive* -%FSLAX46Y46*% -G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* -G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-05-25 10:48:09* -%MOMM*% -%LPD*% -G04 APERTURE LIST* -%ADD10O,1.700000X1.700000*% -%ADD11O,1.727200X1.727200*% -%ADD12R,1.727200X1.727200*% -%ADD13C,0.800000*% -%ADD14C,0.250000*% -G04 APERTURE END LIST* -D10* -X147320000Y-47498000D03* -X162331400Y-47498000D03* -X147320000Y-50038000D03* -X162306000Y-50038000D03* -X162331400Y-52578000D03* -X162306000Y-55118000D03* -X147320000Y-52578000D03* -X147320000Y-55118000D03* -X147320000Y-62738000D03* -X162306000Y-65278000D03* -X162331400Y-57658000D03* -X162306000Y-60198000D03* -X147320000Y-57658000D03* -X162331400Y-62738000D03* -X147320000Y-65278000D03* -X147320000Y-60198000D03* -X147320000Y-67818000D03* -X162306000Y-70358000D03* -X147320000Y-70358000D03* -X162331400Y-67818000D03* -X147320000Y-83058000D03* -X162306000Y-75438000D03* -X162306000Y-80518000D03* -X147320000Y-72898000D03* -X147320000Y-77978000D03* -X147320000Y-80518000D03* -X162331400Y-72898000D03* -X147320000Y-75438000D03* -X147320000Y-88138000D03* -X162331400Y-83058000D03* -X162306000Y-85598000D03* -X162306000Y-90678000D03* -X162331400Y-77978000D03* -X147320000Y-85598000D03* -X162331400Y-88138000D03* -X147320000Y-90678000D03* -X162306000Y-95758000D03* -X147320000Y-93218000D03* -X147320000Y-95758000D03* -X162331400Y-93218000D03* -D11* -X130810000Y-39370000D03* -X130810000Y-36830000D03* -X133350000Y-39370000D03* -X133350000Y-36830000D03* -X135890000Y-39370000D03* -X135890000Y-36830000D03* -X138430000Y-39370000D03* -X138430000Y-36830000D03* -X140970000Y-39370000D03* -X140970000Y-36830000D03* -X143510000Y-39370000D03* -X143510000Y-36830000D03* -X146050000Y-39370000D03* -X146050000Y-36830000D03* -X148590000Y-39370000D03* -X148590000Y-36830000D03* -X151130000Y-39370000D03* -X151130000Y-36830000D03* -X153670000Y-39370000D03* -X153670000Y-36830000D03* -X156210000Y-39370000D03* -X156210000Y-36830000D03* -X158750000Y-39370000D03* -X158750000Y-36830000D03* -X161290000Y-39370000D03* -X161290000Y-36830000D03* -X163830000Y-39370000D03* -X163830000Y-36830000D03* -X166370000Y-39370000D03* -X166370000Y-36830000D03* -X168910000Y-39370000D03* -X168910000Y-36830000D03* -X171450000Y-39370000D03* -X171450000Y-36830000D03* -X173990000Y-39370000D03* -X173990000Y-36830000D03* -X176530000Y-39370000D03* -X176530000Y-36830000D03* -X179070000Y-39370000D03* -D12* -X179070000Y-36830000D03* -D13* -X145542000Y-90932000D03* -X146395045Y-44886229D03* -X147228245Y-44325694D03* -X148195008Y-44069970D03* -X146777489Y-42881939D03* -X148294573Y-45447439D03* -X148071423Y-48766742D03* -X149352000Y-84328000D03* -X141430451Y-40851838D03* -X144780000Y-38100000D03* -X149860000Y-81788000D03* -X149670794Y-47096690D03* -X150114000Y-83058000D03* -X150626660Y-77474660D03* -X152146000Y-74930000D03* -X152395494Y-73410814D03* -X153129670Y-70636559D03* -X154432000Y-68580000D03* -X155368384Y-66788707D03* -X156464000Y-65786000D03* -X157226000Y-61976000D03* -X157734000Y-60198000D03* -X159004000Y-58420000D03* -X160020000Y-54102000D03* -X167386000Y-43759011D03* -X168656000Y-43434000D03* -X172720000Y-36068000D03* -X164846000Y-35052000D03* -D14* -X147320000Y-92710000D02* -X147320000Y-93218000D01* -X145542000Y-90932000D02* -X147320000Y-92710000D01* -X145995046Y-45286228D02* -X146395045Y-44886229D01* -X147320000Y-90678000D02* -X146809178Y-90678000D01* -X143879978Y-47401296D02* -X145995046Y-45286228D01* -X143879978Y-87748800D02* -X143879978Y-47401296D01* -X146809178Y-90678000D02* -X143879978Y-87748800D01* -X147119560Y-44913037D02* -X147228245Y-44804352D01* -X162331400Y-88138000D02* -X160966401Y-89502999D01* -X147228245Y-44804352D02* -X147228245Y-44325694D01* -X144329989Y-48082977D02* -X147119560Y-45293406D01* -X146270588Y-89502999D02* -X144329989Y-87562400D01* -X147119560Y-45293406D02* -X147119560Y-44913037D01* -X160966401Y-89502999D02* -X146270588Y-89502999D01* -X144329989Y-87562400D02* -X144329989Y-48082977D01* -X148195008Y-44502140D02* -X148195008Y-44069970D01* -X144780000Y-85598000D02* -X144780000Y-48269377D01* -X147320000Y-88138000D02* -X144780000Y-85598000D01* -X147569571Y-45127577D02* -X148195008Y-44502140D01* -X144780000Y-48269377D02* -X147569571Y-45479806D01* -X147569571Y-45479806D02* -X147569571Y-45127577D01* -X146777489Y-42881939D02* -X148417529Y-42881939D01* -X148417529Y-42881939D02* -X149020944Y-43485354D01* -X149020944Y-44721068D02* -X148694572Y-45047440D01* -X149020944Y-43485354D02* -X149020944Y-44721068D01* -X148694572Y-45047440D02* -X148294573Y-45447439D01* -X162306000Y-85598000D02* -X161130999Y-86773001D01* -X161130999Y-86773001D02* -X146755999Y-86773001D01* -X146755999Y-86773001D02* -X145542000Y-85559002D01* -X147505738Y-48766742D02* -X148071423Y-48766742D01* -X145542000Y-50076998D02* -X146852256Y-48766742D01* -X146852256Y-48766742D02* -X147505738Y-48766742D01* -X145542000Y-85559002D02* -X145542000Y-50076998D01* -X148590000Y-84328000D02* -X147320000Y-85598000D01* -X149352000Y-84328000D02* -X148590000Y-84328000D01* -X142028162Y-40851838D02* -X141430451Y-40851838D01* -X143510000Y-39370000D02* -X142028162Y-40851838D01* -X148590000Y-83058000D02* -X147320000Y-83058000D01* -X149860000Y-81788000D02* -X148590000Y-83058000D01* -X144780000Y-38100000D02* -X144780000Y-39859130D01* -X144780000Y-39859130D02* -X147338870Y-42418000D01* -X147338870Y-42418000D02* -X148590000Y-42418000D01* -X149670794Y-43498794D02* -X149670794Y-46531005D01* -X149670794Y-46531005D02* -X149670794Y-47096690D01* -X148590000Y-42418000D02* -X149670794Y-43498794D01* -X150114000Y-83058000D02* -X152400000Y-85344000D01* -X157480000Y-85344000D02* -X162306000Y-80518000D01* -X152400000Y-85344000D02* -X157480000Y-85344000D01* -X150363340Y-77474660D02* -X150626660Y-77474660D01* -X147320000Y-80518000D02* -X150363340Y-77474660D01* -X149098000Y-77978000D02* -X147320000Y-77978000D01* -X152146000Y-74930000D02* -X149098000Y-77978000D01* -X147320000Y-75438000D02* -X150368308Y-75438000D01* -X150368308Y-75438000D02* -X152395494Y-73410814D01* -X152729671Y-71036558D02* -X153129670Y-70636559D01* -X147320000Y-72898000D02* -X150868229Y-72898000D01* -X150868229Y-72898000D02* -X152729671Y-71036558D01* -X154432000Y-68580000D02* -X153416000Y-68580000D01* -X151638000Y-70358000D02* -X147320000Y-70358000D01* -X153416000Y-68580000D02* -X151638000Y-70358000D01* -X154339091Y-67818000D02* -X155368384Y-66788707D01* -X147320000Y-67818000D02* -X154339091Y-67818000D01* -X155956000Y-65278000D02* -X147320000Y-65278000D01* -X156464000Y-65786000D02* -X155956000Y-65278000D01* -X157226000Y-61976000D02* -X155448000Y-63754000D01* -X148336000Y-63754000D02* -X147320000Y-62738000D01* -X155448000Y-63754000D02* -X148336000Y-63754000D01* -X157734000Y-60198000D02* -X156464000Y-61468000D01* -X148590000Y-61468000D02* -X147320000Y-60198000D01* -X156464000Y-61468000D02* -X148590000Y-61468000D01* -X159004000Y-58420000D02* -X157480000Y-58420000D01* -X157480000Y-58420000D02* -X155956000Y-59944000D01* -X149606000Y-59944000D02* -X147320000Y-57658000D01* -X155956000Y-59944000D02* -X149606000Y-59944000D01* -X160020000Y-54102000D02* -X157734000Y-56388000D01* -X148590000Y-56388000D02* -X147320000Y-55118000D01* -X157734000Y-56388000D02* -X148590000Y-56388000D01* -X162331400Y-52578000D02* -X161129319Y-52578000D01* -X165433979Y-43759011D02* -X166820315Y-43759011D01* -X160206402Y-50453002D02* -X161156399Y-49503005D01* -X160206402Y-51655083D02* -X160206402Y-50453002D01* -X161767399Y-46322999D02* -X162869991Y-46322999D01* -X161129319Y-52578000D02* -X160206402Y-51655083D01* -X161156399Y-46933999D02* -X161767399Y-46322999D01* -X161156399Y-49503005D02* -X161156399Y-46933999D01* -X166820315Y-43759011D02* -X167386000Y-43759011D01* -X162869991Y-46322999D02* -X165433979Y-43759011D01* -X148169999Y-53427999D02* -X147320000Y-52578000D01* -X159512000Y-53340000D02* -X159424001Y-53427999D01* -X159424001Y-53427999D02* -X148169999Y-53427999D01* -X160706388Y-47429153D02* -X159512000Y-48623540D01* -X161580999Y-45872988D02* -X160706388Y-46747599D01* -X159512000Y-48623540D02* -X159512000Y-53340000D01* -X165101540Y-43034001D02* -X162262550Y-45872988D01* -X168656000Y-43434000D02* -X168256001Y-43034001D01* -X162262550Y-45872988D02* -X161580999Y-45872988D01* -X160706388Y-46747599D02* -X160706388Y-47429153D01* -X168256001Y-43034001D02* -X165101540Y-43034001D01* -X161394599Y-45422977D02* -X160256377Y-46561199D01* -X167558601Y-39940529D02* -X162076153Y-45422977D01* -X148522081Y-50038000D02* -X147320000Y-50038000D01* -X172720000Y-37319130D02* -X171857731Y-38181399D01* -X168339471Y-38181399D02* -X167558601Y-38962269D01* -X160256377Y-47242754D02* -X157461130Y-50038000D01* -X160256377Y-46561199D02* -X160256377Y-47242754D01* -X157461130Y-50038000D02* -X148522081Y-50038000D01* -X162076153Y-45422977D02* -X161394599Y-45422977D01* -X172720000Y-36068000D02* -X172720000Y-37319130D01* -X171857731Y-38181399D02* -X168339471Y-38181399D01* -X167558601Y-38962269D02* -X167558601Y-39940529D01* -X164459410Y-45369990D02* -X163181399Y-46648001D01* -X179070000Y-39370000D02* -X173070010Y-45369990D01* -X163181399Y-46648001D02* -X162331400Y-47498000D01* -X173070010Y-45369990D02* -X164459410Y-45369990D01* -X162478601Y-39940529D02* -X154159130Y-48260000D01* -X162478601Y-38962269D02* -X162478601Y-39940529D01* -X164846000Y-35617685D02* -X165018601Y-35790286D01* -X164237731Y-38181399D02* -X163259471Y-38181399D01* -X164846000Y-35052000D02* -X164846000Y-35617685D01* -X165018601Y-35790286D02* -X165018601Y-37400529D01* -X163259471Y-38181399D02* -X162478601Y-38962269D01* -X165018601Y-37400529D02* -X164237731Y-38181399D01* -X148419424Y-48041741D02* -X147863741Y-48041741D01* -X154159130Y-48260000D02* -X148637683Y-48260000D01* -X147863741Y-48041741D02* -X147320000Y-47498000D01* -X148637683Y-48260000D02* -X148419424Y-48041741D01* -M02* diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_Mask.gbs b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_Mask.gbs deleted file mode 100644 index b3118de..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_Mask.gbs +++ /dev/null @@ -1,3028 +0,0 @@ -G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3* -G04 #@! TF.CreationDate,2020-05-25T10:48:09-05:00* -G04 #@! TF.ProjectId,breakout_board_2x20,62726561-6b6f-4757-945f-626f6172645f,rev?* -G04 #@! TF.SameCoordinates,Original* -G04 #@! TF.FileFunction,Soldermask,Bot* -G04 #@! TF.FilePolarity,Negative* -%FSLAX46Y46*% -G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* -G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-05-25 10:48:09* -%MOMM*% -%LPD*% -G04 APERTURE LIST* -%ADD10C,0.100000*% -G04 APERTURE END LIST* -D10* -G36* -X162419512Y-94861927D02* -G01* -X162568812Y-94891624D01* -X162732784Y-94959544D01* -X162880354Y-95058147D01* -X163005853Y-95183646D01* -X163104456Y-95331216D01* -X163172376Y-95495188D01* -X163207000Y-95669259D01* -X163207000Y-95846741D01* -X163172376Y-96020812D01* -X163104456Y-96184784D01* -X163005853Y-96332354D01* -X162880354Y-96457853D01* -X162732784Y-96556456D01* -X162568812Y-96624376D01* -X162419512Y-96654073D01* -X162394742Y-96659000D01* -X162217258Y-96659000D01* -X162192488Y-96654073D01* -X162043188Y-96624376D01* -X161879216Y-96556456D01* -X161731646Y-96457853D01* -X161606147Y-96332354D01* -X161507544Y-96184784D01* -X161439624Y-96020812D01* -X161405000Y-95846741D01* -X161405000Y-95669259D01* -X161439624Y-95495188D01* -X161507544Y-95331216D01* -X161606147Y-95183646D01* -X161731646Y-95058147D01* -X161879216Y-94959544D01* -X162043188Y-94891624D01* -X162192488Y-94861927D01* -X162217258Y-94857000D01* -X162394742Y-94857000D01* -X162419512Y-94861927D01* -G37* -G36* -X147433512Y-94861927D02* -G01* -X147582812Y-94891624D01* -X147746784Y-94959544D01* -X147894354Y-95058147D01* -X148019853Y-95183646D01* -X148118456Y-95331216D01* -X148186376Y-95495188D01* -X148221000Y-95669259D01* -X148221000Y-95846741D01* -X148186376Y-96020812D01* -X148118456Y-96184784D01* -X148019853Y-96332354D01* -X147894354Y-96457853D01* -X147746784Y-96556456D01* -X147582812Y-96624376D01* -X147433512Y-96654073D01* -X147408742Y-96659000D01* -X147231258Y-96659000D01* -X147206488Y-96654073D01* -X147057188Y-96624376D01* -X146893216Y-96556456D01* -X146745646Y-96457853D01* -X146620147Y-96332354D01* -X146521544Y-96184784D01* -X146453624Y-96020812D01* -X146419000Y-95846741D01* -X146419000Y-95669259D01* -X146453624Y-95495188D01* -X146521544Y-95331216D01* -X146620147Y-95183646D01* -X146745646Y-95058147D01* -X146893216Y-94959544D01* -X147057188Y-94891624D01* -X147206488Y-94861927D01* -X147231258Y-94857000D01* -X147408742Y-94857000D01* -X147433512Y-94861927D01* -G37* -G36* -X162444912Y-92321927D02* -G01* -X162594212Y-92351624D01* -X162758184Y-92419544D01* -X162905754Y-92518147D01* -X163031253Y-92643646D01* -X163129856Y-92791216D01* -X163197776Y-92955188D01* -X163232400Y-93129259D01* -X163232400Y-93306741D01* -X163197776Y-93480812D01* -X163129856Y-93644784D01* -X163031253Y-93792354D01* -X162905754Y-93917853D01* -X162758184Y-94016456D01* -X162594212Y-94084376D01* -X162444912Y-94114073D01* -X162420142Y-94119000D01* -X162242658Y-94119000D01* -X162217888Y-94114073D01* -X162068588Y-94084376D01* -X161904616Y-94016456D01* -X161757046Y-93917853D01* -X161631547Y-93792354D01* -X161532944Y-93644784D01* -X161465024Y-93480812D01* -X161430400Y-93306741D01* -X161430400Y-93129259D01* -X161465024Y-92955188D01* -X161532944Y-92791216D01* -X161631547Y-92643646D01* -X161757046Y-92518147D01* -X161904616Y-92419544D01* -X162068588Y-92351624D01* -X162217888Y-92321927D01* -X162242658Y-92317000D01* -X162420142Y-92317000D01* -X162444912Y-92321927D01* -G37* -G36* -X147433512Y-92321927D02* -G01* -X147582812Y-92351624D01* -X147746784Y-92419544D01* -X147894354Y-92518147D01* -X148019853Y-92643646D01* -X148118456Y-92791216D01* -X148186376Y-92955188D01* -X148221000Y-93129259D01* -X148221000Y-93306741D01* -X148186376Y-93480812D01* -X148118456Y-93644784D01* -X148019853Y-93792354D01* -X147894354Y-93917853D01* -X147746784Y-94016456D01* -X147582812Y-94084376D01* -X147433512Y-94114073D01* -X147408742Y-94119000D01* -X147231258Y-94119000D01* -X147206488Y-94114073D01* -X147057188Y-94084376D01* -X146893216Y-94016456D01* -X146745646Y-93917853D01* -X146620147Y-93792354D01* -X146521544Y-93644784D01* -X146453624Y-93480812D01* -X146419000Y-93306741D01* -X146419000Y-93129259D01* -X146453624Y-92955188D01* -X146521544Y-92791216D01* -X146620147Y-92643646D01* -X146745646Y-92518147D01* -X146893216Y-92419544D01* -X147057188Y-92351624D01* -X147206488Y-92321927D01* -X147231258Y-92317000D01* -X147408742Y-92317000D01* -X147433512Y-92321927D01* -G37* -G36* -X162419512Y-89781927D02* -G01* -X162568812Y-89811624D01* -X162732784Y-89879544D01* -X162880354Y-89978147D01* -X163005853Y-90103646D01* -X163104456Y-90251216D01* -X163172376Y-90415188D01* -X163207000Y-90589259D01* -X163207000Y-90766741D01* -X163172376Y-90940812D01* -X163104456Y-91104784D01* -X163005853Y-91252354D01* -X162880354Y-91377853D01* -X162732784Y-91476456D01* -X162568812Y-91544376D01* -X162419512Y-91574073D01* -X162394742Y-91579000D01* -X162217258Y-91579000D01* -X162192488Y-91574073D01* -X162043188Y-91544376D01* -X161879216Y-91476456D01* -X161731646Y-91377853D01* -X161606147Y-91252354D01* -X161507544Y-91104784D01* -X161439624Y-90940812D01* -X161405000Y-90766741D01* -X161405000Y-90589259D01* -X161439624Y-90415188D01* -X161507544Y-90251216D01* -X161606147Y-90103646D01* -X161731646Y-89978147D01* -X161879216Y-89879544D01* -X162043188Y-89811624D01* -X162192488Y-89781927D01* -X162217258Y-89777000D01* -X162394742Y-89777000D01* -X162419512Y-89781927D01* -G37* -G36* -X147433512Y-89781927D02* -G01* -X147582812Y-89811624D01* -X147746784Y-89879544D01* -X147894354Y-89978147D01* -X148019853Y-90103646D01* -X148118456Y-90251216D01* -X148186376Y-90415188D01* -X148221000Y-90589259D01* -X148221000Y-90766741D01* -X148186376Y-90940812D01* -X148118456Y-91104784D01* -X148019853Y-91252354D01* -X147894354Y-91377853D01* -X147746784Y-91476456D01* -X147582812Y-91544376D01* -X147433512Y-91574073D01* -X147408742Y-91579000D01* -X147231258Y-91579000D01* -X147206488Y-91574073D01* -X147057188Y-91544376D01* -X146893216Y-91476456D01* -X146745646Y-91377853D01* -X146620147Y-91252354D01* -X146521544Y-91104784D01* -X146453624Y-90940812D01* -X146419000Y-90766741D01* -X146419000Y-90589259D01* -X146453624Y-90415188D01* -X146521544Y-90251216D01* -X146620147Y-90103646D01* -X146745646Y-89978147D01* -X146893216Y-89879544D01* -X147057188Y-89811624D01* -X147206488Y-89781927D01* -X147231258Y-89777000D01* -X147408742Y-89777000D01* -X147433512Y-89781927D01* -G37* -G36* -X162444912Y-87241927D02* -G01* -X162594212Y-87271624D01* -X162758184Y-87339544D01* -X162905754Y-87438147D01* -X163031253Y-87563646D01* -X163129856Y-87711216D01* -X163197776Y-87875188D01* -X163232400Y-88049259D01* -X163232400Y-88226741D01* -X163197776Y-88400812D01* -X163129856Y-88564784D01* -X163031253Y-88712354D01* -X162905754Y-88837853D01* -X162758184Y-88936456D01* -X162594212Y-89004376D01* -X162444912Y-89034073D01* -X162420142Y-89039000D01* -X162242658Y-89039000D01* -X162217888Y-89034073D01* -X162068588Y-89004376D01* -X161904616Y-88936456D01* -X161757046Y-88837853D01* -X161631547Y-88712354D01* -X161532944Y-88564784D01* -X161465024Y-88400812D01* -X161430400Y-88226741D01* -X161430400Y-88049259D01* -X161465024Y-87875188D01* -X161532944Y-87711216D01* -X161631547Y-87563646D01* -X161757046Y-87438147D01* -X161904616Y-87339544D01* -X162068588Y-87271624D01* -X162217888Y-87241927D01* -X162242658Y-87237000D01* -X162420142Y-87237000D01* -X162444912Y-87241927D01* -G37* -G36* -X147433512Y-87241927D02* -G01* -X147582812Y-87271624D01* -X147746784Y-87339544D01* -X147894354Y-87438147D01* -X148019853Y-87563646D01* -X148118456Y-87711216D01* -X148186376Y-87875188D01* -X148221000Y-88049259D01* -X148221000Y-88226741D01* -X148186376Y-88400812D01* -X148118456Y-88564784D01* -X148019853Y-88712354D01* -X147894354Y-88837853D01* -X147746784Y-88936456D01* -X147582812Y-89004376D01* -X147433512Y-89034073D01* -X147408742Y-89039000D01* -X147231258Y-89039000D01* -X147206488Y-89034073D01* -X147057188Y-89004376D01* -X146893216Y-88936456D01* -X146745646Y-88837853D01* -X146620147Y-88712354D01* -X146521544Y-88564784D01* -X146453624Y-88400812D01* -X146419000Y-88226741D01* -X146419000Y-88049259D01* -X146453624Y-87875188D01* -X146521544Y-87711216D01* -X146620147Y-87563646D01* -X146745646Y-87438147D01* -X146893216Y-87339544D01* -X147057188Y-87271624D01* -X147206488Y-87241927D01* -X147231258Y-87237000D01* -X147408742Y-87237000D01* -X147433512Y-87241927D01* -G37* -G36* -X162419512Y-84701927D02* -G01* -X162568812Y-84731624D01* -X162732784Y-84799544D01* -X162880354Y-84898147D01* -X163005853Y-85023646D01* -X163104456Y-85171216D01* -X163172376Y-85335188D01* -X163207000Y-85509259D01* -X163207000Y-85686741D01* -X163172376Y-85860812D01* -X163104456Y-86024784D01* -X163005853Y-86172354D01* -X162880354Y-86297853D01* -X162732784Y-86396456D01* -X162568812Y-86464376D01* -X162419512Y-86494073D01* -X162394742Y-86499000D01* -X162217258Y-86499000D01* -X162192488Y-86494073D01* -X162043188Y-86464376D01* -X161879216Y-86396456D01* -X161731646Y-86297853D01* -X161606147Y-86172354D01* -X161507544Y-86024784D01* -X161439624Y-85860812D01* -X161405000Y-85686741D01* -X161405000Y-85509259D01* -X161439624Y-85335188D01* -X161507544Y-85171216D01* -X161606147Y-85023646D01* -X161731646Y-84898147D01* -X161879216Y-84799544D01* -X162043188Y-84731624D01* -X162192488Y-84701927D01* -X162217258Y-84697000D01* -X162394742Y-84697000D01* -X162419512Y-84701927D01* -G37* -G36* -X147433512Y-84701927D02* -G01* -X147582812Y-84731624D01* -X147746784Y-84799544D01* -X147894354Y-84898147D01* -X148019853Y-85023646D01* -X148118456Y-85171216D01* -X148186376Y-85335188D01* -X148221000Y-85509259D01* -X148221000Y-85686741D01* -X148186376Y-85860812D01* -X148118456Y-86024784D01* -X148019853Y-86172354D01* -X147894354Y-86297853D01* -X147746784Y-86396456D01* -X147582812Y-86464376D01* -X147433512Y-86494073D01* -X147408742Y-86499000D01* -X147231258Y-86499000D01* -X147206488Y-86494073D01* -X147057188Y-86464376D01* -X146893216Y-86396456D01* -X146745646Y-86297853D01* -X146620147Y-86172354D01* -X146521544Y-86024784D01* -X146453624Y-85860812D01* -X146419000Y-85686741D01* -X146419000Y-85509259D01* -X146453624Y-85335188D01* -X146521544Y-85171216D01* -X146620147Y-85023646D01* -X146745646Y-84898147D01* -X146893216Y-84799544D01* -X147057188Y-84731624D01* -X147206488Y-84701927D01* -X147231258Y-84697000D01* -X147408742Y-84697000D01* -X147433512Y-84701927D01* -G37* -G36* -X147433512Y-82161927D02* -G01* -X147582812Y-82191624D01* -X147746784Y-82259544D01* -X147894354Y-82358147D01* -X148019853Y-82483646D01* -X148118456Y-82631216D01* -X148186376Y-82795188D01* -X148221000Y-82969259D01* -X148221000Y-83146741D01* -X148186376Y-83320812D01* -X148118456Y-83484784D01* -X148019853Y-83632354D01* -X147894354Y-83757853D01* -X147746784Y-83856456D01* -X147582812Y-83924376D01* -X147433512Y-83954073D01* -X147408742Y-83959000D01* -X147231258Y-83959000D01* -X147206488Y-83954073D01* -X147057188Y-83924376D01* -X146893216Y-83856456D01* -X146745646Y-83757853D01* -X146620147Y-83632354D01* -X146521544Y-83484784D01* -X146453624Y-83320812D01* -X146419000Y-83146741D01* -X146419000Y-82969259D01* -X146453624Y-82795188D01* -X146521544Y-82631216D01* -X146620147Y-82483646D01* -X146745646Y-82358147D01* -X146893216Y-82259544D01* -X147057188Y-82191624D01* -X147206488Y-82161927D01* -X147231258Y-82157000D01* -X147408742Y-82157000D01* -X147433512Y-82161927D01* -G37* -G36* -X162444912Y-82161927D02* -G01* -X162594212Y-82191624D01* -X162758184Y-82259544D01* -X162905754Y-82358147D01* -X163031253Y-82483646D01* -X163129856Y-82631216D01* -X163197776Y-82795188D01* -X163232400Y-82969259D01* -X163232400Y-83146741D01* -X163197776Y-83320812D01* -X163129856Y-83484784D01* -X163031253Y-83632354D01* -X162905754Y-83757853D01* -X162758184Y-83856456D01* -X162594212Y-83924376D01* -X162444912Y-83954073D01* -X162420142Y-83959000D01* -X162242658Y-83959000D01* -X162217888Y-83954073D01* -X162068588Y-83924376D01* -X161904616Y-83856456D01* -X161757046Y-83757853D01* -X161631547Y-83632354D01* -X161532944Y-83484784D01* -X161465024Y-83320812D01* -X161430400Y-83146741D01* -X161430400Y-82969259D01* -X161465024Y-82795188D01* -X161532944Y-82631216D01* -X161631547Y-82483646D01* -X161757046Y-82358147D01* -X161904616Y-82259544D01* -X162068588Y-82191624D01* -X162217888Y-82161927D01* -X162242658Y-82157000D01* -X162420142Y-82157000D01* -X162444912Y-82161927D01* -G37* -G36* -X147433512Y-79621927D02* -G01* -X147582812Y-79651624D01* -X147746784Y-79719544D01* -X147894354Y-79818147D01* -X148019853Y-79943646D01* -X148118456Y-80091216D01* -X148186376Y-80255188D01* -X148221000Y-80429259D01* -X148221000Y-80606741D01* -X148186376Y-80780812D01* -X148118456Y-80944784D01* -X148019853Y-81092354D01* -X147894354Y-81217853D01* -X147746784Y-81316456D01* -X147582812Y-81384376D01* -X147433512Y-81414073D01* -X147408742Y-81419000D01* -X147231258Y-81419000D01* -X147206488Y-81414073D01* -X147057188Y-81384376D01* -X146893216Y-81316456D01* -X146745646Y-81217853D01* -X146620147Y-81092354D01* -X146521544Y-80944784D01* -X146453624Y-80780812D01* -X146419000Y-80606741D01* -X146419000Y-80429259D01* -X146453624Y-80255188D01* -X146521544Y-80091216D01* -X146620147Y-79943646D01* -X146745646Y-79818147D01* -X146893216Y-79719544D01* -X147057188Y-79651624D01* -X147206488Y-79621927D01* -X147231258Y-79617000D01* -X147408742Y-79617000D01* -X147433512Y-79621927D01* -G37* -G36* -X162419512Y-79621927D02* -G01* -X162568812Y-79651624D01* -X162732784Y-79719544D01* -X162880354Y-79818147D01* -X163005853Y-79943646D01* -X163104456Y-80091216D01* -X163172376Y-80255188D01* -X163207000Y-80429259D01* -X163207000Y-80606741D01* -X163172376Y-80780812D01* -X163104456Y-80944784D01* -X163005853Y-81092354D01* -X162880354Y-81217853D01* -X162732784Y-81316456D01* -X162568812Y-81384376D01* -X162419512Y-81414073D01* -X162394742Y-81419000D01* -X162217258Y-81419000D01* -X162192488Y-81414073D01* -X162043188Y-81384376D01* -X161879216Y-81316456D01* -X161731646Y-81217853D01* -X161606147Y-81092354D01* -X161507544Y-80944784D01* -X161439624Y-80780812D01* -X161405000Y-80606741D01* -X161405000Y-80429259D01* -X161439624Y-80255188D01* -X161507544Y-80091216D01* -X161606147Y-79943646D01* -X161731646Y-79818147D01* -X161879216Y-79719544D01* -X162043188Y-79651624D01* -X162192488Y-79621927D01* -X162217258Y-79617000D01* -X162394742Y-79617000D01* -X162419512Y-79621927D01* -G37* -G36* -X147433512Y-77081927D02* -G01* -X147582812Y-77111624D01* -X147746784Y-77179544D01* -X147894354Y-77278147D01* -X148019853Y-77403646D01* -X148118456Y-77551216D01* -X148186376Y-77715188D01* -X148221000Y-77889259D01* -X148221000Y-78066741D01* -X148186376Y-78240812D01* -X148118456Y-78404784D01* -X148019853Y-78552354D01* -X147894354Y-78677853D01* -X147746784Y-78776456D01* -X147582812Y-78844376D01* -X147433512Y-78874073D01* -X147408742Y-78879000D01* -X147231258Y-78879000D01* -X147206488Y-78874073D01* -X147057188Y-78844376D01* -X146893216Y-78776456D01* -X146745646Y-78677853D01* -X146620147Y-78552354D01* -X146521544Y-78404784D01* -X146453624Y-78240812D01* -X146419000Y-78066741D01* -X146419000Y-77889259D01* -X146453624Y-77715188D01* -X146521544Y-77551216D01* -X146620147Y-77403646D01* -X146745646Y-77278147D01* -X146893216Y-77179544D01* -X147057188Y-77111624D01* -X147206488Y-77081927D01* -X147231258Y-77077000D01* -X147408742Y-77077000D01* -X147433512Y-77081927D01* -G37* -G36* -X162444912Y-77081927D02* -G01* -X162594212Y-77111624D01* -X162758184Y-77179544D01* -X162905754Y-77278147D01* -X163031253Y-77403646D01* -X163129856Y-77551216D01* -X163197776Y-77715188D01* -X163232400Y-77889259D01* -X163232400Y-78066741D01* -X163197776Y-78240812D01* -X163129856Y-78404784D01* -X163031253Y-78552354D01* -X162905754Y-78677853D01* -X162758184Y-78776456D01* -X162594212Y-78844376D01* -X162444912Y-78874073D01* -X162420142Y-78879000D01* -X162242658Y-78879000D01* -X162217888Y-78874073D01* -X162068588Y-78844376D01* -X161904616Y-78776456D01* -X161757046Y-78677853D01* -X161631547Y-78552354D01* -X161532944Y-78404784D01* -X161465024Y-78240812D01* -X161430400Y-78066741D01* -X161430400Y-77889259D01* -X161465024Y-77715188D01* -X161532944Y-77551216D01* -X161631547Y-77403646D01* -X161757046Y-77278147D01* -X161904616Y-77179544D01* -X162068588Y-77111624D01* -X162217888Y-77081927D01* -X162242658Y-77077000D01* -X162420142Y-77077000D01* -X162444912Y-77081927D01* -G37* -G36* -X147433512Y-74541927D02* -G01* -X147582812Y-74571624D01* -X147746784Y-74639544D01* -X147894354Y-74738147D01* -X148019853Y-74863646D01* -X148118456Y-75011216D01* -X148186376Y-75175188D01* -X148221000Y-75349259D01* -X148221000Y-75526741D01* -X148186376Y-75700812D01* -X148118456Y-75864784D01* -X148019853Y-76012354D01* -X147894354Y-76137853D01* -X147746784Y-76236456D01* -X147582812Y-76304376D01* -X147433512Y-76334073D01* -X147408742Y-76339000D01* -X147231258Y-76339000D01* -X147206488Y-76334073D01* -X147057188Y-76304376D01* -X146893216Y-76236456D01* -X146745646Y-76137853D01* -X146620147Y-76012354D01* -X146521544Y-75864784D01* -X146453624Y-75700812D01* -X146419000Y-75526741D01* -X146419000Y-75349259D01* -X146453624Y-75175188D01* -X146521544Y-75011216D01* -X146620147Y-74863646D01* -X146745646Y-74738147D01* -X146893216Y-74639544D01* -X147057188Y-74571624D01* -X147206488Y-74541927D01* -X147231258Y-74537000D01* -X147408742Y-74537000D01* -X147433512Y-74541927D01* -G37* -G36* -X162419512Y-74541927D02* -G01* -X162568812Y-74571624D01* -X162732784Y-74639544D01* -X162880354Y-74738147D01* -X163005853Y-74863646D01* -X163104456Y-75011216D01* -X163172376Y-75175188D01* -X163207000Y-75349259D01* -X163207000Y-75526741D01* -X163172376Y-75700812D01* -X163104456Y-75864784D01* -X163005853Y-76012354D01* -X162880354Y-76137853D01* -X162732784Y-76236456D01* -X162568812Y-76304376D01* -X162419512Y-76334073D01* -X162394742Y-76339000D01* -X162217258Y-76339000D01* -X162192488Y-76334073D01* -X162043188Y-76304376D01* -X161879216Y-76236456D01* -X161731646Y-76137853D01* -X161606147Y-76012354D01* -X161507544Y-75864784D01* -X161439624Y-75700812D01* -X161405000Y-75526741D01* -X161405000Y-75349259D01* -X161439624Y-75175188D01* -X161507544Y-75011216D01* -X161606147Y-74863646D01* -X161731646Y-74738147D01* -X161879216Y-74639544D01* -X162043188Y-74571624D01* -X162192488Y-74541927D01* -X162217258Y-74537000D01* -X162394742Y-74537000D01* -X162419512Y-74541927D01* -G37* -G36* -X147433512Y-72001927D02* -G01* -X147582812Y-72031624D01* -X147746784Y-72099544D01* -X147894354Y-72198147D01* -X148019853Y-72323646D01* -X148118456Y-72471216D01* -X148186376Y-72635188D01* -X148221000Y-72809259D01* -X148221000Y-72986741D01* -X148186376Y-73160812D01* -X148118456Y-73324784D01* -X148019853Y-73472354D01* -X147894354Y-73597853D01* -X147746784Y-73696456D01* -X147582812Y-73764376D01* -X147433512Y-73794073D01* -X147408742Y-73799000D01* -X147231258Y-73799000D01* -X147206488Y-73794073D01* -X147057188Y-73764376D01* -X146893216Y-73696456D01* -X146745646Y-73597853D01* -X146620147Y-73472354D01* -X146521544Y-73324784D01* -X146453624Y-73160812D01* -X146419000Y-72986741D01* -X146419000Y-72809259D01* -X146453624Y-72635188D01* -X146521544Y-72471216D01* -X146620147Y-72323646D01* -X146745646Y-72198147D01* -X146893216Y-72099544D01* -X147057188Y-72031624D01* -X147206488Y-72001927D01* -X147231258Y-71997000D01* -X147408742Y-71997000D01* -X147433512Y-72001927D01* -G37* -G36* -X162444912Y-72001927D02* -G01* -X162594212Y-72031624D01* -X162758184Y-72099544D01* -X162905754Y-72198147D01* -X163031253Y-72323646D01* -X163129856Y-72471216D01* -X163197776Y-72635188D01* -X163232400Y-72809259D01* -X163232400Y-72986741D01* -X163197776Y-73160812D01* -X163129856Y-73324784D01* -X163031253Y-73472354D01* -X162905754Y-73597853D01* -X162758184Y-73696456D01* -X162594212Y-73764376D01* -X162444912Y-73794073D01* -X162420142Y-73799000D01* -X162242658Y-73799000D01* -X162217888Y-73794073D01* -X162068588Y-73764376D01* -X161904616Y-73696456D01* -X161757046Y-73597853D01* -X161631547Y-73472354D01* -X161532944Y-73324784D01* -X161465024Y-73160812D01* -X161430400Y-72986741D01* -X161430400Y-72809259D01* -X161465024Y-72635188D01* -X161532944Y-72471216D01* -X161631547Y-72323646D01* -X161757046Y-72198147D01* -X161904616Y-72099544D01* -X162068588Y-72031624D01* -X162217888Y-72001927D01* -X162242658Y-71997000D01* -X162420142Y-71997000D01* -X162444912Y-72001927D01* -G37* -G36* -X147433512Y-69461927D02* -G01* -X147582812Y-69491624D01* -X147746784Y-69559544D01* -X147894354Y-69658147D01* -X148019853Y-69783646D01* -X148118456Y-69931216D01* -X148186376Y-70095188D01* -X148221000Y-70269259D01* -X148221000Y-70446741D01* -X148186376Y-70620812D01* -X148118456Y-70784784D01* -X148019853Y-70932354D01* -X147894354Y-71057853D01* -X147746784Y-71156456D01* -X147582812Y-71224376D01* -X147433512Y-71254073D01* -X147408742Y-71259000D01* -X147231258Y-71259000D01* -X147206488Y-71254073D01* -X147057188Y-71224376D01* -X146893216Y-71156456D01* -X146745646Y-71057853D01* -X146620147Y-70932354D01* -X146521544Y-70784784D01* -X146453624Y-70620812D01* -X146419000Y-70446741D01* -X146419000Y-70269259D01* -X146453624Y-70095188D01* -X146521544Y-69931216D01* -X146620147Y-69783646D01* -X146745646Y-69658147D01* -X146893216Y-69559544D01* -X147057188Y-69491624D01* -X147206488Y-69461927D01* -X147231258Y-69457000D01* -X147408742Y-69457000D01* -X147433512Y-69461927D01* -G37* -G36* -X162419512Y-69461927D02* -G01* -X162568812Y-69491624D01* -X162732784Y-69559544D01* -X162880354Y-69658147D01* -X163005853Y-69783646D01* -X163104456Y-69931216D01* -X163172376Y-70095188D01* -X163207000Y-70269259D01* -X163207000Y-70446741D01* -X163172376Y-70620812D01* -X163104456Y-70784784D01* -X163005853Y-70932354D01* -X162880354Y-71057853D01* -X162732784Y-71156456D01* -X162568812Y-71224376D01* -X162419512Y-71254073D01* -X162394742Y-71259000D01* -X162217258Y-71259000D01* -X162192488Y-71254073D01* -X162043188Y-71224376D01* -X161879216Y-71156456D01* -X161731646Y-71057853D01* -X161606147Y-70932354D01* -X161507544Y-70784784D01* -X161439624Y-70620812D01* -X161405000Y-70446741D01* -X161405000Y-70269259D01* -X161439624Y-70095188D01* -X161507544Y-69931216D01* -X161606147Y-69783646D01* -X161731646Y-69658147D01* -X161879216Y-69559544D01* -X162043188Y-69491624D01* -X162192488Y-69461927D01* -X162217258Y-69457000D01* -X162394742Y-69457000D01* -X162419512Y-69461927D01* -G37* -G36* -X147433512Y-66921927D02* -G01* -X147582812Y-66951624D01* -X147746784Y-67019544D01* -X147894354Y-67118147D01* -X148019853Y-67243646D01* -X148118456Y-67391216D01* -X148186376Y-67555188D01* -X148221000Y-67729259D01* -X148221000Y-67906741D01* -X148186376Y-68080812D01* -X148118456Y-68244784D01* -X148019853Y-68392354D01* -X147894354Y-68517853D01* -X147746784Y-68616456D01* -X147582812Y-68684376D01* -X147433512Y-68714073D01* -X147408742Y-68719000D01* -X147231258Y-68719000D01* -X147206488Y-68714073D01* -X147057188Y-68684376D01* -X146893216Y-68616456D01* -X146745646Y-68517853D01* -X146620147Y-68392354D01* -X146521544Y-68244784D01* -X146453624Y-68080812D01* -X146419000Y-67906741D01* -X146419000Y-67729259D01* -X146453624Y-67555188D01* -X146521544Y-67391216D01* -X146620147Y-67243646D01* -X146745646Y-67118147D01* -X146893216Y-67019544D01* -X147057188Y-66951624D01* -X147206488Y-66921927D01* -X147231258Y-66917000D01* -X147408742Y-66917000D01* -X147433512Y-66921927D01* -G37* -G36* -X162444912Y-66921927D02* -G01* -X162594212Y-66951624D01* -X162758184Y-67019544D01* -X162905754Y-67118147D01* -X163031253Y-67243646D01* -X163129856Y-67391216D01* -X163197776Y-67555188D01* -X163232400Y-67729259D01* -X163232400Y-67906741D01* -X163197776Y-68080812D01* -X163129856Y-68244784D01* -X163031253Y-68392354D01* -X162905754Y-68517853D01* -X162758184Y-68616456D01* -X162594212Y-68684376D01* -X162444912Y-68714073D01* -X162420142Y-68719000D01* -X162242658Y-68719000D01* -X162217888Y-68714073D01* -X162068588Y-68684376D01* -X161904616Y-68616456D01* -X161757046Y-68517853D01* -X161631547Y-68392354D01* -X161532944Y-68244784D01* -X161465024Y-68080812D01* -X161430400Y-67906741D01* -X161430400Y-67729259D01* -X161465024Y-67555188D01* -X161532944Y-67391216D01* -X161631547Y-67243646D01* -X161757046Y-67118147D01* -X161904616Y-67019544D01* -X162068588Y-66951624D01* -X162217888Y-66921927D01* -X162242658Y-66917000D01* -X162420142Y-66917000D01* -X162444912Y-66921927D01* -G37* -G36* -X147433512Y-64381927D02* -G01* -X147582812Y-64411624D01* -X147746784Y-64479544D01* -X147894354Y-64578147D01* -X148019853Y-64703646D01* -X148118456Y-64851216D01* -X148186376Y-65015188D01* -X148221000Y-65189259D01* -X148221000Y-65366741D01* -X148186376Y-65540812D01* -X148118456Y-65704784D01* -X148019853Y-65852354D01* -X147894354Y-65977853D01* -X147746784Y-66076456D01* -X147582812Y-66144376D01* -X147433512Y-66174073D01* -X147408742Y-66179000D01* -X147231258Y-66179000D01* -X147206488Y-66174073D01* -X147057188Y-66144376D01* -X146893216Y-66076456D01* -X146745646Y-65977853D01* -X146620147Y-65852354D01* -X146521544Y-65704784D01* -X146453624Y-65540812D01* -X146419000Y-65366741D01* -X146419000Y-65189259D01* -X146453624Y-65015188D01* -X146521544Y-64851216D01* -X146620147Y-64703646D01* -X146745646Y-64578147D01* -X146893216Y-64479544D01* -X147057188Y-64411624D01* -X147206488Y-64381927D01* -X147231258Y-64377000D01* -X147408742Y-64377000D01* -X147433512Y-64381927D01* -G37* -G36* -X162419512Y-64381927D02* -G01* -X162568812Y-64411624D01* -X162732784Y-64479544D01* -X162880354Y-64578147D01* -X163005853Y-64703646D01* -X163104456Y-64851216D01* -X163172376Y-65015188D01* -X163207000Y-65189259D01* -X163207000Y-65366741D01* -X163172376Y-65540812D01* -X163104456Y-65704784D01* -X163005853Y-65852354D01* -X162880354Y-65977853D01* -X162732784Y-66076456D01* -X162568812Y-66144376D01* -X162419512Y-66174073D01* -X162394742Y-66179000D01* -X162217258Y-66179000D01* -X162192488Y-66174073D01* -X162043188Y-66144376D01* -X161879216Y-66076456D01* -X161731646Y-65977853D01* -X161606147Y-65852354D01* -X161507544Y-65704784D01* -X161439624Y-65540812D01* -X161405000Y-65366741D01* -X161405000Y-65189259D01* -X161439624Y-65015188D01* -X161507544Y-64851216D01* -X161606147Y-64703646D01* -X161731646Y-64578147D01* -X161879216Y-64479544D01* -X162043188Y-64411624D01* -X162192488Y-64381927D01* -X162217258Y-64377000D01* -X162394742Y-64377000D01* -X162419512Y-64381927D01* -G37* -G36* -X147433512Y-61841927D02* -G01* -X147582812Y-61871624D01* -X147746784Y-61939544D01* -X147894354Y-62038147D01* -X148019853Y-62163646D01* -X148118456Y-62311216D01* -X148186376Y-62475188D01* -X148221000Y-62649259D01* -X148221000Y-62826741D01* -X148186376Y-63000812D01* -X148118456Y-63164784D01* -X148019853Y-63312354D01* -X147894354Y-63437853D01* -X147746784Y-63536456D01* -X147582812Y-63604376D01* -X147433512Y-63634073D01* -X147408742Y-63639000D01* -X147231258Y-63639000D01* -X147206488Y-63634073D01* -X147057188Y-63604376D01* -X146893216Y-63536456D01* -X146745646Y-63437853D01* -X146620147Y-63312354D01* -X146521544Y-63164784D01* -X146453624Y-63000812D01* -X146419000Y-62826741D01* -X146419000Y-62649259D01* -X146453624Y-62475188D01* -X146521544Y-62311216D01* -X146620147Y-62163646D01* -X146745646Y-62038147D01* -X146893216Y-61939544D01* -X147057188Y-61871624D01* -X147206488Y-61841927D01* -X147231258Y-61837000D01* -X147408742Y-61837000D01* -X147433512Y-61841927D01* -G37* -G36* -X162444912Y-61841927D02* -G01* -X162594212Y-61871624D01* -X162758184Y-61939544D01* -X162905754Y-62038147D01* -X163031253Y-62163646D01* -X163129856Y-62311216D01* -X163197776Y-62475188D01* -X163232400Y-62649259D01* -X163232400Y-62826741D01* -X163197776Y-63000812D01* -X163129856Y-63164784D01* -X163031253Y-63312354D01* -X162905754Y-63437853D01* -X162758184Y-63536456D01* -X162594212Y-63604376D01* -X162444912Y-63634073D01* -X162420142Y-63639000D01* -X162242658Y-63639000D01* -X162217888Y-63634073D01* -X162068588Y-63604376D01* -X161904616Y-63536456D01* -X161757046Y-63437853D01* -X161631547Y-63312354D01* -X161532944Y-63164784D01* -X161465024Y-63000812D01* -X161430400Y-62826741D01* -X161430400Y-62649259D01* -X161465024Y-62475188D01* -X161532944Y-62311216D01* -X161631547Y-62163646D01* -X161757046Y-62038147D01* -X161904616Y-61939544D01* -X162068588Y-61871624D01* -X162217888Y-61841927D01* -X162242658Y-61837000D01* -X162420142Y-61837000D01* -X162444912Y-61841927D01* -G37* -G36* -X162419512Y-59301927D02* -G01* -X162568812Y-59331624D01* -X162732784Y-59399544D01* -X162880354Y-59498147D01* -X163005853Y-59623646D01* -X163104456Y-59771216D01* -X163172376Y-59935188D01* -X163207000Y-60109259D01* -X163207000Y-60286741D01* -X163172376Y-60460812D01* -X163104456Y-60624784D01* -X163005853Y-60772354D01* -X162880354Y-60897853D01* -X162732784Y-60996456D01* -X162568812Y-61064376D01* -X162419512Y-61094073D01* -X162394742Y-61099000D01* -X162217258Y-61099000D01* -X162192488Y-61094073D01* -X162043188Y-61064376D01* -X161879216Y-60996456D01* -X161731646Y-60897853D01* -X161606147Y-60772354D01* -X161507544Y-60624784D01* -X161439624Y-60460812D01* -X161405000Y-60286741D01* -X161405000Y-60109259D01* -X161439624Y-59935188D01* -X161507544Y-59771216D01* -X161606147Y-59623646D01* -X161731646Y-59498147D01* -X161879216Y-59399544D01* -X162043188Y-59331624D01* -X162192488Y-59301927D01* -X162217258Y-59297000D01* -X162394742Y-59297000D01* -X162419512Y-59301927D01* -G37* -G36* -X147433512Y-59301927D02* -G01* -X147582812Y-59331624D01* -X147746784Y-59399544D01* -X147894354Y-59498147D01* -X148019853Y-59623646D01* -X148118456Y-59771216D01* -X148186376Y-59935188D01* -X148221000Y-60109259D01* -X148221000Y-60286741D01* -X148186376Y-60460812D01* -X148118456Y-60624784D01* -X148019853Y-60772354D01* -X147894354Y-60897853D01* -X147746784Y-60996456D01* -X147582812Y-61064376D01* -X147433512Y-61094073D01* -X147408742Y-61099000D01* -X147231258Y-61099000D01* -X147206488Y-61094073D01* -X147057188Y-61064376D01* -X146893216Y-60996456D01* -X146745646Y-60897853D01* -X146620147Y-60772354D01* -X146521544Y-60624784D01* -X146453624Y-60460812D01* -X146419000Y-60286741D01* -X146419000Y-60109259D01* -X146453624Y-59935188D01* -X146521544Y-59771216D01* -X146620147Y-59623646D01* -X146745646Y-59498147D01* -X146893216Y-59399544D01* -X147057188Y-59331624D01* -X147206488Y-59301927D01* -X147231258Y-59297000D01* -X147408742Y-59297000D01* -X147433512Y-59301927D01* -G37* -G36* -X162444912Y-56761927D02* -G01* -X162594212Y-56791624D01* -X162758184Y-56859544D01* -X162905754Y-56958147D01* -X163031253Y-57083646D01* -X163129856Y-57231216D01* -X163197776Y-57395188D01* -X163232400Y-57569259D01* -X163232400Y-57746741D01* -X163197776Y-57920812D01* -X163129856Y-58084784D01* -X163031253Y-58232354D01* -X162905754Y-58357853D01* -X162758184Y-58456456D01* -X162594212Y-58524376D01* -X162444912Y-58554073D01* -X162420142Y-58559000D01* -X162242658Y-58559000D01* -X162217888Y-58554073D01* -X162068588Y-58524376D01* -X161904616Y-58456456D01* -X161757046Y-58357853D01* -X161631547Y-58232354D01* -X161532944Y-58084784D01* -X161465024Y-57920812D01* -X161430400Y-57746741D01* -X161430400Y-57569259D01* -X161465024Y-57395188D01* -X161532944Y-57231216D01* -X161631547Y-57083646D01* -X161757046Y-56958147D01* -X161904616Y-56859544D01* -X162068588Y-56791624D01* -X162217888Y-56761927D01* -X162242658Y-56757000D01* -X162420142Y-56757000D01* -X162444912Y-56761927D01* -G37* -G36* -X147433512Y-56761927D02* -G01* -X147582812Y-56791624D01* -X147746784Y-56859544D01* -X147894354Y-56958147D01* -X148019853Y-57083646D01* -X148118456Y-57231216D01* -X148186376Y-57395188D01* -X148221000Y-57569259D01* -X148221000Y-57746741D01* -X148186376Y-57920812D01* -X148118456Y-58084784D01* -X148019853Y-58232354D01* -X147894354Y-58357853D01* -X147746784Y-58456456D01* -X147582812Y-58524376D01* -X147433512Y-58554073D01* -X147408742Y-58559000D01* -X147231258Y-58559000D01* -X147206488Y-58554073D01* -X147057188Y-58524376D01* -X146893216Y-58456456D01* -X146745646Y-58357853D01* -X146620147Y-58232354D01* -X146521544Y-58084784D01* -X146453624Y-57920812D01* -X146419000Y-57746741D01* -X146419000Y-57569259D01* -X146453624Y-57395188D01* -X146521544Y-57231216D01* -X146620147Y-57083646D01* -X146745646Y-56958147D01* -X146893216Y-56859544D01* -X147057188Y-56791624D01* -X147206488Y-56761927D01* -X147231258Y-56757000D01* -X147408742Y-56757000D01* -X147433512Y-56761927D01* -G37* -G36* -X147433512Y-54221927D02* -G01* -X147582812Y-54251624D01* -X147746784Y-54319544D01* -X147894354Y-54418147D01* -X148019853Y-54543646D01* -X148118456Y-54691216D01* -X148186376Y-54855188D01* -X148221000Y-55029259D01* -X148221000Y-55206741D01* -X148186376Y-55380812D01* -X148118456Y-55544784D01* -X148019853Y-55692354D01* -X147894354Y-55817853D01* -X147746784Y-55916456D01* -X147582812Y-55984376D01* -X147433512Y-56014073D01* -X147408742Y-56019000D01* -X147231258Y-56019000D01* -X147206488Y-56014073D01* -X147057188Y-55984376D01* -X146893216Y-55916456D01* -X146745646Y-55817853D01* -X146620147Y-55692354D01* -X146521544Y-55544784D01* -X146453624Y-55380812D01* -X146419000Y-55206741D01* -X146419000Y-55029259D01* -X146453624Y-54855188D01* -X146521544Y-54691216D01* -X146620147Y-54543646D01* -X146745646Y-54418147D01* -X146893216Y-54319544D01* -X147057188Y-54251624D01* -X147206488Y-54221927D01* -X147231258Y-54217000D01* -X147408742Y-54217000D01* -X147433512Y-54221927D01* -G37* -G36* -X162419512Y-54221927D02* -G01* -X162568812Y-54251624D01* -X162732784Y-54319544D01* -X162880354Y-54418147D01* -X163005853Y-54543646D01* -X163104456Y-54691216D01* -X163172376Y-54855188D01* -X163207000Y-55029259D01* -X163207000Y-55206741D01* -X163172376Y-55380812D01* -X163104456Y-55544784D01* -X163005853Y-55692354D01* -X162880354Y-55817853D01* -X162732784Y-55916456D01* -X162568812Y-55984376D01* -X162419512Y-56014073D01* -X162394742Y-56019000D01* -X162217258Y-56019000D01* -X162192488Y-56014073D01* -X162043188Y-55984376D01* -X161879216Y-55916456D01* -X161731646Y-55817853D01* -X161606147Y-55692354D01* -X161507544Y-55544784D01* -X161439624Y-55380812D01* -X161405000Y-55206741D01* -X161405000Y-55029259D01* -X161439624Y-54855188D01* -X161507544Y-54691216D01* -X161606147Y-54543646D01* -X161731646Y-54418147D01* -X161879216Y-54319544D01* -X162043188Y-54251624D01* -X162192488Y-54221927D01* -X162217258Y-54217000D01* -X162394742Y-54217000D01* -X162419512Y-54221927D01* -G37* -G36* -X147433512Y-51681927D02* -G01* -X147582812Y-51711624D01* -X147746784Y-51779544D01* -X147894354Y-51878147D01* -X148019853Y-52003646D01* -X148118456Y-52151216D01* -X148186376Y-52315188D01* -X148221000Y-52489259D01* -X148221000Y-52666741D01* -X148186376Y-52840812D01* -X148118456Y-53004784D01* -X148019853Y-53152354D01* -X147894354Y-53277853D01* -X147746784Y-53376456D01* -X147582812Y-53444376D01* -X147433512Y-53474073D01* -X147408742Y-53479000D01* -X147231258Y-53479000D01* -X147206488Y-53474073D01* -X147057188Y-53444376D01* -X146893216Y-53376456D01* -X146745646Y-53277853D01* -X146620147Y-53152354D01* -X146521544Y-53004784D01* -X146453624Y-52840812D01* -X146419000Y-52666741D01* -X146419000Y-52489259D01* -X146453624Y-52315188D01* -X146521544Y-52151216D01* -X146620147Y-52003646D01* -X146745646Y-51878147D01* -X146893216Y-51779544D01* -X147057188Y-51711624D01* -X147206488Y-51681927D01* -X147231258Y-51677000D01* -X147408742Y-51677000D01* -X147433512Y-51681927D01* -G37* -G36* -X162444912Y-51681927D02* -G01* -X162594212Y-51711624D01* -X162758184Y-51779544D01* -X162905754Y-51878147D01* -X163031253Y-52003646D01* -X163129856Y-52151216D01* -X163197776Y-52315188D01* -X163232400Y-52489259D01* -X163232400Y-52666741D01* -X163197776Y-52840812D01* -X163129856Y-53004784D01* -X163031253Y-53152354D01* -X162905754Y-53277853D01* -X162758184Y-53376456D01* -X162594212Y-53444376D01* -X162444912Y-53474073D01* -X162420142Y-53479000D01* -X162242658Y-53479000D01* -X162217888Y-53474073D01* -X162068588Y-53444376D01* -X161904616Y-53376456D01* -X161757046Y-53277853D01* -X161631547Y-53152354D01* -X161532944Y-53004784D01* -X161465024Y-52840812D01* -X161430400Y-52666741D01* -X161430400Y-52489259D01* -X161465024Y-52315188D01* -X161532944Y-52151216D01* -X161631547Y-52003646D01* -X161757046Y-51878147D01* -X161904616Y-51779544D01* -X162068588Y-51711624D01* -X162217888Y-51681927D01* -X162242658Y-51677000D01* -X162420142Y-51677000D01* -X162444912Y-51681927D01* -G37* -G36* -X147433512Y-49141927D02* -G01* -X147582812Y-49171624D01* -X147746784Y-49239544D01* -X147894354Y-49338147D01* -X148019853Y-49463646D01* -X148118456Y-49611216D01* -X148186376Y-49775188D01* -X148221000Y-49949259D01* -X148221000Y-50126741D01* -X148186376Y-50300812D01* -X148118456Y-50464784D01* -X148019853Y-50612354D01* -X147894354Y-50737853D01* -X147746784Y-50836456D01* -X147582812Y-50904376D01* -X147433512Y-50934073D01* -X147408742Y-50939000D01* -X147231258Y-50939000D01* -X147206488Y-50934073D01* -X147057188Y-50904376D01* -X146893216Y-50836456D01* -X146745646Y-50737853D01* -X146620147Y-50612354D01* -X146521544Y-50464784D01* -X146453624Y-50300812D01* -X146419000Y-50126741D01* -X146419000Y-49949259D01* -X146453624Y-49775188D01* -X146521544Y-49611216D01* -X146620147Y-49463646D01* -X146745646Y-49338147D01* -X146893216Y-49239544D01* -X147057188Y-49171624D01* -X147206488Y-49141927D01* -X147231258Y-49137000D01* -X147408742Y-49137000D01* -X147433512Y-49141927D01* -G37* -G36* -X162419512Y-49141927D02* -G01* -X162568812Y-49171624D01* -X162732784Y-49239544D01* -X162880354Y-49338147D01* -X163005853Y-49463646D01* -X163104456Y-49611216D01* -X163172376Y-49775188D01* -X163207000Y-49949259D01* -X163207000Y-50126741D01* -X163172376Y-50300812D01* -X163104456Y-50464784D01* -X163005853Y-50612354D01* -X162880354Y-50737853D01* -X162732784Y-50836456D01* -X162568812Y-50904376D01* -X162419512Y-50934073D01* -X162394742Y-50939000D01* -X162217258Y-50939000D01* -X162192488Y-50934073D01* -X162043188Y-50904376D01* -X161879216Y-50836456D01* -X161731646Y-50737853D01* -X161606147Y-50612354D01* -X161507544Y-50464784D01* -X161439624Y-50300812D01* -X161405000Y-50126741D01* -X161405000Y-49949259D01* -X161439624Y-49775188D01* -X161507544Y-49611216D01* -X161606147Y-49463646D01* -X161731646Y-49338147D01* -X161879216Y-49239544D01* -X162043188Y-49171624D01* -X162192488Y-49141927D01* -X162217258Y-49137000D01* -X162394742Y-49137000D01* -X162419512Y-49141927D01* -G37* -G36* -X147433512Y-46601927D02* -G01* -X147582812Y-46631624D01* -X147746784Y-46699544D01* -X147894354Y-46798147D01* -X148019853Y-46923646D01* -X148118456Y-47071216D01* -X148186376Y-47235188D01* -X148221000Y-47409259D01* -X148221000Y-47586741D01* -X148186376Y-47760812D01* -X148118456Y-47924784D01* -X148019853Y-48072354D01* -X147894354Y-48197853D01* -X147746784Y-48296456D01* -X147582812Y-48364376D01* -X147433512Y-48394073D01* -X147408742Y-48399000D01* -X147231258Y-48399000D01* -X147206488Y-48394073D01* -X147057188Y-48364376D01* -X146893216Y-48296456D01* -X146745646Y-48197853D01* -X146620147Y-48072354D01* -X146521544Y-47924784D01* -X146453624Y-47760812D01* -X146419000Y-47586741D01* -X146419000Y-47409259D01* -X146453624Y-47235188D01* -X146521544Y-47071216D01* -X146620147Y-46923646D01* -X146745646Y-46798147D01* -X146893216Y-46699544D01* -X147057188Y-46631624D01* -X147206488Y-46601927D01* -X147231258Y-46597000D01* -X147408742Y-46597000D01* -X147433512Y-46601927D01* -G37* -G36* -X162444912Y-46601927D02* -G01* -X162594212Y-46631624D01* -X162758184Y-46699544D01* -X162905754Y-46798147D01* -X163031253Y-46923646D01* -X163129856Y-47071216D01* -X163197776Y-47235188D01* -X163232400Y-47409259D01* -X163232400Y-47586741D01* -X163197776Y-47760812D01* -X163129856Y-47924784D01* -X163031253Y-48072354D01* -X162905754Y-48197853D01* -X162758184Y-48296456D01* -X162594212Y-48364376D01* -X162444912Y-48394073D01* -X162420142Y-48399000D01* -X162242658Y-48399000D01* -X162217888Y-48394073D01* -X162068588Y-48364376D01* -X161904616Y-48296456D01* -X161757046Y-48197853D01* -X161631547Y-48072354D01* -X161532944Y-47924784D01* -X161465024Y-47760812D01* -X161430400Y-47586741D01* -X161430400Y-47409259D01* -X161465024Y-47235188D01* -X161532944Y-47071216D01* -X161631547Y-46923646D01* -X161757046Y-46798147D01* -X161904616Y-46699544D01* -X162068588Y-46631624D01* -X162217888Y-46601927D01* -X162242658Y-46597000D01* -X162420142Y-46597000D01* -X162444912Y-46601927D01* -G37* -G36* -X148856778Y-38490547D02* -G01* -X149023224Y-38559491D01* -X149173022Y-38659583D01* -X149300417Y-38786978D01* -X149400509Y-38936776D01* -X149469453Y-39103222D01* -X149504600Y-39279918D01* -X149504600Y-39460082D01* -X149469453Y-39636778D01* -X149400509Y-39803224D01* -X149300417Y-39953022D01* -X149173022Y-40080417D01* -X149023224Y-40180509D01* -X148856778Y-40249453D01* -X148680082Y-40284600D01* -X148499918Y-40284600D01* -X148323222Y-40249453D01* -X148156776Y-40180509D01* -X148006978Y-40080417D01* -X147879583Y-39953022D01* -X147779491Y-39803224D01* -X147710547Y-39636778D01* -X147675400Y-39460082D01* -X147675400Y-39279918D01* -X147710547Y-39103222D01* -X147779491Y-38936776D01* -X147879583Y-38786978D01* -X148006978Y-38659583D01* -X148156776Y-38559491D01* -X148323222Y-38490547D01* -X148499918Y-38455400D01* -X148680082Y-38455400D01* -X148856778Y-38490547D01* -G37* -G36* -X146316778Y-38490547D02* -G01* -X146483224Y-38559491D01* -X146633022Y-38659583D01* -X146760417Y-38786978D01* -X146860509Y-38936776D01* -X146929453Y-39103222D01* -X146964600Y-39279918D01* -X146964600Y-39460082D01* -X146929453Y-39636778D01* -X146860509Y-39803224D01* -X146760417Y-39953022D01* -X146633022Y-40080417D01* -X146483224Y-40180509D01* -X146316778Y-40249453D01* -X146140082Y-40284600D01* -X145959918Y-40284600D01* -X145783222Y-40249453D01* -X145616776Y-40180509D01* -X145466978Y-40080417D01* -X145339583Y-39953022D01* -X145239491Y-39803224D01* -X145170547Y-39636778D01* -X145135400Y-39460082D01* -X145135400Y-39279918D01* -X145170547Y-39103222D01* -X145239491Y-38936776D01* -X145339583Y-38786978D01* -X145466978Y-38659583D01* -X145616776Y-38559491D01* -X145783222Y-38490547D01* -X145959918Y-38455400D01* -X146140082Y-38455400D01* -X146316778Y-38490547D01* -G37* -G36* -X143776778Y-38490547D02* -G01* -X143943224Y-38559491D01* -X144093022Y-38659583D01* -X144220417Y-38786978D01* -X144320509Y-38936776D01* -X144389453Y-39103222D01* -X144424600Y-39279918D01* -X144424600Y-39460082D01* -X144389453Y-39636778D01* -X144320509Y-39803224D01* -X144220417Y-39953022D01* -X144093022Y-40080417D01* -X143943224Y-40180509D01* -X143776778Y-40249453D01* -X143600082Y-40284600D01* -X143419918Y-40284600D01* -X143243222Y-40249453D01* -X143076776Y-40180509D01* -X142926978Y-40080417D01* -X142799583Y-39953022D01* -X142699491Y-39803224D01* -X142630547Y-39636778D01* -X142595400Y-39460082D01* -X142595400Y-39279918D01* -X142630547Y-39103222D01* -X142699491Y-38936776D01* -X142799583Y-38786978D01* -X142926978Y-38659583D01* -X143076776Y-38559491D01* -X143243222Y-38490547D01* -X143419918Y-38455400D01* -X143600082Y-38455400D01* -X143776778Y-38490547D01* -G37* -G36* -X141236778Y-38490547D02* -G01* -X141403224Y-38559491D01* -X141553022Y-38659583D01* -X141680417Y-38786978D01* -X141780509Y-38936776D01* -X141849453Y-39103222D01* -X141884600Y-39279918D01* -X141884600Y-39460082D01* -X141849453Y-39636778D01* -X141780509Y-39803224D01* -X141680417Y-39953022D01* -X141553022Y-40080417D01* -X141403224Y-40180509D01* -X141236778Y-40249453D01* -X141060082Y-40284600D01* -X140879918Y-40284600D01* -X140703222Y-40249453D01* -X140536776Y-40180509D01* -X140386978Y-40080417D01* -X140259583Y-39953022D01* -X140159491Y-39803224D01* -X140090547Y-39636778D01* -X140055400Y-39460082D01* -X140055400Y-39279918D01* -X140090547Y-39103222D01* -X140159491Y-38936776D01* -X140259583Y-38786978D01* -X140386978Y-38659583D01* -X140536776Y-38559491D01* -X140703222Y-38490547D01* -X140879918Y-38455400D01* -X141060082Y-38455400D01* -X141236778Y-38490547D01* -G37* -G36* -X138696778Y-38490547D02* -G01* -X138863224Y-38559491D01* -X139013022Y-38659583D01* -X139140417Y-38786978D01* -X139240509Y-38936776D01* -X139309453Y-39103222D01* -X139344600Y-39279918D01* -X139344600Y-39460082D01* -X139309453Y-39636778D01* -X139240509Y-39803224D01* -X139140417Y-39953022D01* -X139013022Y-40080417D01* -X138863224Y-40180509D01* -X138696778Y-40249453D01* -X138520082Y-40284600D01* -X138339918Y-40284600D01* -X138163222Y-40249453D01* -X137996776Y-40180509D01* -X137846978Y-40080417D01* -X137719583Y-39953022D01* -X137619491Y-39803224D01* -X137550547Y-39636778D01* -X137515400Y-39460082D01* -X137515400Y-39279918D01* -X137550547Y-39103222D01* -X137619491Y-38936776D01* -X137719583Y-38786978D01* -X137846978Y-38659583D01* -X137996776Y-38559491D01* -X138163222Y-38490547D01* -X138339918Y-38455400D01* -X138520082Y-38455400D01* -X138696778Y-38490547D01* -G37* -G36* -X136156778Y-38490547D02* -G01* -X136323224Y-38559491D01* -X136473022Y-38659583D01* -X136600417Y-38786978D01* -X136700509Y-38936776D01* -X136769453Y-39103222D01* -X136804600Y-39279918D01* -X136804600Y-39460082D01* -X136769453Y-39636778D01* -X136700509Y-39803224D01* -X136600417Y-39953022D01* -X136473022Y-40080417D01* -X136323224Y-40180509D01* -X136156778Y-40249453D01* -X135980082Y-40284600D01* -X135799918Y-40284600D01* -X135623222Y-40249453D01* -X135456776Y-40180509D01* -X135306978Y-40080417D01* -X135179583Y-39953022D01* -X135079491Y-39803224D01* -X135010547Y-39636778D01* -X134975400Y-39460082D01* -X134975400Y-39279918D01* -X135010547Y-39103222D01* -X135079491Y-38936776D01* -X135179583Y-38786978D01* -X135306978Y-38659583D01* -X135456776Y-38559491D01* -X135623222Y-38490547D01* -X135799918Y-38455400D01* -X135980082Y-38455400D01* -X136156778Y-38490547D01* -G37* -G36* -X133616778Y-38490547D02* -G01* -X133783224Y-38559491D01* -X133933022Y-38659583D01* -X134060417Y-38786978D01* -X134160509Y-38936776D01* -X134229453Y-39103222D01* -X134264600Y-39279918D01* -X134264600Y-39460082D01* -X134229453Y-39636778D01* -X134160509Y-39803224D01* -X134060417Y-39953022D01* -X133933022Y-40080417D01* -X133783224Y-40180509D01* -X133616778Y-40249453D01* -X133440082Y-40284600D01* -X133259918Y-40284600D01* -X133083222Y-40249453D01* -X132916776Y-40180509D01* -X132766978Y-40080417D01* -X132639583Y-39953022D01* -X132539491Y-39803224D01* -X132470547Y-39636778D01* -X132435400Y-39460082D01* -X132435400Y-39279918D01* -X132470547Y-39103222D01* -X132539491Y-38936776D01* -X132639583Y-38786978D01* -X132766978Y-38659583D01* -X132916776Y-38559491D01* -X133083222Y-38490547D01* -X133259918Y-38455400D01* -X133440082Y-38455400D01* -X133616778Y-38490547D01* -G37* -G36* -X131076778Y-38490547D02* -G01* -X131243224Y-38559491D01* -X131393022Y-38659583D01* -X131520417Y-38786978D01* -X131620509Y-38936776D01* -X131689453Y-39103222D01* -X131724600Y-39279918D01* -X131724600Y-39460082D01* -X131689453Y-39636778D01* -X131620509Y-39803224D01* -X131520417Y-39953022D01* -X131393022Y-40080417D01* -X131243224Y-40180509D01* -X131076778Y-40249453D01* -X130900082Y-40284600D01* -X130719918Y-40284600D01* -X130543222Y-40249453D01* -X130376776Y-40180509D01* -X130226978Y-40080417D01* -X130099583Y-39953022D01* -X129999491Y-39803224D01* -X129930547Y-39636778D01* -X129895400Y-39460082D01* -X129895400Y-39279918D01* -X129930547Y-39103222D01* -X129999491Y-38936776D01* -X130099583Y-38786978D01* -X130226978Y-38659583D01* -X130376776Y-38559491D01* -X130543222Y-38490547D01* -X130719918Y-38455400D01* -X130900082Y-38455400D01* -X131076778Y-38490547D01* -G37* -G36* -X179336778Y-38490547D02* -G01* -X179503224Y-38559491D01* -X179653022Y-38659583D01* -X179780417Y-38786978D01* -X179880509Y-38936776D01* -X179949453Y-39103222D01* -X179984600Y-39279918D01* -X179984600Y-39460082D01* -X179949453Y-39636778D01* -X179880509Y-39803224D01* -X179780417Y-39953022D01* -X179653022Y-40080417D01* -X179503224Y-40180509D01* -X179336778Y-40249453D01* -X179160082Y-40284600D01* -X178979918Y-40284600D01* -X178803222Y-40249453D01* -X178636776Y-40180509D01* -X178486978Y-40080417D01* -X178359583Y-39953022D01* -X178259491Y-39803224D01* -X178190547Y-39636778D01* -X178155400Y-39460082D01* -X178155400Y-39279918D01* -X178190547Y-39103222D01* -X178259491Y-38936776D01* -X178359583Y-38786978D01* -X178486978Y-38659583D01* -X178636776Y-38559491D01* -X178803222Y-38490547D01* -X178979918Y-38455400D01* -X179160082Y-38455400D01* -X179336778Y-38490547D01* -G37* -G36* -X176796778Y-38490547D02* -G01* -X176963224Y-38559491D01* -X177113022Y-38659583D01* -X177240417Y-38786978D01* -X177340509Y-38936776D01* -X177409453Y-39103222D01* -X177444600Y-39279918D01* -X177444600Y-39460082D01* -X177409453Y-39636778D01* -X177340509Y-39803224D01* -X177240417Y-39953022D01* -X177113022Y-40080417D01* -X176963224Y-40180509D01* -X176796778Y-40249453D01* -X176620082Y-40284600D01* -X176439918Y-40284600D01* -X176263222Y-40249453D01* -X176096776Y-40180509D01* -X175946978Y-40080417D01* -X175819583Y-39953022D01* -X175719491Y-39803224D01* -X175650547Y-39636778D01* -X175615400Y-39460082D01* -X175615400Y-39279918D01* -X175650547Y-39103222D01* -X175719491Y-38936776D01* -X175819583Y-38786978D01* -X175946978Y-38659583D01* -X176096776Y-38559491D01* -X176263222Y-38490547D01* -X176439918Y-38455400D01* -X176620082Y-38455400D01* -X176796778Y-38490547D01* -G37* -G36* -X171716778Y-38490547D02* -G01* -X171883224Y-38559491D01* -X172033022Y-38659583D01* -X172160417Y-38786978D01* -X172260509Y-38936776D01* -X172329453Y-39103222D01* -X172364600Y-39279918D01* -X172364600Y-39460082D01* -X172329453Y-39636778D01* -X172260509Y-39803224D01* -X172160417Y-39953022D01* -X172033022Y-40080417D01* -X171883224Y-40180509D01* -X171716778Y-40249453D01* -X171540082Y-40284600D01* -X171359918Y-40284600D01* -X171183222Y-40249453D01* -X171016776Y-40180509D01* -X170866978Y-40080417D01* -X170739583Y-39953022D01* -X170639491Y-39803224D01* -X170570547Y-39636778D01* -X170535400Y-39460082D01* -X170535400Y-39279918D01* -X170570547Y-39103222D01* -X170639491Y-38936776D01* -X170739583Y-38786978D01* -X170866978Y-38659583D01* -X171016776Y-38559491D01* -X171183222Y-38490547D01* -X171359918Y-38455400D01* -X171540082Y-38455400D01* -X171716778Y-38490547D01* -G37* -G36* -X174256778Y-38490547D02* -G01* -X174423224Y-38559491D01* -X174573022Y-38659583D01* -X174700417Y-38786978D01* -X174800509Y-38936776D01* -X174869453Y-39103222D01* -X174904600Y-39279918D01* -X174904600Y-39460082D01* -X174869453Y-39636778D01* -X174800509Y-39803224D01* -X174700417Y-39953022D01* -X174573022Y-40080417D01* -X174423224Y-40180509D01* -X174256778Y-40249453D01* -X174080082Y-40284600D01* -X173899918Y-40284600D01* -X173723222Y-40249453D01* -X173556776Y-40180509D01* -X173406978Y-40080417D01* -X173279583Y-39953022D01* -X173179491Y-39803224D01* -X173110547Y-39636778D01* -X173075400Y-39460082D01* -X173075400Y-39279918D01* -X173110547Y-39103222D01* -X173179491Y-38936776D01* -X173279583Y-38786978D01* -X173406978Y-38659583D01* -X173556776Y-38559491D01* -X173723222Y-38490547D01* -X173899918Y-38455400D01* -X174080082Y-38455400D01* -X174256778Y-38490547D01* -G37* -G36* -X151396778Y-38490547D02* -G01* -X151563224Y-38559491D01* -X151713022Y-38659583D01* -X151840417Y-38786978D01* -X151940509Y-38936776D01* -X152009453Y-39103222D01* -X152044600Y-39279918D01* -X152044600Y-39460082D01* -X152009453Y-39636778D01* -X151940509Y-39803224D01* -X151840417Y-39953022D01* -X151713022Y-40080417D01* -X151563224Y-40180509D01* -X151396778Y-40249453D01* -X151220082Y-40284600D01* -X151039918Y-40284600D01* -X150863222Y-40249453D01* -X150696776Y-40180509D01* -X150546978Y-40080417D01* -X150419583Y-39953022D01* -X150319491Y-39803224D01* -X150250547Y-39636778D01* -X150215400Y-39460082D01* -X150215400Y-39279918D01* -X150250547Y-39103222D01* -X150319491Y-38936776D01* -X150419583Y-38786978D01* -X150546978Y-38659583D01* -X150696776Y-38559491D01* -X150863222Y-38490547D01* -X151039918Y-38455400D01* -X151220082Y-38455400D01* -X151396778Y-38490547D01* -G37* -G36* -X153936778Y-38490547D02* -G01* -X154103224Y-38559491D01* -X154253022Y-38659583D01* -X154380417Y-38786978D01* -X154480509Y-38936776D01* -X154549453Y-39103222D01* -X154584600Y-39279918D01* -X154584600Y-39460082D01* -X154549453Y-39636778D01* -X154480509Y-39803224D01* -X154380417Y-39953022D01* -X154253022Y-40080417D01* -X154103224Y-40180509D01* -X153936778Y-40249453D01* -X153760082Y-40284600D01* -X153579918Y-40284600D01* -X153403222Y-40249453D01* -X153236776Y-40180509D01* -X153086978Y-40080417D01* -X152959583Y-39953022D01* -X152859491Y-39803224D01* -X152790547Y-39636778D01* -X152755400Y-39460082D01* -X152755400Y-39279918D01* -X152790547Y-39103222D01* -X152859491Y-38936776D01* -X152959583Y-38786978D01* -X153086978Y-38659583D01* -X153236776Y-38559491D01* -X153403222Y-38490547D01* -X153579918Y-38455400D01* -X153760082Y-38455400D01* -X153936778Y-38490547D01* -G37* -G36* -X156476778Y-38490547D02* -G01* -X156643224Y-38559491D01* -X156793022Y-38659583D01* -X156920417Y-38786978D01* -X157020509Y-38936776D01* -X157089453Y-39103222D01* -X157124600Y-39279918D01* -X157124600Y-39460082D01* -X157089453Y-39636778D01* -X157020509Y-39803224D01* -X156920417Y-39953022D01* -X156793022Y-40080417D01* -X156643224Y-40180509D01* -X156476778Y-40249453D01* -X156300082Y-40284600D01* -X156119918Y-40284600D01* -X155943222Y-40249453D01* -X155776776Y-40180509D01* -X155626978Y-40080417D01* -X155499583Y-39953022D01* -X155399491Y-39803224D01* -X155330547Y-39636778D01* -X155295400Y-39460082D01* -X155295400Y-39279918D01* -X155330547Y-39103222D01* -X155399491Y-38936776D01* -X155499583Y-38786978D01* -X155626978Y-38659583D01* -X155776776Y-38559491D01* -X155943222Y-38490547D01* -X156119918Y-38455400D01* -X156300082Y-38455400D01* -X156476778Y-38490547D01* -G37* -G36* -X159016778Y-38490547D02* -G01* -X159183224Y-38559491D01* -X159333022Y-38659583D01* -X159460417Y-38786978D01* -X159560509Y-38936776D01* -X159629453Y-39103222D01* -X159664600Y-39279918D01* -X159664600Y-39460082D01* -X159629453Y-39636778D01* -X159560509Y-39803224D01* -X159460417Y-39953022D01* -X159333022Y-40080417D01* -X159183224Y-40180509D01* -X159016778Y-40249453D01* -X158840082Y-40284600D01* -X158659918Y-40284600D01* -X158483222Y-40249453D01* -X158316776Y-40180509D01* -X158166978Y-40080417D01* -X158039583Y-39953022D01* -X157939491Y-39803224D01* -X157870547Y-39636778D01* -X157835400Y-39460082D01* -X157835400Y-39279918D01* -X157870547Y-39103222D01* -X157939491Y-38936776D01* -X158039583Y-38786978D01* -X158166978Y-38659583D01* -X158316776Y-38559491D01* -X158483222Y-38490547D01* -X158659918Y-38455400D01* -X158840082Y-38455400D01* -X159016778Y-38490547D01* -G37* -G36* -X161556778Y-38490547D02* -G01* -X161723224Y-38559491D01* -X161873022Y-38659583D01* -X162000417Y-38786978D01* -X162100509Y-38936776D01* -X162169453Y-39103222D01* -X162204600Y-39279918D01* -X162204600Y-39460082D01* -X162169453Y-39636778D01* -X162100509Y-39803224D01* -X162000417Y-39953022D01* -X161873022Y-40080417D01* -X161723224Y-40180509D01* -X161556778Y-40249453D01* -X161380082Y-40284600D01* -X161199918Y-40284600D01* -X161023222Y-40249453D01* -X160856776Y-40180509D01* -X160706978Y-40080417D01* -X160579583Y-39953022D01* -X160479491Y-39803224D01* -X160410547Y-39636778D01* -X160375400Y-39460082D01* -X160375400Y-39279918D01* -X160410547Y-39103222D01* -X160479491Y-38936776D01* -X160579583Y-38786978D01* -X160706978Y-38659583D01* -X160856776Y-38559491D01* -X161023222Y-38490547D01* -X161199918Y-38455400D01* -X161380082Y-38455400D01* -X161556778Y-38490547D01* -G37* -G36* -X164096778Y-38490547D02* -G01* -X164263224Y-38559491D01* -X164413022Y-38659583D01* -X164540417Y-38786978D01* -X164640509Y-38936776D01* -X164709453Y-39103222D01* -X164744600Y-39279918D01* -X164744600Y-39460082D01* -X164709453Y-39636778D01* -X164640509Y-39803224D01* -X164540417Y-39953022D01* -X164413022Y-40080417D01* -X164263224Y-40180509D01* -X164096778Y-40249453D01* -X163920082Y-40284600D01* -X163739918Y-40284600D01* -X163563222Y-40249453D01* -X163396776Y-40180509D01* -X163246978Y-40080417D01* -X163119583Y-39953022D01* -X163019491Y-39803224D01* -X162950547Y-39636778D01* -X162915400Y-39460082D01* -X162915400Y-39279918D01* -X162950547Y-39103222D01* -X163019491Y-38936776D01* -X163119583Y-38786978D01* -X163246978Y-38659583D01* -X163396776Y-38559491D01* -X163563222Y-38490547D01* -X163739918Y-38455400D01* -X163920082Y-38455400D01* -X164096778Y-38490547D01* -G37* -G36* -X166636778Y-38490547D02* -G01* -X166803224Y-38559491D01* -X166953022Y-38659583D01* -X167080417Y-38786978D01* -X167180509Y-38936776D01* -X167249453Y-39103222D01* -X167284600Y-39279918D01* -X167284600Y-39460082D01* -X167249453Y-39636778D01* -X167180509Y-39803224D01* -X167080417Y-39953022D01* -X166953022Y-40080417D01* -X166803224Y-40180509D01* -X166636778Y-40249453D01* -X166460082Y-40284600D01* -X166279918Y-40284600D01* -X166103222Y-40249453D01* -X165936776Y-40180509D01* -X165786978Y-40080417D01* -X165659583Y-39953022D01* -X165559491Y-39803224D01* -X165490547Y-39636778D01* -X165455400Y-39460082D01* -X165455400Y-39279918D01* -X165490547Y-39103222D01* -X165559491Y-38936776D01* -X165659583Y-38786978D01* -X165786978Y-38659583D01* -X165936776Y-38559491D01* -X166103222Y-38490547D01* -X166279918Y-38455400D01* -X166460082Y-38455400D01* -X166636778Y-38490547D01* -G37* -G36* -X169176778Y-38490547D02* -G01* -X169343224Y-38559491D01* -X169493022Y-38659583D01* -X169620417Y-38786978D01* -X169720509Y-38936776D01* -X169789453Y-39103222D01* -X169824600Y-39279918D01* -X169824600Y-39460082D01* -X169789453Y-39636778D01* -X169720509Y-39803224D01* -X169620417Y-39953022D01* -X169493022Y-40080417D01* -X169343224Y-40180509D01* -X169176778Y-40249453D01* -X169000082Y-40284600D01* -X168819918Y-40284600D01* -X168643222Y-40249453D01* -X168476776Y-40180509D01* -X168326978Y-40080417D01* -X168199583Y-39953022D01* -X168099491Y-39803224D01* -X168030547Y-39636778D01* -X167995400Y-39460082D01* -X167995400Y-39279918D01* -X168030547Y-39103222D01* -X168099491Y-38936776D01* -X168199583Y-38786978D01* -X168326978Y-38659583D01* -X168476776Y-38559491D01* -X168643222Y-38490547D01* -X168819918Y-38455400D01* -X169000082Y-38455400D01* -X169176778Y-38490547D01* -G37* -G36* -X146316778Y-35950547D02* -G01* -X146483224Y-36019491D01* -X146633022Y-36119583D01* -X146760417Y-36246978D01* -X146860509Y-36396776D01* -X146929453Y-36563222D01* -X146964600Y-36739918D01* -X146964600Y-36920082D01* -X146929453Y-37096778D01* -X146860509Y-37263224D01* -X146760417Y-37413022D01* -X146633022Y-37540417D01* -X146483224Y-37640509D01* -X146316778Y-37709453D01* -X146140082Y-37744600D01* -X145959918Y-37744600D01* -X145783222Y-37709453D01* -X145616776Y-37640509D01* -X145466978Y-37540417D01* -X145339583Y-37413022D01* -X145239491Y-37263224D01* -X145170547Y-37096778D01* -X145135400Y-36920082D01* -X145135400Y-36739918D01* -X145170547Y-36563222D01* -X145239491Y-36396776D01* -X145339583Y-36246978D01* -X145466978Y-36119583D01* -X145616776Y-36019491D01* -X145783222Y-35950547D01* -X145959918Y-35915400D01* -X146140082Y-35915400D01* -X146316778Y-35950547D01* -G37* -G36* -X143776778Y-35950547D02* -G01* -X143943224Y-36019491D01* -X144093022Y-36119583D01* -X144220417Y-36246978D01* -X144320509Y-36396776D01* -X144389453Y-36563222D01* -X144424600Y-36739918D01* -X144424600Y-36920082D01* -X144389453Y-37096778D01* -X144320509Y-37263224D01* -X144220417Y-37413022D01* -X144093022Y-37540417D01* -X143943224Y-37640509D01* -X143776778Y-37709453D01* -X143600082Y-37744600D01* -X143419918Y-37744600D01* -X143243222Y-37709453D01* -X143076776Y-37640509D01* -X142926978Y-37540417D01* -X142799583Y-37413022D01* -X142699491Y-37263224D01* -X142630547Y-37096778D01* -X142595400Y-36920082D01* -X142595400Y-36739918D01* -X142630547Y-36563222D01* -X142699491Y-36396776D01* -X142799583Y-36246978D01* -X142926978Y-36119583D01* -X143076776Y-36019491D01* -X143243222Y-35950547D01* -X143419918Y-35915400D01* -X143600082Y-35915400D01* -X143776778Y-35950547D01* -G37* -G36* -X141236778Y-35950547D02* -G01* -X141403224Y-36019491D01* -X141553022Y-36119583D01* -X141680417Y-36246978D01* -X141780509Y-36396776D01* -X141849453Y-36563222D01* -X141884600Y-36739918D01* -X141884600Y-36920082D01* -X141849453Y-37096778D01* -X141780509Y-37263224D01* -X141680417Y-37413022D01* -X141553022Y-37540417D01* -X141403224Y-37640509D01* -X141236778Y-37709453D01* -X141060082Y-37744600D01* -X140879918Y-37744600D01* -X140703222Y-37709453D01* -X140536776Y-37640509D01* -X140386978Y-37540417D01* -X140259583Y-37413022D01* -X140159491Y-37263224D01* -X140090547Y-37096778D01* -X140055400Y-36920082D01* -X140055400Y-36739918D01* -X140090547Y-36563222D01* -X140159491Y-36396776D01* -X140259583Y-36246978D01* -X140386978Y-36119583D01* -X140536776Y-36019491D01* -X140703222Y-35950547D01* -X140879918Y-35915400D01* -X141060082Y-35915400D01* -X141236778Y-35950547D01* -G37* -G36* -X138696778Y-35950547D02* -G01* -X138863224Y-36019491D01* -X139013022Y-36119583D01* -X139140417Y-36246978D01* -X139240509Y-36396776D01* -X139309453Y-36563222D01* -X139344600Y-36739918D01* -X139344600Y-36920082D01* -X139309453Y-37096778D01* -X139240509Y-37263224D01* -X139140417Y-37413022D01* -X139013022Y-37540417D01* -X138863224Y-37640509D01* -X138696778Y-37709453D01* -X138520082Y-37744600D01* -X138339918Y-37744600D01* -X138163222Y-37709453D01* -X137996776Y-37640509D01* -X137846978Y-37540417D01* -X137719583Y-37413022D01* -X137619491Y-37263224D01* -X137550547Y-37096778D01* -X137515400Y-36920082D01* -X137515400Y-36739918D01* -X137550547Y-36563222D01* -X137619491Y-36396776D01* -X137719583Y-36246978D01* -X137846978Y-36119583D01* -X137996776Y-36019491D01* -X138163222Y-35950547D01* -X138339918Y-35915400D01* -X138520082Y-35915400D01* -X138696778Y-35950547D01* -G37* -G36* -X136156778Y-35950547D02* -G01* -X136323224Y-36019491D01* -X136473022Y-36119583D01* -X136600417Y-36246978D01* -X136700509Y-36396776D01* -X136769453Y-36563222D01* -X136804600Y-36739918D01* -X136804600Y-36920082D01* -X136769453Y-37096778D01* -X136700509Y-37263224D01* -X136600417Y-37413022D01* -X136473022Y-37540417D01* -X136323224Y-37640509D01* -X136156778Y-37709453D01* -X135980082Y-37744600D01* -X135799918Y-37744600D01* -X135623222Y-37709453D01* -X135456776Y-37640509D01* -X135306978Y-37540417D01* -X135179583Y-37413022D01* -X135079491Y-37263224D01* -X135010547Y-37096778D01* -X134975400Y-36920082D01* -X134975400Y-36739918D01* -X135010547Y-36563222D01* -X135079491Y-36396776D01* -X135179583Y-36246978D01* -X135306978Y-36119583D01* -X135456776Y-36019491D01* -X135623222Y-35950547D01* -X135799918Y-35915400D01* -X135980082Y-35915400D01* -X136156778Y-35950547D01* -G37* -G36* -X131076778Y-35950547D02* -G01* -X131243224Y-36019491D01* -X131393022Y-36119583D01* -X131520417Y-36246978D01* -X131620509Y-36396776D01* -X131689453Y-36563222D01* -X131724600Y-36739918D01* -X131724600Y-36920082D01* -X131689453Y-37096778D01* -X131620509Y-37263224D01* -X131520417Y-37413022D01* -X131393022Y-37540417D01* -X131243224Y-37640509D01* -X131076778Y-37709453D01* -X130900082Y-37744600D01* -X130719918Y-37744600D01* -X130543222Y-37709453D01* -X130376776Y-37640509D01* -X130226978Y-37540417D01* -X130099583Y-37413022D01* -X129999491Y-37263224D01* -X129930547Y-37096778D01* -X129895400Y-36920082D01* -X129895400Y-36739918D01* -X129930547Y-36563222D01* -X129999491Y-36396776D01* -X130099583Y-36246978D01* -X130226978Y-36119583D01* -X130376776Y-36019491D01* -X130543222Y-35950547D01* -X130719918Y-35915400D01* -X130900082Y-35915400D01* -X131076778Y-35950547D01* -G37* -G36* -X159016778Y-35950547D02* -G01* -X159183224Y-36019491D01* -X159333022Y-36119583D01* -X159460417Y-36246978D01* -X159560509Y-36396776D01* -X159629453Y-36563222D01* -X159664600Y-36739918D01* -X159664600Y-36920082D01* -X159629453Y-37096778D01* -X159560509Y-37263224D01* -X159460417Y-37413022D01* -X159333022Y-37540417D01* -X159183224Y-37640509D01* -X159016778Y-37709453D01* -X158840082Y-37744600D01* -X158659918Y-37744600D01* -X158483222Y-37709453D01* -X158316776Y-37640509D01* -X158166978Y-37540417D01* -X158039583Y-37413022D01* -X157939491Y-37263224D01* -X157870547Y-37096778D01* -X157835400Y-36920082D01* -X157835400Y-36739918D01* -X157870547Y-36563222D01* -X157939491Y-36396776D01* -X158039583Y-36246978D01* -X158166978Y-36119583D01* -X158316776Y-36019491D01* -X158483222Y-35950547D01* -X158659918Y-35915400D01* -X158840082Y-35915400D01* -X159016778Y-35950547D01* -G37* -G36* -X156476778Y-35950547D02* -G01* -X156643224Y-36019491D01* -X156793022Y-36119583D01* -X156920417Y-36246978D01* -X157020509Y-36396776D01* -X157089453Y-36563222D01* -X157124600Y-36739918D01* -X157124600Y-36920082D01* -X157089453Y-37096778D01* -X157020509Y-37263224D01* -X156920417Y-37413022D01* -X156793022Y-37540417D01* -X156643224Y-37640509D01* -X156476778Y-37709453D01* -X156300082Y-37744600D01* -X156119918Y-37744600D01* -X155943222Y-37709453D01* -X155776776Y-37640509D01* -X155626978Y-37540417D01* -X155499583Y-37413022D01* -X155399491Y-37263224D01* -X155330547Y-37096778D01* -X155295400Y-36920082D01* -X155295400Y-36739918D01* -X155330547Y-36563222D01* -X155399491Y-36396776D01* -X155499583Y-36246978D01* -X155626978Y-36119583D01* -X155776776Y-36019491D01* -X155943222Y-35950547D01* -X156119918Y-35915400D01* -X156300082Y-35915400D01* -X156476778Y-35950547D01* -G37* -G36* -X161556778Y-35950547D02* -G01* -X161723224Y-36019491D01* -X161873022Y-36119583D01* -X162000417Y-36246978D01* -X162100509Y-36396776D01* -X162169453Y-36563222D01* -X162204600Y-36739918D01* -X162204600Y-36920082D01* -X162169453Y-37096778D01* -X162100509Y-37263224D01* -X162000417Y-37413022D01* -X161873022Y-37540417D01* -X161723224Y-37640509D01* -X161556778Y-37709453D01* -X161380082Y-37744600D01* -X161199918Y-37744600D01* -X161023222Y-37709453D01* -X160856776Y-37640509D01* -X160706978Y-37540417D01* -X160579583Y-37413022D01* -X160479491Y-37263224D01* -X160410547Y-37096778D01* -X160375400Y-36920082D01* -X160375400Y-36739918D01* -X160410547Y-36563222D01* -X160479491Y-36396776D01* -X160579583Y-36246978D01* -X160706978Y-36119583D01* -X160856776Y-36019491D01* -X161023222Y-35950547D01* -X161199918Y-35915400D01* -X161380082Y-35915400D01* -X161556778Y-35950547D01* -G37* -G36* -X164096778Y-35950547D02* -G01* -X164263224Y-36019491D01* -X164413022Y-36119583D01* -X164540417Y-36246978D01* -X164640509Y-36396776D01* -X164709453Y-36563222D01* -X164744600Y-36739918D01* -X164744600Y-36920082D01* -X164709453Y-37096778D01* -X164640509Y-37263224D01* -X164540417Y-37413022D01* -X164413022Y-37540417D01* -X164263224Y-37640509D01* -X164096778Y-37709453D01* -X163920082Y-37744600D01* -X163739918Y-37744600D01* -X163563222Y-37709453D01* -X163396776Y-37640509D01* -X163246978Y-37540417D01* -X163119583Y-37413022D01* -X163019491Y-37263224D01* -X162950547Y-37096778D01* -X162915400Y-36920082D01* -X162915400Y-36739918D01* -X162950547Y-36563222D01* -X163019491Y-36396776D01* -X163119583Y-36246978D01* -X163246978Y-36119583D01* -X163396776Y-36019491D01* -X163563222Y-35950547D01* -X163739918Y-35915400D01* -X163920082Y-35915400D01* -X164096778Y-35950547D01* -G37* -G36* -X166636778Y-35950547D02* -G01* -X166803224Y-36019491D01* -X166953022Y-36119583D01* -X167080417Y-36246978D01* -X167180509Y-36396776D01* -X167249453Y-36563222D01* -X167284600Y-36739918D01* -X167284600Y-36920082D01* -X167249453Y-37096778D01* -X167180509Y-37263224D01* -X167080417Y-37413022D01* -X166953022Y-37540417D01* -X166803224Y-37640509D01* -X166636778Y-37709453D01* -X166460082Y-37744600D01* -X166279918Y-37744600D01* -X166103222Y-37709453D01* -X165936776Y-37640509D01* -X165786978Y-37540417D01* -X165659583Y-37413022D01* -X165559491Y-37263224D01* -X165490547Y-37096778D01* -X165455400Y-36920082D01* -X165455400Y-36739918D01* -X165490547Y-36563222D01* -X165559491Y-36396776D01* -X165659583Y-36246978D01* -X165786978Y-36119583D01* -X165936776Y-36019491D01* -X166103222Y-35950547D01* -X166279918Y-35915400D01* -X166460082Y-35915400D01* -X166636778Y-35950547D01* -G37* -G36* -X169176778Y-35950547D02* -G01* -X169343224Y-36019491D01* -X169493022Y-36119583D01* -X169620417Y-36246978D01* -X169720509Y-36396776D01* -X169789453Y-36563222D01* -X169824600Y-36739918D01* -X169824600Y-36920082D01* -X169789453Y-37096778D01* -X169720509Y-37263224D01* -X169620417Y-37413022D01* -X169493022Y-37540417D01* -X169343224Y-37640509D01* -X169176778Y-37709453D01* -X169000082Y-37744600D01* -X168819918Y-37744600D01* -X168643222Y-37709453D01* -X168476776Y-37640509D01* -X168326978Y-37540417D01* -X168199583Y-37413022D01* -X168099491Y-37263224D01* -X168030547Y-37096778D01* -X167995400Y-36920082D01* -X167995400Y-36739918D01* -X168030547Y-36563222D01* -X168099491Y-36396776D01* -X168199583Y-36246978D01* -X168326978Y-36119583D01* -X168476776Y-36019491D01* -X168643222Y-35950547D01* -X168819918Y-35915400D01* -X169000082Y-35915400D01* -X169176778Y-35950547D01* -G37* -G36* -X171716778Y-35950547D02* -G01* -X171883224Y-36019491D01* -X172033022Y-36119583D01* -X172160417Y-36246978D01* -X172260509Y-36396776D01* -X172329453Y-36563222D01* -X172364600Y-36739918D01* -X172364600Y-36920082D01* -X172329453Y-37096778D01* -X172260509Y-37263224D01* -X172160417Y-37413022D01* -X172033022Y-37540417D01* -X171883224Y-37640509D01* -X171716778Y-37709453D01* -X171540082Y-37744600D01* -X171359918Y-37744600D01* -X171183222Y-37709453D01* -X171016776Y-37640509D01* -X170866978Y-37540417D01* -X170739583Y-37413022D01* -X170639491Y-37263224D01* -X170570547Y-37096778D01* -X170535400Y-36920082D01* -X170535400Y-36739918D01* -X170570547Y-36563222D01* -X170639491Y-36396776D01* -X170739583Y-36246978D01* -X170866978Y-36119583D01* -X171016776Y-36019491D01* -X171183222Y-35950547D01* -X171359918Y-35915400D01* -X171540082Y-35915400D01* -X171716778Y-35950547D01* -G37* -G36* -X151396778Y-35950547D02* -G01* -X151563224Y-36019491D01* -X151713022Y-36119583D01* -X151840417Y-36246978D01* -X151940509Y-36396776D01* -X152009453Y-36563222D01* -X152044600Y-36739918D01* -X152044600Y-36920082D01* -X152009453Y-37096778D01* -X151940509Y-37263224D01* -X151840417Y-37413022D01* -X151713022Y-37540417D01* -X151563224Y-37640509D01* -X151396778Y-37709453D01* -X151220082Y-37744600D01* -X151039918Y-37744600D01* -X150863222Y-37709453D01* -X150696776Y-37640509D01* -X150546978Y-37540417D01* -X150419583Y-37413022D01* -X150319491Y-37263224D01* -X150250547Y-37096778D01* -X150215400Y-36920082D01* -X150215400Y-36739918D01* -X150250547Y-36563222D01* -X150319491Y-36396776D01* -X150419583Y-36246978D01* -X150546978Y-36119583D01* -X150696776Y-36019491D01* -X150863222Y-35950547D01* -X151039918Y-35915400D01* -X151220082Y-35915400D01* -X151396778Y-35950547D01* -G37* -G36* -X174256778Y-35950547D02* -G01* -X174423224Y-36019491D01* -X174573022Y-36119583D01* -X174700417Y-36246978D01* -X174800509Y-36396776D01* -X174869453Y-36563222D01* -X174904600Y-36739918D01* -X174904600Y-36920082D01* -X174869453Y-37096778D01* -X174800509Y-37263224D01* -X174700417Y-37413022D01* -X174573022Y-37540417D01* -X174423224Y-37640509D01* -X174256778Y-37709453D01* -X174080082Y-37744600D01* -X173899918Y-37744600D01* -X173723222Y-37709453D01* -X173556776Y-37640509D01* -X173406978Y-37540417D01* -X173279583Y-37413022D01* -X173179491Y-37263224D01* -X173110547Y-37096778D01* -X173075400Y-36920082D01* -X173075400Y-36739918D01* -X173110547Y-36563222D01* -X173179491Y-36396776D01* -X173279583Y-36246978D01* -X173406978Y-36119583D01* -X173556776Y-36019491D01* -X173723222Y-35950547D01* -X173899918Y-35915400D01* -X174080082Y-35915400D01* -X174256778Y-35950547D01* -G37* -G36* -X179984600Y-37744600D02* -G01* -X178155400Y-37744600D01* -X178155400Y-35915400D01* -X179984600Y-35915400D01* -X179984600Y-37744600D01* -G37* -G36* -X176796778Y-35950547D02* -G01* -X176963224Y-36019491D01* -X177113022Y-36119583D01* -X177240417Y-36246978D01* -X177340509Y-36396776D01* -X177409453Y-36563222D01* -X177444600Y-36739918D01* -X177444600Y-36920082D01* -X177409453Y-37096778D01* -X177340509Y-37263224D01* -X177240417Y-37413022D01* -X177113022Y-37540417D01* -X176963224Y-37640509D01* -X176796778Y-37709453D01* -X176620082Y-37744600D01* -X176439918Y-37744600D01* -X176263222Y-37709453D01* -X176096776Y-37640509D01* -X175946978Y-37540417D01* -X175819583Y-37413022D01* -X175719491Y-37263224D01* -X175650547Y-37096778D01* -X175615400Y-36920082D01* -X175615400Y-36739918D01* -X175650547Y-36563222D01* -X175719491Y-36396776D01* -X175819583Y-36246978D01* -X175946978Y-36119583D01* -X176096776Y-36019491D01* -X176263222Y-35950547D01* -X176439918Y-35915400D01* -X176620082Y-35915400D01* -X176796778Y-35950547D01* -G37* -G36* -X148856778Y-35950547D02* -G01* -X149023224Y-36019491D01* -X149173022Y-36119583D01* -X149300417Y-36246978D01* -X149400509Y-36396776D01* -X149469453Y-36563222D01* -X149504600Y-36739918D01* -X149504600Y-36920082D01* -X149469453Y-37096778D01* -X149400509Y-37263224D01* -X149300417Y-37413022D01* -X149173022Y-37540417D01* -X149023224Y-37640509D01* -X148856778Y-37709453D01* -X148680082Y-37744600D01* -X148499918Y-37744600D01* -X148323222Y-37709453D01* -X148156776Y-37640509D01* -X148006978Y-37540417D01* -X147879583Y-37413022D01* -X147779491Y-37263224D01* -X147710547Y-37096778D01* -X147675400Y-36920082D01* -X147675400Y-36739918D01* -X147710547Y-36563222D01* -X147779491Y-36396776D01* -X147879583Y-36246978D01* -X148006978Y-36119583D01* -X148156776Y-36019491D01* -X148323222Y-35950547D01* -X148499918Y-35915400D01* -X148680082Y-35915400D01* -X148856778Y-35950547D01* -G37* -G36* -X133616778Y-35950547D02* -G01* -X133783224Y-36019491D01* -X133933022Y-36119583D01* -X134060417Y-36246978D01* -X134160509Y-36396776D01* -X134229453Y-36563222D01* -X134264600Y-36739918D01* -X134264600Y-36920082D01* -X134229453Y-37096778D01* -X134160509Y-37263224D01* -X134060417Y-37413022D01* -X133933022Y-37540417D01* -X133783224Y-37640509D01* -X133616778Y-37709453D01* -X133440082Y-37744600D01* -X133259918Y-37744600D01* -X133083222Y-37709453D01* -X132916776Y-37640509D01* -X132766978Y-37540417D01* -X132639583Y-37413022D01* -X132539491Y-37263224D01* -X132470547Y-37096778D01* -X132435400Y-36920082D01* -X132435400Y-36739918D01* -X132470547Y-36563222D01* -X132539491Y-36396776D01* -X132639583Y-36246978D01* -X132766978Y-36119583D01* -X132916776Y-36019491D01* -X133083222Y-35950547D01* -X133259918Y-35915400D01* -X133440082Y-35915400D01* -X133616778Y-35950547D01* -G37* -G36* -X153936778Y-35950547D02* -G01* -X154103224Y-36019491D01* -X154253022Y-36119583D01* -X154380417Y-36246978D01* -X154480509Y-36396776D01* -X154549453Y-36563222D01* -X154584600Y-36739918D01* -X154584600Y-36920082D01* -X154549453Y-37096778D01* -X154480509Y-37263224D01* -X154380417Y-37413022D01* -X154253022Y-37540417D01* -X154103224Y-37640509D01* -X153936778Y-37709453D01* -X153760082Y-37744600D01* -X153579918Y-37744600D01* -X153403222Y-37709453D01* -X153236776Y-37640509D01* -X153086978Y-37540417D01* -X152959583Y-37413022D01* -X152859491Y-37263224D01* -X152790547Y-37096778D01* -X152755400Y-36920082D01* -X152755400Y-36739918D01* -X152790547Y-36563222D01* -X152859491Y-36396776D01* -X152959583Y-36246978D01* -X153086978Y-36119583D01* -X153236776Y-36019491D01* -X153403222Y-35950547D01* -X153579918Y-35915400D01* -X153760082Y-35915400D01* -X153936778Y-35950547D01* -G37* -M02* diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_SilkS.gbo b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_SilkS.gbo deleted file mode 100644 index fefeda3..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-B_SilkS.gbo +++ /dev/null @@ -1,175 +0,0 @@ -G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3* -G04 #@! TF.CreationDate,2020-05-25T10:48:09-05:00* -G04 #@! TF.ProjectId,breakout_board_2x20,62726561-6b6f-4757-945f-626f6172645f,rev?* -G04 #@! TF.SameCoordinates,Original* -G04 #@! TF.FileFunction,Legend,Bot* -G04 #@! TF.FilePolarity,Positive* -%FSLAX46Y46*% -G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* -G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-05-25 10:48:09* -%MOMM*% -%LPD*% -G04 APERTURE LIST* -%ADD10C,0.150000*% -G04 APERTURE END LIST* -D10* -X162900285Y-32710380D02* -X162900285Y-31710380D01* -X162566952Y-32424666D01* -X162233619Y-31710380D01* -X162233619Y-32710380D01* -X161757428Y-32710380D02* -X161757428Y-32043714D01* -X161757428Y-31710380D02* -X161805047Y-31758000D01* -X161757428Y-31805619D01* -X161709809Y-31758000D01* -X161757428Y-31710380D01* -X161757428Y-31805619D01* -X161281238Y-32710380D02* -X161281238Y-31710380D01* -X161186000Y-32329428D02* -X160900285Y-32710380D01* -X160900285Y-32043714D02* -X161281238Y-32424666D01* -X160471714Y-32710380D02* -X160471714Y-32043714D01* -X160471714Y-32234190D02* -X160424095Y-32138952D01* -X160376476Y-32091333D01* -X160281238Y-32043714D01* -X160186000Y-32043714D01* -X159709809Y-32710380D02* -X159805047Y-32662761D01* -X159852666Y-32615142D01* -X159900285Y-32519904D01* -X159900285Y-32234190D01* -X159852666Y-32138952D01* -X159805047Y-32091333D01* -X159709809Y-32043714D01* -X159566952Y-32043714D01* -X159471714Y-32091333D01* -X159424095Y-32138952D01* -X159376476Y-32234190D01* -X159376476Y-32519904D01* -X159424095Y-32615142D01* -X159471714Y-32662761D01* -X159566952Y-32710380D01* -X159709809Y-32710380D01* -X157757428Y-32043714D02* -X157757428Y-32710380D01* -X157995523Y-31662761D02* -X158233619Y-32377047D01* -X157614571Y-32377047D01* -X157281238Y-31710380D02* -X157281238Y-31900857D01* -X156900285Y-31710380D02* -X156900285Y-31900857D01* -X155852666Y-31710380D02* -X155281238Y-31710380D01* -X155566952Y-32710380D02* -X155566952Y-31710380D01* -X154614571Y-32186571D02* -X154947904Y-32186571D01* -X154947904Y-32710380D02* -X154947904Y-31710380D01* -X154471714Y-31710380D01* -X154233619Y-31710380D02* -X153662190Y-31710380D01* -X153947904Y-32710380D02* -X153947904Y-31710380D01* -X152233619Y-32186571D02* -X152090761Y-32234190D01* -X152043142Y-32281809D01* -X151995523Y-32377047D01* -X151995523Y-32519904D01* -X152043142Y-32615142D01* -X152090761Y-32662761D01* -X152186000Y-32710380D01* -X152566952Y-32710380D01* -X152566952Y-31710380D01* -X152233619Y-31710380D01* -X152138380Y-31758000D01* -X152090761Y-31805619D01* -X152043142Y-31900857D01* -X152043142Y-31996095D01* -X152090761Y-32091333D01* -X152138380Y-32138952D01* -X152233619Y-32186571D01* -X152566952Y-32186571D01* -X151566952Y-32710380D02* -X151566952Y-32043714D01* -X151566952Y-32234190D02* -X151519333Y-32138952D01* -X151471714Y-32091333D01* -X151376476Y-32043714D01* -X151281238Y-32043714D01* -X150566952Y-32662761D02* -X150662190Y-32710380D01* -X150852666Y-32710380D01* -X150947904Y-32662761D01* -X150995523Y-32567523D01* -X150995523Y-32186571D01* -X150947904Y-32091333D01* -X150852666Y-32043714D01* -X150662190Y-32043714D01* -X150566952Y-32091333D01* -X150519333Y-32186571D01* -X150519333Y-32281809D01* -X150995523Y-32377047D01* -X149662190Y-32710380D02* -X149662190Y-32186571D01* -X149709809Y-32091333D01* -X149805047Y-32043714D01* -X149995523Y-32043714D01* -X150090761Y-32091333D01* -X149662190Y-32662761D02* -X149757428Y-32710380D01* -X149995523Y-32710380D01* -X150090761Y-32662761D01* -X150138380Y-32567523D01* -X150138380Y-32472285D01* -X150090761Y-32377047D01* -X149995523Y-32329428D01* -X149757428Y-32329428D01* -X149662190Y-32281809D01* -X149186000Y-32710380D02* -X149186000Y-31710380D01* -X149090761Y-32329428D02* -X148805047Y-32710380D01* -X148805047Y-32043714D02* -X149186000Y-32424666D01* -X148233619Y-32710380D02* -X148328857Y-32662761D01* -X148376476Y-32615142D01* -X148424095Y-32519904D01* -X148424095Y-32234190D01* -X148376476Y-32138952D01* -X148328857Y-32091333D01* -X148233619Y-32043714D01* -X148090761Y-32043714D01* -X147995523Y-32091333D01* -X147947904Y-32138952D01* -X147900285Y-32234190D01* -X147900285Y-32519904D01* -X147947904Y-32615142D01* -X147995523Y-32662761D01* -X148090761Y-32710380D01* -X148233619Y-32710380D01* -X147043142Y-32043714D02* -X147043142Y-32710380D01* -X147471714Y-32043714D02* -X147471714Y-32567523D01* -X147424095Y-32662761D01* -X147328857Y-32710380D01* -X147186000Y-32710380D01* -X147090761Y-32662761D01* -X147043142Y-32615142D01* -X146709809Y-32043714D02* -X146328857Y-32043714D01* -X146566952Y-31710380D02* -X146566952Y-32567523D01* -X146519333Y-32662761D01* -X146424095Y-32710380D01* -X146328857Y-32710380D01* -M02* diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-Edge_Cuts.gm1 b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-Edge_Cuts.gm1 deleted file mode 100644 index a55bd2a..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-Edge_Cuts.gm1 +++ /dev/null @@ -1,35 +0,0 @@ -G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3* -G04 #@! TF.CreationDate,2020-05-25T10:48:09-05:00* -G04 #@! TF.ProjectId,breakout_board_2x20,62726561-6b6f-4757-945f-626f6172645f,rev?* -G04 #@! TF.SameCoordinates,Original* -G04 #@! TF.FileFunction,Profile,NP* -%FSLAX46Y46*% -G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* -G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-05-25 10:48:09* -%MOMM*% -%LPD*% -G04 APERTURE LIST* -%ADD10C,0.050000*% -G04 APERTURE END LIST* -D10* -X143510000Y-100330000D02* -X143510000Y-96520000D01* -X166370000Y-100330000D02* -X143510000Y-100330000D01* -X166370000Y-96520000D02* -X166370000Y-100330000D01* -X187960000Y-30480000D02* -X121920000Y-30480000D01* -X187960000Y-45720000D02* -X187960000Y-30480000D01* -X166370000Y-45720000D02* -X187960000Y-45720000D01* -X166370000Y-96520000D02* -X166370000Y-45720000D01* -X143510000Y-45720000D02* -X143510000Y-96520000D01* -X121920000Y-45720000D02* -X143510000Y-45720000D01* -X121920000Y-30480000D02* -X121920000Y-45720000D01* -M02* diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_Cu.gtl b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_Cu.gtl deleted file mode 100644 index 636d894..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_Cu.gtl +++ /dev/null @@ -1,1264 +0,0 @@ -G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3* -G04 #@! TF.CreationDate,2020-05-25T10:48:09-05:00* -G04 #@! TF.ProjectId,breakout_board_2x20,62726561-6b6f-4757-945f-626f6172645f,rev?* -G04 #@! TF.SameCoordinates,Original* -G04 #@! TF.FileFunction,Copper,L1,Top* -G04 #@! TF.FilePolarity,Positive* -%FSLAX46Y46*% -G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* -G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-05-25 10:48:09* -%MOMM*% -%LPD*% -G04 APERTURE LIST* -%ADD10O,1.700000X1.700000*% -%ADD11O,1.727200X1.727200*% -%ADD12R,1.727200X1.727200*% -%ADD13C,0.800000*% -%ADD14C,0.250000*% -G04 APERTURE END LIST* -D10* -X147320000Y-47498000D03* -X162331400Y-47498000D03* -X147320000Y-50038000D03* -X162306000Y-50038000D03* -X162331400Y-52578000D03* -X162306000Y-55118000D03* -X147320000Y-52578000D03* -X147320000Y-55118000D03* -X147320000Y-62738000D03* -X162306000Y-65278000D03* -X162331400Y-57658000D03* -X162306000Y-60198000D03* -X147320000Y-57658000D03* -X162331400Y-62738000D03* -X147320000Y-65278000D03* -X147320000Y-60198000D03* -X147320000Y-67818000D03* -X162306000Y-70358000D03* -X147320000Y-70358000D03* -X162331400Y-67818000D03* -X147320000Y-83058000D03* -X162306000Y-75438000D03* -X162306000Y-80518000D03* -X147320000Y-72898000D03* -X147320000Y-77978000D03* -X147320000Y-80518000D03* -X162331400Y-72898000D03* -X147320000Y-75438000D03* -X147320000Y-88138000D03* -X162331400Y-83058000D03* -X162306000Y-85598000D03* -X162306000Y-90678000D03* -X162331400Y-77978000D03* -X147320000Y-85598000D03* -X162331400Y-88138000D03* -X147320000Y-90678000D03* -X162306000Y-95758000D03* -X147320000Y-93218000D03* -X147320000Y-95758000D03* -X162331400Y-93218000D03* -D11* -X130810000Y-39370000D03* -X130810000Y-36830000D03* -X133350000Y-39370000D03* -X133350000Y-36830000D03* -X135890000Y-39370000D03* -X135890000Y-36830000D03* -X138430000Y-39370000D03* -X138430000Y-36830000D03* -X140970000Y-39370000D03* -X140970000Y-36830000D03* -X143510000Y-39370000D03* -X143510000Y-36830000D03* -X146050000Y-39370000D03* -X146050000Y-36830000D03* -X148590000Y-39370000D03* -X148590000Y-36830000D03* -X151130000Y-39370000D03* -X151130000Y-36830000D03* -X153670000Y-39370000D03* -X153670000Y-36830000D03* -X156210000Y-39370000D03* -X156210000Y-36830000D03* -X158750000Y-39370000D03* -X158750000Y-36830000D03* -X161290000Y-39370000D03* -X161290000Y-36830000D03* -X163830000Y-39370000D03* -X163830000Y-36830000D03* -X166370000Y-39370000D03* -X166370000Y-36830000D03* -X168910000Y-39370000D03* -X168910000Y-36830000D03* -X171450000Y-39370000D03* -X171450000Y-36830000D03* -X173990000Y-39370000D03* -X173990000Y-36830000D03* -X176530000Y-39370000D03* -X176530000Y-36830000D03* -X179070000Y-39370000D03* -D12* -X179070000Y-36830000D03* -D13* -X145542000Y-90932000D03* -X146395045Y-44886229D03* -X147228245Y-44325694D03* -X148195008Y-44069970D03* -X146777489Y-42881939D03* -X148294573Y-45447439D03* -X148071423Y-48766742D03* -X149352000Y-84328000D03* -X141430451Y-40851838D03* -X144780000Y-38100000D03* -X149860000Y-81788000D03* -X149670794Y-47096690D03* -X150114000Y-83058000D03* -X150626660Y-77474660D03* -X152146000Y-74930000D03* -X152395494Y-73410814D03* -X153129670Y-70636559D03* -X154432000Y-68580000D03* -X155368384Y-66788707D03* -X156464000Y-65786000D03* -X157226000Y-61976000D03* -X157734000Y-60198000D03* -X159004000Y-58420000D03* -X160020000Y-54102000D03* -X167386000Y-43759011D03* -X168656000Y-43434000D03* -X172720000Y-36068000D03* -X164846000Y-35052000D03* -D14* -X143654978Y-45369990D02* -X143869999Y-45585011D01* -X148169999Y-98210001D02* -X148169999Y-96607999D01* -X131473168Y-45369990D02* -X143654978Y-45369990D01* -X129621399Y-43518221D02* -X131473168Y-45369990D01* -X144526000Y-98806000D02* -X147574000Y-98806000D01* -X144018000Y-92204822D02* -X144018000Y-98298000D01* -X143869999Y-45585011D02* -X143869999Y-45979831D01* -X143869999Y-45979831D02* -X143879978Y-45989810D01* -X143879978Y-45989810D02* -X143879978Y-92066800D01* -X147574000Y-98806000D02* -X148169999Y-98210001D01* -X144018000Y-98298000D02* -X144526000Y-98806000D01* -X130810000Y-36830000D02* -X129621399Y-38018601D01* -X143879978Y-92066800D02* -X144018000Y-92204822D01* -X129621399Y-38018601D02* -X129621399Y-43518221D01* -X148169999Y-96607999D02* -X147320000Y-95758000D01* -X138678357Y-43942000D02* -X138700401Y-43964044D01* -X143520757Y-43964044D02* -X143542799Y-43986086D01* -X138700401Y-43964044D02* -X143520757Y-43964044D01* -X145220032Y-45420631D02* -X145244977Y-45445576D01* -X145288000Y-73877824D02* -X145288000Y-90678000D01* -X145288000Y-90678000D02* -X145542000Y-90932000D01* -X145220032Y-44943130D02* -X145220032Y-45420631D01* -X143542799Y-43986086D02* -X144262988Y-43986086D01* -X145244977Y-73834801D02* -X145288000Y-73877824D01* -X132080000Y-43942000D02* -X138678357Y-43942000D01* -X145244977Y-45445576D02* -X145244977Y-73834801D01* -X132080000Y-42672000D02* -X132080000Y-43942000D01* -X134620000Y-40132000D02* -X132080000Y-42672000D01* -X144262988Y-43986086D02* -X145220032Y-44943130D01* -X134620000Y-38100000D02* -X134620000Y-40132000D01* -X133350000Y-36830000D02* -X134620000Y-38100000D01* -X136753599Y-40233599D02* -X136753599Y-41380831D01* -X136753599Y-41380831D02* -X138886801Y-43514033D01* -X143707157Y-43514033D02* -X143729199Y-43536075D01* -X143729199Y-43536075D02* -X144449388Y-43536075D01* -X144449388Y-43536075D02* -X145670043Y-44756730D01* -X145670043Y-45229235D02* -X145694988Y-45254180D01* -X145670043Y-44756730D02* -X145670043Y-45229235D01* -X161456001Y-89828001D02* -X162306000Y-90678000D01* -X145694988Y-73648400D02* -X146144999Y-74098411D01* -X146652999Y-89502999D02* -X161130999Y-89502999D01* -X146144999Y-88994999D02* -X146652999Y-89502999D01* -X138886801Y-43514033D02* -X143707157Y-43514033D01* -X135890000Y-39370000D02* -X136753599Y-40233599D01* -X161130999Y-89502999D02* -X161456001Y-89828001D01* -X146144999Y-74098411D02* -X146144999Y-88994999D01* -X145694988Y-45254180D02* -X145694988Y-73648400D01* -X139073201Y-43064022D02* -X143893557Y-43064022D01* -X137241399Y-41232220D02* -X139073201Y-43064022D01* -X137241399Y-38181399D02* -X137241399Y-41232220D01* -X135890000Y-36830000D02* -X137241399Y-38181399D01* -X146395045Y-44845321D02* -X146395045Y-44886229D01* -X143915599Y-43086064D02* -X144635788Y-43086064D01* -X143893557Y-43064022D02* -X143915599Y-43086064D01* -X144635788Y-43086064D02* -X146395045Y-44845321D01* -X144101999Y-42636053D02* -X144822188Y-42636053D01* -X146959503Y-44056952D02* -X147228245Y-44325694D01* -X146243087Y-44056952D02* -X146959503Y-44056952D01* -X139513600Y-42614011D02* -X144079957Y-42614011D01* -X138430000Y-41530411D02* -X139513600Y-42614011D01* -X144822188Y-42636053D02* -X146243087Y-44056952D01* -X144079957Y-42614011D02* -X144101999Y-42636053D01* -X138430000Y-39370000D02* -X138430000Y-41530411D01* -X147189461Y-43542971D02* -X147668009Y-43542971D01* -X146429487Y-43606941D02* -X147125491Y-43606941D01* -X139618601Y-38018601D02* -X139618601Y-42082601D01* -X145008588Y-42186042D02* -X146429487Y-43606941D01* -X147668009Y-43542971D02* -X147795009Y-43669971D01* -X144288399Y-42186042D02* -X145008588Y-42186042D01* -X147125491Y-43606941D02* -X147189461Y-43542971D01* -X147795009Y-43669971D02* -X148195008Y-44069970D01* -X138430000Y-36830000D02* -X139618601Y-38018601D01* -X144266357Y-42164000D02* -X144288399Y-42186042D01* -X139700000Y-42164000D02* -X144266357Y-42164000D01* -X139618601Y-42082601D02* -X139700000Y-42164000D01* -X140970000Y-39370000D02* -X140106401Y-40233599D01* -X140106401Y-40233599D02* -X140106401Y-41046401D01* -X146377490Y-42481940D02* -X146777489Y-42881939D01* -X145631581Y-41736031D02* -X146377490Y-42481940D01* -X144474799Y-41736031D02* -X145631581Y-41736031D01* -X144394768Y-41656000D02* -X144474799Y-41736031D01* -X140716000Y-41656000D02* -X144394768Y-41656000D01* -X140106401Y-41046401D02* -X140716000Y-41656000D01* -X148294573Y-45447439D02* -X147631559Y-45447439D01* -X146144999Y-48062001D02* -X146849740Y-48766742D01* -X147631559Y-45447439D02* -X146144999Y-46933999D01* -X147505738Y-48766742D02* -X148071423Y-48766742D01* -X146144999Y-46933999D02* -X146144999Y-48062001D01* -X146849740Y-48766742D02* -X147505738Y-48766742D01* -X148945792Y-47444692D02* -X149250697Y-47749597D01* -X140970000Y-36830000D02* -X142321399Y-38181399D01* -X142321399Y-38181399D02* -X142321399Y-40467399D01* -X142321399Y-40467399D02* -X142494000Y-40640000D01* -X142494000Y-40640000D02* -X146426768Y-40640000D01* -X146426768Y-40640000D02* -X149481879Y-43695111D01* -X149481879Y-43695111D02* -X149481879Y-46212601D01* -X149481879Y-46212601D02* -X148945792Y-46748688D01* -X148945792Y-46748688D02* -X148945792Y-47444692D01* -X149250697Y-47749597D02* -X149250697Y-56152902D01* -X149250697Y-56152902D02* -X148908800Y-56494798D01* -X148908800Y-56494798D02* -X148908800Y-63901202D01* -X148908800Y-63901202D02* -X149206888Y-64199289D01* -X148804580Y-68797357D02* -X148804580Y-72475761D01* -X149206888Y-68148821D02* -X148836910Y-68518798D01* -X149352000Y-83762315D02* -X149352000Y-84328000D01* -X149134998Y-83545313D02* -X149352000Y-83762315D01* -X149134998Y-79090824D02* -X149134998Y-83545313D01* -X148996976Y-78952802D02* -X149134998Y-79090824D01* -X148996976Y-74903764D02* -X148996976Y-78952802D01* -X148970427Y-74877215D02* -X148996976Y-74903764D01* -X149206888Y-64199289D02* -X149206888Y-68148821D01* -X148970427Y-72641608D02* -X148970427Y-74877215D01* -X148804580Y-72475761D02* -X148970427Y-72641608D01* -X148836910Y-68765027D02* -X148804580Y-68797357D01* -X148836910Y-68518798D02* -X148836910Y-68765027D01* -X143510000Y-39370000D02* -X144018000Y-39370000D01* -X146755999Y-69182999D02* -X147782527Y-69182999D01* -X148386899Y-68578627D02* -X148386899Y-68332398D01* -X148386899Y-68332398D02* -X148697837Y-68021460D01* -X148697837Y-68021460D02* -X148697837Y-64726837D01* -X148697837Y-64726837D02* -X147884001Y-63913001D01* -X147884001Y-63913001D02* -X146755999Y-63913001D01* -X149031868Y-45855544D02* -X149031868Y-43881511D01* -X146755999Y-63913001D02* -X146144999Y-63302001D01* -X146144999Y-57093999D02* -X146755999Y-56482999D01* -X141996136Y-40851838D02* -X141430451Y-40851838D01* -X146240368Y-41090011D02* -X142234309Y-41090011D01* -X146144999Y-63302001D02* -X146144999Y-57093999D01* -X148495781Y-46391631D02* -X149031868Y-45855544D01* -X146144999Y-73462001D02* -X146144999Y-69793999D01* -X149031868Y-43881511D02* -X146240368Y-41090011D01* -X147782527Y-69182999D02* -X148386899Y-68578627D01* -X148495781Y-47631092D02* -X148495781Y-46391631D01* -X148495001Y-75038200D02* -X148495001Y-74684001D01* -X148800686Y-47935996D02* -X148495781Y-47631092D01* -X146144999Y-69793999D02* -X146755999Y-69182999D01* -X148800686Y-55566314D02* -X148800686Y-47935996D01* -X147884001Y-74073001D02* -X146755999Y-74073001D01* -X147884001Y-56482999D02* -X148800686Y-55566314D01* -X146755999Y-56482999D02* -X147884001Y-56482999D01* -X146755999Y-74073001D02* -X146144999Y-73462001D01* -X148495001Y-74684001D02* -X147884001Y-74073001D01* -X148546965Y-75090164D02* -X148495001Y-75038200D01* -X148546965Y-79139202D02* -X148546965Y-75090164D01* -X142234309Y-41090011D02* -X141996136Y-40851838D01* -X162331400Y-83058000D02* -X159283400Y-86106000D01* -X148590000Y-79182237D02* -X148546965Y-79139202D01* -X148590000Y-85090000D02* -X148590000Y-79182237D01* -X149606000Y-86106000D02* -X148590000Y-85090000D01* -X159283400Y-86106000D02* -X149606000Y-86106000D01* -X143510000Y-36830000D02* -X144780000Y-38100000D01* -X149860000Y-79179415D02* -X149446987Y-78766402D01* -X149358811Y-56681198D02* -X149728789Y-56311221D01* -X149860000Y-81788000D02* -X149860000Y-79179415D01* -X149446987Y-78766402D02* -X149446987Y-74717364D01* -X149446987Y-74717364D02* -X149420438Y-74690815D01* -X149420438Y-74690815D02* -X149420438Y-72455208D01* -X149656899Y-64012890D02* -X149358811Y-63714802D01* -X149728789Y-47154685D02* -X149670794Y-47096690D01* -X149286921Y-68705198D02* -X149656899Y-68335221D01* -X149656899Y-68335221D02* -X149656899Y-64012890D01* -X149358811Y-63714802D02* -X149358811Y-56681198D01* -X149728789Y-56311221D02* -X149728789Y-47154685D01* -X149420438Y-72455208D02* -X149254591Y-72289361D01* -X149286921Y-68951427D02* -X149286921Y-68705198D01* -X149254591Y-68983757D02* -X149286921Y-68951427D01* -X149254591Y-72289361D02* -X149254591Y-68983757D01* -X146913599Y-40490420D02* -X149931889Y-43508710D01* -X150395804Y-49162972D02* -X150178800Y-49379976D01* -X150178800Y-49379976D02* -X150178800Y-56497620D01* -X146050000Y-39370000D02* -X146913599Y-40233599D01* -X149808822Y-56867598D02* -X149808822Y-63528402D01* -X150106910Y-68521620D02* -X149736932Y-68891598D01* -X149896998Y-78580002D02* -X151384000Y-80067004D01* -X149808822Y-63528402D02* -X150106910Y-63826489D01* -X151384000Y-80067004D02* -X151384000Y-81788000D01* -X149736932Y-68891598D02* -X149736932Y-69137827D01* -X150513999Y-82658001D02* -X150114000Y-83058000D01* -X150178800Y-56497620D02* -X149808822Y-56867598D01* -X149896998Y-74530964D02* -X149896998Y-78580002D01* -X149870449Y-74504415D02* -X149896998Y-74530964D01* -X151384000Y-81788000D02* -X150513999Y-82658001D01* -X149704602Y-69170157D02* -X149704602Y-72102961D01* -X146913599Y-40233599D02* -X146913599Y-40490420D01* -X149704602Y-72102961D02* -X149870449Y-72268808D01* -X149736932Y-69137827D02* -X149704602Y-69170157D01* -X149931889Y-43508710D02* -X149931889Y-46313999D01* -X150395804Y-46777914D02* -X150395804Y-49162972D01* -X149931889Y-46313999D02* -X150395804Y-46777914D01* -X150106910Y-63826489D02* -X150106910Y-68521620D01* -X149870449Y-72268808D02* -X149870449Y-74504415D01* -X150320460Y-72082408D02* -X150320460Y-74318015D01* -X147401399Y-38181399D02* -X147401399Y-40341809D01* -X147401399Y-40341809D02* -X150381900Y-43322310D01* -X150845815Y-49349372D02* -X150628811Y-49566376D01* -X150154613Y-69356557D02* -X150154613Y-71916561D01* -X150258833Y-63342002D02* -X150556921Y-63640090D01* -X150556921Y-63640090D02* -X150556921Y-68708021D01* -X150186943Y-69324227D02* -X150154613Y-69356557D01* -X150258833Y-57053998D02* -X150258833Y-63342002D01* -X146050000Y-36830000D02* -X147401399Y-38181399D01* -X150845815Y-46591514D02* -X150845815Y-49349372D01* -X150626660Y-76908975D02* -X150626660Y-77474660D01* -X150626660Y-74624215D02* -X150626660Y-76908975D01* -X150320460Y-74318015D02* -X150626660Y-74624215D01* -X150154613Y-71916561D02* -X150320460Y-72082408D01* -X150186943Y-69077998D02* -X150186943Y-69324227D01* -X150628811Y-56684020D02* -X150258833Y-57053998D01* -X150628811Y-49566376D02* -X150628811Y-56684020D01* -X150381900Y-46127599D02* -X150845815Y-46591514D01* -X150381900Y-43322310D02* -X150381900Y-46127599D01* -X150556921Y-68708021D02* -X150186943Y-69077998D01* -X150636954Y-69264398D02* -X150636954Y-69510627D01* -X151295826Y-46405114D02* -X151295826Y-49535772D01* -X148590000Y-39370000D02* -X148590000Y-40894000D01* -X150831911Y-43135911D02* -X150831911Y-45941199D01* -X152146000Y-84074000D02* -X152654000Y-84582000D01* -X150770471Y-71896008D02* -X150770471Y-74131615D01* -X150770471Y-74131615D02* -X151420998Y-74782142D01* -X150604624Y-71730161D02* -X150770471Y-71896008D01* -X151078822Y-56870420D02* -X150708844Y-57240398D01* -X151078822Y-49752776D02* -X151078822Y-56870420D01* -X151006932Y-68894420D02* -X150636954Y-69264398D01* -X148590000Y-40894000D02* -X150831911Y-43135911D01* -X150636954Y-69510627D02* -X150604624Y-69542957D01* -X150604624Y-69542957D02* -X150604624Y-71730161D01* -X151006932Y-63453689D02* -X151006932Y-68894420D01* -X151420998Y-74782142D02* -X151420998Y-75278002D01* -X150831911Y-45941199D02* -X151295826Y-46405114D01* -X151295826Y-49535772D02* -X151078822Y-49752776D01* -X152146000Y-76003004D02* -X152146000Y-84074000D01* -X155727400Y-84582000D02* -X161481401Y-78827999D01* -X150708844Y-63155602D02* -X151006932Y-63453689D01* -X152654000Y-84582000D02* -X155727400Y-84582000D01* -X151420998Y-75278002D02* -X152146000Y-76003004D01* -X161481401Y-78827999D02* -X162331400Y-77978000D01* -X150708844Y-57240398D02* -X150708844Y-63155602D01* -X151281922Y-42826744D02* -X151281922Y-45754799D01* -X149941399Y-41486221D02* -X151281922Y-42826744D01* -X151745837Y-49722172D02* -X151528833Y-49939176D01* -X149941399Y-38181399D02* -X149941399Y-41486221D01* -X151220482Y-73945215D02* -X152146000Y-74870733D01* -X151745837Y-46218714D02* -X151745837Y-49722172D01* -X151281922Y-45754799D02* -X151745837Y-46218714D01* -X151528833Y-49939176D02* -X151528833Y-57056820D01* -X151528833Y-57056820D02* -X151158855Y-57426798D01* -X151456943Y-69080821D02* -X151086965Y-69450798D01* -X152146000Y-74870733D02* -X152146000Y-74930000D01* -X151086965Y-69450798D02* -X151086965Y-69697027D01* -X151158855Y-62969202D02* -X151456943Y-63267290D01* -X151054635Y-71543761D02* -X151220482Y-71709608D01* -X151086965Y-69697027D02* -X151054635Y-69729357D01* -X151054635Y-69729357D02* -X151054635Y-71543761D01* -X151158855Y-57426798D02* -X151158855Y-62969202D01* -X151220482Y-71709608D02* -X151220482Y-73945215D01* -X148590000Y-36830000D02* -X149941399Y-38181399D01* -X151456943Y-63267290D02* -X151456943Y-69080821D01* -X161003815Y-74135815D02* -X161456001Y-74588001D01* -X152047493Y-74135815D02* -X161003815Y-74135815D01* -X151130000Y-39370000D02* -X151130000Y-40591314D01* -X151731933Y-45568399D02* -X152195848Y-46032314D01* -X152195848Y-46032314D02* -X152195848Y-49908572D01* -X151536976Y-69637198D02* -X151536976Y-69883427D01* -X151504646Y-69915757D02* -X151504646Y-71357361D01* -X151670493Y-71523208D02* -X151670493Y-73758815D01* -X151670493Y-73758815D02* -X152047493Y-74135815D01* -X161456001Y-74588001D02* -X162306000Y-75438000D01* -X151906954Y-63080889D02* -X151906954Y-69267220D01* -X151504646Y-71357361D02* -X151670493Y-71523208D01* -X151906954Y-69267220D02* -X151536976Y-69637198D01* -X151536976Y-69883427D02* -X151504646Y-69915757D01* -X151608866Y-62782802D02* -X151906954Y-63080889D01* -X151608866Y-57613198D02* -X151608866Y-62782802D01* -X151978844Y-57243220D02* -X151608866Y-57613198D01* -X151978844Y-50125576D02* -X151978844Y-57243220D01* -X152195848Y-49908572D02* -X151978844Y-50125576D01* -X151130000Y-40591314D02* -X151731933Y-41193247D01* -X151731933Y-41193247D02* -X151731933Y-45568399D01* -X152318601Y-38018601D02* -X152318601Y-45518656D01* -X151130000Y-36830000D02* -X152318601Y-38018601D01* -X152395494Y-72845129D02* -X152395494Y-73410814D01* -X151954657Y-71170961D02* -X152395494Y-71611798D01* -X152428855Y-57429620D02* -X152058877Y-57799598D01* -X152058877Y-62596402D02* -X152356965Y-62894490D01* -X152356965Y-62894490D02* -X152356965Y-69453621D01* -X151986987Y-70069827D02* -X151954657Y-70102157D01* -X152645859Y-45845914D02* -X152645859Y-50094972D01* -X152645859Y-50094972D02* -X152428855Y-50311976D01* -X152318601Y-45518656D02* -X152645859Y-45845914D01* -X151954657Y-70102157D02* -X151954657Y-71170961D01* -X152428855Y-50311976D02* -X152428855Y-57429620D01* -X152058877Y-57799598D02* -X152058877Y-62596402D01* -X152395494Y-71611798D02* -X152395494Y-72845129D01* -X152356965Y-69453621D02* -X151986987Y-69823598D01* -X151986987Y-69823598D02* -X151986987Y-70069827D01* -X152436998Y-70256227D02* -X152404668Y-70288557D01* -X152508888Y-62410002D02* -X152806976Y-62708089D01* -X153670000Y-40591314D02* -X153095870Y-41165444D01* -X152806976Y-69640020D02* -X152436998Y-70009998D01* -X152404668Y-70984561D02* -X154768116Y-73348009D01* -X152508888Y-57985998D02* -X152508888Y-62410002D01* -X153670000Y-39370000D02* -X153670000Y-40591314D01* -X152404668Y-70288557D02* -X152404668Y-70984561D01* -X161129319Y-72898000D02* -X162331400Y-72898000D01* -X152878866Y-50498376D02* -X152878866Y-57616020D01* -X154768116Y-73348009D02* -X160679310Y-73348009D01* -X153095870Y-50281372D02* -X152878866Y-50498376D01* -X152806976Y-62708089D02* -X152806976Y-69640020D01* -X152878866Y-57616020D02* -X152508888Y-57985998D01* -X152436998Y-70009998D02* -X152436998Y-70256227D01* -X160679310Y-73348009D02* -X161129319Y-72898000D01* -X153095870Y-41165444D02* -X153095870Y-50281372D01* -X152958899Y-62223602D02* -X153256987Y-62521690D01* -X153256987Y-69943557D02* -X153129670Y-70070874D01* -X153545881Y-42022831D02* -X153545881Y-50467772D01* -X153328877Y-50684776D02* -X153328877Y-57802420D01* -X155021399Y-40547314D02* -X153545881Y-42022831D01* -X153129670Y-70070874D02* -X153129670Y-70636559D01* -X155021399Y-38181399D02* -X155021399Y-40547314D01* -X153256987Y-62521690D02* -X153256987Y-69943557D01* -X153545881Y-50467772D02* -X153328877Y-50684776D01* -X153328877Y-57802420D02* -X152958899Y-58172398D01* -X152958899Y-58172398D02* -X152958899Y-62223602D01* -X153670000Y-36830000D02* -X155021399Y-38181399D01* -X153995892Y-50654172D02* -X153778888Y-50871176D01* -X153778888Y-57988820D02* -X153408910Y-58358798D01* -X153995892Y-42209231D02* -X153995892Y-50654172D01* -X156210000Y-39370000D02* -X156210000Y-39995123D01* -X159766000Y-72898000D02* -X161456001Y-71207999D01* -X153408910Y-62037202D02* -X153706998Y-62335289D01* -X153778888Y-50871176D02* -X153778888Y-57988820D01* -X153706998Y-62335289D02* -X153706998Y-70198002D01* -X156210000Y-39995123D02* -X153995892Y-42209231D01* -X153706998Y-70198002D02* -X156406996Y-72898000D01* -X161456001Y-71207999D02* -X162306000Y-70358000D01* -X156406996Y-72898000D02* -X159766000Y-72898000D01* -X153408910Y-58358798D02* -X153408910Y-62037202D01* -X156107600Y-40733934D02* -X154445903Y-42395631D01* -X157398601Y-38018601D02* -X157398601Y-39950933D01* -X154228899Y-58175220D02* -X153858921Y-58545198D01* -X157398601Y-39950933D02* -X156615600Y-40733934D01* -X154432000Y-68014315D02* -X154432000Y-68580000D01* -X154193371Y-67775686D02* -X154432000Y-68014315D01* -X154228899Y-51057576D02* -X154228899Y-58175220D01* -X153858921Y-61850802D02* -X154193371Y-62185252D01* -X154445903Y-50840572D02* -X154228899Y-51057576D01* -X156615600Y-40733934D02* -X156107600Y-40733934D01* -X154193371Y-62185252D02* -X154193371Y-67775686D01* -X154445903Y-42395631D02* -X154445903Y-50840572D01* -X153858921Y-58545198D02* -X153858921Y-61850802D01* -X156210000Y-36830000D02* -X157398601Y-38018601D01* -X161481401Y-68667999D02* -X162331400Y-67818000D01* -X154895914Y-51026972D02* -X154678910Y-51243976D01* -X158750000Y-39370000D02* -X156936055Y-41183945D01* -X156464000Y-71120000D02* -X159029400Y-71120000D01* -X154643382Y-61998851D02* -X154643382Y-67136709D01* -X156294000Y-41183945D02* -X154895914Y-42582031D01* -X155194000Y-69850000D02* -X156464000Y-71120000D01* -X154308932Y-58731598D02* -X154308932Y-61664402D01* -X159029400Y-71120000D02* -X161481401Y-68667999D01* -X154678910Y-58361620D02* -X154308932Y-58731598D01* -X156936055Y-41183945D02* -X156294000Y-41183945D01* -X154643382Y-67136709D02* -X155194000Y-67687327D01* -X154678910Y-51243976D02* -X154678910Y-58361620D01* -X154308932Y-61664402D02* -X154643382Y-61998851D01* -X155194000Y-67687327D02* -X155194000Y-69850000D01* -X154895914Y-42582031D02* -X154895914Y-51026972D01* -X159938601Y-39940529D02* -X158245174Y-41633956D01* -X159938601Y-38018601D02* -X159938601Y-39940529D01* -X158245174Y-41633956D02* -X156480400Y-41633956D01* -X154758943Y-61478002D02* -X155150965Y-61870024D01* -X155150965Y-66571288D02* -X155368384Y-66788707D01* -X154758943Y-58917998D02* -X154758943Y-61478002D01* -X158750000Y-36830000D02* -X159938601Y-38018601D01* -X155345925Y-42768431D02* -X155345925Y-51213372D01* -X155128921Y-51430376D02* -X155128921Y-58548020D01* -X155128921Y-58548020D02* -X154758943Y-58917998D01* -X155150965Y-61870024D02* -X155150965Y-66571288D01* -X155345925Y-51213372D02* -X155128921Y-51430376D01* -X156480400Y-41633956D02* -X155345925Y-42768431D01* -X155208954Y-59104398D02* -X155208954Y-61291602D01* -X155600976Y-65995980D02* -X156115998Y-66511002D01* -X155795936Y-51399772D02* -X155578932Y-51616776D01* -X158576033Y-42083967D02* -X156666800Y-42083967D01* -X155578932Y-51616776D02* -X155578932Y-58734420D01* -X155578932Y-58734420D02* -X155208954Y-59104398D01* -X155795936Y-42954831D02* -X155795936Y-51399772D01* -X156666800Y-42083967D02* -X155795936Y-42954831D01* -X161290000Y-39370000D02* -X158576033Y-42083967D01* -X155208954Y-61291602D02* -X155600976Y-61683623D01* -X161072998Y-66511002D02* -X161456001Y-66127999D01* -X161456001Y-66127999D02* -X162306000Y-65278000D01* -X156115998Y-66511002D02* -X161072998Y-66511002D01* -X155600976Y-61683623D02* -X155600976Y-65995980D01* -X156050987Y-61497224D02* -X156050987Y-65372987D01* -X161290000Y-36830000D02* -X162478601Y-38018601D01* -X162478601Y-38018601D02* -X162478601Y-39940529D01* -X162478601Y-39940529D02* -X160045218Y-42373912D01* -X160045218Y-42373912D02* -X159798800Y-42373912D01* -X159798800Y-42373912D02* -X156245946Y-45926766D01* -X156245946Y-45926766D02* -X156245946Y-51586173D01* -X156245946Y-51586173D02* -X156028943Y-51803176D01* -X156028943Y-51803176D02* -X156028943Y-58920820D01* -X156028943Y-58920820D02* -X155658965Y-59290798D01* -X155658965Y-59290798D02* -X155658965Y-61105202D01* -X155658965Y-61105202D02* -X156050987Y-61497224D01* -X156050987Y-65372987D02* -X156064001Y-65386001D01* -X156064001Y-65386001D02* -X156464000Y-65786000D01* -X156805999Y-63587999D02* -X161481401Y-63587999D01* -X156500998Y-63282998D02* -X156805999Y-63587999D01* -X156108976Y-59477198D02* -X156108976Y-60918802D01* -X156500998Y-61310823D02* -X156500998Y-63282998D01* -X163830000Y-39370000D02* -X160376077Y-42823923D01* -X160376077Y-42823923D02* -X159985200Y-42823923D01* -X159985200Y-42823923D02* -X156695957Y-46113166D01* -X156695957Y-46113166D02* -X156695957Y-51772573D01* -X156695957Y-51772573D02* -X156478954Y-51989576D01* -X156478954Y-51989576D02* -X156478954Y-59107220D01* -X156478954Y-59107220D02* -X156108976Y-59477198D01* -X156108976Y-60918802D02* -X156500998Y-61310823D01* -X161481401Y-63587999D02* -X162331400Y-62738000D01* -X156928965Y-59293620D02* -X156558987Y-59663598D01* -X156928965Y-52175976D02* -X156928965Y-59293620D01* -X165018601Y-39940528D02* -X161685195Y-43273934D01* -X165018601Y-38018601D02* -X165018601Y-39940528D01* -X157145968Y-51958973D02* -X156928965Y-52175976D01* -X160171600Y-43273934D02* -X157145968Y-46299566D01* -X156558987Y-59663598D02* -X156558987Y-60732402D01* -X157145968Y-46299566D02* -X157145968Y-51958973D01* -X156558987Y-60732402D02* -X157226000Y-61399415D01* -X163830000Y-36830000D02* -X165018601Y-38018601D01* -X161685195Y-43273934D02* -X160171600Y-43273934D01* -X157226000Y-61399415D02* -X157226000Y-61410315D01* -X157226000Y-61410315D02* -X157226000Y-61976000D01* -X161456001Y-61047999D02* -X162306000Y-60198000D01* -X157510995Y-61047999D02* -X161456001Y-61047999D01* -X157008998Y-59849998D02* -X157008998Y-60546002D01* -X157378976Y-59480020D02* -X157008998Y-59849998D01* -X157378976Y-52362376D02* -X157378976Y-59480020D01* -X157595979Y-52145373D02* -X157378976Y-52362376D01* -X157595979Y-46485966D02* -X157595979Y-52145373D01* -X160358000Y-43723945D02* -X157595979Y-46485966D01* -X162016055Y-43723945D02* -X160358000Y-43723945D01* -X157008998Y-60546002D02* -X157510995Y-61047999D01* -X166370000Y-39370000D02* -X162016055Y-43723945D01* -X157828987Y-60103013D02* -X157734000Y-60198000D01* -X157828987Y-52548776D02* -X157828987Y-60103013D01* -X158045990Y-52331773D02* -X157828987Y-52548776D01* -X158045990Y-46672366D02* -X158045990Y-52331773D01* -X160544400Y-44173956D02* -X158045990Y-46672366D01* -X163027396Y-44173956D02* -X160544400Y-44173956D01* -X166292398Y-40908954D02* -X163027396Y-44173956D01* -X166600580Y-40908954D02* -X166292398Y-40908954D01* -X167558601Y-39950933D02* -X166600580Y-40908954D01* -X167558601Y-38018601D02* -X167558601Y-39950933D01* -X166370000Y-36830000D02* -X167558601Y-38018601D01* -X160553400Y-59436000D02* -X161481401Y-58507999D01* -X158946996Y-59436000D02* -X160553400Y-59436000D01* -X158278998Y-58768002D02* -X158946996Y-59436000D01* -X158496001Y-52518173D02* -X158278998Y-52735176D01* -X158496001Y-46858766D02* -X158496001Y-52518173D01* -X160730800Y-44623967D02* -X158496001Y-46858766D01* -X163213796Y-44623967D02* -X160730800Y-44623967D01* -X166786981Y-41358965D02* -X166478798Y-41358965D01* -X167912347Y-40233599D02* -X166786981Y-41358965D01* -X168046401Y-40233599D02* -X167912347Y-40233599D01* -X166478798Y-41358965D02* -X163213796Y-44623967D01* -X168910000Y-39370000D02* -X168046401Y-40233599D01* -X161481401Y-58507999D02* -X162331400Y-57658000D01* -X158278998Y-52735176D02* -X158278998Y-58768002D01* -X159004000Y-57854315D02* -X159004000Y-58420000D01* -X158844987Y-57695302D02* -X159004000Y-57854315D01* -X170098601Y-38018601D02* -X170098601Y-39940529D01* -X160917200Y-45073978D02* -X159004000Y-46987178D01* -X159004000Y-46987178D02* -X159004000Y-52646585D01* -X158844987Y-52805598D02* -X158844987Y-57695302D01* -X166665198Y-41808976D02* -X163400196Y-45073978D01* -X168910000Y-36830000D02* -X170098601Y-38018601D01* -X159004000Y-52646585D02* -X158844987Y-52805598D01* -X170098601Y-39940529D02* -X168775152Y-41263977D01* -X168775152Y-41263977D02* -X167518379Y-41263977D01* -X167518379Y-41263977D02* -X166973380Y-41808976D01* -X166973380Y-41808976D02* -X166665198Y-41808976D01* -X163400196Y-45073978D02* -X160917200Y-45073978D01* -X171450000Y-39370000D02* -X171305540Y-39370000D01* -X161103600Y-45523989D02* -X159569989Y-47057600D01* -X159294998Y-54450002D02* -X159962996Y-55118000D01* -X159569989Y-47057600D02* -X159569989Y-52717007D01* -X167159781Y-42258987D02* -X166851598Y-42258987D01* -X159962996Y-55118000D02* -X161103919Y-55118000D01* -X171305540Y-39370000D02* -X168961551Y-41713988D01* -X168961551Y-41713988D02* -X167704780Y-41713988D01* -X163586596Y-45523989D02* -X161103600Y-45523989D01* -X166851598Y-42258987D02* -X163586596Y-45523989D01* -X159569989Y-52717007D02* -X159294998Y-52991998D01* -X159294998Y-52991998D02* -X159294998Y-54450002D01* -X161103919Y-55118000D02* -X162306000Y-55118000D01* -X167704780Y-41713988D02* -X167159781Y-42258987D01* -X160020000Y-47244000D02* -X160020000Y-53536315D01* -X161290000Y-45974000D02* -X160020000Y-47244000D01* -X167037998Y-42708998D02* -X163772996Y-45974000D01* -X167891179Y-42163999D02* -X167346180Y-42708998D01* -X169147950Y-42163999D02* -X167891179Y-42163999D01* -X170671950Y-40639999D02* -X169147950Y-42163999D01* -X163772996Y-45974000D02* -X161290000Y-45974000D01* -X172638600Y-40467400D02* -X172466001Y-40639999D01* -X167346180Y-42708998D02* -X167037998Y-42708998D01* -X171450000Y-36830000D02* -X172638601Y-38018601D01* -X172466001Y-40639999D02* -X170671950Y-40639999D01* -X172638601Y-38018601D02* -X172638600Y-40467400D01* -X160020000Y-53536315D02* -X160020000Y-54102000D01* -X173126401Y-40616009D02* -X172652400Y-41090010D01* -X173126401Y-40233599D02* -X173126401Y-40616009D01* -X173990000Y-39370000D02* -X173126401Y-40233599D01* -X170858350Y-41090010D02* -X169239362Y-42708998D01* -X172652400Y-41090010D02* -X170858350Y-41090010D01* -X169239362Y-42708998D02* -X168328012Y-42708998D01* -X167785999Y-43251011D02* -X167785999Y-43359012D01* -X168328012Y-42708998D02* -X167785999Y-43251011D01* -X167785999Y-43359012D02* -X167386000Y-43759011D01* -X173463130Y-41656000D02* -X170942000Y-41656000D01* -X173990000Y-36830000D02* -X175178601Y-38018601D01* -X168910000Y-43180000D02* -X168656000Y-43434000D01* -X169418000Y-43180000D02* -X168910000Y-43180000D01* -X175178601Y-39940529D02* -X173463130Y-41656000D01* -X175178601Y-38018601D02* -X175178601Y-39940529D01* -X170942000Y-41656000D02* -X169418000Y-43180000D01* -X167990010Y-45369990D02* -X166225022Y-45369990D01* -X163155999Y-49188001D02* -X162306000Y-50038000D01* -X171253990Y-42106010D02* -X167990010Y-45369990D01* -X173649530Y-42106010D02* -X171253990Y-42106010D01* -X176530000Y-39370000D02* -X176385540Y-39370000D01* -X176385540Y-39370000D02* -X173649530Y-42106010D01* -X166225022Y-45369990D02* -X163155999Y-48439013D01* -X163155999Y-48439013D02* -X163155999Y-49188001D01* -X173146601Y-35641399D02* -X172720000Y-36068000D01* -X176530000Y-36830000D02* -X175341399Y-35641399D01* -X175341399Y-35641399D02* -X173146601Y-35641399D01* -X178405600Y-35052000D02* -X164846000Y-35052000D01* -X179070000Y-36830000D02* -X179070000Y-35716400D01* -X179070000Y-35716400D02* -X178405600Y-35052000D01* -X130810000Y-39370000D02* -X130810000Y-44070411D01* -X161130999Y-94582999D02* -X161456001Y-94908001D01* -X143904093Y-44900011D02* -X144320010Y-45315929D01* -X144526000Y-92076411D02* -X144526000Y-92710000D01* -X144329989Y-45803410D02* -X144329989Y-91880400D01* -X130810000Y-44070411D02* -X131639600Y-44900011D01* -X146398999Y-94582999D02* -X161130999Y-94582999D01* -X161456001Y-94908001D02* -X162306000Y-95758000D01* -X144526000Y-92710000D02* -X146398999Y-94582999D01* -X144320010Y-45315929D02* -X144320010Y-45793431D01* -X131639600Y-44900011D02* -X143904093Y-44900011D01* -X144329989Y-91880400D02* -X144526000Y-92076411D01* -X144320010Y-45793431D02* -X144329989Y-45803410D01* -X131826000Y-44450000D02* -X144090492Y-44450000D01* -X161481401Y-92368001D02* -X162331400Y-93218000D01* -X144090492Y-44450000D02* -X144770021Y-45129529D01* -X145128999Y-92042999D02* -X161156399Y-92042999D01* -X144780000Y-91694000D02* -X145128999Y-92042999D01* -X133350000Y-39370000D02* -X131318000Y-41402000D01* -X131318000Y-41402000D02* -X131318000Y-43942000D01* -X131318000Y-43942000D02* -X131826000Y-44450000D01* -X144770021Y-45607031D02* -X144780000Y-45617010D01* -X161156399Y-92042999D02* -X161481401Y-92368001D01* -X144780000Y-45617010D02* -X144780000Y-91694000D01* -X144770021Y-45129529D02* -X144770021Y-45607031D01* -M02* diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_Mask.gts b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_Mask.gts deleted file mode 100644 index 014b95e..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_Mask.gts +++ /dev/null @@ -1,3028 +0,0 @@ -G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3* -G04 #@! TF.CreationDate,2020-05-25T10:48:09-05:00* -G04 #@! TF.ProjectId,breakout_board_2x20,62726561-6b6f-4757-945f-626f6172645f,rev?* -G04 #@! TF.SameCoordinates,Original* -G04 #@! TF.FileFunction,Soldermask,Top* -G04 #@! TF.FilePolarity,Negative* -%FSLAX46Y46*% -G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* -G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-05-25 10:48:09* -%MOMM*% -%LPD*% -G04 APERTURE LIST* -%ADD10C,0.100000*% -G04 APERTURE END LIST* -D10* -G36* -X162419512Y-94861927D02* -G01* -X162568812Y-94891624D01* -X162732784Y-94959544D01* -X162880354Y-95058147D01* -X163005853Y-95183646D01* -X163104456Y-95331216D01* -X163172376Y-95495188D01* -X163207000Y-95669259D01* -X163207000Y-95846741D01* -X163172376Y-96020812D01* -X163104456Y-96184784D01* -X163005853Y-96332354D01* -X162880354Y-96457853D01* -X162732784Y-96556456D01* -X162568812Y-96624376D01* -X162419512Y-96654073D01* -X162394742Y-96659000D01* -X162217258Y-96659000D01* -X162192488Y-96654073D01* -X162043188Y-96624376D01* -X161879216Y-96556456D01* -X161731646Y-96457853D01* -X161606147Y-96332354D01* -X161507544Y-96184784D01* -X161439624Y-96020812D01* -X161405000Y-95846741D01* -X161405000Y-95669259D01* -X161439624Y-95495188D01* -X161507544Y-95331216D01* -X161606147Y-95183646D01* -X161731646Y-95058147D01* -X161879216Y-94959544D01* -X162043188Y-94891624D01* -X162192488Y-94861927D01* -X162217258Y-94857000D01* -X162394742Y-94857000D01* -X162419512Y-94861927D01* -G37* -G36* -X147433512Y-94861927D02* -G01* -X147582812Y-94891624D01* -X147746784Y-94959544D01* -X147894354Y-95058147D01* -X148019853Y-95183646D01* -X148118456Y-95331216D01* -X148186376Y-95495188D01* -X148221000Y-95669259D01* -X148221000Y-95846741D01* -X148186376Y-96020812D01* -X148118456Y-96184784D01* -X148019853Y-96332354D01* -X147894354Y-96457853D01* -X147746784Y-96556456D01* -X147582812Y-96624376D01* -X147433512Y-96654073D01* -X147408742Y-96659000D01* -X147231258Y-96659000D01* -X147206488Y-96654073D01* -X147057188Y-96624376D01* -X146893216Y-96556456D01* -X146745646Y-96457853D01* -X146620147Y-96332354D01* -X146521544Y-96184784D01* -X146453624Y-96020812D01* -X146419000Y-95846741D01* -X146419000Y-95669259D01* -X146453624Y-95495188D01* -X146521544Y-95331216D01* -X146620147Y-95183646D01* -X146745646Y-95058147D01* -X146893216Y-94959544D01* -X147057188Y-94891624D01* -X147206488Y-94861927D01* -X147231258Y-94857000D01* -X147408742Y-94857000D01* -X147433512Y-94861927D01* -G37* -G36* -X162444912Y-92321927D02* -G01* -X162594212Y-92351624D01* -X162758184Y-92419544D01* -X162905754Y-92518147D01* -X163031253Y-92643646D01* -X163129856Y-92791216D01* -X163197776Y-92955188D01* -X163232400Y-93129259D01* -X163232400Y-93306741D01* -X163197776Y-93480812D01* -X163129856Y-93644784D01* -X163031253Y-93792354D01* -X162905754Y-93917853D01* -X162758184Y-94016456D01* -X162594212Y-94084376D01* -X162444912Y-94114073D01* -X162420142Y-94119000D01* -X162242658Y-94119000D01* -X162217888Y-94114073D01* -X162068588Y-94084376D01* -X161904616Y-94016456D01* -X161757046Y-93917853D01* -X161631547Y-93792354D01* -X161532944Y-93644784D01* -X161465024Y-93480812D01* -X161430400Y-93306741D01* -X161430400Y-93129259D01* -X161465024Y-92955188D01* -X161532944Y-92791216D01* -X161631547Y-92643646D01* -X161757046Y-92518147D01* -X161904616Y-92419544D01* -X162068588Y-92351624D01* -X162217888Y-92321927D01* -X162242658Y-92317000D01* -X162420142Y-92317000D01* -X162444912Y-92321927D01* -G37* -G36* -X147433512Y-92321927D02* -G01* -X147582812Y-92351624D01* -X147746784Y-92419544D01* -X147894354Y-92518147D01* -X148019853Y-92643646D01* -X148118456Y-92791216D01* -X148186376Y-92955188D01* -X148221000Y-93129259D01* -X148221000Y-93306741D01* -X148186376Y-93480812D01* -X148118456Y-93644784D01* -X148019853Y-93792354D01* -X147894354Y-93917853D01* -X147746784Y-94016456D01* -X147582812Y-94084376D01* -X147433512Y-94114073D01* -X147408742Y-94119000D01* -X147231258Y-94119000D01* -X147206488Y-94114073D01* -X147057188Y-94084376D01* -X146893216Y-94016456D01* -X146745646Y-93917853D01* -X146620147Y-93792354D01* -X146521544Y-93644784D01* -X146453624Y-93480812D01* -X146419000Y-93306741D01* -X146419000Y-93129259D01* -X146453624Y-92955188D01* -X146521544Y-92791216D01* -X146620147Y-92643646D01* -X146745646Y-92518147D01* -X146893216Y-92419544D01* -X147057188Y-92351624D01* -X147206488Y-92321927D01* -X147231258Y-92317000D01* -X147408742Y-92317000D01* -X147433512Y-92321927D01* -G37* -G36* -X162419512Y-89781927D02* -G01* -X162568812Y-89811624D01* -X162732784Y-89879544D01* -X162880354Y-89978147D01* -X163005853Y-90103646D01* -X163104456Y-90251216D01* -X163172376Y-90415188D01* -X163207000Y-90589259D01* -X163207000Y-90766741D01* -X163172376Y-90940812D01* -X163104456Y-91104784D01* -X163005853Y-91252354D01* -X162880354Y-91377853D01* -X162732784Y-91476456D01* -X162568812Y-91544376D01* -X162419512Y-91574073D01* -X162394742Y-91579000D01* -X162217258Y-91579000D01* -X162192488Y-91574073D01* -X162043188Y-91544376D01* -X161879216Y-91476456D01* -X161731646Y-91377853D01* -X161606147Y-91252354D01* -X161507544Y-91104784D01* -X161439624Y-90940812D01* -X161405000Y-90766741D01* -X161405000Y-90589259D01* -X161439624Y-90415188D01* -X161507544Y-90251216D01* -X161606147Y-90103646D01* -X161731646Y-89978147D01* -X161879216Y-89879544D01* -X162043188Y-89811624D01* -X162192488Y-89781927D01* -X162217258Y-89777000D01* -X162394742Y-89777000D01* -X162419512Y-89781927D01* -G37* -G36* -X147433512Y-89781927D02* -G01* -X147582812Y-89811624D01* -X147746784Y-89879544D01* -X147894354Y-89978147D01* -X148019853Y-90103646D01* -X148118456Y-90251216D01* -X148186376Y-90415188D01* -X148221000Y-90589259D01* -X148221000Y-90766741D01* -X148186376Y-90940812D01* -X148118456Y-91104784D01* -X148019853Y-91252354D01* -X147894354Y-91377853D01* -X147746784Y-91476456D01* -X147582812Y-91544376D01* -X147433512Y-91574073D01* -X147408742Y-91579000D01* -X147231258Y-91579000D01* -X147206488Y-91574073D01* -X147057188Y-91544376D01* -X146893216Y-91476456D01* -X146745646Y-91377853D01* -X146620147Y-91252354D01* -X146521544Y-91104784D01* -X146453624Y-90940812D01* -X146419000Y-90766741D01* -X146419000Y-90589259D01* -X146453624Y-90415188D01* -X146521544Y-90251216D01* -X146620147Y-90103646D01* -X146745646Y-89978147D01* -X146893216Y-89879544D01* -X147057188Y-89811624D01* -X147206488Y-89781927D01* -X147231258Y-89777000D01* -X147408742Y-89777000D01* -X147433512Y-89781927D01* -G37* -G36* -X162444912Y-87241927D02* -G01* -X162594212Y-87271624D01* -X162758184Y-87339544D01* -X162905754Y-87438147D01* -X163031253Y-87563646D01* -X163129856Y-87711216D01* -X163197776Y-87875188D01* -X163232400Y-88049259D01* -X163232400Y-88226741D01* -X163197776Y-88400812D01* -X163129856Y-88564784D01* -X163031253Y-88712354D01* -X162905754Y-88837853D01* -X162758184Y-88936456D01* -X162594212Y-89004376D01* -X162444912Y-89034073D01* -X162420142Y-89039000D01* -X162242658Y-89039000D01* -X162217888Y-89034073D01* -X162068588Y-89004376D01* -X161904616Y-88936456D01* -X161757046Y-88837853D01* -X161631547Y-88712354D01* -X161532944Y-88564784D01* -X161465024Y-88400812D01* -X161430400Y-88226741D01* -X161430400Y-88049259D01* -X161465024Y-87875188D01* -X161532944Y-87711216D01* -X161631547Y-87563646D01* -X161757046Y-87438147D01* -X161904616Y-87339544D01* -X162068588Y-87271624D01* -X162217888Y-87241927D01* -X162242658Y-87237000D01* -X162420142Y-87237000D01* -X162444912Y-87241927D01* -G37* -G36* -X147433512Y-87241927D02* -G01* -X147582812Y-87271624D01* -X147746784Y-87339544D01* -X147894354Y-87438147D01* -X148019853Y-87563646D01* -X148118456Y-87711216D01* -X148186376Y-87875188D01* -X148221000Y-88049259D01* -X148221000Y-88226741D01* -X148186376Y-88400812D01* -X148118456Y-88564784D01* -X148019853Y-88712354D01* -X147894354Y-88837853D01* -X147746784Y-88936456D01* -X147582812Y-89004376D01* -X147433512Y-89034073D01* -X147408742Y-89039000D01* -X147231258Y-89039000D01* -X147206488Y-89034073D01* -X147057188Y-89004376D01* -X146893216Y-88936456D01* -X146745646Y-88837853D01* -X146620147Y-88712354D01* -X146521544Y-88564784D01* -X146453624Y-88400812D01* -X146419000Y-88226741D01* -X146419000Y-88049259D01* -X146453624Y-87875188D01* -X146521544Y-87711216D01* -X146620147Y-87563646D01* -X146745646Y-87438147D01* -X146893216Y-87339544D01* -X147057188Y-87271624D01* -X147206488Y-87241927D01* -X147231258Y-87237000D01* -X147408742Y-87237000D01* -X147433512Y-87241927D01* -G37* -G36* -X162419512Y-84701927D02* -G01* -X162568812Y-84731624D01* -X162732784Y-84799544D01* -X162880354Y-84898147D01* -X163005853Y-85023646D01* -X163104456Y-85171216D01* -X163172376Y-85335188D01* -X163207000Y-85509259D01* -X163207000Y-85686741D01* -X163172376Y-85860812D01* -X163104456Y-86024784D01* -X163005853Y-86172354D01* -X162880354Y-86297853D01* -X162732784Y-86396456D01* -X162568812Y-86464376D01* -X162419512Y-86494073D01* -X162394742Y-86499000D01* -X162217258Y-86499000D01* -X162192488Y-86494073D01* -X162043188Y-86464376D01* -X161879216Y-86396456D01* -X161731646Y-86297853D01* -X161606147Y-86172354D01* -X161507544Y-86024784D01* -X161439624Y-85860812D01* -X161405000Y-85686741D01* -X161405000Y-85509259D01* -X161439624Y-85335188D01* -X161507544Y-85171216D01* -X161606147Y-85023646D01* -X161731646Y-84898147D01* -X161879216Y-84799544D01* -X162043188Y-84731624D01* -X162192488Y-84701927D01* -X162217258Y-84697000D01* -X162394742Y-84697000D01* -X162419512Y-84701927D01* -G37* -G36* -X147433512Y-84701927D02* -G01* -X147582812Y-84731624D01* -X147746784Y-84799544D01* -X147894354Y-84898147D01* -X148019853Y-85023646D01* -X148118456Y-85171216D01* -X148186376Y-85335188D01* -X148221000Y-85509259D01* -X148221000Y-85686741D01* -X148186376Y-85860812D01* -X148118456Y-86024784D01* -X148019853Y-86172354D01* -X147894354Y-86297853D01* -X147746784Y-86396456D01* -X147582812Y-86464376D01* -X147433512Y-86494073D01* -X147408742Y-86499000D01* -X147231258Y-86499000D01* -X147206488Y-86494073D01* -X147057188Y-86464376D01* -X146893216Y-86396456D01* -X146745646Y-86297853D01* -X146620147Y-86172354D01* -X146521544Y-86024784D01* -X146453624Y-85860812D01* -X146419000Y-85686741D01* -X146419000Y-85509259D01* -X146453624Y-85335188D01* -X146521544Y-85171216D01* -X146620147Y-85023646D01* -X146745646Y-84898147D01* -X146893216Y-84799544D01* -X147057188Y-84731624D01* -X147206488Y-84701927D01* -X147231258Y-84697000D01* -X147408742Y-84697000D01* -X147433512Y-84701927D01* -G37* -G36* -X147433512Y-82161927D02* -G01* -X147582812Y-82191624D01* -X147746784Y-82259544D01* -X147894354Y-82358147D01* -X148019853Y-82483646D01* -X148118456Y-82631216D01* -X148186376Y-82795188D01* -X148221000Y-82969259D01* -X148221000Y-83146741D01* -X148186376Y-83320812D01* -X148118456Y-83484784D01* -X148019853Y-83632354D01* -X147894354Y-83757853D01* -X147746784Y-83856456D01* -X147582812Y-83924376D01* -X147433512Y-83954073D01* -X147408742Y-83959000D01* -X147231258Y-83959000D01* -X147206488Y-83954073D01* -X147057188Y-83924376D01* -X146893216Y-83856456D01* -X146745646Y-83757853D01* -X146620147Y-83632354D01* -X146521544Y-83484784D01* -X146453624Y-83320812D01* -X146419000Y-83146741D01* -X146419000Y-82969259D01* -X146453624Y-82795188D01* -X146521544Y-82631216D01* -X146620147Y-82483646D01* -X146745646Y-82358147D01* -X146893216Y-82259544D01* -X147057188Y-82191624D01* -X147206488Y-82161927D01* -X147231258Y-82157000D01* -X147408742Y-82157000D01* -X147433512Y-82161927D01* -G37* -G36* -X162444912Y-82161927D02* -G01* -X162594212Y-82191624D01* -X162758184Y-82259544D01* -X162905754Y-82358147D01* -X163031253Y-82483646D01* -X163129856Y-82631216D01* -X163197776Y-82795188D01* -X163232400Y-82969259D01* -X163232400Y-83146741D01* -X163197776Y-83320812D01* -X163129856Y-83484784D01* -X163031253Y-83632354D01* -X162905754Y-83757853D01* -X162758184Y-83856456D01* -X162594212Y-83924376D01* -X162444912Y-83954073D01* -X162420142Y-83959000D01* -X162242658Y-83959000D01* -X162217888Y-83954073D01* -X162068588Y-83924376D01* -X161904616Y-83856456D01* -X161757046Y-83757853D01* -X161631547Y-83632354D01* -X161532944Y-83484784D01* -X161465024Y-83320812D01* -X161430400Y-83146741D01* -X161430400Y-82969259D01* -X161465024Y-82795188D01* -X161532944Y-82631216D01* -X161631547Y-82483646D01* -X161757046Y-82358147D01* -X161904616Y-82259544D01* -X162068588Y-82191624D01* -X162217888Y-82161927D01* -X162242658Y-82157000D01* -X162420142Y-82157000D01* -X162444912Y-82161927D01* -G37* -G36* -X147433512Y-79621927D02* -G01* -X147582812Y-79651624D01* -X147746784Y-79719544D01* -X147894354Y-79818147D01* -X148019853Y-79943646D01* -X148118456Y-80091216D01* -X148186376Y-80255188D01* -X148221000Y-80429259D01* -X148221000Y-80606741D01* -X148186376Y-80780812D01* -X148118456Y-80944784D01* -X148019853Y-81092354D01* -X147894354Y-81217853D01* -X147746784Y-81316456D01* -X147582812Y-81384376D01* -X147433512Y-81414073D01* -X147408742Y-81419000D01* -X147231258Y-81419000D01* -X147206488Y-81414073D01* -X147057188Y-81384376D01* -X146893216Y-81316456D01* -X146745646Y-81217853D01* -X146620147Y-81092354D01* -X146521544Y-80944784D01* -X146453624Y-80780812D01* -X146419000Y-80606741D01* -X146419000Y-80429259D01* -X146453624Y-80255188D01* -X146521544Y-80091216D01* -X146620147Y-79943646D01* -X146745646Y-79818147D01* -X146893216Y-79719544D01* -X147057188Y-79651624D01* -X147206488Y-79621927D01* -X147231258Y-79617000D01* -X147408742Y-79617000D01* -X147433512Y-79621927D01* -G37* -G36* -X162419512Y-79621927D02* -G01* -X162568812Y-79651624D01* -X162732784Y-79719544D01* -X162880354Y-79818147D01* -X163005853Y-79943646D01* -X163104456Y-80091216D01* -X163172376Y-80255188D01* -X163207000Y-80429259D01* -X163207000Y-80606741D01* -X163172376Y-80780812D01* -X163104456Y-80944784D01* -X163005853Y-81092354D01* -X162880354Y-81217853D01* -X162732784Y-81316456D01* -X162568812Y-81384376D01* -X162419512Y-81414073D01* -X162394742Y-81419000D01* -X162217258Y-81419000D01* -X162192488Y-81414073D01* -X162043188Y-81384376D01* -X161879216Y-81316456D01* -X161731646Y-81217853D01* -X161606147Y-81092354D01* -X161507544Y-80944784D01* -X161439624Y-80780812D01* -X161405000Y-80606741D01* -X161405000Y-80429259D01* -X161439624Y-80255188D01* -X161507544Y-80091216D01* -X161606147Y-79943646D01* -X161731646Y-79818147D01* -X161879216Y-79719544D01* -X162043188Y-79651624D01* -X162192488Y-79621927D01* -X162217258Y-79617000D01* -X162394742Y-79617000D01* -X162419512Y-79621927D01* -G37* -G36* -X147433512Y-77081927D02* -G01* -X147582812Y-77111624D01* -X147746784Y-77179544D01* -X147894354Y-77278147D01* -X148019853Y-77403646D01* -X148118456Y-77551216D01* -X148186376Y-77715188D01* -X148221000Y-77889259D01* -X148221000Y-78066741D01* -X148186376Y-78240812D01* -X148118456Y-78404784D01* -X148019853Y-78552354D01* -X147894354Y-78677853D01* -X147746784Y-78776456D01* -X147582812Y-78844376D01* -X147433512Y-78874073D01* -X147408742Y-78879000D01* -X147231258Y-78879000D01* -X147206488Y-78874073D01* -X147057188Y-78844376D01* -X146893216Y-78776456D01* -X146745646Y-78677853D01* -X146620147Y-78552354D01* -X146521544Y-78404784D01* -X146453624Y-78240812D01* -X146419000Y-78066741D01* -X146419000Y-77889259D01* -X146453624Y-77715188D01* -X146521544Y-77551216D01* -X146620147Y-77403646D01* -X146745646Y-77278147D01* -X146893216Y-77179544D01* -X147057188Y-77111624D01* -X147206488Y-77081927D01* -X147231258Y-77077000D01* -X147408742Y-77077000D01* -X147433512Y-77081927D01* -G37* -G36* -X162444912Y-77081927D02* -G01* -X162594212Y-77111624D01* -X162758184Y-77179544D01* -X162905754Y-77278147D01* -X163031253Y-77403646D01* -X163129856Y-77551216D01* -X163197776Y-77715188D01* -X163232400Y-77889259D01* -X163232400Y-78066741D01* -X163197776Y-78240812D01* -X163129856Y-78404784D01* -X163031253Y-78552354D01* -X162905754Y-78677853D01* -X162758184Y-78776456D01* -X162594212Y-78844376D01* -X162444912Y-78874073D01* -X162420142Y-78879000D01* -X162242658Y-78879000D01* -X162217888Y-78874073D01* -X162068588Y-78844376D01* -X161904616Y-78776456D01* -X161757046Y-78677853D01* -X161631547Y-78552354D01* -X161532944Y-78404784D01* -X161465024Y-78240812D01* -X161430400Y-78066741D01* -X161430400Y-77889259D01* -X161465024Y-77715188D01* -X161532944Y-77551216D01* -X161631547Y-77403646D01* -X161757046Y-77278147D01* -X161904616Y-77179544D01* -X162068588Y-77111624D01* -X162217888Y-77081927D01* -X162242658Y-77077000D01* -X162420142Y-77077000D01* -X162444912Y-77081927D01* -G37* -G36* -X147433512Y-74541927D02* -G01* -X147582812Y-74571624D01* -X147746784Y-74639544D01* -X147894354Y-74738147D01* -X148019853Y-74863646D01* -X148118456Y-75011216D01* -X148186376Y-75175188D01* -X148221000Y-75349259D01* -X148221000Y-75526741D01* -X148186376Y-75700812D01* -X148118456Y-75864784D01* -X148019853Y-76012354D01* -X147894354Y-76137853D01* -X147746784Y-76236456D01* -X147582812Y-76304376D01* -X147433512Y-76334073D01* -X147408742Y-76339000D01* -X147231258Y-76339000D01* -X147206488Y-76334073D01* -X147057188Y-76304376D01* -X146893216Y-76236456D01* -X146745646Y-76137853D01* -X146620147Y-76012354D01* -X146521544Y-75864784D01* -X146453624Y-75700812D01* -X146419000Y-75526741D01* -X146419000Y-75349259D01* -X146453624Y-75175188D01* -X146521544Y-75011216D01* -X146620147Y-74863646D01* -X146745646Y-74738147D01* -X146893216Y-74639544D01* -X147057188Y-74571624D01* -X147206488Y-74541927D01* -X147231258Y-74537000D01* -X147408742Y-74537000D01* -X147433512Y-74541927D01* -G37* -G36* -X162419512Y-74541927D02* -G01* -X162568812Y-74571624D01* -X162732784Y-74639544D01* -X162880354Y-74738147D01* -X163005853Y-74863646D01* -X163104456Y-75011216D01* -X163172376Y-75175188D01* -X163207000Y-75349259D01* -X163207000Y-75526741D01* -X163172376Y-75700812D01* -X163104456Y-75864784D01* -X163005853Y-76012354D01* -X162880354Y-76137853D01* -X162732784Y-76236456D01* -X162568812Y-76304376D01* -X162419512Y-76334073D01* -X162394742Y-76339000D01* -X162217258Y-76339000D01* -X162192488Y-76334073D01* -X162043188Y-76304376D01* -X161879216Y-76236456D01* -X161731646Y-76137853D01* -X161606147Y-76012354D01* -X161507544Y-75864784D01* -X161439624Y-75700812D01* -X161405000Y-75526741D01* -X161405000Y-75349259D01* -X161439624Y-75175188D01* -X161507544Y-75011216D01* -X161606147Y-74863646D01* -X161731646Y-74738147D01* -X161879216Y-74639544D01* -X162043188Y-74571624D01* -X162192488Y-74541927D01* -X162217258Y-74537000D01* -X162394742Y-74537000D01* -X162419512Y-74541927D01* -G37* -G36* -X147433512Y-72001927D02* -G01* -X147582812Y-72031624D01* -X147746784Y-72099544D01* -X147894354Y-72198147D01* -X148019853Y-72323646D01* -X148118456Y-72471216D01* -X148186376Y-72635188D01* -X148221000Y-72809259D01* -X148221000Y-72986741D01* -X148186376Y-73160812D01* -X148118456Y-73324784D01* -X148019853Y-73472354D01* -X147894354Y-73597853D01* -X147746784Y-73696456D01* -X147582812Y-73764376D01* -X147433512Y-73794073D01* -X147408742Y-73799000D01* -X147231258Y-73799000D01* -X147206488Y-73794073D01* -X147057188Y-73764376D01* -X146893216Y-73696456D01* -X146745646Y-73597853D01* -X146620147Y-73472354D01* -X146521544Y-73324784D01* -X146453624Y-73160812D01* -X146419000Y-72986741D01* -X146419000Y-72809259D01* -X146453624Y-72635188D01* -X146521544Y-72471216D01* -X146620147Y-72323646D01* -X146745646Y-72198147D01* -X146893216Y-72099544D01* -X147057188Y-72031624D01* -X147206488Y-72001927D01* -X147231258Y-71997000D01* -X147408742Y-71997000D01* -X147433512Y-72001927D01* -G37* -G36* -X162444912Y-72001927D02* -G01* -X162594212Y-72031624D01* -X162758184Y-72099544D01* -X162905754Y-72198147D01* -X163031253Y-72323646D01* -X163129856Y-72471216D01* -X163197776Y-72635188D01* -X163232400Y-72809259D01* -X163232400Y-72986741D01* -X163197776Y-73160812D01* -X163129856Y-73324784D01* -X163031253Y-73472354D01* -X162905754Y-73597853D01* -X162758184Y-73696456D01* -X162594212Y-73764376D01* -X162444912Y-73794073D01* -X162420142Y-73799000D01* -X162242658Y-73799000D01* -X162217888Y-73794073D01* -X162068588Y-73764376D01* -X161904616Y-73696456D01* -X161757046Y-73597853D01* -X161631547Y-73472354D01* -X161532944Y-73324784D01* -X161465024Y-73160812D01* -X161430400Y-72986741D01* -X161430400Y-72809259D01* -X161465024Y-72635188D01* -X161532944Y-72471216D01* -X161631547Y-72323646D01* -X161757046Y-72198147D01* -X161904616Y-72099544D01* -X162068588Y-72031624D01* -X162217888Y-72001927D01* -X162242658Y-71997000D01* -X162420142Y-71997000D01* -X162444912Y-72001927D01* -G37* -G36* -X147433512Y-69461927D02* -G01* -X147582812Y-69491624D01* -X147746784Y-69559544D01* -X147894354Y-69658147D01* -X148019853Y-69783646D01* -X148118456Y-69931216D01* -X148186376Y-70095188D01* -X148221000Y-70269259D01* -X148221000Y-70446741D01* -X148186376Y-70620812D01* -X148118456Y-70784784D01* -X148019853Y-70932354D01* -X147894354Y-71057853D01* -X147746784Y-71156456D01* -X147582812Y-71224376D01* -X147433512Y-71254073D01* -X147408742Y-71259000D01* -X147231258Y-71259000D01* -X147206488Y-71254073D01* -X147057188Y-71224376D01* -X146893216Y-71156456D01* -X146745646Y-71057853D01* -X146620147Y-70932354D01* -X146521544Y-70784784D01* -X146453624Y-70620812D01* -X146419000Y-70446741D01* -X146419000Y-70269259D01* -X146453624Y-70095188D01* -X146521544Y-69931216D01* -X146620147Y-69783646D01* -X146745646Y-69658147D01* -X146893216Y-69559544D01* -X147057188Y-69491624D01* -X147206488Y-69461927D01* -X147231258Y-69457000D01* -X147408742Y-69457000D01* -X147433512Y-69461927D01* -G37* -G36* -X162419512Y-69461927D02* -G01* -X162568812Y-69491624D01* -X162732784Y-69559544D01* -X162880354Y-69658147D01* -X163005853Y-69783646D01* -X163104456Y-69931216D01* -X163172376Y-70095188D01* -X163207000Y-70269259D01* -X163207000Y-70446741D01* -X163172376Y-70620812D01* -X163104456Y-70784784D01* -X163005853Y-70932354D01* -X162880354Y-71057853D01* -X162732784Y-71156456D01* -X162568812Y-71224376D01* -X162419512Y-71254073D01* -X162394742Y-71259000D01* -X162217258Y-71259000D01* -X162192488Y-71254073D01* -X162043188Y-71224376D01* -X161879216Y-71156456D01* -X161731646Y-71057853D01* -X161606147Y-70932354D01* -X161507544Y-70784784D01* -X161439624Y-70620812D01* -X161405000Y-70446741D01* -X161405000Y-70269259D01* -X161439624Y-70095188D01* -X161507544Y-69931216D01* -X161606147Y-69783646D01* -X161731646Y-69658147D01* -X161879216Y-69559544D01* -X162043188Y-69491624D01* -X162192488Y-69461927D01* -X162217258Y-69457000D01* -X162394742Y-69457000D01* -X162419512Y-69461927D01* -G37* -G36* -X147433512Y-66921927D02* -G01* -X147582812Y-66951624D01* -X147746784Y-67019544D01* -X147894354Y-67118147D01* -X148019853Y-67243646D01* -X148118456Y-67391216D01* -X148186376Y-67555188D01* -X148221000Y-67729259D01* -X148221000Y-67906741D01* -X148186376Y-68080812D01* -X148118456Y-68244784D01* -X148019853Y-68392354D01* -X147894354Y-68517853D01* -X147746784Y-68616456D01* -X147582812Y-68684376D01* -X147433512Y-68714073D01* -X147408742Y-68719000D01* -X147231258Y-68719000D01* -X147206488Y-68714073D01* -X147057188Y-68684376D01* -X146893216Y-68616456D01* -X146745646Y-68517853D01* -X146620147Y-68392354D01* -X146521544Y-68244784D01* -X146453624Y-68080812D01* -X146419000Y-67906741D01* -X146419000Y-67729259D01* -X146453624Y-67555188D01* -X146521544Y-67391216D01* -X146620147Y-67243646D01* -X146745646Y-67118147D01* -X146893216Y-67019544D01* -X147057188Y-66951624D01* -X147206488Y-66921927D01* -X147231258Y-66917000D01* -X147408742Y-66917000D01* -X147433512Y-66921927D01* -G37* -G36* -X162444912Y-66921927D02* -G01* -X162594212Y-66951624D01* -X162758184Y-67019544D01* -X162905754Y-67118147D01* -X163031253Y-67243646D01* -X163129856Y-67391216D01* -X163197776Y-67555188D01* -X163232400Y-67729259D01* -X163232400Y-67906741D01* -X163197776Y-68080812D01* -X163129856Y-68244784D01* -X163031253Y-68392354D01* -X162905754Y-68517853D01* -X162758184Y-68616456D01* -X162594212Y-68684376D01* -X162444912Y-68714073D01* -X162420142Y-68719000D01* -X162242658Y-68719000D01* -X162217888Y-68714073D01* -X162068588Y-68684376D01* -X161904616Y-68616456D01* -X161757046Y-68517853D01* -X161631547Y-68392354D01* -X161532944Y-68244784D01* -X161465024Y-68080812D01* -X161430400Y-67906741D01* -X161430400Y-67729259D01* -X161465024Y-67555188D01* -X161532944Y-67391216D01* -X161631547Y-67243646D01* -X161757046Y-67118147D01* -X161904616Y-67019544D01* -X162068588Y-66951624D01* -X162217888Y-66921927D01* -X162242658Y-66917000D01* -X162420142Y-66917000D01* -X162444912Y-66921927D01* -G37* -G36* -X147433512Y-64381927D02* -G01* -X147582812Y-64411624D01* -X147746784Y-64479544D01* -X147894354Y-64578147D01* -X148019853Y-64703646D01* -X148118456Y-64851216D01* -X148186376Y-65015188D01* -X148221000Y-65189259D01* -X148221000Y-65366741D01* -X148186376Y-65540812D01* -X148118456Y-65704784D01* -X148019853Y-65852354D01* -X147894354Y-65977853D01* -X147746784Y-66076456D01* -X147582812Y-66144376D01* -X147433512Y-66174073D01* -X147408742Y-66179000D01* -X147231258Y-66179000D01* -X147206488Y-66174073D01* -X147057188Y-66144376D01* -X146893216Y-66076456D01* -X146745646Y-65977853D01* -X146620147Y-65852354D01* -X146521544Y-65704784D01* -X146453624Y-65540812D01* -X146419000Y-65366741D01* -X146419000Y-65189259D01* -X146453624Y-65015188D01* -X146521544Y-64851216D01* -X146620147Y-64703646D01* -X146745646Y-64578147D01* -X146893216Y-64479544D01* -X147057188Y-64411624D01* -X147206488Y-64381927D01* -X147231258Y-64377000D01* -X147408742Y-64377000D01* -X147433512Y-64381927D01* -G37* -G36* -X162419512Y-64381927D02* -G01* -X162568812Y-64411624D01* -X162732784Y-64479544D01* -X162880354Y-64578147D01* -X163005853Y-64703646D01* -X163104456Y-64851216D01* -X163172376Y-65015188D01* -X163207000Y-65189259D01* -X163207000Y-65366741D01* -X163172376Y-65540812D01* -X163104456Y-65704784D01* -X163005853Y-65852354D01* -X162880354Y-65977853D01* -X162732784Y-66076456D01* -X162568812Y-66144376D01* -X162419512Y-66174073D01* -X162394742Y-66179000D01* -X162217258Y-66179000D01* -X162192488Y-66174073D01* -X162043188Y-66144376D01* -X161879216Y-66076456D01* -X161731646Y-65977853D01* -X161606147Y-65852354D01* -X161507544Y-65704784D01* -X161439624Y-65540812D01* -X161405000Y-65366741D01* -X161405000Y-65189259D01* -X161439624Y-65015188D01* -X161507544Y-64851216D01* -X161606147Y-64703646D01* -X161731646Y-64578147D01* -X161879216Y-64479544D01* -X162043188Y-64411624D01* -X162192488Y-64381927D01* -X162217258Y-64377000D01* -X162394742Y-64377000D01* -X162419512Y-64381927D01* -G37* -G36* -X147433512Y-61841927D02* -G01* -X147582812Y-61871624D01* -X147746784Y-61939544D01* -X147894354Y-62038147D01* -X148019853Y-62163646D01* -X148118456Y-62311216D01* -X148186376Y-62475188D01* -X148221000Y-62649259D01* -X148221000Y-62826741D01* -X148186376Y-63000812D01* -X148118456Y-63164784D01* -X148019853Y-63312354D01* -X147894354Y-63437853D01* -X147746784Y-63536456D01* -X147582812Y-63604376D01* -X147433512Y-63634073D01* -X147408742Y-63639000D01* -X147231258Y-63639000D01* -X147206488Y-63634073D01* -X147057188Y-63604376D01* -X146893216Y-63536456D01* -X146745646Y-63437853D01* -X146620147Y-63312354D01* -X146521544Y-63164784D01* -X146453624Y-63000812D01* -X146419000Y-62826741D01* -X146419000Y-62649259D01* -X146453624Y-62475188D01* -X146521544Y-62311216D01* -X146620147Y-62163646D01* -X146745646Y-62038147D01* -X146893216Y-61939544D01* -X147057188Y-61871624D01* -X147206488Y-61841927D01* -X147231258Y-61837000D01* -X147408742Y-61837000D01* -X147433512Y-61841927D01* -G37* -G36* -X162444912Y-61841927D02* -G01* -X162594212Y-61871624D01* -X162758184Y-61939544D01* -X162905754Y-62038147D01* -X163031253Y-62163646D01* -X163129856Y-62311216D01* -X163197776Y-62475188D01* -X163232400Y-62649259D01* -X163232400Y-62826741D01* -X163197776Y-63000812D01* -X163129856Y-63164784D01* -X163031253Y-63312354D01* -X162905754Y-63437853D01* -X162758184Y-63536456D01* -X162594212Y-63604376D01* -X162444912Y-63634073D01* -X162420142Y-63639000D01* -X162242658Y-63639000D01* -X162217888Y-63634073D01* -X162068588Y-63604376D01* -X161904616Y-63536456D01* -X161757046Y-63437853D01* -X161631547Y-63312354D01* -X161532944Y-63164784D01* -X161465024Y-63000812D01* -X161430400Y-62826741D01* -X161430400Y-62649259D01* -X161465024Y-62475188D01* -X161532944Y-62311216D01* -X161631547Y-62163646D01* -X161757046Y-62038147D01* -X161904616Y-61939544D01* -X162068588Y-61871624D01* -X162217888Y-61841927D01* -X162242658Y-61837000D01* -X162420142Y-61837000D01* -X162444912Y-61841927D01* -G37* -G36* -X162419512Y-59301927D02* -G01* -X162568812Y-59331624D01* -X162732784Y-59399544D01* -X162880354Y-59498147D01* -X163005853Y-59623646D01* -X163104456Y-59771216D01* -X163172376Y-59935188D01* -X163207000Y-60109259D01* -X163207000Y-60286741D01* -X163172376Y-60460812D01* -X163104456Y-60624784D01* -X163005853Y-60772354D01* -X162880354Y-60897853D01* -X162732784Y-60996456D01* -X162568812Y-61064376D01* -X162419512Y-61094073D01* -X162394742Y-61099000D01* -X162217258Y-61099000D01* -X162192488Y-61094073D01* -X162043188Y-61064376D01* -X161879216Y-60996456D01* -X161731646Y-60897853D01* -X161606147Y-60772354D01* -X161507544Y-60624784D01* -X161439624Y-60460812D01* -X161405000Y-60286741D01* -X161405000Y-60109259D01* -X161439624Y-59935188D01* -X161507544Y-59771216D01* -X161606147Y-59623646D01* -X161731646Y-59498147D01* -X161879216Y-59399544D01* -X162043188Y-59331624D01* -X162192488Y-59301927D01* -X162217258Y-59297000D01* -X162394742Y-59297000D01* -X162419512Y-59301927D01* -G37* -G36* -X147433512Y-59301927D02* -G01* -X147582812Y-59331624D01* -X147746784Y-59399544D01* -X147894354Y-59498147D01* -X148019853Y-59623646D01* -X148118456Y-59771216D01* -X148186376Y-59935188D01* -X148221000Y-60109259D01* -X148221000Y-60286741D01* -X148186376Y-60460812D01* -X148118456Y-60624784D01* -X148019853Y-60772354D01* -X147894354Y-60897853D01* -X147746784Y-60996456D01* -X147582812Y-61064376D01* -X147433512Y-61094073D01* -X147408742Y-61099000D01* -X147231258Y-61099000D01* -X147206488Y-61094073D01* -X147057188Y-61064376D01* -X146893216Y-60996456D01* -X146745646Y-60897853D01* -X146620147Y-60772354D01* -X146521544Y-60624784D01* -X146453624Y-60460812D01* -X146419000Y-60286741D01* -X146419000Y-60109259D01* -X146453624Y-59935188D01* -X146521544Y-59771216D01* -X146620147Y-59623646D01* -X146745646Y-59498147D01* -X146893216Y-59399544D01* -X147057188Y-59331624D01* -X147206488Y-59301927D01* -X147231258Y-59297000D01* -X147408742Y-59297000D01* -X147433512Y-59301927D01* -G37* -G36* -X162444912Y-56761927D02* -G01* -X162594212Y-56791624D01* -X162758184Y-56859544D01* -X162905754Y-56958147D01* -X163031253Y-57083646D01* -X163129856Y-57231216D01* -X163197776Y-57395188D01* -X163232400Y-57569259D01* -X163232400Y-57746741D01* -X163197776Y-57920812D01* -X163129856Y-58084784D01* -X163031253Y-58232354D01* -X162905754Y-58357853D01* -X162758184Y-58456456D01* -X162594212Y-58524376D01* -X162444912Y-58554073D01* -X162420142Y-58559000D01* -X162242658Y-58559000D01* -X162217888Y-58554073D01* -X162068588Y-58524376D01* -X161904616Y-58456456D01* -X161757046Y-58357853D01* -X161631547Y-58232354D01* -X161532944Y-58084784D01* -X161465024Y-57920812D01* -X161430400Y-57746741D01* -X161430400Y-57569259D01* -X161465024Y-57395188D01* -X161532944Y-57231216D01* -X161631547Y-57083646D01* -X161757046Y-56958147D01* -X161904616Y-56859544D01* -X162068588Y-56791624D01* -X162217888Y-56761927D01* -X162242658Y-56757000D01* -X162420142Y-56757000D01* -X162444912Y-56761927D01* -G37* -G36* -X147433512Y-56761927D02* -G01* -X147582812Y-56791624D01* -X147746784Y-56859544D01* -X147894354Y-56958147D01* -X148019853Y-57083646D01* -X148118456Y-57231216D01* -X148186376Y-57395188D01* -X148221000Y-57569259D01* -X148221000Y-57746741D01* -X148186376Y-57920812D01* -X148118456Y-58084784D01* -X148019853Y-58232354D01* -X147894354Y-58357853D01* -X147746784Y-58456456D01* -X147582812Y-58524376D01* -X147433512Y-58554073D01* -X147408742Y-58559000D01* -X147231258Y-58559000D01* -X147206488Y-58554073D01* -X147057188Y-58524376D01* -X146893216Y-58456456D01* -X146745646Y-58357853D01* -X146620147Y-58232354D01* -X146521544Y-58084784D01* -X146453624Y-57920812D01* -X146419000Y-57746741D01* -X146419000Y-57569259D01* -X146453624Y-57395188D01* -X146521544Y-57231216D01* -X146620147Y-57083646D01* -X146745646Y-56958147D01* -X146893216Y-56859544D01* -X147057188Y-56791624D01* -X147206488Y-56761927D01* -X147231258Y-56757000D01* -X147408742Y-56757000D01* -X147433512Y-56761927D01* -G37* -G36* -X147433512Y-54221927D02* -G01* -X147582812Y-54251624D01* -X147746784Y-54319544D01* -X147894354Y-54418147D01* -X148019853Y-54543646D01* -X148118456Y-54691216D01* -X148186376Y-54855188D01* -X148221000Y-55029259D01* -X148221000Y-55206741D01* -X148186376Y-55380812D01* -X148118456Y-55544784D01* -X148019853Y-55692354D01* -X147894354Y-55817853D01* -X147746784Y-55916456D01* -X147582812Y-55984376D01* -X147433512Y-56014073D01* -X147408742Y-56019000D01* -X147231258Y-56019000D01* -X147206488Y-56014073D01* -X147057188Y-55984376D01* -X146893216Y-55916456D01* -X146745646Y-55817853D01* -X146620147Y-55692354D01* -X146521544Y-55544784D01* -X146453624Y-55380812D01* -X146419000Y-55206741D01* -X146419000Y-55029259D01* -X146453624Y-54855188D01* -X146521544Y-54691216D01* -X146620147Y-54543646D01* -X146745646Y-54418147D01* -X146893216Y-54319544D01* -X147057188Y-54251624D01* -X147206488Y-54221927D01* -X147231258Y-54217000D01* -X147408742Y-54217000D01* -X147433512Y-54221927D01* -G37* -G36* -X162419512Y-54221927D02* -G01* -X162568812Y-54251624D01* -X162732784Y-54319544D01* -X162880354Y-54418147D01* -X163005853Y-54543646D01* -X163104456Y-54691216D01* -X163172376Y-54855188D01* -X163207000Y-55029259D01* -X163207000Y-55206741D01* -X163172376Y-55380812D01* -X163104456Y-55544784D01* -X163005853Y-55692354D01* -X162880354Y-55817853D01* -X162732784Y-55916456D01* -X162568812Y-55984376D01* -X162419512Y-56014073D01* -X162394742Y-56019000D01* -X162217258Y-56019000D01* -X162192488Y-56014073D01* -X162043188Y-55984376D01* -X161879216Y-55916456D01* -X161731646Y-55817853D01* -X161606147Y-55692354D01* -X161507544Y-55544784D01* -X161439624Y-55380812D01* -X161405000Y-55206741D01* -X161405000Y-55029259D01* -X161439624Y-54855188D01* -X161507544Y-54691216D01* -X161606147Y-54543646D01* -X161731646Y-54418147D01* -X161879216Y-54319544D01* -X162043188Y-54251624D01* -X162192488Y-54221927D01* -X162217258Y-54217000D01* -X162394742Y-54217000D01* -X162419512Y-54221927D01* -G37* -G36* -X147433512Y-51681927D02* -G01* -X147582812Y-51711624D01* -X147746784Y-51779544D01* -X147894354Y-51878147D01* -X148019853Y-52003646D01* -X148118456Y-52151216D01* -X148186376Y-52315188D01* -X148221000Y-52489259D01* -X148221000Y-52666741D01* -X148186376Y-52840812D01* -X148118456Y-53004784D01* -X148019853Y-53152354D01* -X147894354Y-53277853D01* -X147746784Y-53376456D01* -X147582812Y-53444376D01* -X147433512Y-53474073D01* -X147408742Y-53479000D01* -X147231258Y-53479000D01* -X147206488Y-53474073D01* -X147057188Y-53444376D01* -X146893216Y-53376456D01* -X146745646Y-53277853D01* -X146620147Y-53152354D01* -X146521544Y-53004784D01* -X146453624Y-52840812D01* -X146419000Y-52666741D01* -X146419000Y-52489259D01* -X146453624Y-52315188D01* -X146521544Y-52151216D01* -X146620147Y-52003646D01* -X146745646Y-51878147D01* -X146893216Y-51779544D01* -X147057188Y-51711624D01* -X147206488Y-51681927D01* -X147231258Y-51677000D01* -X147408742Y-51677000D01* -X147433512Y-51681927D01* -G37* -G36* -X162444912Y-51681927D02* -G01* -X162594212Y-51711624D01* -X162758184Y-51779544D01* -X162905754Y-51878147D01* -X163031253Y-52003646D01* -X163129856Y-52151216D01* -X163197776Y-52315188D01* -X163232400Y-52489259D01* -X163232400Y-52666741D01* -X163197776Y-52840812D01* -X163129856Y-53004784D01* -X163031253Y-53152354D01* -X162905754Y-53277853D01* -X162758184Y-53376456D01* -X162594212Y-53444376D01* -X162444912Y-53474073D01* -X162420142Y-53479000D01* -X162242658Y-53479000D01* -X162217888Y-53474073D01* -X162068588Y-53444376D01* -X161904616Y-53376456D01* -X161757046Y-53277853D01* -X161631547Y-53152354D01* -X161532944Y-53004784D01* -X161465024Y-52840812D01* -X161430400Y-52666741D01* -X161430400Y-52489259D01* -X161465024Y-52315188D01* -X161532944Y-52151216D01* -X161631547Y-52003646D01* -X161757046Y-51878147D01* -X161904616Y-51779544D01* -X162068588Y-51711624D01* -X162217888Y-51681927D01* -X162242658Y-51677000D01* -X162420142Y-51677000D01* -X162444912Y-51681927D01* -G37* -G36* -X147433512Y-49141927D02* -G01* -X147582812Y-49171624D01* -X147746784Y-49239544D01* -X147894354Y-49338147D01* -X148019853Y-49463646D01* -X148118456Y-49611216D01* -X148186376Y-49775188D01* -X148221000Y-49949259D01* -X148221000Y-50126741D01* -X148186376Y-50300812D01* -X148118456Y-50464784D01* -X148019853Y-50612354D01* -X147894354Y-50737853D01* -X147746784Y-50836456D01* -X147582812Y-50904376D01* -X147433512Y-50934073D01* -X147408742Y-50939000D01* -X147231258Y-50939000D01* -X147206488Y-50934073D01* -X147057188Y-50904376D01* -X146893216Y-50836456D01* -X146745646Y-50737853D01* -X146620147Y-50612354D01* -X146521544Y-50464784D01* -X146453624Y-50300812D01* -X146419000Y-50126741D01* -X146419000Y-49949259D01* -X146453624Y-49775188D01* -X146521544Y-49611216D01* -X146620147Y-49463646D01* -X146745646Y-49338147D01* -X146893216Y-49239544D01* -X147057188Y-49171624D01* -X147206488Y-49141927D01* -X147231258Y-49137000D01* -X147408742Y-49137000D01* -X147433512Y-49141927D01* -G37* -G36* -X162419512Y-49141927D02* -G01* -X162568812Y-49171624D01* -X162732784Y-49239544D01* -X162880354Y-49338147D01* -X163005853Y-49463646D01* -X163104456Y-49611216D01* -X163172376Y-49775188D01* -X163207000Y-49949259D01* -X163207000Y-50126741D01* -X163172376Y-50300812D01* -X163104456Y-50464784D01* -X163005853Y-50612354D01* -X162880354Y-50737853D01* -X162732784Y-50836456D01* -X162568812Y-50904376D01* -X162419512Y-50934073D01* -X162394742Y-50939000D01* -X162217258Y-50939000D01* -X162192488Y-50934073D01* -X162043188Y-50904376D01* -X161879216Y-50836456D01* -X161731646Y-50737853D01* -X161606147Y-50612354D01* -X161507544Y-50464784D01* -X161439624Y-50300812D01* -X161405000Y-50126741D01* -X161405000Y-49949259D01* -X161439624Y-49775188D01* -X161507544Y-49611216D01* -X161606147Y-49463646D01* -X161731646Y-49338147D01* -X161879216Y-49239544D01* -X162043188Y-49171624D01* -X162192488Y-49141927D01* -X162217258Y-49137000D01* -X162394742Y-49137000D01* -X162419512Y-49141927D01* -G37* -G36* -X147433512Y-46601927D02* -G01* -X147582812Y-46631624D01* -X147746784Y-46699544D01* -X147894354Y-46798147D01* -X148019853Y-46923646D01* -X148118456Y-47071216D01* -X148186376Y-47235188D01* -X148221000Y-47409259D01* -X148221000Y-47586741D01* -X148186376Y-47760812D01* -X148118456Y-47924784D01* -X148019853Y-48072354D01* -X147894354Y-48197853D01* -X147746784Y-48296456D01* -X147582812Y-48364376D01* -X147433512Y-48394073D01* -X147408742Y-48399000D01* -X147231258Y-48399000D01* -X147206488Y-48394073D01* -X147057188Y-48364376D01* -X146893216Y-48296456D01* -X146745646Y-48197853D01* -X146620147Y-48072354D01* -X146521544Y-47924784D01* -X146453624Y-47760812D01* -X146419000Y-47586741D01* -X146419000Y-47409259D01* -X146453624Y-47235188D01* -X146521544Y-47071216D01* -X146620147Y-46923646D01* -X146745646Y-46798147D01* -X146893216Y-46699544D01* -X147057188Y-46631624D01* -X147206488Y-46601927D01* -X147231258Y-46597000D01* -X147408742Y-46597000D01* -X147433512Y-46601927D01* -G37* -G36* -X162444912Y-46601927D02* -G01* -X162594212Y-46631624D01* -X162758184Y-46699544D01* -X162905754Y-46798147D01* -X163031253Y-46923646D01* -X163129856Y-47071216D01* -X163197776Y-47235188D01* -X163232400Y-47409259D01* -X163232400Y-47586741D01* -X163197776Y-47760812D01* -X163129856Y-47924784D01* -X163031253Y-48072354D01* -X162905754Y-48197853D01* -X162758184Y-48296456D01* -X162594212Y-48364376D01* -X162444912Y-48394073D01* -X162420142Y-48399000D01* -X162242658Y-48399000D01* -X162217888Y-48394073D01* -X162068588Y-48364376D01* -X161904616Y-48296456D01* -X161757046Y-48197853D01* -X161631547Y-48072354D01* -X161532944Y-47924784D01* -X161465024Y-47760812D01* -X161430400Y-47586741D01* -X161430400Y-47409259D01* -X161465024Y-47235188D01* -X161532944Y-47071216D01* -X161631547Y-46923646D01* -X161757046Y-46798147D01* -X161904616Y-46699544D01* -X162068588Y-46631624D01* -X162217888Y-46601927D01* -X162242658Y-46597000D01* -X162420142Y-46597000D01* -X162444912Y-46601927D01* -G37* -G36* -X148856778Y-38490547D02* -G01* -X149023224Y-38559491D01* -X149173022Y-38659583D01* -X149300417Y-38786978D01* -X149400509Y-38936776D01* -X149469453Y-39103222D01* -X149504600Y-39279918D01* -X149504600Y-39460082D01* -X149469453Y-39636778D01* -X149400509Y-39803224D01* -X149300417Y-39953022D01* -X149173022Y-40080417D01* -X149023224Y-40180509D01* -X148856778Y-40249453D01* -X148680082Y-40284600D01* -X148499918Y-40284600D01* -X148323222Y-40249453D01* -X148156776Y-40180509D01* -X148006978Y-40080417D01* -X147879583Y-39953022D01* -X147779491Y-39803224D01* -X147710547Y-39636778D01* -X147675400Y-39460082D01* -X147675400Y-39279918D01* -X147710547Y-39103222D01* -X147779491Y-38936776D01* -X147879583Y-38786978D01* -X148006978Y-38659583D01* -X148156776Y-38559491D01* -X148323222Y-38490547D01* -X148499918Y-38455400D01* -X148680082Y-38455400D01* -X148856778Y-38490547D01* -G37* -G36* -X146316778Y-38490547D02* -G01* -X146483224Y-38559491D01* -X146633022Y-38659583D01* -X146760417Y-38786978D01* -X146860509Y-38936776D01* -X146929453Y-39103222D01* -X146964600Y-39279918D01* -X146964600Y-39460082D01* -X146929453Y-39636778D01* -X146860509Y-39803224D01* -X146760417Y-39953022D01* -X146633022Y-40080417D01* -X146483224Y-40180509D01* -X146316778Y-40249453D01* -X146140082Y-40284600D01* -X145959918Y-40284600D01* -X145783222Y-40249453D01* -X145616776Y-40180509D01* -X145466978Y-40080417D01* -X145339583Y-39953022D01* -X145239491Y-39803224D01* -X145170547Y-39636778D01* -X145135400Y-39460082D01* -X145135400Y-39279918D01* -X145170547Y-39103222D01* -X145239491Y-38936776D01* -X145339583Y-38786978D01* -X145466978Y-38659583D01* -X145616776Y-38559491D01* -X145783222Y-38490547D01* -X145959918Y-38455400D01* -X146140082Y-38455400D01* -X146316778Y-38490547D01* -G37* -G36* -X143776778Y-38490547D02* -G01* -X143943224Y-38559491D01* -X144093022Y-38659583D01* -X144220417Y-38786978D01* -X144320509Y-38936776D01* -X144389453Y-39103222D01* -X144424600Y-39279918D01* -X144424600Y-39460082D01* -X144389453Y-39636778D01* -X144320509Y-39803224D01* -X144220417Y-39953022D01* -X144093022Y-40080417D01* -X143943224Y-40180509D01* -X143776778Y-40249453D01* -X143600082Y-40284600D01* -X143419918Y-40284600D01* -X143243222Y-40249453D01* -X143076776Y-40180509D01* -X142926978Y-40080417D01* -X142799583Y-39953022D01* -X142699491Y-39803224D01* -X142630547Y-39636778D01* -X142595400Y-39460082D01* -X142595400Y-39279918D01* -X142630547Y-39103222D01* -X142699491Y-38936776D01* -X142799583Y-38786978D01* -X142926978Y-38659583D01* -X143076776Y-38559491D01* -X143243222Y-38490547D01* -X143419918Y-38455400D01* -X143600082Y-38455400D01* -X143776778Y-38490547D01* -G37* -G36* -X141236778Y-38490547D02* -G01* -X141403224Y-38559491D01* -X141553022Y-38659583D01* -X141680417Y-38786978D01* -X141780509Y-38936776D01* -X141849453Y-39103222D01* -X141884600Y-39279918D01* -X141884600Y-39460082D01* -X141849453Y-39636778D01* -X141780509Y-39803224D01* -X141680417Y-39953022D01* -X141553022Y-40080417D01* -X141403224Y-40180509D01* -X141236778Y-40249453D01* -X141060082Y-40284600D01* -X140879918Y-40284600D01* -X140703222Y-40249453D01* -X140536776Y-40180509D01* -X140386978Y-40080417D01* -X140259583Y-39953022D01* -X140159491Y-39803224D01* -X140090547Y-39636778D01* -X140055400Y-39460082D01* -X140055400Y-39279918D01* -X140090547Y-39103222D01* -X140159491Y-38936776D01* -X140259583Y-38786978D01* -X140386978Y-38659583D01* -X140536776Y-38559491D01* -X140703222Y-38490547D01* -X140879918Y-38455400D01* -X141060082Y-38455400D01* -X141236778Y-38490547D01* -G37* -G36* -X138696778Y-38490547D02* -G01* -X138863224Y-38559491D01* -X139013022Y-38659583D01* -X139140417Y-38786978D01* -X139240509Y-38936776D01* -X139309453Y-39103222D01* -X139344600Y-39279918D01* -X139344600Y-39460082D01* -X139309453Y-39636778D01* -X139240509Y-39803224D01* -X139140417Y-39953022D01* -X139013022Y-40080417D01* -X138863224Y-40180509D01* -X138696778Y-40249453D01* -X138520082Y-40284600D01* -X138339918Y-40284600D01* -X138163222Y-40249453D01* -X137996776Y-40180509D01* -X137846978Y-40080417D01* -X137719583Y-39953022D01* -X137619491Y-39803224D01* -X137550547Y-39636778D01* -X137515400Y-39460082D01* -X137515400Y-39279918D01* -X137550547Y-39103222D01* -X137619491Y-38936776D01* -X137719583Y-38786978D01* -X137846978Y-38659583D01* -X137996776Y-38559491D01* -X138163222Y-38490547D01* -X138339918Y-38455400D01* -X138520082Y-38455400D01* -X138696778Y-38490547D01* -G37* -G36* -X136156778Y-38490547D02* -G01* -X136323224Y-38559491D01* -X136473022Y-38659583D01* -X136600417Y-38786978D01* -X136700509Y-38936776D01* -X136769453Y-39103222D01* -X136804600Y-39279918D01* -X136804600Y-39460082D01* -X136769453Y-39636778D01* -X136700509Y-39803224D01* -X136600417Y-39953022D01* -X136473022Y-40080417D01* -X136323224Y-40180509D01* -X136156778Y-40249453D01* -X135980082Y-40284600D01* -X135799918Y-40284600D01* -X135623222Y-40249453D01* -X135456776Y-40180509D01* -X135306978Y-40080417D01* -X135179583Y-39953022D01* -X135079491Y-39803224D01* -X135010547Y-39636778D01* -X134975400Y-39460082D01* -X134975400Y-39279918D01* -X135010547Y-39103222D01* -X135079491Y-38936776D01* -X135179583Y-38786978D01* -X135306978Y-38659583D01* -X135456776Y-38559491D01* -X135623222Y-38490547D01* -X135799918Y-38455400D01* -X135980082Y-38455400D01* -X136156778Y-38490547D01* -G37* -G36* -X133616778Y-38490547D02* -G01* -X133783224Y-38559491D01* -X133933022Y-38659583D01* -X134060417Y-38786978D01* -X134160509Y-38936776D01* -X134229453Y-39103222D01* -X134264600Y-39279918D01* -X134264600Y-39460082D01* -X134229453Y-39636778D01* -X134160509Y-39803224D01* -X134060417Y-39953022D01* -X133933022Y-40080417D01* -X133783224Y-40180509D01* -X133616778Y-40249453D01* -X133440082Y-40284600D01* -X133259918Y-40284600D01* -X133083222Y-40249453D01* -X132916776Y-40180509D01* -X132766978Y-40080417D01* -X132639583Y-39953022D01* -X132539491Y-39803224D01* -X132470547Y-39636778D01* -X132435400Y-39460082D01* -X132435400Y-39279918D01* -X132470547Y-39103222D01* -X132539491Y-38936776D01* -X132639583Y-38786978D01* -X132766978Y-38659583D01* -X132916776Y-38559491D01* -X133083222Y-38490547D01* -X133259918Y-38455400D01* -X133440082Y-38455400D01* -X133616778Y-38490547D01* -G37* -G36* -X131076778Y-38490547D02* -G01* -X131243224Y-38559491D01* -X131393022Y-38659583D01* -X131520417Y-38786978D01* -X131620509Y-38936776D01* -X131689453Y-39103222D01* -X131724600Y-39279918D01* -X131724600Y-39460082D01* -X131689453Y-39636778D01* -X131620509Y-39803224D01* -X131520417Y-39953022D01* -X131393022Y-40080417D01* -X131243224Y-40180509D01* -X131076778Y-40249453D01* -X130900082Y-40284600D01* -X130719918Y-40284600D01* -X130543222Y-40249453D01* -X130376776Y-40180509D01* -X130226978Y-40080417D01* -X130099583Y-39953022D01* -X129999491Y-39803224D01* -X129930547Y-39636778D01* -X129895400Y-39460082D01* -X129895400Y-39279918D01* -X129930547Y-39103222D01* -X129999491Y-38936776D01* -X130099583Y-38786978D01* -X130226978Y-38659583D01* -X130376776Y-38559491D01* -X130543222Y-38490547D01* -X130719918Y-38455400D01* -X130900082Y-38455400D01* -X131076778Y-38490547D01* -G37* -G36* -X179336778Y-38490547D02* -G01* -X179503224Y-38559491D01* -X179653022Y-38659583D01* -X179780417Y-38786978D01* -X179880509Y-38936776D01* -X179949453Y-39103222D01* -X179984600Y-39279918D01* -X179984600Y-39460082D01* -X179949453Y-39636778D01* -X179880509Y-39803224D01* -X179780417Y-39953022D01* -X179653022Y-40080417D01* -X179503224Y-40180509D01* -X179336778Y-40249453D01* -X179160082Y-40284600D01* -X178979918Y-40284600D01* -X178803222Y-40249453D01* -X178636776Y-40180509D01* -X178486978Y-40080417D01* -X178359583Y-39953022D01* -X178259491Y-39803224D01* -X178190547Y-39636778D01* -X178155400Y-39460082D01* -X178155400Y-39279918D01* -X178190547Y-39103222D01* -X178259491Y-38936776D01* -X178359583Y-38786978D01* -X178486978Y-38659583D01* -X178636776Y-38559491D01* -X178803222Y-38490547D01* -X178979918Y-38455400D01* -X179160082Y-38455400D01* -X179336778Y-38490547D01* -G37* -G36* -X176796778Y-38490547D02* -G01* -X176963224Y-38559491D01* -X177113022Y-38659583D01* -X177240417Y-38786978D01* -X177340509Y-38936776D01* -X177409453Y-39103222D01* -X177444600Y-39279918D01* -X177444600Y-39460082D01* -X177409453Y-39636778D01* -X177340509Y-39803224D01* -X177240417Y-39953022D01* -X177113022Y-40080417D01* -X176963224Y-40180509D01* -X176796778Y-40249453D01* -X176620082Y-40284600D01* -X176439918Y-40284600D01* -X176263222Y-40249453D01* -X176096776Y-40180509D01* -X175946978Y-40080417D01* -X175819583Y-39953022D01* -X175719491Y-39803224D01* -X175650547Y-39636778D01* -X175615400Y-39460082D01* -X175615400Y-39279918D01* -X175650547Y-39103222D01* -X175719491Y-38936776D01* -X175819583Y-38786978D01* -X175946978Y-38659583D01* -X176096776Y-38559491D01* -X176263222Y-38490547D01* -X176439918Y-38455400D01* -X176620082Y-38455400D01* -X176796778Y-38490547D01* -G37* -G36* -X171716778Y-38490547D02* -G01* -X171883224Y-38559491D01* -X172033022Y-38659583D01* -X172160417Y-38786978D01* -X172260509Y-38936776D01* -X172329453Y-39103222D01* -X172364600Y-39279918D01* -X172364600Y-39460082D01* -X172329453Y-39636778D01* -X172260509Y-39803224D01* -X172160417Y-39953022D01* -X172033022Y-40080417D01* -X171883224Y-40180509D01* -X171716778Y-40249453D01* -X171540082Y-40284600D01* -X171359918Y-40284600D01* -X171183222Y-40249453D01* -X171016776Y-40180509D01* -X170866978Y-40080417D01* -X170739583Y-39953022D01* -X170639491Y-39803224D01* -X170570547Y-39636778D01* -X170535400Y-39460082D01* -X170535400Y-39279918D01* -X170570547Y-39103222D01* -X170639491Y-38936776D01* -X170739583Y-38786978D01* -X170866978Y-38659583D01* -X171016776Y-38559491D01* -X171183222Y-38490547D01* -X171359918Y-38455400D01* -X171540082Y-38455400D01* -X171716778Y-38490547D01* -G37* -G36* -X174256778Y-38490547D02* -G01* -X174423224Y-38559491D01* -X174573022Y-38659583D01* -X174700417Y-38786978D01* -X174800509Y-38936776D01* -X174869453Y-39103222D01* -X174904600Y-39279918D01* -X174904600Y-39460082D01* -X174869453Y-39636778D01* -X174800509Y-39803224D01* -X174700417Y-39953022D01* -X174573022Y-40080417D01* -X174423224Y-40180509D01* -X174256778Y-40249453D01* -X174080082Y-40284600D01* -X173899918Y-40284600D01* -X173723222Y-40249453D01* -X173556776Y-40180509D01* -X173406978Y-40080417D01* -X173279583Y-39953022D01* -X173179491Y-39803224D01* -X173110547Y-39636778D01* -X173075400Y-39460082D01* -X173075400Y-39279918D01* -X173110547Y-39103222D01* -X173179491Y-38936776D01* -X173279583Y-38786978D01* -X173406978Y-38659583D01* -X173556776Y-38559491D01* -X173723222Y-38490547D01* -X173899918Y-38455400D01* -X174080082Y-38455400D01* -X174256778Y-38490547D01* -G37* -G36* -X151396778Y-38490547D02* -G01* -X151563224Y-38559491D01* -X151713022Y-38659583D01* -X151840417Y-38786978D01* -X151940509Y-38936776D01* -X152009453Y-39103222D01* -X152044600Y-39279918D01* -X152044600Y-39460082D01* -X152009453Y-39636778D01* -X151940509Y-39803224D01* -X151840417Y-39953022D01* -X151713022Y-40080417D01* -X151563224Y-40180509D01* -X151396778Y-40249453D01* -X151220082Y-40284600D01* -X151039918Y-40284600D01* -X150863222Y-40249453D01* -X150696776Y-40180509D01* -X150546978Y-40080417D01* -X150419583Y-39953022D01* -X150319491Y-39803224D01* -X150250547Y-39636778D01* -X150215400Y-39460082D01* -X150215400Y-39279918D01* -X150250547Y-39103222D01* -X150319491Y-38936776D01* -X150419583Y-38786978D01* -X150546978Y-38659583D01* -X150696776Y-38559491D01* -X150863222Y-38490547D01* -X151039918Y-38455400D01* -X151220082Y-38455400D01* -X151396778Y-38490547D01* -G37* -G36* -X153936778Y-38490547D02* -G01* -X154103224Y-38559491D01* -X154253022Y-38659583D01* -X154380417Y-38786978D01* -X154480509Y-38936776D01* -X154549453Y-39103222D01* -X154584600Y-39279918D01* -X154584600Y-39460082D01* -X154549453Y-39636778D01* -X154480509Y-39803224D01* -X154380417Y-39953022D01* -X154253022Y-40080417D01* -X154103224Y-40180509D01* -X153936778Y-40249453D01* -X153760082Y-40284600D01* -X153579918Y-40284600D01* -X153403222Y-40249453D01* -X153236776Y-40180509D01* -X153086978Y-40080417D01* -X152959583Y-39953022D01* -X152859491Y-39803224D01* -X152790547Y-39636778D01* -X152755400Y-39460082D01* -X152755400Y-39279918D01* -X152790547Y-39103222D01* -X152859491Y-38936776D01* -X152959583Y-38786978D01* -X153086978Y-38659583D01* -X153236776Y-38559491D01* -X153403222Y-38490547D01* -X153579918Y-38455400D01* -X153760082Y-38455400D01* -X153936778Y-38490547D01* -G37* -G36* -X156476778Y-38490547D02* -G01* -X156643224Y-38559491D01* -X156793022Y-38659583D01* -X156920417Y-38786978D01* -X157020509Y-38936776D01* -X157089453Y-39103222D01* -X157124600Y-39279918D01* -X157124600Y-39460082D01* -X157089453Y-39636778D01* -X157020509Y-39803224D01* -X156920417Y-39953022D01* -X156793022Y-40080417D01* -X156643224Y-40180509D01* -X156476778Y-40249453D01* -X156300082Y-40284600D01* -X156119918Y-40284600D01* -X155943222Y-40249453D01* -X155776776Y-40180509D01* -X155626978Y-40080417D01* -X155499583Y-39953022D01* -X155399491Y-39803224D01* -X155330547Y-39636778D01* -X155295400Y-39460082D01* -X155295400Y-39279918D01* -X155330547Y-39103222D01* -X155399491Y-38936776D01* -X155499583Y-38786978D01* -X155626978Y-38659583D01* -X155776776Y-38559491D01* -X155943222Y-38490547D01* -X156119918Y-38455400D01* -X156300082Y-38455400D01* -X156476778Y-38490547D01* -G37* -G36* -X159016778Y-38490547D02* -G01* -X159183224Y-38559491D01* -X159333022Y-38659583D01* -X159460417Y-38786978D01* -X159560509Y-38936776D01* -X159629453Y-39103222D01* -X159664600Y-39279918D01* -X159664600Y-39460082D01* -X159629453Y-39636778D01* -X159560509Y-39803224D01* -X159460417Y-39953022D01* -X159333022Y-40080417D01* -X159183224Y-40180509D01* -X159016778Y-40249453D01* -X158840082Y-40284600D01* -X158659918Y-40284600D01* -X158483222Y-40249453D01* -X158316776Y-40180509D01* -X158166978Y-40080417D01* -X158039583Y-39953022D01* -X157939491Y-39803224D01* -X157870547Y-39636778D01* -X157835400Y-39460082D01* -X157835400Y-39279918D01* -X157870547Y-39103222D01* -X157939491Y-38936776D01* -X158039583Y-38786978D01* -X158166978Y-38659583D01* -X158316776Y-38559491D01* -X158483222Y-38490547D01* -X158659918Y-38455400D01* -X158840082Y-38455400D01* -X159016778Y-38490547D01* -G37* -G36* -X161556778Y-38490547D02* -G01* -X161723224Y-38559491D01* -X161873022Y-38659583D01* -X162000417Y-38786978D01* -X162100509Y-38936776D01* -X162169453Y-39103222D01* -X162204600Y-39279918D01* -X162204600Y-39460082D01* -X162169453Y-39636778D01* -X162100509Y-39803224D01* -X162000417Y-39953022D01* -X161873022Y-40080417D01* -X161723224Y-40180509D01* -X161556778Y-40249453D01* -X161380082Y-40284600D01* -X161199918Y-40284600D01* -X161023222Y-40249453D01* -X160856776Y-40180509D01* -X160706978Y-40080417D01* -X160579583Y-39953022D01* -X160479491Y-39803224D01* -X160410547Y-39636778D01* -X160375400Y-39460082D01* -X160375400Y-39279918D01* -X160410547Y-39103222D01* -X160479491Y-38936776D01* -X160579583Y-38786978D01* -X160706978Y-38659583D01* -X160856776Y-38559491D01* -X161023222Y-38490547D01* -X161199918Y-38455400D01* -X161380082Y-38455400D01* -X161556778Y-38490547D01* -G37* -G36* -X164096778Y-38490547D02* -G01* -X164263224Y-38559491D01* -X164413022Y-38659583D01* -X164540417Y-38786978D01* -X164640509Y-38936776D01* -X164709453Y-39103222D01* -X164744600Y-39279918D01* -X164744600Y-39460082D01* -X164709453Y-39636778D01* -X164640509Y-39803224D01* -X164540417Y-39953022D01* -X164413022Y-40080417D01* -X164263224Y-40180509D01* -X164096778Y-40249453D01* -X163920082Y-40284600D01* -X163739918Y-40284600D01* -X163563222Y-40249453D01* -X163396776Y-40180509D01* -X163246978Y-40080417D01* -X163119583Y-39953022D01* -X163019491Y-39803224D01* -X162950547Y-39636778D01* -X162915400Y-39460082D01* -X162915400Y-39279918D01* -X162950547Y-39103222D01* -X163019491Y-38936776D01* -X163119583Y-38786978D01* -X163246978Y-38659583D01* -X163396776Y-38559491D01* -X163563222Y-38490547D01* -X163739918Y-38455400D01* -X163920082Y-38455400D01* -X164096778Y-38490547D01* -G37* -G36* -X166636778Y-38490547D02* -G01* -X166803224Y-38559491D01* -X166953022Y-38659583D01* -X167080417Y-38786978D01* -X167180509Y-38936776D01* -X167249453Y-39103222D01* -X167284600Y-39279918D01* -X167284600Y-39460082D01* -X167249453Y-39636778D01* -X167180509Y-39803224D01* -X167080417Y-39953022D01* -X166953022Y-40080417D01* -X166803224Y-40180509D01* -X166636778Y-40249453D01* -X166460082Y-40284600D01* -X166279918Y-40284600D01* -X166103222Y-40249453D01* -X165936776Y-40180509D01* -X165786978Y-40080417D01* -X165659583Y-39953022D01* -X165559491Y-39803224D01* -X165490547Y-39636778D01* -X165455400Y-39460082D01* -X165455400Y-39279918D01* -X165490547Y-39103222D01* -X165559491Y-38936776D01* -X165659583Y-38786978D01* -X165786978Y-38659583D01* -X165936776Y-38559491D01* -X166103222Y-38490547D01* -X166279918Y-38455400D01* -X166460082Y-38455400D01* -X166636778Y-38490547D01* -G37* -G36* -X169176778Y-38490547D02* -G01* -X169343224Y-38559491D01* -X169493022Y-38659583D01* -X169620417Y-38786978D01* -X169720509Y-38936776D01* -X169789453Y-39103222D01* -X169824600Y-39279918D01* -X169824600Y-39460082D01* -X169789453Y-39636778D01* -X169720509Y-39803224D01* -X169620417Y-39953022D01* -X169493022Y-40080417D01* -X169343224Y-40180509D01* -X169176778Y-40249453D01* -X169000082Y-40284600D01* -X168819918Y-40284600D01* -X168643222Y-40249453D01* -X168476776Y-40180509D01* -X168326978Y-40080417D01* -X168199583Y-39953022D01* -X168099491Y-39803224D01* -X168030547Y-39636778D01* -X167995400Y-39460082D01* -X167995400Y-39279918D01* -X168030547Y-39103222D01* -X168099491Y-38936776D01* -X168199583Y-38786978D01* -X168326978Y-38659583D01* -X168476776Y-38559491D01* -X168643222Y-38490547D01* -X168819918Y-38455400D01* -X169000082Y-38455400D01* -X169176778Y-38490547D01* -G37* -G36* -X146316778Y-35950547D02* -G01* -X146483224Y-36019491D01* -X146633022Y-36119583D01* -X146760417Y-36246978D01* -X146860509Y-36396776D01* -X146929453Y-36563222D01* -X146964600Y-36739918D01* -X146964600Y-36920082D01* -X146929453Y-37096778D01* -X146860509Y-37263224D01* -X146760417Y-37413022D01* -X146633022Y-37540417D01* -X146483224Y-37640509D01* -X146316778Y-37709453D01* -X146140082Y-37744600D01* -X145959918Y-37744600D01* -X145783222Y-37709453D01* -X145616776Y-37640509D01* -X145466978Y-37540417D01* -X145339583Y-37413022D01* -X145239491Y-37263224D01* -X145170547Y-37096778D01* -X145135400Y-36920082D01* -X145135400Y-36739918D01* -X145170547Y-36563222D01* -X145239491Y-36396776D01* -X145339583Y-36246978D01* -X145466978Y-36119583D01* -X145616776Y-36019491D01* -X145783222Y-35950547D01* -X145959918Y-35915400D01* -X146140082Y-35915400D01* -X146316778Y-35950547D01* -G37* -G36* -X143776778Y-35950547D02* -G01* -X143943224Y-36019491D01* -X144093022Y-36119583D01* -X144220417Y-36246978D01* -X144320509Y-36396776D01* -X144389453Y-36563222D01* -X144424600Y-36739918D01* -X144424600Y-36920082D01* -X144389453Y-37096778D01* -X144320509Y-37263224D01* -X144220417Y-37413022D01* -X144093022Y-37540417D01* -X143943224Y-37640509D01* -X143776778Y-37709453D01* -X143600082Y-37744600D01* -X143419918Y-37744600D01* -X143243222Y-37709453D01* -X143076776Y-37640509D01* -X142926978Y-37540417D01* -X142799583Y-37413022D01* -X142699491Y-37263224D01* -X142630547Y-37096778D01* -X142595400Y-36920082D01* -X142595400Y-36739918D01* -X142630547Y-36563222D01* -X142699491Y-36396776D01* -X142799583Y-36246978D01* -X142926978Y-36119583D01* -X143076776Y-36019491D01* -X143243222Y-35950547D01* -X143419918Y-35915400D01* -X143600082Y-35915400D01* -X143776778Y-35950547D01* -G37* -G36* -X141236778Y-35950547D02* -G01* -X141403224Y-36019491D01* -X141553022Y-36119583D01* -X141680417Y-36246978D01* -X141780509Y-36396776D01* -X141849453Y-36563222D01* -X141884600Y-36739918D01* -X141884600Y-36920082D01* -X141849453Y-37096778D01* -X141780509Y-37263224D01* -X141680417Y-37413022D01* -X141553022Y-37540417D01* -X141403224Y-37640509D01* -X141236778Y-37709453D01* -X141060082Y-37744600D01* -X140879918Y-37744600D01* -X140703222Y-37709453D01* -X140536776Y-37640509D01* -X140386978Y-37540417D01* -X140259583Y-37413022D01* -X140159491Y-37263224D01* -X140090547Y-37096778D01* -X140055400Y-36920082D01* -X140055400Y-36739918D01* -X140090547Y-36563222D01* -X140159491Y-36396776D01* -X140259583Y-36246978D01* -X140386978Y-36119583D01* -X140536776Y-36019491D01* -X140703222Y-35950547D01* -X140879918Y-35915400D01* -X141060082Y-35915400D01* -X141236778Y-35950547D01* -G37* -G36* -X138696778Y-35950547D02* -G01* -X138863224Y-36019491D01* -X139013022Y-36119583D01* -X139140417Y-36246978D01* -X139240509Y-36396776D01* -X139309453Y-36563222D01* -X139344600Y-36739918D01* -X139344600Y-36920082D01* -X139309453Y-37096778D01* -X139240509Y-37263224D01* -X139140417Y-37413022D01* -X139013022Y-37540417D01* -X138863224Y-37640509D01* -X138696778Y-37709453D01* -X138520082Y-37744600D01* -X138339918Y-37744600D01* -X138163222Y-37709453D01* -X137996776Y-37640509D01* -X137846978Y-37540417D01* -X137719583Y-37413022D01* -X137619491Y-37263224D01* -X137550547Y-37096778D01* -X137515400Y-36920082D01* -X137515400Y-36739918D01* -X137550547Y-36563222D01* -X137619491Y-36396776D01* -X137719583Y-36246978D01* -X137846978Y-36119583D01* -X137996776Y-36019491D01* -X138163222Y-35950547D01* -X138339918Y-35915400D01* -X138520082Y-35915400D01* -X138696778Y-35950547D01* -G37* -G36* -X136156778Y-35950547D02* -G01* -X136323224Y-36019491D01* -X136473022Y-36119583D01* -X136600417Y-36246978D01* -X136700509Y-36396776D01* -X136769453Y-36563222D01* -X136804600Y-36739918D01* -X136804600Y-36920082D01* -X136769453Y-37096778D01* -X136700509Y-37263224D01* -X136600417Y-37413022D01* -X136473022Y-37540417D01* -X136323224Y-37640509D01* -X136156778Y-37709453D01* -X135980082Y-37744600D01* -X135799918Y-37744600D01* -X135623222Y-37709453D01* -X135456776Y-37640509D01* -X135306978Y-37540417D01* -X135179583Y-37413022D01* -X135079491Y-37263224D01* -X135010547Y-37096778D01* -X134975400Y-36920082D01* -X134975400Y-36739918D01* -X135010547Y-36563222D01* -X135079491Y-36396776D01* -X135179583Y-36246978D01* -X135306978Y-36119583D01* -X135456776Y-36019491D01* -X135623222Y-35950547D01* -X135799918Y-35915400D01* -X135980082Y-35915400D01* -X136156778Y-35950547D01* -G37* -G36* -X131076778Y-35950547D02* -G01* -X131243224Y-36019491D01* -X131393022Y-36119583D01* -X131520417Y-36246978D01* -X131620509Y-36396776D01* -X131689453Y-36563222D01* -X131724600Y-36739918D01* -X131724600Y-36920082D01* -X131689453Y-37096778D01* -X131620509Y-37263224D01* -X131520417Y-37413022D01* -X131393022Y-37540417D01* -X131243224Y-37640509D01* -X131076778Y-37709453D01* -X130900082Y-37744600D01* -X130719918Y-37744600D01* -X130543222Y-37709453D01* -X130376776Y-37640509D01* -X130226978Y-37540417D01* -X130099583Y-37413022D01* -X129999491Y-37263224D01* -X129930547Y-37096778D01* -X129895400Y-36920082D01* -X129895400Y-36739918D01* -X129930547Y-36563222D01* -X129999491Y-36396776D01* -X130099583Y-36246978D01* -X130226978Y-36119583D01* -X130376776Y-36019491D01* -X130543222Y-35950547D01* -X130719918Y-35915400D01* -X130900082Y-35915400D01* -X131076778Y-35950547D01* -G37* -G36* -X159016778Y-35950547D02* -G01* -X159183224Y-36019491D01* -X159333022Y-36119583D01* -X159460417Y-36246978D01* -X159560509Y-36396776D01* -X159629453Y-36563222D01* -X159664600Y-36739918D01* -X159664600Y-36920082D01* -X159629453Y-37096778D01* -X159560509Y-37263224D01* -X159460417Y-37413022D01* -X159333022Y-37540417D01* -X159183224Y-37640509D01* -X159016778Y-37709453D01* -X158840082Y-37744600D01* -X158659918Y-37744600D01* -X158483222Y-37709453D01* -X158316776Y-37640509D01* -X158166978Y-37540417D01* -X158039583Y-37413022D01* -X157939491Y-37263224D01* -X157870547Y-37096778D01* -X157835400Y-36920082D01* -X157835400Y-36739918D01* -X157870547Y-36563222D01* -X157939491Y-36396776D01* -X158039583Y-36246978D01* -X158166978Y-36119583D01* -X158316776Y-36019491D01* -X158483222Y-35950547D01* -X158659918Y-35915400D01* -X158840082Y-35915400D01* -X159016778Y-35950547D01* -G37* -G36* -X156476778Y-35950547D02* -G01* -X156643224Y-36019491D01* -X156793022Y-36119583D01* -X156920417Y-36246978D01* -X157020509Y-36396776D01* -X157089453Y-36563222D01* -X157124600Y-36739918D01* -X157124600Y-36920082D01* -X157089453Y-37096778D01* -X157020509Y-37263224D01* -X156920417Y-37413022D01* -X156793022Y-37540417D01* -X156643224Y-37640509D01* -X156476778Y-37709453D01* -X156300082Y-37744600D01* -X156119918Y-37744600D01* -X155943222Y-37709453D01* -X155776776Y-37640509D01* -X155626978Y-37540417D01* -X155499583Y-37413022D01* -X155399491Y-37263224D01* -X155330547Y-37096778D01* -X155295400Y-36920082D01* -X155295400Y-36739918D01* -X155330547Y-36563222D01* -X155399491Y-36396776D01* -X155499583Y-36246978D01* -X155626978Y-36119583D01* -X155776776Y-36019491D01* -X155943222Y-35950547D01* -X156119918Y-35915400D01* -X156300082Y-35915400D01* -X156476778Y-35950547D01* -G37* -G36* -X161556778Y-35950547D02* -G01* -X161723224Y-36019491D01* -X161873022Y-36119583D01* -X162000417Y-36246978D01* -X162100509Y-36396776D01* -X162169453Y-36563222D01* -X162204600Y-36739918D01* -X162204600Y-36920082D01* -X162169453Y-37096778D01* -X162100509Y-37263224D01* -X162000417Y-37413022D01* -X161873022Y-37540417D01* -X161723224Y-37640509D01* -X161556778Y-37709453D01* -X161380082Y-37744600D01* -X161199918Y-37744600D01* -X161023222Y-37709453D01* -X160856776Y-37640509D01* -X160706978Y-37540417D01* -X160579583Y-37413022D01* -X160479491Y-37263224D01* -X160410547Y-37096778D01* -X160375400Y-36920082D01* -X160375400Y-36739918D01* -X160410547Y-36563222D01* -X160479491Y-36396776D01* -X160579583Y-36246978D01* -X160706978Y-36119583D01* -X160856776Y-36019491D01* -X161023222Y-35950547D01* -X161199918Y-35915400D01* -X161380082Y-35915400D01* -X161556778Y-35950547D01* -G37* -G36* -X164096778Y-35950547D02* -G01* -X164263224Y-36019491D01* -X164413022Y-36119583D01* -X164540417Y-36246978D01* -X164640509Y-36396776D01* -X164709453Y-36563222D01* -X164744600Y-36739918D01* -X164744600Y-36920082D01* -X164709453Y-37096778D01* -X164640509Y-37263224D01* -X164540417Y-37413022D01* -X164413022Y-37540417D01* -X164263224Y-37640509D01* -X164096778Y-37709453D01* -X163920082Y-37744600D01* -X163739918Y-37744600D01* -X163563222Y-37709453D01* -X163396776Y-37640509D01* -X163246978Y-37540417D01* -X163119583Y-37413022D01* -X163019491Y-37263224D01* -X162950547Y-37096778D01* -X162915400Y-36920082D01* -X162915400Y-36739918D01* -X162950547Y-36563222D01* -X163019491Y-36396776D01* -X163119583Y-36246978D01* -X163246978Y-36119583D01* -X163396776Y-36019491D01* -X163563222Y-35950547D01* -X163739918Y-35915400D01* -X163920082Y-35915400D01* -X164096778Y-35950547D01* -G37* -G36* -X166636778Y-35950547D02* -G01* -X166803224Y-36019491D01* -X166953022Y-36119583D01* -X167080417Y-36246978D01* -X167180509Y-36396776D01* -X167249453Y-36563222D01* -X167284600Y-36739918D01* -X167284600Y-36920082D01* -X167249453Y-37096778D01* -X167180509Y-37263224D01* -X167080417Y-37413022D01* -X166953022Y-37540417D01* -X166803224Y-37640509D01* -X166636778Y-37709453D01* -X166460082Y-37744600D01* -X166279918Y-37744600D01* -X166103222Y-37709453D01* -X165936776Y-37640509D01* -X165786978Y-37540417D01* -X165659583Y-37413022D01* -X165559491Y-37263224D01* -X165490547Y-37096778D01* -X165455400Y-36920082D01* -X165455400Y-36739918D01* -X165490547Y-36563222D01* -X165559491Y-36396776D01* -X165659583Y-36246978D01* -X165786978Y-36119583D01* -X165936776Y-36019491D01* -X166103222Y-35950547D01* -X166279918Y-35915400D01* -X166460082Y-35915400D01* -X166636778Y-35950547D01* -G37* -G36* -X169176778Y-35950547D02* -G01* -X169343224Y-36019491D01* -X169493022Y-36119583D01* -X169620417Y-36246978D01* -X169720509Y-36396776D01* -X169789453Y-36563222D01* -X169824600Y-36739918D01* -X169824600Y-36920082D01* -X169789453Y-37096778D01* -X169720509Y-37263224D01* -X169620417Y-37413022D01* -X169493022Y-37540417D01* -X169343224Y-37640509D01* -X169176778Y-37709453D01* -X169000082Y-37744600D01* -X168819918Y-37744600D01* -X168643222Y-37709453D01* -X168476776Y-37640509D01* -X168326978Y-37540417D01* -X168199583Y-37413022D01* -X168099491Y-37263224D01* -X168030547Y-37096778D01* -X167995400Y-36920082D01* -X167995400Y-36739918D01* -X168030547Y-36563222D01* -X168099491Y-36396776D01* -X168199583Y-36246978D01* -X168326978Y-36119583D01* -X168476776Y-36019491D01* -X168643222Y-35950547D01* -X168819918Y-35915400D01* -X169000082Y-35915400D01* -X169176778Y-35950547D01* -G37* -G36* -X171716778Y-35950547D02* -G01* -X171883224Y-36019491D01* -X172033022Y-36119583D01* -X172160417Y-36246978D01* -X172260509Y-36396776D01* -X172329453Y-36563222D01* -X172364600Y-36739918D01* -X172364600Y-36920082D01* -X172329453Y-37096778D01* -X172260509Y-37263224D01* -X172160417Y-37413022D01* -X172033022Y-37540417D01* -X171883224Y-37640509D01* -X171716778Y-37709453D01* -X171540082Y-37744600D01* -X171359918Y-37744600D01* -X171183222Y-37709453D01* -X171016776Y-37640509D01* -X170866978Y-37540417D01* -X170739583Y-37413022D01* -X170639491Y-37263224D01* -X170570547Y-37096778D01* -X170535400Y-36920082D01* -X170535400Y-36739918D01* -X170570547Y-36563222D01* -X170639491Y-36396776D01* -X170739583Y-36246978D01* -X170866978Y-36119583D01* -X171016776Y-36019491D01* -X171183222Y-35950547D01* -X171359918Y-35915400D01* -X171540082Y-35915400D01* -X171716778Y-35950547D01* -G37* -G36* -X151396778Y-35950547D02* -G01* -X151563224Y-36019491D01* -X151713022Y-36119583D01* -X151840417Y-36246978D01* -X151940509Y-36396776D01* -X152009453Y-36563222D01* -X152044600Y-36739918D01* -X152044600Y-36920082D01* -X152009453Y-37096778D01* -X151940509Y-37263224D01* -X151840417Y-37413022D01* -X151713022Y-37540417D01* -X151563224Y-37640509D01* -X151396778Y-37709453D01* -X151220082Y-37744600D01* -X151039918Y-37744600D01* -X150863222Y-37709453D01* -X150696776Y-37640509D01* -X150546978Y-37540417D01* -X150419583Y-37413022D01* -X150319491Y-37263224D01* -X150250547Y-37096778D01* -X150215400Y-36920082D01* -X150215400Y-36739918D01* -X150250547Y-36563222D01* -X150319491Y-36396776D01* -X150419583Y-36246978D01* -X150546978Y-36119583D01* -X150696776Y-36019491D01* -X150863222Y-35950547D01* -X151039918Y-35915400D01* -X151220082Y-35915400D01* -X151396778Y-35950547D01* -G37* -G36* -X174256778Y-35950547D02* -G01* -X174423224Y-36019491D01* -X174573022Y-36119583D01* -X174700417Y-36246978D01* -X174800509Y-36396776D01* -X174869453Y-36563222D01* -X174904600Y-36739918D01* -X174904600Y-36920082D01* -X174869453Y-37096778D01* -X174800509Y-37263224D01* -X174700417Y-37413022D01* -X174573022Y-37540417D01* -X174423224Y-37640509D01* -X174256778Y-37709453D01* -X174080082Y-37744600D01* -X173899918Y-37744600D01* -X173723222Y-37709453D01* -X173556776Y-37640509D01* -X173406978Y-37540417D01* -X173279583Y-37413022D01* -X173179491Y-37263224D01* -X173110547Y-37096778D01* -X173075400Y-36920082D01* -X173075400Y-36739918D01* -X173110547Y-36563222D01* -X173179491Y-36396776D01* -X173279583Y-36246978D01* -X173406978Y-36119583D01* -X173556776Y-36019491D01* -X173723222Y-35950547D01* -X173899918Y-35915400D01* -X174080082Y-35915400D01* -X174256778Y-35950547D01* -G37* -G36* -X179984600Y-37744600D02* -G01* -X178155400Y-37744600D01* -X178155400Y-35915400D01* -X179984600Y-35915400D01* -X179984600Y-37744600D01* -G37* -G36* -X176796778Y-35950547D02* -G01* -X176963224Y-36019491D01* -X177113022Y-36119583D01* -X177240417Y-36246978D01* -X177340509Y-36396776D01* -X177409453Y-36563222D01* -X177444600Y-36739918D01* -X177444600Y-36920082D01* -X177409453Y-37096778D01* -X177340509Y-37263224D01* -X177240417Y-37413022D01* -X177113022Y-37540417D01* -X176963224Y-37640509D01* -X176796778Y-37709453D01* -X176620082Y-37744600D01* -X176439918Y-37744600D01* -X176263222Y-37709453D01* -X176096776Y-37640509D01* -X175946978Y-37540417D01* -X175819583Y-37413022D01* -X175719491Y-37263224D01* -X175650547Y-37096778D01* -X175615400Y-36920082D01* -X175615400Y-36739918D01* -X175650547Y-36563222D01* -X175719491Y-36396776D01* -X175819583Y-36246978D01* -X175946978Y-36119583D01* -X176096776Y-36019491D01* -X176263222Y-35950547D01* -X176439918Y-35915400D01* -X176620082Y-35915400D01* -X176796778Y-35950547D01* -G37* -G36* -X148856778Y-35950547D02* -G01* -X149023224Y-36019491D01* -X149173022Y-36119583D01* -X149300417Y-36246978D01* -X149400509Y-36396776D01* -X149469453Y-36563222D01* -X149504600Y-36739918D01* -X149504600Y-36920082D01* -X149469453Y-37096778D01* -X149400509Y-37263224D01* -X149300417Y-37413022D01* -X149173022Y-37540417D01* -X149023224Y-37640509D01* -X148856778Y-37709453D01* -X148680082Y-37744600D01* -X148499918Y-37744600D01* -X148323222Y-37709453D01* -X148156776Y-37640509D01* -X148006978Y-37540417D01* -X147879583Y-37413022D01* -X147779491Y-37263224D01* -X147710547Y-37096778D01* -X147675400Y-36920082D01* -X147675400Y-36739918D01* -X147710547Y-36563222D01* -X147779491Y-36396776D01* -X147879583Y-36246978D01* -X148006978Y-36119583D01* -X148156776Y-36019491D01* -X148323222Y-35950547D01* -X148499918Y-35915400D01* -X148680082Y-35915400D01* -X148856778Y-35950547D01* -G37* -G36* -X133616778Y-35950547D02* -G01* -X133783224Y-36019491D01* -X133933022Y-36119583D01* -X134060417Y-36246978D01* -X134160509Y-36396776D01* -X134229453Y-36563222D01* -X134264600Y-36739918D01* -X134264600Y-36920082D01* -X134229453Y-37096778D01* -X134160509Y-37263224D01* -X134060417Y-37413022D01* -X133933022Y-37540417D01* -X133783224Y-37640509D01* -X133616778Y-37709453D01* -X133440082Y-37744600D01* -X133259918Y-37744600D01* -X133083222Y-37709453D01* -X132916776Y-37640509D01* -X132766978Y-37540417D01* -X132639583Y-37413022D01* -X132539491Y-37263224D01* -X132470547Y-37096778D01* -X132435400Y-36920082D01* -X132435400Y-36739918D01* -X132470547Y-36563222D01* -X132539491Y-36396776D01* -X132639583Y-36246978D01* -X132766978Y-36119583D01* -X132916776Y-36019491D01* -X133083222Y-35950547D01* -X133259918Y-35915400D01* -X133440082Y-35915400D01* -X133616778Y-35950547D01* -G37* -G36* -X153936778Y-35950547D02* -G01* -X154103224Y-36019491D01* -X154253022Y-36119583D01* -X154380417Y-36246978D01* -X154480509Y-36396776D01* -X154549453Y-36563222D01* -X154584600Y-36739918D01* -X154584600Y-36920082D01* -X154549453Y-37096778D01* -X154480509Y-37263224D01* -X154380417Y-37413022D01* -X154253022Y-37540417D01* -X154103224Y-37640509D01* -X153936778Y-37709453D01* -X153760082Y-37744600D01* -X153579918Y-37744600D01* -X153403222Y-37709453D01* -X153236776Y-37640509D01* -X153086978Y-37540417D01* -X152959583Y-37413022D01* -X152859491Y-37263224D01* -X152790547Y-37096778D01* -X152755400Y-36920082D01* -X152755400Y-36739918D01* -X152790547Y-36563222D01* -X152859491Y-36396776D01* -X152959583Y-36246978D01* -X153086978Y-36119583D01* -X153236776Y-36019491D01* -X153403222Y-35950547D01* -X153579918Y-35915400D01* -X153760082Y-35915400D01* -X153936778Y-35950547D01* -G37* -M02* diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_SilkS.gto b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_SilkS.gto deleted file mode 100644 index 04c7b42..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-F_SilkS.gto +++ /dev/null @@ -1,1938 +0,0 @@ -G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3* -G04 #@! TF.CreationDate,2020-05-25T10:48:09-05:00* -G04 #@! TF.ProjectId,breakout_board_2x20,62726561-6b6f-4757-945f-626f6172645f,rev?* -G04 #@! TF.SameCoordinates,Original* -G04 #@! TF.FileFunction,Legend,Top* -G04 #@! TF.FilePolarity,Positive* -%FSLAX46Y46*% -G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* -G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-05-25 10:48:09* -%MOMM*% -%LPD*% -G04 APERTURE LIST* -%ADD10C,0.120000*% -%ADD11C,0.150000*% -G04 APERTURE END LIST* -D10* -X154940000Y-46228000D02* -X154940000Y-97536000D01* -X144780000Y-97536000D02* -X165100000Y-97536000D01* -X144780000Y-46228000D02* -X144780000Y-97536000D01* -X165100000Y-46228000D02* -X165100000Y-97536000D01* -X144780000Y-46228000D02* -X165100000Y-46228000D01* -X184670000Y-33175000D02* -X184670000Y-35715000D01* -X184670000Y-33175000D02* -X182130000Y-33175000D01* -X184420000Y-33425000D02* -X184420000Y-42775000D01* -X125460000Y-33425000D02* -X184420000Y-33425000D01* -X125460000Y-42775000D02* -X125460000Y-33425000D01* -X184420000Y-42775000D02* -X125460000Y-42775000D01* -D11* -X154860666Y-98004380D02* -X154860666Y-98718666D01* -X154813047Y-98861523D01* -X154717809Y-98956761D01* -X154574952Y-99004380D01* -X154479714Y-99004380D01* -X155289238Y-98099619D02* -X155336857Y-98052000D01* -X155432095Y-98004380D01* -X155670190Y-98004380D01* -X155765428Y-98052000D01* -X155813047Y-98099619D01* -X155860666Y-98194857D01* -X155860666Y-98290095D01* -X155813047Y-98432952D01* -X155241619Y-99004380D01* -X155860666Y-99004380D01* -X159488285Y-96210380D02* -X159488285Y-95210380D01* -X160059714Y-96210380D01* -X160059714Y-95210380D01* -X161107333Y-96115142D02* -X161059714Y-96162761D01* -X160916857Y-96210380D01* -X160821619Y-96210380D01* -X160678761Y-96162761D01* -X160583523Y-96067523D01* -X160535904Y-95972285D01* -X160488285Y-95781809D01* -X160488285Y-95638952D01* -X160535904Y-95448476D01* -X160583523Y-95353238D01* -X160678761Y-95258000D01* -X160821619Y-95210380D01* -X160916857Y-95210380D01* -X161059714Y-95258000D01* -X161107333Y-95305619D01* -X159488285Y-93670380D02* -X159488285Y-92670380D01* -X160059714Y-93670380D01* -X160059714Y-92670380D01* -X161107333Y-93575142D02* -X161059714Y-93622761D01* -X160916857Y-93670380D01* -X160821619Y-93670380D01* -X160678761Y-93622761D01* -X160583523Y-93527523D01* -X160535904Y-93432285D01* -X160488285Y-93241809D01* -X160488285Y-93098952D01* -X160535904Y-92908476D01* -X160583523Y-92813238D01* -X160678761Y-92718000D01* -X160821619Y-92670380D01* -X160916857Y-92670380D01* -X161059714Y-92718000D01* -X161107333Y-92765619D01* -X149360190Y-96115142D02* -X149312571Y-96162761D01* -X149169714Y-96210380D01* -X149074476Y-96210380D01* -X148931619Y-96162761D01* -X148836380Y-96067523D01* -X148788761Y-95972285D01* -X148741142Y-95781809D01* -X148741142Y-95638952D01* -X148788761Y-95448476D01* -X148836380Y-95353238D01* -X148931619Y-95258000D01* -X149074476Y-95210380D01* -X149169714Y-95210380D01* -X149312571Y-95258000D01* -X149360190Y-95305619D01* -X149645904Y-95210380D02* -X150217333Y-95210380D01* -X149931619Y-96210380D02* -X149931619Y-95210380D01* -X150550666Y-96210380D02* -X150550666Y-95210380D01* -X150931619Y-95210380D01* -X151026857Y-95258000D01* -X151074476Y-95305619D01* -X151122095Y-95400857D01* -X151122095Y-95543714D01* -X151074476Y-95638952D01* -X151026857Y-95686571D01* -X150931619Y-95734190D01* -X150550666Y-95734190D01* -X151312571Y-96305619D02* -X152074476Y-96305619D01* -X152217333Y-95210380D02* -X152455428Y-96210380D01* -X152645904Y-95496095D01* -X152836380Y-96210380D01* -X153074476Y-95210380D01* -X153455428Y-96210380D02* -X153455428Y-95210380D01* -X154026857Y-96210380D02* -X153598285Y-95638952D01* -X154026857Y-95210380D02* -X153455428Y-95781809D01* -X148550666Y-92670380D02* -X149122095Y-92670380D01* -X148836380Y-93670380D02* -X148836380Y-92670380D01* -X149788761Y-93146571D02* -X149455428Y-93146571D01* -X149455428Y-93670380D02* -X149455428Y-92670380D01* -X149931619Y-92670380D01* -X150169714Y-92670380D02* -X150741142Y-92670380D01* -X150455428Y-93670380D02* -X150455428Y-92670380D01* -X150836380Y-93765619D02* -X151598285Y-93765619D01* -X151788761Y-93622761D02* -X151931619Y-93670380D01* -X152169714Y-93670380D01* -X152264952Y-93622761D01* -X152312571Y-93575142D01* -X152360190Y-93479904D01* -X152360190Y-93384666D01* -X152312571Y-93289428D01* -X152264952Y-93241809D01* -X152169714Y-93194190D01* -X151979238Y-93146571D01* -X151884000Y-93098952D01* -X151836380Y-93051333D01* -X151788761Y-92956095D01* -X151788761Y-92860857D01* -X151836380Y-92765619D01* -X151884000Y-92718000D01* -X151979238Y-92670380D01* -X152217333Y-92670380D01* -X152360190Y-92718000D01* -X152645904Y-92670380D02* -X153217333Y-92670380D01* -X152931619Y-93670380D02* -X152931619Y-92670380D01* -X153884000Y-93146571D02* -X154026857Y-93194190D01* -X154074476Y-93241809D01* -X154122095Y-93337047D01* -X154122095Y-93479904D01* -X154074476Y-93575142D01* -X154026857Y-93622761D01* -X153931619Y-93670380D01* -X153550666Y-93670380D01* -X153550666Y-92670380D01* -X153884000Y-92670380D01* -X153979238Y-92718000D01* -X154026857Y-92765619D01* -X154074476Y-92860857D01* -X154074476Y-92956095D01* -X154026857Y-93051333D01* -X153979238Y-93098952D01* -X153884000Y-93146571D01* -X153550666Y-93146571D01* -X155313428Y-90130380D02* -X155884857Y-90130380D01* -X155599142Y-91130380D02* -X155599142Y-90130380D01* -X156551523Y-90606571D02* -X156218190Y-90606571D01* -X156218190Y-91130380D02* -X156218190Y-90130380D01* -X156694380Y-90130380D01* -X156932476Y-90130380D02* -X157503904Y-90130380D01* -X157218190Y-91130380D02* -X157218190Y-90130380D01* -X157599142Y-91225619D02* -X158361047Y-91225619D01* -X158599142Y-91130380D02* -X158599142Y-90130380D01* -X158837238Y-90130380D01* -X158980095Y-90178000D01* -X159075333Y-90273238D01* -X159122952Y-90368476D01* -X159170571Y-90558952D01* -X159170571Y-90701809D01* -X159122952Y-90892285D01* -X159075333Y-90987523D01* -X158980095Y-91082761D01* -X158837238Y-91130380D01* -X158599142Y-91130380D01* -X159551523Y-90225619D02* -X159599142Y-90178000D01* -X159694380Y-90130380D01* -X159932476Y-90130380D01* -X160027714Y-90178000D01* -X160075333Y-90225619D01* -X160122952Y-90320857D01* -X160122952Y-90416095D01* -X160075333Y-90558952D01* -X159503904Y-91130380D01* -X160122952Y-91130380D01* -X160456285Y-90130380D02* -X161075333Y-90130380D01* -X160742000Y-90511333D01* -X160884857Y-90511333D01* -X160980095Y-90558952D01* -X161027714Y-90606571D01* -X161075333Y-90701809D01* -X161075333Y-90939904D01* -X161027714Y-91035142D01* -X160980095Y-91082761D01* -X160884857Y-91130380D01* -X160599142Y-91130380D01* -X160503904Y-91082761D01* -X160456285Y-91035142D01* -X155313428Y-87590380D02* -X155884857Y-87590380D01* -X155599142Y-88590380D02* -X155599142Y-87590380D01* -X156551523Y-88066571D02* -X156218190Y-88066571D01* -X156218190Y-88590380D02* -X156218190Y-87590380D01* -X156694380Y-87590380D01* -X156932476Y-87590380D02* -X157503904Y-87590380D01* -X157218190Y-88590380D02* -X157218190Y-87590380D01* -X157599142Y-88685619D02* -X158361047Y-88685619D01* -X158599142Y-88590380D02* -X158599142Y-87590380D01* -X158837238Y-87590380D01* -X158980095Y-87638000D01* -X159075333Y-87733238D01* -X159122952Y-87828476D01* -X159170571Y-88018952D01* -X159170571Y-88161809D01* -X159122952Y-88352285D01* -X159075333Y-88447523D01* -X158980095Y-88542761D01* -X158837238Y-88590380D01* -X158599142Y-88590380D01* -X159551523Y-87685619D02* -X159599142Y-87638000D01* -X159694380Y-87590380D01* -X159932476Y-87590380D01* -X160027714Y-87638000D01* -X160075333Y-87685619D01* -X160122952Y-87780857D01* -X160122952Y-87876095D01* -X160075333Y-88018952D01* -X159503904Y-88590380D01* -X160122952Y-88590380D01* -X161075333Y-88590380D02* -X160503904Y-88590380D01* -X160789619Y-88590380D02* -X160789619Y-87590380D01* -X160694380Y-87733238D01* -X160599142Y-87828476D01* -X160503904Y-87876095D01* -X155313428Y-84796380D02* -X155884857Y-84796380D01* -X155599142Y-85796380D02* -X155599142Y-84796380D01* -X156551523Y-85272571D02* -X156218190Y-85272571D01* -X156218190Y-85796380D02* -X156218190Y-84796380D01* -X156694380Y-84796380D01* -X156932476Y-84796380D02* -X157503904Y-84796380D01* -X157218190Y-85796380D02* -X157218190Y-84796380D01* -X157599142Y-85891619D02* -X158361047Y-85891619D01* -X158599142Y-85796380D02* -X158599142Y-84796380D01* -X158837238Y-84796380D01* -X158980095Y-84844000D01* -X159075333Y-84939238D01* -X159122952Y-85034476D01* -X159170571Y-85224952D01* -X159170571Y-85367809D01* -X159122952Y-85558285D01* -X159075333Y-85653523D01* -X158980095Y-85748761D01* -X158837238Y-85796380D01* -X158599142Y-85796380D01* -X160122952Y-85796380D02* -X159551523Y-85796380D01* -X159837238Y-85796380D02* -X159837238Y-84796380D01* -X159742000Y-84939238D01* -X159646761Y-85034476D01* -X159551523Y-85082095D01* -X160599142Y-85796380D02* -X160789619Y-85796380D01* -X160884857Y-85748761D01* -X160932476Y-85701142D01* -X161027714Y-85558285D01* -X161075333Y-85367809D01* -X161075333Y-84986857D01* -X161027714Y-84891619D01* -X160980095Y-84844000D01* -X160884857Y-84796380D01* -X160694380Y-84796380D01* -X160599142Y-84844000D01* -X160551523Y-84891619D01* -X160503904Y-84986857D01* -X160503904Y-85224952D01* -X160551523Y-85320190D01* -X160599142Y-85367809D01* -X160694380Y-85415428D01* -X160884857Y-85415428D01* -X160980095Y-85367809D01* -X161027714Y-85320190D01* -X161075333Y-85224952D01* -X155313428Y-82510380D02* -X155884857Y-82510380D01* -X155599142Y-83510380D02* -X155599142Y-82510380D01* -X156551523Y-82986571D02* -X156218190Y-82986571D01* -X156218190Y-83510380D02* -X156218190Y-82510380D01* -X156694380Y-82510380D01* -X156932476Y-82510380D02* -X157503904Y-82510380D01* -X157218190Y-83510380D02* -X157218190Y-82510380D01* -X157599142Y-83605619D02* -X158361047Y-83605619D01* -X158599142Y-83510380D02* -X158599142Y-82510380D01* -X158837238Y-82510380D01* -X158980095Y-82558000D01* -X159075333Y-82653238D01* -X159122952Y-82748476D01* -X159170571Y-82938952D01* -X159170571Y-83081809D01* -X159122952Y-83272285D01* -X159075333Y-83367523D01* -X158980095Y-83462761D01* -X158837238Y-83510380D01* -X158599142Y-83510380D01* -X160122952Y-83510380D02* -X159551523Y-83510380D01* -X159837238Y-83510380D02* -X159837238Y-82510380D01* -X159742000Y-82653238D01* -X159646761Y-82748476D01* -X159551523Y-82796095D01* -X160456285Y-82510380D02* -X161122952Y-82510380D01* -X160694380Y-83510380D01* -X155313428Y-80224380D02* -X155884857Y-80224380D01* -X155599142Y-81224380D02* -X155599142Y-80224380D01* -X156551523Y-80700571D02* -X156218190Y-80700571D01* -X156218190Y-81224380D02* -X156218190Y-80224380D01* -X156694380Y-80224380D01* -X156932476Y-80224380D02* -X157503904Y-80224380D01* -X157218190Y-81224380D02* -X157218190Y-80224380D01* -X157599142Y-81319619D02* -X158361047Y-81319619D01* -X158599142Y-81224380D02* -X158599142Y-80224380D01* -X158837238Y-80224380D01* -X158980095Y-80272000D01* -X159075333Y-80367238D01* -X159122952Y-80462476D01* -X159170571Y-80652952D01* -X159170571Y-80795809D01* -X159122952Y-80986285D01* -X159075333Y-81081523D01* -X158980095Y-81176761D01* -X158837238Y-81224380D01* -X158599142Y-81224380D01* -X160122952Y-81224380D02* -X159551523Y-81224380D01* -X159837238Y-81224380D02* -X159837238Y-80224380D01* -X159742000Y-80367238D01* -X159646761Y-80462476D01* -X159551523Y-80510095D01* -X161027714Y-80224380D02* -X160551523Y-80224380D01* -X160503904Y-80700571D01* -X160551523Y-80652952D01* -X160646761Y-80605333D01* -X160884857Y-80605333D01* -X160980095Y-80652952D01* -X161027714Y-80700571D01* -X161075333Y-80795809D01* -X161075333Y-81033904D01* -X161027714Y-81129142D01* -X160980095Y-81176761D01* -X160884857Y-81224380D01* -X160646761Y-81224380D01* -X160551523Y-81176761D01* -X160503904Y-81129142D01* -X155313428Y-77430380D02* -X155884857Y-77430380D01* -X155599142Y-78430380D02* -X155599142Y-77430380D01* -X156551523Y-77906571D02* -X156218190Y-77906571D01* -X156218190Y-78430380D02* -X156218190Y-77430380D01* -X156694380Y-77430380D01* -X156932476Y-77430380D02* -X157503904Y-77430380D01* -X157218190Y-78430380D02* -X157218190Y-77430380D01* -X157599142Y-78525619D02* -X158361047Y-78525619D01* -X158599142Y-78430380D02* -X158599142Y-77430380D01* -X158837238Y-77430380D01* -X158980095Y-77478000D01* -X159075333Y-77573238D01* -X159122952Y-77668476D01* -X159170571Y-77858952D01* -X159170571Y-78001809D01* -X159122952Y-78192285D01* -X159075333Y-78287523D01* -X158980095Y-78382761D01* -X158837238Y-78430380D01* -X158599142Y-78430380D01* -X160122952Y-78430380D02* -X159551523Y-78430380D01* -X159837238Y-78430380D02* -X159837238Y-77430380D01* -X159742000Y-77573238D01* -X159646761Y-77668476D01* -X159551523Y-77716095D01* -X160456285Y-77430380D02* -X161075333Y-77430380D01* -X160742000Y-77811333D01* -X160884857Y-77811333D01* -X160980095Y-77858952D01* -X161027714Y-77906571D01* -X161075333Y-78001809D01* -X161075333Y-78239904D01* -X161027714Y-78335142D01* -X160980095Y-78382761D01* -X160884857Y-78430380D01* -X160599142Y-78430380D01* -X160503904Y-78382761D01* -X160456285Y-78335142D01* -X148455428Y-90130380D02* -X149026857Y-90130380D01* -X148741142Y-91130380D02* -X148741142Y-90130380D01* -X149693523Y-90606571D02* -X149360190Y-90606571D01* -X149360190Y-91130380D02* -X149360190Y-90130380D01* -X149836380Y-90130380D01* -X150074476Y-90130380D02* -X150645904Y-90130380D01* -X150360190Y-91130380D02* -X150360190Y-90130380D01* -X150741142Y-91225619D02* -X151503047Y-91225619D01* -X151741142Y-91130380D02* -X151741142Y-90130380D01* -X151979238Y-90130380D01* -X152122095Y-90178000D01* -X152217333Y-90273238D01* -X152264952Y-90368476D01* -X152312571Y-90558952D01* -X152312571Y-90701809D01* -X152264952Y-90892285D01* -X152217333Y-90987523D01* -X152122095Y-91082761D01* -X151979238Y-91130380D01* -X151741142Y-91130380D01* -X152693523Y-90225619D02* -X152741142Y-90178000D01* -X152836380Y-90130380D01* -X153074476Y-90130380D01* -X153169714Y-90178000D01* -X153217333Y-90225619D01* -X153264952Y-90320857D01* -X153264952Y-90416095D01* -X153217333Y-90558952D01* -X152645904Y-91130380D01* -X153264952Y-91130380D01* -X153645904Y-90225619D02* -X153693523Y-90178000D01* -X153788761Y-90130380D01* -X154026857Y-90130380D01* -X154122095Y-90178000D01* -X154169714Y-90225619D01* -X154217333Y-90320857D01* -X154217333Y-90416095D01* -X154169714Y-90558952D01* -X153598285Y-91130380D01* -X154217333Y-91130380D01* -X148455428Y-87590380D02* -X149026857Y-87590380D01* -X148741142Y-88590380D02* -X148741142Y-87590380D01* -X149693523Y-88066571D02* -X149360190Y-88066571D01* -X149360190Y-88590380D02* -X149360190Y-87590380D01* -X149836380Y-87590380D01* -X150074476Y-87590380D02* -X150645904Y-87590380D01* -X150360190Y-88590380D02* -X150360190Y-87590380D01* -X150741142Y-88685619D02* -X151503047Y-88685619D01* -X151741142Y-88590380D02* -X151741142Y-87590380D01* -X151979238Y-87590380D01* -X152122095Y-87638000D01* -X152217333Y-87733238D01* -X152264952Y-87828476D01* -X152312571Y-88018952D01* -X152312571Y-88161809D01* -X152264952Y-88352285D01* -X152217333Y-88447523D01* -X152122095Y-88542761D01* -X151979238Y-88590380D01* -X151741142Y-88590380D01* -X152693523Y-87685619D02* -X152741142Y-87638000D01* -X152836380Y-87590380D01* -X153074476Y-87590380D01* -X153169714Y-87638000D01* -X153217333Y-87685619D01* -X153264952Y-87780857D01* -X153264952Y-87876095D01* -X153217333Y-88018952D01* -X152645904Y-88590380D01* -X153264952Y-88590380D01* -X153884000Y-87590380D02* -X153979238Y-87590380D01* -X154074476Y-87638000D01* -X154122095Y-87685619D01* -X154169714Y-87780857D01* -X154217333Y-87971333D01* -X154217333Y-88209428D01* -X154169714Y-88399904D01* -X154122095Y-88495142D01* -X154074476Y-88542761D01* -X153979238Y-88590380D01* -X153884000Y-88590380D01* -X153788761Y-88542761D01* -X153741142Y-88495142D01* -X153693523Y-88399904D01* -X153645904Y-88209428D01* -X153645904Y-87971333D01* -X153693523Y-87780857D01* -X153741142Y-87685619D01* -X153788761Y-87638000D01* -X153884000Y-87590380D01* -X148455428Y-85050380D02* -X149026857Y-85050380D01* -X148741142Y-86050380D02* -X148741142Y-85050380D01* -X149693523Y-85526571D02* -X149360190Y-85526571D01* -X149360190Y-86050380D02* -X149360190Y-85050380D01* -X149836380Y-85050380D01* -X150074476Y-85050380D02* -X150645904Y-85050380D01* -X150360190Y-86050380D02* -X150360190Y-85050380D01* -X150741142Y-86145619D02* -X151503047Y-86145619D01* -X151741142Y-86050380D02* -X151741142Y-85050380D01* -X151979238Y-85050380D01* -X152122095Y-85098000D01* -X152217333Y-85193238D01* -X152264952Y-85288476D01* -X152312571Y-85478952D01* -X152312571Y-85621809D01* -X152264952Y-85812285D01* -X152217333Y-85907523D01* -X152122095Y-86002761D01* -X151979238Y-86050380D01* -X151741142Y-86050380D01* -X153264952Y-86050380D02* -X152693523Y-86050380D01* -X152979238Y-86050380D02* -X152979238Y-85050380D01* -X152884000Y-85193238D01* -X152788761Y-85288476D01* -X152693523Y-85336095D01* -X153836380Y-85478952D02* -X153741142Y-85431333D01* -X153693523Y-85383714D01* -X153645904Y-85288476D01* -X153645904Y-85240857D01* -X153693523Y-85145619D01* -X153741142Y-85098000D01* -X153836380Y-85050380D01* -X154026857Y-85050380D01* -X154122095Y-85098000D01* -X154169714Y-85145619D01* -X154217333Y-85240857D01* -X154217333Y-85288476D01* -X154169714Y-85383714D01* -X154122095Y-85431333D01* -X154026857Y-85478952D01* -X153836380Y-85478952D01* -X153741142Y-85526571D01* -X153693523Y-85574190D01* -X153645904Y-85669428D01* -X153645904Y-85859904D01* -X153693523Y-85955142D01* -X153741142Y-86002761D01* -X153836380Y-86050380D01* -X154026857Y-86050380D01* -X154122095Y-86002761D01* -X154169714Y-85955142D01* -X154217333Y-85859904D01* -X154217333Y-85669428D01* -X154169714Y-85574190D01* -X154122095Y-85526571D01* -X154026857Y-85478952D01* -X148455428Y-82510380D02* -X149026857Y-82510380D01* -X148741142Y-83510380D02* -X148741142Y-82510380D01* -X149693523Y-82986571D02* -X149360190Y-82986571D01* -X149360190Y-83510380D02* -X149360190Y-82510380D01* -X149836380Y-82510380D01* -X150074476Y-82510380D02* -X150645904Y-82510380D01* -X150360190Y-83510380D02* -X150360190Y-82510380D01* -X150741142Y-83605619D02* -X151503047Y-83605619D01* -X151741142Y-83510380D02* -X151741142Y-82510380D01* -X151979238Y-82510380D01* -X152122095Y-82558000D01* -X152217333Y-82653238D01* -X152264952Y-82748476D01* -X152312571Y-82938952D01* -X152312571Y-83081809D01* -X152264952Y-83272285D01* -X152217333Y-83367523D01* -X152122095Y-83462761D01* -X151979238Y-83510380D01* -X151741142Y-83510380D01* -X153264952Y-83510380D02* -X152693523Y-83510380D01* -X152979238Y-83510380D02* -X152979238Y-82510380D01* -X152884000Y-82653238D01* -X152788761Y-82748476D01* -X152693523Y-82796095D01* -X154122095Y-82510380D02* -X153931619Y-82510380D01* -X153836380Y-82558000D01* -X153788761Y-82605619D01* -X153693523Y-82748476D01* -X153645904Y-82938952D01* -X153645904Y-83319904D01* -X153693523Y-83415142D01* -X153741142Y-83462761D01* -X153836380Y-83510380D01* -X154026857Y-83510380D01* -X154122095Y-83462761D01* -X154169714Y-83415142D01* -X154217333Y-83319904D01* -X154217333Y-83081809D01* -X154169714Y-82986571D01* -X154122095Y-82938952D01* -X154026857Y-82891333D01* -X153836380Y-82891333D01* -X153741142Y-82938952D01* -X153693523Y-82986571D01* -X153645904Y-83081809D01* -X148455428Y-79970380D02* -X149026857Y-79970380D01* -X148741142Y-80970380D02* -X148741142Y-79970380D01* -X149693523Y-80446571D02* -X149360190Y-80446571D01* -X149360190Y-80970380D02* -X149360190Y-79970380D01* -X149836380Y-79970380D01* -X150074476Y-79970380D02* -X150645904Y-79970380D01* -X150360190Y-80970380D02* -X150360190Y-79970380D01* -X150741142Y-81065619D02* -X151503047Y-81065619D01* -X151741142Y-80970380D02* -X151741142Y-79970380D01* -X151979238Y-79970380D01* -X152122095Y-80018000D01* -X152217333Y-80113238D01* -X152264952Y-80208476D01* -X152312571Y-80398952D01* -X152312571Y-80541809D01* -X152264952Y-80732285D01* -X152217333Y-80827523D01* -X152122095Y-80922761D01* -X151979238Y-80970380D01* -X151741142Y-80970380D01* -X153264952Y-80970380D02* -X152693523Y-80970380D01* -X152979238Y-80970380D02* -X152979238Y-79970380D01* -X152884000Y-80113238D01* -X152788761Y-80208476D01* -X152693523Y-80256095D01* -X154122095Y-80303714D02* -X154122095Y-80970380D01* -X153884000Y-79922761D02* -X153645904Y-80637047D01* -X154264952Y-80637047D01* -X148455428Y-77430380D02* -X149026857Y-77430380D01* -X148741142Y-78430380D02* -X148741142Y-77430380D01* -X149693523Y-77906571D02* -X149360190Y-77906571D01* -X149360190Y-78430380D02* -X149360190Y-77430380D01* -X149836380Y-77430380D01* -X150074476Y-77430380D02* -X150645904Y-77430380D01* -X150360190Y-78430380D02* -X150360190Y-77430380D01* -X150741142Y-78525619D02* -X151503047Y-78525619D01* -X151741142Y-78430380D02* -X151741142Y-77430380D01* -X151979238Y-77430380D01* -X152122095Y-77478000D01* -X152217333Y-77573238D01* -X152264952Y-77668476D01* -X152312571Y-77858952D01* -X152312571Y-78001809D01* -X152264952Y-78192285D01* -X152217333Y-78287523D01* -X152122095Y-78382761D01* -X151979238Y-78430380D01* -X151741142Y-78430380D01* -X153264952Y-78430380D02* -X152693523Y-78430380D01* -X152979238Y-78430380D02* -X152979238Y-77430380D01* -X152884000Y-77573238D01* -X152788761Y-77668476D01* -X152693523Y-77716095D01* -X153645904Y-77525619D02* -X153693523Y-77478000D01* -X153788761Y-77430380D01* -X154026857Y-77430380D01* -X154122095Y-77478000D01* -X154169714Y-77525619D01* -X154217333Y-77620857D01* -X154217333Y-77716095D01* -X154169714Y-77858952D01* -X153598285Y-78430380D01* -X154217333Y-78430380D01* -X155313428Y-75144380D02* -X155884857Y-75144380D01* -X155599142Y-76144380D02* -X155599142Y-75144380D01* -X156551523Y-75620571D02* -X156218190Y-75620571D01* -X156218190Y-76144380D02* -X156218190Y-75144380D01* -X156694380Y-75144380D01* -X156932476Y-75144380D02* -X157503904Y-75144380D01* -X157218190Y-76144380D02* -X157218190Y-75144380D01* -X157599142Y-76239619D02* -X158361047Y-76239619D01* -X158599142Y-76144380D02* -X158599142Y-75144380D01* -X158837238Y-75144380D01* -X158980095Y-75192000D01* -X159075333Y-75287238D01* -X159122952Y-75382476D01* -X159170571Y-75572952D01* -X159170571Y-75715809D01* -X159122952Y-75906285D01* -X159075333Y-76001523D01* -X158980095Y-76096761D01* -X158837238Y-76144380D01* -X158599142Y-76144380D01* -X160122952Y-76144380D02* -X159551523Y-76144380D01* -X159837238Y-76144380D02* -X159837238Y-75144380D01* -X159742000Y-75287238D01* -X159646761Y-75382476D01* -X159551523Y-75430095D01* -X161075333Y-76144380D02* -X160503904Y-76144380D01* -X160789619Y-76144380D02* -X160789619Y-75144380D01* -X160694380Y-75287238D01* -X160599142Y-75382476D01* -X160503904Y-75430095D01* -X148455428Y-75144380D02* -X149026857Y-75144380D01* -X148741142Y-76144380D02* -X148741142Y-75144380D01* -X149693523Y-75620571D02* -X149360190Y-75620571D01* -X149360190Y-76144380D02* -X149360190Y-75144380D01* -X149836380Y-75144380D01* -X150074476Y-75144380D02* -X150645904Y-75144380D01* -X150360190Y-76144380D02* -X150360190Y-75144380D01* -X150741142Y-76239619D02* -X151503047Y-76239619D01* -X151741142Y-76144380D02* -X151741142Y-75144380D01* -X151979238Y-75144380D01* -X152122095Y-75192000D01* -X152217333Y-75287238D01* -X152264952Y-75382476D01* -X152312571Y-75572952D01* -X152312571Y-75715809D01* -X152264952Y-75906285D01* -X152217333Y-76001523D01* -X152122095Y-76096761D01* -X151979238Y-76144380D01* -X151741142Y-76144380D01* -X153264952Y-76144380D02* -X152693523Y-76144380D01* -X152979238Y-76144380D02* -X152979238Y-75144380D01* -X152884000Y-75287238D01* -X152788761Y-75382476D01* -X152693523Y-75430095D01* -X153884000Y-75144380D02* -X153979238Y-75144380D01* -X154074476Y-75192000D01* -X154122095Y-75239619D01* -X154169714Y-75334857D01* -X154217333Y-75525333D01* -X154217333Y-75763428D01* -X154169714Y-75953904D01* -X154122095Y-76049142D01* -X154074476Y-76096761D01* -X153979238Y-76144380D01* -X153884000Y-76144380D01* -X153788761Y-76096761D01* -X153741142Y-76049142D01* -X153693523Y-75953904D01* -X153645904Y-75763428D01* -X153645904Y-75525333D01* -X153693523Y-75334857D01* -X153741142Y-75239619D01* -X153788761Y-75192000D01* -X153884000Y-75144380D01* -X156297619Y-72604380D02* -X156869047Y-72604380D01* -X156583333Y-73604380D02* -X156583333Y-72604380D01* -X157535714Y-73080571D02* -X157202380Y-73080571D01* -X157202380Y-73604380D02* -X157202380Y-72604380D01* -X157678571Y-72604380D01* -X157916666Y-72604380D02* -X158488095Y-72604380D01* -X158202380Y-73604380D02* -X158202380Y-72604380D01* -X158583333Y-73699619D02* -X159345238Y-73699619D01* -X159583333Y-73604380D02* -X159583333Y-72604380D01* -X159821428Y-72604380D01* -X159964285Y-72652000D01* -X160059523Y-72747238D01* -X160107142Y-72842476D01* -X160154761Y-73032952D01* -X160154761Y-73175809D01* -X160107142Y-73366285D01* -X160059523Y-73461523D01* -X159964285Y-73556761D01* -X159821428Y-73604380D01* -X159583333Y-73604380D01* -X160630952Y-73604380D02* -X160821428Y-73604380D01* -X160916666Y-73556761D01* -X160964285Y-73509142D01* -X161059523Y-73366285D01* -X161107142Y-73175809D01* -X161107142Y-72794857D01* -X161059523Y-72699619D01* -X161011904Y-72652000D01* -X160916666Y-72604380D01* -X160726190Y-72604380D01* -X160630952Y-72652000D01* -X160583333Y-72699619D01* -X160535714Y-72794857D01* -X160535714Y-73032952D01* -X160583333Y-73128190D01* -X160630952Y-73175809D01* -X160726190Y-73223428D01* -X160916666Y-73223428D01* -X161011904Y-73175809D01* -X161059523Y-73128190D01* -X161107142Y-73032952D01* -X148423619Y-72604380D02* -X148995047Y-72604380D01* -X148709333Y-73604380D02* -X148709333Y-72604380D01* -X149661714Y-73080571D02* -X149328380Y-73080571D01* -X149328380Y-73604380D02* -X149328380Y-72604380D01* -X149804571Y-72604380D01* -X150042666Y-72604380D02* -X150614095Y-72604380D01* -X150328380Y-73604380D02* -X150328380Y-72604380D01* -X150709333Y-73699619D02* -X151471238Y-73699619D01* -X151709333Y-73604380D02* -X151709333Y-72604380D01* -X151947428Y-72604380D01* -X152090285Y-72652000D01* -X152185523Y-72747238D01* -X152233142Y-72842476D01* -X152280761Y-73032952D01* -X152280761Y-73175809D01* -X152233142Y-73366285D01* -X152185523Y-73461523D01* -X152090285Y-73556761D01* -X151947428Y-73604380D01* -X151709333Y-73604380D01* -X152852190Y-73032952D02* -X152756952Y-72985333D01* -X152709333Y-72937714D01* -X152661714Y-72842476D01* -X152661714Y-72794857D01* -X152709333Y-72699619D01* -X152756952Y-72652000D01* -X152852190Y-72604380D01* -X153042666Y-72604380D01* -X153137904Y-72652000D01* -X153185523Y-72699619D01* -X153233142Y-72794857D01* -X153233142Y-72842476D01* -X153185523Y-72937714D01* -X153137904Y-72985333D01* -X153042666Y-73032952D01* -X152852190Y-73032952D01* -X152756952Y-73080571D01* -X152709333Y-73128190D01* -X152661714Y-73223428D01* -X152661714Y-73413904D01* -X152709333Y-73509142D01* -X152756952Y-73556761D01* -X152852190Y-73604380D01* -X153042666Y-73604380D01* -X153137904Y-73556761D01* -X153185523Y-73509142D01* -X153233142Y-73413904D01* -X153233142Y-73223428D01* -X153185523Y-73128190D01* -X153137904Y-73080571D01* -X153042666Y-73032952D01* -X156297619Y-70064380D02* -X156869047Y-70064380D01* -X156583333Y-71064380D02* -X156583333Y-70064380D01* -X157535714Y-70540571D02* -X157202380Y-70540571D01* -X157202380Y-71064380D02* -X157202380Y-70064380D01* -X157678571Y-70064380D01* -X157916666Y-70064380D02* -X158488095Y-70064380D01* -X158202380Y-71064380D02* -X158202380Y-70064380D01* -X158583333Y-71159619D02* -X159345238Y-71159619D01* -X159583333Y-71064380D02* -X159583333Y-70064380D01* -X159821428Y-70064380D01* -X159964285Y-70112000D01* -X160059523Y-70207238D01* -X160107142Y-70302476D01* -X160154761Y-70492952D01* -X160154761Y-70635809D01* -X160107142Y-70826285D01* -X160059523Y-70921523D01* -X159964285Y-71016761D01* -X159821428Y-71064380D01* -X159583333Y-71064380D01* -X160488095Y-70064380D02* -X161154761Y-70064380D01* -X160726190Y-71064380D01* -X148423619Y-70064380D02* -X148995047Y-70064380D01* -X148709333Y-71064380D02* -X148709333Y-70064380D01* -X149661714Y-70540571D02* -X149328380Y-70540571D01* -X149328380Y-71064380D02* -X149328380Y-70064380D01* -X149804571Y-70064380D01* -X150042666Y-70064380D02* -X150614095Y-70064380D01* -X150328380Y-71064380D02* -X150328380Y-70064380D01* -X150709333Y-71159619D02* -X151471238Y-71159619D01* -X151709333Y-71064380D02* -X151709333Y-70064380D01* -X151947428Y-70064380D01* -X152090285Y-70112000D01* -X152185523Y-70207238D01* -X152233142Y-70302476D01* -X152280761Y-70492952D01* -X152280761Y-70635809D01* -X152233142Y-70826285D01* -X152185523Y-70921523D01* -X152090285Y-71016761D01* -X151947428Y-71064380D01* -X151709333Y-71064380D01* -X153137904Y-70064380D02* -X152947428Y-70064380D01* -X152852190Y-70112000D01* -X152804571Y-70159619D01* -X152709333Y-70302476D01* -X152661714Y-70492952D01* -X152661714Y-70873904D01* -X152709333Y-70969142D01* -X152756952Y-71016761D01* -X152852190Y-71064380D01* -X153042666Y-71064380D01* -X153137904Y-71016761D01* -X153185523Y-70969142D01* -X153233142Y-70873904D01* -X153233142Y-70635809D01* -X153185523Y-70540571D01* -X153137904Y-70492952D01* -X153042666Y-70445333D01* -X152852190Y-70445333D01* -X152756952Y-70492952D01* -X152709333Y-70540571D01* -X152661714Y-70635809D01* -X156297619Y-67524380D02* -X156869047Y-67524380D01* -X156583333Y-68524380D02* -X156583333Y-67524380D01* -X157535714Y-68000571D02* -X157202380Y-68000571D01* -X157202380Y-68524380D02* -X157202380Y-67524380D01* -X157678571Y-67524380D01* -X157916666Y-67524380D02* -X158488095Y-67524380D01* -X158202380Y-68524380D02* -X158202380Y-67524380D01* -X158583333Y-68619619D02* -X159345238Y-68619619D01* -X159583333Y-68524380D02* -X159583333Y-67524380D01* -X159821428Y-67524380D01* -X159964285Y-67572000D01* -X160059523Y-67667238D01* -X160107142Y-67762476D01* -X160154761Y-67952952D01* -X160154761Y-68095809D01* -X160107142Y-68286285D01* -X160059523Y-68381523D01* -X159964285Y-68476761D01* -X159821428Y-68524380D01* -X159583333Y-68524380D01* -X161059523Y-67524380D02* -X160583333Y-67524380D01* -X160535714Y-68000571D01* -X160583333Y-67952952D01* -X160678571Y-67905333D01* -X160916666Y-67905333D01* -X161011904Y-67952952D01* -X161059523Y-68000571D01* -X161107142Y-68095809D01* -X161107142Y-68333904D01* -X161059523Y-68429142D01* -X161011904Y-68476761D01* -X160916666Y-68524380D01* -X160678571Y-68524380D01* -X160583333Y-68476761D01* -X160535714Y-68429142D01* -X148423619Y-67524380D02* -X148995047Y-67524380D01* -X148709333Y-68524380D02* -X148709333Y-67524380D01* -X149661714Y-68000571D02* -X149328380Y-68000571D01* -X149328380Y-68524380D02* -X149328380Y-67524380D01* -X149804571Y-67524380D01* -X150042666Y-67524380D02* -X150614095Y-67524380D01* -X150328380Y-68524380D02* -X150328380Y-67524380D01* -X150709333Y-68619619D02* -X151471238Y-68619619D01* -X151709333Y-68524380D02* -X151709333Y-67524380D01* -X151947428Y-67524380D01* -X152090285Y-67572000D01* -X152185523Y-67667238D01* -X152233142Y-67762476D01* -X152280761Y-67952952D01* -X152280761Y-68095809D01* -X152233142Y-68286285D01* -X152185523Y-68381523D01* -X152090285Y-68476761D01* -X151947428Y-68524380D01* -X151709333Y-68524380D01* -X153137904Y-67857714D02* -X153137904Y-68524380D01* -X152899809Y-67476761D02* -X152661714Y-68191047D01* -X153280761Y-68191047D01* -X156297619Y-64984380D02* -X156869047Y-64984380D01* -X156583333Y-65984380D02* -X156583333Y-64984380D01* -X157535714Y-65460571D02* -X157202380Y-65460571D01* -X157202380Y-65984380D02* -X157202380Y-64984380D01* -X157678571Y-64984380D01* -X157916666Y-64984380D02* -X158488095Y-64984380D01* -X158202380Y-65984380D02* -X158202380Y-64984380D01* -X158583333Y-66079619D02* -X159345238Y-66079619D01* -X159583333Y-65984380D02* -X159583333Y-64984380D01* -X159821428Y-64984380D01* -X159964285Y-65032000D01* -X160059523Y-65127238D01* -X160107142Y-65222476D01* -X160154761Y-65412952D01* -X160154761Y-65555809D01* -X160107142Y-65746285D01* -X160059523Y-65841523D01* -X159964285Y-65936761D01* -X159821428Y-65984380D01* -X159583333Y-65984380D01* -X160488095Y-64984380D02* -X161107142Y-64984380D01* -X160773809Y-65365333D01* -X160916666Y-65365333D01* -X161011904Y-65412952D01* -X161059523Y-65460571D01* -X161107142Y-65555809D01* -X161107142Y-65793904D01* -X161059523Y-65889142D01* -X161011904Y-65936761D01* -X160916666Y-65984380D01* -X160630952Y-65984380D01* -X160535714Y-65936761D01* -X160488095Y-65889142D01* -X148423619Y-64984380D02* -X148995047Y-64984380D01* -X148709333Y-65984380D02* -X148709333Y-64984380D01* -X149661714Y-65460571D02* -X149328380Y-65460571D01* -X149328380Y-65984380D02* -X149328380Y-64984380D01* -X149804571Y-64984380D01* -X150042666Y-64984380D02* -X150614095Y-64984380D01* -X150328380Y-65984380D02* -X150328380Y-64984380D01* -X150709333Y-66079619D02* -X151471238Y-66079619D01* -X151709333Y-65984380D02* -X151709333Y-64984380D01* -X151947428Y-64984380D01* -X152090285Y-65032000D01* -X152185523Y-65127238D01* -X152233142Y-65222476D01* -X152280761Y-65412952D01* -X152280761Y-65555809D01* -X152233142Y-65746285D01* -X152185523Y-65841523D01* -X152090285Y-65936761D01* -X151947428Y-65984380D01* -X151709333Y-65984380D01* -X152661714Y-65079619D02* -X152709333Y-65032000D01* -X152804571Y-64984380D01* -X153042666Y-64984380D01* -X153137904Y-65032000D01* -X153185523Y-65079619D01* -X153233142Y-65174857D01* -X153233142Y-65270095D01* -X153185523Y-65412952D01* -X152614095Y-65984380D01* -X153233142Y-65984380D01* -X156297619Y-62444380D02* -X156869047Y-62444380D01* -X156583333Y-63444380D02* -X156583333Y-62444380D01* -X157535714Y-62920571D02* -X157202380Y-62920571D01* -X157202380Y-63444380D02* -X157202380Y-62444380D01* -X157678571Y-62444380D01* -X157916666Y-62444380D02* -X158488095Y-62444380D01* -X158202380Y-63444380D02* -X158202380Y-62444380D01* -X158583333Y-63539619D02* -X159345238Y-63539619D01* -X159583333Y-63444380D02* -X159583333Y-62444380D01* -X159821428Y-62444380D01* -X159964285Y-62492000D01* -X160059523Y-62587238D01* -X160107142Y-62682476D01* -X160154761Y-62872952D01* -X160154761Y-63015809D01* -X160107142Y-63206285D01* -X160059523Y-63301523D01* -X159964285Y-63396761D01* -X159821428Y-63444380D01* -X159583333Y-63444380D01* -X161107142Y-63444380D02* -X160535714Y-63444380D01* -X160821428Y-63444380D02* -X160821428Y-62444380D01* -X160726190Y-62587238D01* -X160630952Y-62682476D01* -X160535714Y-62730095D01* -X148423619Y-62444380D02* -X148995047Y-62444380D01* -X148709333Y-63444380D02* -X148709333Y-62444380D01* -X149661714Y-62920571D02* -X149328380Y-62920571D01* -X149328380Y-63444380D02* -X149328380Y-62444380D01* -X149804571Y-62444380D01* -X150042666Y-62444380D02* -X150614095Y-62444380D01* -X150328380Y-63444380D02* -X150328380Y-62444380D01* -X150709333Y-63539619D02* -X151471238Y-63539619D01* -X151709333Y-63444380D02* -X151709333Y-62444380D01* -X151947428Y-62444380D01* -X152090285Y-62492000D01* -X152185523Y-62587238D01* -X152233142Y-62682476D01* -X152280761Y-62872952D01* -X152280761Y-63015809D01* -X152233142Y-63206285D01* -X152185523Y-63301523D01* -X152090285Y-63396761D01* -X151947428Y-63444380D01* -X151709333Y-63444380D01* -X152899809Y-62444380D02* -X152995047Y-62444380D01* -X153090285Y-62492000D01* -X153137904Y-62539619D01* -X153185523Y-62634857D01* -X153233142Y-62825333D01* -X153233142Y-63063428D01* -X153185523Y-63253904D01* -X153137904Y-63349142D01* -X153090285Y-63396761D01* -X152995047Y-63444380D01* -X152899809Y-63444380D01* -X152804571Y-63396761D01* -X152756952Y-63349142D01* -X152709333Y-63253904D01* -X152661714Y-63063428D01* -X152661714Y-62825333D01* -X152709333Y-62634857D01* -X152756952Y-62539619D01* -X152804571Y-62492000D01* -X152899809Y-62444380D01* -X156440476Y-59650380D02* -X157011904Y-59650380D01* -X156726190Y-60650380D02* -X156726190Y-59650380D01* -X157678571Y-60126571D02* -X157345238Y-60126571D01* -X157345238Y-60650380D02* -X157345238Y-59650380D01* -X157821428Y-59650380D01* -X158059523Y-59650380D02* -X158630952Y-59650380D01* -X158345238Y-60650380D02* -X158345238Y-59650380D01* -X158726190Y-60745619D02* -X159488095Y-60745619D01* -X159583333Y-59650380D02* -X160154761Y-59650380D01* -X159869047Y-60650380D02* -X159869047Y-59650380D01* -X160488095Y-60126571D02* -X160821428Y-60126571D01* -X160964285Y-60650380D02* -X160488095Y-60650380D01* -X160488095Y-59650380D01* -X160964285Y-59650380D01* -X148653809Y-59650380D02* -X149225238Y-59650380D01* -X148939523Y-60650380D02* -X148939523Y-59650380D01* -X149891904Y-60126571D02* -X149558571Y-60126571D01* -X149558571Y-60650380D02* -X149558571Y-59650380D01* -X150034761Y-59650380D01* -X150272857Y-59650380D02* -X150844285Y-59650380D01* -X150558571Y-60650380D02* -X150558571Y-59650380D01* -X150939523Y-60745619D02* -X151701428Y-60745619D01* -X152510952Y-60650380D02* -X152177619Y-60174190D01* -X151939523Y-60650380D02* -X151939523Y-59650380D01* -X152320476Y-59650380D01* -X152415714Y-59698000D01* -X152463333Y-59745619D01* -X152510952Y-59840857D01* -X152510952Y-59983714D01* -X152463333Y-60078952D01* -X152415714Y-60126571D01* -X152320476Y-60174190D01* -X151939523Y-60174190D01* -X152939523Y-60650380D02* -X152939523Y-59650380D01* -X153177619Y-59650380D01* -X153320476Y-59698000D01* -X153415714Y-59793238D01* -X153463333Y-59888476D01* -X153510952Y-60078952D01* -X153510952Y-60221809D01* -X153463333Y-60412285D01* -X153415714Y-60507523D01* -X153320476Y-60602761D01* -X153177619Y-60650380D01* -X152939523Y-60650380D01* -X155948380Y-57364380D02* -X156519809Y-57364380D01* -X156234095Y-58364380D02* -X156234095Y-57364380D01* -X157186476Y-57840571D02* -X156853142Y-57840571D01* -X156853142Y-58364380D02* -X156853142Y-57364380D01* -X157329333Y-57364380D01* -X157567428Y-57364380D02* -X158138857Y-57364380D01* -X157853142Y-58364380D02* -X157853142Y-57364380D01* -X158234095Y-58459619D02* -X158996000Y-58459619D01* -X159138857Y-57364380D02* -X159376952Y-58364380D01* -X159567428Y-57650095D01* -X159757904Y-58364380D01* -X159996000Y-57364380D01* -X160948380Y-58364380D02* -X160615047Y-57888190D01* -X160376952Y-58364380D02* -X160376952Y-57364380D01* -X160757904Y-57364380D01* -X160853142Y-57412000D01* -X160900761Y-57459619D01* -X160948380Y-57554857D01* -X160948380Y-57697714D01* -X160900761Y-57792952D01* -X160853142Y-57840571D01* -X160757904Y-57888190D01* -X160376952Y-57888190D01* -X148582380Y-56997000D02* -X149344285Y-56997000D01* -X148677619Y-57364380D02* -X149249047Y-57364380D01* -X148963333Y-58364380D02* -X148963333Y-57364380D01* -X149344285Y-56997000D02* -X150201428Y-56997000D01* -X149915714Y-57840571D02* -X149582380Y-57840571D01* -X149582380Y-58364380D02* -X149582380Y-57364380D01* -X150058571Y-57364380D01* -X150201428Y-56997000D02* -X150963333Y-56997000D01* -X150296666Y-57364380D02* -X150868095Y-57364380D01* -X150582380Y-58364380D02* -X150582380Y-57364380D01* -X150963333Y-56997000D02* -X151725238Y-56997000D01* -X150963333Y-58459619D02* -X151725238Y-58459619D01* -X151725238Y-56997000D02* -X152725238Y-56997000D01* -X152534761Y-58269142D02* -X152487142Y-58316761D01* -X152344285Y-58364380D01* -X152249047Y-58364380D01* -X152106190Y-58316761D01* -X152010952Y-58221523D01* -X151963333Y-58126285D01* -X151915714Y-57935809D01* -X151915714Y-57792952D01* -X151963333Y-57602476D01* -X152010952Y-57507238D01* -X152106190Y-57412000D01* -X152249047Y-57364380D01* -X152344285Y-57364380D01* -X152487142Y-57412000D01* -X152534761Y-57459619D01* -X152725238Y-56997000D02* -X153677619Y-56997000D01* -X152915714Y-58316761D02* -X153058571Y-58364380D01* -X153296666Y-58364380D01* -X153391904Y-58316761D01* -X153439523Y-58269142D01* -X153487142Y-58173904D01* -X153487142Y-58078666D01* -X153439523Y-57983428D01* -X153391904Y-57935809D01* -X153296666Y-57888190D01* -X153106190Y-57840571D01* -X153010952Y-57792952D01* -X152963333Y-57745333D01* -X152915714Y-57650095D01* -X152915714Y-57554857D01* -X152963333Y-57459619D01* -X153010952Y-57412000D01* -X153106190Y-57364380D01* -X153344285Y-57364380D01* -X153487142Y-57412000D01* -X148455428Y-54457000D02* -X149217333Y-54457000D01* -X148550666Y-54824380D02* -X149122095Y-54824380D01* -X148836380Y-55824380D02* -X148836380Y-54824380D01* -X149217333Y-54457000D02* -X150074476Y-54457000D01* -X149788761Y-55300571D02* -X149455428Y-55300571D01* -X149455428Y-55824380D02* -X149455428Y-54824380D01* -X149931619Y-54824380D01* -X150074476Y-54457000D02* -X150836380Y-54457000D01* -X150169714Y-54824380D02* -X150741142Y-54824380D01* -X150455428Y-55824380D02* -X150455428Y-54824380D01* -X150836380Y-54457000D02* -X151598285Y-54457000D01* -X150836380Y-55919619D02* -X151598285Y-55919619D01* -X151598285Y-54457000D02* -X152598285Y-54457000D01* -X152407809Y-55824380D02* -X152074476Y-55348190D01* -X151836380Y-55824380D02* -X151836380Y-54824380D01* -X152217333Y-54824380D01* -X152312571Y-54872000D01* -X152360190Y-54919619D01* -X152407809Y-55014857D01* -X152407809Y-55157714D01* -X152360190Y-55252952D01* -X152312571Y-55300571D01* -X152217333Y-55348190D01* -X151836380Y-55348190D01* -X152598285Y-54457000D02* -X153550666Y-54457000D01* -X152788761Y-55776761D02* -X152931619Y-55824380D01* -X153169714Y-55824380D01* -X153264952Y-55776761D01* -X153312571Y-55729142D01* -X153360190Y-55633904D01* -X153360190Y-55538666D01* -X153312571Y-55443428D01* -X153264952Y-55395809D01* -X153169714Y-55348190D01* -X152979238Y-55300571D01* -X152884000Y-55252952D01* -X152836380Y-55205333D01* -X152788761Y-55110095D01* -X152788761Y-55014857D01* -X152836380Y-54919619D01* -X152884000Y-54872000D01* -X152979238Y-54824380D01* -X153217333Y-54824380D01* -X153360190Y-54872000D01* -X153550666Y-54457000D02* -X154312571Y-54457000D01* -X153645904Y-54824380D02* -X154217333Y-54824380D01* -X153931619Y-55824380D02* -X153931619Y-54824380D01* -X155242000Y-54824380D02* -X155813428Y-54824380D01* -X155527714Y-55824380D02* -X155527714Y-54824380D01* -X156480095Y-55300571D02* -X156146761Y-55300571D01* -X156146761Y-55824380D02* -X156146761Y-54824380D01* -X156622952Y-54824380D01* -X156861047Y-54824380D02* -X157432476Y-54824380D01* -X157146761Y-55824380D02* -X157146761Y-54824380D01* -X157527714Y-55919619D02* -X158289619Y-55919619D01* -X158527714Y-55824380D02* -X158527714Y-54824380D01* -X158765809Y-54824380D01* -X158908666Y-54872000D01* -X159003904Y-54967238D01* -X159051523Y-55062476D01* -X159099142Y-55252952D01* -X159099142Y-55395809D01* -X159051523Y-55586285D01* -X159003904Y-55681523D01* -X158908666Y-55776761D01* -X158765809Y-55824380D01* -X158527714Y-55824380D01* -X160242000Y-54776761D02* -X159384857Y-56062476D01* -X161146761Y-55729142D02* -X161099142Y-55776761D01* -X160956285Y-55824380D01* -X160861047Y-55824380D01* -X160718190Y-55776761D01* -X160622952Y-55681523D01* -X160575333Y-55586285D01* -X160527714Y-55395809D01* -X160527714Y-55252952D01* -X160575333Y-55062476D01* -X160622952Y-54967238D01* -X160718190Y-54872000D01* -X160861047Y-54824380D01* -X160956285Y-54824380D01* -X161099142Y-54872000D01* -X161146761Y-54919619D01* -X155242000Y-52284380D02* -X155813428Y-52284380D01* -X155527714Y-53284380D02* -X155527714Y-52284380D01* -X156480095Y-52760571D02* -X156146761Y-52760571D01* -X156146761Y-53284380D02* -X156146761Y-52284380D01* -X156622952Y-52284380D01* -X156861047Y-52284380D02* -X157432476Y-52284380D01* -X157146761Y-53284380D02* -X157146761Y-52284380D01* -X157527714Y-53379619D02* -X158289619Y-53379619D01* -X159051523Y-52332000D02* -X158956285Y-52284380D01* -X158813428Y-52284380D01* -X158670571Y-52332000D01* -X158575333Y-52427238D01* -X158527714Y-52522476D01* -X158480095Y-52712952D01* -X158480095Y-52855809D01* -X158527714Y-53046285D01* -X158575333Y-53141523D01* -X158670571Y-53236761D01* -X158813428Y-53284380D01* -X158908666Y-53284380D01* -X159051523Y-53236761D01* -X159099142Y-53189142D01* -X159099142Y-52855809D01* -X158908666Y-52855809D01* -X159527714Y-53284380D02* -X159527714Y-52284380D01* -X159908666Y-52284380D01* -X160003904Y-52332000D01* -X160051523Y-52379619D01* -X160099142Y-52474857D01* -X160099142Y-52617714D01* -X160051523Y-52712952D01* -X160003904Y-52760571D01* -X159908666Y-52808190D01* -X159527714Y-52808190D01* -X160718190Y-52284380D02* -X160908666Y-52284380D01* -X161003904Y-52332000D01* -X161099142Y-52427238D01* -X161146761Y-52617714D01* -X161146761Y-52951047D01* -X161099142Y-53141523D01* -X161003904Y-53236761D01* -X160908666Y-53284380D01* -X160718190Y-53284380D01* -X160622952Y-53236761D01* -X160527714Y-53141523D01* -X160480095Y-52951047D01* -X160480095Y-52617714D01* -X160527714Y-52427238D01* -X160622952Y-52332000D01* -X160718190Y-52284380D01* -X149034761Y-53189142D02* -X148987142Y-53236761D01* -X148844285Y-53284380D01* -X148749047Y-53284380D01* -X148606190Y-53236761D01* -X148510952Y-53141523D01* -X148463333Y-53046285D01* -X148415714Y-52855809D01* -X148415714Y-52712952D01* -X148463333Y-52522476D01* -X148510952Y-52427238D01* -X148606190Y-52332000D01* -X148749047Y-52284380D01* -X148844285Y-52284380D01* -X148987142Y-52332000D01* -X149034761Y-52379619D01* -X149320476Y-52284380D02* -X149891904Y-52284380D01* -X149606190Y-53284380D02* -X149606190Y-52284380D01* -X150225238Y-53284380D02* -X150225238Y-52284380D01* -X150606190Y-52284380D01* -X150701428Y-52332000D01* -X150749047Y-52379619D01* -X150796666Y-52474857D01* -X150796666Y-52617714D01* -X150749047Y-52712952D01* -X150701428Y-52760571D01* -X150606190Y-52808190D01* -X150225238Y-52808190D01* -X150987142Y-53379619D02* -X151749047Y-53379619D01* -X151987142Y-53284380D02* -X151987142Y-52284380D01* -X152463333Y-53284380D02* -X152463333Y-52284380D01* -X153034761Y-53284380D01* -X153034761Y-52284380D01* -X153368095Y-52284380D02* -X153939523Y-52284380D01* -X153653809Y-53284380D02* -X153653809Y-52284380D01* -X155884857Y-50649142D02* -X155837238Y-50696761D01* -X155694380Y-50744380D01* -X155599142Y-50744380D01* -X155456285Y-50696761D01* -X155361047Y-50601523D01* -X155313428Y-50506285D01* -X155265809Y-50315809D01* -X155265809Y-50172952D01* -X155313428Y-49982476D01* -X155361047Y-49887238D01* -X155456285Y-49792000D01* -X155599142Y-49744380D01* -X155694380Y-49744380D01* -X155837238Y-49792000D01* -X155884857Y-49839619D01* -X156170571Y-49744380D02* -X156742000Y-49744380D01* -X156456285Y-50744380D02* -X156456285Y-49744380D01* -X157075333Y-50744380D02* -X157075333Y-49744380D01* -X157456285Y-49744380D01* -X157551523Y-49792000D01* -X157599142Y-49839619D01* -X157646761Y-49934857D01* -X157646761Y-50077714D01* -X157599142Y-50172952D01* -X157551523Y-50220571D01* -X157456285Y-50268190D01* -X157075333Y-50268190D01* -X157837238Y-50839619D02* -X158599142Y-50839619D01* -X158789619Y-50696761D02* -X158932476Y-50744380D01* -X159170571Y-50744380D01* -X159265809Y-50696761D01* -X159313428Y-50649142D01* -X159361047Y-50553904D01* -X159361047Y-50458666D01* -X159313428Y-50363428D01* -X159265809Y-50315809D01* -X159170571Y-50268190D01* -X158980095Y-50220571D01* -X158884857Y-50172952D01* -X158837238Y-50125333D01* -X158789619Y-50030095D01* -X158789619Y-49934857D01* -X158837238Y-49839619D01* -X158884857Y-49792000D01* -X158980095Y-49744380D01* -X159218190Y-49744380D01* -X159361047Y-49792000D01* -X159789619Y-50744380D02* -X159789619Y-49744380D01* -X160027714Y-49744380D01* -X160170571Y-49792000D01* -X160265809Y-49887238D01* -X160313428Y-49982476D01* -X160361047Y-50172952D01* -X160361047Y-50315809D01* -X160313428Y-50506285D01* -X160265809Y-50601523D01* -X160170571Y-50696761D01* -X160027714Y-50744380D01* -X159789619Y-50744380D01* -X160742000Y-50458666D02* -X161218190Y-50458666D01* -X160646761Y-50744380D02* -X160980095Y-49744380D01* -X161313428Y-50744380D01* -X149050666Y-50649142D02* -X149003047Y-50696761D01* -X148860190Y-50744380D01* -X148764952Y-50744380D01* -X148622095Y-50696761D01* -X148526857Y-50601523D01* -X148479238Y-50506285D01* -X148431619Y-50315809D01* -X148431619Y-50172952D01* -X148479238Y-49982476D01* -X148526857Y-49887238D01* -X148622095Y-49792000D01* -X148764952Y-49744380D01* -X148860190Y-49744380D01* -X149003047Y-49792000D01* -X149050666Y-49839619D01* -X149336380Y-49744380D02* -X149907809Y-49744380D01* -X149622095Y-50744380D02* -X149622095Y-49744380D01* -X150241142Y-50744380D02* -X150241142Y-49744380D01* -X150622095Y-49744380D01* -X150717333Y-49792000D01* -X150764952Y-49839619D01* -X150812571Y-49934857D01* -X150812571Y-50077714D01* -X150764952Y-50172952D01* -X150717333Y-50220571D01* -X150622095Y-50268190D01* -X150241142Y-50268190D01* -X151003047Y-50839619D02* -X151764952Y-50839619D01* -X151955428Y-50696761D02* -X152098285Y-50744380D01* -X152336380Y-50744380D01* -X152431619Y-50696761D01* -X152479238Y-50649142D01* -X152526857Y-50553904D01* -X152526857Y-50458666D01* -X152479238Y-50363428D01* -X152431619Y-50315809D01* -X152336380Y-50268190D01* -X152145904Y-50220571D01* -X152050666Y-50172952D01* -X152003047Y-50125333D01* -X151955428Y-50030095D01* -X151955428Y-49934857D01* -X152003047Y-49839619D01* -X152050666Y-49792000D01* -X152145904Y-49744380D01* -X152384000Y-49744380D01* -X152526857Y-49792000D01* -X153526857Y-50649142D02* -X153479238Y-50696761D01* -X153336380Y-50744380D01* -X153241142Y-50744380D01* -X153098285Y-50696761D01* -X153003047Y-50601523D01* -X152955428Y-50506285D01* -X152907809Y-50315809D01* -X152907809Y-50172952D01* -X152955428Y-49982476D01* -X153003047Y-49887238D01* -X153098285Y-49792000D01* -X153241142Y-49744380D01* -X153336380Y-49744380D01* -X153479238Y-49792000D01* -X153526857Y-49839619D01* -X154431619Y-50744380D02* -X153955428Y-50744380D01* -X153955428Y-49744380D01* -X159004095Y-47252000D02* -X158908857Y-47204380D01* -X158766000Y-47204380D01* -X158623142Y-47252000D01* -X158527904Y-47347238D01* -X158480285Y-47442476D01* -X158432666Y-47632952D01* -X158432666Y-47775809D01* -X158480285Y-47966285D01* -X158527904Y-48061523D01* -X158623142Y-48156761D01* -X158766000Y-48204380D01* -X158861238Y-48204380D01* -X159004095Y-48156761D01* -X159051714Y-48109142D01* -X159051714Y-47775809D01* -X158861238Y-47775809D01* -X159480285Y-48204380D02* -X159480285Y-47204380D01* -X160051714Y-48204380D01* -X160051714Y-47204380D01* -X160527904Y-48204380D02* -X160527904Y-47204380D01* -X160766000Y-47204380D01* -X160908857Y-47252000D01* -X161004095Y-47347238D01* -X161051714Y-47442476D01* -X161099333Y-47632952D01* -X161099333Y-47775809D01* -X161051714Y-47966285D01* -X161004095Y-48061523D01* -X160908857Y-48156761D01* -X160766000Y-48204380D01* -X160527904Y-48204380D01* -X148415523Y-47204380D02* -X148748857Y-48204380D01* -X149082190Y-47204380D01* -X149844095Y-48156761D02* -X149748857Y-48204380D01* -X149558380Y-48204380D01* -X149463142Y-48156761D01* -X149415523Y-48109142D01* -X149367904Y-48013904D01* -X149367904Y-47728190D01* -X149415523Y-47632952D01* -X149463142Y-47585333D01* -X149558380Y-47537714D01* -X149748857Y-47537714D01* -X149844095Y-47585333D01* -X150701238Y-48156761D02* -X150606000Y-48204380D01* -X150415523Y-48204380D01* -X150320285Y-48156761D01* -X150272666Y-48109142D01* -X150225047Y-48013904D01* -X150225047Y-47728190D01* -X150272666Y-47632952D01* -X150320285Y-47585333D01* -X150415523Y-47537714D01* -X150606000Y-47537714D01* -X150701238Y-47585333D01* -X185126380Y-38433333D02* -X185840666Y-38433333D01* -X185983523Y-38480952D01* -X186078761Y-38576190D01* -X186126380Y-38719047D01* -X186126380Y-38814285D01* -X186126380Y-37433333D02* -X186126380Y-38004761D01* -X186126380Y-37719047D02* -X185126380Y-37719047D01* -X185269238Y-37814285D01* -X185364476Y-37909523D01* -X185412095Y-38004761D01* -M02* diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-NPTH.drl b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-NPTH.drl deleted file mode 100644 index 95aec51..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-NPTH.drl +++ /dev/null @@ -1,13 +0,0 @@ -M48 -; DRILL file {KiCad (5.1.5)-3} date 5/25/2020 10:48:14 AM -; FORMAT={-:-/ absolute / inch / decimal} -; #@! TF.CreationDate,2020-05-25T10:48:14-05:00 -; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.5)-3 -; #@! TF.FileFunction,NonPlated,1,2,NPTH -FMAT,2 -INCH -% -G90 -G05 -T0 -M30 diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-PTH.drl b/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-PTH.drl deleted file mode 100644 index 834604d..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/gerbers/breakout_board_2x20-PTH.drl +++ /dev/null @@ -1,127 +0,0 @@ -M48 -; DRILL file {KiCad (5.1.5)-3} date 5/25/2020 10:48:14 AM -; FORMAT={-:-/ absolute / inch / decimal} -; #@! TF.CreationDate,2020-05-25T10:48:14-05:00 -; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.5)-3 -; #@! TF.FileFunction,Plated,1,2,PTH -FMAT,2 -INCH -T1C0.0157 -T2C0.0394 -T3C0.0400 -% -G90 -G05 -T1 -X5.5681Y-1.6083 -X5.7Y-1.5 -X5.73Y-3.58 -X5.7636Y-1.7672 -X5.7786Y-1.6883 -X5.7964Y-1.7451 -X5.8296Y-1.92 -X5.8344Y-1.735 -X5.8384Y-1.7893 -X5.88Y-3.32 -X5.8926Y-1.8542 -X5.9Y-3.22 -X5.91Y-3.27 -X5.9302Y-3.0502 -X5.99Y-2.95 -X5.9998Y-2.8902 -X6.0287Y-2.781 -X6.08Y-2.7 -X6.1169Y-2.6295 -X6.16Y-2.59 -X6.19Y-2.44 -X6.21Y-2.37 -X6.26Y-2.3 -X6.3Y-2.13 -X6.49Y-1.38 -X6.59Y-1.7228 -X6.64Y-1.71 -X6.8Y-1.42 -T2 -X5.8Y-1.87 -X5.8Y-1.97 -X5.8Y-2.07 -X5.8Y-2.17 -X5.8Y-2.27 -X5.8Y-2.37 -X5.8Y-2.47 -X5.8Y-2.57 -X5.8Y-2.67 -X5.8Y-2.77 -X5.8Y-2.87 -X5.8Y-2.97 -X5.8Y-3.07 -X5.8Y-3.17 -X5.8Y-3.27 -X5.8Y-3.37 -X5.8Y-3.47 -X5.8Y-3.57 -X5.8Y-3.67 -X5.8Y-3.77 -X6.39Y-1.97 -X6.39Y-2.17 -X6.39Y-2.37 -X6.39Y-2.57 -X6.39Y-2.77 -X6.39Y-2.97 -X6.39Y-3.17 -X6.39Y-3.37 -X6.39Y-3.57 -X6.39Y-3.77 -X6.391Y-1.87 -X6.391Y-2.07 -X6.391Y-2.27 -X6.391Y-2.47 -X6.391Y-2.67 -X6.391Y-2.87 -X6.391Y-3.07 -X6.391Y-3.27 -X6.391Y-3.47 -X6.391Y-3.67 -T3 -X5.15Y-1.45 -X5.15Y-1.55 -X5.25Y-1.45 -X5.25Y-1.55 -X5.35Y-1.45 -X5.35Y-1.55 -X5.45Y-1.45 -X5.45Y-1.55 -X5.55Y-1.45 -X5.55Y-1.55 -X5.65Y-1.45 -X5.65Y-1.55 -X5.75Y-1.45 -X5.75Y-1.55 -X5.85Y-1.45 -X5.85Y-1.55 -X5.95Y-1.45 -X5.95Y-1.55 -X6.05Y-1.45 -X6.05Y-1.55 -X6.15Y-1.45 -X6.15Y-1.55 -X6.25Y-1.45 -X6.25Y-1.55 -X6.35Y-1.45 -X6.35Y-1.55 -X6.45Y-1.45 -X6.45Y-1.55 -X6.55Y-1.45 -X6.55Y-1.55 -X6.65Y-1.45 -X6.65Y-1.55 -X6.75Y-1.45 -X6.75Y-1.55 -X6.85Y-1.45 -X6.85Y-1.55 -X6.95Y-1.45 -X6.95Y-1.55 -X7.05Y-1.45 -X7.05Y-1.55 -T0 -M30 diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/libraries/Conn_02x20_LCD_INTF.dcm b/electrical/2x20_breakout_board/breakout_board_2x20/libraries/Conn_02x20_LCD_INTF.dcm deleted file mode 100644 index 5dd71cb..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/libraries/Conn_02x20_LCD_INTF.dcm +++ /dev/null @@ -1,3 +0,0 @@ -EESchema-DOCLIB Version 2.0 -# -#End Doc Library diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/libraries/Conn_02x20_LCD_INTF.lib b/electrical/2x20_breakout_board/breakout_board_2x20/libraries/Conn_02x20_LCD_INTF.lib deleted file mode 100644 index fde80cc..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/libraries/Conn_02x20_LCD_INTF.lib +++ /dev/null @@ -1,99 +0,0 @@ -EESchema-LIBRARY Version 2.4 -#encoding utf-8 -# -# Conn_02x20_Odd_Even_LCD_INTF -# -DEF Conn_02x20_Odd_Even_LCD_INTF J 0 40 Y Y 1 F N -F0 "J" 0 -1100 50 H V C CNN -F1 "Conn_02x20_Odd_Even_LCD_INTF" -600 1050 50 H V L CNN -F2 "" -400 0 50 H I C CNN -F3 "" -400 0 50 H I C CNN -$FPLIST - Connector*:*_2x??-1MP* -$ENDFPLIST -DRAW -S -450 -995 -400 -1005 1 1 6 N -S -450 -895 -400 -905 1 1 6 N -S -450 -795 -400 -805 1 1 6 N -S -450 -695 -400 -705 1 1 6 N -S -450 -595 -400 -605 1 1 6 N -S -450 -495 -400 -505 1 1 6 N -S -450 -395 -400 -405 1 1 6 N -S -450 -295 -400 -305 1 1 6 N -S -450 -195 -400 -205 1 1 6 N -S -450 -95 -400 -105 1 1 6 N -S -450 5 -400 -5 1 1 6 N -S -450 105 -400 95 1 1 6 N -S -450 205 -400 195 1 1 6 N -S -450 305 -400 295 1 1 6 N -S -450 405 -400 395 1 1 6 N -S -450 505 -400 495 1 1 6 N -S -450 605 -400 595 1 1 6 N -S -450 705 -400 695 1 1 6 N -S -450 805 -400 795 1 1 6 N -S -450 905 -400 895 1 1 6 N -S -450 950 450 -1050 1 1 10 f -S 450 -995 400 -1005 1 1 6 N -S 450 -895 400 -905 1 1 6 N -S 450 -795 400 -805 1 1 6 N -S 450 -695 400 -705 1 1 6 N -S 450 -595 400 -605 1 1 6 N -S 450 -495 400 -505 1 1 6 N -S 450 -395 400 -405 1 1 6 N -S 450 -295 400 -305 1 1 6 N -S 450 -195 400 -205 1 1 6 N -S 450 -95 400 -105 1 1 6 N -S 450 5 400 -5 1 1 6 N -S 450 105 400 95 1 1 6 N -S 450 205 400 195 1 1 6 N -S 450 305 400 295 1 1 6 N -S 450 405 400 395 1 1 6 N -S 450 505 400 495 1 1 6 N -S 450 605 400 595 1 1 6 N -S 450 705 400 695 1 1 6 N -S 450 805 400 795 1 1 6 N -S 450 905 400 895 1 1 6 N -X VCC 1 -600 900 150 R 50 50 1 1 W -X ~TFT_WR 10 600 500 150 L 50 50 1 1 P -X ~TFT_RD 11 -600 400 150 R 50 50 1 1 P -X TFT_TE 12 600 400 150 L 50 50 1 1 I -X TFT_D0 13 -600 300 150 R 50 50 1 1 P -X TFT_D1 14 600 300 150 L 50 50 1 1 P -X TFT_D2 15 -600 200 150 R 50 50 1 1 P -X TFT_D3 16 600 200 150 L 50 50 1 1 P -X TFT_D4 17 -600 100 150 R 50 50 1 1 P -X TFT_D5 18 600 100 150 L 50 50 1 1 P -X TFT_D6 19 -600 0 150 R 50 50 1 1 P -X GND 2 600 900 150 L 50 50 1 1 P -X TFT_D7 20 600 0 150 L 50 50 1 1 P -X TFT_D8 21 -600 -100 150 R 50 50 1 1 P -X TFT_D9 22 600 -100 150 L 50 50 1 1 P -X TFT_D10 23 -600 -200 150 R 50 50 1 1 P -X TFT_D11 24 600 -200 150 L 50 50 1 1 P -X TFT_D12 25 -600 -300 150 R 50 50 1 1 P -X TFT_D13 26 600 -300 150 L 50 50 1 1 P -X TFT_D14 27 -600 -400 150 R 50 50 1 1 P -X TFT_D15 28 600 -400 150 L 50 50 1 1 P -X TFT_D16 29 -600 -500 150 R 50 50 1 1 P -X CPT_SCL 3 -600 800 150 R 50 50 1 1 P -X TFT_D17 30 600 -500 150 L 50 50 1 1 P -X TFT_D18 31 -600 -600 150 R 50 50 1 1 P -X TFT_D19 32 600 -600 150 L 50 50 1 1 P -X TFT_D20 33 -600 -700 150 R 50 50 1 1 P -X TFT_D21 34 600 -700 150 L 50 50 1 1 P -X TFT_D22 35 -600 -800 150 R 50 50 1 1 P -X TFT_D23 36 600 -800 150 L 50 50 1 1 P -X TFT_STB 37 -600 -900 150 R 50 50 1 1 P -X NC 38 600 -900 150 L 50 50 1 1 N -X CPT_WK 39 -600 -1000 150 R 50 50 1 1 P -X CPT_SDA 4 600 800 150 L 50 50 1 1 P -X NC 40 600 -1000 150 L 50 50 1 1 N -X CPT_INT 5 -600 700 150 R 50 50 1 1 P -X TFT_GPO 6 600 700 150 L 50 50 1 1 O -X ~TFT_RST 7 -600 600 150 R 50 50 1 1 P -X TFT_D/C 8 600 600 150 L 50 50 1 1 P -X ~TFT_CS 9 -600 500 150 R 50 50 1 1 P -ENDDRAW -ENDDEF -# -#End Library diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/modules/breakout_board_2x20.pretty/idc_breakout.kicad_mod b/electrical/2x20_breakout_board/breakout_board_2x20/modules/breakout_board_2x20.pretty/idc_breakout.kicad_mod deleted file mode 100644 index 7355cb6..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/modules/breakout_board_2x20.pretty/idc_breakout.kicad_mod +++ /dev/null @@ -1,173 +0,0 @@ -(module idc_breakout (layer F.Cu) (tedit 5ECBCDA2) - (fp_text reference REF** (at 0.254 43.942) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value idc_breakout (at 0 -10.16) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start -10.16 -8.382) (end 10.16 -8.382) (layer F.SilkS) (width 0.12)) - (fp_line (start 10.16 -8.382) (end 10.16 42.926) (layer F.SilkS) (width 0.12)) - (fp_line (start -10.16 -8.382) (end -10.16 42.926) (layer F.SilkS) (width 0.12)) - (fp_line (start -10.16 42.926) (end 10.16 42.926) (layer F.SilkS) (width 0.12)) - (fp_line (start 0 -8.382) (end 0 42.926) (layer F.SilkS) (width 0.12)) - (fp_text user Vcc (at -5.334 -6.858) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user GND (at 4.826 -6.858) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user CTP_SCL (at -3.556 -4.318) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user CTP_SDA (at 3.302 -4.318) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user CTP_INT (at -3.81 -1.778) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_GPO (at 3.302 -1.778) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D/C (at 3.302 0.762) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user ~TFT_RST (at -3.556 0.762) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user ~TFT_CS (at -3.81 3.302) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_WR (at 3.556 3.302) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_RD (at -3.81 5.588) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_TE (at 3.81 5.588) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D0 (at -4.064 8.382) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D1 (at 3.81 8.382) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D2 (at -4.064 10.922) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D3 (at 3.81 10.922) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D4 (at -4.064 13.462) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D5 (at 3.81 13.462) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D6 (at -4.064 16.002) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D7 (at 3.81 16.002) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D8 (at -4.064 18.542) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D9 (at 3.81 18.542) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D10 (at -3.556 21.082) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D11 (at 3.302 21.082) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D12 (at -3.556 23.368) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D14 (at -3.556 25.908) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D16 (at -3.556 28.448) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D18 (at -3.556 30.988) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D20 (at -3.556 33.528) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D22 (at -3.556 36.068) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D13 (at 3.302 23.368) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D15 (at 3.302 26.162) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D17 (at 3.302 28.448) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D19 (at 3.302 30.734) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D21 (at 3.302 33.528) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_D23 (at 3.302 36.068) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user TFT_STB (at -3.556 38.608) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user CTP_WK (at -3.556 41.148) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user NC (at 5.334 38.608) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user NC (at 5.334 41.148) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (pad 38 thru_hole oval (at 7.3914 38.608) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 39 thru_hole oval (at -7.62 41.148) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 37 thru_hole oval (at -7.62 38.608) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 40 thru_hole oval (at 7.366 41.148) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 35 thru_hole oval (at -7.62 36.068) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 34 thru_hole oval (at 7.3914 33.528) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 31 thru_hole oval (at -7.62 30.988) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 26 thru_hole oval (at 7.3914 23.368) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 36 thru_hole oval (at 7.366 36.068) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 32 thru_hole oval (at 7.366 30.988) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 30 thru_hole oval (at 7.3914 28.448) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 33 thru_hole oval (at -7.62 33.528) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 23 thru_hole oval (at -7.62 20.828) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 22 thru_hole oval (at 7.3914 18.288) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 27 thru_hole oval (at -7.62 25.908) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 25 thru_hole oval (at -7.62 23.368) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 21 thru_hole oval (at -7.62 18.288) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 28 thru_hole oval (at 7.366 25.908) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 24 thru_hole oval (at 7.366 20.828) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 29 thru_hole oval (at -7.62 28.448) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 18 thru_hole oval (at 7.3914 13.208) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 19 thru_hole oval (at -7.62 15.748) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 20 thru_hole oval (at 7.366 15.748) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 17 thru_hole oval (at -7.62 13.208) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 11 thru_hole oval (at -7.62 5.588) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 15 thru_hole oval (at -7.62 10.668) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 14 thru_hole oval (at 7.3914 8.128) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 9 thru_hole oval (at -7.62 3.048) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 12 thru_hole oval (at 7.366 5.588) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 10 thru_hole oval (at 7.3914 3.048) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 16 thru_hole oval (at 7.366 10.668) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 13 thru_hole oval (at -7.62 8.128) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 7 thru_hole oval (at -7.62 0.508) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 5 thru_hole oval (at -7.62 -2.032) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 8 thru_hole oval (at 7.366 0.508) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 6 thru_hole oval (at 7.3914 -2.032) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 4 thru_hole oval (at 7.366 -4.572) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 3 thru_hole oval (at -7.62 -4.572) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 2 thru_hole oval (at 7.3914 -7.112) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) - (pad 1 thru_hole oval (at -7.62 -7.112) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) -) diff --git a/electrical/2x20_breakout_board/breakout_board_2x20/sym-lib-table b/electrical/2x20_breakout_board/breakout_board_2x20/sym-lib-table deleted file mode 100644 index b901884..0000000 --- a/electrical/2x20_breakout_board/breakout_board_2x20/sym-lib-table +++ /dev/null @@ -1,3 +0,0 @@ -(sym_lib_table - (lib (name Conn_02x20_LCD_INTF)(type Legacy)(uri ${KIPRJMOD}/libraries/Conn_02x20_LCD_INTF.lib)(options "")(descr "")) -) diff --git a/electrical/same54_dev_board/BRAIN.sch b/electrical/same54_dev_board/BRAIN.sch deleted file mode 100644 index 2f4bcef..0000000 --- a/electrical/same54_dev_board/BRAIN.sch +++ /dev/null @@ -1,562 +0,0 @@ -EESchema Schematic File Version 4 -EELAYER 30 0 -EELAYER END -$Descr A4 11693 8268 -encoding utf-8 -Sheet 5 5 -Title "" -Date "" -Rev "" -Comp "" -Comment1 "" -Comment2 "" -Comment3 "" -Comment4 "" -$EndDescr -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 2 1 5E82C3BA -P 6800 1600 -F 0 "U1" H 6908 2665 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 6908 2574 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 5600 2850 50 0001 C CNN -F 3 "" H 5600 2850 50 0001 C CNN - 2 6800 1600 - 1 0 0 -1 -$EndComp -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 3 1 5E82DE73 -P 8950 1650 -F 0 "U1" H 9058 2665 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 9058 2574 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 7750 2900 50 0001 C CNN -F 3 "" H 7750 2900 50 0001 C CNN - 3 8950 1650 - 1 0 0 -1 -$EndComp -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 4 1 5E8352A8 -P 10250 1800 -F 0 "U1" H 10358 2865 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 10358 2774 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 9050 3050 50 0001 C CNN -F 3 "" H 9050 3050 50 0001 C CNN - 4 10250 1800 - 1 0 0 -1 -$EndComp -$Comp -L Connector:Conn_ARM_JTAG_SWD_10 J2 -U 1 1 5EA1E350 -P 4400 5700 -F 0 "J2" H 3957 5746 50 0000 R CNN -F 1 "Conn_ARM_JTAG_SWD_10" H 3957 5655 50 0000 R CNN -F 2 "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical" H 4400 5700 50 0001 C CNN -F 3 "http://infocenter.arm.com/help/topic/com.arm.doc.ddi0314h/DDI0314H_coresight_components_trm.pdf" V 4050 4450 50 0001 C CNN - 1 4400 5700 - 1 0 0 -1 -$EndComp -Wire Notes Line - 7200 4200 11150 4200 -Wire Notes Line - 11150 4200 11150 6450 -Wire Notes Line - 11150 6450 7200 6450 -Wire Notes Line - 7200 6450 7200 4200 -Text Notes 7250 5100 0 50 ~ 0 -Brain -- aka ATSAME54P20A_AU\n - 120Mhz Core Clock\n - 32khz External Clock (for startup)\n - 12(?)Mhz Alt Clock (probably unused, but adding it just in case)\n - 3 Sercoms\n - 1 I2C\n - 1 SPI\n - 1 U(S)ART\n - Interfaces with IO Extender for parallel bus control without sacrificing pins\n - The E54 has a shitty pin set for parallel control (not bc of no. of pins, but \nbecause of positions and default pin functions) -$Comp -L Device:Crystal Y1 -U 1 1 5E75D825 -P 5000 1300 -F 0 "Y1" V 5046 1169 50 0000 R CNN -F 1 "XOSC32" V 4955 1169 50 0000 R CNN -F 2 "Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm" H 5000 1300 50 0001 C CNN -F 3 "~" H 5000 1300 50 0001 C CNN - 1 5000 1300 - 0 -1 -1 0 -$EndComp -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 1 1 5E82A2F6 -P 3650 2000 -F 0 "U1" H 3733 3165 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 3733 3074 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 2450 3250 50 0001 C CNN -F 3 "" H 2450 3250 50 0001 C CNN - 1 3650 2000 - 1 0 0 -1 -$EndComp -$Comp -L Device:C_Small C1 -U 1 1 5E7E5146 -P 5100 1050 -F 0 "C1" V 4871 1050 50 0000 C CNN -F 1 "6.8pF" V 4962 1050 50 0000 C CNN -F 2 "" H 5100 1050 50 0001 C CNN -F 3 "~" H 5100 1050 50 0001 C CNN - 1 5100 1050 - 0 1 1 0 -$EndComp -$Comp -L Device:C_Small C2 -U 1 1 5E7E6123 -P 5100 1550 -F 0 "C2" V 4871 1550 50 0000 C CNN -F 1 "6.8pF" V 4950 1500 50 0000 C CNN -F 2 "" H 5100 1550 50 0001 C CNN -F 3 "~" H 5100 1550 50 0001 C CNN - 1 5100 1550 - 0 -1 -1 0 -$EndComp -Wire Wire Line - 4800 1350 4250 1350 -Wire Wire Line - 4800 1250 4250 1250 -Wire Wire Line - 5000 1050 5000 1150 -Wire Wire Line - 5000 1550 5000 1450 -Wire Wire Line - 4800 1550 5000 1550 -Wire Wire Line - 4800 1350 4800 1550 -Connection ~ 5000 1550 -Wire Wire Line - 4800 1050 5000 1050 -Wire Wire Line - 4800 1050 4800 1250 -Connection ~ 5000 1050 -Wire Wire Line - 5200 1050 5450 1050 -Wire Wire Line - 5450 1050 5450 1300 -Wire Wire Line - 5450 1550 5200 1550 -Wire Wire Line - 5450 1300 5550 1300 -Connection ~ 5450 1300 -Wire Wire Line - 5450 1300 5450 1550 -$Comp -L power:GND #PWR0104 -U 1 1 5E825E8D -P 5550 1300 -F 0 "#PWR0104" H 5550 1050 50 0001 C CNN -F 1 "GND" H 5555 1127 50 0000 C CNN -F 2 "" H 5550 1300 50 0001 C CNN -F 3 "" H 5550 1300 50 0001 C CNN - 1 5550 1300 - 1 0 0 -1 -$EndComp -Wire Wire Line - 5900 2700 5900 2850 -Connection ~ 5350 2700 -$Comp -L power:GND #PWR0108 -U 1 1 5E880A2C -P 5900 2850 -F 0 "#PWR0108" H 5900 2600 50 0001 C CNN -F 1 "GND" H 5905 2677 50 0000 C CNN -F 2 "" H 5900 2850 50 0001 C CNN -F 3 "" H 5900 2850 50 0001 C CNN - 1 5900 2850 - 1 0 0 -1 -$EndComp -Wire Wire Line - 5150 2550 5150 2500 -Wire Wire Line - 5150 2500 4900 2500 -Wire Wire Line - 4900 2500 4900 2650 -Wire Wire Line - 4900 2650 4250 2650 -Wire Wire Line - 5150 2850 5150 2900 -Wire Wire Line - 5150 2900 4900 2900 -Wire Wire Line - 4900 2900 4900 2750 -Wire Wire Line - 4900 2750 4250 2750 -$Comp -L Device:C_Small C5 -U 1 1 5E8AA0A3 -P 5250 3050 -F 0 "C5" V 5450 3050 50 0000 C CNN -F 1 "5pF" V 5350 3050 50 0000 C CNN -F 2 "" H 5250 3050 50 0001 C CNN -F 3 "~" H 5250 3050 50 0001 C CNN - 1 5250 3050 - 0 1 1 0 -$EndComp -Wire Wire Line - 5350 2700 4950 2700 -$Comp -L Device:Crystal_GND24 Y2 -U 1 1 5E843969 -P 5150 2700 -F 0 "Y2" V 5100 3050 50 0000 R CNN -F 1 "XOSC0" V 5000 3200 50 0000 R CNN -F 2 "" H 5150 2700 50 0001 C CNN -F 3 "~" H 5150 2700 50 0001 C CNN - 1 5150 2700 - 0 1 1 0 -$EndComp -Wire Wire Line - 5150 3050 5150 2900 -Connection ~ 5150 2900 -$Comp -L Device:C_Small C4 -U 1 1 5E8C2D5D -P 5250 2350 -F 0 "C4" V 5021 2350 50 0000 C CNN -F 1 "5pF" V 5112 2350 50 0000 C CNN -F 2 "" H 5250 2350 50 0001 C CNN -F 3 "~" H 5250 2350 50 0001 C CNN - 1 5250 2350 - 0 1 1 0 -$EndComp -Wire Wire Line - 5150 2500 5150 2350 -Connection ~ 5150 2500 -Wire Wire Line - 5350 2700 5900 2700 -Wire Wire Line - 5350 2350 5350 2700 -Wire Wire Line - 5350 3050 5350 2700 -Text GLabel 900 800 0 50 Input ~ 0 -g_3v3 -Text GLabel 850 950 0 50 Input ~ 0 -g_5v -Text Label 1500 800 0 50 ~ 0 -3v3 -Text Label 1500 950 0 50 ~ 0 -5v -Text HLabel 1100 2100 0 50 Input ~ 0 -DEBUG_TX -Text HLabel 1100 2250 0 50 Input ~ 0 -DEBUG_RX -Text Label 1550 2100 0 50 ~ 0 -UART0_TX -Text Label 1550 2250 0 50 ~ 0 -UART0_RX -Text HLabel 1350 2400 0 50 Input ~ 0 -MASTER_SPI_MOSI -Text HLabel 1350 2550 0 50 Input ~ 0 -MASTER_SPI_MISO -Text HLabel 1300 2700 0 50 Input ~ 0 -MASTER_SPI_CLK -Text HLabel 1100 2850 0 50 Input ~ 0 -~TFT_CS -Text HLabel 1250 3000 0 50 Input ~ 0 -~FLASH_MEM_CS -Wire Wire Line - 1350 2400 1550 2400 -Wire Wire Line - 1350 2550 1550 2550 -Wire Wire Line - 1300 2700 1550 2700 -Wire Wire Line - 1100 2850 1550 2850 -Wire Wire Line - 1250 3000 1550 3000 -Text HLabel 1350 3150 0 50 Input ~ 0 -~IO_EXPANDER_CS -Wire Wire Line - 1350 3150 1550 3150 -Wire Wire Line - 1100 2100 1550 2100 -Wire Wire Line - 1100 2250 1550 2250 -Wire Wire Line - 900 800 1500 800 -Wire Wire Line - 850 950 1500 950 -Text Notes 600 700 0 50 ~ 0 -Power Interface -Wire Notes Line - 550 600 1700 600 -Text Notes 650 1950 0 50 ~ 0 -Brain Interface -Wire Notes Line - 2350 1850 550 1850 -Text Label 1550 2400 0 50 ~ 0 -SPI0_MOSI -Text Label 1550 2550 0 50 ~ 0 -SPI0_MISO -Text Label 1550 2700 0 50 ~ 0 -SPI0_CLK -Text Label 1550 2850 0 50 ~ 0 -SPI0_CS0 -Text Label 1550 3000 0 50 ~ 0 -SPI0_CS1 -Text Label 1550 3150 0 50 ~ 0 -SPI0_CS2 -Text Label 7550 1250 0 50 ~ 0 -VBAT -Wire Wire Line - 800 1150 1500 1150 -Text Label 800 1150 2 50 ~ 0 -3v3 -Text Label 1500 1150 0 50 ~ 0 -VBAT -Wire Wire Line - 7500 1250 7550 1250 -Text HLabel 1100 3600 0 50 Input ~ 0 -~TFT_WR -Text HLabel 1100 3700 0 50 Input ~ 0 -~TFT_RD -Text HLabel 1100 3800 0 50 Input ~ 0 -TFT_RSDC -Wire Wire Line - 1100 3600 1550 3600 -Wire Wire Line - 1100 3700 1550 3700 -Wire Wire Line - 1100 3800 1550 3800 -Text Label 1550 3700 0 50 ~ 0 -~TFT_RD -Text Label 1550 3800 0 50 ~ 0 -TFT_RSDC -Text HLabel 1100 3900 0 50 Input ~ 0 -~TFT_RST -Wire Wire Line - 1100 3900 1550 3900 -Text Label 1550 3900 0 50 ~ 0 -~TFT_RST -Wire Wire Line - 4250 1850 4350 1850 -Wire Wire Line - 4250 1750 4350 1750 -Wire Wire Line - 4250 1650 4350 1650 -Text Label 4350 1750 0 50 ~ 0 -SPI0_CLK -Text Label 4350 1850 0 50 ~ 0 -SPI0_MISO -Text Label 4350 1650 0 50 ~ 0 -SPI0_MISO -Wire Wire Line - 7500 3350 7600 3350 -Wire Wire Line - 7500 3450 7600 3450 -Text Label 7600 3450 0 50 ~ 0 -UART0_TX -Text Label 7600 3350 0 50 ~ 0 -UART0_RX -Text Notes 6350 3450 0 50 ~ 0 -SERCOM2 (USART) -Wire Notes Line - 6300 3500 7300 3500 -Wire Notes Line - 7300 3500 7300 3300 -Wire Notes Line - 6300 3300 7300 3300 -Wire Notes Line - 6300 3300 6300 3500 -Wire Notes Line - 4050 1600 3200 1600 -Wire Notes Line - 3200 1600 3200 1900 -Wire Notes Line - 3200 1900 4050 1900 -Wire Notes Line - 4050 1900 4050 1600 -Text Notes 3200 1800 0 50 ~ 0 -SERCOM0 (SPI) -Wire Wire Line - 4250 2850 4350 2850 -Wire Wire Line - 4250 2950 4350 2950 -Text Label 4350 2850 0 50 ~ 0 -I2C0_SDA -Text Label 4350 2950 0 50 ~ 0 -I2C0_SCL -Text Notes 3200 2950 0 50 ~ 0 -SERCOM1 (I2C) -Wire Notes Line - 4050 2800 3200 2800 -Wire Notes Line - 3200 2800 3200 3000 -Wire Notes Line - 3200 3000 4050 3000 -Wire Notes Line - 4050 3000 4050 2800 -Wire Wire Line - 4900 5400 5000 5400 -Text HLabel 1000 1250 0 50 Input ~ 0 -~SYS_RST -Wire Notes Line - 550 1300 1700 1300 -Wire Notes Line - 1700 600 1700 1300 -Wire Notes Line - 550 600 550 1300 -Text Label 1250 1250 0 50 ~ 0 -~BRAIN_RST -Wire Wire Line - 1000 1250 1250 1250 -Wire Wire Line - 4900 5600 5000 5600 -Text Label 5000 5600 0 50 ~ 0 -SWCLK -Wire Wire Line - 4900 5700 5000 5700 -Text Label 5000 5700 0 50 ~ 0 -SWDIO -Text Label 5000 5800 0 50 ~ 0 -SWO -Wire Wire Line - 4900 5800 5000 5800 -Wire Wire Line - 4300 6300 4400 6300 -NoConn ~ 4900 5900 -Text Label 5000 5400 0 50 ~ 0 -~SWRST -Wire Wire Line - 4400 6300 4400 6350 -Connection ~ 4400 6300 -$Comp -L power:GND #PWR0119 -U 1 1 5EA9AF4B -P 4400 6350 -F 0 "#PWR0119" H 4400 6100 50 0001 C CNN -F 1 "GND" H 4405 6177 50 0000 C CNN -F 2 "" H 4400 6350 50 0001 C CNN -F 3 "" H 4400 6350 50 0001 C CNN - 1 4400 6350 - 1 0 0 -1 -$EndComp -Text Label 1550 3600 0 50 ~ 0 -~TFT_WR -Text Label 1900 5050 0 50 ~ 0 -I2C0_SCL -Text Label 1900 4600 0 50 ~ 0 -I2C0_SDA -Text HLabel 1300 5050 0 50 Input ~ 0 -MASTER_I2C_SCL -Text HLabel 1300 4600 0 50 Input ~ 0 -MASTER_I2C_SDA -$Comp -L Device:R_Small R4 -U 1 1 5EB11658 -P 1450 4450 -F 0 "R4" H 1509 4496 50 0000 L CNN -F 1 "4.7k" H 1509 4405 50 0000 L CNN -F 2 "" H 1450 4450 50 0001 C CNN -F 3 "~" H 1450 4450 50 0001 C CNN - 1 1450 4450 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1450 4350 1450 4300 -Text Label 1450 4300 0 50 ~ 0 -3v3 -$Comp -L Device:R_Small R5 -U 1 1 5EB38D15 -P 1450 4900 -F 0 "R5" H 1509 4946 50 0000 L CNN -F 1 "4.7k" H 1509 4855 50 0000 L CNN -F 2 "" H 1450 4900 50 0001 C CNN -F 3 "~" H 1450 4900 50 0001 C CNN - 1 1450 4900 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1300 5050 1450 5050 -Wire Wire Line - 1300 4600 1450 4600 -Wire Wire Line - 1450 4600 1450 4550 -Connection ~ 1450 4600 -Wire Wire Line - 1450 4600 1900 4600 -Wire Wire Line - 1450 5050 1450 5000 -Connection ~ 1450 5050 -Wire Wire Line - 1450 4800 1450 4750 -Text Label 1450 4750 0 50 ~ 0 -3v3 -Wire Wire Line - 1450 5050 1900 5050 -Text Label 850 7150 2 50 ~ 0 -~SWRST -Wire Wire Line - 850 7150 1250 7150 -Text Label 1250 7150 0 50 ~ 0 -~BRAIN_RST -Text Notes 600 7000 0 50 ~ 0 -Locals -Text HLabel 1050 5200 0 50 Input ~ 0 -EXT_IRQ_0 -Text HLabel 1050 5300 0 50 Input ~ 0 -EXT_IRQ_1 -Text HLabel 1050 5400 0 50 Input ~ 0 -EXT_IRQ_2 -Text HLabel 1050 5500 0 50 Input ~ 0 -EXT_IRQ_3 -Text HLabel 1050 5600 0 50 Input ~ 0 -EXT_IRQ_4 -Text HLabel 1050 5700 0 50 Input ~ 0 -EXT_IRQ_5 -Wire Wire Line - 1050 5200 1300 5200 -Text Label 1300 5200 0 50 ~ 0 -EXT_IRQ_0 -Wire Wire Line - 1050 5300 1300 5300 -Text Label 1300 5300 0 50 ~ 0 -EXT_IRQ_1 -Wire Wire Line - 1050 5400 1300 5400 -Text Label 1300 5400 0 50 ~ 0 -EXT_IRQ_2 -Wire Wire Line - 1050 5500 1300 5500 -Text Label 1300 5500 0 50 ~ 0 -EXT_IRQ_3 -Wire Wire Line - 1050 5600 1300 5600 -Text Label 1300 5600 0 50 ~ 0 -EXT_IRQ_4 -Wire Wire Line - 1050 5700 1300 5700 -Text Label 1300 5700 0 50 ~ 0 -EXT_IRQ_5 -Text Label 7700 950 0 50 ~ 0 -EXT_IRQ_0 -Wire Wire Line - 7500 950 7700 950 -Text Label 7700 1050 0 50 ~ 0 -EXT_IRQ_1 -Wire Wire Line - 7500 1050 7700 1050 -Text Label 7700 1150 0 50 ~ 0 -EXT_IRQ_2 -Wire Wire Line - 7500 1150 7700 1150 -Wire Wire Line - 7500 1450 7700 1450 -Text Label 7700 1450 0 50 ~ 0 -EXT_IRQ_4 -Wire Wire Line - 7500 1350 7700 1350 -Text Label 7700 1350 0 50 ~ 0 -EXT_IRQ_3 -Wire Wire Line - 7500 1550 7700 1550 -Text Label 7700 1550 0 50 ~ 0 -EXT_IRQ_5 -Wire Notes Line - 2350 5750 550 5750 -Wire Notes Line - 550 1850 550 5750 -Wire Notes Line - 2350 1850 2350 5750 -$EndSCHEMATC diff --git a/electrical/same54_dev_board/BRAIN.sch-bak b/electrical/same54_dev_board/BRAIN.sch-bak deleted file mode 100644 index f0fd3c9..0000000 --- a/electrical/same54_dev_board/BRAIN.sch-bak +++ /dev/null @@ -1,562 +0,0 @@ -EESchema Schematic File Version 4 -EELAYER 30 0 -EELAYER END -$Descr A4 11693 8268 -encoding utf-8 -Sheet 5 5 -Title "" -Date "" -Rev "" -Comp "" -Comment1 "" -Comment2 "" -Comment3 "" -Comment4 "" -$EndDescr -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 2 1 5E82C3BA -P 6800 1600 -F 0 "U1" H 6908 2665 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 6908 2574 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 5600 2850 50 0001 C CNN -F 3 "" H 5600 2850 50 0001 C CNN - 2 6800 1600 - 1 0 0 -1 -$EndComp -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 3 1 5E82DE73 -P 8950 1650 -F 0 "U1" H 9058 2665 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 9058 2574 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 7750 2900 50 0001 C CNN -F 3 "" H 7750 2900 50 0001 C CNN - 3 8950 1650 - 1 0 0 -1 -$EndComp -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 4 1 5E8352A8 -P 10250 1800 -F 0 "U1" H 10358 2865 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 10358 2774 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 9050 3050 50 0001 C CNN -F 3 "" H 9050 3050 50 0001 C CNN - 4 10250 1800 - 1 0 0 -1 -$EndComp -$Comp -L Connector:Conn_ARM_JTAG_SWD_10 J2 -U 1 1 5EA1E350 -P 4400 5700 -F 0 "J2" H 3957 5746 50 0000 R CNN -F 1 "Conn_ARM_JTAG_SWD_10" H 3957 5655 50 0000 R CNN -F 2 "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical" H 4400 5700 50 0001 C CNN -F 3 "http://infocenter.arm.com/help/topic/com.arm.doc.ddi0314h/DDI0314H_coresight_components_trm.pdf" V 4050 4450 50 0001 C CNN - 1 4400 5700 - 1 0 0 -1 -$EndComp -Wire Notes Line - 7200 4200 11150 4200 -Wire Notes Line - 11150 4200 11150 6450 -Wire Notes Line - 11150 6450 7200 6450 -Wire Notes Line - 7200 6450 7200 4200 -Text Notes 7250 5100 0 50 ~ 0 -Brain -- aka ATSAME54P20A_AU\n - 120Mhz Core Clock\n - 32khz External Clock (for startup)\n - 12(?)Mhz Alt Clock (probably unused, but adding it just in case)\n - 3 Sercoms\n - 1 I2C\n - 1 SPI\n - 1 U(S)ART\n - Interfaces with IO Extender for parallel bus control without sacrificing pins\n - The E54 has a shitty pin set for parallel control (not bc of no. of pins, but \nbecause of positions and default pin functions) -$Comp -L Device:Crystal Y1 -U 1 1 5E75D825 -P 5000 1300 -F 0 "Y1" V 5046 1169 50 0000 R CNN -F 1 "XOSC32" V 4955 1169 50 0000 R CNN -F 2 "Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm" H 5000 1300 50 0001 C CNN -F 3 "~" H 5000 1300 50 0001 C CNN - 1 5000 1300 - 0 -1 -1 0 -$EndComp -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 1 1 5E82A2F6 -P 3650 2000 -F 0 "U1" H 3733 3165 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 3733 3074 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 2450 3250 50 0001 C CNN -F 3 "" H 2450 3250 50 0001 C CNN - 1 3650 2000 - 1 0 0 -1 -$EndComp -$Comp -L Device:C_Small C1 -U 1 1 5E7E5146 -P 5100 1050 -F 0 "C1" V 4871 1050 50 0000 C CNN -F 1 "6.8pF" V 4962 1050 50 0000 C CNN -F 2 "" H 5100 1050 50 0001 C CNN -F 3 "~" H 5100 1050 50 0001 C CNN - 1 5100 1050 - 0 1 1 0 -$EndComp -$Comp -L Device:C_Small C2 -U 1 1 5E7E6123 -P 5100 1550 -F 0 "C2" V 4871 1550 50 0000 C CNN -F 1 "6.8pF" V 4950 1500 50 0000 C CNN -F 2 "" H 5100 1550 50 0001 C CNN -F 3 "~" H 5100 1550 50 0001 C CNN - 1 5100 1550 - 0 -1 -1 0 -$EndComp -Wire Wire Line - 4800 1350 4250 1350 -Wire Wire Line - 4800 1250 4250 1250 -Wire Wire Line - 5000 1050 5000 1150 -Wire Wire Line - 5000 1550 5000 1450 -Wire Wire Line - 4800 1550 5000 1550 -Wire Wire Line - 4800 1350 4800 1550 -Connection ~ 5000 1550 -Wire Wire Line - 4800 1050 5000 1050 -Wire Wire Line - 4800 1050 4800 1250 -Connection ~ 5000 1050 -Wire Wire Line - 5200 1050 5450 1050 -Wire Wire Line - 5450 1050 5450 1300 -Wire Wire Line - 5450 1550 5200 1550 -Wire Wire Line - 5450 1300 5550 1300 -Connection ~ 5450 1300 -Wire Wire Line - 5450 1300 5450 1550 -$Comp -L power:GND #PWR0104 -U 1 1 5E825E8D -P 5550 1300 -F 0 "#PWR0104" H 5550 1050 50 0001 C CNN -F 1 "GND" H 5555 1127 50 0000 C CNN -F 2 "" H 5550 1300 50 0001 C CNN -F 3 "" H 5550 1300 50 0001 C CNN - 1 5550 1300 - 1 0 0 -1 -$EndComp -Wire Wire Line - 5900 2700 5900 2850 -Connection ~ 5350 2700 -$Comp -L power:GND #PWR0108 -U 1 1 5E880A2C -P 5900 2850 -F 0 "#PWR0108" H 5900 2600 50 0001 C CNN -F 1 "GND" H 5905 2677 50 0000 C CNN -F 2 "" H 5900 2850 50 0001 C CNN -F 3 "" H 5900 2850 50 0001 C CNN - 1 5900 2850 - 1 0 0 -1 -$EndComp -Wire Wire Line - 5150 2550 5150 2500 -Wire Wire Line - 5150 2500 4900 2500 -Wire Wire Line - 4900 2500 4900 2650 -Wire Wire Line - 4900 2650 4250 2650 -Wire Wire Line - 5150 2850 5150 2900 -Wire Wire Line - 5150 2900 4900 2900 -Wire Wire Line - 4900 2900 4900 2750 -Wire Wire Line - 4900 2750 4250 2750 -$Comp -L Device:C_Small C5 -U 1 1 5E8AA0A3 -P 5250 3050 -F 0 "C5" V 5450 3050 50 0000 C CNN -F 1 "5pF" V 5350 3050 50 0000 C CNN -F 2 "" H 5250 3050 50 0001 C CNN -F 3 "~" H 5250 3050 50 0001 C CNN - 1 5250 3050 - 0 1 1 0 -$EndComp -Wire Wire Line - 5350 2700 4950 2700 -$Comp -L Device:Crystal_GND24 Y2 -U 1 1 5E843969 -P 5150 2700 -F 0 "Y2" V 5100 3050 50 0000 R CNN -F 1 "XOSC0" V 5000 3200 50 0000 R CNN -F 2 "" H 5150 2700 50 0001 C CNN -F 3 "~" H 5150 2700 50 0001 C CNN - 1 5150 2700 - 0 1 1 0 -$EndComp -Wire Wire Line - 5150 3050 5150 2900 -Connection ~ 5150 2900 -$Comp -L Device:C_Small C4 -U 1 1 5E8C2D5D -P 5250 2350 -F 0 "C4" V 5021 2350 50 0000 C CNN -F 1 "5pF" V 5112 2350 50 0000 C CNN -F 2 "" H 5250 2350 50 0001 C CNN -F 3 "~" H 5250 2350 50 0001 C CNN - 1 5250 2350 - 0 1 1 0 -$EndComp -Wire Wire Line - 5150 2500 5150 2350 -Connection ~ 5150 2500 -Wire Wire Line - 5350 2700 5900 2700 -Wire Wire Line - 5350 2350 5350 2700 -Wire Wire Line - 5350 3050 5350 2700 -Text GLabel 900 800 0 50 Input ~ 0 -g_3v3 -Text GLabel 850 950 0 50 Input ~ 0 -g_5v -Text Label 1500 800 0 50 ~ 0 -3v3 -Text Label 1500 950 0 50 ~ 0 -5v -Text HLabel 1100 2100 0 50 Input ~ 0 -DEBUG_TX -Text HLabel 1100 2250 0 50 Input ~ 0 -DEBUG_RX -Text Label 1550 2100 0 50 ~ 0 -UART0_TX -Text Label 1550 2250 0 50 ~ 0 -UART0_RX -Text HLabel 1350 2400 0 50 Input ~ 0 -MASTER_SPI_MOSI -Text HLabel 1350 2550 0 50 Input ~ 0 -MASTER_SPI_MISO -Text HLabel 1300 2700 0 50 Input ~ 0 -MASTER_SPI_CLK -Text HLabel 1100 2850 0 50 Input ~ 0 -~TFT_CS -Text HLabel 1250 3000 0 50 Input ~ 0 -~FLASH_MEM_CS -Wire Wire Line - 1350 2400 1550 2400 -Wire Wire Line - 1350 2550 1550 2550 -Wire Wire Line - 1300 2700 1550 2700 -Wire Wire Line - 1100 2850 1550 2850 -Wire Wire Line - 1250 3000 1550 3000 -Text HLabel 1350 3150 0 50 Input ~ 0 -~IO_EXPANDER_CS -Wire Wire Line - 1350 3150 1550 3150 -Wire Wire Line - 1100 2100 1550 2100 -Wire Wire Line - 1100 2250 1550 2250 -Wire Wire Line - 900 800 1500 800 -Wire Wire Line - 850 950 1500 950 -Text Notes 600 700 0 50 ~ 0 -Power Interface -Wire Notes Line - 550 600 1700 600 -Text Notes 650 1950 0 50 ~ 0 -Brain Interface -Wire Notes Line - 2350 1850 550 1850 -Text Label 1550 2400 0 50 ~ 0 -SPI0_MOSI -Text Label 1550 2550 0 50 ~ 0 -SPI0_MISO -Text Label 1550 2700 0 50 ~ 0 -SPI0_CLK -Text Label 1550 2850 0 50 ~ 0 -SPI0_CS0 -Text Label 1550 3000 0 50 ~ 0 -SPI0_CS1 -Text Label 1550 3150 0 50 ~ 0 -SPI0_CS2 -Text Label 7550 1250 0 50 ~ 0 -VBAT -Wire Wire Line - 800 1150 1500 1150 -Text Label 800 1150 2 50 ~ 0 -3v3 -Text Label 1500 1150 0 50 ~ 0 -VBAT -Wire Wire Line - 7500 1250 7550 1250 -Text HLabel 1100 3600 0 50 Input ~ 0 -~TFT_WR -Text HLabel 1100 3700 0 50 Input ~ 0 -~TFT_RD -Text HLabel 1100 3800 0 50 Input ~ 0 -TFT_RSDC -Wire Wire Line - 1100 3600 1550 3600 -Wire Wire Line - 1100 3700 1550 3700 -Wire Wire Line - 1100 3800 1550 3800 -Text Label 1550 3700 0 50 ~ 0 -~TFT_RD -Text Label 1550 3800 0 50 ~ 0 -TFT_RSDC -Text HLabel 1100 3900 0 50 Input ~ 0 -~TFT_RST -Wire Wire Line - 1100 3900 1550 3900 -Text Label 1550 3900 0 50 ~ 0 -~TFT_RST -Wire Wire Line - 4250 1850 4350 1850 -Wire Wire Line - 4250 1750 4350 1750 -Wire Wire Line - 4250 1650 4350 1650 -Text Label 4350 1750 0 50 ~ 0 -SPI0_CLK -Text Label 4350 1850 0 50 ~ 0 -SPI0_MISO -Text Label 4350 1650 0 50 ~ 0 -SPI0_MISO -Wire Wire Line - 7500 3350 7600 3350 -Wire Wire Line - 7500 3450 7600 3450 -Text Label 7600 3450 0 50 ~ 0 -UART0_TX -Text Label 7600 3350 0 50 ~ 0 -UART0_RX -Text Notes 6350 3450 0 50 ~ 0 -SERCOM2 (USART) -Wire Notes Line - 6300 3500 7300 3500 -Wire Notes Line - 7300 3500 7300 3300 -Wire Notes Line - 6300 3300 7300 3300 -Wire Notes Line - 6300 3300 6300 3500 -Wire Notes Line - 4050 1600 3200 1600 -Wire Notes Line - 3200 1600 3200 1900 -Wire Notes Line - 3200 1900 4050 1900 -Wire Notes Line - 4050 1900 4050 1600 -Text Notes 3200 1800 0 50 ~ 0 -SERCOM2 (SPI) -Wire Wire Line - 4250 2850 4350 2850 -Wire Wire Line - 4250 2950 4350 2950 -Text Label 4350 2850 0 50 ~ 0 -I2C0_SDA -Text Label 4350 2950 0 50 ~ 0 -I2C0_SCL -Text Notes 3200 2950 0 50 ~ 0 -SERCOM1 (I2C) -Wire Notes Line - 4050 2800 3200 2800 -Wire Notes Line - 3200 2800 3200 3000 -Wire Notes Line - 3200 3000 4050 3000 -Wire Notes Line - 4050 3000 4050 2800 -Wire Wire Line - 4900 5400 5000 5400 -Text HLabel 1000 1250 0 50 Input ~ 0 -~SYS_RST -Wire Notes Line - 550 1300 1700 1300 -Wire Notes Line - 1700 600 1700 1300 -Wire Notes Line - 550 600 550 1300 -Text Label 1250 1250 0 50 ~ 0 -~BRAIN_RST -Wire Wire Line - 1000 1250 1250 1250 -Wire Wire Line - 4900 5600 5000 5600 -Text Label 5000 5600 0 50 ~ 0 -SWCLK -Wire Wire Line - 4900 5700 5000 5700 -Text Label 5000 5700 0 50 ~ 0 -SWDIO -Text Label 5000 5800 0 50 ~ 0 -SWO -Wire Wire Line - 4900 5800 5000 5800 -Wire Wire Line - 4300 6300 4400 6300 -NoConn ~ 4900 5900 -Text Label 5000 5400 0 50 ~ 0 -~SWRST -Wire Wire Line - 4400 6300 4400 6350 -Connection ~ 4400 6300 -$Comp -L power:GND #PWR0119 -U 1 1 5EA9AF4B -P 4400 6350 -F 0 "#PWR0119" H 4400 6100 50 0001 C CNN -F 1 "GND" H 4405 6177 50 0000 C CNN -F 2 "" H 4400 6350 50 0001 C CNN -F 3 "" H 4400 6350 50 0001 C CNN - 1 4400 6350 - 1 0 0 -1 -$EndComp -Text Label 1550 3600 0 50 ~ 0 -~TFT_WR -Text Label 1900 5050 0 50 ~ 0 -I2C0_SCL -Text Label 1900 4600 0 50 ~ 0 -I2C0_SDA -Text HLabel 1300 5050 0 50 Input ~ 0 -MASTER_I2C_SCL -Text HLabel 1300 4600 0 50 Input ~ 0 -MASTER_I2C_SDA -$Comp -L Device:R_Small R4 -U 1 1 5EB11658 -P 1450 4450 -F 0 "R4" H 1509 4496 50 0000 L CNN -F 1 "4.7k" H 1509 4405 50 0000 L CNN -F 2 "" H 1450 4450 50 0001 C CNN -F 3 "~" H 1450 4450 50 0001 C CNN - 1 1450 4450 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1450 4350 1450 4300 -Text Label 1450 4300 0 50 ~ 0 -3v3 -$Comp -L Device:R_Small R5 -U 1 1 5EB38D15 -P 1450 4900 -F 0 "R5" H 1509 4946 50 0000 L CNN -F 1 "4.7k" H 1509 4855 50 0000 L CNN -F 2 "" H 1450 4900 50 0001 C CNN -F 3 "~" H 1450 4900 50 0001 C CNN - 1 1450 4900 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1300 5050 1450 5050 -Wire Wire Line - 1300 4600 1450 4600 -Wire Wire Line - 1450 4600 1450 4550 -Connection ~ 1450 4600 -Wire Wire Line - 1450 4600 1900 4600 -Wire Wire Line - 1450 5050 1450 5000 -Connection ~ 1450 5050 -Wire Wire Line - 1450 4800 1450 4750 -Text Label 1450 4750 0 50 ~ 0 -3v3 -Wire Wire Line - 1450 5050 1900 5050 -Text Label 850 7150 2 50 ~ 0 -~SWRST -Wire Wire Line - 850 7150 1250 7150 -Text Label 1250 7150 0 50 ~ 0 -~BRAIN_RST -Text Notes 600 7000 0 50 ~ 0 -Locals -Text HLabel 1050 5200 0 50 Input ~ 0 -EXT_IRQ_0 -Text HLabel 1050 5300 0 50 Input ~ 0 -EXT_IRQ_1 -Text HLabel 1050 5400 0 50 Input ~ 0 -EXT_IRQ_2 -Text HLabel 1050 5500 0 50 Input ~ 0 -EXT_IRQ_3 -Text HLabel 1050 5600 0 50 Input ~ 0 -EXT_IRQ_4 -Text HLabel 1050 5700 0 50 Input ~ 0 -EXT_IRQ_5 -Wire Wire Line - 1050 5200 1300 5200 -Text Label 1300 5200 0 50 ~ 0 -EXT_IRQ_0 -Wire Wire Line - 1050 5300 1300 5300 -Text Label 1300 5300 0 50 ~ 0 -EXT_IRQ_1 -Wire Wire Line - 1050 5400 1300 5400 -Text Label 1300 5400 0 50 ~ 0 -EXT_IRQ_2 -Wire Wire Line - 1050 5500 1300 5500 -Text Label 1300 5500 0 50 ~ 0 -EXT_IRQ_3 -Wire Wire Line - 1050 5600 1300 5600 -Text Label 1300 5600 0 50 ~ 0 -EXT_IRQ_4 -Wire Wire Line - 1050 5700 1300 5700 -Text Label 1300 5700 0 50 ~ 0 -EXT_IRQ_5 -Text Label 7700 950 0 50 ~ 0 -EXT_IRQ_0 -Wire Wire Line - 7500 950 7700 950 -Text Label 7700 1050 0 50 ~ 0 -EXT_IRQ_1 -Wire Wire Line - 7500 1050 7700 1050 -Text Label 7700 1150 0 50 ~ 0 -EXT_IRQ_2 -Wire Wire Line - 7500 1150 7700 1150 -Wire Wire Line - 7500 1450 7700 1450 -Text Label 7700 1450 0 50 ~ 0 -EXT_IRQ_4 -Wire Wire Line - 7500 1350 7700 1350 -Text Label 7700 1350 0 50 ~ 0 -EXT_IRQ_3 -Wire Wire Line - 7500 1550 7700 1550 -Text Label 7700 1550 0 50 ~ 0 -EXT_IRQ_5 -Wire Notes Line - 2350 5750 550 5750 -Wire Notes Line - 550 1850 550 5750 -Wire Notes Line - 2350 1850 2350 5750 -$EndSCHEMATC diff --git a/electrical/same54_dev_board/NCP349MNAETBG.dcm b/electrical/same54_dev_board/NCP349MNAETBG.dcm deleted file mode 100644 index 5dd71cb..0000000 --- a/electrical/same54_dev_board/NCP349MNAETBG.dcm +++ /dev/null @@ -1,3 +0,0 @@ -EESchema-DOCLIB Version 2.0 -# -#End Doc Library diff --git a/electrical/same54_dev_board/NCP349MNAETBG.lib b/electrical/same54_dev_board/NCP349MNAETBG.lib deleted file mode 100644 index 0427376..0000000 --- a/electrical/same54_dev_board/NCP349MNAETBG.lib +++ /dev/null @@ -1,22 +0,0 @@ -EESchema-LIBRARY Version 2.4 -#encoding utf-8 -# -# NCP349MNAETBG -# -DEF NCP349MNAETBG U 0 40 Y Y 1 F N -F0 "U" 0 -200 50 H V C CNN -F1 "NCP349MNAETBG" 0 350 50 H V C CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -DRAW -S -300 250 300 -150 0 1 0 f -X VIN 1 -400 150 100 R 50 50 1 1 I -X GND 2 -400 50 100 R 50 50 1 1 I -X ~FLAG 3 400 150 100 L 50 50 1 1 I -X ~EN 4 -400 -50 100 R 50 50 1 1 I -X OUT 5 400 50 100 L 50 50 1 1 I -X OUT 6 400 -50 100 L 50 50 1 1 I -ENDDRAW -ENDDEF -# -#End Library diff --git a/electrical/same54_dev_board/Power.sch b/electrical/same54_dev_board/Power.sch deleted file mode 100644 index c14db1d..0000000 --- a/electrical/same54_dev_board/Power.sch +++ /dev/null @@ -1,401 +0,0 @@ -EESchema Schematic File Version 4 -EELAYER 30 0 -EELAYER END -$Descr A4 11693 8268 -encoding utf-8 -Sheet 2 5 -Title "" -Date "" -Rev "" -Comp "" -Comment1 "" -Comment2 "" -Comment3 "" -Comment4 "" -$EndDescr -Wire Wire Line - 5950 4350 5950 4450 -Connection ~ 5950 4450 -Wire Wire Line - 5950 4450 5950 4550 -Connection ~ 5950 4550 -Wire Wire Line - 5950 4550 5950 4650 -Connection ~ 5950 4650 -Wire Wire Line - 5950 4650 5950 4750 -Connection ~ 5950 4750 -Wire Wire Line - 5950 4750 5950 4850 -Connection ~ 5950 4850 -Wire Wire Line - 5950 4850 5950 4950 -Connection ~ 5950 4950 -Wire Wire Line - 5950 4950 5950 5050 -Connection ~ 5950 5050 -Wire Wire Line - 5950 5050 5950 5150 -Connection ~ 5950 5150 -Wire Wire Line - 5950 5150 5950 5250 -Wire Wire Line - 5950 5500 5950 5600 -Text HLabel 950 900 0 50 Input ~ 0 -USB_3v3 -Text HLabel 950 1050 0 50 Input ~ 0 -USB_5v -Text GLabel 950 600 0 50 Input ~ 0 -g_3v3 -Text GLabel 950 750 0 50 Input ~ 0 -g_5v -Wire Wire Line - 950 900 1350 900 -Text Label 1350 900 0 50 ~ 0 -USB_3v3 -Wire Wire Line - 950 1050 1350 1050 -Text Label 1350 1050 0 50 ~ 0 -USB_5v -Wire Wire Line - 950 600 1350 600 -Wire Wire Line - 950 750 1350 750 -Text Label 1350 600 0 50 ~ 0 -3v3Out -Text Label 1350 750 0 50 ~ 0 -5vOut -Wire Wire Line - 3950 5300 3950 5400 -Connection ~ 3950 5400 -Wire Wire Line - 3950 5400 3950 5500 -Connection ~ 3950 5500 -Wire Wire Line - 3950 5500 3950 5600 -Connection ~ 3950 5600 -Wire Wire Line - 3950 5600 3950 5700 -Connection ~ 3950 5700 -Wire Wire Line - 3950 5700 3950 5800 -Connection ~ 3950 5800 -Wire Wire Line - 3950 5800 3950 5900 -Connection ~ 3950 5900 -Wire Wire Line - 3950 5900 3950 6000 -$Comp -L Connector:Barrel_Jack_Switch J4 -U 1 1 5E88DD8C -P 950 1500 -F 0 "J4" H 1007 1817 50 0000 C CNN -F 1 "Barrel_Jack_Switch" H 1007 1726 50 0000 C CNN -F 2 "digikey-footprints:Barrel_Jack_5.5mmODx2.1mmID_PJ-102A" H 1000 1460 50 0001 C CNN -F 3 "~" H 1000 1460 50 0001 C CNN - 1 950 1500 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1250 1400 1350 1400 -Text Label 1350 1400 0 50 ~ 0 -Wall_5V -NoConn ~ 1250 1500 -Wire Wire Line - 1250 1600 1350 1600 -$Comp -L power:GND #PWR0113 -U 1 1 5E8980B4 -P 1350 1600 -F 0 "#PWR0113" H 1350 1350 50 0001 C CNN -F 1 "GND" H 1355 1427 50 0000 C CNN -F 2 "" H 1350 1600 50 0001 C CNN -F 3 "" H 1350 1600 50 0001 C CNN - 1 1350 1600 - 1 0 0 -1 -$EndComp -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 5 1 5E84F3B3 -P 4950 5000 -F 0 "U1" H 4950 5915 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 4950 5824 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 3750 6250 50 0001 C CNN -F 3 "" H 3750 6250 50 0001 C CNN - 5 4950 5000 - 1 0 0 -1 -$EndComp -Text Notes 3300 2350 0 50 ~ 0 -These are dummy loads!!! -Wire Wire Line - 4500 1800 3950 1800 -$Comp -L Device:R_Small R2 -U 1 1 5E8D1249 -P 3950 1900 -F 0 "R2" H 4009 1946 50 0000 L CNN -F 1 "100k" H 4009 1855 50 0000 L CNN -F 2 "" H 3950 1900 50 0001 C CNN -F 3 "~" H 3950 1900 50 0001 C CNN - 1 3950 1900 - 1 0 0 -1 -$EndComp -$Comp -L Device:R_Small R3 -U 1 1 5E8D1C92 -P 3950 2600 -F 0 "R3" H 4009 2646 50 0000 L CNN -F 1 "100k" H 4009 2555 50 0000 L CNN -F 2 "" H 3950 2600 50 0001 C CNN -F 3 "~" H 3950 2600 50 0001 C CNN - 1 3950 2600 - 1 0 0 -1 -$EndComp -Wire Wire Line - 3950 2000 3950 2050 -$Comp -L power:GND #PWR0114 -U 1 1 5E8D3DAD -P 3950 2050 -F 0 "#PWR0114" H 3950 1800 50 0001 C CNN -F 1 "GND" H 3955 1877 50 0000 C CNN -F 2 "" H 3950 2050 50 0001 C CNN -F 3 "" H 3950 2050 50 0001 C CNN - 1 3950 2050 - 1 0 0 -1 -$EndComp -Wire Wire Line - 3950 2700 3950 2750 -$Comp -L power:GND #PWR0115 -U 1 1 5E8D4B47 -P 3950 2750 -F 0 "#PWR0115" H 3950 2500 50 0001 C CNN -F 1 "GND" H 3955 2577 50 0000 C CNN -F 2 "" H 3950 2750 50 0001 C CNN -F 3 "" H 3950 2750 50 0001 C CNN - 1 3950 2750 - 1 0 0 -1 -$EndComp -Wire Wire Line - 3950 1800 3550 1800 -Connection ~ 3950 1800 -Text Label 3550 1800 2 50 ~ 0 -USB_5v -Wire Wire Line - 3950 2500 3550 2500 -Connection ~ 3950 2500 -Text Label 3550 2500 2 50 ~ 0 -USB_3v3 -Wire Wire Line - 4900 2500 5800 2500 -Wire Wire Line - 4500 2500 4350 2500 -Wire Wire Line - 4900 1800 5350 1800 -$Comp -L same54_dev_board-rescue:NCP349MNAETBG-NCP349MNAETBG U4 -U 1 1 5E7F2428 -P 8100 2250 -AR Path="/5E7F2428" Ref="U4" Part="1" -AR Path="/5E7872D3/5E7F2428" Ref="U4" Part="1" -F 0 "U4" H 8100 2665 50 0000 C CNN -F 1 "NCP349MNAETBG" H 8100 2574 50 0000 C CNN -F 2 "Package_DFN_QFN:DFN-6-1EP_2x2mm_P0.65mm_EP1x1.6mm" H 8100 2250 50 0001 C CNN -F 3 "" H 8100 2250 50 0001 C CNN - 1 8100 2250 - 1 0 0 -1 -$EndComp -$Comp -L dk_Transistors-FETs-MOSFETs-Single:IRLML6402TRPBF Q1 -U 1 1 5E9B8E9E -P 4700 1800 -F 0 "Q1" V 4950 1800 60 0000 C CNN -F 1 "Default PFET_A" V 4850 1800 60 0000 C CNN -F 2 "digikey-footprints:SOT-23-3" H 4900 2000 60 0001 L CNN -F 3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 4900 2100 60 0001 L CNN -F 4 "IRLML6402PBFCT-ND" H 4900 2200 60 0001 L CNN "Digi-Key_PN" -F 5 "IRLML6402TRPBF" H 4900 2300 60 0001 L CNN "MPN" -F 6 "Discrete Semiconductor Products" H 4900 2400 60 0001 L CNN "Category" -F 7 "Transistors - FETs, MOSFETs - Single" H 4900 2500 60 0001 L CNN "Family" -F 8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 4900 2600 60 0001 L CNN "DK_Datasheet_Link" -F 9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" H 4900 2700 60 0001 L CNN "DK_Detail_Page" -F 10 "MOSFET P-CH 20V 3.7A SOT-23" H 4900 2800 60 0001 L CNN "Description" -F 11 "Infineon Technologies" H 4900 2900 60 0001 L CNN "Manufacturer" -F 12 "Active" H 4900 3000 60 0001 L CNN "Status" - 1 4700 1800 - 0 1 -1 0 -$EndComp -$Comp -L dk_Transistors-FETs-MOSFETs-Single:IRLML6402TRPBF Q3 -U 1 1 5E9CBFD6 -P 6000 1800 -F 0 "Q3" V 6250 1800 60 0000 C CNN -F 1 "Default PFET_B" V 6150 1800 60 0000 C CNN -F 2 "digikey-footprints:SOT-23-3" H 6200 2000 60 0001 L CNN -F 3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 6200 2100 60 0001 L CNN -F 4 "IRLML6402PBFCT-ND" H 6200 2200 60 0001 L CNN "Digi-Key_PN" -F 5 "IRLML6402TRPBF" H 6200 2300 60 0001 L CNN "MPN" -F 6 "Discrete Semiconductor Products" H 6200 2400 60 0001 L CNN "Category" -F 7 "Transistors - FETs, MOSFETs - Single" H 6200 2500 60 0001 L CNN "Family" -F 8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 6200 2600 60 0001 L CNN "DK_Datasheet_Link" -F 9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" H 6200 2700 60 0001 L CNN "DK_Detail_Page" -F 10 "MOSFET P-CH 20V 3.7A SOT-23" H 6200 2800 60 0001 L CNN "Description" -F 11 "Infineon Technologies" H 6200 2900 60 0001 L CNN "Manufacturer" -F 12 "Active" H 6200 3000 60 0001 L CNN "Status" - 1 6000 1800 - 0 -1 -1 0 -$EndComp -$Comp -L dk_Transistors-FETs-MOSFETs-Single:IRLML6402TRPBF Q2 -U 1 1 5E9D56A5 -P 4700 2500 -F 0 "Q2" V 4950 2500 60 0000 C CNN -F 1 "Alt PFET_A" V 4850 2500 60 0000 C CNN -F 2 "digikey-footprints:SOT-23-3" H 4900 2700 60 0001 L CNN -F 3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 4900 2800 60 0001 L CNN -F 4 "IRLML6402PBFCT-ND" H 4900 2900 60 0001 L CNN "Digi-Key_PN" -F 5 "IRLML6402TRPBF" H 4900 3000 60 0001 L CNN "MPN" -F 6 "Discrete Semiconductor Products" H 4900 3100 60 0001 L CNN "Category" -F 7 "Transistors - FETs, MOSFETs - Single" H 4900 3200 60 0001 L CNN "Family" -F 8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 4900 3300 60 0001 L CNN "DK_Datasheet_Link" -F 9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" H 4900 3400 60 0001 L CNN "DK_Detail_Page" -F 10 "MOSFET P-CH 20V 3.7A SOT-23" H 4900 3500 60 0001 L CNN "Description" -F 11 "Infineon Technologies" H 4900 3600 60 0001 L CNN "Manufacturer" -F 12 "Active" H 4900 3700 60 0001 L CNN "Status" - 1 4700 2500 - 0 1 -1 0 -$EndComp -$Comp -L dk_Transistors-FETs-MOSFETs-Single:IRLML6402TRPBF Q4 -U 1 1 5E9DB598 -P 6000 2500 -F 0 "Q4" V 6250 2500 60 0000 C CNN -F 1 "Alt PFET_B" V 6150 2500 60 0000 C CNN -F 2 "digikey-footprints:SOT-23-3" H 6200 2700 60 0001 L CNN -F 3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 6200 2800 60 0001 L CNN -F 4 "IRLML6402PBFCT-ND" H 6200 2900 60 0001 L CNN "Digi-Key_PN" -F 5 "IRLML6402TRPBF" H 6200 3000 60 0001 L CNN "MPN" -F 6 "Discrete Semiconductor Products" H 6200 3100 60 0001 L CNN "Category" -F 7 "Transistors - FETs, MOSFETs - Single" H 6200 3200 60 0001 L CNN "Family" -F 8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 6200 3300 60 0001 L CNN "DK_Datasheet_Link" -F 9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" H 6200 3400 60 0001 L CNN "DK_Detail_Page" -F 10 "MOSFET P-CH 20V 3.7A SOT-23" H 6200 3500 60 0001 L CNN "Description" -F 11 "Infineon Technologies" H 6200 3600 60 0001 L CNN "Manufacturer" -F 12 "Active" H 6200 3700 60 0001 L CNN "Status" - 1 6000 2500 - 0 -1 -1 0 -$EndComp -Wire Wire Line - 4600 2800 5350 2800 -Wire Wire Line - 4600 2100 6100 2100 -Wire Wire Line - 4600 2100 4350 2100 -Wire Wire Line - 4350 2100 4350 2500 -Connection ~ 4600 2100 -Connection ~ 4350 2500 -Wire Wire Line - 4350 2500 3950 2500 -Wire Wire Line - 5350 1800 5350 2800 -Connection ~ 5350 1800 -Wire Wire Line - 5350 1800 5800 1800 -Connection ~ 5350 2800 -Wire Wire Line - 5350 2800 6100 2800 -Wire Wire Line - 5350 2800 5350 2900 -$Comp -L Device:R_Small R6 -U 1 1 5E9E8F6F -P 5350 3000 -F 0 "R6" H 5409 3046 50 0000 L CNN -F 1 "R_Small" H 5409 2955 50 0000 L CNN -F 2 "" H 5350 3000 50 0001 C CNN -F 3 "~" H 5350 3000 50 0001 C CNN - 1 5350 3000 - 1 0 0 -1 -$EndComp -Wire Wire Line - 5350 3100 5350 3150 -$Comp -L power:GND #PWR0117 -U 1 1 5E9EA130 -P 5350 3150 -F 0 "#PWR0117" H 5350 2900 50 0001 C CNN -F 1 "GND" H 5355 2977 50 0000 C CNN -F 2 "" H 5350 3150 50 0001 C CNN -F 3 "" H 5350 3150 50 0001 C CNN - 1 5350 3150 - 1 0 0 -1 -$EndComp -Wire Wire Line - 6200 1800 6550 1800 -Wire Wire Line - 6550 2500 6200 2500 -Wire Wire Line - 6550 1800 6550 2100 -Connection ~ 6550 2100 -Wire Wire Line - 6550 2100 6550 2500 -$Comp -L Device:C_Small C10 -U 1 1 5E9F5727 -P 7050 2200 -F 0 "C10" H 7250 2250 50 0000 R CNN -F 1 "100nF" H 7350 2150 50 0000 R CNN -F 2 "" H 7050 2200 50 0001 C CNN -F 3 "~" H 7050 2200 50 0001 C CNN - 1 7050 2200 - -1 0 0 -1 -$EndComp -Wire Wire Line - 6550 2100 7050 2100 -Wire Wire Line - 7050 2100 7200 2100 -Connection ~ 7050 2100 -$Comp -L Device:C_Small C11 -U 1 1 5E9F9ED9 -P 7200 2200 -F 0 "C11" H 7292 2246 50 0000 L CNN -F 1 "1uF" H 7292 2155 50 0000 L CNN -F 2 "" H 7200 2200 50 0001 C CNN -F 3 "~" H 7200 2200 50 0001 C CNN - 1 7200 2200 - 1 0 0 -1 -$EndComp -Connection ~ 7200 2100 -Wire Wire Line - 7200 2100 7700 2100 -Wire Wire Line - 7700 2200 7700 2300 -Wire Wire Line - 7700 2300 7700 2400 -Connection ~ 7700 2300 -$Comp -L power:GND #PWR0118 -U 1 1 5EA05C9E -P 7700 2400 -F 0 "#PWR0118" H 7700 2150 50 0001 C CNN -F 1 "GND" H 7705 2227 50 0000 C CNN -F 2 "" H 7700 2400 50 0001 C CNN -F 3 "" H 7700 2400 50 0001 C CNN - 1 7700 2400 - 1 0 0 -1 -$EndComp -NoConn ~ 8500 2100 -Wire Wire Line - 8500 2200 8500 2300 -Wire Wire Line - 8500 2200 8650 2200 -Connection ~ 8500 2200 -Wire Wire Line - 7050 2300 7200 2300 -Wire Wire Line - 7200 2300 7700 2300 -Connection ~ 7200 2300 -$EndSCHEMATC diff --git a/electrical/same54_dev_board/Power.sch-bak b/electrical/same54_dev_board/Power.sch-bak deleted file mode 100644 index c14db1d..0000000 --- a/electrical/same54_dev_board/Power.sch-bak +++ /dev/null @@ -1,401 +0,0 @@ -EESchema Schematic File Version 4 -EELAYER 30 0 -EELAYER END -$Descr A4 11693 8268 -encoding utf-8 -Sheet 2 5 -Title "" -Date "" -Rev "" -Comp "" -Comment1 "" -Comment2 "" -Comment3 "" -Comment4 "" -$EndDescr -Wire Wire Line - 5950 4350 5950 4450 -Connection ~ 5950 4450 -Wire Wire Line - 5950 4450 5950 4550 -Connection ~ 5950 4550 -Wire Wire Line - 5950 4550 5950 4650 -Connection ~ 5950 4650 -Wire Wire Line - 5950 4650 5950 4750 -Connection ~ 5950 4750 -Wire Wire Line - 5950 4750 5950 4850 -Connection ~ 5950 4850 -Wire Wire Line - 5950 4850 5950 4950 -Connection ~ 5950 4950 -Wire Wire Line - 5950 4950 5950 5050 -Connection ~ 5950 5050 -Wire Wire Line - 5950 5050 5950 5150 -Connection ~ 5950 5150 -Wire Wire Line - 5950 5150 5950 5250 -Wire Wire Line - 5950 5500 5950 5600 -Text HLabel 950 900 0 50 Input ~ 0 -USB_3v3 -Text HLabel 950 1050 0 50 Input ~ 0 -USB_5v -Text GLabel 950 600 0 50 Input ~ 0 -g_3v3 -Text GLabel 950 750 0 50 Input ~ 0 -g_5v -Wire Wire Line - 950 900 1350 900 -Text Label 1350 900 0 50 ~ 0 -USB_3v3 -Wire Wire Line - 950 1050 1350 1050 -Text Label 1350 1050 0 50 ~ 0 -USB_5v -Wire Wire Line - 950 600 1350 600 -Wire Wire Line - 950 750 1350 750 -Text Label 1350 600 0 50 ~ 0 -3v3Out -Text Label 1350 750 0 50 ~ 0 -5vOut -Wire Wire Line - 3950 5300 3950 5400 -Connection ~ 3950 5400 -Wire Wire Line - 3950 5400 3950 5500 -Connection ~ 3950 5500 -Wire Wire Line - 3950 5500 3950 5600 -Connection ~ 3950 5600 -Wire Wire Line - 3950 5600 3950 5700 -Connection ~ 3950 5700 -Wire Wire Line - 3950 5700 3950 5800 -Connection ~ 3950 5800 -Wire Wire Line - 3950 5800 3950 5900 -Connection ~ 3950 5900 -Wire Wire Line - 3950 5900 3950 6000 -$Comp -L Connector:Barrel_Jack_Switch J4 -U 1 1 5E88DD8C -P 950 1500 -F 0 "J4" H 1007 1817 50 0000 C CNN -F 1 "Barrel_Jack_Switch" H 1007 1726 50 0000 C CNN -F 2 "digikey-footprints:Barrel_Jack_5.5mmODx2.1mmID_PJ-102A" H 1000 1460 50 0001 C CNN -F 3 "~" H 1000 1460 50 0001 C CNN - 1 950 1500 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1250 1400 1350 1400 -Text Label 1350 1400 0 50 ~ 0 -Wall_5V -NoConn ~ 1250 1500 -Wire Wire Line - 1250 1600 1350 1600 -$Comp -L power:GND #PWR0113 -U 1 1 5E8980B4 -P 1350 1600 -F 0 "#PWR0113" H 1350 1350 50 0001 C CNN -F 1 "GND" H 1355 1427 50 0000 C CNN -F 2 "" H 1350 1600 50 0001 C CNN -F 3 "" H 1350 1600 50 0001 C CNN - 1 1350 1600 - 1 0 0 -1 -$EndComp -$Comp -L p_ATSAME54P20A-AU:p_ATSAME54P20A-AU U1 -U 5 1 5E84F3B3 -P 4950 5000 -F 0 "U1" H 4950 5915 50 0000 C CNN -F 1 "p_ATSAME54P20A-AU" H 4950 5824 50 0000 C CNN -F 2 "penguin:QFP40P1600X1600X120-128N_ATSAME54P20A" H 3750 6250 50 0001 C CNN -F 3 "" H 3750 6250 50 0001 C CNN - 5 4950 5000 - 1 0 0 -1 -$EndComp -Text Notes 3300 2350 0 50 ~ 0 -These are dummy loads!!! -Wire Wire Line - 4500 1800 3950 1800 -$Comp -L Device:R_Small R2 -U 1 1 5E8D1249 -P 3950 1900 -F 0 "R2" H 4009 1946 50 0000 L CNN -F 1 "100k" H 4009 1855 50 0000 L CNN -F 2 "" H 3950 1900 50 0001 C CNN -F 3 "~" H 3950 1900 50 0001 C CNN - 1 3950 1900 - 1 0 0 -1 -$EndComp -$Comp -L Device:R_Small R3 -U 1 1 5E8D1C92 -P 3950 2600 -F 0 "R3" H 4009 2646 50 0000 L CNN -F 1 "100k" H 4009 2555 50 0000 L CNN -F 2 "" H 3950 2600 50 0001 C CNN -F 3 "~" H 3950 2600 50 0001 C CNN - 1 3950 2600 - 1 0 0 -1 -$EndComp -Wire Wire Line - 3950 2000 3950 2050 -$Comp -L power:GND #PWR0114 -U 1 1 5E8D3DAD -P 3950 2050 -F 0 "#PWR0114" H 3950 1800 50 0001 C CNN -F 1 "GND" H 3955 1877 50 0000 C CNN -F 2 "" H 3950 2050 50 0001 C CNN -F 3 "" H 3950 2050 50 0001 C CNN - 1 3950 2050 - 1 0 0 -1 -$EndComp -Wire Wire Line - 3950 2700 3950 2750 -$Comp -L power:GND #PWR0115 -U 1 1 5E8D4B47 -P 3950 2750 -F 0 "#PWR0115" H 3950 2500 50 0001 C CNN -F 1 "GND" H 3955 2577 50 0000 C CNN -F 2 "" H 3950 2750 50 0001 C CNN -F 3 "" H 3950 2750 50 0001 C CNN - 1 3950 2750 - 1 0 0 -1 -$EndComp -Wire Wire Line - 3950 1800 3550 1800 -Connection ~ 3950 1800 -Text Label 3550 1800 2 50 ~ 0 -USB_5v -Wire Wire Line - 3950 2500 3550 2500 -Connection ~ 3950 2500 -Text Label 3550 2500 2 50 ~ 0 -USB_3v3 -Wire Wire Line - 4900 2500 5800 2500 -Wire Wire Line - 4500 2500 4350 2500 -Wire Wire Line - 4900 1800 5350 1800 -$Comp -L same54_dev_board-rescue:NCP349MNAETBG-NCP349MNAETBG U4 -U 1 1 5E7F2428 -P 8100 2250 -AR Path="/5E7F2428" Ref="U4" Part="1" -AR Path="/5E7872D3/5E7F2428" Ref="U4" Part="1" -F 0 "U4" H 8100 2665 50 0000 C CNN -F 1 "NCP349MNAETBG" H 8100 2574 50 0000 C CNN -F 2 "Package_DFN_QFN:DFN-6-1EP_2x2mm_P0.65mm_EP1x1.6mm" H 8100 2250 50 0001 C CNN -F 3 "" H 8100 2250 50 0001 C CNN - 1 8100 2250 - 1 0 0 -1 -$EndComp -$Comp -L dk_Transistors-FETs-MOSFETs-Single:IRLML6402TRPBF Q1 -U 1 1 5E9B8E9E -P 4700 1800 -F 0 "Q1" V 4950 1800 60 0000 C CNN -F 1 "Default PFET_A" V 4850 1800 60 0000 C CNN -F 2 "digikey-footprints:SOT-23-3" H 4900 2000 60 0001 L CNN -F 3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 4900 2100 60 0001 L CNN -F 4 "IRLML6402PBFCT-ND" H 4900 2200 60 0001 L CNN "Digi-Key_PN" -F 5 "IRLML6402TRPBF" H 4900 2300 60 0001 L CNN "MPN" -F 6 "Discrete Semiconductor Products" H 4900 2400 60 0001 L CNN "Category" -F 7 "Transistors - FETs, MOSFETs - Single" H 4900 2500 60 0001 L CNN "Family" -F 8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 4900 2600 60 0001 L CNN "DK_Datasheet_Link" -F 9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" H 4900 2700 60 0001 L CNN "DK_Detail_Page" -F 10 "MOSFET P-CH 20V 3.7A SOT-23" H 4900 2800 60 0001 L CNN "Description" -F 11 "Infineon Technologies" H 4900 2900 60 0001 L CNN "Manufacturer" -F 12 "Active" H 4900 3000 60 0001 L CNN "Status" - 1 4700 1800 - 0 1 -1 0 -$EndComp -$Comp -L dk_Transistors-FETs-MOSFETs-Single:IRLML6402TRPBF Q3 -U 1 1 5E9CBFD6 -P 6000 1800 -F 0 "Q3" V 6250 1800 60 0000 C CNN -F 1 "Default PFET_B" V 6150 1800 60 0000 C CNN -F 2 "digikey-footprints:SOT-23-3" H 6200 2000 60 0001 L CNN -F 3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 6200 2100 60 0001 L CNN -F 4 "IRLML6402PBFCT-ND" H 6200 2200 60 0001 L CNN "Digi-Key_PN" -F 5 "IRLML6402TRPBF" H 6200 2300 60 0001 L CNN "MPN" -F 6 "Discrete Semiconductor Products" H 6200 2400 60 0001 L CNN "Category" -F 7 "Transistors - FETs, MOSFETs - Single" H 6200 2500 60 0001 L CNN "Family" -F 8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 6200 2600 60 0001 L CNN "DK_Datasheet_Link" -F 9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" H 6200 2700 60 0001 L CNN "DK_Detail_Page" -F 10 "MOSFET P-CH 20V 3.7A SOT-23" H 6200 2800 60 0001 L CNN "Description" -F 11 "Infineon Technologies" H 6200 2900 60 0001 L CNN "Manufacturer" -F 12 "Active" H 6200 3000 60 0001 L CNN "Status" - 1 6000 1800 - 0 -1 -1 0 -$EndComp -$Comp -L dk_Transistors-FETs-MOSFETs-Single:IRLML6402TRPBF Q2 -U 1 1 5E9D56A5 -P 4700 2500 -F 0 "Q2" V 4950 2500 60 0000 C CNN -F 1 "Alt PFET_A" V 4850 2500 60 0000 C CNN -F 2 "digikey-footprints:SOT-23-3" H 4900 2700 60 0001 L CNN -F 3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 4900 2800 60 0001 L CNN -F 4 "IRLML6402PBFCT-ND" H 4900 2900 60 0001 L CNN "Digi-Key_PN" -F 5 "IRLML6402TRPBF" H 4900 3000 60 0001 L CNN "MPN" -F 6 "Discrete Semiconductor Products" H 4900 3100 60 0001 L CNN "Category" -F 7 "Transistors - FETs, MOSFETs - Single" H 4900 3200 60 0001 L CNN "Family" -F 8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 4900 3300 60 0001 L CNN "DK_Datasheet_Link" -F 9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" H 4900 3400 60 0001 L CNN "DK_Detail_Page" -F 10 "MOSFET P-CH 20V 3.7A SOT-23" H 4900 3500 60 0001 L CNN "Description" -F 11 "Infineon Technologies" H 4900 3600 60 0001 L CNN "Manufacturer" -F 12 "Active" H 4900 3700 60 0001 L CNN "Status" - 1 4700 2500 - 0 1 -1 0 -$EndComp -$Comp -L dk_Transistors-FETs-MOSFETs-Single:IRLML6402TRPBF Q4 -U 1 1 5E9DB598 -P 6000 2500 -F 0 "Q4" V 6250 2500 60 0000 C CNN -F 1 "Alt PFET_B" V 6150 2500 60 0000 C CNN -F 2 "digikey-footprints:SOT-23-3" H 6200 2700 60 0001 L CNN -F 3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 6200 2800 60 0001 L CNN -F 4 "IRLML6402PBFCT-ND" H 6200 2900 60 0001 L CNN "Digi-Key_PN" -F 5 "IRLML6402TRPBF" H 6200 3000 60 0001 L CNN "MPN" -F 6 "Discrete Semiconductor Products" H 6200 3100 60 0001 L CNN "Category" -F 7 "Transistors - FETs, MOSFETs - Single" H 6200 3200 60 0001 L CNN "Family" -F 8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" H 6200 3300 60 0001 L CNN "DK_Datasheet_Link" -F 9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" H 6200 3400 60 0001 L CNN "DK_Detail_Page" -F 10 "MOSFET P-CH 20V 3.7A SOT-23" H 6200 3500 60 0001 L CNN "Description" -F 11 "Infineon Technologies" H 6200 3600 60 0001 L CNN "Manufacturer" -F 12 "Active" H 6200 3700 60 0001 L CNN "Status" - 1 6000 2500 - 0 -1 -1 0 -$EndComp -Wire Wire Line - 4600 2800 5350 2800 -Wire Wire Line - 4600 2100 6100 2100 -Wire Wire Line - 4600 2100 4350 2100 -Wire Wire Line - 4350 2100 4350 2500 -Connection ~ 4600 2100 -Connection ~ 4350 2500 -Wire Wire Line - 4350 2500 3950 2500 -Wire Wire Line - 5350 1800 5350 2800 -Connection ~ 5350 1800 -Wire Wire Line - 5350 1800 5800 1800 -Connection ~ 5350 2800 -Wire Wire Line - 5350 2800 6100 2800 -Wire Wire Line - 5350 2800 5350 2900 -$Comp -L Device:R_Small R6 -U 1 1 5E9E8F6F -P 5350 3000 -F 0 "R6" H 5409 3046 50 0000 L CNN -F 1 "R_Small" H 5409 2955 50 0000 L CNN -F 2 "" H 5350 3000 50 0001 C CNN -F 3 "~" H 5350 3000 50 0001 C CNN - 1 5350 3000 - 1 0 0 -1 -$EndComp -Wire Wire Line - 5350 3100 5350 3150 -$Comp -L power:GND #PWR0117 -U 1 1 5E9EA130 -P 5350 3150 -F 0 "#PWR0117" H 5350 2900 50 0001 C CNN -F 1 "GND" H 5355 2977 50 0000 C CNN -F 2 "" H 5350 3150 50 0001 C CNN -F 3 "" H 5350 3150 50 0001 C CNN - 1 5350 3150 - 1 0 0 -1 -$EndComp -Wire Wire Line - 6200 1800 6550 1800 -Wire Wire Line - 6550 2500 6200 2500 -Wire Wire Line - 6550 1800 6550 2100 -Connection ~ 6550 2100 -Wire Wire Line - 6550 2100 6550 2500 -$Comp -L Device:C_Small C10 -U 1 1 5E9F5727 -P 7050 2200 -F 0 "C10" H 7250 2250 50 0000 R CNN -F 1 "100nF" H 7350 2150 50 0000 R CNN -F 2 "" H 7050 2200 50 0001 C CNN -F 3 "~" H 7050 2200 50 0001 C CNN - 1 7050 2200 - -1 0 0 -1 -$EndComp -Wire Wire Line - 6550 2100 7050 2100 -Wire Wire Line - 7050 2100 7200 2100 -Connection ~ 7050 2100 -$Comp -L Device:C_Small C11 -U 1 1 5E9F9ED9 -P 7200 2200 -F 0 "C11" H 7292 2246 50 0000 L CNN -F 1 "1uF" H 7292 2155 50 0000 L CNN -F 2 "" H 7200 2200 50 0001 C CNN -F 3 "~" H 7200 2200 50 0001 C CNN - 1 7200 2200 - 1 0 0 -1 -$EndComp -Connection ~ 7200 2100 -Wire Wire Line - 7200 2100 7700 2100 -Wire Wire Line - 7700 2200 7700 2300 -Wire Wire Line - 7700 2300 7700 2400 -Connection ~ 7700 2300 -$Comp -L power:GND #PWR0118 -U 1 1 5EA05C9E -P 7700 2400 -F 0 "#PWR0118" H 7700 2150 50 0001 C CNN -F 1 "GND" H 7705 2227 50 0000 C CNN -F 2 "" H 7700 2400 50 0001 C CNN -F 3 "" H 7700 2400 50 0001 C CNN - 1 7700 2400 - 1 0 0 -1 -$EndComp -NoConn ~ 8500 2100 -Wire Wire Line - 8500 2200 8500 2300 -Wire Wire Line - 8500 2200 8650 2200 -Connection ~ 8500 2200 -Wire Wire Line - 7050 2300 7200 2300 -Wire Wire Line - 7200 2300 7700 2300 -Connection ~ 7200 2300 -$EndSCHEMATC diff --git a/electrical/same54_dev_board/SCREEN_INTF-s_SCREEN_INTF.pdf b/electrical/same54_dev_board/SCREEN_INTF-s_SCREEN_INTF.pdf deleted file mode 100644 index 7bfaba95c92e39100f7ec97ff146879a3a4d12d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64172 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 z z$-_q^F}*dPtB2nBXin(Ta0KJr#uMY(7snW*Mo2(_Amw{A@68OUcK+Z+3Q3Oo4GmTp zE+_|5L=l{n>MLr35UdQzf1{@q+VTfXduQSK4~f8)r%YJ#Zg4P@iQ+$Kw9B*Fzv+W& z&^D?9h#LJJ3b3F3C-Inb9gFw88aeeHc2U`=h%ATaRXzNik_v;%xDcI=b0W=AGX0 z@p?!Ld+nCG7Ci+d$+4X877*h|-mOLS18JYvZDw7KH^vh(eq?ePrRn2?&^TewmMjmc zZJk%rg7Xr87{k$c9+ox#)MTIYYMh86PF~PY`o|!b-<&y@yso z^$Kk3Tgl-VK2c{dH}aw3j-rm=!A*zT)t1;|FIEK$T+LLmGH7%5Dg3!NPMuKK>atWb zZ!eAAM6M^Wope*)D8cU|-O@#V2%cPkp!;rcZjnh|A-V>9Ayp*{buND#m$g zA3cLA>>;0r+ue5E4)uej)7=P2KVXw{x0_(|n!A}s&LV5;jC`EM>L&rM?WCVCy!zh^ z3b4-Cov8I6-b;agSO1sm`d7yH^ zPuiFGwxFN{<3riJ94pXg1+YMybeUsuCfIwCnY5qnsIzArH9BOs5I5;fk*msaJunB2 zn(4j#)=QLUoCS(>-40H2h{_0QvuA#=oT61|az9|H9YY&Vonl+rtqgD`VS}uy1P;5EaxVCi+)3m(|PsH2DqHwByKe$x@Cu&4M-^lrrv`(I9Z51=`;D9E$FK; zF)~3iF`PCw(5%Trv|;V%W=7k2;t)me>mMvsRh>yYwt+^Q<`rk1qL zzctq8u~m7O)&ysDjqUanUms)(y_(0sRnOvYtq2ybEq-(hCGLF=eWA8b2_fq#S^{)#ZdUXeE)$66U^tDe(FI5pl z>}0GPM5$n3LhhLB8Cf7gc=I*jC@NcvBui2o89VLPTaEI;Z0jciq9ZwxZ$keVYyr{G z)xQ87cwG_@3zh(UB*TA@4Mrv+qSHP2wn;WN(`4++1ZSCE8F z=A)oAv_lFS-d=aib(`h{B+H(!My5pd)LA+VnQ)?D^&6eK4@ZCXS*^z*Qi@BmE`40h zaT3!S&Y?3?Ok$yu#Z4$g99D)lqYkXa0IpKWvp5*M*7_2kjuJoJbbC#v4n)2Rh+kp9 zjM+swieKb)Hsf>RKG8r`eS1ho$xxoWjB#AQ^%?70*%F4L;`P(%)~%d3gr(#J*3#`v zF;z!7rY25yacDkaHBb>8e6N-L0SvzCu*fuUZJ_%N1WM0hXTID|_{13cv$md#cVJ6e z9h^yYd~R-suR|=gY`M!GD8kUg7@rSk5+bAqW^wDP|HR{nAn#XVhz@0Ya$;g6e2S~d zdQZbTkxT)c;%P9~+vv8S=jcwIgjM+Evn@tN4%xA5rpsW7;8Hiv^zRP9$Jj73pGtS7 z({BU)uTX$UV}iej1o>(}3^v4-TB2mXBvzAi??CwtMaVZ=8V|rtxZkqg)uf!ehHp#BCVs@s+k7VPjM45$K=H? zbX)0!zg@oLjExLo2%a+Uwv_EU9GxAW3qMiRWm}{?oz%p6yFdYj82ytbD}HYn$`+>W~kw^SDn)}TNG`VC^B zc=5dd>;3Wi+v3la>Qdiv-XGB^%WwJ0{QY%bOtl09$XMW#8q}@{Mhf)v`~d^6M^E;eL}6=na0iY*=c-k*t5X*ZGc&u}3`-E**FtTn;Fj z|6TpYHn(#&G=YD4W1^M5iy^QgY5d9roZWoVpmlqEoegYbn~Nx8r1WN16bMMoyDm&0 z@E8&pQ?tdGaGvDd$s4hBaczmZ%i?&%-1BVx`Ah;_Ei-4Vo0x;(A0KHM2OjV(#+Ugf zBR*{%ste4KC^}GphR9qY|fa>nn7)u)C^jW6fUmRDeTR>fUi&3KR~||^e}28uP}fzZCQ2m5^YN= zZ9JD=RLF_@>hAEM8ot^7&$PS~i@ucU9x)nZ`U+LY zh%r_QmBF{db39p*4e{jO_UuiRTXWMcD=aSF4yHZX#P;WN_|HB-xSQgpu~$rcgl z;LGvXbh#$rbCH39ZdVr>*we9k+@y=vP{|TKrgU*SYVn4x$ z`|Drp3a>9-H}{c#Z?}|$9e3V(CLNV;?ONU<*SNZ59vkz)ewoD2Zbb&gF#eer^Je^a z$C{T`{?FSu{<`~>KE6no(VgQ424g_w+$Z|KIld6YFXuBiJIUF9@87A@XePRjZ45Ly z)$1&3y0V<$jG(>kZc?VMYFq8xQmV&Z((}qWlW?1d@u$Bze%%1Vyl4{8&6`j$_ zNaAYo@ffr15&Y$R9~5hccL5pWz}g+$Oha@ zmxwlbqffW*_~yUhGp-H9_Z{chvDNq)5+svRgKzM`b=8K6vG`p7gKHLv^LA^>R+jX1<^}=?;F zLK4Gr5xY?8$&%vTf`OR!} zYii142bA#Ll711L$k--ovQPGGOt1~G;k%aOHes=_tLHz&r7#L+urgyyhHt9fZ9mA8 zeVQt9A|Q>ET3vK_DgCI)8kT@k;>U_ym&MpQEeZT*Mo5h<=#!hKLHx=rnh+zN8H|G{~ zu|UPg0UyRGwppX(VJqn8F=Oi^KtLqu|D z;`=or!XEB^#7kquO6y={mfbQ#a8aLPOW3rvYMQ*nHO@S&VnHE|iAU6ChOrnF%Wdnx zLc%69hnYuI^iLC8nQln$kay;cS%L?T<($38m^A)C2 zv^o9&o@XB8-ck)+YrZ*G#kv+-))b+>_9S75Jx98VU+i%3#xkMEWP2+s%u7aP8{Zjd zgvVrxS2E~gR^b4j`z^tQ1pD5;7*u>`vcF+N@jFd=Z8v0aUhazhdScgRuBT(~T)_V+ z3TQR|wW4A=o1avpp0)8b42wI@%|$Gd;6nnDIxpej;KItxM^2Evy>(o=_D)ewR?qJ~ z0+hKrn5U1F4fdaHB}7wc7dfo)8-ICd>6^6Q$DCLmadMSBpa3k9IPX z*hdv8+M!phR!38#g-$a%K*K_)r-!=MRZJUH&L9k(YXxZ^9RgYjSontf=%Y4&yl{uI_Hbs`D zWpZ|vk>^YA(BIaG^NOn7XxwXz5tPQ2MXx`-O%9Je>V1}0@*K;yBs^2VXcknGxu+cN zdkLT0conk|tUYYHP_2%XJyNL*lyH(UfJ@vd-B?J-f~UDsRirlIcXPQ^RkU$jd=zW; z?&BzZ<;PSl<;P_EBz35*!ce7DNlNj(z&nwLPeMKaT3_d37pcGlg3gG|^5b?cYpm_4mIhiAqYplq#YGH0u2HE)>UUZ%m`%rRJJViq zXc@5WY_&|{=_+V@f2x4^)#YSJ&x1feu$|>{%H~{_y*UQ7MSUvUHJ$7+=g#X}Lnh|qA zMvFVcjTiO^Y~1^lR)t?H@#xTu@Ok;$Ee=m%=zQduOk5pEK-5YA`AxA?Q#q(JvqXb1 zhr2PdZbi5R6M5M)Sw@y-pN^J8IthW5W(~j$aLd8ip**D{#To0 zk|1zV^SvEf0Sa^%iv;6X1eRenxQ2?fAqTRmDf#^!c-IJ_N`poi&L23%kn>}EsQj@)Yd~++Jr9Tb76koSP4$|0(lMh( zwsAj=TqT)?N(Cw~FOk(9=cJJx*FrQ`jZVTf`H@9yT+}g;MN5b_2u1{u2%sAb2RNVY z`n(V`r+SY2u#95=+80ovH5-lIo?w3Eajjlcc7%cxEWyJ&vN$lOwj@-I#}zfx^}99Q z`4H`oy+ie@u~RSw&X?U~><>cYliLiqXS{?mcE1*_%4S|qHJ8R}R1G|qQcdfXAmn>& z$+X)D#ZFV~W;Ef}rO=cgf5tmIaptpoH2m7H;n!Q@PMZ?A3#Lr;!V>wGa8{8Rc`RYm zHR~pn)0ci+w$nnxU5@{8UTw&2RfiK^Knt|`BdR`FFpHZRfWjb z|NX6je6hB6{Z1qw5@l~(*s#O41%+DH2a4BEH@9Her};XUEev}lTkoo8hr>P0D*lW`yxMTa!;sSpNL3Cs+?iFn^skAEvdD3u$zi>XQO zyJL>kpO>L|v8QxvKOoJ{M6%D>cR4zQCbxAwn}t%TjYXrG90<*AD18J?bGH-4WFvVk zQt+9DjztpTKxHjUK3L@-=~l~v!3-*$u=O2zCY`E#V*-{~CDiel6nAlKUSfjOw0$@! z^Q$vw+DE(UZHv44-M_MEz6huv*Ph=#4XS9F$vyO@nuppJW;S+ zp^_FMStO%86PLryW$i`Nq?>)s2o^qTF$0~`>9NF_fDvR>1L@-WmQHw6Jj8=Eb>*Liqg1auuVgj<9ZzbSf)67fMI0bkn>I9jKcXF+jc-4i)#}>W z_jDo3YNh+6scW$&EoE~!mQt4(mFAdhB0~<+y{ST%shQZ}F1v?-V<*KJdG_!9hKmtv ze}%BjG*}vro3)c2p-3Vd!HAk-W!p7&>b9;4F!uK*u&msqpub&x8@I=Zx!^a&4R%z+S1rK0btrZe^o0b>}qKKJnZ ztyo6SjqTQ(8oO^TqlNA0RGRCXBzntAcatJFV=(#RRiNJlMF&R)@<7fVbb&3rArM)O z+()ha%AWwgz2Z#TNH!Kyw)L)~+bU^JLb+Y|f60!Q%edBlPhu^Z9EFoc<@2Pee{)&d8DHL4po8>b(9I({EzP|ZhzN*#UuVN^!T6Xz`we7{HyB>BUp2sZ+|W87($w2g!rfHf798< zUxWT%$B)tpAx$ts9A<(x!wF=G62|S%K{QbeVW#TA`HSwS??D}A`UmbL8NvQnl<4OW zr>O4l*nxx!P96_guF%MIAvI}Obt2HXowKiDkfikMtvp6 z8D7Hc2)(;OBIGvhuris?W!ss6{S6{iqv101UXYh%l5iLn zg*)W-k+qt~cW0aA_6Xrjywyo7i0#viTK>1l7{@Rr80G+=8&br zT|8*WLB2IwmkE<#$#=Wd~~`)JpiNaWl5ISlkk zhLX^>PJMmrq=1W;x|RhG!vdyn@%Q$CmT#!c+Ha=8iMPFQ-f(Y;LxxTiIn-d7ZrrJM1CmZx_2QmUhJu? z-M8;{+%{0^r9U>O^%yL-_bL&`R02@6;W~~_xGh5D#I zkEyyxr|P+_RnDz&HlmV1nv9xl97dKdhx?fsdV|bcX5UsH;?7K62jSx{7+P z=MVFZahdB!BUCjX72%WJZL>QR9G8mEX?h(JvA%%kfh2yv Yc1tMOB4D!LG?mv+2 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 diff --git a/electrical/same54_dev_board/same54_dev_board-backups/same54_dev_board-2022-02-13_232912.zip b/electrical/same54_dev_board/same54_dev_board-backups/same54_dev_board-2022-02-13_232912.zip deleted file mode 100644 index e3e3f5da3ee5a0c4b05246e902ac37273f098f63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13771 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 tTK%VTx3Z)W4}-n%#U?TdK-pLyy_oyw{@ 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 diff --git a/electrical/same54_dev_board/same54_dev_board-cache.lib b/electrical/same54_dev_board/same54_dev_board-cache.lib deleted file mode 100644 index e7a54f7..0000000 --- a/electrical/same54_dev_board/same54_dev_board-cache.lib +++ /dev/null @@ -1,671 +0,0 @@ -EESchema-LIBRARY Version 2.4 -#encoding utf-8 -# -# Conn_02x20_LCD_INTF_Conn_02x20_Odd_Even_LCD_INTF -# -DEF Conn_02x20_LCD_INTF_Conn_02x20_Odd_Even_LCD_INTF J 0 40 Y Y 1 F N -F0 "J" 0 -1100 50 H V C CNN -F1 "Conn_02x20_LCD_INTF_Conn_02x20_Odd_Even_LCD_INTF" -600 1050 50 H V L CNN -F2 "" -400 0 50 H I C CNN -F3 "" -400 0 50 H I C CNN -$FPLIST - Connector*:*_2x??-1MP* -$ENDFPLIST -DRAW -S -450 -995 -400 -1005 1 1 6 N -S -450 -895 -400 -905 1 1 6 N -S -450 -795 -400 -805 1 1 6 N -S -450 -695 -400 -705 1 1 6 N -S -450 -595 -400 -605 1 1 6 N -S -450 -495 -400 -505 1 1 6 N -S -450 -395 -400 -405 1 1 6 N -S -450 -295 -400 -305 1 1 6 N -S -450 -195 -400 -205 1 1 6 N -S -450 -95 -400 -105 1 1 6 N -S -450 5 -400 -5 1 1 6 N -S -450 105 -400 95 1 1 6 N -S -450 205 -400 195 1 1 6 N -S -450 305 -400 295 1 1 6 N -S -450 405 -400 395 1 1 6 N -S -450 505 -400 495 1 1 6 N -S -450 605 -400 595 1 1 6 N -S -450 705 -400 695 1 1 6 N -S -450 805 -400 795 1 1 6 N -S -450 905 -400 895 1 1 6 N -S -450 950 450 -1050 1 1 10 f -S 450 -995 400 -1005 1 1 6 N -S 450 -895 400 -905 1 1 6 N -S 450 -795 400 -805 1 1 6 N -S 450 -695 400 -705 1 1 6 N -S 450 -595 400 -605 1 1 6 N -S 450 -495 400 -505 1 1 6 N -S 450 -395 400 -405 1 1 6 N -S 450 -295 400 -305 1 1 6 N -S 450 -195 400 -205 1 1 6 N -S 450 -95 400 -105 1 1 6 N -S 450 5 400 -5 1 1 6 N -S 450 105 400 95 1 1 6 N -S 450 205 400 195 1 1 6 N -S 450 305 400 295 1 1 6 N -S 450 405 400 395 1 1 6 N -S 450 505 400 495 1 1 6 N -S 450 605 400 595 1 1 6 N -S 450 705 400 695 1 1 6 N -S 450 805 400 795 1 1 6 N -S 450 905 400 895 1 1 6 N -X VCC 1 -600 900 150 R 50 50 1 1 W -X ~TFT_WR 10 600 500 150 L 50 50 1 1 P -X ~TFT_RD 11 -600 400 150 R 50 50 1 1 P -X TFT_TE 12 600 400 150 L 50 50 1 1 I -X TFT_D0 13 -600 300 150 R 50 50 1 1 P -X TFT_D1 14 600 300 150 L 50 50 1 1 P -X TFT_D2 15 -600 200 150 R 50 50 1 1 P -X TFT_D3 16 600 200 150 L 50 50 1 1 P -X TFT_D4 17 -600 100 150 R 50 50 1 1 P -X TFT_D5 18 600 100 150 L 50 50 1 1 P -X TFT_D6 19 -600 0 150 R 50 50 1 1 P -X GND 2 600 900 150 L 50 50 1 1 P -X TFT_D7 20 600 0 150 L 50 50 1 1 P -X TFT_D8 21 -600 -100 150 R 50 50 1 1 P -X TFT_D9 22 600 -100 150 L 50 50 1 1 P -X TFT_D10 23 -600 -200 150 R 50 50 1 1 P -X TFT_D11 24 600 -200 150 L 50 50 1 1 P -X TFT_D12 25 -600 -300 150 R 50 50 1 1 P -X TFT_D13 26 600 -300 150 L 50 50 1 1 P -X TFT_D14 27 -600 -400 150 R 50 50 1 1 P -X TFT_D15 28 600 -400 150 L 50 50 1 1 P -X TFT_D16 29 -600 -500 150 R 50 50 1 1 P -X CPT_SCL 3 -600 800 150 R 50 50 1 1 P -X TFT_D17 30 600 -500 150 L 50 50 1 1 P -X TFT_D18 31 -600 -600 150 R 50 50 1 1 P -X TFT_D19 32 600 -600 150 L 50 50 1 1 P -X TFT_D20 33 -600 -700 150 R 50 50 1 1 P -X TFT_D21 34 600 -700 150 L 50 50 1 1 P -X TFT_D22 35 -600 -800 150 R 50 50 1 1 P -X TFT_D23 36 600 -800 150 L 50 50 1 1 P -X TFT_STB 37 -600 -900 150 R 50 50 1 1 P -X NC 38 600 -900 150 L 50 50 1 1 N -X Pin_39 39 -600 -1000 150 R 50 50 1 1 P -X CPT_SDA 4 600 800 150 L 50 50 1 1 P -X NC 40 600 -1000 150 L 50 50 1 1 N -X CPT_INT 5 -600 700 150 R 50 50 1 1 P -X TFT_GPO 6 600 700 150 L 50 50 1 1 O -X ~TFT_RST 7 -600 600 150 R 50 50 1 1 P -X TFT_D/C 8 600 600 150 L 50 50 1 1 P -X ~TFT_CS 9 -600 500 150 R 50 50 1 1 P -ENDDRAW -ENDDEF -# -# Connector_Barrel_Jack_Switch -# -DEF Connector_Barrel_Jack_Switch J 0 20 Y N 1 F N -F0 "J" 0 210 50 H V C CNN -F1 "Connector_Barrel_Jack_Switch" 0 -200 50 H V C CNN -F2 "" 50 -40 50 H I C CNN -F3 "" 50 -40 50 H I C CNN -$FPLIST - BarrelJack* -$ENDFPLIST -DRAW -A -130 100 25 901 -901 0 1 10 F -130 125 -130 75 -A -130 100 25 901 -901 0 1 10 N -130 125 -130 75 -S -200 150 200 -150 0 1 10 f -S 145 125 -130 75 0 1 10 F -P 2 0 1 10 50 -90 75 -65 N -P 2 0 1 10 200 100 150 100 N -P 4 0 1 10 200 0 50 0 50 -90 25 -65 N -P 6 0 1 10 -150 -100 -100 -100 -50 -50 0 -100 100 -100 200 -100 N -X ~ 1 300 100 100 L 50 50 1 1 P -X ~ 2 300 -100 100 L 50 50 1 1 P -X ~ 3 300 0 100 L 50 50 1 1 P -ENDDRAW -ENDDEF -# -# Connector_Conn_ARM_JTAG_SWD_10 -# -DEF Connector_Conn_ARM_JTAG_SWD_10 J 0 40 Y Y 1 F N -F0 "J" -100 650 50 H V R CNN -F1 "Connector_Conn_ARM_JTAG_SWD_10" -100 550 50 H V R BNN -F2 "" 0 0 50 H I C CNN -F3 "" -350 -1250 50 V I C CNN -$FPLIST - PinHeader?2x05?P1.27mm* -$ENDFPLIST -DRAW -S -400 500 400 -500 0 1 10 f -S -110 -500 -90 -460 0 1 0 N -S -10 -500 10 -460 0 1 0 N -S -10 500 10 460 0 1 0 N -S 360 90 400 110 0 1 0 N -S 400 -110 360 -90 0 1 0 N -S 400 -10 360 10 0 1 0 N -S 400 310 360 290 0 1 0 N -S 360 -210 400 -190 1 1 0 N -X VTref 1 0 600 100 D 50 50 1 1 W -X ~RESET~ 10 500 300 100 L 50 50 1 1 C -X SWDIO/TMS 2 500 0 100 L 50 50 1 1 B -X GND 3 0 -600 100 U 50 50 1 1 W -X SWDCLK/TCK 4 500 100 100 L 50 50 1 1 O -X GND 5 0 -600 100 U 50 50 1 1 P N -X SWO/TDO 6 500 -100 100 L 50 50 1 1 I -X KEY 7 -400 0 100 R 50 50 1 1 N N -X NC/TDI 8 500 -200 100 L 50 50 1 1 O -X GNDDetect 9 -100 -600 100 U 50 50 1 1 P -ENDDRAW -ENDDEF -# -# Connector_USB_B_Micro -# -DEF Connector_USB_B_Micro J 0 40 Y Y 1 F N -F0 "J" -200 450 50 H V L CNN -F1 "Connector_USB_B_Micro" -200 350 50 H V L CNN -F2 "" 150 -50 50 H I C CNN -F3 "" 150 -50 50 H I C CNN -ALIAS USB_B_Mini -$FPLIST - USB* -$ENDFPLIST -DRAW -C -150 85 25 0 1 10 F -C -25 135 15 0 1 10 F -S -200 -300 200 300 0 1 10 f -S -5 -300 5 -270 0 1 0 N -S 10 50 -20 20 0 1 10 F -S 200 -205 170 -195 0 1 0 N -S 200 -105 170 -95 0 1 0 N -S 200 -5 170 5 0 1 0 N -S 200 195 170 205 0 1 0 N -P 2 0 1 10 -75 85 25 85 N -P 4 0 1 10 -125 85 -100 85 -50 135 -25 135 N -P 4 0 1 10 -100 85 -75 85 -50 35 0 35 N -P 4 0 1 10 25 110 25 60 75 85 25 110 F -P 5 0 1 0 -170 220 -70 220 -80 190 -160 190 -170 220 F -P 9 0 1 0 -185 230 -185 220 -175 190 -175 180 -65 180 -65 190 -55 220 -55 230 -185 230 N -X VBUS 1 300 200 100 L 50 50 1 1 w -X D- 2 300 -100 100 L 50 50 1 1 P -X D+ 3 300 0 100 L 50 50 1 1 P -X ID 4 300 -200 100 L 50 50 1 1 P -X GND 5 0 -400 100 U 50 50 1 1 w -X Shield 6 -100 -400 100 U 50 50 1 1 P -ENDDRAW -ENDDEF -# -# Device_C_Small -# -DEF Device_C_Small C 0 10 N N 1 F N -F0 "C" 10 70 50 H V L CNN -F1 "Device_C_Small" 10 -80 50 H V L CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -$FPLIST - C_* -$ENDFPLIST -DRAW -P 2 0 1 13 -60 -20 60 -20 N -P 2 0 1 12 -60 20 60 20 N -X ~ 1 0 100 80 D 50 50 1 1 P -X ~ 2 0 -100 80 U 50 50 1 1 P -ENDDRAW -ENDDEF -# -# Device_Crystal -# -DEF Device_Crystal Y 0 40 N N 1 F N -F0 "Y" 0 150 50 H V C CNN -F1 "Device_Crystal" 0 -150 50 H V C CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -$FPLIST - Crystal* -$ENDFPLIST -DRAW -S -45 100 45 -100 0 1 12 N -P 2 0 1 0 -100 0 -75 0 N -P 2 0 1 20 -75 -50 -75 50 N -P 2 0 1 20 75 -50 75 50 N -P 2 0 1 0 100 0 75 0 N -X 1 1 -150 0 50 R 50 50 1 1 P -X 2 2 150 0 50 L 50 50 1 1 P -ENDDRAW -ENDDEF -# -# Device_Crystal_GND24 -# -DEF Device_Crystal_GND24 Y 0 40 Y N 1 F N -F0 "Y" 125 200 50 H V L CNN -F1 "Device_Crystal_GND24" 125 125 50 H V L CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -$FPLIST - Crystal* -$ENDFPLIST -DRAW -S -45 100 45 -100 0 1 12 N -P 2 0 1 0 -100 0 -80 0 N -P 2 0 1 20 -80 -50 -80 50 N -P 2 0 1 0 0 -150 0 -140 N -P 2 0 1 0 0 140 0 150 N -P 2 0 1 20 80 -50 80 50 N -P 2 0 1 0 80 0 100 0 N -P 4 0 1 0 -100 -90 -100 -140 100 -140 100 -90 N -P 4 0 1 0 -100 90 -100 140 100 140 100 90 N -X 1 1 -150 0 50 R 50 50 1 1 P -X 2 2 0 200 50 D 50 50 1 1 P -X 3 3 150 0 50 L 50 50 1 1 P -X 4 4 0 -200 50 U 50 50 1 1 P -ENDDRAW -ENDDEF -# -# Device_Ferrite_Bead_Small -# -DEF Device_Ferrite_Bead_Small FB 0 0 N Y 1 F N -F0 "FB" 75 50 50 H V L CNN -F1 "Device_Ferrite_Bead_Small" 75 -50 50 H V L CNN -F2 "" -70 0 50 V I C CNN -F3 "" 0 0 50 H I C CNN -$FPLIST - Inductor_* - L_* - *Ferrite* -$ENDFPLIST -DRAW -P 2 0 1 0 0 -50 0 -31 N -P 2 0 1 0 0 35 0 51 N -P 5 0 1 0 -72 11 -44 59 72 -8 44 -56 -72 11 N -X ~ 1 0 100 50 D 50 50 1 1 P -X ~ 2 0 -100 50 U 50 50 1 1 P -ENDDRAW -ENDDEF -# -# Device_R_Small -# -DEF Device_R_Small R 0 10 N N 1 F N -F0 "R" 30 20 50 H V L CNN -F1 "Device_R_Small" 30 -40 50 H V L CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -$FPLIST - R_* -$ENDFPLIST -DRAW -S -30 70 30 -70 0 1 8 N -X ~ 1 0 100 30 D 50 50 1 1 P -X ~ 2 0 -100 30 U 50 50 1 1 P -ENDDRAW -ENDDEF -# -# MAX7301AAX__MAX7301AAX+ -# -DEF MAX7301AAX__MAX7301AAX+ U 0 40 Y Y 1 L N -F0 "U" -500 1339 50 H V L BNN -F1 "MAX7301AAX__MAX7301AAX+" -500 -1457 50 H V L BNN -F2 "SOP80P1030X264-36N" 0 0 50 H I L BNN -F3 "Maxim Integrated" 0 0 50 H I L BNN -F4 "None" 0 0 50 H I L BNN -F5 "Interface IC - I/O extensions Maxim Integrated MAX7301AAX+ SPI 26 MHz SSOP 36" 0 0 50 H I L BNN -F6 "SSOP-36 Maxim" 0 0 50 H I L BNN -F7 "Unavailable" 0 0 50 H I L BNN -F8 "MAX7301AAX+" 0 0 50 H I L BNN -DRAW -P 2 0 0 16 -500 -1300 -500 1300 N -P 2 0 0 16 -500 1300 500 1300 N -P 2 0 0 16 500 -1300 -500 -1300 N -P 2 0 0 16 500 1300 500 -1300 N -X ISET 1 -700 1000 200 R 40 40 0 0 I -X P9 10 -700 0 200 R 40 40 0 0 B -X P10 11 -700 -100 200 R 40 40 0 0 B -X P11 12 -700 -200 200 R 40 40 0 0 B -X P12 13 -700 -300 200 R 40 40 0 0 B -X P13 14 -700 -400 200 R 40 40 0 0 B -X P14 15 -700 -500 200 R 40 40 0 0 B -X P15 16 -700 -600 200 R 40 40 0 0 B -X P16 17 -700 -700 200 R 40 40 0 0 B -X P17 18 -700 -800 200 R 40 40 0 0 B -X P18 19 700 500 200 L 40 40 0 0 B -X GND 2 700 -1100 200 L 40 40 0 0 W -X P19 20 700 400 200 L 40 40 0 0 B -X P20 21 700 300 200 L 40 40 0 0 B -X P21 22 700 200 200 L 40 40 0 0 B -X P22 23 700 100 200 L 40 40 0 0 B -X P23 24 700 0 200 L 40 40 0 0 B -X P24 25 700 -100 200 L 40 40 0 0 B -X P25 26 700 -200 200 L 40 40 0 0 B -X P26 27 700 -300 200 L 40 40 0 0 B -X P27 28 700 -400 200 L 40 40 0 0 B -X P28 29 700 -500 200 L 40 40 0 0 B -X GND 3 700 -1000 200 L 40 40 0 0 W -X P29 30 700 -600 200 L 40 40 0 0 B -X P30 31 700 -700 200 L 40 40 0 0 B -X P31 32 700 -800 200 L 40 40 0 0 B -X SCLK 33 700 900 200 L 40 40 0 0 I C -X DIN 34 700 800 200 L 40 40 0 0 I -X CS 35 700 1000 200 L 40 40 0 0 I -X V+ 36 700 1200 200 L 40 40 0 0 W -X DOUT 4 700 700 200 L 40 40 0 0 O -X P4 5 -700 500 200 R 40 40 0 0 B -X P5 6 -700 400 200 R 40 40 0 0 B -X P6 7 -700 300 200 R 40 40 0 0 B -X P7 8 -700 200 200 R 40 40 0 0 B -X P8 9 -700 100 200 R 40 40 0 0 B -ENDDRAW -ENDDEF -# -# dk_Interface-Controllers_FT232RQ-REEL -# -DEF dk_Interface-Controllers_FT232RQ-REEL U 0 40 Y Y 1 F N -F0 "U" -600 50 60 H V L CNN -F1 "dk_Interface-Controllers_FT232RQ-REEL" -200 -1300 60 V V L CNN -F2 "digikey-footprints:QFN-32-1EP_5x5mm" 200 200 60 H I L CNN -F3 "https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf" 200 300 60 H I L CNN -F4 "768-1008-1-ND" 200 400 60 H I L CNN "Digi-Key_PN" -F5 "FT232RQ-REEL" 200 500 60 H I L CNN "MPN" -F6 "Integrated Circuits (ICs)" 200 600 60 H I L CNN "Category" -F7 "Interface - Controllers" 200 700 60 H I L CNN "Family" -F8 "https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf" 200 800 60 H I L CNN "DK_Datasheet_Link" -F9 "/product-detail/en/ftdi-future-technology-devices-international-ltd/FT232RQ-REEL/768-1008-1-ND/1836403" 200 900 60 H I L CNN "DK_Detail_Page" -F10 "IC USB FS SERIAL UART 32-QFN" 200 1000 60 H I L CNN "Description" -F11 "FTDI, Future Technology Devices International Ltd" 200 1100 60 H I L CNN "Manufacturer" -F12 "Active" 200 1200 60 H I L CNN "Status" -DRAW -S -600 0 200 -1600 0 1 0 f -X VCCIO 1 -200 100 100 D 50 50 1 1 W -X CBUS2 10 -700 -700 100 R 50 50 1 1 B -X CBUS3 11 -700 -800 100 R 50 50 1 1 B -X NC 12 200 -900 100 L 50 50 1 1 N N -X NC 13 200 -1000 100 L 50 50 1 1 N N -X USBDP 14 -700 -900 100 R 50 50 1 1 B -X USBDM 15 -700 -1000 100 R 50 50 1 1 B -X 3V3OUT 16 300 -300 100 L 50 50 1 1 O -X GND 17 -200 -1700 100 U 50 50 1 1 W -X RESET# 18 -700 -1100 100 R 50 50 1 1 I -X VCC 19 -100 100 100 D 50 50 1 1 W -X RXD 2 -700 -100 100 R 50 50 1 1 I -X GND 20 -100 -1700 100 U 50 50 1 1 W -X CBUS1 21 -700 -1200 100 R 50 50 1 1 B -X CBUS0 22 -700 -1300 100 R 50 50 1 1 B -X NC 23 200 -1100 100 L 50 50 1 1 N N -X AGND 24 0 -1700 100 U 50 50 1 1 W -X NC 25 200 -1200 100 L 50 50 1 1 N N -X TEST 26 -700 -1400 100 R 50 50 1 1 I -X OSCI 27 -700 -1500 100 R 50 50 1 1 I -X OSCO 28 300 -400 100 L 50 50 1 1 O -X NC 29 200 -1300 100 L 50 50 1 1 N N -X RI# 3 -700 -200 100 R 50 50 1 1 I -X TXD 30 300 -500 100 L 50 50 1 1 O -X DTR# 31 300 -600 100 L 50 50 1 1 O -X RTS# 32 300 -700 100 L 50 50 1 1 O -X EP 33 100 -1700 100 U 50 50 1 1 U -X GND 4 -300 -1700 100 U 50 50 1 1 W -X NC 5 200 -800 100 L 50 50 1 1 N N -X DSR# 6 -700 -300 100 R 50 50 1 1 I -X DCD# 7 -700 -400 100 R 50 50 1 1 I -X CTS# 8 -700 -500 100 R 50 50 1 1 I -X CBUS4 9 -700 -600 100 R 50 50 1 1 B -ENDDRAW -ENDDEF -# -# dk_Transistors-FETs-MOSFETs-Single_IRLML6402TRPBF -# -DEF dk_Transistors-FETs-MOSFETs-Single_IRLML6402TRPBF Q 0 0 Y Y 1 F N -F0 "Q" -106 143 60 H V R CNN -F1 "dk_Transistors-FETs-MOSFETs-Single_IRLML6402TRPBF" 136 0 60 V V C CNN -F2 "digikey-footprints:SOT-23-3" 200 200 60 H I L CNN -F3 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" 200 300 60 H I L CNN -F4 "IRLML6402PBFCT-ND" 200 400 60 H I L CNN "Digi-Key_PN" -F5 "IRLML6402TRPBF" 200 500 60 H I L CNN "MPN" -F6 "Discrete Semiconductor Products" 200 600 60 H I L CNN "Category" -F7 "Transistors - FETs, MOSFETs - Single" 200 700 60 H I L CNN "Family" -F8 "https://www.infineon.com/dgdl/irlml6402pbf.pdf?fileId=5546d462533600a401535668d5c2263c" 200 800 60 H I L CNN "DK_Datasheet_Link" -F9 "/product-detail/en/infineon-technologies/IRLML6402TRPBF/IRLML6402PBFCT-ND/812500" 200 900 60 H I L CNN "DK_Detail_Page" -F10 "MOSFET P-CH 20V 3.7A SOT-23" 200 1000 60 H I L CNN "Description" -F11 "Infineon Technologies" 200 1100 60 H I L CNN "Manufacturer" -F12 "Active" 200 1200 60 H I L CNN "Status" -DRAW -C -50 0 130 0 1 0 f -C 0 -75 5 0 1 0 N -C 0 -55 5 0 1 0 N -C 0 75 5 0 1 0 N -P 2 0 1 0 0 -55 -100 -55 N -P 3 0 1 0 -200 -100 -120 -100 -120 55 N -P 3 0 1 0 0 -100 0 0 -100 0 N -P 3 0 1 0 0 100 0 55 -100 55 N -P 5 0 1 0 -5 -75 40 -75 40 55 40 75 -5 75 N -P 2 1 1 0 -100 -55 -100 -75 N -P 2 1 1 0 -100 -55 -100 -35 N -P 2 1 1 0 -100 0 -100 -20 N -P 2 1 1 0 -100 0 -100 20 N -P 2 1 1 0 -100 75 -100 35 N -P 2 1 1 0 60 -8 20 -8 N -P 4 1 1 0 -15 0 -45 20 -45 -20 -15 0 F -P 4 1 1 0 40 -10 60 20 20 20 40 -10 F -X G 1 -300 -100 100 R 50 50 1 1 B -X S 2 0 -200 100 U 50 50 1 1 B -X D 3 0 200 100 D 50 50 1 1 B -ENDDRAW -ENDDEF -# -# p_ATSAME54P20A-AU_p_ATSAME54P20A-AU -# -DEF p_ATSAME54P20A-AU_p_ATSAME54P20A-AU U 0 40 Y Y 5 L N -F0 "U" 0 -2600 50 H V C CNN -F1 "p_ATSAME54P20A-AU_p_ATSAME54P20A-AU" 0 1050 50 H V C CNN -F2 "" -1200 1250 50 H I C CNN -F3 "" -1200 1250 50 H I C CNN -DRAW -T 0 0 950 50 0 1 0 "Port A" Normal 0 C C -T 0 0 800 50 0 2 0 "Port B" Normal 0 C C -T 0 0 750 50 0 3 0 "Port C" Normal 0 C C -T 0 0 850 50 0 4 0 "Port D" Normal 0 C C -T 0 50 650 50 0 5 0 "Power Bus" Normal 0 C C -S -450 1000 400 -2150 1 1 0 f -S -500 900 500 -2550 2 1 0 f -S -450 850 450 -2250 3 1 0 f -S -400 900 400 -150 4 1 0 f -S -800 750 800 -1450 5 1 0 f -X XIN32/PA00 1 600 750 200 L 50 50 1 1 B -X PA03 10 600 450 200 L 50 50 1 1 B -X PA27 113 600 -1850 200 L 50 50 1 1 B -X SWCLK/PA30 119 600 -1950 200 L 50 50 1 1 B -X SWDIO/PA31 120 600 -2050 200 L 50 50 1 1 B -X XOUT32/PA01 2 600 650 200 L 50 50 1 1 B -X PA04 21 600 350 200 L 50 50 1 1 B -X PA05 22 600 250 200 L 50 50 1 1 B -X PA06 23 600 150 200 L 50 50 1 1 B -X PA07 24 600 50 200 L 50 50 1 1 B -X PA08 33 600 -50 200 L 50 50 1 1 B -X PA09 34 600 -150 200 L 50 50 1 1 B -X PA10 35 600 -250 200 L 50 50 1 1 B -X PA11 36 600 -350 200 L 50 50 1 1 B -X PA12 60 600 -450 200 L 50 50 1 1 B -X PA13 61 600 -550 200 L 50 50 1 1 B -X XIN0/PA14 62 600 -650 200 L 50 50 1 1 B -X XOUT0/PA15 63 600 -750 200 L 50 50 1 1 B -X PA16 66 600 -850 200 L 50 50 1 1 B -X PA17 67 600 -950 200 L 50 50 1 1 B -X PA18 68 600 -1050 200 L 50 50 1 1 B -X PA19 69 600 -1150 200 L 50 50 1 1 B -X PA20 88 600 -1250 200 L 50 50 1 1 B -X PA21 89 600 -1350 200 L 50 50 1 1 B -X PA02 9 600 550 200 L 50 50 1 1 B -X PA22 92 600 -1450 200 L 50 50 1 1 B -X PA23 93 600 -1550 200 L 50 50 1 1 B -X PA24 94 600 -1650 200 L 50 50 1 1 B -X PA25 95 600 -1750 200 L 50 50 1 1 B -X PB24 100 700 -1750 197 L 50 50 2 1 B -X PB25 101 700 -1850 197 L 50 50 2 1 B -X PB26 102 700 -1950 197 L 50 50 2 1 B -X PB27 103 700 -2050 197 L 50 50 2 1 B -X PB28 104 700 -2150 197 L 50 50 2 1 B -X PB29 105 700 -2250 197 L 50 50 2 1 B -X PB04 11 700 250 197 L 50 50 2 1 B -X PB05 12 700 150 197 L 50 50 2 1 B -X SWO/PB30 121 700 -2350 197 L 50 50 2 1 B -X PB31 122 700 -2450 197 L 50 50 2 1 B -X PB00 125 700 650 197 L 50 50 2 1 B -X PB01 126 700 550 197 L 50 50 2 1 B -X PB02 127 700 450 197 L 50 50 2 1 B -X PB03 128 700 350 197 L 50 50 2 1 B -X PB06 17 700 50 197 L 50 50 2 1 B -X PB07 18 700 -50 197 L 50 50 2 1 B -X PB08 19 700 -150 197 L 50 50 2 1 B -X PB09 20 700 -250 197 L 50 50 2 1 B -X PB10 39 700 -350 197 L 50 50 2 1 B -X PB11 40 700 -450 197 L 50 50 2 1 B -X PB12 41 700 -550 197 L 50 50 2 1 B -X PB13 42 700 -650 197 L 50 50 2 1 B -X PB14 43 700 -750 197 L 50 50 2 1 B -X PB15 44 700 -850 197 L 50 50 2 1 B -X PB16 82 700 -950 197 L 50 50 2 1 B -X PB17 83 700 -1050 197 L 50 50 2 1 B -X PB18 84 700 -1150 197 L 50 50 2 1 B -X PB19 85 700 -1250 197 L 50 50 2 1 B -X PB20 86 700 -1350 197 L 50 50 2 1 B -X PB21 87 700 -1450 197 L 50 50 2 1 B -X XIN1/PB22 98 700 -1550 197 L 50 50 2 1 B -X XOUT1/PB23 99 700 -1650 197 L 50 50 2 1 B -X PC24 108 650 -1550 197 L 50 50 3 1 B -X PC25 109 650 -1650 197 L 50 50 3 1 B -X PC26 110 650 -1750 197 L 50 50 3 1 B -X PC27 111 650 -1850 197 L 50 50 3 1 B -X PC28 112 650 -1950 197 L 50 50 3 1 B -X PC30 123 650 -2050 197 L 50 50 3 1 B -X PC31 124 650 -2150 197 L 50 50 3 1 B -X PC04 27 650 250 197 L 50 50 3 1 B -X PC05 28 650 150 197 L 50 50 3 1 B -X PC06 29 650 50 197 L 50 50 3 1 B -X PC00 3 650 650 197 L 50 50 3 1 B -X PC07 30 650 -50 197 L 50 50 3 1 B -X PC01 4 650 550 197 L 50 50 3 1 B -X PC10 52 650 -150 197 L 50 50 3 1 B -X PC11 55 650 -250 197 L 50 50 3 1 B -X PC12 56 650 -350 197 L 50 50 3 1 B -X PC13 57 650 -450 197 L 50 50 3 1 B -X PC14 58 650 -550 197 L 50 50 3 1 B -X PC15 59 650 -650 197 L 50 50 3 1 B -X PC02 7 650 450 197 L 50 50 3 1 B -X PC16 70 650 -750 197 L 50 50 3 1 B -X PC17 71 650 -850 197 L 50 50 3 1 B -X PC18 72 650 -950 197 L 50 50 3 1 B -X PC19 73 650 -1050 197 L 50 50 3 1 B -X PC20 74 650 -1150 197 L 50 50 3 1 B -X PC21 75 650 -1250 197 L 50 50 3 1 B -X PC22 76 650 -1350 197 L 50 50 3 1 B -X PC23 77 650 -1450 197 L 50 50 3 1 B -X PC03 8 650 350 197 L 50 50 3 1 B -X PD00 13 600 750 197 L 50 50 4 1 B -X PD01 16 600 650 197 L 50 50 4 1 B -X PD08 47 600 550 197 L 50 50 4 1 B -X PD09 48 600 450 197 L 50 50 4 1 B -X PD10 49 600 350 197 L 50 50 4 1 B -X PD11 50 600 250 197 L 50 50 4 1 B -X PD12 51 600 150 197 L 50 50 4 1 B -X PD20 80 600 50 197 L 50 50 4 1 B -X PD21 81 600 -50 197 L 50 50 4 1 B -X VDDIO7 107 -1000 -900 197 R 50 50 5 1 W -X ~RESET 114 -1000 650 197 R 50 50 5 1 B -X VDDCORE 115 -1000 -1150 197 R 50 50 5 1 W -X GNDIO 116 1000 -850 197 L 50 50 5 1 W -X VSW 117 -1000 -1300 197 R 50 50 5 1 W -X VDDIO8 118 -1000 -1000 197 R 50 50 5 1 W -X GNDANA1 14 1000 -500 197 L 50 50 5 1 W -X VDDANA2 15 -1000 300 197 R 50 50 5 1 B -X GNDANA2 25 1000 -600 197 L 50 50 5 1 W -X VDDANA3 26 -1000 200 197 R 50 50 5 1 B -X VDDIOB1 32 -1000 0 197 R 50 50 5 1 B -X VDDIOB2 37 -1000 -100 197 R 50 50 5 1 B -X VDDIO1 46 -1000 -300 197 R 50 50 5 1 W -X GND1 5 1000 650 197 L 50 50 5 1 W -X GND10 5 1000 -250 197 L 50 50 5 1 W -X GND2 5 1000 550 197 L 50 50 5 1 W -X GND3 5 1000 450 197 L 50 50 5 1 W -X GND4 5 1000 350 197 L 50 50 5 1 W -X GND5 5 1000 250 197 L 50 50 5 1 W -X GND6 5 1000 150 197 L 50 50 5 1 W -X GND7 5 1000 50 197 L 50 50 5 1 W -X GND8 5 1000 -50 197 L 50 50 5 1 W -X GND9 5 1000 -150 197 L 50 50 5 1 W -X VDDIO2 54 -1000 -400 197 R 50 50 5 1 W -X VDDANA1 6 -1000 400 197 R 50 50 5 1 B -X VDDIO3 65 -1000 -500 197 R 50 50 5 1 W -X VDDIO4 79 -1000 -600 197 R 50 50 5 1 W -X VDDIO5 91 -1000 -700 197 R 50 50 5 1 W -X VDDIO6 97 -1000 -800 197 R 50 50 5 1 W -ENDDRAW -ENDDEF -# -# power_+3V3 -# -DEF power_+3V3 #PWR 0 0 Y Y 1 F P -F0 "#PWR" 0 -150 50 H I C CNN -F1 "power_+3V3" 0 140 50 H V C CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -ALIAS +3.3V -DRAW -P 2 0 1 0 -30 50 0 100 N -P 2 0 1 0 0 0 0 100 N -P 2 0 1 0 0 100 30 50 N -X +3V3 1 0 0 0 U 50 50 1 1 W N -ENDDRAW -ENDDEF -# -# power_+5V -# -DEF power_+5V #PWR 0 0 Y Y 1 F P -F0 "#PWR" 0 -150 50 H I C CNN -F1 "power_+5V" 0 140 50 H V C CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -DRAW -P 2 0 1 0 -30 50 0 100 N -P 2 0 1 0 0 0 0 100 N -P 2 0 1 0 0 100 30 50 N -X +5V 1 0 0 0 U 50 50 1 1 W N -ENDDRAW -ENDDEF -# -# power_GND -# -DEF power_GND #PWR 0 0 Y Y 1 F P -F0 "#PWR" 0 -250 50 H I C CNN -F1 "power_GND" 0 -150 50 H V C CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -DRAW -P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N -X GND 1 0 0 0 D 50 50 1 1 W N -ENDDRAW -ENDDEF -# -# power_PWR_FLAG -# -DEF power_PWR_FLAG #FLG 0 0 N N 1 F P -F0 "#FLG" 0 75 50 H I C CNN -F1 "power_PWR_FLAG" 0 150 50 H V C CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -DRAW -P 6 0 1 0 0 0 0 50 -40 75 0 100 40 75 0 50 N -X pwr 1 0 0 0 U 50 50 0 0 w -ENDDRAW -ENDDEF -# -# same54_dev_board-rescue_NCP349MNAETBG-NCP349MNAETBG -# -DEF same54_dev_board-rescue_NCP349MNAETBG-NCP349MNAETBG U 0 40 Y Y 1 F N -F0 "U" 0 -200 50 H V C CNN -F1 "same54_dev_board-rescue_NCP349MNAETBG-NCP349MNAETBG" 0 350 50 H V C CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -DRAW -S -300 250 300 -150 0 1 0 f -X VIN 1 -400 150 100 R 50 50 1 1 I -X GND 2 -400 50 100 R 50 50 1 1 I -X ~FLAG 3 400 150 100 L 50 50 1 1 I -X ~EN 4 -400 -50 100 R 50 50 1 1 I -X OUT 5 400 50 100 L 50 50 1 1 I -X OUT 6 400 -50 100 L 50 50 1 1 I -ENDDRAW -ENDDEF -# -#End Library diff --git a/electrical/same54_dev_board/same54_dev_board-rescue.dcm b/electrical/same54_dev_board/same54_dev_board-rescue.dcm deleted file mode 100644 index 5dd71cb..0000000 --- a/electrical/same54_dev_board/same54_dev_board-rescue.dcm +++ /dev/null @@ -1,3 +0,0 @@ -EESchema-DOCLIB Version 2.0 -# -#End Doc Library diff --git a/electrical/same54_dev_board/same54_dev_board-rescue.lib b/electrical/same54_dev_board/same54_dev_board-rescue.lib deleted file mode 100644 index 78f0f42..0000000 --- a/electrical/same54_dev_board/same54_dev_board-rescue.lib +++ /dev/null @@ -1,171 +0,0 @@ -EESchema-LIBRARY Version 2.4 -#encoding utf-8 -# -# NCP349MNAETBG-NCP349MNAETBG -# -DEF NCP349MNAETBG-NCP349MNAETBG U 0 40 Y Y 1 F N -F0 "U" 0 -200 50 H V C CNN -F1 "NCP349MNAETBG-NCP349MNAETBG" 0 350 50 H V C CNN -F2 "" 0 0 50 H I C CNN -F3 "" 0 0 50 H I C CNN -DRAW -S -300 250 300 -150 0 1 0 f -X VIN 1 -400 150 100 R 50 50 1 1 I -X GND 2 -400 50 100 R 50 50 1 1 I -X ~FLAG 3 400 150 100 L 50 50 1 1 I -X ~EN 4 -400 -50 100 R 50 50 1 1 I -X OUT 5 400 50 100 L 50 50 1 1 I -X OUT 6 400 -50 100 L 50 50 1 1 I -ENDDRAW -ENDDEF -# -# p_ATSAME54P20A-AU-p_ATSAME54P20A-AU -# -DEF p_ATSAME54P20A-AU-p_ATSAME54P20A-AU U 0 40 Y Y 5 L N -F0 "U" 0 -2600 50 H V C CNN -F1 "p_ATSAME54P20A-AU-p_ATSAME54P20A-AU" 0 1050 50 H V C CNN -F2 "" -1200 1250 50 H I C CNN -F3 "" -1200 1250 50 H I C CNN -DRAW -T 0 0 950 50 0 1 0 "Port A" Normal 0 C C -T 0 0 800 50 0 2 0 "Port B" Normal 0 C C -T 0 0 750 50 0 3 0 "Port C" Normal 0 C C -T 0 0 850 50 0 4 0 "Port D" Normal 0 C C -T 0 50 650 50 0 5 0 "Power Bus" Normal 0 C C -S -450 1000 400 -2150 1 1 0 f -S -500 900 500 -2550 2 1 0 f -S -450 850 450 -2250 3 1 0 f -S -400 900 400 -150 4 1 0 f -S -800 750 800 -1450 5 1 0 f -X XIN32/PA00 1 600 750 200 L 50 50 1 1 B -X PA03 10 600 450 200 L 50 50 1 1 B -X PA27 113 600 -1850 200 L 50 50 1 1 B -X SWCLK/PA30 119 600 -1950 200 L 50 50 1 1 B -X SWDIO/PA31 120 600 -2050 200 L 50 50 1 1 B -X XOUT32/PA01 2 600 650 200 L 50 50 1 1 B -X PA04 21 600 350 200 L 50 50 1 1 B -X PA05 22 600 250 200 L 50 50 1 1 B -X PA06 23 600 150 200 L 50 50 1 1 B -X PA07 24 600 50 200 L 50 50 1 1 B -X PA08 33 600 -50 200 L 50 50 1 1 B -X PA09 34 600 -150 200 L 50 50 1 1 B -X PA10 35 600 -250 200 L 50 50 1 1 B -X PA11 36 600 -350 200 L 50 50 1 1 B -X PA12 60 600 -450 200 L 50 50 1 1 B -X PA13 61 600 -550 200 L 50 50 1 1 B -X XIN0/PA14 62 600 -650 200 L 50 50 1 1 B -X XOUT0/PA15 63 600 -750 200 L 50 50 1 1 B -X PA16 66 600 -850 200 L 50 50 1 1 B -X PA17 67 600 -950 200 L 50 50 1 1 B -X PA18 68 600 -1050 200 L 50 50 1 1 B -X PA19 69 600 -1150 200 L 50 50 1 1 B -X PA20 88 600 -1250 200 L 50 50 1 1 B -X PA21 89 600 -1350 200 L 50 50 1 1 B -X PA02 9 600 550 200 L 50 50 1 1 B -X PA22 92 600 -1450 200 L 50 50 1 1 B -X PA23 93 600 -1550 200 L 50 50 1 1 B -X PA24 94 600 -1650 200 L 50 50 1 1 B -X PA25 95 600 -1750 200 L 50 50 1 1 B -X PB24 100 700 -1750 197 L 50 50 2 1 B -X PB25 101 700 -1850 197 L 50 50 2 1 B -X PB26 102 700 -1950 197 L 50 50 2 1 B -X PB27 103 700 -2050 197 L 50 50 2 1 B -X PB28 104 700 -2150 197 L 50 50 2 1 B -X PB29 105 700 -2250 197 L 50 50 2 1 B -X PB04 11 700 250 197 L 50 50 2 1 B -X PB05 12 700 150 197 L 50 50 2 1 B -X SWO/PB30 121 700 -2350 197 L 50 50 2 1 B -X PB31 122 700 -2450 197 L 50 50 2 1 B -X PB00 125 700 650 197 L 50 50 2 1 B -X PB01 126 700 550 197 L 50 50 2 1 B -X PB02 127 700 450 197 L 50 50 2 1 B -X PB03 128 700 350 197 L 50 50 2 1 B -X PB06 17 700 50 197 L 50 50 2 1 B -X PB07 18 700 -50 197 L 50 50 2 1 B -X PB08 19 700 -150 197 L 50 50 2 1 B -X PB09 20 700 -250 197 L 50 50 2 1 B -X PB10 39 700 -350 197 L 50 50 2 1 B -X PB11 40 700 -450 197 L 50 50 2 1 B -X PB12 41 700 -550 197 L 50 50 2 1 B -X PB13 42 700 -650 197 L 50 50 2 1 B -X PB14 43 700 -750 197 L 50 50 2 1 B -X PB15 44 700 -850 197 L 50 50 2 1 B -X PB16 82 700 -950 197 L 50 50 2 1 B -X PB17 83 700 -1050 197 L 50 50 2 1 B -X PB18 84 700 -1150 197 L 50 50 2 1 B -X PB19 85 700 -1250 197 L 50 50 2 1 B -X PB20 86 700 -1350 197 L 50 50 2 1 B -X PB21 87 700 -1450 197 L 50 50 2 1 B -X XIN1/PB22 98 700 -1550 197 L 50 50 2 1 B -X XOUT1/PB23 99 700 -1650 197 L 50 50 2 1 B -X PC24 108 650 -1550 197 L 50 50 3 1 B -X PC25 109 650 -1650 197 L 50 50 3 1 B -X PC26 110 650 -1750 197 L 50 50 3 1 B -X PC27 111 650 -1850 197 L 50 50 3 1 B -X PC28 112 650 -1950 197 L 50 50 3 1 B -X PC30 123 650 -2050 197 L 50 50 3 1 B -X PC31 124 650 -2150 197 L 50 50 3 1 B -X PC04 27 650 250 197 L 50 50 3 1 B -X PC05 28 650 150 197 L 50 50 3 1 B -X PC06 29 650 50 197 L 50 50 3 1 B -X PC00 3 650 650 197 L 50 50 3 1 B -X PC07 30 650 -50 197 L 50 50 3 1 B -X PC01 4 650 550 197 L 50 50 3 1 B -X PC10 52 650 -150 197 L 50 50 3 1 B -X PC11 55 650 -250 197 L 50 50 3 1 B -X PC12 56 650 -350 197 L 50 50 3 1 B -X PC13 57 650 -450 197 L 50 50 3 1 B -X PC14 58 650 -550 197 L 50 50 3 1 B -X PC15 59 650 -650 197 L 50 50 3 1 B -X PC02 7 650 450 197 L 50 50 3 1 B -X PC16 70 650 -750 197 L 50 50 3 1 B -X PC17 71 650 -850 197 L 50 50 3 1 B -X PC18 72 650 -950 197 L 50 50 3 1 B -X PC19 73 650 -1050 197 L 50 50 3 1 B -X PC20 74 650 -1150 197 L 50 50 3 1 B -X PC21 75 650 -1250 197 L 50 50 3 1 B -X PC22 76 650 -1350 197 L 50 50 3 1 B -X PC23 77 650 -1450 197 L 50 50 3 1 B -X PC03 8 650 350 197 L 50 50 3 1 B -X PD00 13 600 750 197 L 50 50 4 1 B -X PD01 16 600 650 197 L 50 50 4 1 B -X PD08 47 600 550 197 L 50 50 4 1 B -X PD09 48 600 450 197 L 50 50 4 1 B -X PD10 49 600 350 197 L 50 50 4 1 B -X PD11 50 600 250 197 L 50 50 4 1 B -X PD12 51 600 150 197 L 50 50 4 1 B -X PD20 80 600 50 197 L 50 50 4 1 B -X PD21 81 600 -50 197 L 50 50 4 1 B -X VDDIO7 107 -1000 -900 197 R 50 50 5 1 W -X ~RESET 114 -1000 650 197 R 50 50 5 1 B -X VDDCORE 115 -1000 -1150 197 R 50 50 5 1 W -X GNDIO 116 1000 -850 197 L 50 50 5 1 W -X VSW 117 -1000 -1300 197 R 50 50 5 1 W -X VDDIO8 118 -1000 -1000 197 R 50 50 5 1 W -X GNDANA1 14 1000 -500 197 L 50 50 5 1 W -X VDDANA2 15 -1000 300 197 R 50 50 5 1 B -X GNDANA2 25 1000 -600 197 L 50 50 5 1 W -X VDDANA3 26 -1000 200 197 R 50 50 5 1 B -X VDDIOB1 32 -1000 0 197 R 50 50 5 1 B -X VDDIOB2 37 -1000 -100 197 R 50 50 5 1 B -X VDDIO1 46 -1000 -300 197 R 50 50 5 1 W -X GND1 5 1000 650 197 L 50 50 5 1 W -X GND10 5 1000 -250 197 L 50 50 5 1 W -X GND2 5 1000 550 197 L 50 50 5 1 W -X GND3 5 1000 450 197 L 50 50 5 1 W -X GND4 5 1000 350 197 L 50 50 5 1 W -X GND5 5 1000 250 197 L 50 50 5 1 W -X GND6 5 1000 150 197 L 50 50 5 1 W -X GND7 5 1000 50 197 L 50 50 5 1 W -X GND8 5 1000 -50 197 L 50 50 5 1 W -X GND9 5 1000 -150 197 L 50 50 5 1 W -X VDDIO2 54 -1000 -400 197 R 50 50 5 1 W -X VDDANA1 6 -1000 400 197 R 50 50 5 1 B -X VDDIO3 65 -1000 -500 197 R 50 50 5 1 W -X VDDIO4 79 -1000 -600 197 R 50 50 5 1 W -X VDDIO5 91 -1000 -700 197 R 50 50 5 1 W -X VDDIO6 97 -1000 -800 197 R 50 50 5 1 W -ENDDRAW -ENDDEF -# -#End Library diff --git a/electrical/same54_dev_board/same54_dev_board.kicad_pcb b/electrical/same54_dev_board/same54_dev_board.kicad_pcb deleted file mode 100644 index 9300e15..0000000 --- a/electrical/same54_dev_board/same54_dev_board.kicad_pcb +++ /dev/null @@ -1,1591 +0,0 @@ -(kicad_pcb (version 20171130) (host pcbnew 5.1.5) - - (general - (thickness 1.6) - (drawings 5) - (tracks 0) - (zones 0) - (modules 13) - (nets 196) - ) - - (page A4) - (layers - (0 F.Cu signal) - (31 B.Cu signal) - (32 B.Adhes user) - (33 F.Adhes user) - (34 B.Paste user) - (35 F.Paste user) - (36 B.SilkS user) - (37 F.SilkS user) - (38 B.Mask user) - (39 F.Mask user) - (40 Dwgs.User user) - (41 Cmts.User user) - (42 Eco1.User user) - (43 Eco2.User user) - (44 Edge.Cuts user) - (45 Margin user) - (46 B.CrtYd user) - (47 F.CrtYd user) - (48 B.Fab user) - (49 F.Fab user) - ) - - (setup - (last_trace_width 0.25) - (trace_clearance 0.2) - (zone_clearance 0.508) - (zone_45_only no) - (trace_min 0.2) - (via_size 0.8) - (via_drill 0.4) - (via_min_size 0.4) - (via_min_drill 0.3) - (uvia_size 0.3) - (uvia_drill 0.1) - (uvias_allowed no) - (uvia_min_size 0.2) - (uvia_min_drill 0.1) - (edge_width 0.05) - (segment_width 0.2) - (pcb_text_width 0.3) - (pcb_text_size 1.5 1.5) - (mod_edge_width 0.12) - (mod_text_size 1 1) - (mod_text_width 0.15) - (pad_size 3.45 3.45) - (pad_drill 0) - (pad_to_mask_clearance 0.051) - (solder_mask_min_width 0.25) - (aux_axis_origin 0 0) - (visible_elements 7FFFFFFF) - (pcbplotparams - (layerselection 0x010fc_ffffffff) - (usegerberextensions false) - (usegerberattributes false) - (usegerberadvancedattributes false) - (creategerberjobfile false) - (excludeedgelayer true) - (linewidth 0.100000) - (plotframeref false) - (viasonmask false) - (mode 1) - (useauxorigin false) - (hpglpennumber 1) - (hpglpenspeed 20) - (hpglpendiameter 15.000000) - (psnegative false) - (psa4output false) - (plotreference true) - (plotvalue true) - (plotinvisibletext false) - (padsonsilk false) - (subtractmaskfromsilk false) - (outputformat 1) - (mirror false) - (drillshape 1) - (scaleselection 1) - (outputdirectory "")) - ) - - (net 0 "") - (net 1 "Net-(J1-Pad4)") - (net 2 "Net-(J2-Pad8)") - (net 3 "Net-(J2-Pad7)") - (net 4 "Net-(J2-Pad1)") - (net 5 "Net-(J3-Pad40)") - (net 6 "Net-(J3-Pad39)") - (net 7 "Net-(J3-Pad38)") - (net 8 "Net-(J3-Pad6)") - (net 9 "Net-(U1-Pad95)") - (net 10 "Net-(U1-Pad94)") - (net 11 "Net-(U1-Pad93)") - (net 12 "Net-(U1-Pad92)") - (net 13 "Net-(U1-Pad89)") - (net 14 "Net-(U1-Pad88)") - (net 15 "Net-(U1-Pad87)") - (net 16 "Net-(U1-Pad86)") - (net 17 "Net-(U1-Pad85)") - (net 18 "Net-(U1-Pad84)") - (net 19 "Net-(U1-Pad83)") - (net 20 "Net-(U1-Pad82)") - (net 21 "Net-(U1-Pad81)") - (net 22 "Net-(U1-Pad80)") - (net 23 "Net-(U1-Pad77)") - (net 24 "Net-(U1-Pad76)") - (net 25 "Net-(U1-Pad75)") - (net 26 "Net-(U1-Pad74)") - (net 27 "Net-(U1-Pad73)") - (net 28 "Net-(U1-Pad72)") - (net 29 "Net-(U1-Pad71)") - (net 30 "Net-(U1-Pad70)") - (net 31 "Net-(U1-Pad69)") - (net 32 "Net-(U1-Pad68)") - (net 33 "Net-(U1-Pad32)") - (net 34 "Net-(U1-Pad30)") - (net 35 "Net-(U1-Pad29)") - (net 36 "Net-(U1-Pad28)") - (net 37 "Net-(U1-Pad27)") - (net 38 "Net-(U1-Pad26)") - (net 39 "Net-(U1-Pad24)") - (net 40 "Net-(U1-Pad20)") - (net 41 "Net-(U1-Pad19)") - (net 42 "Net-(U1-Pad18)") - (net 43 "Net-(U1-Pad16)") - (net 44 "Net-(U1-Pad15)") - (net 45 "Net-(U1-Pad14)") - (net 46 "Net-(U1-Pad13)") - (net 47 "Net-(U1-Pad10)") - (net 48 "Net-(U1-Pad9)") - (net 49 "Net-(U1-Pad8)") - (net 50 "Net-(U1-Pad7)") - (net 51 "Net-(U1-Pad6)") - (net 52 "Net-(U1-Pad5)") - (net 53 "Net-(U1-Pad4)") - (net 54 "Net-(U1-Pad3)") - (net 55 "Net-(C1-Pad2)") - (net 56 "Net-(U1-Pad124)") - (net 57 "Net-(U1-Pad123)") - (net 58 "Net-(U1-Pad122)") - (net 59 "Net-(U1-Pad121)") - (net 60 "Net-(U1-Pad120)") - (net 61 "Net-(U1-Pad119)") - (net 62 "Net-(U1-Pad117)") - (net 63 "Net-(U1-Pad116)") - (net 64 "Net-(U1-Pad115)") - (net 65 "Net-(U1-Pad114)") - (net 66 "Net-(U1-Pad113)") - (net 67 "Net-(U1-Pad112)") - (net 68 "Net-(U1-Pad111)") - (net 69 "Net-(U1-Pad110)") - (net 70 "Net-(U1-Pad109)") - (net 71 "Net-(U1-Pad108)") - (net 72 "Net-(U1-Pad107)") - (net 73 "Net-(U1-Pad105)") - (net 74 "Net-(U1-Pad104)") - (net 75 "Net-(U1-Pad103)") - (net 76 "Net-(U1-Pad102)") - (net 77 "Net-(U1-Pad99)") - (net 78 "Net-(U1-Pad98)") - (net 79 "Net-(U1-Pad61)") - (net 80 "Net-(U1-Pad60)") - (net 81 "Net-(U1-Pad59)") - (net 82 "Net-(U1-Pad58)") - (net 83 "Net-(U1-Pad57)") - (net 84 "Net-(U1-Pad56)") - (net 85 "Net-(U1-Pad55)") - (net 86 "Net-(U1-Pad52)") - (net 87 "Net-(U1-Pad51)") - (net 88 "Net-(U1-Pad50)") - (net 89 "Net-(U1-Pad49)") - (net 90 "Net-(U1-Pad48)") - (net 91 "Net-(U1-Pad47)") - (net 92 "Net-(U1-Pad44)") - (net 93 "Net-(U1-Pad43)") - (net 94 "Net-(U1-Pad42)") - (net 95 "Net-(U1-Pad41)") - (net 96 "Net-(U1-Pad40)") - (net 97 "Net-(U1-Pad39)") - (net 98 "Net-(U1-Pad37)") - (net 99 "Net-(U1-Pad36)") - (net 100 "Net-(U1-Pad35)") - (net 101 "Net-(U1-Pad34)") - (net 102 "Net-(U1-Pad33)") - (net 103 "Net-(U2-Pad32)") - (net 104 "Net-(U2-Pad31)") - (net 105 "Net-(U2-Pad29)") - (net 106 "Net-(U2-Pad28)") - (net 107 "Net-(U2-Pad27)") - (net 108 "Net-(U2-Pad23)") - (net 109 "Net-(U2-Pad22)") - (net 110 "Net-(U2-Pad21)") - (net 111 "Net-(U2-Pad18)") - (net 112 "Net-(U2-Pad13)") - (net 113 "Net-(U2-Pad12)") - (net 114 "Net-(U2-Pad11)") - (net 115 "Net-(U2-Pad10)") - (net 116 "Net-(U2-Pad8)") - (net 117 "Net-(U2-Pad7)") - (net 118 "Net-(U2-Pad6)") - (net 119 "Net-(U2-Pad5)") - (net 120 "Net-(U2-Pad3)") - (net 121 "Net-(U2-Pad25)") - (net 122 g_3v3) - (net 123 "Net-(U3-Pad32)") - (net 124 "Net-(U3-Pad31)") - (net 125 "Net-(U3-Pad30)") - (net 126 "Net-(U3-Pad29)") - (net 127 GND) - (net 128 "Net-(R1-Pad1)") - (net 129 /s_USB_INTF.sch/USB_D+) - (net 130 /s_USB_INTF.sch/USB_D-) - (net 131 "Net-(C2-Pad1)") - (net 132 "Net-(C5-Pad2)") - (net 133 "Net-(C4-Pad2)") - (net 134 /DEBUG_RX) - (net 135 /DEBUG_TX) - (net 136 /s_SCREEN_INTF/TFT_STB) - (net 137 /s_SCREEN_INTF/D23) - (net 138 /s_SCREEN_INTF/D22) - (net 139 /s_SCREEN_INTF/D21) - (net 140 /s_SCREEN_INTF/D20) - (net 141 /s_SCREEN_INTF/D19) - (net 142 /s_SCREEN_INTF/D18) - (net 143 /s_SCREEN_INTF/D17) - (net 144 /s_SCREEN_INTF/D16) - (net 145 /s_SCREEN_INTF/D15) - (net 146 /s_SCREEN_INTF/D14) - (net 147 /s_SCREEN_INTF/D13) - (net 148 /s_SCREEN_INTF/D12) - (net 149 /s_SCREEN_INTF/D11) - (net 150 /s_SCREEN_INTF/D10) - (net 151 /s_SCREEN_INTF/D9) - (net 152 /s_SCREEN_INTF/D8) - (net 153 /s_SCREEN_INTF/D7) - (net 154 /s_SCREEN_INTF/D6) - (net 155 /s_SCREEN_INTF/D5) - (net 156 /s_SCREEN_INTF/D4) - (net 157 /s_SCREEN_INTF/D3) - (net 158 /s_SCREEN_INTF/D2) - (net 159 /s_SCREEN_INTF/D1) - (net 160 /s_SCREEN_INTF/D0) - (net 161 /s_SCREEN_INTF/TFT_TE) - (net 162 /s_SCREEN_INTF/~TFT_RD) - (net 163 /s_SCREEN_INTF/~TFT_WR) - (net 164 /s_SCREEN_INTF/TFT_RSDC) - (net 165 /s_SCREEN_INTF/~TFT_RST) - (net 166 /s_SCREEN_INTF/TFT_TOUCH_INT) - (net 167 /s_SCREEN_INTF/~IO_EXPANDER_CS) - (net 168 "Net-(C7-Pad1)") - (net 169 /~TFT_CS) - (net 170 /MASTER_I2C_SDA) - (net 171 /MASTER_I2C_SCL) - (net 172 /s_Power/USB_5v) - (net 173 /s_Power/USB_3v3) - (net 174 /MASTER_SPI_MISO) - (net 175 /MASTER_SPI_CLK) - (net 176 /s_USB_INTF.sch/FTDI_5V) - (net 177 /s_USB_INTF.sch/FTDI_3V3) - (net 178 /MASTER_SPI_MOSI) - (net 179 "Net-(U4-Pad5)") - (net 180 "Net-(U4-Pad3)") - (net 181 "Net-(Q1-Pad3)") - (net 182 "Net-(Q2-Pad3)") - (net 183 "Net-(C10-Pad1)") - (net 184 /s_BRAIN/~SYS_RST) - (net 185 /s_BRAIN/SWO) - (net 186 /s_BRAIN/SWCLK) - (net 187 /s_BRAIN/SWDIO) - (net 188 /s_Power/Wall_5V) - (net 189 "Net-(J4-Pad3)") - (net 190 /s_BRAIN/EXT_IRQ_5) - (net 191 /s_BRAIN/EXT_IRQ_4) - (net 192 /s_BRAIN/EXT_IRQ_3) - (net 193 /s_BRAIN/EXT_IRQ_2) - (net 194 /s_BRAIN/EXT_IRQ_1) - (net 195 /s_BRAIN/EXT_IRQ_0) - - (net_class Default "This is the default net class." - (clearance 0.2) - (trace_width 0.25) - (via_dia 0.8) - (via_drill 0.4) - (uvia_dia 0.3) - (uvia_drill 0.1) - (add_net /DEBUG_RX) - (add_net /DEBUG_TX) - (add_net /MASTER_I2C_SCL) - (add_net /MASTER_I2C_SDA) - (add_net /MASTER_SPI_CLK) - (add_net /MASTER_SPI_MISO) - (add_net /MASTER_SPI_MOSI) - (add_net /s_BRAIN/EXT_IRQ_0) - (add_net /s_BRAIN/EXT_IRQ_1) - (add_net /s_BRAIN/EXT_IRQ_2) - (add_net /s_BRAIN/EXT_IRQ_3) - (add_net /s_BRAIN/EXT_IRQ_4) - (add_net /s_BRAIN/EXT_IRQ_5) - (add_net /s_BRAIN/SWCLK) - (add_net /s_BRAIN/SWDIO) - (add_net /s_BRAIN/SWO) - (add_net /s_BRAIN/~SYS_RST) - (add_net /s_Power/USB_3v3) - (add_net /s_Power/USB_5v) - (add_net /s_Power/Wall_5V) - (add_net /s_SCREEN_INTF/D0) - (add_net /s_SCREEN_INTF/D1) - (add_net /s_SCREEN_INTF/D10) - (add_net /s_SCREEN_INTF/D11) - (add_net /s_SCREEN_INTF/D12) - (add_net /s_SCREEN_INTF/D13) - (add_net /s_SCREEN_INTF/D14) - (add_net /s_SCREEN_INTF/D15) - (add_net /s_SCREEN_INTF/D16) - (add_net /s_SCREEN_INTF/D17) - (add_net /s_SCREEN_INTF/D18) - (add_net /s_SCREEN_INTF/D19) - (add_net /s_SCREEN_INTF/D2) - (add_net /s_SCREEN_INTF/D20) - (add_net /s_SCREEN_INTF/D21) - (add_net /s_SCREEN_INTF/D22) - (add_net /s_SCREEN_INTF/D23) - (add_net /s_SCREEN_INTF/D3) - (add_net /s_SCREEN_INTF/D4) - (add_net /s_SCREEN_INTF/D5) - (add_net /s_SCREEN_INTF/D6) - (add_net /s_SCREEN_INTF/D7) - (add_net /s_SCREEN_INTF/D8) - (add_net /s_SCREEN_INTF/D9) - (add_net /s_SCREEN_INTF/TFT_RSDC) - (add_net /s_SCREEN_INTF/TFT_STB) - (add_net /s_SCREEN_INTF/TFT_TE) - (add_net /s_SCREEN_INTF/TFT_TOUCH_INT) - (add_net /s_SCREEN_INTF/~IO_EXPANDER_CS) - (add_net /s_SCREEN_INTF/~TFT_RD) - (add_net /s_SCREEN_INTF/~TFT_RST) - (add_net /s_SCREEN_INTF/~TFT_WR) - (add_net /s_USB_INTF.sch/FTDI_3V3) - (add_net /s_USB_INTF.sch/FTDI_5V) - (add_net /s_USB_INTF.sch/USB_D+) - (add_net /s_USB_INTF.sch/USB_D-) - (add_net /~TFT_CS) - (add_net GND) - (add_net "Net-(C1-Pad2)") - (add_net "Net-(C10-Pad1)") - (add_net "Net-(C2-Pad1)") - (add_net "Net-(C4-Pad2)") - (add_net "Net-(C5-Pad2)") - (add_net "Net-(C7-Pad1)") - (add_net "Net-(J1-Pad4)") - (add_net "Net-(J2-Pad1)") - (add_net "Net-(J2-Pad7)") - (add_net "Net-(J2-Pad8)") - (add_net "Net-(J3-Pad38)") - (add_net "Net-(J3-Pad39)") - (add_net "Net-(J3-Pad40)") - (add_net "Net-(J3-Pad6)") - (add_net "Net-(J4-Pad3)") - (add_net "Net-(Q1-Pad3)") - (add_net "Net-(Q2-Pad3)") - (add_net "Net-(R1-Pad1)") - (add_net "Net-(U1-Pad10)") - (add_net "Net-(U1-Pad102)") - (add_net "Net-(U1-Pad103)") - (add_net "Net-(U1-Pad104)") - (add_net "Net-(U1-Pad105)") - (add_net "Net-(U1-Pad107)") - (add_net "Net-(U1-Pad108)") - (add_net "Net-(U1-Pad109)") - (add_net "Net-(U1-Pad110)") - (add_net "Net-(U1-Pad111)") - (add_net "Net-(U1-Pad112)") - (add_net "Net-(U1-Pad113)") - (add_net "Net-(U1-Pad114)") - (add_net "Net-(U1-Pad115)") - (add_net "Net-(U1-Pad116)") - (add_net "Net-(U1-Pad117)") - (add_net "Net-(U1-Pad119)") - (add_net "Net-(U1-Pad120)") - (add_net "Net-(U1-Pad121)") - (add_net "Net-(U1-Pad122)") - (add_net "Net-(U1-Pad123)") - (add_net "Net-(U1-Pad124)") - (add_net "Net-(U1-Pad13)") - (add_net "Net-(U1-Pad14)") - (add_net "Net-(U1-Pad15)") - (add_net "Net-(U1-Pad16)") - (add_net "Net-(U1-Pad18)") - (add_net "Net-(U1-Pad19)") - (add_net "Net-(U1-Pad20)") - (add_net "Net-(U1-Pad24)") - (add_net "Net-(U1-Pad26)") - (add_net "Net-(U1-Pad27)") - (add_net "Net-(U1-Pad28)") - (add_net "Net-(U1-Pad29)") - (add_net "Net-(U1-Pad3)") - (add_net "Net-(U1-Pad30)") - (add_net "Net-(U1-Pad32)") - (add_net "Net-(U1-Pad33)") - (add_net "Net-(U1-Pad34)") - (add_net "Net-(U1-Pad35)") - (add_net "Net-(U1-Pad36)") - (add_net "Net-(U1-Pad37)") - (add_net "Net-(U1-Pad39)") - (add_net "Net-(U1-Pad4)") - (add_net "Net-(U1-Pad40)") - (add_net "Net-(U1-Pad41)") - (add_net "Net-(U1-Pad42)") - (add_net "Net-(U1-Pad43)") - (add_net "Net-(U1-Pad44)") - (add_net "Net-(U1-Pad47)") - (add_net "Net-(U1-Pad48)") - (add_net "Net-(U1-Pad49)") - (add_net "Net-(U1-Pad5)") - (add_net "Net-(U1-Pad50)") - (add_net "Net-(U1-Pad51)") - (add_net "Net-(U1-Pad52)") - (add_net "Net-(U1-Pad55)") - (add_net "Net-(U1-Pad56)") - (add_net "Net-(U1-Pad57)") - (add_net "Net-(U1-Pad58)") - (add_net "Net-(U1-Pad59)") - (add_net "Net-(U1-Pad6)") - (add_net "Net-(U1-Pad60)") - (add_net "Net-(U1-Pad61)") - (add_net "Net-(U1-Pad68)") - (add_net "Net-(U1-Pad69)") - (add_net "Net-(U1-Pad7)") - (add_net "Net-(U1-Pad70)") - (add_net "Net-(U1-Pad71)") - (add_net "Net-(U1-Pad72)") - (add_net "Net-(U1-Pad73)") - (add_net "Net-(U1-Pad74)") - (add_net "Net-(U1-Pad75)") - (add_net "Net-(U1-Pad76)") - (add_net "Net-(U1-Pad77)") - (add_net "Net-(U1-Pad8)") - (add_net "Net-(U1-Pad80)") - (add_net "Net-(U1-Pad81)") - (add_net "Net-(U1-Pad82)") - (add_net "Net-(U1-Pad83)") - (add_net "Net-(U1-Pad84)") - (add_net "Net-(U1-Pad85)") - (add_net "Net-(U1-Pad86)") - (add_net "Net-(U1-Pad87)") - (add_net "Net-(U1-Pad88)") - (add_net "Net-(U1-Pad89)") - (add_net "Net-(U1-Pad9)") - (add_net "Net-(U1-Pad92)") - (add_net "Net-(U1-Pad93)") - (add_net "Net-(U1-Pad94)") - (add_net "Net-(U1-Pad95)") - (add_net "Net-(U1-Pad98)") - (add_net "Net-(U1-Pad99)") - (add_net "Net-(U2-Pad10)") - (add_net "Net-(U2-Pad11)") - (add_net "Net-(U2-Pad12)") - (add_net "Net-(U2-Pad13)") - (add_net "Net-(U2-Pad18)") - (add_net "Net-(U2-Pad21)") - (add_net "Net-(U2-Pad22)") - (add_net "Net-(U2-Pad23)") - (add_net "Net-(U2-Pad25)") - (add_net "Net-(U2-Pad27)") - (add_net "Net-(U2-Pad28)") - (add_net "Net-(U2-Pad29)") - (add_net "Net-(U2-Pad3)") - (add_net "Net-(U2-Pad31)") - (add_net "Net-(U2-Pad32)") - (add_net "Net-(U2-Pad5)") - (add_net "Net-(U2-Pad6)") - (add_net "Net-(U2-Pad7)") - (add_net "Net-(U2-Pad8)") - (add_net "Net-(U3-Pad29)") - (add_net "Net-(U3-Pad30)") - (add_net "Net-(U3-Pad31)") - (add_net "Net-(U3-Pad32)") - (add_net "Net-(U4-Pad3)") - (add_net "Net-(U4-Pad5)") - (add_net g_3v3) - ) - - (module digikey-footprints:Barrel_Jack_5.5mmODx2.1mmID_PJ-102A (layer F.Cu) (tedit 5CAD146F) (tstamp 5E7AD729) - (at 62.23 60.96 90) - (path /5E7872D3/5E88DD8C) - (fp_text reference J4 (at 0 -12.1 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value Barrel_Jack_Switch (at 0 5.8 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start -4.5 3.7) (end 4.5 3.7) (layer F.Fab) (width 0.1)) - (fp_line (start -4.5 3.7) (end -4.5 -10.7) (layer F.Fab) (width 0.1)) - (fp_line (start 4.5 3.7) (end 4.5 -10.7) (layer F.Fab) (width 0.1)) - (fp_line (start -4.5 -10.7) (end 4.5 -10.7) (layer F.Fab) (width 0.1)) - (fp_line (start 4.6 3.8) (end 4.1 3.8) (layer F.SilkS) (width 0.1)) - (fp_line (start 4.6 3.8) (end 4.6 3.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 3.8) (end -4.1 3.8) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 3.8) (end -4.6 3.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -1.2 -1.8) (end 1.2 -1.8) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 -10.8) (end -4.6 -10.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 -10.8) (end -4.1 -10.8) (layer F.SilkS) (width 0.1)) - (fp_line (start 4.6 -10.8) (end 4.1 -10.8) (layer F.SilkS) (width 0.1)) - (fp_line (start 4.6 -10.8) (end 4.6 -10.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 -3.5) (end -4.6 -4.5) (layer F.SilkS) (width 0.1)) - (fp_line (start 4.6 -3.5) (end 4.6 -4.5) (layer F.SilkS) (width 0.1)) - (fp_line (start -5.9 -10.95) (end 4.8 -10.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.9 -10.95) (end -5.9 4.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start 4.8 -10.95) (end 4.8 4.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.9 4.25) (end 4.8 4.25) (layer F.CrtYd) (width 0.05)) - (pad 2 thru_hole rect (at 0 -3 90) (size 2.6 2) (drill oval 1.6 1) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 1 thru_hole rect (at 0 3 90) (size 2.6 2) (drill oval 1.6 1) (layers *.Cu *.Mask) - (net 188 /s_Power/Wall_5V)) - (pad 3 thru_hole rect (at -4.7 0 90) (size 2 2.6) (drill oval 1 1.6) (layers *.Cu *.Mask) - (net 189 "Net-(J4-Pad3)")) - ) - - (module digikey-footprints:SOT-23-3 (layer F.Cu) (tedit 5D28A5E3) (tstamp 5E7AA6F9) - (at 72.9 97.79) - (path /5E7872D3/5E9DB598) - (attr smd) - (fp_text reference Q4 (at 0.025 -3.375) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "Alt PFET_B" (at 0.025 3.25) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 0.7 1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1)) - (fp_text user %R (at -0.125 0.15) (layer F.Fab) - (effects (font (size 0.25 0.25) (thickness 0.05))) - ) - (fp_line (start 0.825 -1.65) (end 0.825 -1.35) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.45 -1.65) (end 0.825 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.65) (end 0.375 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.35) (end 0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.425) (end 0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 1.65) (end -0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.35 1.65) (end -0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.425 -1.525) (end -0.7 -1.325) (layer F.Fab) (width 0.1)) - (fp_line (start -0.425 -1.525) (end 0.7 -1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 -1.325) (end -0.7 1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.825 -1.325) (end -1.6 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 -1.375) (end -0.825 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.45 -1.65) (end -0.825 -1.375) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.175 -1.65) (end -0.45 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 1.825 -1.95) (end 1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.825 1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end 1.825 -1.95) (layer F.CrtYd) (width 0.05)) - (pad 1 smd rect (at -1.05 -0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 181 "Net-(Q1-Pad3)") (solder_mask_margin 0.07)) - (pad 2 smd rect (at -1.05 0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 183 "Net-(C10-Pad1)") (solder_mask_margin 0.07)) - (pad 3 smd rect (at 1.05 0) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 182 "Net-(Q2-Pad3)") (solder_mask_margin 0.07)) - ) - - (module digikey-footprints:SOT-23-3 (layer F.Cu) (tedit 5D28A5E3) (tstamp 5E7AA6DD) - (at 68.2 97.79) - (path /5E7872D3/5E9CBFD6) - (attr smd) - (fp_text reference Q3 (at 0.025 -3.375) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "Default PFET_B" (at 0.025 3.25) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 0.7 1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1)) - (fp_text user %R (at -0.125 0.15) (layer F.Fab) - (effects (font (size 0.25 0.25) (thickness 0.05))) - ) - (fp_line (start 0.825 -1.65) (end 0.825 -1.35) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.45 -1.65) (end 0.825 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.65) (end 0.375 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.35) (end 0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.425) (end 0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 1.65) (end -0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.35 1.65) (end -0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.425 -1.525) (end -0.7 -1.325) (layer F.Fab) (width 0.1)) - (fp_line (start -0.425 -1.525) (end 0.7 -1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 -1.325) (end -0.7 1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.825 -1.325) (end -1.6 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 -1.375) (end -0.825 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.45 -1.65) (end -0.825 -1.375) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.175 -1.65) (end -0.45 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 1.825 -1.95) (end 1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.825 1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end 1.825 -1.95) (layer F.CrtYd) (width 0.05)) - (pad 1 smd rect (at -1.05 -0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 173 /s_Power/USB_3v3) (solder_mask_margin 0.07)) - (pad 2 smd rect (at -1.05 0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 183 "Net-(C10-Pad1)") (solder_mask_margin 0.07)) - (pad 3 smd rect (at 1.05 0) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 181 "Net-(Q1-Pad3)") (solder_mask_margin 0.07)) - ) - - (module digikey-footprints:SOT-23-3 (layer F.Cu) (tedit 5D28A5E3) (tstamp 5E7AA6C1) - (at 63.5 102.74) - (path /5E7872D3/5E9D56A5) - (attr smd) - (fp_text reference Q2 (at 0.025 -3.375) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "Alt PFET_A" (at 0.025 3.25) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 0.7 1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1)) - (fp_text user %R (at -0.125 0.15) (layer F.Fab) - (effects (font (size 0.25 0.25) (thickness 0.05))) - ) - (fp_line (start 0.825 -1.65) (end 0.825 -1.35) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.45 -1.65) (end 0.825 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.65) (end 0.375 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.35) (end 0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.425) (end 0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 1.65) (end -0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.35 1.65) (end -0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.425 -1.525) (end -0.7 -1.325) (layer F.Fab) (width 0.1)) - (fp_line (start -0.425 -1.525) (end 0.7 -1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 -1.325) (end -0.7 1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.825 -1.325) (end -1.6 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 -1.375) (end -0.825 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.45 -1.65) (end -0.825 -1.375) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.175 -1.65) (end -0.45 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 1.825 -1.95) (end 1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.825 1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end 1.825 -1.95) (layer F.CrtYd) (width 0.05)) - (pad 1 smd rect (at -1.05 -0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 181 "Net-(Q1-Pad3)") (solder_mask_margin 0.07)) - (pad 2 smd rect (at -1.05 0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 173 /s_Power/USB_3v3) (solder_mask_margin 0.07)) - (pad 3 smd rect (at 1.05 0) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 182 "Net-(Q2-Pad3)") (solder_mask_margin 0.07)) - ) - - (module digikey-footprints:SOT-23-3 (layer F.Cu) (tedit 5D28A5E3) (tstamp 5E7AA6A5) - (at 69.85 82.55) - (path /5E7872D3/5E9B8E9E) - (attr smd) - (fp_text reference Q1 (at 0.025 -3.375) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "Default PFET_A" (at 0.025 3.25) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 0.7 1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1)) - (fp_text user %R (at -0.125 0.15) (layer F.Fab) - (effects (font (size 0.25 0.25) (thickness 0.05))) - ) - (fp_line (start 0.825 -1.65) (end 0.825 -1.35) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.45 -1.65) (end 0.825 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.65) (end 0.375 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.35) (end 0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.425) (end 0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 1.65) (end -0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.35 1.65) (end -0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.425 -1.525) (end -0.7 -1.325) (layer F.Fab) (width 0.1)) - (fp_line (start -0.425 -1.525) (end 0.7 -1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 -1.325) (end -0.7 1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.825 -1.325) (end -1.6 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 -1.375) (end -0.825 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.45 -1.65) (end -0.825 -1.375) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.175 -1.65) (end -0.45 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 1.825 -1.95) (end 1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.825 1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end 1.825 -1.95) (layer F.CrtYd) (width 0.05)) - (pad 1 smd rect (at -1.05 -0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 173 /s_Power/USB_3v3) (solder_mask_margin 0.07)) - (pad 2 smd rect (at -1.05 0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 172 /s_Power/USB_5v) (solder_mask_margin 0.07)) - (pad 3 smd rect (at 1.05 0) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 181 "Net-(Q1-Pad3)") (solder_mask_margin 0.07)) - ) - - (module Package_DFN_QFN:DFN-6-1EP_2x2mm_P0.65mm_EP1x1.6mm (layer F.Cu) (tedit 5A64E13E) (tstamp 5E7A9FEB) - (at 80.01 71.12) - (descr "6-Lead Plastic Dual Flat, No Lead Package (MA) - 2x2x0.9 mm Body [DFN] (see Microchip Packaging Specification 00000049BS.pdf)") - (tags "DFN 0.65") - (path /5E7872D3/5E7F2428) - (attr smd) - (fp_text reference U4 (at 0 -2.025) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value NCP349MNAETBG (at 0 2.025) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start -1.45 -1.1) (end 0.725 -1.1) (layer F.SilkS) (width 0.15)) - (fp_line (start -0.725 1.1) (end 0.725 1.1) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.65 1.25) (end 1.65 1.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.65 -1.25) (end 1.65 -1.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.65 -1.25) (end 1.65 1.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.65 -1.25) (end -1.65 1.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1 0) (end 0 -1) (layer F.Fab) (width 0.15)) - (fp_line (start -1 1) (end -1 0) (layer F.Fab) (width 0.15)) - (fp_line (start 1 1) (end -1 1) (layer F.Fab) (width 0.15)) - (fp_line (start 1 -1) (end 1 1) (layer F.Fab) (width 0.15)) - (fp_line (start 0 -1) (end 1 -1) (layer F.Fab) (width 0.15)) - (fp_text user %R (at 0 0) (layer F.Fab) - (effects (font (size 0.5 0.5) (thickness 0.075))) - ) - (pad "" smd rect (at 0 0.4) (size 0.82 0.63) (layers F.Paste)) - (pad "" smd rect (at 0 -0.4) (size 0.82 0.63) (layers F.Paste)) - (pad 7 smd rect (at 0 0) (size 1 1.6) (layers F.Cu F.Mask)) - (pad 6 smd rect (at 1.05 -0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 179 "Net-(U4-Pad5)")) - (pad 5 smd rect (at 1.05 0) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 179 "Net-(U4-Pad5)")) - (pad 4 smd rect (at 1.05 0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 3 smd rect (at -1.05 0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 180 "Net-(U4-Pad3)")) - (pad 2 smd rect (at -1.05 0) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 1 smd rect (at -1.05 -0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 183 "Net-(C10-Pad1)")) - (model ${KISYS3DMOD}/Package_DFN_QFN.3dshapes/DFN-6-1EP_2x2mm_P0.65mm_EP1x1.6mm.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical (layer F.Cu) (tedit 59FED6E3) (tstamp 5E75429F) - (at 128.27 83.82) - (descr "Through hole straight pin header, 2x05, 1.27mm pitch, double rows") - (tags "Through hole pin header THT 2x05 1.27mm double row") - (path /5E805E4F/5EA1E350) - (fp_text reference J2 (at 0.635 -1.695) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value Conn_ARM_JTAG_SWD_10 (at 0.635 6.775) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user %R (at 0.635 2.54 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 2.85 -1.15) (end -1.6 -1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start 2.85 6.25) (end 2.85 -1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.6 6.25) (end 2.85 6.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.6 -1.15) (end -1.6 6.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.13 -0.76) (end 0 -0.76) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.13 0) (end -1.13 -0.76) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.57753 -0.695) (end 2.4 -0.695) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.76 -0.695) (end 0.96247 -0.695) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.76 -0.563471) (end 0.76 -0.695) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.76 0.706529) (end 0.76 0.563471) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.563471 0.76) (end 0.706529 0.76) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.13 0.76) (end -0.563471 0.76) (layer F.SilkS) (width 0.12)) - (fp_line (start 2.4 -0.695) (end 2.4 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.13 0.76) (end -1.13 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.30753 5.775) (end 0.96247 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.57753 5.775) (end 2.4 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.13 5.775) (end -0.30753 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.07 0.2175) (end -0.2175 -0.635) (layer F.Fab) (width 0.1)) - (fp_line (start -1.07 5.715) (end -1.07 0.2175) (layer F.Fab) (width 0.1)) - (fp_line (start 2.34 5.715) (end -1.07 5.715) (layer F.Fab) (width 0.1)) - (fp_line (start 2.34 -0.635) (end 2.34 5.715) (layer F.Fab) (width 0.1)) - (fp_line (start -0.2175 -0.635) (end 2.34 -0.635) (layer F.Fab) (width 0.1)) - (pad 10 thru_hole oval (at 1.27 5.08) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 184 /s_BRAIN/~SYS_RST)) - (pad 9 thru_hole oval (at 0 5.08) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 8 thru_hole oval (at 1.27 3.81) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 2 "Net-(J2-Pad8)")) - (pad 7 thru_hole oval (at 0 3.81) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 3 "Net-(J2-Pad7)")) - (pad 6 thru_hole oval (at 1.27 2.54) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 185 /s_BRAIN/SWO)) - (pad 5 thru_hole oval (at 0 2.54) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 4 thru_hole oval (at 1.27 1.27) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 186 /s_BRAIN/SWCLK)) - (pad 3 thru_hole oval (at 0 1.27) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 2 thru_hole oval (at 1.27 0) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 187 /s_BRAIN/SWDIO)) - (pad 1 thru_hole rect (at 0 0) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 4 "Net-(J2-Pad1)")) - (model ${KISYS3DMOD}/Connector_PinHeader_1.27mm.3dshapes/PinHeader_2x05_P1.27mm_Vertical.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm (layer F.Cu) (tedit 5A0FD1B2) (tstamp 5E752FF8) - (at 63.5 86.36) - (descr "SMD Crystal FC-135 https://support.epson.biz/td/api/doc_check.php?dl=brief_FC-135R_en.pdf") - (tags "SMD SMT Crystal") - (path /5E805E4F/5E75D825) - (attr smd) - (fp_text reference Y1 (at 0 -2) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value XOSC32 (at 0 2) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 2 -1.15) (end 2 1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start -2 -1.15) (end -2 1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start -2 1.15) (end 2 1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.6 0.75) (end 1.6 0.75) (layer F.Fab) (width 0.1)) - (fp_line (start -1.6 -0.75) (end 1.6 -0.75) (layer F.Fab) (width 0.1)) - (fp_line (start 1.6 -0.75) (end 1.6 0.75) (layer F.Fab) (width 0.1)) - (fp_line (start -0.675 -0.875) (end 0.675 -0.875) (layer F.SilkS) (width 0.12)) - (fp_line (start -0.675 0.875) (end 0.675 0.875) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.6 -0.75) (end -1.6 0.75) (layer F.Fab) (width 0.1)) - (fp_line (start -2 -1.15) (end 2 -1.15) (layer F.CrtYd) (width 0.05)) - (fp_text user %R (at 0 -2) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (pad 2 smd rect (at -1.25 0) (size 1 1.8) (layers F.Cu F.Paste F.Mask) - (net 55 "Net-(C1-Pad2)")) - (pad 1 smd rect (at 1.25 0) (size 1 1.8) (layers F.Cu F.Paste F.Mask) - (net 131 "Net-(C2-Pad1)")) - (model ${KISYS3DMOD}/Crystal.3dshapes/Crystal_SMD_3215-2Pin_3.2x1.5mm.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module proj_modules:SOP80P1030X264-36N (layer F.Cu) (tedit 5E702418) (tstamp 5E752FE7) - (at 106.68 77.47) - (path /5E8589A7/5E86D6D7) - (fp_text reference U3 (at -2.415 -8.587) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.015))) - ) - (fp_text value MAX7301AAX+ (at 5.84 8.587) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.015))) - ) - (fp_line (start 5.865 -8.025) (end 5.865 8.025) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.865 -8.025) (end -5.865 8.025) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.865 8.025) (end 5.865 8.025) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.865 -8.025) (end 5.865 -8.025) (layer F.CrtYd) (width 0.05)) - (fp_line (start 3.8 -7.775) (end 3.8 7.775) (layer F.Fab) (width 0.127)) - (fp_line (start -3.8 -7.775) (end -3.8 7.775) (layer F.Fab) (width 0.127)) - (fp_line (start -3.8 7.775) (end 3.8 7.775) (layer F.SilkS) (width 0.127)) - (fp_line (start -3.8 -7.775) (end 3.8 -7.775) (layer F.SilkS) (width 0.127)) - (fp_line (start -3.8 7.775) (end 3.8 7.775) (layer F.Fab) (width 0.127)) - (fp_line (start -3.8 -7.775) (end 3.8 -7.775) (layer F.Fab) (width 0.127)) - (fp_circle (center -6.51 -7.34) (end -6.41 -7.34) (layer F.Fab) (width 0.2)) - (fp_circle (center -6.51 -7.34) (end -6.41 -7.34) (layer F.SilkS) (width 0.2)) - (pad 36 smd rect (at 4.72 -6.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 122 g_3v3)) - (pad 35 smd rect (at 4.72 -6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 167 /s_SCREEN_INTF/~IO_EXPANDER_CS)) - (pad 34 smd rect (at 4.72 -5.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 178 /MASTER_SPI_MOSI)) - (pad 33 smd rect (at 4.72 -4.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 175 /MASTER_SPI_CLK)) - (pad 32 smd rect (at 4.72 -3.6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 123 "Net-(U3-Pad32)")) - (pad 31 smd rect (at 4.72 -2.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 124 "Net-(U3-Pad31)")) - (pad 30 smd rect (at 4.72 -2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 125 "Net-(U3-Pad30)")) - (pad 29 smd rect (at 4.72 -1.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 126 "Net-(U3-Pad29)")) - (pad 28 smd rect (at 4.72 -0.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 137 /s_SCREEN_INTF/D23)) - (pad 27 smd rect (at 4.72 0.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 138 /s_SCREEN_INTF/D22)) - (pad 26 smd rect (at 4.72 1.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 139 /s_SCREEN_INTF/D21)) - (pad 25 smd rect (at 4.72 2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 140 /s_SCREEN_INTF/D20)) - (pad 24 smd rect (at 4.72 2.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 141 /s_SCREEN_INTF/D19)) - (pad 23 smd rect (at 4.72 3.6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 142 /s_SCREEN_INTF/D18)) - (pad 22 smd rect (at 4.72 4.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 143 /s_SCREEN_INTF/D17)) - (pad 21 smd rect (at 4.72 5.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 144 /s_SCREEN_INTF/D16)) - (pad 20 smd rect (at 4.72 6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 145 /s_SCREEN_INTF/D15)) - (pad 19 smd rect (at 4.72 6.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 146 /s_SCREEN_INTF/D14)) - (pad 18 smd rect (at -4.72 6.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 147 /s_SCREEN_INTF/D13)) - (pad 17 smd rect (at -4.72 6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 148 /s_SCREEN_INTF/D12)) - (pad 16 smd rect (at -4.72 5.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 149 /s_SCREEN_INTF/D11)) - (pad 15 smd rect (at -4.72 4.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 150 /s_SCREEN_INTF/D10)) - (pad 14 smd rect (at -4.72 3.6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 151 /s_SCREEN_INTF/D9)) - (pad 13 smd rect (at -4.72 2.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 152 /s_SCREEN_INTF/D8)) - (pad 12 smd rect (at -4.72 2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 153 /s_SCREEN_INTF/D7)) - (pad 11 smd rect (at -4.72 1.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 154 /s_SCREEN_INTF/D6)) - (pad 10 smd rect (at -4.72 0.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 155 /s_SCREEN_INTF/D5)) - (pad 9 smd rect (at -4.72 -0.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 156 /s_SCREEN_INTF/D4)) - (pad 8 smd rect (at -4.72 -1.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 157 /s_SCREEN_INTF/D3)) - (pad 7 smd rect (at -4.72 -2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 158 /s_SCREEN_INTF/D2)) - (pad 6 smd rect (at -4.72 -2.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 159 /s_SCREEN_INTF/D1)) - (pad 5 smd rect (at -4.72 -3.6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 160 /s_SCREEN_INTF/D0)) - (pad 4 smd rect (at -4.72 -4.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 174 /MASTER_SPI_MISO)) - (pad 3 smd rect (at -4.72 -5.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 2 smd rect (at -4.72 -6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 1 smd rect (at -4.72 -6.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 128 "Net-(R1-Pad1)")) - ) - - (module digikey-footprints:QFN-32-1EP_5x5mm (layer F.Cu) (tedit 5D2895FE) (tstamp 5E752FB3) - (at 71.12 73.66) - (path /5E7C0F59/5E84744C) - (attr smd) - (fp_text reference U2 (at 0 -4.71) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value FT232RQ-REEL (at 0 4.51) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 1.98 2.05) (end -3.02 2.05) (layer F.Fab) (width 0.1)) - (fp_line (start 1.98 -2.95) (end 1.98 2.05) (layer F.Fab) (width 0.1)) - (fp_line (start 2.08 2.15) (end 1.68 2.15) (layer F.SilkS) (width 0.1)) - (fp_line (start 2.08 1.75) (end 2.08 2.15) (layer F.SilkS) (width 0.1)) - (fp_line (start 2.08 -3.05) (end 2.08 -2.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 2.08 -3.05) (end 1.68 -3.05) (layer F.SilkS) (width 0.1)) - (fp_line (start -3.12 2.15) (end -3.12 1.75) (layer F.SilkS) (width 0.1)) - (fp_line (start -2.72 2.15) (end -3.12 2.15) (layer F.SilkS) (width 0.1)) - (fp_line (start -2.62 -2.95) (end -3.02 -2.55) (layer F.Fab) (width 0.1)) - (fp_line (start -3.02 -2.55) (end -3.02 2.05) (layer F.Fab) (width 0.1)) - (fp_line (start -2.62 -2.95) (end 1.98 -2.95) (layer F.Fab) (width 0.1)) - (fp_line (start -3.12 -2.45) (end -3.32 -2.45) (layer F.SilkS) (width 0.1)) - (fp_line (start -3.12 -2.65) (end -3.12 -2.45) (layer F.SilkS) (width 0.1)) - (fp_line (start -2.72 -3.05) (end -3.12 -2.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -2.52 -3.05) (end -2.72 -3.05) (layer F.SilkS) (width 0.1)) - (fp_text user %R (at -0.52 -0.45) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 2.61 2.68) (end -3.65 2.68) (layer F.CrtYd) (width 0.05)) - (fp_line (start 2.61 -3.58) (end -3.65 -3.58) (layer F.CrtYd) (width 0.05)) - (fp_line (start 2.61 -3.58) (end 2.61 2.68) (layer F.CrtYd) (width 0.05)) - (fp_line (start -3.65 2.68) (end -3.65 -3.58) (layer F.CrtYd) (width 0.05)) - (pad 32 smd rect (at -2.27 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 103 "Net-(U2-Pad32)") (solder_mask_margin 0.07)) - (pad 31 smd rect (at -1.77 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 104 "Net-(U2-Pad31)") (solder_mask_margin 0.07)) - (pad 30 smd rect (at -1.27 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 134 /DEBUG_RX) (solder_mask_margin 0.07)) - (pad 29 smd rect (at -0.77 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 105 "Net-(U2-Pad29)") (solder_mask_margin 0.07)) - (pad 28 smd rect (at -0.27 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 106 "Net-(U2-Pad28)") (solder_mask_margin 0.07)) - (pad 27 smd rect (at 0.23 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 107 "Net-(U2-Pad27)") (solder_mask_margin 0.07)) - (pad 26 smd rect (at 0.73 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 24 smd rect (at 1.955 -2.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 23 smd rect (at 1.955 -1.7 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 108 "Net-(U2-Pad23)") (solder_mask_margin 0.07)) - (pad 22 smd rect (at 1.955 -1.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 109 "Net-(U2-Pad22)") (solder_mask_margin 0.07)) - (pad 21 smd rect (at 1.955 -0.7 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 110 "Net-(U2-Pad21)") (solder_mask_margin 0.07)) - (pad 20 smd rect (at 1.955 -0.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 19 smd rect (at 1.955 0.3 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 176 /s_USB_INTF.sch/FTDI_5V) (solder_mask_margin 0.07)) - (pad 18 smd rect (at 1.955 0.8 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 111 "Net-(U2-Pad18)") (solder_mask_margin 0.07)) - (pad 16 smd rect (at 1.23 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 177 /s_USB_INTF.sch/FTDI_3V3) (solder_mask_margin 0.07)) - (pad 15 smd rect (at 0.73 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 130 /s_USB_INTF.sch/USB_D-) (solder_mask_margin 0.07)) - (pad 14 smd rect (at 0.23 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 129 /s_USB_INTF.sch/USB_D+) (solder_mask_margin 0.07)) - (pad 13 smd rect (at -0.27 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 112 "Net-(U2-Pad13)") (solder_mask_margin 0.07)) - (pad 12 smd rect (at -0.77 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 113 "Net-(U2-Pad12)") (solder_mask_margin 0.07)) - (pad 11 smd rect (at -1.27 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 114 "Net-(U2-Pad11)") (solder_mask_margin 0.07)) - (pad 10 smd rect (at -1.77 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 115 "Net-(U2-Pad10)") (solder_mask_margin 0.07)) - (pad 8 smd rect (at -2.995 1.3 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 116 "Net-(U2-Pad8)") (solder_mask_margin 0.07)) - (pad 7 smd rect (at -2.995 0.8 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 117 "Net-(U2-Pad7)") (solder_mask_margin 0.07)) - (pad 6 smd rect (at -2.995 0.3 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 118 "Net-(U2-Pad6)") (solder_mask_margin 0.07)) - (pad 5 smd rect (at -2.995 -0.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 119 "Net-(U2-Pad5)") (solder_mask_margin 0.07)) - (pad 4 smd rect (at -2.995 -0.7 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 3 smd rect (at -2.995 -1.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 120 "Net-(U2-Pad3)") (solder_mask_margin 0.07)) - (pad 2 smd rect (at -2.995 -1.7 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 135 /DEBUG_TX) (solder_mask_margin 0.07)) - (pad 1 smd rect (at -2.995 -2.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 177 /s_USB_INTF.sch/FTDI_3V3) (solder_mask_margin 0.07)) - (pad 33 thru_hole circle (at -1.52 0.55 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -1.52 -0.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -1.52 -1.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -0.52 0.55 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -0.52 -0.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -0.52 -1.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at 0.48 0.55 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at 0.48 -0.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at 0.48 -1.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 smd rect (at -0.52 -0.45 270) (size 3.45 3.45) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 9 smd rect (at -2.27 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 177 /s_USB_INTF.sch/FTDI_3V3) (solder_mask_margin 0.07)) - (pad 17 smd rect (at 1.955 1.3 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 25 smd rect (at 1.23 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 121 "Net-(U2-Pad25)") (solder_mask_margin 0.07)) - ) - - (module penguin:QFP40P1600X1600X120-128N_ATSAME54P20A (layer F.Cu) (tedit 5E6D9777) (tstamp 5E752F71) - (at 90.17 109.22 45) - (path /5E7872D3/5E84F3B3) - (fp_text reference U1 (at -4.500975 -9.803025 45) (layer F.SilkS) - (effects (font (size 1.001331 1.001331) (thickness 0.015))) - ) - (fp_text value p_ATSAME54P20A-AU (at 6.78639 10.114365 45) (layer F.Fab) - (effects (font (size 1.002417 1.002417) (thickness 0.015))) - ) - (fp_line (start -7 7) (end -7 6.6) (layer F.SilkS) (width 0.127)) - (fp_line (start -6.6 7) (end -7 7) (layer F.SilkS) (width 0.127)) - (fp_line (start 7 7) (end 7 6.6) (layer F.SilkS) (width 0.127)) - (fp_line (start 6.6 7) (end 7 7) (layer F.SilkS) (width 0.127)) - (fp_line (start 7 -7) (end 7 -6.6) (layer F.SilkS) (width 0.127)) - (fp_line (start 6.6 -7) (end 7 -7) (layer F.SilkS) (width 0.127)) - (fp_line (start -7 -7) (end -7 -6.6) (layer F.SilkS) (width 0.127)) - (fp_line (start -6.6 -7) (end -7 -7) (layer F.SilkS) (width 0.127)) - (fp_line (start 8.655 8.655) (end 8.655 -8.655) (layer F.CrtYd) (width 0.05)) - (fp_line (start -8.655 8.655) (end -8.655 -8.655) (layer F.CrtYd) (width 0.05)) - (fp_line (start -8.655 -8.655) (end 8.655 -8.655) (layer F.CrtYd) (width 0.05)) - (fp_line (start -8.655 8.655) (end 8.655 8.655) (layer F.CrtYd) (width 0.05)) - (fp_line (start -7 7) (end -7 -7) (layer F.Fab) (width 0.127)) - (fp_line (start 7 7) (end 7 -7) (layer F.Fab) (width 0.127)) - (fp_line (start 7 -7) (end -7 -7) (layer F.Fab) (width 0.127)) - (fp_line (start 7 7) (end -7 7) (layer F.Fab) (width 0.127)) - (fp_circle (center -9.14 -6.44) (end -8.94 -6.44) (layer F.Fab) (width 0.1)) - (fp_circle (center -9.14 -6.44) (end -8.94 -6.44) (layer F.SilkS) (width 0.1)) - (pad 96 smd rect (at 7.67 -6.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask)) - (pad 95 smd rect (at 7.67 -5.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 9 "Net-(U1-Pad95)")) - (pad 94 smd rect (at 7.67 -5.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 10 "Net-(U1-Pad94)")) - (pad 93 smd rect (at 7.67 -5 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 11 "Net-(U1-Pad93)")) - (pad 92 smd rect (at 7.67 -4.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 12 "Net-(U1-Pad92)")) - (pad 91 smd rect (at 7.67 -4.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 90 smd rect (at 7.67 -3.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask)) - (pad 89 smd rect (at 7.67 -3.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 13 "Net-(U1-Pad89)")) - (pad 88 smd rect (at 7.67 -3 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 14 "Net-(U1-Pad88)")) - (pad 87 smd rect (at 7.67 -2.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 15 "Net-(U1-Pad87)")) - (pad 86 smd rect (at 7.67 -2.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 16 "Net-(U1-Pad86)")) - (pad 85 smd rect (at 7.67 -1.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 17 "Net-(U1-Pad85)")) - (pad 84 smd rect (at 7.67 -1.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 18 "Net-(U1-Pad84)")) - (pad 83 smd rect (at 7.67 -1 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 19 "Net-(U1-Pad83)")) - (pad 82 smd rect (at 7.67 -0.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 20 "Net-(U1-Pad82)")) - (pad 81 smd rect (at 7.67 -0.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 21 "Net-(U1-Pad81)")) - (pad 80 smd rect (at 7.67 0.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 22 "Net-(U1-Pad80)")) - (pad 79 smd rect (at 7.67 0.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 78 smd rect (at 7.67 1 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask)) - (pad 77 smd rect (at 7.67 1.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 23 "Net-(U1-Pad77)")) - (pad 76 smd rect (at 7.67 1.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 24 "Net-(U1-Pad76)")) - (pad 75 smd rect (at 7.67 2.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 25 "Net-(U1-Pad75)")) - (pad 74 smd rect (at 7.67 2.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 26 "Net-(U1-Pad74)")) - (pad 73 smd rect (at 7.67 3 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 27 "Net-(U1-Pad73)")) - (pad 72 smd rect (at 7.67 3.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 28 "Net-(U1-Pad72)")) - (pad 71 smd rect (at 7.67 3.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 29 "Net-(U1-Pad71)")) - (pad 70 smd rect (at 7.67 4.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 30 "Net-(U1-Pad70)")) - (pad 69 smd rect (at 7.67 4.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 31 "Net-(U1-Pad69)")) - (pad 68 smd rect (at 7.67 5 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 32 "Net-(U1-Pad68)")) - (pad 67 smd rect (at 7.67 5.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 171 /MASTER_I2C_SCL)) - (pad 66 smd rect (at 7.67 5.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 170 /MASTER_I2C_SDA)) - (pad 65 smd rect (at 7.67 6.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 32 smd rect (at -7.67 6.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 33 "Net-(U1-Pad32)")) - (pad 31 smd rect (at -7.67 5.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask)) - (pad 30 smd rect (at -7.67 5.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 34 "Net-(U1-Pad30)")) - (pad 29 smd rect (at -7.67 5 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 35 "Net-(U1-Pad29)")) - (pad 28 smd rect (at -7.67 4.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 36 "Net-(U1-Pad28)")) - (pad 27 smd rect (at -7.67 4.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 37 "Net-(U1-Pad27)")) - (pad 26 smd rect (at -7.67 3.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 38 "Net-(U1-Pad26)")) - (pad 25 smd rect (at -7.67 3.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 45 "Net-(U1-Pad14)")) - (pad 24 smd rect (at -7.67 3 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 39 "Net-(U1-Pad24)")) - (pad 23 smd rect (at -7.67 2.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 174 /MASTER_SPI_MISO)) - (pad 22 smd rect (at -7.67 2.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 175 /MASTER_SPI_CLK)) - (pad 21 smd rect (at -7.67 1.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 174 /MASTER_SPI_MISO)) - (pad 20 smd rect (at -7.67 1.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 40 "Net-(U1-Pad20)")) - (pad 19 smd rect (at -7.67 1 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 41 "Net-(U1-Pad19)")) - (pad 18 smd rect (at -7.67 0.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 42 "Net-(U1-Pad18)")) - (pad 17 smd rect (at -7.67 0.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 190 /s_BRAIN/EXT_IRQ_5)) - (pad 16 smd rect (at -7.67 -0.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 43 "Net-(U1-Pad16)")) - (pad 15 smd rect (at -7.67 -0.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 44 "Net-(U1-Pad15)")) - (pad 14 smd rect (at -7.67 -1 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 45 "Net-(U1-Pad14)")) - (pad 13 smd rect (at -7.67 -1.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 46 "Net-(U1-Pad13)")) - (pad 12 smd rect (at -7.67 -1.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 191 /s_BRAIN/EXT_IRQ_4)) - (pad 11 smd rect (at -7.67 -2.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 192 /s_BRAIN/EXT_IRQ_3)) - (pad 10 smd rect (at -7.67 -2.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 47 "Net-(U1-Pad10)")) - (pad 9 smd rect (at -7.67 -3 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 48 "Net-(U1-Pad9)")) - (pad 8 smd rect (at -7.67 -3.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 49 "Net-(U1-Pad8)")) - (pad 7 smd rect (at -7.67 -3.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 50 "Net-(U1-Pad7)")) - (pad 6 smd rect (at -7.67 -4.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 51 "Net-(U1-Pad6)")) - (pad 5 smd rect (at -7.67 -4.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 52 "Net-(U1-Pad5)")) - (pad 4 smd rect (at -7.67 -5 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 53 "Net-(U1-Pad4)")) - (pad 3 smd rect (at -7.67 -5.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 54 "Net-(U1-Pad3)")) - (pad 2 smd rect (at -7.67 -5.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 131 "Net-(C2-Pad1)")) - (pad 1 smd rect (at -7.67 -6.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 55 "Net-(C1-Pad2)")) - (pad 128 smd rect (at -6.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 122 g_3v3)) - (pad 127 smd rect (at -5.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 193 /s_BRAIN/EXT_IRQ_2)) - (pad 126 smd rect (at -5.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 194 /s_BRAIN/EXT_IRQ_1)) - (pad 125 smd rect (at -5 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 195 /s_BRAIN/EXT_IRQ_0)) - (pad 124 smd rect (at -4.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 56 "Net-(U1-Pad124)")) - (pad 123 smd rect (at -4.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 57 "Net-(U1-Pad123)")) - (pad 122 smd rect (at -3.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 58 "Net-(U1-Pad122)")) - (pad 121 smd rect (at -3.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 59 "Net-(U1-Pad121)")) - (pad 120 smd rect (at -3 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 60 "Net-(U1-Pad120)")) - (pad 119 smd rect (at -2.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 61 "Net-(U1-Pad119)")) - (pad 118 smd rect (at -2.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 117 smd rect (at -1.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 62 "Net-(U1-Pad117)")) - (pad 116 smd rect (at -1.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 63 "Net-(U1-Pad116)")) - (pad 115 smd rect (at -1 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 64 "Net-(U1-Pad115)")) - (pad 114 smd rect (at -0.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 65 "Net-(U1-Pad114)")) - (pad 113 smd rect (at -0.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 66 "Net-(U1-Pad113)")) - (pad 112 smd rect (at 0.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 67 "Net-(U1-Pad112)")) - (pad 111 smd rect (at 0.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 68 "Net-(U1-Pad111)")) - (pad 110 smd rect (at 1 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 69 "Net-(U1-Pad110)")) - (pad 109 smd rect (at 1.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 70 "Net-(U1-Pad109)")) - (pad 108 smd rect (at 1.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 71 "Net-(U1-Pad108)")) - (pad 107 smd rect (at 2.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 106 smd rect (at 2.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 105 smd rect (at 3 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 73 "Net-(U1-Pad105)")) - (pad 104 smd rect (at 3.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 74 "Net-(U1-Pad104)")) - (pad 103 smd rect (at 3.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 75 "Net-(U1-Pad103)")) - (pad 102 smd rect (at 4.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 76 "Net-(U1-Pad102)")) - (pad 101 smd rect (at 4.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 135 /DEBUG_TX)) - (pad 100 smd rect (at 5 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 134 /DEBUG_RX)) - (pad 99 smd rect (at 5.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 77 "Net-(U1-Pad99)")) - (pad 98 smd rect (at 5.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 78 "Net-(U1-Pad98)")) - (pad 97 smd rect (at 6.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 64 smd rect (at 6.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 63 smd rect (at 5.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 132 "Net-(C5-Pad2)")) - (pad 62 smd rect (at 5.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 133 "Net-(C4-Pad2)")) - (pad 61 smd rect (at 5 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 79 "Net-(U1-Pad61)")) - (pad 60 smd rect (at 4.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 80 "Net-(U1-Pad60)")) - (pad 59 smd rect (at 4.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 81 "Net-(U1-Pad59)")) - (pad 58 smd rect (at 3.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 82 "Net-(U1-Pad58)")) - (pad 57 smd rect (at 3.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 83 "Net-(U1-Pad57)")) - (pad 56 smd rect (at 3 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 84 "Net-(U1-Pad56)")) - (pad 55 smd rect (at 2.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 85 "Net-(U1-Pad55)")) - (pad 54 smd rect (at 2.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 53 smd rect (at 1.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 52 smd rect (at 1.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 86 "Net-(U1-Pad52)")) - (pad 51 smd rect (at 1 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 87 "Net-(U1-Pad51)")) - (pad 50 smd rect (at 0.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 88 "Net-(U1-Pad50)")) - (pad 49 smd rect (at 0.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 89 "Net-(U1-Pad49)")) - (pad 48 smd rect (at -0.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 90 "Net-(U1-Pad48)")) - (pad 47 smd rect (at -0.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 91 "Net-(U1-Pad47)")) - (pad 46 smd rect (at -1 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 45 smd rect (at -1.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 44 smd rect (at -1.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 92 "Net-(U1-Pad44)")) - (pad 43 smd rect (at -2.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 93 "Net-(U1-Pad43)")) - (pad 42 smd rect (at -2.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 94 "Net-(U1-Pad42)")) - (pad 41 smd rect (at -3 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 95 "Net-(U1-Pad41)")) - (pad 40 smd rect (at -3.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 96 "Net-(U1-Pad40)")) - (pad 39 smd rect (at -3.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 97 "Net-(U1-Pad39)")) - (pad 38 smd rect (at -4.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 37 smd rect (at -4.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 98 "Net-(U1-Pad37)")) - (pad 36 smd rect (at -5 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 99 "Net-(U1-Pad36)")) - (pad 35 smd rect (at -5.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 100 "Net-(U1-Pad35)")) - (pad 34 smd rect (at -5.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 101 "Net-(U1-Pad34)")) - (pad 33 smd rect (at -6.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 102 "Net-(U1-Pad33)")) - ) - - (module Connector_IDC:IDC-Header_2x20_P2.54mm_Horizontal (layer F.Cu) (tedit 59DE239E) (tstamp 5E752EDB) - (at 78.74 64.77 90) - (descr "Through hole angled IDC box header, 2x20, 2.54mm pitch, double rows") - (tags "Through hole IDC box header THT 2x20 2.54mm double row") - (path /5E8589A7/5E858ED6) - (fp_text reference J3 (at 6.105 -6.35 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value Conn_02x20_Odd_Even_LCD_INTF (at 6.105 54.864 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 13.48 53.61) (end -1.12 53.61) (layer F.CrtYd) (width 0.05)) - (fp_line (start 13.48 -5.35) (end 13.48 53.61) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.12 53.61) (end -1.12 -5.35) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.12 -5.35) (end 13.48 -5.35) (layer F.CrtYd) (width 0.05)) - (fp_line (start 4.13 53.61) (end 4.13 -5.35) (layer F.SilkS) (width 0.12)) - (fp_line (start 4.13 53.61) (end 13.48 53.61) (layer F.SilkS) (width 0.12)) - (fp_line (start 4.13 26.38) (end 13.48 26.38) (layer F.SilkS) (width 0.12)) - (fp_line (start 4.13 21.88) (end 13.48 21.88) (layer F.SilkS) (width 0.12)) - (fp_line (start 4.13 -5.35) (end 13.48 -5.35) (layer F.SilkS) (width 0.12)) - (fp_line (start 13.48 -5.35) (end 13.48 53.61) (layer F.SilkS) (width 0.12)) - (fp_line (start 0 -1.27) (end -1.27 -1.27) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.27 -1.27) (end -1.27 0) (layer F.SilkS) (width 0.12)) - (fp_line (start 5.38 -5.1) (end 13.23 -5.1) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 9.84) (end -0.32 9.84) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 7.3) (end -0.32 7.3) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 53.36) (end 4.38 -4.1) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 53.36) (end 13.23 53.36) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 47.94) (end -0.32 47.94) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 45.4) (end -0.32 45.4) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 42.86) (end -0.32 42.86) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 40.32) (end -0.32 40.32) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 4.76) (end -0.32 4.76) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 37.78) (end -0.32 37.78) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 35.24) (end -0.32 35.24) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 32.7) (end -0.32 32.7) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 30.16) (end -0.32 30.16) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 27.62) (end -0.32 27.62) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 26.38) (end 13.23 26.38) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 25.08) (end -0.32 25.08) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 22.54) (end -0.32 22.54) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 21.88) (end 13.23 21.88) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 20) (end -0.32 20) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 2.22) (end -0.32 2.22) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 17.46) (end -0.32 17.46) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 14.92) (end -0.32 14.92) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 12.38) (end -0.32 12.38) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 -4.1) (end 5.38 -5.1) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 -0.32) (end -0.32 -0.32) (layer F.Fab) (width 0.1)) - (fp_line (start 13.23 53.36) (end 13.23 -5.1) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 9.84) (end -0.32 10.48) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 7.94) (end 4.38 7.94) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 7.3) (end -0.32 7.94) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 5.4) (end 4.38 5.4) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 48.58) (end 4.38 48.58) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 47.94) (end -0.32 48.58) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 46.04) (end 4.38 46.04) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 45.4) (end -0.32 46.04) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 43.5) (end 4.38 43.5) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 42.86) (end -0.32 43.5) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 40.96) (end 4.38 40.96) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 40.32) (end -0.32 40.96) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 4.76) (end -0.32 5.4) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 38.42) (end 4.38 38.42) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 37.78) (end -0.32 38.42) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 35.88) (end 4.38 35.88) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 35.24) (end -0.32 35.88) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 33.34) (end 4.38 33.34) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 32.7) (end -0.32 33.34) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 30.8) (end 4.38 30.8) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 30.16) (end -0.32 30.8) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 28.26) (end 4.38 28.26) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 27.62) (end -0.32 28.26) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 25.72) (end 4.38 25.72) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 25.08) (end -0.32 25.72) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 23.18) (end 4.38 23.18) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 22.54) (end -0.32 23.18) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 20.64) (end 4.38 20.64) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 20) (end -0.32 20.64) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 2.86) (end 4.38 2.86) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 2.22) (end -0.32 2.86) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 18.1) (end 4.38 18.1) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 17.46) (end -0.32 18.1) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 15.56) (end 4.38 15.56) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 14.92) (end -0.32 15.56) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 13.02) (end 4.38 13.02) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 12.38) (end -0.32 13.02) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 10.48) (end 4.38 10.48) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 0.32) (end 4.38 0.32) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 -0.32) (end -0.32 0.32) (layer F.Fab) (width 0.1)) - (fp_text user %R (at 8.805 24.13) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (pad 40 thru_hole oval (at 2.54 48.26 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 5 "Net-(J3-Pad40)")) - (pad 39 thru_hole oval (at 0 48.26 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 6 "Net-(J3-Pad39)")) - (pad 38 thru_hole oval (at 2.54 45.72 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 7 "Net-(J3-Pad38)")) - (pad 37 thru_hole oval (at 0 45.72 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 136 /s_SCREEN_INTF/TFT_STB)) - (pad 36 thru_hole oval (at 2.54 43.18 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 137 /s_SCREEN_INTF/D23)) - (pad 35 thru_hole oval (at 0 43.18 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 138 /s_SCREEN_INTF/D22)) - (pad 34 thru_hole oval (at 2.54 40.64 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 139 /s_SCREEN_INTF/D21)) - (pad 33 thru_hole oval (at 0 40.64 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 140 /s_SCREEN_INTF/D20)) - (pad 32 thru_hole oval (at 2.54 38.1 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 141 /s_SCREEN_INTF/D19)) - (pad 31 thru_hole oval (at 0 38.1 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 142 /s_SCREEN_INTF/D18)) - (pad 30 thru_hole oval (at 2.54 35.56 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 143 /s_SCREEN_INTF/D17)) - (pad 29 thru_hole oval (at 0 35.56 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 144 /s_SCREEN_INTF/D16)) - (pad 28 thru_hole oval (at 2.54 33.02 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 145 /s_SCREEN_INTF/D15)) - (pad 27 thru_hole oval (at 0 33.02 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 146 /s_SCREEN_INTF/D14)) - (pad 26 thru_hole oval (at 2.54 30.48 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 147 /s_SCREEN_INTF/D13)) - (pad 25 thru_hole oval (at 0 30.48 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 148 /s_SCREEN_INTF/D12)) - (pad 24 thru_hole oval (at 2.54 27.94 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 149 /s_SCREEN_INTF/D11)) - (pad 23 thru_hole oval (at 0 27.94 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 150 /s_SCREEN_INTF/D10)) - (pad 22 thru_hole oval (at 2.54 25.4 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 151 /s_SCREEN_INTF/D9)) - (pad 21 thru_hole oval (at 0 25.4 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 152 /s_SCREEN_INTF/D8)) - (pad 20 thru_hole oval (at 2.54 22.86 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 153 /s_SCREEN_INTF/D7)) - (pad 19 thru_hole oval (at 0 22.86 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 154 /s_SCREEN_INTF/D6)) - (pad 18 thru_hole oval (at 2.54 20.32 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 155 /s_SCREEN_INTF/D5)) - (pad 17 thru_hole oval (at 0 20.32 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 156 /s_SCREEN_INTF/D4)) - (pad 16 thru_hole oval (at 2.54 17.78 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 157 /s_SCREEN_INTF/D3)) - (pad 15 thru_hole oval (at 0 17.78 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 158 /s_SCREEN_INTF/D2)) - (pad 14 thru_hole oval (at 2.54 15.24 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 159 /s_SCREEN_INTF/D1)) - (pad 13 thru_hole oval (at 0 15.24 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 160 /s_SCREEN_INTF/D0)) - (pad 12 thru_hole oval (at 2.54 12.7 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 161 /s_SCREEN_INTF/TFT_TE)) - (pad 11 thru_hole oval (at 0 12.7 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 162 /s_SCREEN_INTF/~TFT_RD)) - (pad 10 thru_hole oval (at 2.54 10.16 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 163 /s_SCREEN_INTF/~TFT_WR)) - (pad 9 thru_hole oval (at 0 10.16 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 169 /~TFT_CS)) - (pad 8 thru_hole oval (at 2.54 7.62 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 164 /s_SCREEN_INTF/TFT_RSDC)) - (pad 7 thru_hole oval (at 0 7.62 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 165 /s_SCREEN_INTF/~TFT_RST)) - (pad 6 thru_hole oval (at 2.54 5.08 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 8 "Net-(J3-Pad6)")) - (pad 5 thru_hole oval (at 0 5.08 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 166 /s_SCREEN_INTF/TFT_TOUCH_INT)) - (pad 4 thru_hole oval (at 2.54 2.54 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 170 /MASTER_I2C_SDA)) - (pad 3 thru_hole oval (at 0 2.54 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 171 /MASTER_I2C_SCL)) - (pad 2 thru_hole oval (at 2.54 0 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 1 thru_hole rect (at 0 0 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 122 g_3v3)) - (model ${KISYS3DMOD}/Connector_IDC.3dshapes/IDC-Header_2x20_P2.54mm_Horizontal.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module Connector_USB:USB_Micro-B_Wuerth_629105150521 (layer F.Cu) (tedit 5A142044) (tstamp 5E752E24) - (at 54.61 73.66 270) - (descr "USB Micro-B receptacle, http://www.mouser.com/ds/2/445/629105150521-469306.pdf") - (tags "usb micro receptacle") - (path /5E7C0F59/5E8480AD) - (attr smd) - (fp_text reference J1 (at 0 -3.5 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value USB_B_Micro (at 0 5.6 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user "PCB Edge" (at 0 3.75 90) (layer Dwgs.User) - (effects (font (size 0.5 0.5) (thickness 0.08))) - ) - (fp_text user %R (at 0 1.05 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 4.95 -3.34) (end -4.94 -3.34) (layer F.CrtYd) (width 0.05)) - (fp_line (start 4.95 4.85) (end 4.95 -3.34) (layer F.CrtYd) (width 0.05)) - (fp_line (start -4.94 4.85) (end 4.95 4.85) (layer F.CrtYd) (width 0.05)) - (fp_line (start -4.94 -3.34) (end -4.94 4.85) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.8 -2.4) (end 2.8 -2.4) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.8 -2.4) (end -2.8 -2.4) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.8 -2.825) (end -1.8 -2.4) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.075 -2.825) (end -1.8 -2.825) (layer F.SilkS) (width 0.15)) - (fp_line (start 4.15 0.75) (end 4.15 -0.65) (layer F.SilkS) (width 0.15)) - (fp_line (start 4.15 3.3) (end 4.15 3.15) (layer F.SilkS) (width 0.15)) - (fp_line (start 3.85 3.3) (end 4.15 3.3) (layer F.SilkS) (width 0.15)) - (fp_line (start 3.85 3.75) (end 3.85 3.3) (layer F.SilkS) (width 0.15)) - (fp_line (start -3.85 3.3) (end -3.85 3.75) (layer F.SilkS) (width 0.15)) - (fp_line (start -4.15 3.3) (end -3.85 3.3) (layer F.SilkS) (width 0.15)) - (fp_line (start -4.15 3.15) (end -4.15 3.3) (layer F.SilkS) (width 0.15)) - (fp_line (start -4.15 -0.65) (end -4.15 0.75) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.075 -2.95) (end -1.075 -2.725) (layer F.Fab) (width 0.15)) - (fp_line (start -1.525 -2.95) (end -1.075 -2.95) (layer F.Fab) (width 0.15)) - (fp_line (start -1.525 -2.725) (end -1.525 -2.95) (layer F.Fab) (width 0.15)) - (fp_line (start -1.3 -2.55) (end -1.525 -2.725) (layer F.Fab) (width 0.15)) - (fp_line (start -1.075 -2.725) (end -1.3 -2.55) (layer F.Fab) (width 0.15)) - (fp_line (start -2.7 3.75) (end 2.7 3.75) (layer F.Fab) (width 0.15)) - (fp_line (start 4 -2.25) (end -4 -2.25) (layer F.Fab) (width 0.15)) - (fp_line (start 4 3.15) (end 4 -2.25) (layer F.Fab) (width 0.15)) - (fp_line (start 3.7 3.15) (end 4 3.15) (layer F.Fab) (width 0.15)) - (fp_line (start 3.7 4.35) (end 3.7 3.15) (layer F.Fab) (width 0.15)) - (fp_line (start -3.7 4.35) (end 3.7 4.35) (layer F.Fab) (width 0.15)) - (fp_line (start -3.7 3.15) (end -3.7 4.35) (layer F.Fab) (width 0.15)) - (fp_line (start -4 3.15) (end -3.7 3.15) (layer F.Fab) (width 0.15)) - (fp_line (start -4 -2.25) (end -4 3.15) (layer F.Fab) (width 0.15)) - (pad "" np_thru_hole oval (at 2.5 -0.8 270) (size 0.8 0.8) (drill 0.8) (layers *.Cu *.Mask)) - (pad "" np_thru_hole oval (at -2.5 -0.8 270) (size 0.8 0.8) (drill 0.8) (layers *.Cu *.Mask)) - (pad 6 thru_hole oval (at 3.875 1.95 270) (size 1.15 1.8) (drill oval 0.55 1.2) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 6 thru_hole oval (at -3.875 1.95 270) (size 1.15 1.8) (drill oval 0.55 1.2) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 6 thru_hole oval (at 3.725 -1.85 270) (size 1.45 2) (drill oval 0.85 1.4) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 6 thru_hole oval (at -3.725 -1.85 270) (size 1.45 2) (drill oval 0.85 1.4) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 5 smd rect (at 1.3 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 4 smd rect (at 0.65 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 1 "Net-(J1-Pad4)")) - (pad 3 smd rect (at 0 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 129 /s_USB_INTF.sch/USB_D+)) - (pad 2 smd rect (at -0.65 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 130 /s_USB_INTF.sch/USB_D-)) - (pad 1 smd rect (at -1.3 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 168 "Net-(C7-Pad1)")) - (model ${KISYS3DMOD}/Connector_USB.3dshapes/USB_Micro-B_Wuerth_629105150521.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (gr_line (start 50.8 130.81) (end 50.8 50.8) (layer Edge.Cuts) (width 0.05) (tstamp 5E7ADE31)) - (gr_line (start 152.4 130.81) (end 50.8 130.81) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 152.4 50.8) (end 152.4 130.81) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 53.34 50.8) (end 152.4 50.8) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 50.8 50.8) (end 53.34 50.8) (layer Edge.Cuts) (width 0.05) (tstamp 5E6E9EBC)) - -) diff --git a/electrical/same54_dev_board/same54_dev_board.kicad_pcb-bak b/electrical/same54_dev_board/same54_dev_board.kicad_pcb-bak deleted file mode 100644 index 39b3c78..0000000 --- a/electrical/same54_dev_board/same54_dev_board.kicad_pcb-bak +++ /dev/null @@ -1,1591 +0,0 @@ -(kicad_pcb (version 20171130) (host pcbnew 5.1.5) - - (general - (thickness 1.6) - (drawings 5) - (tracks 0) - (zones 0) - (modules 13) - (nets 196) - ) - - (page A4) - (layers - (0 F.Cu signal) - (31 B.Cu signal) - (32 B.Adhes user) - (33 F.Adhes user) - (34 B.Paste user) - (35 F.Paste user) - (36 B.SilkS user) - (37 F.SilkS user) - (38 B.Mask user) - (39 F.Mask user) - (40 Dwgs.User user) - (41 Cmts.User user) - (42 Eco1.User user) - (43 Eco2.User user) - (44 Edge.Cuts user) - (45 Margin user) - (46 B.CrtYd user) - (47 F.CrtYd user) - (48 B.Fab user) - (49 F.Fab user) - ) - - (setup - (last_trace_width 0.25) - (trace_clearance 0.2) - (zone_clearance 0.508) - (zone_45_only no) - (trace_min 0.2) - (via_size 0.8) - (via_drill 0.4) - (via_min_size 0.4) - (via_min_drill 0.3) - (uvia_size 0.3) - (uvia_drill 0.1) - (uvias_allowed no) - (uvia_min_size 0.2) - (uvia_min_drill 0.1) - (edge_width 0.05) - (segment_width 0.2) - (pcb_text_width 0.3) - (pcb_text_size 1.5 1.5) - (mod_edge_width 0.12) - (mod_text_size 1 1) - (mod_text_width 0.15) - (pad_size 3.45 3.45) - (pad_drill 0) - (pad_to_mask_clearance 0.051) - (solder_mask_min_width 0.25) - (aux_axis_origin 0 0) - (visible_elements 7FFFFFFF) - (pcbplotparams - (layerselection 0x010fc_ffffffff) - (usegerberextensions false) - (usegerberattributes false) - (usegerberadvancedattributes false) - (creategerberjobfile false) - (excludeedgelayer true) - (linewidth 0.100000) - (plotframeref false) - (viasonmask false) - (mode 1) - (useauxorigin false) - (hpglpennumber 1) - (hpglpenspeed 20) - (hpglpendiameter 15.000000) - (psnegative false) - (psa4output false) - (plotreference true) - (plotvalue true) - (plotinvisibletext false) - (padsonsilk false) - (subtractmaskfromsilk false) - (outputformat 1) - (mirror false) - (drillshape 1) - (scaleselection 1) - (outputdirectory "")) - ) - - (net 0 "") - (net 1 "Net-(J1-Pad4)") - (net 2 "Net-(J2-Pad8)") - (net 3 "Net-(J2-Pad7)") - (net 4 "Net-(J2-Pad1)") - (net 5 "Net-(J3-Pad40)") - (net 6 "Net-(J3-Pad39)") - (net 7 "Net-(J3-Pad38)") - (net 8 "Net-(J3-Pad6)") - (net 9 "Net-(U1-Pad95)") - (net 10 "Net-(U1-Pad94)") - (net 11 "Net-(U1-Pad93)") - (net 12 "Net-(U1-Pad92)") - (net 13 "Net-(U1-Pad89)") - (net 14 "Net-(U1-Pad88)") - (net 15 "Net-(U1-Pad87)") - (net 16 "Net-(U1-Pad86)") - (net 17 "Net-(U1-Pad85)") - (net 18 "Net-(U1-Pad84)") - (net 19 "Net-(U1-Pad83)") - (net 20 "Net-(U1-Pad82)") - (net 21 "Net-(U1-Pad81)") - (net 22 "Net-(U1-Pad80)") - (net 23 "Net-(U1-Pad77)") - (net 24 "Net-(U1-Pad76)") - (net 25 "Net-(U1-Pad75)") - (net 26 "Net-(U1-Pad74)") - (net 27 "Net-(U1-Pad73)") - (net 28 "Net-(U1-Pad72)") - (net 29 "Net-(U1-Pad71)") - (net 30 "Net-(U1-Pad70)") - (net 31 "Net-(U1-Pad69)") - (net 32 "Net-(U1-Pad68)") - (net 33 "Net-(U1-Pad32)") - (net 34 "Net-(U1-Pad30)") - (net 35 "Net-(U1-Pad29)") - (net 36 "Net-(U1-Pad28)") - (net 37 "Net-(U1-Pad27)") - (net 38 "Net-(U1-Pad26)") - (net 39 "Net-(U1-Pad24)") - (net 40 "Net-(U1-Pad20)") - (net 41 "Net-(U1-Pad19)") - (net 42 "Net-(U1-Pad18)") - (net 43 "Net-(U1-Pad16)") - (net 44 "Net-(U1-Pad15)") - (net 45 "Net-(U1-Pad14)") - (net 46 "Net-(U1-Pad13)") - (net 47 "Net-(U1-Pad10)") - (net 48 "Net-(U1-Pad9)") - (net 49 "Net-(U1-Pad8)") - (net 50 "Net-(U1-Pad7)") - (net 51 "Net-(U1-Pad6)") - (net 52 "Net-(U1-Pad5)") - (net 53 "Net-(U1-Pad4)") - (net 54 "Net-(U1-Pad3)") - (net 55 "Net-(C1-Pad2)") - (net 56 "Net-(U1-Pad124)") - (net 57 "Net-(U1-Pad123)") - (net 58 "Net-(U1-Pad122)") - (net 59 "Net-(U1-Pad121)") - (net 60 "Net-(U1-Pad120)") - (net 61 "Net-(U1-Pad119)") - (net 62 "Net-(U1-Pad117)") - (net 63 "Net-(U1-Pad116)") - (net 64 "Net-(U1-Pad115)") - (net 65 "Net-(U1-Pad114)") - (net 66 "Net-(U1-Pad113)") - (net 67 "Net-(U1-Pad112)") - (net 68 "Net-(U1-Pad111)") - (net 69 "Net-(U1-Pad110)") - (net 70 "Net-(U1-Pad109)") - (net 71 "Net-(U1-Pad108)") - (net 72 "Net-(U1-Pad107)") - (net 73 "Net-(U1-Pad105)") - (net 74 "Net-(U1-Pad104)") - (net 75 "Net-(U1-Pad103)") - (net 76 "Net-(U1-Pad102)") - (net 77 "Net-(U1-Pad99)") - (net 78 "Net-(U1-Pad98)") - (net 79 "Net-(U1-Pad61)") - (net 80 "Net-(U1-Pad60)") - (net 81 "Net-(U1-Pad59)") - (net 82 "Net-(U1-Pad58)") - (net 83 "Net-(U1-Pad57)") - (net 84 "Net-(U1-Pad56)") - (net 85 "Net-(U1-Pad55)") - (net 86 "Net-(U1-Pad52)") - (net 87 "Net-(U1-Pad51)") - (net 88 "Net-(U1-Pad50)") - (net 89 "Net-(U1-Pad49)") - (net 90 "Net-(U1-Pad48)") - (net 91 "Net-(U1-Pad47)") - (net 92 "Net-(U1-Pad44)") - (net 93 "Net-(U1-Pad43)") - (net 94 "Net-(U1-Pad42)") - (net 95 "Net-(U1-Pad41)") - (net 96 "Net-(U1-Pad40)") - (net 97 "Net-(U1-Pad39)") - (net 98 "Net-(U1-Pad37)") - (net 99 "Net-(U1-Pad36)") - (net 100 "Net-(U1-Pad35)") - (net 101 "Net-(U1-Pad34)") - (net 102 "Net-(U1-Pad33)") - (net 103 "Net-(U2-Pad32)") - (net 104 "Net-(U2-Pad31)") - (net 105 "Net-(U2-Pad29)") - (net 106 "Net-(U2-Pad28)") - (net 107 "Net-(U2-Pad27)") - (net 108 "Net-(U2-Pad23)") - (net 109 "Net-(U2-Pad22)") - (net 110 "Net-(U2-Pad21)") - (net 111 "Net-(U2-Pad18)") - (net 112 "Net-(U2-Pad13)") - (net 113 "Net-(U2-Pad12)") - (net 114 "Net-(U2-Pad11)") - (net 115 "Net-(U2-Pad10)") - (net 116 "Net-(U2-Pad8)") - (net 117 "Net-(U2-Pad7)") - (net 118 "Net-(U2-Pad6)") - (net 119 "Net-(U2-Pad5)") - (net 120 "Net-(U2-Pad3)") - (net 121 "Net-(U2-Pad25)") - (net 122 g_3v3) - (net 123 "Net-(U3-Pad32)") - (net 124 "Net-(U3-Pad31)") - (net 125 "Net-(U3-Pad30)") - (net 126 "Net-(U3-Pad29)") - (net 127 GND) - (net 128 "Net-(R1-Pad1)") - (net 129 /s_USB_INTF.sch/USB_D+) - (net 130 /s_USB_INTF.sch/USB_D-) - (net 131 "Net-(C2-Pad1)") - (net 132 "Net-(C5-Pad2)") - (net 133 "Net-(C4-Pad2)") - (net 134 /DEBUG_RX) - (net 135 /DEBUG_TX) - (net 136 /s_SCREEN_INTF/TFT_STB) - (net 137 /s_SCREEN_INTF/D23) - (net 138 /s_SCREEN_INTF/D22) - (net 139 /s_SCREEN_INTF/D21) - (net 140 /s_SCREEN_INTF/D20) - (net 141 /s_SCREEN_INTF/D19) - (net 142 /s_SCREEN_INTF/D18) - (net 143 /s_SCREEN_INTF/D17) - (net 144 /s_SCREEN_INTF/D16) - (net 145 /s_SCREEN_INTF/D15) - (net 146 /s_SCREEN_INTF/D14) - (net 147 /s_SCREEN_INTF/D13) - (net 148 /s_SCREEN_INTF/D12) - (net 149 /s_SCREEN_INTF/D11) - (net 150 /s_SCREEN_INTF/D10) - (net 151 /s_SCREEN_INTF/D9) - (net 152 /s_SCREEN_INTF/D8) - (net 153 /s_SCREEN_INTF/D7) - (net 154 /s_SCREEN_INTF/D6) - (net 155 /s_SCREEN_INTF/D5) - (net 156 /s_SCREEN_INTF/D4) - (net 157 /s_SCREEN_INTF/D3) - (net 158 /s_SCREEN_INTF/D2) - (net 159 /s_SCREEN_INTF/D1) - (net 160 /s_SCREEN_INTF/D0) - (net 161 /s_SCREEN_INTF/TFT_TE) - (net 162 /s_SCREEN_INTF/~TFT_RD) - (net 163 /s_SCREEN_INTF/~TFT_WR) - (net 164 /s_SCREEN_INTF/TFT_RSDC) - (net 165 /s_SCREEN_INTF/~TFT_RST) - (net 166 /s_SCREEN_INTF/TFT_TOUCH_INT) - (net 167 /s_SCREEN_INTF/~IO_EXPANDER_CS) - (net 168 "Net-(C7-Pad1)") - (net 169 /~TFT_CS) - (net 170 /MASTER_I2C_SDA) - (net 171 /MASTER_I2C_SCL) - (net 172 /s_Power/USB_5v) - (net 173 /s_Power/USB_3v3) - (net 174 /MASTER_SPI_MISO) - (net 175 /MASTER_SPI_CLK) - (net 176 /s_USB_INTF.sch/FTDI_5V) - (net 177 /s_USB_INTF.sch/FTDI_3V3) - (net 178 /MASTER_SPI_MOSI) - (net 179 "Net-(U4-Pad5)") - (net 180 "Net-(U4-Pad3)") - (net 181 "Net-(Q1-Pad3)") - (net 182 "Net-(Q2-Pad3)") - (net 183 "Net-(C10-Pad1)") - (net 184 /s_BRAIN/~SYS_RST) - (net 185 /s_BRAIN/SWO) - (net 186 /s_BRAIN/SWCLK) - (net 187 /s_BRAIN/SWDIO) - (net 188 /s_Power/Wall_5V) - (net 189 "Net-(J4-Pad3)") - (net 190 /s_BRAIN/EXT_IRQ_5) - (net 191 /s_BRAIN/EXT_IRQ_4) - (net 192 /s_BRAIN/EXT_IRQ_3) - (net 193 /s_BRAIN/EXT_IRQ_2) - (net 194 /s_BRAIN/EXT_IRQ_1) - (net 195 /s_BRAIN/EXT_IRQ_0) - - (net_class Default "This is the default net class." - (clearance 0.2) - (trace_width 0.25) - (via_dia 0.8) - (via_drill 0.4) - (uvia_dia 0.3) - (uvia_drill 0.1) - (add_net /DEBUG_RX) - (add_net /DEBUG_TX) - (add_net /MASTER_I2C_SCL) - (add_net /MASTER_I2C_SDA) - (add_net /MASTER_SPI_CLK) - (add_net /MASTER_SPI_MISO) - (add_net /MASTER_SPI_MOSI) - (add_net /s_BRAIN/EXT_IRQ_0) - (add_net /s_BRAIN/EXT_IRQ_1) - (add_net /s_BRAIN/EXT_IRQ_2) - (add_net /s_BRAIN/EXT_IRQ_3) - (add_net /s_BRAIN/EXT_IRQ_4) - (add_net /s_BRAIN/EXT_IRQ_5) - (add_net /s_BRAIN/SWCLK) - (add_net /s_BRAIN/SWDIO) - (add_net /s_BRAIN/SWO) - (add_net /s_BRAIN/~SYS_RST) - (add_net /s_Power/USB_3v3) - (add_net /s_Power/USB_5v) - (add_net /s_Power/Wall_5V) - (add_net /s_SCREEN_INTF/D0) - (add_net /s_SCREEN_INTF/D1) - (add_net /s_SCREEN_INTF/D10) - (add_net /s_SCREEN_INTF/D11) - (add_net /s_SCREEN_INTF/D12) - (add_net /s_SCREEN_INTF/D13) - (add_net /s_SCREEN_INTF/D14) - (add_net /s_SCREEN_INTF/D15) - (add_net /s_SCREEN_INTF/D16) - (add_net /s_SCREEN_INTF/D17) - (add_net /s_SCREEN_INTF/D18) - (add_net /s_SCREEN_INTF/D19) - (add_net /s_SCREEN_INTF/D2) - (add_net /s_SCREEN_INTF/D20) - (add_net /s_SCREEN_INTF/D21) - (add_net /s_SCREEN_INTF/D22) - (add_net /s_SCREEN_INTF/D23) - (add_net /s_SCREEN_INTF/D3) - (add_net /s_SCREEN_INTF/D4) - (add_net /s_SCREEN_INTF/D5) - (add_net /s_SCREEN_INTF/D6) - (add_net /s_SCREEN_INTF/D7) - (add_net /s_SCREEN_INTF/D8) - (add_net /s_SCREEN_INTF/D9) - (add_net /s_SCREEN_INTF/TFT_RSDC) - (add_net /s_SCREEN_INTF/TFT_STB) - (add_net /s_SCREEN_INTF/TFT_TE) - (add_net /s_SCREEN_INTF/TFT_TOUCH_INT) - (add_net /s_SCREEN_INTF/~IO_EXPANDER_CS) - (add_net /s_SCREEN_INTF/~TFT_RD) - (add_net /s_SCREEN_INTF/~TFT_RST) - (add_net /s_SCREEN_INTF/~TFT_WR) - (add_net /s_USB_INTF.sch/FTDI_3V3) - (add_net /s_USB_INTF.sch/FTDI_5V) - (add_net /s_USB_INTF.sch/USB_D+) - (add_net /s_USB_INTF.sch/USB_D-) - (add_net /~TFT_CS) - (add_net GND) - (add_net "Net-(C1-Pad2)") - (add_net "Net-(C10-Pad1)") - (add_net "Net-(C2-Pad1)") - (add_net "Net-(C4-Pad2)") - (add_net "Net-(C5-Pad2)") - (add_net "Net-(C7-Pad1)") - (add_net "Net-(J1-Pad4)") - (add_net "Net-(J2-Pad1)") - (add_net "Net-(J2-Pad7)") - (add_net "Net-(J2-Pad8)") - (add_net "Net-(J3-Pad38)") - (add_net "Net-(J3-Pad39)") - (add_net "Net-(J3-Pad40)") - (add_net "Net-(J3-Pad6)") - (add_net "Net-(J4-Pad3)") - (add_net "Net-(Q1-Pad3)") - (add_net "Net-(Q2-Pad3)") - (add_net "Net-(R1-Pad1)") - (add_net "Net-(U1-Pad10)") - (add_net "Net-(U1-Pad102)") - (add_net "Net-(U1-Pad103)") - (add_net "Net-(U1-Pad104)") - (add_net "Net-(U1-Pad105)") - (add_net "Net-(U1-Pad107)") - (add_net "Net-(U1-Pad108)") - (add_net "Net-(U1-Pad109)") - (add_net "Net-(U1-Pad110)") - (add_net "Net-(U1-Pad111)") - (add_net "Net-(U1-Pad112)") - (add_net "Net-(U1-Pad113)") - (add_net "Net-(U1-Pad114)") - (add_net "Net-(U1-Pad115)") - (add_net "Net-(U1-Pad116)") - (add_net "Net-(U1-Pad117)") - (add_net "Net-(U1-Pad119)") - (add_net "Net-(U1-Pad120)") - (add_net "Net-(U1-Pad121)") - (add_net "Net-(U1-Pad122)") - (add_net "Net-(U1-Pad123)") - (add_net "Net-(U1-Pad124)") - (add_net "Net-(U1-Pad13)") - (add_net "Net-(U1-Pad14)") - (add_net "Net-(U1-Pad15)") - (add_net "Net-(U1-Pad16)") - (add_net "Net-(U1-Pad18)") - (add_net "Net-(U1-Pad19)") - (add_net "Net-(U1-Pad20)") - (add_net "Net-(U1-Pad24)") - (add_net "Net-(U1-Pad26)") - (add_net "Net-(U1-Pad27)") - (add_net "Net-(U1-Pad28)") - (add_net "Net-(U1-Pad29)") - (add_net "Net-(U1-Pad3)") - (add_net "Net-(U1-Pad30)") - (add_net "Net-(U1-Pad32)") - (add_net "Net-(U1-Pad33)") - (add_net "Net-(U1-Pad34)") - (add_net "Net-(U1-Pad35)") - (add_net "Net-(U1-Pad36)") - (add_net "Net-(U1-Pad37)") - (add_net "Net-(U1-Pad39)") - (add_net "Net-(U1-Pad4)") - (add_net "Net-(U1-Pad40)") - (add_net "Net-(U1-Pad41)") - (add_net "Net-(U1-Pad42)") - (add_net "Net-(U1-Pad43)") - (add_net "Net-(U1-Pad44)") - (add_net "Net-(U1-Pad47)") - (add_net "Net-(U1-Pad48)") - (add_net "Net-(U1-Pad49)") - (add_net "Net-(U1-Pad5)") - (add_net "Net-(U1-Pad50)") - (add_net "Net-(U1-Pad51)") - (add_net "Net-(U1-Pad52)") - (add_net "Net-(U1-Pad55)") - (add_net "Net-(U1-Pad56)") - (add_net "Net-(U1-Pad57)") - (add_net "Net-(U1-Pad58)") - (add_net "Net-(U1-Pad59)") - (add_net "Net-(U1-Pad6)") - (add_net "Net-(U1-Pad60)") - (add_net "Net-(U1-Pad61)") - (add_net "Net-(U1-Pad68)") - (add_net "Net-(U1-Pad69)") - (add_net "Net-(U1-Pad7)") - (add_net "Net-(U1-Pad70)") - (add_net "Net-(U1-Pad71)") - (add_net "Net-(U1-Pad72)") - (add_net "Net-(U1-Pad73)") - (add_net "Net-(U1-Pad74)") - (add_net "Net-(U1-Pad75)") - (add_net "Net-(U1-Pad76)") - (add_net "Net-(U1-Pad77)") - (add_net "Net-(U1-Pad8)") - (add_net "Net-(U1-Pad80)") - (add_net "Net-(U1-Pad81)") - (add_net "Net-(U1-Pad82)") - (add_net "Net-(U1-Pad83)") - (add_net "Net-(U1-Pad84)") - (add_net "Net-(U1-Pad85)") - (add_net "Net-(U1-Pad86)") - (add_net "Net-(U1-Pad87)") - (add_net "Net-(U1-Pad88)") - (add_net "Net-(U1-Pad89)") - (add_net "Net-(U1-Pad9)") - (add_net "Net-(U1-Pad92)") - (add_net "Net-(U1-Pad93)") - (add_net "Net-(U1-Pad94)") - (add_net "Net-(U1-Pad95)") - (add_net "Net-(U1-Pad98)") - (add_net "Net-(U1-Pad99)") - (add_net "Net-(U2-Pad10)") - (add_net "Net-(U2-Pad11)") - (add_net "Net-(U2-Pad12)") - (add_net "Net-(U2-Pad13)") - (add_net "Net-(U2-Pad18)") - (add_net "Net-(U2-Pad21)") - (add_net "Net-(U2-Pad22)") - (add_net "Net-(U2-Pad23)") - (add_net "Net-(U2-Pad25)") - (add_net "Net-(U2-Pad27)") - (add_net "Net-(U2-Pad28)") - (add_net "Net-(U2-Pad29)") - (add_net "Net-(U2-Pad3)") - (add_net "Net-(U2-Pad31)") - (add_net "Net-(U2-Pad32)") - (add_net "Net-(U2-Pad5)") - (add_net "Net-(U2-Pad6)") - (add_net "Net-(U2-Pad7)") - (add_net "Net-(U2-Pad8)") - (add_net "Net-(U3-Pad29)") - (add_net "Net-(U3-Pad30)") - (add_net "Net-(U3-Pad31)") - (add_net "Net-(U3-Pad32)") - (add_net "Net-(U4-Pad3)") - (add_net "Net-(U4-Pad5)") - (add_net g_3v3) - ) - - (module digikey-footprints:Barrel_Jack_5.5mmODx2.1mmID_PJ-102A (layer F.Cu) (tedit 5CAD146F) (tstamp 5E7AD729) - (at 62.23 60.96 90) - (path /5E7872D3/5E88DD8C) - (fp_text reference J4 (at 0 -12.1 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value Barrel_Jack_Switch (at 0 5.8 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start -4.5 3.7) (end 4.5 3.7) (layer F.Fab) (width 0.1)) - (fp_line (start -4.5 3.7) (end -4.5 -10.7) (layer F.Fab) (width 0.1)) - (fp_line (start 4.5 3.7) (end 4.5 -10.7) (layer F.Fab) (width 0.1)) - (fp_line (start -4.5 -10.7) (end 4.5 -10.7) (layer F.Fab) (width 0.1)) - (fp_line (start 4.6 3.8) (end 4.1 3.8) (layer F.SilkS) (width 0.1)) - (fp_line (start 4.6 3.8) (end 4.6 3.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 3.8) (end -4.1 3.8) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 3.8) (end -4.6 3.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -1.2 -1.8) (end 1.2 -1.8) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 -10.8) (end -4.6 -10.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 -10.8) (end -4.1 -10.8) (layer F.SilkS) (width 0.1)) - (fp_line (start 4.6 -10.8) (end 4.1 -10.8) (layer F.SilkS) (width 0.1)) - (fp_line (start 4.6 -10.8) (end 4.6 -10.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -4.6 -3.5) (end -4.6 -4.5) (layer F.SilkS) (width 0.1)) - (fp_line (start 4.6 -3.5) (end 4.6 -4.5) (layer F.SilkS) (width 0.1)) - (fp_line (start -5.9 -10.95) (end 4.8 -10.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.9 -10.95) (end -5.9 4.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start 4.8 -10.95) (end 4.8 4.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.9 4.25) (end 4.8 4.25) (layer F.CrtYd) (width 0.05)) - (pad 2 thru_hole rect (at 0 -3 90) (size 2.6 2) (drill oval 1.6 1) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 1 thru_hole rect (at 0 3 90) (size 2.6 2) (drill oval 1.6 1) (layers *.Cu *.Mask) - (net 188 /s_Power/Wall_5V)) - (pad 3 thru_hole rect (at -4.7 0 90) (size 2 2.6) (drill oval 1 1.6) (layers *.Cu *.Mask) - (net 189 "Net-(J4-Pad3)")) - ) - - (module digikey-footprints:SOT-23-3 (layer F.Cu) (tedit 5D28A5E3) (tstamp 5E7AA6F9) - (at 72.9 97.79) - (path /5E7872D3/5E9DB598) - (attr smd) - (fp_text reference Q4 (at 0.025 -3.375) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "Alt PFET_B" (at 0.025 3.25) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 0.7 1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1)) - (fp_text user %R (at -0.125 0.15) (layer F.Fab) - (effects (font (size 0.25 0.25) (thickness 0.05))) - ) - (fp_line (start 0.825 -1.65) (end 0.825 -1.35) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.45 -1.65) (end 0.825 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.65) (end 0.375 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.35) (end 0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.425) (end 0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 1.65) (end -0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.35 1.65) (end -0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.425 -1.525) (end -0.7 -1.325) (layer F.Fab) (width 0.1)) - (fp_line (start -0.425 -1.525) (end 0.7 -1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 -1.325) (end -0.7 1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.825 -1.325) (end -1.6 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 -1.375) (end -0.825 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.45 -1.65) (end -0.825 -1.375) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.175 -1.65) (end -0.45 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 1.825 -1.95) (end 1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.825 1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end 1.825 -1.95) (layer F.CrtYd) (width 0.05)) - (pad 1 smd rect (at -1.05 -0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 181 "Net-(Q1-Pad3)") (solder_mask_margin 0.07)) - (pad 2 smd rect (at -1.05 0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 183 "Net-(C10-Pad1)") (solder_mask_margin 0.07)) - (pad 3 smd rect (at 1.05 0) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 182 "Net-(Q2-Pad3)") (solder_mask_margin 0.07)) - ) - - (module digikey-footprints:SOT-23-3 (layer F.Cu) (tedit 5D28A5E3) (tstamp 5E7AA6DD) - (at 68.2 97.79) - (path /5E7872D3/5E9CBFD6) - (attr smd) - (fp_text reference Q3 (at 0.025 -3.375) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "Default PFET_B" (at 0.025 3.25) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 0.7 1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1)) - (fp_text user %R (at -0.125 0.15) (layer F.Fab) - (effects (font (size 0.25 0.25) (thickness 0.05))) - ) - (fp_line (start 0.825 -1.65) (end 0.825 -1.35) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.45 -1.65) (end 0.825 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.65) (end 0.375 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.35) (end 0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.425) (end 0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 1.65) (end -0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.35 1.65) (end -0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.425 -1.525) (end -0.7 -1.325) (layer F.Fab) (width 0.1)) - (fp_line (start -0.425 -1.525) (end 0.7 -1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 -1.325) (end -0.7 1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.825 -1.325) (end -1.6 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 -1.375) (end -0.825 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.45 -1.65) (end -0.825 -1.375) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.175 -1.65) (end -0.45 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 1.825 -1.95) (end 1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.825 1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end 1.825 -1.95) (layer F.CrtYd) (width 0.05)) - (pad 1 smd rect (at -1.05 -0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 173 /s_Power/USB_3v3) (solder_mask_margin 0.07)) - (pad 2 smd rect (at -1.05 0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 183 "Net-(C10-Pad1)") (solder_mask_margin 0.07)) - (pad 3 smd rect (at 1.05 0) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 181 "Net-(Q1-Pad3)") (solder_mask_margin 0.07)) - ) - - (module digikey-footprints:SOT-23-3 (layer F.Cu) (tedit 5D28A5E3) (tstamp 5E7AA6C1) - (at 63.5 102.74) - (path /5E7872D3/5E9D56A5) - (attr smd) - (fp_text reference Q2 (at 0.025 -3.375) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "Alt PFET_A" (at 0.025 3.25) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 0.7 1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1)) - (fp_text user %R (at -0.125 0.15) (layer F.Fab) - (effects (font (size 0.25 0.25) (thickness 0.05))) - ) - (fp_line (start 0.825 -1.65) (end 0.825 -1.35) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.45 -1.65) (end 0.825 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.65) (end 0.375 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.35) (end 0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.425) (end 0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 1.65) (end -0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.35 1.65) (end -0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.425 -1.525) (end -0.7 -1.325) (layer F.Fab) (width 0.1)) - (fp_line (start -0.425 -1.525) (end 0.7 -1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 -1.325) (end -0.7 1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.825 -1.325) (end -1.6 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 -1.375) (end -0.825 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.45 -1.65) (end -0.825 -1.375) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.175 -1.65) (end -0.45 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 1.825 -1.95) (end 1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.825 1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end 1.825 -1.95) (layer F.CrtYd) (width 0.05)) - (pad 1 smd rect (at -1.05 -0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 181 "Net-(Q1-Pad3)") (solder_mask_margin 0.07)) - (pad 2 smd rect (at -1.05 0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 173 /s_Power/USB_3v3) (solder_mask_margin 0.07)) - (pad 3 smd rect (at 1.05 0) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 182 "Net-(Q2-Pad3)") (solder_mask_margin 0.07)) - ) - - (module digikey-footprints:SOT-23-3 (layer F.Cu) (tedit 5D28A5E3) (tstamp 5E7AA6A5) - (at 69.85 82.55) - (path /5E7872D3/5E9B8E9E) - (attr smd) - (fp_text reference Q1 (at 0.025 -3.375) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "Default PFET_A" (at 0.025 3.25) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 0.7 1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1)) - (fp_text user %R (at -0.125 0.15) (layer F.Fab) - (effects (font (size 0.25 0.25) (thickness 0.05))) - ) - (fp_line (start 0.825 -1.65) (end 0.825 -1.35) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.45 -1.65) (end 0.825 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.65) (end 0.375 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.35) (end 0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 0.825 1.425) (end 0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 1.65) (end -0.825 1.3) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.35 1.65) (end -0.825 1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.425 -1.525) (end -0.7 -1.325) (layer F.Fab) (width 0.1)) - (fp_line (start -0.425 -1.525) (end 0.7 -1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.7 -1.325) (end -0.7 1.525) (layer F.Fab) (width 0.1)) - (fp_line (start -0.825 -1.325) (end -1.6 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.825 -1.375) (end -0.825 -1.325) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.45 -1.65) (end -0.825 -1.375) (layer F.SilkS) (width 0.1)) - (fp_line (start -0.175 -1.65) (end -0.45 -1.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 1.825 -1.95) (end 1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.825 1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end -1.825 1.95) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.825 -1.95) (end 1.825 -1.95) (layer F.CrtYd) (width 0.05)) - (pad 1 smd rect (at -1.05 -0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 173 /s_Power/USB_3v3) (solder_mask_margin 0.07)) - (pad 2 smd rect (at -1.05 0.95) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 172 /s_Power/USB_5v) (solder_mask_margin 0.07)) - (pad 3 smd rect (at 1.05 0) (size 1.3 0.6) (layers F.Cu F.Paste F.Mask) - (net 181 "Net-(Q1-Pad3)") (solder_mask_margin 0.07)) - ) - - (module Package_DFN_QFN:DFN-6-1EP_2x2mm_P0.65mm_EP1x1.6mm (layer F.Cu) (tedit 5A64E13E) (tstamp 5E7A9FEB) - (at 80.01 71.12) - (descr "6-Lead Plastic Dual Flat, No Lead Package (MA) - 2x2x0.9 mm Body [DFN] (see Microchip Packaging Specification 00000049BS.pdf)") - (tags "DFN 0.65") - (path /5E7872D3/5E7F2428) - (attr smd) - (fp_text reference U4 (at 0 -2.025) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value NCP349MNAETBG (at 0 2.025) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start -1.45 -1.1) (end 0.725 -1.1) (layer F.SilkS) (width 0.15)) - (fp_line (start -0.725 1.1) (end 0.725 1.1) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.65 1.25) (end 1.65 1.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.65 -1.25) (end 1.65 -1.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.65 -1.25) (end 1.65 1.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.65 -1.25) (end -1.65 1.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1 0) (end 0 -1) (layer F.Fab) (width 0.15)) - (fp_line (start -1 1) (end -1 0) (layer F.Fab) (width 0.15)) - (fp_line (start 1 1) (end -1 1) (layer F.Fab) (width 0.15)) - (fp_line (start 1 -1) (end 1 1) (layer F.Fab) (width 0.15)) - (fp_line (start 0 -1) (end 1 -1) (layer F.Fab) (width 0.15)) - (fp_text user %R (at 0 0) (layer F.Fab) - (effects (font (size 0.5 0.5) (thickness 0.075))) - ) - (pad "" smd rect (at 0 0.4) (size 0.82 0.63) (layers F.Paste)) - (pad "" smd rect (at 0 -0.4) (size 0.82 0.63) (layers F.Paste)) - (pad 7 smd rect (at 0 0) (size 1 1.6) (layers F.Cu F.Mask)) - (pad 6 smd rect (at 1.05 -0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 179 "Net-(U4-Pad5)")) - (pad 5 smd rect (at 1.05 0) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 179 "Net-(U4-Pad5)")) - (pad 4 smd rect (at 1.05 0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 3 smd rect (at -1.05 0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 180 "Net-(U4-Pad3)")) - (pad 2 smd rect (at -1.05 0) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 1 smd rect (at -1.05 -0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask) - (net 183 "Net-(C10-Pad1)")) - (model ${KISYS3DMOD}/Package_DFN_QFN.3dshapes/DFN-6-1EP_2x2mm_P0.65mm_EP1x1.6mm.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical (layer F.Cu) (tedit 59FED6E3) (tstamp 5E75429F) - (at 128.27 83.82) - (descr "Through hole straight pin header, 2x05, 1.27mm pitch, double rows") - (tags "Through hole pin header THT 2x05 1.27mm double row") - (path /5E805E4F/5EA1E350) - (fp_text reference J2 (at 0.635 -1.695) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value Conn_ARM_JTAG_SWD_10 (at 0.635 6.775) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user %R (at 0.635 2.54 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 2.85 -1.15) (end -1.6 -1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start 2.85 6.25) (end 2.85 -1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.6 6.25) (end 2.85 6.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.6 -1.15) (end -1.6 6.25) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.13 -0.76) (end 0 -0.76) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.13 0) (end -1.13 -0.76) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.57753 -0.695) (end 2.4 -0.695) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.76 -0.695) (end 0.96247 -0.695) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.76 -0.563471) (end 0.76 -0.695) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.76 0.706529) (end 0.76 0.563471) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.563471 0.76) (end 0.706529 0.76) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.13 0.76) (end -0.563471 0.76) (layer F.SilkS) (width 0.12)) - (fp_line (start 2.4 -0.695) (end 2.4 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.13 0.76) (end -1.13 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start 0.30753 5.775) (end 0.96247 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.57753 5.775) (end 2.4 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.13 5.775) (end -0.30753 5.775) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.07 0.2175) (end -0.2175 -0.635) (layer F.Fab) (width 0.1)) - (fp_line (start -1.07 5.715) (end -1.07 0.2175) (layer F.Fab) (width 0.1)) - (fp_line (start 2.34 5.715) (end -1.07 5.715) (layer F.Fab) (width 0.1)) - (fp_line (start 2.34 -0.635) (end 2.34 5.715) (layer F.Fab) (width 0.1)) - (fp_line (start -0.2175 -0.635) (end 2.34 -0.635) (layer F.Fab) (width 0.1)) - (pad 10 thru_hole oval (at 1.27 5.08) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 184 /s_BRAIN/~SYS_RST)) - (pad 9 thru_hole oval (at 0 5.08) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 8 thru_hole oval (at 1.27 3.81) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 2 "Net-(J2-Pad8)")) - (pad 7 thru_hole oval (at 0 3.81) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 3 "Net-(J2-Pad7)")) - (pad 6 thru_hole oval (at 1.27 2.54) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 185 /s_BRAIN/SWO)) - (pad 5 thru_hole oval (at 0 2.54) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 4 thru_hole oval (at 1.27 1.27) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 186 /s_BRAIN/SWCLK)) - (pad 3 thru_hole oval (at 0 1.27) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 2 thru_hole oval (at 1.27 0) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 187 /s_BRAIN/SWDIO)) - (pad 1 thru_hole rect (at 0 0) (size 1 1) (drill 0.65) (layers *.Cu *.Mask) - (net 4 "Net-(J2-Pad1)")) - (model ${KISYS3DMOD}/Connector_PinHeader_1.27mm.3dshapes/PinHeader_2x05_P1.27mm_Vertical.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm (layer F.Cu) (tedit 5A0FD1B2) (tstamp 5E752FF8) - (at 63.5 86.36) - (descr "SMD Crystal FC-135 https://support.epson.biz/td/api/doc_check.php?dl=brief_FC-135R_en.pdf") - (tags "SMD SMT Crystal") - (path /5E805E4F/5E75D825) - (attr smd) - (fp_text reference Y1 (at 0 -2) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value XOSC32 (at 0 2) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 2 -1.15) (end 2 1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start -2 -1.15) (end -2 1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start -2 1.15) (end 2 1.15) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.6 0.75) (end 1.6 0.75) (layer F.Fab) (width 0.1)) - (fp_line (start -1.6 -0.75) (end 1.6 -0.75) (layer F.Fab) (width 0.1)) - (fp_line (start 1.6 -0.75) (end 1.6 0.75) (layer F.Fab) (width 0.1)) - (fp_line (start -0.675 -0.875) (end 0.675 -0.875) (layer F.SilkS) (width 0.12)) - (fp_line (start -0.675 0.875) (end 0.675 0.875) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.6 -0.75) (end -1.6 0.75) (layer F.Fab) (width 0.1)) - (fp_line (start -2 -1.15) (end 2 -1.15) (layer F.CrtYd) (width 0.05)) - (fp_text user %R (at 0 -2) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (pad 2 smd rect (at -1.25 0) (size 1 1.8) (layers F.Cu F.Paste F.Mask) - (net 55 "Net-(C1-Pad2)")) - (pad 1 smd rect (at 1.25 0) (size 1 1.8) (layers F.Cu F.Paste F.Mask) - (net 131 "Net-(C2-Pad1)")) - (model ${KISYS3DMOD}/Crystal.3dshapes/Crystal_SMD_3215-2Pin_3.2x1.5mm.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module proj_modules:SOP80P1030X264-36N (layer F.Cu) (tedit 5E702418) (tstamp 5E752FE7) - (at 106.68 77.47) - (path /5E8589A7/5E86D6D7) - (fp_text reference U3 (at -2.415 -8.587) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.015))) - ) - (fp_text value MAX7301AAX+ (at 5.84 8.587) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.015))) - ) - (fp_line (start 5.865 -8.025) (end 5.865 8.025) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.865 -8.025) (end -5.865 8.025) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.865 8.025) (end 5.865 8.025) (layer F.CrtYd) (width 0.05)) - (fp_line (start -5.865 -8.025) (end 5.865 -8.025) (layer F.CrtYd) (width 0.05)) - (fp_line (start 3.8 -7.775) (end 3.8 7.775) (layer F.Fab) (width 0.127)) - (fp_line (start -3.8 -7.775) (end -3.8 7.775) (layer F.Fab) (width 0.127)) - (fp_line (start -3.8 7.775) (end 3.8 7.775) (layer F.SilkS) (width 0.127)) - (fp_line (start -3.8 -7.775) (end 3.8 -7.775) (layer F.SilkS) (width 0.127)) - (fp_line (start -3.8 7.775) (end 3.8 7.775) (layer F.Fab) (width 0.127)) - (fp_line (start -3.8 -7.775) (end 3.8 -7.775) (layer F.Fab) (width 0.127)) - (fp_circle (center -6.51 -7.34) (end -6.41 -7.34) (layer F.Fab) (width 0.2)) - (fp_circle (center -6.51 -7.34) (end -6.41 -7.34) (layer F.SilkS) (width 0.2)) - (pad 36 smd rect (at 4.72 -6.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 122 g_3v3)) - (pad 35 smd rect (at 4.72 -6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 167 /s_SCREEN_INTF/~IO_EXPANDER_CS)) - (pad 34 smd rect (at 4.72 -5.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 178 /MASTER_SPI_MOSI)) - (pad 33 smd rect (at 4.72 -4.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 175 /MASTER_SPI_CLK)) - (pad 32 smd rect (at 4.72 -3.6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 123 "Net-(U3-Pad32)")) - (pad 31 smd rect (at 4.72 -2.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 124 "Net-(U3-Pad31)")) - (pad 30 smd rect (at 4.72 -2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 125 "Net-(U3-Pad30)")) - (pad 29 smd rect (at 4.72 -1.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 126 "Net-(U3-Pad29)")) - (pad 28 smd rect (at 4.72 -0.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 137 /s_SCREEN_INTF/D23)) - (pad 27 smd rect (at 4.72 0.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 138 /s_SCREEN_INTF/D22)) - (pad 26 smd rect (at 4.72 1.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 139 /s_SCREEN_INTF/D21)) - (pad 25 smd rect (at 4.72 2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 140 /s_SCREEN_INTF/D20)) - (pad 24 smd rect (at 4.72 2.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 141 /s_SCREEN_INTF/D19)) - (pad 23 smd rect (at 4.72 3.6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 142 /s_SCREEN_INTF/D18)) - (pad 22 smd rect (at 4.72 4.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 143 /s_SCREEN_INTF/D17)) - (pad 21 smd rect (at 4.72 5.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 144 /s_SCREEN_INTF/D16)) - (pad 20 smd rect (at 4.72 6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 145 /s_SCREEN_INTF/D15)) - (pad 19 smd rect (at 4.72 6.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 146 /s_SCREEN_INTF/D14)) - (pad 18 smd rect (at -4.72 6.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 147 /s_SCREEN_INTF/D13)) - (pad 17 smd rect (at -4.72 6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 148 /s_SCREEN_INTF/D12)) - (pad 16 smd rect (at -4.72 5.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 149 /s_SCREEN_INTF/D11)) - (pad 15 smd rect (at -4.72 4.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 150 /s_SCREEN_INTF/D10)) - (pad 14 smd rect (at -4.72 3.6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 151 /s_SCREEN_INTF/D9)) - (pad 13 smd rect (at -4.72 2.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 152 /s_SCREEN_INTF/D8)) - (pad 12 smd rect (at -4.72 2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 153 /s_SCREEN_INTF/D7)) - (pad 11 smd rect (at -4.72 1.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 154 /s_SCREEN_INTF/D6)) - (pad 10 smd rect (at -4.72 0.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 155 /s_SCREEN_INTF/D5)) - (pad 9 smd rect (at -4.72 -0.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 156 /s_SCREEN_INTF/D4)) - (pad 8 smd rect (at -4.72 -1.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 157 /s_SCREEN_INTF/D3)) - (pad 7 smd rect (at -4.72 -2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 158 /s_SCREEN_INTF/D2)) - (pad 6 smd rect (at -4.72 -2.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 159 /s_SCREEN_INTF/D1)) - (pad 5 smd rect (at -4.72 -3.6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 160 /s_SCREEN_INTF/D0)) - (pad 4 smd rect (at -4.72 -4.4) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 174 /MASTER_SPI_MISO)) - (pad 3 smd rect (at -4.72 -5.2) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 2 smd rect (at -4.72 -6) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 1 smd rect (at -4.72 -6.8) (size 1.79 0.54) (layers F.Cu F.Paste F.Mask) - (net 128 "Net-(R1-Pad1)")) - ) - - (module digikey-footprints:QFN-32-1EP_5x5mm (layer F.Cu) (tedit 5D2895FE) (tstamp 5E752FB3) - (at 71.12 73.66) - (path /5E7C0F59/5E84744C) - (attr smd) - (fp_text reference U2 (at 0 -4.71) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value FT232RQ-REEL (at 0 4.51) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 1.98 2.05) (end -3.02 2.05) (layer F.Fab) (width 0.1)) - (fp_line (start 1.98 -2.95) (end 1.98 2.05) (layer F.Fab) (width 0.1)) - (fp_line (start 2.08 2.15) (end 1.68 2.15) (layer F.SilkS) (width 0.1)) - (fp_line (start 2.08 1.75) (end 2.08 2.15) (layer F.SilkS) (width 0.1)) - (fp_line (start 2.08 -3.05) (end 2.08 -2.65) (layer F.SilkS) (width 0.1)) - (fp_line (start 2.08 -3.05) (end 1.68 -3.05) (layer F.SilkS) (width 0.1)) - (fp_line (start -3.12 2.15) (end -3.12 1.75) (layer F.SilkS) (width 0.1)) - (fp_line (start -2.72 2.15) (end -3.12 2.15) (layer F.SilkS) (width 0.1)) - (fp_line (start -2.62 -2.95) (end -3.02 -2.55) (layer F.Fab) (width 0.1)) - (fp_line (start -3.02 -2.55) (end -3.02 2.05) (layer F.Fab) (width 0.1)) - (fp_line (start -2.62 -2.95) (end 1.98 -2.95) (layer F.Fab) (width 0.1)) - (fp_line (start -3.12 -2.45) (end -3.32 -2.45) (layer F.SilkS) (width 0.1)) - (fp_line (start -3.12 -2.65) (end -3.12 -2.45) (layer F.SilkS) (width 0.1)) - (fp_line (start -2.72 -3.05) (end -3.12 -2.65) (layer F.SilkS) (width 0.1)) - (fp_line (start -2.52 -3.05) (end -2.72 -3.05) (layer F.SilkS) (width 0.1)) - (fp_text user %R (at -0.52 -0.45) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 2.61 2.68) (end -3.65 2.68) (layer F.CrtYd) (width 0.05)) - (fp_line (start 2.61 -3.58) (end -3.65 -3.58) (layer F.CrtYd) (width 0.05)) - (fp_line (start 2.61 -3.58) (end 2.61 2.68) (layer F.CrtYd) (width 0.05)) - (fp_line (start -3.65 2.68) (end -3.65 -3.58) (layer F.CrtYd) (width 0.05)) - (pad 32 smd rect (at -2.27 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 103 "Net-(U2-Pad32)") (solder_mask_margin 0.07)) - (pad 31 smd rect (at -1.77 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 104 "Net-(U2-Pad31)") (solder_mask_margin 0.07)) - (pad 30 smd rect (at -1.27 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 134 /DEBUG_RX) (solder_mask_margin 0.07)) - (pad 29 smd rect (at -0.77 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 105 "Net-(U2-Pad29)") (solder_mask_margin 0.07)) - (pad 28 smd rect (at -0.27 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 106 "Net-(U2-Pad28)") (solder_mask_margin 0.07)) - (pad 27 smd rect (at 0.23 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 107 "Net-(U2-Pad27)") (solder_mask_margin 0.07)) - (pad 26 smd rect (at 0.73 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 24 smd rect (at 1.955 -2.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 23 smd rect (at 1.955 -1.7 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 108 "Net-(U2-Pad23)") (solder_mask_margin 0.07)) - (pad 22 smd rect (at 1.955 -1.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 109 "Net-(U2-Pad22)") (solder_mask_margin 0.07)) - (pad 21 smd rect (at 1.955 -0.7 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 110 "Net-(U2-Pad21)") (solder_mask_margin 0.07)) - (pad 20 smd rect (at 1.955 -0.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 19 smd rect (at 1.955 0.3 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 176 /s_USB_INTF.sch/FTDI_5V) (solder_mask_margin 0.07)) - (pad 18 smd rect (at 1.955 0.8 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 111 "Net-(U2-Pad18)") (solder_mask_margin 0.07)) - (pad 16 smd rect (at 1.23 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 177 /s_USB_INTF.sch/FTDI_3V3) (solder_mask_margin 0.07)) - (pad 15 smd rect (at 0.73 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 130 /s_USB_INTF.sch/USB_D-) (solder_mask_margin 0.07)) - (pad 14 smd rect (at 0.23 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 129 /s_USB_INTF.sch/USB_D+) (solder_mask_margin 0.07)) - (pad 13 smd rect (at -0.27 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 112 "Net-(U2-Pad13)") (solder_mask_margin 0.07)) - (pad 12 smd rect (at -0.77 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 113 "Net-(U2-Pad12)") (solder_mask_margin 0.07)) - (pad 11 smd rect (at -1.27 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 114 "Net-(U2-Pad11)") (solder_mask_margin 0.07)) - (pad 10 smd rect (at -1.77 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 115 "Net-(U2-Pad10)") (solder_mask_margin 0.07)) - (pad 8 smd rect (at -2.995 1.3 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 116 "Net-(U2-Pad8)") (solder_mask_margin 0.07)) - (pad 7 smd rect (at -2.995 0.8 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 117 "Net-(U2-Pad7)") (solder_mask_margin 0.07)) - (pad 6 smd rect (at -2.995 0.3 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 118 "Net-(U2-Pad6)") (solder_mask_margin 0.07)) - (pad 5 smd rect (at -2.995 -0.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 119 "Net-(U2-Pad5)") (solder_mask_margin 0.07)) - (pad 4 smd rect (at -2.995 -0.7 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 3 smd rect (at -2.995 -1.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 120 "Net-(U2-Pad3)") (solder_mask_margin 0.07)) - (pad 2 smd rect (at -2.995 -1.7 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 135 /DEBUG_TX) (solder_mask_margin 0.07)) - (pad 1 smd rect (at -2.995 -2.2 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 177 /s_USB_INTF.sch/FTDI_3V3) (solder_mask_margin 0.07)) - (pad 33 thru_hole circle (at -1.52 0.55 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -1.52 -0.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -1.52 -1.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -0.52 0.55 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -0.52 -0.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at -0.52 -1.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at 0.48 0.55 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at 0.48 -0.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 thru_hole circle (at 0.48 -1.45 270) (size 0.2 0.2) (drill 0.2) (layers *.Cu *.Mask) - (net 127 GND) (solder_mask_margin 0.1)) - (pad 33 smd rect (at -0.52 -0.45 270) (size 3.45 3.45) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 9 smd rect (at -2.27 2.025 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 177 /s_USB_INTF.sch/FTDI_3V3) (solder_mask_margin 0.07)) - (pad 17 smd rect (at 1.955 1.3 270) (size 0.28 0.85) (layers F.Cu F.Paste F.Mask) - (net 127 GND) (solder_mask_margin 0.07)) - (pad 25 smd rect (at 1.23 -2.925 270) (size 0.85 0.28) (layers F.Cu F.Paste F.Mask) - (net 121 "Net-(U2-Pad25)") (solder_mask_margin 0.07)) - ) - - (module penguin:QFP40P1600X1600X120-128N_ATSAME54P20A (layer F.Cu) (tedit 5E6D9777) (tstamp 5E752F71) - (at 86.36 109.22 45) - (path /5E7872D3/5E84F3B3) - (fp_text reference U1 (at -4.500975 -9.803025 45) (layer F.SilkS) - (effects (font (size 1.001331 1.001331) (thickness 0.015))) - ) - (fp_text value p_ATSAME54P20A-AU (at 6.78639 10.114365 45) (layer F.Fab) - (effects (font (size 1.002417 1.002417) (thickness 0.015))) - ) - (fp_line (start -7 7) (end -7 6.6) (layer F.SilkS) (width 0.127)) - (fp_line (start -6.6 7) (end -7 7) (layer F.SilkS) (width 0.127)) - (fp_line (start 7 7) (end 7 6.6) (layer F.SilkS) (width 0.127)) - (fp_line (start 6.6 7) (end 7 7) (layer F.SilkS) (width 0.127)) - (fp_line (start 7 -7) (end 7 -6.6) (layer F.SilkS) (width 0.127)) - (fp_line (start 6.6 -7) (end 7 -7) (layer F.SilkS) (width 0.127)) - (fp_line (start -7 -7) (end -7 -6.6) (layer F.SilkS) (width 0.127)) - (fp_line (start -6.6 -7) (end -7 -7) (layer F.SilkS) (width 0.127)) - (fp_line (start 8.655 8.655) (end 8.655 -8.655) (layer F.CrtYd) (width 0.05)) - (fp_line (start -8.655 8.655) (end -8.655 -8.655) (layer F.CrtYd) (width 0.05)) - (fp_line (start -8.655 -8.655) (end 8.655 -8.655) (layer F.CrtYd) (width 0.05)) - (fp_line (start -8.655 8.655) (end 8.655 8.655) (layer F.CrtYd) (width 0.05)) - (fp_line (start -7 7) (end -7 -7) (layer F.Fab) (width 0.127)) - (fp_line (start 7 7) (end 7 -7) (layer F.Fab) (width 0.127)) - (fp_line (start 7 -7) (end -7 -7) (layer F.Fab) (width 0.127)) - (fp_line (start 7 7) (end -7 7) (layer F.Fab) (width 0.127)) - (fp_circle (center -9.14 -6.44) (end -8.94 -6.44) (layer F.Fab) (width 0.1)) - (fp_circle (center -9.14 -6.44) (end -8.94 -6.44) (layer F.SilkS) (width 0.1)) - (pad 96 smd rect (at 7.67 -6.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask)) - (pad 95 smd rect (at 7.67 -5.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 9 "Net-(U1-Pad95)")) - (pad 94 smd rect (at 7.67 -5.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 10 "Net-(U1-Pad94)")) - (pad 93 smd rect (at 7.67 -5 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 11 "Net-(U1-Pad93)")) - (pad 92 smd rect (at 7.67 -4.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 12 "Net-(U1-Pad92)")) - (pad 91 smd rect (at 7.67 -4.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 90 smd rect (at 7.67 -3.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask)) - (pad 89 smd rect (at 7.67 -3.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 13 "Net-(U1-Pad89)")) - (pad 88 smd rect (at 7.67 -3 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 14 "Net-(U1-Pad88)")) - (pad 87 smd rect (at 7.67 -2.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 15 "Net-(U1-Pad87)")) - (pad 86 smd rect (at 7.67 -2.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 16 "Net-(U1-Pad86)")) - (pad 85 smd rect (at 7.67 -1.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 17 "Net-(U1-Pad85)")) - (pad 84 smd rect (at 7.67 -1.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 18 "Net-(U1-Pad84)")) - (pad 83 smd rect (at 7.67 -1 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 19 "Net-(U1-Pad83)")) - (pad 82 smd rect (at 7.67 -0.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 20 "Net-(U1-Pad82)")) - (pad 81 smd rect (at 7.67 -0.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 21 "Net-(U1-Pad81)")) - (pad 80 smd rect (at 7.67 0.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 22 "Net-(U1-Pad80)")) - (pad 79 smd rect (at 7.67 0.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 78 smd rect (at 7.67 1 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask)) - (pad 77 smd rect (at 7.67 1.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 23 "Net-(U1-Pad77)")) - (pad 76 smd rect (at 7.67 1.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 24 "Net-(U1-Pad76)")) - (pad 75 smd rect (at 7.67 2.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 25 "Net-(U1-Pad75)")) - (pad 74 smd rect (at 7.67 2.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 26 "Net-(U1-Pad74)")) - (pad 73 smd rect (at 7.67 3 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 27 "Net-(U1-Pad73)")) - (pad 72 smd rect (at 7.67 3.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 28 "Net-(U1-Pad72)")) - (pad 71 smd rect (at 7.67 3.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 29 "Net-(U1-Pad71)")) - (pad 70 smd rect (at 7.67 4.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 30 "Net-(U1-Pad70)")) - (pad 69 smd rect (at 7.67 4.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 31 "Net-(U1-Pad69)")) - (pad 68 smd rect (at 7.67 5 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 32 "Net-(U1-Pad68)")) - (pad 67 smd rect (at 7.67 5.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 171 /MASTER_I2C_SCL)) - (pad 66 smd rect (at 7.67 5.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 170 /MASTER_I2C_SDA)) - (pad 65 smd rect (at 7.67 6.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 32 smd rect (at -7.67 6.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 33 "Net-(U1-Pad32)")) - (pad 31 smd rect (at -7.67 5.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask)) - (pad 30 smd rect (at -7.67 5.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 34 "Net-(U1-Pad30)")) - (pad 29 smd rect (at -7.67 5 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 35 "Net-(U1-Pad29)")) - (pad 28 smd rect (at -7.67 4.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 36 "Net-(U1-Pad28)")) - (pad 27 smd rect (at -7.67 4.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 37 "Net-(U1-Pad27)")) - (pad 26 smd rect (at -7.67 3.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 38 "Net-(U1-Pad26)")) - (pad 25 smd rect (at -7.67 3.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 45 "Net-(U1-Pad14)")) - (pad 24 smd rect (at -7.67 3 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 39 "Net-(U1-Pad24)")) - (pad 23 smd rect (at -7.67 2.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 174 /MASTER_SPI_MISO)) - (pad 22 smd rect (at -7.67 2.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 175 /MASTER_SPI_CLK)) - (pad 21 smd rect (at -7.67 1.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 174 /MASTER_SPI_MISO)) - (pad 20 smd rect (at -7.67 1.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 40 "Net-(U1-Pad20)")) - (pad 19 smd rect (at -7.67 1 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 41 "Net-(U1-Pad19)")) - (pad 18 smd rect (at -7.67 0.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 42 "Net-(U1-Pad18)")) - (pad 17 smd rect (at -7.67 0.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 190 /s_BRAIN/EXT_IRQ_5)) - (pad 16 smd rect (at -7.67 -0.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 43 "Net-(U1-Pad16)")) - (pad 15 smd rect (at -7.67 -0.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 44 "Net-(U1-Pad15)")) - (pad 14 smd rect (at -7.67 -1 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 45 "Net-(U1-Pad14)")) - (pad 13 smd rect (at -7.67 -1.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 46 "Net-(U1-Pad13)")) - (pad 12 smd rect (at -7.67 -1.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 191 /s_BRAIN/EXT_IRQ_4)) - (pad 11 smd rect (at -7.67 -2.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 192 /s_BRAIN/EXT_IRQ_3)) - (pad 10 smd rect (at -7.67 -2.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 47 "Net-(U1-Pad10)")) - (pad 9 smd rect (at -7.67 -3 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 48 "Net-(U1-Pad9)")) - (pad 8 smd rect (at -7.67 -3.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 49 "Net-(U1-Pad8)")) - (pad 7 smd rect (at -7.67 -3.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 50 "Net-(U1-Pad7)")) - (pad 6 smd rect (at -7.67 -4.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 51 "Net-(U1-Pad6)")) - (pad 5 smd rect (at -7.67 -4.6 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 52 "Net-(U1-Pad5)")) - (pad 4 smd rect (at -7.67 -5 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 53 "Net-(U1-Pad4)")) - (pad 3 smd rect (at -7.67 -5.4 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 54 "Net-(U1-Pad3)")) - (pad 2 smd rect (at -7.67 -5.8 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 131 "Net-(C2-Pad1)")) - (pad 1 smd rect (at -7.67 -6.2 45) (size 1.47 0.24) (layers F.Cu F.Paste F.Mask) - (net 55 "Net-(C1-Pad2)")) - (pad 128 smd rect (at -6.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 122 g_3v3)) - (pad 127 smd rect (at -5.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 193 /s_BRAIN/EXT_IRQ_2)) - (pad 126 smd rect (at -5.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 194 /s_BRAIN/EXT_IRQ_1)) - (pad 125 smd rect (at -5 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 195 /s_BRAIN/EXT_IRQ_0)) - (pad 124 smd rect (at -4.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 56 "Net-(U1-Pad124)")) - (pad 123 smd rect (at -4.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 57 "Net-(U1-Pad123)")) - (pad 122 smd rect (at -3.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 58 "Net-(U1-Pad122)")) - (pad 121 smd rect (at -3.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 59 "Net-(U1-Pad121)")) - (pad 120 smd rect (at -3 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 60 "Net-(U1-Pad120)")) - (pad 119 smd rect (at -2.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 61 "Net-(U1-Pad119)")) - (pad 118 smd rect (at -2.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 117 smd rect (at -1.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 62 "Net-(U1-Pad117)")) - (pad 116 smd rect (at -1.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 63 "Net-(U1-Pad116)")) - (pad 115 smd rect (at -1 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 64 "Net-(U1-Pad115)")) - (pad 114 smd rect (at -0.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 65 "Net-(U1-Pad114)")) - (pad 113 smd rect (at -0.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 66 "Net-(U1-Pad113)")) - (pad 112 smd rect (at 0.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 67 "Net-(U1-Pad112)")) - (pad 111 smd rect (at 0.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 68 "Net-(U1-Pad111)")) - (pad 110 smd rect (at 1 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 69 "Net-(U1-Pad110)")) - (pad 109 smd rect (at 1.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 70 "Net-(U1-Pad109)")) - (pad 108 smd rect (at 1.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 71 "Net-(U1-Pad108)")) - (pad 107 smd rect (at 2.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 106 smd rect (at 2.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 105 smd rect (at 3 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 73 "Net-(U1-Pad105)")) - (pad 104 smd rect (at 3.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 74 "Net-(U1-Pad104)")) - (pad 103 smd rect (at 3.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 75 "Net-(U1-Pad103)")) - (pad 102 smd rect (at 4.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 76 "Net-(U1-Pad102)")) - (pad 101 smd rect (at 4.6 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 135 /DEBUG_TX)) - (pad 100 smd rect (at 5 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 134 /DEBUG_RX)) - (pad 99 smd rect (at 5.4 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 77 "Net-(U1-Pad99)")) - (pad 98 smd rect (at 5.8 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 78 "Net-(U1-Pad98)")) - (pad 97 smd rect (at 6.2 -7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 64 smd rect (at 6.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 63 smd rect (at 5.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 132 "Net-(C5-Pad2)")) - (pad 62 smd rect (at 5.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 133 "Net-(C4-Pad2)")) - (pad 61 smd rect (at 5 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 79 "Net-(U1-Pad61)")) - (pad 60 smd rect (at 4.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 80 "Net-(U1-Pad60)")) - (pad 59 smd rect (at 4.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 81 "Net-(U1-Pad59)")) - (pad 58 smd rect (at 3.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 82 "Net-(U1-Pad58)")) - (pad 57 smd rect (at 3.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 83 "Net-(U1-Pad57)")) - (pad 56 smd rect (at 3 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 84 "Net-(U1-Pad56)")) - (pad 55 smd rect (at 2.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 85 "Net-(U1-Pad55)")) - (pad 54 smd rect (at 2.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 53 smd rect (at 1.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 52 smd rect (at 1.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 86 "Net-(U1-Pad52)")) - (pad 51 smd rect (at 1 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 87 "Net-(U1-Pad51)")) - (pad 50 smd rect (at 0.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 88 "Net-(U1-Pad50)")) - (pad 49 smd rect (at 0.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 89 "Net-(U1-Pad49)")) - (pad 48 smd rect (at -0.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 90 "Net-(U1-Pad48)")) - (pad 47 smd rect (at -0.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 91 "Net-(U1-Pad47)")) - (pad 46 smd rect (at -1 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U1-Pad107)")) - (pad 45 smd rect (at -1.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 44 smd rect (at -1.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 92 "Net-(U1-Pad44)")) - (pad 43 smd rect (at -2.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 93 "Net-(U1-Pad43)")) - (pad 42 smd rect (at -2.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 94 "Net-(U1-Pad42)")) - (pad 41 smd rect (at -3 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 95 "Net-(U1-Pad41)")) - (pad 40 smd rect (at -3.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 96 "Net-(U1-Pad40)")) - (pad 39 smd rect (at -3.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 97 "Net-(U1-Pad39)")) - (pad 38 smd rect (at -4.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask)) - (pad 37 smd rect (at -4.6 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 98 "Net-(U1-Pad37)")) - (pad 36 smd rect (at -5 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 99 "Net-(U1-Pad36)")) - (pad 35 smd rect (at -5.4 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 100 "Net-(U1-Pad35)")) - (pad 34 smd rect (at -5.8 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 101 "Net-(U1-Pad34)")) - (pad 33 smd rect (at -6.2 7.67 45) (size 0.24 1.47) (layers F.Cu F.Paste F.Mask) - (net 102 "Net-(U1-Pad33)")) - ) - - (module Connector_IDC:IDC-Header_2x20_P2.54mm_Horizontal (layer F.Cu) (tedit 59DE239E) (tstamp 5E752EDB) - (at 78.74 64.77 90) - (descr "Through hole angled IDC box header, 2x20, 2.54mm pitch, double rows") - (tags "Through hole IDC box header THT 2x20 2.54mm double row") - (path /5E8589A7/5E858ED6) - (fp_text reference J3 (at 6.105 -6.35 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value Conn_02x20_Odd_Even_LCD_INTF (at 6.105 54.864 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 13.48 53.61) (end -1.12 53.61) (layer F.CrtYd) (width 0.05)) - (fp_line (start 13.48 -5.35) (end 13.48 53.61) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.12 53.61) (end -1.12 -5.35) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.12 -5.35) (end 13.48 -5.35) (layer F.CrtYd) (width 0.05)) - (fp_line (start 4.13 53.61) (end 4.13 -5.35) (layer F.SilkS) (width 0.12)) - (fp_line (start 4.13 53.61) (end 13.48 53.61) (layer F.SilkS) (width 0.12)) - (fp_line (start 4.13 26.38) (end 13.48 26.38) (layer F.SilkS) (width 0.12)) - (fp_line (start 4.13 21.88) (end 13.48 21.88) (layer F.SilkS) (width 0.12)) - (fp_line (start 4.13 -5.35) (end 13.48 -5.35) (layer F.SilkS) (width 0.12)) - (fp_line (start 13.48 -5.35) (end 13.48 53.61) (layer F.SilkS) (width 0.12)) - (fp_line (start 0 -1.27) (end -1.27 -1.27) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.27 -1.27) (end -1.27 0) (layer F.SilkS) (width 0.12)) - (fp_line (start 5.38 -5.1) (end 13.23 -5.1) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 9.84) (end -0.32 9.84) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 7.3) (end -0.32 7.3) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 53.36) (end 4.38 -4.1) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 53.36) (end 13.23 53.36) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 47.94) (end -0.32 47.94) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 45.4) (end -0.32 45.4) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 42.86) (end -0.32 42.86) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 40.32) (end -0.32 40.32) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 4.76) (end -0.32 4.76) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 37.78) (end -0.32 37.78) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 35.24) (end -0.32 35.24) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 32.7) (end -0.32 32.7) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 30.16) (end -0.32 30.16) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 27.62) (end -0.32 27.62) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 26.38) (end 13.23 26.38) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 25.08) (end -0.32 25.08) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 22.54) (end -0.32 22.54) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 21.88) (end 13.23 21.88) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 20) (end -0.32 20) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 2.22) (end -0.32 2.22) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 17.46) (end -0.32 17.46) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 14.92) (end -0.32 14.92) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 12.38) (end -0.32 12.38) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 -4.1) (end 5.38 -5.1) (layer F.Fab) (width 0.1)) - (fp_line (start 4.38 -0.32) (end -0.32 -0.32) (layer F.Fab) (width 0.1)) - (fp_line (start 13.23 53.36) (end 13.23 -5.1) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 9.84) (end -0.32 10.48) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 7.94) (end 4.38 7.94) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 7.3) (end -0.32 7.94) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 5.4) (end 4.38 5.4) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 48.58) (end 4.38 48.58) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 47.94) (end -0.32 48.58) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 46.04) (end 4.38 46.04) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 45.4) (end -0.32 46.04) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 43.5) (end 4.38 43.5) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 42.86) (end -0.32 43.5) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 40.96) (end 4.38 40.96) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 40.32) (end -0.32 40.96) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 4.76) (end -0.32 5.4) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 38.42) (end 4.38 38.42) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 37.78) (end -0.32 38.42) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 35.88) (end 4.38 35.88) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 35.24) (end -0.32 35.88) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 33.34) (end 4.38 33.34) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 32.7) (end -0.32 33.34) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 30.8) (end 4.38 30.8) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 30.16) (end -0.32 30.8) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 28.26) (end 4.38 28.26) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 27.62) (end -0.32 28.26) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 25.72) (end 4.38 25.72) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 25.08) (end -0.32 25.72) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 23.18) (end 4.38 23.18) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 22.54) (end -0.32 23.18) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 20.64) (end 4.38 20.64) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 20) (end -0.32 20.64) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 2.86) (end 4.38 2.86) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 2.22) (end -0.32 2.86) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 18.1) (end 4.38 18.1) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 17.46) (end -0.32 18.1) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 15.56) (end 4.38 15.56) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 14.92) (end -0.32 15.56) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 13.02) (end 4.38 13.02) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 12.38) (end -0.32 13.02) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 10.48) (end 4.38 10.48) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 0.32) (end 4.38 0.32) (layer F.Fab) (width 0.1)) - (fp_line (start -0.32 -0.32) (end -0.32 0.32) (layer F.Fab) (width 0.1)) - (fp_text user %R (at 8.805 24.13) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (pad 40 thru_hole oval (at 2.54 48.26 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 5 "Net-(J3-Pad40)")) - (pad 39 thru_hole oval (at 0 48.26 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 6 "Net-(J3-Pad39)")) - (pad 38 thru_hole oval (at 2.54 45.72 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 7 "Net-(J3-Pad38)")) - (pad 37 thru_hole oval (at 0 45.72 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 136 /s_SCREEN_INTF/TFT_STB)) - (pad 36 thru_hole oval (at 2.54 43.18 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 137 /s_SCREEN_INTF/D23)) - (pad 35 thru_hole oval (at 0 43.18 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 138 /s_SCREEN_INTF/D22)) - (pad 34 thru_hole oval (at 2.54 40.64 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 139 /s_SCREEN_INTF/D21)) - (pad 33 thru_hole oval (at 0 40.64 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 140 /s_SCREEN_INTF/D20)) - (pad 32 thru_hole oval (at 2.54 38.1 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 141 /s_SCREEN_INTF/D19)) - (pad 31 thru_hole oval (at 0 38.1 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 142 /s_SCREEN_INTF/D18)) - (pad 30 thru_hole oval (at 2.54 35.56 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 143 /s_SCREEN_INTF/D17)) - (pad 29 thru_hole oval (at 0 35.56 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 144 /s_SCREEN_INTF/D16)) - (pad 28 thru_hole oval (at 2.54 33.02 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 145 /s_SCREEN_INTF/D15)) - (pad 27 thru_hole oval (at 0 33.02 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 146 /s_SCREEN_INTF/D14)) - (pad 26 thru_hole oval (at 2.54 30.48 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 147 /s_SCREEN_INTF/D13)) - (pad 25 thru_hole oval (at 0 30.48 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 148 /s_SCREEN_INTF/D12)) - (pad 24 thru_hole oval (at 2.54 27.94 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 149 /s_SCREEN_INTF/D11)) - (pad 23 thru_hole oval (at 0 27.94 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 150 /s_SCREEN_INTF/D10)) - (pad 22 thru_hole oval (at 2.54 25.4 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 151 /s_SCREEN_INTF/D9)) - (pad 21 thru_hole oval (at 0 25.4 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 152 /s_SCREEN_INTF/D8)) - (pad 20 thru_hole oval (at 2.54 22.86 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 153 /s_SCREEN_INTF/D7)) - (pad 19 thru_hole oval (at 0 22.86 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 154 /s_SCREEN_INTF/D6)) - (pad 18 thru_hole oval (at 2.54 20.32 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 155 /s_SCREEN_INTF/D5)) - (pad 17 thru_hole oval (at 0 20.32 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 156 /s_SCREEN_INTF/D4)) - (pad 16 thru_hole oval (at 2.54 17.78 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 157 /s_SCREEN_INTF/D3)) - (pad 15 thru_hole oval (at 0 17.78 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 158 /s_SCREEN_INTF/D2)) - (pad 14 thru_hole oval (at 2.54 15.24 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 159 /s_SCREEN_INTF/D1)) - (pad 13 thru_hole oval (at 0 15.24 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 160 /s_SCREEN_INTF/D0)) - (pad 12 thru_hole oval (at 2.54 12.7 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 161 /s_SCREEN_INTF/TFT_TE)) - (pad 11 thru_hole oval (at 0 12.7 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 162 /s_SCREEN_INTF/~TFT_RD)) - (pad 10 thru_hole oval (at 2.54 10.16 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 163 /s_SCREEN_INTF/~TFT_WR)) - (pad 9 thru_hole oval (at 0 10.16 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 169 /~TFT_CS)) - (pad 8 thru_hole oval (at 2.54 7.62 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 164 /s_SCREEN_INTF/TFT_RSDC)) - (pad 7 thru_hole oval (at 0 7.62 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 165 /s_SCREEN_INTF/~TFT_RST)) - (pad 6 thru_hole oval (at 2.54 5.08 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 8 "Net-(J3-Pad6)")) - (pad 5 thru_hole oval (at 0 5.08 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 166 /s_SCREEN_INTF/TFT_TOUCH_INT)) - (pad 4 thru_hole oval (at 2.54 2.54 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 170 /MASTER_I2C_SDA)) - (pad 3 thru_hole oval (at 0 2.54 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 171 /MASTER_I2C_SCL)) - (pad 2 thru_hole oval (at 2.54 0 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 1 thru_hole rect (at 0 0 90) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask) - (net 122 g_3v3)) - (model ${KISYS3DMOD}/Connector_IDC.3dshapes/IDC-Header_2x20_P2.54mm_Horizontal.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module Connector_USB:USB_Micro-B_Wuerth_629105150521 (layer F.Cu) (tedit 5A142044) (tstamp 5E752E24) - (at 54.61 73.66 270) - (descr "USB Micro-B receptacle, http://www.mouser.com/ds/2/445/629105150521-469306.pdf") - (tags "usb micro receptacle") - (path /5E7C0F59/5E8480AD) - (attr smd) - (fp_text reference J1 (at 0 -3.5 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value USB_B_Micro (at 0 5.6 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user "PCB Edge" (at 0 3.75 90) (layer Dwgs.User) - (effects (font (size 0.5 0.5) (thickness 0.08))) - ) - (fp_text user %R (at 0 1.05 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 4.95 -3.34) (end -4.94 -3.34) (layer F.CrtYd) (width 0.05)) - (fp_line (start 4.95 4.85) (end 4.95 -3.34) (layer F.CrtYd) (width 0.05)) - (fp_line (start -4.94 4.85) (end 4.95 4.85) (layer F.CrtYd) (width 0.05)) - (fp_line (start -4.94 -3.34) (end -4.94 4.85) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.8 -2.4) (end 2.8 -2.4) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.8 -2.4) (end -2.8 -2.4) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.8 -2.825) (end -1.8 -2.4) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.075 -2.825) (end -1.8 -2.825) (layer F.SilkS) (width 0.15)) - (fp_line (start 4.15 0.75) (end 4.15 -0.65) (layer F.SilkS) (width 0.15)) - (fp_line (start 4.15 3.3) (end 4.15 3.15) (layer F.SilkS) (width 0.15)) - (fp_line (start 3.85 3.3) (end 4.15 3.3) (layer F.SilkS) (width 0.15)) - (fp_line (start 3.85 3.75) (end 3.85 3.3) (layer F.SilkS) (width 0.15)) - (fp_line (start -3.85 3.3) (end -3.85 3.75) (layer F.SilkS) (width 0.15)) - (fp_line (start -4.15 3.3) (end -3.85 3.3) (layer F.SilkS) (width 0.15)) - (fp_line (start -4.15 3.15) (end -4.15 3.3) (layer F.SilkS) (width 0.15)) - (fp_line (start -4.15 -0.65) (end -4.15 0.75) (layer F.SilkS) (width 0.15)) - (fp_line (start -1.075 -2.95) (end -1.075 -2.725) (layer F.Fab) (width 0.15)) - (fp_line (start -1.525 -2.95) (end -1.075 -2.95) (layer F.Fab) (width 0.15)) - (fp_line (start -1.525 -2.725) (end -1.525 -2.95) (layer F.Fab) (width 0.15)) - (fp_line (start -1.3 -2.55) (end -1.525 -2.725) (layer F.Fab) (width 0.15)) - (fp_line (start -1.075 -2.725) (end -1.3 -2.55) (layer F.Fab) (width 0.15)) - (fp_line (start -2.7 3.75) (end 2.7 3.75) (layer F.Fab) (width 0.15)) - (fp_line (start 4 -2.25) (end -4 -2.25) (layer F.Fab) (width 0.15)) - (fp_line (start 4 3.15) (end 4 -2.25) (layer F.Fab) (width 0.15)) - (fp_line (start 3.7 3.15) (end 4 3.15) (layer F.Fab) (width 0.15)) - (fp_line (start 3.7 4.35) (end 3.7 3.15) (layer F.Fab) (width 0.15)) - (fp_line (start -3.7 4.35) (end 3.7 4.35) (layer F.Fab) (width 0.15)) - (fp_line (start -3.7 3.15) (end -3.7 4.35) (layer F.Fab) (width 0.15)) - (fp_line (start -4 3.15) (end -3.7 3.15) (layer F.Fab) (width 0.15)) - (fp_line (start -4 -2.25) (end -4 3.15) (layer F.Fab) (width 0.15)) - (pad "" np_thru_hole oval (at 2.5 -0.8 270) (size 0.8 0.8) (drill 0.8) (layers *.Cu *.Mask)) - (pad "" np_thru_hole oval (at -2.5 -0.8 270) (size 0.8 0.8) (drill 0.8) (layers *.Cu *.Mask)) - (pad 6 thru_hole oval (at 3.875 1.95 270) (size 1.15 1.8) (drill oval 0.55 1.2) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 6 thru_hole oval (at -3.875 1.95 270) (size 1.15 1.8) (drill oval 0.55 1.2) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 6 thru_hole oval (at 3.725 -1.85 270) (size 1.45 2) (drill oval 0.85 1.4) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 6 thru_hole oval (at -3.725 -1.85 270) (size 1.45 2) (drill oval 0.85 1.4) (layers *.Cu *.Mask) - (net 127 GND)) - (pad 5 smd rect (at 1.3 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 127 GND)) - (pad 4 smd rect (at 0.65 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 1 "Net-(J1-Pad4)")) - (pad 3 smd rect (at 0 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 129 /s_USB_INTF.sch/USB_D+)) - (pad 2 smd rect (at -0.65 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 130 /s_USB_INTF.sch/USB_D-)) - (pad 1 smd rect (at -1.3 -1.9 270) (size 0.45 1.3) (layers F.Cu F.Paste F.Mask) - (net 168 "Net-(C7-Pad1)")) - (model ${KISYS3DMOD}/Connector_USB.3dshapes/USB_Micro-B_Wuerth_629105150521.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (gr_line (start 50.8 130.81) (end 50.8 50.8) (layer Edge.Cuts) (width 0.05) (tstamp 5E7ADE31)) - (gr_line (start 152.4 130.81) (end 50.8 130.81) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 152.4 50.8) (end 152.4 130.81) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 53.34 50.8) (end 152.4 50.8) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 50.8 50.8) (end 53.34 50.8) (layer Edge.Cuts) (width 0.05) (tstamp 5E6E9EBC)) - -) diff --git a/electrical/same54_dev_board/same54_dev_board.kicad_prl b/electrical/same54_dev_board/same54_dev_board.kicad_prl deleted file mode 100644 index b2c23af..0000000 --- a/electrical/same54_dev_board/same54_dev_board.kicad_prl +++ /dev/null @@ -1,77 +0,0 @@ -{ - "board": { - "active_layer": 0, - "active_layer_preset": "", - "auto_track_width": true, - "hidden_nets": [], - "high_contrast_mode": 0, - "net_color_mode": 1, - "opacity": { - "pads": 1.0, - "tracks": 1.0, - "vias": 1.0, - "zones": 0.6 - }, - "ratsnest_display_mode": 0, - "selection_filter": { - "dimensions": true, - "footprints": true, - "graphics": true, - "keepouts": true, - "lockedItems": true, - "otherItems": true, - "pads": true, - "text": true, - "tracks": true, - "vias": true, - "zones": true - }, - "visible_items": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 32, - 33, - 34, - 35, - 36 - ], - "visible_layers": "fffffff_ffffffff", - "zone_display_mode": 0 - }, - "meta": { - "filename": "same54_dev_board.kicad_prl", - "version": 3 - }, - "project": { - "files": [] - } -} diff --git a/electrical/same54_dev_board/same54_dev_board.kicad_pro b/electrical/same54_dev_board/same54_dev_board.kicad_pro deleted file mode 100644 index 4745823..0000000 --- a/electrical/same54_dev_board/same54_dev_board.kicad_pro +++ /dev/null @@ -1,414 +0,0 @@ -{ - "board": { - "design_settings": { - "defaults": { - "board_outline_line_width": 0.049999999999999996, - "copper_line_width": 0.19999999999999998, - "copper_text_italic": false, - "copper_text_size_h": 1.5, - "copper_text_size_v": 1.5, - "copper_text_thickness": 0.3, - "copper_text_upright": false, - "courtyard_line_width": 0.049999999999999996, - "dimension_precision": 4, - "dimension_units": 3, - "dimensions": { - "arrow_length": 1270000, - "extension_offset": 500000, - "keep_text_aligned": true, - "suppress_zeroes": false, - "text_position": 0, - "units_format": 1 - }, - "fab_line_width": 0.09999999999999999, - "fab_text_italic": false, - "fab_text_size_h": 1.0, - "fab_text_size_v": 1.0, - "fab_text_thickness": 0.15, - "fab_text_upright": false, - "other_line_width": 0.09999999999999999, - "other_text_italic": false, - "other_text_size_h": 1.0, - "other_text_size_v": 1.0, - "other_text_thickness": 0.15, - "other_text_upright": false, - "pads": { - "drill": 0.0, - "height": 3.45, - "width": 3.45 - }, - "silk_line_width": 0.12, - "silk_text_italic": false, - "silk_text_size_h": 1.0, - "silk_text_size_v": 1.0, - "silk_text_thickness": 0.15, - "silk_text_upright": false, - "zones": { - "45_degree_only": false, - "min_clearance": 0.508 - } - }, - "diff_pair_dimensions": [], - "drc_exclusions": [], - "meta": { - "filename": "board_design_settings.json", - "version": 2 - }, - "rule_severities": { - "annular_width": "error", - "clearance": "error", - "copper_edge_clearance": "error", - "courtyards_overlap": "error", - "diff_pair_gap_out_of_range": "error", - "diff_pair_uncoupled_length_too_long": "error", - "drill_out_of_range": "error", - "duplicate_footprints": "warning", - "extra_footprint": "warning", - "footprint_type_mismatch": "error", - "hole_clearance": "error", - "hole_near_hole": "error", - "invalid_outline": "error", - "item_on_disabled_layer": "error", - "items_not_allowed": "error", - "length_out_of_range": "error", - "malformed_courtyard": "error", - "microvia_drill_out_of_range": "error", - "missing_courtyard": "ignore", - "missing_footprint": "warning", - "net_conflict": "warning", - "npth_inside_courtyard": "ignore", - "padstack": "error", - "pth_inside_courtyard": "ignore", - "shorting_items": "error", - "silk_over_copper": "warning", - "silk_overlap": "warning", - "skew_out_of_range": "error", - "through_hole_pad_without_hole": "error", - "too_many_vias": "error", - "track_dangling": "warning", - "track_width": "error", - "tracks_crossing": "error", - "unconnected_items": "error", - "unresolved_variable": "error", - "via_dangling": "warning", - "zone_has_empty_net": "error", - "zones_intersect": "error" - }, - "rules": { - "allow_blind_buried_vias": false, - "allow_microvias": false, - "max_error": 0.005, - "min_clearance": 0.0, - "min_copper_edge_clearance": 0.024999999999999998, - "min_hole_clearance": 0.25, - "min_hole_to_hole": 0.25, - "min_microvia_diameter": 0.19999999999999998, - "min_microvia_drill": 0.09999999999999999, - "min_silk_clearance": 0.0, - "min_through_hole_diameter": 0.3, - "min_track_width": 0.19999999999999998, - "min_via_annular_width": 0.049999999999999996, - "min_via_diameter": 0.39999999999999997, - "use_height_for_length_calcs": true - }, - "track_widths": [], - "via_dimensions": [], - "zones_allow_external_fillets": false, - "zones_use_no_outline": true - }, - "layer_presets": [] - }, - "boards": [], - "cvpcb": { - "equivalence_files": [] - }, - "erc": { - "erc_exclusions": [], - "meta": { - "version": 0 - }, - "pin_map": [ - [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 2 - ], - [ - 0, - 2, - 0, - 1, - 0, - 0, - 1, - 0, - 2, - 2, - 2, - 2 - ], - [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 0, - 1, - 2 - ], - [ - 0, - 1, - 0, - 0, - 0, - 0, - 1, - 1, - 2, - 1, - 1, - 2 - ], - [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 2 - ], - [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2 - ], - [ - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 2 - ], - [ - 0, - 0, - 0, - 1, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 2 - ], - [ - 0, - 2, - 1, - 2, - 0, - 0, - 1, - 0, - 2, - 2, - 2, - 2 - ], - [ - 0, - 2, - 0, - 1, - 0, - 0, - 1, - 0, - 2, - 0, - 0, - 2 - ], - [ - 0, - 2, - 1, - 1, - 0, - 0, - 1, - 0, - 2, - 0, - 0, - 2 - ], - [ - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2, - 2 - ] - ], - "rule_severities": { - "bus_definition_conflict": "error", - "bus_entry_needed": "error", - "bus_label_syntax": "error", - "bus_to_bus_conflict": "error", - "bus_to_net_conflict": "error", - "different_unit_footprint": "error", - "different_unit_net": "error", - "duplicate_reference": "error", - "duplicate_sheet_names": "error", - "extra_units": "error", - "global_label_dangling": "warning", - "hier_label_mismatch": "error", - "label_dangling": "error", - "lib_symbol_issues": "warning", - "multiple_net_names": "warning", - "net_not_bus_member": "warning", - "no_connect_connected": "warning", - "no_connect_dangling": "warning", - "pin_not_connected": "error", - "pin_not_driven": "error", - "pin_to_pin": "warning", - "power_pin_not_driven": "error", - "similar_labels": "warning", - "unannotated": "error", - "unit_value_mismatch": "error", - "unresolved_variable": "error", - "wire_dangling": "error" - } - }, - "libraries": { - "pinned_footprint_libs": [], - "pinned_symbol_libs": [] - }, - "meta": { - "filename": "same54_dev_board.kicad_pro", - "version": 1 - }, - "net_settings": { - "classes": [ - { - "bus_width": 12.0, - "clearance": 0.2, - "diff_pair_gap": 0.25, - "diff_pair_via_gap": 0.25, - "diff_pair_width": 0.2, - "line_style": 0, - "microvia_diameter": 0.3, - "microvia_drill": 0.1, - "name": "Default", - "pcb_color": "rgba(0, 0, 0, 0.000)", - "schematic_color": "rgba(0, 0, 0, 0.000)", - "track_width": 0.25, - "via_diameter": 0.8, - "via_drill": 0.4, - "wire_width": 6.0 - } - ], - "meta": { - "version": 2 - }, - "net_colors": null - }, - "pcbnew": { - "last_paths": { - "gencad": "", - "idf": "", - "netlist": "", - "specctra_dsn": "", - "step": "", - "vrml": "" - }, - "page_layout_descr_file": "" - }, - "schematic": { - "annotate_start_num": 0, - "drawing": { - "default_line_thickness": 6.0, - "default_text_size": 50.0, - "field_names": [], - "intersheets_ref_own_page": false, - "intersheets_ref_prefix": "", - "intersheets_ref_short": false, - "intersheets_ref_show": false, - "intersheets_ref_suffix": "", - "junction_size_choice": 3, - "label_size_ratio": 0.25, - "pin_symbol_size": 0.0, - "text_offset_ratio": 0.08 - }, - "legacy_lib_dir": "", - "legacy_lib_list": [], - "meta": { - "version": 1 - }, - "net_format_name": "", - "ngspice": { - "fix_include_paths": true, - "fix_passive_vals": false, - "meta": { - "version": 0 - }, - "model_mode": 0, - "workbook_filename": "" - }, - "page_layout_descr_file": "", - "plot_directory": "", - "spice_adjust_passive_values": false, - "spice_external_command": "spice \"%I\"", - "subpart_first_id": 65, - "subpart_id_separator": 0 - }, - "sheets": [], - "text_variables": {} -} diff --git a/electrical/same54_dev_board/same54_dev_board.pro b/electrical/same54_dev_board/same54_dev_board.pro deleted file mode 100644 index 99f1738..0000000 --- a/electrical/same54_dev_board/same54_dev_board.pro +++ /dev/null @@ -1,43 +0,0 @@ -update=Sun 19 Apr 2020 04:53:03 PM CDT -version=1 -last_client=kicad -[general] -version=1 -RootSch= -BoardNm= -[pcbnew] -version=1 -LastNetListRead= -UseCmpFile=1 -PadDrill=0.600000000000 -PadDrillOvalY=0.600000000000 -PadSizeH=1.500000000000 -PadSizeV=1.500000000000 -PcbTextSizeV=1.500000000000 -PcbTextSizeH=1.500000000000 -PcbTextThickness=0.300000000000 -ModuleTextSizeV=1.000000000000 -ModuleTextSizeH=1.000000000000 -ModuleTextSizeThickness=0.150000000000 -SolderMaskClearance=0.000000000000 -SolderMaskMinWidth=0.000000000000 -DrawSegmentWidth=0.200000000000 -BoardOutlineThickness=0.100000000000 -ModuleOutlineThickness=0.150000000000 -[cvpcb] -version=1 -NetIExt=net -[eeschema] -version=1 -LibDir= -[eeschema/libraries] -[schematic_editor] -version=1 -PageLayoutDescrFile= -PlotDirectoryName= -SubpartIdSeparator=0 -SubpartFirstId=65 -NetFmtName= -SpiceAjustPassiveValues=0 -LabSize=50 -ERC_TestSimilarLabels=1 diff --git a/electrical/same54_dev_board/same54_dev_board.sch b/electrical/same54_dev_board/same54_dev_board.sch deleted file mode 100644 index 5c24b36..0000000 --- a/electrical/same54_dev_board/same54_dev_board.sch +++ /dev/null @@ -1,228 +0,0 @@ -EESchema Schematic File Version 4 -EELAYER 30 0 -EELAYER END -$Descr A 11000 8500 -encoding utf-8 -Sheet 1 5 -Title "Project Oracle" -Date "2020-03-16" -Rev "v0.1" -Comp "" -Comment1 "" -Comment2 "" -Comment3 "" -Comment4 "" -$EndDescr -$Sheet -S 5800 3900 3000 2000 -U 5E7872D3 -F0 "s_Power" 50 -F1 "Power.sch" 50 -$EndSheet -Text Notes 800 1500 0 50 ~ 0 -Brain -- ATSAME54P20A will controll peripherals, \nincluding an IO extender which,\n will handler the control of the screen \n(mikroe board with SSD1963)\n\n\nEverything in this schematic is relative to the \nbrain. As in, MASTER means brain. -Text GLabel 900 6250 0 50 Input ~ 0 -g_3v3 -Text GLabel 1800 6250 0 50 Input ~ 0 -g_5v -$Sheet -S 5750 850 3100 2000 -U 5E8589A7 -F0 "s_SCREEN_INTF" 50 -F1 "SCREEN_INTF.sch" 50 -F2 "MASTER_SPI_CLK" I L 5750 1100 50 -F3 "MASTER_SPI_MISO" I L 5750 1200 50 -F4 "MASTER_SPI_MOSI" I L 5750 1300 50 -F5 "~IO_EXPANDER_CS" I L 5750 1450 50 -F6 "~TFT_CS" I L 5750 1550 50 -F7 "~TFT_RD" I L 5750 1650 50 -F8 "~TFT_WR" I L 5750 1750 50 -F9 "TFT_RSDC" I L 5750 1850 50 -F10 "~TFT_RST" I L 5750 2000 50 -F11 "TFT_STB" I L 5750 2100 50 -F12 "TFT_TOUCH_SDA" I L 5750 2200 50 -F13 "TFT_TOUCH_SCL" I L 5750 2300 50 -F14 "TFT_TOUCH_INT" I L 5750 2550 50 -F15 "TFT_TE" I L 5750 2650 50 -$EndSheet -Wire Wire Line - 900 6250 950 6250 -$Comp -L power:+3V3 #PWR0101 -U 1 1 5E97BC15 -P 1200 6250 -F 0 "#PWR0101" H 1200 6100 50 0001 C CNN -F 1 "+3V3" H 1215 6423 50 0000 C CNN -F 2 "" H 1200 6250 50 0001 C CNN -F 3 "" H 1200 6250 50 0001 C CNN - 1 1200 6250 - 1 0 0 -1 -$EndComp -$Comp -L power:+5V #PWR0102 -U 1 1 5E97C21D -P 2150 6250 -F 0 "#PWR0102" H 2150 6100 50 0001 C CNN -F 1 "+5V" H 2165 6423 50 0000 C CNN -F 2 "" H 2150 6250 50 0001 C CNN -F 3 "" H 2150 6250 50 0001 C CNN - 1 2150 6250 - 1 0 0 -1 -$EndComp -$Comp -L power:PWR_FLAG #FLG0101 -U 1 1 5E97C674 -P 950 5850 -F 0 "#FLG0101" H 950 5925 50 0001 C CNN -F 1 "PWR_FLAG" H 950 6023 50 0000 C CNN -F 2 "" H 950 5850 50 0001 C CNN -F 3 "~" H 950 5850 50 0001 C CNN - 1 950 5850 - 1 0 0 -1 -$EndComp -Wire Wire Line - 950 6250 950 5850 -Connection ~ 950 6250 -Wire Wire Line - 950 6250 1200 6250 -$Comp -L power:GND #PWR0103 -U 1 1 5E97DBEE -P 2600 6250 -F 0 "#PWR0103" H 2600 6000 50 0001 C CNN -F 1 "GND" H 2605 6077 50 0000 C CNN -F 2 "" H 2600 6250 50 0001 C CNN -F 3 "" H 2600 6250 50 0001 C CNN - 1 2600 6250 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1800 6250 1900 6250 -$Comp -L power:PWR_FLAG #FLG0102 -U 1 1 5E97F87F -P 1900 5850 -F 0 "#FLG0102" H 1900 5925 50 0001 C CNN -F 1 "PWR_FLAG" H 1900 6023 50 0000 C CNN -F 2 "" H 1900 5850 50 0001 C CNN -F 3 "~" H 1900 5850 50 0001 C CNN - 1 1900 5850 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1900 6250 1900 5850 -Connection ~ 1900 6250 -Wire Wire Line - 1900 6250 2150 6250 -$Comp -L power:PWR_FLAG #FLG0103 -U 1 1 5E980A5B -P 2600 5850 -F 0 "#FLG0103" H 2600 5925 50 0001 C CNN -F 1 "PWR_FLAG" H 2600 6023 50 0000 C CNN -F 2 "" H 2600 5850 50 0001 C CNN -F 3 "~" H 2600 5850 50 0001 C CNN - 1 2600 5850 - 1 0 0 -1 -$EndComp -Wire Wire Line - 2600 6250 2600 5850 -Text Label 4050 1150 0 50 ~ 0 -DEBUG_TX -Wire Wire Line - 4000 1150 4050 1150 -Wire Wire Line - 4000 1250 4050 1250 -Text Label 4050 1250 0 50 ~ 0 -DEBUG_RX -Wire Wire Line - 4000 1350 4050 1350 -Wire Wire Line - 4000 1450 4050 1450 -Wire Wire Line - 4000 1550 4050 1550 -Wire Wire Line - 4000 1650 4050 1650 -Wire Wire Line - 4000 1750 4050 1750 -Wire Wire Line - 4000 1850 4050 1850 -Wire Wire Line - 4000 1950 4050 1950 -Wire Wire Line - 4000 2050 4050 2050 -Text Label 4050 1350 0 50 ~ 0 -MASTER_SPI_MOSI -Text Label 4050 1450 0 50 ~ 0 -MASTER_SPI_MISO -Text Label 4050 1550 0 50 ~ 0 -MASTER_SPI_CLK -Text Label 4050 1650 0 50 ~ 0 -~TFT_CS -Text Label 5700 1300 2 50 ~ 0 -MASTER_SPI_MOSI -Wire Wire Line - 5700 1200 5750 1200 -Text Label 5700 1200 2 50 ~ 0 -MASTER_SPI_MISO -Wire Wire Line - 5700 1300 5750 1300 -Text Label 5700 1100 2 50 ~ 0 -MASTER_SPI_CLK -Wire Wire Line - 5700 1100 5750 1100 -Text Label 5700 1550 2 50 ~ 0 -~TFT_CS -Wire Wire Line - 5700 1550 5750 1550 -Text Label 4050 1950 0 50 ~ 0 -MASTER_I2C_SDA -Text Label 4050 2050 0 50 ~ 0 -MASTER_I2C_SCL -Text Label 5700 2200 2 50 ~ 0 -MASTER_I2C_SDA -Text Label 5700 2300 2 50 ~ 0 -MASTER_I2C_SCL -Wire Wire Line - 5750 2200 5700 2200 -Wire Wire Line - 5750 2300 5700 2300 -Wire Wire Line - 3950 3550 4050 3550 -Wire Wire Line - 3950 3450 4050 3450 -Text Label 4050 3550 0 50 ~ 0 -DEBUG_RX -Text Label 4050 3450 0 50 ~ 0 -DEBUG_TX -$Sheet -S 650 3350 3300 1900 -U 5E7C0F59 -F0 "s_USB_INTF.sch" 50 -F1 "USB_INTF.sch" 50 -F2 "DEBUG_TX" I R 3950 3450 50 -F3 "DEBUG_RX" I R 3950 3550 50 -F4 "FTDI_5V" I R 3950 3750 50 -F5 "FTDI_3V3" I R 3950 3850 50 -$EndSheet -$Sheet -S 750 800 3250 2350 -U 5E805E4F -F0 "s_BRAIN" 50 -F1 "BRAIN.sch" 50 -F2 "DEBUG_TX" I R 4000 1150 50 -F3 "DEBUG_RX" I R 4000 1250 50 -F4 "MASTER_SPI_MOSI" I R 4000 1350 50 -F5 "MASTER_SPI_MISO" I R 4000 1450 50 -F6 "MASTER_SPI_CLK" I R 4000 1550 50 -F7 "~FLASH_MEM_CS" I R 4000 1750 50 -F8 "MASTER_I2C_SDA" I R 4000 1950 50 -F9 "MASTER_I2C_SCL" I R 4000 2050 50 -F10 "~IO_EXPANDER_CS" I R 4000 1850 50 -F11 "~TFT_CS" I R 4000 1650 50 -F12 "~TFT_WR" I R 4000 2150 50 -F13 "~TFT_RD" I R 4000 2250 50 -F14 "TFT_RSDC" I R 4000 2350 50 -F15 "~TFT_RST" I R 4000 2450 50 -$EndSheet -$EndSCHEMATC diff --git a/electrical/same54_dev_board/same54_dev_board.sch-bak b/electrical/same54_dev_board/same54_dev_board.sch-bak deleted file mode 100644 index 5c24b36..0000000 --- a/electrical/same54_dev_board/same54_dev_board.sch-bak +++ /dev/null @@ -1,228 +0,0 @@ -EESchema Schematic File Version 4 -EELAYER 30 0 -EELAYER END -$Descr A 11000 8500 -encoding utf-8 -Sheet 1 5 -Title "Project Oracle" -Date "2020-03-16" -Rev "v0.1" -Comp "" -Comment1 "" -Comment2 "" -Comment3 "" -Comment4 "" -$EndDescr -$Sheet -S 5800 3900 3000 2000 -U 5E7872D3 -F0 "s_Power" 50 -F1 "Power.sch" 50 -$EndSheet -Text Notes 800 1500 0 50 ~ 0 -Brain -- ATSAME54P20A will controll peripherals, \nincluding an IO extender which,\n will handler the control of the screen \n(mikroe board with SSD1963)\n\n\nEverything in this schematic is relative to the \nbrain. As in, MASTER means brain. -Text GLabel 900 6250 0 50 Input ~ 0 -g_3v3 -Text GLabel 1800 6250 0 50 Input ~ 0 -g_5v -$Sheet -S 5750 850 3100 2000 -U 5E8589A7 -F0 "s_SCREEN_INTF" 50 -F1 "SCREEN_INTF.sch" 50 -F2 "MASTER_SPI_CLK" I L 5750 1100 50 -F3 "MASTER_SPI_MISO" I L 5750 1200 50 -F4 "MASTER_SPI_MOSI" I L 5750 1300 50 -F5 "~IO_EXPANDER_CS" I L 5750 1450 50 -F6 "~TFT_CS" I L 5750 1550 50 -F7 "~TFT_RD" I L 5750 1650 50 -F8 "~TFT_WR" I L 5750 1750 50 -F9 "TFT_RSDC" I L 5750 1850 50 -F10 "~TFT_RST" I L 5750 2000 50 -F11 "TFT_STB" I L 5750 2100 50 -F12 "TFT_TOUCH_SDA" I L 5750 2200 50 -F13 "TFT_TOUCH_SCL" I L 5750 2300 50 -F14 "TFT_TOUCH_INT" I L 5750 2550 50 -F15 "TFT_TE" I L 5750 2650 50 -$EndSheet -Wire Wire Line - 900 6250 950 6250 -$Comp -L power:+3V3 #PWR0101 -U 1 1 5E97BC15 -P 1200 6250 -F 0 "#PWR0101" H 1200 6100 50 0001 C CNN -F 1 "+3V3" H 1215 6423 50 0000 C CNN -F 2 "" H 1200 6250 50 0001 C CNN -F 3 "" H 1200 6250 50 0001 C CNN - 1 1200 6250 - 1 0 0 -1 -$EndComp -$Comp -L power:+5V #PWR0102 -U 1 1 5E97C21D -P 2150 6250 -F 0 "#PWR0102" H 2150 6100 50 0001 C CNN -F 1 "+5V" H 2165 6423 50 0000 C CNN -F 2 "" H 2150 6250 50 0001 C CNN -F 3 "" H 2150 6250 50 0001 C CNN - 1 2150 6250 - 1 0 0 -1 -$EndComp -$Comp -L power:PWR_FLAG #FLG0101 -U 1 1 5E97C674 -P 950 5850 -F 0 "#FLG0101" H 950 5925 50 0001 C CNN -F 1 "PWR_FLAG" H 950 6023 50 0000 C CNN -F 2 "" H 950 5850 50 0001 C CNN -F 3 "~" H 950 5850 50 0001 C CNN - 1 950 5850 - 1 0 0 -1 -$EndComp -Wire Wire Line - 950 6250 950 5850 -Connection ~ 950 6250 -Wire Wire Line - 950 6250 1200 6250 -$Comp -L power:GND #PWR0103 -U 1 1 5E97DBEE -P 2600 6250 -F 0 "#PWR0103" H 2600 6000 50 0001 C CNN -F 1 "GND" H 2605 6077 50 0000 C CNN -F 2 "" H 2600 6250 50 0001 C CNN -F 3 "" H 2600 6250 50 0001 C CNN - 1 2600 6250 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1800 6250 1900 6250 -$Comp -L power:PWR_FLAG #FLG0102 -U 1 1 5E97F87F -P 1900 5850 -F 0 "#FLG0102" H 1900 5925 50 0001 C CNN -F 1 "PWR_FLAG" H 1900 6023 50 0000 C CNN -F 2 "" H 1900 5850 50 0001 C CNN -F 3 "~" H 1900 5850 50 0001 C CNN - 1 1900 5850 - 1 0 0 -1 -$EndComp -Wire Wire Line - 1900 6250 1900 5850 -Connection ~ 1900 6250 -Wire Wire Line - 1900 6250 2150 6250 -$Comp -L power:PWR_FLAG #FLG0103 -U 1 1 5E980A5B -P 2600 5850 -F 0 "#FLG0103" H 2600 5925 50 0001 C CNN -F 1 "PWR_FLAG" H 2600 6023 50 0000 C CNN -F 2 "" H 2600 5850 50 0001 C CNN -F 3 "~" H 2600 5850 50 0001 C CNN - 1 2600 5850 - 1 0 0 -1 -$EndComp -Wire Wire Line - 2600 6250 2600 5850 -Text Label 4050 1150 0 50 ~ 0 -DEBUG_TX -Wire Wire Line - 4000 1150 4050 1150 -Wire Wire Line - 4000 1250 4050 1250 -Text Label 4050 1250 0 50 ~ 0 -DEBUG_RX -Wire Wire Line - 4000 1350 4050 1350 -Wire Wire Line - 4000 1450 4050 1450 -Wire Wire Line - 4000 1550 4050 1550 -Wire Wire Line - 4000 1650 4050 1650 -Wire Wire Line - 4000 1750 4050 1750 -Wire Wire Line - 4000 1850 4050 1850 -Wire Wire Line - 4000 1950 4050 1950 -Wire Wire Line - 4000 2050 4050 2050 -Text Label 4050 1350 0 50 ~ 0 -MASTER_SPI_MOSI -Text Label 4050 1450 0 50 ~ 0 -MASTER_SPI_MISO -Text Label 4050 1550 0 50 ~ 0 -MASTER_SPI_CLK -Text Label 4050 1650 0 50 ~ 0 -~TFT_CS -Text Label 5700 1300 2 50 ~ 0 -MASTER_SPI_MOSI -Wire Wire Line - 5700 1200 5750 1200 -Text Label 5700 1200 2 50 ~ 0 -MASTER_SPI_MISO -Wire Wire Line - 5700 1300 5750 1300 -Text Label 5700 1100 2 50 ~ 0 -MASTER_SPI_CLK -Wire Wire Line - 5700 1100 5750 1100 -Text Label 5700 1550 2 50 ~ 0 -~TFT_CS -Wire Wire Line - 5700 1550 5750 1550 -Text Label 4050 1950 0 50 ~ 0 -MASTER_I2C_SDA -Text Label 4050 2050 0 50 ~ 0 -MASTER_I2C_SCL -Text Label 5700 2200 2 50 ~ 0 -MASTER_I2C_SDA -Text Label 5700 2300 2 50 ~ 0 -MASTER_I2C_SCL -Wire Wire Line - 5750 2200 5700 2200 -Wire Wire Line - 5750 2300 5700 2300 -Wire Wire Line - 3950 3550 4050 3550 -Wire Wire Line - 3950 3450 4050 3450 -Text Label 4050 3550 0 50 ~ 0 -DEBUG_RX -Text Label 4050 3450 0 50 ~ 0 -DEBUG_TX -$Sheet -S 650 3350 3300 1900 -U 5E7C0F59 -F0 "s_USB_INTF.sch" 50 -F1 "USB_INTF.sch" 50 -F2 "DEBUG_TX" I R 3950 3450 50 -F3 "DEBUG_RX" I R 3950 3550 50 -F4 "FTDI_5V" I R 3950 3750 50 -F5 "FTDI_3V3" I R 3950 3850 50 -$EndSheet -$Sheet -S 750 800 3250 2350 -U 5E805E4F -F0 "s_BRAIN" 50 -F1 "BRAIN.sch" 50 -F2 "DEBUG_TX" I R 4000 1150 50 -F3 "DEBUG_RX" I R 4000 1250 50 -F4 "MASTER_SPI_MOSI" I R 4000 1350 50 -F5 "MASTER_SPI_MISO" I R 4000 1450 50 -F6 "MASTER_SPI_CLK" I R 4000 1550 50 -F7 "~FLASH_MEM_CS" I R 4000 1750 50 -F8 "MASTER_I2C_SDA" I R 4000 1950 50 -F9 "MASTER_I2C_SCL" I R 4000 2050 50 -F10 "~IO_EXPANDER_CS" I R 4000 1850 50 -F11 "~TFT_CS" I R 4000 1650 50 -F12 "~TFT_WR" I R 4000 2150 50 -F13 "~TFT_RD" I R 4000 2250 50 -F14 "TFT_RSDC" I R 4000 2350 50 -F15 "~TFT_RST" I R 4000 2450 50 -$EndSheet -$EndSCHEMATC diff --git a/electrical/same54_dev_board/sym-lib-table b/electrical/same54_dev_board/sym-lib-table deleted file mode 100644 index 7065bea..0000000 --- a/electrical/same54_dev_board/sym-lib-table +++ /dev/null @@ -1,6 +0,0 @@ -(sym_lib_table - (lib (name same54_dev_board-rescue)(type Legacy)(uri ${KIPRJMOD}/same54_dev_board-rescue.lib)(options "")(descr "")) - (lib (name Conn_02x20_LCD_INTF)(type Legacy)(uri ${KIPRJMOD}/libraries/Conn_02x20_LCD_INTF.lib)(options "")(descr "")) - (lib (name MAX7301AAX_)(type Legacy)(uri ${KIPRJMOD}/libraries/MAX7301AAX_.lib)(options "")(descr "")) - (lib (name TPS73733QDRBRQ1)(type Legacy)(uri ${KIPRJMOD}/libraries/TPS73733QDRBRQ1.lib)(options "")(descr "")) -) diff --git a/software/firmware/oracle_d21_edition/AtmelStart.env_conf b/oracle_d21_edition/AtmelStart.env_conf similarity index 100% rename from software/firmware/oracle_d21_edition/AtmelStart.env_conf rename to oracle_d21_edition/AtmelStart.env_conf diff --git a/software/firmware/oracle_d21_edition/AtmelStart.gpdsc b/oracle_d21_edition/AtmelStart.gpdsc similarity index 100% rename from software/firmware/oracle_d21_edition/AtmelStart.gpdsc rename to oracle_d21_edition/AtmelStart.gpdsc diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_armcc.h b/oracle_d21_edition/CMSIS/Core/Include/cmsis_armcc.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_armcc.h rename to oracle_d21_edition/CMSIS/Core/Include/cmsis_armcc.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_armclang.h b/oracle_d21_edition/CMSIS/Core/Include/cmsis_armclang.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_armclang.h rename to oracle_d21_edition/CMSIS/Core/Include/cmsis_armclang.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_compiler.h b/oracle_d21_edition/CMSIS/Core/Include/cmsis_compiler.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_compiler.h rename to oracle_d21_edition/CMSIS/Core/Include/cmsis_compiler.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_gcc.h b/oracle_d21_edition/CMSIS/Core/Include/cmsis_gcc.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_gcc.h rename to oracle_d21_edition/CMSIS/Core/Include/cmsis_gcc.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_iccarm.h b/oracle_d21_edition/CMSIS/Core/Include/cmsis_iccarm.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_iccarm.h rename to oracle_d21_edition/CMSIS/Core/Include/cmsis_iccarm.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_version.h b/oracle_d21_edition/CMSIS/Core/Include/cmsis_version.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/cmsis_version.h rename to oracle_d21_edition/CMSIS/Core/Include/cmsis_version.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_armv8mbl.h b/oracle_d21_edition/CMSIS/Core/Include/core_armv8mbl.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_armv8mbl.h rename to oracle_d21_edition/CMSIS/Core/Include/core_armv8mbl.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_armv8mml.h b/oracle_d21_edition/CMSIS/Core/Include/core_armv8mml.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_armv8mml.h rename to oracle_d21_edition/CMSIS/Core/Include/core_armv8mml.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm0.h b/oracle_d21_edition/CMSIS/Core/Include/core_cm0.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm0.h rename to oracle_d21_edition/CMSIS/Core/Include/core_cm0.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm0plus.h b/oracle_d21_edition/CMSIS/Core/Include/core_cm0plus.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm0plus.h rename to oracle_d21_edition/CMSIS/Core/Include/core_cm0plus.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm1.h b/oracle_d21_edition/CMSIS/Core/Include/core_cm1.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm1.h rename to oracle_d21_edition/CMSIS/Core/Include/core_cm1.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm23.h b/oracle_d21_edition/CMSIS/Core/Include/core_cm23.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm23.h rename to oracle_d21_edition/CMSIS/Core/Include/core_cm23.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm3.h b/oracle_d21_edition/CMSIS/Core/Include/core_cm3.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm3.h rename to oracle_d21_edition/CMSIS/Core/Include/core_cm3.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm33.h b/oracle_d21_edition/CMSIS/Core/Include/core_cm33.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm33.h rename to oracle_d21_edition/CMSIS/Core/Include/core_cm33.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm4.h b/oracle_d21_edition/CMSIS/Core/Include/core_cm4.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm4.h rename to oracle_d21_edition/CMSIS/Core/Include/core_cm4.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm7.h b/oracle_d21_edition/CMSIS/Core/Include/core_cm7.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_cm7.h rename to oracle_d21_edition/CMSIS/Core/Include/core_cm7.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_sc000.h b/oracle_d21_edition/CMSIS/Core/Include/core_sc000.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_sc000.h rename to oracle_d21_edition/CMSIS/Core/Include/core_sc000.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_sc300.h b/oracle_d21_edition/CMSIS/Core/Include/core_sc300.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/core_sc300.h rename to oracle_d21_edition/CMSIS/Core/Include/core_sc300.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/mpu_armv7.h b/oracle_d21_edition/CMSIS/Core/Include/mpu_armv7.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/mpu_armv7.h rename to oracle_d21_edition/CMSIS/Core/Include/mpu_armv7.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/mpu_armv8.h b/oracle_d21_edition/CMSIS/Core/Include/mpu_armv8.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/mpu_armv8.h rename to oracle_d21_edition/CMSIS/Core/Include/mpu_armv8.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Core/Include/tz_context.h b/oracle_d21_edition/CMSIS/Core/Include/tz_context.h similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Core/Include/tz_context.h rename to oracle_d21_edition/CMSIS/Core/Include/tz_context.h diff --git a/software/firmware/oracle_d21_edition/CMSIS/Documentation/Core/html/index.html b/oracle_d21_edition/CMSIS/Documentation/Core/html/index.html similarity index 100% rename from software/firmware/oracle_d21_edition/CMSIS/Documentation/Core/html/index.html rename to oracle_d21_edition/CMSIS/Documentation/Core/html/index.html diff --git a/software/firmware/oracle_d21_edition/GPATH b/oracle_d21_edition/GPATH similarity index 100% rename from software/firmware/oracle_d21_edition/GPATH rename to oracle_d21_edition/GPATH diff --git a/software/firmware/oracle_d21_edition/GRTAGS b/oracle_d21_edition/GRTAGS similarity index 100% rename from software/firmware/oracle_d21_edition/GRTAGS rename to oracle_d21_edition/GRTAGS diff --git a/software/firmware/oracle_d21_edition/GTAGS b/oracle_d21_edition/GTAGS similarity index 100% rename from software/firmware/oracle_d21_edition/GTAGS rename to oracle_d21_edition/GTAGS diff --git a/software/firmware/oracle_d21_edition/atmel_start.c b/oracle_d21_edition/atmel_start.c similarity index 100% rename from software/firmware/oracle_d21_edition/atmel_start.c rename to oracle_d21_edition/atmel_start.c diff --git a/software/firmware/oracle_d21_edition/atmel_start.h b/oracle_d21_edition/atmel_start.h similarity index 100% rename from software/firmware/oracle_d21_edition/atmel_start.h rename to oracle_d21_edition/atmel_start.h diff --git a/software/firmware/oracle_d21_edition/atmel_start_config.atstart b/oracle_d21_edition/atmel_start_config.atstart similarity index 100% rename from software/firmware/oracle_d21_edition/atmel_start_config.atstart rename to oracle_d21_edition/atmel_start_config.atstart diff --git a/software/firmware/oracle_d21_edition/atmel_start_pins.h b/oracle_d21_edition/atmel_start_pins.h similarity index 100% rename from software/firmware/oracle_d21_edition/atmel_start_pins.h rename to oracle_d21_edition/atmel_start_pins.h diff --git a/software/firmware/oracle_d21_edition/compile_commands.json b/oracle_d21_edition/compile_commands.json similarity index 100% rename from software/firmware/oracle_d21_edition/compile_commands.json rename to oracle_d21_edition/compile_commands.json diff --git a/software/firmware/oracle_d21_edition/config/hpl_dmac_config.h b/oracle_d21_edition/config/hpl_dmac_config.h similarity index 100% rename from software/firmware/oracle_d21_edition/config/hpl_dmac_config.h rename to oracle_d21_edition/config/hpl_dmac_config.h diff --git a/software/firmware/oracle_d21_edition/config/hpl_gclk_config.h b/oracle_d21_edition/config/hpl_gclk_config.h similarity index 100% rename from software/firmware/oracle_d21_edition/config/hpl_gclk_config.h rename to oracle_d21_edition/config/hpl_gclk_config.h diff --git a/software/firmware/oracle_d21_edition/config/hpl_pm_config.h b/oracle_d21_edition/config/hpl_pm_config.h similarity index 100% rename from software/firmware/oracle_d21_edition/config/hpl_pm_config.h rename to oracle_d21_edition/config/hpl_pm_config.h diff --git a/software/firmware/oracle_d21_edition/config/hpl_sercom_config.h b/oracle_d21_edition/config/hpl_sercom_config.h similarity index 100% rename from software/firmware/oracle_d21_edition/config/hpl_sercom_config.h rename to oracle_d21_edition/config/hpl_sercom_config.h diff --git a/software/firmware/oracle_d21_edition/config/hpl_sysctrl_config.h b/oracle_d21_edition/config/hpl_sysctrl_config.h similarity index 100% rename from software/firmware/oracle_d21_edition/config/hpl_sysctrl_config.h rename to oracle_d21_edition/config/hpl_sysctrl_config.h diff --git a/software/firmware/oracle_d21_edition/config/peripheral_clk_config.h b/oracle_d21_edition/config/peripheral_clk_config.h similarity index 100% rename from software/firmware/oracle_d21_edition/config/peripheral_clk_config.h rename to oracle_d21_edition/config/peripheral_clk_config.h diff --git a/software/firmware/oracle_d21_edition/driver_init.c b/oracle_d21_edition/driver_init.c similarity index 100% rename from software/firmware/oracle_d21_edition/driver_init.c rename to oracle_d21_edition/driver_init.c diff --git a/software/firmware/oracle_d21_edition/driver_init.h b/oracle_d21_edition/driver_init.h similarity index 100% rename from software/firmware/oracle_d21_edition/driver_init.h rename to oracle_d21_edition/driver_init.h diff --git a/software/firmware/oracle_d21_edition/examples/driver_examples.c b/oracle_d21_edition/examples/driver_examples.c similarity index 100% rename from software/firmware/oracle_d21_edition/examples/driver_examples.c rename to oracle_d21_edition/examples/driver_examples.c diff --git a/software/firmware/oracle_d21_edition/examples/driver_examples.h b/oracle_d21_edition/examples/driver_examples.h similarity index 100% rename from software/firmware/oracle_d21_edition/examples/driver_examples.h rename to oracle_d21_edition/examples/driver_examples.h diff --git a/software/firmware/oracle_d21_edition/gcc/Makefile b/oracle_d21_edition/gcc/Makefile similarity index 100% rename from software/firmware/oracle_d21_edition/gcc/Makefile rename to oracle_d21_edition/gcc/Makefile diff --git a/oracle_d21_edition/gcc/compile_commands.json b/oracle_d21_edition/gcc/compile_commands.json new file mode 100644 index 0000000..16cd259 --- /dev/null +++ b/oracle_d21_edition/gcc/compile_commands.json @@ -0,0 +1,43 @@ +[ + { + "arguments": [ + "/usr/bin/arm-none-eabi-g++", + "-x", + "c", + "-mthumb", + "-DDEBUG", + "-Os", + "-ffunction-sections", + "-mlong-calls", + "-g3", + "-Wall", + "-c", + "-std=gnu99", + "-D__SAMD21J18A__", + "-mcpu=cortex-m0plus", + "-I../", + "-I../config", + "-I../examples", + "-I../hal/include", + "-I../hal/utils/include", + "-I../hpl/core", + "-I../hpl/dmac", + "-I../hpl/gclk", + "-I../hpl/pm", + "-I../hpl/port", + "-I../hpl/sercom", + "-I../hpl/sysctrl", + "-I../hri", + "-I../", + "-I../CMSIS/Core/Include", + "-I../samd21a/include", + "-MTmain.o", + "-o", + "main.o", + "../main.c" + ], + "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", + "file": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/main.c", + "output": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc/main.o" + } +] diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_delay.d b/oracle_d21_edition/gcc/hal/src/hal_delay.d similarity index 95% rename from software/firmware/oracle_d21_edition/gcc/hal/src/hal_delay.d rename to oracle_d21_edition/gcc/hal/src/hal_delay.d index 92753fe..c0fd5b3 100644 --- a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_delay.d +++ b/oracle_d21_edition/gcc/hal/src/hal_delay.d @@ -1,14 +1,14 @@ hal/src/hal_delay.d hal/src/hal_delay.o: ../hal/src/hal_delay.c \ ../hal/include/hpl_irq.h ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stddef.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdint.h \ /usr/arm-none-eabi/include/stdint.h \ /usr/arm-none-eabi/include/machine/_default_types.h \ /usr/arm-none-eabi/include/sys/features.h \ /usr/arm-none-eabi/include/_newlib_version.h \ /usr/arm-none-eabi/include/sys/_intsup.h \ /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdbool.h \ ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ ../CMSIS/Core/Include/cmsis_version.h \ @@ -63,15 +63,15 @@ hal/src/hal_delay.d hal/src/hal_delay.o: ../hal/src/hal_delay.c \ ../hal/include/hpl_delay.h ../hal/include/hpl_irq.h: ../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: +/usr/lib/gcc/arm-none-eabi/12/include/stddef.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdint.h: /usr/arm-none-eabi/include/stdint.h: /usr/arm-none-eabi/include/machine/_default_types.h: /usr/arm-none-eabi/include/sys/features.h: /usr/arm-none-eabi/include/_newlib_version.h: /usr/arm-none-eabi/include/sys/_intsup.h: /usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdbool.h: ../hal/utils/include/parts.h: ../samd21a/include/samd21.h: ../samd21a/include/samd21j18a.h: diff --git a/oracle_d21_edition/gcc/hal/src/hal_delay.o b/oracle_d21_edition/gcc/hal/src/hal_delay.o new file mode 100644 index 0000000000000000000000000000000000000000..aa60c0c08487ba4019eac2743bc88d9bc262ba40 GIT binary patch literal 687960 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

g37U)%$UK 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 literal 0 HcmV?d00001 diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_init.d b/oracle_d21_edition/gcc/hal/src/hal_init.d similarity index 95% rename from software/firmware/oracle_d21_edition/gcc/hal/src/hal_init.d rename to oracle_d21_edition/gcc/hal/src/hal_init.d index 8a65fd8..a90b57e 100644 --- a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_init.d +++ b/oracle_d21_edition/gcc/hal/src/hal_init.d @@ -1,15 +1,15 @@ hal/src/hal_init.d hal/src/hal_init.o: ../hal/src/hal_init.c \ ../hal/include/hal_init.h ../hal/include/hpl_init.h \ ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stddef.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdint.h \ /usr/arm-none-eabi/include/stdint.h \ /usr/arm-none-eabi/include/machine/_default_types.h \ /usr/arm-none-eabi/include/sys/features.h \ /usr/arm-none-eabi/include/_newlib_version.h \ /usr/arm-none-eabi/include/sys/_intsup.h \ /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdbool.h \ ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ ../CMSIS/Core/Include/cmsis_version.h \ @@ -63,15 +63,15 @@ hal/src/hal_init.d hal/src/hal_init.o: ../hal/src/hal_init.c \ ../hal/include/hal_init.h: ../hal/include/hpl_init.h: ../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: +/usr/lib/gcc/arm-none-eabi/12/include/stddef.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdint.h: /usr/arm-none-eabi/include/stdint.h: /usr/arm-none-eabi/include/machine/_default_types.h: /usr/arm-none-eabi/include/sys/features.h: /usr/arm-none-eabi/include/_newlib_version.h: /usr/arm-none-eabi/include/sys/_intsup.h: /usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdbool.h: ../hal/utils/include/parts.h: ../samd21a/include/samd21.h: ../samd21a/include/samd21j18a.h: diff --git a/oracle_d21_edition/gcc/hal/src/hal_init.o b/oracle_d21_edition/gcc/hal/src/hal_init.o new file mode 100644 index 0000000000000000000000000000000000000000..b8290075e5a154158b3bde16e01e484f5bc011b3 GIT binary patch literal 685568 zcmZ6z1z1&C_dkBu-uv7;GwL|Djx~1I*qvi{cXy86N-Bz!MJpl#N;iUvnAn9VDvFAr zA|M8eiu^u{Iq&oTKL7Xe-K*oAd(Pf#uYH*9{|xO9p4DJNyj$>Zqf0rfZKF@JD{14n*&G%;qZyi4h=%eGu0DX1b571x7j{~02@c_U;9S;Hw*6|R) zP#q5g4A=1pz(^gB0*u!27{FK^KM5G8G&1Et2%xS@VbuQ0KBQ=w*YVJ_#MEzI(`o@S;y}Krs((sz=t}X3iwFJ9|Jzo z@if4vI{pkWUB{mTzR>ZPfEhae3NTa0vjAV~_#42tI-U*qPRDZqb9Foq@V$=b1Afr) zkAR+5&}z=k^B2(Yn^Hvw#_v#*mmO9=Fu(gi20sLFX+XA-J z@%Dfn82{_v0sNk722ub9*}kgDQ2LF%(U397XeiCB|MNekv_;F;K-JW20N;D#)p#So zFQ-$3S71C&+Y4u7;%^+JEwH6+ir9rke{bwWF{UU$;Rr{@xoiNDK zLNk7=hRglsH?6WwQ|Q+y^`F}R9c7u)y6x}s|MImmGv^9}lI_dr;!eM7^~N?<2wzsK zJ?JADWbZ#pL^7AkX@9MofXsT9|35C|>I&MQ&GEG1e*ec-x~un8NvnM&5Z5ceQ)Qj` zgR1CQ5#gcWTOfZ@H61IaKXuGZRM#Y6mj_nflb!@k2pkub8p^ohljdaXTG}bYD(L~1_L{lAe6wP$ZRW#QzH_<}J+(kzJ2lt7At*J00^D?RD&^=%8ahqN9!-6P*~1Nk^Jb){z!dbfo1}9ceX9M_NzUkv21w{ClQOw4J3R?Plvp`#Cz&VXlsJoTnq5 z=Ico31xj{VsAShgI-}cS9qGPAM|v#%55e_!S@u6vX^ooO@Z_TL9Fv$v7_TMW;!Nc z%@8%8`2(<8YlhqLY-N9!bsVF4+>AK`{!x2rhS@V%eu)1r8 z{8p?#tsmpLo!QU&`W*eNo4|O`mO0O&c^u=!n(guMX@*(b7=KufHK+g1N9{>I)Q*N3zI+5Rl;6~XxEo{SG0 z$I|H$Y`essqeo5TF=!Xtz8%YB;8Y$hTd-B4HGBSq+DJ3Fe_*S&omju|K9+8%#hiV; zS=x3h^H*c})eLTaY}K|8OPelcZ*!V6$5t`!+krJ_3}Fv0maMb6BJ(%6v!6e=GTtPP z^*7X%*=L3wTcv$r{;CHhIRvoOr{o!n{Ee+*uQNaHGW&EJ&zvP~*fuVOaWhO+ znxWQw#*?so;i+iOIkd#Yh35_X9X!LRs5HZ_T|8d6%VW2ntUs~j*9j}fnin=P=f(lf zqMK)$5Bgp^r*-Y)iEB&m%P6|13B)%lDDh-8P(U8(+qU ze`Ni)cFcM3fH~Dm@|@V8IRi_6sXlM`Doz`iGo)l@b3%E7UwI(w&$`3oKsXZh zQtthjV=t-(JGeYs$sVaLoh&>vf!#u{<8rkZ86pych*{X9o=U`UIwts}MRg>wg z|6vD9=Ur!M-xAyKlKE|uoiZ2=Ubq8B!4aTFsaM-kKSl=cHfw zm$K>2na{$02kR{E6@Wo&)W8;cjcs@~X<8}(qZI{T#Er2gE9~U89W<{P)K02=6?Qh1 zi<_zKqC>or?WRiKag%H*^&(_@XjvPiZby5EAfrR{#|$t}lG9C?$I;CqfOs-&d|yLPzki@2~^IKLl8hBRpsaQ9Hn48t(~W;ApjR>uMLRm;`-A^ywmH1k>BH4rt3G&lweCSLU^b>AcFNkafm5Kfhb#vm zm@ggw0C0*LxRogBHSb zXO}PFcPTgwPT#qX;0(U?5%}nq!ANpiR&8(=rmuk2%J)&oaKkDtHqGfUR}MB*emdm) zXe{1c&6$=Qf`&Im<89P}=qegNS~UI98cD}eN$w}9B>6Zh$v&P+(mzEd`JX0E+IWsi zuH!uMh5UC5^0-Q@6j=jFR2#)9R#)Z0spFW6L>o*k0^Z2u9r!Iq{(w%K<5gkUHnsxr z&Ut+My8A5$-ZOg^^!r($L!k|t&4~|h&K1#^t_}D>!oMm7ToKm%%K^8fUNP4JP3oX0 zptXX(4oLHSSv|^-cvdmRh`r!AaWUhRAVL`3#(0pk|mi@Nzp2 zfb0^5V8f;*)1Y=p>plgnfX@{2o(9cKI>0MZ7A;=^*=y<_1W-V+6=3j%-VcJ$uk@3D z?H%H8^k1}{A~zDzZNzzgC=QDJnqWGM&Z7~?MSOn_;47Z{faxdXI0W(+Rk{O2i^R@w z79%|Bz;&$n`V7oV!kMe)%fd1o&TffX%VGCG{LTwPny{M-m8ar0&r>f%ZGNXSMI=vN z*`iEePz7T9EyOdEMr^w^YuW2Oob8coumjZWnn%i+b(`tPO zaQ^<4_Z{s&Vzt#eZFmU#uFFRQ?@?(U#@;P^!f(GT%o*C}0`Rd*U7<7e&kf+r&E{LU zbaic9%8GYfx379*4}OgC7BASbMt^iSwUfq9SUR-}#{2xzUp4M7i`#hDSPIP^E!B7@ z1I+8D=Tl(t(R9^IPj|a12*CpBTrNN`y{rnY5IT~MT*K)fUQ{EfC;F>eByq=5OQ-f* z5&1c-PKLot`uiI)%b?O_5G0eTjRP}_Ch_IHA+u(n-jeS(fbX=E=iwjp(i)ok#4>&_ z_KTN`Av-8;q78<}_3>G_b`=YjgK`sj3*p5>jO5*`r)bAp*~6mFOsIH?t1n>gEk@r* zW=DlBx-eRlC_DjXv>0*#nz3ROSI{R#t(6G-S*%(Ly8>}&GgQ8c9P~D{LUDULuIRh4 zssq^%G4wf{{S+zpVNfhC>;cnU7I6)1Aq&s~$D`cj2*3`x_$<8GNVhbAU2=;jG;O7M zHthDutYuKKmv?@F%t1Eh=gvt!;uT}B+{<&xemQ+8F6@9T{}p!5av<-wTx55Cp50`R zInZ>MpDaOnN}~aJ9+HR7!i%>|iiYM>oznaWz{!`5F-x^gL$m<;Yl@4W^lUkvLjE!r=>?9 zP-mng*9(cV(s-DklYwZAYZs*NV1SEqNL_eIl4p2Ixgwo|!F(>OUV-Kdx$PG0GGtGl zSzgI5ygAE~^D2P(T6X0L`K@fs&r7y!#uIO@?E4eUJQ>0(+6U=a7d}7A^j2_IAOpuk z<%?{54YEQRw-bTB$>t59@032wp-iy z5WrSD)d5U9tye#!WUsl@0&viNPJquSEu72eXzkXY(2UW>@ZuD!t&D)PliHw;(2Ucn za33dL``8K0Q`!oyY|m(pEnt_RIeEhFtftU*(ynM-F==R5wNSpFH?(=50q$s3!r z?W+!Fop11x-Ssf<(7Rcz0N(v)HpU+JN@46d=PLNUW;q~2?|=SJ_fSRt&FyHDHSFxE@nir8>ZQTJks=0xa-zLF zHTh9>UQPVz?L!!xpgBC31<>-2kOfkyxiAQ#9+9Ae$p>c;nDr(<0tlrvD;R{)KJ2nE z2ma*;l?Za?sx^`lup!Z+sLD2&N7GbnjD2!V>U#QG)V1A|c+{P-TIy^&tqa!GdFav+GMW7!f zxoK2HiB(|mlTy$x*NUkcKmBH6>Pke|F9v%;<$!os8Zu|`>kOE?h_HMxUB&A%&~y_8 znYa_~!eIiUdx)Z!0G=Z5A~X+)mM5TcSj@-y8|Lc8uaL_T(dZa}w`gkxyQ5;=K?L#< zGBpNr&eaQ#9w#@Va(Qf&7}*bFhbAv9l!?K8p56r-y{B}?S-^7vW|ISlYd z?8TXu_EvPjsS*mJyd*e#Cp^1=nIrb|9^|{YwGy%)!YU84pTZ#w%wjQqH6obFPT}xk zF3;fz7|YJGP^ef+8x1lmS>_V#tmT(^$a;s|j@^p3Q{LW&ORf5ALZ+E#@uNZxdXELc9VhFyp}!zDwgTreC| zm~>;iaJg(hK!n`QrAVZlTm|M)@-pu!qGcB!XvWB@$HoW*n5Ng2Qodz`fAdOKeJ zQWvsQ(!U1`PRse`0B5A+LLou=OawS9O~HteD1(|K>vM9(Ffh-{+N}XD$Z^<5V7;kR z0B4tEhqG{YSq8_!AW8liig;IK(kl48Dtoqu<~7-5EbOk!$)V7^A(sWh?xyU?PwOqY zY8hm=<%@~{cVw<7z+LIF0pOm@LS>{S%agwX+?P4KVV5G)CV+Y%`*W-Fq4eSoSE>x= zxABo|%e$DzatdGV6WO5>s5CiyA@1N)x$6<4Ka-xG0O{yKBl>f>oA>4~zH$$8TOa%9>; zsN~A3wou8Fryan2FCDm(m@mulGx$Lod8Yj+`|}I!pf zwUVpJ9ja6em^)Pq6c|{>3|j3AN5OAYcm$S>yJy39$7g&Eo$7H8T_$o3&~M5t{1kYYlobyB$(uU@pOR4y(y4Q~`#P=1QFxd>gtMA46^#*XW_}g$ zmmfY1{)*T&$ZF+7UVv8R{sVkjGGi55J+7RMZ8)ik>}! zB9^PWpmvZiS7OBg;jyy&{#f^@=L1=ec zk8ch%Pnxj-vP1MQ@0t%&`I-P;H0?1!1U>r~vPiOCjIhzPwmLuzO_~f4OPC(KDH=Zymy7*7I&0`yja-df66jey$j;K`b1+Y&DZCP#qkhkza-Nod zf$Rds#Dcm=x5t3GM2Xz+x=i-jh>%35`MtYBSs?&dsYhw}L}QC5@9VU6H!kG{Z7GE$ zZqoL2fLrwKB{XkSOYYCyp|tY=cgbrBnD?mfend~EM%W2r^&HMcTndGqgxv$0d9gD(Ky~V=TJg7*yU1mCuru; zjuiSJ(yg%z$`bsN7YUf2FPpDur|` z7t~JinmZ6SqSZn$cMIE@aAqss{srb9v533LcEa@lH0{O9r|@}1On3oJZ&6hPNC~Sp0n% z35JO4&A<#5ZEe8}6C0KwLbw=u3qB)6Y%@H`kzyoD)I3 zBR?;CHif|jG36>UyC@E8U}Bjb2)oOo(k2)riQlWi^%Ze|m#V8`F*cyuHDPQIgX?0@ zX_(&-J-JhHQ=H){`j%*T8sN65Z~_K*#P>L;+!c@fU~o@##YYNSvIysA_rBQ6?U@u2 zIRyzm5UWFB@KBiX4mVXqjD*ieB7_eIAB*k0a6J)bJpt0h%1@9z6?6GApNXW70O=x{ zXW!>y2zR1ii2GOI?4{__7|aY2$&H*>B6JsInWCQy;$?{mPr-aGytlyT8!;;eUfznV zbuh>l8+a*xC$f3E$PtmeQOXtlPlA~z?r>l7z4+P=2Kl1*@1Q;iCmb|rAH}9w0H4H= zNXR}57j7yQh>JWId=Ykm@bXny-bdI%Vfg|o-^7Jq0ltgu#Yp0Z*yID1B9V(vAW)Qe zZ-?t*QI=0%%;aq+Q0B6UH#9BeC=XDU^7MGPwvuaZgR+))SHb+CEXRiu&ayW@b*|Ej z7g0BvQyENm`TP(JJft75rJnLEZ$}PEPp%ve%bSxC$V*PD2XI7MOhlkCxsx|^;c_~+ z5h7*r0x+XwC$5O2<>K!EG1Bf8T*u05XCON%D~tm`#ZdrRyu7g%)G67dIj-osOl^id zZ^&^xvD}iy$Dnds{^a8Rjy#eM=3VK@J^p)gDR=IZWl{jry)Um{hb%?DoCxLvX}2EC zESW43_O+adBL=L<3r$eTmZ1qq_nj<%1k4%H{gQX^mPa7LgH zauFAR#nPHL$Y$y=PbC&=GS|nJDlr4jtkjSKFdfxtp5UESGVaJ-8k?sXR9U#Ho6`s9sk4J_01EHT+0jRdE4`cTLSd25?QiG?g()#05&t}?gg`=ajf(L%o3$M5C`wQ>ezAJy+h zfKMu$EAY>1@-u(}ErfzzoP&%Rw|Ps7-?)(m*+R?Pj6?k%3es>d7dt0F2TcO`^89M%DLL$Oto7J&a}&0 zfKOk-EtnZ6dqIDuLBP+f2Oq$hJzyZlIT5__&aK3S`MkJd;PazqL1#hr7LYC+834|@ zleNKFA8i57#zpvuP1|&W3(w7sxf0l783moKvsNSe9x~&twH=xGb#;k!TgZV{THyUB@5-yF``udrW-KT9_B&JaEKM3@ITtblNOM3YNni=$TGpI}&=na)D z8pE67*Ax>ByEpWdON`GnhMg6V`(UVirR;ZzUPv=0gZYhuCc)r4xnqCv-_ufwi_J#y zysk8^&llgj#zf$KYGeWL*ZLgP{`rR|ll~DK;Ap@VF1H2_;N$B-w;iA}`0qN<8PdKC ztcE710Us94rQ-1F=CB%J##_*ltGSRIRiO;{qdocpA2Yo*@Ue*>ARRY|uW+7N1O53e zhhkiq#?|+t8MqQ{u?=@EmONPjeCc*B#g^R)0=|4FF9a(p@Fy7muFHUjl~-oNYE^H1 zv8Jsq!^abAHgL;&Z8jePuG=;Z`L7@P6VW#u`4fINcBl^NCgLmFTx|}dTQ>4Ewsmkk z#%;gxI<TuY>-F&INn;;F^AM$Slf{er z@PvPa7XAx6Z?a4W^C)F+MYdt|r5>2!w517DBB@t2m{HWz8_Z}rdKbNp{doqO!bAzCtIP!{90{;dd&PhR(xfKcWjg;qf?=7eodl?HLR$GJz&D!n3e4}6jgR}#)VZd>ETU`N z7IPI-&H}iJ!jAwRqToEdc#4Mo;QElbR10>8#kaGdyhPkum>&`O&tZ=H-5n_%6`A=^ z@e$cpP{B0MM{U01{Q#)=i40yV{RJJt^&J;6$6#E}(c zgm*Kygl8vc-Vr-^<8oI3l4t%~43HbmoMVn>- z8R8l*!>>e5d~=AR>c^jO_Dz_0P5&XjaMfNUHgg~Tr#Q6-2F0R~H}GcCqdR2g()uQt z7IN@Z089DR2rpLB$_Zhu<(XvwJ7gihTs!6YDM-*p_S}dFyX3-bc-bx8c}fFH%8ktsFI&FhCel0U z(+kWT+5Iu>a^&09d_tGw|FRH1ypU$A|XlG_j8(LKUV{vj(Y11OUAe4hDJZfpTB#q#BG3m*TDDW5|xG?44lxs7{CB?3n6k3*f7; zHgYZ3>=QKo)!{f$$CVpj!wK~ZZ?FPX%s7M%RDFI0Gf2(61TVp=**hc=q6YCbgsQ%` z!3`%Rs0+SAX*ry-=n2PP|lyj)9q>Hr)pEm0DQ{W~Tbl z0fDmAs$KB%QN8Cz%qJD(4`zXy`a5#@q6F8RUzK?!P=)H?VR*6DLimG_9oi@ES=wmp z@4?wFEyN9WyETW40Jhq4e!yHb_fC+xYU`hXa@W4`tnZ=y&U+hA&Ab5ShcsgoTwkCz ztsIy^+7LT1L$s_SXohMoXaPKbUek_q2l~3! z^)Cdvp^f4f@1_>^9_F{S9R5o6wsvhSBHYp1Pl3u^EvGJ+_cSR1lC|Z$DBjl=k3fVJ zZ69x`9%zC$Cl9rWDUhY&unKmMG{5sud93+&f$WKPozqRz-1!Z7s>O2!^-OEZ=Y#25 zgF0Y7*B%cAc%e1p?V-12;F7xxWNq>QQujTT>kgtihQ2C&(+zW$`TIDie ze$smLCit^ruuroI%jYYZ^##fF2PR5pDknJ@tKJi~Z0H zG0u4l*P%wE24>4mb&L#po~(npchEMnRTp%&!aZ$awAvuJ(y>5>KjW#>?(7e`;KC5X@)Bn!NU> z8~gF<^xT-sH}ZwCk_kx^7~hNn^~HFWyTygZ6`6?s%~oRTknJ}8l8;<$P5#x9^&Zpk)3CEMmFWP=-c*D4Lk_0X>tWz%+OQHb zCsVWE;B2qSaun?LnT}6_=6+M$W>5!A*M>uO(BwZBDLI=S@Qrja6>;Cs)wI?e=5D45 zxzKbsZ5V{;9;PVnn|qpiPKNA|sR=id51R&aYu(FKfj6^9OilR&!P}H~49WS(Q$_BJMVX3u*-bRLHihPS zlg&KXT`;w82kN3}1HXosOz-!@=Ur3jH!x2&)eZ%9-?YpRDk-K*D*zstPRxRrm!|IA zx_@PQ^ARA^6wx1=S*9i>#}TGtZqR=+eVYR>1*VGpt9&u-<@3s~rqpOqg(h2m|AKxQ zwBCfc_*XmF1Imq}qLFapu}`4Wc}Z8Obn$5ovu=}k=h*!Pug5(aa@EoEc`ZnL*-nJC z_xE&2`{eD$*!Mi|!umyVM`+yN!O$6R%~v?lZZ>>Q%CP`GxiL51ri|qV^wi)Xz^7Hm zU#e)+7x1oUMt^IJGdpozFlz+A}GT*@8SknSNH?O^kJh$}YqHpU-zJzTi z-raAnXag%Vsxt$GIaR9xxdnYY4q!=w%MUAB&2OJI^|l0a2W=PvcRNWG!iNnluLkM> zedg;wNcRl@sL<-enJZ=UDWDr290JOnw((h%KjnRa-EmsL8_EFs%BOOHwCfo(gK&P1 z>kB5c-jKyn7d}9UCztI=;xwu1V4k738mI(nx)Yjb>F0AWuTzy)VBVlgoY^h%=HzeF zcrSoEWXV;*U5eWegAD4xU5`v^@!y_Dax?BVop=o|Z>S>|4sR(s0Gipf=NFj2qbsoh zIW)N$yyVi71u)2?%-K+RPc}TI=F>g?SoH(>tOfHUxp1rC6CFwg_)MrS@jy|CJ!D_V zieH$o^qfCh*(n^Cg0c}&t8rg;3sDM5*oyMYV7Et9dk+;mQ9S^_UXx^-WB7V;rgD~ zoCJ_8zKlT<_eCN9(kUYA2n-&GbN!*2Azt!)`AS%n2FMcT{9(##F^F4iZ^U)}?&_`R zwG#2Z3KtWYh2qQt1o|#k{efJ5h|YX>i$p`@Np`=m2}2(n)e zJJ!eLr%7O*kWIeBb)c-t`_dqJ@;+q2GOZ$#2$3h=f*C3U=YSa|dvU!IF5d?79h9TF zsyi#&HUT&%U8=+2y!0FZ%?q+EuW1)$H(MColXcdBN|u3K#H7e+qX8bsDVvbXL+M%- zvQ)XGC+r@{+5E0NmSeZT?upFdS>uhIo(=F;9^*joq;Cu~b7UU(U~=W{b-3C*S(}TP zAMz^~KSlCcJbV_*uRXvtQ>o)XnX9{F04$W@iUB(KSNlGn5jU#B^Jn9I=@52U!iTFJ zSC>N$ox86Gzsv3R7`uMu1+d#A?$ma_^#fT9Ue7(7Ap^rP4m0wsK0JZILb#(egr@-?%I7lFml{n0@S{6TpyE$=!yr3O9gAUpf_kilK>%Ik%0G~d zH;_XRm1FZ@YQ>9b2zBKBUnuo@0`oBXSqsc?D$@d*5j2jMEPQu!4$LTu@_|Y;6?11S zhWsbPbu4|a0_r5~>5J6k$fi3$JT1xtI7Kc`VRxENy#{rL?0MS+)f_Wl^ z=72g!7FQuVPsLmzU7%OoiN=Sz`JgV*eP2+QX$ki(k|>k6+*io%1zf+OtZty*(kcGo z-;opVVRNW-KAh!J2;aIqYIYr2zo*N5rjk!<_`K``b>brNBYk#2gio~473QC*SuvOe z)Z!BizR*OT*uK(%7^oD|(eqIGMjHiW-)U4kT=Wkb!7E!4HLnZ1pH!E3J;l_J0L;YT z!>}_Ky?9Nq5Ph$}&QgSL0A(e@1|losyu^r|{INr<=okSnCq>L2Fylmm5g=Y%n2&T%iGiyCP75dQ4WAMJ@(hz8 zJ~V;rv*HNO^ zG2$hQy0@TtUnHi&*=O-I0#t#R&3k)%Y?=eAP>f9m_$Jnc!|uEIw+}Rbh{mPCEE4uS z0sIsvdHyaIDSThd%2qudTnrxD#+BA1W8*Xf8@G%6;XL z%O%-14dAkz$IoDrJlGKiSEQJU2v=p810r0LlgdHmJA-wEVhdP64qaN~_w@W4a zg4(Uf6FzO#+$6-?qr!g$(@y2y17)wu)&X!(o2CLds%z6>=cHz}2entl@C30>{l$Mo zhmx;1r~_(sGU6Rnx4FP`R;j#(xu{hu09=)YC+yr*C?DUrt4H}r*F#m_4RcTRfIsg) zq+));{IKf6r$1h*pgnRqqAYM@G;h^18qA}L_%ZcSwP%4krZ#X}#8-WoiR<%I|8O{;7)SG3pJ!hOsK2e?PRf_zjO!aZ_-a@v7o0Xr59L zy`Xto-Cqdmj2dW);6kJLo2 z9UrS5T$4Rf<@u>gQ@e9PJypw>gLxoXOX`!7^R6zpEAIvXL&P`~l{ z*(;U*2r8Ls&L+6dQrk}fyjJ;lVDLtDX$aX{^$YJjveko77`#*Cwj!4t)rSvca#czg zK%VNH2)p+xoBJC1%7@F+59$q9?H`p3FH4`)iqfDys~=pT7br`t zp=!MhcHh*Z5s-aXbMnCap~iQHU6FcU2AV%rz43R5tO7JGv{KyA zx76Y{L1v|`>JMP8dGv?9o=FpIAgRG@GvfjH%;S1c}bh#?Eu?}-TAz6 zk{9p5CogCPd`b;YdTQUr(4W?lAHeCGc;hw0EDxNSHs#=XR;in?oqhRlNas{(58JtM zZ7|MzR~ee~pK*<}VC!x~S-5{JbQX2yefHuy{5vl(je&IOwSR#xE0+%b^69zowgTs3 zs0?#$5M^cM!Qh*b=TkT}ry*xRS<<^{P_Uv94cgXJ>u<<*&}%M?c2Zx0%!UH_E1_NV zj&IR!+EpGhTk6FP*;pFD`>~T`;9?}6mU2V=6b(wqjU6nAL5;-Ozsj~prP3?zewBafq99Xhrr-6E#CsyNpyrKge%my2f$U@z@_dr zT6q!9uG7d}VBVl%i@>}|H8`_d;~5S-m5V_i7AM}zj}g{S^ycP>zewZ4=(yO&_w$5Uy$~um5_}4k zK=FkC>>x;t=iOki*o#AL6pV}B0fdU;Az+4yC803D*JwxKB|>DDf-F)5aiA!%XBIMx z#>N(!G2+w)fLKv`HDo76olcMe4)A$TdMv!Mk#0jo; zpNe_hwtgn=`a_m3mh*pj;kkIudA<-se*(M|NjwcW%89%TImubPjo&Bj)*v2=JAS+m z$guXv<)EC-#iX;WyB8`ha(x-7xXPEKq2eY_E`zzd?8Gavhn&wxQJ(TCSA&P7;{DfQ z`LipSUb5c+csU|NDgb!Pt-NnLDwpwhPd>8MCzv0Tn;H1Ze|NyZPfq#{%3tR4gm+w4 z{teU#dFBmd0kV8MP=PYOBFuwi0Y41EvH~B#gvff00Yc^ZLa2nvKY6PjF3(N`6(K!? zA&Zn7_-r6b##Dr}XnBv@voX@;1)Rl7Gj3R(l-GEJ5hqhBK^8BcZiVcWoU#?N({ePo z?as(rO92w(LH?Zitn}{%S)we>rNTMcyDg~m@~`8FenFPy??x}mtckcGm*hnLs{OJI zz?wv`{T);uJ2Z}4yv9Fn2u`PEvPuD4+)63S6T7d z|2~zx7S8so#pcjFpuTs2-9csbJ7mtv_zl2CS#aU!stV$u;-;=&1=C&S@S^6S8ccx9 zQ&sE)a7az(H|MZ=#@~N>sd5#dazvdQ1E1dNz!umYRpahJ1|KGQ03Pd%rKQ% z2@%3o7_WyBYSjjSNL9fd=22<`*Zt9I0s}CGB4&lFPYVUF#Npx7d57wPF@Cj+>B7VWTeAeK0K(DuOH}J**Br~{6 zc~}jp91oqLy+^=y+SIa;POtw9_%jFc@!_mrBM@-**OeIO9C!%n+!Q`co7bGTKl8`E z17|@&3_LG%&S%3JWa z*4P7|+ZIkj-0jo(0WqT!6+oENI&NcHki&1FENKisvsQFyJrc2|zWliCpb@>HvXg3X zlfi~6{t8#SXv_p#s=B(I3k| z?WMUR0rpW&AAtSTm^*9-XgfF24wB6`xOOHNUgBKnPCrC&rLlZh+^9ak0Pa+Sy9*xV zv>%iwHRYc6Aqq$Yb(nrcg7Tv6KS3QK-@|%Y#3C=l$Vv@@@dl6ZB*h!UoVK{u9bTDyj^FAhK!+5KIfa!3-gD{unfrTJQuG zMgc34bvRw>23Z8{jfCq+x>g>{C@SRrQ#9@3`x!$GcxH~JQzHRR(m;Mg|f#wqm<&`y!G*03fUFL(4bTa=8mFLtX1k?+9&OP6kG;|dLWze-O$X-zsN0?{Q zRRLxeE#-;*HN9N|%{SC}Gn~DpyIfdhQx+H6@2HvsRB|YA3{-OIN*}1?k-Ix&@96?p z>iP679j-r+(_I_rbKL%LzD0r_kkI~V$! zCT&CX&94`OzvWQ`@U8te!~eEgyz}3Ffgfr!`g0Imn3LT)P!_bE3q4CpatG6j9C*I6 zruNwRVH&!?llx8z*#?;n<+TL0i{|lvmti;6;In93@?C&fduSUMt9Ep4BQ)(PfZN0l zR4o#jIa1;>s5nu~bhzG21CN5akA8Box}R?Hs(gS{3m6=vGTbY3rg;k>bD=Pvzg_7@ z6eu@x=5t7Q8pwZZ=0RJg!OoLD4n({|Wcms7!{oRh23|xBp>l*Aj)UnQA6~f^zqO3ZQWhAq%8mzJLm%_S~Wi zre@q+3n7=Xa2-mgd2PX;(AvT-oFw-RBIr0rkEFiyA&a85e9Kd)=|h-5ps$=~Dow2o z<|F!Pg63nY&L>_^sLgUP(p3{{On7^Pd+|PVT?n_~i zK}T!gqF+%t-X&&I#bhwE$m2D@Yg)x!Ap9-R0D!kt^#@e4$rbxu%p4uKE0aT>KA>`` z4kEZBXfUtPgGD0cn|rnB%E1M*fO~LdR#oTf@F7`fx!3i;iYpehd!t76gH{u=Jy%kUIK{H!iu}1WFqCP+R zIiear(7B@HFn~ON-imVU=*+c2g9q3d! zG6%9pveP@*J(frLX?-Hg^UR+n)31YiDuaiCdL~<)N1$}s;xE`emv;R9zzdnY5_T_T zrD%A`kbQXOeI@WAgql_TmjiGm3|3ccB@9OAhT5` zjzM#evi<_fPIcp5u)X?v4)GjRnO0yrsv0){oK(FanD0fW9P#$4-@1aiUu`SEJv*Sj zwE%Tc<=7#Rv)YgVO&7J|0%WdA&IWK(E?gwLE2mqKd8pyf;l)#ZYy*QsXdxr)VO8Y; zym+Z_o;Z)FcH9;6R%U$AbyUq*1r;Cl_y%Oh)W#`b`l=ON`1`4XSh)6A&I94>xH{zl zyA$g9OI$;MnraIWs3t8z*dTRm7VLu6d?$DbQJs^)3{?+!+743@31Eh+z9V5Cp>p{A zFj9>*ff=RRaica`UAzw}Mwv>%AXX*u`h8OQJ%DDMI<^Oa;?)ZjHfXzl;rn@7b>OD) z88w?HmIU>gi}JH-#c?=GR2%OCoKqui!u-6d&yU*$wd@R3E~-Z6kX=%nwgX&NwOS+W zJvILwd?qV93ph(r!%IHBQ2Tj8dZ1)U9T4#Re1uSMW*a^8d-Hs2@( zO)E;sgTR`O@jbUEe{P%Lk2y+%=|XPv!E~iI6XDsLUMJu(j?&8UUXdy@E>X5G%$bAx(8quk!%96Ls+`PV5bP=_rg)s`UlaS#CiT?$4zYa z25=W`czfd`tiQv{F%ew~cEO^;uK*#UDW4L>ipDi?ML2in@AS@zE!E)Vyhxu6*Vo0V z&M?0rj?M)$MHmml%L8HY@Bd2fEdG?N(fapbHy+2Wl@9y3=i0GnP4GLnjzgF(JDb68 z*SB?`(@h+}^>(kc0y;f5@@ZYq23+&?GUH}T?{!`N zztbJPmH*^x%sUA`V>@2KIIcB6tK+@@0)K+VMQBd^%v**@*LiO@xgz%grp)24$%>(9 ztZ4tba4EgYlfRT%?d}T?Yr_1YzqTr`!t37g3$)&m4~I5fPJ#Z$w|w(A?d}Sl&BN}& zYRlyX$ZBg+ON`qrpMt-=-dt#!kqv(>WKN~I1!+MS(m`3$3$8n?s9qi@Ys%yn-3}UE z1eKjMi~ANflrj}TcTu4&WV@*{Z`y3BMi?mkm-+Z{x1$GqpX{mscxXD%3V!z;sff#5 zCo0z-28U^NefadEngO7^$t)1mQF`hM6(4%Si}f+G9SE5(4d$QIkIM2k&7a!xk^XU- zI~>dtlza!80aU;%RUln%4-iCZ6`TcAIe}b4DCrQGp|pbAMq%VK98@@UH~|nr^SGLb zr0<1DK8k$9;WL`5@Uck@rE!}vmhvyd?h-9^1h`Ds_-0+9c3dW1rIY<(evOK+!0tM= zd5g?$kmnWHJ*JC%BcD(!{-EF~`El3x8Etccc{&~BI{Z1g@}B1f)!Pr*d%DIScIDH2 zo{&D$rM0m8L>n7Ho~FgFT{%%Z?D7rl*qCM z^Rx)(K=;I5UICJY%O!yO!k3r56j9&<@IY+m`u3qHa}Xd^)a1=vhUgOoXRpNkMevd- zp8UWyWQp}(A$uc6cL(#W7{KLRwvbCWlSOL_RA&g^ML%E3mLu@3(a7;#RMuu_8yKrL**Af(+&TBEPV%9 zRLA#rX6BaNWl^I>jT)mdmKb9aV`A*Rx7d5{8hcOFfFL%ciiIYHJA;O>b@nXt?dM;8EhUxdYCWSJuGJ_rt{plOW5 zDFw8J^GLky2`)!0q%LQ!*iD&Ko|s5;^kcF6EKKr6J>Be2g$+H81%jP}u1N4b7-zA# zdI~;E#P%N`EEU~pyR%H#?gOq|tU3l=g$SyG&nj_<@|$XrLN|1cxUv-Fxp+yBQ>_SG z56hP#j8^A5G3zV9UyJ!`psN=>r$g5ueqDzMO(LxW2GK0s?t{D$y?ev*t+4L=1(f*r zt<(*p>bG+c#Qme1;O+Oxlm`B>o~rLZ+tb0HVVyp~a(Ij>{*Jg95AD?4zhFP@I29%{ ze(VdIncIHG-&r+(W012a-<1Bp_j^;}rJv?C?D|_BfyJ-di+DY_+d7PN$VQs5$JM-n z&G?8fAfLFhD{LkiQEPj02raZzc2NR3)mDLgnjJ0G(<9x0n&ER7e`jXUS>;(K)A4uN zK1wc@@1@q_%1UZauWB5L*Q?Y2cT&@T4zO$Y_JGa0tJFDJZ#@$>8`|hF)QzjZ#JD$Q zeZ=d{nWpfzWpNH(Z#_YNwz*TsZ2Op1K>cmM1b=tbM#Fxm$tuWq?VvW!?w1lI$3D}0 zIsVH@yf$L>ec;HLEp-9n1pBuJ#Dpyw1iz-tyd6wVvct=PHDeP(Fwj%XPXm9a*+JU; zJi`ob!SXB{PP>BVSm#`D<}9-Ve4c05sLyA?4pBaB$sXE5XvJ3BfwN|VXTX^a^P3CT zwrm}(RW7Wj6LhZ3j9UKgtQXbm9_;EGSbDPLSoK<=}*YvA(%dvOJpnd}S75+1S-)4*l1fplvq3i6swb3veb=1ezL1JhDt zr;)YL>f6MYoCep-Jgch+XnHR`5!MquJXmPATIm^^|M|1+d;sE@}cyTWnuh+AACme zr*vyX^0PM)D2gxK24OT;D9elCV*^2AxjGBDIG(N|LOlOG49*gGEzPuv{H!TR5?@OV z{+rxzHsH5-*LT1rbMNH<+~#W=z*X{k0m~}>_i$L&@UiP4e9o61gzFc4-hKG2P=hpGg49;HhjU^Di=DQ5Q)${SR2hhMrQX139oQ8)5MSoY@Nc@1U?w_mUCaRpikY zCbsdZH1`l~Pl0%fq)iY8i*MBb0@ zB8=(B2~tJhKOjsKxAQ>?L>MiKg(7$hNU_*%3@;_3#|yxpi5#l>N<}KIqGe+0QH-oy z%%VrTLM-bEU8VT8Ep%04CZ$x>V)HnNJ%# zyMBC$*Sr0#AV2Cw55ut;8{zZ6t@L>sv81_x88f@@z@1GbrQYUF{-$OS#QEK^xMb#2qwjAB^c zW#_(zWiI=d_E7SeG0huK*zhC(^4TO;0G_g%{oo2%N2(1QS#lTnY+|Vc;N=ZFLh*1O zz6jhq_P8A6Jqx1aRG8liz}Qrt*R_>(u?8{XZLY(oF|X|h z%M;vUFHB5$0LoC-WfiIQqQwo&>$}H8czr> z^CgB5+Vi3vaOS`l({t>|Pt%DjC*B*Y17^a!|J9hh*c*dz;e0=YuKaW};BNdOT{Cyy zp%uh~`_jgjCvT)~nit=^077rx?HVk7c#{!?_^GcT2(R%!Xt}|ENL2^nb-qb~@CLs@ zPp&^dy9L4kE>X4^$ZKPu3*yKF@S*Zw>JTA>S5Jp9luzpbVHh884q-TN{~YiLULB6X zM{=*l5JvIm^l(S>7CPk~!+U!HfFddv!Z^Nj2O`AtSdRCez}rwGGLa9Vcl(e>(=3_A zn|4B&%@6m4>l|L8ftOsKnG7#^ylx4EkNK)cfIs0)bOrPIIci}%<@2bsQ^22~pZtH% zY8{;*?ssJXko_-N!1wUHXLvore=qDuMZAP|^Z_cJ#{AhIlCj^=-862_6u23`$sh6w zDZ?O{=+z8|lm4-V&199{=@fg)+@^+64l=DwhJ5<_Vn}BEvlG~vcN`&^_3dn6XWyVh zB6H$a!1AxomiRk2p0b5`X4Ki9f0oLs1&<5hb77klL|pXrCOj-oqti-DHl2rurM?eg zvn=2i?3WLx(r(4HMUbp?>xzi0YM;PnbzDFEU2`x7Hft+}z-C>dJzlTBIvB4v7*Gd# zqkA%<9Q<|=u!nL5v`41XUe`a>G`4@AMZnupsSlzb+d}X0`1rAq{I`O#StB-YC>UdA zl>*!e7DpW@6L!8Agr@9UYRH~syc9Y!wy6oiQ)~e3M4o0FqRf#9^m9FQp1@&E+i7}^IC!#dFV9?O2BY$lGa zqHUab7DZPnff>>Vl*mSyB6<=Fq6z;d3#YCATWr=?T>4}d=LVD8tZ4|G-C=`sVUogr zIR{-TOQI|&jfLER@Gdi)Y4>5Zp zP!=;758)$bMcdlhY>fby!`{)YmdiT$fXid%?=jrR3|~>83HD$;;Q8!Js-vE=hchv< z0=C8jfI_yG9)}`U`w^~-*@|EY>sZ6TuzbZ*h^uF1I_MghE&`T~tPjww-DCh$Dc~6AB$464vHG?Npt@wb~(|w)EHw=UDA>UO2lEv%ku=yiyKp$K--$bp} z96ptD{an7a3jle1>QW5iF`p9z;S>J43!LTi`Mn@~%0KS|ynqK#yh1*jT6#r1G#)0! zTzUhO5}r+~$}?{EFHB0gN|&IF&j`YB%XxJH;1#?#b!jX4&|+{^{8w5Ft9e3Sa5X%b zwm_cq7yrQI1u|oBX5y<3Ag4qXO{n+<`*yHAE4*o5KPQ$@ooX(&FNE&A=s>lug;=>8 zgSQkLc0p(*JWT+w77J+7wh>2E0BptYcObkV7Sa2&6ONP}UKHsAaX~H#2TF7=i~nf9 z;EHI!1qY{?f^w3YHyoH_$|f!J6Bu29@u4_%Sy z^#$H$vGBc!L6nFC^u#?Ap*mQWikrVdSSHr_LRc=&(JK8`G#>|fCo<{L{vhU_fXPR3 zpc}YPVgSv9EyBDI!q1}3FL+0-qH8A*BWVlORmM`&a18K-#A#E`MDmyo;YDf0eh4o~ zMep$*u1M`Nz}ZWGbb?O@Y5H;abd=Wig3d`wqq@pj(p!PMDm73-?jrU00B5e!qS<&W zZc+zBaN$zF8*m*VT{{hDQIbgsxM*p67zQ6B`O_d`rNh5N7$@~V31Pgnma>Ti$)0Yh zL}|uocuA7Fj)w52bl^0&The#bCQO!`DD}#dOwNLPEUoSVK)&R{F|wyp_BR+(fs{ct zUZJGT0aqmb*Arffr7{JiM4ICT-7{&?G7Ps=GIa;8Od5U;x;IiE>Rr5*M$yCdUW%oj z0KOJN>*Ysj|4#_}N!tDtmMzk7dMrLmMwE=SN)u?`#Yo=xGjzuC8p>==$O`qrF3K`> z0WQf~Oc3viyqP9=dpR-`mJV_}_0k>X(X^@NBpXup=`6QUf8we<=SS#VupbA2t8ASL z;wJB)6~SFTI1R)@ZlV@9w(P0SiIn?&0Ew1=pAQlv_on+SR(^a4f#T#dp5Wr;4r}2h zLH?TNr9|0@Hk*^=_s<}_Dd*jS@RnR{1TIsaP7CxySwp$~BiWG-&t%IL)E~={6W+t5 zRQ`z`?K1f%YN=Pqwn(_}GcLES5U5I?Jqho&Nj9fGL$kc46LfDepThE;e90Wn-pi4* zp!*;f(hdDlUYrHpCwVkIqNkM?Eg)x~qm?gdzbQs(B3!Jp(j2-t<>Wdv=me;?O!88jWTo)xEIP}Dk5r?;kYg2 zm&&|ZAa%+VW9U98%Ljt{sHB#|q(xD4ApER+48>Sl6|XyRZKN9C1F=>QeGQ$BTKqj+ zUr=iTA+%HTD1*4D8h8PINlp9;xXWr`KM1d=x2c0{udeI_;-EV02Ha7tst4z!?xzIH zSsg)_{HkjBB{&y#PFIY@RlPv-i<_#q1HfIK5DTG)x{oqiPc@QOQ7<);-k-PHekh#z zs9E&!`>I>MhL>yV#oHhe>UJuhBh}TEC`GH|$AXJdyHQmhtG=a69;YT!c@wYhE&)kU z8I3wo9lii2Not81eBM+K#UlcK0;LE(lU1+h5Z+cJDSx@6&aQ@Kih6<0Os1*@zaT=I z+9M5syXwlmuuNB%VhQ=bs^g6f)cvM(fNlQ>+8UYYHW{i(w+!)j%DlahOx4E2;WP(o z-Aun3fY&p+ZiIHG-yoo7`O!|pY){I1=J7YN(HRc27 z#fEi+&YSK11;mG?U4(02wr(_Z*OeJ6Vo9qW`7(2 zSHimd1i&-qyA6XcWu0l}D`WaGa8}OVPX|}Q4sF69@Ix+cz*Vul9l%wyUef@mVdJR$ ze$M*ug5?X=^)sB+GWX*EykvW*BT&bBIfHw}3@QPC&33xNq@JDC;T<(F{Zhcum8MCq ziOr+RzL_;rCT`6=g8;YTFPtH~z`OSZ+>Td|2H+wurkv;!KfV>Z%lyS<0Iu*(dl1N; z4_*S!fseTixFh#C3`-~Ob_F_TUVIq3t6WPbCtdi*T9~-<-wWZ>jd$M<&YiDc3`-B* za|2v^@@cC8_u|3S>GI|VNwD0yfIZLc6u49}sHG_m|Ft@d$z98DeZ+=+H+5_ku9m?Uz^A7Qij9_rIR;`O5- z%;6(WV@SC?Vh1eqxY-q$JmwST!{iD7>Ia0)=MO)Ed&-AW^a7qb8xacmtTNz=xa~1; z4cyccxJK?;iXk;~qp@)PhS#nH_m*Gu2mBph-vr@%p3n&42R_yl@Q=Ln1dvZWf*L|C z{IC9S_L;w-JFAudwgot^@!{mgBroo$ttf?SZ#FA+M*o%!#7^kC18V2Gd zdQmmuEGiDd%T@7+stFfy>Ij6cqJXx=-Gm3N#qMI!K?psBhXpuK;Z66Tml#Z&Sl*)3 zVhDXidIJEyB9Ycj{3gv52ycoFG?rT;njXB{A~*}eJHqV(xD?T!W};NlVH zj1MAgoj7F#z$@X`5AfGwZy6%gi*rXo8ie&SST>6L-WXDo=n(@GBk4MQ4aZnI*cLhy z=|~`msnkSI&PgeVW(_lGatSP*qyv+|IZHEEA%csfegfwz8F~TkCK=IU=q?!_fX++u zv4YN9x>O0Bk96ZGh_AGK0>WOCn(4fapL8<`!s}9B24R4dV+ax`ZTSMiAn5`%P=cku z9pEfPnymvDDxJ@VNtjfXgtr+f-ERXDC7s=jK+)33{va_@Nj3l}l655BL#o8-nZ7GI zUW71R8ba&QJ*hvfu^H0$li;&Jy0;djP%=(}WwA6j6r@B-r?lyr)Up*mOQrGd0F+5N z-$Pd}{YoiLh4dADm84mky9e+$(%?T4;hnUbHlyB4)+@k$kSgfL{3xyc2rr)`YwAL` zNR5=VeU^+T!Aq-jXB*%~@^3{DTFbMke6*3TZHJc&vP^J0Iq?EaF3RI*cDp2-(@Jt# z9y$ZMEAkQQUD(T=sS-%>p0o$G`M(qJ7tv# za_J+GMETr4L{F04X@R~eSBwRDD0iphhgtG6O4hSwlN4Cy$O~7)ORnrrJ-IyjSRQnb zy^vl1gqN3cE^R*7$%S=r{YswG9fNo+>uCn7m#2(} z&jxv20K7EHZfiiAXOthQrF~X$`492VDJ$s_HCK$O z|9@T?M*Hj*ilr62SSp<;Ik8ewDXp_sY^d(HQF^8WV5^u=LF}ct{fa=|%D(^L(^u(0 zDfl&I+G!9!Yyn-gbn~drAjd zt1^^5Goib$_|V?&1LenOAjL|TJVYo_jxUFEG%16pOE0w-< z2%t*oMt!$xWf-jiHOhCCkUv-2$AkN*9G?!8Ps*EbVDee9d<@d6SkW?Xr2a%*IAir7 zwTn)uUKgP=Q3un!WU408XLM4XtAWl;WwiHkN)3Gh?zDPt5O5A^CDl%j>QU;*JFDx{ zAiRp7UIflX{j?5)a8>8b$9r&7LkEC!SNm4L(nEbD1Lvte)dJw9Cexzft!{b+&PV;1 z)&O7CDj3`~^&0i${8aa|;I6CRP=b9^^|OPsTdG1${@d#I3y60|^`zEZih9lg<4jdO zsppucT73uMUG>{vV3MxRp9ykL4PX#vs1rtlyRXh|hX@Z;4;`Fks{c`A|Dk%94q9fZ zE36@Wq$j>h&B;cZw$zv~)+EM5ctYdj31XrdL#2nQ=7BMEHkvWiud~&>rqeKX znx-{yeNpop)s&YsTd61Dt7+Q;a!u2DAtGGYGzS28LsLaJk-tVu->wSKY<2-IP@^}8 zNsz{s8cV^Nr*5ze(bUo+9I6>R4#F_a)qg?4H8UDPA~fyS0~e|J<~F>fXb$ZLm#SI$ z66CJthfNq#y5@JP`0i==Sda|O*RK%azUJN606fsF%)}rvHTls!gH$?3`}hcYvGg4)=kH zg)X}v-k7DXv^|KGZX8V)*1Ew|tUK!>+yTF;J3tS!tL{3Tw{g>r?h4|r%Swb#4_!CP z&w_M4^$-T@j!{V*staigVVG{=MBu`8g;ZWe=yX)dChPXDg5_>End&$D~9v0%aCsGnoWI!u7jisjSFWX+zR0^Ekp z`x`!O*+zOwFR;FpY1=VeW$I1jt%0*k>cVx1MG}S+3$Em}S#rjge;}Nr`L&Djt>N6tbFk7kta@hyk z^vh$b_rvF7_GBJ#PuRRf2=iI@%@96ilNDGNu#_SUw~%R8AYKt`rKhx*6}^MckIc>j zx=-x*GT=V5!}N)@vPdL7IEK;k0P&1@4y~XkxLpW{33u5I6I1?WEdVEZz|U}I#vwSVBi|2TE%8JeTxgdl+&j+5z04@0Sg%Dcuk0yXy@m+^N zta-8*hz;LA8pM{54@KAuyp-}pJ3gJd7#DfpnecLn`%HrFGRJyBO^H!DIJ4)$Pr*6x zKJ@51^0>2jD}lV9DYzj1X*1v<{0uGep?pLq2*db5s;JqlNkK|f<4^iA< z8!V&wdD?1@;Zg=jEYDmFpK-it6Lj(X!&6u$@C;h661iPhj4X-2KL+7VZZ#2rTRe-- z(@Thj-fslN7$f8C)tKJRBsAKlH!=@A6~8uuSKPkKywkH=!0}2JieW zbmcs_H=I@QX3Ds#cz89qYHmg!Kn>TWz~njaF%#qkUoitFwS3?l1bWH8?G3Ju@1?Dv zS9~UI>AdFcivX|ZgD*kX!2f;&VI%jr20#;Uu*BPJ=4qu6zTr*-K;Cl29^@V0Q-=ue z`OHnQ{J?YO0B$3?4#7BW#mPSKX(w(F?xL7a^VcO2y9UlKi<7jWdqoUv2Oa(kZ4M#+ z3++_k97XXbSmH-&{(yz(ot)1cZ$dZxazOR-9b`E>7Gn zhAvCAqXzmT@pUZ#Iig<}oaKtT4sezyzNK^Lk3|g?Fi*syHqhmZgMR}4RAf;SQ6L7V zgA@uoT3w5T4&( zB9%5E8$|z}@YyJWssU&cGt6OWE_r;0<#|b=Uo*0lf~Zq(CFvf+(ppky0B0jTl@Q2Q zdea5m1t~TPa68GI>g9`4iWY!Nl5QltT$W;}>vcs6GzMocIU9h(S0SmqaFoV6gL9I$ zc7qpZ>46!1UX|t#hNX*ik@9?3X+M>YZW5ml;x3*40OBF_F+(6v={7anLZm;uF|tr8 zlX{Bb(wM~%Mo11L0FRVhvfw&O+E@Z%wDe6TOk$*;V-OZ!RHPapPMUrl!gwikA50RY zF{uD#NNcGSzc2M$hd`N9Z6Hh@O1Xn!k|ibIz#tw;BWcOXmIBWKkRzr33SF)=|7(QJ z!xaSJvDA+?{hmlO{NSZh3Z%!WO4_#+@EVCb1NU57NoOuzNSA3HGm#B`0%s~Gj)#ev zJfCKiQ}R*jPoI{@8^OyNImZG%&&n5)!JU&ktbxv4-f zCIs@AzcNOk0NMOL;DK_V-Qe)wbI^MamY-7=6C%5ffG$*?K__y<}_~JEOSLw=K>pE2$B1MY-1tuI-g|^hrA^ohik3Qj)3B@2uqd19w%) ze+Jhs%E&P2T$Mn|1l*LiRIx@XWpiN}rA$}~VT=;w0LxfqH6==M%KAz08L!-4aH}p+q^Z{_Ul=jplNLDP~g4|Xr?!fYn;v~Z)MY(znK2w!n-9XY5 zH`=UXUgd-uq;*f(7B&7#fI|Ta>YLaq(T|761rxk$qDc` z%56HN@lJU~=b_#!v$FyCpsb*MzK=@9Q;g-4^7T%T7G<6{Og<~q-GFOVw(i7xFj5ci zm%!rRw_B-C&`<6M=l$F5gz2d7XeV%VTpC`F4W&wRT*> zOKqgd@2K#c(&j7JPhB?}+G)BAKu!N~GbA%!mg4WsBNrf_+204_^_;GE;o+|l zv|m5BH_amR9?)Lp{1u-eS>Q;;&_W0LNEbah1IgmUG&L=`P0RPvTMGUzYdHYPa;s^-b4+T9g)A__0B_w@p_jfZD8#lO}XqIQ3%xD zL3AJPGo)u||6A&e9tff@s~xnZmg`AY(i;FXRzYjkY4#7b8qTl;s<6(of9WfE=h);^ z;LI7uK-EisTJbE{&Vj&LvY93@xyk})HFRNWf5dWQm!o0n&NjV;r3dpI1rF!8>3;EI z&t}7!H{1Ui(S6tzN;!O)?T;YW*cS;9`mwSf;N?0qZ3|2MPZD~#_Ggwo@U{b31s$zS zU`{sBC9=e2&9r7T>;ls>`^Yb8g{ND2Kb!)Sq9t- z*6}e&E&GA)!nPEE#Wt^i@HJaSeS7@2`Vz!zV9~TPH?qw%AvLk{l!i95 z9#rwYVN36Tyk(0{0AR`kUL(*+{<9BEPH{&0=V{)Nvb8hZ@&Y2b^X)Xjd+?)Qz?m1% zqxO?G4_bmD`S1zUc=zSkH$r%gZ=k-DA77XSa-Bb-r~d}O`VwCJc^gX10{Bq+enTL? z_5mhAe8>0Tf_ZBVEJOHaDqBLiMJjY*{0QCI;oO?KG!guu2Xv8q4{g^)@ey=cqj@zY zo-y2M4x-2M2a)g+$88HS&Uij=MxVvIHy_Iya_Xm)B!eKW^ zhA4`M$$c@%803Ly?2HJRV*GP(1!7?jyrV)fh6=G_@xx01O2p1q1bQZhTmn}r22f#C zC)}xH`$_~+VqGtcX>n^1>**wXqgX|U|C)pv0i2Q4nF>u~=_}dPAgLGwC|zpEgo-9m3j5PLy@oNxowsyeQ44R^}ziwjD*=}( z-JlFGO?p8OUb>2*w%60k#-1akW#^3&HslJ*rpBC?_ z+lRtn`tEmlBQrLQ1Zd`g8hDu1YJu0Y!)QZ)&NVvm@z=itfSv0{_4B-g$Dy4+WfER5 z*bspD3k#`MShOnxuNS}k2l6F3ckp-Vs?U%tV*_Bny#5I!D^^o=u<}C~T@SF7_Y1ULW=d@(oo+kZiP1hlfosJ%HNWmrnF-*-R6_))kZvZ5#Rt zlI=gwhqu3bFM(u-;~tE5C!^-et{JZ(-yKAg$(|W|A>Zpr2N?H-6(Y+1dFA+fU~nY73zQ zYfE4Ba%9Q-0dQglH$a?OE1fO5$~H}g&V{8u1J0ElrYr2m?$D)iXC_oedayP$!+SDo z+K=>N&5jtRH?tW9A%35X${t_#-$FRM#uDwJ^J8wiVR@bPErJPtpNw`g{MpFGFbQBG zzX1@)dL4!9Aofoi=z`f&YJr5Xnd`xYvUb$23}d}!fZS$(P~v)rUAF){l`Wv|a~kVO zU%0!=KL3Vz_{oI;nA~HNyF!@3)+HkPeb#M0oIPNhj9`+9jv~T7WCk=_WwFYu&^=-` zl_1%y>n-@qVLv^GE|;0mfy+GRUjgnhzMqTt@Pw`E3!nMy@mx52%FL+FEnr{KZCA+7 zPJovpmO#zgVzyBaTnS5|$?h3jc^D?8?DxN*D`We5fGcP5^!>*QmPV^hC5xX3?mYLf zgcl2LN0o{d&X2&0H6Qr_02`i7slP4nPVeCYk68v2JDxNhfQ$UT3oI}3$@dWNG9T*# zpJLRa2Kh8H&;Pjjq0 z|0f^LJh*WIaGv~RM-VUWtw89_&(oO{AO4EI_2SFhQFQz#v?0Lxab*oGuXCR)_`Jc} zyTH<)b9zbwc+fgn2J#xJX@Yn>H5!8Xv~&z2gzMJAB$V&{114d-wHmr`ev9A{JdwU& z8_CyBhe;GSr-VM5pNR#D;V&M+B$nR^2baxrXqC$0jg&*?@o`k~%RuV6y%B^Byix|Bk+(kyu8F^+8o!xu^@H#YcfE&e_Lgs>GV&d->xE13 zo(B{8z*n|F_>ue3d-%lvIS*V5pI!>`nP<}lY2`U~urv}ewh$VN&(zI1A#PFo)kMtm zM+8%`@d$J$g~KiA%tX=y08WWwD{!ZUE8RV3#HcPHXT>ObW9LLREr8}?WiPz3^Wrxu z;E@>6j)kSTVFO|%3@D?sMxzfp8{tkhh^?4{v>0Do$o&GY?Zlm5!Ce&Y?GW#h=tNcM zWnoS!{1q{KG642s=1_1BqUAIIj-oBi3{JxJ8wj1n5JwE+s(3vQIu|i%5=f*t^#(qp zgh4lqEJl>wgfLdbP6IAZg#HX&yf7$+>jbfO5aK0@1t(#dBwUt4cT+_9!19*Jqz-hl zXq^J#ZLxa|;^F5e@}Wx+K3_waDz2V{>ooDQFLZaskgowq7kxZ2qc_7Sbfy@-Sv=8x6ockWaEb-bM+#_+D>i=vphW0jcL>N8jxngiET;~ZrwL>2Z ziwz)8#6c>#@`W-MCQn5^wJQpQC1uuy!jMRjct90eu{c0SfJ?+;TCMPfUdob>erbq+f~S)D(X$LL6aPFYeP<6dT0TGq7wFjYWviB=}H}X3>F~WN*Y_x`J;- zBh_B-L|;F^-wP8jz(0uAOAvk(!|53BCvoE*04?J5Nx(k~S6^_g;!m1ijHFo)L5!uN zwC0?U9#H$vM4Gh%a8qgTw-7o>Z8YGVr4Q{fBp2zA4hZWiS^f^=O-1>S%K?P_-5#CNagDQ_m}uQ z=mMl4=*bC`M$udsB<)`XE?Am#10+PsT#2!SN;87N6-zF(M3zWPU&FFg8hjpHnY4+v zPs^n+s=X_uQB>?!N*emas-z{fj#W#q>j1Bj*12L3&m|wa-Cjr&hrmm%bhiz3FQrT4 zfvb~_&@uE^(tf&aUQ1^vUcF>L6}Sdz+-U$BrL#|b? zKE4qq=JKNT;Lghj`@zxzC!t_sDR-rc%1Z9r2gF)-rQxZw^;<&SLAQj0$?w9YC&`d`6o(^9OY$WVd5n3wgvnKicD3~S=wHE60F*lF!iR&?2|H1e4G5nU4^* z%DcV*+(_x$456`da~fQqQ1;SU4->_gn#QI|#|j8fDvi_zGE*)ncn_zPBfFqGt(>%i z?u>G*2(Hg6f{sg^Q}XB%m@6OX<~y&n(&u2I>`jEFrP7raFe@dH!^B!qC||Ns-X8~N ztC;11yP$L_Kp;D1BJGb}RF+ZZaY?bHCf8->&gx~Y;!{ywH%iI%0*gQ1C&#Tzy&Ig zrho(~adQ9&R$kCj7ovPg?fOt<7fldh$}CDs!<7I!e-NQ8rY(m^W&58HMk$A=j~%V7 zSPq{tN+c~=u}ZuDVEI(}c`0-S%F!u5UMRg*!?ITK?TvUZ zl>^ibs8a^efrVE}(FR0#t;{NcmwF}R6igbFE&{kl#WEKrP0D@h-Zm>8sSbFfbc+Vy zt>W_^BD_;R&}#Tz*)a#)2W7!0n0!<^C&9#C4R8j|LCvEstCQMI3lnGc=X#i2Rl77o z=%O}I8JbwA}OH`L(X(D|zi={#J3I_)&zf$B5Lg@e>#v_}}MI&DRu5Ov5@ zLOP;G)%2w6F6-HToG5^3^7q!3tE* zOaKbimM_5-sYfTkq*$Fh9k>$pbQGdLQx8)Ard0igR^~F*lq%J7HJeiR3N?Y6oRw;_ zF>qDtF*?Flt^VW-U5y$;>-2MV;Ey0L)WU(VtW|3kAl^$=8vtRQI)IAMSLz;0(_X7x z>k+74)x8J2LH$n$(x|%Agw&)4QERAK?P3IzH|h#%R=!o^?m+iW&8GzUy}GRjTzhH` zM1go|LTT&OM^i#Grmtobp91!%_CB5a_h zQ$9?BH14(_!J2k7<%MYet^x_wjNcBEFwNF6AmN(N6fZ(EPlI@onqR3E5T)5e8DO*~ zKMTSbjr$t7j@8_yJS0wYoVwKUn%UI8NYEILgwI4xKp${PnoS+y^QIthHP)vf{G>6U5~D@)h91h# zn%NA1R?T%=n4HkMB!Dx~YUoOsYM*WbcT$^W4a?KoA0I$?Mq8K!pJ%l%GoU-C4W_dC zymlmYR4laTzl6?G`-lc%rJd9nxB#s)<)49CmlYtv+O<)5e<9lB8Q?;-fBcTYhiM;< zg)m&(iDtzJt@#8vi`2ID0vDytpgS^JJB>=V7_Ef{T&#BKZUlfjrbspATV{c2X1I zkF>+W0MFJ=q@^xLTTfGSu67cYh5E7Wy1?^(G+abRl$+&2>6+=+5g7I|FW^i|P-~ zQg?F*bXL0ebmGZcH()A+HoAXl7Pi$r4~EYRIx9+a?R39aVJsJQdDNG>q`NX4y34wS z@ep3oEu%p8y6$&D9CSzY5IX8E&^VoRrU$_}>t3eA%T?VqYOTBILg=n@)h!+c;->2o z4V=5q>H~aw=*(zl_tf2|JJL&M(+Qln?pNwZ`{=rtg81rYyaV8xE~*XyKV84|2y|U% zL0QlZ-N9s-`0G3=#|+S!)x#uEcO7j{97ude!wuH8qje=jw=fkXR98>EzA#-H{U}km zF0BH92;D%+{3CTQj>1`#E|ThpXr0*r2xD{#?bXKW?){FiaXN>#;No>P)Zk6f-KQ&< zs2lVb00p{1y@|7-`u33X_NItkmT^SYpO}fxv z45C^0a42+dbU)DK@m3cQ3-~+T11q@xpj&7UpC5IPsh#pkm$4pz7TrNwnXeeweFx6o zfYFNQWUzM|ES(KD^#ksz!O;Hza52bS0!vo|4K1c_2HiYB+znPPgU-ufL=S}ZHZaWv zz{jBH2@qccFRGHS8TgQEKLag2sn-qO*kIHF2CZvh5@=9PWqgo9pAHZP8=R+PFT~&v zYAJ*oBvY{*W>B{ZULp)S&w?=0;9`52L>XM5ZcMa6o9!@pVo(qXUB1CFIx^LfU!jD!@dJNMn7U6xLAGI_lO>+Z=a7q z@p|1deT(g#opoU9+70&-jb18q&-(NB$rmlXZT zcfh6UH_=8(n!cQlecaWD{)R!M>w8#Y5cl-ulwW7)yG#P^zJ3-ZAP@AnV-O)z{~h(~ z9_n{>2A8G(l3IF?^nI(~EL*RA3NA-q7Y#4D`m|Nx^7QXVfIQZ>y$LT*^wyLs=Ii^; z0ePyg=>f|E{Z&`QE7T{^Y*VDynZUAGKk7M5O7xXK!Q`2~`YcRJ^{-kXEYs&x)2UoP zhgxM7`eBsGRqCh4fmG?U=%cFEZ$1vLMn8vc)93oQFJNhAn2-wYl;H$wK%X_7L(9ZD z!^5B8%-nGJbm-0-o>&V@3q#vQ5Ly~e-wYEg!v&Oi*cvWP0Pcd}vSAR~8T$SP;YGu_ ztq@)^e0vexWy32^G0rQ7T@&EU(NItO9!`ecc0uQCIJq8{R}CLYFmW;LPE(hwVbKZ* z-3-5=Ul{N(%%TF-({PPBB6t~gYYUvWVLRH(yk&T34J?xlf1@8cNikeNUH(+V4{Jfv z40q8c(p|%CdYGge{zF&dp5cGgXUH&|PPJ&Jp%p!94-MbZf%PoI;Z@)s8M6Q2I@{37 z9Ye}7e7pg|T*H)XM0jHOBc*rwh97T1_|)(eb#x014^0H1&`_!YS7dlF0+z*wjtaPE zhC}HLP^saA!4Q@i&b5GLxuILo7ohm}Z926N`@MIDZT~!~-2Yq@h_J(U?SW*(tWJ16 zaxg8~qdHN~X0-1I*pD%$*2&nOG;55jpaV1G*HJ@nf}da2j1kSx1EewL5_4wfrC#sRf$=>f>MccmWHj>WCe?wsWg z`(1X_aNk`?eb+rbhT@IwT{ak=_l>6oa(`0?Xb&{e@r#4als6w5HyAdDy%$1zWXu3q z{xkkNNdB!Hi@!&W{({eA4wkS#9!912f3?r>*NEM!05N99G$EZ}DfFqBuwIm8TwyuX zZL(+UXi;=z6%`2M#P-lOk~2Gh8iB5|ar6MWu;)&7w??L?8*K|H1 zfZaHRkp;3gBSC^#KCQ*U?7a<4LYOE0m_R5yMYS(Bv1qS0oP|BWkRn*mS1^fWhGp;) z#R7~FHkwt^j&BTGnt}nwvLH%T;@CzimgCt7dX5rU`@wLQ$b2%POJb)!gWP0eS3&rM zc~XL$&q`>TDPRHA!75}Q=}{|U<7ofBn0Xk%SqT#_z&&HOwEa}duG0cm#S>Lq)ykNiF1gT~7RK$D9MtZ_o9WxIH z_lm7+2H-Ud`V*v{4L*!`pIM6);H@l>wr7m_n0$~Eyy`9hCOnJUeWrXZrA9b>UJgq$ z-jP0s3;a3tX6*PWy7?|~>nR|Yc`KFbSGYSJ6u>?gT|o!#P8ozFFCPOT{>vTOq`uDk zIe_@{4<9ky0G|E=Tp)Mu11^Y%?u3_MJ|_*r5bkXV*P*<21-#(&IDN!8{b5ZX9QP`R zFp>|T^dO4&puNv%?lKz#jNv2Z!7`RFqTRVTob471D1C%G~>;QNyx*Y-hiTKR` zKJ&#L>TN$2nbgxM5cYQt`Z?nv|s?$q!!2L~qKW z%Z2wKm{f?f>!7O?1+)lPi7OKUuNG_QajFrSZDILY6sEyTtJrcM0Ap#-URa)xV!J|T zB1Ku?t(Z!W8E_}1f4YD(lh%C&-6?6b1H7D;KAJ;!Mq0KXf@nZLjEwhe><(zeC8f`QVk`L|The#6(APkjy&4EdnG@Kez;gWO+ zJ|m>b4R97IwWWGGN}9d`xM=AlMTn7}P&X!4y4w$fh?Azx0g0EA|Az39w3n)vY$>b} z!d$75Zm>LQ3$-O5OVuGTc_Otg1Id>b5P2%iC<35B`u-P0FO)_ruq=}N%%CflzMz|^ zL}HXHK9iC@Ls%+pqny1=GE>2oOGj)#DkS$N2rDIJ0RW$*Tx#F6NdH(OdaLB^0%9a@ zcndGa@(y}nPsqJ#f;W-B{TXmmdCOdwoRo*QgV0QFDT5Gu8vby0TE6%TglFV_C5UiV zHW~={Ie9-V8s_r*Byi{DwN4-wauFTnvXpIqgr$|-FbMC+T3#IuOB;FiP!LN_u$SUaqGPgev4g3jnB;7aazvk~P5)R?ByS;j>15 zQ3$xPvaSW>gmT*rI8)_yFua^pdeAIvruAxze4I_47(lDsUD`yPmi_mdZ@}cDI${RS1B!qHhG;M(NTGCbr79AAq}{-0cQp zr_@b=BXki7sojQb@H^ zj8a2$WSp{X7fj+6yIjOeP+ptDS)$@Y2Pcx0SJV-_skl?xc}w|@A|xx7GCknKp3tSZVwb-2?kt~BJF_dX64a#aBq||vtapFSx5b> zcS2N70G&Yx@a7y!ZIKXMmBUV+;XgVBj0miZwnN!|gr9DHj{mSxr5Xn*O74UMEim4dc0i`h)(}T*3DDVy` z;%pepQ-(hQmai1bP(Q5bra|P0(ta@Xjw&;?ARbflGBE1nO3`QdJE5d+0d`V(QyIKd z$^)JQ#UHV6f|WB$wi#^RRlfcV^?ORt8%RD-{u%-A4;4dqh!iRHJA(K~sa75$kCk+W zp-+_ieD1|c$tS2kRZ{5hnPN#U%@So@f#G?!?f`@{57?RB2A zT&DfXz0c*^n_L)HXkT}N_blz)d z%7K*w+9tb!9n{A6gxf>f4>?fC(>`GGo3E{>1vsodAw%SdwsS)$9MwkILgbh>m!b4= ztvL@2pU@uTWj@dz=V|VT+EpK+_ek5K2)xJI0#4gcv~77@pjg}XFnCY3ySNSbOk0Bi z@^fw5Pc=V%;Bnj7xNl;$Up4Zk+)N z%XHN*V@S(&7azd%3Y~=kV5QD;4ZtehKsV^E*8O@OdTVsIS<^Y7yUe2t2X(!B;qKewcc^3J&?g|eop3q%k=6zC^HU!|5&YCsH z(>lF3uHlTX?=E0xb^ZDRJEtp}i9wv#1;xNhfo=>#_Y1n44Bap44&Q`_Lfv3TNM6$I zz7D<1y7y)n(iPo!3xKP-MO7eqO&44nyjQv?e&{8-_&o#|?Hk=*?sC7?#qqB| z-syZ;%6+d(Yzg%by7P>TKk8QO0r;d_Q3?J&>pJv-l`pzgNznVM^ViSp8+;iKnD^y#IBRbE1-$d->mtA_ zFmK61>jiU-&*Q^0zp?T%bAYL+WbqRWx&0lf9^1bpS~zhVX`IE#n&6GMSds=06D-bzLS(K*MaGfy zEr#$jTwqba%ECg6>gC}m-C`^!_(c}>--20-BdmsQwD|ZK#x_~Bl%coTqB7UNEfxjO z0Jd7(U~-phQNnoefJF~p*ddE0IWU%IQIT&*zQw9UfWsC;_`^O&EOb|a9kob(0n^7U zx~+%aaf>6Dp>V=tZ-00{X)%^H_?s4%voXNi77uDdQ5}{3CVJx^l$&*3x^_vS_zrj4!>EAE}lz<$5u7Ssxxdt_E zj5hf1u^4Hmjh}IWoi{RX>{638(XP`3^h5mWz*^{?fGLo-5av{6TUVW z7J5u|f|rO*%s_jJoGN-f;T+a`V*%)qYgi%ZQ(6iAzL|V;qb68^8{PjjC^3z%fD)TA z0>1j?E=IrqG3GvT?OAq-Z*>Y@63*8FH}PUyv;*oe3LY4C1Giz|6rm%)LYL;-}0~F>6=ej~+uJAe>#CgKA&LGYgTv$(BAXJS2wosVQ zs6Jg-Ukm;g34Ol;TP)Q76TBsYswvc$3N5NbeVMQ@2ztwf<#xEKD}>Md4ps`44Uk+V zXiVU(7G52N!W!Ww00z{d-6r5?1ekhqHoPHawgY0{QY3 z2ya&cyCAe;(sNN*!@T{jpl<}ddqVj&;5`s3aexnno2;}H36+`Ry%s*q0QN>0$ODS+ zgj80w-V4*_Lhpl+#|^ktv0rmwW5s5{0OQ4aEPziCC-F_6DE1rx)04!a8qk|8CJqI0 ziueNi0A=4#h1FnN*LVPOvrNX`&EGOAZ1Hd|C@p84N89RWW)iJ~ykWh~DKE4(8Tn}2 z=9ECUotC3*uV%V#yO$|Ththq}a_p0h)~S@m4(FMyhPgbb2pL0j486?v%jdNFS2+B& z3FFSE%~%#L+OB53v7PG*(A$3vLErWc56^Wla3!}p{ur%&J5~@JR#<@Uh>a6?QgMxR zuB(9$mzqaFH%yL)Z{vwyL2<=~0{#%E*G05$&(=fU^TI2%ULzwQ<2{S5Ppk+@-^*bv zhTy;IJGrbh8g~i(#(SrsZL)yDM^lAsv(-;S(6_$82(Vct?)WtS%D}J1i>v6jiD-(x z&7^~j_wZl!7je*OyPx&{b_Uj~+DE0}MX)Vp{@-C}JScX$6Bvd4GKRnoFaJR6_^2FY zoc^57E3-L|)@4s7Cl#uEH#5o9{m-H*0&@^rLaGAtqAH8$eMmAv6w zVl$A%y|x()vD!6tfWP*oEEe0={x-jkx(vGA6YiVZn>Z&q*pA`#EYzd#bm(_p&$ZUD z;PUrO_%^iVSplO3V{6y!-$Cy1L@@;k$WVZtAs|&3CqC^%0P1Rh4HITUVI{Zkw&+ zcn!7q1=&6-FG3XmRj&O1NOi1 zeRPOoEa14FTa!-P2ZQUpEE)H}CE*HMLzOO|7)6%8U7dLi9o;5@;Z2x1+hM98@9e0l+dVNK|=XCBd z_bMENe(x_l>=!wWL4Kb*BO%{6@($=xmh&JJJ$*m4Vw9oa#@cb!?AMYpbpMJh6UFUz zf|vO0ZqQ2DX$eZA2h*PcFPYX2OmW8u2ibYR!r+}94mNl4}bHd(0u5T2(9Z&+EKDyWNqO%rDDV8C>ti3pJy zLe_NXr3ve~oikH-$>n8^@QyL!T%ofOV4hIK(}44Z)?8B;2q6t1xll-AB$h5z<=*Ea z!MzVLe z4A@rT9a4nvQ~Xv~sF%d)vHqY_Fwy$9aG*dGUZN5GR zlotKD0JQXBQr7B>9pqcvOaZ;kOOD@W=NXKqZBHMx?RMxuZ@;r2WNck$qU|t0{Ks^) zg5jE9bt63ak72G8FpCp+Uq9=`A~(Z&8n2<>tK&Viy?2G8jofR2w$CaC z*L|;#hlMDIGq|egVi)vd2C||Xd*U|Qemy%vrhf-cSaDNXjfk&@l}nXyh--S{Xg-Jm zLm15rG>!yiP~sn;3{LEecF4NV@G^8l80-woc?!z#Kbd%s$SHv2$hysOb)$seHUmi# zb~4;a7Az`3AVnzP6f;(EDFilN_@sk{34#(2;zS|c4&EjSW`R(cEL2YcHbq!=8cp~X9*(`emn^27(6$5%iYSR^SMS^b&ZC)wTAI= zvoV{Y-289~F1E#H&Velpc$lJ9Ne>LBb!EoKZ8~Z}Z$Il0D7Kkl=y%9n0bRQbNw8x- z$``GJmZcxZ=FX6JYRS3Fc??T6E^Z&eHB>Bxed7TGTGxX^KoT?`Z;={_1}eDw`_bvdCwZXWbV*dMtw=uq{By0n)=@b#j1oeoVA%3 zgqwxn38|X9ECHoO9fpN%Hr)cnrp6BR+lJ>tzTIDD=(o>ism6BTKzQm9>5S{KyI%@P z`x;Ew9Xx%}I=)19sdAc}2N~y{EWW$E@r16S1z&t)JtqCG%~%xdm@|i0JNtwHA^cZe z;endJS2hRF@_u97l?Ig%1(oqya!UAH$^&Y7d>ix{Ou`ym#(Qg`o)^~;%jLhoZ-W5; zA9|VlV8=RbI5e8&pNB;A3EU8Gk;JIA<&bWmv~uM!l-4q925p?Vm0+_f6zfJP4vx%K9W#0M!%07k*J+=PzRT)Cpc~Yic`^8}x-++OYx>=CEz-2=buwKhMfS#X%No5sGJw>KSxwGqO-Wt$Mj>o8#{VC?Duox zp@RN4MWDo`Y=Zsxt&7o5P;Nmo@$Dw`2efF0{=jM?>tjcIOK3*I)+d{=SSN0yag15?Gr% zW zSUV1*>6E+;{m%LE7;Be%6QJ8QWDEKsOOB!+T7_Rvx3@om5_XyuuI_6@wBb37k$bc~ z1(}GB9bu=Z{{_%{4XKKL@6?TGBj2+$+^3j}O5Z=Z6h}3G3wm@oPanq2=4=$(gE4%+ zC7cQSJ4M1~+|UNNmUta&NC_#$XcOZ;LViFn-`Ihp{{m&`%oOy8&EdTpp36jh#JCt( z7&&XokC~%B-&a$YDzNC;j?uAK-7%2x4%&gf&u!KQeV;If_d849{_XjF2i&lN#lU@z zpaiWu3~q49M9@2(VZnlt#ILpke=XB%~28mHQ3^bzGk{gr5)A_M3 z_dxGw=?{AU`Fwxl)-YO+zr6+h1P5v*&SyS1;3-Rr0}J_th8Da*e^}vVjA3}i_Gm{~ z@%tIs8~hhzz)sx+Snu4LrRFYkr=Z_;?liO^AD4m~TFw>pZeQ&|30rX06%O=>2%Zq{Ec#-w#1S`H}iT%Gqcfd8yxB~-O(;gbba{jP)Eg(5O zj+=KQhH`&=SY-^Jz6dg%0$GCX?Dra!E(e+6cAZ}fln^hL7$0llkR#zV`ubmt@|TuFvj6GGyXMXoVJy z!d>n*&=uUU)Z5^8U*rI8csA=#J(kr2Jz~@^u+#I@D%k90$v=qcU5))n&o!X;+1m$p z`p)_d{V01@FQcuQAIIb{or*1d0r`Hvd4bZuq&h6eB~}AH-t8RPgg=)?Z3a-7j+153f7{zIqJi7Hh;ZXGr$^ooipOhP?Z|Pd`oCRC|{RE?L6L1Ga8~kl7 zqOLcE&~GPNK)QW&KX7f|FN0)KrvVZqh^CvZEqU|QwYcOB$Ck9~V8DLf$WozoNEeO8Qzq_4+E^!?HoLdL%u z>$?Hg%tHcu@jVJ^$&Vm-XLo3Ia?6CZ&RsZ*bqO~xh`u;V(Lvt!3fd7!xU;As)}de>pWqY-8`m3R3_v_4%H zf$Mv>Ht2qz?O@qIa6BXfidgv!yl@bfgBtUMQSgF?pmg$M%++~eF|@i&uLApBr^muh zNR{1?3C+#lj{*zfp4v6905!gHl+@K3A76kWZ4BF{QJgjxj;31SQ z$9JRcTKyz+LvC<24c&+;XW5thrY)q~Ojrm_o1HS=__iHuL!#X~D|l_6^%bq{QATAQ zT2@1Aw?u}#{mnGA4sqPQcg$x^)JeS#edqQ57>&z@1E3gM@Xa@_8xM->mv^9atc)EB zm0LYlSlwqb#`CDT6k6WBTJQ?*^n#3Uy;{7&)U%-b@8Q-^KsQ@Z0^9N%3%X$fCDwx4l1};kg9JwFzwip3PWRC)!$m!kF6i-Uhk$ zKUGHG_UHhNphGTe^>#IRFYJ4=rr}U&0_cuj4CkHBtU=%T=Qe0vR>Z-Y!KN`-I|^T6gzLpnJ^L!K3&1>d^98auBU=S~s+QzpxhQ|0_ol5at4zz`yw2 z27O|T6nw4*uW$#~)Xr_LgWF{dSF)}dT<1bMU@B9Ej>Y;?_6%?J2haW?D>e>>t{^%# z=4|fN=@cwFAFhJd$>X(^(A?b{$}x_%w4 z=ardgy&ALNhbM8 z?8BN)m%q4zcD+6j@?i^k#;3c310=(*@oy)3WY&YPh`$&k^c)cenO@CUW9Z$TYiH!2 zoN4>44@JMPHA{n0RXU-KE)by`02IS+mXx=XFMpcoc% zE-?O;3K`cNX73%%=A!R*qdx4o%ZZ?PB=3P`Q;!3nc!sQn1uwS@$atsl$@|8g^pKekU@i1H=gw{^!@&)UQlag> zX$acz8EN45NMoiGQS=3tdoKC~{a&3Df5gZOYD3eeBKIlU3O=ydt`fiG_W5f;x82Nq zuEU7E=-c%>4qNsv+*NZ(T?C3_-*(V)GG{Hv+3^yryIf%`WVrMg<2HJog}iGuzF!@W zUk1f3bpvGFuT+5-kNJ$dO^rE6de-C@>)VWTuixiiVa;E&1X=;hQT9n~=sLYyjwlKIA zu4AvTj1OaN*-B##2|vQYUF^sWde z`K4VIwlo5EP1wM?*ma?VQ~eEL^n2*t6e>r-?JXg19`ko19 zUof)g!Z8L#FNBedvtA0ZGa&g&@P7+OB|`TOAmZPJuLEPR1(&_R-UzzC!FwxAUi!^jvu6EKDBwN&BuI?RKMVV~#r#FsGZ$9A3d@a-O=E7L2n9IH9vEs40&>JVdW?g8!xVI9(1hFAA`ibJ%D5y^o z8*x{8veZ7`q+B zCF0|D087PT2H0FCuGKY zoKdja=)N=B#wk-^tVzOR^qba9!G&0L>4#xikG_MpnO`&vvD|_@wu4x2lQ4+b8TT|wUo$}c8wI>9mI9gX=a)0 zr7>$@B}3YA8(^b!hd-jcNxHx}akF%Y)7Vz&Tutz{NwExvwoA2H+1Mc++6NCir7En) z?vkvv;AKh03NB@j6qo^Gw)CMBMD|H*S%Td!=^DXbj--`AJRo^505~Y+reV~Fq&ubH z6mHK*N8Z5gIVqPh z>Un8mDr^==mAC?5kT#VAxF`){wpJ+BVQ6qk8vYs{E=yBqLH&yKgmK$dX#j)!>r%B& z5V;{eVG?#zvi<|aTT=QHVE8*Kn!YQoaRBk2^yW`kxi58L$ox>Ut_Na~RE~dn^GNcp z0?EhH3BCnSq}`3+0snBu9$?R;pZWlMF0rJJAE9e)z@@yDK6106L~6|HMyZt086vMG z*DJu@N>f-WeJ6P|gvfiT%4~oSk~6cMkJ3kOZ+()o+#&f{I>*K3i!|vKY>tu@8(>Lt zPZjP7uv+VQJVa{`;>%vg%pdf+gS}z+?>3x$ER(r<>yI-TsVDO3)c>7} zOM?@fh8i~K8{cRe6U4^xbwO{E?TLQVSGQr=syeqOtevA_xmg2_q`4f4ev4hX;I_QO zb-Gm%r}@^)i_o^I#A1X^IR-&(O)Mg`>v<6U_S1Ovwuvubzr$!A@v!sariA@%CSMNs zI5tO-VXD(|mMxqYbb*%3opInAj+O)0XkuXEy1fzFj+Lr`;ug*s+C7sG!UMnAh)}Cx z0kk~zH8Co$H%-9x-kplRPc2T(zE{?v^=rgr*MAl*1bjLQZr~A?#ezh>{lWHk!R<7L zXF)s1uw>okj}p+kW-+)8`Hcx}Xv#FS-3BuB3(H{$-u;#v`r)TIN%c6-;$B3`259x1 zZGwefmj*(M-BnqlZ6o0m{Wv7Pchcff)9`7j}h!5AekzZj084TIL$jf zPT0l;b%IdsI20xd%?H8BB%!k&RwfH?i@=*AEaGA`Rk*ku*fe3+SXh}Z4331t455h{ zR?-CP))1K~c)Wz^S;AMm*7&EvuK3~_<_PW^0p<$jh5+DC#2FCH7v6dRTOd5U1)B?n zPF(@gh1ZPt7YS|*#}*5#nAI#1tQfQ|6&f&6Tqdk$`C+-Rf^+c-p_@4ztrYIDmafe7*tffDpuA{5mMiV2*r9 zaF#&K6XL9aKCIxloP4q}1ub2R{z%Qs?x7lprAEGZOf4+gj- zWL5;YEXQ2h+)7U3dg%+)J4KWJBU0IvI?Q_Sh&s``9yfd0$Q=~`%m!x zRJh{|?3s|lDe}4Sax*UFh42@5hh7TX?g6|K&M+S>5eB>muT+@Q6;@sgJ6WW8BSdnM zc`Lk>;r*TPEEw2(!BxZ{J_vR^y!27<8V4(%gljyH_gQH96TlZ?*6)z~DzxEZI7-~q z6(UJu%4jGgi)Jj$s(U0ldHf04NE zH(-m!NZ$D+V)z&kmx{f&0xT1^GyrkASR%mD3Q=L`yHf1Hcwm)SZ3n<=F?blj8u0-C zba$;7dj{A#aTTMj_2MiixXln>eA#!4Rfj=6OWgA}us!14H^8#R zHOt{>uc+m5y?vt817N?{q!>1H#1^a<<%(&1MhC=B6Jh$G_=Ly!4vBUQiSop&b3x1( ztJy;Gu-JDLOdk=S1b}x`OpC@Kj)@~#GdwO!*b80><+HiI| z!+(gIvGW`TLFdG^IUt@Fr?c!;AbxU$%?o1VlfW*Drh1Sp6t4{fxFo(^2Hs`y7W3FE z;?W9Fzba<%!Cey{GQ7Vot{nkKH^gmRtZs@Dk2c>D8{YuHKSaTW;g0z8ui)JktJMd% zCr%v-;(f7;1=Jsi)$Rd%C|2U}oFdVsFR({q<}>gfi*F(To`~~@L$6pg=g0h1OyF~P zCQ3Yg@La6e3?eT?Z`O)miu;&%y%Jk8DJ~IvS%6q7UOx=tYq3`=U~j~C442-DQ+5En z6X$RtdN10pgOv~BltH*JAH_ep%6t-onInA`t@c9Xi|EQS##gaRFvc=Uvg0Z3Bq@%; zZ?d$xJ|t75swP+&E&aiFX^iB<(qyXSb_8IoRCOhY<0QA!P#7=O<|;oy>Lh?SQ5so< zu}qR;`~fCQ0_Wr@(%WQ!snT$6XH1g<*8ohHPO;oI1OIM3urx_?4k9z9H*T;wOOg~| zvnBmS*qkH9HNrUOO1^C%IZtx=8G7@j)XQcE95E|XmT#>kdSdd?avq&@tcR!W8kkX$8Q;qLuv$;8UT8YwXkR@O>S zSn69RO&bN?dMU6PK!%jg9qSF!4*sdlMrknb?k34+8}v3ydBG6bB3Y;)vQ?_q3%qU8 zy1^iBms+O5Sf(_eFVPOEDig(>(zs8+c1aspP1`M<8VF*RRFVX+M`|+;3fWSF1Hkr5 zP3uBrpETn=ZB@nqFt@!}#qGZdOU7=Kg(ZwaHw+oD2miAu&xFVfp z{o<+=!}Z~sbcP|@b?II|xV<6$tblh@s>oUKmLzLn<+jv`aq}H1?-#heE4A1Ua8DY- z5d6O67!K@#)Q&%z{7~x3jgca$4eN4`q>3#7o=C^ypk6G!WAX8+WF8OG&!o6eV9%wO zoq@fO+J3+wUP@7!Aik20a8fOi>|9~9RH{=8yw}p8RPf$N6MI16o%ES!C*DgxdBgMv zsROIbAEl8y0X|807#e?;2G~IFi*$(f@~=|8>QERZm!ApsB-y+tOef1zW&ul)J1`>{ zEq7y%Hb&MKKr&Uf`5o9;*@F@AIC%*RR^w&86(lFf>c1f}QQpOJ!6dmKU+BrQ%V5t30$qkOp{SQ^JsECq$Q!t1 z-IUjD2Dl~nWJY;g9(@IRcVy=b4C1c5F%i6b@*)wp;J&Qe0^$SNo#Es|`3TplBDp5F zogT^a_rvsKxf|!YC-Nfh@)gSiIjKIC|6YM1J(H8$U=Yvc&LiRIg&f2x#Y_3)W{A9! zPY(dEL_TZ>P%2w-bLzF+tqH&z+2sHf-pY$CAo)%nqzCq19@r3)ALPfp_K&hVZ{#O= zNEX0n`AsSGzQ~7@fPIyl48{OQsV>~Wkdjn4Kf`UZYWq(R8LgVgl^H*^u7H@TI==}D zV^x*-IL4`Zdq82l>ilwG6I3@@Vw{LGvQU_$vKRp{SvAQDB2!e=gP}fE^@x$|5#A0Ha>L{1inW|4Le9clNAH}82#=pi0;vChXM-Z8-is%o$d8#;8k>{&^ z@`T6&RSy?n3su%%;V50z$rZ#!D!-c`F2;|RV7NUn4XT`I z5I3r3bO3RaDtjV`n^l#t@rhqb31S?%Rke=G;5O9;-rY>qZ(MVBs7iam!%mg1F0fsy zio2k`TXp6L{AH<>z2NOp`4&PwTO~XKwpX>}52)``ovsCu{i@=05OY*784u>Fp83Jw z0ab0@o`b5Bp^!YJYCazzPt`LJ9`aT1c|Q-Ua{0H~M^tzF0vuIU@dNRgDtj%wA6I3q z26jTVCkP%+s>T|jcS==>rRCGA6{BG6jH(eYSbz(v zH49+uqN*Ab=|Yu(dGRIH;Bo+$Rey4oxuWVh1?pE-Be@TCP36!0_PXkK*6?nqLb?LG zsXE8=Dz{XtEI_=iT0kpzRQ4Vq-c_|@Y2cp9f@OpIs&2fI4^#&kJv~%C$i$F}RD+pl zK2nK)Vz`f0jroZ_QC*IQWU=ZFmyoBb3Dbc+Q`OCemFKEilzgFT;{q!$RZHxl{z_Ga zae0Yq@FFObssfqOzEL%t2I5;)j5XBXsU9=Vdauf^1h*elzcKp#sOq!|;FGG>2IzfO zttby;UsUh7pnO#oa19@&-pf6~B=t?cV9Dxjiy@h!9>y)n(du80!sZxt0A61F)=Uw0 ztMOYiE{rwCsZTmUeY|>r6C@|7GkIcXqPjlIDU;MKIB`x^&xnJuDe7`Ohc;FHqy|K$ zsV}i2fgic&EHy(tt2aQJ`ghLBGu7>Q4r`V=b~qGfs}IhBmFkECxQ12g#1;Un)gkxceU17wD?Dq}6@CF&r{4SolIzv!D>2Rtb=G2F z8`Q_24Z~-=TJI z4dPDq;$r~2)P5a6+^sgTWSpfwcM{khwMz{AWvkCK8QH5|w-UsC>IV!b_p3iKB+gMU z;l6aPdOa7g1L}Gl=Rx%jMqP*0llnt1Pkm@RuzYn4r{=@zz7yc@h}t*`V>znc-T=g7 z>VB1h9arCEZRUjfeK{zcR9o`JJf*I66~xo(yPhDPQFmum?5r9q1wK6WE9#wBpMDK1 z1?rrE7}*82aW$}u>hpydS)n?+IutIc6V0H0Sv_qv^scBg8NyvvchCX5rhdc=yRKFa z0^C&JGl$z->I^2mx7CM=0Pd)_d&1aVwHFt#d+PnH6Wv#@MM+9o~kohseYzzz6jWJ^=h7kd!b%17N%dS59^`+ zO5HUV3MFba&rp=A+gAd3tsZ;=B5%}l*8;p%FXay8JN4D6kbJN1=>+V9`W}lwAJtbY z0en&q>W#sFR^MXO^+o-HwVAJKi|fEfY5chRnxqM83M^UEx;j9L=KMB*(VB2Q^u}oN zIJ2i}rtwCO)pR_IQIFF+;gPNJnu%PpCTQ*-hxdt^{NqrVr0L8hWU{98F^E$%{WQ1* z(=hNnhmW%T&6kD7DHOD z8EpgJ3XKQ9v6Y(6B;p?;;PkXwQ^gOGYc*|ug5Ek!yEXvpHOa9685(QWwl`>6f5tdB zYG!NUZG36cM!?ZRAZoIU`08t?YFq9d9d7J-gx0TLSEc=EHR;+|(?2jiG^Nl_jTf|b#VT`gc^lq;P1QWZB>=#5qG@tu|&W|p;C7yK)MpO z4C;%NZMA_dR(i6mwM2;sfx=QH@h}vYDaB7Qq~%H;ql*DofnqXq9rfF%(uS z?kpj$QO+=_U#pDp!C2NQ2Y&;$Ub*%+tYjz>&n0e9W^#SssJM8**e0dzSr9iXz`ci^D%cOU2-QVwcB z%v1ENpXDpgZJ>8p*~riLi1Lit=TT*0dssQ9w0j5axbm?nL{2CXPhj(;(v)xHDaE@P zjGb17`atB2((oOyvx;*utejIm7XqADbQbVXpqz*Rc0t)*0qPf(8r(=MR65jvhfB(A zR=zGPYq@i9McKXq3Rjit=fS(CWEkM+x>B?byc^0LRzPkl%cG%iOBuEm*lnfTZ;-sB z|VP)d2rUn;d&X?vxt-~?Zy=sUw$sS;uj?6tCNJ|y2L!0DOh>0^vwnDgA&so;GCPub$9Vp;(z+0mUzElzLHw#rkHL)`rR}-{ z#3XIs@xYR`T?@cV(H5SC`e^Izfy5 zZ+vRnm}Fp+wL{zDPE66}JcO00TFX0-#BYiyx!P~m&gHtYMLV$?^tNiV zxtFy~8(;^2+qLI7Gh}L;Er78d+E+m!?$ml50=7##ht;Ot+TArElBJ!n59)igSChcY z#y?5|Y_E3nCGhrX>vR3vuU+W}^&D;18h~8w9L9MMwc0FCNCj_; zypu=Hw#pkX0c?}iJUO^s9>BVPrfkdl+75Xh-``zwM0F5%%M0^x0a@~KGr7!})9x%7 z@+!b9_|3UhxsDLG_C$*E4X=~727IeX1F1pQ-=*rTzXCH>tvlh#SnqWD7nLPyt5q$b zVQoO1S!UrKCr7Kp3Q+5QtIWPrJs1UBt$2=6SzlNoe5a1%Hi*@S{jg)5<@>`zUMlUn zeBc<~g#3_Q!`$EM^)$*}&igUm&bwjJ%5aO+ZiuSN#!%q^uOgi}fpyxNA5?elURl-P zqqUwD`or$Z=TNe`@ENW3owGl#?Id$ItAS&9#cTHbkiFlXW6-rEwb@klcW=Kn=C$48 zQ55SUZUGfo)@IG~g5|IIpk1^am<@qK%YLn)cggZ<0EThdGQTx=S1fB=!Q@rTwKJh` z&GOnD5U*QW+rabn1T z-sYtK-qPm=Y<{q`;H>=7QpXkPlV##==zX^AwHOLtELSfF_SN#-7&scGugUKtN&kQg zQ?lOHA0S0vtufq=)>pzSqZ*^{HXC}W`ioqO#_AV7f%-W8FI6$>@%pMmK%Ah@dJQm9 ze<2$Rll0~cNG9udCqr+Feu^6urs`jx1aX@Fw{0i(G0yUbKx}ouxRjR>f12> zou&6Hg2-%rK4ZAA1irm+Q}N1aXDFc2{64^*(oitE{J9z8#6BszH*B{;sEJJVI2SeJRKQJDH*r>m?1K1|LW-EA`_1$*?+oE4{ zAH1#l?Od3)>08$T*sh<>(=3_#Btp*Ic#wo^Z$1x)YKXLknJt-sj@yez%b0~p(* z&v=3XX6x5+KYp*?#LD76eS^su*?xW3B49asXYSnR>bI(a9njnFgUy5b^$&m@(npPk zWS)Kk598$Pf9LXcSf9_7@rZuzYJj8qi?0BV>GiB(9oN6U3hyWM4u3-Oq`r{(;3@su z7!2aH{&QFG&gh+d0nX|VG{BI~>3ykwUZ27PLk0Q(#>N-)ZblfpsDIA_f1y5{mBmZ? zEbf$C)_aeI=_~qYFF?GiKV1MT*YqV^b*}5ZSkk|NlTpySsh8ft^ez2j*353}XEWrv zqrX`KM|bs!mEqx@zR&@@`}!uVQa{j(e?#w~-j0Dq5hS7hNZ;)!Y(Cc8aU=eTK9JX5 ztbg4PZlCJSqG9uye%EUdpX(>}0C=GfxC@1s`e!^a^h$5dOs7Pj9Rs(e`eY-(YrW%a zczB~vWfc8ZU#S61ztcCig!+5EXl^uNx4`bT{!cV<56D;xsxv))R8$QS+H`ah<| z!Xsc?jpF8*wapNC+GcZu3B`7selwwwX>*o0bcfAx?%wRQu~-E0T{bz46L;IRU5&wH z*_>(*$vrl?#lW&{TC0KWweffhY@f{_H(>j19`K&$*z{@!EZ62)Z>S%zdG7+72W`AK z3mmd3_W3cbo?#ixN;eIztk-?{F$JgX#2Br5CE`-8tueK$CRK1|OftEG<{2cXREXou zJ+(r}SXiA_;n8!5Pp|NS;nj=^HL;?p(kh(hygIW&@pcerRk*@Z!0Za;CqsQsg+~b* zQ1M@#IBuj{ZT+_BZTq}n*+ToCO4LsuA1sIFS=%GJPF>fo9c5( zx?$SA7}!nIjA2l}W%>{T;%$>zBCtEAJPp8IllwGSxo0ZRLjHYId2VYzFpY|U&4;GC ztmPD$vRSBkWE!^t>W@vwa-jFbG@ux!i%mNxg7?&PfSJNGlS60dJvUw9KF14F=rs^u zn#xzgMZYrLR>nJEBdtPt@Nb&seD;$mX zjE@I4#&T z7%~eCR}iw*lY-X#WS?sF|Q3~&HgW+?9nu-s5-G{0vUSR7CQElO2y+OGFy$nMr_X;)`=7)o~ z(XgWh#@MvkkY~z~){JP!Mk(NF!Fb(A2L)K0xZw)ZV+td8*KVR@37&j0oV~k;CYPYs9{3^h{p_W zEue7RfU{uuR1G86gLl$UeJMPgGC1vl!f8Wm5!e~S$w3e~YbfNDc+Sv@*~EE+S18mA z3?rt4cfnAB#kh-xS#Mya(BM%UBfDgH$bGfT2E$nRyJBd@Nb0Jg?nPkN3>nPduN!Q* zZrw06E(N%0@aOA#%h0nH^llrzfP03ke}Q-3pysmoz#vuu@u6YO zuTU>CcznXh9vOmHg7?@kay_so1~CJm*znp5#HWVJB~W-~P}Ra%o*UA+L;S+vU;&#i z4IOqt@|7Wp1&tEJ5WdQ#hVV>)*9JZJAKn;ZuR`RlVK#Tf-Wg#^o z9}V`Iko;s=X9Lrp4ZAp*elc7e1d*?XU3w5l8DkSL+$7_JD1c;RG^2?Wqc4wUj5c;> z`E87`;{aGmHRiDtIMx{OGX^ovn9A+n@y27lK%8LQ!O(J|(a3CMk}>iH)F&HbYQV!3 z<0fvXO*K9WzyPNi*Qy{n-Pq=5fEmW}taYUs<5{bmX$-9j;w)pmmjJVk4SDKgj`7Vx zU~`QZx%SR84rg6>zVQ~9*#*YiT8Jz(?&$-ObmI<|J{B3D^7!Fm<0@_xFELJR4#}m) zzc_O)Gv?F;w%mB<9TZj=N7Lp?;|p&1t}^a91BKPbGtD5m#+W$}V6D;94wCDPKP`ad zdZUIPY=&_R%e5PfkGS8z(Kx0Kz$WASaj>%4s6PqsTa0y60k#@z`@rTlqb>`2+l{MP z>dZ8rSpeP+6>J7Y*k zj1}-%l+9~zy`W=tn`@Z0ce(E?@89LugQ^c?k)U2iF#OjKSOQ9e*JEI%VKo*f8)bI~ zy>aEQFx2E3BZa03j1;Wu@!?vVv*OuoD>vDi&*W;|!bL#a($5=hD_`zxw@zp3+a`)N zRhxzHV5e=E4%~JX_+Z;l=Tu>PM+CRSqVe!(C+0xQJ`1U|%E1RIp~`V1w-lUyW4Y4# z1tW16iD`$S2E3RdXf%_|uAmi#kLAmm3HYCxnHl~sG;Z9acUV-D__%PhCW-NJO~T@$ z8^y%NL^O&B>mJ!8GA2AKu}4Ic=&yo^O-zW4ivMA%%tTaV z_a?oXk7tzGEY|#Hhut|7qbU$2N zOv3+SM#jV^gvEqM{4ZX=$XJql$6@yn_bW6qCNiOMIPYL+kBFXOiBSom34{AZ#5eA3 zhW9BnKA}fsOac(p5&k9Ko0X5={k|)I!#JMEsE9a7BF=*rjG>PQ^)Czm*~d%SGa@V@ zG47iq*ba?}7>IirIv^r0J~B22su02865z)zm8VV}$SCydt6-QA7!8h2~(a*;{)YatYZ1Q#X3w3gFclUAht)UO~ z57jpvWL2+5yLL7HUs9o7vGMiHJp6+~y&SAs8bb|^?rx#3p4K%&-9z=Q>X~`DnnJzo zt*z}ton0M6orC<~rsX%LwRJr+Uk49+KOfhiP!D@wKWCp%M~|jn?*6_tnwt4I8$vz& z96}vkotoCr*Vp^R`b6}qQNLc(LCvk2Hf`zR($wF*o|(U|L#UH;fUBc(sI!-^pS_>I zFHO1CC>y#924L^x7#iqm`gVzc9-dClp=_*c=>MOr(15TgUiAMG_;$UaxI~W{17f4X zuyjY5IS1hOg!=pP3XJw9le2rMM?8Mm==%+H`F02YhtM}$bmD6A^7s2TMBGU)Pv1}{ zd&jcz{V&dc4)6c)zuENi^zp-OZ`RZ)6oYc~^soZvgi8+f$73mbqRpDtGjp}}4fPE+ zIXd|J28TMjIh+1-+|9lX`~Ql3^YG(+0Q7VA2z7M#babnMC&T}lVf45HKYIs%mrzd^ z7raz8nhtU_`#vhGHpWm0IC^+l{bN8@ZR&l~{QeyOrP#`>>>6-`?QvO74u-Nj_3!80 z)T*ADkDp`Na}E8*_40A{b+mWK6LE44u=@Wvd($OHZY)hyk3#D)yOz3L8l#hp2bP@cTOPHX+K-<&qP(HV#Lt(*F??wbrf3ZL2v&Lq{vPk|?>8TB^>f#WiWW}Wiy>`y3m}FtCFe)G z?T0hi((UU0e*gHP$A9i7?|yfREDX5UoJjo3c#y@%<97G3dfdwHTpC>U zLfiXoe|nvC;8}pi=Cr@;!SW#VHkbY3vEMw7; z-L-t_T9gny?^!RX!{w|JyGbWXxyKV#WoJGO;(=-qC9ScKt!fFE%^ZjRH0hSYzrp%$ z_aCro=wDaqB*@u|k;X9$=ja&_38QlKxIG?l7|@b7w;!(34h$)={;O`KTYxM-LX)}Y zUl5%tJ_CaSX8~WE_S?%Il7in))S}v*^2PTf=HJ1b5^yJVkMpP z0=j3VcFN}Yq4PmG^ekU0glY+;;Brg>OQm~nx@gw0ZtZ{ITEgBI0MpasWj^bH z3kjVPpytzVNkGZ6RSuMsY8z=UsnVJsjna8E8w?oa$E>L*AeZwmmGl|NEz&Xdwe!R2Q^xD*Z0h`8n6a=ZFuMlI zDWj`d#!Y{>|8Q4QxGe4PbiqsVm%ywD$>ZhJLkr(+?pLSXcJkE`Lgct!(d_CeuW&4r ztE9vTZT5$fgTs6RFS_5s=}P)7W)H#85^GC4GXjoKh<$S2Qj`u; zp=Sq@(ip^R_fft&_Y>;6Na|f>;L%JAkenvMOdP~MDPWx5kcF7wG&6;IccjMQsDjSK zOBUMw`Q>!3?2C~}`i4Mt*~H0AV!D#8=qna(n&K$ZRM+Vb|jn!(lBSdjGw~cO_686=YYwwC<+2 zPHdu+CYjWk;{aO_miDmu2v$K|Vd(Ur_h2|rJ_AuJTOyAM_}Re%B8#eQ+JXnS#`VU83{SdwKKaF0ST+o)^JUpT z>>nrZzEO5&zpP%t%D$NZ)dL2(bBcQfHo?F4Z3LEjT7GA~04?GB?oqUx=M!8T)R|N` zHHH-~^?*BNI&~A=LgRyxzkl4VphAD@yQGAY2MtCWifDTt*IWStz!L$sBf}B?;EONz zUry6asCqpuv*<^_9a_Ml6UA^2jTc58 zY~lU!PPNR*@`{s9$E}Y4-8+9zlst3V58d_Glm9(wKKAujiqv-pfMy5v69%CuB|PDY zD{C@xfB29Ybg(SeAE&NLs$)+y;u1!x|5Zx!lABA17yJTH9VqdrmFwyt^tW)lWojG_ zHAt~BN$HSWk3oblzx?^nKYxbi4&&}}cMUH1=Xc-z;rl=Qpp3DcqJxv~|1kMM8FMsA z;d@7X+I+N3O!H+kgMl7Z3`|3DZ9#7-=Bc-04B> zo)7BQUywAQxV<9kltNLFFOw@HG(d;peml=VhB$-7qM(%}Uzt`fM=@M;XKR)K86Kco zf4)ClR@;9A^ZRgzV;LRtQ)x|*Lvb`&AGY&3Eam6jeL9rJSmRJyv-D5^Nl{;6de{0Z ze<~H&+w+6+qTc=mciUs&>tIBIap*}r9h(sVV=iHi5g`uZh%hfS_0#2XeQ$?*{^xHO z#KaK;vw!s$BoF~*CjQ^+)p<8jp(NNrJ?9O_2iYF|P4Frl?$?FfsfKi2?o*?FvPk*~ z95O9_2R897V^LHjo_1np{Na0*r-9?OW=+1=H&$kghu=j0Ru)S+COEE8eLkv_d@gGo zdEq^KNA1W*`Hrcurj40j!ioDAVb{DGe>@GsB2 zoYta@4Yb_FaxTnY^uE>f<^z252xB8pz;X^4eUVpyqdq{EBHlNdiCVRR&j~Sl`SauM zQ^4a@cC>cMAuEwJL6mI#VxDe^^e*l}ATCzEO!`f-8AavY9c-95W~7ABw}ymg*VRG& z`SX{;V0|nwi3uMgGl)fj5XHJuX%}p3m@DqF7dL}C>^pHex^ZM4{bF2Cj9U5zzSaKm z=>hOmHvxzQ?o5OOcDJji`wP*3@?VJdi+zAU{xI_I$$x*<0~}j2quuNA-9Nsbz;6B@ z|KlI{zrGjc2JlKEc_B>QRn{y1BVw9xbgKLWGX6jHTA3uMrXI>QgBtKut}UvuoV*(u zaPHg~miGaz%+HN!Esj)yfwukAsEv?e%b*H=Tc1=o24gV z7SA$y`!(HWAx`yqf4*DMY)}E1g)>+qK@i}keuu#f-6Uu#bJbUvIxdXOZ#^wteO!O0 zlCQs#0L=%WAnD|AcrN!>k2;1`YW3sc5n*Z`YN2iOXFsIDpsYR`rLqfpOOTy#Q0wzX zq(6iX_9Q~*E=gCa1#zGuS_f13Nn;DnM8UntW^u5q^*#0=Jfl76J84ak%?PmEiw5MA z>uWBwZ>A0e!{dj_f9Em%V_Q2@7ZWw(+kU#-Y zAHMOR;;Etn98h)%DL2&wFj7JAP%HO@!^_gaqJMfL=^iE$t`L9-6m$!Qm08IYJ})YH z%Egfya`*8JhSm@>>hm^q?>dz;w`cJsWmJb{>r-an@S-|`yRVqH7D)n{5_#+6gQN!W zZ;AItdc4s@vDU13hN4MJro`P@{t6@w%{GKi2Q%e0?g#kc=g;5$sxFq&6OjD?af*8a z)btdBT=kpP@$z)q$=?Bg02Eh16Zx&@^Rs(Q5U>~ZYSq1WW;!R#k~@!hldapma@Fgv z?lfNzD%@#(eoNUS`_*IDK+PG!YG08m)kiWzCWp-+2}XyUrWz9jmVN(v-uKV@^PXfr z^+4=(bVg~uBSEGp7}e44z@ zM7(Bust!iB?s#;jEY-noQC%ufrwdZu z!fTXh#wN;J3WZ&Q0;Y%s<(gXha0p5YV|}+s8zYwA9$_IduMk=!J>_=~J0zSW%})Ya zqB&WhxfFW7)xk8Ce!ub)%ZQX zKnXT5C<)eM3IeC7z%2n%s58;`BG5J@&ZijUU@E2z%5Z%HARyC9=vIo zmPJXeqFj&(F4_>q{9mXvxr#{*q=$2 z?kZ&fX{-e4?L51XF`+v8dvOWuACcfoTdj-AkXVL-?SqSfhc>L-nfPV&J{EaHKOLzkWxbb!8I6OIDFU)a{8{XOs|W#so{n2BYC7H zj`jF1bNKOrYC*k(Fp~34JZ;l|{K@|JBQB!@x0U(OR0)SZr`t_k{i z-9#g^WH_!bZ5jZKlpz{+JE;RCW1#bY|c`8g+7x5&Sg zF(sTHozcMS@wtlI<#?cAVB`3h@Ee>>dj|94)ihkssL_r;A&QE=D# zovM1UWpX;m$P|6vEmfJs*wZU=66HVYAXBM+jEp)cnr{#^P1d|*QSgs+lEb0K5jH02 z*^wcdl6Bea_UWzF?~Pa1GxU89_L-WF{U+lwEA%xzv3iD{s!FwP8tqR!P02=8o>~$%je3{O zI`i2Shnp>KL5>}WY0)o-T*I&MBnkxkGG$#D5UP3~B2W|M0Kx-H6T zQH7G}_1 zg2V>EsYZuEv<>wVH6B-t?i0I^UI6V<+|m3K-l0#Z#~Ks|j!sP7=1Hd%iz?;^Ms~uPV>LJm6_m4P7sQS!*b(evlIYAfR!`% zVYl7WjW|B$D{IY=rA1>L2GI-L$4>~SylemNuN#ia%ZO14pl`4n=(?tI4ijX{G2J`g zYs^+E*rpMi)fY3IqL8oZ+E`|6S^A5lueqbAc_{XRa*i&m@OdNbAQ`sNelg~kX!|G` zeF7mE7zpxNGF{X;uO-eXw2AsYI2}Li){7`$t07&A@~D|OK#I6=`gS@OI?ptzTML04 zuu>+yJ9H{q;IOunSko3l@Z-$9H2@W1I4%M26Gpwgt-?svpsp|DHfnw7ns3|QDvea0 zOs}Fmxl$vU)!kZ}(!Ec9s47~Dl3s=lRbojrwwugz%CeO>ii=@u-Yx7FA2mjQ?H+Xo zYUokdY`;}k50oayU_7c@+%x>gRv(K0_P`wOy}lfT(j! zAr2MJ)?z>p$hQx}$&F2f6{R%Dk{t&F<@N^;sw{Hs(!x_za0m-AKcDIbiW_iHvNlkV zBN0Xt9n+E@Z86*!mAKpqv&{kFxz*T8w8y1Src@J zCIi5EDq)tZCovSwHdGsG_`5U8;Zwqv>Yuwt6l=JZCuDH8e)W$H$K+#%*7IBeZ#fHe zz_?ZAh9wF7#)=AOol}BUiSapBevzpRlXMbRw}%_5@W@2PXb4k79y&R8T7Bc{;9yX( z7(XXI*N{IXlhx&Rk0^*oPpt49{Tv>}Zw0A<5}@-2#dY_)-4T56b+2r%dlG_j75O3i zIY>_V=f*y(3A(?e(P~Ttxs7dwHxKI`gN`L7IHL8!1Z)59xX~OH^dK%em6{AF%Uv4d zx)SPSNDukRfGHll z55cY8+xgNG&DDzzzE&idvt>xZ0EJ>GK6LRZ~u-yHWReH5|eB7tP!Cz>Ml{uyT^&r>p_&}4_xHjkU1OI7H_ObBZ>tD| z?VU6bcEzlyu``H&O<8PK)8p!SwZE4%l5apbHJa+%<{%IRD03vDgL)R3f*N5C0%_{O96(P}WNO*i z6f%h*CBd@+8)zi7(B79lWUv?%1C5NngwhXKW^y$ne>_T@ltWaV7rb0ZftNCtwzMeYhp+_u z{`vD?fBfaw-V(Sszx?%2Km9qSv;dE3xI+qbC|CP1StymXwPHCq;-co@!k1aOy~CJ- zgsM#9>L(^N4l%1SCn1B!b152fx*D``utBL$qg1?3DVdt|V^LGj9taN6DH4g5US`%b z4FVNKK4hu-d+u-o*F3`Ry5-Y``WQ6iq>!Mo#V}Jf834nf2A^w8;=XfViD>@67xN#| z((~{I)QrMvI}Ra{?&)6g&@_o(bWSRnHbsCc3KMb*9}&o7z=*-_{|Om6d%s*{WNear$ z&IMk{0Rav8d3FV#!0$}(RgX?HpbqktZXfQUmZ>#Q)iOd3NJv_DIcI_h!cvUddfQu!B7Lx>S=B8X&e$9hWwec&7TEr7(wiy0L{XUT3 zCT+C*xv|M=f^JatrNA`1g{%U&5Mm6SDW=Xu+bLM8yf)|L9umoZ*Q|-Tu?>omMigK9 zLmE^BApwwpSJ{O~3TB#)nm8kaPQI<@il<%80--S<-$;>i3WW#)6+)nz|i*oF(8V zl_V+L5*GqPh>RjhgefI`cl}zYZ20ef034aw*2#6CBlWv}{mx)I3 zZuhrnq9J2idn)=0N%;vakWNe;<#SWujM(ee@U}-{-|i89lFdZbJUr%JOveAwG5}94 z)z*fLBTqtbnpMjWXQ6IUI~pUt<;J*dnZJibK_Pemkup`*>GFQvQ|e=p>;Cch5;KGm zSQ8Pvnl7T2sGJ=v$t=Fg5E!$H|Rex@h$GMS@#0xsJ91`SD>ihP#VV1=eX9F|v* zh0tPQFJS*W7}26t&{Am4lNXdFAKB_zYEUh436*Vl1OXyBACwfbnsD-TU&ax(h$RSi z&oqi4BudzO(p*{77kGhmJQ03S2n~sY_Zun74@Y6%P&*3tXo#q)3^2f5CdiIW>dsU2 zPlBIiWOa^%HW?K$(~@Dx;M!e##7v(4LkXolP1fKjt(@6wWst=-GT?~R7?$_xT4$+3 zN~(R-KL!S()F*6B^e|&S%2&E2`(#ov=X&WG<;0{9XXp00$?U{cD zwyNr;6(P+jDi6uA2mwU&k5E8hoRZ^OH_I1x@n$Pqtg>pEBAYJ8^?eWzx(FNr|AA&V zK|EN6@^FqIf^gx~YyEVRa(uNbP-(5I4c18Y>-2iCel>_oD56&G?u4e{uy7Q$x{dO8 zuRc!7ZfO!AphiuO;V5{uWEq3T#K?($-f3fE_R?i*7iJ=E`uPMAAXUn>d>?qJSwIU9 z=U8*Q&Q+qxvQsxJVp{XS^hxM4mQgc}Kh`Q(7>iYm)}N|4vAT{i&5;w6ok4j( zp1!2%XLrjL`Gg~6qQaQk*rDRYbH@^7^2VQf9$ z?Lo~E{~J37b;z{A%rXCFdxm^Ab3u^RLmG#)hNrB8D;4I>wnkb)i-7_!Yb$s z^&a`N`X|4mov13WmJXOvh2k~Y0*Z~?cjoeCYDvJGkEO{n!`aEx>*-Cjt%}af)^Ne= zyCFUqUeEDm$g#j0H72aAH+ytE=^>Pxm>yV>FR53Vo+A9P7O-k4u?Kw-3}BY74bT8z zpwa2(utFIc?P7#wG&$gU(Qn?NyWJ0J4!|C$T~3Ku1|toU8P35{zz>YjG^Yjead>Uh zdmCeoH@9Z#yD7{(;Cp-4Kyott8v~Bst>^egs{}xdNv~5$95<`e^M&d?LG6|H@dXt^ z;mACEAra#7H+D-+849|q+Fhq2e%BaQ?iR9rOsw!`m)5Vo{o$BwzEI`Pr%i7u#TGDf zB`=Kl3kOdoU@EtmTBVg6l?}K~msWi$$+JioNL8H`nZht4LddJA!#r#XFx6uUBbV}3 z|6WfVjZJ+^DPKGwj((8>OBDv0$0I-2!$qb&qGG&MABW?*w%l_Qd+MI0>89jErBq7q zxHFZ1h{c@NhXU^ktC}*rzS#>Nx@B-~GIsPo*>WSe%xFq_Z}y z1#+^3@j$I5Pc(M`n8V0jAL-fvouZJ7qR61WI>F&E-qQNPb$gqq?-2%Lx$MttRV>j? z0Nu>*v<5^~YH-#;H%oYZ{0<3S0ZT@kdi1! z+S_nWLnOR4n|N5}Z$cz&clRq;ijWssSi|*Ey6>LJcgNj#GAvlmo~xEy2O5|9W&6** zhcYg`|F!p(q9{B>(U5FR&{G+(hy$9I)=jwa{03Y`1mAvxxkzcH+%UBp$X*1ma#AD%n|$%Hq$aW#Jk zeJ+Q7dLP$)1Dw!C0761D{Rd$gv?+03-01lzG}T`>oFZownSGkLRK1qQ5pqvW}qrJLijV#Q&Ccsn%B#6Nj#J%I%B^0^{s|XJ0sf8;AzkS-D z*y)k&l0>YiOND|SzqUT{;J5amy+aPiCjTJZwRPkgxF6}#vMUk+sLzIz1d3d=iECbW zCi1H^n<~Y;GOD-~ES?v*Kk=N8510Hm!&*F}ahI=DwW(G9^ zgnKxx=^1=AU#0L9Q^PJB)Fg@8?bR$ivSLtAl4xveDt(EA(4UyX=vbl+F>}Bq2M5a; zu4y`C2lE7z68MCswRlmkBS^UOu3AqyB{fcq4dD>0w=k;y3gO zh=hhRsNH$OGoHW~+s_c_l2x`rRi<}7xsk8YFQDhqz=g$fI-~S3cAm2X3NL z)2c@mZFyc8fqk-J$KxX58niT<-bf0WFUm6YKb_^h|k}QmC+2pR*eS&QgZMB`z}UD(4ES)#~;qFf-YLqR6Doh(y*cGSbj!#pYd-9c8X*kXygw+wDX;2v9}|SVlb=-;SPfG za*V{E+QSX@G%``SliN=sL*SQ(8dWZ?F~RY*YQa0~t^rf;v{@mn+?#G7#vBi_wDl6` z@^u(UE|!ywK48z6Di_$Ap)2HwoKC;qz8nPykQbkBjVa9kq*7OIfomqB6t~8dkHJhS zx@u-c(e4}wS|{z&8SX`s?Bs6d&12O`zkqW~Su^Xl>>@?}oq&@V!)&8PV`{8=MTa~z zrZZ}wL8oM$F^B>f=|f4d5J_NRjd+2U@>_XPE+o~87U9G?BKwiZ1Ny(YHV}G_fM6Gk zrKCS_B@~oiQIQ=>B0oT0V2+J;3@d2?W)TDlNft#`>Pdo|YI7$!N}IdFNNo&f+|IQ* zUWs}Id7H?+6$Q(>aFTk0_+=jh=+U!u3%ew}Xv;XpV4`Vsdc8j!DpoNZ*98w~94fX; zV??)+h=sdbVf#FzMd=FRB(eLZ|G=fgQj#$k7miyVyfn15c$T7&l?*YuJRGDT)Tq;% z9{DOg&R#8&R`8}#E|vW*{KA{FlKCVN@HcFyG@gl|;bth1q&2QUZyyFTA5;upr79jK zc1~dBnRv{}E^CxPTiD7|%y5H+G^O|Un8-;~m)T&z1yo~L&d-B>DQQfQtxOtYzW^SF zUDh*|O7SYV_2KVWLJTOt(wE?oh0wcV)^rZYwpD$%&o!_v($UC9fZ! zrzaA2;%$h`)=nCDwHd7uXipOLdVA8l*&k0kHx|>SYu16{VS`dq+!6Oi|*NS>5(`LJ>Z-R+1>RyLcWGCS_&9fuV z2B~n-gWH~?AFW!uz^@}kIQCXa&&ox=Gt~TsBb!=PNBcA;HuKF%OtMFgJzd!^xdTM} zu>tvFSfMVGfei~7I+D%>@{iyy(^La<_KZvyDkP{?UbY$-)uReUIx_UUl0E@Fyx<;5 z!i?RKoeUv8WHY}s84R6c7#B+~pW^MrKWzt`(z=n;d%!(-sq?c%b}_RvA662|Svgr~ zK$p^719E6LU9=NW$8|NX49oMvXLD5t=!@$<-u*HAJL`c`JHx%w<%3_x_VBAW+rzs` zs%M32k=<(|-^N%2k6N=7odS|~!ePBRS|Lc;Z=B4v9Hb!S*{Jf?a3FZ@jg*}9fBNpX zs_w)O7Wp!p4X&;xicQdMpNsnK^RGYr@|VB;_T8^vM25@V0fITV$Fe55IWtSqtX4~t zE4{qYywt^oj^%;Hp<%vDg1^#NNQ5CFmJOH&Qxx*@v$w~F%a3k9i1+5tE>8!8f}G(D zD@HXq#6qZK7)2MTcr`$E4!2bof?Mw0kH3|0i_=GvO!tQms0GQy+ezasV?{>dQn*2% zLE~qK#$ZsOLGn$vgoU_pDN4`&^)7w7ZeX67J^{B$aC2HwHzh0nw!|0HoPh*0t!%YHjS&GEd zr%QHkwuc*BZDb<9p{gTe5-A|cj+P7M9Qn$SG%B>9>`WpY@<)KI3RUU2Nv@UWq#dO& zyrh`NQ?cF)Ty8Z<9=6=LS;~#G7;+gb$Hmo5P7F)x)F~x$I^S;1N%Go)E0B4oZx6Ua zW0bs|Z-9Yg=C#FtqQVe+XVMZHpAxu9>Pc=@6^W(P12tc%#wGFm@d;;ff*1bVzJK?Z z@BZ+YpLjLbhx{{toZwdt$6G}|Jx8EHc4rg$MI&=lroYj$=Km4iB|8sK2%xiRZJKE$ zU?%~_Nzfo?f9UVGC){72i;+iXG(J5(S8?9uDV8n*b*)a>_pwiv<)X3u$}rz-rhaKa zemEvbCHK>@Og*v+ut=f|sg72+&`6*<@7`04XBlKuX}*W^AM#!GZ>SU zf=q_m0xhjT_FJd}LvWZU9k>3WKEz`7)}D;*v>eSvd<@*1m3RrhO|J+j>K7QTX0Tcd zJ&+jY3Ebz+{rN!%3n6Jj*v!wgGxS@Ov`ml=w%>UeH{EN9Fpd20je8AaU|Rb@L}bpD zcU~W0bL4E37G>*VxexzYTot8C(fHK#CU>xEyK8X=RzVn41f`bOBeUggNpqdflT3wX z?X@HE$4bV;2cWzLeF=qRD80MGRk?u?z(XY{=oy(x@6fRj!lYkq(9uQDSVx_7>NgAk zg6&w0^>VsJbG2l95U37^dQwAryg8j;^%S|vbE(wKNdY=EA*?C}FhuaJ6WHc!% z_=>^H@5~V1g8O&$7Rg2bZ%COhT9{>7hPIMEF6Zieow?}c9UWq$4(i;>(`nDqqwzPJ za}Y~D@e(zB)lw&c7tm{v7o0?BF1(s8^t#;)HtMTo_Y*@}#TLl&pz1(nNk>%v+&G$Q zf*whwjn{>RgJIn>uoe92>9_Awy!Z-?JLY1Sp;q;Y!aJ=pBYW-Hx|n6GgcfZ00-Z;_ z;}e@U?qRQ5S3ur)v1r}BA`Cfepoq!ojy{2Tdj*5tKYrldqmhV*<0XoCZ*{|wbaakF z)p+9!$7bqbx>-&wiEeaRoZ8sckgls|VeTb%P7G{_2~h3O92uSE1Z3uj(ln9nt3p@6 z3Ygm_Vh}n54=!71!mqrb%l~e~s(i@*R*qFC6I>xQez_Z_An5OYxWlIiI*lZ+W()7T zDt(|Wn3$>`ySfc*k4AI8!J&{FnxT=joLpt%20b;Q@kz8d2gjU{ zeK68M_Td~w_C(Rro{->@uy*homji-U&{Z4H3FQ*4^?VQwrWq!RH*h)~XSUT*mLVwZ z0>l$xQKH(qp`}W^^;vpGLT7`1u(g^(QPRjo*dqMP7Q}&OB=s4-D`|j(tD8yTL>g=o zy>XsYu!vqHotq(e1?WaGMfgx;P&rjVl?lp2h*Ue$skVn3M>{gn&lkC%KwVx7Sys(R z^^}rhI-9Hn;%ub)-d>(vI@`nXAW(pxARe3%wz*Cx-f7RAs`S-c6;~HmB&**tJ}_ z3F?p665hfG$)8Zw-cP=n!0|w)m_TGjNY>^Ybwpmtu}XbPR_g;w3$hav>JC(K9#ZI+ zAw~Jn&-n7e-S3nl`FWh9YeA_9G@RqIW48mJQCcsObmdy?$P|S}lQZIY*vrlz^eB=l zYl#K5ha0CqGEtF$de(T#uvl}FRtO?2xrDmC>Iq8CWg?42){sBcY{|Ni`{afsF9nO4W;V zs*AAj;aovg;xA811-VA-hZxQy{36-OT2NO{gix(DFse<9Ay6 zQ#GicqOB7O!OO)}gLYJ8c^V(7AQZe*_+mo(;*6gzxXE1Yt3x05pGtFdo(TEniDAspv;=n}Ffq zkr^}yl%mb84X4QiuG%Opw#J0v5;U9TttE`i;1a0q16vVkM0cxJ$LfXNs2813Z{#?| zX&NjjN3sT%VII!-r_IZXEH^3 zBN%cn?9Ttys_edMv=B4U!A-&@AA{`t)vmZ)Tw@N$eelxQBA~Xip8J`RW``1VuQ9A+N*mo85mLVCQIlM z$IFQ&zoyTo|3X&*QDh-{RWfulmkiKji~AGnfhuZOKdAPDkhKsu%ri6s9(eoIMw!() z=nThF{Rt>RGKEXUug~B~Quw)A(>RwayFJNBboySOKoXC*Z4$8}^UXG&>MkGKJq7?pdi*uN~Lk)%gPjU)MPqCzDfW<;M7s){6+JiA? zma-HS*n*8@R7?SjgV}cB{m^pfRPm6atxir&~-> zYFjBR0!w0<;&xHHSUFLo@Rz}GgD^)XDt&U->W)=ajx2wRis(|Rj?L2jDJHslgx$Dm z#4ksst|1aoBMKG;6P3;yjq8T`1T{?6T1fgN`hG~zvT$?(nfbNEPb)({{5}GqIHLj$ z&YGl~F>jhO*9&)F|De?f%?fhh6cI<<+)^=SK0%a>U3J$tp}?C=KCR{r&B3h_MO@q< zxj$YGr->z*xE2KrDM%GrRNC>yw5&8va&_wwF;p~}D`XNCD@`C>?^oynINpOQG3MEo zmB1ZS5=Ho_V#ax-#fA&4uQ+r&)vlVPN9y{GwzAUBy&AH~4hpCbHHUx$1?haIXSTc4 zh&mn>C=sAJrkcfqvXAF&%33FGIgbS8wRxn}EfyFaxdrOi$t#`h3qj(K1Nxfejll$< z+>Mo(wG~Ll-vWRC04YfS_@JPI1I}0*!@~c>;Pd-lrFRd0hSFvHG=>sfO%fTqo)^-q z({B6Mc0evgy^~HmwU7MFyj%isvDePH2d4k-x4*cQ%oi<7ys;FMD3$eisn{=tX;6?B zrC?)J2rD{U)5@iJgX5J3XWRad)a4{u?_p3L|(L9F-D~>+8A7V>)%Opk?&CIbd6GSa@J0wbaD*n|cak4{xYmK2;Zr%^SiAc6*} zNUusLrQr40?yck25?5FDsT!G#INDf<8*T?6J@Xa^WAC-uRa(na<`k#cJv|2k_T214}|Yp z^=@DbuxgF(xyZ^OvSw}YS+qeYDUp}z`cS_L#`gv%jnitJ&pnR<+Al#yYUq{0sMJ&u zaSW%W9%jN({(x7a*mZ`qporA{JZ!gjcMlKe*t(EG5im@=5S^inG?I0gasg)O=v?WE zQp5R%j+mARYA*z2F`y8s*`*q?Y=Sp7@+PCTV^YVYcHl=y3*_EBrr|VQ6q!yc$00hv z47wg@wD{q>9~s3{Mnp!F%y1*XoS-)tX^_Zpj?#vq#EsmO!(s#VLmST(EThITQr4_q z54KkE8HS4beYf^ome7-zcXKYepeCGkdV!ikB?g5$(0{}R$MAMmTa9e`B>3JNnbA7>COVS7^i@~l zMkD16Nvzu_iOJS^oP}Jsjm{P@G=&LCDN^NqgltyrwVS0NnYu685CwFXu0mzUI4+A^ zVx*rmy!XfeT1#~YLyBBc9TiS0h!*>qPO{&2QM=bLfS3p>v#Op9aO-By1&vp>3f_CZ zobm}zuiVpyETPp_lAV%E3OvjaK{!ns=qyU(ZVvn{-kOjn*c|fXj4qP&tO&)7RN1LU z(WrvhB-8l?K?b`EUjFGxu+9R*tzX+Sa~DfU#E%gER^db10#k?nf{MnZKgFyTK{K7= zTN#-sn{ip;wrP&fO>dV_zmz4REu`{N%Qq{OyOAl%WW>x|F>b+T0u}1R3&H@o5jv=0(C&_1*nPiV?)!sE!5!^@?bMZX-NQz!Q?Ru@7V!~ z+&YjLmsTU9%@pMftR!jJn8H#U(Zif7HtS)h%Q&Xs3SX0NaVeFrx6Iwtn5*7Uh?opn zhuoov&`!}4xfsxISvb_HAdR1UlO7;djAe{MjknxK%P z6*nwA)Z*3Q@4k!HQ?d;c>Cy^fk@UU=gx(mTz>*mq^3Sy=FlON3gfoXSKiPZ0|L1GG z`t5Ol|L82)lLY@RJ?>`I{%wnJM+2i-3+Mr`)-8TVj|3{Mh}3X4Q7^X+OS7W>qi_Xy z{||4jl+|+*if80&w@1XGAg4dTA6>8wa?V7f=E+lrfQBDzvAc|7vweGT4{Ae zbPlb3*hVv8p2GL;pU#QDsyU|L8$@2u;I1;6urv}jxcor`onlKuIbv)v>$Ph911B$GfUQDyI7ObcuDHMb^uIo%DXx*fXnacj8aJ7z+7#&2D5WptYAB%RSIa&OTyL1b zZx(7yp?=`{zqsSKGi*3nwjkEy%W170wz49heW~EMN=)4>Ub$J0SoGgw(uG2(k z;mPLC{*pixOm*T=BkdpfSn^jlKL| zv-X>o1${-I%AH|E9o&4Rl2AzI)RLm#9qJ_aa!eQ7gE}mwXCg9A3Vx*Qct&`;Cc_xvpl=R72I|4EQ8^(rTVkZpiaIG-hePOzT)sfv2i^ip0*h4*>c0p!<^oV^<4b5qHOarEm zg{u>A68pz)JhL%HO2Q|pBJoZF*!Td_FQ?CcjtM1t-;4ku^+-WuZ~1o=!~|H1I_a<# z!pKzFR77i1CYYEswFvJ~xi~ga-cs>mHK@gd=%LB>45P^;FBdWK6Da{Mc)EI^#OqZ( z&O;DJ!;^SMQzt>`&I=PXI+?Y%jR$C?;Vb!cWykWOf#ponGzy;Y&KLlJF?t-M^G2k_ z8+zyRK(z7^C!BJc&eH$RTWjrwv_E|Me5c8w!kv(qi>A}~KQJKfi01}5NG|GbP{nd7 z?giGajZUio9ap9&;B=mrmjX~zyY40vtEQxyk7udL9o8GVtx$B!UOfBXE#u)R!Wyw6!Itrz8A$k7w1clwey2nj)is2e3RC&guh_o z+BMad8p-9t)Jsf6%oF7#yCdNo7G9Y?gQ)@()k<&`@!dxhk_H1-y#wVIQbfDCgKCr; z@KiJ_WRmtz7pub5FuIw!yuZ?GKgjR~KRbq0gR%$y=K0B|57uA&Jq5k0=hImdpkTD# z2`K(pv6=Wl*6cK$DD*D&%(bF-ToEq?9a*C!gwP%A^X zesXhhR_!53$gU+bH%Svn>RK0@FFN7cIvF@6fhn06)Dgn6Vgbrk0xBQyCtnNoAJh z7na#2&9Xe?1RL6i+8T6r@?a#2vksI0{N-nO8h`$raAo!MIu%WLcRsTOXSx(o@0JD^ zqKNvIrQvbohxNYh-AZ2wUw}9a#tgbzg8hE-zSM<8Mit-`#gWQR5`a2KKq)RNWc~Mh zw!wYaA*8dN{1-N{U8|PP=5m|qX3qbzMsqSS`ES}kV74zmeo+m94hZ}oQHV?_inT?f z@5g{`8j5QiuwbYW`N7BsPs&cx4(YACygr>wRYWN<$RrS3d6iIFI}gnRt7H>xI?+vP z9=H|yS|_U_8`3{lwM1w<>Z+J5rSOr<}H;PH_k@%XkvXytXCdnC+=_M?^ zMVE&Q3`4Sw8T|RTQV#oy&q?RA)R$f;Rqj~VDlEJNy%P2IgtU#M9M7zf#jK!~BSJpO z``UBUH4uSC5B~HNMVIM&IgHKK#?(U5B%5UKey_A&RHc=LD&iI^hL!Z|rHeZX)_&=Y z8k?o>z!B)$QwxFQnjH?w36}2J#w4DgN{@ngQ773TX|J9fC1+cH=AE14ogxDcK7Czx z(dbAym?8L8BrOqr`9qzeoPKwWbnukC%WWkCW5Tp--&0F-fvUwj=`i6Os+@-;$HpW* zEwwYtd!sd339&yC4a+Drzi~ip<*+QB-x8C8)jZ2uemvzIyu?#!6p^PkFkv`H5rOb= zVd^a;5|GT-LTmQ;&+FS=%6d`ExPqSrv5v^5|BffJ6Q|o~o0t$_ znbrZ86NJ$!I8uzRsXN4v+Vr7y#EIi2Zh!eE>*Xg*GDjI+8;;)B=~ks|5x|4a^W( z1m=bcH%l2S3TDhfooDGOKuOu7o?EiEwIo~I1FQZc%&+oAWM^SepDz#@eb8XGrekc3 zHO{d$OApcwNi^JgBYwg$U5jX&;v$D)LKk`AOv~p#-KdkV2giM0mm+BFZ%AAZRB zLV1b~PQL%cU`-_L zM@vDep5p#J+=`|)(NyGEEsG#_gJ-C5aArL8cPF$h1V`P@x^N>q5|k*v8I8#d1|H+6 zE>qI1_LQ7jcks2k_ZrT1Jl99Tv*d8h6?^(v?6}aB1=TuD4Ns| z;p6ord9R<^YTm_TWtD|_7Y767=?xytNrAbdw;=RP=6QmXxg7s=km;Z9l9sZJq+E`( z-^M(}6|z4C1lYMpS@ho88cl$_Z=;FyQOIr+vDNa5X@9jmeULwoP zbL6HzD8)^+vpG!(GLWmlgbsnHBm6@pXB?fTAThZ{xpam{ME`U82m43o|Csqd=Kha` z|KkcilJJoMlQ99AQM|#ebS=cww3W*VbV8#z!7*1OwUi_^_f^VER<7#T)RvQey;x{y zN7Fc_)8tOq{z=G?Xt8<;y}!lkCCerAz*Sdt4D1pg91c{}R6l4w`=Yrmf{Yn4CF)TQ zm&Z!UtnBCmk{U|P@S`v1=<_^K;aBNAws22XLU&}6zQH}mj3MA&hstpX`e0TZ_>%fQ z5e_aGm*`_T791uC_Gb>rYT+2SIUqBn1u)5(`fVRJdhJ z1b_DUo$C+oqVs~s3Kh)BSI^R;^moveED|O~qUU;9PRhNN$~Ti#!qux=28toE$o})MDe*BMp`~6} z7dFRRE<@e;;&sSd*5JD_%G3lYCs-sOoV!|S*`e6*1C5kaC;;y{444&SF00e#uD^bO zR+w2`YBd?sNtQqbVKVIgc9mFHH&-Rhs{UTkMTds&_OjnS7P=0xqa4-Kg+Z#D!6k06 z??EZ6d!}A~0_f3l5Nhim;Vl2A%U4*U3~hC^)V^!W*PhPVMar)#(iWd1o#t>)5kaE3 z05)^1YGtcI!$GZTQo24-^l$xl`v!ApIaR+|dCRgcdAzNX^zQrw( z*DnbgneBzhP(Z>B!n`75U+6Hp#l1pDu)n0$42K$aMq?7$m*Msbo#5aIx1%&mT0Kz> z2Xh91>;|VmCbd|C#mZ-nYb^x5lKgN;&RhrxX-|@H#gBRa9lF-C9cAVXfUqcymVik2 zk+{p_DL_`hk{hI+)kTc?mhjXEPAmYuCLHg8t>IVeMjaj(24!hjOd`}gK|{KMgsxZ3 zUWUza<~I-!o->NSAtXxqFdSE!>a~L-?$-I2pZ~?HoO3r26n$>`DUUO$3f5!4Uw@ps z4NFfB8R0GRK3QIH`>+!3?*iD&a){_81I)jmj#UZQfb*dK5ydF~@-tSFKL_z4A=}J( zXDJ=OO2?aBp{K6}l7>Tq6rk9~1UUzu%%FoR1C6J5Uu%YGiD}1|qvn?me$HR2u~R;j z_qO>cxR|##4bAK*wdmu2IKDgtga-ZA?nosyCghFZ_N1e}vic3OE{!9hCQiHe!B7U) zASFwRwHK)#2KTTksUAc+C3>78D}llXk>_u&6X&8r0HO}2vT8%}3T)5D6JT7~+GJIW z2gb|+wjY!{!hw!O@-khsIaSZM=((X><^f&Ssi&mugeBD2oScxoV8~8*&lpK`Q$e{Y ziL4qlsU=CF(&q!|avM*V^Si7D1AavMvSL`a0caS)HMl9$_Uu9Nq$y@-$3R@u_MnL( zZR?9t`}gvUgAQwj4K!Mz2&CFs7iWGG0lE$EZlNRcuW3MIEL4!?5n4O&V|Drf4aJHw zkE^b1)l?!HFBS+iB<`34O8g>{so$hIOQ4uplP2tJSD%s$Y>YL8U~3j%jRT;g8W}k+ z_qf*^#H12wbuak};CS-CH!j07<2I*-b?GWru}21XGz@f#ytZWhiIc+9Lk5u!R^tW| z9Sex0cGf|-3(D{hLAdY|BgxUJat?k=>guw&yWc%SxsO^j5>KfL7kOx)&b+67A*+?lAp{sr@zAChn`TnObtv15VSt@|xP=0s$AsG)yQ<6|%BpL1ecYazUGM3P7 zY(fL)MyDF$N#Uh;PSoI?Iz|@c3q;G~Y6buXEs8xx)yF%B`2h3U3`z1wfiBJFlFc=z zD6>lhXLjNmjf@y%k-J~8NJ~RB2NLc>l_W3n5O#@#{aAh}?sqs>Kbhkg^WP1%E;Q8Y z8vc6v-c2XuB1#7evm^!srKUf45QRnXDbrK3!WHsp#*;+)?HY=#B(+e#a{ndAe5{N-ZmQe*;LkkMDtG>R*93dXt&z09$!IE5U z)r#%lG%((vin2NZCUP0_)J!P#EGR1E(y`r>LKBd7rNITaz%`_17YzjegSYO9{ z8uS&qbzl)hK}|)Z1Xw+)0PA~ps74m7n#Li~=018)Wmi3J!#UnJnm!xi$4P!1Wq@F{ zZz%9aRGM(45d;l8vjEX;lEhai&*MOYpA4obA2E!)PL{6baNua|C7nM2}9nw^fw46OM^*4R?mwY{=(FTS2j6d9YP zUlk~!^eK8N6i{>Tg#$jEYY?U9L)N1~Bvg%XQHtXhKD8qzC0F_xTe;yrjWNJ(hd>RoW>yMptlpAT1C>lU3Nt>2o7|ggu2BpB2lPD9F zkvSnYL*G9>!w-7?{N?!TPrv;7)0cmK`1O~+{l`y#{qwumuP5*R^Ov7~{2KqV+El#= z=LUj6wLS=m;4GIr6dpB68U3D$oh4llD}p{A*m>55ljN-?3!Fj z-cqdvcy)m#0^>=*GG0>7qytnhJWM z0#49j#G9g-n^+ghy~IHA2-9#>5vBmI=14dIHGmo_=v%|?=Mm{4 z1j3aSGa|cHmM59$@=sjcEC0bQyEAUpbpVNg3bq7=e$*w|nT?+iUq1gxvZ(mAA&AOx zu1b1q=zU<~Bhd@N^wWARo>HV14|0tNIYdw2EpB(b_#FW=6yccqo3s|>chnnTOAogj zJQonnrH(swb@%~~Owm&&OBj}x)xJcoR7lV>7A>JoJ6K{w!dh^?ac4+#qoghxC+Mk2 zoe0_Q>i%W*>3qH=5eU7bBsP91U1IXa}hc&dX8K zA~)`Rb$P!UG{b)bK{S7M;0^{Iy5`eCGCGh=PCaE!BweJcB1Msk3TKhb$bx))1iQuA zw0`vkG{$5J1YDFRMXJ4c@1dnMl#QK;I8zclukLxP*``ReH;OI709*Ko6@Qf|g_+}z zLm#h(gW$`j>1nj5*CQ?yDA$3L>^9RK4F>WN1~}QnqL;8AzeE2t(7;{Yep}Jczx?&j zXv6b`W(I8c)sNYDX9XPwbV`;NjAM!qHHP&$IVB+GEC56euIWN@{!o#>TL|OvT3!)~p}EW&*>Ni;-4hY-%hld9i`*dMe2S zf|!!L_>t~)s6nzsF#Lp#F4l0eQdFy3AVP1XzY;XdhxL6(+ad1q)4pG90~YNlS@Q1XX!n4ZP1+6G0kY;s*Zy~ z8=&dd^Mre}KAh|ZHeDjkR3D}L@RznKxgkp49Ih8Oc!#XcZ8Hg*LJdNbYKYj0$B<1G zz@jphj+hzJ^7b^{rO)e_=meID3XxI+r?kPrHw()ItCe88P~2bR^i6pcDyEzoB*rKDvnTOgDMWG+{~f z8zPy8PHWq(V#*?#Hdsnyc5VQ7;hT|~%P^%G<-G(43WI-hwrP`6ZeJ^Ie*Zo*H_9O?lsoJe$WNQ_k24@K>pHC~Rb zt6*tm7Nl7cE9T?USzNbbdt)M(o8A;u_5OT22qD(VfRMMCq;DWu^MV4QB{m--O(h&p z%xP|y8@epB-nLQ1W>gsJ9r@(#8X#q^rL|aGMKe6D+d%=R$QMc>KU`RYz(#pW@{R^EmvBFWG;vy z>SNfR=8t;i*OjQbILA-8WieOITk3$aIjs?kGX=2pP8A6~O@68TT>*j0f!PMxE4e2~ zSwuTsYGhX^*zJE7w2fs^r-%b|Y8q)tolXO)YbSrX;Xn~HAfiTgm2fmy_glxdYnLe^+gR~GbT#CI{Lk+F zZ2Eq-e1CN{y;*j%tIyxu+(zHbe8&7D$b+&3V1COMC*~;;)Y0@%wI7jfBJrk}1-cyBS*>{0j)2}X2hGRlici^O_{VR~~vj@Jgd{ie!#+_<(A&C<$a;-(U z0_73Os~VY72M+(l+2SH(&uRrbAd*(Y%7<{OA}Vo9L&H6VVlX*F&DYQdPGHBCYf;lL zB{_|}T3(!#dDLMdzn8R)ijws2AkHj?{W}lHOAYj@_&BvUxKg9{Ncdn5)p{nZ^lFnY zQ0}vlAtB%5cj}9Hn&D=zNs687vRHZt9-;A5Qj4-ayeJWe2`vzZw~fql;O&glh;+t? z&QM>eJ{l3p*N&$>S3d1eCuy+;BbdfL1d3J)BNayU>k}cK(a$Dn}bCec=9)+2YdukM;!rPw#omV zh?!Fl!xl7ujx|N-Qnx$F`=vt6y4oWeNJHc($H0H5-<@R+Mg`wRB-)+#&ue7ulyZ%g za^R*PFr+7-IDMy|0dNuu)dLOe8B9^cAyC~XSYX~nkUP@mvT*L@Zj~@HjAn#h5hUyJf!{2>>!>43-ge3ky zonENqD5`~}ZC_n2ER!5AVBg(!xZHr|4gLSdfV9gSzJSc4=iA8wF$0aEN};8OP>FlV z)dcKMCyNWj>|zxD{lL`A@iE_IV@BF#3PEczFUU!|#VD>9>Flu%4M#&#cfl_uFb})! z9_?^5k7u!~M+|546pzR?>cx*Gnjq;gKj5(Q!~v}Ju3vHKcc;VS;VIrIijQ(-W(|9k zsw`iIRV0c9uv?V?L8~eyZdvr^Gx3NcJJ~%6!s1a-C%E9kMTMx%5+L(K$rwuLn~Tb( zmVD1cN=8-iLlorSnlQo$np3$VD-~~*W|WsFFsvm3y;rZ=z!8b?sh^dN4qQFvzC%gK z=zUO~*4f~_?WeI^!F{USy(#3Pk7q@__&H*H@rzVdM?6w2 zmX$;b$P5=AD$cD{@&xrJxVyk~OQ##T&{~8oTIC>R`0>EZhr{U;a)wc(Etg}XpUxhB zCWz>b#J)mBV}!E=m#|7UP%~xNd{u|X?e1Y^iq4I`)w}>e*~d$QhkP%NG=MUkqmaqU zJI_xVIw${c=6z6aiPEen<1Eu8adgkP>R1V)J?03~cv_Iy_=L$O;G+OlQ#@kGfe1nm zaH+BXcMB=M}|&hG3wW|Ldp!V5gGu^_itG{RjB!x@z%;g$qU z$X!i6%>@n`?_jV&MdV!E(8$td%5nS_!!f2k+BKy_5QMwJj;MGRox|dWq`QM3Z6iJ& zmV-~#YQs&V8!rltFNX)!O3)^rea#(RC3Ne^S{_hyik?m^_Mqd2J4_*$fB)sTFP?6w ze5G*i(Me(ni*c01N)RQqFiS3-dA78#kh#V%osz0qE<0ATmsGWhLt|uBPExwEl$$~9 zNd1T3v&c=kP8mOn!@4+Xx#~g{f2n4mUl$=WSN?JD-W}|PmR%r2PK>Pyi5eB4g{o9V zfBCq;jght2{vH?iEy_F+`gPD@unL!}Zs90FOFzw%uLng(YFxz#$KF$k>rj|DH2kG@ z;L^$fB?fI|tR^WsDk7Ya{en_@bpAPQ{5;i=LN2_N-c&uBkKmR2``(_ZBhm(YjHv5LtMC)ti)j>!eO zGPUyJp@OS{fs!hI`~2$)K?*LC5!efoe;GO3I;UgEEC2& z*G2PoIcz*fVbY-j2w#J*OC0IRG~o@`X4XSqy`u(t^W!3hDDo}wON`8&`hnOyvzT>& zQ)pEG!HTqO*lR>V#BkRP7)%dR68cEE84m;#GQ80z!fP~nm#Wx0=D@z-l2%P8LEM*I zz#3moC3nKBaa!e0%&lmQr_>+QZVG{Q)m1HmJr{uaSj_Q&mLLgPmXB3nj1kl8QE#b1 zHI&J6QA%haBrn52DQS#GrNo2UImchcji#gri(LX`D@i1>R#&*Z0-wFWBl`5XzuoT; z4K3EC{lh#09~de1i`JlM5C~b!7L%Y?TD;$)C`ob3iCxp>Tw*`Y-_pgbsnR9rmOveu zmn<$KNWNE5!mAr7pbhvl+@jsY4f9pjjm{L@7d*9VG*f&Gc^l4;oN9rIscsr;BrR1} z!V10(P**_kc`BJM#)W_4gb7V{#=!UWk_Aeq4}uoB#jd4P>3 z<#`VA(GL&q;Vhgqc{ZzZfhnt*E|6DQZUA1*D`!t z;Ey`P-JU|mToFT&+_)^#-#m>u$X;O^n%GHP(6*N$X21&26AT`r>ELHqtgAt8 zVi+rf#O6aPQrUUSlcl!j6dY}Q2!4w4v;pFesm(-77?PH5kVl1 zB2@wQk8lTgC_UXKV=2H?t;jv=)FAYY|Gp%L>pdpYF)6KW@Z=?|gu<)Rp z03e%6DzL_fNYr%hbrz2y86beX6Sr3^mr4V=ZCeAe4y1#SC{_SI5aqmz`{G57VSQcH zjS<~n!Hrcwe>kqs4HJt9z}Bx0yy2L@PIB5%l8jK7T~qY#8~7i|Qp7Y}cQegwyggT@ zDWq|u4WfWUu?mPo{vz;^4(uSFK?8QPJ5taN1`aZO;k^-qz`DW(8rKZCDQG- zM3Ih{EhX(t!E^;kvgN{S4Z3iL5h;u5xTnn(c#DCIIDjeK_1R5ju$a#I-H`t|W;! zCMs=+{YP|gl%VMs{|Af+FL8y1+=CANy4}v3Q}v5O4J2igsUgJ_WwTh+keX9#3NkKn z*f%sa%ED@%ex56opo6gQ9>pkHB&b>1!oZU4F%PYOc_N@N)V{6{2>52{ZC5mz29tVs z6nahi)p3t!Ts$Gj$5_-0g2*4NZSv$BWO=0pLv3mJ?f47?gG5JoKjAl4?P$g-o>52a zp}L+joK%>Tk4WL|_2V|BRuiR!ypwRnfSPzyN#jR{z+i})o!k(0I3x6i4CZtU5J)0< zl_=~W5LM?%AgZB|9vSq{Wui*Y3&<06u|xIRploWj*&)&t1^ehU1(+L>4$1X=&aPYK zJ4Pny8@N8fNK)2*`^p?OERcOR%{49EVC5`}o`mw?(8!aA(S9VkpBu71NO^Bkgf?9p zi23d&i4<$JX2&X|wVA1i$Yld{6u^*m{ajj@K3*qX(YDKaO-Q=NU*MfrU| z9f)fUc%|^^+8uO(R zf9nu~iff*c)+`}H=sL761l0hHcml(r2K*b76#C>RoBP%NftGVnRkA)q@&RbH;s*JU z{AaOp_t>^3%HmBh<-#qbMbSlF5x@HJ2eTB~*nqPR9C1Rw^5^!(!*lX3H*dQecb5h8 zcES7BnBG7rhp?nxR5$6mMlpXUju_YS&2cS!NQ(tKsr6Id4G=@$6G-=Vqr{T-gmmy{ zH!rwEq^Z~Cpa1b05pM*k;GClsGf5IYg6PedNNb{kGiZ|G(5VNLnhe{+$Q+LF@Jv!l zQ65upI}(K+x0jL%%T9!mWB7L2tTF}!T19gJ+|jJ-@@aC@MJKxU471}%I?MMt#!QEx zxTf{QswuK3V2x0ZFbEU`5&`F7@z|hcEzBfAf^Ff&=t>T@8Qh)3@!*MB-Cydq@OY19 zG|wVC&DFMGwmM-p3q^XCi5Y(@eRH_;HciJVr9)Du15XtRHfk7NR3b4SY*!_eG$trQ z1ktNzi?qpmOG1~^>@7;e5?mCIEVwfA&oySq+i`{6u#H5(t;}ki-&$Cz2zh`pzd7t` z%;+RxMY4a`A$ugKNu`ln+|e?|iqZ43N8Ep3WgEm1|6t=u`BYMf3~$Ai7`9E*(^%1J zc4bvYN2$qXx3Gd~iZdoYi+c+V&sNj2KF^D~or&=ZAjm2BBujQX9M>a6-(=vp=fbdn zfX!#wZi^`~!sF@NXedi`ie&otE?Fb=k332VxY{;DIGTiMJ}6cyv%`00G5AD?6ilrG z&ckO#xGEROmBWk=P|oVHtWdbOM@z}F;k*Lv}AnD5urIlPytZG zh0I9E+nx509{@%V61!tD`iIT;TAXUCD1jq|44MmUdgmOWrc-#4a0SD54Nn?uS4121 z*62CvI>9`WGNJ9og0D?nZG#!I4Ruz<#_>rG4~H7ExG{%!5!7N z+wHo#tco~U3_BvD*mFLk-Ht-TEi}P?ay4hbN}K;}4^L=gBc(C0AB;$cXblB8ozj~t zG@&UuR@Sbe@YcowM;R`?e9rMDo95RHTj|4B|D8;jL~ z(L#%@W3@AF`XDaV;^vv43Z`rwxLu1m0ejFFN?o0r<)Ifb#)SVF2oecVndF(4ZfPyW zwK;X_qNNqkI)scb{G~u=sB4eW z)=Yc*@j#Da#uNw#1MqBOMWZ5pXxh+Q@N|S6h1DStWN4xsh(uXDCkr6uA=O}*xY;go zb>b67T})9W?fin0-47yY^q-!k9*lKagmwHD*jJ4kId18*bmjr@FfGtrXlO`@OwDtA zr(-i^!>$d_RW)Hxn(pJ>AE`xTl^EKthGnF*8$`w^BceBwW#xQR8t~p9J_wErArkPS zIGedW{YUODSWPGhXO;*@`N6gSVJzgW)TEt3Fb0>7H>DSsB(fX zxFtc^NLHMBuyyq0fyDR_6!#vShzX_J{UO1u5p7DfC41yq&E}#6KvwZa zs-eh|@RTd`WxH!cbw&mfP7K>*3pyl60U2y^(A=(y3kwxv&&Mq}I{FxC38G1wdeFZ( zz<7UNzU#|HXmE*(piZmD4+a0yJj3QJd0qgHj=d)|c-9W_59q%fz9}v-l?@G0MwQmD zfdGcmx=%)JP9EwO>g{pN*DXT4)aZ!fL#WxO#WP4acbqDiv;_RDMcD zcXhAnO7!fkm`_81H*Fz1tfou7mAjM(DF4VhVoPL5E?Le#gqM_Zp0QWpik!4Mi@~F% zU(wCv=Dlb$F%MSnODP&f7b^Y8+^pN^qSw=DKeXc2_*>~dh|^(Q z8j%BD^En%p@)q(3{vXLldXd3(EZU4$zylfqWSh+FCw%oJ#jFYZv8Xp-z5A$SoG?hEzAJ zP)YK98LU<*OQD)1R+E1a9khmrS9hnLVgo?{2KRJ-WW$-P(ai*sh_kt;*fHiq^F(lSwfi+0SL!_UUG2Y zp9n#*DrJ6Cp9%!VTgSp-Jr@TW3CL_;q|Q`)&bUN5N1qSC>csV$K=prcqXUscvI1$w z@`5~Y>N3j?;nUehWh%Ay6oOSkDk~jtJ+MN~IDY zRO<4W0>a;BCclP*3TbKn&BDYfXUnn@mGBcZt)vRA9b=7CbQxe1g8$Ucnrw(3O*F$m zN(*`~8}C3b^UYna2}a)0&^)yB$ZfKR*3sq&x7-;w$(%P}SfgIzdX_F#z2AdeRx(y- z2c%S$%_dU|Q-W+s3`$2gjwW@VXAuV)y8d7aVPEpnH7*;KqJp6EsFoS|W|~#uRMLBp zX^=eDK^?*sUL88$rMDR&JK#w79zLa_q zEX+BMJciVyBmGpVIkPmmJk(Sj9}ZRhRq;^MEI9~Ac9%O$f*-~8YLadiKWfbg_z3CK z3rMiG#7jJa$0tw%Tk74gS%MURI$*YHmrXE)0w75WtIc0oaT!c})GKpPjEEv}wN-zIpjzagxsWVQkONXqGVNSN zlQ^zjdS1w1Y0dk6}L!(=^PZ7Kay`+cM7&^8l zxS8H7nSElZ*@On@MyD$DG74Gwx=6Jl24SbN%_@iFnGxf#LCX?u&61rZ4V5DD@=8@m z>7!C$^RS+TD&RH%pRS2>X%{Jh0l>o$7O5K4eHWG3rsz%5<1rFv2 zT!nw~=%}4$I~b;9beWE}?KXAVtHizSxBo3=KVH&f{$r%{(i}oyvk0){pIyR|tCY{k ziUYIpw8JVBK=)*&@rV;MRve4OX$H$Nl>98)$P`n|yk>KS~Ug*-%`hQ{h8#8Rb|ee@$0T#)(%BGImxA?u8QDhd`2JHO9~ zBLvm>6my1@js&}(fu^~IrLGJ9UwWI^NlK0zNk80L4(%A}MTIo6muc#;QUpA30s0^g z%|OUr)5if6Mcf?0=BU8L+&V>BSVC9qh0NGE$?CMZYw?n`G?d^`wko8d_l*uYJ+>zR z7X(Dmk2JsZf-AcVyN3Xbqq?O?F8wRoC|H^aU}wtJ8cnn9M+6$3pQ^7HouS@0*=-)S z&jg96c31R2;GU8xF7#1f6TIdr=Aol9Q@Ma_QV0kCa%?)pVlQ(U~ zjpp(iq`*cVcYA)>Z;|&6UKgYw7$FWrH5mOng%N>B+NPRLSpHMq%2>!>KY#ua$ce;y zp1g7J2=!a!&fG8srtqR24(c9+a2DMn+(DGf_mcL6JBS3KO-s>Sxdf}G4ILRvZiydT znoMj;=$IdeWnJOm*veC31Fb{W7=2Tc+kY+h6&nSJD)6wu%&aF=Ljs+5f~_Rt$=C464O!r}PFB@OVz$F^fmT+#y%rvoeo5=j zu`CY+(Q!nuQw>3xfkIN~4vt8AA`PvY^P5qhJ(BI#PWBB<4&?b z`PmcYDO9}AL7TzJ4X(7071B5x+>?`(lzO0{r3|JJUhe6iCg&?Ia8+fD1x)G!_QZ{5 z2~(cpfhxJ2OAX@Lm5>`-WT|05vqAI<8OI-oejRWbny2`(wVyxqF!l}aV$1-Br@p$I z0s};N0UcLcO*H{6xZD(8Co%_}iqIIy*snai9?2>sshJsGb+!y^#5ep1rM0qEjSOo^ zm4RSwWd0X~cF(yvGl{DhX&l&aj-FUPNKNmn$T^`%PW}@@b5lXecnjk&pq= zyF3m@M|v~!91~;a)fUD+^fSBDI}Phol)*>{r-X)UU;ZzeM<83hcy%y==8-DOv(C#@ z^{(vlIyOTTi5sL2UH|;;^3xChpQ$wGkGmJ4Co~g@1S{(iliRnQG!BbeRYho{({!r^ zDkSp(EnQ42P}F>|!eS&4QUxD&_>0|S7*SJ|H>gAcVR*$W$@s=ZUEe_C_b#LHf+XHK zYI>8kle6q8cLEei05sW}<2=30ceJfS0tsRsf-UFEdGcSAI7Zup zs23rj$mR8EB`S<#UDB)46MFMmdb%Y|1y^f`rXrxkB(k>Di)tC~X@WEcM=^n{vYs&% zR18@tql-V5y7(%Nd6xA3NBNp0(SWQ$=Y?Ym7y1Zb6I$Q0{1v-rcg<8Mxe@Vlhpeb1 zcv^!E+0&e6QrF6+q~c&7G_Uga#!F?zz;b(1@S{ldpJ|6D&+-<2poz}R@|W&U<(T?h z%*D3THvR~>+c|Xkezf=Mtyd333^1I5V?o=IsKi!Ap|C@HRmO6)XSOwfgqM>sj+Z$u-@4GqWjIpVw7)41y)q~%YiE0MSU zP4bDvwR6wg#Zn{3_`Dxs-qOwmmuki;^B;gUsRNF7rGR=7bG%&z@xP-Y+0aCaX`+z8 zud4K;fmH`~T7EFNH=V?}64|FrspvGI*UL{%#FwPD-$VGee)aPojtL6TVhB(NSjBUx zeNRPqgwv?Z$PuU1MlO>NOt3HpQE!x~Ec?l4Hz|9&^pVdXB*QAWt2M7f$87)=rx=@M zc$Z)emjLY_flt~%lHQ$5Z!{2i00D|KL!@eh;ysLeeA2Q?h!EFd!!E%~A~fzm#EIwE z0}W0;n8MR>TV#6W@ddHtHNFftfm1`IKpa=4RaP`C=1TI1xyK#OaO9PTM}u8R)nCRH z$c0*`M+IGj3~dlb8lNi2R}A|mpq`hqA(|q2lCFi;g)X5`Skb;G;~yN1YJ`{*ym`bu zJY45J&~|^`Gu;U{@yVfoeHjH7?26ME@YAEoqD9=>JdIo9@VQWa)zSC;>IlpyrkuvE@QE zrh(X!nXTLukqgy-0+d9Rh*60Rky5MX&co05oz0G!o2TlkyE2n*=I-WZXJ7B`n(AH7 zsp~m<7(H;r%3cOXv6d+AfMJ3B!$pP-X=)6>)DN=f<-^*E6(!S1TgI8*BiweRT#m>N z$7cvm`y)~VcPN0c-)*&M(56lDi?#+?*k{@o+Yyzr<0{ZVJWvC|tTc32yWR|kYD#YA zFK!@`mMkO8WjKeN1&O+E-yT=%tD~i+p_U|EGQDFM>Y5Ez5Z$ow6=70TDH%-H)M#-| zQqM60YzjuzP)!s4P)%PkS#041ZOdH3ztJD6j&=pkI;6>Kgak=c3yjdPK_8Dth;7H8 z-@p4L!rSqO_dkC4<^2z!<$j;an#}a>c4epF7>`!b(FI3(LGQ1&XC>I84|EOu{ zaNJ0GS-#qfEYOXkuyhzNNHx`NHgD0z9w~MLY|ndCSK6{Jlm1S8Ak6i|-R@*rct||O z8K(WW>-CRL8z(?jWsV+dSZNNe{)X_p&8zRfoP2NA9i%acoG2nh3K|D{fY0}WMYmwr z@l&U1*nvIE?Cuy%`=Svwy-Bhk?!QK8!y}q2Zr2SC4##x|$mmjlM&`&tLEAa{LQ~P5 z!CvBtn^N#J*eTsOvYt)V;tCB1l88Gh^TnE%RX0?| zg0?C^3f?a^18tq_!NPfp8wp-}n-mqeC`Ulr@FF~i=hb};o$aU|N%(T$7KaAS(y%w= zC|g(|r+;kMiXnf+-<#=1nw9ZysJL6IxwKM(Qr+HMjVYvRj0a{@HbmFLkakPR=6rf8 zdWCd8FZFj(9bkuy(eud{KmGJYoWp89!#N45cEQACi@`vB9)lZozl6|tWv)v6Q-;u) zr^>!XQ^~_{->y#Y7CcI0h79-)!Cv45|3K#o_zBTSFA0anlVL+rCmoe${x37)a2Ir@ z6og&+)cn#Cl!E$PwOf3>c(HK%^ejb*73+zFo1qZi<8FAIahffbd#He|?p z;aM&94H&m2MLs?|Sb4QU8x-V}>g_<@hE-9b& zOxrAt>0{f_O5WmO6E$T(LDK@QWSMDagIkJ29UJ?C<5YDTS4u5=t_{J;Np-;1&ONep zmnS@#Zj9}W&(qIJwqal+j1~`Q90cu=Ac2&ca87iPI(N(dHW7r=1au>JY;%$Pze6DNu_vaBMiX*Y9DVeE)8m}uz5H2mnCv}}%y*L#RCUtduR)uTgZR*1w_4+fzlWI-SQ=d{jK)L)JM_&p!M|i!fCBtqO_Ar{8x(YrRh>I-hibhk8u7lm8^ z11fDH5q3I3t0<2%K{l(r36_fsRu03j$~{^TJ4GgqQulg}qI4@JLD(tsXJ|GIlyegU z8Hkz~1cS9;23MI{AHr@EQArxOR+(c5gSr-~R3hS*5I}4coL_;3r2(<&WR+9XF*NII z0M^dkvj5q9CBhdt9O5Ge(HVoWA|}sICi4?Fk-e@ckeSI)f74GBasWzx2*4k6gbL!z zv?yw511V9Hf>u~Dq@nA?vLl3Nir2IKm+fn8=R zR3o{J%~FVRL0NN8@h_L4WnuMD(wGv54u0YEG+ADSVMFp8F~3Sqk`bLM&$tjB zAuZG=HgIXnFW>F5kLRIrLEiR#%op2zOk?g8Z~;1bby^`h4LNnH1!{l?!qA+2JJn4?UB(CMB$oiT* zfWFbJN)_-a`gz1)#~SvFs6_o{(C;Wx>CGm&`ts$@H(+-|ng#FT?f`K+ni1ee6(@}} zJEU9&WX;y%I$W}6v!ysSU~ORWJt~#Qz-3Ujd1br;#9CiN9DTN1rGbETRbqr*`Y<6~ zDeaurds#ljQ&!p`RhXv$V2K)0t1{A0VxtNY#C9+{g#cB{=pz$#u-pW_ ztvimmT`_ebsi{PsUPx+fiC=y_W}{zfAU4s#B$9Nepn~YRvSFS#ZGabNS_K3Msq}+X znL#Sq?d5pX=d=V(z#+o$D~E*NOpg?o4jdvzQRZj~szLir{{9>edJ|QIYbeijJ9Y({ zwo>SI>piwW-)(At}fQ+vC3nW;mI3q@ZdL(`zWlVDA2b3 zX?j?z=$ZpAb-xVTK=U+KvPh zlwpMm016Zy*r2gAY+8u?`S{J!}4=P$A;l52!j zD^=Q?B2h_kdCf4bI5W6%S>g-Hs zlJ15eoJB_=%aP&5xpGT?xbuRMiTV;Jy0Ux15MHiNGn}VzN%^itn5-j(ub(?@@rO5? z-QB=EmdEtb&d;pGd6h3uu!?-LFh=~dU4;0(+HgqUq(_0+9MKSun@a|sH>cT*cJ{mb z6nTLI3!*4)ZvjmH8%IG00KEwaQr=#vp&hD~qiAZrce)Jq!9TnTK_kH^#>uKo*crXA z)Vu>#_N?g;A2=N9d|hXfLK4@C2MfW1M92?@3}w^h>K+x)guMl8>fiI!4xX- zf_;@*CjN6Yy&Dai`QMY@KmPpg^M{|`Pkws$^YPv1kAMFF{ru`*eZrUjt^s-m#~$EN%O4`zG&6MDM2?140J1Ai6!zDv?c}TZDJ%%9 zJ?e>~*3;u2_2#vc;chGNh^+>Gc5|YaOXd0q&wA0Kt%mW<)n(A{e4+5uz{3urtZwyVp#Yjw53g>E!g<1+|Bv}c(|MFbg( zhIB;faM9WMOt@%kk30=@8jN(XX*frbsd8ROuzt8MdXfCipaPw9j9?uC-j*c4npSlU zG^XDhxmaTFnod8~i^eus6@|`-3pxVm?Kr=t%cQ%fS%-U-bn$)>ijna!DD=93Gginc zMt|HtXLOc)l8+{HC$S9FR5tmPt$L5oi22jLH3qRJ#_V8>L!(I=harciOk6dRm=6=& z6n&fIac-oWouLql^2=$3`Ey7_4VH;NO`C4jg%@{C~UpCfB~d@ z8}ZA$FA^^R1iJ)&ZLS|_dYia1Fen_5wEgsC0*|Uby)#?^q5d~FV zC0kxQE+K8`A5XMzx|OifLc7O0N6Ekk}xy$P}&3S`_%h8y6wXtoc~ zB>UI>alKImV4-tVyEk)F0CX4!b2o}%__z6SIjOJvjvLzQZFD1x(}PV7%I&5 zt~yK%#snaQW_nz!{SIc+8|-kL?le9f1XFeg?rLsmvGK!C#pP%Qvr-ZLJDK_Gkoe(L zSw5d)=qlY7Ry-7XxuC%yx&MBJQu<8Ym_QFhO5X$UkX{^+7v`lA45Kiskuf>hLl3h-&mVbGR?^*fp&onKqj68Q(Y(KD8FNc^9v z4NhOmfmFJ&SdHaC*0p3D6~8DP;|o+mS#O_Vn93BP9@CZ5!J|w8+**)5N#erO+F>te^X~) zv4(Z%%?#nRq&Jm@qj91hS}YVf$CENPYitU2Y?r3h*nrOfF$cRh$rzq~2qvKLvAgX+ zhXf6#=&k}ns1?Is-lR3SUB12ESfQI?r)P)+_D+R@F+td*h(_e-ov3-;Ft@+C0?3*v zoAY!E(O6MPtYNnq)I*O?ou$Ga{+an&^NDFlM3vw(N_Y%u5Onvrvu_!iuG$M@|;oxCrE5)hFMXpr^0u-6g8b zee-yQ6S`g93Ws~xoJ6pqbajSWhkjp73q#(;)f@KXAtxkANpwA9co{8O*g!L+?<)eF z0Xd04KzI@0HrffJq8^%d2l4+!6>mySX z5`?}YY$nGesgoQ+9@V-F77boKKHRauL=Db^VSS_ujq+gp*d150QHt>v-WbsW_xshM z8!j;2iJYv37kMDf>u?e-E{N^i5Xl=*@@ zU@7SkPG|GAhR&v;AZiO`Z<7PV~IKy6Mbc>bJNk>?)h^_`QqKiyvF`+gx{mUgX1@>2O*T<`~ z)5ZCuV<20~RIlGMeH{^W=t3l>L)|SWT>2g%xP`z$T}FWjvEB!=n~(KrZ-y!r?K{H? z0)>xU-J)9?t13BrP*AM(`sq9;qT@tWq%-^7SOs#SoLZk;-)eWcP42ElP7OvnlErY2 zq5#blNS@%j`CF4HN+@%8$dA2yubjOAU5-_P22`aMNUYLA*h~RXFeMlm`b-jKDAnU4 z7B=L?<*4-_rD3KO5yiB-;{tAwKkgB=c7^{D*y>_z&MHqKL3TLkX$12O2g}E156d`f zg@Z+GHHAK^^_z7cL47O^W}Yv$6f%v0eyF{%Y7&f~3&915qoFPu%9mW`>1>l-7*Y;i zA#N{?kdui)#m7v6@K!fId)MSjgv>%QWJd~vVbW(X1VrH4=cRUX#%dD`@td|9)L+5zHX!VAL1ujjqN_ z)Hv=Cdn zE9AX1)*$GI;mmaw@`*ld4n2qy zOD0Q%ffw<}%IdXlYQ?zOYZMj5CnHr}sFle%VcQ+GGs3jHqH@+Ybzoy0o{s>3P9rqKE8@QAc>EV6e_o9hG8ENIA6Pn)wbXi(~Z z1ntSLJG@8ZLth6;!ncaM4ldNkhpH5iwPZ`1k|)Xn89O6pvT#X)c`Ws$*9#38RYpnv zc8V~y5l;$^du+rpw>K_}Ah}UQOkC_-tk=#97~*Atu?vxBlOIs^To$hvGrHT)v2Ea) zUGpK0E6asccYnkj=Adj|{qf~QOHueggBW{LkktxAzbUBZx1_CfCduZIo?09&!3qW%-S@&5z;s%o>qYC!Bzkn~ z(@k{F-S|`Ff~EBf-J#wMKc@r|EbVVB4EcSw1=BeKM!`LvpsQE6gG8pqOYPEI7$Aq& z97Ng?`Tm6Ti6-(8RkGJIOyJm`QvoL7XdvhtB$N&{a8x)+8n`HHFtb z@%rxW;eLPj5XK+3MAyR|sc2*(zbjOdu{sCgF3FZ@D?wuAcUk|dEqXUB>JzhMJF|r3 z#wq&br_)_pI!LyVltZc52`=99 zrtTE|oJ^Ojpju5+I}?U?M&0EZWYT;`8gMZ04$I+~T-)ht9ng?)U~zHUM)3%nXGqB2 zT+r6SsS-G~syA(3BF4g$K3PgStf`}C{bQXr*PCN)hQ)F1Qis^{j8m($$x=_I@PxRj zE(x)asahfg*z3+A@Bx1cl7U7soJ&EyH%T_LsBTz>v?fY>N9v*EiJT60|0sbY4Vn{M z1QoMwI<<5cYp%G2z7ZB5wgF^sWGzaDNQOj_(MhTev2I5dpqzVKVZ*urnh(aF!ZD?7 zZ+SCpo5$nr?wO(m#9u^(A7OSXc#Py6R!4&nh|nvKfH^5j@a5s|!do&*>8DlwZ4^o% z{U921a*9w)3mK`kI2ISghe0WM_3-`o;b4NiFJ^v%eJoxA*OTZ|$W}c?(L(J^%gJo% z)=TB@VxV-P*Eh)J&&n{KaSk$&MB`jD&uL_!hpTpoQ! zXGBdg44MJX;#OSbppWTG)pk6@fIupCi36e|< zqCgi7tvP8aO%EC8~t46A82KAk~;g$W8_6?@ELEufpZ)v4 zRUu!JO{mO4NDY4Mj%cGexa8!u9gvR@l593(TtUAIoTQHXC zpso&7QJ3Lw$iC%9V$3%v->_&|Q57$7ECI1-X~Blvm&4WvA-17A+S!KwJl%$RY`+JoifWi1ztEqf9|*vT0uhx^PPHB_w1bsX zF7FuK^dPqTClP*-PzUdjA|J}7YaTiuYXXN3oupV(_3@Q0F_y<*332|Bs8~e$gJ2APT*?KFlWVSb zz_^{E=caxpNKx#=#ebm2Z4k0~RK*A6h)vHua`mFjYDP&X)k9=HbqJE>jTb$YVYqY$B14e*tWWd3!Gb{i`Vr<0?cB)ZW5*@rF zeQ^z5R?$*4_d6l_IRGf@rYdh9@VO7(DtWHX4dV!flTWQtM(IGMfCAdu8n|u1zpEXN zk4pLRmHx&L&SOfuC}N0sT;VXRJ|hGE`p&Sd0NWk3W5e!(0wgLPbC1YYiV^7)z3(!6 z$Rqxy?zp@QVWkjFc5jb2C;{;ZzOM}@4rsx(*;VlkV4aBK<&R=QhDfNep_P41FOlV* z7P~u1w(+}aH+%ffRAFwkfxxpjY|;XCo{taQ%rPG>5SCgU=(dp?TSs^6B7#)Rwlr9XLvpCHeD2|vlDr4d#<#~c%9v|oZs$Q0r;46tbhZ89nbU_QCC1F zCr%0Ri)gCA9k~O2+CQRs0CE65L57sWHib`?4mJNNx1Ib&&C!>L*5Gpy;}QgAFw&tV z!#M<*T9FAf1PjQW-28Mp{6f8U!IKO!DnCmPG9;rvh(wMr-=NN`eDM6W&`|{()m4Xr zd>-XpVX~v)f$SP3^lC6I4cdKJ@3VFf|NZ&bA3pr}BfJeiAx02N9tihnCOsKtq9W!p zXS!~|D%Lw0ih`aZB;27ycOd{th-uhNi;Et?T@spLbVf{?sQq~$JP@qz`rc;H?l3zggN_$bo{$;k?g&zxr3*vig?TP$ zTUS`2Sx5a&%3J-{D9ipwf}6ZMdDFCv64J z#>-%YsFk{UtiPVokZo=Rh5hk)dbaI2k0?nrTQCBmaT}hXFDdBNj_bnQtH11piTZXTQ?l4rT53C{cR*iKa498UwX1=|Y4?X*I_cai zN9p1>+)*j2%7Ztmi?!HY-JtYVza|~e^n(AlhC@3+Xoy`f-`sw?YfN-6Ow>)Vebw`d z^!W@F9(qb%-nh^MzqrAJ(GF(y=P6Eg_{Xd^F?R?%OhIIastwNPvFA%s1_91y#mc4c z2w0K+#fHfuYF4JY4DiEIeWz=FB}Zqp_;EEQuXuLmHZ4)oG>#9ZtlFY@H?%(Dl7nJ9 zS2m=F=>H7CAVJW1x=h4i9qth~yMMU4_!eDGp3qTq9)VOjMYSy}3=By%3bc$OORUyi zL-4JH371y;qL&LZVl!m_yuPechIQ>pYMxt~sK2K&f0r!MdYA@qcgF>mNfF8c-5s6g zyNLTC+-paq$-n%|eYHX zJ5JLGWxhgk(T9L84*m#~?~Zm*zCTYs4YoVvn>D;wHmmS7tNbMFJ&r1@mgs{iPB&G0Ru6Yb2SJmW+c)^J`I`MD zc1-C4le=aa!K*D=bFVIQXg>7P1h7Ld*Z^c(2bi0s3eY~mDt27I0oH{{fcVzS{89YS0)e>PXTM5egtYDj7T-qPA|oU^v3nO{u!} z{l{NEea5xj^@U_BfyT+YNj0f7tDD%$)>y~vr!@@R#huO_EBUWtOLK!nTW1x~U`4@# zpsR#_J!{HXgUJy}sl}n^5J+R2Bs8~59-alkY^y7TZ~hlLXMKgDX95#j$UBU!u-}2^ zy}=Hacc&?mW0R^xxD}<2n+rs3RfvY=8%W{u^o;SP0WI26(Dh@4=B$Lx49YkEZ=@Smm!n3xm zXgD@YG25jZiP{hXEqMkBlKV6CZtfGmj$UI+#h}?X8;;C1E7=O12^kS3AkTMP?2+m~krWy^iE?Dxg z`9!6~QuwHzrw1yXODLfaI+qyIEDKe=*eV6|J=Jv4S#&5gQO?t~OB0HB|} zp0Gk^<{6=`pxT%Gt>EumV>LSseE>Bdyg+uoSo4hP2DNKm-MXM8e<7<#E8&^etxbn& zs!%4%2`IY?#33z+ao1VfzwpEXWWq9c~ewM4;HUWj0)WS6-T=w`dK1mrpz#Mz{obgGC< zRe@+#PP`S0gzy~Obu~n^6J#$6;i1Uo0rgGMKMA9hbj?cSEIJb)GtE)RbWz75!m2yl zF~b?O4dBtd|9t=JhmR=6`j0oie*EpfKm78yS6`~gnKp%m6wd^-BLW|P#D5;x z8ZDsb7Hz$JP3y5B4M{cvLKO&<*fm4C?gs4GhvZ4}UIzeMhJ5Xvdu8d(bwdG4A;eS* z)Ga8Wy`(@$dcze8s5tm=cxdvU14qgP{W_N~=N61&`H)y8x|HE{n&I1{Pk|W`m8OKK zR3;P7gU~jOg-4%c<$=s1#ZGJTSRBPzl^U_?Y4|Ru=&ErSM0d+REdNkGSS2vjh^mr= zLR9Xhp-;u4xIHPexfQ1&=86``l!Oxd5-eN|6_S;pWgRQ4CI|!w)4*BLnKOV9bgD&V zCpAZ97%10!5T~Q^Fs?daK#I{79|tt&|LfJDCd*C|J%h_l&)tS9ae;-^4F(#1*N&@^ zfI&bnSTh_x=1#Gt7GmWI9+{#i+48QX?Op%6@7-`z_U?GR3*$sU?yO!JUkkCYmQf1= zBjjUr$luyO*u#dHgxeZ9b6~!i+$EIc-h=s^l|Z zGEHU4;})A8r7}QR_H55kn-gmRmxB1!y^0+6&2grkFQ%!sAdo36_yJ1^MG!(2%yR$%UTtVUya@%xil1w`RG_8l_r3yJ z4`cIW8#6M*MiSH`6UPQS8`qsyHVUX|*8J+kDIlgH-3MMY?Wc6~m5*KuxdN;+H9OSH z*{Y=h6qNoHyvihfttz;yd4toyA{&`Wb3+Y%$Y`$}eIW(G3(DFW;tegUlfn+jf0nGQ z`$vmZQ~^n?ehfVmOV#|0^&!+S9>#c0s*&Q9jwt;Z`WcBO$nM>mM(UBv!*RXONdXhg zvM_#eu>tz`!o6l%yh*>ov#9}*(OJNI&?=x-mz{-(hLG22%zRqLDN-hQz~p2&CB~- z_UiVve|dib_fc0>`M9|%wK6M5sG297Ls~R%!gQp-EMS#qX6&TfOT3Kf-Y_l)TJ5Qo zid0TQdM1JOmBFMP^9KY$usr*;c~~;9eGYSq~WxlrQ%(kE|Y~cO{*U8@k{Zl}>e|Lk{+x39`4~i|+dfB8+%W7hnuJ%Mkil z0;{$6%CpLXsKF5eES1})z3gC6!IX^s;&5Xxu)h%8`UtHC)zk{UgXI$J%ARX}U%fq+ z(n#Y*ZjUm=UASk{b*l9NU%Hh0VA$&J>2WgGlAxAl@IuPu8bzC-QVIH0drSz@pyuOi z){S=MdNn%_7YYctyHN7QTB)vXaCWC6A&mG4#aFm>Aw^kQ9@oXOiqpAUQOZBu{UdIw z%9087OZHLdp9GacL9>u9+0IhDRAWjd`q1{k)3=diUI(0c;E@`6IIPR_?OD&3(Fzta zhnv{*#d>?H8?4nb{Ba`n<5YD$%J5BOgjky3oizke*pB59N-!}}&7^B|L5ngixDdo9 zB&&hs9$6reRFq*10gBB`dx|xuP2t*BEN%ikvmhxGkpNeje#P6O+bG?Zyo`pu zaoo)S83sf*`QD>wQDyguiiN|0`V0o+rRBBB?4c96R%X{b>QFm_`>pIw zrBUcG)}griLLw?Waw6PrzOw!c%LQr}P?i4OAzLnZX_A77b@aL!l}7 zJ1j&EqJR(WA0ACobM2*rDLyZ7B{cVJj)c8w#2hJyT9rsJ z9*T(H@M6}F>rBu`5@w7GxR@0tsPVCZpao%fbuR_JWJ~0ARi{cA4Y{A{n&=GcYGj}? zc|*%-?yHB>#$4TD2(V=(A`0FkP};qkB@!%OtFb*#2PwJSUr7wwAdDf^B_?aG8%aTs zYXP3-#{zrc;y7da4eBZYudi3n{95q;q;kgtt;To6ByX$&2_hf@I0f&- z3c7+`Wa0#(C4|u95;BLA6;P=%vy$aYsg|v-pI0!8Ho!F)PKSwCx^Ty$C&CR`LM@9= zi4sZEouEW{lF}e!SZ(>jms5N}nbLelq}+UGw)gSF1W>%|FEfky zk#bS2gF%21e{NUBa|80tV=jdZp-?96L^OPR6=OIVo_TYDgqWhhV2aaJHESTK_6ofx z`9@SLyhn)W%j3Qe-C42~1m`%sk+9QxT#v6vd%!sMbCr;)TCx$nL`$ACl}X*(SBS}l zs0)EnO#+fFNt9Q0-_$Xf3O@eE&;jOBmQiYBWIyAXIvh=L?~))DH28%<->Kdd*(ib{ zeN+5j!ZE^(@%lVN!7SA$gU#aV4STkxdsFE#FWc<1vEGl4G}#(^w4rLJpLTFo@BO8f7A#HWw?Z<)oTEVAUe+fE>ut{4Fts!lUd za~G&P^|+E(jbJ0#3fk-8t2O+l-Kmrfd@hy7_kBvCGcgG99Q!uA!&99IGL4`JBiB44oM=1$V zytv+cjoR1#ky+dwOw-+RLvS5ppKOP)ymFV#RkOZc-G0r6Bv>WWJ_Co^5LgGh_IeE! zt7f=3i+fc>W_2GB7}QA>kihfzk3YPhi)AueUQ2s~swF!UeQ2NTO(8ijGkR9v&A6Xr zw8(;ATC0mTJAPU9x@bq`Y~|EZH*Q-*$i+pG>{Qpfp3wnzGgivKo}@=9@rDP)8@~VL z2ZR}3?Z26zo+5(~tBc9%307ro50*`=G8imbJ=0eXp}Ts>vJ$vFr9u8qzH%zcxpu z{))XCjC8hWI7fHJ0L1piYH?@Io!#)(S%IvZ-g@~AK6n@sK7(m-Y{a*xKW=-IB~$iS zpsN~tREw-J;E(JK%k!LmH7>Igta5b7pV^rp&vZA+!-ko4I4*Db7-u&Yj&4V*!@7$G z=682Ds5y#?VI+HqONk>M8SfnQ*i5cDluMCgdFCroCF3=wdp5(Jw~S2Gmn86&%;G10 zBSPuyCXJQbzeR^S{%Bv`43EFOomgI;6(O&EGO}WQ2>33u739c6C3EzR&MgqLqL+Zs zP!FTo;E&_YZhQ5JLNTN@odE}@!7!KI_t1M6?yP~(4pw!RE+P#4dtz&@k$@^qZ1HfY zv%Q^3y0z8$DfD#osIgfJ==}U-YdNBq9`jWhxQaT_|6w= zHowj{3^sOiNjp&GwO3Pk1V`A6vf8Nlz|ixZ#GX%O*G%-$E(H9p?o2seXHX`8YAHp* zikZY@i@-$jE9^3jRMFRjAS{n`s%IquZKi#}?ZJm`i(CxIfI zs+TlN$m^4@f+mJ+EtxZ>AmTY<#{e|dowPFWLJs;v+zE-3$L?1?m})?ezaSnWaH;xN zm>1^ashNxYl$8W~8T=uvjLZ{Asra#~6co)8Wr8>!>M})fRhI+BJ7XOj@6A#q4=H>4 zn$}M$jBGY#T55H%0lPfrh$klk>2nqp>IBqf-A~)s0*CXHI#ivogD~gg6h4@Wm_!!V z5ouUh?PM1D9})_N!r^+k1_ZpGxqs0AhBeP@z=?AOK)6qigiwHun0f7hj`lcT&P02} zEq1t*MP&Rci;3^@!kN=I>F>COWOyJ(~d!?&hQ8Rhbl!C(z{`d>3cQWTS!=)#ij|SFbx!9VOaYa%oUsRKp;+57MyDx3kmD+;50(WX zCD;)E?$q7*Z5IKR4Hek(mR;5_+r2Tg+*gXBSlg>nT~V@4XxY9nJXE%3FWJ|O(jp;( z*kX=ShcG^=81@S73)%gh4`)D|m4N_K)4qM;X6#(Lv`o?WPQH_>;mx_DzQ^7DUC_Ah zXou4E=PAAOqVLDU#a{lGRM13cM7zYAD^)uO|bNZsmtBiIp_S6eg1V&6R&vMT1< zj&t4Hr}EdT-$G_KS#fX9kH&E9l?IMFhs#RpyK;{@hHv60S+L5FEM(zyH-s% zli9UOu#IDr=$T4W>XOCHJ*wXbN# z`GDX>K{|#*9lFt(#Puqy1}PLHZakPgs2=J(xHCx~OzG=pcOzLB0sXU!&8E1-E0jt$ z8*KmVNz6YL1(Oh)?ljr@K1Uh`K@6CdNZ=LT8HP~5TKUn`vt$ zGuY=+dlvVeWVdcLqv5#1JPE7_LGE=4-;wg2{+RE{;BMKFf}nZ=l|^ATWy=>ZZ_6-> zOqf|feSf$E`6Cm#2zPEwmmV|+^5AsS96XtAPOG<9BO@=a=jc0Sm%XV&u6vQ70kk+a zNX5^?{g$py#8@kgi!k2~`Ie8|D;v-Kc($5P+lOl{69#6>d)yW{6a*1*=#(!jLRwJ} ztCc}iVREvFC>WMkH?l~1-C1OUY=%RIc259M`#_a9+8bA>4C%mP-k$a<9pGDBuC@JP zb+P;X4J4uig#%~?e=@=Mab#NTqZ??hOw!gbo@5Sp*ZG&(XNf>r}7Rl-pWV0n2 zF3JH87*Wu)!AOUu4d-x4E?}RDzTy;QAm5932a!JAY6uVPZoh=4H=*~R_30(p>Y|r$!s=m z|ADwCKRy zQ6?ccSf-Bd?waCw<+{JRbC;sa<6G?NY!-e7Ev5wXdUIMUtnaSrtJR%ikYoXv*3ogj zSV#-SN{eu!SI^P=6%`iIcSK^Wlw&S{4wNJIIij-Hyyi&j(5ld3QzS)l#SO5{&g(pGp-CY%5-5b|^ z4eJm(#omGG(@1ojEdTBGa(a4lx;!~w&gRS0ljZxb7W3uBV*ZDi9ncK}tI@jUU%{qu zJbw4_zy9|A_~W~uKfOP``}KY5LaZ$V;0?^JiB)OTC}T0t<0L>`$f=VbQB~a4 zET_u?YJyI(*CzQl1Snd&6O}(Z+d>x*83XVyd3AIV^1InTvt#W*_Zb*FW-xXLxFOn% zj*>I+lZa9Pxvr8G@Z6M;B2U)3buNk{*&iWceBmtH-9thTqDfLxY`0HmWpJ2ob-at(QM@;d}z?!2Lxn_=jV?$Q(iV|oC7*$!<;%w;tOA<_$anlT* zYx0L8&E1lSNZx=wgS>Yu=m0ryFe=ZgoM7%n#ToXmJG~r?>bl4>n<{|8eoY|@nOg9K zl9iaA0_cah6mvST|I%zl0cm#g+b^F!{OyYyDIhz2F(OP$V1=eZ2hDW1HZ zBfz7a@&rs|g@Rh&#A#GKP*U3Y5^!|rXYfowP4=t>&3VOW6qk*M6o$K;YlhGj{d{tmy?#t?caTmRcq@27Qfc;2MrA zlqBE}WU_7zoB$`h(O7ie?$OwWIvJ(V01ePac`YjQBY@jEu}o)@CAXZL>RSb@H}{lXh1T7Sy>VkKH03nh*`JY#x<{@yfT;AmqzpK8=1@n6 zSAq;ek`ixKgOzu&u9`mbxF1+M==YBweh3+3X|0Bna)HOEvisGMKuL$#9sAH3>uf@A zmhJ$QcTr|0L*tB?VIlFFD2r(L5=@{hubCkj2C~?nXXh{cAjucgscK`@9-97F{EP!W zl{S1ZS>8m9FJ;r=E%6=+Ia(B%JEBxEp%lhRR)~6ANgu;ep?$S`kkwMaEUI!AbPrB9 z64j;TXL1g8)EkM+PG}Wi|2W9^9=4pW)n;~hd15+Q2BMPc?ho*bH-958(lE=qgN~T2G zR)>MKSa^sbij?I@&LJc4REsH+Eg-E1e_F#RT?tJ<;|*4ODMBH4KEp>T)>F?BkdRGY z&6frPHyUdI;YTcFUL8a27Xb!Jw`c%3FP4<1ikwFJzZSLCQ#()$9nvt&M!~44)DA{F ze5yZ>U!W_cU;x$Z@gde&Oh(ITsXztu#s1qNt$Ka&`T_zQbORVj_nQ^?Z8n#j0jwNP zFBq2T=M2-w41%}!6^xGU@HNxLOmX6oS^MnZJ zP8JG*pDvUbpsIe?tBY_(qLIlBH=EtnAl5UFDZW=E=mIZo>q3A81=`uENZ3CF=A;pi zPwDK{3zK!T)b}N&)Zn?=*k^c2yLMDRB;&^I`fz>sP?D-UW1VI7X4!g7xLq~HpFKIK zDhXW+xb-aob!`r3rc_pJPBoHtA{UfE*K6`7D5*_k6{V%cw#K5mAZAs*BjM2tv&6Ft zU6YMRK#D1yA_rRa-*9j!+>l;N+;`212n}O1^=PS12%JI(xPkbO+7EaG?H3~%5B-oM z1deqjWd@Xy&EVk1BxUdi<>XT-PC=h1bScwr^0oT#;Q(?MDY%z0nFwo>Y8V#Q22P$N z(y8S2gt)2ZFFTJHav50o=2J5Us{6Q z(~vI`DrcSiF~?!(SxuvPu*7oeS&<8dqtjUjte+2H>ehV7?5=Jl?U={h7$w3b5d#Sc zmAlxKUU$22SQjj=3b<*3OY-yU9XgbEE;>lJLvpBsO>Nld^W8qz)`b`_Tm+IPGN}@w zsyjAemFRPWmLbGaIM@Z^|b8APy=}IsM zJY`QcPZ#G9pRb-M7ewu7)i);stHe(oXK1g`7D}Xd>+ybnKq-i9g$az2SHvU(KU1yL z0)6={YEfb*z}(f0v?>jREC~sZj@Twx^vAV!#Sgp=aig82)Klqjq=r=Uj6!K0)B){G z(1piWwH?=>&051OzkC>K@Up(~{sc z+A5L9bF3wnibYvG7K}lA+2}ftycA}cXf4Efh+U{s#;Vm0y{R!5Q4kL0`q0Pc*|`e? zMZrMU&x1^Ylt1nFVuGLv96_{E{oGmd9MU2MHgH?d2q+b4)C>wH1Ivy0iXo(3%|C@d z;slsadrc-VP{$d{K@Ky)++)+KIx_Bz7XrC0kOX4;3c2Wb-)qs!v-j!&W`qAo{pll7xv-gW?OTlVqcUbFGfgJY=vgXvJ6CY*Iwv3GvQgAV@q3gBM>_)sXUhCN)_x#EayG z#^6dc_TjK?3VwB`=-ph00^#NkrxNfu*Ur#%61kUdyRz8HvzGrnAE2__zCj{sWy~V& zq7Ji#quxWO!xRn)UI=(Ownf(YLDXFLY_7M5R}Yi^xUqu`=!FPO1s$CJJiPVr5JW;H zIaj0u6%le_^h#Nk7_u@^4$3~v5sYlrG(89}EwWvpa3$G9l0sFw zAIy-qt6_GY+O*Oc3_4tCTb91<%`RA8`k1^rRJq2d1W}9@VlV*j?o=i#!lrfuF?+lP zm6lM47!^^oh#PecrYf1K&{z}eK-G75l8qk*X=yzpr4-F#T%PQ3i;e*gmw7w&ME&XY zG}+TKL{5X$)l$l8IMg9}ok@JID_yg?&Vvy78I&&JsjGQ48X=W4)!Fp8XRqB3A1+8V zw=UNj97#jPU{B61HDHu=Q!tla1s-j)+rA-lU^Cq#{zkv}SAR0Wc}RDfY^;wM<K%mUgI5ieXW0|!!NUwAu!vAoP>X5DkPWv4UzIXe> zK6E=;Lr{Ix`f*z?KH| z5b_jqh{offwP-R*+vzl=Wg_%c)!sqQi#pXA*87|ntY_2ciGfgO_p#@THH23;jMcSR z{vXt}s8bn9HYHpF0U)RTS%&@Uo@FIp^j$CDLbhuHA7Gq!j;O;r_F!w#nf% z7f*tPC+8q^Q3{)oWITE?ZvqSzuD1(mTTd%q9i$EGr@(7O9<+h&s|Bew7}KMmY6q`U z3Nij5(-$2+=>QfI;b63yEec6=aUx%A=*@LnSD^9G0*x9Mgy->0ERY zFdUNgy5Y5Qp{ihut#P>_bQ^&n7hx8TvPJ&8Il!#a$Q~-@G;?&fcw%led}``~7yr2# z95F$bEY>PeMG<5ea!#N3^86-2B^a7OrKb=w&}If~9!A<+NTiK%HW6e{HOEy-@FhM* zRP!gku6Y9Vo!Pl62$cL7#RxkJz9~dm*u&IXg`j84`jA9{VYUEZ{cudcEQAWqcvkCy z@-d{CYG#4ud$1o8HCRc*Zj&RQA*ha+*R(MXA``L8ZqxyCsVY zty1IwCo=`X0d`6)ScKDZ0-+^YiF2h77Lh~JQ1u#HT7#n(a+A(AHz`|Z4r5L-RoR)Hxo^ZQQ;TkCWq3|GK_FQ!|=uR7{#gRpws;?Dq zxzKEX0h@-+gYh6m++tj?2<EGuvN8YY&fW6WLCP&i=?R|hD7uLnSiBD?hf-rnDCTR~_6i%4GvJt~5NTqj7X$8R2B48};rrWgCspr!b z1^{0I2J6{rfI-r(^2M6QR5t))AX8kuMN*s!?_!Q~id89+@K@sC_5vOYqHoDy5c4D|mAz>K44grhaXo}&*%E!0u>i>mXe@ke?*R0Od^_b195RP$KR&VpEqD>*``=wBs;ZuHrtyPJer9)J)) z7fbWS=8)1G@e0?9)dxBIx3kx0r>_^Y#q#`gzL=eyz5icmfpY21?|5N{IzmOW z`4xdlDVWVABDZeh4b+FV=@f#$&6b9kvOtb|<}fBk%ScmaoU5q{khH`XCv$bN*@--+ zH00C!U%&tO_uoFf`}MPgqDGq!bor?Kuic47{jZ=otrtcn^mLnI)eg6HqIWg~K>x^O zMwW7U;4efrcd2JR@ikPN0N?kUSfLT3dtI8dcyBjwn$lR9y5l8YBbKcwfA3+Pc;P1HSa{X2y#M z>K;i1MNVY~QA$&>20EP1Pb9)mn*8!t!3| zfE%#}<_hjJ|4a06b_OLtY`3r;uC|3H4hHHCTeahE1`3R(Va3rfZOa1xWnyhoD^WN3doCu>pT?iYL|GO*o0lTsJ%@ zsk==X<@W9#ZFQiyBb5F3k3YZr{Nd;KlUHB-^6|gFXmL=;z6nj-26b%+&QU$O@zlkV zfRx7+0E-P`Zk{fm)7so%u$xV15)L2)j75jt*0DV>6s= zO$FCw4@Y(3e3sZ|2x}t%PPP>9CrR*6R2u;pZW-;e$=` z7nC%?Ujb5~xHGIERc#cOUZN_3K#x!9?9L05b)!N>5e^{imsYzu|tN%M9dRC*9JcX-Ve=VFK60j)4jSM(ab%zD1id5k# zlTl&m!0PEyf=O&4%0TKF{*I9+$y+MarDd2G775P)C-9bPkz25$FI-lx%;8y9oCX8LlUlx(Ys3 zoYkLbU?dPJkTsQ*VlI_OD8rB7?)`}Djx(?5nM|$ z*#_H75a1EfPxkN@?Wo|WFO~DUqa7sb&*S%wX|uE3#TW#b^j)|Uj{D+awbjPwu++l{ z{y3jcUr%C#6xz&d(j}Mmyr3u)IUc{qTgJ;Up;h(WH zqcb`?G(J~%Dubpuf(PP~BY=-9Y7JorNxI@N92@cN8IH&1&;ug}G~61LK_D{{lPHWM z>YmUOmMS~ZMjnK{pi494OXy9IMbKj-g&1H%1D~4yfha!t&)v@qgxjp45mvFS^gf@T zi8#}x+St?nbzjh6R8~XyHf>vSpv^VIa#*JtXoqwwjV)XdS}Z-JH~jz2*Qj_aW(G!ybd2eG8+ zFASN>r7O97cv zyDM6aUPyX0gA8?sdR#FFM3S}Aw6GaXS4c_u`^O*N&yN4|?!)Kfj~{!);No8C;W(N7+wAOQ`FgoHLG7kF;P3<;9L_I9hRhCq^btnz(a@o<*Zl-2(A9Uz z{vQvQ_smIn1wri>gy+Cuj{ko9@XKd}V1NGdRs132Urzp&Wsq2D^ed+RP5$FQCQKiI z4<$=Hl3jOssJE>%LHBJa^ae>B4s~c@XA(cH(k?{W7f}`oKo4@znpW(`FV)Z0LWmS% zBB&j)M}{SdN1Mub=E#mZXi^eVItE!x-iQ!h5~yLt;;PXA7*vs8j7lKZZg*GJGZ>ko zJ4!7rSazXlITmb=;;^mIxV?M0-`{OT$sSw#Nt}8vi?m>l>R`<#AmO=Cj>&~E}eX_HQ1#wwIdrcPObIJ zFpbh{axsxi^^wjT@rN4iaoLgweZBcwlhtRM?qla>!Tv@>_^F)%$I#)hz*DQL<*?OE z)L)vXn{F7GgX1dm7XlzE#(=~;B*Uc0w!x@A*BSrn@$Fog?Cx+NnV6pA|4@xx6~;L- zd4wHaSv3C%qIn3Z1(fCNTX@405J@Zca$R1-pE6H0g{D7Gc9WZ|iU^b7Eff|>#FpX$ z;JW<#yU)LV_~W}UXq;gMgm$%~)bUP{0L30Q!sO6wg7`3HF`;?1f%Tqaf<) zG~ETCg}}FzU&a9I`3c0{;WgiwW+Y(9F_Mso7G@^X76MM`mmpnHgrW8VP=iN@K&cZ? zG%?YcX*{?vmf2<|v6|ewlBa5a?T%aI6QVjQgq1&;;2$_LEj|=LGdBZatVR)6M0ZWO z;6tK#n}dtCmIrzj`u5Via_UMwHdmVstQeJB-ys;G<~FK#`Dxe&Bb>LfLU$&V_xXY$ z`6l!#ITC4Hwk3pSA|#fC&?6)eEbG7#O3d2pnlC~aemP_myI_}{8gyb$Nzn;86uO!~ zjG1|n(5sxDYj$Hd%L?rc|0j(|Y@;BS%IZ`e^LzscX$bBA{oT*My@$NYJ+DS&ll~QS z+-8_Rp`OEya_C1;CA{&hvyXZiLVuSkkepZKx4<~!Or@SKUu`R;+}}N%G%kk&s%2DT zM>p&7{uvTe=c2>^UiH7qfLM7OZ)S`sQd!=0vgWJ$8fgX$EK`@Pc2b#qH zD!E+}2aB;=`8AS8Ab3_@dh{JU#uk5@`aost*iRg=>a4GD#Q7rN^x~ zoJ{=TC|Pi&!=fbZ_jmB@WJj5Cis7{Kbcc2LXI4YjVE3p5C*k0j|qu~}NGU~Np_T>lpob2O$wxcz_5&R0?}T0u~)%YBEC z7c;6uTugbXF4iBl%3}(|Ob1iC5rA9r%oZE%HR)VLEaCDalO#9x4`<0y6jWI{EYNfm zuSEbo6YQQR}wm;hHS!=jfWbx*3t(f7D{_Es>U9n*%@?f@WjoHu^0b*kCTu)Jo_kuyY*kOzz3>`yGfnSxhq`;^K!^qwTwYlEs|KU;s+v79bP3YX6J*7a0e@O&Se{2~ zzAw$nMiU%OY{TcmbGPaCt6gfpS|NLlW(r&CKckrn_4K$Kv;3wg9?K$K%u&d`;|FrM z1w9r^wDnbx)#uV(9>t}?L|T|yx$W#AnAQ_zcTjvA=4kjA*gO{9Rm9N%_vzCP5i%nd zH@4s8ZVzp7r2%JuTwd9VWlAlI0E9@1mXRZrplr7)$HOV|@Cr~VSU{h+l+1sgxi+UY zUMqe}^B$n_%9vEt0v-^#5}3e$`u9@WOq^e(obA>9oq}Jl(~1G6K-}|wEv8`qt?MVN z!I24z?u%kbRgJm>`g&zbvKhgWLMJK3Lm-f&(xap{wLZr@FhcXIDLe`=U!3&nn%Pkr zx$E#uo1dKlIc*~=8JTY;ac6)?AuT3f7+t2Kw?XjP{r>46r5NPY%1w}_;gifrns1GY z4ix{IK@1k3~^CHAk?Y|lLsjk7@CTe31f$| zoa~LvmAAQw*wj=*Ede(J*TvQ_&`4A5xYM%Y$ch-kO9l}Ry;=3RuUa5HxwK-Ited!P z01{~~$WQdG1;HjQtxR@RLr-Wg78K6@V7>CpVrq(`e0ck4258i!b;+~RzD)4U*P5M5 zLkjskGA$5tJfupD@%$#v7~W8O$zY&)Q#)SERjBr71jaL^7VZ^gR`WAENP3nAy!Tg# z|6nPBe?!2;a(OykzMh{)aUt%6#KDS5qnwUyFpUk3oC>z(&; z`}2(a9i*CAk4m65+tp=O6ZAMiuNY2V73I``ajtPYU30d8)CW~y|wH)$J>@Fj> zmvaersh~=cZ^*ub$!CY+aGK-m*fRw&D%qvj`y|{QcG<*D6O^%iYgoIr?;_z*A~sMC z$BrGfxCy3Wf@F*;WOEy7Gxv~J=lXOuM=7Y7U9xzMUIK#NECm7E1u?O^w%auysVN!} zFC*3}`ZtiS=Wh7JGvncMCg2nyaDo!nLPH|mSU>D-D`@alv{;~9#G40%=T{+6u!`YT zTIZQ&ec;knX@4q~e!0}a<20x!Ebc042%>F4D#9sYr0om=4!KCYer}5*=8<-PLsLwW zOA)`o9z-Ff$Ear=?QCjBF!};0?`h%v*=6M0;-4) zLL|4g^n8n+l+4#Rsv-LIXjBkzyy9u%(?p4kmzo%=89AxskU1}|w{!5cS3iDu|ML$l z*&|+-91&#K{&gZ#Cjas;6CS;U0+lOrZfZqkZ=Ga`w;EVuH7u;Ssj8#uk-*<@NQeT& zjpUbE5!G(Tae;Y72VqP4XXU6HnW7NX4IY?PZh(;~dVjGEJfOQ-%^>QrKEyH+1GEK) z@VK*#Uv-SoH6kmg!x&jLpzefRv|pw`-7r%z&FN@~Kmz4x2VFw#(k$m4LP&SCLr(hhxSlXlC?|5+RG09BG zDtv=Q!4t82>g9fYdjC6ezl4(9qfMklOfj!kKtDWhbGY7!OW6$xVs#J4RQIy8@6I62 z8ODFzCk1y4dU*pXQ7+j5#MI!#xTiBz8xRFY&NOGbvT*>#^*W zRA@yC(`s`mD*P_E>IRhoGvyt~mlOV4c~n?L))wqaRqIn3pHiAHp-Lb-SXAUIR4^Y@ zuwCsr6nM1y)y0)AjXG!HtWL10W=UF|nW27$>O zOx3uGZ~_E}dW)3a9N_^j7w@m}pIVD=UA3QiwT{uUz(>8r~!8C5_3& zRg}zR<55LvMy3`~CNXkGE~=t3M`z={bGnKng;l!BEJB(vOvD+nReJ1Al8-3_9ASG1 zIT3Ch^t%`fAv;ov3J3;NXwBT?!+vxBQ1PVENlL&$NnBdMZv;HcNmr3fDl(i zl_8#%YC6`6iH|{$2$AHw51&2thxK&ECb;IH0H;xcl4X^k1SGj2l9wJIQAoTvUIy4T zwJ?SsN@t(~eIQ(<4uNY79Ic|j+ELvXuB9kv>MA7T1(w$JSfR%v%1-nn-Ah=vN^?EW z_X%PuH^dX1H_FA%I)d$7iq0MkZLhicIFN&CDy3)=aD8cy*<_(+n%6w(Qn$^b$W zLwfEyA?SZH!CyZ*P1m7b0oM}L;|dlgfMxJNa70GIu9)6r=LAgUdIxpd8GKor^RoeD zZtf7HWIa1&DIP7ke|ukgbrjS_3xvKjZoYRp_S*Tg(Nh-hVz-@R736);xV_!5U)GQkyy$mnjrvC1RsxN8Q&k<0+^$7DAzlEGx1CH z&Q3;60KCm`tU{C|VsTMo6zZhIs-_Ge^jx5$Btq6z(`NL*_xZVIpu->A85d}TB4)M$ zI!(Pt+!S_)>+SklTo>OwUO~3LWyxvaV(?!jS=TezuMp#};H$CQ$Yq}`EZ0jYB6xVG z+LcmE9kWd^1gxtL%A==6nxADkzoc9T^HM`6(wRCXT!h%srpRG^sjGbAQn+8e*-4yo zNot}wu6(t1N$FYbYEH!90;c#g)nB=}^O-#2BqK8_AD8nnKBFL7Czg5&o78J-h6s>E zKTB&w#YzG$L3aAxRpf>m;NbXG|w&4s6!#da0*MJD29a68|=`z z?ldKKN&?jk$3uSE4CgZx4Dv?P)M5olMkv9^3~oCgWX`>r^r-VdSP>#JNg;jWgN755 zonR_tGwcLl+HOEVAZgC%vIzJ{D3hj2umn~99XNN8PbNG$5ZOSQ+p&4vubc3u(P_GE zvgKw>fPl>0iW2xnG(FK`m)P7K(7*#VqYtdM!Q#2Svb(tM2JjMOg>=hrX@00YUl3%gw=1Wl z;bsKxnh2PfsS9;6%VL&lj~h08^6JlK_~Q@WD4C862do=}A}Y944Vhx6$yQa$heiM(TC(#ZdXfZxK;HVI5%E?O@f4>{6c^yuA|u%;^#6gEjB7dNP2N-(o0rOhS)7LU?GFYwo!Cp)0+^^&A&Qk#+N3`XQ@qlx-9h( zA;g(0RcU4;AjY~)+ZEr_QlujjvZht~ix?t96a!F`u2KJibd9FF2ZC8%rP8NFyU*4a zc*kp|S%Zg%b4a}Z0;f^ywnSMW9{}BBO$9{FLh1Q(xVwIo%!kL@)zj+gnm(e*S9A3M z0a{)NDuAg3j*-biE20P(kg?Xu1ltJ__Ztd%*0_?xGaO&R{e<*Nfj_z4VSMcje#S__d!Q{`E_%wtGTkS>L;VRn zJr&nmF$r=wZ&7C?+p(dI58^NJ@A!<7@y_Rr&D762Iu3wCelbI6`oGO4^XYssT}+o> z$R^hD7lLa_y*mT`!Q8@nSYW{+MG9S*^$`3Xer};42v1`G?0Q!Dv`Xa?E5pJMQpyz) zQSqlQr|M7V3XCknnaq^75*yHtDR@=FNx&D7wJ?swpJkjbH9kVg0c2&Sib`>O@Ntjx zoJ}Lnb9OEw#th_`Zx86!8q;~no#C=-ApxL`4{wjN$#Ut^-=I|4jMo43@t$10kWZ9_ zLg+vP-B$G`b6LI?<^tL;Ib5ijd?hK{5&H zsdQpt$eW6Iuzzt~E)GkhSXx{P;DAC@hg3&V&ilnE2j?uT0L&)G_$IVmO;16ZBm!ON zWr&MdpRRoN+QAlHj}>Y)GWdkeu7yUraX`AS7oVC+)}SG0)2&F>mp2>Ox$u3oig}$& z+NxQE3lIXCa*pucKM(B%nW-arQAMO&z~?t6O?83{ZI*-Br{NTW7D!r7LDxqll$P5KegPgbz-s+CIih1TLrtp9c;aqIA0Gcd>g>|lISGl46aVv#&{)y(S zfLHFPkP=prJ zY#v#2p#f zlKkrDYD(&TX^87&8cL3aejq<}*}vod`M}0@7m43tJ$myX8!i(zM9}aQ+|G9QaHDm& zhB-24BfVtxx*utKHfM@rnrk&%Gc>m*vU*7)!I?TN!v-M^` zv4>ev(F`^X*WKUUiFP}CBKM0U?+tcNzB^3;ASimcmOY+45e{$FBW^`&LW$eK+*+U@ zK*q-ulbI#MC>@@j1aN7=8|ZC}XT85d`R2{z0YOIbfz9>Kx3x3$vnnL_A}Ec(#I^Gy zMQ^x75h~D)+A0c}jg<{XmdcnA=Rs>WX(Bu<9*X@G^;g1B7hhel0A=h4r z;KgPL$-(D}D<+ajOtV@ZVY&z?tu8wxIdtYhd6+YbT4#alJ<&cM9dNJo7A9HIFGaXN z>@?o8(#nVi-MGJkcPpy1s}Jsf_V52z%S9nJ3#w@xeiPRQ?p0(@_O3Ka~jgsv&qV zY#=F#?u%)o2QR4R8ff@ZsBquiX^i1XcFLqv!?z_)CB1W8}%;}=iLy1>WNW! zj1}w-m#Zx*O2WN_bOS<)bPH=XYv)OO#+_W z0Lkt$CiyzLv1%#`lxUOHC1A=V^)Rxab;#|&%rZVHqHtI(Q$#WaL8G}$_{`9u!SLLY zJVC%hg`b`@OW6mfbPl&d@v0}O;(qhB6oXoS3zwKEjKTI_oYfHmUY^f&<`8^)FJE50 zQQg&PbmUFLdHM$92gSd&f}&<6rrAd5x`4}35ttR>;DfxrdUFfpwQvAheqO!%;fG&QviH@i??3+X>GR~%=U;#O{`2G^ z&w=b~qrZRr@B{xPH+}ilfBZhQ{HUoif)B?nKWSo#JS>H{I^4Uma7`s9FMP8Hd|6iR zJ!r2tAtK0=Z$<*-1A`oR+X)>c8l9?mMB&cLKwKb+422vrFtnoz5ap4YnT_&!cPLp- zkbrRtVvi=_X-xm+9cxVGBs02Le3r?M6bYJg$aPh*W}d)#B1F!v`JAz2&4y!_srpez zq@^%Gia|TCUj6X#H}s+Va-@+rbQB^P2(F5~7W*JO@LJr3!xDjrBjav%1{|CF!}6&{ z?Q(#_{_QPd+U1q=id!)hlnC6*Rtr7Ym-Q8|>h}%?W&5!Rs zwfeuwQmWML-`?#jr_FFw!9gX1*_lWN+6!Im>o9Y8wMaLdFyecXr6J4Glep0oxl%6s zi4OBjvXUW=x33RF1dPK@VL z2>#fSvB{0*d;>9bg)nXfWli)vQYd;?Qp&CJW21ce+&Nu1Y^9$b{2K`G=p#Q~qHh z;t8mXkG(H7yeh&oHb)O#Y$fazzq!negq|c;IW1Z&xs_OfkGZur*5I%q)&h@t?NAkFy`^|E{m|8*qm* z%!jv))|Qr$Cn<)IWVm@nTh=K>RS|nQs(00r1kHwr&DV^>tRf+tUJR05GhGvcHab&I z+M%!V>!>vb7$@za5AQ$U|N7zMuOB}DV}f4xPoSvjl40e1ijX-m`C85z*c<(#>{rh( zZLd0;8jQ)RYC{3T!J*n3Dx3QVL;(>>TI#Mi%STX+(k&%q2)uMlQ0@&9-CXa`=5_{` z7}RTEMFascLbVJZkd?(y9}qDuN!}M1YvDh5VpMqn;>wroci+f*UJYuzlZu(Ms=X|`wo`1J7M`~OD@ zu_9>*$q$xrHvL0+FiP1d9f!Q;SpblBDk_fHv}GN~FH~H~0Ja`nTfU~4Nmzh7=h|5i zWx^0AU@%Xqmg|nG@&h0k zO#O0ycMBsVf(ia~ihpTmqI{`dmqcIw2n=qncR;e8q0neb#xktXk!+xzM|chqgahXz z3bJR3wIurdvqlfv@6;8hTy5eI-RqXqfg9M35(4kW7$tqy9nsjLBE)k)(S zu7tPB*c0MJ1u&cD$ZBQ)Xp6f}X-MpH?Z8q6qjg{{#evmoP0HVqFLj5cox*@&Y0mP2 z$c{w-$<-OGf~F9sAsqur7HPDWl|*Vn`BAG@f{MCU6E7i`qt@LcsK?9We}-0M!IfLC zavA%G1ePS>qPR<{8G@*;DwcpI*ksc7Aq1#UGhrun_Gh+_)Zs!Bu6iq>eQXSFKmfL9 zZMbY)VTZfQr{_>l2vX1r#zuUrdgJnC%Gqc0Fi%;S9Xze%-ZbUGg$wVe{Pn-!Vwi4o zO+rNG9|`P^17h1!Xr+_^!V5BP>Tl>QrxzMCS_cKH1{xVhltW5jI4Mb0HA&3>CdBS( z{}*C2FZACjQIbs1P!jQwMd!9=gN}>=&Lt>ndaiBRYIp{nwGJkW1O)I0fyw)8O~xb3 z(L-&=2IRneA`KUi#o5p(Bd8|vTq|t$Vk3DcB&fpFKxWiX5x>3Ie?#H6bJ^i&FepGo z0m(P})IybC}pct8=N1zH+)9AwW zryidq-R{Wcj2c6c4T$6S+k2R@w^vf41Sy(P9T`gS;UAyA|NQIEiVHLZ7{wIEh2UBq zbvh`s2K6Q_cD&o)>We7RRQ2)N&(N;lH~&qT4|xl8|B`H^iI z(3EKA-8~B}+dcpPq`hmC8^@V0sGoxHMr=?!mIDQ#Zy(M?0BAJ3M}0HU-K6{lK~o%? zJF?`EC?8Lp*#ExI^WO5!tgM#ztivX0WL8yP-uqQwrUeWp1{^|q!vZ8USR&>h$1|B; z7+aGN=vrPg#Z>*Y^+dhK@I=PWdAd|x43I9c08z5VaFh%Z?LcdgXvV87(x#A}N|<1# z!h<9ujh&t=*`OKH)mPgKvs`Qimnf8aGnWv972=^)r(MzPRH7?XYG8N;dV;sA{nRvF z0nyMcZ%7`!+}*AlgK2MuJ{#hW5Gr>@&ruwj1-8^JD4?YO>_jV?6wbUj{CloS)sAK>RpIFi59Lz(vBAxVLw4^;f$SXO@%fkIFaQ1H$In0h<;{m&5U2W`f~=!! zDSRW=*im`d>3MqeL6N1*n?z(}$wcTp#32DiX@#L3uh+6GSBS{CTstKtr!M#O@b)c| zczZo+bjZ)8^Q;^T5fc1=IQ|EC_2pI>G@?&KZM3iyaqo6a%nOfOu?d~)o_d!Yjin7? zJ2dKMqPjbqgP^7g0H{C)L2EZVI~!Su-v0d4uYbpNb}U6cBtBf*jLJc2HzFLpC>?!| zN{vsuht5WNvlL#-7DLO%0Btg16$QzyX=OE}U=n07sZI!d3-?o4c21e+mjX{Te@JyL zqiYt4S(kMtcEo^#<_Zkw>3X+Evm*<<`uNumKMPOo^ydb(n{3UEF^4zec;{(>Ij+KP z0_8<-M0e6I22ijmq})8Q?+JNe$I*I@T0`VtCVLxgKaZki<1zWDQDzBzJBv(}B}C{V zYQn`#uK)$w5HnQp$(#kpuDx1tz^LSN&w<_TjB3^;*y*Vp2vrqzSZT zhCoS(xjc1A1|CbvG1MUub}agsNj3d$L<>u!Op-Bu zawwI#p;7-%=xfo=*LP>bUMEh0(M(n)P@*Y~Ijfm#d6U$H)xpZzRG&&W~u z2?d>a-GQ!(xXdYslG7hk5S&~zGL|b^F)`PV3Q!J38YO=I$(AqALRbs@F`V0Mn9$8| z_y5FJ5>Agc#XGLSn8I{JT@3+#jit(_w>Gl)w4V@*)1u_BBcc?QVupPo~H zwGt%HfF~R7pu1Dx`aN>EDfpw?u0=7%1(Fw3!(-H2F7yl~n%C~Wy!-vG@{_k?26Nhj zoH2Nm6_G^=XU8n$IcQaxb%BfY69L2_0DCeRii3)lE!h+uAL|!}yoS$niLoXb0u1x7?Ya8y?;L%?365 zc=u2W>7B=tIyMxl>`WI=&~bi;+BWNZ)In`h!F)~$9wbHyc*!Sp;fM+$b-;&LwIhPm z*!EUYA`hso#zbR_S`*OOD9jlogglqbhFf*ysvR5ils+Qj8N{iW1UtiedL4D3evlT| zTB!j1<1!uR#DVCLD%KP^f-`Cj+egU4@MJ$eTQQ`pFM{#&I-vHkx-aT zL!{q;Aam7f3ZsMq1Wi#f*$a}&!a&0bgKG1kWHK@ybSCJTIeRZ6(*SL-_p6Hu<1x7| zGe1OfJr{Nwv9+imUB%WGCcAWFoX~B6mujM@a?lL4%(fY?Lgfd@6d%3^U0Gi;&_FJl z1#X-6P2=%w3qXULcB!Fn7Eskc$?s2ye-Vdqwas3NLRXnz*^+0JhU{J*D5T-&q1HR^RT+TnORQyR zGl&*QFlV9z5K!P>nbmUh=8ZynP%Zoc_FDPlm2lEz14Ps4y54_bxb1*w?o7uuPX*MH z9{bvAEt2e7NKW_KDUk+zd%fo<9piU}HtRiTc%%j~aTDT?ha)nKM?d+i+W|SU9<uM*1pMl;w#Af{VBwu=es%(I<8aEC1LKm8x z$z#zYqFC z+DuST9rI7~fa!riz3p=vKZGepM9H^?h5maCCR~bQg*RnWNzY=FtlA&Iuw|X7 zZz?c<7ml}}9k9Ea)LGRL54R43t4tpx6eL3>K~EhK63@bKF^nkItv56w!)aZ9$`Ydj zp}+q4%jdtaz7{Km(p`!V;Vz__Pn{nDKj{L^V(2Fo?*~oy2nNQ@X-|_k-_SoOlvMh? zRwb4N_6?)W1T{5N5K0`kIrEC}Qw8ly>eZzLyAo&`Yuum~)ZwHjY5ta=X`GMD1e8)u zhtKy2EQ5ehlcnwyg#+%us1^jtSbWKzK!0>8lEs@fsMDJ3Y$KCtUuQxCv{z^$(<7|3 ziY5KzmKpnj83q!&H21Lk+ZUjsqB#^6$xSgt1!l3mw!Ah$eRxG6=af#yoz>9kA zug}#zR1rmN@m_iP#-rsaQW=4v+XrZ;y{3|fG~$4iLB_`gmIQ5`{u6zrJ22atG)$lx z^VfEtmiNjBJrAGpJb_!Ikq$zQ=kTR<#3dh?5=8t`D|*Fu3;5ZLNVv6ZHAJyM03 z`7(kq;cvA>8sd)`VqaqQ`Nz(}t6^QUN?}#Udtg}zVem^jo*~wvc---@#A>LG$@ORh z`7y#23CZ$72%h16Hd!#L2)x?^dzm0_Um;Z`*jg0_dhIa^nCyrt3lY4XCGa!A0Q?n4 zG#=_4RA*ATVxBrpSTFbk$52;weE-DNzMzE*jX5$Q*VP@c5ybt76)DzV$^_4?o<|}g zBtcTkQX$6jz+6pL7jM+MtZs`z4=FN+l$8Kr`RVMm8i&&S-Z_zWh95_!;gZ7viLdIV zNU2Cy>qS#m*w5AMWL2blUME^)K4e5J7hVQC>*`L^#YOu~dJOfqsKSq$xp5{pbh`qGAZ9%#34;Y(EkBvXsL;6;GtSAl(O1R4A zr@pbEz9}~1Ts6Q#Q$)Zc9`@VQMp+?cd^$-Fq8RQgo$a2Aw2&u|!L`6Wh((71?b4@Xr7q$5@0rHi`SGk7g4!@?_ zr`9~4BQ)WZYh?+rNg_D2B;wB|DPTg1|mExtvI$iD7(zp{HAWtQh z4cWBpNOyg=gEu*g5E{3_Dv9N)f#|ihtMT*Z)VFqsAxtjuR$NkrUMP)}ynRchE;U3j z8&GjbMtBaaS~iv)9s4HAdy9h3JwzUhw(@ZTjK5)S)k>?r8-|9yGK(8C8ja;=?xg{S zW_V6hgqU*eu4<~zQyacnw*sbbHGHoT=`T%dBTNl=Bpw@7fI`D`{u%OK^Si95_Q13= zxS%ARh?Nmyr{+)N;Y7E>7XiO}|$RyJPnR(`84$S9)wU%7v;S(akUT+d8kJ7!ZYZl0BLP zC0x}z8+Cs6kBpv?Z-CZ{K7Y3*O{F;$5_BV@0u1Cnf<R& zVPNjX)VFqf&eC^~9vBm3z)RU#qMhOacB3S0hvB@P{60gLhb%6&R% zoNR8O-mO8MxvB131Ry*&UL5+|ETRA`DmmDN+w4$?`*5kI@CyOz zQllZ!LKZG%)QW-^`k3*u7-NtP3B^DFp+p9Jj*H<0swt1mA^Z}e!4()L$r`uZ=`+H?3-mK@D69m<~KiWEGe{( z*M@Ay4Y>(|kwX(RXnp|9V7Y3iOjx%}RTAJJn1O|AV`gQct%@wZ3_6l<)Og?F=>YQ~ z{td$+{v71b1&oCWgYZ@1N+>b3-uA3%MTyJv^j5_Rq3u&8LZa;_fn9md-kvsNxhD&_ zf=NcL>3ov^%cli%{7=9B_~pDeg~yeILy5|k7cWq1UgCk(Fv)$_5ZaFFCdM?Wvcz|W z^|=sk>y@@^dw}}XpWBC z-tJpuHLp@LNk19bWo0K=S0&5mDxmjf37w+;<_eQ|QY&F*JgOg+b4L8Y4QksZ44@2t zamBJv322LhLjDE1N?BLQ&@0oL-65IBNDTjGOloB(H7|=v!BSHI1v|@!dgJ!75)B&1t z1l1S7k)St0#3%H<0HIXnM?s=D!(T|dY-Lh^*=?WDR5Y2?E52)@08&l7R=LW9(zO62 z!K5tsFDt{;!!aLIk`huGxu*Y>dQSZ~n|TG%>>%$R?jP!1=VRok?pV&kjg{~An+YRl z8gaR#_oOVN(WG84Vrc4?PfCmOI3i6^JRH8g$)Y8geu39g$3d{O2d`VL|0;`i*FeXc zNz2#OEnVoufAr-3!(wqVKUW;s8&qbsW_*Bii| ziQOb$UCff_%NbZS&67vq}&MM{^EUD)&#a*S~)8m61<-O0Y(}X%$&ZDhn@Rm4_C; z`rRaMuVZpEZYDX62p8eSp$>VlNfW5cWUy%AQlcwL$#x6#6~`PcyPHLwZLN`_C!nKT zR|p#n>#d34XxPBnbhM~*AijE zec-5`mBoj@S=>hf8*>D;SPGCbEY_I-x6{&Qj4? zB2-p2o+1a}CsQXEoS>~(oakt%J=HWp-bqpKxKY9Tb`>uhX-K& zc2)L|@-%YOgLi}nL~H1$x(hoIW9JEPfpLe^Iv_QCrHonBHL8 zP+)5bEkt^Q^h5z*QZTaKjbb-g;-tDi`zh6fdgzUPRNN%LWgoRkx;J;~=xSJ02l7@W zAQQKUaqO0gSPg5Z3fpV|+Z+EQG8m=X+b5UteaUR7UU>$X6aYi%@+KM`0U+4w7~rX#+6F#3eziK?RuEPWp9^fE^4Iqa&f$4QtSl8+c3l zGwAw_OEaY?_iu4DH-|@^6fZt+WY`o_>K##bUhcGtms;XZ)rLA>BJjoF8<_D36N#Yi zNNw^P3{c7?nN%z(veSu&`EK44yyKao@1Tu*<)pAsvZ`Jo)Y?wHLQUtXF5mc?i=m_I z?~arAWzZAlM!K`q9Iih{p;H`X>v@yvZzVv(+KQu-mxBi0-UfT(d;3#5jOvxiBu9Rm z!&<6=e-?a+;n4DU|~V z_=WQMLBo1V9n3$-SV9Q1zGAK)i`yjhic$BCVkyiaOn+IgFuJ_+1$_gaa77T7;t$HssbTzdV z;u@8!RF!;K`*m_iJ`38^o1hHO4O)?PuE)sZh1H+N{V7_%ZJV`eOd3i)GCJn!Sfr61XOM$gAh&c5~EO`TKoy`d=s0lRcW@w9`ygJLT ze&UUC`}OroyIII1Yk7E7(By1@=13;U#X5?9Rwfh~ zC3v%BR8@YuW~gk*4J5^;6+1KRfj4Ma&BfDiezsxdtYbyiAqK;uW+ICv>}`+`ZWvbq zqx%zzYX2|9OkZka!z;#511TkR$zrKlih3vU(?*k$vvBMH7AGbT8-yS15yynGI{as{ z0?FIOjMJMa;A#W%0&E9@b$VWeyZn5bCQobR%=N?5F{+;9?t@qKhdaDtVj{m$(+QRK z5($9oKFAUQ<{V|QaP@Vx26ML0hYPY3YK9UMFMr?zpvXJ}XKAQoT3 zdzn_bz$zc%mB*h=*mK*oo$fU83PefF z_6~)iM;&h7S{S%eFb09E$FVmhF)Z!&AVmbo)B-FD18Qb;KxBHZf{T+tH1s2Ps01OD zG#mvAv=f{uPQFJDkk`le=ek1@X`W;Ph!{T2a=kqbV_F^yRk8P^d^zu5R&ZRenaJC) zKebYb^C{0#NUI?q5r$gu;M~*diqTQCm>}JVf;nniRQU%drsyYWNC;5dp$M#yD%(s7 zk&x(%1jVG;Lb4~O%9$w13>$i%WWt6nB-134AySJkJhM0(W+_orI%P=d_s%9SRkUE&l1=b%(mIOnlPZfx@rNEE2Yg||T zIeJB^a!A{3Zvp_W?yAQviLI)=jma4N$;!)(25M<;-Hxk$31Fd;@D4JTbV9T2DJ7th z0N5e1D#R;jtbQZ%8#GfahE*UsjB7!K+JO%78BO8sYl$VS?)g?qaqzDm1k?Ic&l1?- z&wgQ%_vYdEo4VVGRvjTdWfjc?nFfb3sY+fQ|JEr(=T5v zZ_CApkwT|wUG=b=&PwQ##y&{$QoZ6NQwrUu2|RL~6mLCeBJN$aFIe|a5sM|(eULjh z?sd_hUoi`!31SkrQl0$N96d&d6FI`pH=r=#KgiERg2(##$^98Yl&>~*9Rx~*DJ!;; zIMbP=uw==e6%OoznN;K_t!U|?FNWxsVy>D4oAfejlrH>uD%VTDORnzlD_6o2ztJf_9#78QJvz#fZQ+!-zm;M1m*VWylQ+ zTTr-}7;v~94a;IO>2&GiPK%n<>a&<$Ag!0!G#;%h*E*^|N(nIMU7mKTTnET3=APw? zxKc5>xB%4-G@#QySOC3l^;<33aiN)_>xR^c)D}6{cj)fLAFELAJ3~FT!9f&nP2=-9 z8tmw_g1E(=kkOB~ivNgUPxLOcF z4D*ow2ZSCv(pJAVM_)an=N=KbV?xbb1%gWD#l2*qdNsw5e|Lx-JtaHCHAPOw^>^^S z^PWHi)K;+`P~tho$}@>ZB{WnOr+qu*6yt$E@7^# zr|6+n4p(u#Dq9}Efr~4?**sO=#6z!2K}Vfv6~e&59Ja)?D*6hd3M=m3pP{J04=6}i zKsiU%-c!8XhpW70fe8IRpeb~AwHYER8um>9!Ro7fP*uS2KYsfBJq4(?4gqb;E~TUK z@E*YP=g(if1&o{SyECLVVy0>fW)UG8qosEGyMyp}G!9wMptiZBeL`OedF=W9Aar2| zm!t;gLn^dPawHWRy}`ej=qpDN)#A`)hzP^`u_7sAo3J8^U>%Q=G5a23;>3V&r8_LU zVatLS#uKIJ^o(K9y&6f0UXZDG2<@OKQao1_?8X9*$l62j2n5e+BB$*jbtcln-{`$sylv ze*!Ir#iR`s9$us)Xrkyw%X_orv?|3J8z-(5QG`wgMi{M2uOkqoaAN~Og4B>309)oL zO!IcOJW(kKOLB0y#=kG*G&SWaJK7au^uWF9M&%<^{#RqHfNB@_TAI zgC%PF=Hu71kJ9DxHd7>RnqZkZ1_=>OmQ2|ephnXM`>3(STY_AT3+~L3>r$|spM|(^ zR#B7!cn-4!om2Zr|fTVV{;XD9M zVKCbxaGJ~(**=h*gv}}+b{Ura)n!d4CUTQ*zY+!rty2;Z4a?(3M4k~A2ExiVg&-snUph3A2j$Q*$&Grq?wlwf0^F-?%At^-1gi$< zh$3~3n#O3ST$%p!fKxwb;MH>i1|+&l+q5@XoPRseIr-5PJ##aqHvVmaE*#T{5L?Uv zN}rCYc#Qc*`cISmgxyY40YkV;es49n>25VTl(|FJs*=TAVF$NlD z2tDvY?IXEKkQg*XMU(=VV9d44lNEnfTQLPDS~k~`;X%yAhE;r0Qct`Y4EaJO5k_Ag zasml@Iq>wL6VZxWf*}c?SqS9gQnl7#tOCrC)!gq``ANp3N*jf6yZ8Gfe_RWsaRIhA z`FcS7T&q1rZL7!q`Tz~Eik`v&p3T>CfL-wn6{A8sT0}=dQBQFhuAa67jgHhl2nuL% z&qOUMFdp1H5wSP7%Aj#J%fPzYPyw->%p}fT3M6l{_lj}qfk8`$JbSz(eTUZN0`Y5mD*hiNg;6xq3L-0gm6GDv2SmASiHgjl zb3{Z>3^?R;hXZ^}>@B1K{SAO>w091|t!oE(F8&7wN}H=d=FR17$!Orvf+0siT!Ngf z<_gn|<5yqY=!pU~U=M0>cse&_NSI?O0g+Klx0iTmnU*%UKrc>j z#+f;7NEhh^pfkdR`ITC->rCP|^qB18So8RJ-Sj!F7%7Q~0aN7(Vr<7~tVd$dtgSVJ z(Rj?eGUoskB+sSxC@1J~W=w6^m9)0ej?ucm{lf#@T+kXJ1d|*W@1MkK-9Eh4P81?O zQu^OsLzm)TRfKS7Sg*N_VxoYElA$x~z$`anwIDsv5V z$ZCLD8AgygS)>Xp&7fAW5{d=h%o85{TozCd%GXWX7_@=h)gk)F35!NX$^LjfGrz;q z352LRa~ro_&V*%EcN0!KZ2SxTp+MSGoo1n!V%1Dv(-+4!LJVcZYC$mwv3ZV z$ZL>?5m3^X=kEcDl&H+kBu>+v8i7PxCAN3sX-iyUklfR)NYx>I9j^A2(nr$Qu#)ft z0YLYvN+m=r9;I&%|NYC;=a2uTL|c|6{D*@`HtmV6keb2+PUg6liiZcNDg+ydW^PI= zgXQ`+ML~nj!A&h7u9U>}B$1WLp6*H&VnZbe4Vmi_gytedN+pAi&C1&ae9;10pbmiw z9*7_{V3nwY71`x^>71tZ;~7=y{T)~mYh#UssmhqNz}x(SU6Vr!G8%^w(UDXNU4PW@ z9T3?4*^hEGC?{D<@&I==$+ApH`we~?_8h6A;kk0=rO8DqN}qRmRoRK9$P%qQJziSZ zqdgPwkkuDuchPHOh(gp_8693h;KVt!3ik0M`;>pPX)-ODH(QoM1i3u0XMnP57M=za zb%tg0iSHEdCY0IXjz1d`g-TtZWaL`!#Hkt#49{Ir!t10@1!*W1nOkjY+IGBMTQ$Bh;>m zWclrT(9)B(1dgb(?tD#ZF3tCyv9Esl>rX#_nf;r@SsM!ik;|@N03T0DX+t~aVBeh~ z7ZPS@K#~xui4YK1`O6&LxLP*R6UMrjUV@Wl50>yd2>~zG&`g?0C>SdkFi^5X=I5Fn z0^wG523!n^g{Zuzbt{@7T@vLXM(eYfkn#n}rJZc*GC@TpkBU)@5DU>`BcnV#J+4$f z;gOnDhJHgK>eWAY^rU72F98;6G?`NZAjDU_$)$6pQW;hPwBLJdU=8PeGVUj_jQh$(7(TbXLC#!t*3 zP$khf5)x3Yh&QSB8gTB#i5QJpA+mINa+Vxokadz$H+VyI-Xlr<`sUtZ1~R3|G&P zmm26NiYvZ{0s9pCY6Zhk=5zO6eQZmQx9fBsr;rGtnl5edS}ln*TRrQm=%C+T({zWw zs!Ct-rFvMeOk>fNKf!V_^Dd1dMkKR5VNFf*@~XPh(N^3?O~W)Tf}}%!^qptrj7api zH301VPX)RRMuxB1;S8n5H zp*a=mhah#7Dm&gG%>D+@24Nc!r}!l}`EO6{@b`b=A#S9gIIA&`6z!j$AIHj!-)1#S zPC{VK$*vUxV??J$qKpSB7;T2-h3G&5kq$BRmRzEuf0bh5u(KJKIZa>ye^t-Uc%X)& z(RgE*M|=qjIIwX3`|)AK*^;1FQ)L4rt7^dFpHPH=P<5o-M#jsCpGoIQd80wFdMH!} z2y@MR72Xjg#qhAOJs7Y66&}ZFQ`>JD(u~*6P}U%i3;6So)(eU>RUx|5lbda`e|RXP zJgiJll02Yu;NPZ{>ym%qQAzNfue2$6CC~}MX$s*fY3fgtHS$Y&L8XGCQxAYp&HWi4 zIGjqRRor_PBar?H`y$U1RuX!Aqx<0_B!V{8qBlbckx-P}j~pS8Bb(cND`^DEW}XE6 zJo+ohMQ^Y}AiC3dNNy+e6QS8t_LsrMQZxi+xOWY;%rWn=`XV2$&gY_P$)__v9;4WJ zN_BrGTbCj$uy^6Gs2$noMTja8I1p{XvQ+g;N%5NC1bH!qq5e!c zFSS95VY?8F^Xz4ui+P|{CH`E(Dd{euLf4yMF>Vq}gpw?b$g}7~u*}+NSu^C(upXn^ zD>P9@jMC~zYxOS6^pP1w=b~_f$icTy*ZxV!Fx;xkR<2 zFp0ec@t0t*7N*h4S&^G5gt+A|7{N==yl@il=vVhQe&(fiN#T zxWMi~pBxMmEMM{A1xXptjp0mjrJkX1L#(5~j+}yZod{8n`0Nx0(CK4~WtK1jtEgNB zC}@F+O83ll?FpAtQv@n6C5~iv#^jX8r~Ty(V)nhA6cUmRN7|sKwj9Ag6cn$RY6{)? z0uKT$7KhNW+ECvmw)3o<_lL+a>_SJ03;*rX!frIM^0|$QhGry>jJUjlJqjudjEf=4wSdTOv*%j%uFU#6w3tJrL#3HP78i^k0yEGNd4da+`6OkK0$HV?c2!TEc4KZ zO~?SUT5uHqmDW2dg_NerSNJsVwW&NpnP76r*WQ~DFIDO+$u)8_$o3*3t_YV1K~hye z3qe*h+40<}k<)_0HFbV2>!}B0EsfP6osUNKb0f_hd6r@~BJ%&qoC2g2c<&gvs1KDsw4$~o`qUNeVQEdRre>*p4-Q%z@Gka2Ztsma*Jlfbzm2W$L}-5Z`c0( z7g7z5EY6;@p0oJhE37JDfKn0Y8(4C+hwWF_cWdZx??HsF5Wo;+E{3^!s>_k6#>hp9 z4Rw4d&4kyErJbq=!&A$8tXX1HQV_sqkt?bW40|GwGq4@@V6}NvuEo=Y*6eYXOsS)qxy`A|lkd!!}&` z;Y9;_G`@WMz62C0S(21|WuJgj)*unY@iY4BKR^8N%O{4+G~FI@-WaH4Ag?IxlrJCH zcZ@xUMp987g+CtFgBLDQSzCx6ninqe4$O67t*f&4-42U(RwaEuU9{e!v*D{l+At)6 zazyZ}A-s@o5pcmyf>jtPM-z1it-tH6&`oO)65v-(YS&&c2z!5@gq{ z=2De{tAcC2aXqdsp|)P`6LdazdWXW-eFG6IQ`EuqCKq8VD@{?W>S6cBW`dQ|7*&wh z&~0&2Bai!KBlzcSd&mUSknY(zBl!01XtqPSsBIpF&{jp{d)N>QC})CuSIT7)9CN`b zblP>jdGq~GzyA4$PhSszIJ-DIy;u&*)%odSIh>q*`Zu%$feF%0TZ}y3LL{VJ>%>|Y z{Q37t2W%&}S?l++k0v=q^p`p>5uM6s+(j-iQbUiJCMFUKD~efZ@I!q~nXzyI`~pMU)HeUto= zmj}LiC+_?H63ehh7v@Aq1Y+hWVi7CVensQ$<&E-wD;%#BQNSy#(JH_}RT<1XM?Q!< zx1td-FIlZu8h#~o)HD73ZzZLChpY5*a`BoXFCvD3#%QBcZboJ^uq5W0GS-1+^38sXb!672c7IkLdi& z4M3%pCLIn<%u2$LJV|NLBxk%msB&sVuV$OK$~HlDC!f~^hv9?I*J&_lk&$>Wie+Td zK=XYSY3Zgf5{L01DYS00RN>#hXKhjok4fl{w!RVoye5i<6gpwQlf*S1 z*XP{u2YR3%#BTYkDx$*ItgRmckda@{NaB?9D>Klol$f1DU_aiblU`;wh|gazz2P@hKu7Q@1< zdMDXn!eAN}`7{=cL9itmBK`t0C8(2-%T@d0g%@_IE7B2)6q^-; zN`e_jw9J%95`?dt%lDG`5AswIR^>LsJS-Vn{}@5-txi3#XZ5%clKkwaI(|mZRUr@E zl+#x#ssiW?ZIu*Mwb=^S+zrv2Cm%5qI_?&ZoKv;f;?C9IyKe54xtA+#gA7K4@_^{X z?c!b-aKMlIMHNlt8%<1Gms7?c4@Y29-@XG<*$&7H1SUmLS^`O6I+noK*g#268&(dP zp`VJud7#{-HgHp0%g=sq#D;oMkCY|L_76`F+lSlPH|&Z=)70Dj!}H^T349jb7*vX} zf1@&&Q?nHJ^Wg=fOHma{yyixhgsquVvpoXF9h`gPvvxZrx~|?PfB%g`$RSI|-Q6Qp zVH^(BSCTAG_E94YDvi}-uRBFIF62NtA8MIrP*=BbGcNbRYcfWXj|eS|@t+M059=ps zk9I)$m+h{g6bXQ$ls9b*c|#Y@(h}w&t&+xIAtRmI?4I837^s%uq#o*=p-qs5>%CnI zH3Fb9z7RsvGs?0SVgzpQwKH71U_62~9SoskQ4tX@(~*B{gpT}xF*iY{l_q=2ngW(o z8wWjr@-N!>k$OMtqR{L%|0g@Y^FPl)>Meq#BlFSODF}mv@52-I@+)MIg8sr4DV;>l zd2LtSP9pprML;Qqo85tbEB!&G1BhFbLw*ō^PEYWzW3X^YHV1W@CNnMyam6e_f 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%0DRLM3kw! ze&=dAvMH50&R4~}p=u+9Kw=Y-WI6$Axzz@0lVZVHVi5ygSu5YAu41dUml40|-jj0M zPL5TLxO;>x8eF~2jlUVgE@_gJ5d`(?QC1F<-CEPL@Euq%3_4C`OG{mZQXcg}8a=^- zaIKn%ST?BDJl~^|<=cD4Q~|IMvq`Xe^WppNe`c1=n~y*J_{$emZut4vk6&hp*eY`% zvDxT9e){}9|DQbc^*8_ikA&C3z!h*b`#G>aMs=%(CeU6b`A|nEi&BlJ>01bt*GOLn z&=L%JRMN}|ewx~tZEfso950{YUoWx?a8J)js0j$*FwBO))TLuN{LRc-5_AQxfd@yE z+h$HzH4&6`Nk~CY=U-_w!TtedaGuafn4MrD%d5a=hB>vnOidI3XLtw-Ae zGQ0r};;zdXQsV7eiMLB&8fIyVG3i{-kpl(sZhM?3?1zHDWsw?UOGhZ&i1!dWhGGmB z*Fy%sf4bikFlz@UP9At0&&o|I@iNh#BsU0`>f}&ZhI94lIwXRQGN)4m?cMW`f2-jy zPp?dath{3M*+_qJ1Y9x59aqEyQwe1#T{(vfA$sKBA}zGN_PoVJVyMN0!eCy@l;bZ|f&nbYq@J1)#zvsu=0B};tW=$^cbGz`zedzIs$do%QNmZXQ8 zSdx9P_`_mxGCxBF;&c3ku4qg;n6nJ=KO6paDj6@W3HSOSvM_HMH{iFdMv<$7hRpJg zc{d)O8qjH%fD?6-5wEpF1VAUJMhbNpKPlv)WhC=XLitFV(YC8YGGnM`4BAa6ohB}o z!+OjPAQ7#ejq?y@cpk=sRm><#DbC{bN{dQ3L|gJ5jYNLwLa9ceyt<$Y^zpABexCi? zoCa?+XM#R&X|42q)#czthDSI=trRwaENl)L%ps_)0G@Z2tX<*bIlPIIVB~u!!UsyZ z)DqR<7N!0kK|iQ+JlwBQKksm;n`t4Wx;M!IV&Z)Q6J9rzhZK~AZAFj#BNumq80Wfx zzc5*6ct1+^ydw~Sx6`s^ey){%`GB2HMW;)m3o4j}oll&Y{6jr-u#v&(p12IeUV3>D z3;oxhe);lhsSC?|`d2Dq7&&f>pNohJp%zYBl)n_VhQFoURmlwRjrfIhpOouR1Ds+Q z1@8d1cA&!$M^hBkOs%C(+9Bh5Zn@dL#f}Lv6D#3swI1{25@}X|L9-zzKmitix!~lV zLklKNn22OLL|EJ(HQQun6JMJnMjRDCt#u_%f$E0v0Z&Mfs*!iQ%Nv%?n;P-k8js6W z)s!-sKuY^QvS1-tf#%tu#8YxH9O(eKZSc3Mt_j(}O5>L*X z!=A`lFD(DLFPL ztc=u2PVo^pN65T>iv)0i57C0z7d|ixP}%ippcef`4_1ym0dn*S-yc-eLpT=pMfE!A zVOWE3O=dZACMWu&$-o8Z zM8p8DRSczszrma)nNCDJLOC=$#kfl1fbTU0$qm-r3t`}Dn~;*HcCqHqtVIS5?{s~K zHHiA5+(8`d+R=n7kas>`2R8vrs0F8yNtP$B1tTzs9XZI97`o?2ujHVSwS3nV zG66%_(ag1vMb(rzdJ^|+C^+i4yovG74NlF}Yn1zagsdNhcE(bFVDkJV?5Ytpwyu6` zFgTC7S&FUT4>QD7JZ^oC|hIFSTkQ>B-cpy7emu&lxORK+n;z~~K2;5oA3&}AF8 zFj0Ih7=Qjx;QRBfL<+SNcsLyg#pON7O|9?*TnW<=T;e1Z#tTUz#&@U@Rl1^JNDzf2 zg3K07*(QFokKEJ#@&*Cy>~*S+3<(AnGA;i?YR7#*Ms2;0@eX86%~Z%pV!~V`Jde}t zrK~dNturorGpn>k;+yaP!w>LmvQrj$1jflRXA6P-G%k`ctp*f;}4%c z{PG0`@Gr;jKm8{v6n}3~he<3|<8Tc;jby4*6m(PqX+p(N2auE3lhG{Qk9Jjb2H9LwSBgftk(gFHJ5}e7onO@Txjj@cemzHa@ zlWXV8A_e;w^Wzb80Pu)@fKpk+$wrm`0LfRR26$TlS#6&h0C`TTrsc{`&vKU~zCo75{ z2|UoTeoW3H$}ua{)+|4((J{?Mar27fXcA`D0)94Mcx7h)n-!WpvCVB4KIVVR9Lg6o zu@g}czy{E(>r`~nomUcPsl^8BGw)2$vv$HxDQYH-CSl+Ky`l9j^HGC`5OIgKqq2OL za?0z*Tc4qyC8~kUrHtUKE98NQQ5FWlQCSyTkx-9PpM5W7DvdfU{hY*A>*YN7IglM( zweFy44pb9q+i)pCBXwx(74mIt)=px}j!T}2rZTbE(0P!zyO&*YhV%wI(A%A+Fbu?X zL`?xrff)Va&L<`&7DP$uiTa^RQ7vk!3C237U`P`27FN_CggEqfeo{k_qd_OXGfg5M zP=@E7PbAylimIVisz0BdJ(BXivWNM%9^9m!9j_n)8Lg# z0SnmNq4KGfilunKK21etua6kj- zqWR>|L)l3VB$FN{Pnvqi9b0^*7OG{aNEZD>?(5Eq)5OPAo)q>d zMhWSM9*;H?>{Kn9Rm5_bcs+dTwcA55l!lEBQUZ=rqS>C@WC4AWju2{VnjLl=PN<=m zx0;R%nBF}|EUqhQ6H|1xZakvr*V)wVwY`vD{c$DL^SDGX`vUKf*fbjXDuKOK`drgeruUZ z_PBm|TeIBx0-WN*&wrET$CQu+RA-&}R)65Gz{#(`P^^gz&K*KntMNc6Ti+uasQ-IK zXS|#TEit5z+>!HZrl!S?LSaKAM2TZ|V<+XIuZ?&m0Pgim*1PBpwEOm-} zd~Qi29X%vFbS8`#VNJ_ctu_}6WR8#)!=gsP#*Q`1YX)`Wp~aRYi{tir59>1*WOYQ~ zPJVZLgSf@WceON5Jv=?GP|h88IYCF5xaf?7oEQHJ$}}~hL!2h361FvsNCnMwic~dqsEImX zKGGk@iO*N{Fr^(Yq^`<&U9ahpAS3oX;f!J|? z0cODEHY>c7w6v9c;HF5bN}xirr~xh`jGp8cfyrajQpW-sf&eT}qTp$)fSaAI z$94T6w%LyBHcf8VkO0P?nB<`**YT(yjtM-QgAbkn70!q~&$oWxiz% zzt#vbHAQ?J%7(==YqEqD&OwNa^1t-Llt%U{sh7l(N(vE92PGDBLBqBAs~ohemz8`4;=ma(h@Gr zu@%TEVmyS0Y+2+DH52q4TrhqCg*<}F-vnpl){@l&v`9%|c;`n(51CSI9+X7rx2_B{ zA&wMsgbsdcR4efw&$o}#CKvuoR*;3UZ$NDcN!pKHfCl~jJa|lRu)|-v(+FHDI3-;= zg$_HWsA%4XmTpBh=VmR~4^YyP;6>z8$rUYvx7S$?FfRtkyGsL)U;;@RC=^3`h(aD3 z{p85g4hZT%MDbnZ4-+83{6A1%%Y373GIS1RclWFe69{+@M5 z)^MsN9a`CnLQXYDPS*Df%k&L_H9uKD5{gx=7@Jy;5&j*~X$9W*GY-3rH?q zjX~t4)M2RIX}T|xyi#=q96DWT65XmPax+f&NUh1(a&6-rk!0ge@FXJ1$th!k@1XYL zf3c;`Sm&mCv&x1oZB|domrI0CP%1B1Q7_w1Xf#bX;D~CXSrHW6i=sW1u`b^QGSlq?MT!GrmV^mq9)Q{z>)c>(mIA6-nAEr$ zx0I^6VVCr=deG%z2b+jSO{B_M!zry2r&=o8trF?C)+$kkzy$0Ib!E^>!I+q$SL`6> zO;+l%DWoi})4U*jW?*ujrZ0?scCI{rMzGC4q)8@f$+~$t|5hGT0d7kceRT_z-)(R1 zpognFf=$;@iVc6#PjS6QcA~bNAREuLuhEnd#0#d+2@bVLmUzB>f};4kz$k)Y%ZS+; zN^JWzf3}}}^W#C;ybC*`($^3Ko$rAy9cwmP^GSL&#DnYWyF2D7H~@`?eAk@`vd&T$KC zWo(NkmIx@lGAr37r7zTvQAK4@mDSg8FCd)B$F(N5G*W!;X?*R4DhXjbx#^649re?0 z-yp|8N(nB9gPss-=Bwo?O(Ct8=yo#x9?UHRq8tSN5GP4JOTL^1uB!u-Vxis8V%+MA zm}?Jom15~RSi2dhDc$J7$_TsFDjN*Dmb#5ZbhFRaLw;_Z396(?;Up4&fq5bKDClD z1_K_f1M+`cIyjn8vxutXU9eE6In`)qRsDIswzN3p9YE_@U(%#rGUYraA%^m;3R&RB z_^jM%vR2GJgttE9bOjd4P>=Ht5{(K9R#lDgO$EW_DWL3FBe70S)5TIbD$%!ZX<8oM zw_yzSvv0fejBNaPy+;%yaT)b@uJPLK?K8V`Xtjq{QiL(ipu0HJdhweRlXUr!gsFX? zBm`ji!`a2z>BVwbuFg*v%i-kg)4zEpCgIZ-q6Qp>OhDXAd9Yd(qOxxBDKW>{n0^~j zZLc~!J*Y#wVl74wk8KlIiFm+wwg1$cZ-)5-90PBQdmd$>HiP>8u_Fu#idAR?h%&;& z>A1sREGmirv6*rIcfa1zs9dh_teXc^{l+>EPX{=3%1>ZP$_p1^JCk}0YCD4@uy- zS$?8W$&9BcQLJ;Oq(N6Y8FnHCRP<4MLq%LrFI{hXiZB*d+JXldC|VV9D+W;xbeIB} zQhrvDsz}~Z#T9y!lu?f!GHKsIdzCWROl^9e;;%`MsjW4`X%Ug+D~tMJpT}H$3%~iTeFx3iU@&R1WnQ36jy#5KxiZ6506c2{Yw6I1lFw6kHkDIB8}hD8wWOcQ*S&INzcM=Yeq zev)CrqvgNbH?*4{zm3IDqqHpvbj8w3GftnMQL-mayCdC$Glft_23g9%W&H7Llk6NN zu}UHErg z0{^>r`m*B!oxS_NJMr(0%Ihj6&%NJptM`BR*NsNyT|!AHFbMA&68XAw=?N;#^~0@N zrWnz}W*8vo+6-foZ*z7$stio#zmZ}JN^l`<)W?+oPvgGyGopU3` z^JT~GZ&(+sh*n1t$aRa9;^87oaP#BmUyi^0_m3aZ1K`bvBD+<;;?mbBsBwh?bkBQq zB-nrV`1C-;<-YJIOGk%}TK_yDhm_~!I0~FVFoT^;{)jjFS*5YgYkRYJg&0Oy1yEXYkV~Q+n)J%*+My8=|AKjDfS#O{x{0C$f)6VVYyGImPrRQYHl2zE;fDsChX)?OMbnL(e;9HN2^t|sob{OAW%56RgW@l?VZk(q>84f!bA zo568c>uW+@cuH;|!r$~!C2^|lJW$OLJ5nq4fkG+SoU3eIck`;X7!khf2?~?keA(c3 zQ;E5wL4C%=#P2`-@S)E zmnAnZq30+NEqBIWvrEa(rU&QwZM|`QBl_v=*KhCEAcm+8&*~LGll%1@8)`I!IWbUj zI%S@gY``*Ru-P1#)GRQkR^AeSft7YE_#%alz^-B_y6a7dp#zjnUk>Slg~h=)>PMjG zJg?gGol4s05{en|&pTeFc;FCc2Y6nqIphyJXkm}L;s>3Y(BWy5Q+bWGo@j*vQ8eTR zdU4hu^N1sIXIvnI@LI~EXk=D&V9qurt(&qjbJOh45~dIYmQma2z7ZU}9q4RzG)1?V z^(>J`9W%A*a-s^vpUD}O)Mzs8{ymBmKxuGKg4B^nKKg2!f_ZHShCPFQIRP?5&ivg} zZ~`C`^|lncIjup&Cp_&zrQC6qE?!CL+k13Xua?@KqRY(OQ**Hp)e7m`YByC`S~}uz z(Rotff*;e!ZHW|D8!~bxis%gOCa&hY!^2~}*y(wNBKbj}SR;Q#L_$qHdAXjs>wmWd zbaD=9s02931#1%uz2Fd*N(>5`;7JUM8LUntnq4UYWHYsD_=?e^pb~;q3L4LmqqLvL z8A+$J1^QAYdM%Q060TGq9?ggg3a)3t&jcu^Yb4zU&~Z;Z%It4q!MEp*MegCh0d>Ae{f}S z0MqbrN3q?bI)L^eQ6%oVZkbwP4G;z54|jHEX19a2?imFcSS$DSaX+GoS#n6RSEMI( z_j)0Fw48D$V$-gy*$~2@l8iebz&_hWOKy-v? zxF#|@S#|Omid>rAXE?uRu?_N3;(dfW5A^6F!(om3Rr})$49nl{zEf0@;ytN)Pdz0L z$bw(t#vTX1?j#ba52;M00qpiSNkLh6P#;VxhB2iaebv=w-*Ls zJ|2=$gJJguJ50MfjdvGuw^iMpA^NECkn7B%MCS&jpW``BTZ}GO?}ok63t~6F*YMtU zc2m$cG)Feh3qY-wpYxa=U8)>#y#7vmg_}p!CZoA}eG3%1%b30*eH1WhRMfx~JcQMFEpgM%Tak4~56g|b7Qu?w_q3)g~k+5CMP zfh`_9j8bo~O$O)?RO_J*;B+P_*j(Rjp>_hVvb`HrPX439yL%K9dT(K*7UBh@Qs&pu zGBv9x=Si-PY#uaD8`0mLhLd&HPX%?-t1xN8#Gi&zVeJqngi;X(Qj|$YWN2r|heGQT z9j=gN9*NSmBG{a05iX+#J;2y5g{vfZ)RHqoPEK;KJWV!@dmVeyqwgU~;whty5!bmX!=A^{uiAJ(kb`P9fdlr-?a5I!9gt)r!%CIaI znyOZQDupAm;rbG(qxTP0sit<&Atzy1Jw@)7R}kqh2-ZR-OdNJ+tb;|pS$g1hD^~cVMu3B1lj zcXxTIk*`TUvKl42Jh6`}i&C5${hYBa4Jtrs6WHp^Dgo7esKGb3*cP6Id)U;3U?-z^ z{>}uwr>voYhz3$OzjqM2oxwd6Mr|-U2`L{Rh7=cFhq9Dr$$rspiPyK;8UEQ2xUpiIES${3*s6*2>`;*`c5cV-jLS=Ch?F7)o-W_X5sh*6UXwPJTSN?*1RPKv zO&)g@-`SJrUulChnkU;&n;eW(hFb^4a-Mfp?l*U;^t3mLi>`tRfQPyX)CYJaQe8*= zrrI~iGLr=20KI!aUO=s!OwCffMR+9YDQ}4gVu+}pZATLcj2MXH@#*^cZiBE)%OZh* z^)`71qRT2|pxuMlcpJ;zNs2g&z@Uz3jz;zmut5L6oV{yv9LJe1sGrg?Ct`z|vBq89 zjSD~QMsznC1T5U#4Ss~H1eWmZ*I=6k=w zS$#J{9hEPr1pDV-zI;3$Ux5hz_|xZ)Uw--gBd8xd?8u)&bsWU}KOMknxOmTmGDD#d z0}6#5VF0m*qGgF1T={Ko?%y_r^2OhS%YIzrd*r}KnS^#y*oPL$AnPss`3Q2J9P&r@ zCIl1+^PtODlJ^r;qYH*%VTLMQ#VJ#-$9E{vv=gc)FAf)t$}LSfTQ_Js9qGlx<{B*^ zv4+3uQB;P`2AAs~i&GOiq;Ya8_r(G%_==trpYc`xO`5`cc)NR6@!&jCs-1!6^d7&4 z?DscE^fKD+ZZ7TxwqPjJI_I~|os#M}7=RiZ=@tckgllWZ-@qg2|aG6Y*kOYp@|W$uJ2n01@Xgh)}EV91IA z;yef=B0wVa$GN2A!5I4XzUYqC#YS(;V|L!Kb4eM6;8}3m*(w*sj472~5l=v*5)GMc zjyJCP7+i@7#t;XA;%q&Stp){gR1EQ&m(|~HX){`8Rrv`f3%BIQ{IPukl%2KMdjIZC zB3}f)QN@lEY2}wbofUta7$c<}{pjS|p*M(HMqX!e&y^XxIBgK((poko<3V<*t~_Ta zro()V%Gi#!f*-kRSM);j))-u=K4gt(DEL0m+fA&7C@CR~sWU;}Q)FWhS|%zCb8*=A zugm^mTSud^X2%Lx{IjD4o*T<+ZLin3(cWh0LHEY?N-EZEuRH?S0j9XZV9U+01D$QG zw*pE5_IiYhG2ZM*H!oOfIYm$ZHf_}cCoFijVzI63Z*mUBEB8~pRCL8{7L2VYjM-0q z!nl;0e(W*<@S3ra|HTGch%86OfRGe)znh($)Y2V<(YBCZCA-OZffi*2H;AcNBhK%; zV+kZ6RE$PD452@dAcQ4by+x@HoHA4$wor1&jWH;&z{VMFu^SE4&^5ZTM+5GV95*(< zo8NOxsaXYE9Sp~uX$R0SH6;OY@;|M{{mmMI6`vN0AXTA(ToI8Q!R;7Jx4Vo z8P~j=9B{1BszGz{q>lt%A=`x2tew$;=;^r%)#e~#w-b~+M0|!8ZV%bA*6^Dg^}^dD#rJq?Y3cz) z5d74L<7aPNmZXduvf2bcg}Av`EyQW*~;)X@mgm4vbgPEyxj1@3Z);%>x_eoM=U{U)g(l22scOKnx6CfNZ8+)z{HEJ{taiItw?P-V`CsJCvfH^<)$m#|Tqe)fj>%$%%F{TL$kA2marB36rEhJ|t zEj(CvbG^f`+ZlYEe+S`XDjI8HE$9UJH}iAW?pc*CFvWl2-w?UJ zlEMYXK_SRm12T6o-{rW_W>8NM+iOpSaJQpDq6Ch#V|s^M!7LQMiV*^7N1)z?>Ym=>>9>Evpn76F7s-+4mv`p{DeDGXc;k3m0dUqxDl-1Uo_jz^%_m|s$3*>5satA=ed?BwPh<}R*g)M zvw9963WDq0jWQC5!Yv9n%2GuVEM~-tRB*4-kRCEl7~U%e+&&(!Wk$4chV0t(Q)1Rehp`jv_ZIaSO!aH?qIJr#ETV}{{lZDkGtNO`; zC7w8_h8x6$6F=0dEfw;U6R^%UgoVP1Rr*7A}Jdi`=0s za|`ncs8?nSlYyJy%XBZ7`GSycL666)ha1Rv*C46*rNx?Nu-ZZt*9M?XRgl09-e2o{HJ-S^+>gPh{k{cA+x_0-UYGZ}@C>63aeCWP!lTJETgoMke0_ z5@DNcE{`m1SCtuBNxTHUkl6lqRl$0eER`VRJ!t4^N0h+REj&|;TuU4N4Pkq|(*7N}xguvSau^PZ$JtPuBl`dJ0V8>nte=63YZeZ1N{E5dCr!oke;YC7)ot9 zQ&r8$3FY63Hi68_>1pT49+{%7NrtQrfuzdW2^6Mc5#oJfN%N{w?O5l`;semJSyrinjf)nH%dS={&@leJBrX0j3^<$P;cR{mC1y#Srf8!M%JSmY2Y z*hAG;yp(Qf7A)g_1QC0oKOvaUkB#7_b@Q>?0{Cj)SFRO|NhCpyVzkt)5nt+zin$!} zJ~6{m?$dD!5NTSI$}O6a-@*^%J|t^MShFMq-XE@|MBT$Z;RDHvg@6o9iNSvohS8lY z2qL^HXTPC*a7u+%)&hB9%+oxgO&t&1>Ap*M)K;W2?t~>vH52c-T@3SRgayEv|4M=P z6zD^Hu8~EFI`X5!Q9gnl^9&hZWHuY2Lupr(TGYd`55cCKU`uZ^r^c;E%&33#KV!%P z%p3@$MTG+dJ^b?H&!7JK{%vhcNq3wOUAAretypQ+PmlMZPt)T80`9uR*8bJS%=`Lcr-%%s=8f~J_^w?4hN13L%D2H zA;U(!$;gpGJfg()@C(GanMf$eCuP8!c<<>~thRSNTwPy2zPjH3@yD-cuOL6Xdi4w7 z7l|!jzJ3*d$ne**uaWTvq-1HG*}u-z?3?&BaDgiJ0q&um;KbWKPV-{l13mI%dH{+NZNTK}kKk!BQHb7M zw|87GYmaMjMUDn)nR|4jE&~My7st0~RRD~y(*F5wkbjbhN_Jq{A1`Db1;V-G6b#+a zWUA(RP6XYYq!WZ#IG_rL5*8R>GCwbs)()3dV!U!1YAIbyflwSZ;{~&T!dct#q^g1X z5UbCFXv8)ZtPWT}W4LeuV@)taSpFLN2?QuMELQD(G~jfyGc2E;nTld}_<#5TRv^Mz zC2OSOfA|c6vG%gRY&0mZGXA6Dw{>$fHRLVR64}7??Vj#&p%73IB^vhTTake;VN833 z;9fJQ-VEN|Knu205pbTi6IkR24^dFuP;u;#%)_)kf9*0ENEfN6n=D2H4XC%{dU{uo zN|{9Ze9P~uKZmDOkL$;fZ&3lXth_et%Uis+Qwk}L!r@I%5BgPn>#e)2DasXN#TU|Zwtl!?R_fYy92ak2_n4GH1f>}`ujOb-Jj!k0yn=u2T*9UUu%4RR`!T5Rxu*;hJr!J=P~* zY(OsGP^3wIJ6e#ew^utvY}X)HI{#2%prOk6#`>fBNb3 zr!W8g=JQX#`~$^HXXc&i4Cxyl_SeLMIoTKf9j^&Q$7op2O2O@6P)7^uOd=>E((~?7yI1}CHIO9zOSM1Ll4VVec7@nmze?m)m>3$}xT4GRDc)3Jwke{_L)@36DyF^gqa+2oa{~z8y*F;1 zTXgC;P}+|`f4T%rZ7v+Ia;?T?RN|789ZqNe^0$9UYTc^Y)Huj-Jd__0jJW5h^}Ju- zq3S%;ivD%qh3=^Ag7R0mSy2L0B3?BVrrXe=BQ8=sEqpSn!-)9;Oxh%&p&e-XWHV0v z&^PsVyR)QB>x!6_8B*($w2`naEVk$_LpdroF=UGQRu$Bm(!53lcA+#7Pl!~{$l{Um zrpY=7un==)P^EURY^bB;w4Aj(FTGSV`7D*4a2Uwj8fl;>aFb9#BcCbwC)HjMmPli$ zS^|6H6&Vy(WX7N{tgY`34A6hAD~(#!SjHKM2z zI9UC&W`ZIW%52{3b`MAmhwu#jU)28kl7Bzsk~E;7P6=mJ>oFHErBMhdqSpFsv~#8# zFzQ=4fxE}!=DWw;@qT{+qI(46(Z6o4A0M%DBw<~zAxf*KVl%85YIc$XdqW&aB(&ID zvd)4OOeD#}f?7v9#%14+@jbewS{?qplt|MmpYVK2!IXzb)Ej~%g2u!sZak}*RlrGQ zWH!|TIo{c3C%I_>dACrf@O}`P1djB{6|P^vl-GMKznQ`B=^BXmB2|t0WWml7KJyM~ z*ooi8zo|;D0eeVBNr(;34(b4=>G-9EHuD43?%XNIvZYqa(RdVK{P{1we;!Y_~@v31+FQ45qXM zTJol7GI|Mv!wZ9spOaH$dx|WOjS(RSAUn7I4k&ey!?!f)bY(@_+>@dU6q;4LDpu-IRExJ4t^slLfFUAH zGpJGw(bM^wgl6e3LA<7Rg~}A%X8xv;PftpP0<`d#yITm zr9nMn!fE~TvyU%1Raab?9TZ`Bw^Jl|-U;+~IZfMbP#U$)0Bwz~al%%soJx-Ujc@7bh6X&vL5< zRfmS+L-Tsj4oCeNx?73*3!$O~U^33%>_Y8CeG>OXKST0sJ49DVGlL}o_34A*@=1oa z7yvX^(ThUHjl)-<$)kvc~yQo($C?V?mEuclxk%DB9|`kcbc=8qroSublV?J!;% zbsj%CN4C>pFB`ZjD1>C>;(nm8=6ZWJu*MaFNBek?ofJ`Mh3`qGbPFYjp){h9duqwR zf)J~?u(x{;zG;)NwWNip0Zzhd*#p)!7QK)_xk>;QJ9V*G!{$?E^VPkth@&+YWTTax_IhPl?9-+_MDCbVv&~R5{mYE%+Ig%qmKW8Mb*P zS{c3_+C^&iKQ+s^8sL}pgkFj5oh4cAUm|fa>yPOHE{jvnYRp=XgLU4qrtpbG#RL%&t{4Rb@VII)SLqdLlIw8C;Vs!!%}O_&0pxG`0WpM_xr z;r&&VF>k5{eU*5Db0)+TUOZl5xhSC_=M>_VMu#+us|2tTKjJkNeC6oUQmsT$Igjd6 zLepFp0#+=})y0OP=P`AmBwT0UeNZIR57;C+nFCSr2R<$kbfBWZxgCPoy%gnuCeGz9|A{MWO;gk`YT;-WDkCfWjT!u{RF z?iMB8>Vxag(L^tf0}Z6K;~iMl(rX9^C1SABHtRSusN@?x9={~V^UVypaV%>tawseaRh7hiu~|;O zq44H+U<^kD(Y;ZBJhJnR(k?9F^D6I}rdy9@=!Thn?Tlt#I&AL+6HA;0%tuLi*?_Fj z6L&a#dkw4Z)QE#|XI$P|NAyI&SC|6V=Qy~OB$mFY4J2al2y~yoA2WLi8_{89ZSw}$96Zv^T$}DP_9^rF3FM4UV zzEkKv0{*h4qS*hPbUYxs>aaf&QjsM);#-r`bgK%6Q>Oz7t&(FEpgVJ9o1Ir5x7XV( zTAK2SGnAlGNSDZ6DLqyzV1RR`FCEYgNqjS?bN3Dr$U=Nl^_6y9-YAboZJ8ohK}SEn z-CluuJ)+>C?P-a`5Z8C4K(h#TElG%gw3$a7FCwYd7us!M37cUdCs{@^$Ll;@Yl%r2 z0#=7PuyB3u)LB@FvM!&sz=}mieT`y+>j{y`z13z4sQd)|m+FFVC7uDqs^Uhp%b2{6 zSPtT=79?gW>mj3tFArZ-Cp-W)f5eX9ljcGmw-jQxa28qT)==*RdnVE|8wC~hl@Nok zKji3>=E(Fu_+;BFP79msayP%2f=IH(nbb4k3l@hDDY=X6kqEbHvQ*8~=%Hr*yA3>g zX&S8+Lcuko)DlY(jE61t24g6rna#ms$_?hhDlG>40qkb=16Eu4u?>Q>lO0vn{0LY5 zKkC%$c!Bz<#b+1-Vso{|je4+3ZoRy|0i>yy75O8^Nz5E%QNLnK5v&$o;z7U62%eZB zrXWfAQZu;jlWy)Q!MO4=EEuprXeno}!46cSP4NbPz|Xy)RmQ2S;D}%XdPm$mq8WlK zD>SrE%`y@k%KJ);LBcT`l*IcyjnhHd1H(#WgF!UNZO6iVDiG}}0khCFMJ>7!a^=K$ zk9}FxTJt3NBv{z4_Sckiju(p|RT=<^=0#Kbc9mJ78ql4oA)rVLlZ{VR*vP|Xky=zf z+ptK%AFXEL#o%sF;Q(qHrbkfC$w30y`%us_>isFc6=IcyXyoB#s@BdF!lWHW){pnM zFw1Z5(Mnum@EL~(YrpAdp2G@IWrHUKfu05Zg{P9e=XFt1#oNCqlMAHIc;Iv;ub+&H zB-X=TK+RJ0ymHgr;(|Q4^kKg_6hf+IabU^We4Xn|4MSyzsKtT-(z`>Si8R)je&0u? zW|BgT$sR*g3HL%k$wyCowZEOjH}lT269o=Eno1TF)Z@f-n`cGdGzC0Liu&=oE_pUY4@PU&EFaxi3-ZMgGr znq?%!>NPR|Butm|SlDp8J-4d7MNHH@5>$SI1%o_n!A?4*#K<|SLx2DAFQ1qtsR|V& z1{i=~&b>v~>kXj1B(u7q4Xn7GC40i}~6X#RBkEov~QJPeSukTXT5GyPQH{axt zixm9{Pz(x&N*h-r7f1N21wn&us3)}sWD>k)LIz?me5#6PBTX?edk9ooD!=w-0`s^bL4DVkwk237yFmYhsML; zi4~8hx@9erlu_{sGD{*3*h>Zd5NGn<}?A~C9TX&~% zuiUYuz{a|gmTq4pN@`O9r={wFA3eKOOh^%BsI#Q;{jyWok|cF+y!=F@;8)&3<@XUv z-Iy10{g`HsffhCHHiL${UbAVwasdY1N)n~q6wnT|D`>`rvY@W6bi2{=ekRVF-H5#o z#JF_K$(jI_qtx)bL{)$%oE5_4b|6MoiqI{-X?c=0y}`z|9od|YQr)}_@B zSGHSwYx50`h&^Ph4VSsTP2z5TC-q=EQZC| zs>+QI^Z2M&E7{@hnbr=t2+`=;r9+h&MDj;V37{^U1Q?hGd?0L2ia$3yIWjo~e;2<9s7R2&(ZXN{Ls3P@mzTRDR>1$nmZ#Sx>_WCME_b+kGeH?T zrDfS;2DC9aH_0gKVHnL2@Rf&EC2FgX%+By=dnCF_HUl#XkJj`vRWUtQQ|kQCet@t_#sz4*VG{)?qwFLcrL-+0 znX88Ni!;f9>C3eGMr@+xL@Yp z3kKgxO|awDVY7a^pbaw7#@c)=Y?ZUpWPz^Wjb@}p!vHyt6VGK-o++t}gAO5+f-vdv zlN!RwGenrb00=z(huOIXswO%+W*DpUg)r_wb42RFOyha(-OEl1n?d=QbPbjJQKk6p zOxiCA30bq6Kd*J3AS3dKj!`qft25RCuih*^y0XOtIr*nTw287dQ9;0B(tfL=#?6a7 zr-?XnI%B~}o#?pU3|)^|c?DJ;nH`fMQ7sAMDYD<w27#t%uThZFpTYs_JUZ#Ohl_XIB5p0nN9!=={t)BE}A(W`CvF(M}_!>~bwh zD4I!97|V(b1=Tc3s-ZbeGTkO6XD`9i_WSzt`*X^X_|^d-FLpQU?~XTrsB7w^0mq8G zr7ja)Dp^3!W*hM-Mbd80=flttxF)Z-PMDSs=5CW3gB5Yv2 zkZrzti;UPb7ZepQD*jkjY(=O6_sAUgZm&y1Ekf0*vfd9MZ2T&e&2Qv?{rdeQ+h({R zu34HCX;IcD(O!l4?kw3!k_ZhILTKIv==NNC&CEQ1i5ds_I^kt~v=r^*?ZaCHKz1+t z;f)66b(GqbX`E;lzM5%*s}*<0upPwRVJwE`M>FZb#EcDKB%=vnD*;Wsz0F zoa6w^kShd>Bnb7R$y2Zcp(cRHQ~WLy;U&Bg=75LB?P|K|62ggeK+gLe@xM@BV}fio z;fkb4dpibD6=4qzirl~ugpQU5i)U)mnk6vpVPD)Vj@Am0KHR~EiHTg~G$9PEo1~Q7 zh5rkC`k(KA_~oN+gG45jl2Jia^;O&u@&O(pNKhN%g)=!pZF}NbPuQtS(a|xl={YaO z)xl->+mjqm`%~p4LH{y@&b>E(F89{mK|4( z5PgKR!GM;>WTRvixCBmA(a7xat5LMY+6dL};=07erfVIH$)gIpYE77%y_8PG2Qeo= zx2+A=B_gOqgsFv=@nGH2>=&79;}+L~q)43JPIrhDL9E9hHli5rVh)c0+7^i1$1BCC7@EY4YFG4XPO=m0f%- zO9*Zx;Qi~4dE-%m0m4Y6QNjfvpJFwE%-#p*;_jUjAPq>*BfXO)Y*%yaeAOVnIPr=n zb(G8kRwIE)8ZS_FL>L`Yd{GUWwPWq?g{G#^ zU(=AGrI4XvcCySnqfwaRqA0ev1U5FVgvbba#Gyd@-`*S`4ZsUdE0k9voZZ9LRZ+~&3_sQGyubwyt^_Ia;OG72`ub%9 zvPDVjMEyDiMbvBDg%tiRyTy4}0|KT~gdvRtFsXSgwdxmF_q+%vJEc$5;HmWt8M(QC z1JblPK$p5cTqA@EWJsd`hn0II0kt04&V7UjK$EC;Y@<-0S2L(z0zp~!LTr!YG=tG_ z`F>U1RD2XONH6)(mOBq0*>LU+%Vme~ZfRS8>DvRna3n=s+&|oB0o|0iRxXiga@4Nh zG0Ms0+f*|EQESK{qcp8=qArA4(Bcuts#cHXJYo^l;sM%~aK&N^*{)|ym`_R@AJ{L( zcgYIP-~RxKjD2F(k4IR*cKf?ET{EIiB@ly-A?+ZvMx>YnfybR-;B)a0^OfjLKcF|g zZvQ+2G$9syiF`HhJ2;VKFRP>~EnKD7T04y7Tggz5bvun7Rc9sVt_LGR9>zt<_O{)U5DC#~)!FEUu=d|R7|)Q%~nxF&8~To{wmETvatETnYZ!(EZO z>DQRX-OAYUuwNgB5}KbwaU(>6UimGP@R%XJEjnAV?x4^}FPJqQ3k1Xg|5q6;n;d%y zymrr5CLiQ>C1YQr9rbw0l1ojKj_9h67f8hLjBYpTSpF|$Oau%s5DZRj(`a^zJEO@F zMEzd5p4HmtLbT1+_6mP@>?WfbdVnmUrwjvuV=x~sbB_&EEMZV7HE*f~Db$Jp5-X&V z6Uwb#othQ|K@op6S*XI;UE@|*w;kZq)RjZ+LnC(8L@Qzs_X|?%0dheN+0;kc8M-O1 zGK)&%PD<06OGHbIsv_h^)hPY^r+WTkQzmCL`_ask-3WBVM+-JyAbzZIS@!4Xr_p*L z`^9bP0%jOgqhC}ojqy;2WppMP!>Hv7gkZw}Zss^h)EbkbsT(Ab-1jAWNoerJqEAdK za4dlE?!eETEyGUb+Z6=RG>j_3-HOyf2B2-MJLE^yp8%_siZhJI(X<*aBjRUxqQZ_V z#&CJb-i4*k+$Ci5dt~*Cwf~yE6>lMXBC=ENn*WMWR{n<)u==0xoudI%XgGe7v);pf z6iYa)z@W19eoH?N45MjL{%F&(9@dM9$TN3UwstJwv{3nOSVduI?VpJV8Uh4~G_uoi zr2OC5<}#im&~B&8Z42{mTBYv89Pc0>3b59Ag_;I-C+IGa4tO)|=MCh3DyG$u#gi?{ z9tW!O-KY*WmQpbYBg*)7bF=^BbT~~jPZyTHUg*^Efu@Z%Kw)Z@KEsY>uGUSM*)&`o zPCC0!w9NRxrZt#H^GDkoq*o?6X<;$2AtzOmX^D|-#yu2LS1`AF)50Wr!kn7Ik5XAx z(-aT^V=at+_z7kFs}^ET)e%Al@`e~qiA8xv6M8{i)wA*W1`t9+6=15yq@7{i&~&_d zD2E4<;7ddqJl>{PKn-x97U`tLE^*x*HCbYN4XoJRb$p2RxPb+-!M6`jFd7!xU^qpC z7mQsHv6wPGo}@@+!E$lvzm*E#nW!sqXVC4I#!W`Eh;P({*=qlD%O&X3+(kKXDH~k# z<$6rtXhRaPd=S;f;lDx$Gao z7uEO3XV5r}b5((!dFq*Aj0W`(phpBKz>6DVL36z$6SOn9gp2@^EmW}u@!4>%Q#z5Z zLYP)q4EKB5S?|R9Ud(U(IeI^3iy%mn#f{alxB#wGk`)iG9$W|ub1ljqRxSmANfD}d zxc%@s5#}}0NTk{#1fZECK8p5RY33+84@IHh%8j8CMU#V{R8Z97+e3z*`}R!2r#gya zOo=b6DG29Q<hZ{6AO_%K%3lA?W!emOk)R01VMSAJZhj;5U+ zKAVKYR8_Q=wC)?~F;8LkNWVB4c2Xm-I&wjUBwTDgx`Mz717XK%fv9`bRhSrX1ndmU zUJytcwcd=#CB(8FR|xKbSC4sB)JFo@WQUc$%+Ji>$*^Wm%SqQ7(^Q(SrvTJc66^s2 zK@NCEqtOmg=+EQcgm4n_GKFTIO}r#YJt9#1gwA^=r|PSSREp0ipCRszY>RJ4^#sx* zRS4K#Nq|m5APv->nkW!JR88VUYmEeL00rn+BUfqw33`>)^oq$8_^zhtH>f~$?vhjp zQ6K*H{<8#XTGNQWmgo$brbn=2IFP`PJ82&=Uf6LDe2sn=$anH(!N-G$%r&3ONK!gz-un$j`Dl=+;+*_8icbLu--SNOlW)|5IjJt@69HeRmtMz5d znxbI5n4hjPgFXmAIn+?BeZue~HYeOQ`Db%xPT}COCy?ISK4(Mgeyvx67(d1awo1bWCLh7ck^h zc387v>fxGM+nFclk<_vIG1r+DvY4ytP#^10DBgm%^Z=5iS!58h1o0NC!-Wvy^S4{p zAHcxkE1&~p4TdmU^MP~c zs-#;i!D>&1onWvst`m3m)qu>Zlhwy>mW$PmDfvTH zS6*{^adHH9Hyi9WBRoh$3SyuY1r7K68a$gpy`v#7loe4P+as`ELMyDMgI3!>tGeJt zyIoR=lSX4#A~(X+jdwPPH7 z!Jc+6vnMMop~;bLd7^@JaQdP!%(7ErMP6kpI|@=J=L^i9Lg6|!Q!0LE3aJGQL@$b} zK9@x&g=!}OBNFb>#3=Pc3o%Qu*>GF^{jtm&UN++*;W@BNj~&sbSKp!;1tVDOFMKs*Lvl2A_@Z#b* z9#J89JVnr($X~@X-J&}$-cT~ezzyk~Frfkhzs2T z%loJS$u;z!4vGD%uV;ohxf-m;9x}L`;S#Hvrh7ouU_6fX#3D0fpDd)9;IG+Nj8l2M zzTJUM%)Tk2HK;tLk;<0X?6t;lU+*8^AlkeT7bPw9t7Q6vP|`AmZWpCL6`wC^<)#QL6=pO4IQwYw>>dqM6); z>Pn}tUkH6sHVElLyzL`l{8RuTiJ5~$in=u5YZpW+l$Ls5e~Q~iljWU$eu{FH`d5wX z?(!gA_dr*7FQGbUfg#sd@f+1^gv@ye>4tI$LP5Ps6ASZrPabE#^xB_wYtbB?LyG@1CD#3)U*oThH~E{!HAk zGuq{cy?NZ&dPhWuqsGJKqtGUIRZ}*IT*%C-bli4Skw(jGXmCh}AXPGH+2g~#WagU&!i7+cly&?Jo+*l=EYd+ugXI!k2jshu4zA4PAQv0g2zJ_2ns^k`lajJZ1 zzpZJXy{d|=9l{f|k{Q${nX3gN>grrOm62?S zz*kX2^jjm?M?;Le={y1*N$xc?3|!ckm+xp~tB-4jP-ZCZ$bX`fIdB_a>egWQ>> zFODe9+&xK=IY6DDJdFr8s>}KH0TuIW(vODoqE2ue`SEhK5&7kQ4D^G@2t{e~u_NaJe@hzdU^Y z^wZ~0U;cY`JhqpF8o7ol4hd4ZmdH_YUTMegtTw&CceyJ+OD)A;et!S?i(5IQum(E5 zZ);=7)XZWKag9>Q(i?`IK^E^^bif@C1>}Zr0_iM;jT4Hhkq#dp&*4K=6oSgSusR1$ z8we-j-y6xzseWni6@?KdGEjxnDjiv`6#YK3~*sT~{v4utKf_jXW-t zNVI_&!+JFYhbS)o&eA?NuZP`PqQ!jpG}dN^ZC+C5=gv? z{NRanktblXS)AYwy^?h%cW;)$B$U3?z8=2bw$(i@`8U>c<-=5y+{{mNVy`%MAciW< zM&O{p20Gl4fxyOm-E%?bVTDryKNN3EN}7Fxib52Y+?sK>-&F?hc1$0VAjZpId4+i% zz2O3bCS=2d5-iS5z%HHbq&}_6^bk={-UT}YUH4)(e^R*?l${R=22ye=R_De*yv*wm z{qo>1XVRPtVxxgZ8f(YZY*2JKVGrl;!-!Gd>#k*E? zB?8MWdTLP@xDp`i-Q32NpQ>ptQc*+v_NI*Ce{8gcL&jR$J!DK1h}Y^VMsRSRNR zrq4Vs;Zjs9CI613~K+5pk5Yw1#SeK89Br^})M3dem0*s7mtfyPmB= z=*zxoHRiOYx+bL5$%0wuGvh5}uQTXd(z`znMMwitzNn3nk+fQAx|vHV7ne6T%stKM zN5E-`o=t%43Jd@Xm{u^KgNCZqQUu6eZLM=5G z^aWv+WYZ#jsT=hIebaS6`Q|R!PKG;Nur32+GFVNk^U!)C^#r-;@ZUc_e){kqTHPH< z$al8~y|XGrz+=HHX;pcAEVx|=EJ6_EENIX3BP-AZGhk@H!y+n30uQ}-a=zG7+%#4k zBcmM+m~(gXyejD@B|w5F!V*%ePMR2n)dLBlK(e|9C=>OE%SSD;6V^Yfy4ZYF9t#(U zGsx$?Hb_E2bStB% z76s{FKWKe%{H94KpfC?~z|DsRddvn^1;4_1W`ROR18My3MdZ;;%32tFw^8Po3X_R* zMGKc@+*~XJp0pw<{ok^0(M}Z-%i*yR(R(xWu`Nwx*~c20jIebl%C;yLcx7)92{JYc zGIr+3y=+JWd$os|Tw!arH%}Kr9fg#-;C@N=bL3 z2nAJX9FqKYTsOrzji$8qPE!nA$A`^)HCvv-8;`p8(yvd}Tvg-ImY*;COLICfgKkh( z?Md7+aN4emo~MRTiUyF9h><55EG5IE z90?3Ub{emPJy>tWkuXix;bZ!^s*}_sx(6K5Z5Apm>tj5jmevg{*&}Q+Q$K%yf z)!@ywvg_1+!zPW}wUhJ-N~}NN|gw?O_fTL8ZW_Qkao<;7i_8)lZKjC zEsL;}!6)P;boq?$LaB~Ds$bk6Z!Vh5%er|MYkHK4*n-M4*rdeQG`#ggwUgyxdi>+w zp|H)yA>y-&Y;zi^q)DU97aK8PNMpven72x9&!$lI4l-qxT%$Axy(CZoe1>OD|Lu)9 z3-8=1-)Qte<5zDf;t}}HKyufJHeK(xSFXMaM2zGvVs%#$MGTD}sP%C}MSN{vEAP;N zDZDh4)9#V&?f)T!j7F(g# zkgPg~G2f~}8X|$R{AWl%_oy$C;ix;s4jt}OS^^dh5h-}&oc$)9_JiwL#bp zS|!znmKV0!&x!#i*5|1vm8w|@!R*Zy(04}JG(qA=2c<+HgXcz2l+#9ln!8@5uIsMt zAx6}DmN;#hqI+hA^ew~s=TCoS-$BU=vYTYD+}3>E$d9HA!z>E15A)h z;?=VdBhQzZ5y$l7YJv68#3GwXx=^RZ#q|imqI1ztVmu`1i6en(HdJOT$Y-Xfd)S0| zs_@UIL}_P&;e^quaNbJI3-3XhtUmMekb!CH^{9vHYE6dM)h#cEBvdY}qU?DzLUH8k zHY}Fj;!Wy;Xm$*Y22R`-sJ}+p=VJX`oMLCJbBw)NdX7n9)u!C_;u@23JxB$WRskV$ z=$UuCLUb|^>vUB`C%4&7f=Di8A`nN#cDqbA&)BYHX)RLLv6mBz?5fUWuaY zvdx;aVue(|9HoyNG zQlo653tVZ$7u6Y$bpf6J{?qp#7ZO12QF$YTW9W1}NT4+)hD0E=GDO_|m4v9{(eQFB zQ_*4$*kzE6n%R%Xb+4pB;m!K`md3461uoa9{0es^`n-G#YY5AnUmsX2^c$3f<(_+3 zME5{d+{{Pw_|6R&f7X`?J>XkFEe4NBIIl{-${wOn@K9S!PU!_{%SyA^@(fIl8; z=pwDGh7I#!|ICF)7HHRw{?Ur2d<73xu*OqlO&P#IfCRbs*;8!# zJr8X|6Dzd)U_iu&Jka4jqbYo=$|iCr0oBaGSNAu$DF;3a0bc-PM&&{BvcFwOOCJA< zICJasm~LXWw`n+>RD9`P_Cp*G%8t?JA;d`?y9}a3TmY&7+(FZSLyzGTmWt9!Z}-=a zyI1eO|Nisu{`370U(a6s=TD!$|N0gF`}xb~Up{=9JytVeUyvF6&6~dd`kVjfKfj*+ z-?$HV7YIj6VhWCQ)v>x*!+3Rr!U~O%+HZ^7C6FT&qv~_5X03LD?Lo!5^&c7L%p1X= z+r;8+o;-rQQf(8vw@Na#p6Dx=>&WY7|2Bhyrj9=B`bJW!JNnHM)m>;QY>4~QVeew! zJSx~dh$~(b#x(?iI|1X&5ouK7S3wpP&R!V=46k4mrKWs4&;$AAUV%U%E`VVIy}&Z? zh&HAJLiiIdBjv5gYi4|bIyxO8ixdlm1udn-~Crjmw7LT1cqiZ7`E5h)>@o`W@ z5R8z@3Ba?B?ygb-6ldzML|{W>F{*|X_56E^I364l9dm1ReOApIMzq!*WGSor?ZadB z%9rNp`_IY!X7L!)Gmz{hygMxJ9v!E6} zl5-}f>5fVUvq`Jto-f7v3A^es(yZ`)^nY>l*Lq%gFPu;3i!~9eZWzlGn#U@>>zY^8ut^A4_}(g?7~4AItCR0o{F>@fEl@AA_6j( zKg^)f9rE++-7AM0X1hSkrw3FgsfCM)Nr56M-fw+{UA!2!-*STK)Ti!s<#8Pfqg?36Xvwn5GCF0#nMh$CzUN~C&))u z7nLj3XWN;e=ju|sSJZmOs`7akuj zZgXlPwnE6`voJm{&EluQp|NZ`uEdvQUI5bgF4-qB_o8Vnl`#92H`rovWS=`zOFb6Mtao8U|IZ56yM((aE$AkU()BpT< z{DK2bEYG6a7%CR15ZrcV6Q?)Q0LBAhdB3U z@zJ2oPBkcUi5M!bx=JnXPl-(p@0Fq*Wn}y%Wu%BO)6HZRhuv;6Skx%DVLV3%l>->BWAam?c?i*bc8AyJAx881H)k-)<9EB-PdOdER4iEyyFyBs) zm6bD3IaJlXM$nVeP=#j|LNqGZf)|*9T6D!?p+t!jr=>;122s+wa@M~=?X~Do;Y~=B zU}OZDga`l68EKw;SG|4vw@CcFzI#K@!qkWpl<|18QKfiti0UCzm?L ztuJ>-dozL0($WgX`58ViAhbrjfv9MY$_{$Tv7#A}#VGozf>xRZYv7nB`@vTDct9&c zU^@a+lbrDFZuek&#;ZnHH7H$d=Wtx+K-*@5f|pjM!%>e6I#Bri_%pKMaA}cPKUX!b=*|rSM{s=PL1{9kazp#D&{DSq5Fj29Hu%O1vA4B3v%z zttBC-yk6qGMyT6P2wX8~Uy2AH-X>G1wIDbsA%dpCCFj|CXzni+XDL#Xj8dO#OpkuP zr~xD#^n3AFA#G;6#j_!Vh_VvYI5cO}K$7Ef_8cLlnQ5^)x^qd%)#8tkH%B8Kax|X9 zFYK70@N8DOL3` z2oVUp!gTHk>qBgMl`Y#200@TDuV?>z*1r+ha<#ucUZKh1{`wtAa9f+R(wT+Ugdw0p zj+f>sqPTx*eRl_!K(DSVY+q8HfZ6?1bDSJ?XL1XLJJ<W-6RLHD?fZmBG8+urg{=*=@2YEFhp`fPdI`AA{{EJr*ypw zjF}kk;Lg-co?Df4U>rZO@9oxnUg#rCs7LJU<^aZR5@ljJuf>BX#f9pS61yZoV&|T7 zDA2+5K|+aU5PvD8iM$AL3(*DSO@M~36cGE+9qsHwf1d6^*2wha4;O2RGZ=B2>8bLC zEpE%9KGGc-3!a|RS@jE(b?HP$k%8JW4?R$08h=UZ(xEZ zn+qd62|2?4kw$~okJ&X<4LIg^?i0ihZpiH;n&Rs0#0zzlyl)RZArW_j@+ITI>a83N z>mJr1!+tZFmLjqxL7Q-;koz){6+%HutM{P5+c z&$Ch-PcMWu&nvUMU~Vx;%o3q^)8SefN5;VO0%GL6Li#6HAm0pDu#N{JRK*Q|FRUnG zrDPata;b=LzY$SJZBOSpNprb2nON#|)=qM8hy7Se;T3|CiAy8XquVy_zsW zqBy|$Duo_d>@Szup%;b4we$3Ah%z2{lr#id(-S$t;mDUkx{|M2`k?sA;^?4QLC?(O zs{49Q)3-Z(3JFk%e*nqS8b367u329CpPA+CZep$=iSbr)lWQ1e(QfBEVJ2i!m7ujp zfI~7Wx%|b;{+`i2@&>by)N=3HY|t7A*$#Er#D*oZGOrRFx^y=uH?+i%6LD7ht`*q~QRxYrU)T}b;sb))PWza4ob zRx(t1in|uN6+@?{a080GL!hebrqek6^0*)GmBU!69fL9?y$T|4U%YC zk1A65T9y+->x|HR`okTOZek+e;Zf&KArT|^j|dV}^=tqEK=A^YL}*(SPOYSEyF(zB zdj^7tlD+QXw!_n5@Fdon&1~EyE(VmEj$pz%vFFM)*k^wuUnGWtMEB2O0xL8-IkM^7 zOVXR+_~caC{u-}8{e1lSzkmGj>Bqmmdhca$m_1fq&ludRy*cVPC_;-Q#$E6K=oo@X zC;v!wJxU=eM)PE04vv!K-3sJFsh~uR7oOeL2y!Xd!P4KF35ggl0KUIsl3Ctow52Qf= zwIAVaFh_{&3y&+Uh0RreK|2=fwD86tJUeu?#6D#4E$wtYO$kno;7uLxN*zjRqP{&k zE(k9QdgKG+d)sqlaD$arG_?e+tM8A{o(`}iyAB9L*r=*Tb*r5LYnu*hR7 z7(6d9Xr}hv^SvZ^NsG-SbXP983|a5MD+Mi9;xzXS0#?b@`By+ukpKDY41r@7p?-6Z zqSyPK{K9HkURpT66(8AcfX$@aY9nlhbbrJ^D}W%y2kc$G_ml-$vu#VkJ8xSj3cbve zjq^wN@rlGW835DH(#3T`{zO3VFY1l!ov1fqiJK6m1@N>clHz9wb+DL_5;J?(H@pLp zNF>dLazrK52O)_c@q7(H#_Kd3m_f{(r3*7_qS)l&Jg9GN2KA1PmVveA!!W6PVxpWz zw!=rmg-YyoO^dNF+bfuy_^Wg%&cuVs_Rg-migastRQ~BD^BkQJv^V#XS$7_lOZqK%@PHi)@y}d_Q2>z%me#B+}nX#@E3=5Gt_!jLzD?K*j;Xn|S56VM+X&py2f>ZtlC5mesrBscJ zJJ21lMp_%}g{Z9m?GB}Q*Q#hCy8Wx4|Mt`8FEiNkze4v{C?dO~X70e8-->U#3IrBT z3^;(a!?In3-KaY&fCvBqQ*V`p@tk_QH^ZVzzKHD}57gT|8V^(FBHEoHEPw^DvSP_- zNGL#V;l^*KW6zK4%{_9X3j9L4)BO=sg8WFbg9XXAGh}DTY|VHKp>fZWDa@rx0Wdgud(XCrfZL(~s2$g# z>@6u=TjZ>&)n6f7N9kZ8(^|{c)SAT48gYJNT#nO&0_89fqN~B1=+vX}-^>~ug+DS* zAcC>sny=-NrqYK*Y;%%)z2b{}B4kaEKZ^rw52fWsN~9ImN5c zXEzU0)1ZdEeW)Epe$`=re21(tvmA9M*73Y0=zN$DQUN1Bh&6H67vkEaf%M`2Eo~RS zHKVtr^dwoAb5pD8>R4Y>+=)rL`y@P0G;R_7&MifDjf%k*jlxV45X{**neEWFhfj3b@csr5SswpcB)($ZCmmKzJ!pa+JTM?HJZZBYMk8t&vsied zjZ`26U(Ob5xCb59Mt08|v7gEkT^a}{9C#WmtnxoW=ptsy=8&@_=L4hR6?|wtx_L%M zNyQP`F@yM3#NJv-k{~-}NcUL#R|jo^|<=WWn0=RZo)#6pjLC>jI8EKB0jK#`;)g1>acKI!4Zu{tS}X9qrJ?{yeTH z`|~_)8NBKd&VyDfFZPqsL<4jP17vnyj`X|Tx~?^+MmAqeHBI(L;rK(?WfAt7Up^8pRkmfOzL-ku{5jx)E2~vkCpm)qOv`!Nbw6={*&E%2h z=mnEt#X1qMad@kZ7cXK-evZI)1rp>-Fd)0IS+bO%Khi-oOj21MO=U5Q=2=rC4hy4k zfo5J+om#*ad582q0))yF1}d8LS@SN62Gy{9E#w$P)&eQC@%X8Dzf4e{p`Kwv z57GXfFG4Nkii+n@OaV#0*|NMg+1IOIzeWUM`3K&REpx6?6r==?E|k;FKf3ZDo`n&* zFkWtPk55$tz1#p7o0xW0+*uD*C$8FNK&_k4bv;pDUrLk%rmsO<}bj5g8y3 zjZY4+#!TsOBAR;*mJ+=nb<4UvXUrLrCfK8~@JLiTT<&2;Z)K4)MAV9KFUsk>7W}N4 zrK$4iuoI=hsfq+pEQ-i1RVD&o`tpE zjKBCdA_}Qz5XeBwCg#ao+#I->zot>c(rP`3I9;o0VxC?zgCy3TLvIi`^=vB~3*+;~ z=dzNtkgBE9TciRaNneD!BN0D!yHFh^OVAA4bl|E(y~K7xJFFDx7Iotr!Oy7i_00_8 zH+fd&Qf3Iz8`SA7h&mvAMfvz*6_pf}hcC#(J(kvmWp zL}WefEC616w(JqdAcZ}QXuTkhll@n-TI5mzHK-GmUl(po7)Es-NL({hb6c4KN2L1i zXuu(=Gc3@ABSF{=O8-RDDXNO-dxuvE(v7q&NSXvHV2Gx{r9uiXQ!{1!*X?gx>yb;XCMDS4tsTHMeEOv5BP&jWdg3FH z+oH~=S{pQgPJ~G^G8l?NY7nKFQl<@bDi^={<+u16I}i1MOSbO{f4 zmX1G{OXPQu=psfew%y8*I3)GSz0Nuec2#|LJyOTr3U5il0-RrQUJR3n*r?uKU%)VOlt@zD00I>ariaJ-2O|0SYQgY&Oz<1L92^FjVzD@*!BV6t zu&X;d0W`7=`6=>!-n>eT_z}O$PfPk>$OPLb zSAP{j^R)z1|0C)VL^5|L)3qLe1rHy{Y8w{ zptX^^U5Cg}1ZYVbMfg$BgtcBC7hQWFo^D`it|gM*3_SztkHv(@S83~;yc;EaS>Xd5 z9Ng?*UyV5UPV!R~Lf6B*vc%NJdbR)`>+jn7(vhS$u8ZbgXyCEs1>@unj7m^>ush@j z(z#d8M1g#Ml0E<07+DPS4L4UqTnU@dfEdzINex63+}a_kasup#+9-Q{cetw(>==4H zIfwEDWy%!!H=O1?{7uqmB66H|WmNDb0QTa>)39%i^Pu8Au}QK)F7-QyN_20I00!=> z*G+L3ypuW80crUD?z`LDi;JtP$+Yl1!57wfjx5O+9K@Uvg7^0thHm^3RoP*Bg~o`S zTRl$@Q7*Phrc2yft+%5Y^1>t=4(^|8guf&lPUl?k>6QFfnPkSJhO2Z`uxg*il%rQC zh&q{YuO@6xBkPa1yE~dCpG-pF#=?B$(DICTt7}TCM9QC+577IbiVpMgw2rv-8#i!S zdW6|Qd%V5e|FPiz(I|sl_AlkeR`#}lA= z3(|m#FoxEYp&y-SP(-rOpFo;WG`Za8-Xp`(wN{fWL%NUDIS>U8r32&%zR>i6XH^D# zo+Mv5GQ~Wg#3I%OBmd-(pGJQIg+eDax-RMgZN!3_9k5h0n~m>~<*CNR=pQk{RmLp1 zw-&3V*jrmBt(*s5z+%+!{v!&T$imQiE>xX*0*Mv5)K7$@Nv7S^=_H%tSs-J9%5ItM zJ}9^4t@w)-y;XfX5rYNyCPVCSVFo-?xFk+wx<$xvu9e?h6rp{gvq1W#Y4hso15nql z9yaiw(RC=&`21H?v9ddC>(TqWzx5~tO8aj5U}r2$@#(aNXzckiOX*_Z!Tj8PcEGhY zBelY7)C@Ej(cT!e&AoT6xi$>CQxhC8jg~dj1UN+}@~Qynzh=6|qMN#4=9S24=L4fK zZz#0sZ811aV5?`yR$3ko;$7g5dMCQc6Tjq8y9KYF@2P1I@#_Xi!Vja25pn%5>M$2ettV%xv9dzie1yfDC#~gb77$wfSd-63?9%~YQxiHsHaV5Rue3@E-bCD9IkRHQLM(}#nJKp? zO%H<=TnVo9NsAE5Rk`h7(?JBoMd1^Pzpk&MPX54tm285AKfY@+Bn(8x)5^KhocUY! zI#h}kUzaXupi9VzxDYYX{3}Y?v>!Lyjpo%Pg4#~gRnZW@J!e=Q{y&bkx!yU^c7`5g zW(~S-H5{x|X9hkCtHSSAD;2g|jq3`lPY9K>WrC_^N~QRss;}nRvIw`4g}?pq(~p0h z$q&ZA*|`;>Jl*QFnWGDoSEJ74+neiKkRu9^5RI9qYs3q2TL!U1K&&bsE2v6NzRa?U z_&j6vuxgpFBvY+(?LwfT*j0Dm$^-)8Z+-2JI7#wj)v} zSrnxq%^)9QuTtrHJcZxj_L1N)2#-a*DRgNH6+)6H#n>eR{8aMfbYqK2O$|E6};CAMZ9u3qY*XYI~_1i+Ack;NB9B>8GBlLDyw+huF ztq?p)gB?)mPE$zXSz6JXPC%=I1e~6N^DqLxAnH_fDa$qN6bB>Z z!otq#b#x}^oka*5#7ZL{5;9P!eX*TOc$@^GfPTC?BE49vnJ&+5Ylo()0Lu^F@_E+X z3a=_L?Ko_9FB8g(FjQ-Rj8s3$?;r&H%pwUrPsRh>?Vlye#L^6~2}~|Rai}(xQ8NY7 zuzr6!py**4w4gWGAqL%Pgl2OyuII}_>*NC|)&dI&p3>t-ovU@gAa-B@09ZeOcR8<^ ztzgpdXspI}5v!h>&{_H9R9!uR1IqxJOg%dSCKl)*Orw-XV95@X6?+WU5mFy4HH=Hx zKOxoLx?~@Z@4tNc{OQlXeEE1hzIyeK_aFY_c@>2|mW)x`?W!jN4=n09qK=ov<48l&6_wq(p@n^=HbE%7AW;s>FUHq=Ji@ z+MSvAcvKgk;a#f_A&?Ffp;Y11K>Ue$LOc0|2xq=|)Sm$m&Gil(v@`VhNpZTAvl;Y# z_vTnko6#~sl-Y#M(U`0)*#@ndJh)IQr;EMrh@>&3FObk3mWY1!;p^Fl+5h+-vzr7& ziRaR$##`W04%R^Po)j-Y{?f@HpQjy>P%pY00uaDkSL-glXR@lim9XBVkAr{RgM7*= zPA8oB5JmeA0PU#=*{dCvlQ*I7+(U6SD0xL=xrVIF(-2rFxPV${a@BOmw^wwFk|Y&p zLp%dcbmJr2Z{=X(A#|W8DlL`8yzYa1?dmJ_O3@{{I=?-ll;{r0e8?M?Odn@t){PNs za>^+U|KMtV+~32&aM;XN=bG>~Y6w|@ilE4Nih>OG%K2i7#x2(Qbg@{j zbqf<7Fm#ECTnhfeHlwF~g))*PeXJrWm}k*DoB2EkHYltDgn}?os#d}vfkh6hy>UBI z1@gtR(*NaC0!UfdfDPf~n>43!n1ys@)vv@+5wSM&Z2+Plum^I<2O%6uo^}CR3qXc` zr@u2>G3qIv%kE^wU(LZH)jd8m{w9;zZA?E{02pQqsV4xpmi35&X~2k^N0cEc2h^#Y zXlGcTNMR%$EA4*LFKLK&aGCuxQP7fAk+MEK1T$j z$gh?2TtaRh@3D1c;oTv}gVBT$A`m)?WMH){GA>|(+!PR*SeZqtY4aXg2&K%B7UJ!^ z+L0CNalR#+Qa#Owa2jevGNoEDyCve#@wk7y+kkYI&#?f|(G>Y0qU#$3r?3Q3{1I#K zj&{DGKTp5q_dlal`uo3r{Qco??>~S1{`U``fBJt>KKI@?V(!`@ekp{CD{Sk3iXmk1@%4nCxZ3&j zdOUykW-b9ng)l?8#KTbKVs*Uyc2n2OP`X(S^I1{nP4>qW1OakZ{U0^#L`!XMA97V| z`_bo5P?9Vzfxlt2*1`u~ZdZ&+)3X@(0zgAOH7f0(vjjW)*YQ}i&{2C@R@P;m6jxIx zCOFBOoF;pbm7d3UPkW2S1h7ag7u9~ZY_TZ2;QDUKPKAGf0SXeH3qI^lOf8H;1yTH% zr{=D-a3F@RrWwVR3F;2fT@D7nwR#YeJ`UFxFr2+G=pWmgBH!t|Fp3S!)J*_pa;7{7 zFQ6VRE39MiMS9gsHhHXx?*JcHnFEZV6_0Jezq=ilkMC z$cT&*lb&P-!XX^gqV~6&XA|p+#kEQt6QOkeYaP=UGZd!8K*p*XnjaD9RHE(Chv=dS z-7~V+W^P~P5ZGHc}22qLm263x$FnVJBi8>+942AlyZ&|P(F}cUt z>&gL7iRgv+yOqY@@r(t(ffr~yDEhWW;78<$bmIcvwb6?R8xbcyP!r@|Q*dWm({g=t z&00-RB&FDHoUkZVH(eAsK&zS5tJ6nFcpqcl^^snVw$?iac(u7Ch0D z@l+iIJs;&^ikSs@m;!ELWGN*WVqDh+?ErG(5H(E@1sbJjV6r>H5juakd4h@f_JCw! z^RhxPmZs{s+8Iy`mpoF^$XIq!X%|~<@}+VICKZJanNW7#YVlSwOJymvl!@_tpTVmK-Vco3lebqD3qs9-s1n!ar*KEXuNmhgt!BfYKHWO_|MVT;9TSDg?&W z7Y~yK4Pm*$=n@;D9p!Zjf_bmJK5^(RIH z{k`-(!X}{hW|3$Kgcb`wCGe+bVV4<~WN3{Dq0Yp8h;GoE-iIhBh z^+p^|NYvDAk4S3ZKLnaOw4bFw=W_{?9nlJjUf;%gDWzsLTMn@jwlFqjA{Uq%6|x+`_qiQS{?daBDN5V-Qv`N2#xsZfU5tLubtzO#VANtu?Z@pm{kSdG2+w}i$*@!Gu;u5|HuQ|#3IygV>LSgI*pMDnui(VSj(0BtnAohsUR+(|G{ zm|byv<5Bq>Is~AQph%7=mGJXR13mD;+)kBIRGnP~=L*(zi*OR21Of%{$g1v=FeW*q zAU+n!e!M_#dkwSQDGCh*ZMRa5|LPvr#dZMMjF>{SLU@NX7LlDUfo^dM zFIUVSO_No8=PBTtYQEY82<`u0-|3r zzcE3fFI#JZ!X-z++5{zeE(9qfmEs$;y$~yoQqX+aA5`BXq(}Mwq6sYx%}$Ar1Vy-2 zQvQ)0E>xXTvB0TY1CI`>YOO3V4^m7FW3&+woRv(^&gbsBs0=0O!Pp;Z*vS z_pkf8j7DXz%-k}M1P0ae7;8n^glv3k|4YgfvVzGYf38Eer>7*`L!&3@4KAv4yX6G( zb1kLqNQ2lc9F+A)>*G~5MX^ex5oBTGpst}O-)&qRE+?6g2=IcPDD z>s<6b9S_N-8VXQ!KpC_#oHXNdPtyG)X=-`Ax_*P|F8%Aifbpn2>{nWH?Zwuh-Y&_o z!+pwm9Tiva&ndgBcqQtj=JKD3Wt00$iv@dJ!PRIv+~y`o3BO>qm2n@{TT%a1tm*|& ztIUzbNz*^kH($B_<$itl240wQUiEd~vF=^ED*&`iIyyCgWYr^Qz*<;&A>>xPNhm<` znFR3Unl&nAd%1ysb-%ygUrMlDR-DqZI&;gR6zTdJy`TlCU)Kc3Zr?ub@iu%mf<0Pk zQK=84mWcu1$#yt4F{x@ej_R24{U<1~PG1`Li;;2`h8PozQFghVFF2E0ysjHH2};l` zBBnGj4n)*H3)MXz73PZQQ57-~$w0oq_g8o(D(AtUz0g*bL@Mp07>m+)d2$467?1?F zxdkYMT&BLxR24@97@F~1&IDbQ!e9b>ueqD6i?sw=-JqhMnF=4bAUZvg6YdzDQ4xYs ztOE_tVmEU#Fg3%0VRBwTMNx*XOZqQFmkRlB zyTh_RvWt|cBGPR!Y1U(kZPZLa=Sus|5Vl7n9btPshsyv?;Daesd4+z_3X_;&L4w_B z@*&BdE9UxVZZ9ES4KSTy`y5E`6aMsS~oWt~7J&zbqg=se54j$ul zrnD0#9(fmweT)xF$Yh=p5EsJVZAtDWB&O?~HMcW#rJ~)BV$t(*T!NmMDXR*5=fi$e zxfY84-@HB;JU}|)v7$eW#|Slp3UdXDW%opvNZY3(b#Ia^wXj=j=OMcWpbwf|oLuNB zEaZeqPADs#u)v&;MYi_$8NGWcz^Iy1(1;%cc@m69D@%ctLUe%%BoyR!%;{5ahJ33o zSaxZo+0rKC$y;Qnv{bL}q&JMHbPAcUtg)p`Ajx>B18JQ}3T$FllWsYUZ4JONNc{<> zyLFu>xS@~~xD1MB|NMZs24~7t^{OG=U$sl7vdo@o7)L5WZj&wRVpJdJvY0P8vsW)n)-7|OlB6P- zEH#!xi)EOMM&GD>1C)6;MQ-L*7!f>5CIz!9W=9 ze7#OTj}l~KQM{|-W0PW3{1N*W+%bka`_-9L?^AHQ;=Mx_At*Il9!ATIMAn+Rpp}qf zsh?r}iHCzI-XIkduZC5hJS=P(OrB``RO4~pSj01F;UKgGP3~hm3hTgIeYCS9{du}6 ze6yaJFbOWw?AhhaVCJJFD{=+w_((6(lmmb3#ibDqXfq~HMu-N~{2e+GXENKLqaUme zXQ|&!<^-E`eC>Fs^QoOl`kggYl#@rUlOdSGujzG2FRd3nF-ccV#!(I)TR0->y%~CM zLC324Hk1oT$L4yAj`i?F9Ox-u22Cat6ES&S9r%k;4V(b-P;Zo0giAt_#Tl>^Zu`&q|fk48FYJ)WaSt%hYpbR`ob05D{J_AMbVpkEzKuNB`Y zd9E}#i*Ime>@9lg!SX3cP*4N1P)GtALyU-)*Rq#zsXL`h*1eh(Qt|g%)LlV~>ty^5 zvq)s2#Xb)M*6HPiSc{P||G2-nzQhM>CrTFJDwvHY-`_k*Syc@aD(eSoQ*63|p$sW{ zC^e}z9AzGIT>N1!WtFk2xPmw^Ze|rpMwqD`KBFmmT!_I1tUrE;3IPZ-kgt*t@W>`E z9E`OO|O~O0c2VDwljlczysn&@^X+%8QJusopR-Q}80Nd^jydD;&e~ zwFbM>5JM4NH??D~vfTZ=#ddLh@viGI=uN5@IIojUfx}LR+JR=N?TtzdjGk&S^_rw| zE!D6R1#l3%8XOZVWXC(>El`8#SWSjG#<}r70cL9$2`V6H=#3pT*$3e*6K+ZwnS`Ho zx2#e*qI$R`sQiXW+yjp2Z}0!}@3&Wd01zRcHM|kZ$JoRWn2pDaA z8rD~He?c>?xJ7xf_DRYDriglv`^)t;JIoefA_SMPSC2{{3x4`Vc~ z82!x%-W8FPW#lt=^Z3Xr zy{STnDy`Sg*u=>pfp&mpXM)g8LYfDlsHRF{6`p45Kq6<2{ma?ATu+k+XGtvxVW+aw z^gP`RQMFOL4uT$w*P*kDxIthx@uxO&1w1B;m3mARSYhafTqvF4Mfw?ahIhnZ=p={) z#UyV(kcb6UV>4}tJoK`QwVI+|l8wRY;JBd4>*AtL;H1r?H%w!PFCf`pN-KlBlT#E@ znOevKDAt$}kU)~hblv_^rzsMU^4KUv6O(!Xtu6E_vS9k~7T!GGF+(JpA4;ke1zk)= z&%Qct4w?&sD1nO|%a&ZgOqs+X1noi=n!Orba(rk86l9U1wMMZ52(=bNdw@$8k+p~j zf5qRp3ZFyX=Y|LXeqb(uM|EUF5sL!pgii5gOiYyJ2rFPbt_k^#8x?RaVkY;D*tus; z-P7Ir8Dy1>3TNM-4H5Yby`#tV)8qZs8i9VYy+R0$)W(7TW=(aiD3Xe*bA|c^TI^n! zZNsnVz_l`Js@QCXrI*7Ia#-{l*jB_|313~PKBr=^gewKiOEywiB)%^`?TjCPnoENOX+|z$?GRDPycw6(XU*=g{T9YK zIx%^+OBe)LuTo@|NFoH z{%`Mp`2ElSAA9ctu31u*2k+_ODj;$b5Rk)7W`J(?<+}odeCO7ErqAhf=A6^hGh94= z*O`&&>0!EuVML-xh!TTH6pbPpf=Uz#QKE>bXbfIL5D5}u6b&IHL1T~@gGdbjyViQE zc2({D^-S{T`JeyEW5e{@^;PX#)v8tNR;%uq3Lf2Z+bx$)Oantin{!KMr;%$NbIu^p zMp{~bmRjWE+(rHc8(8x>CzbYU^+MqS>gpcCJ|*sqwuGJ7<|~OiJvFq}wh%*mJEH|Y zUuI*Fm_uhj8c19;DZq&)$kVvJOh|~^*ar#~xi#OLi#;iEx?sseG!R2gdwx^2#9~$c z*oz?45iw3{CcoNCicPi=oxVCcvwjjue`=yGFvGlOw=s%wa$$d_8dPLte3Xw_Da%Zw z#~4-;29zn27E{Q{GiSvCj48Eo!^WCfw`6~|Fsn18osE?zpFP|>UX|M$Pj(WAbiOCs zWd{wUjYvNA{KV1ACb1OXTsEu=?tT-TlW)HU$t*< zEP-9a7BJ)kQm*8ZUC3cp@IQHKZmVn|=GJCL%gVV|izs5fU><5LV8Tg!ss}xVEwCRm zprqMGZtdqG4M3Km;P!!kcQ?b5`j*#U*3!NJOs6=4R3~Q>2PSW9hmvUo^TL)$fc~+b zHzo~Qp1ZWEf3Q0g?Q)6GOS~Jl0l+)9@XS=vIcH#4nSLd|e=nCtkV?p7% z4^wauV^(V9zt7kwxeCp-Y?&L})_}GKMt;a6pb~$Sabv_c|Sh|v0qD{PT zTCL+EOTHsb$*0MuBP@}0gx~e#>e;K8vGg%)W$KH$n ziNRVq&hLZxhNIW^;BJVPids;zI(s)qMWZqo#i$QK8lz$q6#W)cPgtdvT5#+z4XA33 z^pkm(=H`HxDkz}Bq}qjCAwoFCoJK5wbVgYl^kgChqgUaNWBwR#aW`@K5ofcW^J0NG zg(gxmZNYtH_*?RkL6v_s-3*|L_R)2S(^ukX4_TJ&bx;gRKEg7>!Ayg-Yxi8Jn%KEA zHM{W}fs~{Bj;tfcu;oTOl52i*lW8z%C3w+E9%r}rY*)f)hdY)e%}uGH%#zw1|M}%i zOoIHaWd#dsWxATlOM6U)4Q?fWBS(^}tZ2Dgqlw+p&r+Qaa%#G%$jCs#FV72~{X9N~ z8S9jA6%hH!>8&sIand;xY6N5CX8VpDrz{kR{T6{?i9*C^e|3BJz!`QzBcp2I;0j1S zbckU8gS|$;>5>+rjr&={#{}fQhMdz!8q$VPl5nT!o$%YrPu_Tkv?sb*Gq_llbNode zX%}`YxD;T-8_70Q1WX{+LjDS6O8DzpOa6^a3^Fp#E#-5EM|>A)r3DH&gay z9vli8=uGdP^;)0O2HlZsP~c$Qi)bROs%=iD6Nc9c-N^P#>&{WYg6;I0+8Sp|*9h(n zm`CJw`i(pe1<$)sb$R#9CJdK6I7rUHaIev<)t7KKHfM!nhC!Pr(T0f9sIFG-#G)i? zkK2RbUQZWIT`R%<;4`e(Y&Ca5Sd~<`;et&=k>AQ`v4B3}|6uFn(v**FjY8wNJDM2c z#TgNU?IS|rFt@Z`q-@LAwL;;srAp_*=D`lz^ItHwipBBlj`g=mOeI*F7&&wegxB%x z4X%q!mNRytwkXX`B4cYw4V=*e3x4D!YN?i6Qe0ZanIWkKte#==Nn&f`snN@gadm^* z9H%FtJrmjm*pTIxKqzV>w}kyBf#$m6i6F3cO67sIQ!Z#n=8JRI(4#11jZi*y*y*t+ zaNLa$_-i7u^`(XCw6xLBcMC_jg&C4V>(6dNv{hPP(#+m=^oTm3#3bd9O>vP7IAZ6oC(#x=0C7#XeYok9jC>ys!ggowIz6T2Fseh@PmtaRbe zt?OLWKzhXtfM-jbc(Gy{M_@$oOMkt94La(NaJmmztnjameg6`TnwIxywy{?UmPI|X zFwiJNnyF)1mZ+cBOSM2l{Yk}x`b&%C-lI&)f52*8Y-wOb0M4S_BCCE&FbT6soGr1hYsKloM>`N! zEJ4&&$BPnvDY^lYNDtLN-1!T7u8LCF(e+@EyB3a($jwk#lfA&+>eP~8w6$KAJ>|R5 zLglD{kt$*luV_@;#|QI?%Nn*fBIX3%#F*DyrlH-bo=Y9g5@5IUbE)2)=r$_5DbCHb zLY1xh?DBT?gT0ih8=F>TJoh0(nlf|O{`{s$nW@}1O5?HizHVyxHx87UL7^#w0+x){ zwuZ~TQ+W@p;GkenNa8HB4m4Js*4eAOg-Apdc7L01VQDkF3ndoIg%KT4(Pr*i)_@9& ziYoXEN#p{q1@=L+g3mC!%CG18Pc0m;CvNE=!ish8g7-ZENJ1J z*!U5(;50c|!`*Fw;!ug_UqE|FJA0ve23RM_blQW6j3c1p8(pTM-O2ZrBn=s@-E0lAB8|3dwD6;itIHJYf<+SO5@~o3g~ogsdfDiliznLQ>}0R^iTR zv=G~cr4%4+oEhj`9(Yo;=_SdTq7aiXoqFBG5u&D34<<2AE7fx(;#qnxCNV}(m(0~D z7S{Pbq90?cZgfEutGwY7quGw>Cj0g}4Y^pov)Y-5Ri@HpZoR-sr1>>$w@51swLmgi z=#4GakyOGx2h47lMlF6Ol`5hj1tt2DxO5+y@NHZV6rP5eXjr7ly4Y2$b+Z)$ow#$3?6F19lauAh@7{+&FhtB?nxSdZzfvxFQ_L{ge%8I_b zld>_ql>4T%BK@wU-oDLdSG_M=L`?sk_0ouK+4`ZzOKXV@D}Cc9eQ`WItx#4bv&((3 z8l#Yv*1F2{nbktQF==md!riPl z#s#hg)01dlD_0$N1sv^idp=a`4&iNZx-UD5=MOH>u{c7Wt2*u!>g5qWG5!%>eq^8ObRrx>8zwpq*N-Jl z?9)W3!ttcA$HD=9=t<1PDfq$gC-j5W7N&^VS2$Kcn0>2RV*A=)&X_q=*BluVS=poU zz^WZr+H2Me61mp0gjTjHd7oIYk6in<9!cYvvhImnOr8Svq?`*QxpwL_?6_@40PPWc zMEIpX-ZEy;txfE6VmVBYl&H+#mFG{dY8 zc(ettGcfr%n0V?*=!yu?Os1tjJJ!;?#xoZTYGCS)Pw{A2!gar)H>$$Na&U-E>9nd| zy!pZ%msTQ+s!Wa-ZontDy^Bn z2FMkDxCNWO_ehOz<(Z=(1DRV+QZTc7eSlk4hkis&v`?IRVoQ?-f56%uhjqeTZMyc} z*+b>3VDK&>=rEX51$@oAn*lG=*vnwjpL+V+!vMpo7Db|Yy%G{v`8KX+Q^~?*?eict zh7nU5YMj)2LP=yiE(c7$)06?3(%qZ_Ya-6Waj+(i1N;|?kQnn?o(UxXpdZnV&uXKfbniA-J+e+yO@ZXqy3 zD$J1W1XlDy!FydKoh~nD6j8V!)*%6SA2qNqiC0!3M8%I$S@}?Xi=e~1xOfv&6J#H! z(TFIiVnv4u0qIrjZzy)HKRX_iRvO`$%dC+H99dRNO;%8X%WsMNsgXl?Qz&<^^dqOs z#*TzEhCd&BP0D7ZNopzzp@bIP4I&e>Es!X{DOXVd)M^+VfLI*|1gtyK<8 zj~z2cD1U+-4F`_ZW^Yoj5D;; z!`7LC-`faHhS*scSA!(qezj1OPQ@t0o$6+Aotl?5h6f5>7TA$hq* zfnOMlb;B=gzlmSib%{A@?OdKM$vVWk*kq^68tPr(#f6Tx ze(_E(>bm_?SVgH$>&%PCGpV#;q)S>v3`xR(`v;j&?frSmj_gf9c6b>%L^bKO@#{-& zJF7vT&VV6i3~>D$&0?HKMkR!Qh9OWQY|8hFy~(OtNV%nv(Xwa(vJ%*Ld!evaG;w^} zrua%|OWNN$+>$7w17tAY!dVYK0$wJIi^0*%XL)T1AHelD1i$BCJ0u z2eiu1XwLRRi_tejeuho0X=s623_S<*{6%Y~io@Fid zHc+|F;6S#MvQJl3v8ohB?5eA-x_If1JExac4*4sXGb*k={`{9S8cjr@z1{6-#>ta3 z7(*&-j7@48g?a8Gzk-?WVEJg>^s!{m-rD9#NO>eh4xoez7aJPq;?}iPaV+v3M08xP z)^+-_Hri$Uq$1*EA}9m_v;`)PNd;IO#I~`EbqDKsJT2NgC&B3ss(xX%B@{hI=jT*SSFTKx_ zr&D0Xl(pEor?a*lc!q3Wmg(_(=hPY=nuW-=|0|)}uRDwqln<4t=X_{30b3((g+Mn{H)!oCE zZ0`2E>+IA5r6yYI7_V5@y#hT&^kp+HL=+aZF^Y}&p=huNXOSHP?&Nxm#KHjTbG}N6 zw1;dLG=RE9!uLriO9Wz{T+Ww7oZ_8fLsByaa&;NxKjph{uR{;`8Pq&tG!V-I6BO z-?7Oc_=L^PJ`Bw=&Q6GM{)&!v05;W7`ze}+2=_?J942|_Ww{#~iZv2-OC=ep_xUj{ zdi_R3ed|?Wbblyd>hk0}2ZZ66fGGp2+qUQ{k;Y?adOUXK;#THE!m#)$7Ck>bi!k669(xQejNi$GI&eDwW@|W3!HRxCbTt4AiWH>+P&KKR2k{D z9NQ5E5%h9d#@x@Dn zXqQV%j?O?FcJ_>xR@#G(dOf=p`Elt^`LtC{q>1*A4Tg+gaj~_by$5@8F5Gm}t#f?+ zXnlX%b#bX;VLoqg}4k}}a1IWQ9-Tn3@;xLv58`br@>sN`qsxvI4Ju{4x zU`_6`Hr98D^%!mKufZ!1O9VIt!(QcminF0SM42*3`xd2NZdNd{91iuC20#N47STF;B#7V?{!{tEcmZ`8S{*7tB*PwZRW19ULn+ zI%An@v7g!`t*VGRHy->7vV{nAVnIRPKOqCTD}6a;2to*u>_>3Kvc}J z5?hoC{OEe*hWgSQ$7v+K_GW$7bXLmdZN~}4>4N;7`j>USis#YRCmlAYYP3|>j6jEd zeM|Cww8}k}?IaeYl>?QPr`-{4g;AYIY8Wnnbl@a5S5)H&L~Bl0*H6>VmoO=D>9#>X{zLpiHl9*B$%=s)&cOV;zG((a?; zxcjby&3y!Vq>_6d;;}HCh&B3!5nZ(%TlX&4&K^oakZSidw53OI+GWN#)G-qS4+qp4>X$g2C$ODE`5}flDB=1M$iZ zI|hfA&z1lg#Hg%okM`lsj$%Edy$OCmf+e6+nE_L2r0{7f4sXC(>RuZvvxs|-V87MD z-Z~`HO{BmJgdeqvfa<;Q6LITUE>cB;j-bdxQtGTROQj1wwDdc*{Uk@yW9O2}<8|H1 zOr!MoSY%48`6kTTg0r5*OF%7>X8zVXH!!voS$Gkz)*%toEpoKyHM1!;H){2%P5_^1 z?y`crjf==IFM&A9OziwZ8Bb0>Plxr2Qu4GqnX>gRWsytZX6QNrEjKj+~(^5!N^x} zJFClcB`5}h+ExQT5=x4vZbTLi>GYMW+>lDJoeinHuql+FKAE(71Z{9LmF(M$LuSic zVl)D`@ULp=Lv=bgx<}#&4>xx9TDsO%E$v#3L9Dy>?DjVNEIvH)-Y4u(Ua>TkKwTBm zzm47WB3&B6`$%0Mv+JecWer+n;iXNb>pWo${N4n=FFMt7dPo4Uy&a4p35PZxKRX6?SxcjJXZ27PEtU!~p=__6 zwsb>1Wzoj9B0(@ZK?+>Z-KLTB9D$1gdvcsKpb^XQ(bA@+8*LG}hko>ptRsUvTh4;! zjIAZwP;G3Xq$LgYO_irmKCGAAwIy1QZTgcpgwm@E5lmy=ebrHoH*lO*70oVIA=YE&u#Nk?+BnEtl08wLKg z)mujgHGZ1pwP|@&)ZygtIJ-S{;g5-a6kY(qS=K77ixA`?WBG25e{SjBq=9v+lO#KV zBoIlFb<#;E=c=1)y$Ud%}nK}2I z+I7@CV2S-1CY(|_oE62I854w18kv%PzH2Ozlr91tV2BWw_OSLYjH_{2J9ggNr{Hv` zZR3H;HQd%5nW=b)tj@tH9_Y#1ViEuD2)yMgCGolkxOvu@8nh4UEmYD4ox;Vdn#LBb zm3At)mk}Cu?nPQ!=!;0ldcBmL2#}qPwjt4F|MqGY`*BjynE?g(dLfMU??n_J?v_d@om5qu;jXv3A?Sg0*%pcyh_u_(!|CAiiw zR&r{I@(ft>WsjjjJzqtaj;h+`YqOEfSFT-@bTtOXS)f2Uju}gU?a|(z`DM%_iM2en z(&DJp7AvjV1dSw$zGr!+5kp%yO&23APIL(dmoLVFjC6InlzNZI^|9|g zwX1sy3q&jPlf&f8WDV|m->spo)uMg9)AHP!<$n>sC6d5{ta;)LZUT?m+UX<7-2#Ga z=ZrVtoGH59=x~PkE#oWZ8SfT^7!!*m;8In`_Kw#KPncCRMIttDQz28G2s21*=Fg%& z20Pt_J8zSK2#Y6(+K60cn=5_3z=kp(ZR89^#Rm5v1%OG zrz_JW`5~FqXIQng5i$u30L4+5naX=<9L0$$(B7aXHw3r3&>ckXM1Nqd3RTeS&T<-e z;#ZLDYR*xlu`KsGS$xeWLV}DZ(#(LA1kFXmHE(SfMkL{;x^>aJC9Yrf zkrxdqdxI&Pw$@4Cm+ z5iItIaLjwT3EnF=gdfwNE9)J%N%M`rUOIUvL-Uo+_K>Ve8I|iCOblo zBqU{LPZtzO5H4p^&|Q!L!$zB8Lf#o&3%f(>&#q4zmD(lJQ*Q3;>_wVqQf0%b#u>WB zT9+9tF%o&Onnx!L=;<1o{KR|}M$g*_F2ea5hc_POAvyD05a9vMcIjJdUN~BY>yz#f zZY(Qu%NdET^TQVQX-=}jlvatA>Cc)PXdRK3v}@eQmM*m#QAJ%D#-t?7^70!;m$r!I zY#T&TO73MaRoyfg*~l%cmMrJ23$1e2N(FW2M2&J4hlU~}n5f#GC*rYj!EN{MgP4OjIqvQgJPf;%U8Y?+cn{bCetZ6B1q8TD>G zw8``n*yH5;k$2DZiL%R=H~rGi$8i2NwaZ3A5FKx3uoZDHK8ITdA!;Ji3sY1=#^Mu~ z_>)dQH&Z0smdvAt7np!2ApExK6TM4#a7MRi79J32w=1o%UO|Z1|k9c;Tm?pP|mka(#snf!Qr+z6?ed`#SCzOBoR`#^q-4; zppfC*rtujXp|K0LnrO+a4~3P1)+K<8m#hRETdBwySK7<6!z#bu46}2zuE7|-(7nG)G|p>ZOmrx6&D4KFbu}7_DyUnyZ5wT3J11H)>ks`eqxW?dT&V zsz5B>y{a`GL*$$R$r;zMgJv0b=ijNNuH~)TTG@M%Bt$GT)7Sde-mbrUYi-N@+uPX_ zoP3EKivjzShhfVg!@Dt^<($9E*E^A7X)AeN?Pr#i7+z*Qs=VQHpXm{Izj} zL%00qJx3s;qT@DFY77ET%4W=jR|P@zq7~xtPypI8WfWzYEEksxqn7AE1b=PqU`h0{ zuwONLn&Tdj`6**XqT4-csAFxmOE&-kRlyJ zIk&%xfBJhz?853=rdL}l>2j=fVICb#4YYQ{5dsD@Yz?fhh>qwoQ=puU=ya035pvWV z?H#=ED9&Vs86fN1TD8*ehMgm(!;Lcq&c2BjwYrB~10xA#vxtC$DuaLOWLr&xgWcAH z^!M0JlwPL(!@Q2of~T9wCS+`71xwd2C2U`5??-9S2p-~~{3>y@)~!iE#qC(NYC*zO z-(?MTLg+G$wJcb?a(_yg8v*0GwZ|wrRXaE+;c$Nw$3jOR6)?hPL;FCP9LAh;OYM%0 zUY21V=EcYdg3Ofa15sLYc?6JaAtu$JVi}!=O^ir|F-UlzCcsC3L~a0!D`+UQ`W{UUiN zs$k6sf+%FSpsJpQo1c#7gp`0(RVKc9OAB;44e(cy1H=516dchPEuj${p-|RlHtOK#{$n<6r1VjEI z6NM7JYhdK-x`w_9(T$fX#&H|FUIz`mCaR-u0M}lHWGU`qM9X%LuHD!ZVOk|%c@0MC zndTx#F-5_9_0MjlZCsDVhFyF*J!k>pM{OJJs^PJ@ZS@Q6Kh(yex28R4^bz^iW zo$e{Lt#a8qKtAj4q3_^T&|2RR0bS}=5MG_A5nv^LvnqCP33X5jmGfj&%XD_4w9dYm z9b8H5^IC}>E|e#shi$zm`_WE4OMfVt5hPOKlqD$wr-*wvuCoVu;il+%zboF)ZK@1^ zY|Nwj0-HmzzeRe+LhxMp0$9YVMR{N&iIAf7nh=BR&vW@#`qYC?**Zi^6~#1Rqh8~n zoGiY&L7^UGvU`7|Vq^rb2~%=v_^O&6#toDk>a_OjK6E8dPmP)uVrsTA4k*8K(Lj$} zZ(ULhMGmx|kxIDD`>!UY7n&%?lY9A-zO2}Pp;Bp&QnkVcoy~A(JC=IU@|Fk7(ABSY zTJs=Atfr;f$S4r#_+?00f*twW;ocY8pxmhYtSx2e+(07{{bZRlXI2_60DrPFDrprw z7VG5RE*4BIDoCCLX*2dhtI^PM&3muK79yfH){c64w>yLZrIdM^YYey;mC&1QIT3N^ zrB#lW+8c0@ArPTT=~ch9fvg5ehK${sNeGX_OISP)l7O^)dZUSbdbk*hUw3^A>3w7@ zp(WHTTMxMG>FVG)cJN!uu@{p$>?fjD|z89(1@vW8PCMSE31S% z5w)eKEkwnOC2GGH*3Vqcfp%z)gPN^GIh}>vlz?6E$>xE%(`8ML4+jiu9H$fVO|P_D zqSG{+y2MA+=JWcu`dk4KOOQxgG)%AY3#ltVMj|3j{D+7v@G)H(^hASGTk9<>zB8ya zcc|0bHEJNRcIp__!&g^Z1%<0h56aj4jyMF)XOD-}|*4FuncGYo<8qVg8Ea=kwcdy;FW$+G*hZ%QY7-EH2@P@g38f zuNmKQ{^h-k$Iq`Ezo}X|zKezzFU_vG>9#xZu;YuxowrRdL1jLEajtmLM!0!+vwUFg z*2cb@6zcFZJ&&d*-Mi)_#dTPaEElpFc9v8+&aBG^gv=v%y$oCE#|n)vfpu>aN@TQ( zN@UK`HMChNE2tYD^GRsf`4NV`^=J3KZI$}Ux=gO-ewkE9t@#70iW?VkWL+A7KRVbA=33tGP(d77{=Rq3O9X@L00@6&ZkW18(LT4^4;v4GSHPM#xnOcYOmxc{2 zY3`{}O=SM?)FWgPlUJ65RJpDRF=Bb4bIz7*C|I#;E?I?QON1ug2pomFp!*ZGF%xB^ zBhz!_-Bk)Tqpzd4s=R?BF5>Pf!c)}{F&`g?pkJARZfU^g#)DSz)viLV^}Sr<#0b%& z&8hJB{_p9zE`u}?xwoFDT)w+uC3NnCvj0sfjE%+JUzg4P#>oVJ%e6;1c&5d>id=3SiIeV(m zY3FC6DRo8)rb|Nv18o(B>a=TH>yrI^dvp-T$=VEt(i=9g(WFJrc6ho&g&^$Lt`+S5 z0NwiFOfv`tB93{jnoacnqG=;g^CU9Q5ae}}``Yn&TVf&3zXnIJ7V$(t5=}5xdfyEftmK-(nd+kNnN!Emx;xLJCH;<;TtXWK5~B? z^^)VL7r*R@)DcG;yQk^wlxn#d@{cM#B6vaW;#@rVH@rJkBZ|xIgAG=1Kkb<^J6>5X z(@@?(ZJ18s(A{jhsYw$sG=Fw01T4ByrQV3IT}Cn8Ndo;61}=Fc6@WOqR!@iAJI4|x zy;%oL!kSdCE=iSrf*F;{Zs;EJ!Q^^+o8^|hOU_|JYT28kRB(eG#OaUDoZLVX+nSL> z=<_eCvXdG^LY+YqWpk?gS!z;4>m&`UWRB7lR{Ep>J=+XQkAbr=;q*h|;gS&%ex*i@Xi}Xuh-?1ypr5=m|J9OJU6gct84*P?)(%wR5iPTsu zS-l@Y#Bq7yI&GJC<5~_Wdnx@IE@VN%H=k)vj9T$7J5wU+P8cES9Mm~$=m!(J%eJaG z_}gB?X5eZbD`@I@^}Ubj71AuX@~W)Mm!8~m$>r>;*C!+1sD;;f!GO%#-!zSTgKfe{ zN44Pw;n+^ncPg8Fjb9XC_X%cQ4vU`10Y*V4MYg!iWS4kedY75C?nWHOD6J1? zAB@mQpC!U(D4w|k!UA)wZ>H3jx-oJby^bVj_3V^@T^B%DbeydRlT@u?&d;7!#4nB{ zXz_)KiN+|`@34wkZc927s~5g&lBJpx#Re_%2o6WegQ*!G_8YA~Zc-*qWC9wKXmg+P zNI6sZ*8Bvdb}w;uk-U|L-L^N7PceQ)hhH*FOs2xbZrk9LRNCviAww9dqcyncHJ6)9 z43bvFL)N$ua}}b3C5fQG00n$wH`*Stq=~(glb%fF^6M57;nrM0kMX8W7{&rWwd-Bs zh?P)YAkqV6e>n{RM?I>n76pxk6>hCduG7JGZ`P0v?fjZxHh|@(EI|3?Wlkye2`C(I zwYK_TVc#I|^A~3GlIMQ=S)h)|Xajl6R0tZW90K+WF}5fytEny`Py*4Dt$sWUL}*iS zng%Ghr?_56TH44v1pVW_80M%mH>Qc+m$x%=iR&3TzIzWRs0GdJE;8KiH9X0cYi+Kp zSlC|T+e&A=+VfhhFlw_~Vb|L3-({_8;S?`wAFzG~-zgs;CIQd8O~6{_3JGdk7OvL2 zXct+$h04V(W?9O%5JWK?_vCR{M8j7-?h;2;<< z2rQSXAC>ZA|FVkAkNv6oZ}QK z!r$Uy!O32}xp{@1OkRcTM@B#l;(*XOW4ThMOcRZD%NU?wHvK#>~$>_QTGjb zyUko~7SQi2o%&xpf9N9v)p{u&6r<~(+suko;Nagb{L4pOAQ!mq5)gq+`Gnfi)vp-a zY+LH>yJ9{cN+OZKB@Dhzl>kX*Xtxue&$@DU=Yc1uwm!=$U-^Hc}a!q zv({>TAf~%Z%ONtqH}oaHw=5QE3%Q*!KTmloY%!ptVuB-4nL9AStnH3)B!f?MgiT)P zB-j*f^R)Z7SXUd2DoM~2jas2(>4)S1M`E^R8fj}#FR`Z%b~l$qetBg=;u2Q1i-5|D zqgyT>UA+6Y=`FY2xC(2Qe*7|B)Vu)B8tzT$wgZAAC+S;$TC(a&%2F;5mAyGtwjg_JWf3JbEQ8 zF|}UAY+15%JXsnviC(TtLl}tGGJ-IpsE1u9o!>5kUEECbFL{$;1*_LM?ibOeP|P{9 z6rSA!Z{p6JmI_C-ehGEgks)CmTe3LmDq=@=yMC7==R!M%+3Gh>HF$Rm0lZ2*Sg|(|YrJCm)5bZauZ?r2tsiwx2Md8Dkd@%7QQ2{3Ts0P-bP~7tsM`ggIyZv1323sFIvF*b$P(`8a}oP?@Bs{JAx^kQ5IbQ#U?D5P%#PYv z7t~e|zc&S0Z^f5@pc)A_tXDrSzj8mP<<&cM%me{Kte5qWW0YOt81=*IRqI|PrqQWt z?d+v>N@7+x`9+-uw7_6wH2U0j%*o3N+pt_1_LA+p9E6+Io0vBm;#OE^Z=o7CBx9u$ zF|68Nw$`7W7|^Ixj^rdaC2*O{qBrdBrl)Yx&6KvXw~^T@Y}CmY4ThLD&?kr7+G15A zfvR5O;XqP}s=feeH^kv2npwJJVXe%`-j`5cD9O+xv#h1Qr|sNvr+GwaKXnq@K|xqi zL=mMi9@@%AojxY{y+y}MTgZcD&AncCm}A8(5vCK#ae-3;9}yZ_QpW66&2aX}qz(D8 z3|Smva=F%gJq)XJdIz4_ zZP)4W2p{9*aWUHb+1W`$G+$N!`k2RG0-NAzLnl<71Ra+!_C!FY)h*8MC z#E*ghjJmFc9NJo0pF0sOa^32S3KdW!=fJiduN+jhJhyqh_EaJ>>bLoM$9am6?_&F! z6BT7acO>SU)_$XEEnkz;Zd3YLqDW@_*9a7m?LJ!uCaMJS%k7>pGnuf0?RCi=gu!Tlzp&8i* z8c5a3`=BL zC@P$yRP;cQy1cvCCUme3Mi@f7YBNEmrV7`(hc-2CWBshSzs$0F%cf>*X^yQ~xmy2x zcfzW2nD)3>t=k%y4ux(Y(_TA;f0Nw3d8qKQTXDh=O;&qqf6Ml2m&MU3aGAC3v+LL$ zUdNuLVZ@>M3@+(J9v@WH!u$tNup%|CrHyQm2y}Ph=%CQs2cFrtRkm>5)@H`;MR0Qa zpmpnL>uU)Ak3;|^KY1TUE(#aN0E+d}g%@%Ul+7n>3Xpw}QT|czzB)RvrP|g|h~sK} zKC)O~eFUDa)Ab(SmFY}i^I1*uXw}S2EJ6rl)OjUrPS$!vhiwEN^qP%#I!JDWnIJY3 zXbGCJ-RmryYinxkfn?@`y8<~?QxM4k&|(k@+vuYy^mm=muK_n+=yzIPoHsNULfYHd zhtcGSEoGs}QJh-nNla3j>g$pi>vcrZ+#;(tiaBs;m1AA44fI0;p-*W@B>D|;^D6~) zjmdE01|px#7TP<-4<#FLQm-$A-5}u-C3GLXs;a(Q)UNI7Z(y+G=J3%cb=Q3?v z4=!tI6h|f?)<`)amPwL8!+2A-Y-%Jw78TJ~8$Y_oq*Z!*VXeXb>?kmlIoBIa?7jS9 zw|+6J%>3p|VW!Nh{IR)-;eoxNuoIin_f_szEwz+d%8VX{)#hz%%Z|C498Q`Vx?>|j z+dY)VA_b|mkSiw*YRqdLk|pA~dRUtEOp$W9f1{j1fG>;lgFsY;X9Q}mo+2J3hQOKP z=4#Ny$~Nj6;5?RfKM_@>oi{+A9@{wkAi<2jVF7$!~^u<^xTGFV#d6=8LbJR@f;v{*o zejcfVFA(XNsf3oxx`|FIr@c{@LDBZHiK}W80-}*mg(GX>rK>uE_Pj)VTG7Jl!;Uz{5nM7QZR@IL3JQ)s#_Kd|m0HwSvh=`b zC)?B4tIMQ6H$dzZZU!^Kk5~^)unXsJv(nApAx*<9g6vmKTDRYwl#OTHdSC#NI|%dl(RKRy>kN>|$eJ%IJDvGQzEk8ga2+I6!2D zkE0EKj2U2bLFfa=$9T~Xo>xb`v6(BJO^`hz8UH{sVH{v-;2eYWjHqZkC7s*SvHCcV zFwR;#w|@YaOcc$H&oz@RjsL%QYWGOc7lovI-&8G2>{z9WmC z{88T1(o}g(+&iKy#2?bEmvJ*W$!pfOA1}U82qtM@R|XW$K9#ME^3RQNJvih%XLVA_tN25d8N3*eiW^}l9{e~ZPh&q;BUjD|LTV}J`0lUoMB+C-r zYSN{#953G{qpL1lwzBykOH7;x)awY%s+MWi(#USyw0idSbNc89v3*<8KW0QxsRe?- zzGU_9Ts~61?Dm3Ahk+t^l5_$BJfd)!mTDVUib~oqlIC3g3zLgtZ56}!J`(rdhDc2F z14oBQgj=&T#?b|pIFX?x`cmj%TRI@|@`ya-HliQL`K(GwMK7cz)9vJ37bo7@j8z}& zl3XhX_}#4t&8u`~G*)>rGn!pm2b_Fjxl|Ce*Bkm=m>LwezIzsn3&iJv%Ci#IwR*%n zQ?MENL{-6{!h`@F+Y_vOpX4YHT3~EyN!Og7EefRHAUeR*)&*a;1o#>0EVEtDvy0dt z;r85YpO%*q%~BIZAC)0D#=MvLRa>4mEKPm59a}Gtvd_pi+u(yneAm^y6a$6i>Gatz z9W}X~&j@GVMPAW>b5`v;pV?3cCG{VP!!(p6C9=q*oGM@GA$zHK44fI!FHiY~a{*YV z*A;6~C#b#+-&5^k2)oE?Z5Dd!bHW-<>KLs_R2X<4a@KJkI3tI~Le&!?*f@sk{45`dGc?#3s#4UR>0rvxPtx?yyNdB=>WAw)tZpEp+_s!(at?NnoN)^-i7@VMu-SlpIGB3yMpd8S$ugSx1?yE{QVHebq}8d`r2p zO!F6VYBdaS0AK+@CZ|jD^ZRpbt6D)OAe^5O{uFAb1v3{r<7{xIu(Mu>0oSY-ZH+{% z580iVsnzNfcUo(cy2IQAMvf{mg?WZ)Za!fjE)TMveAfu`jflN~O(z?oNTZqveNkwl-q$7c?{r94*}|Awo5?siU7?7! z`qmqrz^mmGTu>*>Dai*2PhGQsEYFfHKOi`_i?E^NUvkZ@ojM}m@mS$}z*K1bh8*Ec z-#Ieb1Planw&^cSa}I0#mh52Jz$RB1Mkz@pc_1~?)$^bV4DARk;Uo;Avc5y@*pmGM zf!1n)!q_IWv*Z|LU9nX#)HX&y&RmOkI>MK4+^~ncUUj?@|0JfeSs!!nCs7#?;SVm- zEUk#O_ECD_)tQEcnl-i@o>g~(kd2%*0^Wc`RK}A0v0dIH;a+C7@XypxgW7!1sEA*t zaiJS7_#6>R(Og3yCx^V#@-m*=3#9^+Ud1pY{~2)z>0xOSM?YMcp7JQZ2-Y-KML^pDH-E9$fzc&v0$pC2d}!h~F# zt&rq_ETBQbAs3N@42AJ{nVX4`gzAbV9lO4tT6jW#aQ(&bs0d@V7#0^h-%1Zczd>xO zt@gTZ>EUzwt#*`5u+)dA3}e2wZKP8FNID}*gagW3f=#mWWCYbb|c7@v)<&;6)a}vmf4D$%}MQx&A zQ0Ef#+g)U^D^>6%C#hdncpw7GvMkCnRYx|U4?|uW$f1qSSkg{=B$#LR`n!7~B4eWozF-g!rH}Ir zHFYe-;&pOvb=f_oCUb8}zi{Vmmj-5UuPdF9MiZvU0x`d$gcj7x8wu~c9unk^ysHKt z$T3aLLxI4LARS%3Qd{Gke%Nk|^R@O6eR$(oGV7Cgv!+>?`ZWQsafx*-OV300fjM|F^ACX`NjWm@Cp%E~>KDZuWa&L5&}3X!J8e z&S0Uf3`ttR?$(62+P^f2#d;#CacrmUN*QyPFhPe!Z2kLNdxyLGbqH>qyh)75+h(bj z-5)laCG=Qlwf!xWoi`|3{1Nr+l5K%bKEj?sA0S+B35b4-<)Y{U>LVCr((=7o1f-kv ze2vp9wutAOy^VUpTV&71#@_xe#2GoDFPQVDT)H{mY^u{pyD}2QCGkjYA8V^OGN6l@ zShK*^IRB(l@G}%T=eMJAx%^2`pvCq`Z(0h+g9mGtcwF#+JEOk)KRyzKKyOgc^ zpgAAZwX}t!(E5SVCPM8}&W}7Yl52`IKRsY87hSn6xf}>V<6a8{`|JUWnXo@6RoP zf#fc`Ug}MRI5cM@R|wy&(^p6jfb&?YU~WM<#~;}*_8x9V01pm#_gaa*wPn=D*21qY z`!}@Do@O(#Q7ox!+JASH-BzoU3QXC5fS5WXCe^64 zSMa1~P61G+`TF49t4FZ1O`S_e5EdRCL1l#QbmhbSt&@nxM#$O-4(p{=?yFiG=x5cE zJQsy^@j)ATn5JvHdTWVbjZ&5!=qwH%gkkw(y`DAo;+F1}LA?rL&sv%20eGfC*1?&9 z;|cSPx>6ZAiet`ILN`WtH$sL-tGm}jAzE7Hx}vRt_5{~_8D=y|5!2-LfgC+BZZ58MT@Rftf>QfZ=9+9OP19@_NV)SbplH zt!h|dj4#%nJLl$}@q;&h1CSO8+0eO&SLlGCJcaKHCwwRvddZ8OzPq`Q>t4?1B zE3a(ywS`o@H?r3<5Ej;Q#Ik#CA?EU>k;fFnWv(OFgHYWKs=Bxs3FXyMEf*7L=q?_TcpGWDdxd z)PZGra(0HRt~&Gb^V3Ur+-k1_nncDN6(P6eP{fwJDxyrP+#-|l?3r~81%fPP(4!NZ zoMrP!mVa3>(13Br3h9F?s)z_x*Ih8fowLyMnj)tqD%x>bMB<#1e^PH`?6u&c z_t=n9ww-KBQQj~Rfxm=nC1xLnMD9!U;Srr2N|brVLEQ7}4KjIZ-6(B+%8EJ^op zfpn@5=UYD#JGL@=CDx;kBjP;)8_N$>(Dew{os zGTW7G7qU)AcqXXSQ$7N6$)@d%q@TsA+JUWBZs+!VZN(=B);}-lhoFIdx0_#k;MS5i zsy>YstPi_VWcb~>5FER`bYTeEL@NV^aUHw5k4_qU1m|EcgrkLf=&?%y7IciJ{DDgX zhmfqD8o{a>^dGbPm^X@<)UbpFtMDlV&>WpQ7ZA3pH^K6U+#47cnJ%W;+G)um-tuSn z<_#;ZN)7dlQQ_A(c5v_r5;v;U3|Fn5sw+43hl~|GC%~_qUZB7{Re_>j-Ym~yEP_R+ zf5%iX3hQF_iuFt~e+Oh+=dcuRCrq7flwh6GdAPB&2g?-_4P9W8J$T_i3~OghOMkeX#U|=^i`Mz#552NC01sbCf1&V zkDT9j>B0q`6?}BNKP>omoR*cIAe=oo%d#)w&lTCRZ~F2FKSay;N&nmje~+Gtzs7T% z8=PJ7B>eNfy@TUB+5H}T|D6Y3@$maR@`^`Y@#rfbbH!t?_^KM#l;4z;zb`3& ze^P#PQhrNP{^6wj)};Klr2L~v`Rz&h$CL6qlJYx~^1G7qPbKAdC*_|>%I`_a?@h|@ zOUl2Pl;59}eAN%_M``6EgBqe=N=N%`YR`FE4@?8?VMCGStUwQxV{$G==N9CtycSPl@vbRR%tFsSB^ZgH$>$V*)K-rXJ>yLmGkTg4-D^DWZO}>%w8FltL!JDawq$ERPJW? z`?BzUy{r?J``IKa53=ux%ERo}qVjXHzlh4u&7Sd~@cz%sUL2LL$-XlxKR^5BsQk6r ze~HR3$R01kw*NEAu8qp8*(;**TJ~d6c|H4BRNlz$^ALYC{9`k#qVmaX9FCFevw2kB$$lUzpUHkZD(`0Zix}Qsc1={iF1r|&_p=|5$_Lpe zqw-<)n6C)m=WKQmm9NiU7nRRt?~lqiWM7ENH)hX%Sa`n|X0xdLqU_C4`Ni2sqVh|! zFMD`+{nusdQTZslJ1T#D_O7Tr&ORNLC)wj35#Dba7NCDTC*syuX4fR;sEGCvGe$XL zo+w4k59Nq?p&T(Alq2SVax}S7jwUC{(PTn7nhYpM#Ef!8d?-i6gmOd-C`W^dax^$7 zN1cmu)VU}>GU?w(CFQS7%8yRUk4egpP0C-DlpmLrAD@(;kd(hVDPuhe{#==@1f>k$ z^Q5HwQp@oykm_UA#1#%@-$bK2Z%% z6rE`=@0PP7U-bIp?yNtZ^sD)}GntR4vw64D3yyA^-*xLPlcSf<@3?r&h1+mt=R|K- z6vcQ_&WGJj)tU5qok_AEXU*V+@6J38{c{BrK3xC->w%H-4kV}kK4}5yqHhN6|(eBCyQ<;$A-

)rncR$~*mWZ?Nd#zD2*k803>q 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

    #OJFg$^}t7TJ_C|z$)=mrx|)L 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 za�~9d}nrAWk;YHacxYQ72GH8ggz%kEga5!A}utWO1xLe-@j8UX{OOBM7}j0M%H9 zW9=ljOC$7seYC%E9w~zA9aCWYdbjbTq$2j0r9mA)en<{xtt>MMO|zJlFj`GG0PQU2 z_b+nmV!v))-W;px3=1cDjrT`;n`_U#c(Qf2Dt9-Z>%w2<2fwu>E#m;PrxNlhBG{O-!8{)gQ? zX*Wxo&aZ^#1kGG0#9pnxJz*o}I#d$Ad4Pa|nDwXiidSI5js%551?A>NV1$>d8Ol za*+1zu>EB$XP7+$o(FGl&WE9i4T(aWH8**l8gt`n6PWzo;l-kyGgvp3evIcLaOZ#_#gdbanwAqCPOD{IC`dTeWNILw^ret}$U$SI z_7oC?Zz3HwZMV3=K|~PPfYnYMVy{1BtsU@W9=;x#1wB`X$1*V5RT@zp%G{y`igZqD zkR0HLBSaL}5=lOwJ+{78KxB3KOEE3o$@24YU_X^xEY{lDmebJtAV)xyZopijC_2;` zl{rKR87Mf(ur^d)9~-w;TI}9dUZ`rWBkz~A>)1`>sT}#;*p6oM&CTp8thbtLppKe z;_jiIa~SQ}87QXIDJ3|X+0XIE^Dr72?O6-k3TwGX)rcmdG?xvID*qv;2CQ2}%hwuB z^pk#T$|m3~>8f-i+lh@lFMNV@Ntop66POc836T8!?8<9>MHye#TI{=%+hjO+m{VX*tcEI8u9R)k<6twa6>p+xxW#Vh`e ztPflnXLtAM#iPr0ZjxSHL=Rw}JMGDnp2sId1KH`_i%OrN+X`-&gL4dB5ca|dC&H@Q zilyph_%88=2R?N=M*-c{3vNtCa%+ym!Xp@1r91sb&WOUU#1IAiV1EmyP`g`*S7o?v zG;5_3?0$5TqEzIn6*q=Rk*~PJ3$7Q!5QPtd%E8%K^JB4-K@eq9+>jZYg~^`*)gVHD zl;C*h{K_nnZH+>!y1T0w5{Dkw(j5{Aez|4}GXxHDgi+*^Bw|sOp#0YHo;|dG!AeV0 z<;6XnR+WZIP%c_WfFGk%xGOJSc2lHsno(=w@PQkVd#R#!qj1lU>*vRC^+rsO|+b-IN zc;&o2=CtIJAO=tqEmO>eKX3#?u!_4nmm1^K(nf~w_(OR183IDf65}(7WLA|~^+P}cu19Huh_gmMGT@Trh=pE@@ zXedS(ygsY5ri<0m#zy8a@&uQyO0SXFLhoOB1+x+!?i|2dNR7rY9@H2LPa5ah(m;^_ zltre6h}05=VreKYmN*c$=5*ZCJ;)@QbL!05qEtNvd$>qLNEn~*ZeozU(1Ky7cY#12 zXdE{}K0}#|hlssJsU>G=YdzVX&|PSlyfk1WN>)TG8r3@ZU_TjK!?{QVtH2Ez)0&$! z)GyV0sUztH^mBeM)yEp$31_#(?G!GtvQ<}I-LC#&FO15GsCBOA5ky7RSsp%G+!N_6 zl{f+b{l=VAGA&P*BqqP4UQB7~kBRFN;nozu>lt%QbSazp=RorwzM_E$RnvyRDVp zI~(G##zIM4=rwe>e1bh!nq2Md!zwxl$DdWIj;n=YW2TiI1nTbw6kpFoN2d((@PbqF zyamtG7K-M^Uo4Y_MkC#f$E;|4WX3_@)`|)zfV5SMW)1m3CmU-{0c6mgGlY-*x6*ewoe%+-zXf(8&Ct3H z+XSrxBV>vd(T)gCJ%KrlM;otz)O3D33{$m;R)0%GZ6=Lqk4II|MCCR0Z9a~2c?-C@ z+oD)rRT$G2ev8Y_UwaAN5#yH$Y7L^?rEC{uqu7)%LwnuCA);hx z4>mFGEtRV&;$8YtY+`4hUXOxkonIq*7#nY+7os3%m$c_pk6Jg$x7TTmiq%K5ofTMQ zD#-%Z3mia_m_v`5w31MbKqDX5ol=Kjk$Mj7_-PsjEesk+EfOX|p2QB}AYTmfjTO0% zG=^+uR{ZE;JV_9!>la+k3}G|aD@`ubiFkk}zS!No3%i~D@ON*P-Q-Ft5iykR#?G3f zO}doNLxHXFmWNc_ZDmE@eM!g|I_1WcR;1%f>UC_oyXphoBn^I?HEYCqZW*Z3(pq8z zr*Axxj^oGE3L$0OU2ec)j6$MYohlCT6z6Zm>CzRa3n!_AEg9_^3vFFLFC;JG0W_ku zRg;YbmPgGIYng$av87qBgbP%QW+rG~YiG{70&a^ryM|RE#Z0z_Hx3-#*&wbrX{tXK zQQ+gfqq|SVTNByYOG=?xJ+sLhLKtR6t_iYL?i2MX+bo z94b7AOG3^btp~VvT&dlx8In=0Rhh5?uZQ+Cj@7PLvX*)2{o=2HJPGB(!i={sz>eEy z1dtiQAi|OQK+Tvyw>Ht?#B!Jzm}_&g>>Z6bV9a=Ht)vTZ8+PyTq+#UX!Opn8UT+zt z8fIm|qqBRRfy&Rp#uJA@mm)wj3zs~0q^0?eCoWjjz|zh))x zXLMczq#r-oflc2#o+el9_EDe#_m-0s)a+hg<%V-7?$AxtMCQb)C(4>6umjfaI35&U zX;q~UFP;ch1%Y>&M2EqiD&SIOf8xb&5Ah4DS`>-q`+`Wu_Fckex>z_*6I`(o8w?i#{r|r!%5P~{R*sX?XtWm9{=hoIzfC%D;058q!ved)>5(@lt@avL-|v(Eup7S?qKOhGMLT1 zO;~+4#FxCWE^NA@FL|7g5pbSwg??rDl2>j>AnNKm*ZKAqs!Q@Fh^nO0N!GNP`HT<8 zyL2>c?~O4@ka%GSC=ef+>Q#y!JOc=oG>}m-{oFQg0WBoV33u1!+VQm+ZhMqwIP@)K z8qn6r<|7U%Y&9Ito4x0!SLWc}b|#<|W-Kr#M|I2Xvax-8{6tB@4+3(k)u69N5Se z)%{gf?xSrDz_jEfx?Ccjd z-bUClgz-YD8n#0F+r%c>icxAj(aqq>5fTL#URkZh^1I!V7MK(vIi=B$H)|C5g~6;F zeqnt^zp$GUb=2xrKLLAS#0U9iTQgZsBZOh()d~1wlbo(V*2#wFSUWUBQ@aiqb>4r?4WwlE^0ruwF3A`@)!<}@F(XWX5F zh;nyCGBk7>5di8Yju5VBsA$hK=oDYZxMM*<%ifbQ#I5A*Ksdlk2&X{I%gs+0)~$3+ zNKc(+!a!K2O~B<^IP_CsRClLJLl%iM&1D`jOOItLRu9WNVtZ0=R0!FyVIHgj>t+ z1&nQ}uh-h0h|v2;Ve&?NQgTN|Smkg?h8Mpp-{k5!3oFjjcmfq5k?B3FTFPgja_!@e zxAQ#UOI55Ysfe99bLRSu2OpZ62;s}1KI2QRHB06qX>n43w8<{d2 zQV~%y3JO7-Y=MoVQi0y>d3pf813n&ai?$XzZAc>o>fmzrtT{Vx;cT0rVk2BHWL8oJ zLMg`p!&*O2i7o!2mInGe%0>cWZr3Zr0zc%pf zP{5#jRuU2yy)b|vP)!*;ir5S?xC>@d@xK!qhQbz;0? zUC#>i6b2rtaUsI6pp9Z|L=UOK9$!RS4Y-r*H3Cf`@;YB71L`5$1r4As8RGlwl_lb> z&#!g#{wrswb@$+TT2mjmbve_c?ob-x33Kk0fmgQu?h2+ihl#^udyC84CE1a=@*fB! zRD@`1zT#30Gu{zi0zrdpUkDGx&rm$^$@GvQFu6Q$MH8Lx*klk4VQZ@oLo?Ue2@%d; z(UA$jff>_&il!mL{iMkpDtX9jxmy|&YjA|7FeMo|`)x2TNd0aEcgtI05Pv9O3VZUC z1H^DdAPi0oS!RpIBMPuihRH%OVjPK)-y?>PdMM2iBup3Nvn`#1ql}Se?Ul*4H)T(I z?m9-g@}u++Xj-csZkI@4e`!})nTVj?M>MO_D;*KgG?7ARD%c+5jKkC%PoIi7Xa|)$Aps@tsf`cM&KZ z_UdS5hC-=nkzE^a%TQIq!WvTz3$m9gSQk^t7@3DKuJgYp{rY2GK#ehPcxlWYT@_hyjJMG}x%F`!1tm42tZqaQ4(NZV0P#pSIDtL#)SW=V%PC zJT74arLeG9_NTZQ%0nho2KnNmyv@yOCs72#PTZ({@xn*2I=&(iPqso%t zvo81n!2uET16j4xyp4+3zS4LxRGsa9B%{}URszM@cwX%NI|X%g)9nOICX({8b8VF^ zG_tiB*E|ukl@t+o*DvG^^KXDXE|{los*4{=I!N?5+Sin~I4iA^R#ilk8!vtZ*@6Nc zEhtDBNHpMA&6lHwAh}LWlPk8(BG8KzldB)u=5(2nm7*zAw|atMN&%fE2yKjPx(tHU&Qn1=#wm)Q#D$uYeFE)zOloc9<6eZW-^HdDc;cK5xiN|g5E8S zIFaE7EX{Tm#n}eY`-V7&z&|_bw^nsBIq$?gzZT=FPZbWF5B2#zj&U9_!)bY z-bwDl%xW_ykV?~ITa=<~0mQp`vE6Wk@+%LG*FxWlCb}BB0Y#e-*HfqF$piJ8e zR;reEG`8MFs0p3G-2!Hr?$$irs)ZBvjwn)DzU5whAarYE5PGcZBXu;OBpgVM$21nl z&1|S*d>pffy#Aa&h-?j*KbyIhbm>W@en-S{H?HHYBLsS+l6xQGF$qpY8ogM9soIUL zdpB#RKWd1;u^G1jC3D#bqaZce|4u{^+r@NwW>RPOSW)jWsrBH(+8KvMt<{bsu52Wz zvVRvf+WRNdD~lZ%tWHnk2fha`ImjNwE4?Kd6q>_kfDB?(#=D~6_Q5gKvCA22XC`RxV0eax#W~fK;dlIM#m| zmw5`8s`1y^`&Gyy2Mg;IIfy=D&QR&?_;3S~=@xS5N!Pq=EL%15c$BgW)bi*e1T|Go zZ4b$j{n)vf@|aIM8EBL~k42!g+FVSQVFi~y)9P)b>uYte8adt0WMrdT9v z&uijQY;D%+P@M@r(ZtD--9bd8ny2qUh=X2a$n~-9>n>3e!krvSkI8jQ1O4@o z=?MYz$jB>H5VANPA)pJk(hYSDoSt!!v`M86Mr2HkhACAvx)bS{_%Q zHcd_lpjLA=1q^NggJ3LUfQ8!G4ah<(s~jG;H(+doa$02K!fqFW1-l=e5>dZlWfs0Y zDt$AF%U0h75Qd|&r@D?Zw?)rltAI=h+Zi zu`)D3To0Vz#_4!Ui;D0*^47=TdZ~6*gBIC#Wm8U_M~s0#PvFlvr&>!72l{cGyhaE^ z921J<{zx+t*SBnjCf*`=7wd0%u`su4HI&%y;#?;$%Hg2X>r`cDQ1pw%*-m$>LJ}dw z$XDFjxT7Ipq`LurCO0-7hNR^@xeIuR7;LDnWpt)mf2{lv$TQF%wL+Po|6q65YmOEad#ncD%pu`Fzf~m{9qdKC& z298i=FSK1A?5jPx_AWQ;99p_XiCRc!l|>@9!T+Qj2&~yUew!2L>^=KOcX`Z9p0{9J z+Cnic+VOhY$LHmNllS6glv1ib64cg+W@h|Kt%)$&3zVvUE-n8oy0&jh)w$iaI@bq=8PVlO#KVBoIlFb%IDI=Zf2EqhaQ)iE!;;WGkH$w^5xGT~7?u$415@Kd5F^ z%fMP1>EPOlnRB;^okpZ*&G2twzbU4}`B042I6y>cWHt5~ufZZsx(I}bAwp8x!_>Pl zmd0V~I7zQVk$X~G6*xDd;5rY?WNm?npF0F^c}q~do&h@y>r4kS2lbICPC=(|@u#Y> zMZ8k42lp~Uqt11trG<2a6YKR-n?wNIzI~Cuu0jP@KabCqx#rG|u1K5ZM z#2z}u1s6P`i;nKlq3#9d?GgMJDm25*-e9`w(BFi7Bb>$^&%yvmj*=5YaC>3ic@>H5 ze^}ai{!c-@_ox>~Rc(8(*+};uf7MG|No-Cpw>LH*u+b;n(eZ8{$a%j4 zk;FFSFzK;vbN9ZV*3b^Bk+|NWcxkM;S?E(l@^wf|7Knk5z}q#xaLT+YK*)9~cNv#Q znM+KUm+mO8FHJ4pWe1TY7B4_?s*axPu89{3PcwZX4py6TCHf6^5bfD7Hr)y~w`&jG z&tL`h^+#I-)1WN+&3ck68jpW5U_qpA`|W&wj7ET&5j zVgzx{o&_X6wHdSH)cZ*Ven0I*aE9zmRQn#T{E(93TBOfr_T5Bggc1};FxIWE` zB&QG2q`sJ{r47*}5bfi%Qr?5&FpgqbUuffq(BZM>=*(83N5kETt>DQcw^ls-Pro$Kl>3V#)TsNptCLC{>BCQA|#r!qvV3$W%z<3kgI0lJ#M( zb;JOrL53?D>0W531Tb&aX1jv6x8Q0qJ*O1%;Q|O{2|m;uyQ0!97WZ`AM27FC$Kw&K z?}$Fkd$|hHJ~2K8nmaGf555H{vy0Xd4#aSg zy+dIrkRV(>rC_=s&xMV)Xb#>Ry#h9b*2iv68kI67oGG_=_6{R0GO5z#6hn)-xLVl^ zSd3&O$)n8va;t?TCQ-kG;`1&7e{iqG$=#=Uh|YE&2WddFUD|8O*=APW`uaMA0+S=R zq=$8rAGXk;Iq?fyS|nCWP1e*VO#*ASYkWspmso&I-CP^Ss6<-m$N*r=q0W^pVmVtE zksRlv40NiS1}hu6Sj8&k9B-k8O+cc0+!XFLUBy9_wnvyP zLV4v1*TbU&oaNXA!Gv$3%-8Nfa3ceaU1Y=I(df873gl0a;<_t|rDEGqt*dQHei9M( z^rAD#&41luppg;inxqmQkW*r;au}+9!b7y~C+t*%-9;woPSA#d`2}bDsk7b6MKZOC6hx5zEWs`qoKBEy zh*v2ixKKHkvk2)9L=N_oF;1tLoG-lcCJhzg@L61SJFsKFwImT@H|H-AGMo!EzQ!Un zT*2-VvCR6WS1z=$0ApU{1e-gl$Qf5^XKlhNe-;e8bF?90ZGO@ijR@QY+Dcj`@%RZ2 zgTqN;CY91LZeDyrLP?dRw^nFihmJFmXVp?o2h%#JEwX|OveMZtu4`Ob?EJu>(P{ob zoaHrcfl!ss0Q;F+d~>wEBRp3YH?){~%x=`Q$o0)Oirdj386iOHb+2kol@K{vfO1MT z^!8YbiSvDGscY#~TPy9Cp#;S;HDhh;93J?ux7N0NzrCIQf|Do2R(!${(zA2r?=aQ zH}%r;h&uBE))mKF)TSu`mh~oxayDr2Ws|41d_ktgFwzl}OGoSYr~h_DF0`&?d$qOV zl!MoWIc_9v&-n5woc|Jn2GUnVS7WIukarR~o#b$Y{4uA8$FDq%vrJ(JkiU(qwSL!I z2+ef3xnJP=nTV;?Gep}W8z@SMP>yIes4~vkvz|xi0>EYLSU~zbcKM{Q2?xmQI4gLq z1M@05SjxWyvAOV4sr@r)P!S&DAfGbERi`xxj(7lEs}>|w^}6%fK^LmePDhZ5&p)2`zXmS%s4c`@>5AZw)fGX&S% z8GqzKh*34DScRuy6Gc)I28Q}kryy@<@P&5+Xq;_W?R)^bwRwN?>S)4hke9R=D58O% zBa0`=96|$uzjA#c#AdE)2`VRJiz6k26;%q?(nc0Dofqbar~;l51Vr#8pQxUN+n(4Xw*CBGeB? zlGr|WQqd)*`>tk~H1Vqbo%@661I-8k`Gxzy1a{S%DF}x2qoskOuOq5<%`0`|m5OoP zM&Fl3!>mztl*8FFtB@?|`bFex=kyhuhZLqo0%kWX;!ZUe-i8zf;?<8Gr)|6=$l~Q< ziM8OpMsX;jp3ngY=l}f<|Lyh zaU;`(qsEPjgdC^!+9MxRjmd@f*`l7&8^Ezptml!k=%i0np({ulr|K-Mk2pFiciW%7 za`!OCpq0%6JZPlfiGEv9rP)N^7hc#|>ub7XQ2~+2ppF6YN3Of@(zt_DPD9&V7lp`~ zG~6KdM4hl47$SkB5(Wv6ri<2B&0C{zdFP)-B#Q8~l(4P&g+NH+8IJ4phrH}lbiG>^{d4Cb!-tJ+R==QIEOy6mW;EK)MJj-TtZP6A z&VUe8Icr1)9<6h!Q~IVRZ7Z8HLzYQ#q_SQiF)^C1yg?xjX5$9_(!5#&j?vcj=TALyC#|c+^Io%n0>LmGtaFT`@wv zQkRnEVQ5@3qo#S`Y|U19C>@djmB7_;F%}6R=3Wg1h$vA@wf=S>@7c(ZZ3Ktucf(^V zW}fFqs;?`JCV;zH=oniCKMOW`cmPrbo`bwc5JqDswd6h0H1Xc4 zv4h~J&GBh3?{a7Vr|ZapJC=YJst2 zYX>>=V3R@uH6QSB=D80q?|ZI}jHh~G%n(5#*eM!2;3`@-O43C4Nni?@kiVm4=#3^i^pF|S?Ypsq%sgC6C=oTumb)o?!W}%t4xXh1yRPzVB)FtN z7!0#k$h49yH;{`Gk|$CmHZ2iMvb)gV^O&%nndmhczg(i}C52$|?1E25e+F8MnX=sc z(J0xF%!5i@`pEUK7h^bQk|J~9k!-7W;RD<(cJ~I6TJ%D{TWY;9Y~nVH(k~IS5%EwH zB5yxKDj4Bb%E=3Fphn1*OIAh)Fu8=g%(P{uHG;*9C1Tz;a=|pqf%2$+g_^8H>6nRb zg23+3+}5#r+sTvTd;P*1N9l;Z>6`jVOqwJ@XZS>IU9X?jR{~HhIb7GXyxL2RBNTd! z972+_4*^@CW5OAj@Nm4nv(ZB0JA+Enemb>Y&c_DEP+6mT`RZz|FyX3_tF67V6{NJqi^lDU8&h;Uv?#0YzMNGLG^&nrQ$jn&w|Kiw} zUs#Fu@uVCZDzu4EgMl3umNiZ<{5PxR4aaA0=ExM^5;7I~BzA~pVMla1>=Ns6MbwDb zXd@IaO=L74`jJ#I{t$m*b_#9>53$SFwlJsmcI<+uJ9Qw;=yZ#zrEIp; z%rMG(&P#zkJ=%yf0K$^%jFeG)rhK9&e8@B-7t}9t!iX4f?9tKxxsJl@frnl?!zB%iH=MniKXBzCK3iV7 zHo0+jGQIDm*RL&a;KAg<*}X5FJb3l>z3XSMuARN7T047yhSzV*UwY5|58=noE|(A8 zKf7_?wfoOrUkJReE8M(ynFGunZ|u8GA^t$s^UN|O$JCspxB&yx&dCmp{A%}EQRyhN zun#6;ckgrALN`}vn+c46TTmh+F3P~2l{~arNe=3kM_m>YVSb9GZ+-0g+g2%E7B;z_ zdp0S4Ty+;z&}UTMXvQb`UA{$it|@RTa(YkcAt-@98O$fU(QG1J(GNu^{u^Da(d}6?^UyE)-iL zBxgq8M-+zcFT=)8B#vj7^*g5hi_GR*+g7~<(mj^ss_b;3=T2D+<}fY;2h&| ztN5yKp;qUf?>I4ndKABe6R&Qagemd*ocLSKdi|Q{`l=|>xxw@ojYn?(B^9zhPLbk- z>6Osq!y`n7wm)}YYSzlfLS|x$7bM5+gIx%6p~Zc5I~|ns^IE)GbbclDWn-j`u<}P}uzOdNERkK8{Cb6`D>v2=4I)OPjwWENVxs`5C)yvSF4j?INxk3 zzpiK`al?@ODuy3X7zM4+J zp<5Gr(w=2l?uAU)D>2DpE5WK;++X~Jaep!O*3f>ZBSac`9n~LKJB{3(4xq$gGRT8QtT;VvdFsjziU;%R z!Y{ph-%odEtG2w@4aSih0ozDd$WofU|p& zV41LEu5*)yI+L*6I%Px-!pV6k$-~fm?6^nzj!cJjyNtrYlf3vPj9=`L2uHT_aJ_vX zrsrU9oK5G+yK5bmrke94RXPMUIF->20zM91E@jh{u@CclC1i}fH_Grf*h7f_X#e~s za?{pC9s;57sK`}fCQI%Vp&~jxBWO+#IoVw$8UpbU$RES(CVWM6xG?`I(wIQ@oFk5?Uanhm|T#@%_oqf!7H+B2KN=x*_t%;iwV7E zSJWT;t=-TaxSq$#n~+mK``BI~&e|zpk%O(%)BA3?RD3n>Qsj+Vcx@O2NId~fv$;3s zCWLfU8+8!L?X&==&T%xJVL&nnc3lo@A7uo^AeAs%+-V|RmfoGFt?h<;8HyK2y(zO8 zt7H)n%pk%Gv}(7G%eqOM77lr{)?7`O2`Rdonp!E{-af0{&}rm}jWJIvVvT&1)`z3ls znO?vo|G2?XWVI;XEUa+6j#5YPo-DTOSwl9|YiR;r1(KVR0HK#RxqQ^;p>VWS+sY4< zd;`I+UYjpUyUyG10$7*+(g}VLWkfNyC^T8AFcBz-n8{Wjp9U$ksXtBQlsk@G^O2S| zPM5JUyAi`wwSRY-zde}8q@AKmTyH_=2aj?wTF^|t!sT|K_b6A6+uT~Qu)V_XmF{@4 z^|e@N#GbciQ>%xHSGB5zQ*=}Zu(6MEasV_Jc-pN3)+#qiP}{<|TE8Mwq_G&}r0vdf zkP_TgpI2cpmzlOY-A_nlLeT*X~`>SsMS(+2N6wTn-2x=RI};E~&?X@zVU znp{-Zz-=teyMmKiMFCF>^9m+Z><~@bVrKAB{4}A0QDtP_cE$+8fIvXk;FNH>Iiqk2 zNh}5fVcVa(;kMMuh`9|MOA&`=GXa%wKnf$Vh%|hpug$Zus>R=Oza03^k2yuNDQ;EA14Z*W`S;FS(F?KR} z6_RJJ0FCB2tdkrg3}{Q(Nb!XvL!Q!-t#Npx4GG(>br#coL)xx8*UlNp_)4e#*N!3c zpFs=uQamt5_@6rmiwxhO-!3%FM`R$yw;V9w))G1)c6Q0H5!-WH>UCT(oew3ENZ=xY zZ&s4BhbT%r9n%U4iCVe(z#`E=$ zfXVX~W|6kw=al$)%oAbDf;}qB0Ya6z0~5^nV1%0%e2yes=!Hpuy;09yyMNR2+8|U( zZl7q?3PDT1B*(bvvMotTTZ5X#ZXX|Pt%wTq$^>H`!6vwJ`C4D76lCW(=XhLI7fQR)W3|u)H|E@A~QWNA929cmF-k z3P5ctdK!rrUjAtD-P$m5uPbRI)Wjp4;Mv@_S}(FhTRe20um+k(I=QfhFi5Rs z1>vLjf0KWTyk;Fi6g>62jvt9hIqH4#=wa}HVI#Y500JJi!s;gHs|Q1_k@B&=gg z0x01kdK0&scitoy+A-9IPg)nX@SkO0;Qc*>v}H1=U0FEFOB4EFlT@Q@U=3y%c5S}G z{K%9GNlj1s)dym`xh4{eU0!`UMq;BQZ;*jQJIsELMHTa-bQgI;j!!n$HR`vFYIfsrXz3R+VeDcvj_d$Rm&Bv*=+W zpoMjc#~$l6O3{`P+pr}DzSHL+AYwn|eI7KEX7zzftW>qNp%JQNtE%JHD~ar=xJnSo zoyc?${C8?`;P?hy7g5J4oV=xBP+phIgyAmFy0Uz7t|LzTlk9OjiLpdo=SV z(@sZCrW!Mp+Wcw3G;&~O`prhxAzz{N*@^a}qVQ*MK-Hb~DSQ~?PV_?4+~UM+?DZyr z;JUWSV}Z85}Z?r4M8niu@6V>c+8N_#ilmqXI#9#?Q1O9#7*% zZ??2;$`DSW{c%W!+r?6?y-zq0WbmWS!`N)m+C<-$z}_7M_X_raV{ai2c}?}F%}at` zo0n8uKkZxy7yb!NF{a0*)n$N-c0i8Hb|8=_nRHs$&HUY`gQs<zXuEZ6mSjWIXlN(fjXGq| zb*A#oXbRIh?S*LAkcC(#y5X&6Kv%-f*{) zj5_(EK@igh^2;H$);N|(psHCs97rNj)h{4pM>*b;I~`J%1zwpOd0&BjA)zvl%&L~s zPd(M+F7=2qhRP<^`+~qx=x#G(JhYX~I`d5OTsjcPdZaD*!{oVl$>DTx%n~6yksKE| zB`}E4&|=OtE`}Jly{Z}R9&Xx{c*kA3S!?Sameo1FgYM*@-!8-n+vj*&PDQPiy|REy zG8)9r#%0Q}=&E`OJQmdz4tv|)ljR{Dv(4q=AY&rj(m>HxM12UN%#Pe9p^J|-l>6O% zfkLc2;(4x3iQWk(G7^dvIugGIei(IK3p%v5(m8h`Sme5ujuHz@B)5fayEQqeYWdyf z`!Z9B%qU~?!?%5k!FO@A&54R+=nlnv)7o!Tjq?pQ^&3wu0ZhcGA*{7E5`I>nhM|CQ z&19DNY0Tu~SG4yWTD)#`Z_sgBI3Y03^2ZE#wFv6<#6FT;vgd&Tt1xF#Xy1v_6jRSv zuWGYNYRa=qLw)uZxoy&4Ia$Z92g$t|IG`*z9E}1WR*&@^-k&PL8Fh0cv&TDr2 zDo{l=d@-TAn|p%eHBt-BNDtRQ5)bA-PbT+>*F6Wp7R~7oT6j_=$U(Il(U?dt(Gs() z6^i(fpi<&)_+H)_mPpW0RJcs3=m8;xy}Q^ZOt3CS7+$-sJAqqMgljopn;N&lKPx+X zrU}7$;2FoAV{29})<1{Mf4LOJiUE)Z^|B@$%tID1(itXJqW*|XPlb=&igS%fp4;uC z9X-cg7N^^wGUMHg8#p;$$DXAj#-aEOD(OTXA5_#r{0C65A~mk14G&KQy1OWmcO5-2 z@Wj5YvW4olHdAs>!O5MGmSd%@-5~vsL;yiQ_QxU@Wp=Tf;EiyxhqBQ&4|G4_zyQxk zMyX3d`|9YxmTKjpQ1Ha~e5!H6@)P)V*{+Y$SIdL~o6mZZf~zKGvrdBR_3If7c29 z5^&>%ey8QdDMw==q`i#}%uJ3rZWdZW>D0nZVw0MwzAn*NFDsJf9a+Dd=D?Lzj&!v) zkbwq5pWqOM$W6NW1%tXuWNhOGA|H2)**ocn;^AE0qlrH~3~E)4>rP9(bOz6xagy?q z2K?Yhi4$Ne^~`%&!}BhjS15h{9D zzDcpV*0U`+ui}y^f@uqRO|5W6eEY2)y95e`h6R-c1hI%`sTBjUwOlH2ESe7iPcXdv z6gR>gT$0q|?Nx4AZSUH+ydl0N=|Nbh1V6Ze@N9O&b1vRU1Wd!Z zKb#WPn4FumaWlB8rDB{B0a_z@QLH6U0uH06j%`XLKbQ*j)y6~jGijB4-f;jptmI;q zjgh4=>x&i?9P5r^MlF*&33Jp$yX>#S^?a^U%Uo=C713mC3o8dxLZNp$V_B-)F*Grv zYNm}IR$RAqZ03#$9+=X}EyLDot6XMP$C!wL1hUxp%3|{1;o|-|e8Rz<=*eT~0w>!S_tr(9 zKDu;pbOHK+UZ>!WI59#b@j!(Uf^F5*J2^^B(4z@!HGv+1Rvlr-Db3U<)3nw|Of&Gs ziJHL_dKm+%Wc<|?jp~nw8P7YX%}g*($fsfSRD6Gdv}XxU%&1v6kxk_kI}>wI)Z=gT zVr@ZoRP?EEsVy9MRj1dh2HkQn=q>K323y(&=i7L`d*ThOQUoLYkGzgpr>h8M4L{`5Qi4F5=>_Tyj0!Yc@KD!j>lB>gPlCt-F}}w$yRB z%+tH33QFQgZNBzJYfkj8>!5Vul5XtE(Js_nM(3=Z)#-I>F8W{64eCe(&1aYfap)z; zxY&zZQct`}f}!AYWOS!lE7&4#l$BRP*F@i=dVL!~7(!)vfy4{a2%&0Ly4|}vf{A)e z^FGb+AXcn0iq$w3;QD4+HdRfNR_-CpWd}<7_yPn0Nn;u8tcoO%tH%xeD6h%Z7 z$*?v~w(CQ@WO`vmOTQXTv^T=-VOzj$^2j-HfHQ+Bq3eOjkb*-}cZdOsg7n=&VQZT< zLT0^ifS?N>VjDb+31IX>=pM&lyyyp~ti#^e0v7Hj$R3gSf6N3L$6yV%$0RM7u|7M^ z4({We#kj%k($O)zHIW2>;i|OnQ)GChR^meqK{fFQOf!1>LwXwLCat)jP79&8#+)_* z-67NCe?og&nhLFnXNP)3JdkER*G=UluXO8Cz4%2UOwvH#3^3g0l&2i|&&|^^P>QH! zseWCCk^Sb=XU-aO|Me|MugsY=!u4*u(0%qtCp&j-`c;Rhqbck8H+rrKDr?{DDqj>e zI`g=3N@F>mW8>sD9Wa#TG!mf zD48=RR_C8EUn%%5q>Pgz|xZi6gu886-E!QdV;3 z*U#ccSi!QQ7h;*}eY{D=iN3m<#WlMkeakVPJ9W4Dmh75_1VHPgnzIENjE1b17=rfl zL7!ezV#ziRE`squv>u48%V@CmQ%hY1Q!5<)1X+Tw19GJF-vM8zBiQ6ueG8vGh z5>S<|^^g#ijs|Ca^sFo2be;p9^txgkO@ip+a9Pz`BAg`CU4&6l}To1c0;ijwnfW<>gcfPVxM}Gex-2qR~rmdLzc3 z12O`zht%Kb7&;7-1f`DzH@yH-J9j&SjyTpKR@ax*da@inZK23AOtcHBYx!wUPJ>q30jk4$n|tEU3DjIFbodYQ3<$jL!fLIDdBPSaYfle9 z`AJySprunQn`+N6T}R^)Zt4N^PlckmPH|FV5Zs>E>=UxM$gV)mv%azt5+(v|8P30= zLZ%-gVp}yOmipJ5A+my-&zrIkj3_wi4;cgt zG}zMrsY7myh<*uj52P1ZumU23$Vd54L^p1{q$%e*;!K*bM$Ewb2gntR{1xzALLf?< z_N&{u=?ghm&{}>m(mCaRIV3Z|Y31l5sVGx!9mK}GC(=~DNkmIAwiBaEctqUZMPJrjAus0isi@(ZCh}))6F!y0N%=w7_YswbRpm+}II53N_cl zk|8_8Z4e^hER!_us%4|C5k>xx+|h(B7O8mBTAS1p<~Fby-95on?;y#CORX${2aV|9 z2-yp`0=NpG&=%HDgLy2=*9)Y^>edc5L_%MOfAU(NK?le$K^?~rX1wC1Pg?>cmbxb z8*iT)z|Vuj`8cc4Fb+AwnZvYrN2 zAZVvhM9#xlO8yR&WQWHL0*zMVi*dSUZ^gyS!m&j#ls1Y$V(x`07kxU#$Tu$^;;U!Q zR&;A(E30KP_dXPn0TDIf0@TuqSfd}MFW#O>G^tu@%i%?FHMsm$pbf}hr6kE;6z07Z zt~2X}|4oTds7(uvinue47u|BfRf!0UCJ%v}9MVor^?2zplnPXOrO}3e6gh}`U`>n< zfalX=o{29+y-vPP14?RaEpUG1Qt)-2Bnu@Reln=0$P< z!`ni_s-Z6~= z1e|8AjKzex#+^Xnobqmsbem@(>FzU5u!U<8 z_|>6FBIfh1l~Y7?8k6Tl2Rz<3sb?$5;K@4{P$pX>o2mmMFoz*64dl?qWUOc>GZO4G z?f$_be-r0ZFoHq6ls-H()YQR>>5+0ScOJSDbGk+!!3=-xq5E$P)D~Y?Iw8%>o0J7& zdSwz?P|qHbcHRXEa*utLpakChbdwYLUKnxuVY@NT*XobRk2fwt(>aOHc&hc8y|J|l z0*LD@JB@lrTx6yF7VsDX91jf?`$wBAjTfxbPRAAi#GwfNR|{ZTr*8!2ij>PmRodF^ zelIMD@k0!aen;?H7qgWiw+qPKn6y>@C9y9$6G@FDJ8f@r&0U@aSr+;Mj&=@D4vy-` z-8$zJ4a>V~#paVYe>)L=Hbx+#2H=*80>jfF5RAQHkEB8QyB^3%vVy| z$J*)@4b1&)$+GlEF2oA0C)b?>qBwCvow$f4u z#cZwPFU?EIs*knvv0y7(I1H_SFgklEQ|e3|k&#?7tNHB#TRC;*ww!c8td&*n*V`L# zhXhpo&@PD#X45Ps=9Q0QyvTY#s(W>VhC0JBX@#F7$|BdS)wjYK^wLt$*FlxYOgyG& z9;$kK)+Tvu@j79EW}zeP(s0}H<}om);cnepug~p>^p-;$$E`S!nhzW51y2SJ@=dB2 zl-srcc9Kxh(*Htz_7L~*jQ9rWZk_dlGXTn?8HVlT$|ZYf^P>H5I|A_d04Vy zbF3{qcR9M;zI&R@^edE%@v^YSBOVHiLi?Mw`W6S59zIcLX3iS$BdKPr$3c|u8D=37}-RFFAv~wOo+z4kI!Gg20%8jbE zfefpb7`h`?2=X%L7xWCj>+HYPy|2Fr&J*#YdQ z&h;vW6$=dpZ;K@zo=oA;aOh!0g&R~$wG2nrcRi0XZtGpG5Xeq>@<}%Z4U5s)Cy$6K zakxA(fjFW1)QWcUjM1?L+?;eYuwwRvddg6`pQ)7lgs?+X( z^YVPKGE$fmM=-wJ85)SkIpW+swV=6tWmK|>;oR#;5kaiGEUJr(kq}xP)fzK_hVG*H z?eJUl9_J~oua{p!8I8ot+#>+K=+WE^NuX0}7?x^>x1?ji%@iCxOf-zJE)L92^nX%>{d0B^{_Kj0s**$_Gzf;DHbWC2>unrD3{<^hnME;jX6K*hOHn ztAk+qa}0VAbrBXJ-1?nt6drdSXa*@~j5u><|MgdAHy*sA-2vhv8;{7DJG_jsC1(pY zP7!XnV=wM+V7)GaYlw^(&<Jt(}V2dqeex7&}qGwO5D*g#D!vr4L4BD=4}`H5rM)w zBO`5#Vu&yrk_gm+898jFLnAVIy2{ue&c8%NDbp=WA7k#f?t1hv9%)o(8bX~Uwrm(`te}Q4E8pqa z)Xkf<@U2IAfs^WE{x(i&>=uq7$a>mg@-H9|w3ag`vsy|lEm2pbAZT0})r*=^VM&4x zsEl@gf20O3o;T7-M|>x+)MGv(dX1KAk2udXy>?*G<>%aqu$}m(!us)wc?cTlxZVCb zgw2gPsp?x`LHcm4h0E`lM{wQuO70P~iP#60aRVpDPq&d09b-`gwQL8mB#QhTvJ;63 zS=mxHLNKjzabv4ht|n}-B%OzFi(AXa7wT;uJxsQFSf`>6e^SpjfRH^(+>Cb++=V#? zmjE7X7yz;B(&)nG#lv8|Yf2YKaL2)^@XWXcgL^YNf`;4>Ks5JMwHFzcIb%}9VlRb$m@Y+;dU`cFL6m^ zV0-L(-Z1rwv#H)OA|Wfq4lXr8Qb-Z4;m?)ZeECs-xmjU%33$%w1q$p_5h%PRIJ#im z$!XEU7z;*WT})oV&zMy_K-)S$CaE2Xy|od9b(-nP=H4O9TS#hve89ACad`%L4<{F8 z%0&(!>5H@bw%ZPI*-m(sVUbW;CsQDr)b6!66~$#ll@##tF-O60IglxT=}ap*@(0K? z#Y>C5Fm0hMIKX*Def(lDZ)B6QD^9RqFD%C}m6#0A*8CF0siY(tRx zMSbz3!1KxTgN(RG@a*Q^Xg|H3(u9(b)!4bc(TAv$Js5jY_v=_a)`mB<)|5 zJrOO=_*Sp+|KdMx%dRBtuO#iSB<=4{$`2&v*CplaN%^6q{BTkph0}-rjg#^tN&7EM z%5O}{U!0V`G%3F+DZe=>e|b{=ilqEiN%^aj@>`Pf*CpkzPs(pi%HNojzbPrdEh)b} zDSt~+en(RNwxs+WN%@^g`MZ+xyOQ$vB<1f-%HNli-<_0yASwS~QvRW&{KHB4N0ai8 zCFS=d<)28(Kbe%@o0NY#DgSIzeqU1lxupF5r2Gp>`2$J$my`0ZB;{XC%DWrOQvR)^{5whcca!q(C*?m#${$L~f0&g2C@KGOQvQ>q{AWq|!%6wilk!KB@-4T7 z4{pnDOUjQ;%8yUVADfh)kd&X8l%JH8pPZCGDJefSDL*YKKO-qWGbukSDL*?YKPM?a zFDbtuDZel&-=383NXloE@@FRHA}Lo%xto;xNqLx*Uy_txnv`Fjls9kr#1H|pTe5ys zzBNlZ>^q|R$7H`4l^>hMEB?4F{>8^}phgO7_iB`IEAriOQdx{b^KwYIY`) zfIcO=6qTQrePvXBdiIZ^@-wpEj>?~!J^is^f1jCcMdeS+u1Do(W#1Z=KRx^TsQm2g zmdAzPTg$4b{G9Cbqw;gJuZhaf%YGy(KR^4usQiNLX^#)T{~6h4RDNN0Ju08czBMY} zp8b4Oeo^)pQTdMS+{c99e{uHesC+j2+NgXk`^QoFGqZmmmGkV=KQ{ax@?J#cGW(*a zTxIWy%AM?AM&)ky_((wQW!`}=0Z8z94JS~jdFyH zC`ZVJa)cZxM~jPcv{)!dlZ|pTxhQ{fGQUqv%Ab;ypO%zEji37MGm`pGP0G(q%Ab~$ zpOut9Jt;psDX%5v=OpFlCgtZP<>x2m7bNA+NXjov%4d@D?MeAXN%@YX{Nkj1HYuM= z%Ac8(^Q2rPz zM@e}-DUXx#MpE8P%3DeKd{W*{$~#H<6-oI*Qr=C`b-U^&9i~VtMY~bJg%%(V6w~ZaFXVWv@T!&ik`z zzgkQ>)5T;qUvw+^?&J$?P+!Rz;3yB}|M&h_R+QB0=gV%Y6eooTPvnRXF> z&|P$AgV}64kr$VX$&H5|TwLdGRp;_$wJ3YN#SA?f^yahaa8h=QVp*PJ6SBIC31Umx=t|>cuC)wm7V3Jnk=j7tmx;xUay=^ zku1EL4Dvsp$ywZNnu3pFOd-d{E<+;whi)lr~$1E=-UktifsO3N> zdv@)?#p{=k)oxJJF+x#@IJRmE^Rn-&<&th+4AS%+imF0n@4@aOKC%{Z>!xn4dU z7WraX&hXu7uk7d5vez5V7QM*;Xi>_zlAkKd{<#4r7^^y;_0iKsiM~y%X;Ch7EGZ^l zQE0*+!8|O7y}@EKoMSBAqPHj)i*DIjV5%q8uqu{I`H{)oS`YgDYCiAdYm=gjmG70E z=`yddl8eQ1K2?mFyKi?o{b|43?@#k?cR3t(u_>1QL2uH<7FysZ<=gYCuKBPx#EzL1 zMK7OY%S@+p4!0_+c{v$OhC^+B{UPmmImDc!AIoC8m<<;5!MxL(_ZCIoD|)@@Ks&y; z&pKXoCfKqwY{CAlm~|Ev205Qkht+h+J*M-&c>VQ9WKR|67X4m-UJPc~-NQwgmI=S)SeQ%iB z#P^qz#jL>EbTPaNuT4vQxP!SV7Q?Cb=)ThWGn@7%y*{?Vva?*4*x`#_H=pOg_u+E3 z=quV?y`oVpd9RDF6xhB~naTS#hDm$V1F9{j<*@9{kgsww zS?0?*rm)~|XSr+}lY*JvO^vX%z>o1p+az2>O^Tk5x?DfTivuoCy;b1<)Cdh~RqBjS!^#@DL zW3lWP<)Q-uB3%a>FuY5DBJWN6CCJ>Qhso|#v+1B$0V_aYfD`zbyy5!O9ZaUnNioGH z8T5wzBA=AAZaKwH?to1UwD$KSWcE54skH-qbbHYANHp6Y6&`MTd$@9i%vD{VUy*>yvi4oZkhK%5xO8V z{eBNwRHZ9(M+J(`bOuLbzcZhKBbVh6g9T=G^4Y8ei_uYfDlmlSyc(3#0z?Jd4gsea z_-xk2&cg7!%3A^|Fj&lbWe4V?T@aYNKRlOXeoM0OB3X+7;>zc^q^K#IE&@h`-^FBnf?l8wDpMeq2 zdULF`cExS#Ii>?wQ8g5kU=pSmeWpekT3cslX;S~fRMNZc2}LE2hudhd)0io z%)vb{U=#h6B-uRnyTv>&yF<{d#bSXWQp5za1bOdIAt^|2^bMQJVTm#IdXy?>MGt(o zHwSAgI&;vld|^9K->})l=9@s$SWG9gAvPZ-7o-9FYyy-k7X6S=RyzM6Ao$t<(iC_a z=*w`DcPdC#C5Tkj%@rB+H#+tP&>eCos3<5zcYtPd@U-c&m(M!0VOM8W-{=}jfGhyz zv3TIH1MJ+z5OQ{ZIUSarPG_NXC!)sK9Rr9l3lPG|VvrA(^X?o%DCC3Le7YPu0_(;w zsd~#<(H#JnxXeqC9fZ(eJ3~MoPL%iDm|6e9)WA8G{a!J|5>JpTa5fyE?~5u2Z7Y?S z+?ZM4A(0l-8Mtz9(t)HknU@tBFQzj_0|Q%S)o#psI#S>*2rp0_%UWXpVTV*A##Mts zvFPYtxiRZ&>v`2#Kx(SMf~(;WG7FcXJDh>If>+tRfQ=XeRha1#)NZ*zN3cg`P#JoV zYkJtc6LiM9;x=Mg0Qu1tM5j-lHtkgfh$8lUh1tj11a5PD-B733Ayw*uOhV9w#9S7$ z<+55<{r+$^1AUO@o=ahf;PJp5Fa}cYVlqc(DzNA>2cObu@mvb4Imb;!RE;LH3RDDK z52!r>`d|YimP^!wNOp&0T$DrX*kTTp$NYd-b*IqJDsVMS<$TsI@q@QPat0!o9V|1J ztdFJWK)3^koG$y?vFqVafw4gy!L4O|f z&EDW#zdM|Fz%Ql{Gv`>9Wm!}Zk2(;ShyCS3`^RX>$?Oz#6>HuZo`bYC=+9=u8P;Pt zpMdQ_>R3Q5o6W(d3MG&7(%ijOK}jee7%gVy9H`fyFXtffAOetVz`ubtN+tOg__6&K z-Wp&?B~ZFM!|s{qLvX2T&_VX=4Zs1m&6w5-%0)GsAx_+yI5DlSq0g1Z<@(2v? z&!Kw^5LdLAK`s%@khdtc*YD+^h}b*%GM_CW_Clm0mByABU}twb^{Hnk@_b(zIF(iY4BibYUGZ ziIKl$e7$}X`Z3H3m>4EO#cqTe2FVMY<*}?gI@5~)%vAs24xz=0z?J4Jg6wlVmg-vb`5wKDQ2duW(L zOoVs_VG9z=pxcK&xg4V3_0Jjqso#Wvipjv%?k_+J`w;uE;=r9rNv!KA{bWbOeqz!g zFkl9tRYM1!O~5{Y*r3DmNMLFG<=|@;*MsL{fXtBQ) zZX8ka-LgYPi-od$o<;6F3?iw1wg;3vbV$=_iF3gL?l zt{Z&4!T;6ZcN_eN27ig!s3%MA%y$v0YZHA zVM2WOO9XNZ4#Wc!V$*#V;aRLZA>3R0gm7zJ zCd{*JN{Gd|LWs!`JgqP;mOB_1VK>VJZ+ltxcUkUd+21D|WZCxA>25OGrARv z|9=o3XW5Svo@Ck25MIo(UnIOM%l*(b(Xg!MhBe5>B#gK{(B_`w3^jKf*cIiExo+UqOgX z^|uJ`$+EW*-kW9LPIzCIeGlPlFh0W9X4#JsUID!!yqaYnAiN*rBfOSnze5OQ|Br;P z%d$Tsd=P&ggFn}?uL*Ae?+72l{vv#RmYpNS<`@#b0eDCFNS0k7#5feH25Zi zUt#bq2H$E>_BY1!4lBRY;P)7Ox4|DW_+tit(%{b;e80h8Hu!4>KWOlG4SvYr9~=Cz z!CP+8em~wIQY3wUxi#;5Qlk7K7hm@LdMK&)^Rl{858HVeqF7 z{+z)N82nX(ziIGy4E}+^KQj1d20vo(v7{sD=MxMvev{>=8GM$(=NS}wiF%=zfL(k3 z5`!ay=M6ggd2Hpo4GJB_`$9(nUu(}_XHe)Vp1;w`Z!#!!70=&d<+mCX`ikf8u<|<% z3Z2FCcU$>~3<|x)^PjZx&l-Hc!CyA`YX(1P@OKS<$lxCv{IJ1WjIKW3;1dlBea7!S z!^+P#D0CXn@33-Vuy63C2FC_>3?3M~Xz*1ACkF2^c-7!_gO3>eVuNos_*DkK&fqs1 ze7nJKGx%Kwzt`Xo82n*_?=kpZgYPr=3kHA1;IA9}ErY*r@DC0CiNQZNcpDg%?06{D27k=pPa6DLgYP%^%LaeV;0F!1{#KHK064Bla|FxWTvQiEfII|dI7UNrbBgA;@I7`$qbap7F&M+|JgFrjQH-k>ze7cpNZSXS; zo;3*7N8WRC=DL-43_^8~`b!2O+Dmz15Tdn|Au0>}0)t;_@NXD&a^*Kz`RxY3-Qc?n ze!oE{PyV=--)r!n8~lL5e`WB421Sp=diE`Ew2OgbdeJ z^h-b|H@?iCZyMY+cx>>M2A#Zkua&PEboP-qT6xvFrFufz?kP5&XBb>F_(FqFfu;Xl zgHTbWJT?dwQp$H4go-C+r#~#M43$ZqLj@A}g$DncL8mvQ{d4%2j^lau-t7jVn#*_l z2BA7jdD9?NTPgo#zyCj*9`(&Oj&C#g-3GtU;6F0x^rxS)^7{<_qQPG^_-_pUM}vQ2 z@GlJhW#`MS$A9m6`~TVxm||r8Uutl};01#)Wk|i#e?Q;K_ZWn#FZB-@{33&IGWeAS zzs}&_Huxf6L&%H~2>e|BFGV--^8p^yW!M zA3nw4vkX4ppwnwhEAvDh>DA{Lgb7;8Vh6)>r_X+_J)aqTjltI$e1k!!$NqIIf3-np z*L|Cnzty1AU;lxXf6(ARHu#eUo!!^ztztJr|2|qgd9-$)Zu9v9gD*B%8HDLh=H=18 z^Jw+Y`Y6BS+NE^wzxO_Kb{?3nWPFbp{1Ss-Zt!aizSZC=y5z?H@z(B>41TJ?=NN=( zR({Wo=dbpw&d2}X_v>%ke*Sj`KV#US^PUFJ3G=}v*%x7@M{fzqrtyx(Akf~UXJ(QZO{Kt zgYPl;&kQ=d(Jxu~*9`I;FX{5{8x%V_%FbRyhYsr>Z}1ZgKGoo-8FY4{7g@P5I57Bf zgIfljedxr>uQE6_c%Q)s3_82e|6=7g8~mFFzuw^AG3e|;f8WZEUOd6*!AC3qIl9rc z_naOwvhsO@dj^jUI)3lu)rCEGbntane%Rm}4Zg{slUv_n<+mDqo56P&e5b*`;{S@L z|D*W-U(pkt-@l?KIuGA#bVdAlppQRl<$r3>*_Ho=m4C(HZx|H69^U&8R(AH}|7zvi z%>Mat2A^#3=?0x0`7^A1)?mlrOAM|XboS#zD>Hur>H6mxTo}A!(AkZ@z{+20@NXD= zi@|R&=<{xAF%J{wsqYH28Z4oqhOEt^5&#j{{-nIG$+m zlMOn%@N=zvyTROG-{8v(I(zW0m5&X+(%{74y#}2f`1MwPqropT_*Dk~mO*F#{d-n^ zr@{Z-;13x55rfX|`!iO4zrlZL@YfCgwn1m_{m)kZ@PBLXPT;N>`-g#_6fM%Cw5L)k z+Ea*7WNVXzBHCB&i$X{xMJUQvsgxu|6rw08N+@KBvKB>3o0Ra*+~+%-xA!^6{eS<@ z^LUmsAGhzh&iVB_GuO2qvK=~qG z#;e$oQM+zG z_2cuDo3I71 zWP3)}jWhbe1o;Me{wChajDB3f>(TY%hde)xv-lJ<`o{$E(RJeGo?p#(xt^ahx<0&J zc`q~i%>?Wr@M zo~e8;8}kxg!RWefSLNQkmN#+)qwBf%C_l)le2h;rx{kY8`BlEbclZ&b>$l-}N@0C` z&prH^VV}Y9^_!~%B>#!crXH!PkQCll_V0ZTAU`E$ZM=IaR@tnwT{H?IQqwA*gl%MCzT){UP zT`&Du`3r904*tkrm@P;A{f^|(EXvZXz;L{;aQwKWW=S9599Ul|9gCRP(5aK{F96MS%jrno>f?jr}J!H$Y#8pSF;l{ z`Y{LVyT9`FyoIB9H}B(Q&fpWw=-(XVdqH_AqyC0(E5FYT{EFW)>SvhI?>Wf#o9B;k z9CQ>5vN(_92~2ON@$K`UeI65Sug6<&m3b0RV|`x0i+CBYVn<%Xe!PxDc^mKI1Ww{~ z&gRox$R&J@Z*d(z;g{UXAGnXd@^IT>Mt}WaJ1(GHjAdAn)p#<`U;{Q{bGBkzc403L zhHQ%`9o&(`w#MMR^G;_pX&kTERNH2FfR+S zB+Ic9YqAdO@q9MrrEJX(?9RR%%$qrqcXB+VeyoouKhAl4o-Z@%znXF1Ku{m=dH!R5 z!7YsXt^TO|3$r<1KaxkYC`+>fGwv%0-mkWDU7o{+yqGQ7hMn1y19$_6aWuy=>X-Vk z@}r!?`FxR4f7F%AYxn^-aucI|sJoQ+GraI09=Bv?9v;IIEXxyFgQxN=hU3hJ`I@i= zuVj06V;>IUO}v$381*xKNO>A(@hLvXsDJ5l<<)$b>-jmOex=)$_wpdKI$qDks6S~D zNk3y@?_576MTkIf6=ANuk&rb&kcMJ@-aTisQ>3;G6?%~f2?=cLQD<|`@FpuT&tjv>m8td}{ zUc}27j&B^kPe)$Ee!PxDc^mKI1Ww{~&gRox$R&J@Z*d(z;g{UXAGnXd^6;GT`OnP) zEXFdd$Z9;9XRrYqu{m3@ExWK62QnPTIjqOwyq)9t0H<&!=W+oTaT!-}EkER^+{|s< z%>&GmD?VR2n3siElI2*5HCc!Ccs`r*QnqF|{&ZLm-PxCec{4}yPLAh9KElU2kI(aE zuHc(|k00|3Zs898$X}Q(IMEL0`$!(mqAbk{tjgM~%X8R}7qcbXurqsd0B_(hj^WH>%|xLhl_h97VvH}N~};(mrh6^D7UGY^kp36|xFtie-x7SCf7w&0a) z&u;9)LA;5#at!a~L!8E0e2UNUB`)V`zRUIeoZoOe_wpdK9u=>rT+GiREXDGy!f+h( zuzpYH*}Ra=csYZ^jrjJ;|I~gwnZ17au6kI{&-o3vb1&2FLh-p+A+fKxb=bGd+v zxQwf~mLD>`zmBiZ)%L&1+VeMg{X6dBe#W%>Mg2VTC?CTTEXxyFgQxN=p2sF^!7JIG z-PnhNcoT2s7~ac=IE}OT6rbZuT+Y>em+SdCzu|W7?bwyQc`a|`2;RYa_#mh9F+Ry>xtOo=4Zg#V_!+ex>pne!z{~#P7I^`xy?XmeCHuJUoUaSe7TU z22bT#JdaJ-f>*LVyRi=k@h0BNF}#-#aT;gwDL%)SxSXr`F4yyOe#7nD%Y)3S{Vx~u zvj|JEJgcx4Pv_aZkj;2GuVyFqV1HiETR4h$^FB`I42Hjh7p~`L_yU*mb-vB_xq)Bt zTkd4AJIcr#G;3w}-`;ML>^S@@^|O_S_Pb8EpTxJHbo)uX9@6b6@p?$NpTz6o@7;d# zspIU;+{WEJz$}h8b1*Lpu_Vi}5^J&!>+yUx<)v)R4(!gp9L$?Jl6P`EC-MUvLX|@JIf_Y>qdNc^1!O6Sm-$Y|n1&!$G`> z(Rfv3l<(z3oW@yviqG*SF6U~#%k})6-*7wk@*uN1-ps}PEW%PO&tUUQAAbeMwSU$Q z`e(;q>HFT|+fn+yw|G6I?|X~a!++X+Z-3SP@~?W|fA%;bneAWjXXnY^`d-_~fA#SU zN4QRO2k+s7oXW@eB%kGCzREZF4nN{&{F>i$4}a!iuE*qLJ{IP&Jf4+#5>I1&UcifZ z8LwhTUc-L8jzf7H@8Seb;&jgD(_F|Ue2s5$9Y5ih+{z!gkH7M8*JX0E0E@8s&u3F!%GT__?(ECKyqP0;C&zOlAK~Mi$LIMnSMW`~$B+31w{Qo4!&7v&L3arZ7tjlxQkQcKh+psfxasY4OFplO}-p_~mDCclKU*s!X$u<0d8@Y+! zaToV9<~%Sv^Y9p!U|F8X8a$O}@jNzR3tq|g?8ZJE#G804$M9Z0#A%$xr}!LS;&QI$ zyIjxD`3<*oFAp-S^T1rp&mt_v@~pyIJe_CrLN?>&yqcZZgZ+6uZ{aB3&HFf+Gx!9b z;R{^K*ZDTz=LUYoZ@H5{@i!jf{P!ppWN{wH6Ih+6@Jyb|#=L}AupPUyH?QT59Kkzy z4;ivCwj<2`$ea-QDDCvA4eP46DK8|$Ue>96SeP46DezH66 z&%a-^A-Do8y@D@lCuwcBzm3 zj5&TuAK%35XS@2?%Y)47_~n0kd=vchzvO%SuloLc(el2+m0ZIQ7>(b&NjZH#Uwk`B z-_IAXhxGk?@p?G)e!l;<{mH+|xbXkm_Q(JBaX{1KJ;XoH>G2-o_3+<5-b4C+h4^-m zzF#3;59#|A;`Q+FcE3Uu{S<2Pbe_!%*^HO-YIb4|_UHAyg`;>k@8e|7;1hg?FK{Ve z=i7Xr8~7E!5xj%<@Ig-H zV|+nAA+$_LiEW?Vd#*=vl8?X_Z zvlZL23wv=Ohj2J==QuvVDV)ihID(xe=SQ72C24dvPF#a5!)0I6lBBoXNRdz(rifRb0yt`6)MZ8+Y>nv$)=qgLzqq zC0UM@Sd(>FkLR-~FJ)_XV0ZTAVBXA;yp!WOk&p0k&g1iZnJf4v-{Z&pf?K$QKk^r5 zbKU1i9?haG%?hl_+N{fS*pL^qCEKtwdvXA8;4qHnSl-Wv`6%abK40W3T*)>3fE&4q z-*FfBGv<0ncIM$REWxroku`WK&*FJ(!WO)e?b(feIEXj#R*vDle2CLHi%;=6zQpBR z&3Cz;pYt1T=UyIUR@XanF+Yp26w9*;Yw>iR%?sI#m-A|NVh{G`^}L0ncsK9kWX|9d ze10ySgzG^^u^@}{IG(`jJcVcSTsGz zWF6My`E1Hd*_s{Loqai&H*+NKem+SdC zzu|W7f?jr}J!H$Y#8pSF;m)us^ToEgZ$Wc^@Zp2A|+Fe1S{( zI^X8|+`zB+EqC%K{>CGWvwsu|vN(_939QajcqY$fV_w25*p6MI1&UcifZ8LwhTUc-L8 zjzf7H@8Seb;&jgD(_F|Ue2s5$9Y5ih+{z!gkH7NpyxPB5fW=sb6we1KCplXJO%i@1!dxRxLCQ*P!q?&bkz$rrDm9L&o?EXi`L#G0(b zdOV*^c_~}71G}>?2lHl*IYg|&D(&*p_}#>;s%JFy4*^LpOGQM{Y?aWZG{2|mLY zxRkH+ZNAS9{EFXlCx7B^JVLwAQ7p*fJdP)@I#1!5JeQ4m39n!~c4co~%Nsd@ckmuQ z$fz@9-mj#;^H3_wZ*Prrjqe^RY0G-Y)37YA|(hx2xh;{%++nVic7T*PHu#kKs9pK>#|aW@Yzi*}zJ%*#S7$#Sg3nykZm zJfBT@DOft{ zE3hhSvo6nJLtf05Y{Sm%$pO59!#J8_c|RZKqnyL}e37qkCD-r+ZsaC@$6egdn0BA+ z%)?_?f@OIkYw%Q_#q-#NEqEo{vm5(x5O3nG9K(D05T|h#pW<_TiOac~?{Ymq=QrHW zy*$XQ+I?~{KZ~#w%d-k=@pPWe3)zg9^J;ct5BBHvyoIB9H}B(Q&fpV#hA(g_U+3F= zpBwlUzvWK;#NT*?cAukIki~f%PhfSP!ZUd;gRjl>`QrazT$`=xYX|o-v;8TGI&b>l z_T!Jn5sA(tqu&8*Cx5zsMSQzX_pgZ8L%M%OydKj1E8_K#?q3nFhyS+z73uH$_Ii$5D>gLwX$Lcs-=YQI6Ncq2nn3tlju9?V~xFkA-WF6My`E1Hd*_s{Loqai&H*+NK*LVyRi=k@h0BNF}#-#aT;gwDL%)SxSXr` zF4yyOe#7nD%Y)3SzhExrXAzcSc~)U9p3bv*A)E1XUd>MI!T!9Sw{R5i=6#&Z8GM4z z@C7dA>wKHn}FpuT&tjv>m8td}{Uc}3I6+7}8 z_TzON%G-DsCvXy{b2gvmLN4KJe2eS&3BTl4{=j|wm51k#A4lb80TyE!R%A7v%rn@4 zjo6&6*p^+`ivu}?!+AT$@c~ZZOwQ#3F5)t-;#z*lPq~@fxSI!<<>+|*UqAbk{tjgM~%X8R}7qcbXurqsd0B_(hj^zw5|?u| z-{pFK&TqJ#dwGyqgKOpCI2pN^pG8=T1&lc{Mw+2mAAS-ojD5oA+@t zXYdI=!xy-euk&rb&kg*F-*P8^;%_{nP`sXwVnG(?aXf+5c?!?uxopf!cm>hd=YM!twga$$Tu#V|hF)^CX_e`n-S_ z@iJb;j=YBbcpZoGHr~YvoW$vz&8NALOZXb!;yQl9FS(UJa36o=;YH&0l$!-ujAdAn z)p#<`U;{Q{bGBkzc403Le7?w6xRPu5 z0XK3JzvC|MXRLUG6r;^^hK)C|(cg@rmN~kRG2XUJvQG6r; z^^hK)C|(cg@rmN~kRG2XUJvQ{w+r1pRQN_jOpJ6iXVUetNbp|zsvsM-(@~Cdwej>_t#^b%lS<9efN*vZx!@8 zEzaY30;}^Bp2>6Bn3wPhM&oE@c3h4Bw)Op=w!Hso%QG#>=k?E)^B?_sN%K{fC$Ji8 z^K{nd`TXA==l|LA{nhjLKRs_twx0j${c-{O(SKBX(xL0|&~nh6ozV|B=tiI6fBSk( z*Uw+uj+(Cjbp40-&0S-E)R%+!pT6HuZ~y7-KfV3O!k_=kI37tKpTz6oL-nzdUvVpU za4&ym7RQ&_c@&c!cc%A0>HW{Y!~Q3|on~%3P1jSpp2E-b->V%uy*;J3r@!a+^p84@ zIo@$jdV9^>_L|xCkgm`FU42IN7YwJEaefnY|I9ELULnIWtjMUn|77Je*no}LoKe4w zw#r@Divu}?!+AT$@c~ZZOh(@$3zQde8CP*Fqw|*Z@5#p3?+W{+^zX^W>m&VpvhjNO zSNT2JX#e#0YJUlSMl)l-b`*o|>KWzYJdV-z&Fadh@Jyb|#*F$eUZLEMUD=!0GHN#- zp?nAL;e(vYsQ<>3%Fl8!U*#Kohad4Xe$DT>hf({?VfF_(nU95eETiL@%E~A4G}h+@ zjDGj*GUcn-k=L*vqyA(=m2cx+oWMzp`jO36ewqupgs(B`KekT!6Mo69{DJ%UD-YLi zIyVcj7|XCCtMO!>!3J!^=4{2b?806g$RQlg+c}O8a0+K~E*EeSmvI%>@g&D_S_ zJishj%*#S7$#Sg3nykZmJfBT@DO@=Uz{^l3utUgyc znU~RhEX9?h{Z0ktDm;mGn7*GSzJL0&`&rJmpSY0CcsZ|TC-z`}Ue8-Nig)uqPUZ|g z!Dsjam-2PK&G)&1U-4V+pX9S#%vbpa-{D96j9>G6?%~foEck*5+m~`O9}DwX9?!}=iKnqXFW^PI zj90NEuVFu4$DzE9cX0wIaXM%7X)fdvzQ(t>j-T*LZsiZ$$6tB4->1*b0xZTdtjKCS znP;#88?iZCu`Ro>7YA|(hx2xh;{%++nVic7T*PHu#kKs9pK>#|aW@YzOLoUY%*#S7 z$#Sg3nykZmJfBT@DOkXilCP%h?Y5td?kR$(ok&a-(ToAGj9%}(sW{=A;Ia1`(6eVoi0 ze1gyL1uo_5e4Foc1Ha<8+{vH#8;=MYR>JSMqgar|c^pq*b)LdAc`h6C5?;Y}?8@G} zmN#+)@8CUrkW={>pX9S#%vbpa-{D96j9>G6?%~fo%Uay0E@8< zE3z6-<{50jMr_VjY|Ad}#ep2c;k=#W_yDJHCg*Yi7jYR^aVHPa|Pezd;FMRa0_?v zNB+WWdE?vBkvy73S(+7Cm9<%y=dd9!W=pnVXZGX(-oRlT&9S_n5A#vZ;e5WxSGbaE z_yIR^6Tjmw?q|$+NZFZ($FKy;@kXeI{n&JK^7xS|SOR+qwuoh3}*}Ra=csZ|TC-z`}Ue8-N zig)uqPUZ|g!Dsjam-2PK&G)&1U-4V+CUK9>)_{ou}|jp3BC(gjcW~ zyRtX0<&7M{J9rNt&F5 z?2E$fCLE!UdU#=oL93Gd$2#R z=Pew?yLlfca|WN_Gkk$d`8wa```o~<_$_zxC;rAGipIC6qgar|c^pq*b)LdAc`h6C z5?;Y}?8@G}mN#+)@8CUrkW={>pX9S#%vbpa-{D96j9>G6?%~fo%=FJ?*J2{>c`3N89JU-8txq@%< zJ$}qDxP?3TBY$DGlJR;vl1H;BOS1y2vNr4T95&>|Y{@q4%$^*;8#s)kIhObHVLr+^ zoX;2e3RiLsKj21g;&S z!+ZGuiH{8y>Jjkr2;`Nk^`B{XeSe{i_i>LE!UdU#=oL93G zd$2#R=Pew?yLlfca|WMaaQQG}zZx_nW*D4KWEkvLGCYnausToSnLL+`c?qvzJ9cGo zSvMnp&LE!UdU#=oL93Gd$2#R z=Pew?yLlfca|WN_Gkk$d`8wa```o~<_$_zxC;rAG^oNS>8~#@rM=ToW@E-H`AgA&% zKFMf&!^O(4@(sSjj~I<>__gx)+{2%FnEqW+Ke2qug?TKGXJtnH!%kDK&kJ}FFXL70 z$ZOb-*KsIs<6WG+{FIxyjk|e(S@eI(!MrTQk}Stc ztjRj8$Me~gm$EfGusi#5FmL8a-pTQt$Vd1%=ka;I%tOD=qW$x~+Wt1#d?tJTA3gtn z)%&Kur{drLm)Ot$|BiQ={+^20lFwE_;*j{mF4!vi);#`6uH%IcP4+uq>nYk!s4d8J#!RS3aLj7`2nMQf|XeyoP-_ zh&OULM>9H)o}fID)A$(Yaz3N;=_Sf5n5-VQhW*Zi7c=^u2YrWIg#D|7#+;1yqu?Yz z<2W&Ry@}s@;0G>C$OHn`=Au>))++uUOT7y~Bv`pVz2bBPe$2@q65$e%%Ii`oEv**Qs5{ z_%j_lwIA4}O}Ad1dk624@wi?4_We3toA_#v-W_^$>pviP>oBdTe(id7>GXd+)vs5V z|0k?xyAJ(=%zym59^HBc^AgVy%xtV`hu%GVcIp)@;U6)b`?c#C1l4ceq-whX1NwDq zKX5?!PF?!-9@rA zxNtj6mak<(+)XLsIwr*3oFXo)f@uDRricsYJ&L;}MO@hS6vYio5jQ>|F8sVDTi&S& zaU)X1%}I#6HAURQgt(C@;+7}G-IgM5Z9-hQ?8%lRY%`1MCETwhi`$YAcYBJsJqdAl zq=<_J+h_E?V^YNBPKdiRMO=}DxVuusg`b1yeZ&1{vgHkbGa!l^nzueQ&YqpOo*G7A}&YJRvG1cBt=}ogt+M`;z}pP%}5a!wh2e?`)G=|@VD`zxS1*9 z!Z8k_xbXNU+4^Xf5H~ADT*nH z-f(P&DBqJQ;$|eoJ(VJEUP9cw6mg3a;+{?sw=y9vysndMIl?yhXgR{;)nsv>C&VpC z5f_dr5#@U}MchvbanGfQ%a-+ze9xzd%a;%rezzxEjuHuR;cY#{hzoy1 zF^XH1A}$;YBZ^y`BCc^l+)F9qS|-H3oFcAcLR@(Mk!*SUB*ZOE5f@(bh?e7(6mj9b z@=@Hf6mjDd;$BS=H#H${d5X9>32`e@#4SvSdo4xW@`Sk8Q^bYWYNF*`nIbN{$3Kc& zl_G9SLfjiE;`SuOtxgdauK4JE-%JsgJ0b3^6mdlo;==2~K{4a+(DR<~8dLPXYf{98 zV-rMi;jwhGe03Az-boR6K|8i5w{>A?voU8OB3S4bD*G@@ptI<61E{l%eyf} zTsRg)6!&RDT=C#>aEKNQnou&PP2n3QOu^Sq##AQwe;5~hd@`m(+Ah{vYND|5`9wj)Os5^^A!4|DxQ@f@03#uU`D= z*qEI;!rRO;+9SFLhH>HicM1Ly=Pw-V;&0{a5X2?so0O2RNAOyd?>hMcGN#r+zK^1X z44w(!E1U)fe~J0#1o=J>UJTFAdIhgV`ECs!NB<^x7^@Y`bfJVNqKDx*Q1m#AYZxRC zk8h$WdM!McOMKrkyK`hLZ}`4_gV&<>4UZY4e-q{i??F$jm*}A=EXo(|yP|&+Jd8C8@?9Lh zXo_A7_rZzz_5}H61siRcZ&2{s|C7(Unv^G4Z`q@4f4tZ4`J%XeIbwZ+_YU)g>poe& z@E(ltcf_M9dU$BQ+=u0iEeu`^^WBgl-;af3vE!m-fyweM&zdu%9W=}rwVQ?8{qOZ> zIl_Ag?#e{IZ9%@NL0p(GYB&2^`DO0G1+p)+RArJV6yt#7v#$tEo2ZEJv_Aj zwgvgZHj{AvhNsAPplB=>?gyeNS-uiSP^CYB&2^`MwPDh3A#glx+S+1o=J+g2MS5 z7np4Qjw>0A?;h+oqA6Lv*13Z1FGv#R3-`6j@|{^G7P~3>5)0yza)`$I7_??k#{(1&G`>OU0VajCrYL(6zn`L``Fh#zJ!54e$ zqryz_DOtV^$K{L-&KqCei9u+x`P&z4%p1ZNP08}LsF^c1FZd1)>u+)pn=IdZ4Pvn$ z!!HU`vV7Ts!DdDs8P7K*h)tGnRnu6kQYO~Nm~(Q*h6e8&&fl~Y`Sx5Ei?zwb^5zZ( zy{T?_r>Dqw$(6C#)s{6R+49zH9;}bx^>F?k4NSJYPY3zJ@qD5wS-u59zOJ^v$5P~* z-7(m|WMca(aaGRPSli#@De}G6ITouOe2$_i+5F9E6D)7A9O3eY$3V%J_vfCOtG{wx z|ERyYDe|@I6^qr(#QtDXkS`oBE1bV@|CVh2?idh@h3EXylx%r7^v)S;79dblDOtW5!-D-)fq1@WgV<#G&I)#p z4Kp!+%O?b%5A*kYihQG|#bPgJVtwqHo-_7?_3=WAeCN!H#lri+qAA((Zh9g(9x4@I z-bE?$4Sh8htDA6wlq_F^V9=>%!LeeveqTzFZ}Er0xl$&!m+@cbjD_PZhWVDH$agR} zIUW)%Y+$na8}s!a$CIz5$T#?tSZr!0@>LE7(OMhCh4U9wQPSMY(mIe7*W+Gp? zZ*#`_$hSI0zG6Y+LjBBaFG0S1_AhUx$am!z!TC`p=5IzYI9l*g%2?htDe`R$@{JDa zB$}d!ZwF6=U-R{Rw=~`ne13x$!}@zCcs|+wrSn&@*up4TV6uF5cLw=_*Ta18rO0>e zrc7?nyZ+do-%pY6W?M%+VA*Jam0* z3i7QCUJUbnks{wi-^4Q7ul_9GoZuif{8|n31)FTr<((bm3wBw*PeFLbbm;so4)T=_ zUJUaERg^T}$Y7%i+bp9gdU$BQ4f}%QUHO7pNSbf<*39K=z5kDV!9Piw@9l3hmv6&? zKk|K-BHymy#mp>k>!9H*THfzdQ zuFU0|lkJau`%~nr7*s}P=5O8Mf8_f)MZR2nGMDe*5r5?SB}Kk%LB12Cl@P>54-ftP zmdlYVHp=?=Ek(XUKPDtecz9^OIXQF1n#mXbj%u>?TPRpr!7TnhC7Zv4!QiO%gNV3-^DAr^r|I;2+l-!ko$SZO9iaZ}57UFMEo7t%7{_ zWa9X$axe&NbbOUFMZWKXl{K$aw6w|RukJCy@|KIw-;pWuO)Qlq*7J{a$(OfIuHV}a z!uwm3t&bd~vt;V~t;K1<@~XeQDe@J`WWJ6G`SPd8S24&JG~xd~1)&+!q1*F-AYYN- zm2mxrzyF(TdC$ybzA*{;j!BWPMJDsjNXQrd{!Oy^>z>Jcixct{O_6VCCiAUJ$X7f? zzWXwnZ(BmXk}2}d$z;B4!63@f`VBq;N$YP}Ci9g@$X6yszK=4QuU107vMKUy&t$&F z3Hid`M@qK6WD90KGoO!+3Hd6d$X6_r`GzFqJ0V5B>Y2qCR^S;LB7Gk>*4;ic8Yu_1shY?M=_d`zO ze1n3GDKqQ$U~r*5TEAx{&S-z}Lczv=}~lqU|{xqa!#x>l39Yy(&kna#RQmUe1_86E@3O;~;Kq!C36V;Dsn(z91%i i&xFIh*oNT86P^s(y`w40m;aEs*1`OR`>AM(9{wLr_~T#z literal 0 HcmV?d00001 diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_usart_sync.d b/oracle_d21_edition/gcc/hal/src/hal_usart_sync.d similarity index 95% rename from software/firmware/oracle_d21_edition/gcc/hal/src/hal_usart_sync.d rename to oracle_d21_edition/gcc/hal/src/hal_usart_sync.d index 4e75b7f..22f6c23 100644 --- a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_usart_sync.d +++ b/oracle_d21_edition/gcc/hal/src/hal_usart_sync.d @@ -1,15 +1,15 @@ hal/src/hal_usart_sync.d hal/src/hal_usart_sync.o: \ ../hal/src/hal_usart_sync.c ../hal/include/hal_usart_sync.h \ ../hal/include/hal_io.h ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stddef.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdint.h \ /usr/arm-none-eabi/include/stdint.h \ /usr/arm-none-eabi/include/machine/_default_types.h \ /usr/arm-none-eabi/include/sys/features.h \ /usr/arm-none-eabi/include/_newlib_version.h \ /usr/arm-none-eabi/include/sys/_intsup.h \ /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdbool.h \ ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ ../CMSIS/Core/Include/cmsis_version.h \ @@ -65,15 +65,15 @@ hal/src/hal_usart_sync.d hal/src/hal_usart_sync.o: \ ../hal/include/hal_usart_sync.h: ../hal/include/hal_io.h: ../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: +/usr/lib/gcc/arm-none-eabi/12/include/stddef.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdint.h: /usr/arm-none-eabi/include/stdint.h: /usr/arm-none-eabi/include/machine/_default_types.h: /usr/arm-none-eabi/include/sys/features.h: /usr/arm-none-eabi/include/_newlib_version.h: /usr/arm-none-eabi/include/sys/_intsup.h: /usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdbool.h: ../hal/utils/include/parts.h: ../samd21a/include/samd21.h: ../samd21a/include/samd21j18a.h: diff --git a/oracle_d21_edition/gcc/hal/src/hal_usart_sync.o b/oracle_d21_edition/gcc/hal/src/hal_usart_sync.o new file mode 100644 index 0000000000000000000000000000000000000000..d73e8783d7d2caf5dbc074f858e48737902fbcee GIT binary patch literal 704848 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 P`C4~-j-I8(!TJ6J)yj8C literal 0 HcmV?d00001 diff --git a/software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_assert.d b/oracle_d21_edition/gcc/hal/utils/src/utils_assert.d similarity index 95% rename from software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_assert.d rename to oracle_d21_edition/gcc/hal/utils/src/utils_assert.d index 5e44aab..f6f21b3 100644 --- a/software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_assert.d +++ b/oracle_d21_edition/gcc/hal/utils/src/utils_assert.d @@ -1,15 +1,15 @@ hal/utils/src/utils_assert.d hal/utils/src/utils_assert.o: \ ../hal/utils/src/utils_assert.c ../hal/utils/include/utils_assert.h \ ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stddef.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdint.h \ /usr/arm-none-eabi/include/stdint.h \ /usr/arm-none-eabi/include/machine/_default_types.h \ /usr/arm-none-eabi/include/sys/features.h \ /usr/arm-none-eabi/include/_newlib_version.h \ /usr/arm-none-eabi/include/sys/_intsup.h \ /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdbool.h \ ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ ../CMSIS/Core/Include/cmsis_version.h \ @@ -62,15 +62,15 @@ hal/utils/src/utils_assert.d hal/utils/src/utils_assert.o: \ ../hal/utils/include/err_codes.h ../hal/utils/include/utils_assert.h: ../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: +/usr/lib/gcc/arm-none-eabi/12/include/stddef.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdint.h: /usr/arm-none-eabi/include/stdint.h: /usr/arm-none-eabi/include/machine/_default_types.h: /usr/arm-none-eabi/include/sys/features.h: /usr/arm-none-eabi/include/_newlib_version.h: /usr/arm-none-eabi/include/sys/_intsup.h: /usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdbool.h: ../hal/utils/include/parts.h: ../samd21a/include/samd21.h: ../samd21a/include/samd21j18a.h: diff --git a/oracle_d21_edition/gcc/hal/utils/src/utils_assert.o b/oracle_d21_edition/gcc/hal/utils/src/utils_assert.o new file mode 100644 index 0000000000000000000000000000000000000000..3499c5b46959e8f324b47fbd8c9688f026858ab1 GIT binary patch literal 685996 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%0D-blIy6<#-vJtggCn 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 fbuTt^Q;yj9ATFAse8(ITS2w~Q#_4!G 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
    ;Wo7^N@!&J~C2 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�pFLmqT$>h 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
    qjO`mE-lA%UrH@VNCNZXS2B}Naa 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�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 aBEgfUDBlr5IWcZ-uza^fGlO~2!~X{)EJm9E literal 0 HcmV?d00001 diff --git a/software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.d b/oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.d similarity index 93% rename from software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.d rename to oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.d index eac24a2..68fee18 100644 --- a/software/firmware/oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.d +++ b/oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.d @@ -7,13 +7,16 @@ hal/utils/src/utils_syscalls.d hal/utils/src/utils_syscalls.o: \ /usr/arm-none-eabi/include/sys/features.h \ /usr/arm-none-eabi/include/sys/cdefs.h \ /usr/arm-none-eabi/include/machine/_default_types.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdarg.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stddef.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdarg.h \ /usr/arm-none-eabi/include/sys/reent.h \ /usr/arm-none-eabi/include/_ansi.h \ /usr/arm-none-eabi/include/sys/_types.h \ /usr/arm-none-eabi/include/machine/_types.h \ /usr/arm-none-eabi/include/sys/lock.h \ + /usr/arm-none-eabi/include/sys/stdio.h \ + /usr/arm-none-eabi/include/ssp/stdio.h \ + /usr/arm-none-eabi/include/ssp/ssp.h \ /usr/arm-none-eabi/include/sys/types.h \ /usr/arm-none-eabi/include/sys/_stdint.h \ /usr/arm-none-eabi/include/machine/endian.h \ @@ -26,9 +29,6 @@ hal/utils/src/utils_syscalls.d hal/utils/src/utils_syscalls.o: \ /usr/arm-none-eabi/include/sys/_pthreadtypes.h \ /usr/arm-none-eabi/include/sys/sched.h \ /usr/arm-none-eabi/include/machine/types.h \ - /usr/arm-none-eabi/include/sys/stdio.h \ - /usr/arm-none-eabi/include/ssp/stdio.h \ - /usr/arm-none-eabi/include/ssp/ssp.h \ /usr/arm-none-eabi/include/sys/stat.h /usr/arm-none-eabi/include/time.h \ /usr/arm-none-eabi/include/machine/time.h \ /usr/arm-none-eabi/include/sys/_locale.h @@ -41,13 +41,16 @@ hal/utils/src/utils_syscalls.d hal/utils/src/utils_syscalls.o: \ /usr/arm-none-eabi/include/sys/features.h: /usr/arm-none-eabi/include/sys/cdefs.h: /usr/arm-none-eabi/include/machine/_default_types.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdarg.h: +/usr/lib/gcc/arm-none-eabi/12/include/stddef.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdarg.h: /usr/arm-none-eabi/include/sys/reent.h: /usr/arm-none-eabi/include/_ansi.h: /usr/arm-none-eabi/include/sys/_types.h: /usr/arm-none-eabi/include/machine/_types.h: /usr/arm-none-eabi/include/sys/lock.h: +/usr/arm-none-eabi/include/sys/stdio.h: +/usr/arm-none-eabi/include/ssp/stdio.h: +/usr/arm-none-eabi/include/ssp/ssp.h: /usr/arm-none-eabi/include/sys/types.h: /usr/arm-none-eabi/include/sys/_stdint.h: /usr/arm-none-eabi/include/machine/endian.h: @@ -60,9 +63,6 @@ hal/utils/src/utils_syscalls.d hal/utils/src/utils_syscalls.o: \ /usr/arm-none-eabi/include/sys/_pthreadtypes.h: /usr/arm-none-eabi/include/sys/sched.h: /usr/arm-none-eabi/include/machine/types.h: -/usr/arm-none-eabi/include/sys/stdio.h: -/usr/arm-none-eabi/include/ssp/stdio.h: -/usr/arm-none-eabi/include/ssp/ssp.h: /usr/arm-none-eabi/include/sys/stat.h: /usr/arm-none-eabi/include/time.h: /usr/arm-none-eabi/include/machine/time.h: diff --git a/oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.o b/oracle_d21_edition/gcc/hal/utils/src/utils_syscalls.o new file mode 100644 index 0000000000000000000000000000000000000000..54c6b9af8d241af8f4c5063835bce559aa2023ea GIT binary patch literal 61220 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 P^fEZ&n|@Q?(|`Uyp~ze1 literal 0 HcmV?d00001 diff --git a/software/firmware/oracle_d21_edition/gcc/hpl/core/hpl_init.d b/oracle_d21_edition/gcc/hpl/core/hpl_init.d similarity index 95% rename from software/firmware/oracle_d21_edition/gcc/hpl/core/hpl_init.d rename to oracle_d21_edition/gcc/hpl/core/hpl_init.d index f752cfd..409a92f 100644 --- a/software/firmware/oracle_d21_edition/gcc/hpl/core/hpl_init.d +++ b/oracle_d21_edition/gcc/hpl/core/hpl_init.d @@ -1,14 +1,14 @@ hpl/core/hpl_init.d hpl/core/hpl_init.o: ../hpl/core/hpl_init.c \ ../hal/include/hpl_gpio.h ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stddef.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdint.h \ /usr/arm-none-eabi/include/stdint.h \ /usr/arm-none-eabi/include/machine/_default_types.h \ /usr/arm-none-eabi/include/sys/features.h \ /usr/arm-none-eabi/include/_newlib_version.h \ /usr/arm-none-eabi/include/sys/_intsup.h \ /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ + /usr/lib/gcc/arm-none-eabi/12/include/stdbool.h \ ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ ../CMSIS/Core/Include/cmsis_version.h \ @@ -66,15 +66,15 @@ hpl/core/hpl_init.d hpl/core/hpl_init.o: ../hpl/core/hpl_init.c \ ../config/hpl_dmac_config.h ../hal/include/hpl_gpio.h: ../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: +/usr/lib/gcc/arm-none-eabi/12/include/stddef.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdint.h: /usr/arm-none-eabi/include/stdint.h: /usr/arm-none-eabi/include/machine/_default_types.h: /usr/arm-none-eabi/include/sys/features.h: /usr/arm-none-eabi/include/_newlib_version.h: /usr/arm-none-eabi/include/sys/_intsup.h: /usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: +/usr/lib/gcc/arm-none-eabi/12/include/stdbool.h: ../hal/utils/include/parts.h: ../samd21a/include/samd21.h: ../samd21a/include/samd21j18a.h: diff --git a/oracle_d21_edition/gcc/hpl/core/hpl_init.o b/oracle_d21_edition/gcc/hpl/core/hpl_init.o new file mode 100644 index 0000000000000000000000000000000000000000..54400a3034f36ef2d60622b61240a5c3bb020472 GIT binary patch literal 701136 zcmY(r1zc6n^FMrNch9|ccVM7mcVTyTcXxLOErMbPppv2zDj*>iAcA5CVi5+YC^jnQ z^Bz2(-~apg(lZ^Wc4ueLbz}E_J&4Hg-ybs6HvB)zV0f^;0E@Kdc?z`+Lup8!_G-{; z@Q-!Z;@>(QUk|uJ$2S66>9{qZjgH#_+UdAGpo5NY0(8{z&45li?hLp^$F~By==e6k z?K-{#aHo#%0^F_RdjR+9_&&h>I_?VSrsM8_2Xy=(;2|CN0QA&xFFv;_#_9Maz<3=`0KBZ@R{#@r{3_rz9ls8EL&t9d-qP{gfOmBK zF5o>KPXfHJ*zbo?RUBOQMX_(aE308@254KQ8Dp8`J9@#laqbUXtvQ^#KdzS8m6 zfLS{J2Jo$pX9K>|@%Mlqbo?XWCmsI`_(jKa0Ke+^H^A>Yo(uRx$A1F;((&Jbe{}pW zAip5^Yv7kg=(q$_I<5g4b=(A)Psj5E7SQp6fQ59tFklfKFA7*p$BP4&(D9OhrF6VB zU>O}R3s_Fa%L7)>@rrv$c&x;kDD zu)dBr0Boq^jQ|_#coV>;I^GPhxsJC0Y^md|09)(0C14vJZwuH?$J+yT(D9Cdopii2 zU>6Wa!Md^?(1wXc!<3 zq?lKFX%my7Q2X)9;55l-sQABXz{@CY_JU;wqcZL2#rNHqb=PPR6&Dx`vR=8qP%u)y z!cWOy6xzTFki6|;G)T+x(^(=+RvQ&ewd?O7vE4%kIk5ajmMD|MOkptQ)8k=FEcdJ_}SH#OrL3JT8QNaQ8^l?(@f?)53FZWla8^!AtQ$xrtoN}NZvf8 z8KxD<8yZbA)KM6w=Mf^GJYzU||J3yYpyZ`I(-v4uW`!svu3w>W(%_uue)*XJWk28KC*$J_piC(@1$aDCr1V0UU z$~eQ<{|L@7vw+kczR?o@bNE(wm|=la&X(+iSkEMWEe0q!Xh?s2-!s_f7%2BV~Zdi?nO+ySro`K&b3aC;2-`LvAm z?*S_O+d|=7I5M$f5oJa)5=fz>1!Sl~eEZ563?)@%ddRlyry6NqjI*EW^zRN9{(eas z%!w`Y6pM%^Bn^1a3lYYfrg_N~gCEhDs)3v5rx|Il|MS!QzkG((k_L=q(8*IQQlm5F ze-28e|2AS+8iyyupw9h}hOT4+E>tG?-RLfGrMh{U4Bg2bmnNTzJ5Cs`mH{uM5}@Cc zp2M`TvYf9lbX@|!n7R#qZ{mrtxGHi+8TwEeBveX02EQ-y1Xx;i^)VRw(E;$wsSNP@ z6HhP|6kneK^aA`!iqCN%;R!KRH55+6Br=GafDoNZ;$T^VFJie6jOF zQLAM}!?2=5g2~XfXcR7ArwU!3Ndq-Eva~V&(ShyIuE+=eBMRX_EyXm@rTlRy0-AZH z@PZpE04axmhGNVr2Tn0ua6<`3N&(@(m00NqGOJ93L_SQqW)W>QgYcwMG7{n{vsN`+kRTuddYV8MT)YLehGU)lf1$j^-Y{~2rl zViu^Cmr23@*aa=C73p2_U+hBv6Z`*|h4XSol1NB$)!>tL&}SvcUd_)M=P)8oo0pqzpOZwFm@`p zCQqYcWolA#2t{@&IK1qrf};zL%sZJ%z35-wm3tdRxea(a%oTPcs%U&e z^dxZKLGoSIuW+@ZxIKKKs@K9}V5otA8o!+QBM7H}n5U z@e}>uA2T5T`N1>AYCxP*{=!-T_dUWO3rWpbrZGx^d_}Y}_uJuQDi!^w_Pu8!XrN=R zqM?qtiAFl+E*k6D0fCy2Z?`-sn(Ejg(M-oYL~|YU6fJbjOSIH6Z_!G}d_-#<^A(ml zc38C0F+b5($Bu}0I(AgF*Rf-wgO2%&jye_~I_X%T=&WNwqKl3l7hQGigy^PYCq;K1 z3l=?eEJXCwu~5-V$4-gfIu<7S=vcVut78$OpN>U}{yKJA4A8MCF;K_Oh(S7bRt)}! zng+Xid01G{ZaSMN|W)P0$F#KqS7gP9XwgsyO!;0(7zk|+$ zW~g6@IbJAYpkIvfl7skocM` zZ&=6m1|Plg&T594ek}byjrDhJU`|o2bTva5){mMY2dj9^(5naQU+m7feRuXVx+O<% z?1K|B9Ny2Isd0QPbBr|~;Z|#ge0v$+W6qlSs`AkympNDGux8Phe2m}8ncqP%t{E;} zWu3M?8DDJ6(YKXio$S5LA2F6S-;87rt@m@>F2`BZcRJ%cu?p7=oqDr0KUTz=VNu>W zI&5XzsC=A{g&#{pMzWu6@A(-2mo>wyG2ikO$C}fO`ALz?2}FUY8Q$+>y#FEAEZc{V zMPD+<`Y7vP$2*}J+@>&o(VuPiUFV32#TmaH$j558IM0N(V^})#DrZ&Ki=!Wy z%g17PR5incaeTC$#>bcK*eY=+dv->7isu27qh?s&hxIG?vh*10O3l!!CrfLhq=bLe zTzEe7uFu_3EFHasy;-$lKhXsl|ImvyBl7N1M|aj)Uy=E4UhK!&p7A#ctY2~{b5_q{ zpFW;!HBaNXf8Q|fk17{uo%f7AFV0rIo-+Ss8vAsdz?`E^*>+Gm;{!1w;O;D7{5|Fo z%`mGid;6Wozq^Gs2cuh}89cY~@#RB4#+W#hK6!WN0p=^*BU|=h;lq3_?@qZ4<%sPs zvNyA(tP>E#-bTi=W*j;(n&It0=B&jy#bpRm7q3I;%yhnYm8E({P&5nQhxFCu7tMl^zm3PM%=H>A25!+6?$H(3^Ik$~@&)ZeW z9v1!PV|Fy>R#35@=Tlj;au3GCsxrT2-aTrXH%bI!p@M6*kgej~`53aEGry+T^W#6P z|J{R+R#+NohW&M!pLUjy73Z?;uTh-m@g96GW#%wHA3AlK!5n3fW@wPbR(sd6&$>TY zI#y%cb3Wr!X5}4kv!+W8KF(ai*^V5-N4c3bV-~YcQV;fXW)DZ~euDAkinA@^&YbyA znd6+7r)daty5!xd^?z7r5SGiD;c4E;_5^hT-oZhv|LqYU1NL*aPI;s5g&>X&yIO zCpk)u1kSBtvAnZx%(hqjSo%62>t9lQE0NVv!P zS4*;56bZvu82q))-x6MCr^NRfez3 zh-U1$L4H2YI?ww1(4jOMR@gGfrwntp{o>av!7cA3mRUsUFE zsnVY_FY%u5W(uwqfI+i}^@CpRXWo$29gJRwW=9Jj;*!`?on*)zD5(?-Hc{7S0FJa2 z7gO6z%csMm6Ezh8&Qv@VvMrR+38`OAxc~h=4q<-9L}PsLrG9)=-m$ZJWDA> zz&uC&HiCJctj@yj0w5{SKZieO}Ryl#%Ci)&l zpzUHR);8J>QF{=g?-a@1;B%LF9tCQ*_&f#%dqi7w-L$>pDynU5pGbWUmHonp#}ikv z^&oO_6P2;nG9D4tWAKQk2+uXR>)T}D2n5^Mp7X z2$c(BUR~J5i!}xGY>KA!2fxBjS9qEI zG>Ardjq}DOx8SvCQVf&7v1#4U2;D3KFPYXnZ5Qws=ea;@+2JwHrBx+<-CH+X3(uAp z^5NL#bOe&itJ7Te5JJdF!)9;1%jH?Xo37M~S;nDlB%)zvz z1xpt*XokpZykv-x&l^D{Ru0GFEbl?8e190uv|80gFsU`R5&~LG`U$(Hf2ZiLZP2bFb>8q$ovb8GN@Gyucez&O+>2YxO&EJ=4h8 z1DvL5H^FIP{0h8v5q?J6?wta>!?fi%c0My4e!G2SPQNKnfDe1(1)XsLj^IoS8mj4ZG*GwJ5*~s#Xi;nUp&h)JuBLh2U#?+Zj|AZ7m7ePg=+0@GqK&W02RLzXM**x-zQ3a`eH z{Sr@J!Py_-!js-#;e#PuvzEKL2DXv?4FLA?rw8iRQAba1@rxK-a;_l5oiJOc*E$P{P>$tO9` zJTCX3?9@)mV>bbUWv4b^hRX0)&^#r#e?o)^nTU;CEmBV4K{ZNl;Me4gT*AZfIVrk< zIxim$M4mD7=VX}2$`ZWPij#$~ZK++76Y9XrWtquC$`#o&49utU(S2w>lSN*@?u9(a zBTI%18VF}EW%Zh1zLI-+K+cl+<{{7<`DzNlI~mFa)O+d5GukIvoL8)$W%agj_Eq-a zmC83+23y}+uDrb!;D=n)9ASUS$HidqTh2TS@L45bGf4ZXTzSdks14%|&Sq_73&@-_ zvuprotwa|vw`zXfk&=rR!(-((ZPa-94AXjZ`5dlosSnKvP4VOuseMEfNjt5%wuWYu zHe&_Cp3#~;@bHNbj-aAey6J5h|qcACV1%bDICYHwYtDh zx9iw6)kZ8%f^_7CX5fz=)BrxmTrCaTu?zMg%D661a2%hWf#ZY;?{J)0`Y>!KjYTP= zt=-ZP`s>Viy}aQfuT?iXaUo_!E)(F+np)Qb&xWG2BJ7Hr-gAYR8o|@pB4OHOP z1;E@yZhT1{X#!uw&7{zoLy;7V1eM12KPGVdJunES z&Qn2!(9iQw38m9qwVtAPSdeI8lz#`z!)YWIN7^-V7zye+o#&IjN$po7&s($`8w1*H zvdl(GcgSNusJj%f2F~u$-Dj{%q6HpE@ID>B1ZFbbngPuRv=I$#?IC%gr>;FBj}Op% zOm9lS^+&>P3f>HQ@C3A`ml(*^hqnmgk}#W)`Wi4*6ImlC3t!SHMD>s~qqny(McAMoUG}SdH zX*&%D&eFdW%#X1=6)YdHU5LE37a&yjZoQ2EM+=+^iOU5FJNNHvcmD6$#KkQM` ziR#EYS1uGT$eoh_qGk7BM2L~axh)ziyK;N}qTJOAAWrtg zIs)^}32ybo%k~LymLN->mrE%}0HnA>uZAHW@%YXxvuRzYQ?-ILS!JxY?hy#?1khEN!{f`9K!) zgyut;#A~icas;np9?J@Rwohd1N}y8Y0$b#nDnC3$^fYw}5oqq?$O6Z+r?KCOB|b6Mv$U zrcKIj0DQrYli)ABxB^)%p57OnCBt|}V`<~>@Utv>IXo|4q3Y@hmHQ{GngPOqChhwFnZP-v29yXq{hm{pgaYnk4!5=i0(WxWQtNgltTd5bK$KXaQ3T?M#9TW!F+OQnw>iF@Sm0?Z`x?F?u4Y0O2~ zCDWRFPn2%}Lbl5$iTiot{O@`~R%c9k`uzO25eY`*9!A)hf zr20bhJz5`NexNyZ!Td-b{HlDSlM}%FOxHGp`GvA9VV*YeFDDarF~qN5sq*U>?Pa9L!^4YJM>N#o{Gk28i0Vzzh_H{1G8YoaOb| zagpyT5Hi8*0T4cdILcHWR zBvROI0`s)c{Gk~omfnQyjELoZfU{yNug}hjz|n|sUhFr4x*)a|M4)I9!L9iiQQ;K4 z#EQARBEKjCIzc5)G~s6ECDFSmnDJuZ7#Jjo@q1u!Srn`a*H^?*o~jbX8%vm96(d^0 z;F_471oP{{cpU~eL^&=QZi-il0JlVkP#D}674Jgjj=)5Vr$;1qg3o(m89%#8BAwea z_r;aDIHP2ddKv}~1e$kvdc=&W@cBqYW`lYxe(}WhL{#h!kRoF8!#q{=;nPeLW?Xxv z3r8M(pNiZ`FnA{Ba=HCnbZZ0V3vsI<3^Ifn?|o&8md6n9r6~Um%vYj=4Sc>98N9B` z5|=i^;Egcjsraq1egZGqqG)L_-wFS-V7?c21Hk+s26TeKN3p0hs83=MHX5|gqRJA0 zFXCnlWI5s$HmEy7-C)MM(kPzOk1F>|wrFjtz&;eewW5 zb*{26Poi$JNi{ItSvQuh0 z_qD@RAU}~2s%=B4M5;+#51dw(Rsd0|G*7AtDvI~`E~_|xq!LxeDa5;~)*J`8rfN@u z&+BSzYiK@F-M51ISas|SgA`>v4Q8sk&G#WqRfvTwU8V8E_f9?9#Meay&w=?zRh{$v zq*~5}?6ZpGvEYk3z!i9o%E|=zs+_nD_)TH#z;)4H;3FW-UMsK<%uQPVnP56<+DpXS ztjYU48sl%3z(_c<(74%L`}A_SX_dhfbn7qNNNZy;8^^Xq*1%J{^E}G7FZ&Eu9Y%2< zw_|O-5}j(LBIzNM@EMIZbZ~k28UBpl*%7&jp^ePo+d1ms2jHU}d4p(7${M6F_DxlA z#wBuddHk;pz$dKc7R>u?#vh z?V3V5tKLOOSGYF;XXSNXFRf1513zo7bK$wR8CL@9wp@qK`V?D4-$K5;wBAai`E}h! zcHD5=PBah99dxZIRCdy!mSFCp)^$Mbrm1Hj+e67S5yF=q^n~BTRMQW#Bb36g`B4hx z&g3!LVF${e3UQ+@fSON-mq0Sxh2TM$H6c4opPR$WIV#Mb6kMSGyv~cJXub+D)Dgdu zK>aXuB&dtjWj=xr9mf!u1wf$lEzCRD_GaZB&jwciB$$&4Fk1XEdBWC;wV7ctPhg5g~(I+kwiY->#ru zQtW+zS2Ue3&TAUY_aKX6@r@rkeIu*^-cpBX_{^qx8z6f}XW8|8n$i`nKTz6UfRA{W z;N=r}`NQ>RTI&M4FI2J&Kn`9F7KF=v`J0|O@3Gox)fVh?bF9*f7F}MpSh#l31!@e@7+p>jkl-hv7h%TK`IlxXkwsD6qUD$U5^;B4Y zfzM~+@^^se!mTmD3vrC6;S5p74j@;g@gnMnXvlN=FA=^P&VCEauSnvLxU~}of5mz( z&8%ddVUStNT}fctNZ-i-w(?pPc(IdRePM1dU912cWcl0B+$7z256V&YS&ImpWvyIz zagyFV^*PJZeL)?ONB9G}qjJzLc=4BCO`rngv_o(mD2MSl5+rx;1$A6LtPX<{(v_#T zlk%$_A_U8n1E4}=Y)b?Rl@*SFIwcbiB0`v)-~}pNuIL01fp!x>qzvGzbXq>227@SB zax^kKBLlc`b5=gNgb3$kL+%z}_uxL57i2oO&ZA}8I51d?u&egXRlaE(%nJoIe;KQ@%0-^QF9#jpSd+_4nZVwOoB0%q*GG z2Jzm={+!EO`ECf9+0yqJ?B2%Arg6xa@ z#IJ9T^y5k8t4!e9;hRk3@#VXWehVsBcIAfh5BawSy!@0e_{#s1RU83+OF!Pv{38=O z!pmQo9fe%n)n)wTMLVGU_)Ee=>hnTS9_sZ>7AXOdT?r6tV zo!>~}ggV0Ka8gxF1v6L~JmDooRpupss4DFZFQ-%sPpE{c$;;s-T)p8{bA)=#!$qWO z%Udm{)v4w%zpWCv48Eh>uEX^`6*UQ(N$TcOnBP~G;=xQ-J9x%_pk8nT=Ap_ygb0t+ zSiY=}Rrzu7`9wYB-P;uPF$*A7eO-$PY08r4_;gi$B2=EL@_a_m)K{=Bo8c2j#BSi~w~&8&Va44r)&d z!r38h4>#`vwMG@e4AKgC!siKXo(a@REr&3q#g%+Nl1Lo-t=%bWKvwLf|L ze43>*yu8*5EJWBWZOux=d!wD;mgifoEw{(Awe~Mz_fGTTGXK4{g1;8~psnSJ;iI;q z4OBj9&HZ8US&Qb^{)_gdKbSe%gcyLYTHobx{Y|Uyim>0cO&g$+tL^6H`46r745<9X zCvkB7OLIF6mET%bj{Zmc+Z(dKT1+}*R>o2Ijg)3>G#i0*ZH&Ek0qiiQa_@Mj(f#t3bu*^(x3kBLiD>}-#@r212{g{z z2r9^UXgkc08xI~p^b^JrAL06>v1CawgN@I!!3;5u8wzHO@hh*IV~q{!fr>L$xCHY{ z#xA_>h&QI;t3oZo7_}cNmyMb609TAPd3Bg*tT7L=hsJ@tHS)+fCI@*wF;?V3HN`mp z5X@7Jb&rFYX6(pwf4XrL&rVN`C09V@nXyk1B=OaFb3CYT#sNj4l55UoD4i5+T zX)HMfvR}psZU+7~jt)Tbe~f>*oA=k)rzBiknObmj*V02(q0nIrn9Rc^EEZ)f$Xs9T?-`WXA&`x9Wf>GR^d^TTM(ijGuiX( zxo=u$1CVT5I3He~o5T!&4ATsPW~OQMcxb*ft;pMsFvalA`C{t546?7LihNhTnZELV z<#*HObD(lfi~0Qv%C}>u332haif0g%EgDB7;o3KzL&s9|gi4!cePGt^+&Sp9KOBiD z9g1_+(eX$fNITi{W8OLA1*BcZZ^f~zE3d-3RqF!H;U2td9dU-waFjW(Sw`pV0Y0WK zH{Qk$`Gtt%CQkr9zVs6KnUKt@o{8hRLY`#9b;0CRjy~lv*FdZ45^`HzYa4v7E%*TV zy8c}BtvBRD#0|}Pb-%HaJFKke@p2H>w6+@LHZZnxYJ`RByg0<{({{xn#v2x z02;x&a)Hz{8=65>h1UefsqiSsqUhChXr3Xbok-#wwP*t7dFsw}&IP)&51P>w{R7Nv zG@W}h=(=+$bdy4PLcT@2{E*9S8p~Aymf(kB@PeGU>yb$-coKX`O}QEOimDNquj#c1 z;$_jLv(S7)=7pj1mR4T?$fhYR;pH6-Uju{pZ2arRXxefZ2ygVTLMjQEs`A+8i(aI)Kemy8h@n{YV{xejziI2S@+b)_-gWV31za=tr6ODPD=q>_yL3}{W|H~Iygz=}4$AsBC zWELQn@JCaDV%>Pif<(s<1UfD>?!%lBIm5v`EBq>eIxlu`m3%?mNj>vR{>$_s`HGq4f3a6AL!ud|$7oAVQAX&_u49yo}8jqJ5qD>|E zd@20-!<1LzJ=Z|5#dsIkWr?r0kbM`nmBGvv*$WZqr|4T6x%?8TcVO^ajO3;3AF-lmOio?K4KH>MoT3$a6&FykNj}klN|IC5v`}>)moM*8zKE&1{(Om7%=5woh(5 z4r;$_z|87HsIfyyQM(;WtP<@VK} zus6#^%zfE)0zk4{y$-oNkk>0i_E3iL#Pdi7wZ`>)EHk#i?uop}qsD7F^F2V8jO0LX z<@~GA%$5~~K?QwU7o6>TS)7ZQU$PpvkA6$vSor)a%?E;MrDl7=r?r|p8cZ8?A9wTL z*tX6arWRrNEMBW^&a2~=CHSXJt=#HD-?Ae2LfRO6;n+5eC%|?h2!`#48IgUT!s*DR zZ|E5u``6=9eZX*jF$Xq&3C{RNt${=VPQ%awQ=G1%aXWH|F(44;V z7~;I**Egzf$clxMnNT)?j%Cx2RRgjv!8UjKO+31 z-aNDYrXt*P{X@U&!{9HSE&yO9etE&pS~TT3!A4AZ1Up;tlgkl1F_Om=dohEX2oB;m zgH59Ob^u4wl%Jf zTVY@)dkn{E+Dk89Iy*=cFJ(8$@CoqZC~I@?aI-ua24_yPWKB48maT6<1s`GKx4ZZV zd-PvWF0wf9o^6voY@xYb)?Wg!Lv}U?*eU;VPi~j2d>HX|%VC9Jut&!7PYCwPH2#=i zpZv|uoc)rxTj46taM#aG_Dw)^cln-|_-EwxBZzlaZnz80^YR(*8C{UAc$kWo%}W5p z$VuJc4C8(RR4&RC?gYn4Yc5JJNn=Um5-%%11xS!1`5C+{Yx3Q^A`|!(O_T!y5aFsk z%k83T^7>RTugl5YmA)Yd#sl1x(WhW=OOEE^;kMlF0B}dP?+b&w(v2sPd$OAyTqnss z+=;p`7kEG=SvIc)y9e@3S9p0Sy~aWINM_%H?6F+Vn@3ON0S(bpg{F-v!E>IiYSazpcIxU5 z$n4d5?j<;=;_2|RNj2yVrlb1GbKYi^8Ue~l*&c>ZXSE|8Ubd)vWx?F4Jl=wGQ6pOc zY*V9_0&G{SC&6xqddCgZooco>s9nmL_c3;>8C^i_QD)B&Z?CfP1ckz}9&*{QHaG#e zs_tR1b5lm%zHwKjd5`~qa@q;=gDQbP??0sC3L(0O+QEaPr&`b*l$Yvu9X`F)&eO2- zQSZ67@>SQl7kgMO;+ph8s4F33Vvktd)|sdf#JOPIo|2S2d*!vD=%ReuWWfilb|Y;19e#qZ4cQM6_NqXMCHeW_*E6a zUtU~OAA{iYx>_3#>V_(P19mr6V;)#;sa^be{%zHZ%k?|Tt2fN=sx)qmqy5G`mLzqr zB%Iw>@%bT3R-XLBkq7FMC+r@o4qW^_QeC-re5~xaCVQgBje>cK3jPZ!RaH&}NK=vA zkw{m>{eq_|o!^dUDw{VMpR16~kiAehry*X3ic5t`ruw@Pu3xH=7XepDRvQ=N+ka?#%^CWz#P?e@Y_EWk40`r$j?Et&qYHAT^ z{!u;GgZitgSHL+~X=58e(^}hK8JafQYu>@J)%rO@W~U{N0I=6GheE|c>y(Id*reUX z4$i--FSZV1S$OjfOYPZ1AZ%sL??dY+&N#L)n*g=8o6Ey*yOiR<+po9=KOJs_!0C`F z8^IYmU?n^ZAJ2=X5vg^-89C?(Y)1{^{l?MLxuzO(6~7YG#zwA#&bTGm&D6$s;RkTS zW?pzrEW(Y7N!`uid2;Ja*iPxy8q%rrJHd8Z@%A`QU(X+|&8W;Z(#$to5M@?_G0>S^ zgV)(}8uERfOA8>K*V7vK{OUR2FL=u{^uhv0=r0<)15p;A8V9}=jeQHJ)>P;YC|h!y z2n9QG%rDXC zhG521f&MT^pnzR)eVI=2fN+IUx&tKA94>XQQqzZUc8x;$^sdtZ?gQVT4xHIdYS|Oa zTU7Taz-`jJ;Oq_!Xbop~>FhCpdz8exe@Qe1j{|n7ZFzN_Ox4CC`U7fd2k?+)UIOzG z^(qMS$7IXX!V{|B84*$_vlXaR8qOb$q|w}~aF&jb&2bJ-$%M59b|MS^0rNRo5ma7K zkJ)gRL0%jvlh*QV`;vxnpjY&xKU7{*C3hHPQ96Hm{)V!-YxV29DJq&ychU|R&RuP4qbi-m9ONU1eI^Ja4%%OqIM}z zhsA^saCSs2;O59t@q-JaW8y1cPk&K#4paif&CgH?6h{7(GDzI!g8#U<_71sVOYk?q zNwJ5^|6mav3WE@Fh*vV9A|Jn?r^E*?0K&vN{xURN{AmQu2r<$gAX3y_4%unp(-l;d za7aSfGom1mZD&Q{<^bn}%L;foFGlj7!Ud6956oyWt0_Q?@a~F0v0^_jb1#b7V-O)u zn1{m4C2=wY2JvE37Gw#+ou7%z;^k5Vx+2{8!@)$+ehsLrqKp&3HL;ev2iL`rblBYx z`FFzLrYK_%a7%3EKErJxd28s7c+7L*UE#%L{5`SM4M`-4yF5GKYqS!Gmn^FB^5%g^ zdhf10ViiUZ**wY9qPsI>!dp;Al zdH3PD7|p}Lc4@|ec1T-Z#_y7IHzD2KGJqfNJ#uXe*zJ|oxR~50OZh-$zpPdTDz4IU z7*yP3>S~y~%d@cn2W0poB!5s|;%e}aoWtuc59!buOi!7`EkiFEPzS(UZsK*Dk8FGb zl&=gVP>1Dr27YqW78o3n_40!{Dra;AI3~}RL%IkS!YloRr;7unU&m2LOafd!Cy@WxhzrPRYCbVGt&x%fk!49OL$EgdFn|&LU;w zb6}p9r+I-9B~4W!!?)_Z;yx?C*+6zq2AG3+UUppta6!K359FdH{!?K*L^6y2TZC8{ z%fs$PSvLyN<7B0}0GH&PF}NV{axZsI5~K_F0WQn1@-V+5ofbhQQ7-a@&#Us!e0aGg z>+#faUB+|I@`kL&W9v=XpZ8OK$)OX${4H~R0RGD9+$OhD;oLm3R;d-BX`{4RI0swR zp65b4HM=TOvR5;CT5wQ)-0I(?`ttzcsJ?Jzx>n;OPDk=xa(`%u}TLM|fSPIV&$%w4MZRyfA6T=aSfm z0iWK=X*2A6)S72d@l`J0;q0)o;xWrlT}uRYM4^D@^05TZxX092Uf}zyKLr2+lz5Ij z163kd3_+?@eo)8N$6&}#sD|9VJE=bQMWA3css=}dh1tvFD3a;ZvNo*xKIU!Se#Pd%cDyrx`!Jyfw=yQZ z<)?6RmpBBRvW%C?Q|mp0blQxU;7>R4@@K}49B^i?;Z6BjW_;0R*LH`WIpMY7e{Lp! zYBVo58`0;_{{s&T0{Ek@h3$sH!=e^j!CAbVyBSL!1p{9i&ad0DjfKHkzL-DETp{xT zU)d!J{8hf(@K~M9tNb}<3ZMfyXle*0W*hSu>0d~_OOMpEzrvkuUdR`P@ zAMNHTZa=l^fe5aY&0BMB^dc6NJH?KL$^rVa7t}%WZwLM{(4eKN7e^!TiR=(-WSKp3p0vSyRY@7jbE1_6M%h={Mh_ zr?epi)H7N+7iasNR%}L~7qmGC=J)_>Kg=_!e>pH;QgQ^SS2TgQ!(Nj$j}}?fhYPDW zbes$Aw=}&!sBG#!8Y=H-!FZ^=r>(~!`#^uWQvXPi@8J3qMREt|Gi~RBpLa(f?X~(oCVDv6wS&1q^EX>@QWgAg8EH;_}%?O2Cn4)QnWcJ zE0KQ#WY!{wyC62=RTzM+NS*}dPVtvl^t;4NzMFf*y|xIuSFDjx*(dID$7#RVeG*Jp zF@73=o9NI4On32V2-ny6TjeCb{uT{+GOoRzi{K`=8sONp&1OiOkKsN?d-HL?J3Ov~ zW2f#;2-WXYE>5X`826Y4e%k^5pq7K-c(5H0AVUmzFaLS(YXEH#(u=)M;90p-HSTHC*&S}n_$>;VIN%YUIq(rdUwd{bo=sdYTuwAIQBE=;-~-G z>(CrO+5cYc8M`&+HD)k|$g?FKfpS z)ADp)Z>+F52c4DpZ@DlGeJ_oCR!`ap{WXa^gRQlj2di~s&H-O<=?MQDdUFGALDzBMs%{*=E|p|1X0R z1#JT5OkHLp))sQ$Vs$IcTMgHmZINnQf<;3!$=uoEO9OPBK3O<}T{L66U)p z{~s{-P_@=D*h^3Of!{}`Shk-!^7!pa#spAqG?-sScN)gOH9J6q7QyZyjpkE1M5Xfj zFl6A}0Z-cA5h`Ak6b_%>^p~q}AL`9jjxXKeo$$ld+!>mFWL5`Wj?krfh;Wp8x)sThJW6twF-Q@LMGR@*VAJTd5{XZhV;?R6dfjs*>q3uh-Org76g{RWk0We6T zsDV&Pr?w8Do>FsO&OD><{O#*=`oY7(3wp=(YzDRP1T&MS@lMD~+V&pc6*cid60gY- z1p`KoVg=y(4Ry!{^_Hq;z-KnSjsW$JWN8?@r(7Num&?wta*h9LBgK*8jlNi9`f;jV=e;oq^Ok%gJ4l&I}Ad^qI6u( zP%+pHDyM{D7eJWU$sNr5BDe`avS^e5@KD6_OaDkz;1c_>xK#`djgRAtGdp5xXIKC%*7qc`t631oMMvb`Y*VilptJK8a>u zVDMSk@YC}}WFLbpN9+g#bEmA$Pu(tgf`^Aaa(6#O-zyh4M}qrg!WK~bWy2>haFutu zB7&P7KNyt}ek`)E)JfzQZsCdc=^C0t*v+{xRmhEps#Yc8J z0?JoT=SzNARy2c(pS0mQ{)p`P7J-h+`Fo*qOqQtw6@U46AXEb6Q{E2>l#_VZJV@qD zhURhkg@>*rX~t)S->W7<_CPk`I{%?e{R-J5+4%$P9?NO`v_6q5c;ru!i@1%NDxZ%B zl_n?f9#gtp-V%0C<*PD~J(Fve!tS};a{*pnNXZ{$X2?aYL1oH2JX^k$N4Va6C2hDL z^;$af)SD&i`QnNX*<<}yXf}n1COQ->f#P) zZc-lxBCMl&;{e%a6`lw$PO8FN$eh(f{&Z}M^2Vf(b(1%*f?ZV9EyUZVRx}55yQ+H+ zV2An>2lJh3;tn|5rFM1#bGIsHfaV@GwHc_r%IO$n`_%qqXzo`aQ*ZRU+GAJu#rRD9L* zRLBmiyOY55Q>(b}KcYNh;rgf=%>Q-bF_m-zcKDj~BQgt6bN2%Ts>U`58>HIKgxzs9 z${Suzs4U)OIH`v59#gQoa|_H6^_APNp=!Jje4bJ(N`o1u9xXzkaQv7DRD?QI6b5+b zL!o(EwSNlDD0RgZfzGJ4Tw|YArTzk(Q$FXwJg+i%V7Z_M@mF`zYF{9n#V9kLxnfmD zGR!Zk7#}1bry6o+@{+RRJ*{|k!5Sbz?d7h*T{ZeMeBM*d-QeZEI(i(glht(|kRGUK zywCDbHOE@uU*Xf88{!rPN5X6Eg1l?fGK$Oa*5$e*faQYqP-`>77M!-L&A@3lW)n2q z*X0U&Pzi2L4emA!_)tr(ABNdph5O-$c!4uQHH79!i{3bn+RST@(Yua7e~ir{cpH0l zCalK&;dRbC2ns#*gGX(b3fv>p>&7TI*HnJ%M=6-5C z4@_4YJqw<_=@?gBK6G^~n1SS903e7Ca{D8kc1(gn1g&v}W;E4|f|nTj8iNRlevFlW2eaD`g0awSmZGfG!aiGuQ!s=9-Pi z_jwIeFq@w-44(^*8zSPu4>|Z;luu9n;x9%)zGUewST0?E7N5(u(A;i$2~}2BSkktL zowG;6|G(PPu;2ZJ>OFhPBH>|g{w3J&J8}W?{qMU#a-ch1wu1|4bHkx_hWI>O`v+`} zRMr4>bkz>D>c7F%D<0eN0`lXANZFBqe_ah?#4e12#+YT(8iWbkLwScOTP*>4l0Bvp z-6^(H0y&Mv0<`W7bKZ=gXW0&02+i1N6}WTkG}R)`GYh)i@k=pup3GVQb+EKx-_U(% z$r32dwPI%{B7!^1r}5Q;bxHzCbx8G%bLo z(vp54b6gE!5Id9&%S$YSMyg=;{Wy>iw&DPsg|aky;V6vt2!`-7>y`*%I6Jl+Tm(BB z3lhmXP&N_8P6&`_R(uUUW0(&mg|RGgH%J`&d>^=*?7&5kbhhMokXvj8rAfEh=J~+g zVO=om>^8D>RI_YibN&FqE)iP7Imgo|L%G09=s7dz z54PciSnvQ^Zn5Nl9s#l9U1%V%=FyaW+VDVsM6l&SPvF{)OSF=6kqgR??0KhI@Z!L` zQQqOm%cvUe$CDX^{=79FfI#j~1?3>#OkLU~-m?z4VE%^>gmHX|Ib0|3i0+7&$WP<| zp2R<$gYXK!M)ztK?;i&8m@j_}lFd_S*vsMLX*|#6^C`d0YCMG1d@7}LH9Vp%4&@~;`2^i-&MA?8!xvL;Tg(4h1@e|p z=m1j3J@etZp5L|rY2c?Gfi&`Te*oTdL6y1>dS}L5Myz$5^xi7pVH%#V!?J;o)RH*;q0{7(-*BiBaYFHX(oPY2a|JRNd|=H zMJyF!E{LtPiiIC9GXTI+?4(UJRwAhcme%6&7a+DmC7*V}M1{#k@jF!)?L{4}oH~lr z$KlLLJa2~x&f-t1eYuE78hCLN!5x8f7hik^z(YjRMBP&~hJf?Nen43I2pd{^^c8>2 z1>8@Jnhj?GqAm+2f#Qd;;DW>-lmlH7o2@}Y#I&uj3>BMb=_gE#T#N=@7UR1D5Fr*) zrXMM!Vvs1|OubXIxH&i)2?f*9rklOz%K6-=&(xVIq5B9V$^ zDPjc`Gt-16ZKk*?&Qq>^O*q-0x!1+6@!)QXCB2|a7fB01GQ<@;<8fsQIrQSB_f*2f2Cppty`6e z>$KKfA!>d{1MxmPb=XxRZ3~3eqKY1;m%?@@EMJLI8l7K@y_CDuiqU(Zdn;lVLHAA+ zuSbM>af23n8pH!C-!=+YdI6zHOvY}A|4XRm{eV{WX`KRb-x;*D`CAdCfx}kN?0dwI zKSMHd#}|-{>OeK5-(7Fu`&8d;u%8w}6O$QZ2Eb!EYV>y;*htCtNZa5qnu`Y2y7&8tRn~`EQFVsIt^_JW>)868N!ZIsWp^o=)ntP4LxwG zF0%*U!X%sx?FC%~+gAWxBx}h=peSbM3!l;K0aasTm`4!+*I2)3SYBsk2{5_I5_SNd z&W2_{m%)bo4dE@;cO!(inKSjKcUa07;O?@?1#otc)qDZrefFG|*&eW>Am}pLqf5{| zWb>DUd&Ep6c*$ZVEg+AXUndB&+2;)io5Q}Q%qy4uOm{~fbE3{FpH75{~WA>ES*0ZyA;2PM10C0_LQZM*yVhL1{d(UR{ zfzJ=jeFwN^Ha!I7BRhT;ZE0bA0CcUaXIC`Pk`Me3#ES1e0-+6GOcQlmUP--%9Unwf z(2LxI)^Y85-1jhX;I}9faO6YRBdil&q6fg4FZdG#+v$%3=gK2#pN$*;^DT%wZ%qO5 z;PdFbc=B!Zw{O{l4Glf@DPn*gIQxPqVN3Vp>t2}iL;Me$Ynmk_T+cyDlgKzx+uAJZK49f~` zvJjS4Jcni?)tph?q=q*=gwL1wr!@e);<^DadCeEJhqE_4vkE4)yfdAGxBN1#0lecc zsDfL^Z<6bJ{M0mb4SdEzkVbwz9l|DFPY3;;Z}=L*58P%vaLs%il~z9TuS%h7;p-Z3 zK3n+Xx z*hF{T88LM<;+++t0XPOT@tIcb&IuEmKb;qWzv56Xh#j**%!Sd{5L$>ky8*Bi!)O|9 zCG7mcS&OD$;LJvZ(z=0%h-!oAo+2U%0B>PNr4Ap_`vQosIPo8Z5n>e$S&_m4b0mzg zhJQmCBRZUbvsiKI5ro&pCmn=0#PzcXlrFND0+1p8oeGm%BJB-Gp$MZvu}CCSNxN9I zcLd;>Xh(}0&qWi>`d$dLMhHv9Mp{!T6+hCWT_$p=0#Po$`w_Yd(Th^5O7V_1YFCL_ z!$7J*eUV~d`|1O5Ax}ssDw7-m=nIwOq&F6ODk#r$Fl8o#a9?p8EfT*o{+4% zN#|kp)H#rEb-n}nw(rA%-En0kB>zZsadyVjj?#a3&^rIo_4F|OH(?ii9#^O`bb@tW z0GJW0`yHGyV{>3&&P-_=hy{zFe$k5QeuXz{wq^)88)k9<#Fp*R0pP(-)6?n6s;T4l zW`k&I>BAmJf%9c9R7u1_B+a<-+rJ-xi)4{&U=q!`9Rv;&{lnm5*_?l2635n2M|zzt zd4)#YU@?@gr!z~cL}jqG#(>{qF_o~q%~Ghp$zgT0hLX!VQNNMTmgfWTgbnZkpa8!Y z4z7^>Hw3ymX4DTp>sjV+@Y2WvC|(o$hW4JlXBXdrd|tY~u;Jh1zPQ1^4ICJK&s84a>1E@1`<&&xO z;>PDpf~7l8NI@e!_^v|`dh##@I4{1M3bfw5nSPbShcBn~YhV5^-OGM_$~Nfy`8SDx z2k?ed5C-y7w;&AS=F1?w#HUc@IhfDu0$~V0PET$q|A8haVZ8U(FuBb2kD&|aUCbbi z;G1c`cqBJp3t<%R*9pRCzR?lF7(VMW;P~HGR9%ka=hs6R&jab;oK5+U^6J$=l-beM%3? z+@_XN4l+&d0QvN@6_CuhMh%)77XrzwLh8+C$5T0Gj@3?B&du?}=e%;t7UnxrWqZLC znpQ2m`V2l7Wj;p4#fR_0!;);;y0+BN7ao?)p+tW9eOfGE;pqhV%0XKoS@otHBCd9Q z2b;gX9)r&{#&=<}_V3xSSrQw7gjJAoGVMDJri#1!9DnNXI2g%5v=Va=pva16+)ufeQHDu`{hfV zpIEj+0}{tvHX=ei>qqNh2`qxv!xPz+E@(s&iynhUTw&Vpz$LRhI!h^RIbEPsHqi>v z)7ZEd&|PJ}P;z;Vc`k>~>#Qy9TfD)HX297^mO}Ncbasy>X&G!&Dw=eQ>C+&*&BjyT zeup{IbmJ~tMf*VSv9VMxy3djqfP27xE`hU5wu@4ZhwRJ`2=s`BO@T0rxzMuqV-~A| z%Vr7Lz~!)Yq2O{^qz-^QR!)yiJ_}dSmM5&!4d@D(IW3D7vY>DPir8x!gq|||3pJ_* zJxc+3&CHEp`G(C%1^1SN+bU|vMye+W;YaWa(0Q*Rc=&!s|lnMVg8>|NeQ3*kMU zMsvjn+};_&OkO?_fQNiQ9mpf@L#rKGylOsO6~3EFt=YUl4_yxL+8Kac-uquPB9AB0 z{`Y+TsvDd=;m*S$EZ~Kw059aZ6t9S07|d_*|;emSc4jTm|1xV__vv8v(A08yEvu&HGZVq=t`g0e4C){R-r? zm`fe%SuwH)EX~AH>etT+cbcc37ZO$aFNhGDaF`3@qiDQ^xV9HUOA&Gr0Q{`|KIp7P zstSOOXv~MuRxF_7vlEe&9bOd6C*v6GMJOe@4q_Fp7dVO^_QIKy7*1<*&SDjnm0d&% z%|cv7_;Fae3DX|%=`Kuu2JsL<(_!f;%Ev(GC46YM~!QTCPbE&2*Mhg-W?%n%Ef&?yA_*9bArhPJ>9U zD5g;}U)=o-@FyZN2V8;J?E-kASXv9NNCa<#?y1nww$5VF!x4>mCXUh*_gt)|9_5Aj zOiRcmA|VXIQn89g=_XNO1@d0pqer`01ewC*quAX8T#Fb&{a~xu{~W?k;^<@?!)NhL ze~=T>E}B;vNukrxKw~N22tpI7BXx%trC3u4?WHv;h@-UiDTtFa`+N9wmda_R%0>F4 zKaS5;Iur}eO&a71&RyDW1``iS{tCz7DgC$w#7k=16Ru;V4VU3MR+>*sJMq$vQg8{< zm|JLkqBNfxktAgdgYb$p$N|D+=_F+nDbffuQqZyjsiGH}R4Cn|IbMBg66BfGFB!V$ z(y#l_+!s;~b-yLjGzaJ!r5Ci-tqK1&9^`{mOf`XKDVD~|kCN9f2-_n4M0sPYbifK; zK1rJ>8Tl;j>JQxs*?$ytMzS4cHpViiI@m?|<`WQm`6j)G=P1`x2k#{RaTS)%@-sI? zaFKUVkLfBOqzR*&-0eFYn7bTD&zOgN#2!LV`Ai{jUh-F|2;?nS(c*%Syf+29Sh?;k zEaT*f3|xYIe<`>``5U^=lH@(62y{g*xCAa)Zl&^Diu?`rOR4f-wAh>`>zW|ED(}As z;Whb*4Y*8MPXqKr*>X7!GfQqe8}S~?)QGTRaY^vg#jaH{AYiL>Ps`5PzMAwwgbYosu zE-wT8hSJFr!kfyQmmulN_a*R>p{$$%-7RICE68o7AritIC1@dh<|;4@!o>H*;s zRf(e&fKSR1+U5CKxseOkC)9`{5G&PYAavI1q<(O1tNuZQhMihM8N@|(2<@%2 zSM$06=b&yM2ce@n#2i8=wLO*Toz)ws0e4Yr8^F1$T`0kFQ@^1;#9bXog-j1s-yd!9 zR0o+Nf|vRr7yxfo%7oBI?L`@_uWCl4sGpif$LFuE8v$nl>V3NWf$F}#&;_Z{IUunr zpG+4{jY|bQLCvT6d!o95Cb>!KaysQ#)WtNtNmjq81W8dX$D-A#s(uqp($v##@Of1o zeiad}saM~?=XG@`6(Vn_Z4Ur&Q$5=X%XIbLb?7qGA%7skEw%nG0Jl}+KLEd@?!yrB z#s4Y<-+DmZC%!vu`wpSRb)se}RFj6a!RHk7W6(~${SXePB~$5U`u1!1J|lw`jc2x{ zv1(SoiD>lfUX=CBsYr)p?y_UBnb-L#KIgw!fu=23NK2UuorBAb?tN`J5bwywt)SP#U}9f z&z#{Te}XvF0x-}CTh=??SRgKJ)q9tk+o7c>cs3GBD6EBpkCjFy`iVkmGupQ&W*Lp zfERZ*egI57nAJY$JXz6?fP1l#hrxNXf9am^Va~f@>C3vm0M3tH>H(cUtNs%tfQ@vA z>p<2z0lFYI_aL}S?AHR2U^b=_&O%rrrQo5gBVDdAmUIL0E;CcQX~UT-J(PFZl;Jpr zdn}#?#RqI0Z70ZN>uKiukgYrb@`yRyM!YO`XDgcYn1yu%Ae;52n6f#cxGK$#G2Vwb??VkZ*G3#&!+%vY5_M$y!dAs54 z1$&bV%M#{45zb1P#bR(}?B;$nqMUv03tR>BKLK1Ndps9_Dwa#r?`k&d2rO$Dqe8?> zHq-)uS1gz+0U1_w|L)mOD>}(2g5V2H+we_#2$r^LO+xJMhrU(BVIe&{V;RzxW57GjDeZa2FnS z7?!TwHV8U5-o+9+cYc|Qz8-uS2l3<{nD5A5yqQLOZ+>nQEPZ&)7P$81P4pIx9}lKV zmp>1>4a)$2kT%W)@`}BH2k~{SFuBC{c!C7;(bJ#{;WH_h3gw&o;=sbVTMjHQ^D$n4 zhx3m#5sTm>vOpsFk|SrM)Pk+Ay5pz-UMMR&!wVh93Mt|0^|8v8g>(SG)*HC z`M{NcCvkro?XU2ft1!VY9MCFF3UA{FlT=d{_*>kXJDDj zr-eh8#~U{Qp3e`BK-ed|e>(^Z_&$nW$k#4JpdxPY7C8LAB_)FI_^Y?umN9qReiwIf@dmyI#3P7gV@-Ivtik(vs?~!tBEtqI@5DixmDhp@_A@Q+rW+V;i4xNeA^E!yBA~&|7Myw_E(AZB$D2mloAS7a)0^ z1qqbe%s|*6iJb)Ql4SY-!eD8I2Es5&`Woc2^id08xa3L&ln7~cFq}n7jbDL_lHQlV zBwBi%fy0cG4t@m^FHJj!Knap9Rl^b`ykL$?B`v*+W5|#$(=&ZrGWUn@j$}pS(Ot=( zM%sH))?D~3l&p4u6iMT5z_M6!iv@Wmb*2jLbLsI3_jjgG@=WU8?BzfjNgU+rRnR%gU8#2A zB-_wT*je7)455p>o_1Qe$_GY6=qAtm1zfm1wIh5+$am-hM9Ce#2Z@%SpNB3+?n234 ztXxZL>2b2hOFFIcnRC!3$PegdPn3_PLzpDb*^PKtWLI-=$?~E~08-@Bxge?XBI;Dr zR!47xmd@mw?_U(PuP z?uopXDrVI(@&VlC@^LDeypn^{!M&C{Nr1nR!@HvqweqGf!M&9$mV&&Kqf_CfPM$)` zF!d-SK-eIg%!0F1O2ry*r(p$S2hNMi%?1v0fm;p zpco~N(%x9*VGx8jmDx1wNmmxG0J){Sy#n2BWhe*kj?$H``(5RR2Q2R?>Qdhk+HfZ6gm^N z{v(K~`jM{DN!5Y+@>6OdP1R4USKfd-qt??BkFz@O6wrtZpw&|UpzB^v0V zdhS6ZJk{U+!ZCQMokoH4R==bK#7ET_0_UslZUcay`hW%ve|2XgxBztvjRAq`SlZ+e zq`Fcu^^)pi2`*SYKneC$)zuHquBjW!A-tiErfSShwLR58)79BDWy?^hH9VB~x{y!u~_`YpUozQa9N{n58~Z z(4@!eb*cB+VQ`&1fQcWOGV@q#$1!-E>fCOuNV}J|M)YDBAs&UVUNtni+hO^6>!BiOv*SPis zJVG;o3O13NCK`mJH20Q37_BL!B4vywpEjPwYFhRI7pFxfT)k#Kt+6*~v~hqpX{OCbg!h^v0oNZipQs|ytjS)4 z#(&iCM&MdBqibQ(s@X&x{CREa6a>1Uy-NiK3$2cJ4_Rtg9)nLS?R?sCJ)+KI5N(JrOMjF(z7I{;p3 z2bqC<&=yjL)U2KD4nT|6;W+@U+B@^0`=s5x3qC(5lfnewx6UB=fC zM(9dtN*tx@{UwCaI`_rE#pn)Bf-qM1_gaway5U=4c|+G+fk5dxPg;}B&@~!@+|vC` zk5i7WBooJws~c*J=H~0t{lPua4N3zk(6vkeyi!+@3a(0bY#?woy6*Hiz0{qdA>@_r zD*poE@z-tZdwA$mLwQNxhi?#Y;?J}zV$v!)k5jCusxh^^4L+w0HiZ53Omj4NhSNlR z&U}3Zma{IfRwdIEm@O{N`Bg9&{xC-7@o%#viSO1ue?|*&O9^cnw-vV~+!@>Bz zu0O4(t&gW27JnbEfX#+gRQWMt*QqJSY|~2kGiCN32y~LIpv>?T`|%J=PBV#;h%@XA z-P&i_ZBzI&W91iNa*izs2RYCFG)JQ@uv%JJFlR5Qo@2q{=-ppScDx0g6=UXrTeE_r z@M*(Z=qa^j`?b*7F`Q+pO{8sxGkccx7c3pv{Qj_XWbLR(=fqyn1`lUuJ_no&>tG9j zE6b%yuNxa(44pgce-t_oHf1!zdNLo{6XeC#41{Ge%b~G0g$)}Il7{UKu)NAz4kFMs z{5J}iTxVP9#NJ>}e}m7P%%nX`(%FS=Xi^5V+63+vTfY~&+stDeaCg|A9})I0Tlf`B z?y-gROF#EnRs?hpSRUOSnQYWxkcX@TRX858omB70VkwpI@|Z25*=08VM+!&|`-w`} zxh(VqeCDy;OM%O0Z*M{Pgmu^hVF4T51(t;@`~{j@#NN}4^(phCr?i;KIvnjsCaj>t z|9V~r+$Xk;uGnXGz8fr0aPLx>81ZgY)idUs(?Lx5XQ~OCabILlpKU}?rbZU=Xc2hm>P^W2eg-3xrK6B=mF&y&uAFFXafB|m%!#EQS9 zYNs`SLX&74{&fbz+VUF86YcnjwFrBWA6p48C`v4W&VgT}2hNcqb=}MSK4og*{O5lGkL2IdvUe08-XFqfo?(o3#_;{rg~sxmbo0gW%T%C@=fi39 zbOQhSPnaa~_K!i5_-*h?LGqC-=X!rCLZhp@}7TgLWB?8 z;6GS4^TZW^TZ=J9Xs3;+p%S*8uqWI_Q9TPfdl7sD&KyK`F?5c?ojPeJ@%mc`okb0; zw77^|9a`op=KcW_H{pFAoV(adm&!xT9fEkCB7Om!d5QlHf_RJP3qgEDH@bU#Md3i0 z_=#Q&LVwYgrfbpS_zehSL}fYJ87H*0Ao1elVVER{g^Lh2QGEK})Jp8y1n!DB^9s60 zBF-MsvxL8d24;(Mlv(763M$p+il@%d<%xGRfyo!QsKWe2q)rFCKv*3{ghKIG2}qIX zH5ryq#Si8n#X@a{@R>Lr4%~Bbt}BEu#8TP_Tp}j*MA%YM_bVcliSF*;%Ec{u;wr@I z9GFy!hqUrhB_7a>wORyhhnE_0^8v_9ai6aAD^WBCCa;C14hQ{4{CN-&@X982?Qcc2 zF}%DJI?7q=#Lh+l>P3nzEYC}K+Cq3i%H9aLg*0{?h^1uz5<)8}gmxfVOS`oQWFxhw zjM7$0Oo2~3shZ}?7o~(A0N6{_GZ4=~dP!9;M`;}GtaFkk)8OnZ(nIQ90nSqrG^e)D9M2G z%NXhEQV3(Ep47$S-(J)}7%$DCa!G=8je4*|>1_tWCP`iUp`Cb9F$Kb8DPu9O-mdgw2&Y zP}iI%9l8WAU)mo9FXd7^Jx&#p^A^CXq#MyNsg{~)&qa+?N#mG_>_m(1rgF`En4FUH zHvw>3UQPAsGjh@ycsVOq*}|upJcM%Vb8_o$=+4XiJwPtV>uJz1m)oC&GYk1PElF6) z#xHQRR`Tdi5L(L#^!l%j>`z<&Y-NAi)Mh9DUcb@=Vl)TdeUZUk)bVM=o&JnPTmH&)` zWt<%M4|MVJySCsG}C(6Ya08f%vbO*U2Ut0o_EGKsbNs${np@9$NHEY0S%89jr zKa#gleI-l&k9zON@+r#lvgKd8z$8aD2tea2MVa(o=R8B1iTb4nz60xq1X4u$1M<#{dI(xOz+0#Bn^!VudFg~& zk7bSjn@KEmg;gKJU*Wv(D0%bdOs;bE>X zt=G@9r(R^fAq{{FB01y>yH147qKv1&E}n88HcQq~(P8Ou8ork;H^Are0$TW5;YpM3 zm8B7|SvAlC-&YsXTH;?dG>We&=n2nj4^cL=F6KBs*FPK&$>06G;CX{Fy;iqz)F*h` z)Qb|d&C4&~ShnObNVZ1Pg7LP!{;=O3R1L|F{?yKYzB-2QJAayt@Bg-^Ty|IA*Ffz) zOZVZP6fd-7@1Jz1?c4Jh5%-^Z3Hy_*t{(uWSbr__XIKiA8qTr$~CriILLMOgu~pl;b_t@dDA-vCi`QL-bz8MOxoIR!DdIjtG6kHXXN_#x2@$+85)v)*i zkeAFP7_MKj^Gfp9+Q9s2 z#@EOW=7Kb_E3N>T@@g4gPVz(1FgeXFDE~aeAH4*3md_7{&YKUS4&H}nNpR-J+f!lF zpAV%TEPyx803eWGq=nfazLx4vmw3(p){*(xMBqaB00n_U`5;Qn!uVi%zu__;C_xv_ zD`<)s!LKxd!#`l&4%bn<*CTj|=J)B&j^UiDG_ibM5_ECAum)T_5Bmcofjd&-naJm^ zL-Zv6&rNu_!rzsmoyqubz|f`ex0INr^5{C~()dnVyS>Wq(d0j$PohEU2@iS;Kp{5` zfv$+#=Yc%s>J8|M`B*9@KI6lvu=1R5a75S_d`(AiC44RkOL_J|0Lu8qC$KE%N0!oM z5I@I3Xe7?jD>EiyIXzRRVk4znC&dX`mp>(Z?tq*Y3#fK+ zMogqT`K*Zk6DDS&gDZsRge^7qyomY^@C(9uD*)yqB@4ttET!tBr7&>LSH7 zx_hF;fyP!~P{t-u1B$E09UM%K*0^pgrA;3Ksy#v6#5LHxJcrC&nfO{iO zYy$4BxJ6wK-od2WQk{6FfYgg^325L6DRLW#ku;tb0ZgR7ha;Y;5`tTk;mu=HSzI?}6*soan9Fmn4WAVA_*fm(LzL<~be?_HiTr`$%XK? zy>dMyJIW5Bwf}tBjqf`b)z6oIU$M$(sXv>I|GC%cjoNi3NTSp)*@gFM7E! zuha12%KlCTabu&t0NkA!tcA{l4WWL`lbxh9?8UyMQ{&B=Xd3CmvS=a8mkp!!NIw=A z1)M+oiSmsAHpUz9K(=u+dnr%t~uu62gX^Myo?v&#f@Q?~`HS4f}Yk zP2oD6^`f=r2)3O{Ad&3FW^hrg3zaLQ*`XC6D8o_WdXsJQ1U!SeQT6#2Ta^OcZML1Z zwA^7^<6&}_Eub3BJ=WtoqTgpxR5^RV4CzVFWa(6=c*urOZ}o`vr2Zm{6}|#_%nEYg zGn@VV5xN}KcMU9aSz05wJT~<^978?}?gO7sSlnhfD`2rS&n;w*bRCLV?NoSq%EpXA zBZ}GSZ-INpLaDQR&fc5CZOYmDzrbDKadz-x&Nho24Tp(6&v^!b0~c}d>B#@`fX<1# z(zD>qJ-Q>T3qMSS4Of284V)VvJqI{<{tulq5AHn#LQlTs8+h^JAE}S^=0DfLnGgR+ z`>=eud1nwmZcVjEe{Rrz(^ z{+Wt134CBGNFq0)96X8lqaOD$KSHBaHaDUYPcE-P5fQs{6q?-Qmz)dHq$m6!a(e8} zIb946zm@haOp5sTRcQ57-tRqh#k~7J5I*B$sf6{MSJHI;1#d`#NeORTiwO9wG+HAo zHyuWx20rl`gpK?WZ7*%&{b?Hcp0l5D3O?`~ zeLE!^A&xK{pzj_(uqrxM6#zJj`?6XK>Lghs-TsyW8uyH&uMhygbd z!Bnv0(47>k9zu6YEXfDpv=DUnoDp~F?l~)l^#L&xFQ~S9PRum{cU~lp!hu~7YiSw6 zT*T6fg@uT70I?MJFTv7E)bD`KS{S;6*oer>(AkPDI=HqIQ|P9>C~kH{JbUrJI{*&C zolCvk@!HD~e5MF3pHeGeRwtBC3ap_}L(f=0NDoYl~Ii2Au8al)q+KI6sC zp=ep6@XdrUNi1Ip+!gWtZ_p)+1}dhfh&bAolPYpOV3{VGS3`GIR3^gmn(!`$$#t<| z7KAs%a$2Ln&rQ66E?pFMg)l<|Si?1P-(R4+Evh;La7PS`L6h!^Q8aP9Cn{nfye}pk z19>3KXn@QVU56p;L-F!Q2p@?%iQuxtscg7@EY{N6Mz-*$2R%m=P~|gM1kt^lCk}20 zmoJ=Y%JoDHroA2o;s6cCh2l14)bW>G6Yv)zVlTp$ zh>BJ4QYx%zR#7H?UJhKjh-?Qyh4{$`x=N8>4qTP!LnpFY>{<+6jVKxc-AhqSWrtT{ zKF#=FizZqIeIq8_2cTADd%^OpSTzH_!6q?p zDB$nK@npb1h(|PwX%;&@Ap9uyq$5I$SV=i!s~G4C_$P5I7_I&+dQkszLaHkRF_PBP zm}4x(TmisD>h(9^rqaT}5V}g0l!LoT-LV%&_K=Le2j?l3jRopy&l;$7JQYU1I*qo)ObKN41J`FFeQpf*YBWY|JaG#|DDoCD?{T!h)lKrS` zWGwfhojWFS*bbazQ@LpYbSLE-bhDq5C8{f&mgA}Nc}Bh-iwI}sp!Tpdlb84ccTP4t z0h9Cc*!|!x$oHuiHkX5GqGKVC$^&O9&!Ae8mE0y7(XHhox<75?8p_CR<(-u9+R1yy z0De*aun$6e`Rot~9c0ZexOSA)EdV&lquap5S@xvV$VIML3=>!Rwm$%FavSPK-Q{JJ zA$iDNH0XQE`zS5FEZ?h#E?h368h)g_i&`BeSABs7M$3Ov-x?!d`WsxVoHZMOXYxN| zahT8LiEDr>ktb4jUn<*CJ*Z6naTx&R@&~$mD&$QMAgq*EJwezic^(z1tK~6t8EfS6 z)a$>L2f4%YmAr5TEMLoUH2S_l?Fpn-PCEkOTiL7uO?oHKqQSdP&Km@0^|F2vOd4cc zN&y<>if`bhN%mL*z!w9-J^@Xja=G?_W8 z9IAtBGo>G`bDmSW?1b*T^0oln1!Wl}@a9Up+px4yVvfO!rE=v=YX?T%q+m! zC^=8T*(x>ErQ0dPX?^sf;zOB-z0#YCTn@_U>+s^Jv{F^uNqPMNhvKa4&47uEQcJ}{ zSEcnNgl-BR7hHE`{uJOmlpziPcq)(W&=xP{NlzTDx3aAaCO%4WZwP&r_B2uQQx-e{ z=dUc=16_a;PD6R15;zGyv8p-?+$CkyF*G7rIb;McAvhp*{ z_`?-%TC9suG@sCjNX4DX^-)SJbr8|YPD)B+l)sXpi&Yx$K^Lbq(;kL+C5r0U2}&bn zm5IuZZ$XljG*eg>D2D$+SE#sm0^q4)PbS4mTYr#e%Ge_~6VDY}V_3dWX4k@5i4sLi zy`_q`1YMcJgFwm^x5t22C<^6@l}a_0l&X~D-2tdptf~H1qcrS-o0K4O1=!sk4o1Jm^i6gDrh;Yqv@$~RYy~K*-Z^;h8K6WdlQ5n>M+`K zrzCP>UPkr9?eJGu2YHoi(^J^~XQamU4BB8E_S9 za0ie|Rg(r?mD+*U-m2BZqd{s^gI{3zQf;>Z@m{G1u0r@)Jw}tzH>znb;A+*L?-A&& zn%@q>ck0?7;H6H@qn$$a>T4r+Mmi zO+#A%ZfIW9T=b^qOn>OoHIcNxH$&q=v(H-^!~Sq~TT?(O&K*r7^^tcqRa8R0rnYx8&6HPS%%e4?qP^I4$zej+RjHA|>deXj{lgXIU!=d%#DXq;)VY1KH>L-|Q# zq5OjJ1E>0%xL?=uDVubvwbG)c$4*%QM>9IS`)JwmgDQGp$K3bmz34ra^c? zJBunR=Gw4s&{=4=P-)gu+uRYjFzs;4KQC*W*MdZ7zevaNMQZ!a0~e*eHUp<1TDy5B zgfZG7Gy#a!<}8A&w!8mDh)?@fX5rdA&SVY+s0Gb}T-KgL0K zOPlo#bhovJ2cf&8Jx8px!R4ii6BpVkctQ=bXgxkjC78)G-;w+L1i{m z-N(D&PU@QJi94k$N&q>nJLU!48QlTuO3v!sC~q~>8QX%K)6Jxld|nq$Gw2JtWp6i=P! z91t&EFM24wb?r4EKDrCkv-|4)Fayp{clkST{<=I$H3M`{n?V9~yS2at>E3=s^h>&S z+Yl&N7fe}Di0)z`OhR>Glw*eJ9)E(#WnE=E0K#=~S78#N^P~(SQnxoBBue++?}!ks z`<{BY7~SbQ0Ah7V4nP;D>q{lpcwKo5a0$BVkq{>8@@WE|q#HXLVXx?xb_bWNThSA` z6y4sx07%uHng>9k?gpg*MY@hxVDe12%Lsv<>v~dQ>4olq0W3>&-UHyJR2LTl%QBq} zbpqwOHps=Wk@4_7kZRpGZZN6Qy>&!{mpc28z`fE{9Dwk(ZUsHlZ*+I)oW0Yzmw>C& z`O<{HUe}H0sSUabqoHfmRnW$gCf$R_fWOz7d&70JZptP2{HVhakEdUEWCH-Ly53#T z2uFj8p5UAeY-z-EHAp)QOE-hfBY|@_cuKdThe7ZjSb7??qrue6U;?ET-Uh$#g3iyt zwI{;*8?>tdAi$un9Y~))UYGH52(mkdtQlNxNWkt&{H2331ua@pX133TBGQ)%mI zghAK;T`B|jVQ>~@5V{@0XoG-#@DghfO3!Vafrj#sc!SM9pe+doqxZlh-{5=-bWaQ} z(UyrqgZRI33`GVZl=(k3i24P9VuMMv9Qe%OZX4*H8@x3J?u9{lF-%Gf?$9$SBL|Z-@yr&9Qi-B_okX8d@s`q>{$Y=|b&jy7D;N^sVvOPE> zeE{7{#(KA}VHu=f_Y%TO`fF4c3DGOG2_#gnyaymm-##AgysSSO2@ z@QOaO0=i`V2bvzI=!1KKr0Ppc(TFtt%^tA4s{d{}Os?s*VIbG_EssHN=sT`~$xZ#{ zNAQxaw>JdI&@VLy{FXlP1i0J!{u9uMJNolhXvAIpKFY7}>F>-0?!Nxz1CR%Lv#W@Z zsed>RJ|F76yMTM7w@U+;rJvpcXOH#imEf}V^ONBvM{iD>lXLZ!Q$X_cp?BaVUtbag z+!KAuLXZM|`yXIgsJDthydr%o^)^rSrsrT;tRFSN$8hopME5nkZ;l9lhBs)Dz~68)tz}*_988sy>xP56!6e=A)l%p(3@tZ- z+%n9jN9MNSHrl#!$MAPL6L$@JQ|Eur(2$l_G7US@qxR5nUtd^0GOYOwF3WJT5nMku zG^X{nY(x7a5at-JdWs17hJ7f#dt&$<4GaZ_mp+0kG%T6~K#}2}pTIpe)TF_(*s!T1 zxaWowXb;c}!wI7xEHO;6gk`B=Q`8rr`0F;9%7=XhN5Hmk2+iC_1g0VE$RAB1`Tc1x zeE(w;4cVhjrz7N;oAi3>pM9uwGIllf8sp|sy>$FSD(FpUO9R}*AAZ62Nea!uCO3Wq z)RcT$gkJQ9)~**XJp|O!&A;MAFZ*^RB+DO>pA}{!V7cvLOPTA8SL8y+7MF3M7D?5U>D$rXAU4Sj!b{9y3%FqBPq}^wi~9o3LYaRP zNEoX&N6RiVXIkS7XTRw|BA7(A^hlO&fks5JWiShXAD^;+H*z$b{^py3X_4{IG-~zximPS4Fa~4F)PcPW2Iyfs~KQ%yD zivPfdMwGGcG#w~syQ$7s!5Y4Wmr8b~3%DxwJtczGtcE5yHS8Uws4rPjC&YWjI$nXZ z*X*y`;NGzMPXN@iL1RJQvcoor_larj0sqVv)AEcFZ!Q8c=3QyPG~s_O1l*Jly#ekd z_o{*ADgK%EN7?css?FH(+4JDVo)23G;=sFi!g+DzgQ#@u#Aob6ApFMx${<|$uEh{u z;nQHD8eXFL7P`bS z+{6nevD~r}!Z^N+(t~&&Jr(c-zF;jHn8?4|0?Q;m`3T@wcxM{Nl6k^nSf=pkTfn7q z^Cnn6;68g{naSO*f;{3!!XV7z9#tTZc^}GcvU%=*fama9JK%D8l?S}!@wiCn%J_LI zMU?aLHV{_wmcfWu#m#6VL^c0$0!R(Fe+=@HPoU@F72p0dEMN10OyJ(|d)^S%^6N2h z_Li?Xh12?uhtT|}j=Ky2SI<|L!m@#%q4(z+`PVe!HSwBhz`f@qcEaQXXO;k*5prJ$ z&x)`8VR=pjcE&NB7oX^ji3_5V7OKp}%cpSzg)ob>8d0+F;H7j$dG~JuHX)=^d$vn@qR5Y3@QYn=rB&CcELS@Jp zp-G`+NQRV3_fGi?dvPfqJ4to-8YUqWFAe|Zy-?);H|(dWV64Z^K>@)a$h zx06rk1a22E{Ea>@{ty*Dz4^j$^!e~lJVAW<@aM4N$6L`Rt3ThLR?6M{@si zA@XN@H=6tlc-_Syh5Q!U?=RxdS3;qfPo{EM36G*CzCYeB7=5MuN^kU)@lLc|@`8WU z0)u$TKcJZX6(83QkaB+UQIHBgz8=EY{8viHoA|uGxXmB@9@@A6#W&E20yk`!0J%dL zOfRgv(4QuF55dC_LQjFAD0Zh%OK1Le37u;p^b%%Lvg|E<7!9G1(5f6Be1$FBK>UO) zv}pJX9SUJ=x6tz($R42~5Xim4)&79&6L!$&xnEdJDKPdlEI9*_jVh*GvQf?5|OQOIopk|fv}0&-R;I|h<0jP3-z6yZn_ zxN}0L8-0Jmkdxpp2$yGrTog8X!^0(^t`*cT3wK;G&Q#&13HlxhZJR^*SZKc$+!NtC zIeIEArzGu}(9RSCED(;-;#MeFKEjZSgnhM8FBZz^Jt`5d?1bs(Lci5OmI}+v!IcTY z8YsLFcFo1eUJBWzPYjU6kZEowt`d&MYOKG5%khv^R1Bo0_r=& zOAPwl#TN8;2CTn0 zwG~X`m+fWH+aoR;1;}18l7gLmVk>&;_KQQP7#<*6(xH(+an(@h1&PCHBjA7-I0MLo zVsBa>g2hW8VEU*SzXe>3=yw^ASkZ=#AH; zF7Dk7NQQX15(-yD$q&Xd#dJD2aaBBf65g+gMM*GyT`Z;AeHQ+h6-c&t<~xu%;x-oy zH(#_J1>_U)>k$}xCVn3dQXsBTp|4P!Ny~MSxY7}jVlnGD^h!ikdvMRie0nWP#j8Cr zq%tvmA;?Funm)5n;;LsD(ibtd10Xf1!9(w>*k>b5*NUo@;OfMw3xND4?)(Rkda;RO zz6P<&1n4!2@6JHDOPWqEvzHW}4bDdzM-h^*)Q5shKj~*Gh`-e05J-#^`y9w)k{E#D z9+!sJKo}>jS_6M4BtLJElhSG03pph{xC9a}ZFGap)6$HWAPLeo`drRP-^by`5~Tz5 zXe3EdouPMD`gIbJWNFC+=%q-pR5my#{Yz!+^U|ma=v|NmdVwxVyQwOcE9ufoa!2wl zg~C0_hn}AMlG9j_2a+CTd=I5W77BS%G_72Zq;K>HKb8up#+fhqO@i==`DPawyaI%{Tz7_<-RxMrbs|;$_$kaZpmZXKzLjJbPkSk~9a&BV zxhq@K_WeD1LLUtGzC7{R&MlP{|@U48a z3n1_0z7&SOmxq+qTbGPCO zrK@`s-sM2iM- zj#9Xe0~f8xqrK0giczsJ7Ne+G3-6Z|<>w(xRlFGoo9T)cbdoDWvELu2uPEB^Aeo9@ z*|2$4(d7oLTvJ#-1b1B#y$o)%6dkDMpRG7d$#0J0F&)Lap}5cykeiAuJt*8#1Zx1f ztq7)2I#)6HHMl#9m4^X&t;k+ZUx0#X1@5h4NCW!bDaO&n`Cd`=1Hvjr6P-)=pm3mV zz-mSIBUt&UXgwd^KPg(#ansKVXDV5KQLLvpq(0$S;MCDLlAo2|Zx! zpw>ou&Vsd!hhw-QTH3EbLbZ0=Ll~xIJsk>%wXV{F8LqWr0~8{(<^)4{MC)+_gppd- zyJ0L!%h?(V(OOv_Fx;bBrSE`@(ON~B`Z2Bbr$A!0I?aLJajlFp=*4N}QcdTY)%aXl{Y2~8 zSB(0pR*W5x&$QOlNznqWNwhE&YISV|QlxcXAIM^@p##zPMXQ!x^ct>x<3g|MlizrUMqCNQwNT&7)3b3wfPu&8@HSJ{j z9v*5RV4?m3lMth6u83XPMt|qE!?HEtqFQwIytnBN_jdsI;+3J*clxM znr#ww5^4QQ(kZD0Ijb|(5M#Njg=k7!X2GTZ+O3}!x#Zss?$IT;|m=ZT|i#yJf|(?S33XF zj|0nfiV{F7bWXg5@U_mZF(8#X)-OQb=zLfR@>a+B2&}x*>Gc5W?{%(FMpUI^6%X$p zboOn-9aZb}nvK4%e~r9IYY+Z)X+{-k-ENeyD#Ny7Fe4vGa5Sow67tb4sOB(cH9hcS z4eFt4IPfhbMswQX+Ss4cz;P3)@~^R`;K15e2|G4byU}Y~N0WkGV<>d(SLp)dfFFjS zcKBl-yi7@1gzKsP!_ZC}7le^IcBYBYNv6DUx;fQEoqK5Gdd6j1G-uu&jow+!Z6TlS zO~*dwj5r9nOYm%1m|JTOFRq$Lzm4x17M$#5l|BOj4TnZ!u# zxv)NJhYMPRr4&Jo?#Tc-W*$ZJW7U+d8~RhqVs!o{v`pLNpf#KM8m+kzg{BsLy91*V zG4$WQ8>#j?GLzPtQBJF&Y4Dadt42Fey>ZOwbC8ccJqy={ch*7Q=o+o$#*eGfj*FxU zf{CUx$KUP-J66MJ#-7kX5646s zN}V+cGzVGl-vRj~&(Xl!l>P?`4##IeYqCt+<5OzJ0yFiCDJ)E@J_C%S8P!Lf)=+ve zou@qq=lLuD+{qhyN(?$vac}fF3M|HKvWLI1`ns@XxQCuPqh3_YHXhj$*W-+7PBMww zjce0pBXMnZwmV*s-P**Ro75W(eh$H$j4_N?hBY=r@9@Mu zXh*1a!pg|#aP*D}52Jff&>Lj<&)+Pd_}3+cin;yvO$ECDW-71`@b3W0!2jq}*Px*- zpg;HqJs)}(qTz2?=Y^0DFWLyqh|(3XJ92d%X%Lvs*d}c!@Lq6{35+F@96bqOxrL9Rbb6@nDU-HIhU{Uk}t!mp6NYv|SOUE*o z?qU4#GeBBhr~E-vOTMfvui|=A18vaS=rqEbZ7Z71?dtGt3ih@>kT`s${g}z=w7)jR zvmLId4iqq|X=*AeIDTmbq|c_(X^O7M{Z^DJ-(1TH|8fPmnKpmk7+#Lpjh| z7UGBA<*u}9uDG6!-j!XbOtgxdf-$d-T>z~$SM(uSyXrNN>%1O7vc7I2M!2DX&M|B} zABlF;m))?i`Rj08Z<+rB*IV;x_iJ0ozrb(*L2IWQBTYlc4km<>5O*efD_nRmt*98| ziT`mL!kx_PLU6m7$bZr2#rSl@XW-4;>yJJk#)G~aUuN+}^!YLUc4G|w%tBhgb~Bx5 zuVxPuL6z0LOapQIm`Swlw4XUkWugFPV+`~HnN_r%6U11}03?_>H4nl=%rQrh5axDQ zAVV2%T2sTA4`x6fX1KH9!kM*aKq8m|+Ic&|3`~RfNXC`EyeP(_1^S{Hk9_z$$_%26 zJBBHxRQnjCoB)MbrgSBQ$C;g*pclvVr7GbG=ClIbN#+veVW*gV=0L_XkB?(4r<8Y3khiyis7c9?s4D!03qExfAgJ{id${zb2N`Ba|<}+G# z&Iw>Fv#BUJ-h&EvRxytlfbg$NgaZ)0JB&e}u4X7cm45TE3-Y_qgrEa%?|3Pig3%16?DAa#d3u9ul*Td+9!pQ6_0& zvJ-Mu;&r+i{Ohu43wXl^1A#M=)$n1gRgH0soAnL7CPj3(+;k5e*EGAE0*QIE%V;eE zs>#aO%do57PY01L4SV5wd?X}iq3-R6~Hfyqzqw^Zx38At~m<) zlGT){EG?v!ep&oB;FqV<*5iuIZD?24*Fv&t06sNgwa#f=uen_hCeEm$?_a@nSQ5y-t6%bT$|^=M{6-! zK(Fcr?IEj`aj-u*{h;4j31{FEDdmX@kYJu6r$|i~nr>3jXPD?t3(KzZ~#^%H<6c(lQ4MKL&<|kN-faoY zx{vh4uHWAmlFg@laJ{A7cObX^*BZUsf_z|M`w49G|Nj0*v;t0J-wCXBXNry|#YF;P z)9*H}ZC9w!YnMkcynP2sr5)_){hn+)3Kplh(8l7_s3P=ETeTl@$J11acH#%a+VqQ| z^cl^Wf_BE{3&78;@y7Kmhtt5!zWWK7IW5nkb(v`g$=pVBU|fqSGn-dRx!(L5$^#Zu zZiHmvcrWNK`aoL-iz6vWT=L!qV_W*qCP(%=& z;(Cn(X|26V`P{nJ8(?j{K7B)*C-J~+@&1A_Y>lCjY>P-k@AeLF{>+4m9l&WibO6rU zdkbt$8k&pNro~Z=&$hc0g(z3&XW@S~%JnuVT1+P&k;VO zBsv$cYVivAU448Nbk_`^r)+Jk2>H6*G~=#sOEvAyFM}Z2qNYOgRy}&tw^h^r_;xq! zTmAoYbPxKP0NTg0PNX?-l0D6tHsKOlTbXvk?B>}5Y`<(QY&p1dkWXGowTvld$I(t* zEWy(>(B+FU=mQ;~T5NL-$Rz_Q%31pN9eiHP)>0n5 zeDruoR>U>I%Sz)ST(1hCa|5gU(3`cUhZfqkdGt-JvuX}I>+R{;*}Rpank^~5KyF=3 z>A^OK7r5S@gf-&#XXIP~oJJi2ob{%^&^PJ9NwhX~v|`!zxDL5p-8*3Ht=!N${Gb_O z@_<+9ozjVFr&C9nKt8RrF|0d=(wpm~O_9m;FA?Z<{zdudj5rq8Gp!HfZfD)6ZG+jL z-$63x4b>D}Y-t9aD~^KPb;^IRGw(zOY|c-A0{MalDugc#IS2V7y%q4jIEQLIOG*~v z7M2E4e!Q$BrBlltXg*$HISZ1N`FgOt>S+(iS1&6-yJl`8wAP-W8qB(QDz&e_LrKKu z$(tbG(rAP0t^0?<*R~e-pu0Wx!=HDp;0O?!VtR(Hbp}9xlGjA&+jOGu%Jv1tWOl1* z?zE3z4NV7b5G0dVmOyKYG0j#}Wy(OOouVqKV@NbGPS!N@O@F`x>HLvm<{ACw!sg5o zG)K;Q{1}qiL#D#xoDVeXyJS)&X72E=&~=qnK+cPyIb!~yagZ-C{|q||3+U-s^eh{_ zi}Alk;WJvu!ot##ogrCPegnG8^=W=wVfhbiu54Qf$*O%1aJ_mQ9nx9Tmm<@(qcpIy zPC=3R`hmw_XLG%b>n)-++O44;Xt#Y@0Xy5@;n!aO{~Vb^e`L=ljA@kdYX}WyQQc&8 zLIw24w5JNx*tc%zHMBYbq>&b-AI5KJ{u^gQiI&Mlik(dRZ^pG*oEDJghbdLF$T~Eu~-1_wl1MS+Qt0BwSAXkz&Kca zhGg;~%0s3U(V4!f4)hXC+p-K=j-7A8np2mv@G?Eo5v_CV8%So%_yXOT4OBCnRXz${ zX4}R>GH1*dv@Ti{&(Ae~3cPEoC9KWMuSGlm~8n1$BlngXq<#VeRHD;WY^b0b=( zEWGdHPE@D2<66y8vS^t?dD{4PQ!p~Cp@(rjVd5IdCq__Z+9sNkQCpJ|wCeB=Boj2%urTpDMZPv;SE9Au z6@y+o-64?M2Tg!whipF}Cl^xXbIQS|usn6N4z8yq)T4ErNimnxF*-3b{hB`PI~T5p zof)aLvpaJ~)}K2(+Y^1G+RcWJfeGy^k8VRx@0jaUP#7CkiPkWXW+o%kIglHVo(}zS zpB6yNrfwA>e!kV2HZ8qA^oC*sLK2%4ZyoKhDDG5I4o%)iB1=F%A26eo(3)YKLM`>^E<)o=>Efi7_(v=Y>lmJiEG1C z6qOnMGZ?LLzBcgVtZ6Pa3Em1V(^{&DnoYQXYjZOvjK*TZ9Y|F7Df3oe-3y7O2aDeE zg%4oC%CkA-6WUYsF>!MO+JqqSH@GFs+V2wN)BfsCci8&~dY#H^(L24TC$yaR&^k9GgPyFJHCSJMe}~iE(Kl`h%>*X3 zw9jH1WI!WcK>LK|eY&Hyh^OyeH7E`k^{q!}EqlCymGPrCpx0{7HQ*;iE~4+mi&hRz z!56gF@yF3ls#yfQO*XCkw%&X81f@ z+pZ~u1v|S@kW5+hgg!M37qrv-%Fye$mX20B{rePlrk|p@+W9yGJ2PxUa6Pk<=FVAd z_n>$7o;GOb82h1haX1Cc+@F-`xEgV=Ht%W&T+iR>|L1LAHxQZzYiXZibjnpVsxBCZzk;oC4z#OgQg#Xw(=4jsnYE`{j`^D+jN4-4ec)BOpW#V; z_$~038;%1x{@)jnSY;&wGa-%kK_-5oxLfld&5_o(ucNi=O>?h(Ps)WHW>e*0vU?-i zDHG>HGIa~BaMN1sg~V|x#j{TL^I(5^6J?3cGjq_+$ZrJ;GvDGB5N5TfiuLTOB*^D9 z*aPX}jn(A$+i`)O#$;yKc-%?~vx1`7bIhfw;LbB6*MeMNiUt9Dkx}3|!4FpIr$ON| z(~WGVGNY-coW@+Ygr9V#iN1^s=H(=CSD0oUp_j>&cmQ&hnM&%{nB9XRyv}&gvXaGg zpgB34v8{wKhtV;I@CK7g72cc7xxZlL7Bh$f*4s?W=}^yQ8eGBMVWMFjf937;FCgzR z@k5|~pE0Hs=>c;%7=w7oDg!)q^Fb2YB zOp`Z+1&rZa=oK>U9Uv@X+KmNQ%q*t5SP7F)Q~h&hF_pnfnR83wwv6$nZ0`j#G7rd? z%(=ZFubB0el9n_7(Ysi|oIQ=(E>=|2E{ zRgBXN`1`_hZ2+#8vAqYb zj?o#3L40G9sDxF|q_l@Z1M_?~xJJgEYS!PGjpU(;382d652m{j$WLZlBCPykQYc+< zV^11EZwKpn9D44og7#ND*w?gu>B$bJn$S*m4h6=$*m;Gx2QT(8ZN_@D3tEEnVOMnk z@nvn+1LDUHUIlf3b|md8?`A_&fZW5rq`77<`|%UJ?_;~)2V_6nvKAzO%`yZekc~8g zdJr4F3nM$gw%H7FknQ&#!eDj=jpY!#d^bo4>lFYiq3m0V>cZF$RK7jTj*NuAaCZMr z2qRbvS_zM^X%sF*vXcx!qS)>;U^ALEZVt#%b`>REG3-Q&(vPuS?BFPteQ62dadv_& z)Z^HFR0%l2wrK))l64A)-YGW10VJM1J`s0xnw=biz67?UGmvN4r!i1ZWXC51lEmtF z06EK^XbDI%`?3c-q_AHonmfntI}G7@Ht-;VUD6(GE0;g0VsK5^+7)I|8Qk*i``QFMEx4NHTq&Bfk78>E*D) zdjN8S-9Sn7P5ghM0Nr8(4}-hScA!d3F57t+hJJ@_JOOf_oz@8QfIUxH#X~lomXtj9 z2F+EESo4n{kJ&MUVKX29OC}&sSZk^-6tGWdaVTW#$U_m^djU)rvuRD>N?0{by3g5D z?$9e`J$ph}#^Tpccu(25Ht_e7P3i^6D|Xmd*eqwuX?L@NZQC8>HM`_LC{(gV#<2N@ z-LwqIx2zuRbiHE(XjkPu8#4xaRqQd!3qG(#>tOREt8NdySgwjv)#KbjT503Bf9FDY zl1rp4^As171S|1exA!0koMjl0XSmjSfFyFvP>{1+1;w(-+#U*tQn*Wb;Lda9PvGGK z=TG(6i=2IX^j+qHJL0QJ<=oFfn8rO@2}lNK^c>t3ZnZxAWpX7{NV>+gO$NEnHAQ07 zS=_Jh=*!`YXTjQWU+4TR0doE@#e`P?)*_xyxgM%mg^ZWx6I&p7SoKo)R2VxeBhIZ@nJ#2ujE zzJwE&0`i=*q1UyPyWSJRGH%}&a4)z*GX08sWD8+Ar>h4K72IkHnJc-2BO!dlbvpnK z|8YidAm4Fc=R^3OYd;JgsyMSd;Ho*pRp35yR8q$up^H%CRz7oGDJ-esYVX4PSI)`> zkXp|CBe-u|^nTc^=aNPP(!e!84${bNqDsnluG4=YP2AF%K>pwgX>s|<9jJp%H~xq@ zxE;I!z3uM&B$@&|`9(5}?c}o$!uu{ha5IozyyH5kd-G@N(dWZ6pCI(*`}Kp+pC9-U z!rlCKI&-jxci8}cd-=I^T3{c)v>PA+{MIli1oAl+@DRkiQ^oiof2ab&U_OWP%|rZr z91r~cM$b!w=Wfp^eCqyT51>7i6cqL>TMT)xna(iWJAh^%-C|n3m6IqL>C=tAoxUsR zo9@@B3se35=!qY2v>x(-Ye&GzpwAT44t9SF%X;?CxYoDvhUFpcXe2{hdg6N6m7C}t z9!Tr-h$l47kNlU42&0x$F~Yzq5$)&)RFW7o<_50EdeGe)CJMkCX;IP4IDj@K#_gx% z3ppmPO>GtEHEU1hFY{p(&|7SeL9eR5E%55ROkgY@jzl}YUoS|kyuM?!6Lb{7PrQ)_ zx#r#5G#xSsZl zz7WSV-ne!;Kw;W+8yVNmR=e;y%xFys?aZ}NXlMO=3;FDSD8!o+J_pw>O*Bc(J^3Fj zxE5!^`#jf$urPn2H}DJk?T38fCwfyCb$Nu5EIu$4y-R-56uO)tC8t4+?%vYd<*gXO>Ypa5uAzfx;fdMd0=_NvS~YV;qh`xSwga z7zzPQ4wZ2OnIt1Xf|xZd)DJKl@mS-(2Fsj@dkAJOrGgw{%65T-Fl7`Fg)$`+pN27s z4X}Bb8My`|oS8uJegqSsfaxR5SRHVY%w`H&qnPoOC`L2wsLXPdc`+DV470W;935ji zf5aWdGTmvWJkHF_M_(M%G!MuV40{PyPBJ6Q;O`XUQx0SCjPV-ioo4Qzhh74+mQHw_ zVa#ZCO=LdhKre~W`VNJ&OmY~wWX8=D3Mq_r4%E*vbyTT3&zz@1)&*uG9cj484F3iW zzf?mF7J+xD0U)VNBb^>hV^&gRlFn#TketEn`wQd>!_%lUnRb+bUS&qoUgR}qdtWGA zXVy@ToWq)3dG&sVp>ohc$+bPg}z*-WIc@CVJ1$4 zmAi~1O_=wXr87Y8GYfP<9x#`w$or7_sf}^wF*hus@Q4{%0O4cii4r8ANlbyiC(MsQ z7{pVilAa0t_hx-S3K*8wwn8Rh5g=7VKnHBp$%9xmR zkQdBjir8KOXCG&JE)ZZ|zZ2)=8Xq7_Y9W##R_xDU5 zg{NWraqV!q5n-)E+CHOLpHhVs!GCgunFzA}%N!b&YO z$Q-1O>G%=q-n|elSxzf&66l_XF}5 z)0GxOH+GjRAUoJlUnsb;RfD!`Np{;107AMR4J) zFU|Q8?8J89jv~f(>{I4iPs+Tc=pFNpKs_rc>s6n$4lOC4t?(5ra6x)>eWfvZhoiNn$UW z!t`18XEub%Y#&D`q_7`&2+y$%bok&rJB7mE3+#D%q%N{NJ?xiQ$3UoGX2%{*YDqBP|^EI}^VVJ(o4x^J*S*#6(MA_`! z6AaZN!RCd*=1n$lA^L8y7dK)Mx7lo}I^?q55St@fKGqKkciC5TfA`oC^n;K4 z>_0TSJz%j0QtaGL7YcdoEvhU%V*jGD*JIXVGHm9v-p|23VYl=J@+sSj3JA~GLFds| z!0uWGu83}`&68M%`S)ovXV8TO|UoYWm>Y|vKe2{_l}L35AvSf>kGXq)_`8- z4{Qj157lfCoj&-;+EYaQiOn7ZE1y}}4v;Tw5v8m(?7=n=eq|ri?shHv+7MhFtD^7y z8++phNIhFku~!4TKCl zLAZnKxD7Vlxt~;d^WgT;hL0y#K)d5Rx#b-Cc5&101L?)pQ;g-!y?6$p4|i)eIA1PF zK%XDCwE<)C=MK7p?BIs$T* zlQ*F+nX}jqVG5^=f%kJ<1wBOPIU`CGFK}+O<#my}*8^ZUv!!)tn=Ul1K z_kc@W1nwdC`3OiJS5XX`kGQdGVC6Aa_6?AHuCI)~C!C6Ec2Bw96kR;y{-wRe0?wfn zq>!tj`b81Y$ zAm!XH3c)M5H}n&O*PQkeaFyK6^BBY%&V%Z5Z@GyokoR00+Fh*TCfT9y1Gi}dOjmPV zXM_95S<#~LiR<15>Yup>7a{z@wciArHC&6i5Ps#B&;nZizC$R~cku0Zz_dFb5(dtL zZ$}w{C$CHI!%jZs1(3V=Z@s~Jfdj;w=P4ug;a&BC^yQoD0piEkQMtgM_vj7}yLo3? zMfdQnU7)v@uMUB5A3xFq1KiKICq2}Qtf3dkzx)755Fc&{g#&yO9qT#B-yaSV%!jvu zFogde1!O4y@Fb97d;`tihxrE-Gl%nw=rlkCzhey)j__S5D~sesT2rI=ld;f?<~z`@ z!H@C-&%t{PulNsRImX-5DeqW5lPZSCd24^D$MKD4VC)3{o)VRl{Fe~uo#J(R0)juk zL3^mD`Q&&&68O&B(RYRq9u1p`eD6_!B=H+&gFDNQeFc)tziS7ZDSUrt=$+#iP#kie zf7Tzu3w#F^ykF#_sn&6sA4HEvDt}M~WE$^F_0e=bp9-THd=$+@SNO(MAT#-JeIT#$ zE0sWAVJIstN%e>V_)xA@!-5Z>l{)2>l2 zucSEZ4nL_MAb0t*25@_iZ=nlvpU>J3;RD{9rtOD(PYc-0`WJ3-X4Kq;03S{Pepp z{f@W#7m)Y-$Ymf^d~cdmKk%zAU`W;cT00ElBOkc~jy~~osY>ygUyuRF7ruP}`fB)p zoj|_wf!*M?mcKO=q>lfO3j5#q>2$QZo{#MVu7MZntXv~MlnwxV=cDLMaTEVM9pne! zrU`mK`L3See)0Z0FhDmU_#1|_Ll9d)!Cjcq77$P27p=@Y1;f8FmR*99tau6ev?=B- z^qLC=AE65k-d8B@3@d)ZnQP$ug*XrB?G_p-ciJPU7D9cm&_t2rKA|Hm(EEjf6blCk z1`g;86!K_k4H8@^;5i_eJ;kjY6eepy7%W_C1muvAK*jkG!R!?DLWNpKK*EFsy1&Ch z2Rd&YE_8E%FhX$s3gHp_`40>?Qjq+i7bWa%gT81Xp5DKs!V!Ov7~$aum_8;vqlr3J zurq`3xKJJsWSnp%48jxm)9w(S6y6Pnl~aN_Z863Ruc^*+T2QQmFhQs{hVYDVJOaW* zp_29klLQNjBhLytJ#i1o!gBg_&j}K(Ip+nI)_@DbioW133Y%$pxg>lnfWOPa?c3-} z72cLXJx#b$2QFPW+#l*0LX#dKS8$jb!c5`sO(0i=H_PGgny`dEp6i0wIv}%zZ%H88 zLgsXM$PpgW=XpbD=LqCY;UgW-yd|)+AiRych4);6r?W$MgjZBAy(@f}2)%oPHP%O0$CwUU5x?07NY3Is}#CWc=rZBYKFpF!FULU^iBw;Q02X#bOW+V_&`g@ z2O%K>T($7}KCFBc9ue}BP)a%8XF)WD`WImy1;{nRdD@%(DwtD7TPM7ahVYwEFc#|d z!q5re8iaGYaN8(sr|9>)u0(9# zgc;&m`c?N8@l-z;%M|a^zVuabJSDc*#3(u&eq9_H3z8-3uZCW>XqEvkM>M0U`G(j! z8vbsI4LhNJOMKZM!rNjDouSAT*HLZej;L%0g}b5^J(%}IA1dVC7mKDq_&_XZ2Ja8W z{#0Ab6OFo{?~(Yd0ahN1av=Kh#TB&O@kE?Orzf6@JcX~%#FG-#3&hZi&?^*OD1<8# zXa57PSo}dZRw5p!Lno!8e>=D>6CY6o|3bV*smV)m{v2?x#QU^>m5Z;bPE;Y9oB(+( z4)%var8u=0$Qv<&*6_EY+y8#GE?OI6fbT^)3;wFaY>H++h^s#VSuK7$2kxV2Vh+eB z@#kKc{w&@yfch7)Q#KT8MD`1~uVN!re`>`RPXMVCub&0^CeEcD$a>K-0LTVW#|d1c zm`g>V@8Y+C;F`o68!-4E;$X^%eu_@j(EBA`rXPfNG4(aMJ^tnr+G&Orj9+yEp zr5hulw^Q0cvFR?U6Mc|gQg=F0<1MiiEBZ*U+d=3nrQU~kKdGV^3jUHCEg`$5AM{(? zJ(3v(8Ny%rl%Mwo8GZwQacjHO89$1c;lp14nUre8mQ=dQpzv`IVBz63=%Jy_X6a!8uoc6kM{z(_)h%DRx8soRm)6ndhbG=in|#FK7+F zD0LYK@0X=B6ziu-B7N^^Qd?sn(ZhN)h=|;y6H_NKa?L^i%2O zEkK@0ya0s)srVTB3Z)BYFqR@I=_p9C6geEi5@}8nxaU$@9TZBX>L!e(OgcUk!WUAv z6(BFA30r`CC7H$GZp)>ory;D6<`03}*HZc~kV>gNt?zH78x;1wl}7(>yHR@31IQ{V z$OnV?Al;@|zgqgM0>Y0{#x6MeBn_q&=(Du0J-9DY8qG^JQW?!|U!{RmBde88?}U1t z6y*!M}9@sG+){ODir+W ztmd%kFW;ep;%<5Tdi3p)+tZHHUitMcINB%cD}mfEKX3sFkY9&G7$_I)0VGIna0GWy zcBQpAST@-Ue}`nY3?xJj4TrH%Il~?v!sL1M-5!>`4}yftGm@bmAq!LnJtB{#vR0(* zun`JTa&##aqUGAJ7}8O>J5{h^(Jc;V4#C7(n5;ypu|Zak4EX^(SOKI;?h5 z{@NLRr(|X5B3zU+>5;l5D~Mc{T^X28m2;D!o+ev%fG}PDd=}m_ zWW!95EAlxJ#xmtFDx6)Fhj)X&Yx3r5Ag{|->!6n<*EfeSTRv_Gk|XC?L+^%c(|itT=s1Rf2HzjHz<_J%`(BgkQa6U@}+D;mGxKh>OgSivNwgA6|x!q zIhxmU2-Th{<#{}~H}cRX7<(%-J>lrR961+Os^qSes(+Au${?(k|9S-SQNB&((@*lh zEYv^C2dUEbMea2Mq(&B3!OB;eRe`IOgH8idCmT?b_D#N21yV1sp~7H;+&>?Ejq*in zkneI2N_U!MJBsIj$e+rA{3*wpL-zm9o8kriOmT;zzz>|e!ku1w55?BkQ1?_k zGJ$ZXqA!KnyA*}=9eF91QuyPoFrl!*NAZP9Nxllq9eC9gZ|J1hZpC8<-1{Cyc@wPc zRa|%rnR5pSOP_(uJBv27S;lTmLi2Wc373TREOR!>I9w3Jl8p``a6d}98 zg(~X(@ezb6deEV+!-{LgAmNHYDl$hXeo_K{MA1mub);e?Jt0wwbFL6ZD~5K$kd7*P zQ|1<<5U2`pOflI6eX)wa+(3>i#?Y~&IK`Sg^qo-XQm%GVvDY7iKc#3x%Tl~z&uNg; ziq7i*Nl-|x80Q&9IIZ@HiixzYBq?$RK<}(#4eezmD?X{zL`MplHzMOKrSl|-iLas;#Cm((iA0j;L;Ti#pugWu(bYNQ3OthdZywY zo$t7+n8*NfP4V0gR<0`+|BJC?DNfTHm#yHc!R08P(Oh>!aWWW?n~KsR+J(fwll*eB zdy03t3s^k=y%h|e=KIrJpTNh_W0lB9`J*q1f073iXZc6;g5i&>UI#LT|FQ$zIsPQw zzUsPl%;>dUi*H7M5lW}Ov96urQSYBI(9r+b_Wy6E=P8;T^_tVhtNx)A z&Hf*|g|_PTa-k^b>z-o%U;2@%0(u>3|3W_!TfD#RE{Pz!xg73X-+%5O>?O+m^)AK{ zw*JYV@y@@E`_xm=-miXhmp|T&saCAlm*zJ8)Kh?YK}tzLhY z?qWmHpL^4aB@2y_bjM4t{lVT}OJjIwP0|;!;{T6#6-5|&G9}phgQ-aRST}JJNWQK< zomhRM+cgJ(r@9(j=snZDO2?rKbRE>_E7V;{$ybr?l6WW->)wllutfLJXqbMk+xu?} zqEt7c2EsDkWv#%y&~5b^#$M`vqaxHR-HF|xSFXFBPK;IPX3!$?S~vRvkd?YCXpVlP zJAf*ZZ*}L}wODdja7#C@g7GW0!AE^z^QsBCG7 zA>}DwXhH9hQl8E>w>B31N|P z`de5jRvw~Nr$l*#AkUR=enGEPnb#6l%9JhKfqbE?q7eC|a^(-)*ehi+75K}Q%QWb# zP)_a#?zM70RTCIz7WQdkeSUzNiqfz&F)kHSNpGIa)!-;~GApkA-E zqjNZoQksA=aO|1;S(l zj&jBngE_~ban4{beW2$J_V)$3U|^O6_(cOJia{t!_*V@)mjQXrAkG$$>jw1)Aj~qjv+&QfYD;A>y<1e6 z(=SC%_Isppg$f!o_^V-T$FYqg$!Ikdl3 zB!yQ2tqx#C69QYs(YzYeY7*^o9cXp^E%Xkyx=W9Ca4T(C{_QD^4utDP|8LPVRlr)7 zW>qmrwkB&d^m8;Gx&YkJlwODaP0hWz82>HJHz*6YHSI=0n5(gfhr%6AF-1mqHLbRQ zyQeviwMV$Gc^3rX15NA07}G;d>|BsMO(;Dl)W3(K? z7n)aBDOb^aHrB znsXt5)N0PtZdaY=7rFhWNvQ#{UUTFh+)9IH<8_cmO>-&?eb@90hF+6q)dwJdX#S>2 z_os$6g1=vymM_4$SM4nyLl@*on536jnpb@Teq4z98 zwZ#(Th$@H18>xEX27HvNqZ%YyRecD0M^z_+&=;dhb%*I=s#BCE#i~5%$1KNH);ocW zQw^k=;|bN{EN~}P=jrJ?r84;ly?9kM?G>C>4PJ=81eGam5}Z*zZUvI4>OjXYl2qfg zp>S5UmV(t}mBJQ%DJs7K7}+`1?kMz~S2fc6dqK4|58OqSff2Y%s{ZD1ds$^oZ(OP> zZ#2}?R11w@GhMa#KadR7D4MvgsE$y*E>kuCJRnz9+VS`vuc?|v0CHUwOZ$yks*Bsf zWvjT&u$iNp>kYjds>zn%ZmQT97|Siyj1LgrR<)*OFIUx^ssMLXSr^fFS2ZOC9`32) zGN5o@wWbZY2dahJ0C}joMN?v)s$w4c9;u8sLH)7HCm4PCs@(DDd!lN^gFIEu>Wh&* zQ^n9WXMw7k;@U!0C`D35swdUpidD;#K}u9t7`T0|%A{4LRCR-P_{&u4q0oDw`gIoE zOI0f69j{c+?}3!7(g&cgLKQ^I-fNXxZwM<@xgDYYMitWxV|l9@nhw+NROtyA=X;g$ z8IUSf{(J~OsOC3=&1#j)XsCZwDQJiIld6iUy`NP_Y1`_HYF0QPHL9ERD1TK|UIVFB z{i6McI+aN&Am3E3i=kex8brtJ8dS3_!8NM3KS$qp)%d$WHmUTDVfu%PrA?Qgs?I@x z{8HHsgwRdhek+E%Lp^9Mh`YLoq6rVRI1!wux?3z1cB;L0!^$r8h8f_z)NMOr5Z>xN z!$5r0DHJC8s+-w^_^DsHLFlg@dIVN>tKav6hdpWqZK&;4x1xz~pPFwERcmu2vUz51mOYoToK$sbw4`w5v*>J2;m|1FIsy;)Q71q9I9S!j(Z4G>n#Cy zSiNB@AmQo~Dt$z#&n|_(BkG5=Q5>nRnFwT*dJxT=(dy3hSszu8r8-!Q`ZU=*rnc>l zamK34UO?fv+Kl$}PpN0o3mdNi za!I{yG)8t=t*=I3s=AXiNSeAU?VP8pvs|E_q0a3Jaz$;1Y){Bk2hqxRRo$L)%4_Ob z>FB$z{y)y%1WdB*Di5sg>V4mv53>XkXsRT&I$lKNQbvGdtqdw7BRV27D@z7H*OJ{` zR&`ZVm93Tlc>psYSw;gGEOukb?8t!G444r}U}3O9fUyA^u^2FBBp91z00Ex=Kj)si zymuq}`=+GMhmUKK8IgFwe^WW z3#Dt{&c_x{eIqWno_>YnysvnMcHvB5{dX$vfAgnl>iXnAyAQ3e{W}lf`lsAOQt_!T+=C~4+K{&6zx6(=|M44RT)pSLL;U^3&ppJI*Z%Ak%ye*`cE#;e4JRGl`;PCz z@5erhitZ;(ehAO_)c3syBbfdEo%nljkv@UX{>K;HIF5fg%^`Px%6a^K=<`St|HfC* zG5ZOhNqTeQO#h`T=jra%2EeEh&oop+<<$8UPoZ=mx}-SqkY6?gvJP5+DP z>#yDPsb7dUe(0w6{1hJjCpUd8Elz)V)6=w>|AU+VE`5Msa`SgkME<6qC%neRXTwvR#2e|`M7sonpZ;~y^2_VdSY{&|e$KOg@ja-rWk z{xiRew*P+ojidm7bo}EOqW7)0eAeH<$M@dyCSukP-|`6`#0@`w%TvFGA^qGfFZOZq zgSY(cLwx+VTPDAai+^y-w~{>n$t{29*KzTG-SW{NjT`>qt&e;i9{m-!emwmlUwi9! zlc~HD3E;T+owwcz2!K!gpIk#5TvRmU|Iw|_kgEK}tzSx7_?Fw=PR96-+iqV&mv6l7 zNAE(HZ@KMb|0Qn!7q`v+7+wC=ZNEU-;C;7!1LdlJe_Ml2ng4LxUz3Xc=i6R?2k!fw z+rE4s_kGRnkNh_?RWm+5Wl|v&Z}REN5ALJ&w!x{rnIkSqT9c}bK_-Dx_rZ3pVq*|Z@TM;&*FXGdsp{gs=pB{o@br`b~NW{_L*br}q25?%IACx_r^y4}LNx{iS!mqrkuvXZ#RKU1 z<@bC%gL}U2o}d40e0Sm(7m+uzwM!CD9U{0 zLszMheBDELyaqSC>!G)P2p{i$=vTfG&-|^2_Wl&VKK#(vQd0lphi+lS$VVQ!!BF0} zKKw~<#l^3B_-!N*|Lo!Y_u%7OAAa!*(Dq#q|2a43haUdeNAc*Nc=(II8oz$_;SZAz z{?fzuJ%Azomxtd+YuE2S{K}W(<7*#zH${YReq`f+$2i~p$T@mgzweO`kdwXlksl@+ z{`@0Da)4ibr2CtA=5IdoZ4~i-?~xxNxc$#ZzT_5k`Kw1RFzWM*AN@p{mEZp8$5Z?J z%17_GhL3;x=!YIb+kbfUKYjt)e*Mu8eJOtZ?xUZvg|-hr`bm4-xJQ5Ry?Ew7eC%~M z|-Zs zBKYOUzL=c%OCEpi1f`6$hqm8-{Lg<4H~it_-${!3=Z~KQcptm}j$_A;AA2`A?9DfQ zwLYhLr@v(I07^5V7Y2gmsR`sHI!zHsCEljpBL_r%p}R}Y>zIDg^t zlb5evyz;`OgD0OmfAQJNR}YTra^p=m_@Eo-pS#p5&fA@tOL*sV&*KeO59P(@uf%;h zre`i*dA&8gaCrI34c|dVc;)g1bh%g=Y0*l1W#_@C_9u(+;>kYd{p46@mmA~dt2YkM zU%e=6Q<>6}&tJYK!^2RYzjj?_aq-&Kr!PO_uReF|7$#C)zIyraH5a+uSl;sL8=kv( zc>PL=<$2As$FMu)rGux>zi{QSJbcsh2RCr-IIi6|yma~MA$|aX^u>R#*gTKlkcQk7 z@B?Jgzu?(p*kAtQx|J8s-#9=AY`k2;Sn&%TxagO!99+k*JMrYhOL#fHgK7FV#^3Kg zcI@ec^M@~7mw{m{<<)~1vGU~`4zAz0eC;Z3MHkHQ@WuXA{=t z{3ZA0l3lq3=+(AMH(t;$2bbNIgE!z&dX3Ac-=2N${NeS>Z@i$tF1K8V=MLSK=k0mV zKc`&?2Kw##p?mO+gX@@qUc@W7^ZLU&9LiiU;1_PV$G&*UJwzUVuT2GCbSnI!Q{gw6 z3cl!6_{B{HU)@yj?ZyS23*L=iIu(4;so+ZhDg3~^n%WWH2&8(g<-Tz?yrPrkH<=5* z=&bQYXYC%MKiqTlhkKO%XzTOzM<@QV=6?8f!=n!`y8ee3UEjltuHWIsb-m&6;)Z>( znP8dS2=L9lURNB?)D`Er1x6jF-KY5K@f3}CDxjBGeEwoU;AhWYDbF8Xdrp9fNXYg} zaR*$$-bHut0`{_b4dg1CDs;|TLr(K?Z zuJRi&kX``@q!)BsE7x>GYZrmbprD7>uSL|6Ga{N_zWDmIfAvM!*R%t+H@$#u4i^rt zUoS6SyCifC)XAu%5zhO8kmNb#`5Tx45z=+S5-63&r3V1}2iGq@|LnnafB?yE+{8zs zx1+=l>N~LOxY1GS%hx|E{1AAE?>|P>9Q*;iyK~d6H$QyK&9^>s{P%CZ>DHG$f?v0O z)NME2a?`Ch9slw-H_-A?$N%8whWvh~{QlVEA7szlK0$ijeB1G_c=Jt9ww}E8rrY{A z-wgp^aclN!;B@CWt%JH<-D7VWK8z+y=#yjP#+iG>o;kaK8_m_Chx-_<0Cyy<9lkRdp-Y+NJ z#d0_=`;+Eudw0=j9-9wOmy>0$?2iY{#)(&+m|vS8JkxmP$>tk7MYFj+8Z~#fPafM{ z^vc0-Z`>c2!`WilUG6UUs51>6`UnH)Pj^P;VAAcE{jKiK&TzXtRbrMH$7#N&JLs2Z z$2+nD_?%1!!;*hmjT0-I%DwYfxF)#{vK%E=VA6QQwJYZVI0wgudsw}4cfkp|F-&f} z-mmXS7C6&Mp2e4pcV@dw86p;XHeHm1ZePcjYl(+fYnNxvrt>9srQIB0Ddzp@q`9*P5xN%J9fCcViT7%wc zU8w*D&En*-`LeJ3T1x9|K3w#>+t`u8c&}J*oH)AOmULyWbXh$b0CX!$Dv&svk2#8F zxxKfI?=2!xqgX$->;o8w`!d4ma>i}S^b>Was9wXMB z?VcI#&fEt!k#AGT#}bTtF~&4EMk7V5t?2?V0&E>^cTbngd4IM9lyIEKWDZYFm23>~ zrQDvLl_fHYA&4nYaJ$tzQ}*Zm;e76)UZ98go9(7#CEzX=sw`R<;F`r%C|s z&N6*owN)QOT0%5Zkm*l33Q&|6K~aizAt|k9v(s#?lcXrAnD=E9Fy`K{yIhQ4H*~9J z5Kv^`sFkjPVzjN`6cwm-{WfHuXWb>%_w-&{XP`*OP4o>qcwQRr$!Laq-99#9v7FAL zH?=`V9SNU-_$~m_v+eEe{+W@!ZrvkR$I!h~NB5!wSP?p9Bx*P~y#Tcwb+@-cD@*(w zHcq@`7a179G24+K89*a2oSpe%l5V62jI@(3NdSxCPPex`EH?od2@&XZcLyc^7=oP0 zH)rr@MMuRZ*EnwV7lB`TN(2l}?)GD!@Au|s(g_~XQ71{DUG_Jy+vIAV1#T)21i-fY z%@G0CAhKm(G8@i^(@qRlE4t{528&(y67bUAX;MZ79GlEyHWpy-m9y<>ci;$!pDPw) z0`wZp%kAM#b-k0u)vKL$OV*liHym0lwzI2P>7(;9q@XyX6m@4XoOE{vGCSiMYbqOz z2jzUfQGm8#HTv`MatzW4=Gb43r#s~kqS5@s$woqbhTvO!-R<3>6E?`&PR6J`T$eYk zi!7u2-6{oiIGnDhL4HTcAGxC{Gqsx$8=*8sj_hd4K&6Rgzl}}bZ4{eA=ZP2N(-<|x zxHZ2M~LNzONl`_l`D>*4!fd>V*IEOtsVLYgJg{L~ zBblWI*-54Q=Bb`=(e8MsEdo4R!tz6kKfRdu%MC35*}>AI?C@;5>}i`WH|6}XlW&96 zHgf+!;e-@+uz0&W%XX^-+<4IQ%hzren_NB_Y`4{p6^;!Vufxu>-MwKs?@ng&rv*F| z(W!FP_*mK|49p0N-<^HHNV|1rJ~$@`Uyw|AXr}yZEp3%9OhomJqd9P52lX(BIzz0m z0INy`Dw2dYT{Xo^NU?)KEWw3k+u554-J305SN6us1%TLg+e-oh6{+Cg0&2!MPZ@AA znV$>L-fVexD}-Cf8N{*-ASzL;l9!EgYkYbur3Nyz>FyE_32y>n<4Vq!^AeK%u)p1% z4+o87GccT4uS-p@ByYpEG}gQnBp6#xQ)&;D40LOI2tBh{hsHNpZk46U+(F0bgUM0G zJ!MPP+#G@pgHWBFro#MY5W6UEaSeLq_HsOdI5GjhHYmw78f>lVB2Y%44}80enPbxY zTZMfranVuOkEJFN+g0*UF>pmE1uE4xRpu9UShasa7%y>(#S9X)bq-UCIZ0FS*%nE046L{~BX4cn4i!a=>P1Cqr0N%~WYZ(2ry%Z? zvW(3Qk`Tvao$5ouJ;ug*t1ewE8!ARD&dwJV1!YAieL{qFL2U{|qS=+H=p#C&?qVza zRDw2BY_??eoET2pL8eBviSXSC>o zKAC^oO(zj`a1?ts*&2Y2bYY)5aa5}T@yb35$YSnnCenvWOMtQH*351Sd&y2ji9xjS z%`h3Erh*f*F-ht`G_eRPHWVxP?tEVvw{OOxDO|i1>xg^la7bspL3cLqE=Y@=okhho zC^BBP$idJ>m;%#&cFJ?t1q5xkOHS&w6SsF)s2fv+G7P6)-UemdQE3;m-F#rD2Q&F zqKAdT^ewTjB&@-}rP4)_qTB^WL1&4@*Hw}bkYI%*bjp_4%>#odH$kwtYRM&|Qk4cl z6{<2LrFy;X?v9F4YhEsMeiRIs@_^rJCsR*3Ul}>?=^2@MU z_J*ll7!Dtf!C5mW{o&N}h|2X0fK+=ZbR;Cz4IP%8#d0Q_Y+AXsK$bJh0f7cC%IDzt zD-5_2%W`?)^5Kc|3SIPNIsnY|QMt@~Swi}PaU>#rBO!ftrJ089aJ5Hg2`s&3(ZO|3 zC@}}6xm&OXtQP4*9|b^B9&zt%2+NljL7>5r-6}MU=ELE97h;G(y*am%W__GVczXom z(G(Vv?ZGs?GuuV)28~?y*BToe1Q$NN8-@hOP*?+)65y083oL+4pr_^mzcf2jEKuXb z>NZ1!Y!5+)Fn{k1^5B?h%YbCAmx86RLg!fvDze8ZZ?tIk)#7KgTbHCi8I)&X>C9cV zdDYu=Qcl99WJg<*V1Zl1{+90NaBr&Kj1JKe;^{v8Z{8^v^8#`LctmIt9S_=JtH4zI zkuI|4bP*YSeUgQnq__&PC{#uk+tX!t@aZ79r?;?=E1PV(xehX61Ge6D&~8J&-y3fG zUCgv)b}`pWcM(`4LOKivRVkg9QZaqBm?-@#-8YyHcVzgARUm#5vC^H`on;*#juJil>J5h;o@BbR9Ug0<lJ@+8LuPNk$cY0dm<9nr0>pVTUd}tpWWuhY4{`H z;zx*u3)i5>Nge@8Jpo6Di8r2Xz>M(nm%kDJm8Gm9 z@Y+iN9ijdvPp|Py41hxVDF+ba@qY^4(n%mt4X{1>TVROoIS0>XZLp3)Ui$P;?Mx5 zj`$4PSbk4v$k?E-W&iA2~nP}>)^v%?;$>{`KI(bZ- zRHp%`#HQ(VFP(0+)c~%d0_;q8;MM0ICz=5-+wg0RGWuAhmRV5ZKzzqkHRTPF8o;bD zCt+4wo-0$Fh#N92xz>fRbi~8RJ!l-sGxnJw08SLlH`+{u_*A;cWMr|-W(Zi6@T$y3 zdr-AW9zp;UI|Y_QaNU^`(Fl9%tV z!0Ur`ObKlBn6V5S8zltiXKt>gPZ)t11v1fudC&6|gv0c=&MZKzGMq)t^$vE6LRrgb zA!e-rw=im2mlpVo$jBh*T}JuE@C|W^baiJUky88=w{}9KG;S`}OEx41Q3(jyTF6I4 z<{;iizF?8mwU{|;7cW2Ap`A|Lum`vmH zqJqbzUc0?8Qw`!0M8@hCr;Jdxxn|z7NVo`U^;jw9`mrsIu7n&n?=6mU(2=z2wyTe6 z0iS#-yohg|v2raCyOm9bAej!bmSwrW7?*qF#h5tTG|%#S?7`9KP!L|yO*JXGFrR4S z)K*>VAunN61b7ERHprZlm?n#Dik=ilUs|($%HtBLS^0ZvFjw}jv9qpSscpn^RO(#J z2BP9_FVf973sOz|iN>ijUfENIYRm2%(lp4-mx%m}9tDMtvIBb1M3P?H#D3Bi$0fvw39aW!7p6JMNAO6Ma_Ihakg)=d}p#^qwk_`+*3B*Qt!{RKZcVVcJ=qG}gXu?KC*#pQ7 z`n#B6z6=LeMDE~8&a%TNremnxv>iJ;aC$K{0w-;&ea@$j@;RfiikVfn zw8I=RAIK7l@acRK76eW*V;n@=buS`_X_hx2hg*aLK4Dm@TGCeb;MzGd=H=989P?r? zhZZ1vTeECXC|~R@XzX$#L8@c9Hd_rZu(< zs3o36vDI3HvXgJ8pw-?K&~hOSPNMEw$W#PdE_{XIp}jmUKMDLBz$`F85Ex<`V$-gK ziPX9FTC*kA`-;8F38oO~{4K%a-|VZ!-|3KTL=9rwU=JM4)E7dI=fMO@B-a4~ki=|M zRR$1<2zx@1fCcr3fHS2*7!o$)l_$*qk zt&CznRQ^6CW`gk!!k?*@6{&t<5a?Y{;4x%F!?Qv*hG!LU%e5ko242^92?$V77UXf_ zKHNl%!5WO`1P=GXH8bG$+Hy?Cm2Fkj=@bpDCi9fRv^JM{~mj z4iK_P;81<3-Hd``XhB#9{fjmq`he`di7(Cdp?Qyq6gcctK@ArMObO zK~Ai1%{M;n{_RS#f)Zv3elAG0a||Y|1@cQYm=Bv7lduT{1wqmf@xWlw3Dm3+!wJ30 zVkn%nX7rYPKfD6Ui!p#+QE<`LV)~z4OUZxSbQF3RbqOxl7&}_xKyuufTp5;o$cE*3 zI2?L#U%<>j&F9UYWZ8VVB9RQ?Z3ET$vL9#bP;NyKo`9cam1JUM>h1c_tUf@G9m3Lc zN`QCfVMVhYWT+-)6sn99JEwaZZMosqCg`x;iI`Q*m#l$M3U5w46;QHv(IuSRw18B& zM7&BW-^A)krK8RlTdDzTFc8J|X9;5CwP1jzC*m{$GsUo)wd?}P&?lq=$v34{9?Vzv z$bkClz6$PXdxX>g(A8~1g0Nlr9)v7a9(%1y%p&McWg}HX)*K>>s#wuQm%AzfsxSy` zhoYUb{uN#He$!>86CGXq2)L9VRp(VIpsZ-MrN}-(AlDllB;BO*Qe>nC}tz6GMvf4wRXUpDF<+40SOEQ`ou;FI3D-)S_kk?lZF5ftR;mW~y{uHd4 zl`BHb6$P^}Pr=qsTxo~q_bApU(t;9Ry>m|kSYMh zDJ%tYg!;WekiFNh)!7hf#Ya?$z&+d>Na(czTfJ3B1rkvvJt%zqk<((Shz z>+sAwM{l>x5Zg+lzQP$BHiWyYrXo{QDaP3{G={(vS#Qbk;{(+bxpKD$b6>(gL5Dx({R7}+T3#-yOq_x#@ELV2*FI6NqhbAM6{F|fT z%Dx6ya+HxQC4#ABmHC~9d~N9vw3BnEAdt)}oWP03zEw9NQmR_cvgEDbfXZc6t5V}r zu8Z*`iB^R?M}N z;b2Vj8NS%cZc^590#M>UO+vDnY$-@XyenF2QLJ*3bY+8>APTO?u ze6AzGlJ(b&p;>J>^)9;dm0Un3bGyWZju-6A?vve=ift%JH_qo^hI05GB&ax6bR6;X zxUE5nvO~c|xcMql#;((x~GL7=TnLn(XsByYeXI zC(X5(pRB1i%^Z5o(J4-O`&GrUip*%b5|xjM8+t9Uc(dX4XJKYYmbF6&KY)RmuBr{2$KbB`Lm?fX-4zPu7q>iIfi0N>tj-_> ziM7MTNSie12HEtXVVPD6SEJ-ex#-MVLpuH1jmnD*x-?lANh?A^oPAJb1BDG3Hkmpp zz~K?YvySFwQ-p*7M`D#xQ6ciP#e_+1lH(n?jJM;r!u$|FM!|70aZ2)LD8sPWW*XEM zN;v@LDVkCIv6Mm$k5px=e%%OV{VpL()yqZ3yH%gcE(}n)tM;;bo4m})FYQoBz=b!^ zQe(Q7X`n>#4d)AM6^02eU5@uL1&&0e9^vDmI^UcTkXLk6hz2utz(Z@uP!o@s;0?_>$4JJKAa9X+p_t{b8*F4-1w06ghNX@Nq!~V$ zb{z?2GDMO*d+o-dM3WGcx)zEYqJ$V|5;rlzgu^k;8I0SS7|J%vnpp|5EfOU5hyh;M zDIeU0?=G;bET{7ULV|lhRam~q-5uCIJMEU5yP$-KY|K~_O>bM*h#tjl#uAHHkI3Qh z+Fi4ythC4?R(;^Qxmd>)4fd>RvpkF$pc2{US7tP9%90sRTka#jsM7{GkG2_4O~Mbx zt!Cc#ri+YM>pSRL5)seJD+vJj*O_9+Fr+TE2sQH%4SG}9A2rKGzo14a(oR6IJ2nJK4 zSH-1_{U7fEfL1oy24p(O8v}<>o|J~>s`Zttu4boTdG!|9?QJ2GCb3I&oD0v8cPk5o zM(!mvuwWO{yo^G&U%2XgdtAwxn3KINp75!1j)=to0chjgxx`}Rx6E_X4&oT7EV@Ys z>m9_hea8ojjbk)e>we7`SOafo@M9E^*LETV8Vsh)y`TETq~ zhB`!02kfXX(ZN7yMK=K>W65eV#jn6M>P;EWk?F+eijx4~BJxiZ*(|Ic=0KV%HegeC zMi}zF?J3HZm~hw*ZbY&4%5z}oO%>80a@wn$Ex4lkz@9OpR|Q$$b%JLtwpvxFiLs4& zOUfyv@)UoH42BpBAw@!oavkj9`EK$GA!tcb0<@}nK9*L}5;W7*h089YRGL_rHp}CM zGCSj?6klMGoPE4vMT3nv+bmC90anpqqGYzZG!|GiV{s%p!C2o~%A=F^5U8UptiRUD%# zSeAPSS1(<=Ub;~5zLX^eDR8pbprjTLmQWyQ_H?78Sdtf!W#b5o8oLX_X2midwds;j zuJI&ZLLBRmmFeSw!Mwoa6CtJzqB+Q)WY>{JuKSoxjT~~mRtrIhtfNf?AS=GKT%9^_ zSEMKjDRrD*CaKnY`0jPe^FD<$h|69&LAj5*Kig{q^`;D+%XH$r&3D#3725(%i7f!E z(<1t1sp-4bA|-+%#qPEQvuQejkQGXtu8Sy zkaJltZ;gOByw_TTf#4-N*r-=_bBkIFdKyi(MJh37=D3MR=V1QA;)|M3sZ1)9M2p-U z@qaxHRA`p02nP>#c^2VmsE5%IcAn&lWE4QwzJreF-Rp2e)^V`fL8b+yV}@$0(T0Yo z%&00hrOb0hCnW`eytUQrv0_O`;#@V0n8YDh2$S;|R&UCHMW&Mj3w6&xq=wtT?}?Wc zTbt`bV#Vyn^{T9yx>#K3Xwpg6O^pw&j;owB5!7`=N&FP?4mb5-l;|To>-&kOmot;B zbkGU9AxLyaA{0eFg~G|4Mkn*3S}K=j`xpzcq-?138cxx6l!2Tg<8e|F;2RY@2>!&; zZZH`VNg2PRD$R;U!_eIQvKy2sG<#f`8r{O01f2r!>V7&v0u#p|W?V+h6fImg5=I_@4r`l61{Kj}_XdRq6}3>_EHdLuYygreec&$b z|L&ptP+dKZgscefP5<5=X$&DZ=_^Npt;&7>&DK=Zt22G zVpFKBK3vXfl~Y^oWVSq)j-l49LkPO9xtc}0C1{(qN^QyzLu8q~LT!5&B|#=c-bJ}P zh=_a1uJ8?>|K@mzENwM{gz+Y2vA$o8=dkMr3B-XAcOtF+ty1eU25RwL*B63`&>q-z zS>Y|`vNejf2X%%ku_VF>MM$Jgvsy)dA>QwzB-EVosJyQU02964)f_Gn9yr{A5vAWy zu@AR7IaoplPyhjUZE8(iutO3sc(|EWJy{4T5HTdvVhfRJmxbWSy*2qgoMOZ#aRe%BbXYpmkm7Xjk0LCOf%=Q(MC!J?6>1S zD!ekjc_F3J63M^bERP_)p$5Zx%k~*5)f7P_A|uyN9+2jd1TAQ@6B(I&pC*w(q z@<%)gP9@nkq$V;ev9Y_I`W^=GKM2sb)bk*iE6!LKk(cHMMubBOy$JD07>^nW`%*R_ z+978_bs)?_6fp$rVno{^9b_RKB(}ZBP#mVIH@1!acYH1eSQkJ;YM3vEB-(WIjfy|{ zZZZagbS2}KmxFk?6%7VonPz#O6Bd0omSh&G84Ywrky5Cg$a0P*DY+>&S$Z^(Yh7-Z zfHadVjj6oZOWDDQ-a!dlDJPLHWn z_yn^AHUVOp0YVi?!?ZkIdVbRj=yjs?JZgH?eA(G<9EqkmRinqz;yIqwjh8=qHBqzX z`?KvF!J zx+=~94R!z&0PMAhQiRm@NTG{)536OC<>~!>aRQBZM$>Zm6yk|k0&Tp*a%k8{hb~$ax5#H+^E?O=cDN3FmYVINtdmrXD}cy=8Dtfxyrjae z5a?M}P^WtzqpVba5ki-=>+`@#bP(7AenFL=h?A(TIMYV}K`65?eLtT|1pw7okgK9n z5XMN+V7@h{)T256BIOZty(X9o8n7V1J^`8-O zy*JeQ&n#KY!z38d*hjT6IF0zrOk{vdjV9`t2gsGGh-wcc_TWlgf?y8@%qV4UYLW%R zFd_Dsz!qPuN^4PDoJHx9)sr1l0HS|4Dc&V>a4r|f8AuF}yntZDStFe=fb_I84v{QS zyuifLR>x8v9ACjsDW48?_EBm?%jasal^uhC`p}U%kl>uOWJqnj51~)dz3yxkGa$Kb zw#f)wzJoxuM_|B!XePCqpSd0ZJLzi2f1aUm`0m<@$yuvT3kIN27dgiYM0sNzH1h5# z{Y6&nCd%Kb9lGxl&-#{l2Hjv)i!Dl~T~>tj8})+dqYo#sP{_o;RokG3p8PVi&EA>s zA+HTo(EQiJ&(H?3Gj_+S`(?n$G?Y%Z&#FiEh+cHc3iv`3Kpd|A<$JWKR>fMT4Gx!) zEhkezc9SS)kaC<%*=o9A;{KUbyJ=zXV zRYgl;r4lm*@12~#M&$99KH3-k`j+R@9gj}h~pWqzCi$JkE;!0lq#9~tejUq`^ zHLrQ%=*u)KEsJ7=9HZf}I=QPh{d${BJ`vnlQr-nCJI|7dbWw{vuy&_kOr;G?SEtOl zb!J_gn=ZLkLT(XP;FCrxND0-503nZ}#4_n8%T#UCH8P%FDRgY%rg8P-l&2>*i1|fm z{-%=tK+zG^Yc3}zD-M( zX15-GR?U+JNWyWF$&=pnIWv{`F=$+j>7@w{c891U(P`WIIs&@|2UV>7dDR`-^ z-Y3Hxj_OT_OyfVn90tSfE;K}NjF(xs_m}cMfNBr6C#K6j|aDGYX;Er{S?GJZx->5 zwQduhlxf!4a$CrZ9adKNf}|2hE|OGoYOWV;()fxp2ZRU2%8-0Et-9IAhVTc(oz3*tIUY&c?>Ot-!H^ zFD1E{vhm~wB?+7&;cvNbWx;Cplo(7yH-RY|369>RhRuTH-bRpIOUDs6#WG_1B?F&3 zDjvl{0x_Ep_sVTL!BS!t38#P*wd|yoc|Qi$aW36YP=sppG0gm`2vA7 z*;444TU1;H0;y1Rms1oBLoxrScE@v8u4FB!$X?^>S>^^du``yS9R(k9(5C>79)Ywv zBoHh{e&XF|v*W%qgbFA*sc(sj(+r>|DOdi$ElV1eq7eAq zm{LP!%>^mp+L)bI@(doD;G|4@$jSj#ZDniy1d{yn3E_y2eem19vPWj`SNC-QKuriV zcX=9BCiMdiP~W*v{$?G8!Z$V)d?zD&YOSH@9Obxt>%VAz1g5#PC@)) z91dG-^oMFCa)^OrD3<43p^5zh9X%-ga;HaiQ*AQVoFt0aRDY-1K z9voaMU%dG2`Rh1VC)r;W3dGLmH=L%Jhy*!5Vm<~;sIV_2?9;lAOx2(zzuv*y1Tk+Z zwa?T4(rr;b6gBI<1ml>NL zz}}e#qcZj8l)RYYBg!~&zNHepvk?kE_iz;Cb|9kYm~NwLhiQ6eimNM+d7x;)gy*Z}Q3;mmZNgUI2Y_Ui z4ldI{het?q0@Q^QZPC)(9`*SF9B447yKF?MZL*F%<6T_aIWb^A{rdlxlJdC)-Kr zbAv|R%! z_f#S0oC{L4%!0D8;73}f0TOttX_=rBpQEMo=o*SuvHAY?bXuV(^>!U_U^^PMvqq5) zqa`!-WCjAe@pd@k5nhJVeBt@tLp9efJYPbun{UK1)RK5oYZqdj0*BQ8bgs7q2I&Z| zHfSy6VC$Sfhb{FDcd_Ut%#=!y=rt%fO;~cfmp~wer+l z&8BLruA&%KWxu@40TDi-9-iy0Iv?GuRl3PenbWv66w9Gg&p*70rxX4v!Rm-qp5m-R zUnJYPrO~r+7BSDby~5M#s5hD%U%iRQiAX9asI9%yt^~^>r&?_l8EDxn&TPHTM^Dun zQV9;Hho?8jN58nb1FQlVg++IdEU#~F6x~4B#)tbJr!#FC;L7z<7>gjk5VC6(;1cf2 zdhMjRX(PESH%z6zjE%x#ha?rJeER&2N>&cD83=twA1_VqbddrVE5iPU1{=F>b2I>-hCo9E}2b>NK_1MOR)f zTX}JoSipba`Ps|HWNVEAvC$q@s8?+h6HXJ>D7LbS;RL8?>((tIC!GZl#@Etyi@UD~ zk{wS^Bkd(%bRh-E9DQ<0Dw3l@8${-^twya;R)aY04}2A!Q0#+=X?9f~C430T1yqkw zdTVX%6rh_0SoVRiYGp$D?9L9Pqv7B*g`|iYYy4`qmyFC?spyX&kDByRg{HAiKSMBh z1$x-mv-9ZR>D!TebhIf&>u#Uzo?GCMxM&2`cue0%-VgTR6M47JRpSe)t-2P*W>YKu zdIyCoRyNuGWID(=Oi!?at_YmnT?PwkzBxnHR&?Y$RGy^U!#j3a*|VdRBOJNnTLl-C zoQV@f{zNOQj8;?!QmxR(&&Y=pNQivAE3WJWhg<0+H@n!rmXGaozVOuPk2A{|Tp0~1 ze_%N~$zv0$K;rG+U84$_R?>Dp0a}mK%bklUmLlRBqEwGocZsNpFXHYpMLbEVHdN_K zrCkE&cXqKCa~S%cD$5hkoqzRnmw9a2>2R4B8@Q@r1+JI@Em6QhR;d&IMa{FH2J}${ z=YL%9x`=G83Tg)DP85w1*qZ2yK~13XwA>!daddr1(O%gj^Xk=obs)x1F?3<5JvH*4 zitBZ`=sH%OsYlSY)bx#&ueS+M$&r369^i$S#RxTz@E@8%A_+3YI;!G=BN5iwIgLqs z;6V-zHYLlUfGb*!6o?~o%CCx$8aE*Nqv`UwcEy2Ur7)_EqF=D}AoSq$0>gE}tT}6< z1Qj?gm;@Y{6viPT(6C?Nt}za)k5I84?9GGFK~{{WBU%uNH=$ZUV(&)f4JTokI1sx{ z+WlsG#Pb6qgl@?Kr_xw-3MN-SZ6rE-bqfoiC&sx=<6c)&h>CRwAejcE@45SA&IYGm zLniod_s=MlAX`JQj4P~R(MKe3AHqaBol*Pa5}+# zh>As>FZ$byiEIp9-CSX(i29kK*rY_40$(uw!ra6Dphx(6Qi#)* z@Dg9FFqZfRNm}tjlI9C;;gI2o5WrR?AZWoQito5bqfhD;Y;=!ZYzheq-d}w}Z9y;{ z7xJ>4k5EL;D;!)@TZd|=49hsOJKt*YeO1F=8wUG~O%GUy@`-L1nRY)B5y3~OTqw)u zp%=x11pA$1kp~1MSV_tdw<#S@X5j#@zdP@NM#VOvmEH6yuK1(YAdF7<30%Szt1jA( zl{tfC%Nc&_XAdjZ`{T^Kh@~>17>~W(F*+gyAv}IVO^QvMGh4Z$qi$lDgFoaP$H;=i zv8+z+2#asK9CM0tLne zq*_QQ1CIBJ8e0tqcJ^*NEG*wgH`1Q$jEWfYoafZxt%wp0D}j^Bsi9dyF+dCQ5F(_# zy(lD{!C)lr-mu2x*J(8w2lona5CpX z0KkL9?cTWH9Z_qb{c%*f_r+j{C(c8PvOSu*E_)RTW4@pY0vE8 zs-C);rp{B)qD@`~XF*}A>ANN!SILCrWn64BqGSUYee=FQ(n=Sb5a=sX@URmv07s*@vSZ## zsiW<@l|Jj!DlFK1p_*D9bug;j0(h`I_jJcYvZL3bB?H6tJ_^0c z)#a$Y09IYE{n)#Nlx#X$9(%l#V%SQ?lV*i^bI3bW-3$gU-8Q&QB)+V6M&G(P^1Zz4 z&t$8DQXv2stvKp+7`{>wanRxCw&v*}BE=^}Pq7-3w8pR%i|V0|PR4A0?$P}%hHs?~ zTz8Oc+9NE5K3$62IZut}Qr@d!8Aom;G4*C#oYSt_LUf%BMUUgq9q1beAd~zc068H| z&OB*yC!2MAjC>fO&}DfRVm=Ojo8uH3u-bM`F%PFZXtDT&~Q zeN5^J;dpH+DFmPrz(D2yAce6S8M7@}*GE{Bhyqe38?0Nl%Hf%FW~xM)=_(5x(9k@Z zq=+6C^3555Skcj-0)egoc%I;y<{e2giSCl$(I7@*N2P9odw8%b4W_fHtPPA6@kY7* zc1ByERH7KtPY_v|bYW^eWLd;nOA}Knvr1+D)oljNxgOcohGo$m8;^;EJw_x33Zn&s zT1=V-C~uXeq}5IesNtc$B9vx(Q+t6Y7K8{VPvU%nN*(|y+7@)0^i>3C;V@pEW*>c% z${M*-b0FONO+xH}%C4ar0W4IAVh#g^hZ^-{P|^_#K$%S5Mel#DKzOxP2g0lPznV(> z!8BaCo&n-&4~1URYiGYi4Z0~%GhLK=yN<&z7S{-Z43zhNMY7Iz(YrBgIb9VrB|dI) z1Vbt>Avv^cJkfylgrwLnkxK(}HR+MbWoa&5Um>R3nPsoi7kedbTOjwUpf07t7Gdr*7qN|amx7Z#Q9JCwF|D~d) zCt>;K%i}Sjd z1(iB^vJnAD58#0}h`7{PU#si5b^tMg=4v{uZ;MH9qUA~tYPl3KR+bX-h^RI|QX4r0 zBi)Nty>v532Ufo!jv0{y?L2_iS~9R%@1tPJ1)(sp4b3=ERC4~Pn3dy-k`)94xrK_V zG#(;%gs|893aAo($%Sdf0R*JWQfbuHAT5of&{+zU5CKM~hUXO3#)7BOYmcpt zo|G6H$Bu~Eio2;FB;}%jFjAM)6(M9u{1vg>8oWU(dkfAw!xiMHn4lNfRpWHdMlRax zXoL?OR?|dAD9Ch3xDUT_8TV_M#B#TEF#WI$OD#=dvm>@)p#rGs5@Va58G*IXv7_F7 z+?q}#hR(!@B2tfcIt4=~R1Yq(GC|1Ki{+qKVYc;lg{q1!k6O8>*ud~_(m7hep()^` z%yqepSlof0EQ@m=`AmJ^+j#=ot;{s)@7vN zEG%Rg`p!YGLPCmcfeSyN4M+>`iZTQ>N$C7|;8|4VdWJz&dk_MJ=X&oG@_A)(7*Xvu zL2LotZO|TQZ1KUR5ISbdIg_WI@aun}2!u$z;M2-Rik7hv2))U1nbn4hpR#(RMk`gK zWp`?ZO=nWA#^2KcO<5^|6jfQ~c0dYulAO|Hpv=CkxpT1`<~C319dKZXWyzbI5#Z-0 z@AFW=C%OZ*?1G0H`XonUr_TVA4RPe~e7M}5@1Q#A&H($+IDz~T{U=crj-WfsszjlH z@`95mF;67swKk)nG8CjLgSrGz^!}BOJ6(cUB=JE(h-v!M7y@co!LoJ7-)B83mFI1b z&0fu}wZ0;iP_LWVC~`$)br(ENNU~S4kQdPHvrHiHA7_-Q_NB>kQiCI{qFrz1jX@z6 zZytm$?{R}em(MhLA!hNA>4e${zAU$J#H>4A+v91zIfJe%Ix5zZVyPWjr9twC0W!{0 z7QCvL&QIafWGT$X+Ang_)0bQ3?BlU7ec^j(Xs@mZNQ72O|sdQ__`UYK#b?7c=+jFlX&G+2n2>Aj^uOzW@QgkTI$Ft>h-f&SiCTjt5 z63j*HnAYoYvY2lt_L}Aiw=hZwCY+1nmxj&u#$8lyTwP1d)9Kcl%NU&bD3a(>g*Jzl z992%hy+W|_0fv=M3g#vSA(VvbhIoS1Srv>U5HhNy0mc^uF*<29Ut>sw_E^jcFCf(b zhKu{c0S8pyfsfTEmoSnEl*^M$$&Dlmd&r2%1PTL?bQ%{BOvE1of0!5)1+w8dakZ*J zk`LsTznp+6(xP9>En$OE)J(GwK2a9!v|p*b#3j+Az&(vsGnNTc!g71wtWXJ9jqH(gf1P01qk2u-Z44cUJQ}j_4tP+cW zOoWV;hM@?Sqi|#-LXPMqgeS4qL&ye{weSbqy{g6FvDz-cn94U5g|xe~n3XS~w1z(1 zSTPckmc+&RUHmixgIZ?!$O(^-+MHZ0CA$V=l`v4mmT0PV`%9p4yq0Rg358-cNi(Je zg64*&C{xiBa5j@`z)@*(l1XG~kSw9-c`6!`EX1n5i&HnFU=0nj?Xq4>v6J&$G#D9H z2%EKM&Om-2xreIh9)wqQ$UyPRt_sK!K(xx>RB6;Dg7ru#x=Nqqj|}^=ibLk(fb@ju z%L+>8JNf5!XFbT5i!&wJ4k_b$gv!P++%c#SKe>aR30Q!=<4x+{s`U`SH^hdH&Y62f z%rEb%4w>a$*;SV}A!2+R4$bz5{4&;fy9D)26-S=>@St6Q2P zFN;+b6Zbm0`W7q%uaHmu-4hWKVopqrb$mz$2I;J9+^TN6b?zzR&$Mld5N8vJsG4Ky zAoE2v;YD$(grb7uV`;{VL z?yTI}O$SAS<`bNNRn)E4YtphtuA*6q9En&e%OT9e<4~<7gFN*cHsp{crf;Zy z+|hFZQ%W-{vd2MHiD*#|2c;Hbum^R)RbUfo7Ga_z7LFhjLT&08AKmg22v!!#Od2z@ z%soR!#P>mu4QDt|e-mxbgC~!LXJ1fQXBR2-s6Jhl#I^~_5JQ7Ocs|~*3T%2OC?X3x z)Ic$AJrW%2`kY0~>Lc_#d*V|a@ru48o-7ErFp(tO^jjU!e4$2?^3@`kd(#k4Kv8+Q zXnB{OnpIh`2H5CN+hy@T5(CnX6_v>0RX~(fPZDbA0Og3PK5Q@aXi}wtO5h4U$yMFpSg z#tw0n*(TfM*c#*S6(*{i;43Yw^aWO`jN5Ut#aS8<++Oml1q~Zv?3L6`VRVJ!zTlYB zm55)$r?{jlVjM_4Bqn5zdWkKL;SqDOcCo3f=qQsh4r1DHWQZGWLf}(Eg+dp4>Wz!Z zOT@_)U6k~QV%w!Zg_RsCpbv8h|4F1ZAd=kOd>ct+A=*+_6c!R&ic-y%1Tuu9R#})Q zcA(<;9VYz?oibTTg{53CS)D|L6k{LOVOu?#YT|d}HO}JGcz~YKbn4BvH%E1nA!Ol@ z*&rGlT!UesX9JBZd#|6E8@i{KEc#U`ND_@M?WUWXc!13c*8*^?Xs}6Vn`K-z?b3Pr zHzMo+GmOSX2gJHlXr0_6|-_0->SY~J@gX3BEC@$>x9cGsiB=T=)0Vo z)}@ko*(AN3VcC@q+!WRNypZG*Qk|GoN!gQT5tBSiXy;jiksgLMVe3-iH5?0`Z8k{C zJVW4!WGB@28O?!?i9?dL2@Cax5g3)iGGWB8RC+nHQk4$6Qq&vkxt^LNT)%F!$lWE= za4cO)Zgjjf*a6d9g(%Q`RyNt|@*U`&u;qmLh&$!!E`n71gc`)sl}qb4yvFbcZfNTHpG;vOs|WSVq@ zfjOUs1w0`eUMVAvno=f%Kw%YD+6FGeYmP`&6F*vdo-(D=R1j%lw~!|W{s}#9G@T=o zT#uxK`SI}Z`sE8R93CL;{>1q!FP?wX4IH<81?McEJlVK$c>eJ6#fJXI6Cz(IVgPYQ z<NvkrY=kC>=%ElQM)AFIku|}? zuuILD^*NR$Y-E42tn7TmZK@rWMd)Jmij5WS<^qg1Lb$>TQ=~cZQNp}4_@(V;AVppy z^9JY3o!(X=g2@6owi9~D@`x2q-LtOXLbSHJvh^-j?do)CX0!#EqS_9&AXo~R z)25zsf=q`9(5mNY^Eho+Ml07O@5Zhu=xAQ5&omJ574ayf;)-h#xDcU+a6Xa$DYcIW`$D35jt#k9rol#?YnDMfO*!(s@yYZ3-n^0{e?-Ta zxOQ6*JYzEr;7P=uZrg|Okmgwk5B4!A>#&%xV&M_iS6Tgip-S{R!4nw?Mz0@HB^rKML>1Wj-8bE5GgC_acn;y`hT5!@;>6s3lZX|~H89{dL* zPxi76xYj5`7OCHv$iyVS!razTa~r|H90L)?1p;eu(oH4d*l5KK&6>7!2K4K2X8g3N zMRTY&`&p0}NR>~ow}dc0MjO*)!qIu1b=A>#gkQ8NP;z~|C=#C*0hJx<5oHO3svnC%(0rTu z9u6lxzwE^ErHCmo##2-qQn>C`+qnrsXt)!5sD&jUU07CxniGQb);BMV6wf7{_S+kr zFqEK18RE?m@ED{j!bvJ@Z1m2Pq68ZFAB)2A+C;d`5Qup zXVb;4%DgF=VL5y^A5(~l%fb1UJR7{BsgJ-2X zp7)_X!nJZ{hb8^iym1;-G%;sQRYI|r#RQLP!?l4}-^81!4Nl9e#fI36g5p5%x! zqjYCD=;--rSK0j(#R3)Pn=Q|7L6)uZQhc#Ol;RtL9Jr#| zMF3+D0nD1wVx6v97Yb9ur}WXgssj%t^#HeDrgcvUYQX$3oQ zGNhc29rOcmBhq{c3HB@r>^?E&0#MqWLP)=M226>wO8P}I4LY{^O}M-3n!4`?+c z*$vcgIs;{jYQLdJ8%xtDw01nOTw@6=T02?aNM5S-ll6^WZA&bNvdAm^=>wFg>%m%q zlG%B5?jUd(UVOrY=MpHTWe!Rtl1&?LxON5B$14XOR=T_UP0>e&iv`n#nwugon7YD& zD4-stu9z=*(i>MjO*E+R0r1VB&8@DKv1y)aoJs{MVQI;7iuCE(p7?Oc_S|Dg&5(*v zj#+|uGK8CF(D)ooV$f4jpEdsa&3>D|T)jVOXuO$96ln0-ONT0E(29Zo2tp)EF}Lev z>ZR1krUP;H4JHIN27b`@+MNOveugypE%$flPToW^G|(hMw)9viKXz`KIa^64@_3?? z6vwJP(v=8HVlu6*TIPvB7V2KtGQCWHtY(0vOs#rbRnSh*G?l@fvyCefAyIl%4MlG} zB9)vaIKL_Lb~5asWbFvvWFykf_8*b zsZav#l4PR=COnda-hI4IO3L|z0wiOvbRIT%h35QQAC(!v{_{@yCIm* zlU!vg5Y33{DWKH*D4cM8OuDlg8GezRJ%_}$6R0wa3BXgLw5f77*3bvaDB!GtzQLao zQ}GvJ!3l<>cp9Yhb`j@EkK~A>0DQvA@;D=`-U2qO(eXiLQHx^xF|*8Vr)U6O7Z3n1QP=w@En>8VDL~?j2H_$1JDZ#okSKw$G8lX{H7t$lK%){|aG6 zLVP6bur4HSzNC;C(Q!bAFd+~(q~W^SV;GDwvby|{Y7f93;W;ft0CKB zur+Ur=?rQ^jbeI=w^9M92)+kAv1SCLVEu81F2oCV?B! zIZ50pKF)08q`3GTSq~VId>prDfMZop1rTA*z2-)2Ro{?Ay*8+qNAF_8hbHrAUA-&0 zSV8Z&O}V_eYj)=KfV;R&H;2?m^Ho`29p@$D6gyR!a12dmU%+-F!%?n-KDXSOqZ%YA z>Y!Cbxy6WSBLAkxClDA|rDJKDoTeAI#*$utgpHS4`4J1LRO*?9PQpM)4O9SAZK6k| z84~&_k&5^_=e;7>#;i&86y9F#B+s>7>$Zz{TglL!O|sUI?q2Q25Jwo&juS)=XdXHk zn#=Y#YbgW%Byq{_5J_2>*h=!7>8E>2@}~;{(q*0;J)*cOvH*CG1{10M5UembDi84z z!#Qiq!qfnvI5PUl;fav+BbhVMoY0uT$!s@8$Ov6!O=vIJoxQ}FzADm5H(e6PvB;Me zFqr7i=BwS8!oIZZOWVG5?8_QVDA8DIM8+}50OA>HrDGwS`l&4Ez!U1sejP(vQ%*=y zGoo^N3FKAzn$ofoRjB@*j=GODRHWJTMtCg+g(!?1#Sr)YQKViXX#x%G7HbJMc{*5c zs9;m|MrY|~#n8T;k_$&>08H_fq|NEJk~1qgI*q^yz18Z*+t#Oj^nPxrD06;42C!aL znC^;B`UEp9)5U<(H!5~T;D=U##Fi_4z?X<1iaZwl%~2;IT->JEFt=VWT$lip20BI^Hlbkx^%%2XLMLoF3QgyNp24&ze~V0(w?*oDWYI|u5oPare~O6W^%MiDKW zfE1xYtaG>KDH{&xATYL}TIXn6LQS$A6a=8P>XdK@AB+G<+v{#ixfkrucsYh_`#Koh zpD4n)q)2b;&RmS)x&}nypvVTQX1T*fptiBl>59sFZ8*lf*$K3WM~SO*%lXC9MhB=d zax0@B_p0^f5(*GH=@U#M!Xel(4F@kVQMPhDrQp@ulqnGc0eh(AC_qe;PcYy>L6$xo1g(I9h%3u=yeMO=-UFwY_JP-u5}m$BCnbCG(UAsBH96uArld@1Ie$6k$cF%EmT-f zS6D<)7cxm>l-TCuT~KmU3zn;9QHC?(eSth-pL$3%fe}jT{Jd%O?<20tj1cD1q#}R`n(U3SexegX{x$rdDv4Ud{Q5lNuA7LfY&s z3`lhV#O3g&Ds;+=!rc021Qx^8no&7Fm&aO8W@jf6Km&iP#!W>vh7hh!wboV}S@j7r zE_GTVDNpMcLhZ)v5JV<9{Z!0i=%QOkwfz z2+&^F?ia>Hw|)@ZxM2)aU;##ne5^@qL@y_~X1nVCCS^vH%1ltyo>Gqwh1f)7UWkMU zHZ_DooD!R=2BnJ83%omJkg-LKjNM*~z&P^WQg93@+N4JsFb`eN8bNZkS{g1KINv}3PW=(F3P;6NtG8jyXv+Y%fBiYNb$H~`V9${{qZ@MrFdc2hejqb5^? zv3XrmOdb}CLg^@RuP_}rLeW+36<_^3V(tPm{38GtJ;b5p%C52xb{uYZ+27h8?m<U1%&qL|08cVMtxBZ20@cjYp@^fdz!u0`Bt@~xsx4Jy?P1`O z61Ox^uhPX!@X&zT&{Lx0V61EtmH3oQdJ++L(IG`uusbJxz z-KN{`LuC$X>8K|f2_9cmGkOaxPNKGuVvV_KZIzNuSBb8r1Atk~cTc2fl(QdB(?yI# z9BI{M%ScfX?yKc7(?^gG>&N-5SymZT*6u)+<^m=hXWYphv&Mi}Vb_pLgu7&9O2#90 znrr0NO6Syd2ySWes#7h5cx0Ih;jsVn$CvCS9;5P+T>@W@<%mxrQhMrH z+(&c_#KF@fjj)HG2-bj1h})*bk+?@zjGg<76hv0_(znVgA=xW7hv-7Jt(XsvAq-iU zQnVt-;Xo3KRydbN=qBWs7t-kHKE%7&!*iv*F2D5qu_H3rxsfzrkGW~!ibz)U4NM+plkw28&R;q3b5 zYu7IyzUlP!YcD*1`RX$#_F+4H!?nwoPU4%(#?_NGL%AL>3F;!w*dvEi?6?#XoJ|0q zgQF=mc|IcNL7HCGS=K2Eh-yhXi>0j3aW-)^7>emGnRYShxWo^n^kVx6F~M@IMju3) zEGPT05vdz`Yl^ttA!5{cEXu%DjDneflUCm*j-VU@=#Y_t+$Fk~$#3a_>*5qCEt=uP zZl6Hva-Gcz*{n9C9JN<%hh@)66(Y2g!tO%{11RW*BU2CI^r$F{rGr>Q`fQ$d$$3k} zuX?M(P_p70#9?cy9^R;oK(5(LN5W9(;bp3?uia5e_)XdjXE?It?wA5A6_iMN`HB;r zv4#Rq?$p=F~TPj8xKb~)f0!QIe!Uqi=0I51sMdOR42ePB|*M+nmeRx9CxfNp(DHeTCjnP5|8XG@wnttM zwFU6%icRPyN?HsFcz643_uOKtQ4&n+@&Z~Ns8%!um`Xcv^NheE4v*#ilf`r7)tYqC zC?|5^?O4w$tAmJ#2vNyzNwDaMAkBvBcw``F&?gF~PuS{LM?i;cUqkiyU{_rSFkP#Y zsa54kF+(d+cjpbyT|B&gMb^fO8v7bEs8~d@?`j?U%eKh1Mq6bEfQZ4jBe{Jvh?i^xHUcUZNFuK-amuD1iM%f2p7J;et#HCz5U#LCLeIAm z)Q6MC`B$+c@D_KRDE)I~Ih}-zHms8Bea%fRe6(OmQD=#WucdNRH)>J{5oGC)VF%es zB0dQraa*+5J%l6A$NS}C#6zPUPWlieRHPFW@}d`>BeEAV@9L*_hN&VQSx!!+*cekw z2mylHLdeuXj(7%=aC75HOolFW6q3Ot?^=r>1*e4y+%jj4p@>d!pmj@ac?rT$s5i{C zc3l#T6%E3^LBwSTL7%m|Mo~)^L9)1+W__4)riAWey1hGVTPm;JqwJtmunu;#xBDV7(8X zN^8B32u^c|L3eTVhuNDpL?Qukt`YopU+Z~r1*58=s%XjLr$$lCzU=elC24E9IE`*m zwU+Q~3`fS|fvGE*aVNwFrzjl}%-)kocil_DARJRgac!_1TQsJIv?>fTf~1#*kaTNd zRbanR(pnw z&eTV77DKi|#c=TDhI!5%+M#TDimR57C+Npk9j~88>rEM$&U8|s=1wd90Y8~; zLu-LxUOyu<&^kxfSzFsA2nME=r(sB>AeXsl3s!HEl_I{WrVA58zfZ*hSlss3T~qo* zXVRnAKt+Q#7S-Co5e{$<$^C`E2TJ&`vSfFAH%-t}Cooqf?x7n8Eo1@9(P^yA{48|b z(3U{bVUqGEMem z$Cjh&RD@&Vt3N`X5g;{&Vj+aG%S{g@u?ZB)DedoWwhAeoSjWmc1B%UJof9_!r579z z;T_Q7NLE$9u11wA~??hL^4cah_ji8f~|7_oviA ziM^)((i;m3O^8cnXFwipy2EKd0xCExN=Ke)uNd>zEfg{qof3vsx+>M69h(M$AYqv` z87{a@k?CFAQ{<2a_FCO=OE67SkaN$F<>!dwkT-BB3U-*DhT~ec-I~bD*hj=hM`DZ% zuuux9d3kY9Sy)=olCY;NDUD4NaL%{-c4~_Ug%J1J+*JRyV6fRHSoKSJ^QmLo)9yet zKreuM&x%Ut-u&-2J8^*!B4d)38Nr(4q9!xA0vN82id5!v8Ni~4x&T#x!)9E6z8h-o zXnj#XN`!C&YY~i4RI{tdIXVC|3F1UuF(}279jLp4YEMI|Ghw(OqIE2T%ra0AVo@#BLT3c&wY!ms`^T29zWu6i!n#ziUE% znFOzHh_sm`Sd9m@V^&~3r@SG4-thniG~$fd{WbL<3T+NY+^ScYYEFD~9Pe~+%aa8p z4#skfs%=VRnW5`>^8(wYj;?bewreKg~st|Cw)R}EcEBtzi{pe5I;OUrm$2 zi70e~5+M$bSnT4!KXQOmam`d%BzQO(0*+5aDDJNsyQ#McDsHKv2R4#fsHPvE203*{s%%Nzn5N)R*r3fm({8w?1M%dm(>Yc? zbMeaSQLX;+A@03;aQ*z@wd*&^3vVi)zJBnui21@6ad1Y)(uHI@*%6IE(fV1S$Q9G2 zgs}QXg%2;&BhM8P&%|$J?D+2y>vCTCm$*T8%Pph|Ifn6BvcjiXiLkW4?Y(C}-aa_V&D%?RArj8tE9bpT^XaJX?2W129Wdp z6pV#UcAM>3!ScuFkx#k=G@m0y;s;|r;A9pxmV5@y3-(PrSI+RPDy9;$x_D;gduoCo##)Q1yzfNz1O6Y7ouIL2VDwqgICy~$;ewnvCLlN-obt8baR)Ke6e%&Rj*___%Ar2|z zrB<4B2Nb5a^!4!Hdl0HNWT2qZ)wcI(I0ITuTd*zQbny!bg`km>3+n|!8+pS^dHYZ5ikOsn)L4kVHNamF6Dj3mGW z0!bE{3yY6btDYsK%%$k(l33D%G3X-`@8G`Ww_uBeDOK;4 ziPlUt?ua`i&#XMUtI&)jJU4$gEp?oXxSjb2Dpk3Id^`pF+T|GHlSUcg3f`hVP8CMu z9Qi0Q!zZ6(1BO$p3&)W~cp_y21Y<(nUR=>9&4|I#%Ha^>1dL>9aB&6b_-3wJsBR;wl=u`>^G_@bJVq~c&?Z_Hm{K9p z&^uFxSWM^V5DtwzcR4B@6B=V~h(7F#gDgt+j2Bj%O&AL+)j6ry8Cj+~gW;s>B%X~# zxd)8ygyYraeNOF{mdw=aeRTdoiWlx0TW%v_=j=L6wxcA5Pl}q@puK+IVL-mkAc7cB z=^;?-kl8UQ0HBC>8cU*rz0xp(0nNUtJVRQT>!nf+iIa+JND-##lEw{Bq`VEga0h5R zMpbkycLfuRQkj?!!&%gQ7!}sBc+-vL<%_S^lR)4W#k6HVPM8@m(=Kb_2GACZG{Tb4 zR#IT;v~j|vJ6M)r1E*LtPs*j4lNJ~{<_;jS4Ub*pX5|mu4X>(76&sma$-w93bfQ8F zYWuV5yaBN|cnyTpZOeAiJ&UtjXrVhT`Q^iNj+huX+WZN&dQTDi##-`Bhg948g zr@D$51`;#`_7?MOyFEul4Qdad z@Y1~hy5YQ%!Itl%_ZzZhN)FWmMrx!Nf~t%u&Hk(42W5V0cF z)45UoFNAIk_ol;=fg7ZK)v|nAT)ttV$8BpPW?dU#!Zi#N=PjzEdwEL z99+M6?YS3joWFjkk!=#)Kbk|Z6}(qFXug+rFl~kMEjb9vq^5Cc7C94|b>EB^APWj_ zgLN!bT6j!(Y=l$nP#fG)hV!(azADIB5OXY;Cfdzv#lNW6OW=pD_qvUgtU(8`B5qgx z!S!wqls%WxlYjEe6xBf`O0*{N(gO;8sgk6RD^xTKQ8dZ%^oT#^Wmqg!Kw==F+Ed-q zJIgOTjKcCfiOx4?$n=ViT-KAvUO>b&#M46`a}v9+Yx`q}8h45juIQM@P7p4Q#-M0X zr(%^V%mGyC0fDAwMVQH_foBecCHPY14UMVr)hlxSWQZ~0r|ckVQ7aBkz; zt=3#e6ou&a8bgEb5u1dp5=^5sheSc@SYS(7<;l3B4msQR5=ZW8KnfgNBnPf0SyMtR zEDtG{`$fK)Y4;oHB%g$ttreB(%@#7ih%SbLK!T8vE*H_2fR4ke{h1y+gw!w>$0Y&_ z6$fvKs0l2Y)>vRMmv~51P*$YT@{v+69<#25BB_$qUBFj=Zf6N&>h8{XG#n{SQJtPo11NM{1~Z1)v0Bgb`z-z*nH{dbt!IfI2aQ_M59q3;$>z9 z>1)wa?aut5oNQ%JfnI?$JpeWMLJ^>0q{Z+Ku;kOgF-BrT<#-}^A%np?*RF)n2vUe( zj8O%sY$eD8WXp=s21Uy{VzDFg;T&F~2ZatYvk2&G$M}k$HjV|%RDchC2vN3qunh-3 zLtS?*+C12oq@SXk+ef>WNL@M=jwnzG?hUwZdj1 zNHE{u8|jKuu?xn><#nsqE2g?ia|LicV&@Wb6Tq$XH0IxC2I{)_#&D=+m*s&@%+9+E z9UwLTRRSxmFa;$V5rpSY`Q1sRWhE6+x6CHJ#0|PviTdOd)v<&bul>3VH#PJy?h4Te zo~QGryk_yu5%(0bA^NDmg60cG4g+Sd&Y{i_xN4V8m8moeHq~5S;F-l<1pA;#LQBk* z977!lhR_ofJhYk|5_zNIO4}K+1BUzk;7G#d%=%Y4=z5bQTOG{>%6P%nf^wQH?v!Zg zakrhGxXfbGqSQ0jNfyLGr^$P9ed{zaHChPJ?m=;i`2i;Li{wFmAeB@Ue;GyXxHxxt zIQGj?ZOAN0t&1)R*U6r#QGPvu%AgCATU;g$W-+dowZ#CD-W@N27>AUJk9S~4Ge5dN z$;SmrQaB>@%tcXKaM$jR27WE)>O*et3PttU&)1-KsLE!Voy)1E?MfU}+p-`w#zckl zijX_Pkg{4AnU*u6a3PRyVMo}a_#Kbu<&|2Cty895pGabhW#L9=7l35S3$f}PB2v?! zS2(8&(SYnv%xZCDlyA^!yD<>zfI9GpVgwL1V?M9!K6y~4Ssxcmw{Y!uVWdh{zuvC* z)nkOXfVr!-c=a|}JHv3!J>J3!=a*)=K|=D7e+>s1eBL}$>ckVU-jN15p4ZY)$kC#r zmV$j}%1FxkDHsCMNRVVfH84SBcbYZfm~-V)D*K4>L#sjbFU&cj1-QC;5n0gKxF*O# z90|rLNJZFCjV4s3*$!3rqX$tq5rH zgTnc*vWKSkSc8S|Ey}UM^@X9cw8)t^}VR!=@Zo~)NoR>C`$8ELiD}~ zC$p{RvggEkfexyExbrs%nDmA~D4lNiG&%^yT(Fdb-W2{51W8BIf!_%ie3xR;5giqs zMCl_q7)Vgxi~nsWg^EnZA;F>Dzglo8dSAV(zOgQ}_~^40xyEe@S`l0HMEMBej_kA2 zPhZawif=+Fez};AG#OkYxP|8V$h>w`WtlrdN8n)5o5B(N|FQO_J#rmcmSFxAM;1_^ zx>E(;Vj&7sfN!DjQfzXM2vYgQK}pOK(MmBPQd!Ebp8r1Q+|91pvlp2)GwLpq>1J;; zyLOjzw<7SZWtJ&DQN5&6h2mGIJ??RJg%BSL_`HF0`77jivrhHoOGJgm3q#ZCpmw|l zvP7IHY$y4prBs@Qifa^^y}x>iGJH!GlXfVZ7H0XK)P^vIw;t{kekUY0yoSI!Z2a%5YrHaj?^ zvMw+>O&82A`CzD9lYLitDwviw>wDa*lKFG8v8 zjCJ(N-Yo7+6;UBLbwRAFasb>Khhyp^A}({Y5LUCxY-SoD#^SXC;CYb8Zu=FKu=s@D zVCNgU)5=E#yU{e6MAsXE?}PLZLj|E(Q;j0F1|#YOr5LuGMEall`C9IssK)eb2_g`^ z#C5zvSk)B0JGnHQ@J2EU{mEulmfVuXr5=752ec@JR`4}>35P?S1?)`H!ke82FZ#3NX-PCNg|&zUo0^c zHd*PDwdg<)G@|9ywq)(&S5lYk@o#^54_7^WOaSa?xlFnX`JziBucc4a$n`62B!=>3%$(0)p%THFwL1%IV!+eUmSKlWOS0SBKdxc7?MOGx3aTcg*Qgo&J#TO`zC%MkN5*SSIVP8 zqcOS__%MAoZAX`#^D|2ldXQXfRyQ+sJo)h|S1~cs43}Yt`{%?sm4c3^o9!CN8w^)?ClrlYAP*FbClnDa zewMH~f#wD?{Ds(pw zIAQVC>+77Vid}99JbCYVfF>R)7LLlOJEX#tz)Cg8!IKhB=H@`_oduJI3fp>T=UOO2 zAlRyLPf{Zzb_XN?nwYdzNPEIBeB}>1zZi)n!vb3<`yj5gQZ(JX# z9AI`Hb+gsPT7t+(3Z5FjG?vn&#w%<-HZd)-W-tPOM!W{-#`73Nr@V2`3gxfe5h$o==c3DhoxA1u0x) zPf=NPe8W9V7~pC4_4OaCgExn!oHD*~$mo@Xw?_i3oNr3~;hX!fWJly6a%Dy7He1_k2Xbec z3Dv=w$HCEpCrhaFhK+y<9bK7*Sn7;*ui?dj8p|NZ{-Im%|KQN@4`wL?#cteP)G34p9(`;?)`5_gsx z19eGnc!5R+f+j4EKV2u}5Fi5?Y@jn&tEzjXQta_zE2_-(QS%i|(zJvA!~wqdM^c#jLeJ{w-=vr)Q?>-kqgXd8r4*yI_DqNe*EU zmtdpWQlTEFeEno7Aa8228IBv(z;F-x$J=-jb%l1l2sT<#N9k4?>vB^0C>7mJli8JM zvn>ywzF_Rq?GgY)q+-Jrxhs%kCsA47n6(E zqRr$GSZy~`6~(R;|B<;xw;|h+v!P6By6gWTPLg*xTX@>p{kVht?h=`cI(2xEs93)Vzs!}nXnv?F}kVpg-c zSxk`d(ynHL9v1}*Uduv3OKBu3EZ))1gbDRxXr)%(@@=96Xm#W$DzjLf^bIopwS4$R zd_d`xg|e8p?t;>9nD_JZ@uGgX?3nf#q?<{zxktnR6kTntnG`+IDnlt&^LcE8Clr6z zEFN}Ak5Xa-HV^jobo0QPCq-X@@ci?;PycI(_`pCpy$#c}&FRC4lad&w?YIz9U~un_Y{xjE#Bw!3X9@n0o6c!hg#<0NCtI?d-VoJY}#|s7Atlsa)ZJPn-h~w78mWVfb+k! zEgaT;@kQfVF(a1fLFJh1&(Z7CV$J?vccvh5u*H&Cy=)X%{2)a*&NnI?spN$-;=FI_ zEQ+nuohme5giSUqtWt=e9Kz%!KdD|2YG-9k7sBsmw!3~yCH4&DtZbEfw!BuH5|#eo z{Y);aHl#a6UjtT@&_C5I5gSmapLTvqAU+9eA|7x8of*cJasX6P-&~(GvdC)|8ce$o zNo>~_nAS<+0Vv!N9dV8u@TO6yxSgf1Y8ZLjU*0NF@}#O5Ht|{61Y}EM8T!fOXz1~NdB7qF+!k9h^Qd=DmrVmvmR$y#GXC+3b>WZkIh8}d1r-BL{$WzJS$pV~Lj--aT zJy+{h4cJP_Sx0D_9=cE=Lj^!ZAqk@u8$jt(+qa?Z#)4pkmqVW~4KYV_LX_%=pBfFP zOg6Ku6?;iRRUm3yI6CpW9AY&5DD5|sbP@2Qrhi~5d0ssi1n(BSC41|T>00Z{Fh-J8 zfF@u@=&aaQ@DD(;ROXo9vgRiJIc2w0nbFKA6%ny%N$=li1;nD}Wt_iL_SefJ2p2$S z>#R~1PZt zQQuqs8ON+U+BswWd3L~5r@ru)g#cn!q7)s0I$Fgh(5pG1wBC%ed*tIhKWXQv_ULhg z%5#3Tj;uAc%hBu@9Q_Ju?vL`%bTS|S6yS%UnP#Ma%KDr7E3tcGj`0r^bd7Zzo6uRh z(W$z6h2AXDU8H6ZXmAyLseEP=M)FLbbNWDwE$+>dFAMdS^7Zj8^(Z||jrLoHbte?u zMAQ?kT3sy)VC_Xf%JZT(7p!}mPPQg-fFkC#m{ek>lQ2Y*KunNGz-Uq`kEhPXsJ#z~ zZaux6EY&qfDiJVSR<0qCji|+mhMQ0!-V#RzLRYmSaoUnp^UC^h9n6t+6=ut;soEBM z875~2PMO{2g}(jooCxGah<(iej-udXC#LLKv^-p+m7Asf>|%O&jl6Nytl&B{aWx zI6*suw=>6wDC1CfJ%?Cwy9!c2lJ^A_fs3d_o357k%nMZ|DjIcuS3*y`9A(6uR8tHz zsR4%zb@D@St6WFHsfz#CVJ9p;CEJa#A%0qM@YvDI+HA0wX;fpW+#cv6Kk!-89kSO5 zax97xZt-?=RMy1cpDLLw$Q9p0W^9~fb=X|@c*$CdOsL3uc+xNxh-*uchVnQ%C)V3etZghUC-aw=xzwWZz zGHj2Ds2HtpF3?qg7wCsFMUNrHv`}41V{;$w`ML+$VmhAjzfg@_dKsN2(b$S?SwR(* z@brx^YFsW8ZJ9-z=N{*lfGT=F%GJ1g0VdoCb`!;#Q&XxTjKpqTS?#Qop3L@;yKc4n zoxIdD+QQ3i5CvN_FFQ9>$1>x)I=TK*0XBUlWKq5T?HpqQ;g zxO9{J{Qmt9pjZUllN?MGWE|-VAvqU}tf?Tl`+LO}A+bf_NNtfyCSa&kXp1CNZmNrh ztO)6G0lQXt<~IG>Cli~Js_f^=De_)vH(3%?*9Om&cg$#)AZ+K-$=QyD=m)nO%q+@7 zGsOK8k!6PaJPN-d3dVxhsw&g92?io87dV1CuUhe%-p?pIeo6=Bmc>g%Ann&hh~}_4 z>dt4l372dH^k*pzG|l|)`3D9z*suwMnq~O%cCIWQS5y>K_YJdia{3(5v~ie$Z#H;+C$!LNe-oj~;#!Zl!dSfuHI5HiFH%nkaZz9LCZ* zNSc6wrTZ~$MuMXc$7Qt&W1zE}Qs^}}L(%v>c^|2Xq3{>H&^=KEytono=l zo+P5DC@+RLG+xj>o#l~d;=2%yAs!jL4jl>wxo}?R;9lY{1wr#jFLs*H5_Qrpmv+3a zKXweweL_EK2RaJUU5zF35sMqv2 zTqXaho~jnP#FI5AnUj_#!3{nm(kj*|PUIfAZcbZra;)c=urxGY*!>V6cd$N&^(u-j z^mCvd0PltTU$)F}Y_)CeU;-^O)zRlOPm@)rWZhWKcpYxOyN`llRcXHC*Sj}zo>2WH zA6R)GvG)D5gMQ50)}+9VPSa1VNFgj2RFN^=L-pue%Y;S*Benlw8Nyt^hMvG2!W3*` z15~fAvOYdh-)~@ScT&K~;X7IfB9;Wc8ljfs z<8ks|2=1Ny-zLcbK4`|n)A0Z}O38l;RabhOFqq2Pi98-pv&-}I*=d2GRTZO=d^D!L zd+w2P^woSC0aSuAg@b>N6=K?5?^c&{t)C{8C>>8pT4et`xs9K1AJ%EH)M=2&3Y6^OK zh?>F;<0L`dy!O>)ZXX3v40dADSOq;DK&8&}EdN-m`>Qq{yB{LPT$n-0S?Y`_)??7#ZtYP5whyz?w(Yfg2^9IrUXUYbEU7x;Iyow? zj9qF+guJMW2#&yzepX%w1JQrPDvwX;EXxa%b;VV5dr~NnOzlI7AjjbWU^;m3)I^#% zzG`@te3u;q>N(Z`3nBd1DCwb?0=hn>in}2z4hVU|E49FH)@={Dt;U;VqDIrxWY+fpve* zUMhTo@UM=#N`#4fA1pPb3$i+rCPj4w$d-dZ=tlj3_$fveiCYXyR>3nU&of9e%kYhk z>#8K(pQ=RDtVn-yKG@8a-E@5+HmZEWMtKKDOdv{JZKVeLQLQHEi;*>W76|@^r?lSY z;kaH$GB?W_-6&Enz;wD2Q`MhI_7Kdvl-*rks<#`D_nj-Bv~v-r+OW#`TM$c>>CrkE zP$_bKU{@>r@2os_w2x|*B3ipKN;DZnYh*Bv`17|h7X9R`Ob;dl6d+X zh~eI^zW>89Apy$4wCY$^0ZO&bs_2V=qdLX8Hm_OYBJsY;07Q~gIa~#npI?N=Q$zA| z$j0;*{Hiq@!lN%i!yv|H8QsNN0|ubYBkL0%5JG$ALK`IuZgBtwzz|{DIq2>+P5`^> zt?4VlLh@={;}8d{ZwERIelUf*o zOMBybr4q9RF6&l7#UMi)c&)~#3h`CL{t-~gYmt!k$uddbg%*XrLZ!N*U{IkyK$mKG zSkh5p{EkdY;ucaWKSrvzi03UzL!9eqt?YIPn^He06ZEp8kd zJtD-Ly-cMdF7-%3jzKC&eM$LerZOUc5<|iB(@v}yTnUwZKydI#-5${-PH&(_9ZpD7 z+@X-eVYk)lMVmI^FxoI=)t@P7?4wi)qN{BLWx@P?v%u{Y;$w+ovv;%DajZys#*E0E z;T#GaBpkneds?mcCrgt<9ZWcedfOme*u(L<6Lbq*c!=y$w+nL3>T}wkqu0BsP<4XS zq(jvC*8?tKIZ4|BcJaT_ysHk_#Zh)jb1_;1KmbRdPH0K^`SjEKcb`O+JN@wfPal4M z{{vXOU#FTUGuFGU=BY-;tyPh9HIlyAhyC`VJn?F~@xsMb#Fc`pw3$tv#T`YBG*m|% zz(C4zmaRWD-fAYnkApX5$pKLRGi%2A?NU0BjJS;NjLR9|;RrR=l3}ySJ{;F=^ZUiN zTWlUj!HP^osB;DPKoNq?+tZZkenLxc4k+`qWq~ODJ009W?wM-Xoh&aNics;souo;4 zO?so#^fP*dT~!$APS9($3>_j0H?O|`V)DHxp>#5+AQH_Y#l1sn!1H`X)d(Q5?>bRp zC-$t$yC*iSi^lczCdqoZ7k#WP+i+aJg7PngiDW??9JHOI5A0NKsbW%lODBY!)FBka zv2I*lREG{N1)V~s0kU+cWIdZI_zJ@Z3W|G1^N+PGt1hUZgSL)A%0DOwg7*FOc;`ID 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 z

    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�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�Bnt`;CF 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�j>%3gjdk+y{P5SQ_;` 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

    ^N7GNKwy#+qi*%Zpoh{ZhL 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

    K$gE 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

    #Y4LKEvptc$QT2hUHU;pTIgTe%1hZq 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Î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

    }z3!hSVoNk>fT-a| zogz6%Ec{en_b62wPl$#zgNl#{Ut~ibZa36dW^&3{qxG2~hV2Bu(V2*Nm_dxDk8baV z=mF<3g$5aER`5y+oM8t;2H&(g8a|F)fZ2|y`C*-HqPC=dCFUV;FvtNAvKf5fKTy6AN1$!0<&QC@~s95zCdk|2L;D^5_ z7H>pf>|jYPJN+Qp$RUQu%=3XcNKj(Bw>!W z*5<0L=MOCw+As#aKbczVZO-IfPhao$9(V=Y#?L34$n%A4C>!~#>%F2hk)8^T&-+=& zn}4l$^g|b3oqG&CoM3RNfF`|LHuO-ruj_Ckq1Q2PVTEX2I@`;02y2%!vMv4DVY;z(D;z z;SWWkXy=Wcw$FwT$w4qAHP5toc39krY_~z~Ay3P#xU4RQ4r8-;rmVObU=rX!eHjy& zNsM78gUIqpxs@7=)!RLr=H5|TOp{G~!KB*qU6;v7=}Ej_Gv@;C@=>}E+o7Zp_7$*p z^ssh4u;hM+TQZP+?4{+&aGthu{6_B;OlG41EqK#2Vz|LK%2hCn2+#f3b357J+XR3n zaWpt2Y*6x0=*|4&mJtGbnz3CgJBY87u03@?yw25WeaBP*^CtWxD?yNXJ8Xe25e%DF z+7EXXn_LJ~sln&N__e-mmy;I+S+{)P0a(@gM-BTRm$JD}he9yTo#(yH@8|Ttb=d6TCVGsO`KoEnor*d>}PvQ-g z{(A7v1x732J~Dg!u|hj05`C-nr_R(WB_3xu#@)g>_7c?0m*DO~h^GmI_jtr*x7GI? z+KVH+HTrIY!BPOMjjy7W1?8dSGu#b!BgO8$;rFwh*|Bew*;-O;4w7$pA*B`J<9Tj`^<`u#^G z_5hAk(_NLXZ2^DoGN$lWh2oX5=W!cft0F-{d0lOsQQ!I5>R9T% zrQO%P6A&y1d+djjxbKkIm9X%nuISLhth#7cHWcrn9q;YIniCYCs4}0n122TzB>t_vZzO>rDQlHAMR1 z!VyTs%8u!fAVX(8hiOA?)K*he*ngogm9=1+B; zS8v7k%2&&Td33@k@z1scNrF+7dG9@R&x_}`qAH?X>q*(ON5PBrX zou6@hQ%_>q_KHVNeg)G2^kDq=xwBIz_2g5tM*`vW{_;75U-fo!;9ThI@Jr*Tf@Wg) z%fuQBmIVqot-pUYQZXaNX?7*Mw`sUaHcA{;?kb0b^$J=ergBIV9=Wnj5V$K@G-{P_ zQ7t%apncZSWCao*-mIWoqGwE8TTa)MLnrMaOz4N5fj*@lsw_C{hd~&TO*o5$uHHnh zD2mj4B^$>#7I~AJ{}h@@=cCw1P%xWfCe8$748b^1HLs5qw^=TZOXU93%3^>!#m2RV zy~mpiC#>d}RUF034|g+BP}N-vv6zd0bC z&krfjJ=|hs|MyT|6A_R!>->GVEp(T6a8$spp*H3W>UOv+lmlMu*-Fc%s(nje<#u4B zYjk>>wvELCB$tO+6Z-LH7w7s#whjKVnl(L}SrLST^1~!ye1K{%7gyt~yQ4Axu!W3J zdYd5+hw6!kRii9nzB`eZQ*NkIKcS8 zKtNa^KtR~vTez{CzO|i|u_L{agSm^bgYN&lrZe-7nX>6;Kn%S49gfu2h?`!%lAVuO z76&wkNNtmxVbxnzM>2vax8zzQQ>GM_6X05ub#vZw6RRJ(xEP3LUf(YtHJlEI+(H!8 zhO*4#_Nz9@axE_|d{(OHT9$#UzAI@uPPFH7NWs{NL{*dK0UENQ=__DX<4$0S5s_IW zpG2vc$M?}-f%;Sr5UH8)U>I}oRe-VHhvkLbln3Lq7!Kqi3?-r8&RieNq^(A?1)f^V zY!YYXBm*ZZ@|ldrtx2A+#-4G9k^O7o#vn0D?ZCP0B$;e55Oumj#k%7f^8!yjN`SK$ zBSL(oUjJM?iFTqgmE15Jqvky>$EFKr{o`(|A(cYJU1l<8-clj$7x#Xf8}Rj8%xMcz zv~AWi=zkVQ?0A;gvEO$T7Y7Ik|NE{Q+S-_yo6_4EJDA&<89RI@MhvYib^rA)o!N!D zw&ex`s`pb(D*z#&Hyxqq#aEBA|J%GJZAeJ!<2Q=V48`tfz-zu-`Soe0u~MHHRG)In z__XclO>%}yP^f}Z4KML*E(VHijoc2-2Fu+H8uNmRZ#Ibk$i0WM(nH~XYJf16Jg28q zTZ9jweKX-`I@nC*h3;1;Hv`eS7YVobMIR4}|)VzW*+B0XkZ|S+Y3*+ng_y_s3!(}F5b+hgi}GXr9NJzd`@fPpK#$I{@7R=&dljMGQloJ z7Y&dxPjRN;md3>)cu^nY=TVJ>fNP%IkFjNiGwXk{IJ4Y%t#3Yh)=d6FV$|u|C)oF| z(Gm8+H{0dKrWYx!4sjbb%%&eQW5K@nxOg4AcA&)#ANhq<4og3!C>bU?)&w1bgcgxB z!K_i$sA1j|&R$?8MXDNYygy`}QuulLG+c0)z82Ye0PVkulZn&|_S$%+^T5tHKuq;*Mz zui$*ji4Xb(o~Np1!m|Y!Y9l;QmEZt!^WH*R`mf3LSV(CCpWnHKKi`Eu>OYEnJ1csp zf6c9TGSoHDcQmFm%TnI4{lkv<`)>_q6T*rLs>`n@yZLI_pM6%9Fi;p7_2M*nEQ~`G z;`xJlQ7Ruhw!?d39mw<)V2s%}lTY6Gyuq%nJgor)mJLg-c4sBy$3Mkc!Hr$ou{}f* zG_~>ib>y3q+_%+QC2aSee&u|%j>PckTg;b>vlW9CEy(CtMf^n<&W0x(V`gX$Zg(%2 zF+m3CB1BKcdvvX*EB$TKSz;|aXOttK!S<(fSWTE(=;3VAgE5OJ_HSHG(o8rg3&t>H z(_?F2_LXyW&SBC^X`J0%hQd)Ui)iwepuVspbB9T*p5(1Fsj-}`IcYAlZ?o=5H`Op! zHj=TxbNZf1w3S!tq>b)wojtj{n%v8wb%B&n#zYyX1_POmCnzonmP7ta_8Eo3U$c@A zmkYR?kt2UX`V&^9%n_Ca&4F*&_C`tYm1A2%k|A^_t)KC(wEH#)3`=Iwe+bu%Cua(z zZ-hakU&+n>;Kcw!RodX%0!SY$6{|rGitbHGf6wvo4)gg*eX{60Ak_stAG6TFqB`Gg z4Kmm`B{x3?Pa7P`qt6S_Z`<2{c=Fr^Cya8AvmIfFY>1w7EBBy3Za6an#)|AGC#4z| zWSIH`jTk;v&j*4Ton~(e6n(%7e};Gray7>6S_}XRg9LWv7R{an1%?COS-~ILUl-aI z!gCnu=@0H*i3UxE@1D~e!Kh*YjP#fHX5+Sk9!Jrdl)lCi!a zbVNk~7z~U_h1@sVwPZ^#{C6Li?NU%ArziH3{FqkQQ#akQ6M>HDOcdHZ8T!R~SW|H? zBqKN&hR1Z3IIRs#C?hZ0B{29(u~M*}U6u{g%q;y$d@w5Gno+3-G(JmHGz3r8jAjnr zjM3nmGs*)iGHu%GxAT2RHM-3cDR|ZjY%5kt$!7fbmnW($;kebEG|y`t%kC!2UE9}s zs}jj;f7+yG+4hR);D!VGEp`+0555iFj93yu=FGGlY8M%#;ha8OaR@2i}vQ`GgGR%(K?nbpq}A=L}**h^33XHzE8iV8Lge!iIdC!@|sg1q*F6abls&d z!&|?8gC1jUFX^4Y3L`ozPQRZ_3zM?|o3|6GF{EVx^^+6Bc0~UepP{pZC1CM`??3mx z7NsD=-S3>F1MGKI@!w5>@14)s%}LkX!Jf{nNk!XsgY}==o;ZFoSoDGmCWGF9oM^G7 zLH&WGgMuL*SX#cdO?aWa5^~M4&kh;c+H^>S@hCnj&B0;YU)=cbgI4F2kfzt}RLp+# zkKTEOY9L)Jf`<|iOd}Y|DcH&1NiTq%+$mh4ziF7{WN)taDe9r<*pkKo6km|5?e?c# zw9oIru!HhlOLalgXHNQhgC^kQJ77|GXa!Zdr3lGlroKhxkVlTPWP9?qQ5qywPWko> z%7i4KmNfH`evg}wU2G@djC_^eh>Y)G&@}j_L>ELCdJ>S5gW`h>*d{4XslD06RIbvH z!Z$HfO-I5;nA$x8+g1epPqwLZP|aF#-{u&#a@?|(=4mg>Xt{o#urj(k8OFRu@ByGk zW<;VKRT8z?PsMZqF&=sB&PbolxMFOUHW?w=8Y*WLcddv?S3o`-m%<`wz2ikuD+%+f z@-h$yTXaWO5M!;4AWHp59$$F11b<)WOtE6h9Ff+vet%}K>#!BH80p|x0k9jdo)Ld% z=v=KWV)Y0M_5#pxi8=p3ErQiN&@*r#QkY2`!Q>l1q6>W77sGd6GJAhIc=8QsFvB+G zYTlQxzjK@8P83*l4(cJFSK4ehlF?U-DMiFFLb#JCQtf~U0aO1sh$6D^WLg`k?+GCF zl?YFdmn1-k2v&=EWoyA*0xoi5v`7jEY+w|p-j_3#Ia477sU=1YKVlW_0_WB$RDAHK zKi&?^$q3eGj6V7}TQclepjWTn2m%Spci;(@rC-`#ml5<;JbzY91sH6R3`s+8t3I;% zci(DHGb4Ojkke`llW)``OQd}b9aVJv9vaM)Xe1}*B0>Eyy%4CFrUg;zcfgyaa50pC zKLbycd8J4^<9GN!0^ZJXfjmTXZI@RHJ{W(9_X8Pgr~ahb*=hBY=h<%`cab{=-0>fM zGB#%Xc_A+mk^!10MDYoJ3(^oxOjk6iI%6|U6=rz)j(CUviEbcb!CA&_&0;30aHn7J z!&XY1dKRg11*Eu#J2T;y zy<)&v#~JDv^fCVWwQ2z?HjU(Uf)~M^G@)~qPrEIVeriw@-X7SvYadP~RqB>yC9lbN z)x)yb;T!|agAA5!v_`z=s`h3o@^ zh|pVijM_HpOmHxtxH4@-<`i|>d}gHx40vg`kt`2u6-m5nK{(mgTbl}`YLO@wj<>1R zbZ%St2(l&Ah}bep07_YN05po%f!foRTd13^4MUG~KYetl36-n@cnRGo5ANa-e&B^W zzCddz-pDkaBmn49HhT$TaYK_TW4A5`0WikxfXeIpLoSTw9E6Ues`!i@qff3xrVuLL z)g57*^sRw?g@c$sFCdxL&5xP~aSd>^544IU63S2;dxWc9)*xD@j?RuT`K|oXWY!t`d@LgDJ@Ie zjZw4@+>dYpbTexq`}qq{m{ur$#ez`E2g;CogL{ElRI<7x5x>Io9~MNt0v~eiUqkP=Y)ANi(Wj=Ta`mZ#G zXKIhrEpU7cU4*=KY%8n^1I%-b4sOpe*5H(Ob8|dyqYea5nj@R)tR61@aL}yHwgtV9 z_#eDc{4qyJc)N1`Q6@KA%GXvNtOLfE(PrkJ(+ODYznWvtua+No2PQ5UC)1Lfo;DBr zpfQ~a!A5U{P_r+twz96c*)=KH73^SF7>5tsq#8r|qbbXog+nKKd|M_VMO_t8g3hXC z>7;;k*}3>zoLnpqE-&yh+1=zky*`nvnW%g!Z5Hww%)HH^?2RV7c@=&TFXVN{vP2%A zy;v1fyZPE&&8fvTm2oSW9Cr!t9=utyq!EWM7KT;p&6i-IlT^mk24A;q^DiAdQ*6t?`%};j041 zmbnu@QAn~j=lh1 z8c?bMX*iP93QbtCqP{G_V`12R7CAn7!EQ=ec5DHXP+7k3BYeY+&z7iB(ZP<&LqIq_ z3weOy`f`vT#ot3&?iccWe(e&EgOM>{8w(D^RZ5Ph${m?^!JK3taZoYS2(eNnP~j;K zvjFLd@1Niv!B}7!NGlJQo`qm1J2~-X2_3p(nrLC=+Vu34a*u9>jPN~r z@Nra-VdetEhkm_NfJ)ECmh7)NfoNggpGRlmn?rMn8H$QhnsNIAv7eov-})K>4Xg)T z%zk-1y4Hr^dC>QW^*sKrca<^~*;o6!aa{Ae*2`||;^9c@Xm@xM+hmuQ6P-u4A>Z!! z5IlPp3NFtwS3_L^4&_&IKP#3zSR? ze56Z8f``3hH---fc-<{}Pc0_6NdqUli`73PJhgXY8G_b(q5^I`^|P3D)V=c8!Se$n zE)iq`#poJ$S`!$+ny_~bl8%%mWn#T?%`IAj9qMmtjMY2*Iz{wV--qz7+US~fnOnA& zsk&X5Eo3k`90YdPdB4BwEg@_dw61OT+miD@N7dKP#CA=Wt1@=?Nmoa!T;+&BJgBy| zO*TEBmwte*5cPe}3}8h@qFDTxt&4zOs$w{WucNw*;|=okipbB0y-k{&!)+6k=$h>{ z@)R=?#3$wYc&!h3GVyS_UMJfpL{U)y-4@sCn^HQMXD4*J5>?2o=b4Srb9df@4k|OvAmC8U64oejy)6 zIn7Ys!o@OGp3|C6W05C0%iOi~V6I>I={s$-&=;g>3ZWb3tg`q%zN|iIOmY^9^*xF^ zi*#;@6Gb9(gmWi&bH*ggwtzcsS$%CP&shb1$}r0uMfr9LRuRi`7?*bv2SHYjmk@_) zx@Om{E^Ho&f)X?GlAAQ3str=AoD0hdw+bW+)+4Oji-SXNQmd!>d=}lJ?q2Bq*U_UM zv(_}UcCAm|OwL@%RSq2zu9v`6Zfd$KAL3RwWovHWge#v#_>Z@qsq-ZMgM@I__^1$N zXRhK6RCAbRR5){bH7j=%&O*CX*ovLT@iPNfImOgk zkVwW|Ti~9;BJ63A+sAPtM08I@>c2bC2JW8Xk(G{F%4BDM9Qywj#$~!m> zS4&>O*!|ZlIvMoA4>lqYeye-_%z(Lk1SxLYpou!Pp(m=JZcz=YjMz9s&nfD%`TzK! zrG0kBfJjNkKyq$-g`>QiV=JPIqngh5@4dYkg6yg6N}mFE^`yn##HCB$!G(@t$%6#R>(K~P1fsMYHc*6_^Zyd0U;TvP;3ByJjIy(>;W0b*z%XGIdDlf5&BO<>?FMOGMjbwpoc3N-egl^ z|M0Tpc;?TZ35oS9hiqy2Ovkf{N2RL%Il?tkH~{?EghWY?)mC z9CsLIUrJBWJCvvMkM6o<@KYJyVb&VtoyN zlu8%zqUF+P_E2^YeHnLt7dcZ6+I~1&1Rpnnm_1hS$}~IM@ZmSY|0V5nS%4?wgvkgW zD-hr03-7#`!5`V(0K+1-HV%p0436Dr2_sU8(aHKc?IK6$cm$agl!z@zz3U-{DPc4y zp!~YQdr_J{5NaO?8(&G{R9di&WN@E_m&Y-#5*=GhJBy^FNojz$*EHwq5(tvUELI9A zTtrd;cHHW6;JL7D^ycJhvqgFlcLDRRj=U_SzHVIe0Un&TG54AAf}VVbRqL?mkNfJo z{jAVe2j>faBKaWWe)PG&DL+?zI7WCf_J{Uqj~RX^_|IZfe~D|D|67B1efR7T{@t^) zv;HSw&CZ(6&{OFg1n?Oz#^A#`G<5D{lYxO4Y0*L;qm zta4sfhZIZ9B2~Mm&w&vfFE9T#=?v;AW4Jo;yL#&KEhM!xS>F^a@hbi%95UuHBpsPo z6D{k6Zzhovv3xpP`>(}SlukOwaFL56`Z$YOG~9}2zsB{IpaWy-T|#GgP7Fz3^eLSv z8E_^(!H7I&wt)QdD&A{RHJwgwL2~Su$tEv!=)oQHIcje75%@c0l`SRp3=1i|RERQ8 z^e8!JW$L!LphYpE>08dnOrr#WsQzfX`87r`9g>$s+sYeLnP8hHZ^sL1H&Q91lraZL zWm-w;MmUSBJ5{#`oUcloZ0v85T@lz_@5+~5_anbIN|m%wZ+c>=-_Qvf!7`PZ0yYy% zvzH55|8@)P9jKOx^!KD03+um_L}0JRNb{7~pc$?}0zc%X{}|&2o-rZ@Y760ZUYH@J zUb#(B-4XabpWQvIup+juuJq`4;~1c2De~bDWCl;e!i<96sdYAs59at!7!bJoMtnd4 z#4(voPvQ{KC+v`fo%}x{VP6Bkp+woPd3S!;m@#pXF)lxX}sZ4 zRqjMezSabkw}xy(2Cmu(GJSRL+QpTKgn7n%-pBz`Win2ySMv*>sOtdI+7>-s{g-A7 zD@v4^)v4y#qR&0Lxme1)4u~)+yrNclmd4c2Ky{RM>`!Lgdp~K^XOu5kg6$oI5YV6u z@+p0z37`puXw8Gml!d*K&uc}W=T(B=!vlo2MhaI6LL^P%#4+ba~e z>F@FE<1P#Pw|=P8O!5j7G~j(I^Dol(X3`|A-qqv>DA0<2;S?fqE3&%o7NKKt-+|b( z8CbqhEn&mcq&SOX1X8d%M9fq&*}y|Mz!W4%K|E?ERPWxIvS-BPz^Qou%!bpsz5xlr z{nF8Qay0yFvUM)SRCj2dH-(Fxw^0m+9Sn7s6FO211w~MI1a9gTH)t(>6+%Do-xlIX zs|<(h_aamK{rU$OO~A?8*hRMi$gLsFjN; zOu9Wp%P)}!_(@OJ^P{wylN}>i)6Upgr-=( zk3EQXANL6LAh^8BU|0@#1C19|rbw;UI4@PLUl#o|^~bX0XMPz;Af#+qaqRd5{4w*` zN~T3DbfLO@(1aP(zP?l-Fv(uneA5Sc?n$~@!F0HBeFe@K)2@Q1y2+>hu*IYQE-eZb zeQZY>Rq!PWy?2*Iwk=biw08kRB$w6fS!=$qG507qsw|I3rpV3Ku_99#ABA_x>EzN% zm(9kdHh50}UkX-_wAc;cWP{tfZf*#2ye-gH;igjEuhxR04U%a^G;WcB%4?(8EW7=K ziKdqhxeMh)Qi2EuP7~VSU?;ApH`+`HRtoAbS8s^)mh=HjiUlN$6(V$Qu5tE4;_8o? zh$Vy2Wnc6_on2(4H09@JO8WsT+qscgTmygbX%>gL3oMv?$C z5}Y9--#yH?vBpm+ax0HCBvk2C*RY#~WF_Yh#veZYGF7Fv=>y)0mf4Coz}C1l)>e4o zi+W>r^(d;dqy?PHR@SwWS;&J%ZDyLA$9q_}C%EWJR!Lw9W)1dM z{BvXr5ELs%d=w{&9m@7DG`Dm2Z(HnXJkbd^Z#FzN6?sk1*zK+PipkUSox!Bx`){jr zaz(fZD#gQ%h2&*PyP;)62W1RsM$sZxc=IsWn3vOX8Dp0xgiiX1#G`D6$kDpn;mBI7 zfkEc+6e+k|q^}Q1%MbE_Y!}VH9$D(mWmyxA*8Ix8xPNp^Usy9mb&I;vjsHC{Zl8U; z+i5GGc_q5CIH*8{o2au4KBh>Ou_?fGKcC3e^n?pZv8{$y#UI$eQ`#TUS&3PUvvZDw zr&-c=4+D6?sYe}F?)|J;Q4=a>4cw1nJbnr(*>J;1%E@TJovCg6h~gTa7F~#uz~vDx zSc78cUWS`-8jxz=YqNPK*vge(hBTer+o+<(Hf=uIiC&w?-2*Pa`10kMmf89*!!TXG zDKr-x2xu4y2nhXqJ@~iz{p}m-ejA4W)AVjqJF{IENBr`7p%J}Ek^8w9Csv~{gUo0X zAt?=?nMs{xgyq>+k*<9TY5uyhGg%$QXz9?Ul7av=IXV6AvYl~BgNfe8t;yIoPiTr1 zr~r6@PUhA}v_*;9TxAkz&GrQO@#8hoc`sF!t75r->3dx_@iOk?Mwfpj{~=`M3f&HVY^)&|;{^-u;yNz*~vz-I`3>7zkr#4yZK*)^WrLn@>O? zS8<1RfI^<3WPav)7xbe)3jI8HxPH97c*yA6pg9AAA4?POys2Uy*mo-CWjUQZn5jkGjlLOavv&fU)Ff$=kv)5PB zr4`68tOfvAk%GRXKpHMXRTC-CJOb$NU7{=bZ(A`f)}{HlSbqiZyd3a>jlsZ}0OAC| zn81~$9Pa&>!z{qih{Ny|3wS?rvpLuLg$*cUN(T|{|BlpAiJ3iSL(!_4^4{wA-N7;) zV(%vUy8(W^SOh_?CWpN@m4}a)sRJTN{lSHL0pjXm0f=*^d4aAB4Cy=fQ{q-Rnt9>y z2h(S$Fdu|)hRXJsV4RxFt#j9q6C|+EC^~kVa63ILIc$O>#^VW6}0CYh7GVqHH-+mdcp{(4}=^ zR`QjP=N~`b8$XWm7tQJfiBOJ@k3fl;^esHN#3hoKkF%h21-l1PUo~nYhiTems;%mjMCWKH5QHyjyj~4MbT7+DUK&sdw%U3N#?s;TvV{N+5JV$d|(|7U3wE3IsAJ5O8frmsMThl9wy0MG+v1BhV zw<~GQ__$GWRyYg5>?Lq2Aq`|EfC&H(QY>c-5zB4VX)INnWk2!TR|#cE%}QNzX$?f| zPRaTcLtM*hgCS}wgjG(Qm!FJg2kb$vgv==?^vq1Odwwf8dCncbkbT~+coveUbGqF9 z?;5InkQ!btk1||0`Ah!%0_j4rWSY>HPnVxuNxQ*Z^Eb{~S`_Km~UX zzSOLpusR0sqy=}5?3dK#7QQ6`a1HJqrXxUP>BTG1c=qirjX;D$H*-O6N;a z7!N3s@10`ezf9fPS2{)CZ$TOQe}LaQS{WPL{XdPV;pVttaMu**DH4*{*F z?G?XID+RR0|$p_t3!L$ z&dgMyf)5rU!Zqd}XdK8nDHj`S-zc2&j9M#(SCz7`Stjh|YO=klbX&1R*3&$@xqjWj zeZGP@rZqV?$H9>jZzwsd_niAFuYtKG1uQ}nmT)|q}KfSk%vK(VSI_aYftk(OEUgmiO+3x+&C6%#%RA@k zy30A(DRBh&sWXTbB8ylBg*KIy!QfSI({?#u22l=+}RJl>`r*qLkL!-8ky~@gG zu0%5jiE&jHN=qV`&#tD@z`ip1lu?HR;*soxvf$s*G4!9M?2!5;EZ zg>#Q&t~ccMHTf6xCkrnL0`CP@WPYz9l5?F&XD%JdCuSQ+a;+FA>z}j`=|Q&OEr!q& z0;%_C1}U`kWH%$(Zo*Z#{lVT^RaC#>RH|z(m0sR>Quu$NZ~bX&x4zN0AOAq#Vx|BL zPot{f^cI*A{;4vR|M1kW!Wwww3Vbo1y%`(ro)XeRF#l$eHk6Edfr4H7H~V%4%zBOP z-|X9po3i^DMtr6$1~}YuFbMeSU#r}#S!};mjjY|aSGjwFT_^?2EZP@=Qq%tu) z(iALg(yX^ydj?4ToLhze#-LJ6b00%4>$WPI7BAna7hM_2ZQY->MBn9og`n8A?HQL# ztH`pZlpN}^PT9Y(jkI;~#;71DiZuEX1l^cJ@g3yHCIQj+Z=e)ChhaS)Uv6lBIqq~( zgaxtIK{WrcI`a~T^ebx;8e<(yuZEo3DjGwI!0VJbLno3e2+u;TIl4X*HNlbdEDDk! znoQE7MiEM#Uy>{BHEa$AK+pZ5>4o?!4?0|doG)fKC14#mo1o~>;`LTi`FZ*6ShZ~0RBNT33{@0f4R|s<9@=A~XQ<9Y^)hw9pv7r#$PsF>#Zy1| z+@KtI@(YH?;4NB*?sWKcrZWO2!4{z!#tI_%9i#-crJJ*;CyMTNsHFv)#i)kPjhy37 z_1z_R$&9!!l6Br9z}8MnVy@i#IDdcogclLq-_ho)skEHpCi3y&ni2c+8^P%eQ<2YG z8nWaBh7+?{tV82y`ET#-V=|8Z*MFVBtQnHP*8Dz!lEm^avG>0fp^nB5hPKxKs}SAN zbpMC%`qlA?ituArQfHwZuwl7M?ZkmjEL9$D)x05?I~KX!>E^`e*5SqO9ss&&&}K-H1iiVv-QRCKi+1)Rp0I)bKG;(l z4ZoTH7vJ+?H%^_mQKJf_(8RpBhPic%Da01;U_r~`Xe5=)4~m^w0cq{kfzk5U--*xC zEv!ewVR)fjm)l@XV|94zja3N%Mw_0xp0K|)&rT`wW` z=57okxmI6*mDN^Etp|*ks&i-2T|4YbEEMy{EP;dw5x*#+k;`Ria>rgah4IQ`*Z#{x z^dDE9!7HyE-45`l=yv^DWxPvo^qKOSrH zo}{n=Nf*Ak2sHVLNVMOb49od!_#-|kG8jVNOw*z>?D7H&{8P8#o?78UiNetRlAcl#b;QNoSxO22DSXS9(O^Bb7dydlu$h>4Q29)$~*SUF=HsgS_%oV z2j|?{Fm9TZ2NN{Ds?ZJJsuIjUOf&n-oCCyB^yXUQh9zCc5*(yJixyKJ&M9NiB4V#W zO}SNk70Ku!&y=|rw*|q3R9qL^Z;z!LS3!B&d44 zwG6Mm`Y zPTSw@zMluQw$~uKDBU;Hj36N}!QajjL6BpJC?WPjJD`T!ZZ*9lQF|6gnT8oEJ|8*6 zTmcz&fJl1a8Nu|@0j#=bD;<|&-7m-MxI2KhWg5Xu@vRkAp1*jmpO7H%d8JFksMw~t z)wl$;z|eS^PS>v-%y59anhd+}FU@#wyXD zFy;_h_2?)u%q!igq;S%6o9syrh}0!IX)4K6(&N4nwJW;d0r@k(q4fvfaU+h2d)Rh$ zqUE6&<8~GUX%=;W+`o`C31)Pk+Ao;=6DSWr@xz72I^>WgkJLwgi#g+KU!cO zcBU7;ygQ3ZuOH;h4yoy+6aqFFj;`9tgD<)H4)d2KUCspN6mT@icRm`ovJi#~9_6Tw zKqeBD7F!L)Ol6g%d8auC%Q5iWX6aQn?f3f~C~;!SO)^v>Sx8`Um(uSEYvxho&)9!a zJKAz5rPzb5^1wYt!paBi{^J+K&4rl=SnR91`l0aHFm zv-a{g4B?D>vq>Kf9^H^~9Zs$nzLRtHx?8HC%)0w8jBv|h)~}F@J3^3cfhsTjllqaZ zRARd zC{fI%9*crijz#{&?tRvHo6b?kD~v_3d>N;JZ>LlJ#a(qWNbZ{V+w{hTBO``l2#Y6R z>Nu|-8e1$tzT-_+M+(J&f=)s`2aOJsKU(Le?n9s9YNEj@wC`t4w8q_q*EOYT1^=$c zgAtFpkOhMWfjFr(s0gLIx|Z3U&G7uK$-0qN@0$_q&(h5Pdr)h)`*$eLl|scHMDJM= zv&jfEM4)nE!|c2{>4n}Kth?*u%iX?Fm<>&N7L+oo>LC%dZiSx?dTgb613F5m@Ba9g z_I>-8(a7__POWqX2S-`LDsjfIH}^<%a(W9%6is@JP+ZXVTEb;mWh#iIA3jl%4)+}V$Ho)=$6 z0gY4B2kJHT?(M~Ju2iOhsyJ}qY96AEvalL}O5<>(7~T+67W zcS+;M(}8m$;MLtq#0%YC#20T94_{T|EL~n!@4hLmp9x+QgKl;OJ~0;W8oXrX0WsZ0 zh|qAS8^c8$;t_k8KErckG(NeM!h&Vc&CT-kQV}7#JRNW&Tr&U_3k5eRd@yUd*&d?^$HGDB0ciz2* zV+qQOP76CC4zU_tU{|fsj%atApK^j9+Kt|dv_(C+NbpKjzZbIYdFwbxw-oGL{JqY+ zTw3E_seU8l4EGZs<=TX`Z*g`RvWrch%sN|xXGm}0I`X!RI)H17dJ#za7?6bAK+l>4%**18mv#w_Fnz&_>r8uuEjJR9u6=6$8}Z zF}dG-IA1LI^oL%OG0Isbd$^79WJwU8ZpoWIm@Xf*RW(7kd+~TS3SrNL?Mx>^Bfb>a z>hr>)T4b|I{S3%@>!Cm4jd)w1^VjI&wcje!XjH|^G*sv+x-z=%QJ#!A ziZQ2`e)V}VB?R)&K(psnSXm!XQ5H!Q6<}uIi^Qpxuq~qs(DUPsG*>uqxjhtd8939! zRlyKxq(J=%tDv}C;)`A+!cDO&yZPMR?X6je*7~F|=U{eFE9YEI4BMWL>CHbFE}vP7 zIznlThPVrPh~5HvfbH$bDcgXg(3KY;9h2fn|L*9b^x+mPIAmK-5d^cL zXE~X1=9d#-W57$ID@FLW+?I`8aXe8UIq>ypb~Wo8R2au8Vb+d+(*F(9N#WD7{Mqj_ zzxR@hSGrd42)gjQfU&n)V1sUt-VZeX-Z_yM>ef%2oYZppd3*uJ;#W|X?nS2V9Lpl} zio}SiD+6XKe%VV7Ay~CAdLJ|{|Q1>-_6vfC81wf$DJTKF+T2R^!c z?mxFgM4VAgJju3$w0+2x^6t;H9rGk9dS2UKVPR4sa5&UEHTS#Q&Fda84$9*zWCTeVEgV@%b?K`flQ`?wNm+oMMgw3}__v?3 z$KC(?NBN>~xio7gARtwB(0>F#{wb&lb=F9~-B&k-E#HXSLjV70$=x1`U7T zswgFqxS4RY@OeT??kQd|n(%z%&5`)+GuVqEN7z59#SU zXGE-2{*ULqgze$&?&_uHiv5)Hr*XhjE3R~ViNM$IHR{jRcE9H)jVbRWSQ}Yx1R$%YOZHc~v8(O8?n*N)6tBzh3#;8U!|3yvR zvhK9q()hxLE9=%Jdd9|QP{`mU)%U}kZ+;nkx}RGMju_{cL3U3u8TuYyFFUTCEn3xq zHD?(I^gXKhj))2uTk4~yIR+&?`6MfdB-0=J)d0aG)!D+FT23iDkfjY4Vypf zS0O6==L>c(}vJ1>Tz*BzUs;5FtulpobFlxz47h z%=Siyj|A8`FNXEmOlwlJ3>Z$~r{9A9)CjoU*YUjDr|ElVYP;PJ_a3{)dsFj8i8UPc zTJW4?k?0-c!T$9?GYVWA*Cdk*Z z_>#e;g&j|3?~6z7)9<$NTzT(XyzkTRH>=x&O?NJ-?qq#5ay@BWDf;WBeHiHIjTPri zbyjGyn_6xuf{~dq8mb!@*&+P;tNXU2xt1>;C*tooYTg_YL#Gt7pQ{($_|kI$9Gf|0 zH-20rHcwD-m<_B&N=C!$+g; zq+K|}4p=6b&eL~*FL8k}dv^nOPYz7GLB6qon$7l*#?j0<)M_9c$Df2>Z#mgKF9tq7 zNetUOc|Feu5gucKcbm`m);y9usU`SZCOJ9M5HBGo&9a9c;=>>N*rUT|?Md6%2dszV zA;BKAU%VP0%m$(D+fSWakY9KEAqyJ|uUsFxY%glPInC`A<8N&M$VP4J9-P9|&u4O2-8_gjq;pcm=wisRMSAlXF5AUaUhMan~$>SS`u3Z`%6K>t1 zU8VO``-srkdJ^64jjMF*XCWIOroOFOn-?sIK-MS1Dq85{%ES9x?b_CA5fv3teeC#v z0(&|8TUx%7wAvKji~?VC{7o@ANnM_e%e0Gbw>4yb;a%)D)e5|10&;h;7Z4p|8T+B0=Gx`n4iDgh zb)S>_a+C&6X2?hFOU)73Ni}3azHcIra>Ok7#yX+7qTckhm!UTxCx zk2==}zCLL0sb8NbXAR_l(Q(UIxMYmmDv`^1Oh5(W=ac&U9PUm$dZui(ybjS0J|*`> ze?OoHY}zz?TGPvZms(ql9a}{D&C1fqnqSWfViP58b0NR73T$(cy80S8wuq5iMK5jR zBVlqTHM5vf+|-p{|A1zGMy;f!r?m2l_4}c*tjey`+6Q#?b!dLES-GhT+{VYM65O~C zt#1r1T?!-16?$M?y;G3s1;*e5CJLN}M5z`jxpqdqUyunI)&LDQ%7lhwt_}&kenx#% zkckr3fEG4t5a88-l-w|*J}t;30Baxu8%0V>GWQz^y>Ui;frv>ZLSH2!QiYaCsS!%G zaioK+fO-r}C9SSp#JC*2w;Ua_LQ}Zd61mbc?*HBtBE7&>TkaC6QYBPuiL1WA60;>geniF_pdA!H~W5mFJjcorlO7;EMi1J?}Y|n&) z>3BB^HFxZzdF5OEu!6Z9#q<_KnN!wq!|!`i6B+-?G{DwHNUQY98WBtA$Q=rW#r0O^@OCj35%-h${vL? zS#YqZkx2?~w4kM+xYa+#d9vXBe~tEn;tu~9S;&Kh#s2Yh6%=>-$CyYST=PS|hH1=w;8Dc;ZN4E3aHBPP zxeH;7?}4X;qda3X_6I9Hw^4uFI~R&#S=V{E)kQ9UcSrIc7^mcTRhG{0_c^8^Y&a6q z47WtY7-iU|#Zz*qQgv`uJw7aFQKr>M({vF2+1Q3r?KAjB8Lh`!>e`q<;K&C?H3a#P zC2%6j(al|~BcfNmgdP8VEv`hs>X$pe^J_)SJQ*(LNrO zJnv{#VwgdIM-wDIbRuiML_A29Sv_dZ{SlR@}9>1&dFFLQWxg)GXnp(&+I4&K}KNdv%kv= ziOIs_;?Ms;Ed~M_ng3zrm4J0FLtiFffcsG!)n|aVkx3i=(^==vW03{Ae+JtJL7{^f zNHH)w?_`RBt+so7%AZqZkOwcERK>~gNAmYEP;1gK%cy*OwKAJw@3@7oE%?JbN>!3 zqI05BSKC)GN$;auuDq~})znab4DFw^`EP1iMn`Oy`uOjM2rj1OohX3KPrBet%s*jb zdk>;Md?qoVsF@a@4k$uyB*OBh9*Mfc$oNNYO_jQbuID6bNWpT{cf+@;GKX+?X00xf zN`9>-w1>4{w(>SAieFGFZ>Da{@c{c1?YYR=I+|z2Bb-*!U8kFl1!dZ@>{uoGa$Po? zI8d+-qLr<+MsW{7cDEK}rddv(iQ=`BKTb#!HkjFa6u9c$f%k<+uKRF~8MrALmd>@0 z*yWERqI9gx*D!UAMWKRNHh1|Dkvlj|M?%aTlI52T7B{0{q7QUr95a^A*in1lgYSLj zgQQ`un^gYl#2UYEZ@AP~evy%2n$6YT(jZRPtIw8Olo5 z*`bt#kP@$dZei+M0P5qh6M>>3^Qt1yPwiwwDnB%acWULd1{Gw8sS0LuBwI_yq!vWv zt+0uh!_YOiq=zl1h@BNBUTY+WSB;n_$r27kGS(3>x8`BNQEh);TDQH!Ni~pPr&)H& zMc(hr=It8|O&Xb|pstpM96Wv7ubI1>8?&>NqRjcM^LYnUe=|<8u54J8?$b~#(_E*R zPx_HN9r03I&bR|CWltFrLEWCK1lecEyTn%;d$$WAIH75>q5ZjPi!12v^MtgzOx;17 zR!4Myt>&e*d;b$7ohn7@n*u>m)FD+Zt3|D5VavP-p}_ZX9T-8Qy}X@T&1zWeHJds% zZ4>$Z1%vJY(K^xdCE~&)L$q6FE!t{nNN~DS{Ezf1X>xw@BjO3j>u_dfN_sC=P`C`a zwo{H+lre0=9OcNva4@gNAh!9+TF+yZKg5?#HFlLu!^KY~hjZUKFZ*k>zi-#}NMme( zF-1bcbhbL|f>^QjIp_CGsim+#K3!Xq7>!R<%4laZK1~Gs&^Tfm1;O8acQqt7W#lu0 z;r6>ZffYOinTVmWi))22qm^E!j-9ygw`LllPyPyjC9CgWNt-Y7P)NKNS;F|49_r$s zF~m~iDQ?1nu2IB{h3BY*HNL<=hgB5mB$kx1>R$_00Lk3%fc0n?EZ;Iy#*dLYrydY5 zzvW*nDZycfGym{2G+q#xRHG|WzP}$`9_2Yu5DDEcQ5X{tU``P>iys?rziGM5L3^69 zq)Z8YBoorsg`}WJl1nn4LSX5>3?d1l7YWt38xv2_uN#R3Ppa?=s)#bR_6@s4#Ah#q zigc&LKw$}kNb(elV)XVP0t>InKfVWpDX{jrfMl!|gIHKdBJtBdG58LBc*uejyJ1!y zuq9G5{#j61f*vgK9waSZA5rUv1brgq$xk=Qd^j&gL6$_}6GU-|$4h%kiF#OOc+$?o zJd!Ya;lz7IfMXmb^kXeJ;5sc{*R$mR*@y8JLP|V|R`s0xEcL%#)Bw7G`L~N2Ko?2> z?=DUn5hXokgd|Y(LMcuf{o{3sl~B$NU;)=mq@9nl5{U-%qM^UyDL#NHM>lclNIP!? zB<##7Bz9quNjs6{XR(bX19`21Njnva3)wd*!S6|cM6ER_Fglg6&R z5ucB6iPZj6Yugw$lv3Gl7vaOrA>mgy7zvgm(F4?Fdg1B*HKMAD`+yk~3=o~8$o{DytfF|Ak zZj#9Jc6K{z8!0Ed zsC}rMobGC;P`3o><$)RVvd0la{8(* zLWQg532Z7)6c@jc<%=y4^0gmwr|{c(UkLWI*D3zO!g9LlJ;*q_a|tPI*RiFD+K2FH zykT6uLg%XX0SPv_Yi1Nwl;dh`AZcav}q};{lQR(h}g=Y)v>=3$Y zwe*a#%_MjlxgU2kXR^GL5+MIcNIA3z3wgfZFXH7PIYmtI5E7BgN4P<17t!7}#y*zl zl;FAFB9+DZM2QVO9+fKK2o&-LK%v4zc?cix$jc{JXm$_Xprf;|hrch}WWam9`c4k- z2Q4lPXwd?vm+*6qrqek}Oju_RfKJz(@)RqkwtWbI!#|toq55XTZ|U!>^Yh3RW41B0 zP+X$KblZlA^Q#^Hq4ytm0KN7h;xC=O|Il-e`kNjzS;Xfsa!q(?|J88 z@sg&13clM9ENz(jG_2d$&e@R*d;(sPAz`eF$eHY+n&9$jyHei1Q0#KRpuQ*xOvfVq zD0-=mCqtK|A>J(Ow3ZPc+s}EP?|13Fl@=Kz^)UONolXNCWo=a>sL|M&*&nIs09q=_ zZfux^TVEc0X>ePJd&rimt^Aw`KUu3ogGMLY2!z3agVG#YVVwwBD5Q_4QeX!tsY~$YBNf6t?Z^0K_$f-sgUg2N&z0P! z*dP4C@q0N4GfES*N8Qb3#n?M?TUmzM)mia7}CIh}eb#=Az= zheDQ{7s5CcG#4)onZgM5w8wj?%0YX0`9XTx>#?jhhX`|e(lc-L5?j;e)Kv!Q-GL!E zfch}=vlR&o`2;I?sUj%g=@9nG>cB)hY9Zl+zmUj}}1~z{`D0$^DfS^-W z6p3+fg~C+6W{Pb&Dbu5#)JNrL^qC;aSDH=#_dfsdToaUpWjHZf-945|BBHGm1Sj)+ z^3`OAi|k`s8c6Z9|E0|LSJ&Mr$N-* zDbV!?y8>=-{3(HOIRf17u#yYXSVho`lgqXRQ($PEDr9yhcsZ!x;f@Mq?wzqWK_vp* za;`4!ZxL}trF9iZHeI757={D0Uqs4~Tc9gurr{N!ek@mZ+1CO26$q<+m%p87N)d2w zU-@SK9CDX%g=z|({$!P{0PT6&5_Un7C=Y@v<6;QKms=1ZsX-u`UI-`|g(4Ew#C3N> zFGYY#3sJ-MpGvq1sO4hN5At-GK_`@uaZtluc8|)U?n%tS4423CMl{YzqpU`F|I^X! z(FYk`&1DYTJ~t~+z-2#j_Vz<8<0|tscMe67zS2Px7pUuttUM^Xkn5O01rp+BuZ-(> zq#`K#=(K0f7z~-X3W0|cRv9vQqQ3&+2LSjFb=>c@0-apu5wV5EEfomX9Ya%S`eV~@ zBBcmjkoD6O-_#&K%{RArc0fhcaDV>w zkGp~KxBE%d&p*HDJIZbdcF$~iLNFd9Y?a>?nq;drM!6*9;NH zOhDm0BE9ZK@P!+o-id*O4TA|{_7Qw<`6hTG7$hXmQyM>V@9lXQE;MVErx?2KE({?- zzeo~00ru?^iEA&6FB}=QUJM+#d0zmt4GE=mUf|?M7N`7q4T_lEtdn}nzM2pzA{r#p z330b}!Vef`c?#j(cybiVVOeovI0W0UV75d99{JJW#W1ccf){zxM57RA$4D76$35h- z{ZuKEVRIHD=ONTE9BTQII(m>iIKV$rzRh*cmBpoaR14cX_I~|?=1{mKNQ%&U6FLy5 zTPcB)22C+Q2ncfcModN$4Fh5u7R2OCNFpB=G#kL>kh`o$8hws0HW2q2B#8s)Cye-` zL;~l9|NH-6kbqv^5;^oNU_m`;W5W))2=4XKhOaVCJHO5WJudKZlg+|>hW+Bc!9MQf zwt&1~pwBc!4;;(a3!fGCB@GhC-oE|yy-m%GzRx22p<|?TFlWpfBWF^$dbVCr4h5WY z&6R}GzP8m&wBPhkyP0*J!4aO6Luiy2Ul2^Y)pQ9x6s;H4dC^wwaBwHcIF3t+L-SS+ zj&EE<|AAq~caO%pASXWoGFa><(-5F;`?VQH+C4up8OOleDxq77^0q%U# z(e+Xneq#&!XNR+R)4Pt+f?CXjx)SPAn4*GCS^>#aU5;qK&YlDePK&V)vzqXX$g*UF z$L`B)O_}#9`v<4lD}aBc**58S{ZQW_OQ*HJ?_*>%-mf@j|FdtFAazy-DB%TORha9l zRisSt&pRwp2}{#5LxHgd5@X&yrtttKqc`NkQKbB4#@k~-e@Ys^Zf+S^@<35 zKnivwytk)__jb`mLvagp)@GCxR(|yQIW^=)<=)eFpJ|%!ZOefPa0o0VlKY3WG}*Oi zDink6Y9Yu2a2?~CZLW0@Bur;j|txIxOh|y;kH%_i| z>cjY4N(Idd+H$)?QpD=4)L;%atsmIatBCCNQYW=q6^)yk4ddB+rMnu<@ABu670`13 z!5vow?&@_@c?1fWxS)C}1>gqt6Bo>PBuRC;ixe-NSLXocJTxdvt`m4s-X*vsy`*3H z$~;8drSJ9d@l=()CX`_j*%swE+Q@Q@Eze|BVhKQC;lIjpJX``;8qr3|`LjF-D&EUk zjEi=Wfi(_NY+_Xm;OR6ZwC|-=54OWc!g~kVH8|732;^Ce4@N3r3(KnFH70i(EFy0e z$*Sh5x@i<_i*`{(9Fz2#({#`t2};yZ=zWgV4xnIBX&|t+3J)xqdeo5*)T7_a$u*8` zRYIwK`KPqwH>_%Kd|IWpOs$&eN`-7&Ef$|PfyZ+~M-kyMKmsd4=JZGV>^HEVka$;j z{cmRSfo;%Do!W*mp;lz^{32J1HAX^EN){jsRgr-jLzpY^@9m)ve@aR2`D8b{l?!9i zYAtv!*R_=A8;kWjT-9uBR^m344zYXf@swc_v4J7?1ZMZGt4_LG3N6%rlbd&oKo-UTe==lF+en{vT|Hb6$f<>U(9d!ap+-1 zhQNy?GHkQ#8QbxsL%{y|L7v@Yd5s6I9`v*~iv@4H)Dve}OKU)3S*s=7Y01C{F2$sJ)usON-4R z3ExBp7p3L(#m$lm$Owz(?~E+}%7{h%)Bh*&MWgqopi!uu@#dZ!(Vm0}h7MWG_74Q2{=^kd-@VJjoGqA|2PgxS zDD1+2kXP8QvSfHbp(GR9IDYg|$6c6+{DLA3V+jX?gW;qA6p;QwqFS03n9f2u5Aj^S zFC1Gt29j~zLjfZhUQ!ONiSktlE+FMSPz~`-W33*2S&o|4FiX~RB_iaJ9}WHXJnfg+ zxT(cwUojcZPi|=s1t&D6G|aQS3`$9P&;W!UVt3kfB-H9?ryI^vj}7m${2r-eN-+E( zSQeETdej3hq)EpDK9>6U0<2FK5iu=D#3asKFTC9Y( z)+*bLw^W*}L*rG2d)~w%{`y=i(hTDqLS@BBfz6#g=OmxfPYGhm@8+MZ*tl ztmw=ezr|blvrN>kWKitnKDoZbC*tAu7!XIxsD+(`8fmo*D{JATFrsDO0F}2S8bAUT zR1?s})M|GQK?r0+BK?nkxjY=OlAr~~7sFUZi>B?}0a>UTcI?Ef7%iL#C`C2;FeqS( zvKT5SrJ4ET5_|6i^a~s;5;%~bPpDdrtZU1lKl1y~j&ez(gy(FcfDz8qiX(jYPVa60 z3QPXR0pH0+4*Hg3PgIMa{zw9BgUzFP(_Dlgvf~C|Z1CMIH!rxd(1#XE4~JyaVAJU{Aozw#&q zmhAG9&SszjDNa~<&EXH6_%{f=Opr=O*;$lIF6vOrT2(|6x|*H>5!FZ!;U&%vj7tmb zWJ{Gz*WTgARk(zxw1FS=ti-DJ1N+i)WeW1OQBZ(4m44DUs&F*Ibf$72LTPo0#%Yap zL&=2vsxeB_(=fMgbzjZ(jVjx_DqcB=f|Z-vw=?hJ)?Q0`eyP^1{ZC*)SgO?OZ_#E+gyEfY%%i`cRT+v)j&@UZmLSAicSOaDOIU*(J^6SG zgqV1_5l7C;(K*Jd*a8@ND-goNENj>@hC?>oSgTwrT^XyWAHDVFG{^19=U(;yJh1?b zqM3_cMu+2aVc>ud)ft*Fz2wq6yqNP|jJW|Y89ot6fMusdgR!Tv#q+a{N4z*{9+U=Ig4$nVAsBei>M$d;1 zEzi!jExP(w+TD7mzusRoV&4^@ob5P}K|b33z$?}+Bt7v~{68-BUV&|KMVOA@@>fNH zeo|nXG+Cl+K(LW#lzJN?uL_P^7;%eX6Sh2&Gey|8o5#NbHZZV-g+Y;TgbQupwQnDi zxQ8H42x*zKSr{MvSc820@-L1KhZBd-c9XhMH_0h*LRNLp+3TGWm~aATG`;*QVC5xk>ic0jM8zWrr;@9veFWU2zgK@^tGUX4c~j~I#3Xj9`#dk! zP_!6TH^rcQSxXSV>WfN7kczqyyQbHxqGN2kL$kqL%(uw;pM{Lo+?!1s+RBA>L9-`H zM{*%`h(W=-3J%x{Wl|XGa~fl^33q>-7x`b0Q*$0uiu5U1Q?5BJ{Wi#?lF$uq6X#{R zrByHu2-Oy9Z$?$44+Ej7V1^v`RkIpuJIm`At(l%(xK2jf3li>me3st(Dx*Y#W?&*J zy%4P+BHU%6Ks-gXE5ch#cb%v}trFCqkdB*JZZQ{F${Aj}AD~_BY#Q#`5%AWYENcT!$B zKK5qHg5Oh!*f+O}m*Pd~|3M^<_bp7M2~(XEh9lh=N6S~Zj0Hor2&IQ@L=m=_E|jp0 zp|R(tjj45)Ml{`+1E~Q@FSC*}xGYJQ?B?E>=e$`wTQVbaQOc0O9BfQ%av*Sg)JKva z_LOW7>Q0$6=@G`V1Z9A2L>c>#0gl)Pd;w$$n>CU8)v$sB6J_2TL|JjsT2Y0%=#!o) zuHIWzQz&xc<2R;$LNod`r{0?H&PH5%b0qR4Jgcmv*5Vk@QeE?GrkY|we6 zZ{H#4-S`5Xj@IQVtfuM|M^a+U?@YFw;vlgMqR-bhV4vod2)*;3j3axbeqKE1Qjv~n z%H$JsXjbK89r|iUQmP_Y>+^{scnfEOdPVWg;w)E~nRC{nkZKnJD)j*KlUI`ud7HCx+yRjj1ml=jIF97&XAo%( zp^Id%1C_?#)g9i(o1pVb^l3xe#7DOBGGp|`Qn=a1>|tb6RLsDU5|~pKX3Om%K@rPH z?#fX}KHk>Q@q6q2`5B_@$Z+etm)ATwk2zZ`zOaTgZ@l7(ohc--%(}cpWKtuGi)$FU zRWka?)#TwbMPkIy$e@tQ5R zl*H;h7Gye`jWA9OUZU%a;Zz{f{$w^!3`6`*{b$k;pSp$gpd^!>xVpuJSrH=_HFU?_ zl%x@wDpvE)q~ij-fzZ&TW8U3blx!hZRYjk4vjd%!OWlc9Ee7B!IJ~ixQcx4 zBg09-yse0MOi0Vs)~h0DgMGy)1%ffSOd}G>tXatASJ1FP;=fB*u$nnD&jU-s^EJUC z6n9JM>nOc?I}zpZ1!<6igGXI8g`$h{d}|$^z;58>an#B#`z)-H}PRb_!aIAzMdq zyyWx|M9za8Y`N&JYzKFq5|IW6rb_?Ft1mziEl)(hg=QV|CDhZ2T;KBSPr;AWvKtbz z^E!*#u?^RG9KE1FP_qaC$yK-|P3wywd!M=w~-ejN|`)o=HeSXT=9a<+_I`Qh^~R{SmYdh1uROkY)0G{M_-Q|Rs*vl?gBLsoZBGwc&CpKzBW8Q z{iGHnk>AqQuKAJBk5ok4YVlR#I^g#u+;LUC$+v1a9m&JAnxSS@V^h*^(CJrm=({c} zDr^!Yl*QYw6CHZN*W>x-+5R0N3I4_T@$(bm1ZI$V*tw_;?a56-jbo~{n0ipBvsdlEd# zf}8qqMq*P&UBy*jv|L;vcGKC#JOX&`lxa`7?3vwZG#bn-e2~kd+i;{od(}4UqrV%= z&3!qgRK=f??2qKzbg$87<41wDsRHoe$9E_6@#Kt!iYvt{QxK}9X(%=$IsP-5s|VM1 zyW#aUJM$R+hexx;438;8b%?N`4r0J2!FkQvrIycB;89j@kxQIM1wJZ&LoL4KA1m`Q z+Sdr+h0vbG2S$VVw0Ok$y5H;SKgL*kB9f_jY^OU?r<=B@8VA^$K!pnRp$u>D9a) z2?@fs!{&t3D});i3kcnapBD~#wSaIlg9jJwQNa4@bS~PU(3se~(jM>W@WSsh-j4@p zY)wBaeiNI!B4hh3-DgK;IjW^On-5CQ^$uGaKX$XQAd!!wUlrd*4S2!_`FjMC;OjQh z@fCrO|0d&5v?S~tHqU$%!NHf zEXKGP2xfRymjKtt*zxM$9%_hwV@i-hpkazU)obg4r?3l5j&d;bn_KtJAs)3B+?g9*A<$U0`pzPNbR#>CN zjXS1VTZ5^w1s0+1vkj$u|Aw1J215H!o=B}1c8?@YnO+?};@$S$K(E~?}tJKwlCU=;o^$|BT=6r%eW4jN1=j9whTo7Q@_Vezl+&pzp2mLpuHXuID=!2 z@Hx z)g&_$$DQQtDlBnD#lT;%?MM&(g1Q8q_LFx%ht>qn(}T~z%SpkR%fMWskEwlXr;*W6 zz>iF-?)H1if4lsOS6-qFglp}1KtOMG-A!(}EY77jDa>b31>N}8redfNU*gz)9`J-= zTIZ#Ufu&tHtsm)b7hV6f9R9k{%#J^>?lTFwSaZ}M=>OJ4QLh=@-1yYpng`rLRSumY z!Lys}c#-KuP%kbxD_cV!n<_d|wa4Z$v9rj?)r{qJ9;!9$ZHv3-Pyr1>yT4cm(;Tfe zQdN}>2v}ZUrK;gv58rl<($eYF&5OUR=_-6`94SX-R3q-x3b+9_ym9T|3PEfp&fD(d z3IQH@UW|lHB~;#6PgOv{Iqu|~2sPhI&RfF%3KAa^?vXdxO1Kf=)xF*~C#Gz`h)_^{ z<~rPXz4*?(Se0U2vgiA*m0jDxME|g&al4ITfI6e2k`6iZLTUz);DfS*etAU@Hv)`Y zjPkPln<347Sf5Ld;v7m+6T6+Xu&EGjpi)ncW3Z#ahe)l~^3fgud-pHcEB)N+`zYZ6yDiMCq8Js7k;#lqgIJP!qV2Sd*~ZF?voCtg zYc<=<6#b}ejt*l1Rjzg_f07orlD)UCUdS7xD7at=F`% z^+LEf^rJx?Ww4in^p$@gDl1b9)Ck96=i8#Gqvp`6X_J!i z(0}QhP?dj=I`{e^!BxUcgFYQJZdOm9qW3N9L-gpJz0GVI*7@MBK~JqskZ(G%rpH(3 z1V)6g)H`hTDXBV6#A^>`eU4dgvios=6!GkAf4|qe%e%#Az4%KCMmhaKU-!2uyg%o)cfx<1rGcXJ^jta8*}$}-m)=r(?bQpq=zRdpZ`aF4=4AZ=X`*g zO`P!mio6(D)Bjh=5g^)NVMk})scHkzYe4!-z)|bfKqi;ViX9G|3r@wljf_kxn}nQo zu{W1=>@Zgxi?oq7{PSr;f!?=lts0vR6q@4pdHrr3H>RVj4XX#OLspr}L4U}q${6H* z6_i#Cpc58S&!c; z;K59*rXJ~bu00LrP(%>|Dx`@IZOU~h#|`H*x)DqoMO5(`lxilV&I`2P42gR!R99Pb zb-xG;V9Ie^J*o)Dt|FAfXyUI`RkTW*>J#N9eDpMpfu9T^S!EyAp^7FFPOD~SuTe0= z=1<`*y@{n_ukwG>Iiy}|ZY9y#Eu{NlQXQC_K?si(QERJJk^{Iw5PqcbdV@*U<| zQ_x>>4Z;EY#C2>d$E?U3Je;eGsJ?|v#uydWpdN(G+NG?PSBvxxDY?&>8$?7{g?99L z4d?mzvK~MI?9f-%IlxgEcdh*^-))l__K3HzWnOUT&VexKe{FmECwE=^$^=IzT$j<{ zFyX6JbIJh^0QX)5a_0lf!=)3P*3;A{K1UI}S}qXSz8ukrY<)wqc3ZLAY6rFp^xYU< z&w4f=G@XE_O=a|B5dnSs#m%FQMY4w59~?q=>ks|fY+(CFh);{N7V^@U;{}YJ&mZ4w ziwtquvWIirVF0#g|2AX*55nj;ylzH(k2$dtx)%LYoeuGZwjq=UpE&*^c029};(Q6* zw;(OxmV(5{%d}f~FAgKv_*b2wxp?15Fa0s_o_R<>NTv66no-Di5LDX!(ijZsPHrRS zdJJG}Em4T;(STo+ho`@GDtWsOfJqH!dvibi*>8xjIMx(l{byqWHF~~>;R~MOk^yuY z#WOl#6q3ULI*rf(okkzC3mre~ZL)AM@Y;vnc+N4yIMFIMeP{x z=W@Lq?s40@#|ecx5mptBa{YjOK#wQ_H@eqkONnWHRzTjyg!EqLjfBlncoWw~1l z>J>^dW@H;#n0HlO*J5oP8wv{Hs9<`z>Dz9*s3(f9@GiJ(^XG_BWo-Ihrlu8F-NZy| zU+OsLHf)-A^StYGw3z7x&Ho2^$h9hDEe9T3$P^82x!~B2V9S7hblcDw_zDuy1iivo z&R}cZNJCT;O{Ka$s5^-qHg+FNOUQfmwg%FqsO} zIu;@nf&{3f+pn$fZ4ZWVvRK9Ct;l;LkHz#>$qPL+-ocqS1j82Muz@A05N^nlZ`TUJ!W z%KZ*AG`nh8sIi`wJM$yOP%#(}gnNG{o#u-3V3pf%{{|2?cZhn_gALXS6P2^d!g1XC zSKp|#Q}&3`auG>2T91=yX5Eb4Pxhpb%^u+8lI{J)bI!V9Vc<`S?;O%IYI?Yw`c^aC z{RPN)5t5nbb_+kvTJYRiGO%>aWJasw(?)&Nf_19Do}6x9?&C*?S8R+)xVpcD9cewi z(}utM=9URwra@mQEE@&tTtQ(Th3HX0_MK4&hWeNY%q07%B9h7L=^#{f)2sB?6_R~c z$&fIqOF1hk{s;~u=yl*53`pZOo<+)fQGyR{({-)i5%9uJPD zJaLI>0b~ODJkoL^$pkuy6-HS^sBmqKwOOfTj5W*Hugx?aT@uasEb$T$nyM71H&atH zvy}e3JG{((J6JqsoRJ%zJ!@cQH7A}Cb)0WBfg+TBf#gJ?9(94CKOJJhSr|)OL?znB zo;T|K=dR&=y`Mh$?QYIMwQm`u`bgz^jdm1C92}cLgn~h#guyyS2@tp|{-#C(W7baR=dk5H* zp^-WjoVlIGVTIO6myJU7Vgc8 z@upD*hVJOAz^L;zy=bOQjOl6VplZxVW3CUtr^Mf1S;GUc`&pLkb&pAgSboDQsiBMz zSy^+uLbN~BBpi!~jbc28aVktF0>JC3Ti&-;q*#$9*{ z|LU5Ji}jBS)RPB&Rk+i}u5#@8BQq(4A#NuTf#ugb-xbF~Y;$JrOEsenZJVMymDb{7(Ivbdk8$!opr zYr2y!yCEw~d`a^gQiSL!a}(>$_Zn1#qT=t`R9zDaVT($;P}&<-uMggMDT8 zQIWj^T;z1tJ=?CvTsrwKydQ^~itJ=P*T`Ikd$)Z*S~j|%bi_^SM{2!OG&(cfrJ90( z&?SDEFrC`^^=A{U2p6}w9Up>Zr6yVYai`p(EY17j_jMh64JA7rLGIT@#Xy@zF$K^g z4{>_%daN^;%zmdponZt2@07&>&}1k*Bx_EB`prSG}PM$nJ4bRhGZ)fFYUU%Hk znktq9x2B8jbx?wH?O16JDi>32;I5CE7bHv&5s_iIq-`oiJUyJRn{cznRvq0uVfSD~%v%hMUhyd2?B%&&gde zy#=q4KM8qP5{Vc2p8fivKDl#7mtv zcWlCaVIU?oxk~Ab+=zi)gcf*`%C>GJ{GH-&TGyh%WaaJT@I78J0+Cl17XtC;L7l@4 z0n)y<*2JW8vKyxiBE)1YEvxMZ6dD<+&u?>EvC!&of!O=tC=d(hndsl*7T=pyfE4^B_z4ILROu{aQ5xZjJcEv~<~ z(E4=XsgpXlCdHyAo`kKdy%sJcr`y`A>9)x`$B+N*0rdyyr03dw%>t+Qjs2ei1puYp zaQa{X0G&U`+Mn!R0Mma56xbU4JD;FS-Rhsr-Y*>QLGmPb1o^e|u9HITUmV616-=xq z8FGd5>O&YST>2W#;^FS6Hh))HFmNKRGE4E(v92#Bn5Mazv~SicD!?>*bsU=QZv`}E z1&^kBW5MVX4=<%x;aLeas0~axXP#7gfV=xj55u@%+x zxmUS_s9nt(HtqF?|73behB_BG%1;Qj)HM^kns^3%Ra5HO`BmNwZCTMEop*Hu7e;Kl`##lito2l#znhIb+G zJGWBgep6svVmM}87)3_W;$qn~g1mLe)IY5GH@}tDF`dfZAc>vgt+zt}t3vD+*_19% zO@+aPSk~zY+BZajPlG8JG9hH+*Mjg^lm`HLBI$bN=A`x4;tRc3N+FKTOf=(_sbicr)U-sy4uF%o}J3mtC86b8?U39T=-G2!a zLS%TdGSKwa=MzBWAqZo&Jm>k)+ajCzBezE7+dIUfhQYy1aZkHYOSk4orH3%02+OnJ zDUxmg=!pSa1wQs^x(C`OL7uIJ1(P6?u0b&UB~i0m3o6tN+j*LJ5SjvylbImk6TA9r z#jIWT3Im=SgdF>E*AOH)6W`P;rx*tvQRA-PR-;%qWc8*(WI87dtZ9_(u|@!^%K;dT z`&F~+-Fv&!TjU9;gI%L(Gjy~e@?rrC2PFvmiVw)jk`&gS0lE>o5 zqRi}9U0`k`UI$|slCPpc(bs7Noj~l~09t|;?m`7}9@pa0;oDYaTd&G5M9D36=O5fTz04_eahKXOp)+?(`5B8HBT%7bWBzDl6BiY&idrP}Y z%MTj6kb<{&IOgVRyaVlNZ4lYK{dGZ;8wlNcDi~Q)n>(3!w^Ea*UO?0|0gckvqdh26k;c)He%!X;*-7$RqS#RSm;~e!w-Dqo8A%H- zkr8$VrDHDq3K%`*0i&6q4CQ(Cr4q2ugSQ>G?9hLFw?WfZIc zl?QJNi{%Jt+e5BuLHSQv*ZrQvbI_`=VWso4I%~rD#XTby-GY`?ul{755V{ff|@MRB>pdfEFa#nKbtxApZ=fUT|syC ziaQ{DuN&IHZ?L`gu8TlaFO;p{k9q3fdAQ$V*esv z)c&Lnk3#|gVEogN{(n{SCr;j8&&tTafYvnX-^wKScevo2p7;)@6*vqqCyaq%J1OP= zRVMj!Db|jP#ju2n9)FZc+%oia4aSQAt2fuqW49|A(M?UAm>n!$Yh_xy-6ia*12m%g z+-&eaM;jwB&C-OCl+f8!4!%<1nHJWt30JAAD&SSl9>6JkP+OhupP!N+Z-8hLCkhwJ zpkXNQ`4i)tfNF%KJrOX8WqH=DO=BpcEA25)am(w>ssdsp?FXR=cM}*r=snaW=@s}E49)@JKLB9U!K_&&w5%t|s*Cmqp{W!q zL>FGjEn;(ow-#C_;H@SKDkW0Xe?=C+P572;p#51=R$nkL&>V}++;=+RpvdA6>Vum( zwZsIfiS69MR*mIPDAKT=j)o1SQ}(-HRKCcqH1xxc61n{RLe1V|^^sviPYzymNu2R` zT9rMb4rb3Jc_z-+U9LEsGjaT(iL24mL3MFx^nr%i-RlGKL!4m75$G}FtwTIJq)(WE zJoGdElRVsP3LJ7kdY#x{W}EJ`&2)F}!w@k@LUL0uR@K8H9JD1~O&bOe2(-{W{cPFbqN zfDCx$LZ~0d!bx&gqS%GHIVkn$Kk-A`WzJ8#H!Ju97L8N29iGJ3KLwd4ybOVl1cL^pr7s610Yf zIW^+g{V?w=SA5@ism6)h)x)Daa@;J+wmEaCZakJnn*lY`kkQKHO0(G+8w zK!Z;hA5-4^)FvSDrt78Cw|_obF-nC~F-D$Uph)Y+hv)M(m*A`@&==zju+zDm@F`2C z0$uo!vt$a&=~Y&0d$Bq#<~?+))Dz?as3SsW7*}>FKf0Pk=$dWQ`T{(W7Z0~iYuP!h zU}WpIIf|IEps59w83%@?oO-=g2*zmrvbg?@+~%BTG|T-vC)b;=>HVgND_KT$K-LT; zNd9ay+QTAJvA-k$x0^R4e4%hj+6e3et(_I?`0Hxa-h{$*egd=b07j*;R`{gX8MYO0zo^lW@D1fPJxcIW>8J*i!*(jb( z=hq`ZJ(A6M=LbmJz_>lRrn==~HHVMEODTy21^r(^-Of|#dE*wFQ0>6S_D0wTA(s(c zUKoY%2I=S;7>s>Y<&UE`FvxLdzvt7i^Rk?k9U2Bl4Z5jYdmc|uB8>yWK`pLtQPs5? zhD=t!6*X~LZhM`O47Xp=oxwT*-w~Zpy$A7fI!;CE) z$uK(_TM>Q5@zqt6Y!mhd&BvN*PFqkuVWK0~yc+bj9mG~9=#5k!d-?-XNP=SqMee{- zF(8t;z(D~kf&=~udlBF+^Dlx));3o)%2o*4-OY>^pAR^nPs|~rk$GJT#v9jKsX2D9 z72hNf9$j$=0rA*Dfp9r`O`WAJZ+*r)1H>C4dmYN;iZ_uVJoc5tEb|E(wC^K7prk%h z8heO2Wi;qy5S%3e8h)C#gIw3{c&&P0)b-zfg0QT2MDt=*>QgMV$#Su6t^*kOZ6IG1 zq0nI|x5W>u!AXZ^Y9JDV;F5l^B;lFk)Y64&5Ym|b^R28bq;Vm!db-%9d(?c8p9yIBL*>W#NM>NIUj zeqB%5O6C5bVvRM95UQ{BEMYTGcZSk?srm;qYTW75fc|g}4Kzr#Na9^tOI;5+_I%hK zrB<(lT4-{na_+bXvppA2d7;BNdcbcvx(HwPro&vk&ZK(+7}#%1*`)ZLLM&%_nn;Vl z{Yf)$*mKgez& z6lSwES$$H;TqbR+quF0$m4pv8Wo*Q8@U>`Xa?r(eM)#7Yo^EI90NKLIC+jcv1)mSI z_;QHOnU(5DMfM7HE86c+5;_Jr+z1O#F=J^a1gm4q z)HTlvY;cv{UkwLbIjaK0R=U^}Rxot4WG@~ne+jnlQWa0wFACp3N4?JKKZB`{?Xu~7%Gb&smP!Crp-gHB2fSW8M9Uz1yM_6DU_v%= z$-Iy+Ror;gLkt|K7g^%40BwMoMrxE+T&;0byW9Ke7#+8rUfRkMs8Gwe`^Q*>^QbB* zyOiHdCHk2wYnezwfI9hWa^k5@|E=1l^*O=MXFtWv0*^Mt;R zai58jlgGG^Bj;ziNCUmnsbDr5rjm#+ZJAt(>&^DN4z?y%GQOc&)rn7tPhWX_Pem`) zOVfQiSzc(PMXDsVg&LHKS$;&fHipI4FEAKF72fRU5i?})yaWCzBc5yfQLYIYFnXmsiq2|?X5ieKZZE;6FI_Q@lmxt^H4+7CIl zWAXrpQ7UJFRjp_(SIr9NYu5!mNz$7oRYK%`lP`Rl1yOUElw2wGmUKk?tM^2T3bK98 zjc9f-c4GpO6#BxIx}$e;&oKnjM7MH@pPDUyi<`uf3~bJms0`NiDty8Uq0REVNv(C0 z&yq@|^->n)D942St*|w2wl;F~+O~2Q0o3W$*N-((Q(NXERcmK5C=ETH;|6s(;drH5 zf~{b^`d@tu4TFHXP{_Vl((9tC;mEY6H$7mR)j7pcoh{L}T6HxUPasAI*<7@OnD=2g~L{vu8u zBQ}NZ2bMKIXtf%5>#6fk{6RuBW-OiC2%p%z_jp!$lB67usUF@ke8x_a)pyU@NJ3-S z2QQ+x{4Af)CjFo><6(*Xozi^6ho?(eJdrwHX0occjOC_K2`MWB{uDT(Q$r+T z{ECkRSL5^&mrgS+kySIA0flvnBZQkYSV;AjwBpk&QV~N_Pd+mD8NcI0Zh(B|7S<5R zsGt)odFcl(OZ4?eM*=Fwcaa`L&*79_SWqxHeZQuyeO{^mwpcS|3q0d#ROlJ+UC zUs3R1+l4E3*W;ttqO>ayIX@Me8W`fSAv%l|{ZZZdw#~ZG)FHZ*DV3p+FIT7IL=Lpm0b>qwIEY zeU~~lOQ-o z#hSNGF>|`kcPT1!#GB9aEW8V6LCy!0AWngYgx8lJnvZ_fvO@dRzcrV+)wE1f+MaOf z)Y`Gxk%}%$7Wni)O{ZllM&c-%u*)xodt#mVsMi~D#aPj=(&eziQMA!g$TXzY@U{@Q zG)^_alR9CQA#w&@%euX}jB%T8Mcnz?$C~GSx{N2YO~LI}tob>}HaYJtkyG$$xHHWy zD*B=1cM+l?3Zk$){8`?hh$@bj&txHNVS?v&wmurA`v#=gN;64w{n>6R;<1fzg}z$e zS>nc{NRZ^*$~7x9_F%vup5u+Hs|t zPw*Qm`Rr7C&#hW9ImTRYaZmqi}-_s#!VPe_yrQ{@0GDD*cN&?accUwD_nd5I->rpjDX~C|A>Jiy+&S59kZ7y5Gtk=g^oLmuV>)<7(_6*J|E8^8R7m?Eu+lEiPJx8F=q6h z(Dja!OVwuRy%xZ+g^@G5i!(HD-arNf$oVjiqrWk!u6@;5sIf6LD%Oab^P zn~eY{6H*-uS9XAQY5d6V(c74hEV5(W5ff=L*eLs^) zKZEFXS^bO=VfZklXe4G|1mjJ~`bSNL09ijL!5RWnM1KJgG8z_cI65qT*ZV^9_`yjv zo`}gT#N|iPJaDgh6l~;Y#-|N3qwvqdE|e({17M7;r2g*gNhT~xHR^NHO6w1owvK{S z^Oh#uTk{?99St1kVM1X=XJ%Q*)g?KO`BUZ9wu|A`phlCmxc|Akmr^yl;?UWXbKj9p z;yvAW_rQ5HUTQpMSMak{uX-uNX3+FaYU2yAhcRPyv}`(-!wpzm3lYC+xOAJdxMcDf zI$n?b1RMII9oh#Q+SiICgN-EXz|di(@7@@EDfhcwq#c?E8=BXOtii_6QN_?OD@odP zx)5+1vIZ*h3HAcOxSUa)Q{T@O8%zneknkfutuh1}V<1$tU;m;xp3Q;uL)T za=G#$;H^WaRv&DR7Y`NkFOjoaax_Z^Bb@JKX z-gaTW=ZW<0l=z7FYMPAOi;M!aA`2tb+mQIW+XgP@IfpJbA31a4a;PC3weCIgOEVK}RxuAX09= zs>vSu;xQHrlCMhy(!P9)S)=Gr8iol{M)yQrbNT7=dcAJBHba++Qil{xF=cs<0*6Z3 zEEP1O;v=P9nNHD_s;0*EO79?-SVAB^n1FAl6mg=U)MOQ=@};uz+osgvaaFu&g+>zH zR%L3bTD@;v<#{oPPt()VM$B}kE0=ZsOIFL1Z9f+)1ZB?Vo5 z?M3S=rw0NPCZLC|H+8Fh`szcq5Xe4b5PBuzX?PIiq{I#tbv6!Hb_%t-_I26dm)rUM ztFxqhAA&Ui|6-i{o)Cs>;b=-O`P(P38?;Oio+^h*rSW~S zpP~KD$l<1+kB=#9j;V8H?5RHfV$QZ-@n>j$GqR*9vc`p}dkT|5cuYQ}MA2jjZ)Zmm zj^Ky~=l6mW``z(@M#fq6VCp`O3~$a_EUUZ}9uV&@@VooHI)`lg@YfH~`r8#h*yB)S z2^t?ZOyFcql;;#zDRGz90CF^I_Wq7aV^@wqP)T){cX3qdWfn(!s&tu@66p z^+(!xfy2^{s!~u;a{l4o5E3>>oGPBt*S(a%UkKEAdWuxZ!qOd4s+$_ab6?Wyt&g1k zSVWs&q6+e^2SV7}0UkcsxFCK*0X>5QK-Jju^<21>KK>-Tzd!2(1hT}^4g#ez0!b=7 zB#(kgfJ~sG5k?%!MbZ1%;064Ofk+S|VRAG$WJe5^0)_MWhQV&QaVZ4PDQ@$0DNORpkBj^3#UE*aJCrtj2eF-7sY zS_j7)D7S)Tqm5w3s|f8v)61?=arPdCT%BznB5=F_ADQ&VL*s0OHu$Otu5y-$toKzy znp*Eco;bI>d9I%u_bT-V)Ei(;WHaRYS8EP0*zEe$E8^2^v&n5JOJkyo*JC|x@upmy zEozF%3v!z)t#Q@s<&wRtdPieKUo;`X%O<>fQfMmFgsN+IUtFY_7iv;w)}S#rB)tTr z=VxKF`s$1;oZ(lXwJElNOjSyA)VqY6XwhxSN8P-5r_I~A3FFtozYJf!*L12(7B>ZM zpbiUpK9I`q z6%H$^#&t?OO>Vy!F-&wq@~e?lP*mso3>iMWbQd?&Y;Ym3?>=JXKk-11-iZYin8sfT zFrg4%ry%8&p)Pdt9whs;7Tris?{mlLO}q+Kt3b~D-S82kU^rsLTA#d3RfsO;3Dk^R ze8rZ;pMnVKdZ}^xGAtJ7)!TF>N4Obv-nDO^vSIB<=*bE{UEP{n$tSWSouk0PoeM)9G|Yuc(lW#6c>(tDp^3Geb-Z|-xceGO{;TfJO!&hAUa zGJsEP2Q#y5d|`P-qTq%DdJt{Lyse&LEhq!7_!CRE`kX>M9?dECeq0Gj+j%h-oSFg; zqZm4&33)-{AOb%S=|xfEoKk(aq%%`HTXA`#!=OqZf{Is3(ZK%` z)76^{^`-fv@T>nQ{DlA3z6@;)oUDwj9rYZ|Y^>@2ek!X(OyXEM`UK}PdyTQn4$y(O5YtJ3U*PFmdlrKe1wPLCT>2J7!EA;I8z z>L;w3Y?Y0X*0rs2ZQW?4zbr*S;n*sydO@j@Y`fenz$;Dn2DzSiP$D9iD51Da2I`^J zpx(}IfKxfR;!w}8w`LX6q42Lhaah$a-21DjCP3|FR>FS5ouT=vYKt*ts0r3tyIAEB z1bocLU%6mKrOiPwYw7%Zgc3s4Ywc5T+L5_>@Q4lSN-a*D#F5RkNk14|AAbzQwSYcE zY+RJOsl(&p*N-#rw$`unaMpU;JVY63im zL%Q8zZNMDMfX(02!WYd>fJb}Vza3gQ6M%np%>d|C8=7X_?KQqb*a<9)fYVrf;*cFx zDwVvQKuT4&Vj|3_mwC1K_nW1({Hm&FnW-I7%^G99tje{p$c()y?VT$iKpk3Hy&8A-V^Xwi^zMIRzf% zC>gYC+qd&Y&3sC|7##Xce7wt(=L3BQDnbQƠ~#>tmn6fc!_94a!6`7P&oYGt_)`atru2)1q!= zB1PjHhuzwKkY#?MN0eb%_9s>_$ovVahYSHzC2}VFY>kznKSuZxN8wsn0r&PE+GWb% zTC)?Dc_qLAGnG=E*7;j)uzeDaCwu(v0Mvjr_#Z18-*~ zIQ_2dd6KRUSINJ#FfPY7^`#S?8H3|7_(S^_5T4+mHPe4JitEUzjv)ssmED8>V&mKg zX3=eT{bl#z!u!7E&ey=!F$l>!!8%oXPRX^|%a0)Y(l+ZN2wmr@Fqwi@g2|VS zApkVtm1W9}5W?leM#830`qI^vH01Gzw1*JCLu1`;I?f}a- zc2&?p_*d^`v*xgNc}lQRl!eM1mFtWR?UY7&mw5I`sP%D%7`XMF|d~9@!8;ZwR+k=ISGU_SIk9k5FvHhqWW|n--aw4ai2Fi;?-^nLAX&j3s3KR^C z3_L_>a!_Bgj&&o}Oa3Yw_o~#^tbx^=YoPy0PV+~%V$)?CBd;xAO(zuYQMt+!o{z)M zOEtIBF)YBLQ;#1Jxt80P!IaCX&u4j2zu=lksBAC0V{M4$gn(Xiq{cEjD`$Qa??@)( z7`E7Un3INMfm-k9HyK7Sj5=U?Jvg#k5OS<|R5cUrOKBH!Zlle~D_0JSZsx!2`i5#C zew;o{#+)VaB7^iY-2ODA{9&Go*Bc^&ziCe#ckdXus`W~_%AZIN;?Sx^PDLPs5b7EZ z_zT^*ib0H1$QE-0ed*!dvg7%uIsxc`*!9H=BZ*WH(g$ksBYA7h5{CBNqZ=T00;5$% zpZ>!Q7;2*HHsrU;`8--kXrMp&l{gB%Ak0!*rw)0-(Ac7w(nq1zpL zq&Fd|7GroL8t7Ma^U0J2pQ-EFi|4sTh)|$QO?0I<={m*J`$4D=N`x5WDRwZ35tl0K z-$ft#iVyt}r3Xh@m>jtp`Q!Yei$sR%*S3Qp)>GQy`C*>c6T`(RgCIVu`_tHN+DHB{ zPt95#8Spd)Jh>eie@jgS#(frV$s!gv3?&D zX)}P%XcvR!m=n1qP~fr};a(IgSyeoNy|@x}Dd6HRTQgVJmCG~q!P@rz3Z}O*P2V|C zXl$#<+hOB`aQ(`dJ$mk?Qa*COWYiQ$Uvzyr+5YX-2dv!pvwO^mvFl1#uuhtvYM4I@ zk~ta|F~O$yFhJE(?M!K7b=1Cnq=2^-CGOI$5J|fFlTEpcT{J^c#f)8aVaI<1H-4GZ z{!y`yoKw2HY8`VuKP<9}#&vw6VWuJ2d64(J;L9wj&T9wG#ML3@O!=BW-y~nBkbeuK z=>8t1)q%qGyThc-!!l9Qx$m7qPn<&3LPi@RBkMxS9&ks^KZ#`001uF|6Vr!=fGv;>ZoI8Z%6wx zYy~OwD(ut4be&T<8k@fQjV959YbB}Wch-E4 z!$}YHtbCwOOjg5O&lH};qDZ2S26yga^%+_!^fDu~mRKf6ktT(mC=bv*7*NpZlc`wf zMX&NFNI5La4L&b!Ws(-z(7ZnDq?wD%GTI;;WYqj~y z0p#rs(o-`HP+J^55T{lg69}K-fy&T6D+Kg{IPk2;m!9~K;vV4dBpC3*X*u!4!ryYI#Z|&&kLeJ31QqPUnv`AU+pCi4W zbQn7^UTRoPlgnVep5VMlq2&R?(S(E6Ax?;JAq^a2iK5a%?b+|{UnGMv2>`%Py^K!W z-5%FsJla~?GCN4TS3;w9y2C9JH@MWH;2d=Gz~r9h+5OcCX+I7Y$vk-Wl%z5VXMrsoXYN*rgJ>tH9462@-FXe(?1+;IHwYVii%>CvI+JLXf0n_*KvLa zmV!4_=ZlnUu1dqrgAHQU|BqZV%WqvMJ>*-zV zJPWWX?6VXLyi+Y7PE|lgJ)e5>5Zc|W6-Jn$y0~1kre3nAI%RL&iWqFk|!X6 zO?p*qMTj!FGyL!YjDrVaFr$jW^cr$+{eyq=RSIAUE9#Ep5kL@zi+4r`*m8mT*J^|Y z45QKj-Q(I^GJf+Q_`KJCsDb%&EIsNl`QYiJX({k!_r(WK0U?jD+^cmqi4C~uP3hyi z_2B$)xZ~)Jr`CQERxa&QhMvHjV`4sl>FM@!Uke?xu+ZcETE@FXg!#2?MCep&+?Wsd zYYU~$6RiQ8ljR^SLhJ=ouO0aX@zWscI@LH2XdWqrdelS8*`J)%Y=tU3Oys{n-0V=X z$`FK)Vv+xVxFhl2KqGVw9B}HROSzgDeJ5p^scmbjDMZ3N`iUA4?-9WsMJumU^89A~ z{(u<2%hN}Zv+SABD}}tS-ILE10HZGBjrFffpAGN(0RijO#|d2mLupOjk74V7r{A57Wc0lz)XC#5JLP zz+S>{H843+xfd@&=PtE=ds#HJ-}14=@uo>j)FAsBy(t7 z1Li$o5T-!MxOnN=0KF#d4&&&$yXBp+uU>WO`xbIA%oe z7(Fnj|6-nY>QZ%D{;h2y9_>A>tWan)m+^O<&#D#u`$}@#4>9jAZ7Ry2oyi+`{Nw{N z$w;G$#y7>0zqzd;tvfRd0z@^27+L}OyIdl9`_w(k~)}DEAyNnGraNy{{Ta^&2Xir#cwKU4CJ5;0N+Y%E+ z)v{2Ad5y8)-P>wH=Q)OZ?0%)_<$uQ?QT?#$&UTkLx^u5_3g5uFv?lf z`s25Uf3b*r8R56v+?99CmQG*2D_(%NN$^vxKjy?dxoW= zdOfW4_CJcziTh?Y|Bq9A6&?Tp_209xgZw`t?t1!j=hu|bHKxw)G5ymiqX)DjY6 z#U6MKjYsbpJAEJ602(_SNs@;R0Dnt3x(|cqc4EZc$Ddv0SK~bZs8L7nFt}6qhc|T3 zsV}7k)3KAblZ)f?6ZXpu-r$NP&Sl)dHq`}NguhV}7`Ds6RuJDcSs;B{@yY>xyu_&a z+PXazbi+Vz%-HORRGkB{LlVrLp*Ep*$7q^fj zFMJBZAoV~PH~-b4C%S5z0N?2PBM3~djbvUV^`Z-HDQq)`eKm80uWPmpDJO{_``=&& zT(zSef0>=%4R&`s7%<56b8|2uNF8L1npz0Q{%XIwWvKPnd2;uO{LK6=O{W$Zs?PCD zQ=hPK99r@xenYR5E_d8 zW9Z9r35h8ueXU0u!1)mW0OHCyAeBxF0WZ~0s#E;J7d)y|9BWt_)g+6-O>ZR{n5O~) z49XzC!=&;Xmt~k0F$olHmIa(7)?8c&yKASfGoAt1$~-|&b`F5E+_tqxI|~_SF*s!b zEea#aEcUN7bQcH=j`EBp!lh{60I5(cADA+(h@uwRkAd7NHd#r188L8!u-$oaJ^5>K zNLT=pFt=Pk)E46e3wK?>t@l}?1I^9ZRHY@)GF&e_9he9RA()l5WQFd4kx1x*kwU9x zr9T~b`3NOV2kC+xS75eQzuzheQ+z5(V%k*>1%2OU{c?HG&%oC99E|BHb<*|j`1TTT z>cz5Gkkm0v{(M{tklUlKGj-5h>}=}D@T z5*&0D)a}p4pSY6*kR2g{B2sTiuv1L^``W0xum|1g$izhK%L(tTlJ_xFrQ~v%`r$Qy zN<|W>k?!HQN?sOGETuK};!13bz3`aE3tORj(@ zg;IqU9Z_MyY`ad3Z+#8T{K8mTsM~mu1&~dZd@81-%bnKNUlK0sd=bf+Uw-pA6^&@6 zE+N2U%iwVM=9IfDv+}Bq%}s>EHqnUrYPakPHQrWR8NgH6uC8`RkQKz#;|U1HT%qQi z1g9lkpW`n~1K)nt)6S5~5f!h+?r0i!C>54#umbpOMRbj=XM; zy2x6?)T1?ZFu|>N1%LaX)To?@poQiZH(Go_l_roRe}_DtF2AoZe`;H-o}-l9byO?o zNpdPyM7(M3qfwFmJc#WAen@MAI#cVCgaX^4ovvn~Q(P{ikw-jSf@F=)>Ea>RaWhWm zKf2|Lf91@6;dI}hJe7q*p|A+HtNd8%EIGw;J*L8tseB)1rGmP11?GIPJ}(MU8(vYE zvG#OfZCW38W{j}MimOg!;5?CcD^;!uYrKAdNLR*va5^sWF1+(yriJGRRx);jY$K;9 zqn%B>2Y2&a^WF((JX)UywbC%Mc?|-qe0nsT&S+z2MkfCgI@k2h>zY7E^viU7%4r3m85 zO@)S@(V!Mtv2Y>J@p}6!^C_vVEH~zHgUeZUMPoB4q6k)H17mSVcAdh`t1RJZFCL!~ zRdN(1qriU~nSR4YSg0&F+_ivcK-|mx8}>g3;M)5`PvxJUvySxNJ?H;LRQ#C1e=w@F zrcG+s{~CX}zfnUT`r~_?+Tnnq95ISV9BHJIxy5C$DuW0l8z-fcnI$C7Q9rj`L?!N~ z9nEUdtcc={kyC|-bqk%5V23&P22OB-5|+|Y{h*M9fy zGsh#cz@#%6Yg-noRa3IZ(Cr*X;Cs7A^J(`A4KT*2=KJ~%S5V8|AA(g<RMpq6WcMz_c7$-(?CBM%@=jRhS-##$xSisOy z50ysdq)Bn6t4tst4y3#lVt*ItJxzqZ3`6f>Lt*M+n_tat!q<)cmK(&h77yoz5^~o z53PA!4G-40^^;Ixq6Cp_u-1@w*a_I*b{=dq@5|NKIpr{p>4q^#Isy4cub0g+1hBtW zU$rAch&hEIqOwB(kD=!cTpWz9b~M4tojTQ7cHRJZ^b7L>OmAnY{t`E9Ia1ehytO$^ zgg|6!<}Nji^ZWVMW|S?w7>N7?dmm?=P*6!Vf>F1QoplTcm5F= zO0Wh4ES_HC2HW^IepHW3ToO25LlgjwoHd0=mJYqMjdG;fgeU6-6{c>KGjpU}bv0%) zRzLQ5Nf<^Ged%^fqmB@;2DUlx%tL|h5tGOs_>5u5>_ju>oUsjXVv%OE6>*+QsMW?( zOWEINI|L4XFjjRODDZjK$}rifge{HzXxk^lD_TJoifBm=X%RrN{?t~cOu7X|{YaIx z`s$kHTEw0#F2O@K7?TYw|7`lMo#v^?#G@=J_=VignM>8KEvC8=BHa`qEqhhZ+~;e8wJEY^{%B~ z>r=6uyU4H*z#D5{p>BDnd(I|+(39t1-thO_=69pi21{L68Qd@c_`{o*r^9Vk2iFMUi zZED6VIT%jS6U-2p3OgA@B+OBD-AhgyL1EuPUsO8%jMQ0^HHbvZ9#(0Mk#P;`^nRJhSV47pU6kyty zWzh9GfxIk=?BxslMy+>Bu2GE~m8F`hotZfpR6tSN=_cq(jyF+W8Do8Xr=Y?c+5jyq zg`3PH?2vOk?W@pr3w;C`SIVa8%QJbe|8u=|r4>I6Rv&p4t{O&u`n-$Oqd@nH)%*BI z)?8dkys+FYZtd**8f!ls0i^zjS>*4N9%50ExoIk1d+A027wwjwlOKm(QKYemDvj^BsN%C*S4X&-a7je*8&KkRGy(!{yqCM8*ne4(=yV#NW zE}{X_-a1j~VO#8n!a*Ta96|xuTO+|U=TbOcZ3RH@4_f)#UMRp1Nn@JZbp{K5d@JEa z-z#8V;mYiBTksP^=-f|Q7;L=Za-Qg)L)KXQ&Y27H$@8;MR`TB(?dVtN^R_VZC~o95p4+yaGVvR^1)H@w16 zwr!mthw(KAZgu{%4;`Eg?TGydF$drP09gOqUf>_QzMJ*WSyIqXEb*EM!spMq?8#l; zXxM(dL={m{dA&(;ZFpUoRWyNcJ(>qcGh=g8$B}^S>vfho@UVE)8=#@F$yO&@gZGBE z4*U*Qx0PejO)poFrGdQ`jy!bB)dd_4pX%G50 zz4IOETQqO4=dTv*k2e4&t<>U`Gc-nJ%kyG$JUD_geUN%uelF-{4Gk^xu&PVQ%Z$d1 z&bgrSs;CJM6+ILU4T597 zS=_%v@|f5J>L!PHBnr6c)Dy%Co=fd&s7tSf7u7v0;dqW3DwmjzRM};51A(nP&_q_7 z%c`_3_!xeR*gRV+isI zG$Vx{Fx474Q}|l^T>ZTYuo0z^Cia-{j096}iBt7~I*{{5RPe%t4N^m?1@P#5zhI82 zM}=x3)Pe4W8DkWA`@D$*wtvA;3u9=Xbnb&7Lph`0;rU?*8^qlJcoaL}L7>4QQX!?a z9t#rD4TTN}AmI$ikA45yv5~r$V~8@GFuq_S1-DC=$C?T^Ac8Ca)2RiXiZe2ctV9xX z9bv@r%SkqI%tn{mFPes2Av)a8O99lk&(jOiszx33TL+4lzh z%$*jt>^XZ%hPTk@_2EqKTE*rR#+xR4tQSq2R#HJeQsU-g^6GknCF@k>o$ZV8m8Eg~=c`8;-?FDzI%{o6})zkHXn)xV_I zLOI2K|Mm4d28l-rvz}qS$;tp{MNn%;LBPLZD%Z*XSopS6$X+%;Rf)&O@$yZ9*>*)j z(Y-}OvR)vdTk@(hH&Lb!47gbt^i~8$b1n2n=Mr11&&lHH${>cb*s|hVUa+)d6YF+X zc^NzePZmQ0O@q8Pg}RiD-%)H|@XC|9WDHrMWgXX(B8}-QY4M~cx!f7n`rIx;#xn7t zSqjLKb=+A`|0ZXRnlYE_5`L*nDjQn=%6dA^r3G`J1J0Y;R;|rDMd*L}NOxVP%u9iu&;dNShxu=S0YQK6Vi$ zBB2nvb&3fC4!31USQ$n)z`_}I{mt5Z+|c_q%cIBE4oJs<^*p$h1$)9R>#*I{ZFn_2 z996R$Q1sE;M|<|lcGp3XG6Uoe{%jRvo#a1HdS`NrzH-6-c6TwDy}30=OLw(SXM6Yo zMKzg8>n}{V>Qm=P+oLAa9sQNAzdMxu1lt-()5M?gRcO+4Q9~pPr(Xu$#-$=76~erZ zY~8qO@bi8ReFuo8hXa(=Rh8P)qXqMhVIHF(IY z?GroNzQjACX;&USK}SZH425EwXKjT*T zb<*@HnhFGaernwjmnPIySdczj1$0eEw9J$eYnkDD2^pxdQkw^)*p zD~c+CrVF7|BL`LpCm6Z&>+~M9G&D1evksmHDjc*sGN`hKwEoK44--e4UTx+7D2h80 z{`w+EPW#UEE|!uKAbXP>BNDtJru4m+v`a%QytJYW(oZRba^2}>>XYsozYG+GE;3Kf zAx23YBSq0| zBwCYK?#~NK#L=W}ySna9r0VDz+j_SJKYzE=vJod;NqB<+zCd)6kN^_rs-GTLJYi(J z_^O%{ytY_}6TQwmTRkqv&L=2wTk$N@rs_?g&=uNh@>WPn@-@bjUr$+ZmN*iTSL`z9 zGfr)il=QmYS)3tTUj=RGK;0Ut->&sHCG8dfjL)ZfoIb9*bF-uO%O2-q#zEMQR2&_Y zv5#kk9;y|p^=pn5$P{m9REz4d3pA!(qQUJvCdbfq)o$3Pshh}tsp20dq`IMpyRJA^ zFdBEomwsKEviH0Y9|84Vj&Dm@-~>qJ=R4o&Wu$20E^h~A3iDi{GBcY#EHk+$?4E(o zo!dk!w{|=~Tt5!{-KvLKiEcj-$G4an2a4D{TFtr7{qm%H6e3lLx%60sk=?H`Uu|jg z-c^lLu!Za0%kHKxcHU|Ry*0zi(3{ZNoMHx~F@0RzVexnpEE|LQ75!|an@4VXqOAD{?=pt9QJJ;We4JHl@p9Fy+>!Ji^g`p#5Gv)Er+*jx){wE>{W^?{ z+1a{pk6t~hi=0lgNweS-or~u|h|l?*-5Jx^#|~l6xNGYLbHmGRPzI-va->YIcxM@D zN?2ll+au2Qfmk~(@`oNA*fj_88HDw)+#-BC8w!rxabty4G(Q>34#OYOv1WVJRRR^k zeD6PYQ?SQr;AzqsO9(^c%xx)MWS;NAaRt|?d)VV@l+_#6kHH%)) z%{NpmltIQ<5GDB=jbbN4aTaQ$+{J%opD&b($#7JbB(_BzzB5qnb}g|H4~3vu()qLp`Z2mGNNQ~mw>-B_ zuxyK=spzXwVFv_JAvYU%<=};$mj=~ZCF*+A{Snk5OZn^8xFltGGiIwe+48~g1V0l)p7fy_=({y?6LwNBB>r;4k)W z?To?V>ILZM40GFLE?WECLH9cp^I7AcLn6_4OV|An?k$pE$6nBmd>(TGu5r>tV4vhOi*G{s2IUt5_O0*($=F{=?R~DrE{~92n-QwN1S+D=xJ{P{{e7lPV zW2+D2MaxnCg!rHTkElHq=0(5YgT&^5fZ+ez_le$L5TSXkuMFl!)Q`0{s5~&|ctVTQ zbu09#-#(T{)n!kd&t-C6OnjI3WRPEkf+ah_I%-WqPLVI@b6Arrf=d{U0-#Oj}Ay5x0mo?slZtZ)6#_R2PFNn_D7B1-HMh}Q@)2Abw zD0O%7Gm)zg9?6m{ZSc9)l~Ly-UDfje0#!%HryK55b_d8+C(QyJ#MABz{n_o&f_0Y` z57jql997^exUa%BE=yLd5T6S=uRTQHg6+5mQr_MX&vFc+@oyM~AP+bpz3IF9Ey;KY znpZhb8bPm0yL^w5K8(Q{Ic-2_xz2JgukRUM7qPE{-?M1pq4zeY1DlP;KK5qpeHdF) zG_eejarK%2tL$-0Tp74r^@zFcDSEHKeS~WPKO@KP>bGvA4dhuy!ZXXQ_4^ccc54A3vGz zrBvr|?*%<0ID=GG_V`@YTjW`TCr#s|=)pn8t~U)B!>u@0jb#}@Pw441GS~8?9YVIx z2XkY9?Ah8FavpRQU2WE2T$l%tA7csbf>^F$u_Mhv+Z*);4bdBJv6=$km`Y_J2r+{j zIOs~@gQZYMkZ=FcjHI~a<+qE)1%A?4|RNpIGR&n!AS$GK6res^^zb!Ais$YbvN_yrhNp1*a%4Be=i9 zDKHDbv>l@11rMu=ZYyd`Q!^Pr5(RGMvVBiezqQ2BvTMtnc(Huj{&bF@9scAJ!c9#bL)QaHR%#(qpnGn~b)7e5OnA z{Ho!xyE<6ct!=$ZXT6Jzr#-uR-L2+*k9O*?L) zL?_^KZK>m8uEh;()#uVyl1(Yw%fsV_IucBJK41!@5m=!KF{T5Ji%)9^LLNvDEO@<+ z3=L!#B&nA5q7sj8dW!UW`t*6MI2%Rj$3*w*V=CNw`MED}1a@)%O8TWy&NY6=sA_US zL4Il+Y@30L8JGti9DThd-!OGAU?!%zi$4GCWQR7BEYU@x>!tTTW!X2vo*` zo1ljE@>uM*Vy6pi>L#m)A^e|=096uDNv*BGH%+m}D>LsWya7}+(4OM;)p(PuPk0mv z8^`xHm#2%S@4HXR6k8rPom4^-lJm%f-!m1ALU`Q?U|Qf|x8YM8{qk~*&I6#3-$JEm zQ0qri*+pMBjn0wcgP#<2Up$vzeaQmOx$cf`J>R$VGHj`x!#=?_IzVhXJ9~cXC;i^g z9Wyy!X7yQ+JmYkD_I{A2TS124L~9g^89sK%n)REHOwkI&Kc(}RBDN{?kBF8A#5g7R zR}kSD*7;}t(4ZSCK*F6g>4}q@D>DozlE}=Io92cQ-z)`Hgphz;ouu4-t`xLL4D(wS z);}Mx>5zlH`4b4OO%tP3$Lcb4kf9GKMdX}L*NMspO*n8nL zG1mg((0A4g zoix@oZpu_gc%Nj&yfTar-_biU{VW8l&q9OvElS1CvS290AWJCJpBqDYZxVykZ)ul2 zZ^#IOp@Bdc=_#D#CM`(ikIDS?{x=m2M~)`Bt;8U1&HNv+F>VsVNO5?G{hb2yubfzT zM^MliS9(j;UG^Eq5Nn)Xf+T1L%Y#4WC#YDQB3p4RRmy+s>QcONTLk9SC^gjRXp+j#m+IKoNIcOPrj>R z9dc+}>@oV{EC8j}Diajh? zoTA%OCwpZpkxb=yHzELR9$7b~HzFXKP9=8MTPldk@vUykj1RR8QX%Wp-6$7o4_b{J zA|ocyVzeq(6|(XO5e#8Wor!=cAueFZ-A$O>Hs6?EEGVQJBH{3Uh~H>?*iJhcT`|a` zNKbuV2~wH+2ZZEhZ!YBTPN*Jz8f+@7AHmqa(n{c|d;|UGyL)rv==Pthe+!g=x-|-r zf9E3laZiO!)$t>ka1PVRx5c)mfg0PM%S;Fr6ctt(cS72X2`=2S1_F1cF1@=&wl;T5Dj=V|=ylys*Ae(=v#VlXnwM7aANbJ;vODM8OeP)7UC#3^#$rADz2#0Lpb6v7fKPR}H0CLkza z{t%>B?1)uC*gxS%C=+<+`=uxiCd6o$Ums*T;2&oM%6MakBew@z9g`!_Doe9Ni=dq@ zY~m0yi*zqOhft8%!pt)Rk7HR++26vGIOQJmehAkIP z7Xaa|I0`b0m9&<)CmfG1KW1o1KOiQa-#}jGmX@HUG-?QK6Jik{Mx%zUCsa8j!s+h38G=KoVkPM=a1^@c02u2tY5v6ngE!jtfpyV6`Cxa<^avnK)vVNU6{ zQ%jx>)TzCCrBSC-sYcZ)jLx!+nz_oJ`+DM=vQdAY#s_BtJ>Nh*s5vHTSTTqeb}O?yo-t-g2QMK!J^)k(}?eas}}zafYQ#$jAZ$tV-=Xz(yaVg%wvB zbxd**ROuwt>{OwS%B9wesKjZMuDEz|=i)umi&x0MDqgs;5?i$^8Z4^lhvYLXp%ZPA z%j+=>Nw}gUH_jzMeK>CF|J;!=fb!}rreKe7{iYoPbAMC75!;tggK!V5OC^a*(>DK2 zy5ZP)XdbCRqT_`^k)7kertrOfHvfsP=m>IXr*FIt{!eN|rD6Geg4Z-jP~+^mL~}Mr zt30BM@;W*(J)#nno&Ai~NGwC}dZ}HnCywY9kw($YaY(eoXaMZ)Ja&3=-co}5O~rLh z$p9%)^2`c)2wa4Dgr6Fc`=3OE!8%?hiox7>^Xw%LV{mf6xt1C<g4BZj|Zz#p@ia-BP2uzX>X>d;-*v?E9(>sw2z6%T-M~N->oe z?9NfBKw~O(5GbkV%L6=M7OJ+N4wb7!MOG?{nJ0;16Q$=X?m4onR4wi^XC_CnAl`TS z2auT>He-S)*{U^!1tBqTB4dta<=M&7XJ?2JZ{`wq3fJA$U&nS3S7M45WV$Q7&9+a> zn+=qm9s2cO%~Y&4GJW=frp(t4Gj75P|JXYwuAT{BJnbNSq4|hUFzVy6S2sLM+H}it zcALw+Lpr$7(D{oS-I>2G4F< z-3oH<5EOC|Gz{$O70N8mO2!i(rrL&Q&?b}q2Gx8wWAGc7jz_TjMI_y5Hd7yJ%^}?w znydEHC{`w3-czYWbBw99NaL8vjoE$$0Zwh-cM3B)*fA|3=Ty9CIKV-WmcZ%&i5qlxXf`GMd2L+8tWl19Q1n*dcS+ezv7n_^rT& zvq9j;@fdlZvXguNSh$3F;_~ivl$fsNhbb341E+xbXee{>AEMQ1rnaw6$3o!gtq3dYQ5gVUQ@WBv)?j$~TOqL|2QK4x0NbvC9(=Hq~ouvJQx zpr6eN6Ol8sWwH{dPKd(@DZfTnr9f0-fmq1+hE&El9q37u3^W?7^8O5`cTmJDv@kp5 zU75NJ?VUd1Rk>}vz%!rEn9Zi3WQN3eNkNX3`0x-H+@_RtYbe8^%>5wBH5@u4PuVwI z$SQ739H?`SFRG(2>cHZ&@lOtc!d~5>Y3rKVATf>n)@W;x2*qQQ5E*W5 zo!d$qaVApD+yX|Jw_JD_VwX10xs&DzVhzL3?|#q+0)*dTv_w-`5f{}+?{HK%LImqa z$jnPp`a8`sV-%e#d2pg%hE-mm3hKwMhg#%I4+8IUN>p-g$d$sR1;Uv!(Y0M-j=0d< zt0PCI zZ;L;&xq2b7r5#NA@yY;rneK3;ZevY(80T?)PP5!a7j)!yr=hPS5JO{r{$KTbuwUQn zI==$a%wGU<*#DQH^uJlO|AwW<)vTgdMo>O9z5C_9!qQ=U_8LmD@=Di!Evok`b1ZEx z^BQXY+}#bvQt!P%BF~rHCIc*6MlRwxv_HWj4%@jVzdnlw;y>nW+*BwX2 zw&a#yza3rPbW`Mu?PZ~644IkdK#&r_#ucg!&>wby1)EfMOQzE8Z#hWT6A=?a`_ba#I8FkafMH)fxS5AW^p0$U ziU7USlrO8XZ~|d43bBa;<`QJ`P3spK(ker+trr~YLbn5ifyK9KXgmm=`))g6YVN-8 zRI``z0d2Jy5z=sDI;2_0uUa+MjzEhbymWqMTkelqbaZFjpci@~C_VPz500kny#Cv3 ztQT!eTTyh?w-fdvxaz5_MM#d@19#vC|3Qv}x=43B&YiVL8u%aJI44knJ!tAlY+V_EJ}gz=g+A3FRE0*pq$wf$g8;Qqt`f&^FZBr22}%{2!f#_k`%KO@0R;(!7W) zUbDnE+$D8=rsk`py)1z5F-h{vjR*ni1dVo!>xCbc(J}>~-&Kw5hOogK_12#XxUM@G zFDNE}$KQ=gNc-(54*vrix7MtX@pUejL0a8NqP0r9PXy@k0y%Xvjcs=U{x0ActVzMR zfbG)AJrBIl!mDfZxE<92!ypuT5Q+2dGLyd~%!m#4zKl6IbCHdP7%)*VTWwAozDuZO zXx0MWPz6Q%JjZ8WWll@AD6V?&bQS!pETT8Sx^*2nWM)YPuir@W>QeJO<+14zZKRCs zM`D^_tDHPKsbhgyW^VgrfYjLZ7Ef5*95{_BiTi$fMXQ=d+>Y7qSDm@2IiTMu*tJQm zpCy{AN(A4&21zL(9MoSs)+|v5=-~++xv)57O;`M5``hzr?)kwCO}h?7rEU&~TqX9! zYtIfcSO4cnpc?%RgQSuA0j8SPQj%)sDIa{X>T>)YFk)0-M;?5kJq_xVu3t5#e9nwb1AVi)g>?WtkK}c#W%)HQl}U0F%xgfyO@ zr}bakxpChrH@PaWP#8wTp$yO(R$ex4w$FnMi)C%X-)JDsP?4efQyNEmh@l`75coKPKf3o0F~H z)RoO6gD7)a1KfgWG(}dE^d@YHg3GfMWA@F1LhWpn*R7WGV&-r2X*BY0BaY4JoRcB2 z%Os{^qOuLvFB8~E@IIy}q2H?tQo~G&MVpdNHYYCpjtjdP<;DB@mh%jZcZ-rt!$;75<6%4#(Dd6_ z+axW=AwyNIuA$j1oc?-=q5vEdaZckDxy!CQDfvBFVHR~YZQ_mQtRAoA&K8a;zJOQG z3SBX(LFqYRlpN{QX^AVs=K(I_TSjCy=z=(2U_{ znfcGCiw|SbNF%NtNaCPKT^RH+29sEh;+db@1{MT{Vq!lX4>-`N*sXzt-}S>ejiI!Z zlrjAOxab$Iwv3!1J|7Pxr{ejg|-)Q$LUFT zG@}LXq$Q=y%)?ayQMu>6**txdw#E1f(Q54ZMj*)IcdkX)V_w=Z+Y|JrAfs|dyY=ua zli7`O?AVvF`vpjU8%2Q~kXp`U)5klqUpTbaDe)%*VQ zOUK^G)=1A$$4bw@{;QH-Vur=9T`|<4uG^myS9-aLMG7(*qZj5RE_D9C3G{XgFdFIw zNa_FNZy7oqTN^igdW}wil^j!W7Z+O3*gbolD!#FGyD4Pzc(Tdk&Cy0LQ!&Gh48o04 zc`5ok#*$jxXGA35-md3PcwX0yWffUCaquW;D=qS-0n|@882txkEpvm8UDGB_Zi~@S z_IDi;_mC1RRm^|8sT##o(a)53tk4dhTze-)&Uz+pR4)wMcktGTWy#O4<1TZf+2DFh z4_f@rDo=hkE*-c%?5C2vu`BB|IxSWIHLFy%aD3yYL?MzA+Eo(ic0$)AV8jg21V|>C zu~!oV{E_auWjc_Nl8`G+dsFQAojoWF8tMY!2D6gtf&Ccs*Ro4Yu zCROT$4JY2ZFHcfv$jtR3Kjb+(S(}u^1*X2Sxsjv2%PP>XKkv59!XojE+cUO_C-Ig( z6ONDjj?c_>@_HLjNQB-0Je3*fX9|1KmRyQntNys63{zU`!rlP)mqm#dWo2C_ZD^9g>W_&?oyd)1aJ<^|O!H$(&ah$>YJmJ9p z3ZM9FIm|@{xfIGzwaF$=*O(mS(nJDsto?fEP9j=+_|_x9S>M^XSiOZYw$X_4t@EuP zr8Bep1d6c0vfH+mbH5%zgqQ(1yBM1RndC>x5z4ffB09Yi^v_4VgEIR1KTto4{B{7W!F#@|QgDNP(z zX`SY~s0SVWR zB4ZEesUicaoG(u7=gxzSSGFew6_i^>)~iy5+yWi_S4Yb4b@UzNYZ3duU1+-Z+s+?@ zPdjN=c*8L8c374x=0jH9g{^5WoR8b&|=S%bI~?JL3BgzHVGL*LMW z5V`p{Ir@V=a&z}93Y9GRa3dP+AW8m>TcQi=&cSJoUAYS{v*4N7gNx(k?jZ`R_;bDB zd1Z||X}@D}ElxSyF@xLq*w6z{Ir_G6WS+x=Wl)BDll2#XcXbg_!(V0AkVRp3ue{~d zGripKxxtO)rM#=`+(+S7O4!Jxzom?=f(NxJr*LI~g*`(~ZnJ3FwKYC1txe`8qpW(^ zGCqls(vm?Tvn4t$efwFNmeD+zOsUh&TPzu{>P3B_4|lAPR6VzA|54#BIqo>x6z173 zH7ZW&AfFad%vswp^?a)Fhr#W`CF#>d<&(6JT=izTdRmeV=v=UHy6qcuN$V! z6t^_}6-U=v#wC6a}W;rgGH}cH~YD#pm7Q4?T&td@{17{4yx|8fr!C?mz9-kyfQN6QoV@c%*>~N#=p_(wG&q7sE`N= zau8!G6ncKiI0+*~`u)s9~Il3d}r+GG1P=U=DQCnn2z>BLVX@D*Qi;|JL_ENT>g3h!)JTQ+$z`@$z3J7;hTB{7FUv z$Ln#xe;EI*?=QJS^d*3d7rWyi?82Z`7q{~v*HCj~YND*#9BZ z|9_;$l(SGl14*Rlf*W!JZh6fkxhapb+G8!HDX+5H=U2n0tOij>Y09sx2KUtnD664; zHG;}&cwdc>vKrY}Bdn}OTSw^={QKO>q=`6Rbf&eq!vmPR#)H;uv+tv$z!#45DGrtA zY+EwzsV1D(Y`2f6vmh3Z^Vv_iGpNIppHZjYy7T-j$?y&m^Civc?q4fYbBh(_Hk@rF z7~FmXoyM77tIO2GM+i)h%%>Nt6BlpD`Jz)>ixqu;MM%4hwYb;|Eg2*)ocD$ z&jU^~0r;r2F$VCzKK%h@8vXu{>6CZ0slK{zf6e_cO+x!?&XBKu z?5{a}khFd9zvghJs5t+cd-5@U{%cMMl4%tF?@UE<)S~{*RPNh&9q3=vNTx|-e@z$g z)l2z)IU117jWpF~5B66A)ijCvuS7dvz2`p?U)P5aJk1FD@8FD6R3?81FYz7B1OHM) z^mbRcx|U92{zvl+DZ{VAcd+iCjySI{g&5{5)rEiNQuoUqstz1?6!V`sKA6eyFLWEI zf&9A^hA>?JYJXjV|1Ue%607@P^V38t96r-T%UnJexcE5`7kK!~d_WiY_{#!77XUU_{$!z{Ts{Mbn+3LZ0S90$F!B*nG8q;BlPcGA) zSTxr08u#02Q6`H&mtd5#dEQ)q%;_r(|8KaskE_%hF=-&6GE=bsQK8JqLI2;A&*xsR z4p@t^7n2J*z7k~*5;T=WE1~sDjq+gMasqzB3js|v*0}`ciOKe+5w?JuX)Ln=UNg~* zCsNs?dDgvfYj(<<+IvllUQaKoU%6i4vH>3@k8YQrTGmwy%K+rh_Xq3x&NJ$l!H(H} zz58JQ^wnsWbeGFZkLbzlyG~E%tNSjK&zI

    w~w8gSYpC#wN||uCC6OR=3Am)=r+! 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

    5RTN{y&znTDG{Ri3miw}i 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

    qT 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

  1. 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

    B?uJdrn@{Op3jBt<_q~yVu3dVsrHJRH3!Qu%gUv zTZ^RIVZNAOPhjVAVTs`$PdnYZ@k*ieYt44GX_l!-ru`Y4nFtgT!_$nwNF+HBEcRAd!e2YI_s1^byKVJ*qk#6HYbC zn_*H*=KwUOL}0IyA`&k=8bh9n;};McyW8Riqn1%({pBk!27D{q1b>T7h$M>-?ysHY z_G?`*k?_by@cKBw{|>5tj7SH6m&ni0`@-xm8!E{AGO+LGdN- z0I_nQM1*RAm9zE|h!XX@K(pT7l8it!RY4c$qXnb7h-Ur-M!i;mki6zT$gaMnWz$7Z zaj#=AMxw)=KacZ~&Z$Fw7g&{%W}<=iPU&+|JR>#bcT%Q{K$JmWi)`d3=&2CD7{IJw z=>Q(qhSZ_TqL3KEpR;^%_Vz3mHpMWjUkdEjEw*m#?uikw_$>J9`tJ`_7^GW7Yn{)! zZg>q4>z*K}`lT6>32Yz8#AgSS@x?p>16GKoU=csd2@ty4A|0ZqqMo&|N&U*riL1|{ z|8J_o_1qw88dq`GBTH+%K6W8C%ST>E26I;O`(OEO+0pNwD5h4x=udY&Wxt&qMN99x=_SMuD@}bRpxC=09Jw<6c$SY&Q>CF|jUV7d$f z!yZPaXB^vuwmEQX43!#?FR=o_RC8$qm?#~B*7XADy zZ5lTMl0_w&i_txm$?{>G{KMx(fV#EwinvcqOO&R}7(4UFv;W7c6(@6B9!W5AaQqYy z+AubC?OVqtOJyoWH`d1jxc`mQ8~z`fi_LD zW>FtyDoVVw$V?lRA)$1oBy&8&T&!|(a;)(7ZsNq540ASoF%=cN)O$FHN?YzdDGO+8 zStE05EC5oW$2mK7NW-EYc9&Xld<<3eS-eGh1f1qO4?u%O!MpS$HI%G0aQz@(oF0qP z8vUZwe$TI87)tiZ-XUX-M|+jLk#VGHJy1zQ6*|so2%M@qY>LbHZ%2%{O5NTAr3jqw zrN=uf7Tdkf1AW$6!hrys4s+^WI@^@eWCDLwfSV1)Q&;=G@WsAOn7SdhHL(i0xZD0Prmo;m3hCERC2G$faN z1lDM@)u}3P_u_hmmUzNW?ME+NO4L3}X~^#dv3q?MnS;ZEP*C_^y8u|};`s7AyR12! z7$`dGe_tA3^g4HZ%}+M@K`7iV@@gn}&-mK*XA^nmtJjqzY0)nVerD&DRs1@BPt#?* z^>Np&2H19Q7cs70PFB&~0WEfVdb{@Obu)?E%OUZ8+fAMCaSeQ0Y_}JzwS&g9oV&f= zr&8{RDOZufs}L*--;n=32_I||X3V1k0WsPG0TKQzf<@$1q*NG09GuMTK@&R{ zD;EPJXFHSsRKWGVT{c^jzq?sJ32qm%@Q)ub#-(s~$!1hrkF_x--NmTJJ1679%Lrps zqD_A-q;H-C^y&ctUcpHzhi4|c%d=Y1BZukv|ABV`Rb1QgZCE%s*!&$O7(;(EJ84hd z8`WowkgIky+U#_>yCio#gDuE|o$8UY4L}mSNpy_}NkK7o9R%l++R$$u%hgtSg^@sg z^k6lOzd^eHI=1(D3A4=APBL7xx=H?S>{^2+81wIRiA*4PYI-?D@G(xO@V`amZhMHt zbce}o`8I*%LeA|EYjPy!-X_yqCF?>VAu?m_3K0jKkYuiw6L`?$=6J_mKb9}WdHT-M!J) zozWBM+IA5`X!V#EIM>VW-a;MCm%%!C6zJf8+_06`pWwHK6J{X^j|S-qJ!&@?9D zbR$CH+_h;p@S)}E5H=uM1|K7QN*?cQNjA_AXu<&oygzw^YP&;|uw9SElfK{Nw2(;LY#=ABd^n9B$^6BRlF$jB7m@ zVLdX{bNL}E>q@xF^+G(4SOtvG_L$19s4h!*UmG|<%@n68A>)CGqF)Q3&aR@|HRx}D z8SbGhfD0yqWC<1FLlKgL0x={=z_AHawjolWwEVc&xgM}oZ~fHzpO>R;z(+N5oG;}d zq~qsm_tz#HrkqH@SaZ&OI5Pt~pXvo50I?+{@@UUN69uvTR2lV=~ur_U4b zP-Nll{;Mg#n4Cb31?4b=Ewth17Z1x|V4?V^zhFsL@;;JJ6Q73Ff4%$c+dInSi9ura z1x5Q8o(eQgo1Kv`;ef&jHMHtTqnf#cE!K!M*l0}tjRJAwa`22=#mVRut}H+7zY=}C z8$g1QT=_nGN0Tmnl#($#9+%4{qkRU zzh*@_gh!sQ^MPFAoI!dPtxE?*-%;b zT9~Ou`00%Of=U6!M-kykS0&p~)A)=@EH@lYwFsi4-@WBK{rEvNoZE)4!!I)$=8s5`OMG zgvua}2n|^Y0#zjFlKU|33`=zyTA7HH;To4EaQOzDj_iYD`g3)#M|3jdp%tJ|D*4X( z5prl&E9Gd=&;8?ey(V1k2y=i5kk(QL4MY#bik&gM>wd_ivW#(-BA0(%4-7^Ws9K^D zs8WeIFC*)$I2pD?^&7O33nR_)`mOdv6DPP@oGiJNm$Q&a0TUY&O$MoYD5a+ZIBa?) zZHx)lKaY_g6Rdt7EnixYgO1U{k+HzL7@ zxmq-IJytzhJBexPlXj;Sqsy-<;qS;Mf<50G?Au)*=U6s&jKvE*kfxUay>&6|8rYd? zU{qq}Z47$>=UQJB1fPvXDV;iMe>?+I8iY>8y7D_n)+GBWkm`~-Exy8Xm1RO`oN{rV z09?&&wFHDlZ_m|NvIpO=_0pq;=^$UnI#x*d50G;3`YY`t1~aj#xLxDU5!6al$>3L^ zO^*$_3?9F?(R`5A9$0EoDvITx1zPY%y%wDE4s(d;Ju!oxYU&<U( z)`_%|3yv}V=*YjSu{xYpO6KNey`KC&Zk~?1pr$hUSdooAQfb2bC8KND9mXP&z2PS( zsEooIBg@RXkA>=Km@*f-6{t0TXkUo+A&rzx8br>j23iIs=jM1UvM5LFm2cV|#w2n}*u0q)RH8kZFJF ztC)Z7^Qa$xLvy8)OF5?o}z1nLmdyN{gc54-?gM$UOLZG|E}2q9!+JhE~;`$dz5w)9TI^ zlq)P9Xo^(i=k*DoIz7#qJ%sa{x?6b9_i9jz?JI9nlw2MRg*ln*UYQ<4{ z$3=eW++3py6>Mzec<30EI~9(~JMq&3N*Pgy?bI<9J0fgZe0{JnjSI(58#r{Futw4SGLkw7EHIGQ)L9(+d&d zqqlinSeK00TXySk@P?w~j(rZO@{a)koEgkM#Rd$lpAaqtzX}?2hQ=!3nkCEAzwmhm z0ewl`qK}sEd8!~V4c`RWGKq^@P5s%@UMzH&7HHD25q|J_Ee00@SsK5I?qE0uN0!k7 zj9C!Dnr}CJtTuBYqN&GR`h`V;r4+wWQ6WO0G6%Xh7MrP~WQaqPY5b}G{#f7Oy&>}N z?hV)%-%j5lk5Z1ppRWyE`D}GDt=qBtP>tz}@#|!NFn0`-GWeCz<3X)pEMwnRU8g%u z)t$q}A@iGVabxkDC1eY}dEeVhuQQ(+f&r!Y8bt5oHdUNQ3KkA?7cEyXdBMATy+)Tr zYbJv~j0Tij&fB@YA&`FxS08nEdCAd-60qVfx!x(RsWv{?xz~n+=|66X1nSvhj@*u` zou=s^_LRMDa>eflT;Wys%$f-`69pbRG$2${iQLbR#AUZEyK65l>Ty6Xk}lw(gEV;)RYJYOkp!s2w7A5vUKdBf{NLe%W=qu9_)VQC^#-5`H4a8=_f^42ZRtSH zDE_K}80}OGX-O~cocu%d#}$eMOJ8uxW$ec(k;A&{HzDrvL>`(XNo!#Qye7kwaUggi z_Rq8B-yEKcR4Fdp`U~S_&A`{D#_sAJ@)Wg6EjLVN(EMpe9JE`|cYiME_4K;EKy(G| z8<4y@t{TjMoHcNLRy(gBa~=Ojx(^oyv`m(i>X=RA-H37Q3M^0!{Yo9n4LQvu`~Z?m z38wd}rp0c@m-VsqZ|Z^N<-{dFLfy9_?90PM?Ow=spTxlj zQPRnaKY_UmIj`!fz;9b(ypg^H;eFf;et1c}D;^SBM_a}DYoLbRiEd!CPSIGTCzW7@ zF}OVLHHmw}*44Urz6ppZ3s!N9hSaVxby1FNC*%!Pn&N}#*h`!C#8wivehE8vd7CUgO zjobHMj$vBgG@c%Y~hy zea@WlI*l)q+98_G{dn0O&$PoP2vI1d?qt z-=vqR999}Lt+@!&B>7Cc7~;7;hQQB~)9Ot!QsODatG33>OVX|-4N|~$@b&W}w6`m6 z;qmh3U-big0;}2(Vw<+Vsv{0e#`=2Cf=+a56sQRSw5NT-DO!P2=fx>u*(gQPD2-o@ zJ#=n%n}u$wOssM4sZS$xztWT0C+*qG4Jl|2*WCs29h#w7&Nv*zJF@IT4?_L|2u;-m z-hL9?1&5|x=1vtK@n>wopoMU3yl$C#_@|^~ICjiHt>2m~ziGDX{#ybU9{wfErP-}e zELH5{$Mq!OPeP`Xg_~e4U36I+LdjDMn6dg5PcF7p@=)`m=DU{rw*iUl&3w(Wk${hV z_Yc^tu?l2dv2M*U#6nD+BeneJbk*X(0H?4-rTnnxGs^Kpb+}~pp^!9Xe$O1Wk<*u` zX7wSHG;My5Ii-;jq!>6lFDS+CZYTEl5Z86~Xhzi|h>9^uioUG{JY@}~6x*v8qBQ-? z8|T66kJ5SOQF|KSD~do)dTaw?T?!e)Bc`~8>`oWb5YGV|&{x5#w6Wx6{FprCpFPe- zgb9$~0Umu6-#zoYEzQLmu?Jhx8}t2?|AmFOwIjDxM0KBsd?AS$WFOp zi!Wt?F@1S_tZ%12!H~4!=9^0XC?k8*C1slZYZW-zCCReV7$rlBJs$`l-O!}b)10Xc8@tqhp+f z*lR*!w7lAzQ43&D4b56ew%TcIEqfj_H%9CKHXD+Tm8ByoGh_`M)1QWnLPuPe zA!TzXl)5M9YoBX$im|0{w$%mCiNWR%9-+JIs4z;ML&c1fqqD94mGe6+F72em>=1oj z*K)lbnq7NM6N+6028U)~rL!U{&J%c*?u6qBEK>+I!wn9+I_M4e`+fWEZtM&`;L3Ke z_xa9Xwy75l0eskcuzi@Pm3da@L&A0AmMdiT6=Z@(c*)^O%}*NkISAOk#8FB6Uc-B4 zCJ~C6Qk{x1Wd3e-hH!Gv$^7=&&K^Q5Qrc|==%d~pqKb|j^qb!^X(rS*DfF_F0 zVqK}g<-_Slh8WBxiN^@e9cYDWt4TmfNrQ~S?LFFS{~Kl4=Y!zCmqWv|ooWAL#*+VI z#zOpm!35b^xwu%_TNs#|8M(SSoBfw7i;hDMBdY&w9j7(HiW=+oGvn1Vuu65-WW5!( zm9l6bYd*4|;KtpJhpn?!=@Xf=Z+!12Q%`SqUO(MO?W6quKrKg}I@;@-{>@0Ia!Vz> z8egCOOLuKSk@B14nJU7CLshg;T0IsK;fLpz-A2RW>?W{%^z7}`jS8;o~vBL zGM%KF?O*d%-h{pjV|XvUV0`a0gdF`0Zi#n)f8>;xW$$trwHNDc1TT(UXuGfKK!vo! zd`{c19~2EXW{wD?Sd)VXcO49Po%h;6y;^s$klViM9y7P& zr(dNPk23sc7=Js~@Vs@eN1z^ztFE%|6=Bu6>w#Sbe)m;ulwCiG-#jv6JE^aFE&w`_ zwOQE*=1&2L_vphIZzJ$0m*Zo0l^&xr!49r*7t$;Mi1P3-k%%3Ir&&*GjyJ7cFC$aT z01TM&8I^ZtLlDu+Nir#_Ot*B>TqOi_nqOHtBldmB?ZhB48ZME>eKV<|$x8c}p=N?+ zf+~dyQqp0Lfng|uxxtB|=FIXM@Q9&$L9x3m+FK&0Av2?myg&q*AAOp*$W zG2pC7@qSrdK&%O($Fg)ZN|N69SuhLZ?U4usg#wa0uqdcVwX%nTXOd>u3KM>T%8b0> z6u?*;a+1KvQ-GCF-fK$h9ic+GVeP{ki^(=hTwvZ!iI5J&8F9peeWvXPmyq>#4(B7qF^yf5R1iDDoavPAd}QvX^EY75k_XTj*?{+=9}07J?wh^ za#V+j?i}(l9r*Dp>@N)HFYAhh-Qtr*F&s$<|6RD0SumJ{_Yvz7-FTiNs>5zJqZHar zluMfj^F$F8A&X4jMd{=YIAxqFDB*$~LJ8QoBXP~X&N8jbvZH%$! z%;-v`YXx)p5?khvI)SRi>TB%<^tHqHuHmn*|KTg90ye-S@$)6oCj$fh;Ou}bovj#t z4uk*bU>lgRvC>;k>sh62j#DRRK8$M4efb+K&lCHeKbg5{7tZ}e8r#l3I+RxeG&?>>5E-e6Fhi;#2FFNLpuHzB1yPw$^(zki8dkSlRd5>1Ck#$TO+ z5M!CPuYD=N7^=vLjZl0$G`y>nX03aX~KeEN)Q~C-Uv&u-yp9G*y_7CWm`TV1fNJ*!H%0 zzzuGE72n$)6LCjIfdGjQo$^;>7se#2c(y^BaEIBrzb6Z9t|9lY-Dlrbsc*iAuKBrc z_u3tvL!;e-XNU0o2QLOf0{^dtELpt9(%qa;5f0C!_}k|ZI0xNbr(Lfe959C5eNFoU-fbW6xB%@uP{bnpC93#&21oPFwahq}uF9naf0nSC>D4w@NN9Nmc_3O2~ zP=?%wzb_7B5ZzV#mY6-W;umtYdHsyJh`2L>LpNOdvj`EN>lLRwJ5w)ZLI0A6WELHF z6OD4)2Ini%Pt$VXS+JjL#qIfpqb;5J9=G|UusrPp)^NHBP2|G&Z{z+Eg9~(#lRSxA z4Sb%HItFAXeN*I^{p@f_*ZLgp*fcr?V27TYhtg!&W|F5vywXGodR~V0rxxDh?czNN z3k!{?hezHYZ^`bOZ$A1o^>zCvmF~krw&2=J*3|0WFYY|$7$u?`E5eK1BZPAqP{H0W zf@tpnjwzrzgZ`F{_qs-(%^0#{cYwA2qbId8qfHP86D>ehdINEl-U~?IWHb z-QGG+@E&wZWG*=Q*ZRVbSDs|97p|p5zQ}66E5|{|=zVw|yA*T8?6|FJhULcK4EG{@ z`spgp9B`N%jZl}@W!SMtZ4RL|(;|tBz>WJ*5b$<1j*;_(=hVm5Ao!9aFsp)*`%-S= zz)fU2wV3d-e#-I1_|3R|VV*Cu(M_(Cn85Kb%@79Lq=y&zR4PC~%a0Vk!Gr%M;QHh5 zI7Zdywt1d?2HpqFX~4nJ^|RwzkMC>I^I*iVdygc1=QQ)D7k6dKXphf@{6aSRnP2gi zzXL16FADg8IwD5l=sR+oT(qT^f*1O-b(u);g^ayUqyEN9T_|VqZW; z^)XIOdLR2=O9VSK0mB@-q-kVI^Wb6G#7vt=KT+;T$7_`0D2?5&clDlg5!V=7FtBZ2 z+8|U89>US-JAR1P=%6Bhh}Lxw;qBU0LHADZ!s=~g&Yxl=x_cz%^BPgN0Wr=nkeUyG z9+I?IAAvv&gwjHD?B3>XUFZWllEh?ylCo0ih;-YvcuHzj@A;12my@5~;*_?SGx$zL( zAz9(6CsYObms^adYa>uA(dT+qUC$Rv`|;{Goc*u7wne($uM-^GK?i-{#WPpW`F8TV_RbtJ-sE(+AVH?>`>r7~ij3Ft{IBM6&PnrfQmnAF@ zoiU&LO)Hek9Ay$3&KXY34}wI1gvL({E?VrzIp#D9a~7IpCocCTl}npEy|8}Sc7FU^ z7cs48GO5Ol;H`1KqL2~cmwTkcJNx~4yAOV7dVGm~Cs4rmwwf{4ViY0^jxy1L)2F?nyKlKZCUPLQAdYtPi z&06>5F*zQqGDRW?&KmPjP*fo&S<<Yp`#s-_{3tqB;a zUH@Ib6Xae>X)Ak)SWoNS?YMD1pB@S^_HL7Y;CEm-pS_1Yvp7d1Va_l77LZd3DW2!e zQ5yAH5@0RnckzEMx(n&>h!iqO3i3*#xczJVuYDrWZe?ci@;mpY*Q4kCb(tmNqh4-? zEhl%@-(}%kq?(V@)&Cji1e+V}C=l%Fpd4iq7A++X*ajl%L$HUMQ(^%A}>*0k#kKtII}?-Ysp{Z+2PLFORTEbC51%C z(auG|*wA#Al&TAeh)64nYs-oiMMO-bI@r)`tf-YXlHJ9+6&2y;BhcAYXAr`pR2cx*B3mq<4L-?;*8!g)xVc+S>i9~3)%B9AYT(W%;z{{1Y z2_Z=;biWbz+5s@_HUZ`o7+9!}j8q4tFs;U(~sb&82aA)h*?<23oF|a`eHGsR@ zCN!){w^nIL4PKq7TTLFFA2*b|nrJ=L8THDvqkXV6m&4AW-~UWa`Zj=x2M)$ZtSc!9 z^yT=CC0id=<^ZIGe-LU3pZ=>??jcgX*-{m`!Kw+pcr^vj73DrnL#oClB1hA`ox@Xy zRIY<8a&QG^Oz66}hfE_eoh(<=G*s@d$}&^KGlkyzlpy zk4VBzWdy+Gq(O@R?LjNoQDRV66xn>22mSv12?QI2cmR81#M+wjClHaJKv-4h005$& zK#2ZVAkeXBsFY_C*l_9!b1U+N)woEQI)9*2)le#|#an`L6QT1>ymux>6z_3$PHSwd zYfmfk+lCTtz2h&uVy;V0xXMoH^u@gLO)3iog#;EXq4QB%`6Sf1h#8-GCDho0D$P~@ zGXnI@)-7FmTjU|5q6}=9yzvyu*OLkx-G@sTuRXCp7Eha0~^aS*)rq7?=zCyU;*FlH7Y5Fv( znk5&Zd0q!$TzS7t#cko|*%c|8RsYZMs>ov{EDUP zHa(&|FI@v&jj;yjBAm}M?yq*>SEI!NE1-cG8ls3X3u!TrIR-{8kBL&!%3)A<{QoF> z$LLDBuHQSh*|BZgww-j)vDvY0J006b$F^;DY&&OPxbNpY-`AF-Ne1+FHz+azeDKPOME zXxs}V#$X?!WVcp}RQ%OP(npuxxMn#-E^S?fbV!9pQ`j}@dIhx&mZq{6#Ca42w5^HT z9g~n5uJhlpB-&r8AlR zMsQ8wIMwuY;h_vxNV;4(s*K*sGzhTKLaaDaIWd(a=77auEfG=}oExY+^g^uNx%+kW zC-=Gg*$ftC%Cy9TT<}IZIn*@t`8ZZAR*|`T_#!HDO^J*y-3*D#-t)5OL#1BM&KM$h z-LrcG6(foSWXfq#R2!ATVoj?;P;L_z1gJ$8HYKk4Q|$*r0zOAXJB2~1SQzzF7uvD? zj55e|G@kebVQ&HSyo<0!D642^*-DS<)AY6SEDO3ikSXm>zv9s~R$RHG-F7O%g*7CU z^y0v!@$V28GD#4rXurVuN#sJlgZ@xSBZs2u^dr^U012Q?oJlH3({Q0uw-;p^e!5OOuow(JP~6=5YN2SFEIH*slUqh1e|n9)GQNJjqrpc)eNNYywo zVYB~GY77W%`M7n@8;m&j&j;ZtavlwDlxr9jZ5z1or8%WDwj!mqfQmjD%kjRP8!|aT zNK+MWaYCw5KPW9QP-fcs8MOQ~Z5JkW`)4Ls>--_ooo}f72#b5ITKmkRI^nF1g+p)$ zSX#`-r%;*1tUVgcu#|DV)Py~C@t>kmBGB)E@$9Rzv$q2z;TB2Hovl!%XR5x{q&Po|KcAg$biD8?XKqvND85(EE zObRykyC+dBoQx-BrW>lp?8dLATZBLh2jj#tQ6;82DX@)L0y*?R2Rd=21`2CQNh|h3 zURosE=pjRp*Kb)XV)&308d#L{3mYA>;Y!-oBraA25@KY|cOFxolh{PBBLZjzky)sL zB3dOU1P7Rx9zK$|tOgK}*sL%wFqM|5&)hFF6xr$kb zwS5Oy9EgJPBc?}TL8^;#;X_u@O_&GrK4agPP4Ow7Q&jyyga^L*+sTohgxM1Y29isN z<+gmvu6{r^mjxSEWhXiyw-dbJo4J!xq1l|C6P@z@#VW)EGMT4Zf&MYX!no@uD|(J%X=)r!a+vU9`;g*)<6pL z$OcUar}gzH{i|bY%lJXP$Qt~fzf}^~a89Dmpyh-qx!fqx22i+JM+}i}eM8+wK;LfF zT4NSHvarR{er!w-`_4f>ZQgnWyLVqwQH;21CTw_Y)xze^bBNqi|a@ zK0bC^i&Hr$xoY^>U@Db0OsFEjiVkBoSbYZixJrhsUbxV%o;OIQ@b{85;k&sGIY$Bi z3%HaGthCKSsVS3>j-`pF6kmH9O9*MMS}$8sF?>}nYMgeew4fykYS~S=YU-LKbyItg z#ryKEfzL&;J{2jt4qJezjq!ws*f^3+=j=>EIdhzu=xA;QiFL#jkp3ubE)PV7-*p5S zYw}-Vd!oS#>@a_?qdbMAe~H$eR0ox8lnANRXbzi6`Tl>`Yq`ynKpHM^<6%OyI6Yu} zm7m1iizX6vP~_VZSxq#b=G;$p=vc@dtRr@G?NkBI>c&aECTDoxcJ7ivQSPz7>CiC4 zAt`$R!`HWpsT)6=$^-^=l%LfGkVK4XweM}i84~r$1imlTXA(mN(a#vhM!F{w* zU@{Ujt|}7BXoVpLZgbHRO@Tj!QBY45AIFD-t3XMpLPvAA*T7=YmQsWrF4$8fX=1;>MZ7BQc3e)297YW|wPlF8LV z5n229eTdxO$@Dl!X!CC}3Cje^{*z4j_Qc;MI*O=$n%BU2(3i#I>EUnJ$8E+0H;aVO z0-Sr{Ng|C_BWU6IDldwJ#3gCE;v1MFt;_+8T3ID0>W0$Wgh{i0VccLAJ-@7BNCHaO z0So@eB{2?m4AXX90C5i6$XIEXErpyEfs0vr0oA`%%umkgJ~|abN=qZv9yFDc(^n}X zr^d!#tg@bU+%&F@t zj`*iwiPW--Wv4+qhg8b>bHD_QY5yf_odPZZRI3r<(9L0;N4_lk_n0VPncw^|vNNkA z@N%kk+(y;CaZ~~6GE;@TSb9Bl(3yQzO0i+7Qar?Z841<)MaEWP%@7d;FY$6~Q9)UT zM&6>y+*azHaI;I4@N{LIpzh*nf7OU$O8D#K2@q}LS{Nt?(?Vh7g45T`(Lq-O6;`sF z; zkwh98|B;UmDaIXKC?Bs2=#Ry!i`B_F-u9LF1p59Qs$H<%m<6b)(Y_|;t2z&y!_|M6 zRGF`Pz*r6fV_X~2@i0At0GJxDm`?TF4H#9NChJDR(e>*)V=K=<+*a2^R#l#---#mp z>w7NObh1Ys29~sBf{dg+Eo$b4v8c9`$fG;JkMMEN_(+teCNe@hWrr<^Rj}{C+BzZn zd*@C>8E~0pJbnmAnDS1{zg&cI!?itf1XgJIoW+p3<1aVMTIBW$k+1`tywj+)$t*4r zz}i~brFYGx!+eiTsDr}lr+FJGSt~X-}QJb7(kvVD2{Wdc^V3EzGZp zBbwjmyy6jD!DxfG1SDBLAx-2v-T}C5EtF%**ez5A^)Rl3gQ}MmRf#wHxyYu~i_Gg} zh>D)zM?^Uare?fC%Mv~7&My%-j_>O5oRGf^wCX`_22^)|IYShveIS$-4m2)$*qyg0|o~!#56p zEhc!V1SyvLfE!|TIi)cubxc$Ec*gVW{$()CL;R&bg=!bj63M8wYk1dWCc=P{&l9j9 zE_pJzu(FGRx<4Qr3G%%ui8CISX%DZhD?mcLRpQm=?8Y7cq~Ne$GH*vNArNDxnN-d| zT~-8ebq6;($8j&o)XP0~j~pAt30W8GX$>R_5%AyY@PmpBxmPLVwIxRfkxI5X z;P84Z3H6xF=48j>#iCQ8Uw`74-`rq2{~+7Zcm6y&yjhb$yx2;kQoMBDOhjy?QSt`d zIpp%Y@Gh`evzmaNS)kr1$-^F$IcG`)|C~Q-bii-fz28xf`6Vfp>oZLyypCLkyo7y{ zCjY>#Fx~iOqHmixwg`%0pa_r<#hU%GsG$@?AlG!GA-1$^w6f2^b5PqK2v1|#f+ zlHyowwgTpWheoQ0S#!?~(uwfV&k>vupBK#Q>vsNx^A}fk^ZgS?KJ6nWH_(W4E*6%8 z_g=b$1pf1-KnJIpCT5^96HFj?Y5Dm%Z$Tkvi(HiE{2 zKxS-}E;N{Yu*a4_VXBjU(~)I3=PI~TFPE;UCh2j}F5xk@KQtf8OF^D1p)U@o`IniL zt#&JQb>fXv{f`i6tMk@f=z;*DEuRkuq#g|@q5eXZjNS{UC}6eKvSrz(#88U36bY-Bs^b; zh`0A#=QszO6>&@wpKZ?^ktM3i^svkO;3`tY?d`qtzar;O~M#v&qt)GJ+)NN`gS6j|8 zQjy}kr&~oa)UyH|zM*XqNlP8zt8V%E8q}a)cByGb*Qc|s8+7Aoaljg5my%T|29;W% zG@x=0XptGMf185Y3LvoGDyn**wzp1%y^xSJ~0@4-2flrC6a}0J%vf;5KisI->#O47nCU?UQS zmMer=TCRoirTG;72qV%am6O8<_Ol1c(+5-~E@J1>#E&P?_hBCW-udD&RfpyGoMiJv zUP$pv;|w9rfs|oj~ksnA|!=CRhTie&Tud zi5AyMo!p=NOU~z!K#-gB`h< z-_R!u?WI;A0MPz(r;H>n68U0d(H;U z%557?79X4z?B7PySFBLV$Q$OACU9ILj6Ew6%f-&%pq__BTFfz!hiPT&g>2=tSzzIF zf4fpB7-3+>ML+N)9Vzq<$w_BxLCqs?6ss~v5m7i(-a{&CUx{TV|tt`)RXJ3{roIi#ggC;$DjoxWN}h1$|zSz_CNX!GAyTOvLPE zEW5Yj7y~2I&vDNJ%v<1RclixKdo%xFy<8(phqhU7Z{wNn8C2vvohM9r*Aq0E=>U#M zT-``o-FzAgrJ3c}6ogB}d>ji+$&yFpuP&<5Jm=|mztM3Bi2?jNxKlz5cza=YCRYbO z?20sEh8=X}*7F zDFM`;V3_B_%YrE7d28ves*H)YL8En$uTuF_=S$JYZGVE;Fh2P3WAX)aVDUoWFXZQ6c2^&OImJ84OjR ztPr>XYAdSt#Qvs6XCB%?i&n=+X?UIyt|1C&Jl7)4GXz6jZn<=&#S$kKInL&&RTcwd zBGCPt@gzJ z^$oEgD(F^L`w}W7p5`0$_%4E1(d8RdauW*+bqx0D;7@!0Eb+uh`5_XQFe4zmAwVufkY_`{ zFeypmV9g~FT(pbxnog*XkloMW3TKk^TOaoOwat@E?=&sOnLebC={tKDR0qxDyHyW( z*>xwN=$_EN&ajlYSv*gK57aHG(5545KClS=4(}?0tQ@0sc?2jXHG}NA3-_)nI%QwL7|EKZCo~9+95Y*C?9EM^i?Uf+F~tIS}$Gv#05lkhW@l zYzERP+@su(7p44$4nkqhK1GM|R)h3c^EF5Y960%^V24PQtT;kQf*LkbxWggKHd?fv zpNhK{TtQOeaWZHYE7#EQm22OX>g`tP=!pp5vK_){D>)(e87VtNk`hMvN;{aode-VW z*=@!oNh1$?yCj)LAe<0%QYlUaA8hu~Fv*WnC!uNgH>g%_V5f@0DDm=iN_9j0@U6~k zG1lSa6Z0~mjZv4@V8xQw@EsC{_BxE}t`Ls~?FMn(s)D|gwiDTRTQC+Zp{n?q^=42zaBd={_kTaf4ps+)<^0tkDfJh>(#g(QyR4V ze5#^V#NuZn&?6RzsCcIMBxob@jkiV;A_~u2r{sLz262So82M^8S+29IB8tMmWA9p`(+q-nPt6jI1_nF(f zE^M^zsslm?>gFHTIWO9_9u4>Zzr2})SuTajams~k|Kl)GUUv?Z4 zpS!-^wHz0S2N~`>>trV-KX_VezYg&~R!0r6Wrv3w5I3c83%hf2e!)XJ2yniB%R=x- zbht9M$9V7Jk>h{=Q0O(sCEd<)mS_;-_0G=T?U&-^38xTxZ)uR?{l$+6QSt&klxVllIGy5%8bMx4_vNA=mpl-go_S$RS+)>Iau;4n!hB)|yEaWTsGKPDOvXz)Q*v;VaD@?IrPe5GlAC=t% z`ZyL}GP<;K;LGiQ@hW`!-Zq`9?xQ96JT<;q-Tv8fAP>2QvtF2cLR4%4$OOjK5>Ye`1X*-F)TSWfK|$mKZ(BHa#$RD~(4u2frj1Hf*C-30= zVLKcT4RW9R;?w$IF$`!~aoqJFF17 z{$k|%<=!d#1$dd*NR9UcD}K=rZA}3w;+AE+sS;@6K+^9y$?T2-ITSHNi6zq@$DpIT z{hV0nTf2jh;hrtf-88GYKg&>RH(Ns0BF^_;Z85ttt^yP?AKp*zjJWh|Q^q$Be|BkY zPPlf5b(P*%9UwyE=u36GHLcNeoP}kY0l{iT|jhW@6GWM6F?0W-NbfO!ynA=- z^!zQG@ThnF$HyD}J?-oBMPc8rfKz*z)VyKy0FAZ7vj7*MMy<($-!B#+ER1 zs~BW$yroReWM-C9i<`Uh>mSg~&uCP1^i@`0u^S(n%Bt*2t-V3l087I!wWv0Cf!lan zRe~G$q4$lUXUJgw`UyQSuGuNf`~qY60TT^QOR7?flu|pR*)PnD3~PuE3s^ahbiNJ= zqkcwnRG66x){qW1dJy2%fRxfOqd6_iECg#P1{+OAM>^k#gwZskxk${c7HOas8Kp)? ztkMLf-ZaudUO+Pjrj}k;E@oVg(OZszRiQ0fY>8ZH8UO!o3YA^tt}S^gus(x5V3%B60s_V+jFWvZn?S$JA1-VypD>A2~1X1p)svL zs-8AH9N8e>!*LMTG)YTJ_8f@3oI(}gw3;+9faw>0Duw2hrUXI8bVCO4+8Y3Pu}R5# zfv1&b(=vr(nMk9c>VpC#l7C6!2L?F)k{|;l;-pMBbN~tQz#LU@M^Idsd8Jyza6Ba( zB~u9Yk7hx-1{7ti=wypWPMBZNM0vBCai*~aaT!Q+*wHTL0Amw0QQNGh55S0&g`|ud zt!4%=PC^sS&T3l!<@pO~4lkO`6kz-VO>{D=scm{^4091qcrmM~1lT{54K;@!9c=u_ znE(P=X%E*lZ2h2VN><2+Jw9~qfVPGzv{q23J%KNg$A=6sMh^Vf$o^lWOy7TvDE~FW z_DndKj(4Nb@WefuSH9H`E14@m&f&i}+C6B2RA zBu9TqxKL2H|B`S4BwPSV3qXQ}AX9>Niz57*UspelFOkofJMhgiYIUr7LR!*}c!lT^MKVM}32tAC6OSuZ{LFN)`XQv|b!9U7ze#0`EF{eLtv52sh1 zOIMx?0{Zl?Q_ADRlk_~GXYpD0MAGbG2wexPSr(q)azFLJ{#Q1yj z`|D8M%k>B2XQmR^Aw_8nozqzVNWF$~bl0hpcpXJE!@+t<_MK`h^O)PfqnOv*Lc=e> zj<%SUE`)9V2i_9S^31I`K{f`SAN{}IxlxqMy3Ql4E^-CBJ5pw0oKh0hSv$Yo=a`1F z<4Vag-V&2wmf@HdPbr|v)WKEtc(a~Gn^q%D(?j@W;}}J^&k+2`Y&+J`)Wrel;x1Xkd!c9R3=iUB8vKF8Un^kU8t7n(jsODs*cUA@2ZHD6ww@0|qQ2P@Xx z`Cf0%7cCHQSg5No&F-!lu+COB1`g&fEQ#S!4`8XALv{BN8{XEQ3_l?6!k1G?MaqKK-+cO#8}{-Te;9jZd!H{O$f5cHZ>otUgtF-tOgAF7jHBhw zRT2r4g-2<>DJ41pY>L6x;`o#jC8>xU2V$G|0ld?(&8_W}13OP>*(8_VW=e^Kiy^`{ z-4>7lioSe^6?lOKq|q{>TOoK>Ll_`GS$NiFjm8yDy(g-Pw!QRs&PS@jHEGYQ0z@&4J08-( zkswk=a#R>7P$HHE5}`09U^||MZHCJj7FR`~K})w#p3p1ZzfVzIE@zF2N30b~L4iN8 zrGFO|(K$(_>-Sd>Y44+JuA-=%)znabEZuDS0-6T)k0bU=1A_NM1Q*ltPLyx%=ikAZ zS%P8WdjCX!cu!(N(J(JP{hzx}KM+Ap^_N+>6+*${NDk zowK?`DhXLjY!7e0Y~yQEmb{=+-Adb>=LPm7-gi;3bu|B#fN)w#f1P1E7MNwrx@(o> z!+qIe;y}qZh+ekd7R@sN+1*x@sUhq@@4!kcSYQvjr%+OWY zsC2%4#4djn5%2=`g&O9Lv1n8f%a$&0VhRVR=_rVqL-PEx!QvJaER2DU%wwj~89N$} zd+`0we2{dk4U@`{PVDjf_J&IX)fYJ_=DA$mZ7q@v{rYT$B{|`EgrPldqB8&5Ziz7W zekMgfwOuM{2pP%x=T_#vMW8-jJ25C)a?dJ4gS1X|r1C>!c&9clYfxdv*s36QNAmR) zEE-`%z6zVjdCc$TmJG1vlyP(7B%8Bs^(~B3tt%UrWc##~ z%d|Hr7m@{Yrz2l#%b9k8W$dX!BWc=mRUrF}_?G!=q#geSC3Hg!MOZ1IHMyq}QP zR%klt((8!tuQfb%_U?l*GpJK#(3A*^q7SKS*(_?c3tJb&h=jh4>%j>B*w5Ro)vkuc zS+}WU*ELZ*STyYR7q1gPUnVI`HbTE;(V?rBg#@QRCHTmwlBE!!I3k&VypCXDpJ zF=gWa0mI{aa{?=T2r>~%YZu=JVMZsrLK8P}-*3%4!jSS6@k(CbznZ>KOAIXLO?m|*hCe0-sPbIW;TLF;<(T{@a+lx)0?EfBx1W%^)3aX4UwT^~U zBIdoHNlmufVW_l>Ni2N|MLBx=ClVXK*)O37lR2RFxqx)67L!C&L@MdiFDd8_V|d7d z45wjEaSj$+I^kJZREhyC=^i9K!2nT5P>Lam>Ll1zIv>uHNtiWB^aN2->haQ^N~#`~ z1)i+4Fpo5xK{V-J8Q>UC1^rkH4%kjl`0i2if45XtCclL5Bq}K9hOmHbX0pyld8s5r2Jx_v1j-L!s?jYx zda}+NAt^g^N~t|qWU@|V#W@^f=>R@!V6sl7;zEuss&MA>L8w_plp+B_veowfqQVw_ z$`d+xGAS>j{K6IxX^%)*soGGw+`^Wzr28cvGNq8tZ$#MA`S*~8q@J$NRSDnMT14_c zZPGbZHxu#^E|J=Ub#{zl!>Cm4_7FZ?9TG#j!AP+ki65XYGYU@+9_Pp87RN8j(sfoQ zqqn9uFMVvILoP9#ojom2$j?t6=NIG_7V$hR&Je<1f17M6&L);N@C?{qU~sNNcqrRl z0uJf=_aTWrZs&HQcaUw};m z^SN6*ira@ND12Y*6v_9o14MgIdisn|r_%*4-|U~gkl7{jrMF$U%K#i6mfgYXL&7;w zLcvhAO{8?yGJ!+wf#TvDx^l4%La{EWa0;pSviM#fEY0hRtPBqCc> zZBq>ij$k z<=7oe9Tb;niSNIMNb;*4{-O6DcL2TiA(Ah>{r}K&j{cjT00U@=2Tp6rvOnxLWXz}V zwYqDx1a=MB(>B|Gf}XbO4F?>OL2n;fX}R?u&e0Mpdi(!y*4vN&s&@Df=ifvBaIU@y zE4BKEGeCP@?eGuh|B3i7&U*X*a9(y3U10l{^FH#=<$pOZyB%~}{g-pK!#|v@c!^K3 z|KVJH1J!QzFJ~*>+y4n!X8B*vZ1~77(f@E>b_?2M`v5ie>qzLIP>$lpJ2y^ z{T})!ovnELF0nEHPUkD^*mu|H|E4or%-`w!-#!7PGaJ64YxF{h8KHlFr=yFS9JeJ*t|5p!o4g*m00D6$;pC13~=v%%26Ux=| z|BgEkn~y9NRQTO~V0qKjyJ5q|cHWLc=o4^@3<+aZM8Rwi)eM(U*OmJAg<_Wj2K7Zn zXgU_~tF7C~vDCNrTS8!tqE= zpM?#h>dKB)xc%kMpANT;xQ}e9-X_467|d23mJn$1n%Bdkw%_)mv7ZonUSScfc3E_Z zD|R>toG(k|7C1Wjn@|)CI56Fz4c3W>l~VS2DiwBsilzjAAxbIS!+uOaPJptMBB*S* z{#?a%isQi#oFFKS;xz9sZ_)*kBUn*BPVny^m8H{2)Jlj`puHJBii!$gDzSe8drqfb zit(?J4WN(}7DO-)h0P^PL#HsqJnZpbs&ddDUIfWbd)-$w<`H2|PkI)9yu{V~cIqmF z^y%;L0(+cmr=4h zYLl{LIdpp>eav&|;p#Gq1A>x_iABnF(E9XiR~%HGH73WgZUbHBl8$c@!v;40ATVY1 z(4VkVUL1*Of0fcyv1W>WB{|Ezp3EDtl*Kb)w2v&iLF0kI@O(3rlw|}7dfh#?OA?~3 z69gB_Ldw--hl~7UdOAq)wBN1R-RB`R0VQ$3(~)W5rp1Y0(a-pGRu+6hmxhq_K*?87G$=3+8~Zcy-9^Ebwwr;lo`u$lN<) zFTzR$xRu=Rc#UF`$|@UbknG=o9KkUDF$*D9h1>>RH8YK<0QF_Pvdg~q&#ypO>$_}p zo+(AZy?y1MnLXqw;SSRlJ`HA*uK?|N+7@*|k}3~`D&uAhBT!frBCSCno?i4X8HFMi z*T!>m#3)68N)Oe*^P5V%@vr4(Gzj!?nZY2El5^0&TXBp2Mbnd%gB78O=Y?pTlTKBQ z@IKqo?cN6&QO#`*+de-hRKRUNa`q-Dk$IJMnmdo8%uwl|jR(~AMP42lQ^%Db9CA>Zw!V^QiZ_F1*-}fG|^vyAP4|1sEPNjR;ZKPJTk7ZxU~Yox?^Yx z-C%4QPOKE63$lKC0!;(*(|l{2cNbJl1Fta{z&Te5kMrQcJGWrcHDs3K7Sna6w(UZO zCn;^ckEemD(d{HUcs7KgqwI!o@647r6!S6CmbX3dIs%8yC~zZC->zRC7<>;a%GB(p zR6t=P+kn48Eh}{ty<(XesOH75==TkkXHZShxl&yk4bWmFUTY3h@2S5unOWq!istpg^G-mX{=fL$D1GVox&URU8dk3g`Ys_@YRb^dr>SF-nfy zaUZ$tAWepJ*qoKvc?dNemqu}pgW{5l7W_<+YPb_??vj*I&S z`}mXF0*ZoxKGRTraBLq>0yfx}bVyu#`}WuO-x_8NeHPgd9V4BCIb+tCIg_H*bM?Xs zDBx7!}g+;D>kN+Vh%#{LjF{%dCHU{SB9#>lY z7D7cKjAqDh&?i(ZTa!`Dt};Vz|1O&ZZ8)LYNY;P?0nfo^6W)$_DMk6i)8y$S&0kIr z+0B0z13b8R7ELEweGUQkYGP=PIKGK-jWM~(fz*ipjH{z|UTgZ2(74f(v?OP~UPaK~ zjbApVUgpAgZ1Ldia1MWZ&rw!bhh^})l%@=pxUiFse+qS%BYMc$laS$QG4|oFX8a%I zzvM*6?#paVS@tXY2d6nIfJ4%4n+>`IHFwD~=2waV&iz=P|G4`jcPI zH<1H8dD)m=JDZf?D7UBZ=OL&7J3|Ijp)!~ib|uF^CCL?#6}-3}$ouyGXd1-x{RGhU zsu;X~DozxkQ#3PB!#>zLMUbFGUYaZ_cz4)FVKRX}y3ju$Q4H!2B!K4p5*xukT3{`lg>;whYn@QeF87ew+xr8 zpB$2}%1gXc`d$y8Kwa5uLKPmFZBdS^i>$!Z`baN?czP`<-FsQ}KRXd45xs*PT3i`mgo>=je?}@`3(Kk!v?li& zETV3e$*UHqyJ?kdi}p~(9Fz51()G|E2}?9k7`%@({y@Q^(n4Tw7yhwi?$Jd4qZ#vF zPN8*ds}@G%BQT|#uxV9;>)j@^ZEDp_Un*kTX0i0N1w5V;Hi`(32@+5VGH)>2XTOQ_ zgv7VD=XW!c4{U>B>hyaU3u;v!-#2QtSZgE{rDPGZP#qblDU_v>;NBkkFjz)<-#fd- zwOka7PG`|$rLMI+-&msG;i_hHs}irFbcn-qpSKK)m>mqcFJL|_Va|9H- z1O;4?blkxrQnuN8hf-}hgK@!mnJJ&YDK#U&U&ADMXi0{fsGE!5V`H@sOee)_0ceY?| z8KCl4p|pz-q^Pi6W6gAjLP;UAas23`iN7!r3xOgEXN>@ZgW;k~v8@&)RWD5s$Y7;f zfOsxH5RI!H1IfJZp@fl+C@F{5M)@iP7n1QBsD?n(TCc}gQJ|qS`X%qN8X5X1fR1r{ zo*rU0Zffz_S4@r@%p>crW|Pv;zpN&gjyZrbi-BZzUg(A-y?HO z1x7Fg%c?fRfcl3UY0|NPpS3=r0Q-|wOhN||F_|kDIiK2$*Z=g}BJ8jiTzNGyQ6dYS z4ja*}wc1Y8Ewwh=(0Enhz88s@p8@x(EaNz*NLewG@X+skBlM`kV$1c3+=|MzLn=$} zqTvU2HVl@{M#)xzUnUw?awv8RpWNTzlko9+3`t_-G{R59e(1CgtLosUGNEVR0F}2U z8A1XkR1+~IG-`JbK?vnTqx_CSTps?gk)j7A6vJ4>h^O!00a>UUb?hdn{a8E^Qi*Qz zW>mrwXEjnyPB-(zBk|hx?-%;BMCd?qKA~whI(p-f4!HW~_Wr_xXMMje4pl)+r?O(d%+ z)ikZOVI-ZHUo}Q$dK&K9t?8q^u~}t%SH-6QQLuVb`*!A4+}3N!ARyEB>)=z=eFlvu ziP@~?yngJvnqll>=j7m2HnuvA=39(eGEqe5Jj-YZv^ryP$(?S+kW#KP=thf7EWyOO(pXFs{UjG6`ALOs6*`;qHepTs>8EjD9tUg z+UWVvq2<}xjzw4hYP)Oi^w;}~R@}Q1l(QWtGRQ}}FL=fJg|r9$svlsz*H>U$JTc}Y zxcoJ7pkPWYlV(c{EeLjs%u+8Sa6wHyf?dA!ufCm`Z!^5E{HX}qf z@!NL}N!>ybCq#72*)5EZ1lJ)SKY7I+Y%l=_yf4sZlhWQSlAtn^QhWDfh34<3JRQ7H zOlxZi`0{9T4G)*QrRzJ1^M-{`r+cbiv1A^V%P;S+$;D6`)B|o>y}f#0Cr3@O4#2IP zuOXRB)&6-jkC=D@_hWh`#DDcAed^m`21Lap2$#xFar;QPM?cU0q&9Q4gYxFI3y4Xa zQnv*@?4cM5>Tb$G#j@5w0reNP%s@5G9~|1AugZ>b?G7!5^RZ}A^}&Tq)jV6xo4Trn zb%ApyDn|;Tb%=pMdrA&Ci)AvHn)6y?@`-n|&PxKX$7wl_sYM2qY^m2=mcEcF^2(A)G$Mi2kO5XYCFs8m#mqeUARw1+Y1u!dA*n4`zoWw z0889OR(c{@K}5RALxFgR=~hIvmF_uFgIXnOJ|P`9v)*DYvX(Qxc0WM>w6kfrYe&Fe zf4T_O`Iy#(63jBS_VfH`*DEoR5LKg3t zFg6&xvbXOL46ghEPDdMxlvY!9$|I?<=65FBPVtb~hB4>so3Kv{Dnwp+PsUL_GQk(m zxzuE1+H(0MoZ40S*oQvaQB>*()&~6I2wtLDpq|nEbGR!NX69VAC}i4)Jrb{6*Q>^i zUIJN|0;&VYh7DaGj*(!_KAYO)6DvVPQc`&(MBrqlKG=r0e_%$tL2c? zk*^I7p}behV4goC&L_l=_q5*}u4I~I#f3sBL?YQmS{6Vr&@k;Mm`K(Sbw@7S)+uZ; zhHM?l`I6H|7_|WMXWQlb>P}GSDKS}4K$@&zUVQb(G;m=Yg1hCGAM}<7zFO%JqN*E3@J^?Q zSR0N$lpbH*b+8H#DW~T@82kOcSy$S@h`x4nB)ER>=UGIQ^j7>()IawTMSRqFa}TgfX;m9E+TTu7Jf!SIkKI;u-3Z!)stxC0(Eff^r)q9`6hY zz}JVzr=K)prSe<5+OuN`rH%t(ay| zud`d^xA09=QZ;oOzVEbc5#J;@y}`kIZamCO7rw0rnIA6i;IAokk@W!rIV~5)uG?AG zD7R#Iltov~;moAw%({xJz8Ho0LY(HaivlsDw&GelI)L^+YHaq7UM^u^{E1Iz@y+!7~?6KixpSOSEeA;%hOQoKNJMc z z`qi(Ew=f*LWCX;vkk(kaUIo;mCnOIuV}66+IS`!Qf%7|);h!Gs_CL740W6+ z*M?e>C6SqJ;k#4pZQo4up$t^FZ2k{h?*Jo8u!N1SZQHhO+qP}n=2@JzZQHhe*0$|^ zdv9L;m;2`>lTK&S^G$cpRHv%Ds=nL{*JII#uAcN(hf%jF(%9dftonbEs7c5-;5%!? zo0u){7M%zPV0K-$XPn;Q+#py0XvX}!Fp%qogxi@sxTw#9HaF*safU@E#1>T!crV9S z{@02AJOC3L2HA<**xZ$wyB8V0d$Mb>ZLK+c5c+Np*fRKkwu=gr`8WpE@NLxrr+g7H zq7j7NcM(o+2z&#!8Asxzpclb^22Xi>1-!E{>3to>`DrEbDbBhR_|pE1_ShfcU3oS* z|7OC4JwhzbxDo_nbW@)MGr-vO9?%(Kgmz~}kV>FwhB(u2=ZUAd4@i!5G}lCvWHG70 zHBDNTE}16NR$72ognVc+dx$)Oz+GzOCuS%&G!->8PLh)o6CNb%+57S9z47PD*R7Fm z56jSZD%)g~<}?eYeQ4axcYt@7c9s?{0z!>);?7djZ9ZqurBlsNR%w433chM72qie@ z{U0l|aq`v!Q=OgR%)~N_aPP&IazQ}jT{8or!#7Wi_8YtBUoF{wT|VOeW$U1|0nc80 zS!`cG(drP4TId>TysxH*LVJ;z;nTFt@Hr}(0vcNJhwbuUoRY8=(z7`{$BLCH`KqEL zq!e;-k8@(1r#7?53Ify$0v-8aCxxmBCG$2Q4k8<8qX6gXigCdJt2rNln2K5Ag7d|f zGR1pndm9QXS@)QIz#-^x5?w_TW*OXjirO?5llh93jnss=WNdOuPiW4 zfbpUff+mOx34Z~_N^C#WGozI^MMk0lBbG^BRL>$s(HvQ@!I$4qnn73d=Rq^yk6{OW zB2WgWTB|3L14glq0S-lEYWUj>0y|PY@Z`X*h+q#^ZX-sf8s=^RSi*~vT^j=Zaw`oE z4^?t*n)SctrcQe)In`JaN=iXt(47cRgF<=)-44?ap(7iDml+`!pcSN`%;g}iai`S2 zb+d@5NT4UC)enb#6-};Ti7Km1*Cl!MrbPt|YQS449jZo(iKR}R zmw_+nX7%2B=vX@Svj#C9_Hhj_YfF|FiPhHa*2_=4uI(v$X&$RUW>hEc)(*S_G`e%^;tGdv zCC=aN;R**FdtHeEPa{;>+DubK!a42coQkm6Ny%Tu{t1?t5b0Ae+)26<>Kz zM2}Wfd*wRbdcVTpUa3wsDLwG})Xu5vVxoWgr+L4NWQaVctC|5m_eN?CmgI}Hhjx8K zkT3>_Sc3Gn*2Iu*F>1giPjLw$rG?!|TGUd6I#i`EPcx<9HZx}6WH>e|++%UDR&uX>@bsx^Q! zvIO%>Hnf5XQy8jF7skj6?~W0FFkS>Yn3mCxIWol+Y}j-=G0aeMya#7&zhFHoa2)0k z)=)QRz) zeeK?F*4*{;>G?P7hH7mKJbohtw~=|XrUn^#RlV{v;z{@Z;Wx-Z$K>SePF~)xO-onZ zv0ckHHS=lk+ApcP;1PN8{Y#Rol$i!?Hh9v!fj(6qCHqV4Tk|ZL8O_7q;Z2B+2vo)^|x`K|Hc$J@<;a#ww7!yKK|xUkC&evDGVV!K1==P|KHe@ zb*CN6xZfPZF0cRq=)WmZE&pGhwg1C=YW!cOwQ98;`%DQ0zxd=I!=;`zipcsT?x*!_ zVA7^=D+$m;pA;&>81yc#hDq8BXPT$@Uc*>fr2|*`8ho0;&sVda^sg@9K@NUk;2yIk zf~VT)MHz*}z)7m~y5znrmGZpeqAbA?(6t=fn=D(s8qjHUBri*RvEy6zTMH_WjyzHk z5?uzpTc6l}3zcYuD)Ubws6vH1&Evbj zBuuc@2ld?(uR`w80esB#x)Q(4jF!e5yeYq4zPF+a{9y?pj4v+Z?qjl)rAW75gNF1} z6YBPSa#l@53C}gMr_o=TOnmT!mn3UDQ4_td19J{wA7vsjFBnH1aF$V_r+wmnJ;9Q7oF5`H=v{=@i zLn@byDkXF!)Bt;AQ+UwB(KbBwz#m!UxE^e^pTp9jju^DW;M9wd!(0EbjSYOTRMuzt z+V5+WpY`d&%s8$sv3xc(z_@AEnyUnUH>fm5sg_=F%R7JPYyP@J#*y+Zl(cnDnfIYw z>WVWI>3>BS!R8G^>EcM_h1oR#Zz1!J=xnKqBf;OuC0}V`ep49zOe^(Yy#Pc`M&%7L zZ}&5C6N+&`z?1q*A~U`Y*S}-{)5++fd_9DL*SDr!j3&%(8h=n8}p>J>RuZ?nLft5VNN+$Z1`bo@X^avDJ4LC^aF|okFlO7Nww`?yK%b0V7iV3oEY(ULJX-jxNe;OH4oTdr3t6=sTA`PW zTuKGJkoYU(lcf6`XoY^de1EzB>M6l6r@{o6{NR0zqq$+^*rRp;dL6n}Z5sE^vgF!3 z&*>BXe?`~_N}nPF6#!r^|9?f;_}7lHw==bKp|>=)rL(xw{jlHQX!-6I_yNDBb3g=N z9I9opo3xTZV%I%XcTDdj0U zK0N$HQ1S5X?Ce7Q6y@v6?+zuY*YxK-jb`6_Ntd@)ebOVnz_TlzG}^U8gLeLlO7N?u z_ruY>*-sJ;KAw^*eOaM#+avsQm_~CN58aw2$~=B@dGUM?^eMHmQAwz&J(rKx?9K^U zp4~FJ=&0EB5utG7a{YSacIN9L^K+8@i<7LmO@C;d)oEq^lF@IGr}D-x^T#HxWzsV% z?~!rFUsdM~?hAt)djZ1-n~RYD)z|OrrTOL5v{`g^9(q`-MyY9Q2*adaP(+gAnk=C5?y-5PUJP#+V1;uwPVD8))Yi~#VHIDUr)%Q)>$66#a?(_$5(Z$!- z@B3`Av@wE-Pn#6}q&hltcMIye8!E^ zQ{(|$G+q+Mo|GDh8~Je}T^jrz;ml>@9o75ch=!#)?p(BUfYNUzA|^;Br-E(#qqvt?N7~? zL6CFQLz9PIk)l*@5>^Sz_;N>^)A#%Gg}T4S=7ILjJd2CZO#$yPvB5g-yZc}uJBI9? ztB+%S%->c0UM_yoAMZMNQ&&H)CG(s3ah2Ts8N!8d_3XDoq{(W zU0#yPE3CiOBL_UO_;sP(dDq4~AK>@ulcG_bbe&i6KNC;s7tyDdG1+3>pH#PgMFMlB z-|h2NC+j{*{uE-ZFTfpQe02<3G#?N$43>w>kPWBXqhWCe z_rn#A9lG=B0ifGpL%NQ#JaW3&$21alNjGoRNN9H1>c55?m!0rP={-bjm6jyy_t^N7rX78=V0tUE@5XWqd+p~Hx)*%9)=wx6BJP=SXxSyL*JLlQrw z(=5J=;fnNq+^{j)P+p3q{2ZzkrkE<)3{%#)}?j6S=*NHd%4grl{DUymwDe-IBLEw+fd(K^bAbS6xg?>8Dn6jhjEKfX(EURFUBeSrf?Sos=OsCS1QVhj*C!=lBOHGh0hFx;jZUcK}`*J=^G zdL{f0zJt_KT5#S8E%laNfX#oq1EV%#v*s1 zcq#sRp5Mb+HUU}Vy|zxoAI~upO%ix59WL*cuqOvqnbbK#ZOeC>+ipO9{9ze>mPSih zO!WphfnIx1(1%5=pRXexH;~cllSqKPJo4=@%aGHt2!A7}cU?%30P~)pXq+%4>>X9( zt#A|~DUGOB`zg>gPbL|Hf~8Q^ifT&5{>nfUN*4P- zhGAUr2!rEBj<7JL3?!9y#y^&H!Ll%iK^f$QB@?7zSH*j&1w=Es& z#1gTu6Q4Md33-7Wip_}d%AJIEP#5c-KT3pr(efHO_|Jg%DJBua!1G?@6~m%dJUaS3879>= z@WYJ=p@Db(KM z$ScX1n#y~2hn{&7!2{9&aN}X+;I|UUqxp~+Leqs}2)G%kMJS|^O){U+*8CPE$2DWj z^kq?sDNhVCx+d1H6v*RD3Rs_fp!Nqj?ypnElTk6~-z50`J1@MuHJkpvz<6Ns&Z_XK z!?@J;;*^8o@gVyZD58IxFuHClU9YG`Bx{*CtmK5Rw?HvrW`JOKj-pCHZUrhN)JB z|F4$}G~l5wqfw*nd$9}url(JTivTlQ@;6rh#OhN0=-} zj_%i$eme9-CRVvb1cu!lY7(eOwboxJ`dxfOpc1I;kW7qRT^)e&RbbOhfN<#?^pCYN zfaPC9RlvW82J2X+Wz+;eGfbH*45|v<;NM%K!$SY-nxW2z|vVE_>0 zEy_?j!0jDa5&h~EqKd%n-pc|tHDF9b))HOWdb>np%cz1dJwo(RL}Oc(5Kg^C5Kgwy zd5PFlT7}TAh(iHDW!@-)c1J`KrI?*mW2)+czloFnSZjm6DWDG3*idMni?<>7{6mUp z;FtR<4ES!?4-YB`=8FOJ=?!`h#2=<8!pXY~On}#a=yUR;_V^@5=jmzKov(r>l#`|N zaMPuLTB}{Z`@1|Nhd@x_ReqqI%ynL(xy(t*$oT!*!4=*QF2oEBm9JLo?32kQUJY4E zRB8g|yka4wd&uygVG@n5qI3R++NyGplBZRRfuBQ#1BNP8s&n}Lg%Ynuth_HVfpA{6 z5YgTKZ}a<++Sds219;oNK&xy$H7$m>s8WhcY~Om#vG$4^WvGU#Yso_f6Ih~U(AZ!o z0$YW3chu-?Qq60stUVnScQ4geJ{uKaTD4oJL8{ZMI_=&5x`V!On#-q-FO-&tvy4($ z7%v2_Q-sv$ygS0nv=v8pz01_%dZXLwG$!QR;g-Rtt3qXZid6*H)GJMy)M$>f+!Rm< zYTag#e_5f|uqug)O^Cvh6x53tUIo%j|MS^JrON1(`bxA_Nl8)Dib~GTD?T|fY*nd`l zbSy%;`Te`pO?eb71Km)u3Yr$Dss^e?$;k!{Sg2*vF#jF)5Cp9>jI2Q;HLZ}VWxhxF zu#VPR&mfaq-g<$ixmC0hxaVT8S!5t8>wZf=igZi~T`>;nd`yX!6V*STQXgWZW>qaY|}IZjr=N>w=*0TPPzRP%C9+$?rxP9F|} zEoy-2EOsoif|jLYRW`uZbFxqzx=n9$h_my35my4CKZXNTRqmRG9Eg1-NEEb)4Z#pR>B=fo`2 z_smUq@-!h^u@{noGzzEt*2~wMqO4D$n^+4JNH))v9z?Px0sxdOef&(e35UtDS z*C^gIAtyF)r(Am+9=K1459hPE9eHIdOZ#zrD4 zfT^h8#Vi8LIssKPz4(-(eA8EngepTiq3Q@2CL$2>4M{tDaNqi)>8}(}W3if|=uun* zv6`}gASW`t_)NNo0fgq+K2wygYWP|^2iBk|`f7@F*^F#41mughiyg}t{$jf#V4d?~*N)({ii2H+A3`|S-?n(|LLtJ|k|db1o&?-= z(jC))U9INlEec&tVFy#3;tU`tC(|yRe}C`#5E}ab>Xvi$JFQpv2XkXMn5j=e$5(vK z_b$wfrQNz#mgjU3eT(^1!5pCXi25hFt~-*aGa)9<5~lRC2v;F7S+C17Q(lQtu`@d+ z4l>HKm?FKElT~XdFucV(vxSY5d8tnyPXUMlw5giN-?H!!*86Peg1E(?kN_&n^036v zwqqxhDq*r+lR4;|KAm$Z;C_=Mml(sTtsfS~Ez1OD;hoBZOmqlIz&{EyBa?uW6h_Wr z)6#B5gy`vZnwx^79D8*rG&bL56{wns3d!MP)GxUUQEVtsay4~q{xh4s`Kc632^ z`q(94zF2hD?L6{U`)z!3ad=KLVXQvEwxOfhzm&1Qu$^H!&{KEq6cXK} zhv=woYzUB&<6s|lG4~!64)j2W>ApM%-@^bm$f9$KoX}|^j>@*0$K)2EC$VN!`Ro+J z6(d6qtH#-yaKtL~tNS2L?(1FpyX4`g#lt-woT%O_x#T-9Cd_hy;NkvE#KXbF`MMe8 zaquYkuL$(v;X#1uQz|Op5Lw8a0G}ZU7V`)Y!H%llzXs%h7skyQbe5s?Ko=KN@Zg@6 z(>Z%0x!_zQ&}e{Ks3Nac2+&Jim(-p5VVYy zoi5Q+{7`2!MMM8hrHokGON;)NKe~K*v?c-IjiEvK7SIHq$_J(;Ru-|e7WrpckoM5; zr4deSZL@A|#WvWJYY8evFI4hjIInMt9cKijtB(cYNZ=B&gs7tR45naa^io>=+`0Y2=fBGH#3k>#ufH6YQ zxN?=uWDD|rZ>W_4IVNE$NYM?h{lXw^0EXcQG7TB1useGJQ36^A`{85mpIHIoa@V8@ zJe?l|YZ4&?V9NpYaFk~r6TWHZ79f_yds4^3*cCXSsJ!NoNc4ibXac~)epOiinzMKH z?}jkzT)+UYF;GDAAjZ--=;Wo4BjSD$LMT&)U4jlPQMF3-T7A7Baj9dhdM^Mtd|p3L zKENL@@;~uGbwB9wyZ{OMp`y>n7^L$~&heR8bl>uh5S+KkSL%L6Mh=g}rNG1Ki|@*) zz}Hij{UEABOw@+D;b)OByxxD=asH_@%*8Ystf(*oXOt4cp58NE(8~#M{^>>774%t7 zO#g(@au|>KB5dmK`*?u3#nAm{46{G`gKAwN5gpGhQU>A>VZmlI?j?jllr=-DT;lYs zsU&Kr@^94gPT2@?Mi-n{Y&;83NRPt9xlhg<807ox4_j3x|HN@-Xs<7PMZ7MwhF10G zQmO=o+4$Lv>^;(L>kTZ@`q6^fiofDBrrS4Et3k72U$r`5eQi-=ZZt$Ve?OG_GAaOPXFZ%|3z^nL`CV1zZ=!b)}w@oDoKy4s)p%wio% z_Z&3Q0N+*kX`+q{+g%XC&eTs%!b9!gE7ptSF9Iq|8DwmkR)#d6%PYN>gKL5vthMHI zRQ-j`a#G|jZ^STUnI2Y1JMCUB(ly#fw45u*_bdI{?{7WY`-x-FaGv9-9C%C%5b)_T z4j7yt{*%JV;_)og1p6K9&PuwC$Q3#u1}qR87KKi$s|I~Z1QZk?Hj2|vHVxfKBDZ#M z@*p2;g!$!CV{T>Yt38Z=vZt=%UwZ~pxS`>`LO*saFiee~2eWVX?n0&c2j1wm@74_@ z<{Ydm3ZBrD< z0w^e~yT)A#o(w=9pY)_(j}*;@%KT|K{WynbliJ?!*Q>1$HEtZslmhnQ2xa2NkP*$8o7dN?C&6xOqmS2m0oTSisA^(-@pF3J>d- z+TBkdVS)|UE(@bADU)G=gB4I1n<~|g-gDuo5RpI(_J&Cu=U`*qafNd3yBBK4XOuEr z@hS?^(B76XAq_CJR?iK)8B*blhnPThsmbe)2bz}$r|2=&vRVo0HRRf$(&HxDkI!<* zP~`9Lx~IDfu4Ks8$W(hzE%>{`wbLhH;CwMijU1X-CmJN*{p{`8GOyw$n_HqQ?dhjk zUs~cSSv54cHy`5v#!venR%-PT(rVbOj$fa)v2kUD=rO08iOo{hA-SG2F4NHv=& z_bc|16mUslW4ki!K~VKM^#jp!a0Sr_M*0Ib+QN5I2EUxw7djT2GqXH_ibQzN+E zqoOPCFRdb!vyB@ofTE{RzaP;dJ_U&j6~iBJ!8&Hjf8O<)KH{ehjUgl)<~EJ)r9^OZ zl_>-IzI^y@S}U*PrNS;(SLM@bNjMyo06^ipw`C!xUGBGJTvQo4TPm~MQced%z-|<3 zR@T9T-uD|oYz!Nxgv9TDTRgKKA6yE1!~c^rnc*=Yd!Ezn z0I^f#c(*Ic@`YnB7x;PF-G(~^`x9?M3~;=HtPPh{)JjK-Qe0U4rvchTRI2$0(NNzz zeaoymg_CQVB1T2CeC8>%s#b^*O#uv;Bu|aEKHqJG1y{+$u*<@~zTU6wgWv}=oJ*YE z;rLeW(VblOccWeT!K$~e!9VKR#A*}rhGk<`LR6bSmYEixjxSjUu8Z=l9W2Q^UX>I_ zdi9zZO|NC&Dsn>_k7s(HSTySyZ_e=4p}0NteD<_SCwEf{UjVW-=7Wj!eWj&J{d2R3 zwaeRiRys1r_^|i)WmNS4{Ot0*6<>d}&MhA^hHFy3t=jeLw|NGxB=;q?Hp@M?tA#PU zC-f9kdh}c@$`tzL!yehZ{ZDis;vi9JCw3xK_wcs^bA$S-%H|l73?Ybr)cW9esJkC6 zxubP(*k2QlVr5{ryemPuArL9J?UJY3Yzu z{_pd>J5B++F=5D9^`P^E?%G9l`?b!?^Tuk^1s-i_vi5SAfPLfgfC#IDX4O3MTomm* zyJKS#OVb@2`$tgCmZl6-2FD1TC-z*J#P?R$hg&mEjM4e3>cEFnRZs@@1R$ z{JS7SEqSacxhr>YTTI9KA|3x&HG?VH+BO*>*oT_^p2TydMU|)qc(URe=)C zC;5QVqu1nNjcM(tguYI|5ZX@-am|} ze%(UKf2pVc%am(qL+|YLtAiNY=$kuO+S3`ks%Xb&a-jI>`3=uM8k&o-Fn9A*HOa%J zjc9>WuqBCApdjv(=$Qfprc+kD?|9odW&UMDN-)OvZ*?9R{OSgOx%I7theEgOwrgG& z(rP_!LtdJmJKx&wv-JeW$LII)i`Vz>*GaY2y>YG#+D}wuG@S4 zD25)fCM)+U+Nz7|QeGif&83`W*~3082Z%2p=Ut%xQz->p5|)3hO>uE@oEKf8a$7Nt zH>Kwa6=Rjly`$FW%qS4AZElNJT-kcuZ1HzdRR!2arBWZNP+tZ7T-@`NTL&);@t08A z@y1f7Iff6W8S zQA`+v?m!l(CeoA!6uZdo-ZaQQNF5V#y@|>znjvGMlNfW}&O!{-9&lznfFzg@Qu-u` z_PYRr8zhtGqpP zDPXa-cn!v+%gA>%9%#f!2Wt)qBf;L|SL{g~6(eHE@hqSIeFDUVlwV3|=xRpkTX-ge zIFTq2RntF;awKBA3rIl-G&3k&qh^ry#-Kpx6%$ zOb#y;vH`aISS3M9)_y?ZZV^s1loKU8Bp$jv@_V5tH!4pNaQKZc`X2@e>@Y7d*`G@%Cni!v-xKj66$1}T)su>4`@Q_ z4G;Qs6C<-us7ro4!I!7oes(=?M)9Q?oRVD7H+wfagIU61H` zHp;4NP(m=}BwGf=8K(B{Mh{-!=DhW4sUOY`CIUiruaY%!5$*J?y4xT8y!@Lc9&MlS zlY6`Mx9$H|vO-M<5WOLPrHTUp0PFwH;mX<6>DP0EfzF~j)7rjJ0xhh!b?Il%;#nHW z^<=-uyP>gD%TQ*a%ojP7J$v2?F|c784lHGo1amrmM;VlD?N~_^shm5NYP(f#xjcOT zH>e}q_Y=VU_NMqm`C0jUL-}%^^i(i$Jy5v6I1<@g@jMieW)LI7tgLbTsHPW7thT;Y ztJGmXYhd^Oyq4iEi^F9_4}{EhMesDdQXR!*MjDx0Q>*7>jvyZmYuNH1%0FtTgD%?_ zbte3;SDnwh#_I)wrxd(ce?ZcPY}PLx4tjAF7iU6f9W3FF646@QN%B|pSY$K=JuvdB zL3ztUboANT*%LPWJ5P*Sx+qU6x{;0w*~k`Hwq7&D zR~AWvlAp;gj9@=6Q0@Uo&S&JfmDXH9^l80el#PWyu^*hzO7t4OK_ogQvu;!7m^$>5 z#y6DGFJv_l;0*6p;8|SU0HFbL24x7@K0)AHpKRJ`Iv0YBFs4@LSb^z)=Qdmmvc7D? zJJ$l~d;{*jT<;(#E(rl{X? z2LQrB5hK|2hSHh40J=2?-q`fb%HOSpeOSs&F)g&{zboPAExLVVDqTO(gvf`JF=}Vu zLg|o7Nrjmqy3GsF`pVHkcr^3t=ruG<$AIK8;+=H&An(Y)9Z?qXMy=kkSja(O(&ij* zJxwTrEfWsE)(Yk48+kHphmpo%LfU$WK`CTQZVEAL(}zhD_Vtj?HhX;WVF$vElni_nFeQ3zC+g^SHMt@-4 zIu%b7Gdc`+@zucl(o)I!S{a0XvwSF?LDUeYkT~>fiJGs~C=i_pb0wYrkq(3`H}Cbx zgs*E<&H72tW81?OD#B(8=1v(A;T|0mx{1ALO|n|2P_OQjV+9=gVSUAV&&(mK!-^w@ zhrdHvAA_{s25<8G7{^$#;71~L&1Cu-6}OVikwS~_x44^?y9M0Mzmy6qy;fuck=%x5 zyI=Z8WXmoD#x8{aDWU%0p%5&flsTT|0VI?FctV3luz*GY{I~qAu&$K69JhX5aalZJ zEEbk<5Z#wP}aUW#GeWkJg7t~{q}U#;s&a*3g06$t)mHUJ;*sK_3LBR8k^6wc=+UI zH`8FQrH||Zo(JUhzw_;Uk;&;NpNR z$9}jDG$yScC;`TV)WM^+PL^T$a@5dFr)xtShYR~0F^=9Qf~#Ja1T+D=o5B>P?tLhI zrgR%nQ$jA$GJpnX1*2m{e3j!-OYt*uG3LQF05fvZ5p*LrIx-c`?T9XjwKU7^n@}AQ zsp;oBOK|9K8OnQ3+K%n#8TIUFdFM2}6Iv50h37DxD;M2T%AqgIt5K~Bd$gLRLeaMb ziZvZbN3x=o8B;heM=>^_l{1Cb(?t`StdfpfphbSow4RSolrH0iweri-c)q?;2KNeH z&b%^sQuZ`)()3)j4r9*K1qiVI05TbUQ$iDegxmq{eL zxf8i0r$v(ii6@=ktb&qx&$I|qM9uci3P=^c(&4O>n_El#y@8Qf9ke z(p_aY+AhQ1fgd*yS9%$-muuS!GCv}ZzCA>bwrl6Fou(Frp%dGgGq9>0n}uUv*%o9Krj*c*r<9g%V2vQr8yi_R3374kvUh@R|CL@# zNqlXm(H^I8VK$f7?lVNMW$t3Ptb(YFOZ0nlAdeIiyw_rFUPB{G=wKsdIO&4D4t)f> zl{*%H;nveHlQjqgu-8iBQE;J3WeaM#Lot#+n2E|E^^7INznt3j+nX?9TRsJG?hPxA z5S?S(=|WW;fT}npmX2i)7NuC{gqD4+0i#hlOcUAu;7Vg>^*2TZ(;2 zC}Z^{r2-v=w{!h{+Y<|CW5U4VYQP388T8>}))3NB=*sh@QO<+r?pu%3eU^m4(e)EMRa;SI zQdgN?@Jnk3e)LF&quPM`pp3K;HyLWwCvUXcT^8N7m5w6U_IX5`^HS)sM$=Ye;=>|_ z-hj`&V@p;ly?D0HpuuER;i0pECsD1x=r_-ap-&_E3}(G@ddsoZGuY$J&V~Eun^(1m z3tg|>hwPn#f~ahMkYL6ZKLP2xbHI4aOpa0Q8qR*ogc$FdYQs3RP>aBFOVSA4DfWjH zFAfeqvnw^C#4d)4yv10Scf^g5km=*?`P{luVV zf=x8onb<&wR1#4VN57H-(Li4DVQ)pY0j<++1hn`!@skJVrr<-CrHPnq7c-APY|a} z1)(4#gcIhXBNbq@X<2HKRx-sXcq;^BTf5KFB>@Wu}C$Hx;5{xXt zV|BjsGW;DRgzhXn&8(XcOJS^|*O-r&k<0Gaa}c6zeY%Du>WEt|HEAH~8hYZDSQ%9v zm_;@6a5Y1d&km*^22Y3~_V;Jt$gWo5oc}Gb`Dx)I!qrvDK*B?L#SEMn@LI3dal;Pt z^rZEoP4N6#*G3jFEsVuM@J#VoqbudloX<%nP==P4zW87Sts~^I@={HT*Aq{3Wii}H z|DIN@t4fSV%SuK??Xq9ayGb=KZgb^Uv9Hw)<#};R#a6ZN`B8=xv#S6;vqtucMIf_3 zY_=P-@j?Gj8WV0ut$44?p$lbAoTTID=Q5=M`*1VguynX$>Hr_v@Lf{50C;w zB0sNhA94@8&!6Q>vx)D-uP-CMOg&J`HApVS58u1R)9Y_Xz7MBv7&mh7{=Hf7T7Q$D zH}Sc2*<<&li+{chS#mY@H+I)OJYeHjhoTHU-7sd8qIDi^8dG%U#%?Ra(W)_b`&KT@ znKJh1i}OaDIrQrIoAJFe!EWD@ca4vG`?-tbOd8vu@$T>s22L+e-)3w**)qZWW|J2N zp1is;!ACCNuJyC=5Iu4D!Qjt@&1`-t!&}Su@pnEMXIMLYV5y65mm40OA8fiHi~Qv5 z@X*hznWLXs#nm5gTStQ?>5}k?rVQGLRL6_MUt3p3Zj7DjwD|39GOGtti#C3ko6N@X zf_u#B7%?~Luj8*olP~MYsow6SpX*w;*Ow{fompFckk{9xt(U>!oDV(kKJi~GX(#j# zyg3e-oBEc9u7^|~gN-Dx3)|zj#vBpA-!Bh-z1c(6yRXV~k_CeFT+;9T?uHY5pVy*u zSD=?;f@`>BjvceJw|6vnIm5vO-`)HXi!S^UTyKzG!34NrgAa!Gx0d`6|19}I2XinO zxrG;E*H5a8ys<*IwXvSIj5&7pn+ zib*it(&KhRhT((#I55cOJ-Kl}z8(a7Q%C4EcC7yWQZ4ZU--D>Gq|;P3d*bDP%E2iVwgo;oZ)H#k4oxoNmn<4cQB-3FB1 z9G0ZRKN(Ug({RUP?*MKzK~hE?(w@^Q1Q{YW_Wl$TOsbVwWY_Liy)bf;JttGxO3|DJ|BAC~WX~eiWhXfb#T9bdpMHJjCBK&Bu>T@)rJC)~Kkr;24eD z&zG|$7fHOrD3;_chWBl5{!UIjWP7XosC#>peN)<++DPrEv+`EjPal1BG`zJn9etrs z&EJK$6EiZ|S=$Kt!^v;`XS8QCwzEqX`UzOAU2zSsm_`_~a<#iz?CgZtj0NxV8ngnQ zrFT0{vvSO@`!(QSr=bt~f&rRUcHPmzSF-uDp<5>p7Y=Rk#hcBetJ6d6{OkMvg~wg( zywAI7laDm6hd(15-@<1W@&Pfus`z&>t_B`wyZH{(&f};qeGHs2|E{m0rOV;+^y}n# zAMP`3PnK-ZzbjaKa=qfCdi^!Xr0d%v+?=?Am*ADs`C*%OZbSX-$=!{uOD2z;pRf1$ z?ri@Xo=o{v_$uVf>ua|)d+^zpwORkqW{!SnG=^6~dXT*=@BZ3eDL{9RKW0Imr-!$}ult*<0`kaBF3EeNq*c@pi3$^aSG4V3ru52n zJ-=@M&WD(<)Ny4g`ncCU-RBScRoaBF`y|+@(gW#g;QIc*9XTrdndZ?}OFX1lgwb8| z``2QmL*ep+TCk@4-a_)saW$8w#ZmYsR3Uz9Z|#cWAI5yza|-i1VtK?c`X>gHabCph@PaI&$U|b8@OD@0_aa#r>AFWkJ8$`A;EP zPBH_iWlIBWz@TTvl0| zS1oCazUbe1TV-x*=hyYGqTuxpum0uTx4X0oK4$uSCw+ZWX}0#T+XTB%r2k`aO&xh) zGpJN>dbB-euB}@jRZ$9mQBiCskbHaDhFoF;vc>61-r14#lVE# zn=_%#Tu`7f@n}_-cp3x}c-E}r%f&*@6bKg18jNIj zP0t?|M;xx-F$64Jj0X)zT*(2azb~Kd03JsiY?tF66wbQ1asmVkX9Y&0ufF@6ibLzH zo!YKWLBYnN7`VLOh&8_-R3J@|^DZQ&t6st=`FRUy&}f`$0bn>(^vzX^U*rIsueGC(1*%ttv!dx4`)blFk%3(E(9;4~;HGIzs{yg)YT* zX)nl$Fh*xVaLtj;Zm++t5UtziFfCL(DMo_{G3^fOY;@J4*n-WgN=Y*4AR%fRNsSDc zTdMy5q3oTbD~p=9!PvHKCmq{n$Ld%e+qP{x9jjy8>{vIpoet*q`~GI;`)1~!`Qxs2 z&RKh%TUEQN_H#C#vMOYi4CJm5r8pB$qz}8%QVuy828SI8<^WBS3AhPn--jiZh)#T{ zFzsXHw@Is|LsxcLWml$#7Vl*lUx&>N3?3a&Z2CD&eypv{GA>S^9*}8OI`xwEb6Phh z&zkWYz@u@=_+Jm@+WodHVBLwDGk_fR^ty<`XTZR~*EtpbS+AvF=>UpiuB^yUN^Z}P zgj4F<+E=gD7{xB^Xr$toiv{zju0_x*bj_D@NHZW(Xk-cs6G!#~ors-699 znDiOas>u+QEwxe%prJ&4F|m3}KZYB3Zx=E*h3LS7QTU z;c?1oroz&2+Tc|ZNJ7#%Pd`~na0K`}$e8)#f>m4)DE# zTc6RwCSTzw2jv7DZ4jZ8{yo~fM{bBqa9|+ZM#gu6J|g=PysbeGImw{Y_6vO&&4yio zqJ+S&36fY*$Nde?YqHMv(xb7lWxK8jIu1W0oV@EI4z3Z2)!$THSerib}fZxU#rt;W&iq@wIJFDPJQz0@T+RY^69 zTwm=5YMWGDFi}Z~S5LZxWS+FoSZ8o^a-O@f1U|Qb;kZ+;8>{v>S;>(HTf95e@p=YCq}=8ZJxv@lq0b z?c$Jj_^1_8(UAzrnJup{L=I21X@lmaEas^LCd`-Eq^F{x5!RTz6@maPjh9j*(02>^w20Sf1!%1(fo1r&~ajqD zd3e!*n&7Z^RQ4VvqNmvSuW<}}O88n8OmS#3;K~mKyQ%}7xBe!{)*YzBadGr z?b;!IFkT~OZsOg!TZ~=ClHxyy=4@k$?qEithrby1*T2kFhVKPSBm;u2`vAdC`-sGz z+4Ca0ZUCRLv-)jReA|APhO2JeBlJL1g5t|0N+-5!jv@*j~!# zM2bReNjHc9FnB0!+Vr-xJGcu20klQ_H3qa#c-~R+)pA@}- zdpI%{LNs!X7mc76kj1bK3PF&DYx^d#6*o4X4YKyusL4mYy>D-@EEq}<1q#Ba`l-P+ zEP;#!i(HbafQFV#)}e7BNF-_|ldC%AQo2||KHR!%mC2rtS!-(5Z9y1uA|fE$&pzOX zx^R7%)L@Wg9kDDfks^>~3^I(lgcKN1cyUy6K*w$Puj7IZ107f4pX27Z4(yWj_h?0y z$e^OYV~}Gjmtmk%YH3^bCrBJm;pN*bsKN1p<`YzKU z=59y}W;}0v00x&%Rs_LJ&xq4^lH(~RzZS=CI^@ze5_1Xktsse5TWZABf*5HB=L0-0 zDNcuCM4roKB zbSyrkh@Qc6^A7CVblMKFm{n%g^3Yf`8UpN=U=7Mruy41OtOOk z4h@EMjzkOwJ%+!QH;|@c!ZB-SQ}APF@`3yTOPSb1I!85Iwj(8%%WU>^UiZJJmh$5C zCoh`17^=;lte~6HwAXbttTU~=4|I-Xv01>CQigdiLo8h+8xs|95jkpEm+U1Iq`4|- z2VqUJqM~f2*rCE0VlB>&stmS72Y*R^i)BEO0418_rZF+&RaSEb?0&1DN29@&ypbUT zqXb%>5@`7ppygA5mZt$)UQ7mPdD(xKNBghkDS?(({*UFo1|lS3Z6=o0gzzY(oKkFr ztgQ{lsAVfWH~wFSr?S_y@HtJQV4f$LuYh(wD8(RWHo{QpyoE_jheGf?MI?Qi0473q z;R~LG8xwDE4xcWk$aqalAIm?%x3{uU@tQ0?6-F&0x)<;fx&|U44yJ+VDPa1H+X{nWqp}{!PC~I6x<`X z|3DP`fP{GQIkj_p71Q61YwvEJvz^}HpgD3Vfcrq0$s%e0TbPwR?9$J;f=DiwJJpDM z+iwTG8{Z!g@k>DIjMgCzDf*u@I7C>4?5ChCBs0DU9py;WLR#!M7vUO0Zg0V%$~A*02@Al-acNMJNi zfwPOpf>F5X5iGrJ&Mr2A(Iy!&eW!j129J`Bg!e8Cbh}&Kb*0VQ;QwE`i=%o;`2|rh z;9ybcJSxZ4TcX7{AmT(R+jWUh*ni6+HG|V5A2R=!2O%RApb`B@5MW+dbiLRE83fS! zz_h&BNwLmsFYUhF*t9C!tIlUL|EYSiyATz~KQuEc%v0ja2=!XnZq%ue+91b1Q~#HW zb+oH}TBRO}T^QF^C14`(dinc9absn#i7r zM%-L=F6x_plB8(!1pcGF4M1{#0L*Ti#_=913jg=F*)~s;h-|JOjwW?ozq(fYVg;z- zHf`+1`=(if>H;aW28)eEidT?J5s;}x%V|25D2(}sZiiK zQny+hi%VAiYsTtOT?Zi88r2g3)WiLel2 zk<+pH7_u;kE20S|{tcPTc0gAc4WEq8nm*GEM-IpS1_KTzIDqw@Y6>Cb!OkH3@Ky-1 zyGsExu4afMigyQ^#3cdxbfSzr63`*tu zpc)GNe+<1DjENl~42l1ol+0Czfo5}k%N(#~C$d{s#ATqYb-A?)87eqAIS?e8@5TZT zSK4j%yC9)OiixJ$1r+P+@7mJg107B*)iZEz`!oFG;qU3?;lQd)ISJ$lG$MCu>yRFlj zV+WqmM6%Xire3yqcHVCh`$v+|-X*E!xI}RZTj+#$9B)?1{YVN=LjsnFzJ-3k_}KUA zksjY!?cKJxf502ALOx$&)3=*f@5nT}e{}27DLPjVlT7B$i-X<^^7!2|dBoMK`(Uae z7VG5_Gjr5r!_k>rH_x8C#iSX%G);KMYyk}^+t}WtH)V0^l>Ec4MW%((@3*4ecXq>G z^nAq`C4b)$A)n>mfuW<7dv-pNOINl|g?tXAvm!=&w@|mqDt57rjg;02|9f<=WOMvI zlpX{DQpC>*|HqYedY9JqLgaD6-@o;2=k1b>$?p-#0!2@cwL7+pUeTra&=X%`n`%@sC+& z&4in{tqF6;z^M0B$yLZPnwa?KX<>`lAfLJ<%ig(Z(`X4K$x8(e}jn4;v zDQwlB=eFMbcF5%)R}iryG(?C>e-}S3BY@;Om%Drq9YXvcu%+CVI8+~9GZD}kM>!De z-Ny6TCBH-iDTsmOI=M49)A>d_XeUaAC7Oh5CV=dD^-h!+xyiF!bDVC>&fZoZ^zYg?+aZGP*L zFL|@CPaQ=|H0qn-^J_4)uKnz1{=3oZY2&$h=b_IYccyZC+xAxyXVL#Gzt}5R>Jj$~ z)vd$+goFAd65!<9Ez?T<(&*J4mKTG(L-wb#@Jfnp?(iUlZ~$q?{UMz?W_&4ma`MS^ zLEs!=TmQ%Mod0KVl)=Ns{^WS)c(XTWf9%Z7wYAV^eYb8og|(X;+v+>M1^R%mCD%q{ zFL`q|b8F2cqp0I`Ghb!CcwLBfxYF0%H!q=4o6PdIX=9GRgkPoUQ`nsh66L3yxw}9n zqT(&L?v0|WBsU+?o){ER7?n5_b#ZP_l~pEEb|j=ZxsZ`ls%gPJ)S=J8i%*f-#Yy%h5=3^zv;J-nN?pN$F^pM|dDa>fUkS9+&+aL>$}?p1EArbHs#Qxz-OF6B8e zr}s(pO8ztDyh_ct#uCu5zG?-*fw<rODh1S_!5A>t$1(@Iui!OlQLUo@6SpLn{!g z;4dM? zG)sP5vAgJKr1Q;359deC{OS9CPW9fXsX{!{vgSBv>0fpD&7JGD6?~7%9ZQYgd{hS^ ze5t9}ih+-qfWK=VwX297|9QrY(P{Mj4eZKd-^}Qx@Y>=WP=NbEo1W{WpN5rpXhvOQ zn_snbI8fiRY6I7~WNltt3MpHY8R+QW2FYk_3I2B&P= z7%zwUCu6ey;+`mp?D>X|>!jaLBxSQmcoOi{*N_aR+D-bZ_l_)+G=#To6SDorIqB*8 znfZ-|&|2@zs&>QNguiVlukD7qTW6P*TM*}Shx?%VHhAgHR8B;KDQPW|;`evUFsB10 zljL~qk{)ki2s3tASEeYYzFo$+TL`l!-Cmflo`F*T&NDBc$YkI(n9b6&vy zkl#bnK}>4)uxHf-Sc+B|vA7VRkTyV?kHbV}PJ(s~l_3#?^8y+!+(7^G4B&PUkWNBt z_@4#lft>r4V?!)WM(5;(h_N&uC64mjwU+t8~L$=eZZ`bIH=rQ(8ti9 zeD6u^&+$S9q*w=oKar2RzLBCo+=e`-rKj?BC6xs!D^ z$rYWrh1$@tSi}wH{%V;8^p8yr=X6YtOFtBjsAR+g%90jS$6ApkdVFcnd?Rd>)Ne|R ziKBe}Dj#fw7j+?XfQ579`+lQt)Fh7L|EsL_P$&r))9|gE2~JFp7W9=y!+cegsN0Ud zAs$tfD5#ZwGMMTxhF`#>K7Hz}e9>2bucb>v@Ylq|jJU4cb63CpKOg?Y*-5F4u*i%r zrb8o9SGSRwSuL9`X;)XLP}M&_$Oot|V8BvT(;l^fIAKbl8fa>(q_8IHSIzxeOXK<8 zNg~nUK&l6P^q~i`g!N1RcQ#5b%|t?db5Y{`O+Q2RNkl+xkyr;yFs1~L?=_<;EyLzG zKn>$COeCr(XWsh}P8mZE*t3;xRZj&pbil6ME~S~c1Pnc^V8~UV*g#4oN;V}G(SVXc zT=rW{=^;VTMTLT^V@klT&Z34FWpKf(W56p_(nPUUreoJ`>HpGCD5_{jt)`i1>xm19 zDjMr$kx;q9eOAYygv;}V)WEQ6qKhJPu52u-0Pud?sQg!uE13ekBEZ|fF2lr-*h+NZ z5SMhbNDnX4Y6iX^)8eTjtRkjM&*c}X=cJ*8%8QnQikgG(Rhp_w3O*EVR0lQY-vm_^ z22>Ysv@)8rIJIjrMG2Mi6E{jV6}24C0Ko$_jLAQw)bzAbe?~zh8n`UKj8QR6iVIeC zDY)8{sW%9Hr-p<5O;8Dm$TpMsg(zOzvJ46ll*;pcwe+X!uJaN{BTEhJ3L-dv-6a@> zBqjOvZlL}*=5O~m1q+PzSUkkg?+aLINU7$AdmW*JY!m^w4ET)|GLvdF;z^R0Th0qs z++$EOA!ypJTjylckHTD5%E%Zs0|&y9t_?+QtViql*{og2^jz=>pDq(Vg;yfHPn3u! zJ`!-DV?MG}*<2tw?bGZ6@ta}n0?TxI3;Rfxe4r%9qP@-zZs+c@oglBZLs_-bzFK1I zZke&kt`TaQWVy_)TV21(0E77JcIjE6<4$yrb*|0$+mnP^LMVvflx+j~G$hC5J2~zr zw!k;E*9@)G|L4}y`gI1GY-?U%0Hagv&IL^(HOEU#herQydOLiV~jXO`* zx(h5BR1_{R+KUF8eA|Ui2XMzc3C51y3L*+B%wlp2;&L%cw)yTyvkMo-iqY_9hnPsf zsV%Om6B%cj=jpK9eBf*0V5$A2H=tG6g`>5~@)WA&Ocb>p{t=3bqbV)5IJKy$j{_OW zhD^PdgkuEqO%4@`1&2{wbkT`PxMv=8iwg^FuGzfjEi)}_>2w3*2Rbv?2VFn%!i)=l zm5VvaQ5o`Kr5M+@-TnX5WKechtS5gI@b%GGcip){c+FZre(fy_Wik3)EHE3V` zh*4lnhUDE~Y`K4A(yenij%@0j#`4$dVttG5PR_h!kqj`F@;h64dg&Z=vzQCr8Dba~ z_O+xod|t8go+AWvyKNpsG1>A<_#T>N1Klc1FoHce{?L3sQ)#-7YTTupq`9orGJbc~ z?aAC}>dwx8nfE)qT%)s%IzG(<$Phx*b4+{G!iUp+srTS#^&D=l5L7J(Ri#wX)H#CA z`5+e*iEsB~-0q9unSG^#P@eTPCoBKsgGetLRd|9NpL{eLAnu4|&xOp`Up5{EF!szbnJn9Y z;XTuxt8xI-Y7jmDm3^SOgzy{nA-7O@a3nG-FwQ88N~eMDs$EGxp#|G5fnV&N#9%IH z?3gll!5>xFpz7YC(Gi8(A`@|lH=jj$nHgLw-2#>5mS9vyj|u{n*_wJ8i&Cu z4q7UjY-0XQn_%o0&nx&mnqjRaEDKDmqN-*7#Ra?;r*P1N=PUl=2AkVui|l)#hcu$W!`p|(%%tG{q5m)h)59f52_F( zCU9Q=NA=3Z;~sXLXVX_L0jkHC!Frl)`#Y#f#qgi9;^j=7`}O#q>*WFX=I~YbVmIHX ztqOqohGWwzWPZg`MYE73u#m_n&hO5ZkA`r)x>knCN8jodiC&KzNbf+k>Q$N1-x;Pxay3T8Vlx+tQKbM)j-+0oz+y5)@#S^FYmoS;(f&>C&Z z8KUTAwwUA=lO?)R)zwCIva41*Msl8ZKCD`a!J-@1;07hTFwO3`_A`z%;iYq*%u07o z-pk6=I=x59bM`^GSWUH!z?T!x#jNStLUrE#XbNuDaA8N-EZOX3T&(_S|Z!Wzuv zq^O)9q50yxod{FzI2P29tIB5_DJ{Ui!N3fL=g6KC~XtMrE^Xyhv+ z^n8Zd2(0oSJtfB-@Ps@jB*$Ko7z*xyA0 z=|mmODx`rfy2ULxI0c)eIpr)%V$Zqi?N7zu6+bt!8Gp zhcQNd5`;RIoyIWx?GDXe3^UkDm4J9X2t_(ueW=fh_sF&)iNzl3puf`)0&P~#4j@jb z$_&Rk#VzH)mi8+k=MmPc?pQ@|fa;`;SG(-^PP?HCrkj-Gbdmt#{4snhInAt6*CO7o zfEs`+wV||1PO7tNHw;d3TOp9=qVyx9EKVg?KqufCD#GzqZtdg8HHDXvpz=_!Q#QR^ zQwWxW+s&iji(YmOZ{f@EH%3U-idE#m86Q?}<^^$Ui z{S9a=Ad0W3dLgdNS8Fp~*!^%7I~Le2Z(D4C>`%w~v1#`*YIHiA$rPi=^amY_+$+*C z;(yOY#qjg=#muCx1?pgoTPg6G=2GS#6T1;RXv?j5>BHp^%q?bND(R1=)U`)&d7vKe z!w$WiGw*Se5|u`v6VycTZP(?xGj&JsDPA5Jrqc2Bf75V6{DUO-c{9J(l(SF&^GFc7 zUFxfz6qg{GQZcPCsdWr`1C0mNj5yH@1tb&+ji1-AGd z*?n;J`>aB^IF7r2Q$`}jW=&ZY7WBt@BW9l6By1{uJJUr{L`ip5zoinUL?sYx3t*Jq!tPa)}b?yZHl-+nTjcGpzo&x(@`b z4f1%5H2=zJ>9<|;?>SU0JKj;s^usTgzt6k9;rKx^ek`9=>r7R297R^=rm)XKSui0b zU%1Cq|L5!nR0zpnrI(+!!l_feYVCa~6kSq1b|?CSy=FqxhESS3ma9?QY+ z6s7- z5bs(&W!T$q#wq3DV->i#ciSCoOrm)OFlZOtQ*7Y9NP4}dyY&~_A7nz3MH83uvQm`t zwh!6NPo|uexRGy+4FDLBsp{=R;m4d3>Gnm(xSe0q%0|sS{M4sYrs~5Xq}CQ=WV3g9 zsVB#1*Hhd%+|cD6dPa|%(mrah@ALwb=O07l+N>#iL5f+$ z#bHj;%SrcX8*D!m3?4A$)jPkNb*ryf&ipwl+P!}D*Nj7KXscz_#tn~GM1}9GlKUo% zg-dlm+4YUPaR_7OEGM7YAyUkO76Pbf5N3L!TKts63L38@;OllSLVjq#p;R+!=|b$NS$;R{GN=*za)}q#*5gjV5t50a1@DcJI}LPe$b#Sr&!mp zwO7Jb*XRsR0TRzp#fzG=&^a=vDpQubDTYS^l63up(^xp=aNH{_>Hr=|+U1+(4eR7% zW5_twLCp0%5&_-I7U+e+I;^+!xQo6TuMcCgexlbtMINdF)%L@ve%~y6`(wF~ORH^GLxL`QVq;IUQM!ezZRt^# zh1<`Bo7|@TgVx7Snq!ukSHXnUy`6hZhPSpUcL)NRQIgGXhLP}N+BOU<%QGwW($%?t z5$ow88>I?WEZ=w_FbFW$)m_wVu(|#F^8da@-3_%h5AGolK7{Ci6KA-7#eRug1pV&t z-#3gQO<{aZ4wFzrPzczPjE{KOQys2dy$eSI68LGFq?%$H#3YY20FSFr+gnz#&0b2a)nFL< z3?{h{jg!j7V{R#})jtT8(tvBuYeM>YLNCe=h>*XiDf^jCw@P{TZJZ|umYd;VF~SGV z-oMzd{i?sZ7#$gu3T>ZM_~DSU*&y()=E_<+a##sxF?3;Pcl8^w&r$`-{-b`6?w%p<1GN+Gc|* z@nhYh|;~aWcHd(HlyN7G-QWDW0ex@Rk!Ey`h}xI zs+8KMiz!c}f)7T1*TR*83jUevWi97QCH3vX?&ph-aeT~bG~91S#PgUJ8BXrXX^&BS6W-Gmzu%L0@V=TK&reQ>uHV=Z z4Z9ZrTh2(^DhS@>ND^0r|o_tK5wOF0)Qj zchD6WFfZsRg^+?+V_@VxWQ@S=8^U$AICfp9orBv(f^-A&{s(I@Z(@Q)9|JSB+M2b! z;~JfhP#==#D~C6G7x_O0*6kVJHi&&@80CK`u3Ky!OQm}b{a*`DrxIVt|NCO-fQn!v z8?ZPKW;6&0>OVRD$_`%VK@%`3+a3cF3fZxnFO0R;IKhfudJi zvsh=BtYI@i%kOnVB(Ta9cXs#s&c?*<+yELZY|wtuuI}^9Iv?d&D4HXDdbll%TAb`S zyYKeF-@VN^=kl+d%DWhT z__LwIUu43`EAZkFq5Tuew#6Oa{b+se^vKv^V0)@2l+QH{e{}t&<@j2$`qCTvSAXVB zMnm`Cx^It(y`s!jHQ{Bz8p#8{(^a7bIzPehh;w3teMY@EbM~=L=KVx;xiO3eyKOX_ zzt)}zf+m0T6lCtVE45q;^57r%r%QH(+DjA)t_XBLd2w2p!#rUY15*p>9864EDVn!*!|Bl%nz20hB;NnuV zs400;W7;>~ifvgzYWYh}Of@mqd2>*~fb(x-+<`s0K4*+`2|^GOJ0WhFX`F&WuYeSq zi+8jrxW=6@QP!~~$$73Id%}8DWkzcW zwbiPGz%T(A(jV}@Xm~Omzg$KtON!^Uh^@kWK%ZC;U-3FbxS}elJX*{)V=JX?)sejV zBEs|~()kP*amEQHzRwoc6&lm6-0?uwxfD{%42STo&n0}ZhCR>4xRe^DyOajHK*sWA z8SR+^=yCCkjaU2Z4ME>&GQ*%MTuLS@O@rVgT49RD3@Ylj5;zI1Y{s^nMZsyiA;JY? z)OEv(zd!4+-UvUqZGrfU!M=wY_06MX1>W3%8?7an$$x@{F00sASF-h`^=1l3duXeJ zLPVmdcksk3d<_Rg*HhPni_wd161b|#;Nq;_XI#g+ME{kUmk%SwO(_hsbu--rF_Z?k zMc9Yb^J9w<#G8&c{Xeu?dc9oAU%0O@Auw3HW`_@Gw9Q}7$Qkju^E7=J z7vFrsQuUP&gc;s@9!|q;c(Op-5m2}8Qd_1wP3RlZ%kSCo8T|d>xY+5vX<@|Y5r4m6 zVa08*`rPTpNJHi09<_N0CWQo~WWFfiGqZeBJB1UiUc`;5=35cU9ALOAE>GnXv*2i{m61&#jD{=uOZg<8Txr} z5o+RHiUOp@8V^h`$vexd+7@p14q|%VMAxCaB*F@bxq|I5c0`Voo!zMY&?FE#WPyt> zSbaZ_Ep)>1ET+-?<+r~jRa z$>A%TxLQPu2Luk#Bx!)TRJ34`|FIgI9@pb*q(sDw?+b|{A+<9ToLa=((7P>LG!dpb4mR^s=s@( zE14c{ay46k=$#N9(}V+c&cDOzs@@obzr})lyjF-AQ!OW54l(u>L?N%$UgCmT>s$}R z{_V(8BmnOob>W3Q@-M@gbYpT$q@I*Yv{ByCG4$~H?wb9Fc)?!w|fgb*NHxV9*B6sKRkPC?h)Tl?m?b4 zpP%7JZV!b8Q4{qrWKL*`d#YEMU;}ZDlKO&lA}Aoj*pg6mj?+WH@D$`k*`-}%q*d&t z(azvi;Czjel!@;mBMyp|%*#r$!E1E=3sJPuG>aRIuvN=1ZOp8H!+`gSV%%HlP$Zd1 zu0&QN<0VDuh^1da8wIJ*e?}JkDIN=}bhXAts3(=DgS&-8g{@CYgtkdHz(Fds*Fg(X zDU24GY9qz1pvAb?f|vWqVo_>a3{Sf19dFgVtAC0CYA@%7^+)thkR?UtV~*GV346{` z2c$@($XYncON>p~0H`B8dhlCeU8NhmlI(xR5R254}W z?2NF$?U^C9`+U zcYsSd7-Biny`;U&`3%CYl(CeQbXkmI#+j^Pb7(tZw>YukwP(b@#hhgV@+aqy?;J0u z#x4jylfxFWHu?L+RXv{eK(JCeBMI|WZTdUT~s9jTE;ZW^z!r zLEuW*MhfAjt&f=a>=5orv^aiGrb6Q)tqX^Vnw}*vs!7THb;vCCdW;Icfg;?!J~8_J zkEqU+v%f%W-#+S^EJpUi8X>NlRH|*bOA{_$Y8|3hz;25j^@@}FN#lrL z&S6Cnnk;ce8Wr@7qi(7urMzJbINL5<-4mAoSs|fF??fvk7?W>YC~Lw~kVvQD?Das3 zuA;MKIcAtyiS^Az{bx#FNnD1~iP9;uFlA7t0>yg&w5f4x+4@=#ee?HirS^>;`3!iW zJ}l7EQzuKR(s91UF5Mmp3@3LVA;)ETTiI!hcqH3iE`@BiZR5!@Jn(P%og|QzsL$fU zqAKEsG&=|}RqN^`EadV~TFTLLfqjaSFrxeKvdVo$Mzj%O5w(!CM~IOkzM!&&%<@QQ zV!$}i!4OIKEpqu2gfm1&g!Bh0FNh=?S-|uieIMx!V!1yH)x%~yELX}42c$8PwGpiW z`Vp) zs6$_p%+sc^YOYUzAzSu`=vlJNj#lg)s+Vr_@33H6`WndRaWkF&KJW00M#vpMH|n~2Bq zTG3UxKU8Xo?sCTnPc_9oogh5P7KL$%|IlLpinSp%PRtC5D!=SFBJ6?9adq3>)wGqb zT50g9r&n+G?x3x%7VwLStZ|B;4evZLOY2%VwC6;{p{Vc;wKjk66~uZ0y{_L;bIfL= zG@P$Scrr$e1U*)Sqt(4tO9<<0@*5eGd_h|myshXPN7CBn)v1N9C?u&Tu_1Bz6^Bx2 zf(Xcukm0YiWPx$Gqh-Nd;;Ny@S;!tprlv~eQCG%^Ln|d)|2Zr}7dWg=H5x_M4>{go zd9y;=K8}Jx3R!Z3Da|&f-D63V&LF=7LL?+ym30oLYHUgoO7)8@$0zFgB39eMTAHIe z6@y~eI}pq%2Y^~dG`iczNZ1aGB6tWODFlz_i2(1^;(AM(AKeiYd)~0)g({hOUXA?) z{iJ?xV)@sgo7^9o5ND)N)nfFr%htyZBHghD4>>B{l3IqxOWfnb*4N9nTErwK8cL#8zsmcyb40 zbUgB4IX5}hCY~Ci_3!K^@)xL@Vh2F46g@L&P>mlpv}VNbJTF~$ZKC|mj9s$vL=awxEBfi>P*V9hzrKcA zPw=(sB(HM$@_C$1wHF_aJNv%?C;!1_H8=hbw+Pz4`u#gHKgWANjUNLYr3l>*nRx$Z z*qBO#`{dy){eyi8jGIUQ4|W-E*=$*AXb_NcT9E&Z&%(vY&f1I*NGd3{kQEr89cJ!x z(!<5h{w62m<@6btxE}$aKRt2UW^h~z;ls-GYHFiCeQ?{7X+t}<0^*7NK0gRQUm)~X zkbJz)X8Ij2ejU%gkE2n{3PMie2g-@TU=Pj_wqtoADy^_qJJ`(VZQP2EBK*Rfd+guL z;wF)zuCjhJerYvPEf8e*kN|1%=gMzSv*5b{EYQyVLgy9E1u)sL!M8P~)%VG+p{5a5gNNhKpn^_k#}rE{KDr^=9ok5Kf$l$v%MizWmjE-MxQIVQjp z13_Ox4bM^>3qc-q7E21_7@qeGu@yD6M^Q&X5xm4LN(|cCRpzF0t|QGwBjRZt@ouG* z#sC58hrY;SU@9>zdM=9OCx*s+;a0j?Q2jVIxYaGgBwG-GkPMz{n&Lr;cYBDfAFVB_ zh{YMjOyum0;XdX%mc`JI)3R(M0b4>vTRxEmJcQI`NpKmyy&2X>e?)a9#!HLEu;3~2 zm7_mOjxhobi$gCdlk+$yDy3NDlfUD$N5gwRPO2h+N|xmHQZxBi0d3`0UZo+MyxYa? zeH@iU_*A8dB%^|kW#DM-u}wpSNyZaFYWT-59s?Cper~MzUERyr{n$;`rv1U|zTjzflU4v8 zLPNGrLR2NW{yhUZomSqFGorz!Q^e7qAxv8fJ)bua%)%%Ov|i}T&LEH0F$c)Yd$kxn z!p5S}XG1lina>D(V`v$KukN>`oxGjOsz$Va(JHA$tmQH}&^|@qfaOgAA~ASPb2%1> z8V;6lrkafx@gj%oPIB%@K_y~5AU#}hUm^TOjaRoF;KN~|@BErcgGrHfuZL1D7q3<3QrqNQNpy*vRfPF{HwCMgV-^V^rwa-1@~w5A)l`7<7o znX%Q8XM59tKlhw#?_%ex_9cuzS)bkweRS*b`)5-d+51s0EJPd!ooT)Hi=G}I$NT5n zy2dgMC8Y2`g{AmfQ|xM)G5;yKpKW>j2B^r@6eaMa3;9|`M{M$UlV_B+KeUm}xQ<<| z=J4UgBcrytU+^=tyMrsph(1olW@f4>zc1JLy&#^Xr#gG<@ucEQz3&6cXi8K%7$>JC z&*t0BxED^xGvoNnaWB0<8o!fa7jGFHvf);n*};d_kfjg&9vr*KV{8e-TuIc<#e4uf zk6DKI)U}+WQAp^gSLbCDjvi6Hu@Yc|%DqO2m{n0ZXJ|}u%jWK6z?h>6>e9CE9e-#@ z8xm)jW216bG{j#sn?+mrE}vIJ zlwBP)p&G{FcJ*AX)9{VKr1{wAGe=IS4sxc|c&g4bEvDCJ@W^bJ<>61hyg8+uFUtGI z&m%@9y5^oD{F=$2=?1(8tE5_tjnZn~U;T*>PJqg_6g+X(Y!&Yq`yPsiX_*fVwe4!H3Sr>wS_|4sz% z2lW3wZyD)g9(1Dy0%9W$20{p&w-i%Ql~H9Dvv)FMmieC==O(}#U_}is;4zMFD`$ME zMy7XPvLm5C4dna8o-#?#P8!J0H z)2bmAe#ZI6p&H47b=-Th(bLmg`+q(r`{oIKy`2kvMfxawy7A!W7a92d=6cB(1st#38*UL&zLEkO+FH3o+nrW zJ_ScwlV*&)ooMN7N>hK3jA_w&f?!0o=U+an;Dlr_#R(Z==J`&AM{499F}c zI9wG??;y>q?s6C2!XJOzyC(G4^g zbv+X~n%q2ozA%+hMXq!Kuw=|oHcms<^4xiRvS~0b{>^wBaVO6qTX(v$QpnGK^mGx9 zbiIcc`DD&kJi>Ql&G6GLj0cqT-}Aw*FHINZPDoWP4WcvmIMp;g!K@ACE(n-OMLpk zlaG>agryt*XnY-t2*sNa<{;*4Yt55O_Z3gn zd)qQ=Fejn=|7Lct&N`A^&6M;OvChe+L{8=Z(vpldXlVzvma^qe|09(&5v(ko{>6J9 zIt=qM$R|y+IJ-!CpCP!d-@djL5#qh%gSh*7t@pHrHPW5q;wbLK!d7wS;4GshVQBC9O=y}@WLC?xaiHRb&SEX#yBM0M{_=(-Ge zVdn4q$8KJ@xF?q!mmln7|5vgm3CuU4H;VtpWZ}iEC~4hBR_FnIesaVz=dO>mWo-!0 z(eBahKrkOsXUe+SXn|zD(1=e@J69>HXqz8?8uZ`T!WJYQ4?a=45Fc#!6tVlC355!w zMKIGh_N-T^}w;*J-A6 zsQVw^G*ZQ4xfe#TPQc9#Dp!^(6qy@Qj-Qm)Z+=TdQ! z>-wv*rm;J*lb8U-Czd}_LV-n?gCqNr;Ppk|p;E0<$yoWjTu^g4`t^%mOc-4^h2|5P z_Q&hQ<_yzBqsnsL(ws7>EKPsL7r9T~?mziVaNq|K+hI7I&?W1cEi&Y<*TFS;<0~QN z2Hea~sF54wPMr5t*-0S1z0gN1{9?gPFaF{q($eKw;*r7X z%1~YO+E6yguqjq-Nq%R0f{@x#6{%~&vtq4otQL;u4KHj6N;|@#+{#Hnbvm9QOkP_=-G#hXMV6hG(Fvn#z?Y*q;teqIv4yKv4-^2ee;h9u<; zeCSNFC*Q@e82~4uwpqArN9~;QA%M4#mN0aF1Hqen7DhUd*^bJ{UBdpemQi^&E?u%G z+(TV8_lFM*+sk@s(Q3=0m7P%SNBSALVm4+^bpC5)W|4GCKI1vn&m7%`8dn#wISDqKo!*DIODvb4_Eg> zx#8?uR0RJU=YZ6ntXy(^_e7ff6TMPeA}akg0Q7-q-B_PLph2XlUmUDZF4eFrzL`?3 zarh<7rxopbL+jP<6%YvR_Uj%V{Bv^n{las?2qbV;zLm zeF%=1g;k`I<92xbqohLBbJ&y4Y^@553U5AgZ7UWXFG(tV zg1iXzAg`V!dUcqLTxPhA1^?iH9g$U{4H4v}ry;8qdSRCt1= zmh5lIe5j>iz!Lv5igL4qh%IcqJpyBpr8*;w`m0?p+69pUdDD3yFX#udY|3MUrMf`r z&?p^l{W%x5#*A;#Fm&Rs#NA}gYvvaK7x6pL}q}7t#~@~TNz>fO4HinNjI~ta9>^8Yf!uJ zd`cY#fpt5$6>-Pp@Uo*EaWrEIbfs$(YZ67m5={dTQhKDC|iPujDCq>?Ja$m9}mc ziD7P*o}%}Tym6E;x&CZv5-~%)5~F*G5`5+@yT+3KuzoA^G@UPzQXK_MILybdXxA;Ng1e8+Yn)G6QvR%M)&&04_v zen5`XjY_|DtXi*mV~5O?ye)mDN%Q-7{;~YN=4VrMihxFQRF>wAuafHISiZ@R8k28X zyvig?Yf7j|Gq01m2WHLjI=g0$M)P}r_3>qc=I7qreW*RX@0$1|QI%#-w2tM9Zu0WI z&6Pr80QX~+@@-~9K~}zw5{B{u3-7Sh39A$%N2`@*Kys3N9h%fNp0r3Ig?bPL^b4+_ zM|c#eywn;H`3iQE!_#xF$8vqnu9sf+v4s`ZQhMELX^Fv&VSeK0RDGHDR<@IJr+|`M z4O@SHuJ6ZnE8KK#?xw0gMp^NDJ96Ql!*yG?#x9+zKbdN^zmGpT&R4`g%Sxh;@YE7= zMaQXdqAVo&)_Fe)$!d4f!A7!JcS|cgr`YW~IBb(uHVenda<8sRIFB^87|X zUhQ&cdAS4m))M1UxLLGQ^IvXhrOWMw<#woBGaMjavp}c%?R%5!aC2$C8SK=A>{g(k zuUYvxJ-6KM?9lwTuTveMTb5$378yRip{Bk5k!sSctYz3a!o^?Vek{14UJ^lTJKSm^ zV4wOovS9-m9~XIG(!EX=2f0d<-`nkVXFYpHFtB40O+?;}8~W+l5plIewIf<_(V>=c zm99s-TfjWyM!V7cyAR8+qwOhAHx3pF#B0+D*6Zylux4eB#WWPMJk`g!~bTFN)r5gLUBiA@mN5IC^h=}afxn90)4x{lfutJTb*BZbu^jx!7K zT;_8~*%~r+XWFE5Cw($CT4qQ#tLb8zfs~lGzsx1gjGLwFA%tQlOjeldTqv8qdIP4@ z%+8Iw{k+$P>srH(>UKK8W^c}<@uJ9a)*T=xB2tn)!$nZ7;zo?&9RY_4Y*bZT`;iGn ziW6=B{@OpYa1XcwJldr!@J--rB#ZyO^U-&JwdK}G@|r=*9tlxLF5Qg_={H;4(%C8t zEbszPIk2OtqDDxB$uf!$O^8uv3QbSvZ$s|N)~Du!**qUA1wF5Lu24q?ZDX&~@Ym9p zVnx!fj4;a|DDZKom~a{Sd%R5MIE#?uillK=yIGN#aCO!kcy$DRFRFx&CM}kpi*+1Q zJl-ExVg(!Mv+2dtASMv5Y*|Ga>Wg9*_Hfzywary}p+v(+vvb(3_KL=l5FD2R7>nLh_377?_<{VH%&tbPN{xyL0T&^|eD? zAv*Hv;`~~JvH6GtfSvn^V-l`w+)(jV;J%Yvv`jtl7sT3XYhK47c+fJ1Os?qO1BRZ_cB($#Kx( z?^s6dAUw?$$k2?sWx@D1d~<1bWZ$alDQ@}J*__IQ37@l9QxNI0vozvm} zJYV%B(zB%E9;?LvNzE?PC@1PoFSo%WmE{}fqf$MVk!;$P%qmceXYka#M- zepx8DWQDOJ)0L=jPr>jImGDmD-XWnA{a5-W5hYsLC;qL z(E>%NH?Z*7hb(eZOqUK|pox09+?DN2c6YS;J@IpHw6Do;(ykj#YcE=-KjF(MbY(`X ziutTurz_Nlw_)t-_RYXg#fasmV*=^mnH`Y89e~>@-qg$P#aW3|<*k|`fe~^?Cb~1@ z4F9f;eK>Mt*Td`VL1?d4oUueWBGr&EuNwg%ks{EMPPlHf7c{7drTzA#0&+?FtXrJ% z7^PqQdG2~D+nlT&w?4Q6Yk~#Dh24Psz`n3q-YH$hxNcp7SCXodhyfXsACgG>jcA%D z9q+5+iuNxGhb{D8U5|*O((P$s6#*#|Pp^esKSpR*i7kx~BWF(WEU2n}GeOzc-Cr4S zXj+_%ne_ zKwg($f;?3WeAH6=#?nUpf8+ss2sN_yI_Vc*Z{wqi{Mv(|Kkk=tnHWiA4V3>Tu5!@%% z0%h@&TiXYLgD%DBc-qNxiin;TsKK;v=l_80;NqR7@iXubxROKZP8A2zXY^lGF>S1Vo_K`t9Kc^(fkM$yL=Tyh$aV#j@OUyJGfmPco8}a= z-gjnLwPnxtGi|jV4h*hjGsT9W(;YN!Fq=VnlBR#7-*ajwe1i8Hv~qsJs2I6`rtQ&t zD>GqeqHV-imnd}%Y=V9lyoOw6x(3~?`~abUOP~)4;)kJo6LMciZlQh?QdmcxYhbMZ ztto;0e?tG-t3;pL&B#O7RjT)oz)^F(v8OUd)VpE6qbcQH;}&)G+(|?#A0feiz9uA*!4C1i zHel0U3Y>HTXw`zqQ40GVE}PaxQ$LcXFa@tr_Z_c+3H{aZz8O;ggbzCpAvtWCpI+fo zKi2M%RD*60kV_yZfePvBx+lst+W|DZ8$4=LW^>!H{;f+KV(PvMtD0M-^8`mw7qe7p zg)FKcEE7B=KeE{U%Cv8XK6-9In-g$SiQ^`pH1de|%$-ncR@hgG_m+A$rFVdGp*oFV zNmo{|&oVXgANafG4!V~YlgiihF)_DGJzx3AfmMOJRkuTQ=?*Z?k~Om+%#h7c*vGZ? z+pr~j(O|4>5}G>+T%pR4PVFQPdBh~^{Y?S=ST>RhXu3R1k$fsZ5=DJS5$ir!{dnS8 zUX+%L8F(JhMzQ8SZ~Nirt0r)2`UF4{{?Zjo?ex(`bn!qYV(AeRl+q*=2E@(* zjf^2}Oef+iQGw@pU4K7IJK?sId+!aiQtb^_m;Ap)xpyN&)x?DT0+3Tj@Fpw>d_;px8~x*Gu3?*UGNy=2ZD`l4E&=_ze;}^D(8a%yiE%rMAp;t^3Ce@@oa?NQgSqG{Y)<$Tc;6uq@1Kplf?=krnONP!Vxk6=XHo>^Kne$6D1Su>x!)*(A zSOsizSb1!;pAycwYn#)x<>$usv*}~|m*(%y?-;)1XT+E1^Fo6c8WzhyaweZReUNUK zbqp>RyZzkG_^<2*2AUYTSZDgk+ikB+z+zOf_AT|q^U&?jcVj(SeQk_j&Bm(&2c;eP zpyF`MMFu-SSsPX?oCEy_!Lk>TqH>Ys0MTuQHlK_<$waYyXwrDE2}G~W7&mXpzz)raVb#npz|X30 z^2n0tZUMHfaKM5RCku!I&dXp#a|9q0?(aJVrO}9m{*3^(AvpwMa=MnxPE!PT1kpv9 zXaD3OC`3$!n}O-B-AO!-h!`A#c$JUR>>nwtkm3h1Ksk;E_WcfErqTodD<+U-@OT-} zq#Q*O!MC71kbfN0&L*@|afWt7OUXrM{nB)`PyAbd>+HBGaS*sJ(HJv9c$@kB+*Xz7L1mcT04^9M z>xvTK)ivVknvkY(r5uHjo{={w+&{I{Q9*=msBJnJ)2gElrFuaS*>erJt=bWm+pJhK zI@YtO(Iyzzu4I#)05-F*6Uy~kKXp1F^I)!7M5p$z?A?2} zpwRIqGUFPY79mW0f0WNX9a!lum==iC+r}V$RKxIqJIoXmx~vpzSGpE^%>&{!v~;gr zdPl-fTv8>Z8WJw#R5sivDsE}H_y?=(m9k(>vc%h8;&Ow0{>3b=vike1+AY5))(dbg zBY#d|hHqk8dXhV>%(gwvD{Pj&yO+-{GWC0?nGY)0AFHcZ8e6(dB~J{$-ItUU>oC8| zkX*U228K+|Z&jn&!Z*q`B*0iE4Q&22OFY`&YY6BR8>rTAkx+#a65{OQb7YqwL}H+A z(<0k~Gu1LSL0Q8NZWWs;8Jiry@!8zg#qXb=%lL(#vWDCm^m7NxkDPR+9wDlslt3`7 z?aH7&WRcLc)4CYd5;2k<#fsBrzjXgG`jEsFwv>L#bzS$TcGoN;1gvii>HKg(aAwd3 zT_b4Z>^c)iLgOK_z%bt-LfAml#@(FWI0tA6LBtd-`t2l$6D~i85{&2eRNg+)i1oPq z)$czDTKFNGq*%AnBRGh;^gjmjTd2(2tiP!=?~?nGw1QY=0wBWvrTPErQ+38Q9c$CX zbmqq943s;qie#{MQ70}ELVK3!VmxAkTcZ#sJ2EzQz-yy&w+4Azn$oF7!V6**h6JV9 zv4ff!$jlk@YBk%BL5yxopA!|g3&u}@u?V=AN)P`B6`B=lRGmA%#$l^}&vc5r*LH&D zgg{AWJvutr`WMG>MR`5ZNRTf2O1Ng*nx?Dqi9LylZ{pSy~bXe zcTn(e#6hcl#UvXnu3Woy0>pYwz3Br{;GynHcO{LhRBBrJ&;AW1u-bxoRj-pS=A?bG# zuJ&M+jM+?nw@1Rjf*K{9`K6CA z!}VH$)A>gb*z;QLgG1ZQ=;oQ%)qJ~IJ4d_o8-<_eOm!lTbJ+~v=}gp6o!YJlv*)q;#oFcIW+=VKpF{+^ z)!yB^0?`St#9Y!)6XUM2OFccB^c0JK0RZUL`xooHhB$Ucm0M&KbnGIx0QENd{u)$S zA3y^*ISbMpNWJTbSx}ZA|Ky|QHj_E2wcasPFo)Y-)uyZ8Q*GJ`gnh{(_wi7qdEIs6q}2JLMX`mgtFJ7Hjo@cO}Qlb`Vpw#!iH6d86Be= z$fj-SD4tp{f}gLvNNA9pzkl2i&toE?dHkQCDLYWq9|ugdrbpSUJTGREJ z8^d)u0V%jEmnbN~9txa%smSlS3X!$iR+kvq6|#C$)Lb%J98#ew^_{aUvc!2lo-x*f znO{PX+w2rDV24xY47Tj<^FuCP3Otroxip^xjKg0{!`P z!9MdgrSF1;V;e!no@i$Ks#E1~Hq5lIu};SJY`Y6VxqscKxdsR+wYP6zR)cPE&lI$x z2b5a*e8=Eii1iWd&uD^WUW-2wB?9+Eur$2?01fkvS}>Utty)vz>}2|-4*yUng?6*L zXBINWJG5G9=qNf$rVB#16At4v)y^wubl@T4Y?QO6jWFAOoS`98T?-boqzFl|n71xa zwoLL(gb4d1oOeo`qfgQkhAmLWXz?nTmoChmyDt>|CJxk&T|nTLIgc`lTR_+-cQ#b% zu)aGT3)edzDtAVG$HX21;0gxj8<~9Ed*|**rhsx$CnQ?3cI`heLI9up=L+1rx?! zcsIWWC1_}1JvbTlbRdzguoo;k1uGWmKmwWLkU-D*#Ap&A$O55)^k5mMQ2lzx zOPRZ_t~?+UQ|gKfvO%?|7jY_{93m~p9;KcE3&I)n4@3FK(icgP)v6^`;+lCj)N7a@ z=pmC*j!VB^$MbZE@Hw;weR@u1uh#St*q#vO`k2rt>)>h_6+ngHvUmW#&%@wheAM$t*a3M@zO^Rl|!4$z`p5XNONssPd3%x2e?>c zpe9?qHaN7g6K@>9;b{#*tTr)Xlvq2qaBclsuFpi0%)yb!CtKq%OYEVl^(Lq#c%n+j z1nB03G@xy?a(_O#t0R`6&*(OtTeieVlYYlH<>yX_C8)zAF+9xhQTNeh$crHpA27cT|;Fb~qwy=g&N5&aSPd za`eGi)*5&Cy@GD?q7uWLBRe~669?ECBvM2p+FqL-990TprP@QqOSfvdxPYqp)0xIB ztbBz!eyj-wHUk>{tlBXaAq@{rhf8Cqb^BU6s9O|GmwawpiNM@WqB_R)Tur?Aq)BqR z*9fMqlg|NDr2VC3KzszXMr@>S0Z(r{Pm7}f#ScG}{pxUOp$epZ{=Po|g#djsnda28 zHW3gP)Z#9Kn&0aK-3Kg1t`o_d)5Jm3BJ9bxmK%dT|9V*XW0TdCC7B0duVf-CR99_Y z$r2ILt!uqfIl2}RQOuS(>9Q$BfnrG;&1y;;>^H2c9(ZDtl=p$}BIoI#)T&k&lm4?%UM7^v+Siu~^Y3idBCmN_vYABiER#qc{B3PaeYozHQg3Du+ z6?4Q!cLH%@Cw;i{7qVGa`vsU9d7FEB<^Xy5^FfGdCLWF=q#;yhLoYBpf7+&ZtC`H z1z>}T)EwKKiV3&P1jmR1w|)F*%Pn0itZ}ueA!HM46;t;qbm{FlOPJBH)+>+w`_wO*M z?Yb)8@6(g|KkJ(C8wyJv@6MY|%g9Mz!Y$N^vB-z&tX?mFG5BAWWN{gVueQr3AUe(+ z0iM|mqbv#9bEXCWu55FS<5WibXzIO5;y$cRu%0HcjDA9J-Yv|#WQ;o(6#XXpJu6y$ zHVCGj4une8K24Op6%+MFuna^Rs5Tdz8!b@e0FYLOLGVdp6MY=^WacPLj@C%7N1tyQ zRUJYmV+&+clEDx4km*4iPKZm`1)R2SXZhO2}p(ovJrkS%51RVKw7xoX}o3e;Yr zhrmH`9A=*ujTO{Y$&MIBwfJ}jcZw*S3-?Ch8GR}i+PK3N=+Tx#EEMy{I6M`rWGctt z1gPt|m+QRUt6_n>)5N4|M38sa7S7WBbYRHBGQi78nj!UEfc@Oda2>4rp&#=nQJHF7 znHGnA@STH)Xm6*CTH;?i?*x}tu1w*YQF=J9%>k_}8vdWb`#epzy#moZDTg&ubY0W) z?b@v;V4KaX^FdihfTZfL@n($XB)$kdhn()?Y8op3{qwc_QXwAa5?{?^ADOAp-mqVk z*eXsmjGS$1`x!wtmG(CHQ`Td@a1STK68?27diOC*h@{e|HsN8wN3*6{wWbBwuD7LX z$&^~IO$FSvBy*P>v8o{7c{+6e-ItVIHZpG44lOr!t}SP+KvJSUvsKzBGm=YeUhioT zdT&u9`dK=HIo?2F^`K+^t+?(CHO3t@U=5=)?2H6eaz3ZXp4zNwKlL%lT`f-`zpmT7 z7XGYVv#r3~R@%Mb&b>(sxrNp#L`Zb))v!&<)r2kPQbAwmy&f*Ln4LYghEz?WC3|Y6 ze4XGDNCMw(+stBr$_D|XG|2}6)y7W!`sDPA&&~qJ$nUC}L=g}L%X514;m+6Iqa#BN ztzJ7e3QO}CKld^RLQQTae4P-aj-VM9-IWEE zx-C0kd`io4jwh6GNCd7Sk$&|2?RnRr=?F+=s3jqS0ljEFXp0m)7i>2CbxkL07iir2 zI!H`z*?#^X#DJWOVk0gKuctjtrwFT4>D=!ZUK}$R;l7d*lmb6sLx;h<#9^>lss7{d zbT!v>CC~S^8;R(3$@G@+u)7swA>K%pVvu@OtMtz3KcWOlWr+36K(PjyG_e3hl{MZdpN!kiuF5@zLtJyva8UN&IZ_K zwM*;jQ1gzV+_2z@aQF8NVycEOu&st{k+!l-dq&7sTi{UO@N|@eKKbl%nVJp$gt9O6W-J57!}yC^r-flNq~Pc{}0su4LX5r zW9e`~&)hkFNYO51>^R;dnU^)ah_K~qEA6uI3B1tZcN!0Voz(IRO?K;F(%AvqDt6a#dxw@9nmWQhqm;LFzLDaXN95!>z@*q<-+sR^0C$Y?v z%dDstlVSAMbTc3rRPOeoU5$d9*D5ICx=RAUQYL8b5d7!PDZ4k%MsjTB!mxCE1h$1X zy8ezk)0}457+`h!Hi&+L5bnhKZFn^HO=Bxa3Qnsd`&&9F2*<8TmJt!`T$ARnY`w_; z=|Py<{@nEkIJ%e?3D1M(yD?pC_%>}~FE&+dka;3(R;i6SK`|83Tc%25lrOWS_{q_k zEaNr&CnQ;+XX_7x*W#bCt;|U|FGt3=Lkr&U|Lwx2$ncGCd@sU1A;e~5R3Pw-IW?_* z>dR}0;y$Y(&L!z%*p`WaU{i!LHh3pRth~aIX&b-Oqlmq zXoOWSk!(x+06N#H=%9<{XjZtxYeL$2{#oGJ&y{~7Nx0=x#$Z|$OZzh1T~BE>HFaGK`*2crVf9(JgIc>kRSxmE2z*Zl*C5vskPP% zy5PYpgVQS@Hu^anJCyg-gdhuxAnI#-Q~})`TEyQ1QSZ)oFS;s8J_49OcEEID5a;*< zkt@E?)XY9+_W~z!AmPP6n90&J&eP}S22K%_Z%3EZ&H-JyEO#1yzyg^MSZbCMjXg7A z@WUo-4CifKdPr-e*5RZBP#R~=Pi57cn4P(-e7$jm`;5? zy#5vW&3y=K=1Lf@GDLuakzfin>VLejQTx$Kg=nF_? z3kkrmvK#*8>O=J@l!9<`DBW>^>Z1_jop0s+#FVSei1jdRDpr6)M?C>FVE|uW;_qp~ zPg}eVnYX~av|ZHTHW+5g9;Eq>5<~N9n*1Ey@IT)AFl8|hz7*O=nI673?Shg~|F@lG zqq=JFo#{MNsB{DW$Bm!Rda5_A4l5F#9!B*)PKGyd89<#vn^XoB3TeZRbwARrW zRkX4;{vOHB9d#zFJh%NWHtZ@2;BaZw3qkAsk2CRO&5@n+;n)5>Hl^sf3!MazX` zC()bg9mnOc=JL8bKxE~RR@k>u)D{IdebpFSST9YOveEgfoUB%W@W5m@Y!>Zm$cBJ} z#_~4@PRyE>`~IM18uIp<+G&Pjk+d;~-e0l8M_QA4sv-n~=|CHN=%2!gtO2ljWjhg` zvANp@Ro{o1Fq8;NM;K1_PBH?QfW>5VE(C3YhX6|6=(I`AIl~wz0o+s_-VsgWhcNqm zSEcc>XX{&kYs%=d_NN6w_Uj)DBOOtY)vsmkH*_Z-PX{YatC$kxM@gAixW(FK+q$@I z-k>luOW2abeepMn3^phlZa-~#I8_Bth4}zjd!PVX8G`SUp*z!x3Go^{4PeJ3#*nEE z^OWKSMX0=krex+}wkOwZHjdw-!`Dxj1VJD4x-?T~6Y2U;r>~F<7Kq40#{^-gx5v7M zDz;c@91}8c13kxS<=Oy=e$k-jf2GYDI5&hjjXkDHOf$yLqR_E<#*NmLu#MIQlB9qF^V;H%mzb}xk|#*VL{UL5SURp z08r&IZ68>zJLch;5MkT;Y$3a=(iWoNAtgt@xT6KvBMRn;dxs;73?f9|Rn2$wKSjQD z2J1G`_^NgTw>WE`L-~M*y1?eG=oMCT!%y;G1gmd;Z_N%)x;wnPk8P#?;;ef=oV$;$ zKJLAKZww*S{`|{+Y&X}OWzwJnz9YV?nbvcL-$_~)aj8X9J!L?zbctIhy-QlI9Cn~1i-T=}@G#$z7ewOA z%ably32H)@I5{QjAP4S1~eSST6F zWnaE)DhJ{$lx$#HDA{B-jT1+5WH#^pKbfjU;!NMVHK}vG>7xE#Q{Q5#Y%~40F1tmd z(2C}#zlG8@OOb4I^#Vn>`#gYqG3#F&;E|+Z<{5r6WzZ^CpbYMq{#25o@)WucolA|6g zDSu|Qjni2xER?&Y{27~FvBw?DA)xh!k$eRCn)R(X^`#x^lJgN-j_9}1woE|&2&=FF>?Q% z&X64EAsVDm8vn!D%dE|sEW3)!+azz3F9_Bu_G{NL{7iR2gwvH_sn*j!wi(W_Bzy&>MO_$_a_%(f z4)VLK(3joXODsd*+Katsx{WfeWai{V*f0xT zXMxMrAThh3T3{F(#t4vF+et@FtYixsTT{i`rw&~FL#JfH8aK^!)i@j$JCG8=M@qbE zP=>$Z`aXI24&0qmW!B2fhclNZF#K~zA`ARZd0_^6g}uB~r}IxdoppN5V9?d#y6lI^ zC4>l26%H0ZcSGSaXkuBH+SuNz+Mc{+rlY^%qCaod_wlG*xC4m?Nx>&|(b;qzn2*{J zf?3=_1*d*kn;JJ=DEJNz`Zsl6tgpw=vOoH~B%s%@j+N+`rv3zE@{u|cU z*+jNDX^&H2535Yo72gVaGh>dmopoT;mwfP&yd)(BIIHdXtDY%OYt)z@?;f2 zT77r-oQ~bz*=aPEDwZJSboF)Wq0Pt|aUN!%26Fl!%V$Oj!KSmD!U~|4@;!pjMaYl$ zP?nN>-)9u##KB>o=8d0xJK)VB32%mkPU6b%;;E|DRat- z^A)70yLKghw$2JXuZdb^IE5ViHd1lhLq!ebqbmb(nBcY7_Iw*R1!H&W{K`)jSgN(&{u4La<)M7*X4G`)qEG;9NNT|V!h9XC3hk!-FZ!;DeGrOs zVeQAgrfRn|D?3=m_~ZE&+-f^Ug%hpJDbS*H_4!T|T?i~=@{yW8E?$yYs2ZP{7t&UX0d%p(AxCY^|w%Kpv$+|`J_)bTfXX8 z+Ym)eFgGaaLDHQoHz?&nQk@G~PXCD;cSP#at5aK0SFEuaPyLDjWdt%ZZbJtJxMUkW z?B0;GQ|uFn@V4fmeMh~UwarlKwx|I}PS60P&Ir>Dn72Wl$c_Mo$e|JS(A8q=@CYX! zOB+&5-)EsSL}OQ}j}vPajtO>&NRnfFKfqNn%?!F}WgrVZo5^Wilm%E7fk*O&nAA5$ zhwjIg`t0YTCV*<{{=!gfwqp;*r281;9Se57f!h|sM|SZibgwJVOoC!aZxqRwTxai+ z$@&i$<&yJ?LYkIlLuLoWN#jv=tjCKnM7xn}p+hphk_E(3QD~^^mG+lJvC}`*EYP-} zKZ;m_k(SdN5#}@mJ6&!xTzzevxN4E6jG@Z68?Qhr@v$vWMX#$HVrpa)0o=zm3Vk6U zREhJB_33(Zcgz74zRBy=OYcNsykHFJGAZI!elHWYoOtL4gN8O;p+Gq*^vE~+`H#zC zN4^ee%J1TvEVNuhXeMy{r?6=pn=6xf|$w+Q3pmwt}!B~U+4(tyWE&{=H1}G zsE9b)r?$0C)4s3AnB|2&zzw?5rG^M-%hv5Zzx`>M)3r7Ri4Pi}M{w(*<%TR`U(0fv z@Lr~3mg16Pv$ZM4O`z5Xi3`@rZeQ0uur|@MMO!3gEq9iRpxB-r8w0={FE1K`8_Ff4 zRoo~N71BXZ7Jr*-akIHG<6LTKR{zAW87j(g&iox(Z7n=N?Kh=>&g3-)Y2qHiHx;vOTh>RQ;e@3uaLNkW6>2;C`F&6baKC7YQZuHJQ2?lMoyTJuMwB@ z)G7*BLlRVjMvRQDdz^b^ z4URozcCQFsMYXDJRH?bZ&vt{6xNvvUl96?SUnZnNK)=bI#2LYi z3Ho1wk#l25AsJ++`&RNQ6FETT1Jo0OK=sSBRBZEMI1?0HR>;sebHzEtFw6jvIE<(? z4O1N00b*WL@%>*c8x*GE{l8dn*$xi(wM?3g!*}=x1ji7+30%lp#p(@*#6P_)L^=SK`pmXpe^yfx1OR>VL;(kivpJQ%NuVF))z`^%l;!y(Rbe zfaDY{-W&NQ4}l450yU9?I56!7renX`&^@zjY3tP_AvT1ps)*M6si`2?R%qbOq^wX} zi<)pF1*M%2W4iEx@j6)n;A4ob5Jsq`;ZgQ+l;7t!8WYYMScfSok5Ah z^po_#nZ+GG;yTotyR~wetWV^{;hDmQhmsXbP-!Uv0wvPe%z=z}MwN-FI&^JY`bIFg zmbjsKh5B9SGGtSjqjfi$EyGGfQ`)w5^bpY~T0f$|tx3#-)&pD znGiIGL=ouujh@22Zn?lVq4@lTDf2xJC%msK2|Caeiz~8^+i@fEIbePgHkzoFXFw`1@iH2?nn(~mHN_!LGQqc|ma_}s#ti`3DPXIwR=gYChaWw(go zF3#3TzIWv9l}dl_-Hk~-%#2-pnLSWhz}YR*S61iOzbNk=iXX#y6X{anm4RAa#4wOA zB@X#C;x6@V*IDq@jr$vM&sZ{IfB}{&@4G{Hnvfb$b0=J4L*rZ&J1GZiR(Z{#6%7~Y zJCbXFQS+zVn3D(NFPn=@%|oglnl4LkLXRJ5-&71XKL>j22ta7z?a7gs8qS0Q)dx^$ zX6L2qX|+?Vm80pMt0^#b-;q83Z`Vp}zv95M*sH@5iIV6O9@UVUF$#dx0l$Yi8^9kvd;y}(6m%;krA%y#mHw|2Ga zey_nKfLnp^_zigpjN?UL?aP%{a`}PWM6fMt4on>pA_$(L`X28Vn*F6&@I^UDhkq;G zZ_*caf`~!1Zh~>635=XJPMqa;k3Fk-RTWdy+DjBdM%8bzKWbH?AN1fv~P?2=fC3coX~ zH)L}*{QN^jUZ>1BQJ)6Gh!O;c4r3T+!OO;cEJ!>M2~ILN~ty#uPI%yQWDO|#h3=2>9>{Yb*EoII&lzGrm8k=fd+L0D#|j`9aSb;_7t^- z^Zp%|jAhXWt{>M}F$iuseZem4b>BnV6k*4JUl|028TbCmRX-CF08u0+by#DMn!_rw zygxi!o-vm=&E9%aJt*w%3{`a3w=ej%W6e)It$G-?mi&jcR$kU&;Wu@> zW}m?*tF`V78wQ-Zo?1PXaB%4L`lT-|2`C>0`9LGRcaEFaLP1yFzxt%MF@)IQ=;Tae z8?SlM*oZqM_h8aq`<{V7@UT~mA!b}E(f>^R@89qy4ipiWtDE;(Hj9aaA=QhQjoaI=o2*bGvNfJS^M3|L$k4Pj! zZTiXcE-F92cn4*oByr;9FBDXXWFmoV^hi1EX|~rRYsB#tGxv;n204|N8@}`E1mEA| zr(I=iuFPjfv^4Iw6O1k~NADMqA%cu^v}Mr0EqZn7DAW~HNk2dp;+GH+T=^R+d8@?x zR;$M&1$@sg{O3&ps~kQ+&Wr`Jw){^$Mtf;DhbxX~#(E_kKhDf#*ceC##_@~?V~el9 zT?CX?@)um=s1YOgp5wBhoFOGtKk3(lbWojAZ}|xbs6swx*nZ5On)7GRH0Eyj%v@D#>kQES9Oy#jr0@dl zIB&t~j(OVFf}XV5qH+^lFzu0#Q@&fkxC;g|=O}eO6x+J)vxBN{z86DwXTk5U8?dHM z8y4l0O0`D83MOTH!9AEK`CGHSm{Ml>QF>TR*=~X#w$^>-ZS_yFw;BesmBt69etSTv;Yrrr(VOG^2cSoCGY0?O{3W1*lM{kXpDlR3`DYD zP!p`6BZ6sJuqOPM!mTD%U0woB9u2h0{Y|H|p5vD^ApvGCvKh)v7<+M>yIr&D88R%K zfW+_a&WQ_(46#9NC#Jy14KN6taWH3N^?mu~V`@glvK(fNG^Q!tW@;n%u4b^$*aMEt z#mJarM)J!{^9*7Oi7?PO?|RH2hprRZpLNaMvN$zqfA+62?Y~_~ry^QL?VXCuT|U81 zrwdK6r*0=5(;Z1m76Z*Qj`J z)ld;sS|drVmL>PI%!UmckJQ)NuCThIo=ty5E-@Dj%Xa*f{iq53IipEFWaK^;pdvoT z1walOjb9aV79u4-^R4u)6w9wN!#4iYFZ}*0M2d?+CK-;1Vid$UXvvav;3m3zlG% zX6i~FYZQi1PA* z0gAL7PGSH=>_9;CIq`KgEV$tYwngI+sv#r3z^mL*n?*l>3;mX-&5o?+efcYtul@Th z`uW*t@547kEuB0HX9RI?FsO%?23K$i!NhM!Qm1+1lzTiFI}Ex#{-etW&VkU_yKEB7 zVN-g-e%q4cyN|G^hqp~XMWT$LL8hQk*^mjwT8nYvgu=dXm8S#W9`~(JTsP)caoM&A zE4KJU0cP}6e3>eQenA$zLvr`3r{s7%NU}yT;&>j%NeEl!zb250n0v1@=ZWwDZm{LY zV*Byl%pdH1XXz#)+5RcDf~{#LLfUC1pssK-h&?H`ntziSd1Kz)UMNnrw{}jFU6!%6 zF|&~EiUhy4lnK(n4KU{|jH1?GWf*;#`);)UqtLPCx>7glM~aln z5sq4i>e)f3CU8}1v+dfdbqR{_XHjjr5@>~>PpAB^Y~91g7ZY1s9r~T^oGL?re_390 zCa`|f67*T(O2-DjeuZD-YP6cAdyA|ZfXab{ znn{xqY5(+cPtcg0NsIijkT;WLA}I69AnVPee4g%C1ey=hwZV*XIsr0lL1d|F{P+s0 zO7u`P^&7JHm@X)OI!Bwg+Cs2c8|QpzD|tZtokv!KtdK4Y2DD6Mo1qAR^tR zIW8~*x-Y;>jT^rnW0T;0G}!aoGB?yTp6X{Yxz;w&^Itr$1mwwIPm#zsA~+5iU@M(ytO1GQVMZc-&satJ z#Uh~WCUO|v{a_Q1#d20K6)qs~HRb4ce}K=WRmm5&hr!d2Pk%Q{q>to}9lRD}-WpCoym!Kl_}=(HU!MoZD3E!mVyCx zW2-$&wyyFeVQT^`#{YygG86a(61|u7&n+)Q|N7FpQ?W}dNI>aBEX3qE+705L{zVMd z5*%yhk6Q4qlnplUQQlJ{dku;n%UD&krQ&2QhxA2`_WaofeKV|u$>pk`FsKS;pNMao`&J^>c3DnMcr4q@p=vA^f%nx;4>dBa>9YrB zj-X~|{s2B%nDfy`0-g(x!qaTLYZvUsG8{CqAImlq{sxfg5;rpr1q1vG{G<`=dLkta z>L^yvb_>FG3-#;dO3swYOZUbvl5c6|&vYN1N_*k91zawB{zCQ-8EfCL^-6g|dvJ#f zD!@NZ&yJ>`bx-tp$vB)7xr8E+Zv$LdwX=qcJw8p2rQF`WA3hdj{+><2!&M|U^a^Mg zOF|u3lrl6$EPO0_tz_0DlYPBf>vIWfK>5&le2~Tu%i^#bPQN6yE*>lg;hAc0r(#Em|E9@-V#Sd^V4r|)BsTY@J5FE zL59jO-;Dvupgw;Wehvp}sF-!tyFY1g&=y5U3iFm1A!Nkao@D2%%{12kdHDh!$jEsY zeRFFx>iK32i4M95xf5?}{*prgtC2a=w8U^vl>o8#sCzJ8d>4*d&6J4k1@g;+{Ef=w zTCI>gy`!CgCADYo_TgD1z}!9g49WLK5}mDBJ~Su9&*VDwpw+SZnzwt~u6HJO3>>}- zp3al0?5T?#X}oOsHaKmrzlWKUH?$wXki+q7&qsBWhSnjiuXXkmwUn}XTwmzdWnH6p zChhH4`TI+cB-!6zdj+*I|J0-ozb#E&dz?J0w!ZS+dfmRcydHZT-CLg?RDfS!tJxz+ z_TKT{@Y$pK$G7aYtx*=xaW=Og2ib5&wcx$9Pz~Fs6&&E@8+{2UR;3OxP(-Ou0k7mX zWQfAIWzq~~vz{Gh1&_-JtmggJ+knY0cK?H|fidkScK<7T3j!wA_)IxbHF?^74Ic14 zl5+^^WsYdwhLOpZM{Y=?t8%$YGTfBg?5VK>R)ukAw*02B>Uy`B<Rap( z(?|M0TP=304HWm*Po8|eUfX8Nwy*RD&*0G3n~3cXiA|hGxv#L~)|zVW_iWv02gjei zo>nXOqa}k<)199om_&M}LnV99hnKCoSx$$~k^M9Cdm5`%*^ufG-{yoDGbDLXk)vr1Vdwxq$eh<<8HO zdhB7}SW@1_f-d3iGyR2edkREPlFP+--G+?f<}*?(Z_}*4B_x!M#(+DRjNI2rf?A!0 z9h^K|SB6l1>x?y@uYo+AZX0uK>M6zB%s!SoF&1wg(Gt$-fQC&@U6SCs3)DYN# zVJ%h0LHy4oU9SC$S>~SJ@Y!3xhz{BPa_5yfJ}*O~}iCNx zcUE0^^XHebshaTwsnP*}CH(;K({imb@96AqcaTgKbc&gr0(Y(h?h_)J2Ju#OJzDRi zm$_QZ$eV0KlyqATpmNL=CVIzg&OO@EY?79A?W@(~92$#R2nqQ;5YzR_9=Qeux+PRA zCCnInc9LDhM~HMk3u=`3bQP#IsWCluPh}KpQ?bw)m)Af1`yPkt`5wRR>=Y>M5fV8~ z&p;PjnPB-A3=PS2zC1U#7sbm)iJ&!eo|YvHU6D;vxLHX>_-Zeaf6ATAGLLWm+WKSS z_I$VX{V}v>Z{Yc>7qZlr4=Gj>+f|C8U<$HpmR>KaohxcaMbOsj3Zn9efQpingVN#R znxm#ttd4`4@EIdNs5i-y)cL%Ambp6?TB~aY%^`y<$R5gu;r?3ofLr;6yG<>K6ucYb z;E@#3ey+wfFU7ucFEd$YP7#Y1#lRt?u5^EB7mf5&SotO|_Py89Td+K=J1$!O?HHC-y;U2Od3*Q%yvMmwWEyM~sQG z48q)Zbm5MZJsk9F)Qx5DMV0fG&V1|De}pJyJD6E}&#i~-n}{SXR*I8V$Sy~6CA-f;b zOc*U|GV~pGB{9BVksS!(+c|(xfF8+>w{|m+lq?6Mvry`m$fmKF;Ecy?-gv?;eLfT7 z-6gu(!lXpQu(8ehZ0+&57<1vp-mzKs8G^!FJ=(c(V8uXvyAk)^C}S>+WYVJ79wLc= z=yH`eVOxvXE&cW@Gc?OE{4DJe#_uqCEWZH<|8&+9L-H5J!h2Osa5{wjnC}GoX;DT%5oXKzyaOn&-seEM>z^EjB~u;!e}Z2tV@S=F++J&PR}O};Xyvt+dPSt7h= zDe3seAJ%d+^d1Z`!_(dYR#~G<1{bV&@)B4H7&&4&v^lQ)5i}fVp{!AoNw(&1&S~(N z85=Y)8pIJJ3xh9&wGlV8t20BT2KEHELTog9b<>B&4ehtL5p|?2c357rSpt*HcE+{S zwaW-z(#a4IAADwD3i0WGhH=ubVp)FA>4I#rIM7nZjZ;VakYt$pdV|VfjD=C%(hr7G zsMb5tZd24=gCF~Qfc==+D?qP@X?8PCgnzc@3E)T0&3Vu#LU3JgkO!LuXU@BbJJ6ct zG;kAXle(U6tww>lPi6*oEk{P_u=itB>m)5^_d)vZ{rvqL8|%*kh+fgtbf+#C9q3A9 zWbyjOHYK|+scG!eidFBd5Af{ zLD`UR)3MuJ+Ao7>&9~r^YM`v~_idcn5vT(iH#VV||rz zCD$G2qB|}`xOi9e_QF#3&j?SU-=2iOk;;<`w@f8dZUxquW3U2oz4e{7X832UU>JsG zP0pK^JZmrvon5g!FPQnwJ4%PP)uejA_saQHiAsE}Qp;AZw4}qtH3z^DE_CCz^n>xy z2^aU+nGS9N7AN3d2N^%ykw2RJ6iS`iH22sPYL(|MJuoiiFyhWUX_1jB;HX-KQWy6M zRr626Xi5C)=B#2>+{$9mrj^`fQgiKLU)$3n;pW3t7bj$IhCVBpi&K{l8m84sRW#D2 z+%!^!wdZqI&DB-SBwS=?)pJI4);OC`cbw1W36A7)HF-=php7_T2 z7k%5Scg*P){>J(u?91xCtyguI==qhLJHW4ACj1prgz&KUKQmby2geE#I0%Rw6bJ|~ znSofCm@v6`xwx9y8M+wRnQ^c)nxv{-Is9Tq`RIDb9DQC;)MbN`?h`ID&5q#IS#<3q zFPU&-tO&EgTeqT#0OY#lG#V0%_mK1C=WqLX^td`O1qnRs!A9QC`_I<&!7<*y3h%;E zz)*C3Q}wklu!K}E_I!5i%S_P{HKCrs9tgafdL2RFEs@WT#e5hLi+|cVzMgmSq-tNX zyTo`AwW>Hn+>df-^EI!{lId6B$!T$1ha9vHjc#8Uj(VcXN9vdpF(|q%LbEjNn`7?j z3n}h5N?)Tu)l@Hn?CoQ;=xjtLn(H8r=M-TgKX;ew{4iNPhDx(VFGzWu<0ePgAzp=g zjxD}1MR)9GS7jbXT^?Zi?ZTTvj8aRAaQxFEWyUh3u=kWV(Y>)|KkVsHBCB@g4Af>E zsk!FY41T)7{@O`7cX#2fs*EcVy}w;3MZ+B;vsfs1HoC(2asfmAZ_*ks0+>36RE?## zKduKWQ&1L#7&E#o4(|-Tyad9P4wMNd^8NLJU4dMKq)d-HCW3x^JvmV2@q^>0+*yZZ zkTFyVu~Jko>_qX$R|wyW>9}X5sNMqiF>`~rV-VjXOJD?z*RnK-w@8&wq{qJOt2rnR zsBMN`mOsGNkP3X8V+?b#OJ`Mw!T~lTX0+U7)<-dB2PSO8~M5Nr>{TpAM9&N=?=ygebwD``I4bXa{J+T=kt z#!#xMv z$`$1&V(2_(`4SpDJ^9_)Bgy)Oi&JYScdgVOpufh7vmnASieWboB76NpP6voPh(vKN z~39+s0*=NnmnSpR8Z5-G&aMwb)O!1lEyENcxQ4WgLyqb z)Fz3UY&H1SoYx{zZ@ElMI+q6Fy0Jc{pcn7}JKWE@rh}Rd?9JnZ_LIrVnc2yUAEt=O zBe0^$m)xktm_4aJN~n-($uoxm;l~5{Ne4TJ8f0;1-2R$tHSVb`-1cQ6yPxFt;>j~Q zDYMl#F@wPfNsvL;lTb9OYytVPeiX~w`70-BTPg__Gfw zUf&$l*vpgbcP(tGalb3#HXCA*Ev1GVr-*5@nTh2~NBA?o)^UY=ep|hIVp6#}JvHQG z)Z53_BlU(n_ZNx;LzY=9&kB{28sO3!D0Vk`k$#So)3V1Rl!<2HMN7jAlhQaP-jtPY zs^{fMso}%NPI^`wp0dP#W@ zWumnElAC$nFa|n2C5{qJfd?mvM8CYs9^~YZRG0`JGfHV}IraYNxG!vSxB@n+=N>MF z#C_OE>bXIYUUYWb+)O-}rqCtFND&nb(<*h^Rx?UCfDbdn->&M8ERUpT-Wc0ACE+o) z4`R;f9VNdzpGB|qaeOMeeQFvuw`2x7KfIqCEu+rJmBaX+T1uPFr-=Q@`ZYCrV;9)8 zZbJW3mNBID3ttn6x|tW9HH~U)C9AD&-4m_C!B)t6QrqG#gH{<>^dD*!D7#2!jrmGa zws1QhGM)a)TT5NGLT3#LRbMM`)wbVh+^-!N9YgagrKc2eJ&Y90PSm;j$mrnzEHJdoLV`&q@Xt4%{YOKf}^JkRZ zZ&$c8jXd=IO}@ob2qzEs9mNFqEA3(QQ2p?vJmRyN+AG+iTCoPD1Xq39fZzgjMsT>i ztBw^2$e`aX!qgFqwM(KRrk7fI3r2L3Gc+o2TN1oWbdV(5g`PAKFR!vcuG;0=%g=OOUwneX zukJ1kvk+^>expbOGM@Z;`0w>sZ}+n+==Q?ox3i}l3Paul7SBXTxoMtP4ZZ<_f|-3f zSzwiqU+3bz1`y*eIXJ<~piE%U{WHK-OLC>wgpoK&ZcG9lu!6(VG;)aB&uxfM<834I z^~h-Aej)nZIIlkK!J*rEyfF!yq5mcupBCl z%^u~0Iz|bJAG)vD6K*&yp`0Uf*+4yp)`vciya}&VgGpfqxqLd9pgVxn&RQOJb5V{X zk{;yGgG~}7oZ?San}oyeP((X}x-sbiES~#6gqw`d5iM(46?nr6lx}RY!iB{!VthzYus#+m~pt2i?unVD7rrc+-YT$$m_os=JLsCrk!7zMN z>J?M*T)ft#A+>>I-KfI6Q%7vMl;XYn6@!~o7G*j3tEqWfgC-P&y3}?PrC?qq-SMkNpyd@|IY#>s!YFC%wYDLZ?2B3rrnVA5>4Y}5psLd|0J8MFhP;C#QUVKluN{ba0{eB1c1*t;if#%mjpZwshyzm|0<1=`h8HA`&&rSScwGif3?2x zqn@n9R007hc7*(omfg;-CjV+Ecj0H}vN@7?d33CqBU|ZAk-khKEGwJ3r$(S6g;w`c zl#tS0*{w+*#arYhmZ+1|Sp3^G;0@AoD=_miGta;O&sb+mgP9T1+=uI4W}b-0Y<|zn z;ns2XJmAIAiKpgs?)_zRdiZ|u*s_a@mwzh{aPat0#>9nvB(xoSnJ<8oiZ{F$Q1y9p zG`}^xHvOAXeV9zq zK`2MhAV;CjzKp8Pqm0WV8a`ifwybz_E%jxaz|a2)@WaBRxbtj2{cM)2xallDpOHzi zZstd^A=9Nl;pPW_cW&I}4=y4HqGd8kBBkCKLCt`cl$xH&i-+(|LnVhFv3g~ihLTrh zT-d!iTl(*;-2@5%C-;|^*4Mp*^fduZYrl@4{(zVBT2#Mg7p{)>Tp1^}?hjW#H=mo! z-P_$uIR-tlmGm%qY_2P*eA?ljm_zRwa{OHX%1|Lbzm>l3#R{yaSFs}txu7dUJ@tj| z-gaIh{eUb3b!@?HwGO6Qp>lsWoxPP~KW~j_m9sWgBNpeN&zs5I;`#ahyS@C8@MM*b zqm?>?i%a>u*u0)E7Zn`uh&)$o3A)#tXg-6P_QDiBfvbNZ;l-MD$c6;?3OzM>npG?>4IR_RWx1Q1X?aRi4|eVzBT61r zO?-=J7eebiIkuX!{N5aETVJjOt1nx6UApe}_Kg_cXPQnG_cnEQEU3gG9gd0! zVy*8q;gsSilXYGkr0&Y%^Ln>7bJdKMK0n%3t3x%oCY9R7p}nx}@q z?bYn2n)qk@v45*7g>U(WQp)?$-2hF4`>Y&qv-N&*%+%&_wXJVx=>K+Ss2lKdcXBX(viUF? z-Sm2O)){9W?;jA*Xo%-Z`D%2~vc9*OTnv|+JE2KLPZ7$PuO_RAbR~piggwx^m8G#53Bl6+v!@3D}K?-S)^AaczKB;7ZH&vEGSkcFH|lmyteWd`=YhL zL3fgsDwCB;GR--;^e5RP0DzFy%67~zxPN)SSElo2p)dNW!Kf^~jEhLg91w$$+e;l0 zElP%p{SdAgP*~26=ks=OdcJwI&eS~bflXA_#(|NtBN0q2kwh$!MNF|tnrdTckpGd( znNn+zSz_=-<7#&4xYV#Gz#|TJ{>#&j`D?z#3KubEGxSWtEAT#!@f;yfa8` za9MBuk|J~z1*tLxg^fl9B8?Kl+1(Eh^a8aSzCLb&p7nt9{Y_}`E=cSRe}B!$=ND%k zg^jB+K)D8H3}7(BTg^qT*ou1K<8tc?7vk|WpUJ2kV4}BuDuj;;xN3|2j>rml?}3fR zo8pbycF21txc%d`h#(wgy%6-mk37YHoPPIfb5seFcu7cVJ3b?@&fgGl7B6y56!ZD2 zY1%hlb+&$$cDX$!;dp82zOj zvTo~%MBxT|itB9c;QrqHn|aG2!-l)w?yXaIr=U>p)P2vs*rQ$EmmPEOR|6|{!T^HLvIFE7 z`h+HCR@`sbFP@kN{CK@5gG=8r^wemdFm>-k8If-UKRhFOj>kCUciW4&s#ho~%RynG zFk4ihzI@&1GK-54?UPFkEE2-SRpmCCxvQ}Z4sk?6lQe|Xh3!@RwQ(gRO>my^lQsFQPK0jGG+EMb`?29GhyV4vhdgVh}tOuUy> z6ocdN&H(?tEv3bMRA}*j29uwoNiv!}{@nKDRHD&Q=UL1Z=vDA^GDEj25@4TzHi|2- z+s&9L2`_z@!;y+QDY#+D6krudsDor_{# z+QxDgWwOz|EESKfSkA!Xh?J0;?A0R*J&DAcWLhoe-O32Oo4RpH8q!wRGFdHtIX3c< zk}bUN&2?3D3%WnU4J!S2pJAMk<|d@irUTYhk*>}n9pj+tp!AVHHG%04$+uvhD3t7! z#H-4u@Z0`hsL<0Ke5mfsNi9s)`PRVb^uH`IhCrNIG8=jppg>EC1tHLFe1?GR?6y)B z6tVq`Ew*B^Wh-79EUD-!zc>?^;^M$XTeHSJcjDM6@;sLdQE@5A^ft6`A@0Fs?*w<+5)2EwMwn}HKpqmAZ55i6FRUvNLV^Chg$FUs zn85|ZN@jb2Bx29r_?;j)r3iKXI|^`rnIRYvLxQBze_3MixC|coO5v^hYdyvMx@qbjN@KH%LRt%p9QFz;P+<} zm~ON0SU!&4kcgC*IKd)KL-;zI!GRGbA03c15_pe`4jYVP5ozjgkUv#MbROVUqgW8| zWZFqavN#b~uT3A~MEpGyd#9)7f}`)#L_%O0Zt>XUz7;OA!$i<6*H|T}su?Lhw(5u2 zW@t6pB|Kr8ZT^O`@)K(~|FYvJs=eJKg7xNv6&n&bO9iZ_!q$uvvchA@>@>n0lXWy0 zsc}Vo+&PZ>h_vu(Z7hVU#f99sYq@zTV!z*Dz8R9Ti!>>TX206ddJ%$v|GOX{fyf!5 zaA#@`3`r5Zus;+}jM*~nn^;vC3W`m&Av{T`^kCj=tPjkW`9^DW60Qm6I=Km8GZ5F` zj(ZUZ9BDsyp(RU8iJWY`KHQ@A4(*>}xFZO1q|U|9^P504DEyhgX z*Knw`seZ}JfoZImJ3+V6a!NatO^i4$-&BJVZp>ft_kX@sV#D&;-2(9Za``+wUNycm zGTs@@r@T-rTq};ZJ>$UYGIU_uG5^!cqUgdPOQBU|bR(m8+%=J`$UlB;5VWoyqOPx> z?)i^|_+gNyV;>zuKb_OHte_`qqSv2P{A*5z{`H~$_5BcR)J*6tO6V>Ix$9QP>(+n$ zplulRDv`o7-tn67rawAj3j7Kcx@$D;kHAR3&lEHhDJycvJt>TmCc^+YrMv`!jPT_#Vy#_Gu=E(yys2?wb(H|@tC zFm~P77h{c#a@!b%HQ2ob+RJ7y*`&=6V4f6{xC}vml|p#@RqFUx=}s!WO&f+H`ldfi zSCWN(+8``i6+;A{u^O0fJHNn_kh(`3_MiBrDu;(&T(z=}0XJv+sL_U!Y$SfGpB!qT zS@ADM5qci*@R?n)!BnWqfiWG62-U~ynwAF$7-N%~fADBG<%U-35{`hw^_A3ca6%6> ziXhEDe^jVcK)M!bQXmM;;2!$+>`M~*fI%zAqXF@(Sf?hxre3Ee^xROuK=aJz_FPoJ z017hz2Pq5~$o!X3aIjqr`243(a3BV!kFc=(6OWP5gdTUH5L;wG_z)HdFaL#?|H6Af z*aQfV{DoWp!mWSdUqBcg2>M=n(f=LzJj-ZCB%*qWBLh>>vEK#JA<|m~ zbSaJMyEq-|F1d8__X}J{yL0o6>Tun*sXbhp;%l@M>vXhhw0;it5sm68ZCYxL>aSa- zsAg5v4o&5zRrlTVq!St{Th=P$8YezY5-BxBU7JNoH49JQqp5Wzye1_mbW5)kuvJ>4 zZd;>eTV=QLn2KyM4{ESe{~9p-#{knm2KxRn@QoKp9ZGp13)Y$cvV@Eh$f6pYQr`;v zY?c9EnuiOVSlrRs)eVNsI2=n(uK114w1b)K_R8}vt_!Oov zurF>j#yx5ksZ8pmOoovTCvHrrhP|qJz@dYoCLxmN26G&QK~RVk;vUGgY6v$lmc%pQ z@puD?{{)@{AH={KL<%e(tq-81;+E@r0!e}g z98lwV0!ebghxT{+malsN;cO2eob3UGYyQGOO6mTE@&3Yie_=Zytn^pf{jaq9Uuk#! z>nx}{_r$I9N0`7ni#y^Hm>Cc!cU{65cb4t*M-rT$PDB!pj4>w-`IdL&NM!Y1y9TBM zW50PL2c@@oX;N9WfldM(1NqigJ7G^B35ovOght(nbe1z#bqQCGACe z@e}XBc2e$$`UA`7Iri1FQmJNqx9+2FKFhmT`Dh z{=92P=Njw;-zeXtl1<91lwE>43>(gg#goW4609iZiC7}v^W>{+_G{&v*qUKjg>ow1 zCQlBItjGYv;qxDdy^`AjLcgD-C=?&kse9Ht!&!U-p6cfBZ{2ab5c}nO-!xSrM_nVBXxZ9Z>i12n{9<30M_pB1?rW6M&8iTAQ@hqX!6L# zfFP{1DjPk(uo>s$HUj}*)A)asiTD7OHI4sEnPcyNoAfK$>y6L&oV>>k)~NWLJdG!U zrabZFP9j$YKqBF2>F>QVF*Y>-1eb5NN96%#-iRVqY5+3=B^01osNg?hGammVHh;5C z^@Q8Nf}4nK0zK7S*T~O9`m>aY zDFMsp?o_hklm3P@$zDcqn!k)PSaD*$Mw~~y79sDZscXo2H=!?$a6_2RefvdU)i3>m z!6`MVD=j5^J|~&2yD|V%ZswX;47m2`A%)MEv{jtGEw;eFQ(a1de-4q)EFO)JAIKB( zB2b$UdBrpvww1q?i>6;r_)2gP`+T)FHl#U!jHwkVA+Jnp3M&gKsUhJUtXh~{p!V%9 zk}Po>f`&(=qFzavmihDH8gYikl}&{*RWz$We1&!?K>Oo)w~w44idasW^p$CDj+sYf z{Lb(Ll6HQf0g`r8p8ntGyhSVqJlT~oj9w)2xK~(cd>?{hHsAq0B_b`3f_i>>=+^MZ ze{qm&0?0wBkTJBBh)?+DJ9$Or+jmVNkx0uEtzfkOt&$@w9;gy7|6eLKKmPwJl|F$g zp-CqGQHgJzkW;Y#Qs*Cx2J{kwq9ar5-vr`CBSDg1&`xQDpeO=>S;&%8QG0z>Oi!w~8eZK;!u3{}}H}Bpip8%>$fLQKK>t$SD_PM;`Rb*O6GJ?)Pqhi;(t} zrt=IRj&C_12x84dVv1IbZ zSEdd?wrgJUUa!|F)cS??=esJPrHC(Mbt@ymZ_t+VFHza(IsKogJr zgvVcL_?tsM5JihhP4Gfp*&5!{PyU(B>29l1z+A(|WCmL#4uDjY(*|adx=$z)AXyMa z|AQop#$^HzNU6C^?X23Q?SNLJCIbw zvVTdH@*kwajRKPDxfTc?_x7nM{LO|-N+=XMylKR;TLrd^Ao(KDfaF6d{a@sJM{gyaDgrIb z6q4(TDADau(mjVO%ZE@*k-YqMyydvt;FPCyv_@n=T(kG9TEI9GJJD6{*6K6U1vPLX z-YlJxRmB&VuO~inOzkmoOuT`QCXr^?^hA*1zf%|_b1)J^VuhNFX;C|?XRxs~=~t^f zprA8>$aJXoL(t;9fg@w$~`?2a-%0{vWLe|g9|z9P8L;;DUFgToEW)+sdJdT zZ-5u@84*_ChJw}00fHm3LSD&KHUP3HQr@w1p_uD!UCEHBn}_H1Wly_ENGRvs?(I*)_B}V_`z~t6vmB}xoGnq; zR@;5%;b+EiQ#ji}8vA?M*oDWt2jNUw_V#fuW!w76rWg0N(kY8PdsllajxA|{vD1Hy&_4537%f+&lKo~q?-|rg^fQY=0Y@!ottkjj+7OT9}6@%i;i zsK8bF!q(- zN5s$>Z?VKP9wgZO17(E;BDhb)+NPJ}nIb%ERm=@xC1=Gf_A2g5Sr)wSr1h|`KWj`- z`=44duHYM!zwZqNm8r+lPe&3>bl690eF4liUyA7uqB+e$@t6UIY7#dE@a9FgDuPFq9|OP?Bd-7@ zIuIYnKbio^hu(`HM6K(?%`wZ24(!8k>!abFCbDR{42zFDGdDAjo^8MzhFAFK`SOqP zRN+rV!W>I@+njCo20;O}-UznM`D3q1EOHTVNQssnte;M*a^lrbq-R$tC-D1{y?ykc zx`@_#m{7AX)XN$rg|Veoi%~*>n|%A|DG(xNWf=lV@t4Q>bERwgJ2q7tuKM9cfn|Ft zqPYh%FdFk7$|&u7)dCQ(U+V^=LmY-Q$A#6{MgxlDbdmoLdv6_F$I|49ikX=#W@ct) zX0*s+W(zC^%VK7>n3NU?Q` z)>S@k+&pD7>A8U+P#${~YFD^lEO-%UR)#`9HVMu72 zqo$1y7pc_0(+?ibMJw;irT)M(dv-xYWGi~brrU>jmCkC~sTO&in6!5Ze7OhbynG9P zs_nj9_?~kyLDuJG!loO}vw7F1ce)9Tgf&J4wom*r@!AwV0WLUL2ed>OSe!E*vre6O z=2M6zBv^R(Y(;K^ie9P~@jz_WdZF_>r;k#UVvR1K&fC zNF{%OE!Fp}+rPR)8c)KCa$Sw!K>FuGg9hH=8lh%~#H@{uG^B_5P&hJpj-+_2L^`m2 zxRx;0?;|mSVYC@+yLZroSnp-77C-}eK!Si-qg{h}5S4JmP1CBL;0*8xU|l<>V3?Xz z{Um3)ZkfgqKB8M&dAEic?8Yo_69v{&9|Y3dG{@Ojr%a+RnY=*PsPIuIcfQG6Cepk< zadl3cQ`Z`vv`&-W=FjjxAdKr4fYh843tL_+O+5s7Z`5T8xfwKd^y7Dt!*s_Z$Cj`4 zW=z7<&);X5ZXNt|HhgsQS!#u!blCScLqi*YwYm%IgqM8IRB(TkW1%sl2-OlGc(#??eU|UcoEYn}Tq3G1>Px zl%^ht`gy@Y2kw8ffH&K?(lf_SE`cxPR#j4f| zb}_W38qFW#<+vqojz=T4@DqH0PTs7Lm?>@FlpZQ2ezDQd(veXm-7ox6e3hVhI1Qo5 zZ6MwMHn${b#QHsbQcI8s^8Iux=|e4(4+?>Z(W4+a`-QEH%R3S%*aoTgNI z7v;MER2HNY;yEF3oo6o; ze1rR1O~@@m0R`RKnT?i1ft-VgF%@Nf*jJPiKT3jk_Bl&PA(4eTNkJDr$^L9C0$dY9 zJ-{ag1ZT^%U?IG^pIw19aAaD=@F%%?Jm!$|uQ*n2%vVv~gUq$GeTqU$scCd@_AXgm3Ufo~C9>nTqb{(MT-&GqU>5#xaDHe2iA{l>HismUq<=_ru58uxa zbMA`3`6%fkt*8;eGm!17>mn`f!AB{4h$09`K~YuxKKa6;G{&AyLk{OWIXba^e$6K4 z=zidyLVTFER)&x^KCR0$-^QORm)G3Hq!@V?=ryPv>TqZ-&0RD_?o{Isz9`Do-&`|t z$*|)hE`_)SA>tJ35GT;TB-JaF!Ir%Z--~*SS%gztGj+)j%dC8~)kV07+XYFmSNh91 zeH-5#KM7&8kF=jF!fqX5a|%gWsGwh!3ZXrz}EC+ljLK=%8)v0tX<-5&E#d& zOq6D*gK_+JhA_8qsKY}%*1p;3Ws#F2dq1{#;g`kQ`x|1;whq%uIAQ+J>Dm^*hgzj* z`kR@@E){l(g!-2{OGZR^Sbaw6F~%lvSlzX2iZZ_eQnr&)<+58E5PJhMR(Vf9%{*>{2Y;q5#@;u-1yUF+i_ zJ;j9zK4FP8T1v|twww^{7wSNYp6ddW1C7S!V|Re;luv5)J(hZegNm)cS$g_XqD999 zw-RBK6o_W{2RBw9c*)ReL}=YE?l~Y-Fu4PXEQ(*8yO zEcyRJKm&k)xPM0g#lIk6?th8^tN$qi*#GY%Ao+iSfTDj#z<}U~6`cP z(#5XLe&2J15#x59jbHNw9}Dmtpz!xM2WfZlkRN7*gMI=aqK=s=b}Az!)XxZ|W< z<@W_flBR1rsi1D5?6B0~2_K&C~0UDr1|zA^TvZy8a=PmEMgbZRY`=#?mf#Fk*M z-N|R|ktkxs-o``nkCbJ_PHJr(nFD0&IK~xmQe&4=?>f(ZLSkHP*vb#5)YNal-O5)m zVC>@{0KvA4Z?$CO!q$26!6Alctec10C&e_^XIvfYmC(b|$Cw@X8rcM<-%vCz(Gm*2 zmCwM6ZMT0wDwl%{Zq_T2yqc?DnE!2DBF5QqmJFWptEI`HL=2ezt@J+wj~UUwrT)*- zKW7F-66!gsh@;anekRz;A8ykRw&4b0{49TvKm1>eJ%K>~cHnQf%qDi2^> z&Z4to3ye-mBnuKjjRZ#0H;S}MOQd08+g)^?2z6WDE1NUsTblGp)DQRRvt!FdMv~$k z?B^FL6zIyOBSKnn2?BjjFw}6Y{t|NI%%y#oP zZX#P0m3H#GZX$0Jt(<0o@A4y>KYuD1G);O8{~iTO#z2VRGN($Nfp=@H;#9ReJH9nA zTO>xW#_nyA+880{7fgsQwh3bte*cP3_R767ib|#t(-qRNnL{S9Nz z1%zd8qOAePDny|PXY?M>XNF3)VjVmrEeqGk{Z&1#!-@5^i195cnY?|TqDsacqQ3-Q zQ?>mUJSa0KA8Q6U_xunGXS;yE7$fg1D1rOvVdrNCFnzz#;snVQ{~7$12H0>*+*9-! zUzYGNw5Dz(+AmPlvC0)kg6f3fn4D2yaH2Q|M?0B#E0_@<0x`iYF+luh1)vuiX|Viy zOMG*&{39WVu8A2>p2ZB& zutNm*dI6{Z2c$U_fZ$=%u)|%pN*AdJ^I|7~GNQ4=`L~o@NP^1fV_0K=6vRhG()$9M zAhC6gNC8NAUB(EDLy|kGl&FAwljUTryM1I9#?m({MI4i$9mC;* z%XNwqEda@hRL6rXborALuy~Nd`tu$I{^X2s9B}?BqeK6i7Pz~Tpel@W))>mm>~PXM zq`4~oE(%eRb?k7t&MFOmv>-9EJ^)(A^v$Xe2P8iKqs84X&alAWl~MFMvM>sam=Vv~ z?{9Wa#uI^V>GCGRy}uIzs7Dtsz|AH@OUXNMGzHf$OfkZkbp+8DA7eVn1;X-qnrVku zAR_WQPsoj1`ES562GKFj&`(7i$ZAxY?vfzDWmKT5)`k(Wx2{ADrqG(>Yl-VjbQCz_fyy%>Q zLv?IcIATn?7D|?woTp`Ebt&kGx<0m%5e2fe)MP_A0*kDaUHRISya-D6m?eHqc(lC? zpX_c^n1)6Yj!U_(W)zETr3;)TmEMG0FKPxyMka3_N;X8b9V?}6;7k{;!9XsqF#rt; zC*wmJVj`R*c#&vnKs=CCe_c?ZUo6<BowToAa*G^caaM)fsl#>q7O*;QgKr_sZjUAN>bqeheH1ipL(`MnxuCW$PI{M zS4LWJeR65XKp>wWiUA-|aQ|012u=ayAUXG=eqsDp;*>-NkQ(INA^`XT)quQ3%lxlU z9)R`-<(d$610ekbFD`zK!HF^1PVlZ zfGVH}kNST*I3R>Tfe29L#TGzvjLQu`1DwF6EW4Ah3{HWQWcwdxQWpDM@mr-`BZyz&nGcdg5woJ*b5Y++lZqT(byR;}k&1+d=8+#0#**JTxX2D zS`YyE(f>>^D!>He1WYhZQILOtubsz#jtpuYj-Z{|ES3mjLjG z!2SSVyXSAJdS`IA7 z5sBizE4HRs^w zpxR;|Y4GOvt`BjVT?ax%tIyF>SW?Jf=$6wHP*tdyC!Xq=#{%b#29UF_a(}}Okn9k^ z#VussKe@(l-OS(Qv~eNtSA;&_Qtd@)UO0kPW0(6&rd>9X;#-riqo=2H!;NSb zBQ}>q7)utkrjU(<6FyaUw&8k~PfHh1>#MVydpGBsJAF9;ev3-P?e@mK;VZ!7^+3Xk?%R^~cDQmk8RbI@cWq5J`Fe2f+ZSXBi&llg zY{zL&a*%K>zlcOve8Zx&ZH}-)Br*;0(?&FdM-E(>Bd`)*=+IZrxbXRlLJ&bVHfhRM zn2ediH$}0D=!z3A^~f?_H60%TbFRoqEp;)L+g2n-gXfzhxk9%CcW5Ky-q0{MiwO^Y zC>AR-ZzA0_ivCpmI+81Q$BCINu)t?_pSY_J+2`;?uTU+s%rE!7zg~AAg-p?3PPHtS za;newnrsP=576xz_EF`pCNCbL?lI5wxr?{HzvOj4R}$3*-jo{oG+WjdRJNrmK5SN3 ztcs~sHdJq`Pi&a`pIO8s*$R#+v9aR!bsW^bUgO!(aCJ%Bbp9Urv8-AUDmt7D*&#}2 zq9TUsU#86A6p+?}(*uWCD=N^45tCO+fyrfNO|ydv_fholMc(+EDzla)WS6Lo@sM8L zV~gu_=(nnwwvs%$2GR~uHa|Wexl2t;D1yMgtN?MJ)Kofl@XU=W{3Xij8K}W88*mB% zuV`A9oajwNK8SsKz-fP)WXNzuof{TG9iCyHdDd6wPMk|Ph6~pOczDMUPMG+Q6*H>) zL(_2zI(d_0y3HQQO&U>Ps6Ia6%V~^K*fdWa}X&SWR<&2-aTI=^jeUvul*t&+YCFd>MMMGl+?>osbz&$W@=N{`z+B zN`L9?(^Z;qkXx|}nsfJ~PKTYujQ8PDgoRVn`$6j9VIP#m6_2wGPvjv5I>FWUX!&MJP)Y)&uAiP}W4jIS!h zt$@!OX8Dnwzho0?h==UDh{t~QGI6s=@WX|{%F(@QR(E`qhs=~%7}>#kDjb!W4LMCi z58VZ%fyDU(uqAF5slgnSmMi>mBy>F5|(M-<80#d@eGMTXmYc z@OAq6HW96Dc$6&mQ83Q8Cl_>_0^K{ICmYWcE>Hl(3i*s@O#7AVJWrbO7k;?V&Fp=e zDBE2wY!in{ z*hhTwUwJ>+b8a;2*=ZIwKZV|_y+Uu(9?~wGIg)N4OWS5aT97ps6L%9*{~}2IHR%5< z;ChO^wFcx@0F($?L8?W+u5<#<_W})+FX>5X;Aq8_K$ z2vg6n7;ksH_`&iE4a%ysb#)UrbawYx_F7AtZB)V6b0la$lo;1y&wz^z7)0{KYA;s^ zfYwE(pIPt;k_zxe)~tcbX^9jEEg^Xi>`2rp^N(v1X-vuQg4?mA7pFZFz z6to|yaL&;7V11A5nrxJ5;OKPc_k>&>w>7MU=L_**_$uY{{0@HylOsocqTBvpZF;M8 zs!DPbhy=WoC3Hw!;j7MVOR*}loo!ch*;k*i1mh79SOVLUTz|p^5vJ_?tj<&@l@Z8< zg3ttU(M1 zz=OK1c>K?3fhwaCwRSP>y{YOz<_cw}1kwgS#y;cJ_A|!|kIB8jMzvGYQ+?V?ISM~3 zwKj0@X9JdRja;_I7T(xDiztS|v!gn(h6AZn(1_yRtowP&sK zfG2%5ad{d`$T!mVZqq@UUjVZ6i~(Nz?Ncr*xn{m^x{=mQ(KA_S?Z^_?XOrdLbv;}d z&b%93)qC@FnEk=>r+0L+y#$w#vo`D*MtL%%ee~2AUmN&ekWI~Z`9a=?q7eotzjxt^ z_l>AU6<Y3g?W z#tn}aDvIzyu2P82H8xucN-W^%%poW!gPR!A1-$9Zmg};`UC_H&GLh58<3(&Oop-zy zZ|s&JC_7I!i(5_WxxB+${2d3X$!?TJI1aXEHa}j2J;g%o7Rb~aDABu~Y zjBcO*_8V9>)fK55hadljccZUQi{88O!|>0j1P^QvPYLlhIfnC1L+AEs`Q~5kzkZER z1*d(7;;6HRM~2iqS4+7{qEe)qZ!?N~_vep_bMxlz-%t55KCL#nPY=>>5(Sa!+*M*% zi1WJ7M8a?KcI_*DS@>9{#f9u&z|3=7Hl|m}#VN@z0kuPO8$p#Hih6~CbA^#U5cDfK z#}f|k3Zpe*cySVZ>j*ujl9u^OngcYvctV)JNbpL0o|!ZojVxO=!PD{QHM)`vSvD)z z)pDB`2!ZcTtp+3|VJRiZmF*|uYz5z)h!SIQ{tTQeTWd7rDm}lQl|t0%Pxd>tZZ{y@ zPXngqaPs`B3LrZxW5WD;PXp*G{o$TX%sVS{x-TA67x(N*ZF_US8e%rcR1aAAs}ABN&) z3o{5YoK_?ykaKLGekx@PsAkzdZ2&LOVvyh$b?$|mtc+5&C9H#zVXxeF#7x{>aIf69 zM^@yADRI7@lS~tqDsuW>5Kj|+jg6Xna}uvTHADX?aPA)$Y5RGD@8HQJ6OhWIIonT_ z;r9?_5u;9((d7|kfh;j1X*JEAukBtJagO8BGa|t$aDnae%BKiO#VSAAPEhFf9;}xt zOHkP48>|l_H7jUPB2b~{TM_q&;QP2onvwkw-um_dkm?bxaeEXyIrTQ=`ON(}adhra}u$) z@R)NJG+AM{kvPZLD>6dA+Jl5Yi9hLR+{tXlQtHnkTiMG%;vCn9_mI3gYZn^bOFpp< zBGMZ`$#koe_$JSJNq2vX^GnORt?%N4F_SFJ(a^}bMYQUpc#S2zVW+a$$ z9+D)pl$df9#HzDpsQMc-g}2ngw7Pcz>W~Q1=IDTYE8@T9!~bXb@PFh-sQi%+@<;v{ zmOSk>nsA_^mkfpa+u?R>h&ugGVE7s8^hy5G66FUDe*L2{!=3T6cl-vb5wy9Av9vn|GDnLgua^*dY;rr&yd?EQ!o4N@@e6e zs1*93>-pItMD6iJ3LH9xX)ykPwz1GQA*O0oozXclB%eg;%AC6aEj4AVB)`U8knGzq zDVBD`DFs`VGF%}`TU8M@7UEga70QnZbAt3bhcn!K<8AfM$<*A0>5;<#inZMz=9}_N z8Ny=oRlxJr)E92GiU8uhTNyQmbAtGrgHcn0gyz$??=7>f^!EsU&HB#U#(y4!hQxqZ3Y+Pd(6%1>7b`DJQ0dkM9* z6Z&>#MQ?C;v}F3V;Quu2$eHqUa?*Hx{;@x}V&$^w@aB4fd{IoKOS=?Cn1U!I=>24} z2o8KI?q7PI)a*SDLJA5b+rrP5atM$1ci=XKK7vM;x*+5x4@3-d5bzf3pMx6e;mYd% zu-zUCHHfJ3Y^vpbX}vD|7S&UZ(f_+yv`S5WdlR8mku~58mo11-dngRADUqv8zBgj? z=1u?TW)m_JvQo6Wp+E4GJCJ6ROZR2}ScZTre~CC1l6EMH!7zwQ{0@tc2)+D5(H=%h zCm_pTMq^nZ$Vj*lzmcTDwc0sijH-`B1r=CAiJcP=VtH}|7;!UEvj=WLGfzLIz%GWR zC4Z(HPRChNbvRr`G1WUc)9=sok?S;G`h>E}i|wS><*D)hz8*msJ=OO8wrVGNzyZP# zaRs#-(^Nz*6BAlgyl}GhRr@5;$Mx`kao};5G`1>_@4Ne)&rlm z0E=0?13Utm!tD0Dn>H}l74P1>(ZN4(Nln@b&myuyHS3*z4`3nT>k|U~jX{J{XD@%U zRg&9i>VbqzhF?vLQ!UMr?eU{06=D}teHW8{*Gm;zst9Mg-Nh4U#gn4f)4c4eBLixP z9H+Vvui6ZEI)Rs)cF=PptG|C_XpJ1lfo;KaLjl|r?OU@9#|GuNXZC!r3eC_B;1x;E z4Xj>Iz0#o@dpw+kj~xtUS54YOH-$*ivMkvihnLKOSGv$J{!Iq)UmU1^I7;RJ$RH|L6Mo71WQ)>kyKE;GB>lbL9x#xV!2Q=HbNW?{ zx6}}%`$TRIx1PloO1u&VMhnG+5ysY1`%^LgM0()cm<0U!_E|~n}j#ew&b#koc)_^Nl!MpiebmG=74eo zqD=9j;)rs?nex>NA3$fK_J6}i{)evwWi(zhN>dA zedYaZGSBaMO4uE>1W)=A!Fe8O1FlOxKoF;T*x|sP#NXs@pJM$}7Mw1#113R$9+Qul ztN2LtwjR__Fg;$E)kpc6rau)2vf?z#L;lPtW*L7{<-SVt^xFXqy2IZ5T&S(wq~?%A zsD8{ETVlO@he0zhdcE;w(&kK+-};|cQx3Eepq2Wa;>jw%E_1}@KFxA`D*;FdK-dB* zo}9!AfY$tXGnTtM84fYPEGJ4?T&VDKohVRyJ;ISG23V6c?+PqvD^H|0KUy!u;IA&k zL=#Du5qH4YFtfcQScl@l41vz8NaHI)6;u-(;5{q(g}ik_UT#IjC?5u;9q zi(bhWV&v9j%82yb6EuXHY$?nAY}e$pUt8)h>z|zZ^Z#xIjWWCM8A-1eVCsNC1JAgnlK;Vd3-#=v8 zOm-orW^`a7CVX^nAtrV-_#aX;npj3;oDfk?gqi@D^C7`XLx}eiV8pF_vDWJmu447m zELXP4-EOGgUBMwb??Ozr(vi9lm|&j9E6nd;%{#I^bRaZcO5x>10y#6Kez!iN#ZRc0 zuz*oLRDhRAa+J&cZhb}dUymMx75|apuVkt5j||{Z#9hG!IxysEDpw$&e`G-Thyu>~ zOU4M*JP_a<6fGfML6TBG*B4>c*P|6fO@QbDWKCQ9^=LIo2MA)3>fP>GK47L@JFS*b zlU;@8>vC;_;T_pWYMp2w3P`nI8lKMYUfrLJ@#| z7L4wvT2n&6d!`sN0D%Aqd}qm1EoP<5AHe?I0KirPfK_h<0IT;C0PN(+aB`>lLJR{R z0C2whBuydrQ`$R1fnjj;;Gh-$ruQc=EOe(2F9eD!TzQsYGm9Q zK=Ny-P!X_bwVgYUuUPB<)0Fz(<}L5gj}kvu`C^qnKnHxmmI3&}fgQ-9|9R$+B*2yv z{Y8uuXf%ZSDABcqNGTJvghVOPHUB1klxk&u!3vaBe&X_!)qvvf8m~vG3gv*}EJL8s zad!fR&hzU+OvwMAYyTH=4gL&(Yx^I#E&yl z3)GGBhNoH^C8s;nwdjVEVec<3zm!EA79_ty>@%Qw>^X%FFZ#gKODRhz8+`H zj*j$i&&+yOcNxa42`+oP)d;N!36>7OeEHXv zkL%nhaS-7^K>DdcKt2E~A6pvRGX2}W2*A0Kn~SlttC6vbmp!mE!l165!)^=eo6jR= z&}rBwaEJI#tT1p@jN;`n3GP8f3a@&R3*r$pyZR)GfW-LUSkIe$VkeVLr`#ECHa$)9 zNQe7r+m6ytFSoZairWt~F}Q*yhY?%0aHdO+{3!HD&RD$-(tVl5GAK7bu&D66!VvS0 zn$ai4E2@_({9y@~0xzCdR}Ms%yB00`dD8tn(>ZaZfN5GBE5}>c#oVoHXhy zvsPJ95_pO(e6LwDWxP^LAVQMbX9l{gmT+RR{$%CVQjTC^vHkv!`7bJK;wRsKBpEmM zQSpnMk!DX2PihB#2oYW@e|zAjC4Nc#DI#qh>l+1&X&%z$VcNPCUDfH`&k~S5?BUU5 zjOHXiHgsz*4?O{_N_X5QP-D*#6bD{q z;c4oy$A8-++=RRprAa}Hv{>U11HE{u#T<%!cPWYRtxDzmGKizYJ$9^vBg_!lUZMC) z5X4ZDx!y+5ju`^9qn(%7Jb0B#7pMo$islzve5CcLtoAsY>^y$f{+D3et&O^~yi(2zBPc5QSYDP+4Tn82dc?@dt+j>l=dXv7TI z^u6O2if`>ffMfXi@@d(;d4xH9R|e$``r3R51N$>EJfRw4?`Y`(mg39Ht4w$VcUYFm zmO6TA^20Msk}R#<*Fm`PuR~OLzrpM_`Es89-piWj4%`~jqS>5lFuS^P!`DNN6#TQF z^8&!GErevz-CO6V+wjs*ApA;u%RKetZUW7~TTW`v4!rQB;;{^1;7PROQ}(Q1(L_jT zbeoS2;`8Uo8_Wcwg3<~>g)sO>-=D~=i_;l77HYKRQ;F}l33h1*a+7rD0uR+Y)X9Y2 z3Q=GZe3qnpfh_&uXO}s%%PC+IyWI#T9ZPSRlx}BxoTf+$lqB(^P)jm z$gFx47FxzfPRnG}1akH{j%{ZBt4@L~%C~VW_B;3jx`JF410mCCt9H4VpPb4MPb_ku z9y=oV5RVeJc!Fd|Qi4sA^w!iQH888baJUm~?L6-6?CiGXR0JOq{8|z!pAXh$W6EWN#1s+RW?gK?*@v09~;*^huV6^%gv}AO$1P&`ru>=8= zhHfdPlXn|>P{M0UN46o?`1eOOzuf>=YIc2?uwZl{&3g8^K+B1TXDaRzINXc54j`eD|0L=KQYrlFw(JK+Q>w z1Qm*=fWMW({84t8%b0n~85+j?;vEu_!J7z&v~oYg(NQ~kGsf2LyPKk_%AB?KBGzn! z!0=)m_XxkP4yu=|+{{6r;c*8PE5+gWTmyW~Xc27NVZR~gFGXG68p-GMC`w9RtNXdQ zDGle9=eS6))J|&8*>9`&6$&Vd%9@=?WhQ1+6C50jEk4Qgj#^hA7Izv|ZQM}pOGm8K za%)U*jBEWIOMn^^1f#QS@~=59Qi)@hO$_`r+qLC+mF{X)K)YjRX)q$rSZ;873^ng zGqn51)du0Sub}dtjL3+1u-7suElDH3{^fUT$b6(!C(U_FN4i31eKmpwkP-W4YAuydrb+rTwTC{C z%%KABw8h+K!R=r8DvgbG+#pJseOMYRPJ%vKqHO!o5_>Z?{!~}*qGI#II5w$JPb;92 zu7u%BT1iaZhhd`V(1YlPZ*#9t_WRG7+fBPN?*Z zbhI^ca4}_LwJ~*dwl(_uzrZdU+IoMs*z!BnBH& zcwQ%LAUe&4D$Ot;1-$0U4^|;SgEYwS@S8Hza(J`vmAh)k#a5|?w?5n+E4P-3qB=4!bB-#=9!Fm1p zID(iZ*)2(Uc3%X1{Xr(PT0X<|){}pNzygq7JotqFr$1 zAwfya%AWQWAJBD+l~N+1y%?mb;VW37KO-Z|I}A4}_bmvLZPhT$^KZPvE8CYt&b^F+ zSqBbE@8GD>6q$7oel%XPI*_F~H!#BP-s^mW^$~Zrl`4rJ@C-CBi0GU zmPF;?g3(6H&-3&*!K?k8vl2; z%H5ami?r-&CZd#@nxgKAbs^aYtci$~M{D@;Es3p*GjH%$@AqpdA%$yjyIh;sal_+6 zp&2Ic&g)UgliM<>O{mY^?yfvD-3!rO$hSsxQixNq!>RWBh1lcUKCPc)>!(8eFHaOE z^Bolo2~ITfX%P*@8trOGgU2sM zDUdk|Rui*dCU|WecHZr^Y365CaiIOWetE7%e$!0vOPKPI%T_=6*9@XO^wMK(Yu@Bw zMZrKv47FOM8W_S0=IOSWMQg8Fp|sbP@3i*27)l=%mZMS9vo_rrmU#`qI&7}NopF3k znkCZhk%*rz5!QD(H1vs5`b%kRL>Dsy!m0$_YYaA|46Ts5zF>89KnrW#-FNBeetqqc^maHL`nvg2#YrP2lGLh>QC-vnAY z_y!@T)P)7w%tYS9H&-WcKZB}P=If|YUqxSCr$yNPYpE z`uzD=>ukjYG$SV$N2|ZrhF>svby(xXdux593&&cfkXSr-Z|?^+fFEg6g-;Noq)`AT zpyzIiKRQ?z)U(1rZR&oN_WcrzCeexE0-kIhKk?v2*yUpw|2?a@+9)S?>By-0ZK%IH zxO>3iQ&gn0<>x(yLZePsLR^Y;cuBjBrVhX7#msEs zDSXT0z>kjN`CPj4`(T{Ql2`1vj9dn9sC`ZXR@G1&+ag2Zmu$T@yBso8G!Ewa*fYzi zBDVUf>A290PRXeX92VQ&RHVuAIF{G&hGVy?H49g^W1KKWwLfIQ+XX2mNvgrnxXJ_|lQH@y>|p>V0>( z@B1h5_&Cm4!JV)$wl$I%<4V^TViHNPmq4cfy>;Vf^Bd2dwWS=+J}&iOyK9=-xB2XXFg0(-mG9mZpW{!UA`@|=4b4c*5Vg6 z2=*y$t-URldyz(MSKTjrjdW9OaGj#)-8%n9d-b~>TdR82yVmFaEpU6oqP=d=eZM|CvDkX+byQ+kF9k?sL$^+hNPY&y4-uRRK>A`^&0> zQVqvt`bWZcE5C_N!k~WVPC-XO+4Oy%+xr@yOV4aX=}>5Wr49RJk4a?0uF4e9Fv(%e zP|toTn$P!K7ZJO&A948!GjibJn3YDxUofwm@#E#qsLf+GjD5eAx)@s%8T`7L>AVX1 zfmwA9`c!wbbmVsX{JK=1u&HE7(6NOY^8@%Zy0V%5#pd(+jC?h|x#f7&POas_ke!E2 zM2r0sSfloQFNU>&*(})--@$7OdKl`i3oQpNgJFDRF2KB(LDQVXcy)XZCRz_`U6oFU z;L;Y@4P*z#T#k&}UMDkoC0}oG0t}1Nww_i2qpXvg0Ht*wcFme%W~S+qA5lB6WVTG) zspcN%}PcFSOuVLMWfjoWkFjV#3Eg3YNh zJvDq>W2rWd98ox0rTSPcpihZYE=v_FWNDS&z>Aa(S}$~~oi?yfTCUnTs;(MZ=#qOT zODeOAo-4*Me7;+vc>6u?;bInf(~n#1H>pBvo>gs<_Z2j0yF8mcQZiJU)Gop4*yVcPM+;<08JlHgC#eTW|nes&qI=*Rys295!Yz zCeryqg9lffVs*$=mObeYU(P$t3@x8o$oQ%@$}t0nEYCZfZ8fGvW#-2@t!5daT5?O` zo~%GoI+`Z1vwJ9>U3fDR^U1XCSzcuPk9|}oq=g?TKQTEZd<`6(83^FRg-j{6#nrXz zYU(A9jh`>_z0&;EU<(1ClbTi-SeoXLtKbYrCB=q*4zaHnc(_qqtrK*JX+qzp6Qw%W z1kTzunTS#K+a4}Sv@T1vKhK?wBCLF{$BGG?Cun9pZm-k>QRlbCt#agim_j>(jN0lx zayUl9)D!<4!6f3B^>xkwx`qVN0&mNC=M52;TE%{B3#9Zgk%uWLM&o;@SX9VUMP@_p z7M^1s=RiijVaI7|Sfu+;wQDhV{M6CbgoH+oKY!n53bVxEjXc=ojaFzy#vQ$m4RAH= z8WE#XMrksCpT(rMq_JYXJXs7ZCexD z#>BR5+fMEzGjTGpZ5wy;<$1q4b?QBJ{_Nh}8&~(|k*kjDrE#0fvs6fo8GT8vqP7u;RaC2T-5R{9MUsV9{(k2n=IqS2Zglj88pCyl& zo#DJJI>^8e)?`6i*sWy~vu7T=GD<;nZ5mfmqKm65jvT*D*iSHvk;ciPf40Z>zqcCD zpiQx)>4b)NLXgdHq#K&7N`8Xa7AGcv?T%GdcFMLVt`NJ4a&LaZg6 zw&^gF!h}1_YRX3pn2+YO7X+cM%s9aE`4MT*5~z??4nm+g$_WsxDG8Me_DV>Rw!DVs zghZCiOb4=TOZ-N1exYYHcM*6e5wnV)ehk`5Q#?S9oS0+=b7xOIS`oFOh=Z{~5uOMw zq5P)F7DWIVAjGYpVv1;Kx27u^=od^*$ZVp+0Erc$_<)>@FwF!kj^hS8a4+PRQz|ZWP~Oyx!56==Nmvl%&d-s3ZfG#b_1W_G|B?wQ=~`-G$q3P z5e~)%%Wxya@nehzPaF(%fF^5&iYdBg!uq0!N;n{lnB6T?1SBg=4Gg}Zaf~Idkf1gn zSMmLzPo;cf329211YwT4pst&rvqpZVPA%wza;DW*gn1wsy48({IO#O6(w8>sR({B@ zcO|y!E;P{FjhKBukS6X%sN$B2{Q(n*c<-v(9!dLQ#E=Jd!I8phN-?%4*QBR@I>`)k zy0no|# z>^HRAbotcz;HF?0Tf$tv|Lf!bC!>^N}zAmwBIvF*k$`B=0 zedSY;nZt0X1!@Zl!)ETe;#UtG?yR6V4#w%@WoVJU$4cA149ym<90w4x_Btw+AukDf z8}Na{9T*h7im^O>0d+O%X@HtYN4c0vlY;=zf}S=0i%!$kMn;!6$_J zfHLJ^W1@WiGPp4hkdSc&6Mu%fD}Fa&46n1sCcqBnl9p&Zpxi|sM8p@iNa*HlZA1O6 zu-`Nbp5?SZ@RIrRGQfavACve|EB@__uZPI45=u}C(9c3LWpmSP+MI6ArL9O(fDi8bH)W1K<+Qr%Xw05t3uYPS?#b4tT}UU4ZDD|CP;4f@^Wn1kAf&`RN*@H;}HgK!L-`&9s+JksX% zwiRr7(>QRo?O%#l|H%f-XsHdb*&F9+h%IdHO&GyX4~g=BLen}13w>HGC7#Qsy6h?2 zz{`(+EQe!dz)!>SmLnY;Bv456;L#A*PNT{?&sjzRQhw(!2*eAIC&0Udz4BEsygg;V zbpQ40m|zLoBWtdPM7M#KoJv*a?9wotMxFazXk_W05$!%i&qYhWPP+3?&96v!Ms1N5 zETiMDOaGnP){5)K`v>>S58$Y-*7z2mh$N3-I zzRX@W-U2zB?hN6^w8^9CglpDIe)VK*C5Oin4Um_pqJlDX^ipya65-=6k~}#$8dP^9^LT8sx5H z2E&a@zbE%xcHF$l$^`1O!YRu_7DrSpyuM;0nB$j}S1IS9r23?K*X2>m+C2p-QohT) zd;i|?ZDbUHA2-&skv8M)aFC2L5y3-6MspO53RbzK8U;U;KzvBaQeG>RH&B}u`;8&3 z_^jhq5G%!l7ljO(NWH4mvv$57Io~jAG4cm`BYwU^P4=&naHk5ZV(Dng^)`hAO?2^4 z-WxWQJdbd;8c`0F0HkE4nfgIC^!rmK6-A5mEfc6m1r^m|o(Z4Q);}S|O6F36wF4PQ zc{Q!12iN*k=(U)V=0dI?C^&zIrqmjpSr6$paXY27yEECN+y5?4xa;*UGOP9ZvUV;z zl-)t*Y_!yCN{yl_Fc6L6A_Xh_NeaXKX6dzcFZl)|{swz4{sxQt2DASU4Cg;E@&CXQ z|1Vg?H`ogbO6DC{?H7R^HQpM{Q}gQjYD4$xj3;Zh2czzzMq5;_tv22&+*4zzt*Idn zspX_k%*B68Y!D=ce>|!YFemuhgiI4H*61g@X0+-mj>(f&GOd55LKrA@c`eXh{%8pAf=3b%MWWzvKDzisbXcK@RLf=oll3K-KM1m#bfjBg?p$sVKH~;$_Uj9bQ zg;PUVt&ohVA`{>Arkd7q)w_ih@Pb6QoRU(Ef3TL7f~IP2?2T01X&_-me#Wh2*&jr= zI{p_>rH!zfH$qsSH*3d zj@+DPP*=AY6;vIQ>QJ;zg5RoCn%hc7|7@`QuXv>}RAt>Do#arSvVZrEGfStxeRTzd zTKr;#0krg?lr%q0lx#pd>5uOn&a)UtG0jy8%?k}5ixvoZVJ!1=#P-fJzKYTgYs z&c@cLB6R^wvdJAjDb{G$l8&YS$P$ou@6-r+WKW_<8|Phtd_A6)9&=qb}OjJCge@q9Ma)7sUR)DE{b%`PSfQ4Bqsy zJypjP84UpQ5B|Cvwd=BXEH-t-nsc$1;23iwenzC#sK{@{Ily>q8dDEn10TxK>4k0{ z%lrE%1xkmsYRaOA?>uY9h%_M@Li?3FbI{z(R|K^!mE=D0PK9eWeJpv)_{JXK{&B=F z9Ak{%OrNXydAZgtUe~?mKp1~u==+%3uK(Unc^fddzC2E#8-~|b_64N$xWHW~^x~eE zJb7IIP;KKNelBik{^QF52-Lru{Q~*ls_xVpyp+XnRd@Zj*#yS_*JR>b-)-gW#PF+B z!|+?Zgc6V^2q6BBs?Fuja#1K0Rv06JX#=lPu$uQ>0HM`B87!MbX9b^nMA!3 z5n&y-zUE2Bwhd~!$>rtn?ra(U!wZ@Pq1#!SX=AnRxAO(+Vd)aubdEk(&j+ zn-Nr~y%tqnwTiV9V~)Ah^zE8QPUzo45o4cUZX5{2wF$myTiu(UOJ=8O=UC=5p);Xk z?wtvERJ06Eg&GyTx`Ja>|K5&W%QH)j9|_1@GjrenqySLDlMmv=&@UcM1fFpShNn<1 zCZk0h{vJ7snCS80h@gO3NRUZk$3nLaZ>CVF;(`L%;(y^I2To-{8ACXUB#EO+On{=; zc88MrMxO9A4BTUxV)}xh(&bMeGodJ;aCR6Ck`2-E6brKi;>7k)QzYOWHJhFCBpM;0 zr9q5?Q$#2lDHMfz!RL!H8H(LAm5Gitvz*Yk1@RueOY%5W*zL1A?=O^vn4`yNi}8=d z9RD*NAu_5DB)>>QqVwVyRTyax?q!NN9fRC5&9cGJksURY5HM=O8jX|}t*4^UF~;0M z784?pMhzdQ366Lp6Nb;xjhkyWWJ0{wi<87;CP2>8hOAplzq{a<+6ae1 z>6IQpU}^e`qlViN+LA)y{>MD0g_1V=t#Z8w%@WHPXlK?m5JTb5qU$2QCeKywUU0(4 zRO?nnZmU&ZwsY~{E-<;~khbA}8?o9e8UUG!0F9{YpL@K8c8)X&VQcFn@GJU=jN$2A zGQWRV1xZ6Hb|=1k+DQJBheGOK4JU-|!L<+Y_#gnPYwW5u2k?JFmdA&pT|@LeDRfQ( z-h`fSc*Z-YQz{aEgU?Fro`8=%G=viPuceZNH-BP=Qy1mscfJcC)jb4}&cC{4JHzNd z=hY!6poUCmUjd2A!2N=AO8r zX1lp4zyGG@%>V^b;1!?n3bZLY#O0RTFYS!>1cjIO3E-&=j!x-Lah=>Cf8pTm`_SgkC|lchNqSKuUn zREjfDvD=Tvu0d}__;ymm#V!}NJ?uAupo=nxcVIL(GZE`_pDiyO zH{5tZdk}@ES_olu4Zc^uH{6U4-U?(NQ)>^rUGn28iBoD={@Dz1o;Xf;)WSXsSuTw@ z*?I6uGM#(N8$po{A7Q$HS^SJ7stf0HnJnnV)&*AaxBL6b2Yh@}^`YJUu>1s%$g`4P zS$=b~GtbUKBz6v)40jw-sXiRX=wT9!2pP0eibCuw5jFhVKfDoZWIc^WH-<<}u)0o;Q^YG3Ci69ifszrsAm!62uE5-@@q>7QQWEBb#GQQ7C$6i5j*g z+RBqXRW~)VZ?jCKxxfdx*hccFih?mjfAW-<10L*Vwg1O6^T{B-95S$J64cu!n{^;K z(=>lq>txh_#+T69(ibv_7tXRQ-wY>=55`X*Vn}Xp-V>yFn{D7J+5uO8l)hf46KE%oF6_x0zy{8Y;-tb6;{sWtNyGpEFW)>=b+*jIBVHu69kB{JX{6_ zJ}b%jsMln@%b3J2sn$g8BJwCUtvWbWseg$k{0c(R{&vjf&U)CPU`?ZV%2#fZ-r7gs zWc^&7e7IL;*QQjyj#6gFOv<>EjmbiL<^N6Hzwh5HQpSX#p1#;~f`?wVX9NVoc%ZII zYgqfEqTck7`L4tBF=D|0S1|KW^dbPW@on5th?*KHHLbxQjsz!u^pyMZQRKf%2MhpM z-0SUlMyQZa)_tsc`l_BLNOjd_tr!^1i|c0z?4s2br)0SGuPO1*QoF4yKXI|%Dtaqb zn(KR&Gr&51TRTnVeV2E?=vkB!Oe)tk-FE$NzgW3?)38`)56266?S4})wh>TFw2kI? zdrHxJPd*I62rj!j!mQ)p72*#e#aVncrX6+^K2L$gS+L>mGB?oTm!JwLFUFV9M4XlR z{{lFib<+@<5^CH++!sVq;;&=WA8V3^n@ZXvReK_hT}3fg3TXOD;>1;Ynl|tFsP{Bh z?;!4L8xV!qNI7RK66Y)5bqtGeF7vl&qOl`g7LHoL+bPYi`w55}H!-tnEzj7=_%G)8xKUmLua0bOpN^oC9r0DO7%axxz2Bw&$y9QRJ|ZYl*DqT4`w{kL1#@x? zIz$g5W7MMqHW{KsQ*32^ZaAQ9EI^F?(V+>3l6Nc`EzRh={Noz2Q|dXQ&sSb)7}X@L zN=Wsa+ALB+Ae^D>L6a=SAhNpo4kwPNo^c=MeTxZhy>Ibyn?pEcSX{-X2lbTw#HZc8V&fFjvqxf-vr_2&SBH4Q^;K zpDtac-pVcI4GE;=m>f#uR-00N;T~IZn$IJlvi_s$CICqH@XZx{K=XafLAxyB1qm*1 zxSet36`F$^n`gL2%poQs9%zj3TY!F9g}$lg)RnSVz=`TI%7?zOf=jv~7rpc_Io0kHQNs z7?XkHArDfTALGS!zu7{nF@47;eR+NI;@)~C$W6FF=A5BRb*g`EiCIo+;$R%zs_ccA zYj2ZDZ9HtKAMAJq=$-|y*u#k97aEH(eAYAe;0v@UzM39#H;m4v4pT2a1<{0jTaFcB zgwwp^m)cUSO@n=fqp{ll0{!1JNF{+57$^(~hz1V`2-g4K4C3hE?8@+~RagH%YY{&~ z>M!FKKVm98+XB?pwkmw4N_8ffY%@}I5hR2W)JFYvy2!3?ljF~wcY|YvoSOt8K7r#c z)0x}FAC>CWmibz#Kvs`*KCg5?Zy0?6%P=fJ9Ot3!XtC7^RO7ji?Nzuf7xwBpz)sK; zb`xMaNweUhq4|$?$)mhb(9adz;{LSwm=Oqw7Rolb!p`|6pxvcT_xwNq_+8C%oHEm(5Cg#+wZgl!|-jlDD515(OW{7 zliqK^)_rjdgjyy71Cz7y6;cDEo8LKYetm$@9sfop>?6tjBp;jiSuL_;^b}Ez-z}gFSkBR z&w<_eG;o34#>@mLXIPl@d1^OyXTZiPg2nyB50!>4lH>f5GQ;vnH;pVKb=7m=f__uk z@uE7H-L6H>IWhD#Evncu0!Ap%sqAb;s=Px7(C$*SzZf~)R=^c?kQQ9Qugvx1d4GuJ z#VVg(9hrZ7tDll?f}{wuTFqKrqTK7?I`PKm_kXI?Fb}Xbv>m|`QBaok&hu$#O=8#( zlG>+xR+NVOVcsAk!Coy#k!5}gJl_JEIZyk47FL8^d}#Ub_@ogd9xR^+JOXOFHsUz!qy+7Q&@+LS1tNN3DSxD0!0$*9aVyI zoj8u3gFJ@bG#sX99-~xqmz^p&1Q52t0^;2dZ=?By>-@N}=!H-K6 zVTB8E@r3A06wr;8LO785?~|De6g8dVbz-o*6=D)VYYu@4L?uD+Vtb`~gu^F~Z%9SU zX@h}TxEqS*5R#K?Bcriv6T#k!iR#b_i+jXCG=Ds-LLQRSFFBV#r~l!mXCXO#f27q@ z6l11I(n}A7f2aSUmd5?W`o`#J9OeO$Y8QpzYZg_qiabRDRlGn+6mjMmfl=XwsHRj5 ze>rma$q8e}V~f6O3_g-iO zH`Zw^4%vvRXRZun5{m9_DNUk+h~96_YCSdTlMm7^?_EeAU3*wp^|88i-w5s6ja;@M z{e0(0iht1VZhryU+^RP5l|lL$ciNN#OJb`s5cz@r^hJ>is!9=Je@9Lesl>>Q_a1!F zNs?HdytUvQ_2=Ys@^VD@nkW?Fm5DjH(aJ5WP|{l>7r-?JM%bGo7Zx-MXfN5($|dUq zBW+kH6lRPI1*h$dDGkMJ%nN!*(}KC5H9DPm4DO1d%MFYN@a5KkN>V9lgr6F z6A^R%ezPYiL!@+0-t+(9AP4*p4&~tg;F#{JqG_HcbMccxb$Pp?mP3!0Q`E`G?>#(V zpNWo+oGRZ{)>h4bU)O|MA)|2e9!EHl%pEz6WECSZ-+Oq$DN15;^2S8`@#h;f1FGY{ zTVxP#$FsQjo5EHOzN=s;sy9!efZPmcwkVxL=mJi`z#h54>QI4@PnYmXV3bRH}8zHH%}(|O&b zoRK-Qv_D=09zNIgp^oEfHCeZ|T^mTGnwR?FChR%m57r?Ou(I&pWp$qGxAEl0=|_I- z(cS%=dmzv2Q%{8`en}Inx-nO49X%@B=*WzmtvAkzYty^caIU)B?H?by z^PKJwHUq|O(~J}|KVF<>N_Dq(2p>N%H-N@ipNj3SFhHXJy=pieQ%(X{fq+!@g8#2o zgQAJ5+t>iM4KITA6;pc$oK#yPdy&la3 z{O$Ymd3=7jIrLF~*Y9t@h*jVGdA9k!2;B2e-ee%OUz&K%K0Fif>D93WZkgZ5zgIu^ z*QYyd**Aq`57P;%l&=ErEPA`Vx_$GfFgYErH9e|1`z?##vmM$okC5vPH|ZTPpOK?A zk+WaDoBbaAKP?h-(`T}_73!gu18V(Wm*;9JT77%amN>507ZK{x!3BWO&3T z-*Gug^XP4R%xlioJAv*wpi6ts_BLG;^2C&`O+|1c{nV!hn0a+Rrwj1<_>FPv{L8x+ znEs}C+;*A?{MxeTxX$-`-V8@3>dVy~-L6}5=&OD^-R-_t?(fLKbTggk_i_qo_w*cJ zivIG{t8*(3_~g&-U+%F#60~XaxJSipQ}f478c*447DcQ#7=!FYApiTJSIB-%$_nbz<+MW3a4$Z~;1c^$X>Hy((_| zB?G?#R^rVcH#xV>R$cjWPOli6wic=I(1+(rFVAd$@$`9U1Bd-GKJ)L_*Qd^=ydPf# z*4uPupr5lJ<{YvF7e;sbX{~pnQ`WVESRT=xgwj()csy@Y z7GH-2YymzuXX*|-^bFI}Ur%R?#!mrX4sCu+XYvN}UmUp@SgOEyhKKv%?;Ys-_xIm8 zSnt-w9tSF+HreM~g>&*oX(^NZu5iZ2etKDF`6ijk^tc zB6sMoNTsfGm z@xe~81?aVd4QuVFU;-qI0*)NCJ$z4ut+;IC(ZYVh-7$)jTw=ECDQz|ms; zefJoo5p;tZ;*F+eb(!ovX}NYmrl{{^$W&#l9^Z$`K4How4xz=@9plezQT*cq>wExc z>__`W!KWlPUj)%Z=xIz_0qX(5j|Z@=A8L#c`a92H%aCgCQ(yPl^^}Nxz@%GWLN+`r z4*&=;R?C`|yB&y?8zTI!!9&?s+N&T&>u$nb>+s~~VM$)P3^aVPr4x4tM3LosWZv(* zQrEs`GAGp;mhUhW_~CLJY_~-R9u5?nt9!=DK(n{y>xLOlgN*0qWlv+ofm;*aRx$8N zq--7oHE^;Ay66~*sN{Y7^4eiYCU5!pLP>&r8F{P7j@52dQC%Hre{2?PbEuha0lY4XoDbnCxFo?}&4Ea^#7XC|nnbN&Xz zsU{J?`{X9ez~7dbLFFt&8L_3Cw&bPU%wcKPmPsqhALwK*~zj=FwC51(E?b2=7IBUPVuTjW%hFrd@uz(f7&PZ8d@Y*OY&!I_chjfct$y5c zWS^`K;b1}7C-``Ebk29Y+WT6De6s#7b$c7T@SI*MV<=s8hN<&|!oz*`VkLu0^&k2bXEsEKHnx4hLGX z29Y1SAJroPTySmUS9|Xx2uOY^)g9|bxbPEUi?uD(Efd>Wc}Q89Octz@N(Hb@I&K-{ z;|p;#2&@JdpZq;fP0sa(j3&ttFVIE*#~5{iCH@#~@-Ds$EZSGu;j5y(z@kzc)HjX^ zBt&x)7l$s6>Xx$uI}gLf7Fil(Si7;m%@rCGY@lo@rF-H2l_tut9fdlAxf#sE!$Uyh z313A5%g&BOuvOikB-GV!X4ZLaW`=jLiZ!&_oS%TgLUB2I|-NNa^4Yca*4%B8wG8-JcL zJrE@H1R)t%u(5mNBY`HYx^X315`YR$LJJqINhp;>JipRI4R~L+efTr7q$S4UZ8f7gStMkr5-%XTQy4* zgOUqW+y9JwnY%9Zr%UjBODhLu7)g$BUxYY;_P6JI4A~A%&u_hJ0WR{`Ip{zW9s(fx zb?VT%U#T$bp#Wco^s~?{=5YHFBGp@}jHLEs9LmNEWR%l67TDgXgKW(D18*o^KRV78 zSsr>EWO6W`(C+CI4}8E5j!m!%sWbOI>xhM|HUp;@H;77STk_vbu)h?gu<}FgZgAk37P6P;MukP=w>jFJgbRZthCPBD+a!9V1z%s%QL)_HGlh>CBs|sze)1E>rP*vU22?AX1TosgXtvAG-fY& zWWO#yKBq`%uP%QeB4~0Zj!v=OJ50v(X)`)ZHpV#VKe<1Fn)EFY#;(u%UTb&@vu&P~ zDqkO^zb``PdiUQJqXhC6I;|64ncWh_Td8?Gy!JG6Tj_}ZG zh)Q-?CR4}yWUY3EZ_4NTYn^eU1S`;dQM>FAljAu#*4G7KEBVU*ezfjgtFeEOQ(alm zDdY6d*xugC98~UKfa$=_iRVBP7|Fm~)j=S?Y7Dggp&7LO>vVj-DZt=UcxfMl=Q4vL%JE=a}ROXKMpx zPinz)wVyyl-O>U7{DHU)XEX+}R6m zwfa-rjuQVj(`ppT$Ra{U!v^V&%rWRs-Fr%sHVpCx%ktiYTHS0BAIxcn9fjPd&|Dqo zAS(rttcPhwv1SDglqfW60IY;EB{#9Sw@XI}%pw0z$ymmHtsg;LXQ9*wCuye4akfa1 zs7s?}p|lz(#@(@ptYw_bGDFJFP^c{cSlGcV$dTCtS5Q%J0v(pndA@{_L9E1@NFg%$ zVC)1wj07=fiG*@y;yrDbAkVB3rho7Ue2P|eFl%Uub&EM%jWdF`8CV_EPny)Kn;N1{QUR?83^h2lxL>*E1)o)KdV#OXhTSFoQ zhOYwE^QTy)9#7W?y12FW>?48ik^#%})MC>xJ z{g-|%^@})sF?YsvLQ-G-5=i$d8?p`wfS(rxhPC1hysL-ff*TPgtDY(CYsT`V+!jdv zF_XI@!)Mp<+pQR2Gt%qUTIZ%8U;<_o4k%Mnf}9%+1r;-- zfIaUMkh46)Z~NfW?J!)2R~q_~O_GN?lK0fbANmo}h00#SA|{INm~+CoTGQ7adZwTzE5NLi#S7yP+E;q=Ftum@!D9A;qOv1 zNUmf-#GHLGa&x}GHi2>cDcFCO?^Kl;Cd*U4Ahj)9TLZDIqW?y_HW)S;Y62EzS|ikr zDg-aCoH^Z7*85e)rjQm}HqZ4sc`M|FsU#E(6djc1WhCvIVCBc_L zP!RQ2JX^H{FXI`97tuO(TI4y`nht@*RzSF#E+`3$WdPIeG(&#?&?U6_yyj)`q6k@X znAzOLnV%2Lj-*;-=;)w*9=8L;{epUy(0M@7NO3phZx4ru(%iM0!2CtENKo-}28itz zG#q|!4V#fTX!T~GDpuRpdkqQM-P>$yO*$D58%o%}mOuteeJz;uji%+>J#1L)J+dD< z(@&9Px71k8rmH5H6L8h}_0g;J_Q|%FUd+4_Sj}Rf+i?nXt0HMlruNj)^fjZiDwrHF z88I%j0-bNvZJ-=uMiUklVUm2wE0QY+t*xNbO1fGw9_8j2T3s>p1*}eX&&^~2Z##i< zwa1+WIXTFH@y^7{S6@@f=f3;7XMlJiMOAMvG*mdG<8U(DKq3~=v$cVNuh9Nev`Y(7 z&EG2X<`%en-^ZiaxgjyZTL@t3HjUQBE15hfQAuOnQ44X;%Lcd9K61Y!A?;2v+Xs^A z55m&O%aODeUJAkq20ml@ZA{Z3!J-RC*y}9D`~k@neeeN{CnTys9?&%f*<#!EU2O>e z*k23rz%s?zGR2BA#ql!5h%!kV2!%!jw%)vxfilS=Yoh?u35bG~c){KwIx{+e=XB`F z7h=f zBYGO?@#c#Sy#$^2pT6+=zN5W@!|iRlxSEu(z1dTDnl5wvpJ+sf=1CAP9Z^z9jvMI+ z_RAX^D*n+8-i9O_&CCH-TdVuSwEPlDj?i<_@JS7C*2mTDM-x&jv=B+%)P8DfzA2VG ze+{;$wllIPt`Kgza%$`^Q<(7C3}qtbW++szLfbznyNi&aMXxfROQ5pD9X<2)^cS9m zGD5MqY}D+9Q9CvYf9FoHg?uVzd~8$nymH)b4?IWMr>6?+tCAer`GHc`=Pf>G-QoI@ z9g?4&Q!M?XcEDC2%CMzllD=l{2(XOtlx8%eZgb1ac{=OoiJ_pYz&RG1UnT=Z3KvBI zo2JwI;A(ahE^d+r-Z=Yax>6U}Js(zCyXlEnIF&bJ4X4ON0&?vM-9mQ@!uS7(N6Af# zAZwm`&^gzCIS?~xzcq~aW*chlG|$n|RjLix;lJ2+Dx)4WaH$b{NF9)3b_zziCSW*Y zNiGG9fQ`NV#eK=ZcU~lb$wW`j0Pi9q3l zS8s~{?Fx{GON7M7PKE6`Iefa!l*^9eX@5DkLzJ~3Zt)$bH+|fKv)beOLFW#Nc5gXN zGUUeIK=@Y`{kCR)Z2cY3&E267{`#P@WAhI?$Mp}V>NedJR$|z+p^x4xmrgTd@vex+wpb zqWuI&5oR9hWCyP{U8_+v*ufJ^w7-%4thUho4qZqHu#=9=2l;z6K{yU zArmsxfOp82Rog~HEo#Iuh?aLCZ9FJp2GqdX{!bQ=@IWZc7*KGt$J@r}c+jS|7jR6X z|8lqgH+KRU1JU;L{n#@FDYpz5*fR~R5fJdcWfsyPBI86`TrDGT9X^lrLpJ6EuRbWK}XQiSktEy)Pa!LHUIJ>XMDk@bBt6>VN z(15E2l3s;JgdD%y)p&`V_~Hg)J+XnNa-?+!tR*Zf7IstJD0h^SK_fCzFMsoAv=CB@ z;*kF9cK^$*FHB*}}+z$In0kT;S9rH7M z9qr-G@E>zrz%XVhKiH)%+e`%^4l6&4gimOS2+{B}ZE7w_q$cT49k-43)XCP;^T+*n z$~W(0Gf&q)xtp7Ln_YUo5s<`3&?wpXy<|?Q(eKW6yt|ve!04;#*QxbOGvwVQ5=_$Z zwLK)F>)_m9V9z-tcAXt=L^<`r$X*~FQCHjUM>*=Ur-tIs4r2iM|4EkttzXb*W-#ej z+oo8WTm6E1%tX<1&Fjb$oDPp!Mx8p@QK>ZnmVOc$m>bLHSHv45(r|&iB>)vkc@}j8 z)Gf|!*1qm)@LAy9uAN(DTs*ItnAXvS*J3}Q`#GbEX_P+f;DvocKlVI_lHIhUW4k8c z*zwP;Om6m5azCdoVTmsuYhX)L0`67&9chj*SqP1F|KW=iWLM$#kR56QBKbIbM}nRvEZqb z`#+#pr)k&27UoKvw7F3mSyk1a$ow8T{C)oV0Au908W_LTaE|4UTy9DjwnMx~+I$Sg zUwVgoeI5NliKexe+?xQ2{1fLTGD5Vepa2W?hjs}B=Qju{{ z<%@N{PL3t}7IA{7%Ys!k$9(1JBFrrf{4cwF+)&mh?#^nzs!O?+mQ{U=rDnQSnT?#VfW*xDYf;- zLl^36vp$%eU#(=M(6dlHt`QW-F7?yvJ8&a2yn+MtO%P-pG%$AEh<`xlt&Lu>`?z03q7NNa)CRQrLY2Bx)@%#smOS00Xms`IH$- zLJ>nW*yWjlQxZ)y*z`hYSqxA5eOC2d!a^WY1y&`6 z>H$^-Sil*?lNL)q5=JGYikCQ7vjXA;@w2>o@m2JJFfCCnPYL8Ml!HpK;tJiLB{kS^ zJEaPpwt74D*CR(hPyb ztZTuE7##U?cu`!qicE4kBXQZ zB9=By^u})1MtmN#EI#39e?g-1Z;1F>EK4?yx+Ii9!#Njoy3_=DHgT?bugXv=G%on} z;B=V?$H%JBD>E&cL5~Ilf!P6(T8KEof?MuC5KuMuuDIVcN(D$?>a5BanyktNS+ILY zOuc+j>}b=oFmxAGxl~N2p{CSr=4oP9%jxlOa>B&cIn3C751!QLOz>FEPjeFyY{ivS zzvO=>yvb5OrgJ@Z$c@uEhi|S-@1vj>8dZB5vA)HE zEjqwx%R;veLA7ZwOJ>K$6crDk6QItI8ja(S>9a<2&%6cF1kHJ(H;jr7X=O*lgv8Jq zpco5D4ps=jC4TSN6DjEqd^9%NwQ=r2&9-)u{0oZcuoh*h!ypZ;US*N)elOUg*%l9y zi_%)&5Ly!g6VbdPS?iWxS!ziT;4og7&x;Vy-;O?sKDM!uAIBzGuz032ky{3mjDCcn znyHWDXE#r^sa?dn>Ng0XQ;8>|I3kz(5*(@L*y@L9y2Xy zKCLnatxyspsI~jU(?x=@z`pLntl#CXCFMq)#DNV~#PLsVpCiMrUyEZpO!ijcr;)-) z#}Op6KPZ#MzUdGWsgct7E9B6st?FpbDpzKc3#=A;VqGO@NqykI__=oU!anhlN12QV z^%#(<0kSD-gD9z6l07)N8756zZvpTyu<{^k62zEaJ7A(9gdHm=OuYTK9p=UPuB_M% z6nnZ0QLxzrhZ#(G@2H%apv5Fx?7R`rAUjhM0;fmpM)FdgfhZijJIux$Pq*27Ao`}V zV(k==2V&i)mT-msN4{_{zZ8T(r#g+*{Z8NhsIeUrRTeeIg0QoZHED^4>>*40$_Seh zUm{l&5Id2>;l?x-@#+@j3n!jVV^&)#`F1sHUm`@wdbEjggNuGSx(RPHkjzdEj5mM2 zN>*7g=^Y6~s!bu7SZK{!zyKzf9E<=6j|}EfIH4}gWMdv#22icSaZVcas_sZsX~a&Y zCODx_-{QsNRf&LLn|4IzP^kp9%TKt_W0fh#k4l`05ZfIh2W1~*keZa{nTQbf9z2R6 zWoBg7+f$rK4u%8q7L|ui?S;TzjlO%LkT`~7{7H8aiSC6ERIN$sisf>LZH75l4T-B+ z5f`+br*LWIs(=^Lu*A(3D=TZNMEOM%%bkCviC28PTYu&j!7DN~Pl-9!5uNi(xcu_s zLDl!hYAr5%UTcWJzR*X+H{6imPuwXzq{J5U-u2(CF`v zxkfv8_9CcRH=%V9>tgVOs>|^XjnJQU7Ug6y2d=>SJ(^8EQ2K94`)9P~^et&1rfa<4 zlGcxDWf30|p3Y1}Q!wCMZ?mKO)y0$i4*;>0GUi`9?S(?M3 z46Iu%h(4Kb6=^R{e!lqm{w-=^K^z&i{ZcP8;j+8-Kh5MvI?5nf{C}_>?H7CI|7fB- z_yF6tZKEZf_RUGTHWGmnFR`&eIj!b;G<9Xsogd$#8vh?z3;kJjOEz_ChM?}Mal*4pyGrxSzf;1PN`=2aymIjRe{ZjUTHk@OHaCgkoqaH_~naiNcXR@xxf) ziTsjNltaA7#`)*9@MLzp?}q}1oaaw+z5$qQ;7tS*(R&BIb3`38d6BM5urtX+w_S?D zsDw?T5>%H}Sv`aCEE0!|x z>iy}i%gajx&X58g$#GyDa(6NBllcouV}VF8AqmnY0Q1sOu_gh#lW`AJskkO`Cl?$o zWtcpx@UJCJBUSL78kHjXVI@l5KP;w8MR@;^rp$-e2BMh~$}37h-gd2j-nO5}c3+O% z34CzPjpJ>F_ceg-rcXxuj1=rvj+}#}l!QBZi2X_k+ z2*C+%AwY1KKft~B-S_I%`>%feszY^8@3q(3`_Mhp)n}%M+y>4g3ZjM6F&xU?5|ZHOPDKP1e0zsghB!9S?9tcC-J95 zTxOXR+1;xA5758ZW3Jn=#z#@`%IrWpW}_Zs+{nOp*CnnfS;Gm6_7m`eVUB0CJFIF; zrX@wg^4I@ZXCA%BT~JBbiv?iz0oNj+sKPQ@F%4i!0{?6ikJA`!daqS~^)(J={h+^- z6?DpSnEYF*9tuB4skGDL`)E=&)b0MVgF<=JQ%B2jpdJ0iv$jJAeU6|W^8F!HA`X4F zN2aw1Jm}$vWbLt|-)6`Y6mIA45i?nSi@044t*;fi;=zQ6n-2Po>>mhM)gLHVj%{?Y zL#=|Di)n71D+XpnY!2DI(UmSi4$lY52c%yGxob65npQNbKQ#v|lSgfb&O?sK6Bz)D z+WNxCEomdNinGiC{{4?eCyy7vZN34PgHWdUlz6ap@KvzZMrgb!B$u@kh+rDH(m}(V z7y>IZ^%Ft6n202jswb8@y)f~ci>%lJ&fFe1nZ}b!L;{MD>(h4-LBp4;!NZ&+0uk(( z^9CnIu--h;djALns<+n3*-+A3CKJ$J>Y_KWpW+coz+1$zXi-S=(>)H5dPQB1#$|f9 z_>f5UKTYD0B9ROmGpoz9q$;1BC>RMULk5p{obU_<4ZEtI?CTHoZe75^lXQ-Wy0OmN zc@{vNt#5wxL%{WN?O|zyPWxs~@C+7eU}7Tt$oBqfb+C)t%?>gCNwX8abb1w!}w>T%GHhc($$bF~_#C zr6qc86Tc@NW@Q<=q;MUr#xQ$43#ew!wh45YLU(&v_c(=z{bTLBme|`lde5x1S(z5e zex?&hwwAW(B^Lpv zm@hC4ckLB5|N7!ZU~$HUQDk-08AtpRXTcM91P$iTkZ4Dg>3=I%k(?UFM{FEL4KiGW|IL*^|aCvDdL>G)ai@c{L&9JZwCR zyJ%M+`3og6+6938$l1sie` zWJl0)wBBqgLewI@tdz0fNd2h=bLt_OMrBY~RQ70e*a zH3!Uq(=2+c^yf!~d=%iNmKgKr+`l%+RG4jj?!Gyk*64K#R(gX_uz z*CMys_Ee%A9_$z|^B<^V_{hI^nPS8!eS%a@`u=KV{i3Hq7cDE7EdqmU&Og_j=hx1# z{KsVc$2xCPHywEYIJEwC@Qmu-DeB&-?%tt&N=<%BZGTEFz0p;?(>=b^&G|orqAyxf z|2llb^0!HRnsa{qHh8nV2ZFc4#q|Ci%D@=FNhwC8%;bDvCrw?9s%1y@fWj8=GpOY+ z-q%2+KcNagNeUn7VR?nn7uI2zxpdsTpiqnx8ZiUOd8^zxt5b+vkZS!>sr5tflEze= zjX`3gJ5a5fKRd(8TXAHWVmxVDaYU=LT{?}Wt7DT8A*p4n6%zhZ>YL&v{mt9%+mBBA zi?-b+gNq%u-A2>O5>mL`2GzP%L=P|SJPaJ8ii{FtZYw5TVT(Ic1IOtiquFTNijdA1 z*umtjYAJeO6Z5te%Vl`r&@WtrrYU2>BOEv4e)O5ezy(41el(JZhr^JSjgP{hgTuUd z3_uqYkPlgg;}N7&EF)8%x(1WFI1xcVmRi3klgNkVL``LAs;s ziXb6j>q92ZBEe=?N8{M9yr%H-n1Z{Gb@WpIH4kW}KJ4)et|j;6;%gLvCmQEI z{RM#e1?OJp=(W8>5kYWa=ZP+8;zS-xz>Cd!MrJ*Ay(xKdQigt9zHw1jmI$j7+=U1T ze~5LoK>>tg1pt>zcOXCO5PlyZKkIGLUwIB4(fb=J?^bAlTclOqp%%dScI!)^#uIG# zy;F>T)3rH#)oo#P`j6NQb%3v+PzrP(31loqA3^Y~sBF3qXo!sZr>m?|h%FJTsrt+E zg*JNd&xQ&lrXZ@*^yfikx|tF1bScs#t8FE!8Oua-a;1`KSz5%Vk@^Jc8O!37P#v?6 zBgs~cs^7&J>lwDkIR2wD%ArGRo{#ep=gf@YTS~ohGy|e1Tdbz+$1=&(P=RzQ`eKG( z@5jV)dXGmnDA8m)~7j{(-ss)c3^NMZ#od`T&>^fQV*{2H6Hd}wkSq*yIQ`8Wn=mO zoq7@D1H|%Q#9UP$zKM^K2;iIiZ!yK@QUC@BNNy}f&;M`9jc(cnH}JJ6oVGCiaR4$J z14bh7yp}IC0bIs+52C!Hj@+38kS{hIh{9`MbWS2_s9-lN^Lr zjxJ2k_ZcCiF=?xdb>vV&9#yY}usqmg$Cxna%D9$%M2<_~e$`d`Qs31 z<6JmWk0&AF>=OhBMhE9o{!IX5pXW=*wr2zeVc9gWR%44kS@_bifvNh74~>vfv?Iw& z$0j6x>DZ0pr{KCF=dT@`85o5sg~U;)3lv$eI?aeL9s5Yxrw3<4;B`PbybQYikR;A# zxV@i$*MV*eCHBV^P=cqj`A;Qg_!lKb8X@T@0%AZ&SM^26MeI~m_1FH3%VOV)4rVoH zQh^jKkPZy~i%hn%PXZPvA24jM7vEGigMq=)3k(+h@R!j;jYUc+8H)m>t1tYLE?@o) z8LhR;OSUANFWJHm!pf)=1_Q~WV!VW4PxDbOia`G*gmjutCTz~Od^1MC;}jV95w9M| z1u)FNPhOMP9()OkPy*SYZR2&w3P;cM7Y@b!jMaPpn}t*wjLG7-_1eb1o8**sWz+{t zZ}jjuUdx@$0sbC$f=_t5t9{7)pP8HE#Nf9nr4YiE!1eQq?|AfG_Y+(9XAtd>Km2Ic zM|Ob4{_vjmTfR0stR7-R$IEa8mj^$U*pTSiBZ$67qQ9tf@2+(GX&6N=!%3WGE&r6e zK7yZ*I=-i~J5r9JneZHh`~Kc+7Gy1J-uE<1e$eSSQ-!|2s`77AC3lJ(25N6sE@>Io3Za0#k5#xsxarrJRD?pf2{bvjd1;>Z>`t@vSgrMm+QnQWOd!f9{3%@ zCzqM)WDvx)$)}2MPuA!`F7XlM$+&y`RCo8#783MAC6XL z!xwf@#SZ&BeZ{=&x5c}5GvXdXA%td(aAH@fh-lxwhf9yR+4hhx2TIlE!fGMU?Cg|b zHYYR8!T$JQMB2D1z^zq{lcdZ5v7{##bjX-|luH~fb#tFErGBFU+UNaX*V8T}X0`_$#YKhNQ-bExO`WpS#X739m(63}^0EBhiy zic>KYRHPK-W8fgq3Oh_IA9Y%mtru+I>vO0(O|x9ckg=<^;~-5zskJD;HxSFS|@nMaa7U3GW@m zdPK7QTc)>&iX$xC1>fxlzu{NCxUm|Yh`=P3Gd(Dcjr$H;B}Tm+=N-0cjJg@CY9@QK zwY3nBV94G_kmy_x8TNuRc!AL^nhZ1%p(EY8$h(EnLFsPH5fd}JfVEK9vOIxEp}eR> zCXS$Ny_k#p00yZ!m=NCp?01#n5~Rw5(zpbKrsabpJ@^SGW|7&q!bVIB31ILUQz_ap z7x2!5Bj4Y;U`4R%)R&9=kSJQbQlp$9hzHu801HXz!brxtW}Mnyb;u8E=&M2`$dics z%b*kYkV-|o->d1&TL)CB^A~8|j#nM9#{IcySA3wSh}v@F-wdhUL8SCo4B4Z?R7kpa z$MUw7%+DDtpZ>P{nI19oiLxC%#1Ds(obyRxY>jp>SqM!3V>3@!Obew5cVNT5jS&;N z$J-VPU0H+2*PXnQNe@aI!@?p{;|VrHIKWJxrD>HH_5DIy^bP)sNlm#{ej_H8woJPu zk0(87NuwkWEnUnOz1}L!;@}`J9KScY|9b)%?}{qKZt59%5)mKQy2r6d@Iw12R*H6s zvV499X_eYd_2Js4{i(fEH?2Fcj|kuTw9#Fa-A|O*~a^>GyWXaPVIi98frn2^FUZAVV zxzAMQrQ(WDh5_}`B+sbdlYR}lgMv~=vmiKQl>jE4yY1ANq>b1P|H8f$S8b??Rbi(6 zJK-o>BSZ>4+(r}J$a-8@K-l1HS{>ZezY^<1~Q_)2VD{&WRp z6*?I$eg4_e=8OQbboy04uN}+f+B7e-GM~(HSlBJlUTx|qKG0sp_xD{{mwmNXa2_%B z0(hI8tF(J5ii+_=VT~K|reRhr#c^TLsS>N%>5W#V$d(~;?4WSd^G&IV!&CoOZq)BP z)OdfotAD}*Pvr~K&nJK({`tkA|NLUefqYuOndkYi)zi3FLo#O%UZDP0JBB9j?6C-e2VHAM4Z=q0~_PZ+qn2$n!a`Z6m{{p2u_DZ-;LI} z=xD)d4Qt?FHw;0f|JAMEmZ7Oh{HcSDssCwBUET0aOH*C<&HTcG>4S~!A?p(-*A>ol z^W-!S%Mq`YLF|z5h^bp3%qHnJ4Zn!^De76geqP`o66a{*y!;zj&wi9C<%i%bBUnqC zCs9*F6a~%XxcKEXOzi8yt-jVKr)3RtQ*zNDpvciG$Y+SIrcrr{ov_M48PO%Y|y@+sgJUl$OMIrD2 zv+?u8NSrMyf5ho6D_k1A>*GvX+^2gXO#$(E?CZ#6EB0$`*4@9xBiTn@RUSCR^d<5T zQWoXIQ5IJmjC|AqjG3d8*xn&1=tR<-`-G8ckifl^w!4)@;#TI|5v42(WK{)7d_^T; z(^C9Jtbs1lkVtM#IVj1Lt+Sw>PtqQGc<%}n%l;UtpQ@;2_DD%0$B@BN&*HJ#Z4qs_ z#BmDq6ywnQ36h|FxR7`_tqsjq&5TqU_)+cp3pMsVhGRzo6ATouVBr3DCvjpHX#5O<9d|eWi zQ`12_ryQp=`z6mnTaSOQ6+Wd0$^Ctkolibj1`FvRyeG`c2r?>^1UP-VY18jRJd~wE zqFx3>d4ma5GyxZSFfVob0I6Dkq)BThnSy1=>5z!a{`g)`#tu?Hs2?`GN}V}80Ws@> zr|*1BDm{sa77K)BpxvN7tZkxmJ%vTAw=uv!Ze|L8%O?o>xe-;yz)MH=$MG3z<>>Yo zaCw%U(E(0U{8lda1@_Q?VA(CG8*q6h#|Q@?(Hl z6cAFy{_G4*+3f2-UxQGbd=PT|MaK1bO+bZ0mD?#2**-lYd0IxQ|^$*JF(64RT zL{L<(293Sq<}Q+b+-9@%3Qq8{nA0+)eP*v+A&3~GrGMQ`d4(x*+1#<6=9o3odwiXw z5JXLR3?J+rw3(9xDn&Y`jjHqsKX=03b2xw-)WBl;>wqvgL8~{p_MHZGvzZ2{s3Q*A zse!V(%ekVK^BsBp)rhfLE6le-ueGpX`=DBaeA5)d;BJOs~dgZlDg%PyLVh>pnIs>Qp_08 zUN{i>>^y<_FD~p6m4>&mDZ5!BR@6)ms~%yIb1bLPSNTyZd_@+{zOZhmTSNNWWASm0JPOA?T z%Wf}+-$FY?oa?k#i0|$=L`=JdG6?$1e(cAw#WV?`H(x2nBfXD_7tT0koxIWhe)HAD zC#fWH9Y1$HMyV)9iDsx&Xlo|^lTQ@8&=)o#s&~MHby(Ejx8DIPM!ymh>I({UNUyNo zrJ*^N^yMTuzu(F^gUtOdoWYKMqt3J=FD0}SE;M^*IVrKP#zt@%epF zuC*L*^0dUuVv6-id62*7E|9$3m0U*uqB%Tw6#VLuC_?2;10ex^X#{mJt+*@@+Pi;S8O z%kllD5mRh1Z|BqbmeJF+6H6&hz<=6bkE!46uLSkfaUPQrMB~LyEYw>@$HSs`?O+uD zy`lG^a0~bmyH}3@_A?vGt{>63Fdxe9fAjc%0gS~5ACe3DwM0h*Gg=YZCOXyb03w7Q zFCw-wTSkcS!8dy+VFRM#;<{zL2MQ(=(_meE`R?A!jn6U{Qk^nn+z=O1Oru779Z!)5 z;+>HNPG90HP2{1tOPxNGa>uixui(TkpE>EWz7JY1aatC#=O2=AUuFL>6jiN3k=%*4RVDVMPHy7a%*^LJ- z?bmgA&l=XDBN|irKefPa+Jy}=J=L{R2!FNOeo@f>?D3$`3oQ61-3ejeWCj82wN#hB zbSK=<{6ryg2lwjh4hU{MGzJMzsjyF}(T|MOkBq1fjJWqNtFk0R+;y)Dwt?L{Ca-I` zkp5$XuPe9z8}N-T(^X5>MT@{mi{9bOg0JVgL+iqtPEmIgguhKBFb3~*=}%g4b{ulc zSEViPyypo2_{08*g}D$^@#@6<8@rMQ&al^5{JT+V39o(wX`)wQO~pMH{?# zVtT5VFkG`#7v*&6mk^?aWJd+fHf(i{oF%QW*^zB7GzNu%IMx}Yd(3M~_ks{2lz4{; zfH_7z_5m*&Ie;M-7lf8_g^Br}urRfI* zI%>@({B2-+BUNJxY5fP?$yiY^V^03*hZxud$GUi>DKjW|*YcG(+kpf)atPuIaR^g9 zD0IzuOxA&5X%KiIdr^TjS=YuaH@dh$Oo%Q%k2qZ%lq#Wt4FG_Y0nrAr7g5NNRc(CX z1OO=^%k%&s6^f0(;KK`p3`ivyV2~lp*wA1H09hfrLI5BK3IpHZ-3x;($TI|BkR^-Q zz-9#iMIp<|0H6fw4AxC?+Ji8AyljW%{;$>RQ?rXMAPH9>;PIk?Zy!4uK-YpR@xh&>5W0ggHfgtHE1}+aRz4%F5g6!jA-M_ zJ0OjckmYV3pg1hSWTh-NTnKQXu)Dz|JipHz{H^bqzLJa}bqCQ4H!?@cJ`LkU!rzLt*W#G<4T*`8h8q(ADkWlK#tVGhjOaIqe#cV1 z>G-i1E++FcsLBXx$j<4lcsn|Bd_6jHek}xdUy*kOb>9W zJOvul&bbX(Ahw*Jh7hHUfQzFCz&v(K2*^3{`fmYhOnVL;fXvQ+bK;5Ld^-y0_ALoY zd|HKm=PSV?=EvI4;1j?cEy@h3y>{uY5qF`o17}UZwyKntaB-P|_7Sre`7pYXQkSg< z_RDyK86&(bmY!7_SCK?wXtQrB1D$AOP$sAtnO4ONbzVqLGc8Y|w{zuZSPD)37n@wF zF?r>J^;CN+aapXz>82k^m+xs*94%TJ$*H1j50@-P`!G{zK)t$4z{`YQMvfUYf-Kg` z9;2OfB*k*a)yH})XetEz>(m#y-v;*#ACrSHpxu4t2vrM4N*s8HOQO_H;7L&xFup|f z!xUyzsP>j)^vcvCAJ+Dkm3-H5tnlzi+SerF!kbn9ji3nZnv4M+{Q{&j>Mh?Smn|@J zS};;q`@+DZAs{V7$%sN2V_i`MT^bcm8`(T)9IT=++q|xRDnfEXApD6r?s7{6*qwv$nVXNqrG9=W=UWw!r_D@{$>#)R75cd8I^yDV1d?DVj!5 z8%RM_!)AT86|uhBIABVnKF~)>4ZX^Z0CJX8=wq*PCisBdH_8h9S2@mLwZXzK5<*+A zxmf_YH74y_zUD@ZtcV@2i6I)>53_tHgZ*n=R~RtT*t{Ce-;9xfv8XL`poBSXVSFfH zU>EA)A=#aJ;%0Z(sncLZX!=9mP{$BViQK%zCsPAc$gQ88Ba2_>7kWT0$j)55oLnqS z`oUSTp0UU=a`R*s|Mw8-BiyPXnA7NYFln<3WWco2oRbUAesaB@fDo!>@U575EBfDx zvDf1I>njqNP>xyKqOGVAq|Gmood%t98<+;Kvpo&j*rMqTt$D;E2aVkj*3^kQ;`?s_ z%uHJjKpMT~53v9o6w`eQ$fW%@rv!nhx1*t_t8{DIPg}k=wvEurrVYfhQxq~aJ|?lq z4{QP0InAw^BT|`?5?mm=kv0Q};tBvNJ^%+=Wr~H`0@oR^UmUQ}272VDV0P%Vj#d)iu@(uMeUYGAx*!UTdLR(L*H`!F~MQE}+9GoKIxHZ)aDnYP^tCskRafrb0!ctux zMHoa+Qbw6X7>+W;so^Z{I4J%_;`1xe8UT9KCPmm2@!`#@Pb2qYqiSKy#)`vkWmL40 zgEqnCDB7L&jr7#axuLWK%w$}+QHWz~Dvra}qhJ{$Plob?ofNQF(ezGhsZ>^ZTxwlK zD$c^RVb`7HC^}#LieLQfWg6f7uEN%38ET815HZ()0WtVy`}JnK12~5nBOhKlzpMeA zAgbv#o|gpfUJ_`bgdloNAOJ{UD^()!H32$DAc2)6X~)+D;8A+9<8?8RmHZd`;zV55jX!11LE zV3j%I=|OKIsPiD%qr4S}1K2?03ReWZ@&*ft7)>j$&)Bh@tXd?rf1M;41h@u!L%c$d zX%BHb5W>%+-=U>xZ8(Au26i-fhyb25IwF)7=(hs-t$=(h5MPUHyjSEge8gC#BhQK& zi@^yU5tBi{(|curCa)V_orj2N-vN*cN4(1fgg1iz?@W3m&~NxTUDRAm!;h+NJGB*`yTqWmtQT8l%X7|&Ec$hZJ@AHSK5WaptchYX89X&Wy9-fypfQUJjG0w{O| zptt}4t!)7Cf&Ud?_5#p-0Svt{cmM$0Jpd3c_zI|c0ffH*4&E4i0l@qp05B~43b-iE zZclcYOB}!wK#O8pT*TQ6A)F+5l4;krk;YZY%>NRBdw~o0NpcxkZI6Jfr6EXyO7ZOTEKC6A$4$6?U@76B142KrlrXn;C`1skT;TZ8 zzky$$%s#Wv{Bhz~G7vZiZMl_LFXPgg(9GOw2uBJ2lVyy;p>AxAor4Yq-{xeo z;CsgPQtvq*3gdc@;_WZP{Btdo)1nP=sV|(gR);Anx4+gpb{$AJW%^6a=xtPgF0d}1 zm3O;O7)lHzhsBR+&J`8ao!9TE`Tx!6PL7~P&dvN*B_m@BYcW>(G|A~Nh^|B+B%=E< zIcZ37Dplz**5;{%B8S5#sk#0=RV;BaWA5Gk+(WUXfYpt(owyl4M!HqDZY*#)-J1F|&4lDg#u zv=WvbAJ<(H^%ENjO^}Dn#k2Eb-}9wO8*8xr`01xO6DS|_@EA#>Q*ilh?OQ?u8`7e zP4#jiI_bez4hZ&*#_Nsd;D6Bcz0n{h1L0DAwn~v;Hme}~W;iBYD*rY{cJU%$l5H=>)9gP-n| zV-s6cugbtE2-Y$W*(}%Qr;>nW9*3h+uM2u1%tS{hHzEG=E0e`S1Ij0;fnxPwtinX& z3l@o!mZ3g&bY;;=ME4yOyO%LFijXXn|L>xT32i~ zqD#ffHLHI8cW@XTmi=HGBOvmhAh~iee66a@{|+jk!*U(WV6wUj_ppmTSxQ~85xz&P zys9}lc!yBaJcG0@f>d^b(S^P5^P^g|Mu_QB)(G;fZcNzS^T(RCInJmIz1Vn_4X|PO z_8BA!pGN$n>@}$jsZg;-=9iztlfc#mkDU*~NkTp;tz7iQ@x-61NxZ%99-6e^FE-dG znm*F{9;$!7Tv%S-bLf%HLnXDZo{;@xI-FTKyhgdz13nPE(eYe@{>F>gw*+ zyAA_*STx(FLG^ASaPOe5W$%Y!;ujH8p=-StMMWX4_|8uMr{*fCyA$yJrK%JmH>ftR z!&$JK=mx-(I{(%4<31k)$T+QAoSw=y(RiL+a)^=XxGgZPTamsP++|(kCk#vCJZ9!8 zw@ooe08(cTZ9TaB;iZ|y1C=fFpE!H9A7AUUn!8TwyhpQ^H{J=q^R;gxi1Apvgp%1@2dy&6piIZ;mz5cG(|X(Ta^`w9{=4 zdnp{0&uZIEy+E8(Mn66fd=;<;?uyzNaHTeJtxL+0Ya=*&lZNZ}x7A!>;pT`T>@uJk zEEYTuR+foI#RN*7>qMw5Pt^AC{nT7-=&;K&>dyorXfdzl=bXBKI+?@arBOTmpBci^ zwR3Lkd_W!TW0SbuOveu>@=?a=aXTe!Al-3aA+I^no1FcXch@&UhPEzq9_=@={l0U3 zw-uV{GlxUh2s<{PGv3Ajo82Pq;npHeocEd4lxQlXr3loc+WBiYE> zjYCjkR}!Q#7edBhKMIy#=@StmISfODLu?6ke>?IITJZ_(s?V)?kWW-MfKPNVTiIDO z5+hrAv4=lDNUF9bNO8SEyc@Gwjb{#CYf}+az_$@~5JF##Sv{hN2Sdx2O9k^}vh)A<`pXV=CaZX!f_&xO;$E$#lbEx0q z2frVjyYC!ZK)&Y^d-R;f0@3UrOLNUZKEDs)M)-jB?}K%>t_0h>mTTKQSPRHyM{txq zk|bo11MXShYBjBByezy}Wr9AtyxMutD!HKZ29AzgP+sj0lsw0dI3*1a*LvPMa3{b% zo}EZsyglr)S0u3ws+Luym>Z+>T+@NVR0FpIxdp z4Ehz^+OTC#Ro1An`*-Tv;XLU>BoF!vFg1@A!CiZCkvS=pm)_VF?jfp~i$)Gt4*rQ4 z;^e>j+mzD{JbR^YNZJyxAHD!T@yB?PMt2?qZ zs>)xk=jD-L-YpH0!byd;bEQz{vkj3y(wJoDee&U9Hp&@CJT%pfa=hFSJd&FB!l-$S z$>p1n@n@ot#yL7i^pdfMHK7OQxbSsnX9ng*FKxeTq;W0+``(f4pS%BKzoCxO2tI#m z;8M}&`aat0!~SCu_u7HW0XQ|_&@sPmIz`;j^f~Jf4JYfCRomAZht;SX6xeaaDw6Sj zQ7*l2YZKgHWMSJAr{D>|AB!-#d#Lb zz(!4>tPMhz&l6M@?_cn$K*3-Xa+)San_QK?=WP4e=SVj-6~KF7CA>aD&A8OZg+X@6 zQ5~Z%31(bM?HNzf$+}YedCxZ{FA%0r7cp*02a&L(RcDm&yX%Mhi|}=xrbY0nzZd^y zhLXNt$>r%4P~$n4Ne9_GVaFhB?$T6$L2J}oA(Dc2(xs_ZSV)Op4pI@mANY>6`nab# z7nN&(kLsiY!JF^OAkbOQ44Wlb#Vb6TWUf6&k!;5KiM4;JH;Yy^!6F@azQG5@;S2bh zROI`aGiu2+7!Jm{AK5%kV40$uAr=9(>vU^>toatur6GO?$nit`Z1Mh49;X}>r>ytE zqxAc2Bl}^*O-}|Y(-GYMK*n{}L4@8EI`2ICYC4aQCjvi((9Lcz;Kp~mD_F``K(!x% z^Bdhyhhq7d?p`c46)9d~hf=qQ|4v8osZH(fJ~Z- z&#XX@WN^*c`krOj>S+*rk2?ByI{LCbK)Gb|z3$(csuiR(@5q@dZ^Jq*Y@+}ZBCezMLH(|}lmSw*zWFZUtR%m9h0&BFT>mj_<2;Ey7msH)v^RB<{Lmqbx%*jNXc zKh&D2U2>FhIo(rn3b!q78x51V62-r3Txs-;xx@VEfUu7KP`gPf!dAUyUR+@9})W49WR7f05a8)-7{=z1eanMuER#-xXs8nXfV4 z8yNkDZ-~~pLQqP&kW=+Io5~CTKLTFe)3eCRBuGr=R+}I?pOfXkft3qd!u*A=?MAGX z`*kv)Qt4PYj}MYrSn@p$p(40!Qlcz^GD%w_`#M6(J!;uxkDPKM{P!@mkfd$(B#M-9 zrXwT}!p;+91^Wq`x*0^v#tvQIx4I&+lqB4OU-M!wpVFk_GJg?r*(3D`Rb_J7=}?*` z8*FWM2R>g2L2p)`Zo1y~;=RQa(Beldm8P%%o-)}s}>(Mgo2 z0F*fYX;arBmz6-;XfcsDvqX6|f(ini1Z^8Y0Pr-T zVe3fPmf#eml%X{Z?jov?pt2CHhtjN}q`D*kF{zQuMk1;p3u#3-N3L`9iltZp+fQ}8 ziql$=SA@O(HzUMSmdeqJZ^YD*8MeZ43Vta9LDEUs)wPPH3iQ?V&g^h|r)IxsC{Y{fAo(qol11|023+wq*En-=n+9hl z3G&jU@1h&DJ?EK+hz=MF~o-Kt`3&-?hY_dMV{LUx5u+S zq?8Gh2fXPx{{q~}wp@F4Gl=`SHAzMi;jc4=UG+gWY&4uqWNv7ex6f*V9 zADGtEDP>mk2`CaN|6w!;^UKutRVv_cuU%$#`er!LBX;3+f2`U3aU})9#SIjLNf`Ns z9T0tchr9jTcb9j_4}0{#VxJ&euWB7j!~N8ghRXuX{sw-aj92^}Zq=r`T@UyH76rBd z3k!iM?G^al0f^Hv&z`Te>vzHZJKVT{uQzVZGqAAMaiA-=XnIpvIfu${FMGs=Cd$Kr zKPdU-$Rn1T@fB?G=48K9!!*Z*?xE)mxY;nBVnXUh%X0NP5w0QC1_k~Z9G!9D~z9EOf z!&_rFXS$8aU22V!d8w|cdYDhfSPE1y&Z5&ZU)+_DP<^yyFQSreHh+2 z3vlSi%W`I^IOJpo#}Bby;$+sX=nIlHl^DXVEW?V?1CQ;HjMD3UFcnpRK3S)(s2qpV z>KyMfxUB!IUks;I4W`wZQV7mdE4J?U%|E5<3UvfiwZ^R60-R4NV6M5iiTFGOgcPI` zdNi3-{i*y3n7$I%a!o*KHG~NC(02F`5t~FD8l?w8#;=#^PyBR&^yZ9?Rx+5tKLpGyrG&iOpjap@<#s(LZi&omT()8Y6;^{~-|LfVKLzR8%fN7zLx? zv~9s7mxIlrM%GEEfC*Y6dAC#MZM%je;DZKe$BY*WwSs{1jk$k zxlw8!MX;#~+b2BCaCt}S=-A$z*qo^mzr-hp9s9!(rA&dkw5rLK*&JIfKnAP#qdA{{ zXY~*A0C7SaOYmHcIJXW8#c(JCZJUVLK}z{s-PS^Y$~A~Ke0B-H(6AMElnzmkAjsiZI!gJsgG$4!nGZC zCQE@kQ#ltsY_<+9kYnhu8-eDu;oE6hjz+u$I@^KfBfu#ajITC}rCS0v)#>eoI~}-# zb#l_fcI?L=5Dv7uFC(w;*T&q>#jQs{prSIAb}ByuR%EO7QJa*Z>}?yYYBqA|o}4my zl?A!xqgK}}DnQWg8Toiwfx3bkWfWlldL={#QQQag+?A}zN_UMGZoe;d~bAsGZ4 z&#VWtaHFUzbUo(ZCrEE@(MGsD9A1Pr@Paaj0Gfm`JiSc7gM%xOkSyvB1}<_sg^-M( zZ~z%iT1zU;N|~NeM$1pze)ZFJrTnwxKQZdHyDw_})jqi+9;b$G2ih^r1wDq=Y;G>- z&`-xnb%kTRCoQQV$a|k4nYhKTqZB?v@8~vZ||=9^}_%0wFx~0E`G^W{o}6_ zxA#=U8(9*iC8#edAL#mCmzl|M_|H8t- zzU}R#k4aBeM~w@LBYSt{P^hVsro2U+;7r@ze>z8(w@+NY5GULt%xcu4vi2v$hUFc$6>%#2ztsF+4 zZyTcc)yBHkCS*Ttr^{QV<+XZ=lKo5gGDz{U-6{R~vQyYW^c@d<7J5vA4L_!7xm{H` zH1oAJ!pEs@b4DJZ_Oj1&V>BN4&X)MELC7-v-4=P=7NvlrfFoz9uCkB6mRpaH+-4T3 zCeVLjE?RDmqLXJ354T8_B+tkHEBs@x9$09+0o+nGqJ{Gih2G~CTOj;&iAIZtJlj}$yI&amx4>oEzXSPMe;?veRS z_FRMC2*`FdPDYH}sTRx6_gFjq%164@6>FG>pd^Nbsxu zcE|5>!`|s0cvl(qyhYE0iQiaEqrqB(I(DWsGk0zcm|?Ps!3_RM2G)HB)=dW1dB$YG ze9_5#QO|tQ*LfG1j`xz?B_;^2*-wn7@IDG_x0^eE&V+I0Kf$9U;|t5**;h{@C+kG< zJh1w?UbVRB-rL6+TpqYD#>Yp0uwBXw{LQ!3-sBI#DfctimGH;=)2OkhRMwU2C2job zABy_v);+$BUcW${Jmiht#ov&7TISn3FBNT|x1bt-?J+dJ;*uNt-}rnhJa0-SGi0|`o9b+Bbl!JQ_pd|SnH@ySXuWX2_kJ4R zSrFg*W=!O9=zuRyt=-?Ze(rvr`ZNMzTFdWUm(%Ut^mMd0DC`p7EaPQ;RK}ll=rFqB z;{qkAW+;xo6#4VutfeuV%bZ%ahI%!WJ%{*w*Q}`Ecvh;BiUE&+~PSac%!PnYa=&;B(c&J_ zVmCbXC?a(PB6aIc`aonwi`0zPTvF z3&YHJ#FkqfmOgNCDJ4ga_sE;2rbZg2b%(nZyj5{~!d|Nxk!WfCoZ{A3krou0YdA`q zYsZ4Z$CXT~51DO9)b-eLl?N?9dqj!L+*hwQXL3aR*vE6$T@8b0Ze5pLn1sl1@KM%$ zFLnR4<05io20Gf^-KyckHI-Nad$Sat?o_Hu%(U0ivz^sV7XI0b^0F`FJoS;vY(bF~ z=q5pimE@gzzF(_M<#n7CSgURx@o}I&{G{zH=pQM#$#yj-nbl=ul+4Pw0ub*n?7OL#R zVqKzk0>IZWVr<#*8#5n|w0?8>^$!i<^&N$eqPe&JEibLispbl~*3v=-1wG4GwMH^8 z{QWS@MxEy@h}Yb-PT{~jAIF*PIYp%32fXp<`Ih+U2HITxh=NA|IenGUhKtTp4~Au# zsl&n8keli-p%EqH(b|RS&bY|j&zMcxDnz?Ct~Lls6S8(jTg!Ey3pHZW9yNqDT59OU z%6(aJ9{6Uc;Yb;exv- zF_?cZL|{wBer>7E52SKyCM-k9uLJ+-rHE(S-Vv7DN6ol{@^K%k;CMg9BEg(jJRp%F zu#B2zxJIgxLLumTLoKYNMezIuX#}bqwE&h;z18YJXnxC|kchJe6FeLd)QaZ=Cf^Bb z6SEb#&DXogA#g!yCgLTspgl(nxhn*8BM%RBoijZwW^)FS5yF`l{EPF<`3LzuV4QLu zpTb9jbnQGYRIqoSg#kr`5$z1OU@08PjU34jEK=MO8tP!7Y?HjZKY}(}3W?r5w}o&wMDypjyW(x?l1W;l`H`mr1AkReSJQJ_91k>il+@uwcuu1H2c2$(L3C0zG7ByS3n z+!3zhn{%#6`U8t`6w$;oxm-Em;J)W0z#6pC1%gmhw8Gk>Q~J`rE}s6e9z<>XJec3W zcW_ktMSZ$at|QC1?&sPbJJy~?5+hW8ER^`~Pf{#V`IBQEz0`P!tQfj=dliIr^ro{5 ze}M!xto^cP`UhA6uurqdM!{dKQ}*OA(C&l1{=AsG>5=tJd2ZDYGH>Ueha#J~IZtc5FQ)q9<|ERjO!OJOwzD-YRa6=Sh}?H(9JQ`jpE5{1mPc=q})+k|~j z;~iWWeQPJ>S0)HaPNoLJuW&TL-2-ml_asqYq7#!s z3D4-Re@qjj6sQO>$nUiNZ-?hfD{ZFz5{TmCc zP35%mKtf=(%r?*MlxBb`W|mKvn| z7m1xot}9KE+^8)|ZJ(;hCbypXSScxTs1B8ez)AKgs@(Cn&8A1UH{06e@?4XVhbd!q zD*mLJQ7;pwh&65IHG6wc2>c!&gTkDC6nY9z>pzap_J@=GHvi+W#5z$$b00T;%2cJI zJN9P(BLbJ4h`h&DGRJAsTC=+}T)Tp5*M&ze3Og&M=3Vbs70WGXbOT(jlL_+$&d+8=<5MyH zj-8Vuh#bU(sh5X%qUIr;(S$@_+<|2}(LU<7z85K=;S!2DJkdTQrxsJogfg^sbCg62 zbVHd)pQf#kSuqOEVDSU?axBgx;jH-T1`^F_4rJyWAXcZDb2*oqGM6`JR;u&_u$m{k zEBPec%iv2XsIe&S>5xcl6}p4NO(xDQS3x|i>VwWumgdBl?&QiH<(^+)I8HfRBRZEF z7xIG-2_N2!R+V#5=hj|5$kPrd2c4P|NjEmdY3-o~*^{b$2(>4^40+0vX5z7h7xgc{ zz^6^FWYe=FT zj1#FZKips&Rpp7~JKHE`iDd0%ZgXTgOr9R*3G|)BgvYyI62>clFS|l?tWjvvi!nbL z9_cHR#wA4F3!lRCn8bqN7~hDhLrX^6a0k)zo-s3Cy@-Qzgw6gw0`%Ty?BS&Ku@a+b zjdw83!f2Y>TV+8AlAk?wUM!C_E3rAR>WUzJ9#JshMgmz|SNu)cTV2Ye1EJ>%z z(S~0MoI8>Nq-Bd4q5~#0p6GI^5&3M+I&;wH@#Qch4-VOQ=?PtwM+<*MMpBp&Wvk22E}^_2L#* zXDt!y&QzA(np8R&MN=j8sp8Mf&b69woWM)#YhCvKu%#59q=m!psmDt!_(s>K1oMg{qnnubl0QwtrU)INJxP7K=MH`rP#rIEw2! z3CZTsg}iSyo?LmclwGQqzi_266PSBw4@f?LK)&#I^-g?tKz>A{(iKkKH087Yw|W}N ze5WY~2LPBQ0RX`If2D2PIT;x_J6hA3&uH4jZT^!{c$9w&n%_b&Wddj7&Dp%(1~8IZ zMlp=DBuJ^K0klB+e81- zREVvsd|KcsG=i+eA&5)78%{Qwn9sdBBHR*pYLd@8)a8?h_YJ0Z zD(u%O@d9L?=p%Oh~!X8oA|qTtywHHBXPghmo~rqw+PN(nBL2k?sj?ka+FnuCSdclXUw59JeiO$L7WrLYgh1!r3qm&3 zu4NuG=QRVT$ZU#)h$RJ#@D{tMIeFQi7#U? zr0!>+Bu=JLe3cf0BCJ0)$~%g0r|6BcdQ#I$rK#GNL;7eZfskk}U`%2g1wh9cE5gp? zfc$%FY|ui9861{y`{j1G_Y*|taEWBCghieA>Dmfyt-?+#k%o#bW1sz5JaPQfb<6sF z^#KZ|L0Ex-m?t^q6-^r!I-YQJV%8AOfOlRDhmO0IDy@VG-z>J(8;H-p&yg<~YQvYA z%EY!{9(|-XCJuXY<&-=L{O0cN5?t0x073NI6?psd!Vm9KkR;O%bRxGM(*E;90@ck@ z4yCQqhN80?jlAuPTYE`NynyzWe)xow%6lj>11CMg5RMob}d8!ysB8oV{p!Ay5)XF%CaqL;EydA`>I~Z zn?6kU!b3g)!dp()%!NKRYh~im;MB1CVP9-V{!&;Bo$-rrhS{0+P*^l|r?bH9 z&3G#+o|y-i7{PfiLu;%ev3VFIMTLfbUzYYEvj~;qS2LqhZWM>tyku_WEJ=FcvBp(sS`Yz(#)VDhXv{_tgAS@feE0qairSbVViKa z7*i75w@H$$v+%3*W{q&MpjTGtvCS&}gp5%LnexrjroT<3axB~{T_L4a3X%O`%b~l; ztMqQMaFJkEA)GH$4bWZFQ0cHvs#-SvfbJA|lFEBAmaB`D%gM#R36(vzhR8L4=#a~4 z{DUr8Tr)Rn?;Q~qWsClNV;YOfrv7M&p$5Eu>0U``1e#TCfaxFeR2FC)WJ9Q-Ost>L z0$v$R&0bTX(vK{uUrjVufh;U^2*NfHm<>)3Pm1|aR{Ci-Vrn-(MVR$We+@*IXh7v3 z+E0UB-(Fxtv97r3u0M;?ev=c*X&C1mad*qOlk*P}2pV4JC>=906OdKFb)kbckvAFa{2kgNUUnmJsh2f=7Yj`2#U=x%DLi`uZYPT$VCB8C8n392dbh*PS z&voeaW+>Fbjz{0GV=`>Ez_}1MslFIyhJ1OG&FiO#_r8ngYIXPo{x^L}X2NRPc?k;+ z585`^lO5!40N@Ia8ae7C*DlG^89L2#zfkWKC~D!EhmI!0<{*=#-dMlLjOc+$pGrfy zt&A}PO`6=j4Ai`Me08`S{EMt2l`Y}UMxu2&tdMKtW}7{XEFbjN&p@Q!T}(w=Mh@D< zH=#p_vxYADy+yt=)t&!r(gcvNc4A#N&C}Z5wK%*>52wHv%jjYw4xYddH zH_w4M*Pb|=rZOd~uF=)5YKSIhX~P3!MK7K_)lDxVZmbu&aSSP=1^6P_b6kN6-Y>#T zs1cJk{P5z|To7f;u={3*c>V_3a2WWbmv$DtC~~FzUG1BP?$l1V(7Bt_?}46LRR-hw zn;X1Hz8J1ER}-5_H)CaWByyD2=-j#--f$%2^9QB8l#OXBa&x>F&DtY43-v`p%2V_6 zX-uIsM3`5HE?;gd*lyjt(Ue)^>C!GBjSCQOq ziIc(l!3>(Lw?JQ}3>u#w{Lqge{e84%H^?x3-P3{QKmsLrab3}(}R^#k0 z!0PY68Kdk!*#Di2jb~z|b_(_He5V2c!25T;3(F`;DA5bsIhxQ**cw^87@N@B*t_T% zING>!{Ig0lz3jF`k^c4x^bVm20!yYIt3`sTW^-$(V(m^O7KmjNz=pGSB%&9Hrxepv z#e8kpnWhz|61{{U5!^tE)85W{`7(1$x%7RP=aKUZVE*zV(Sd(Tmoi6zCT*d&V7EBo zLhu#loc`In9vV48z)B;F{szDjQR~TP{o^$iB>#@rzm;bN-g0KSV32_1<1Qccm%(l{ z5EKU&r#Jsb?B|;Q!$9w2>A5UQAli=TpN&BIRU(NsVQ3x|5#Fv86nYg%0!6q_2yg3< z&|VV!d-Bm`skOch?XlwAjvkS)KLE*6I{mLxxM)*Q5<7{L;Ry#%zKu%Pa?#qo4kW-2 zm$BGvoN=TqK^Brmawd1~jFs%B`eVR-PX*<`cgwn!>qm8Tq~Po^{_y!r8sz-q1!x^* zreT8>>!Oj90B@aRza9O<_?8DD;eHeq;zxnS3^2_R2T?SjJ@-$BIq7J@5*OfTl*jxz z@ZoKBzbk=?HQ=qS!8-{6*Tn*L-^1O#OsA=bG#CtX40 zA4l4=bmfq9@5dn}!ItCug!_3xV45jwHtZhgsX!#8fhCLnQDm?KqUiTwq}-cX92LIj z4SHb|do)VxdWO=VU|G5(Xmr!QH2~?F9|=p}NuA~F%NClf@5btA#g5eS-h=4wb(IRm zLrz1Kt_Vg9K#$O!fx$jIJ#{;K;f(mb{6*R!yUHz=LJZ(V^sqfc41+;(K3BM*u@``b z13F2`tIF|#e6yUkU7|>XpE3U+!VvEu-MP0)wiIxK?!dT#;Eo7PD^|Bo+^P-pUJKUQ z%@8n*d+#n&9hGZFB3R+u2LO)*yGbCnfLQ=8^HTzSU5a{%9D;n}%Ko9{5Q+`p>*4BB zM!lQ?RMme8R*YXsqY-}#$XL?6*4n|FDy|Qe@Tq+Zq6Fe!5GaBUA7)FlO7 za1oGE6-IMI8_%LjB&3uau9%z_I?rEswM5PQeU7UGTaWfcA$^Om7+|!+%OKRCXq(md=@Qk~ z^LYGj9nGf6lZR>J+q(67a@T;4^xq*yy=w^70Y(piVLU{L|1spTu8fCT82QgZ4%y86 zLKd>rdep&m&L$IMqYc3%%jVL>T)ec49*u`viMVpY?8oH#irAFNy`$JgT7XR=e-{7b z<8Swu?Jqy*Ov9D%L7+w$7KKIJX-`hSb#}CdZ9;A7#>G`I=P_Qd z!Hy*aq1S{YhiRS8I@cc=uLT0WK3fr)F@Ci4H+&C098ApNTLha(+yhf~l3^B;U}62; z4~Rq74SoWLeXUst-%4oLk;HaNcJ&T6vJx>1!|-zam9jbS8^|O)6XtAvQLzo7E(GQH z4IZ^%#VBm7ChRJSK1o#V@1u3A=J3Ll=uLjE1^&iuv&cTb*XnFRfjD#%Aw zu-RCT!toW$=qa7xdA1oiKSj|)h?>_--efCP#nK~0wGc|-cS!yhQv*%iK$?}fj|7`z zR(iH=B9y%`eqXj#V+}Tb<%=?XO%ZAxF2*R7vddpyO`&(bUz#OaZvK~~fcfChn3yU^ z@}}niM6cfO!wH;>B%7;_wpUlXjC{i5ZJI$Ej;b;_DFBo^t(+=}3t{m>k{pf9UKG$? ziRp-`t+IXaxcLmv)|;pyPf=B;qz@COma5-8M!F17&ZcP@Xj`wnVpOstv5UG=ghxU{ zOZC%lhC*f4o#`j8L{(j8kS?|?bE>bZTzdd!DK(-=2c2Dba;xtXj8yMN+S13>Xg#k0 z6%k=ZyM_;`+riU?=i=w%sYl-OT?d5PQTxnC`bhrB%&u?2&7AB(olf*x5Jg5Lu^YZ# z{RBwi`Lok_ff32@EuJ?&LV*VS2x6lzG=)TiURcd_7}ux=OyWR$;RI1w2Y-q5NEbSg6M^u z_;8hd-pd@}jv;?uwv$cLlnaVDvX>-QI+Mhf0OHb^JmeF``k_IXH(R|4Y$SvhQWzxN z>J1V4j>q|SlP)!YG*FfJMWBWVGV_jgDq-kDONbUBq4^1Eb<1?&FPi_TN{Id)hJaCg zg)#{_guji0X>R+xEHrqPEcbS~85$7l_Nhohnx8gDb9Y(a8$&P}4lWXs>3WNZB&DbN zq=?bg@C5Tqh`HpVa4M)Sh7_<(zSQKk8Clwch8|sAt{am3(;&VGTjO>1skyh_=a-xq z`!`>J(1}lVgKXKEQ^`&cw+6Qimz=LKagW>eLS%}L1-j{n{65e)|H(AT>W}PBq_uqU z7SNJ2Flj-1(s-jNtAxHW?+X_%4V`ukeVYAg@g)A`OOqBwZ;G&J!jIKY&ktnG68=JHO^5>-bP$KriqLn4=SF&rpQ>~WJ^Vptw{kMb2*m~aiiIEq zzHXjhmU*q}j~Xb;1;j>rB4fv|e^}nPi*9dufnN8`xQ_q#gu#cQoX#{=ztxfE_bIz? z4nl*!uEnK-gS{@#nE?sUOB2S=y4YQ!d`vw5DOa%WE zk)>v$d#q`w1zDM)Q&EhMr7XJpm%{>^^@D``l(CD6$vW+kP5Ig-yr-#?K&U0BfKeh! zv6YZ2|DQ30%X|<(`iN#YFRwxpEq9*l!dCdeQ#F(*y~~IAtk;OvIULwMM$?}JuseBC z2#j*}GWhm45(yag=9e`hh@#{A^#bQ)M$kzl#}G(~(x;8|RTEca_$U?|ZZS&dt<9gy zDEgH5MkXm@(JBfXKQ!%NAV1%b@XMo|(8cmvwkk)duZNJRTG8Xfi;C|NB2mGC2%vwn z$uKVfl`8w0g)`ImtkBA6E+`i^!*{M6eCm~SlijYWI;a1N zxiR$iVjgG7c<+u%i*y-;df0pE`Q7}Ul@jxR@W_g$3d_?`ZvMqj_5H&CZ-p$dTK_5s z4FJ$b`~OwQ>~!Wg|53=}i2n@Oe+n5KBw5amI@T+8Nf9NfJi%BvIa@m`FuypZ8{*I9 zdwq@W;@ob=i57_o7sNao2Vh5%tC`;u-fZ;-*GEC#+1x(JZ|5l)@Tav~uPw(`m)gvh zzS)6&YbmZtH7qNJ-ke}B-r%OI09of~`YO;S_i6ifD}b#o+t!S3eLGV(KbhPZg0nnfaYrWMirO?Nrb_0+qO{^*?1{r;5cYl$8^Wg zA1+#i=Bt6S(Qx{Vlg3f|5t_IKA&jiN2ymvZbh}*z>NH6uq9PsVHlAfK6?fO)h+YUEqN)$r2Z!Ca- zo_m;L_WNNtznZ0FefNg-x3@PL;qi^;9GNK?itSbN@^WOEnR1Rc>C?m<-=~hCOuAS7 zYx(Sw1_45uBRmGY=$Ik)Q z@lf7toJD|<7Y%px>p)H{l{jqFXw~0JDsCFa{ zvOg&Y5iQwWiCLuLooCZa6_;c1ck^`#Y67pGA06hbbS!3{EWz)W8N-45|J04p%v;;>U&H< z%jJ_S`i3>{T#Lvx^i+0tHo~5ykNzFmZ-)Nq8QVT8H|rr;$ zR?+XGpM%oZOBp2cL0wPFu?4*Lprlz;V;T%2TKetShPV%q$7d8IEZ4RT1b9YN@Cqsa zQC!v~U49Z$ETCrzrmTQr)p1U0&U+ZqEwxLI|@X&%Ep^$a0tPn2BEEM-T`=Sz@ZlTx9X8B zKMN^8NqPOx9@g1$o3b7SBREw+|Jj6=zPW6L#%q=OKP$5p=_pR-*)eO6iV~cvz$i{7 ze=S{W%CX9Q!&#L5)HJQh21!?UH55ZJD7x;dc%zW~lap3#f4)?se~({jMK3~YHd*^T zwk#C#%H^V=Pg@q&8~dS$qtOo^5emM#xCi4JLv)4f8~Sw!(y{Olw(0Aj56+US1Lzz( z@TP_j@42c}i2QWr!y347SZ;}HI#l?h(3mEt^4zWs0%-JV!gmKVwl4b2jH8vkPYve?9ja8^a*B;#*2|^->l#qD)x6@d zA)Q0UhKL@hj-W-X9UfWJUrCoV!->VzrP%5RB^Vx3ie~e z&5@lTWsh;foox@xd=pzxwR1R4Tl%z*+=(t`&AzL_aF@#n-P(KM5UBS~XAK*Pz#dgP z&nif`$+TGkY}ZI;KNrFsN#}qb@bE<1*@wUmi@Ds}r(1N)XdT!Y?k1$ZS2B@BhpKL5 zurDuV-@Y6y@^73n8c9_G4jl0;Y8usm!QE=Z&kXIgbrSs>5gH&AlDvYl%u-3S@Rdc= z>XK@OS#rU7q#+wH0IT~CSGbr))+O^xlCKSU15V8!z|0Tt7-B6+ZuY41llx}FW*%e1 zQJUh!AmvJ-((SB~>obP05DD~A;cOe{EhL^!#}JyFVBlLMrI!F&;f7E&ve>@js|<=Z zRX{|VcD1lslkcoD@wI8;B4b5D3V;eE7~mmhqWR?+d5>771=|Sy=val&Ii2Ou=Pub? zWG%0e$LXX)UZv}8?_>*`LC>WRIlqa*Ev%fFd3YVNUmqLdOhDXEFViIgT{4$OY z9~O=z=lBxA!U;{&##6$cf}GkA%u3tHzX{o5iBEB2 zfB)_k{q?JdOC|Gk2=K1v@|F9ms4MuV!o$+%7ZF#bLVRV@+2DEz1d3VK9R!Jo*B04GN-l@+_;;5teU!P+Y(UZIpcJIM; zOFhQpKN8YrpT|YfY`<_OeMv@o_B^OKM!A{hj(;2&{5$cVRTmw>{g(+A@z;YwF?`F& znRh;OU0vYMnXZ6_M+`3c=$**VL}WbY8zh{IQ~zOwUUaI4W zb74_^I51(!skS$~QKe8A(hO&mXckBYn>+dDKNW9?-ua^Yh%Js{n6hH`nTRbI1Q$YU zWsiTwOBgSOy3qx7my&yHd(`R!u&R#Q9=%zF|NXE@Z(DaGcHO@;WxOp=!~sDlldsN*h%rw_^K-9l@ALI8Nbaxc zSmEvJhuv@xMz9CqwImvH0SY0JhGT6=Q8464GeX$2Lc&1#Xj{!OKaLUSDNx-HLX?>y zt|ezVq?(*>)8x1ctRa24C^N=*aE`=#@m2uG9^g?(9%@51W><=6S6{nvQ_5caZ4Frt zi+)-n^PDyWEqDMSK711Eo+97Q*p0uZ^i@CABOrn4bR?{Op(nd`a4DUd1iAO9I z0ovZGP*1Qp6p0(=wV$@#L7K_dU_V?!p@dguPSWfAE)7@hg>)~ofwYlm6Kv852Qb$A zH{2FEjWDf{uzrnmTeFHC9jv>LG)=O26#F4O`^U4!Fp2?dGP81pXshgSKLq9M-`Ad= zgi!OJSMHFQSccY$5zye*JFOH3LLysa{e}Hg)+hksLJ=6Aes1yhzoa-@8mT)58UTP< z761Uo|5c1Ova_+bvo*1Grgw0%xA-T*b-wJjI9h*u1pb2G>h2RkZVuNK+cKf6^Oudj zCp09Nj@*V6Y)TSE8+}YVG7s4P{RfibdE-VlCQZ06AS025uo~p@p^ZM+^Qe`+CEZ0)Zo!_75eRrJbZp1A0HeXtQSSc4V}M|JS?3W zbDTeq%F@%)be&nYJhNk?eEe;LCDJ~pj~mxA(sjCnHtl-GL#SoEV|#qCa}amu7ZJp% zw%yB@aYyENM|@$@1j*un>a{i+aFFmopyTxebj@iKq6LS=S+?Z_K7;MVYsV*3qib>5 z$&}SHa+`OWH;&{=a&X&+BQyH$2CoxT<{y{G56pT z0A%5D{5PwGe=LQ6%tUL)R>G(Qw(oNR3LUcM=bUdnzH&!D5ZclVa~r$?ed#VaFhGV$ zyR0v}+xO*j#SfJIeHELMWdiXtkNits zmt0H?f-|W%3U^nyW(x4~^)rakh3(R44H<1BWiH?c-mW2hXp3UI7E#Ui`D#^*;4w}g z^=ly}EQ_=2#O|;3c7}VD=S8Jz1VONX@tDAh;Uc=M-R&9?rBW?bt=k=FnWz2I1#g zpZxDoK5GtV9&Q`EqDfF(5RH!)f_265~(8#P4BS_|&_pA@ch zRxQvENVB##@9nB$$)?Y!VZlhQVYFjE%XczPqeOd}zy$?u5ee8HRWq=+4XNIH63(1m zElWp7o-H7IcE@}hx%z7bE!`t7Eu`hU1 zBMa!!n2h!TSuK5<`>8QqleIC}7M|2W>Ca!Xb0^~Qxud8@=Vi*GIQBct z#XE_2Va;C^r)9j>KSoyWD^fJGwWi=8fj)48!Qs!D8)|kPFD4kY2sepMQw&ZPA=Jph zjudZ-`6$aAc6a`$MV{flpAu7t@>XFlcCjWak;aQBfR5AUpdC0mb96T|nEZ=AQ5zAs zI0PA+bR-i=^Gi4_*?PgYNh}pqHVQ8F61YU3XDl}X)sz-ba$0GASef5Tz8T-lna&|J z1vC7PuWqo?1@FlX!63@~eY-5++F&c*9Jx3XKK-WtN^ zn?r*9Zn2ykpnpo}A@sFqOfa`-G>6-|WQ93|5b)C;{&1-Dai@=NgGCiXirzW>ZF(HR1>2Q&A?};L2+{Y%JdcuHr z2RpId?sH@T=Vm+&;hIX6BM8RF_};S`FS3pHc`(Le;gw2%?0O)o61VG>@Pk)1Pd9g4 z2om`zXrrYLY2D`ktIliq8-Z5dDCEx&r{ceHlpbNUdW-DB8eDljaraNyH_fy07R+2P zHg*t}j&{rUaA%9cI(309Q5j=e}{k-Wgd(c?D zp~mG8i?L7YCD=_P#3>l{0>h7pa;+?zbGfyEGMn^Ihg>m6PJ$=miGX^p+T1fWEY$_F zRcy&`k!fpX_TfnMM_%5BI<))lcB=mPMocqPEsi6z?51hvPVl8lr!x>?S^FVKT0R7& zY`|jBLf>^-X+swcw9wy0Sj+cwl81O;h_@!L>I4Ut2MIR#^)zASTc=U9*I<=!#{vWu zQtB`Trp5x{v#;lc(>|MMBnwM^ztQsTTlQW^9=mAA0t^*a+ANn53{us)#kL)tpyVn@ zMXFT18slWgq+Sa(lq!ak%%Nl}C?%#?GUU4qHpUAhtrISsI2E`9peRY;OohJDZPL7%vQ4PjFubmnH+9 zXyLhL@WB98=;VL7ohYp|8?tf7!LU{5G#%9-Tn+Yc1C@vX3VjImqVUg7qzqRP0tmQ~ z+(%Oem0{GtghCTJC8e0;VsL^oAL20rb2PgkBh_P&%5Z9%79f*`{^aD0_sjHEhpa@E z`W?Z9EX@-_TRiIs07X!tMF*Fo)|AOg8_-=zY_C;lkx8m_`F`hKYu;wE1>A=ur3HCF zi9~DciOWA>3-O^3WGng3f!LfL@`Kv^_f8qnegFeg^C<#XpK;itlJfIioVVhc>vN82 z2AHQdP*8$tX-yw=QVr2I!G?mI+y#h^)h(R}K6<)SOG+s4iv``g9Mg+wY}QIjX!PK+ zqyY{$QTvOHC+<#CXlMllI|CxLATc$0D}{K2Ka|O7zmh^MYUg18D#mPV8+8o|pWiN^&lvIX>mz5|FpOdJN23~g!*Y&;JP-(oITc@h@ zZ^W#=B2w!0y~tUur@kyu8}z-aqx0;}hpon-0NePpw!^z~A#;Yz3eZp5r zaiFMqSy~duQ84Al8F)kldB|lnOZcM(*M%^dCrABZ6VXiS z16XK+G>FlDv}uAs7Zu3>Hac7BLRsm5G?Kf~GSeDRouJ1RQQE;$$pWP45ngIS`b~IJ zw1E^+SE>Ul6=oKxMHsCLOfl6s{rr{xTv+C766jp8E;a&DUrfGhQmT#Fbg0FOwy#oc z1I>`cnvCiipSH;JE4yYXc(pDe!Yon9*pI2x^9%Q}pU-Jh5iKs@MD*9vt@Z z;$b2iSWpXGm9ZK?y2GNv>FB2{q!4JR4yn3Sl?ft_z{$)J~D z*1c*dC}-iDFfTWryJq!y;Ea^%Y}`V4+yx_}k;D5&Kof!pgkpgn>YK=3?u}8Z8Y)U( zqA!%)i0N74zPK+14>h>hx2Uheu`hW`rNi;5))|_j)lWrdsG?C38Q({wHR%a3V3FEr zDWH!+2sP0h1J@WQWDML$2gT}7u}mnY+anH9=p4{fM*@ih>zO2(#x9gZsI=m&`O2kEayAGlACknt-HSw&0TmQ?Y&#Bb-;B%@sY4_l zEtYijoN381L;|0z%ej=e(?rvgc^bRC;z!$Na{NWdnYhJ64EjJ?=0iS2pH4fu@VdQt|+j~4`o)$}1NB%n_TRoE!IALo>gnQ%KfWek;`S&64F)n(9_LN2K@> zVNJ`;%kOVESKLzxyh?8A?tWNF3;wZzMJDerfX}$Sdw@6-iW-^?opFZ@If4e#(iK?f zh?Iy_$oRfMM7q&nIm-|!(Sj)PVwZA)dEWE1NP05Qc&r6VaP+V`wNbkjOQu9b}WPa_GJ?Ctu13Q?TTKVrcMf#z3o+!(u{7G>CMVOa1mtoPbc@xv`g2Q zA^}7;P8avUv_Y3wJ@cg_OhAyCU}$z&?tljo`~I+IJoZ`k&bKLYKz@B$gwhv?24AQ^ zykq(XbR0AYLM{&VEB&6nA&u5z+ABSJ^w8VJ&s5M>U4wwd*KVH(7)b&7O?Yy&ZG}Ij z`y4Qd-ahCO6BKK;mUCf|5y4F8th95^W>Tu?64@XOAS&`~1;)Fnu%qP1bZ!HOEIZ;X zK_mpUHca-0ecs1=4zH0fSpRTZMw`9;Y|;9_MHLv-nmZ-lsTms0c6Kk4fR78L_+%t+ zc{{0g({-wU%w|?sD$cWxtm_i<+d^Uot#NKPFul>D(P^2VmekoX%CC<+Hd18>lf&NNZ(a-!}j>315HA4YwzFipi86yVH>(w2Ye_v$VSI_zjA z_E$2lD$~z&rshm%g@tLc%&wFIR1&#ZSvpHPn+J!}?D0eN4R??Irj^T7i!E1EZcqI& z8PwfHRwLW>^`X~iXq%B4p2wSB>M?H+pcnW0W}NNd`K}(060mM`eFSK)2j(nqCIX!8 zx4W;K_-_3OX19iCR@bn#DfPBB5Y0@p-8K-^M33@(r=CJ7^dd{-BzL-5@Ez!o(*T(zBT2N+>Yv73#ep&xX%)-d_SfJIlH5BJwdr{9*QJ zZqLWq_?ycF&F;<>5;3Ybj9g%3w^wrn18HA3xdGw#@7kflUjr)Az9+G!0#PxU4aK1k znj2>tkYbk))`8wun)ab5u2u>EB1v|M4q1-cPn z#ECp>>>`!=AvYY$t+WE|QQ+`z)y)TXxeW353r3=NCQ7L!6picx_9`-c-Sf-bZ+JzLwdxb^G*D^f zDbFqoo?2!-I{G~Yns(HyO=)8fGs)f)H4ZD9c9*-`=^Aom;_c|~$EzD@=%QD+`=D}^ z{Um_)E&#TS0xdv2xqn>a?Ug+u<9$601k6!-)dZna@Q5e{4(Mg%X99<8Sp_ySc*22+ z^mNm^R~z`_q-~+Lf8V=H*V9HbD^>Q3NEQR2EtCm=RoyGIS=)^B6@R==-e&*mj_2C9 z*ED31C(_dksJ=vclr>#Cgl)Zz9L3Yaa=;GhiqeWRr6m^}>*@Lv$Sl<+E6Uaykh2?; zO9fRFUpCPT>c&9v6s7?OQ0O7V1@r~uMw@_>h#)&OYk06 z8a?3P!rF=6;{TA(|M8VA ztW6y0%xhHi?6%kt{NBnqIN+^-Rc=FVFal`+Xq8wMG#p8(Y6Ad6X%-N{#gIg}Y8kJ) z?!+}xV{GhDk;FLh{QPdmpN@ZhLEi4iWN$%x*WYZYN8nD0s71VDJzShDPoydibbj%C zKi`k)@b8b<)yKPQo)p>o|LCf|^!joFRym?KRsvL@mJg{;2$_agZ08axb&&7EI`Zfb2|irsA~vMQR7t9w_5$j$f^r(l=3|+b4H|=s=MQM7^qTk^$>BA>%MO zFPO?J_biQ7qpGT@<^c3ev`J5~7YKMyy@7|+eJO=;u3K()avX0;f|m+b%Ko8NR#KC+ zJ<+{PLNs&9@sw$#%@;Hx=lHrt5n9cE=h@n{)Z@YIc)2y*`g6~%QP3%*N-xh|I2a-v zwfpt*)=tg*($w3uJe$zpoGTI+bT|y9Wdt}&ebpG3nYc)bXo!! zVURI8MNvTah>87-X`nw6xIcN8jFs-6U?IQ_Qbdv6knTC2K~pg%zE7Y!&f!%Wi#TT* zE&^n<9yJ*3EAikb-6WqtIT1}WPA>gg7@WmYjXEM?G>zab3RX>gAQ4P{kaKHb3P|DlF=x?V*&LXpASG|V!1XE5(K*y)LhiNPx+)!&Q{yA-Tw z^lyL!_qzpxe6mcRW3x#W4hY3yZoGeWcED#C2z!QPI#8~LP!gQ3z&a6Q3cIhGv5md0 zwJyH!Rx$%qHXbV^MG#FP%2$Z4x8w|EQ;Ab2vouF_5lRlf(ltkx;9C7{KWxfF%^7v+ z-wZ*Qr4jO?36Dz_nH@`RI`795z}@0REIeikt%ffjZOfhVu!&=Lp3b@-6{m+s8Ra%7 zCSR=Deast&L|zRzl8@Rr1#3D!xQA8RuZ*2Y>8L|MzTd+`_}QyG8*2E@>Md{xo%<^_ z4TI}0zVlnz+e)B5AvWD+^+x~EtdDaz;Qt})9D^ilw>DkXW!tuG+wQWBF59+kcG8&zWx~&WVYb9~rr0$IiWfWInmpv(|Ors{xsVDaqoV-6IHO8UVM`f;6OmY-)*D+cjw5_$=R6RVo}4! zE=v;e9}%PB+Pjgq)JI~I+-KKU5*jDpQ!{+b%!J|6D+@Z4Za^rzHL&n92 zt*wsZHXdLz6z5wYt*P`OVu{lU zf4V~k^kq1qT*__i?rk#H4_2EYa)bIUWp{EszPWaGGlC3bz-uoS@_Ib-G?zxRlEJfY zurzWE-uox`dH-QNd4-q7@X$QMUA3K{+reQ`kKVy{1HGmz%wDTxxydHm&ZHe>rY#%6 z%6aEaYNN#OJDCSh=bjIZ1+M_#j4iP=zY$v8jxqQ2f6QmeaTV{Vuwcv;w&Ojk?BK@V z-2~z;gmABoeKQwi{B;t_+b%2W&sr`?sTsUF4>_iYNTIOdMPGk&sEwJ`eK%yN$(0Ay z$V6%nCfPm~WG)dP6<4%BO!GLOG@rD6g4{~qKf^6@xR^pD-FFfb zmUJtLbqbEXL){#)vGY)*7qsoShIUi2YzegH{@WOUb|R~CLIdK0N{R!X?%7Y=@PXDN zkP!vurZ#b_D>($GyoVI~$H3{xnmzs2etHGk#)(YdAUI4W58HUs7EdI&~Je1CxvCZ3#f z=w>IxKp9}UHlDUDr#zp}qJw#1#v=TDaUP||DS{KHhmQ0RCKszu`j!s=3t>k&OCJZ< zfH`-Ib^SE{tQn(~v2>Iz8qp@3j@;T>!up@ASVQU_dT7_lj#a=jn@Gc#_68# z^>fA#{26U6eM5^Od+~WEvM?Epzt1OzohL471kxpvTA@qiVgGsQv^!4@dTSl0iK)7` z-a6_h?w&8o`x({OeM7>_rzB>L$1g3T z71UqM+bL7An^&SV*%^bfmX4yULtOCdze5G)s+*IqCsl>;=^5xnS3f23x5_v7cnu=D z3Y~~Nvw6ebd$Wi3B43*4SGHta@ljOMA`j}Co)@vFjk!!ciX^<$mBIKn-LA~~agi&+ zUxqXGeH={o}d%wQo1mzC^Aa zejW5K{p@RGF5ODP8dA7zBc-@I@Z_*JzwL1+a6jlstB4ExjO|#Xv6SVvNApsdW16f~ z>n`z8r`uPix^hn9^U(Ilf>y8hzOPM6;3YYRF=jB*`=7z1qJsLu|2t8%`wk%A^ufOp z#s5hWE$prJjlb1$^cF5Ev$0v6s6Nx`I;Qw7cuX0m(kV~%@aaZ$!01_0B&x#joDu4< zgoM8eEB^K@lasQ{U5F6xdwE}RjV$?e_2%{Sd2gRe?*eLCbJTe3lVBrDlxNDN;VXhS z>*>Ka7aHaUu%uO08j{S69k@=|FWcwe2Y?77<8F@UOQ#WDo-wMNXW52?S_xGg%Cag} z^8yx!ewgS6;(MONt?Q*}8SVQTz0<$z>YWNNcK>-7ave~yIMfs3RHOI$X!}%01A&Fh z&N2=I=&wnScPQS7AV6TkSEw_VT@|~*{?I$XifwaQG}Cx9W?DT(@#HPX zUzjf7erl_lA~~K^TW340$EGbUpE@@EcT~J23Yd2YjcEw&>&s$vu#m z5cuy#azCNXa>%4c%OJ+#s?xKDZTpbZQDTQ)e-vOMW+X~7{=pllgD-=$fPTrG#t4~3-} z>TJRoNgP+aFqF%iPfwB`q=STVk-;s_dmkSWJY0t(k^Pml%K@NOwI;qDjr10)!*Mb+ zNJkU<&18oC5rfAlLF^t~@l*1bB&fK-d_!c7hY(^d-7pzeX|Ayi(7nC~+$crv0ydYu8dYmk4EMghWO+raa!!k!R`d zRXjE4>Me#Td!pJxb-{E0V4zZGS6CyRnZ# zaQbNR(&gG`p9zga3#BB^Ykb^UAzPIO1-_=#*>o5>q-&EbN$53kZcW&g`0im=7+y{7 zE?>wm7H@S&z4M{X&ZcdzSbPMJyu0P#Q2n=W#kmAH4$}8}y}k`peeI+0fS5 zl)>4U@q1gRsqIuCiR!DM`ZZ9#iqXt`i=4!~x(OjV@w1SVEM2yxB~sYB*$PpEp2>DH zZX0AT#J!IO0cxeR_j;q_)!(t)*$0g5#e9MeJ%_F~6yMx9-bR4YI;lVWwPa+|pNBmf z4}rD5p#=@kZTEJJ)jv=(SgZIAQrFfqmg|t-Vj_Dj_D~ib(rn8X64tLud&8t<+L`qB z+c(2X7SlP^_*{SSx|%>giJmF3un-i$gvOvo3yRP~vtqc0_%r`S9(%96@?m;EzHv z%(28b5P11vgH-ks-GK_X+4~l-*deJ$sae5P)$Ddum%h&6nlR5*PoBZVlE~0JeGt8* zWtI+d1J!L1lQ~|SLG6;2!=cLnsMW8-iVx|j=_$`#P@OG{+8>Gu^Eu^ul3#ek1O6$If2UNdLhTkK zT?~2n^E7UeU$GBLOy|UPhYKB2#vJmyR&tu;{>a-!9*)k^Wv!w*C%N$Mt&##pTJnIL zZzlRBXefQ%wq2D#C9640N=EYr9zwOQ;m0tTBigW^l9>~X$x8zj2N7U?_#=NEZ#QEq zBpzY2B^s)%tpVU(eF*A*E{Icxg=P1X7K#?^iMmVjv}f}N3RRu@e$MV$W(wY0QTO3ZDnY-@MtpPr}gsP7ys+Xb_*=1LjBWfQtEwy_{M-FIlOmP+N6ZP7+ zTCQx&oKFWwZIR~o7qu^uXHG-U$-Bvs94#=uibFW>&|5RTGFj_8;E5YYD5KYu9@$DY zSy}kpWf9mTPm0E!AuW_Am;7189INSARp-a-WY<8a6Qn504)g`4x!;m95Yz#b(UGrOb~q-jLbcoLy8*6&T&2FRq~+Ja-!$R%so0LvMB7TXaz3 zZbfmAU(*|*t!q1uOE*jv*peY~wO=Mhx!=79Yx1RsKO?X0}1(j3HVa0Jr+ ztn&H*%=ZoK<82&05r-wTU`pTs%sVlV(_2X$Tz7@ba_n!DOC?Qs$HrV|f!=CM&9?cP zss?J3+J zaSG%UG9c0dtiNMj5)l=h#b-aqBn>X7QQ%N^?9%)2#C9eOmzZ^WS$%o!v{+%8PWka=`|>;+-=n zlmNI`KB47s{^tz?H{Jlt{44o^C%yYDsz6o1Dxx~r+cFFY2kg?_W?ZjAbsE$w6t(U4 ze+LmX9;wqVcpxB>ZXh76|7V5pU-iO&0jEyu?8slQALIu+g{7LJ28ymrRZknyq zK{-}j$C)HCpv7BdaE&}>=GS8{ufR(0UHx`2mpSkyFJTYh;p5zHr=gNzWfyyx-ew3d zamLv%&wu_~DYe)bj8s@v=4RnBaD$w%o@@PEmzQXDi zE5Fw}p4(J_(`~mw4kU}5bI>nxFVGyvFgVHqcWhRvMOFOtZ=|6tf7K%MD_1kruGt^E zGVNFplVTb$`ej1HaRk4K3jlb9+$4YkgX#WEd5 zD{1`uD)p2uYK%t8$}0ASY3WqzT6D!kog%O)^*=6$0&*K8CbB9anMH(Y2QaePwF@|` zSZmV#!A%CNK?><0Yf82YG-axAmeNYLzoF8b)5S@=`b`gEWRlXdT#DmOhkzcv3t-bm z7c&AS4gu!P@)4W_k^Ohes@I^#u+KFBDgU+fVx;JGA+x~|K;+?AvVXP?THVz zf5Z>E-gdtov@JF!J$+-5G@Ypps}J8Y^X8%;k!57IOyW9=?s?rC`pCl0A}@3zjt)1*t@0pgjqc1IIXYv=ArZH=5*FY(mZkdaX@$36p}God%SP+XxU zDx+?7CnlAu7zAsfO0M83@;qEzuxOU8H{~~XCM_~2x4(8ql#vlpunZOR$4z|tx}Or* z*(PjA<1S2qJWq^ko7oyBT|P7{i@us|$$|vo9crQeOV-ZiD5Co)kkGi@Cdq#}i2ml&sU`TGRWjlbP8E*ZgbDP$j+&t|?uF^~ z%XU4`rpN(U6Q6pkh-QWBw12&Oe}JHX1*!-tkyBrGN{k=j^$qDs7GdkJL(}`!0oIxL zYQ6RK+zLoPTNQ@}o6AMmX%|+L2L+l)IzM|;K+CWf*zO#bI02PT%}#gmTDV2&b%e2% z$_DR%_;~$GNMlu-;E{0+=%jNCAL&5%|0amP9oa8A;v| zQ(D-~?-fjbFuDCCIqZ6{NMcsXY2<<4mDon!3cn}mjnyXaDRT#+$K{3R81~fr;kN~XFwhMX_vz~-gUapV|>56F$}NZH^|Z;eUr%R1hFaIHsfvf z68rV)=f@z@HNMt?_{diJFK?3mO;Yb(qGW1*tEn?oxh&t;;+G zy?5iqHERu=SBQUof=R>9T2n1&A3q_E?fEKvfZ@)?OaM#NBbmg2U6c0dO+Fv{PDv;I zY4Zedi$oU>z;TGUuAhgxJ%(6IRygd5f~1+$YuT#_vg$eTdG(pp;z6e`(J9N&4MIDX z{c8mt59IO%-b$)r!eD|Ora~e_>0J(cx}kcr9sHqsl^i!EC01NKBmN7=a*iT)w%5UV z+5UMaQNyOo5O*%tL|Jpt(T5um#s{a_BEwtOl{RS+0%RZf60ybl+RR!t)4qXLcB74R zVC(OQKo|-6K#BjNd|Ji~DK`r~T=7hS$O7==@-UrN3|8==g#p}A)tPli_BOK)6NGfC0nOavc-TgxeU5#mg~AF@TKpH#Fb1sncd zYVZUo-;#oJ%I}VtS|+OS27Nyz_NRh7Z*Kqh9kXdAzAs$;zA#>fZ9W$0~Em5-i#%kB8f3JGZg=PJl!OJTj{%P`1lq%fOB@8cu|RA*c7-wq zDiqqt-6o3;z!VP(W&*m60v|I5(qIjrE<6`y_Mau>pRPk06Rau_BF6IP6bmY1211k_ zdY#iE%>a%DcW{p*>4$}!c6zbGZD;EpPA~u`CYk|k?~PVp(ZwbQfYr@;l_m!a)ph*y z77`#gM@^0>iKT&w38!{@rSYc^fEdW?=R*5Dp+52xJQu>jQBi(;&n~tYwhCzP**QCP z6yy8+5?B%0o%^3YPbAMuWFHb!gKo}{!Wkh z``28TnX$s*cH_r(UlLZzsN;&x5T-ii*b@=-w=z44mp9if#{@Dx&^omDW05CZdU)&QsYQ)HmQz`(@#)CZQ6mzYqU zA$?=d>z!VHcLCwb4P|4dW(oVCo)V(9dsi@3KKsf)hc8bF_Z(ys|2m{+@mfk+&`bC} zYs@GnWmy|Sv~ok5t{}>J%bz|g{Bjnwsf3RgPO)M$H%s*Sz{T-ywdxa%@ka_3BHi%XGoXYZ*^;EelhrIhIZhg(o4vCc%!P;$5Kql4q#t!w3H2 zRqQEyI&ySraVITo*+eJo$B#MxCH^;z^TQm;HOU%Z4)q#e465hYF+5O5fiJo9dz`{3 z^?;J*_mb)88-Vo?9t z^4eQ}mr5D_X>&Lm>l+z5eRn!?RJZN+I1zo1YcZPUozBjwWyAqwq3>2VDxwjL~KKT5hZf<;SK?GKfi*5GjrGHM?B-z1C zT|2Nn#gepj@c?>CEh!#b8f{W`yUz-Ff7?dl1Pm?bDkM2dK#S+)^sJ+f(M5CN3CCC% zTS7ZLD&)+NY4s6eClfup*D_U(oAnmi%P*J|$)~Xc=^a;+Cg*#(n+;$rqDlgrR#LQ+ z4$4C@j5!QAI+pwu-CXjR4bqxsc9x)URLi59eWa)_?a4e~GHNFH>&~q_Ea)`5lOX5=*7(!JV-PEG7B>>KATUUv*Y2^LDNvv|U|p4h z;eh(^_AtJ~XswMOqZhn+o$_!}tVXK$&@nwywBmd< zT$Bh*wig_p-?6e|kV->{_x@DLedULUIS)SswAygvCdmk%@!$}X+;F|SDv?HX*?mzH z>5Uv|gFcE+9*8m9y!^=nY6zg5#<&s)`to^XkA(V=*#FkVrz&$nA_iy0`_sK0FZD|C zib}`(htU%i2VpQWr4;er>ei7hz6#!dVs^+tk(`}6NDE?GV^7}p#E%C%WinIf_GTHD z7+_5%ypoLIU>Kj!SK+iZGNX*V>XyRbtHjH|dUabhPO-28QUqYs{%FUfAJF(MPSOxO z*DzT)`Y^?UZA_~UEX%d)YTnKDAJyu&jHlt*{Nz}+PD!;8e7HJQXN|7sdA?OgIO zTk77rF<6mGUEOP^&P2BEI79yfB2dnJjMiA;ZbKxwmgMlaY?enZL7CsB<^kWRn}hB0 z6+A+n?r?M9Yu;ZkZ?-3fZ4CW;dN2!wx$n#Bm=kCs1rHo0a8=gEVy&(>=is37&*wB` ztEg!{Y{Fl_INfx&w_n*ZHBC1096=3?4 zPl5mJjrv7GW3zqxhwgv-gCqR+{{_AAq}I9ex+L=7=)aNe#b;Aycy&ZXDhbvp@gqXb zEuy4Ysq1p(CLYn|#-w?qBHo>^+qGWe3NnBLRTpodX;}f^&-AMdrs~3=AapK5zlqnx zeu!HSY)5vARA%y)%!%@TOO(4#G1)b}Fx=-i2K~NT7Um;8Om~AzRE+7@FtUgajR_qpHUTg`*)-_)&6= zutAtB_3uptK1m#}Uc7rhvA7ZXmV|B*;qz5!l_B*&=+6QJe1Q%klr|kd5i{BY1ltJ$ z4bc?}yY|?feMb`0BeQCNLCcd7aE=AjZh|OMg9X|PQr;a|90#QQ&RS8rJ0}SZqqPV! z51H^@4N%vyd`K%x7NRX9L%pg0`UZqE%hh&*!H~CxMwo$D#}+U>#wW#vD_?NH(;<0L za{2S6%p`FtQQH4mbC;>d=O+vw6)E(7Il~KsH z^yNNMa>9O{%;lyo5$vfyV3Rajj1;T~x-OBy2DgycDXmbES#|N`z%##MDc@{{b1R94 z5g*PNSbZ#hpy4TRUL`WIEy@ro(l;fTZ9_{%@)L?oE&)Se1^R~QP?c1dCnXpqRz`T3 zYCIr5gugs`-V{Zv_%x z6g^|GI79d5`@@(Jr2y7>Oc0Ca+Fyf>7H6za9TjqxQRRll0!VyYpk0 zE`ahLqn*_jG^Rq9miy#;Gy^;Biak_)$8W|;*cvt%5GL6n|IbwN&k#lf_5d>^SOH8~ zI_cRLkwgoMfiVkFVD`^R@W$XY2@)V8W|N`~XQ#!#4gOGk0r0X-CzA3D2?a5954>w$ zg&PIgi5Wwzs6w-F3*|pafiVB9qziWSr4kjVn*v;PGX^5%Y-6A_eC3Gt*8E5P$AZWC zSWww9SlJeS8;~8xX;u5Q?_zp1YS85@?tkv?rB#ouICb^q-FIe^`A!4w9=MOj%gp{b z6o!X5RKJwtFzNWGv#cm zqExtOV5y?bqEORXXGHl*W`64@{A+-KU(?gqTf!Yq^VO?vor~Z0_O=`AJzunMm-I)} zSMy}TUUUqw4MhZz;f`$BM^2Iffoiq3F5SH8JP&bF#b92qlx8T`ES(on$opiLjz0IP z4wzCYz~}^odw5vOM2doJJoQfl(Vy^4w$L4C)eL6l1$~*!!Dz+#>Sjlni^q6uD1mNq zD94H|R_$V~3`}$6te%PbmWtEm^#+3qJ*I9ol}=f@66%V)pImC?votVB%8%3z<@&`} z>N?ujEB!+}l1ae?;KKgdvZTo(vXj+Vs+X!}Z=14*$JL1zmD(u`TUF_0->hOn)p-f1 zU-Q$_M%;9^JCAL{OHS*P{Q%E*1GD!2Mxd?@vfbj)q0Kobev{16{-W)b+Y6Be3)suR zm$uC@bM>J{6m*|C1fvS+G%^HgQhJAmHW!yCH;vX)@49^G%j5k1)m26bfM^ROw3wi@ zCyMD_G?w<8^6eAE14cdsU!6;>%SYyojGpn$C{{3nWzs^*PO5 zR?4j{h!WkFbD*;dW#SkqDyuJ7CGi+0anvpN{~@^+)M}4e zN}-YdFftA(+-knD*S)kM5=2^jLuHy&F}cnd^-b-Oxi7i(wny$jY~sx?iJwaD2ckIJ zL0*11c%T8pL48AmKWcF18+h=l`~t~#1wR{tgmWY_4uWN~g2^hqWR60~ewahYB91y$ zNMHas5QGCtevlzW!{%voDU2E~1&b93jDX+p;!%m5Q{5K$-XerGxVufYhR=UB%jGVe zLW|5Xww~Uv>F>4$R9ehxF%9cqmt94N9lg^IUNURkP2XwGVo4D2v<;0nQg4MS#G1m6 zR}(peXO>^1;qE<(y1UvxMB(}XKe8B(hbP#HZU|HpUga$j+wQA{HMiY^K5=jP@?AeS z?Nu2KYBs`|D`Y7Stkxc0a5w-oD-$#9b1Chp%i>~7*5keH@u%Eet!hgs3xBs%+2Uz7 zD5m;W_m9O%yy!qdlu!8deVZm~h}P8YzPQP;F4U&YtifPy$oL4$&CkN+0P4*uT@hAb z^r*IfSg4idX?BY>(_`3Ej(Pa-Pg}P05+$xhewn=buIX2sFK!CoKp!$wthmO9Odpe8 zMv1QIJ0!Xr`_;rzLqcOZxh)DqsdXlRRx*Ij?bMX!*J=FdGiFCHQ^hsN(eYH0TA)n9T+>M4YXp`R8P zkY%+vui0)OGs?@X|E_oYq&FC-k1Pmiu)iXI=FC^8jbzsYC9idz)KZUoRyYR@B#)_E zD61_e7BR2t(Hzk0mpE4?Ox_7{Uy|f}!RfuKuHK!|`YYhs%PG5?(zNm5!~r?rE$ORG zw&&EQXSn}lF7x1xh|F`Eu3aN_nHD{Ed~x}=%=sSOA7xdZxU*kCU#$sxHHU^Wnr%FfuMelM(fA{myKdxU`+P=^pOUl(Vk0X#`5+xc-;+&aP!W0?BkN%wU z{vml*Z3`t)ed3b++Ri-ctDU<{5|T1J`qIB;e{H7rb67FKjPw^jjSV#R+!qK0FrqQ` zVDvmB`&`bmJ5?S0EsGsJfYDw?_SmDQ(bYxrSYS*jAmK(#7>xo>ofr;kKvK_x$hWGk z#g?<)y?LSXO;YofDg^}7vU;rK+aR!6C}OQT_qhTymaTq})H!EmO+cl`lKQsc-$gS8 zO&M7~R=#zA?pwX>t9uM)$7^T5#u2)QavAF5EH|gvSh5F>Vlfc_pk%63Nz`uuAB6DW zr9xEfFNyFzRDa=}I0DO=6zXs}f+-Ck0U+T{pcexsdXO8y^EsaE3dpScyQD)N*y-3eYC%d??2>&K|a9F-c9^<@Sjgw*DX>WW-b8oN!s}Pm}g$7s>{9t|paYJ&4 zU%dXacGw1Iun?eVCTLoL)RpQt)K-3v;97x?)DQ201!IZO-TdKv#dKDV3jLK7|0a1Z zY5q;}NOyeEh#VB~`eVQ&uno8;-Q ze@zY(Pyc8^)3BB4*m5lL^l zxj8=b=f^Q-o=q~r-qulffZQ19!hAZ4UV(W4mWC-%l3E5+P3fqf%Bo4*U1rcg7!}r6 z-&T=3tFTxYy1iQ)=y}L?r?C8t1uzWPDRtvQ(z8i5Qpxg~+rgx@z(8UQ3 zVFA^XxpxA)~QR<_=F6xNC3!AwpI0M%+8KFL(u zSe~y-iq3Q5+aGP(iih)T9d|At_Yn`bx?h=Y+(G0z3krg=TBCRvdmLb^}-K7B_YiP5-A)%}XpZuJY}XS^sl| zyOVl<)|=Ze9~>Q##C31zS3I&f9%^T&O%X3PrTZCtOWT$iaIo&pV`Wrw9F`!L&yA7; zJi@Guro@n~+Dxa~tD^4h&Fsm^tqp?;f|2BssMXuTEq>(YpJ&sGd>|@+teUw`vL$Lu zb|&R+){SmNhG@hbTBG(5$+D0at~nsDeg*EE(4h$>k#j2T|CB}WV#Xu>)}tC?O#eDd zE3lqThLARd)+|bx&X1z%aCH#4W=N#Ep}_v&9Et|LD%~u~ZOqE1%!@G9oL<+8otr}y zlHZ&rsiG1-wFi8vvJ1HWz=0L4(?jT-$}&rDoNTp6q`V@3myszfzM|@HU7q6>$o>pr&@cii!<0Et6VghW%5o#$&%8tU9dHB7dys#Bi0<9Iu6^Zbi z019-Ly&9MF0aCmX60emjO@(~}rPrSSOY4`$yp~q`UDhOn{ZIYR|G`1c98Dc;zQc%`u3e${ zKVjsreX~z}HR;Oi74>QhLi!GBwVW0>MY9T2jA69I5C~ofp|YQvpXzvz}#wajYL zxMOH7Lmb=AZZFJR#gg4@^PNU}`Z>}Vbx4e@3rY)q7-W3rghrrWMQb6<*esYe#_OdA z&tU?!m0`>BgTZ?&QwJD~EZ9@4kC$?8S=z;7is9i>icV^#HpJ>T6DE3p`k5_Kpa?2v z!k(tQihSs1BuNc0Zx>qpciZ=89(R=Wid1XkKw60lWa<0g((0NIM7oSrHN9F zgxyW+w1{FA8Hi67b?SE`%<;p!(6d;(pIA7H*^b618Z9yxF)J>U8l<$-LJfY<^hyuT zV5|c@!rVi)C>@~QrmU&3#?*B0deSv*;kASc=9W^$xy+)x>WK<4E{tu`2*2MxL2>cW z43O<1ALRDpY1|z?wsVJjhCP}1rk#C8$Zrk;9uN3Ad+rbRHi2Z_e(2*p??Pk3!~I&Z zB9{SMA!mU2Q}FlzX$(P^EK}Px&4Ru+j-Zqk9_3g+c-kuqoeYYV1e2Rq%RT~55|eZT zrmk{o{ugDbjdb1`h3Q-1z~H;bLYpHbIFayqYW$lIk(2&bZn*(OwvQ5{ifi`{aMD-1 z4#SJSFIbPGJBqNW3cZUZA4dMpX3DSv)wE=yL<1=+e4*sW2^Glh{SMygZ|n)2fw+y2 zB#Uj>)qOtKNKgq+w~doo=hoa&OYlAMt$OjYrT@g)chws~tK)Y}D28+iR5}k-N3GV0 zFQ4S2N&mjkyw^-?%nS>@@%){Q$;hM4GPWn%sN3UctRSoA4o5%wnv)u!jJHJa z9&x>Pw_PA1jM3%CxPb-#(&QNLFtenEH!OjAs{ncPb-sR_!c3%?FRI&~)+bZO!j2YP z8x7KwDfNrr+Sv@l-6B(}xf5rLmAX=`!zG4rKZ_jn69}iwpUpE=KNqbnWUK4n^IMuW zyxwk&E?NwyalGBeyyl#>bMx&^PSy34oQRxw*nb9)ExUEZiuuU5)v$x;J4zBW^3ZWovC4tI8F%{ zRrk}wbu|>{)l<1_s3CCv1h(c~oq^%z5-nO)l~8q0jF$K!_^ma5`m-Prk$0`F#d)pRlB zE0yM8ODY+tG7Hrw3$Q8x+yZCQp*W>!u8J1jEp#JXB<%v7WmgK>D1wq!+6&tzYx;A; zk{JH7QgL}unP3WBlyK@fFU_J(am5-U*QC|F!%s0-E7X<%HS+;P09#@lpk01K4P|yR zsk@GDS2=~KQ^OQybeVY|qC@a<^8-sfQr&GqV?WH;a#_7msG@%Q!o z*dX#oa6jxYz#h+-l>8>zgY)$Q*&4#Wc-&gwzE%Q~gXAi%4d&xGVw|rQ!e|4Clir>G zzO-k5%CisA6}+dhw@@6h#ZXSpuou{Dx@Gry-JfO9=Mu&cL04yJWaG(;@u-Fg0A@`{ zyF1PLJ!2LVdRrWyaqtsMHvJsN*pdl@T-j~U{R8=#1nUD2&=*rzg_i>&&zNce62$>I zILaO}4!1F%WiP^58K%*4GsLq+at9D4HA^rUsOS5dNA=rhhC7TWBgbjvXj`%8%}dQ! z$HhowT-%|$^5Iu(L$_#UEv(jObhLfI4wB=ueQJV59KeGknOOASr)1fN zibH0)Fi`BJ!0rtPk8N4t{rymAaOEJs$B@5?7pgqICz6#ag*Cns;QRB_GD;Qt-4}iMD?-xk}BKkG!181uq4Y42sF2I)Z72qHfypzC|XLU!cu0Ndl8}Z>^O%!B4%<^)7&^}?5 zlAYbfxoxw4#vMoshhaKUx7oA0%9j5(fBRa$Kg!8k#t_y)BZN;f(i_YadrR7qrLyFd zKop^5D|)Z??Gu6}-80jD^%?|`mAy1^O+P$`HmJQq&@GKIwjLujY&4f%S=2oQ((AUk z>r)+4gq#*s&=R5Dqlcv*OLS>QdV3{s7uAW;0dJcLmj;vNJw^-<+#zn|^iPHOav^VO zSPi#bfC@p6J&QSAmKVv^S^;DPh07abE|%Ty-kEzB4M{|6CZc3%|G#T@Hh*zJev^+ev(z%SCo#!ZTZ&v$S7FGlYNmtg*`{=nbPpkSF zv>a)Hsp`&aA$<|~+(#e~26&}`Dt(=)w`yfo#~Xdw)n`6w7ys)Sy8=@}dGIClrl>u* zpPy4V4siK|9*1JB{f9RXe{GT|@rr(}fKW>^nCU*`kZY&~zT?Q><&l%xnU_Ko)qLq! zCi+A2b!1D10EG;R@gUbt;Lcdr_wsI)+gQ3wE05M`au{{wn;Iag95H7&w#R$_>QR+q zfXZh+Od(IIlHUb@aOzek^T;h7gE#feG5U^HDa!M&K`g})vCd~f!}ci1T#z905|?Kf zzrituRqRSVPJ5RZX43^eyh`ZtJ?$F5II7&bb*DK2a+l>ge_7m8hR%ry+eYXwy2qxT zre-+Z#Y;26e2h|p=?SiiVe$pbbD^YAGkXs=S4GGYm63^0>#SUHXIcWX_wQEl36gLc zm>%up6Vo+8l;l|-LrrdJeKFB9SW9}vhphe{`JLal(Dn)@`!25$pq}aE*3be*|)(jc>U1!!tcyAxo6p% zl3DuxqLOlW9@BQm%DRz@D~pLIGRV#;i~_^nD5K{0UR7OH*?&m?xtZg z`$e>~#Rzf)tc<5flg4TGu6}d!=IWb;*0o9|K-lajPN)L!i}$MnWM0A^MH6S#qsVO` z_f&%UdT$Ft)8+B@f5yRIDJkzR-`Kjl!G9*Z|JNqj*v9xf243p?W0Q>hZ<}O%`|u$4 zdVCk3UkDoNEp9O{NE-5u?dw7LE7HVOB(J3HzieCoz9)EUc*9by{i^9)#t^1kc+sIBC@sZBuHtS+2EP;Poi62q;UCxo7LK_xLi;9Osl zZ}JTf%34Roqs1Pz#`Y5_G(eJwS~rL>``TlVR-2s!!48fpga*je99J6bhD8V{{A7@? zl(D)VmKgY0d(wWcdcPmv8&3-&TcU1*|9Am)S=!oL^81C))@l=FCes9!<{Ley-D{z$ z=Mk{=?jYIA?=qp z>JZ0BNKWGZZr^Flrrzr6NAA7-Aq7xWM5}7^L#*+^BZIP@_;4++c;>>u}BgoH=9eOKJV>|~^WhMxF z#^7|`-ZNb$$Q$>OQ}qdk{{eQT?cPW<<%r^QvybTZ?U4LJFF86xuF-EwZjQDAR-R_I z4TYD~VbVlji!0#w^s%ZRXytv*mf4x3be+OSLB!}rUf4L+#*sVe0OHLC>EjV}JROTL zyDhLzF@OGYgGl5ymuDFCtaxng-_iYLkd1}&7;##UE;e4;_cf$VKYv0V%Wft5h~p%j z{YEeg$)&l%rIbEAYZ)S!xBWU`7orMNXgbV2vTob&m%g}hGTpR)`zQ3i5Of$$?J*+8M`)k8|we^6YyXxWqZ?_nz$37?Rcn}X(D?VSUMu@dipn3{8Xgif2d+R>Fboj!U*&BdoS zqHlx*WZJbyalQ)O3>8xHj#^@4ps(QCA3OSez5jl43hCODtkTzMS0-^0$CDw^egw{+ zU-PZm#tr44FAHk&f|d zwL6SM#aR=+Dv7W;IsU_%!t`ky8uF*G(7WLWpfUwd^x3_hHpc-kR_JE;)-tsLLxB;+ z`0n>kozL=Px;99A&EEH@Mdsnl#e=UhU8L_!<06rF|MR-|4rbSUf9wuVm|yX(A*`{c zKMEFLwN#I`#T76db0o0CQ|Q0b1CnIv$C{B-4~gVjv8q0>ZI!jNLCTm3W@8Z|6$@YUIQ~ z8YM~xiiioFn>dQa4ez!(pMO6J*c z0rTuBn;G5$I&n~bge%hE!f*{cgmFy+S_`dk+CcpS-9`txP$l39{RQ@LegULj8ucid zH>{Y4kR}tv;ykb^h#;Pm4jH@3>=x5Kd2zxdGd9tt(s(mAaa(oVmQR+|LAJeHD;CK% z9ddt#h-Rk&WkBmQ&3kN?05m(Z^1Dk@T+-WnOpdt0!?-NJh}f-&zlceKM3*)Bh$cdh z73mIBNx~#7Dzp|?kuN?GDsb7fj=2OGw6Ys1WqzW+sT36y>hXbAKSd(YVu}G8{p3`q zPm>jjiSov#^76F^!SChA{(c2H}&RBbbHI~S_lj|EVU&oDW z)1^1hbvv893)Ys^!4>z>x8s}Fz5^%~;TQV{H=s>XU}T$a8)r=B>e#-`*-k2`L-%a_ z$HdX*GUCwz&CP$<$-DH!5Wb}#GPc@RkXG@#KsKUR<83> z8emA~l)9)~_AW?3-EZ4DC8(3W6M@^|G5w&-bkSN6TLj;K+6;u&FAL;KwsY>SCWJ7g z|Hp*m{K}|_W%@2*Aq_acPRYejtUanH3Q6h&zLk=`=h9tw0p})L% zPE%X@4!_SZ0F928^bB>zcEKl3_494Dy%s3Lqa9mRuYJI~dO6v+=s%5w-PV0+& zbqEo@p1s$Yd6WvG7j4#a<2fDYg1yA~<>!N?(ZS@7H!7@~A&0-U- zOofYope7SEu1(&kA#asN0=1}9K2s)iPO>^$%`!}{Jiefsu1nO()5yhQu7x;+lJPS5 zYd}m}Nd2oIG{MRn#R~iiLar+eA6)-j(ghXbjqzUI0Hwd9fSmxIT;&<^-7j8fZVw~~ z9Kzoa?07;T!`aMWC}hcOKgR&x_Q}5}Ye5tr)lsGyMEJtX_+;J~)eZ7Kf@n#nqde6% zflh|%W=cg>T(C*eoHpp3O*7woIGdNIT>rgqMEJx~8PA<>WM*6u@-|p-%K%$nNH9== z9=VSUJ||3kE5Rs{lhdITARXCUz7!mo?}RX2zT-|ifDVu&0yGs~ra8^{EGuCGCtfD1 zq%Jord8MkJTCwECgo8xwa|pCDI@802S;0*L(*MT7#UI_Ih3i(6Hqd=v=bEaNk@lHVU{BC(MANIk8Q@?ZO)htR=r11xH9OQ#da z<`Y#5LeoA+sD=FXERMLo-!}(>U_ieU78Ca0cYAZk%`ztR*$jZz_-h+m5Y`8K`FDdC zzjamH$H}-&{U{x0@lt6_2qpLf1@IKzi^3U8mH6S-pm4(0Eux&1ElBA2Eoqc?l%9!% z%pr>4Jvw|hv(`T-`fMP~&^cVytlh_Mfal1kqYXVL_9y{qst}&{#LCR_3Giv!$sL!8 zae(o0)nbApXqzDx05hD}GaV(DUH zCzsz(#|zS;HS04Hi3@5k`kT4g%+db`bp;I-^}bBAbX!~2Y6Mgn zXT>GkR32x=BimFQZ+S_ADfRlc9$r_w>$dFxQ!~r3F<`Sn4i=Eqy?X$wSiqL);CUGa z(q1qFpqi~9%A}wE(fyb^Xr$2d&d?h^cpRsK5VNNsaNw&z3-FCB4r1w{aKzA7DvOtr zu!Lkm_EX0HnY=k)r4cIEWXDNO;a^AxxzlGY%pI{(%jy_|4VH z=bY+FZ>L|x6W7I*RGp9w#j6^8MZ2a=eT`o}irV|*I&f8B9Vk0c@?=+O zE0&iIfzC6PZU_4ilXzv}NquDG&;P=|>Mg@H;M99c1^Bs=Zln7?cqUOVUM0Q$5nQ}^ z-i}YQWZz#6QMQ1uO#==fZF(F4d8FF3d;d9jpB+b%)3Ij@pt=dOD>D==YfF5OMrXA@ z&juCgD|VyQ2k^X9{5T!aFu^)A(LbdG&L=H-lV9qyB8~&v_M?kNn9n=z001-)XUdZ_ zOE=;FDA#3@K`(WBf!+4JXDnP?cut%ZCt>#8D|y1guGpL8JCd?QQF#vc$*%gaY4F%G z%94222ZIZ|OLb;}2{W?d<apVs;q_^TyrSpkC)?yb%@n)hkn9WE*0Dior z67r~8Gyy=h|DI~6EH0{4YuPjOx@5+40F5V3UuJ zIWGWAqS#gt`_Qwu(KBIT{@te4wz1ogME%kB87@=1NC+$0Ufx+w zUQlKLT&8UPRuW{=RlIwH{oHs^`hs`<_erJz}4A(#_#0rSb0Q zvGudM%MI>yoP&Dsyl9{KgRY1N{W;I%(YWn(v&aZAz5aXpf7<)+lIY`_ZO+YX$F#+{ zwa?jf^4YZ6V*|*9rxWnS6LzZ)?8o+^(`i-I?1QZyWK&O_%I&1;@8|>2Ce%T2_4g3~ zi*|SpM(4S2wgx}|%$l7mZkkO_E7hv*EcV?2s1!Uk&Mu(;A=s@OTvl%5@{Aar+UMOAQFV1|`mHITKWq{}n@`w))7Q1> zb*GZsF{l@G%-+UmnzkKmOV}E&Ft<=p-wxp&lb2-I-@TxHTh#DY900a$7C|<*RXP1e zmlbn^Q-YiO4;0VT=x;IiO(tldM=r%Mw~-w-uL!^>fmQD$XYjkrdHXWTI-m`sIW^?sORD_unvcpa9oPB-6@y^8;kuFL~>MoPNDuo2Iwjwb|JMpXX>G! z=8pA%B8%X%Xe-&RG56DF$2t=+EAp|#E z0W+^u{+Nf(4!`||KC~+@=xcy}W&u16!2T6R&x}8GWXEre<1AJIiD3QK8E%e1S4sIt zfKfOZS4(WsmuW7uj;s!dhzfHD)>uXH1N4RaHDPJJd=Iu+V@IJCLjp(~E z4q!mf5WZ!~Q^>ri5chBYws$9w`w?@CsN{z-|^;H&+lv{=`{0GFTLR_y+eZwQ{X3yKp z>$_!cYA#%G*cs^A@J< z*XD>7CIJH$nDz0Ru0)i^+Rbk{?PU>np#G(6oAs^tML{D;rF&??UR5_A-P{uOwLEjv^{ zoDeWek8^)^bov8hKfPBrS4T1==i3Rsp^iK_}jeuXMos74nW`!pBJ$c&8h6O7MqxY*3FLBvKi`W!p3b;5so1 zQy z{dZ!{SWNgY5*#Ai;G0^&EA3l|%W+G3BFY(z124sKps<{X|qNlOrxpO%yO@!xtj#FVT7B25+6Txrs`-XIKI z*9R=H@wL{ZOO=^+XZK;neOts?Pj+98D)jCG)?TSC1Eg5zsJszjBQ z|G8a+wAD)Nb6NZ-;u^a8IAcOweqB_9ws--*ct0;>YFDfYfzXJ)z)*6|pQ==z1_`^7 z40?Cr!C0Z5qmN`xI-B$q3}hI4BW?iASQ<`Cy*fJnJV4XUVs8uIj7)>-)VMT-Im%&MCmZEE>D_ku~OZ50V!(16hpYT%0<|00cbupbjN77$z9!ar3ugyT4CxY)ONJOXKfef zSS-jCQgmKsG)`?arP!X%h8}{nO)ke5)8R-@f`xyTp9)Si!j~OO&U0uBu}0tkUj^tr z0M9DrF&Wk4jCN|y|I3G&qHsSXX5;aNicz%DfE;8gm@_0M5sF{nfhjm|RK}fXN&RFI zq`j@dk`eIHs6-}QEsm+vAtdz~x?C_1L0lnL*$lbXgRokj#P_Q@(+hMldYI1Jou`+O8Vc2kWDih|YVEkLSl4&q&N=LX~pK90Z9cL^C0J zC#HbWRhV+XtQ{p+)PNJ04ql*HBSmaef<<|`L^3BAl%!pvo~H+Q7Sv@+|Nbq^E$JmI zCJ4X$(T^;c(xrSvDd}O}LiT}VaFp>uiHO4df&yOvuIG6p0T{)#*nonizlU7nFAP}c&D z$N{w?T5!OwE?h7H8#MmpW8zbPc6q-kJf6F^=rV$qctFQn{8HERfo%5<_1~vOuF$`k z0>8z?iQlr(|4#9BcC}%Ty>oy?((EOjZ(Wop+1T zX7LzJ*;=dh;W7r2-iwXemK>~8*l?tW`@bqneNGPN9`DeqvH-0k5t|J-kp6OW zVaGs|h;d+vZOGJE($aGajMj;L-6CjP@$`d4!IyLJ>}*SY_nJNr-0#gkwbigJERd{OP8M|Gw}E0m5Y%viJsSS|1+qIW zIWE7~?(y5gNr={GU5wb|{i0G!dQ2fN=Bp>t?s<4V7Xb|2!OopJCjj8Y5Zkf9%X)D6 zl3_&25`!0JK}AIMCoyg;p+Bkattqo9D`Ngiwq_RFnoD_K z+O%~83C>$*k~Y3}zPD&rAxdU>RulYx9jY2p=Qa!bht11i$v9#ADpO=4z^-nWDery} zENwNK#eedmJCLN?ASXoNI4xV*j>bc1OLEHLiE;;C!HhVIXSSUFpdmU84ncuOIRIv9 zxl36eU?8K>Wj%isj+Kd{%PpBSdTeRuVpXc;6O1ePnloPzW~(>^iT;-R^!!ni-j?RA zPmneS?w>s|Bo8;d{1O=tCQ5P|flYYQ&-!yQc?*-0w|1M^lAt7CfA~ zRkP+l5r2E3gUO=xadDQvX@itqwb;4O^y$eBsrBVIN-$glJw&A#@~l7lX{17${@dc! zVkaJ#TQ|T^lwatZ!~Nj;MX6J)jh`IzAe>D0Ato|c6soK(6RD_d;vFo`3>U5}zpSr* zP8tN!WA2Vba*~b3eVg$XT`NCtf@mbi2RT2dT8;L&?Tug zwvS*WlBRfFsPa_DB}tG4p+X3*VtKDZ=+jfjTN4jh;nblI-J2rXMRpMg)REQ->58~Z zZ1RmxWuB0fn9R(T3TW>Q_KHjUXh&tW+BI{Gl~^QowcE95%cea(;AuUPZwqcTLhrybbb3CMjV=T4M$5L}kU5 z^s8IeWcz+V<~RLZYZlo_~Jb2`-E!81B^5g(7zNyvDXOZnOp_9T^I?2#$# zJEV+ea4{_UT4i&;V!$j}`r@tSHrkx3C{+C!s&_copeiXh3rMX~(|gMmOD!Ea6k?D2 zho%4Wbh#rk(vPkEK+r2_%FWQ-5I^#dOt2w@6-l@+pWc(u*=ZCywWgajT@xSLLh-9! zb@q8-T5!=vPgC+^y6K{uWtchUnUF}hkAxcIZnZp8D|aK!q_!#HBO?tj!w6Jnz)=7bXne6@RZXxmPq>6Eg zEDbWw+Nm)r;xyzUZaDo8ZLV$QbSE`%C3(H4o-qEK^pOsrg_i9JRXySG6g#;#8^ z%Y3N1^5Oa^o5C|V!J<1@5(1qcr?@gc(A6Mq)JXMRg#7S&`O;$SRrUDRpl4#$xLbwf zJ^UY=G00h6AG(s{;5=wMJztm$oiT^TX*f?1@=~);V894r?Xs>nt zIcOs!!Da0bsq?&A0>YJ{ru+LSzXnP7?`(klRc{2p8270 za~o^N10%Q}#hJB3c9WoR{W>c_tZ3VOEs(Z;eomnAX9QeP&iCMhD zyAM)=l`=@kt6M)*VCX~c5ea*&(xz;CWa&eFX;dY8IY%UTubbF2z5=sMZ{!fqW-TIA zcx7R=;t65y8PuZ{U*bg#K~x8RlOTphCJ0>7er|&OB$)-`r_w^dt{Wyu4wC{$iH2}a+}RySYY-b<#g&c-uOy8(#9ZrRTHD~@TL2o9Cy zY}o*IQiZ!o!l<&5)Yze1C1s+235MBkuR$LXzBnLFbm@Q>pXAa5=g+L+W@_Wzcp%a< z>`{s2UE0JPl@d|PZpnTd)42%|*KsXM1f#6aYc{0EN?vQ6PN7GMJm_oP2A$_|Oc$+Y z-H9)Ce^&~3Wy7~W!@bR4Wm_cpqea0WaZeD=`29ol=k%wlPk{wsf!%q$V^90ZyCB7s zJI|j7dSS<&qdvZqC`C>LoUume8ySMxO&v-1ZPMN#teBKHlT)^uHV1rtA#2ave`g$Z zWiRfu?v&Gc-VKBW`JoSG*?Czlh<7D;ktOiKCA7oLb;Cc83?9U({!^G!Q0#cg$kL9@^>gMAvY|tlOp29=vSdw%VHrNiQB*3D2(sl^(uelH z#@fk8URJOiu^qhlK+I2Nj5TR;wf#fDa-bXuY~<%vM|UNxwd@z)*9@{KsxC#2JP8yM z@@g=@3$g(tp4o;k33nctk*3m#eGnv=FQ03C5V^4()bshgaE$;79vXM?vQ>Ju0PokR z{&s}3TxQ_(%NJ9P6*(R592wNT_Nn(p1lPr0e8%!KjiG=Na9F&AO_oNw=MNgkf%3(8 zyKe>N$aVYZ9;q*LXC%^oat&c-3tIfr1>}L%vfjQheGpzUdV-g{`G*~OJCfd?3f5~P z8JWiGyvupxg`tg3*G@12egZcRVPC}g<=c4szoXa^7uv`PXLV`#1Oz3S+?yyQA)c${!>tCu`-Y=?Rp#QN!|Y@U53IG zU&)aZJq=NwUy<>?H`uZK3KcSqb%JBk-$4!%KZg}xrHXG-C2dl|Y*HpoYFZ5GDT#_6 z*idUU1NuWZplRH#sY7#l=Pr_m!6W9E1Lw=rvVQd1O!J;WhNV#g>l7 z<@tVf4F$HbycN|oWJINKs&!#MDVh%sN+cM5$DFVkOPn?gvE}0Hl1Z_r^QDRv(CV$L)m$s-Nfn@F*^Ih!{y zmv&_y*NIo}N;3}%SGyqMOqpK{!lobG9eHxu%CJESXJR>Tke|Mnwx}`Zy0(~P##TAP z%CB^J$a0FtlM~p&V`~+f{BCdGZhG%qzM`zDx(*0U@E|{%xKk^A$f9vFLm$K zgY?%<U0n#I;v6{pdpvP zQQEwQ?reD^7_D_IMUK+@C^H!^G?et(aO>vXeqr+x^6)EQ7HC@8uJDuu6EgpzCPFND zh%8CM;~hDNQYyG*c0N2+_VdZ_nZPRTaz1v-REd7&J=`V@C?XC-B_v=$a^0V^u9ZKI z7EL=Hv7~!$bB!N$$?h3XH!4O>Kr;Od=F}PUPt9U2f-;>=`$EfL_rTmaD{FMwy@SD=-or5O%8T2Q1U)iP2RXeZ9BVJHs3 zw>hpq`;S%li+0OL12nSHIEg7%UAl+^k|-~Z&rTx@z=(jkQM1ap*>E;qquP1kQ;Mvs zR_^Uqza!P8on1=ZN{($Jx7BLg`P9tvO=COElV@~+xS~^j!=}nunLi5+-+`bV6d0K^ z+D~x4l0ME__m2=g+A(E+7qnn2wqPsrf2?jS;G_ZAL5jene%Jxa0Ac8K4`EfE_LPi( zX=3DmQUv0ybODp9I>93d0Rjua)j>>{Cah9#tXIvcP%KJF+nCf8gI4r2ZsHr#rMm z4H@aqMU3mPq@u={SmQRHYyYAa(Tr+TQerweiLdsHxWSGI3_bz3`jfQoc(K@hLm0C? z8a?3aDHXE|=ij63$Aq|pt>?P<$IL5f?~A;m#EYsi(*qMYFg379tbjCf>YN1Yu`h$V zQ1Y$wlW2k-kR;3D;7a33XP%-I+pE6A&V;mJ8a}Y1s(wOZvvmE9QzNgCmnZa+5gvlY z{Muj>wpElEk3n*T^8Q(txv}=?=fW^I^n-}9(oY@dncDY3Gn(|wQEEPkhcs#n1G{Qg zZXp=S4rn1r4obLF30km2Sn23sps9fJc+S|u%VvhbSX9cch>mYyaP}xWXOh`u?h+n7 zHOk4tN^=QS%6i5m>1~thk!g0!(DCAKqCW7zbHk^d?Kc2}jvB6mrBI zp}!_jbE=>EBoEa|zN>5vmb4`>;u<+jWP0!S>yc+-Ps7N-2_P;p1=FgiZ}K*bf~y2c z>EANSZupn)!p%&sK_$q^Jt7`D`rb{)1-Dl_MO~>v@by=>y_2PN=Z+PI4l(oX9;O{S z;S)bC;pw~2{S{QVpZM2To;{; z3YN@|1l};xEFQ^zwnJS%u9@-!`%5CCr&_6A(qbc+ax!lR^yHaIw1_U)dIdv8vE;e` zsuLCJO05PtttNdE2TSsN?2XI_y4jQ(xK8x&CQ^B9i&u1v7op_V8x|!;C{*L?ACbTF zX;X!Jv{^I<^W+;(hS66|s zmc`GJMtt|dP~P!7z_bw8d*m#wl09Qc@vF64LLNJSxylpfEor2{WpL3wT6{kk9k@eW zgHfW2+q-?6)2MhiV4_+mgOUk!>4}d9KTun*^j0W9b-p{jYM(t5e84^uiCuizC%i>7y=mobLMko@OmUjY$xAqfol?vg;BL+NbsYNYw+LzBXK|2*5t z=J<@*3mhNe30L0z(y??B*dJWtrJ<-HjYv|vCc9cO*627!b!4Jbf)c5uwogTjL5tZF zEsDakDSj~Ujz}kd<|29Ar*R;43Rja8ghxf#qPIe6w@V4`g#HxdheC7;6<6P;ELGxU zvS4WlLf3af`xls>?AAJNU7xj<%9bm$ci={b9D#ahPRi$4?;O)u!{KdK-xXxHQVVPu z=WJFl|E#&wYWsU3$xrQp@YdaEK{z!|R9%BEF%(0LqFLLa`U{n9OX{Z0pqi@fn6%yN z1_s&3A8qJDmj1O6UbKn)6GUMs_y&DRFM@oB=d4~@yvDnVI?ngCabP>qqGw@fjCtf( z0F=niNdq-AV}V7U!sNR!7*ZFx!Kdu0SEKCdAAi0gGu35?q_0uFAu0{;wLn#$O%mZS z8E>k=jUlRNO}o+ranf4NkZ#afb23(aN?Gw%RxxlJOZ8BDu1)?8D9zG#Q*g&@gS;CP z>PDV_j&-i$CHEwIW_`5cV@EprWP~vrx*5ipixExoopmHdaXVIhn&M<9MSDg~&cWLp^{Q~g_5<;s_J%~3VCv7gpC_4##8RN~p!b;IhmX;R2^ zc-qy+>Z$2YVL)vj^Pt znGT^F%ZAnO2P}y|v5ym_KuVBxfjGn$0N?`!j@dH-bUZMr@+v`^N-BFR$pS^kj080q zKs;TPUccbs-m`2;^2Kr}$Z6NWoKhKa|Io`Gh`V8Tr5Gxglz;(uB(u&CEr{XLU^Iyr zOXT7iH$`4!lLqW+_Q*$f`ETr0z{6~?s6Tac&lQ!YWR-P+Jq5iLQrcsc(U&O(_BXWG zm{V$CYXi*W`GK_V2UF*_$582SOlxI70w}K4{{E80P5Io2JRk}*;NJ9v%x1k zAS+<=*z2T#Z+q{k9+}@9Qr@p%-3Dd6r@4!`HP`m6V^G0lEtQ`PsCm9(ci3u+)#*ev zCH2CPka9Hro?x!fihyq+u~nDbwyEygpr!7p3Fl!2G?p7zXiY6r9r~rwmugxubN?V* zywA!XfXs4-Y)ln|6H(DD8KViPW;NKRDj`SJw*g+E9mPh+igtWQcxZ=tIvoik%Gss; zzB$5~gkeLuk%_iTyyLX2f@7ajD*8?N)^4ur`ed1ocs%oC9KAA*PIbBT@p{%I+M=OR zY*#k_I3sABPu?27l7}sCe7$a0YRX45DamQUhwM2XFdM+Da9v)o@~^iPy~X!`G*-QM z$m-$#-z`O~|C^;KrAXTK6%e6uiCh+fG_kt60AA}F6F5aGO6&3P)z6&(_ijR{;N|?5 ztM%sR|7j`utLcN~nH4S2^4(V_14?v~iR%V*vqtaAJvS8ETz%FC6)RT)h&)BOM7b<> z=D6rIMd2o3bh6}1ZPvg~|L7{D|7Ns(K-&1XgeV-%Iz-!OAg>Wy>tBVB-S=C@*P9A1 z1J|C>Ocxov_Fz^+ZS&^D2J8P1nxfulwiNc|Frm=5S!VF9Qb!No++EE2(bgC?3Nnv} zNgRzNWED-2&Mc-nnv>7HdS9U%gSkNvblMLSOrfV0#uGmfCQ{tN`o8e5953#@mm^Sb zGwdlCx*5i(HavH4bkOo4l6wHrUK_u1CTn=*I2CiqimIKy%Bt^WEOUmH%DG#p2vRA^ zrw{y>q?D?09+2K<0r{Q1%&I0^KZAw1kiTuZ$bcQ=g+UGTj9!#R6let_kv*TZO!aT1 zBc^f#Wg4V2T#we!5ZWixZFtEmVqjtnF~eru^Z{?J*?o*!3l3^T$Cs6tmAh}~r7;3( z!8OjlrH7DnCL+tgB1z8JBMi2URr{Bfju1cEdUIw-(xje#xc@>JS>mG~GgkK*ZnSdH+mlv585;`c+9qhVW?rW(zMz_M%y9oF$D3o|^ z&yvNSYURlJ+LYh*8(@&^`C(Aou-v1649=nbSCP5?BHq%%)j|{uL(^fYBr_vE^Wv$P z0ESa^3zuQU^U0?zaNV$38AB?mGE0m{^avPCu&(SvIgrI)xfh#~5rEE04jc;XX|(g7 zxr(`$I1wBPwbB^m zPsp4N!te{@TvKqmZC!0+e{AZ zX?yMwBYiz~ah2cu2Uk2LS%v5ITEwc=Cnc@{uG&5NV_C!~b|*@$i5gL$k(_Nzr90^8 zPeg4QubQ_UhHSaJQRg0*N>_dD9?W-V69*_;+!1RozmM4XVU*+c*3+DT%o2M`DCQpF7#_{fyL4qq#U$DbmmL}kX+PZuZLrR=8H&& zjLz}&hjjIn<*MpqVj39)(ls)Hi^nFdxY}<$SuN$ z{ZF)sYmMdupUw8gf1pjCYRc4Fs_`z;U6+%#bxL%^Y;c2CW!6m&%O7^J6f_E_J?XBM z=in;KCQYQT!~W9qc}@qP%z2sZtT~>*yL&Sl=wix$?-TzNV(e8gbiXi_NN711Jx~bZ4CgO|?008s%aOS^& z2mg23)6u}j4SyLny)K2j^wPO|<+)mQ z4>ZTxUHT#N=jH0lY=w!>6((BK#uv`=&gWtp!V9Ih6PkxH*wwxp-1|VuUg9WdC&1Gm zZV^AIo|k^(dZ-77`bNmkRV4pFdB3jw8yIL70_b!?t1pOM&4(V&^mXnr`$KXlretNy zDGU#Rs=!rTEfw`8il471C5vU2s~0yc5sU}z@Sy}3LMxBX`ZNL?dnGfxn%>FayptH% zQzR(4>j8Ktj^6NnkG_mPaP(l|@Pc9sOscKrww;bIuPzFl^PW)u5%_3^017e(4pw%4 ztMPAWU$t0mTb%tMQ?Oe-5jbsm^b2c@`d;Vx1Y+n0x67Vy4Y^JeX7uLfX2^cLAa z!3l-slb4N=IVR(}`&2L=nF27uyVH4a+S4)58dTI|JsrbF`(G&c*((k4J4_h$t=4=o z9^V(>0)0ul>$q9QHeF$%TSo~cB(ev=#Ku|xEdQPQNg`>XVzB0>G; z(H$|UgS}}tdN$t{<6%Z9Tk$g^$vXV~X0&=OECWB8hX7QPnMARWD|CJecVHAwi_BoA;tAW8YeZz}()Aej}?TOMsIyu6_wN ze!g3Q(X*Ej?}7ZtMZ8f0Ydpd4?&}WbwBUY6!1Aqh=Bg$=A9yDUQc3B#;r;!_(+Q2k zXzU!03^&b2ijsSN>;)M+c7~AaA9PK5ghR1K3t@ApP?k#fhI`aK4-^4m33S@}P?+3T zaWB~``{P)U@K!8bm4mRY2$S;?3uxWvT@6(fUZ0@l;2hqTDYug$^fYtkzRTrr9?xF< zD)kgzqbV?I!oC#^PG%pNx+m|CtpfL5&%wqXgQg~>bi=}zGZ1Z0beAlK4SfTnq+0HY z(*!1K)^(zYhncy9@Z8KozCXJ29S?68P5_erUU-jBSh`uyo;w}MmWW4%aIqR*C z-Xy)m*#k!6sBv1dKd^vxIH3qdeYH`n#En&MH*NuJ)IOPSB1T6z1BA0|kDnIZcho1x z$X20mv?*{YXQ!(0M=ufuOc$;)MuZoKHRUIYUIcu-RF^ggcc$djzPisK0Y*U2J7?ce zKz$u`l;jaG%@XkWvSlttv#CYO&FX5-p)R<>bIPZ^(ybj%gVu4U5y|X!)sS?$Ny8d6 zuA^Gv8wM^$}~{58q` zTf|ShF%BsMfdbsC?`}c0k~f+7S?5IvHRbKd&hSih!fjpkB95IvS>wq-+Lox5H!*hD z%``o1#a$>}s|D2jxQ!b)JKU){9SzEwWyz)u5ZhCxZqAR~En;r1wYkR$pY*9)+wDAF z{H8*Mfac?@JufnQ?dppyUiLWpZo7DOf9VahG=2{JK*3=DVJB~m{mE_r$e7auw4HuM zL&A&r>kHH0JTaq8BD;YnBIf3ba*HASwrled|2F{>XemPhQ1qd=y0ZGxRrI52*s3o zAeME|M`5d&Nn6-!HXN?*`71);5IfqgDvL4iUMqFSNwxG3UCVMX~L8d(BY+V5k3A|w%1 z>;d9o7!I6`kn^<+tP%GrH_mrC{a6t87<(LaAtg7RpRIqtqx%`WmRQinLV}OlN0&ye z)vP|v)RxdO*z4v(PEGUCM6Ii0EuO_cc%M7-M}UXpFLUZtH??tmSk&*Nz7zm ziQS_t+9bwytID^s6v|@#gk&n@q<^hiIuMsQhzb9|=JBYiobTo56Og1)X{|(2;;o8> z@5IW)8y)Kno4Z)#8z~scvkPb(RyXCx5ltV5jrAaOR;q4h6#UWrJ@dEF|ugkx#l)4o_&= zkF3_tJ|aLR=Db?6D5*(0tqYDdKmr+ChnUa|lgl=xQu7dv^AL`EuBt%@Hgl+;emN}Q z3HtKuH^SEc<_XOb^2syrWx190;nT^LO&&E2Vpl;`Y&FNhSGUvqWyEK=+b!w(AWBPX zqy8L)#s1HTBHNuahZryb0P%0B1?@iyEe6(f|8-0LeXeI@U}XNQP?%QLi9KXS{(D>7 zcEL@r6pWgJ)&x!Dq3C86Pr6N2D}PCFq) zveF*#d9**RrsoUA6t66j5Q!+5bJVbgd%`Pf1JFQ-+@!>?<>hF6FoScKg>NzSxIPvXi^5GgnyADGJM$( z*X)i`qANag$BE4mP8p0CjFY#x&KT4t{2=jViRrLVbdI{d+=8_4MG&t;d4w5}Af;_i zx#Xkm+ow}slRJ+?mJzbzmSP{pt;(0x0Px2Skv3dTAQtVheeeuDM~&X7<#t_(HIx^^ zzMc=*o~KVfw~e6CznCCJ2~)Nl?rCtVR6zfi;{l!nCm=o`a`sLI1%6P2|5T%d34F3K zV>q?t#=o^}@yP+>jx=@YGrkobtKclUJr{uSd`$rwXLeF&ZxR>A6#@aJa|DPqC8sa@ z6}Ju*`bMw!=0uk#G*xOchZf{d;*vYoBr+GZ#qd}j%@N4ajNw2%Y$UwM18Mxna3i|Z@CzoN0-=l-rh>_@)e(fbdKGdL^9MsZ)vmY)E@KSuBPe_&b zZHa&&rB8X1o^u(hWM^S$%@|>>-ozLnQ`Yt zN%AEV+qP|cl8J5G`14ntn{%qp)$Z!PdaL^F>gv7Lv-peW+0Hh1V-r5SQAFc_9X+Qe z<&$jzrfGuMVDL!d(osjn0sLRk@)9E3SA(_PybP*|k4iJeyQ<~grS~87-s`UtLfcWT zf-tYB$zchRf4^+@g>ywR!A+LlxD`~{`m}wP>5HN(A-oLRtmTk!G|cQ#NC|{{y->^D zZHC|r-@!J2_17R#!`*!jdgP)K#=L!x@Yzv+lDkoap?KDQIRpIC_OqS4{De2+hu6i; zjW>U3Jl}2?R_0%`PYSX$@je99ccn62E~Jo!mfhqmp>>dbOYI}y-^ zZ(09Cz)cv52K5JuQdPbY4jB3vjZny15x+He*}vGl3ENgMpZglLbUb9{nY{kr^5`s~ zP4{2iKtPlJz(6Gbk521Hv}N$4(Q@aqGq(K^YWdl?tV=XJJ^wlsoT5;RI%qacYVb{D zw4g?5@|0874OYqWRHcgyCc{%DLzJ3WxO)4%yndJhN_&SB=23nE)6rT7oBMQC+&+q? z{LSIc?{#-F-@2VAdE$^d&L!a(S7OB%yO6n#$$7lLY2*FOC%-4#w$6pHPFyi~nQh{V zHNEe|5~U2<8|v+pF;%nAhEw=vi8gy&hPpXQ%@bV+`ymPIlK0ns-!(^$5-R)hTHQT& zk&v+f99*gLvfx|axS(0)5qx9)S+Wcy9CyRIVj$DR$c~?a$`4ZTstkE96vvcJH9!_-YL!z-n7)0k1f*M}D;371Fd z=@Nk1&-klo(H?A*2}z7EJ2roQ@g*QtI+~onS8^V15L^5h>wxPmwuCymW&vwkM-KSv zm`#feP&sNT(5>qmuVPJzIqsWCaXcB8R}F`Ukr4oNPMeYE9a*PEuw3sXAR*WcDM?uh zDso=x-D_}-uqGU-@K)xuVAle931IlrfL-boEPTGSzh{oFuVKo3vHuechGh=oZE6=c zz=c7it3X}!N=LAZL1?r}p)q+vBcY*cyN*hSk}-TL&l2&JWfF)PI)hb3qn)sg)(=H% zo4xIS?*~%jj%;8&+aaW5$z{ul^Z0e^7};_wdh)J?qqiw$=`Uz7#5ring2TvIcHQ@Q zfUI5Q)RfnPJiY2drquoE(5sxq~A6kLwgtlx}-9W`A(z#`1;X1me>jR8XXTg#ef*cJ%ypk0hPWy>^@B zF8R%pLw{yhkWSpUwQoA4$Hq6}YuF@T8R^pm!cIzLBZ0~S3u%@FUSg?vk*hCpj~aoX zy%2pC2p)&X0dR^n+Q@CSGkNOC_X#IKoFJ9DqK6R3uf8KV0)1u?zc}hK7qj^}x+4Eg zNkE^Y%RouGBZNyy958$}_!n_v)6Xxbhddd{x?FL#c(h)AFR(jHRWTNb@QwK=i8tQp ztIY;X&9DCbfw?56nut6cF5iSZsF&`_g4q)xjPA=n(EsD#)zwuhp;uZd>KPt364Ut0 z9ZGN3#t2t*Amd&_Mq|)WXh6@v%x_Tg-}U}ZnNy{w{DUvf&#(Ks(7gKxs?EhHwoUGT62g_o&*H{*7d-M%bcp( z8>>$sNahUm3j=fmmtskz;0T{9AeSt9S->P85$yFYz_c!R!Abe}#k{dz;t|3iB;3C9 z?r8T6r&5n;^9_?*TQ1hTKXKG@v+WB53ImwdpW5*XEdI4fG>8<)WsKh);Xz`V_VifbpFx;r7DpMZBN_N$Q#LEv|yd0@PVh~#Dneml(22c!tbUj)dD$Q^e6<@ zHXqOI$cYIfFkLrz3LLkL@0=`Lc#kuxIv>{6C z!Kqmr!!AT2a7CGv!~f;cgvY4)L&!DXr?TuCt(tZG#{HhR_6SKxhX9bz9)Iq{Vux!R z?)a#j|GJ`i;W2aA>ESvZ_NVLy^Q#_vnX8sfl>+i z9pDbQiJ!iS*9i3ZNZAQ{T=c&|pkW70Cm%CXOfQS(HrMKby&iQ=NaT5wRFM!-Jt%HoOqG*EkZffPr9Og7)JI7CmyDFip zK_Faune=!h4bz3AI2-ZO$~`%Hebak;E}s#$(gp)pTD&;Eq!VibB+46LAYsDN#UJn) zx;X(UgO%$95^1U4ODSpq*A#irA%lvAl5>r5ofvG|p0*_htBY7S5eENZDK=EWZJ=*N zzW@B=gz2oZD487eS`-Or{duaz7&&gB{(V8BCtCvXU=qC!FHgDuP8im&%b~*a8$VR? zWq0^2v>Y7GHRvvi(G*MZw|o(J(j`Ex=_WMx?zS29ZyhewPJPHaM zrz3O;xf-VbR@GKp{x9mcq}L_Bc(Ws*VnOIec_UxU&ybm}BpqL#z++Yi(B}!rA@fr- z5r(f*K9KD~Y0H^`LY}^u1cX#5J|8e|A*iqz%laZH$E85lel87C#B|*PaXK<;_u}0H zI9yUk?J3$mAwF4h)4k*=nxv08*-{NFS3v%Rm)(+&Q2;M)5hO_h=2-Gj>o$<=k@HP! zz&u}*97Rm`nqyG->Mw`Gyr;bs%Xc!K9Lg9_U4)CP<(v@Cxd>>|pqW)+HE$hRNP}if zsO*iAQ*t>D!_oFU7e1!hK!(xz6q(Ll#dmW12rBvOPpI!bdC%J5IYuX*$HMi;QXTO! zTmx}af-$*wSRPK4WUB}-&uLT?^9Yv00x*}d+-g^7;k|@|326VE5=_2+MkqN)D8(M* zbQFIoxnvhN;@=7X95rltIE_~-bG#!NL?9X<%VL=HDwN=7_g^VV6RXdxAkDF1JeQq* zDDqBh-(=IUNG!c8#Z}2EcbGBBy)Uw_lQb${#>ovvDGg5zRmt!%$?yTxxRp|?Ofp{P zsXtNQ)U$LdIj^!_Ez!vqUCCcj<^28r*$fu2F51?qin4aG7sbSEQC85qu1SotJEezU z-o6>@tflR#ot;RD#caOa{D<(cJC6 z61iwtp(1ai704$E+wajjmKAM8wJC6&OT;xqBY7HA>!(a!Eel4}Zd~6Iu?BNfL`$DD zKMB)nw=6miDym0fkx^|_5*F*B40x7QC}eIEk$()VW_EwlhoHbq8I(>mU05msJR3@# zc#0FTtAJN@-Rl{n@hj}7UTV4{MhF^BxZp!gotujmzR+4Ze$!5a(Dcl9KdRmvK6xx% z;4D0hMkOf_;%uM&w-n)TlgHK5+KvQgXD{yGPQQpJbLP~)#}(U7VMdI)g!)4-bSCuJ zVsso2#i{X}$L zYS6Z0=jCM$QRio3r_eXzUvJa5tUAl7l^*)xpBxf6$Kv%?rO+VZ-#Zp0i9dhs=gHBe z;Vokob%EvT%%xtkBVoLDdxgYg+QCbBPQdQRz>!WfSPF?y`-u$vsXk?XkvmkY=acML zb$G_*5rWB)2#?4eWO#t|4gvAVe}I3mL$_|P@U3j`lsU4X+`b{t%>>btY%`5%h0}$@ zsW}5t@eCzZk&lw32@NOPMP5F{diy1#nQ>k4JH^0=P-$c}Z-ca(a;(Zm@v%y8>joU7 z9cmLKQva`FHa@6l3SacTNG&R!i3fC%f?N80Fdp#LGKTBpa05ZG65GB4`>ATLza2!^ zC8Y48GL=-$()*>i2CJtE?Y#015K{-kE9;X?1n@!X@NwP5COE23<;A1_ei=U$PROD^ z5f#w!i<{~3X$KmS;ZAd&Y9QQ-F%SquC5HFoSDsJ7IepDBcyf)b|A^it6AGjfn^NHB z)1G}w7hzWO_#b)kr$<}C!t*5lV@BE8wVa2PN5?RP#>Cz^JqpD#@CY=0J7v_fOk&&3 zQ-Xbl0uAdbhe?&{SU@qT>01Qqw75Z?8{ESwsJg>bs5>EbFGu#1n4m_R#L zjBu5?-9K>fZlulZQ``KhshF{xxksejJB@-^g%7+679xv->p%L7FJ(`@ey5)}xp&XW zTXRq5Ukay?Yb}ggMvfbhId+0K4)6UmKgIezsO9qcU+PxlCFGZ#pl0zUWK9bqWQcuP z+_#wzW-@QSj#Q60L_N_Lghz}g$T~sG<5^yytCNAUWc;SDN(5YF*#MLTXes{F&()CY zih4$QT}M(7Tra}Q5lGidc<5{l77r-Xug_#9!H}_=F2GLjm0Az+6&r}~6}F1tjunXG zb=GlPtTymW`_9D`A7%$R5@*b!$%|Yn(Cx7`y00Y2p9w1qZ+TEC3T3I8<}|BD^eecR zRRBgw@3wyD+WOnuWKKYJ*r1Yu?!=o-5R_=Ww=S$LY#x(y2Al8fxgk*sHH_LK`gtWV%>eF|i>oj2M3-yyIq zNWsbsI$mS3F_p}I*XazjRU64kFm@WpR=*Y84>ckTgfo?qt=J2pf2#fDUqD_wvI*G7FW7R4p?hp^0^@`N(Jtn+Zw{Bog`Jh~?BE;*EifKTi! zy&<5VC3S1@o!KIPm*#w#Qy=c zDo)8_uuPD1U`8ML$3{9tTN!A%F_Cw}F5hpgVs{UbWj!8Gy}QO?+qe7jCbQn+FrfUR zU1X2U|<(|qy3<0Kegqh}8s#MVbSP9MU~ zz@UVr$>wN@L|D`8yQ=sh8ghYii%8#~v$Ag6?Z;6C2kEEBMcY{wx}q!b&*+ZZr}P3u zCG`T_C+4Db(;L#Y9MEGrEt=-ydbw~9M3=4@veZ>217QddgnMgab*iHEk~R0A$SFKm z0{Y!|^~$1IdHiFy#s~W?9=pr{`jeVRu=GBy{@EmIjsl|aySZU_5g9xC&xy7S6@9F3 zx(KwHNY^F&;4dkZiCwM2t<$k+p+m_{EU26sS!581#g`C*8vhUBi2j4La7u%7_ftZf;J%J61o2fDVVdo>C_92#?S?O;3P0K#3aVV(BMvw#uPhkSYa zjI3YF4AH`5?%MP6e)qW*34hECHUKKsy;btKsAgTsZ1w3^mN-w21m+1H4x^q=<;8H%S4krazSS|HWwF9_`3yRZ(9Z4}Hf}sy;(FP!2mEp-15&-10@RmBt0&?@ zK|Yo{cqJ{Uq@J0whM#N%+|Z^1(Sg8u0F?Gdi{TQ=B(;l}89IklZSrr;^ZlLEhGnhD=H7MrS?Td(bz$b$e&5v`eq`J(#)O=>+1R z6~(LY!X)BdZ)Vm@TI?7&F)zvCA)WMa-T?f*Sg0>|y4#%ES?^yg_#H*#PFzV?`8Ft{ zUAhV3JFVkmi8afAEq|CR@pP!idJ8e`Hkvoy^<0&tak=rVn=}c9c7-vH-<7*YR_i78 z^_RwLdd6>?yggQE*FJHh|2^YjbAbJiZ>@g|d%uZN>;8hip)*YY|03H-Av~|Hb?nO69^UmX!ohXwTz%DmYlW9I z`)Qq*@8>*VI9gUJ<&D=j_qR;>EDq^rT^>h5d%{@7pR!rj)L8oK!g3$pUFNj(YsQe$ zMCoOH0teH>N4m89)bvWe^C7;Y;)vm_!u>Rp<5X{>`nIN`{M_^^NY7i+PR#{^4?ARF zo1#0WlYLK(y*YcT+w4a)Zm^U^tT>W)(<*(vXCLRKChte-RI7fmz-wKV!Fn=|h4#g9 ziofxEp{%I7H@;Eneu}TQoWpx|xn5kmRsu%NCE^bH1dtD{JE1lpdIiB1OIbz_wNO~ik40ICyX{_h=1X;zDMK+46Lf@NNkzx zNo=dVqOBT6255ysmzC#wF@gXb#Al1M|Da4nCsh`@xXM6tCkrD%eJq`MoV~TbnOP&%QEjq~&2PCg=)ex7vc>gWW32n?c zwIME;k@Sq%eMFysRE(58!fidGTlUG^Pe~AVy;q7?L?i8Po@qA9Tgm_^L1AuVQHn8d z^9gt-saN4Uf!@EnrBsYR)M8`ll_C2E{MYLT4!s9srNQ}&9ANczt?ThZj$i%s00ZB} zD(QM2^`p$b1aV8xRyn7) zKWdDZMY%w4ZfwosscA=6Aq4kTPwL3MGTYH|dWSjC^Yf$QKn`J6!8SosEt0S(*}?g4 z%;}gjXH?S8u0K=zsb0~d{bsU?uHMdnqWPK) zw9T5uRC_b=Uee7aUxGOf6;`zh2>8Pd=YPE)Gcl>VMA=or>sG6Js>37_W0|SQh?z@@ zhr?s&=Z1rMVPnbrcJwQqZ(2{+u)sk&q)t&#U`c0b=U9Iy{|f^j2^?+ug`>Z|+Aru+ zuwCvKCV-1Agq0pOOjLAF2&An^0&7&+=mt0`IQKpC%qb6w*aGXz6@}vr|25X9O?`S1 z486oF(7E7^uiB_)a&f~Mk6+iHJwCpD#UqFkPk5q)J~DE!KVlzH(h=TN)e?9FTp%`G zvB!Px!|2nMLzZ`@wF6_JrYOMtw}dWoZE(4OH#;=u)V6w%-+4^v9_UbP`YkCfGeYP= zDuoyc-$nj3Qx%u357{YeE*2vB4=?3eLZ{&sackgT5|9233J)9Lihi}6BcLw!wM=BU z7LSpQ%5LtW<)@i6okN0F%DM?zRE!BQ@R1B;x2Wt}4*0JFBjKP4a0pa~-o71vI0YlN zy3OKoHJ<|b!b*e?)xUM087R%Cl{>arV0+VIf#vIAd5#=wP!vl%>3Bb&R}Fjwh8L9r zgeYta!6?`?_n(?M)L#T1o{!qD%SHr={IizGy1Z77pk<0sYF?yhR{a(lU}oI$_js_tK+F*42dBjf4F_Xm+uZ9jZ zsDlpIsEV$QrLNZ$*Fm)}h=T-Owbj#KoKQ_NUbljt^o|Ot_xiV*5o4*}5%KSFhy_p} zAJ4^80C%Ma8-TSEk2rCkoUNXnwZPm=dg}5pGy0cK&-fHPhiEzezfSn-9okuC$10Zs zhJM(q43`nJe(rtFz1xGq3TV#c|jxf+Sca`XtPa>ZI1SYQPPqULBQc zJoAuIh<>I`?qmU`COmlbgg!33A>RZqLEqq@qZh)Ug3YX+6ObcZp;$Ey zN}J7-_3gYWD97&t^DFanqM`W0@AML!RaptJiJvX;r+cS1%akE40!E#FnC-*QqHgEW z7DDz-qTlKI*OwUZGwO3#u=Bls8b;zCS5JD$vuPDWi4D9${ZawF@3zO$qMrzyz z4M0D~WPYOv^F#ulf}vNMA$JyN!2cfevt}F9Hs%#J51y?)r(-hH`Z$bBO!l9 zCNUtic=N^zrO7#?mi4b_Ok*)nXx>EJvJ(8zI=esv2^=zz&>;LozY71Ivv5;8Sg~1H zQU}7>F zuXdGl#Qczc6;yN3))A)Ztzqr9fDJ@-o{k1)^PfdzJzLE=b{lC3L$03wz$Hr}7@&|i zq>KYoo$QC=nR)6J3s?MwMlaHWHkSLJKSUAL)Q?9KW}7S95Nk(LC!vK;#mZi076B{;4c|Wr?F1=U@NT zczyDC8!}I(RZ!EfhU_tIUN*>XhcAE$j5eSEW*LHzz?W`1zO)=Y`uY_WPtxt8cxKnJwTsr2kRb>zdM5a78zlnPY+$ zObVd{2d_Cc&fnqWO%tEcqd7eLss1RF@POw01;0<`MEl{_4M(Wd(mio{8= z+=H)U?y028Ro!Qt=mhy}cn(Wo7 zp6XkAA01RzBFuUUA@-*pE7?8RHe#@M$Zl_|Q$QyeDKyKVi>6YS^WK&0njQ2|rS@Uy z$-dJNAnLWx_)r z?NI5)VjXp*&!F*qk6kNwWG9?U@Wf?r-UFiCm6w3ytfk=@J5f^WU)NCs(G98K+6s?U z7;_cff3}f5VxGWWbQ^=qdK~oi#n=}<8+~)jvO{qYh%hURdBPiE^*CaJE+>zGp7Ls! z?gu>w{Rh1izl8uqRY4oI8vU8&+i$#jr2r~87dxA(At!$0AQmttxEdtoHsZ{Ceo+0_BdO4kqKk-b3!&v9s-2+XL#WrXA(5<*7geOYkqL5*Kl+)pjm!`EC zvkI%slZgEq9Tf6&>hu5Y-)PQ{4gOIlkk%l;@Z}f}rkBtXoE!4_H)#pt<5_t($_Sp6 zLsj$)NpNV9k)9KyvNX=kCR8L<+{brLCiUcP3=A(~bzjaW_rP`x;f7BSdR&L(4wF{O z#Ij=47fJV8NS&S)b^?dE{&408r_);fm@Jbr<(P-uEV#;^AqSZ<8}$xfL`Xq$YH}IC z$bOM(d3ywHJxT0UCI&8!T0`QlIf2ohk?u6@&Pftk4T46LazNN+1;Dx`r-#iI7`lEg zB?240)s=?~+IpZ9M5YSxP{uu%esrXs!RVCJF;VFmm@%P=A287t0?}PpuoT`bh^;__ z7y&Ca5BY{cfaaf9Lcs*b$a9Dq4uA;{{`np* zyqXVU5%&W`gosp*0b!zQ6uSCk-4KwIH|t=-o7;Ghng|ajIDKs;W3hB$RCthYtofVY z$Z=}MVuQRAY~j;8HxJo$+EqhB(Gb9e=arFg5;ZZ#Qp3^QxVldL3Gu(4&Q`r$b@CM9 zgHB4N0|1*CM6%&2%zC8|UT_GiNjuu|(tU=U#j&AlM|bK7p=*}>!QkBAiA`sTtRFLl zdvA)=W`dbWs7~Ijf(MPH7jVW#$f|d47A5wJ2N9>Kc{hoXY z+Wu97!cu|j1vEQq>RKZk@%|k!y8R2IY-&VjvmB-Z3cQJKN6v}fS`AgQ2R^*60w$`( zigjD9I-umqJ1;9MI(Cnu`9Nr)b;aM9}|}h0rZca7MaP@MtGy5F~{H*ifUT#dDP_@q#&pj?X!Vjsf85D~yy>qyL10cO7xkooSh@aJ*;AG7z|{!4lP# zHG1OG&~~)7dz{{Sbv5>=fT0B#b+Q6Y$L(jY|n zsRb;B?wBL20OoHfz-F>QPq!RpmRoSujR=L^l z{T3+Gnhuwi$`gu=X~R9-7->yH@l$Yailmu^?W9j>BGe0aPScJ$FO#cyB6 zG{x^h%(R&6-F>%@pelMV-a@U7(`ZbSTA{a^t09qeSL>`#Y-j3P5|v--HaFG%n;B0f zt(trvi~4O=K_B(8R%q?X@RzNzYE#1<1qT5~m8089>1ib62)#)|bc4KOS9AltP(d`> zuXX<}82aj3Qtm^<&S7jXHm4UiiHq0eEL(Bj+b}?cZA~+qqny`jLh|9H0WTdVOiSSabFt&>$7LWX=w6+YQ2bC% z?~csHVRgh02<&4VR$#n0^ik@}2?KH!c4p7e>=LbJ2D?$CWSG&@T$?g$x@1=bB^wuu zrJkPmj{b0=5=zq6LZjhNwjrovn`v`7KWv5|$GPwnJnbJa5Bm_+eq=pRFXw zRqdgvn{jfD@H^O>^#oDpQh}(W=Tqxp^Ta%7Dgv->%GM>nFwBB;tsgMjNn4j4J2DB2 zNq=*G%cqVahsEe^#S+HzginPXo{eM+#=NOU)zzpnx1mM_1~~D>Ykd#E%uZJxyFTMO z*Qe*oG_a#^!B>2;cG94wKk;`a@0yg(++I3c`>?n4Yh{iv{N1MgLf3;R6GCTi5LC^et%cp7S?S#V|$4`{;=C)*hj8EZJa|I~$YvN#^E z?<$xh(YDbpSIP;c!O_a-9^sV}cPO5}f2*W(NcjFUobcG>@oJZkN zEF3>sQ-lq%NyEhZU7EYQxg&~j1VPcPxi2K$oMocV1OV?9k4ZC?rW1h5X@yn;X4Dr( zw!Tw;524bpRM~}mEcbMIaH{oI@_C~TCJOYTSb>x5W6iihT5U=d?Z*RYr*9c!Sb>?M z8-wwGqV>&#!}LzyV13~*=dfWD6iVUTEGVhzF`~Z`0jd;ehO&kU_6rAEBiD;h{~ai4 zCFds^hdAka4wtnjU4M?-mWLM_?>7;|(1rTr^bSv4JtQDN z>oN~=lFAjznkCrU98zqJYx)xSIUhsm!R3xHf*-CR;(OZ)@{W@M223rka<(yF;>BEl z>UI4X>R+NqyCtkk%ESTR7vFg5P*Bc-B75nS+tWEYU^=5Bsaq7T`%>)ura)kxmCaV@*g`q zatj2!Yh#wEq;ZfaU3|a`23Pd(AQ%)|Vr}?Af~fJY5!ZI6Gtu8gTv74Zkf+GR>gnWk zSKqD+4hMG=|c>i!e0SP6SSbD>Nw79RaNxTwM z3-0l!*`t?-D;ekMNaRtTN8xiqvvHXTzh;MN|ZZ&p7mvpmBaF%)T~Q8^zb2`>liBR*;RR4WiGItE4mpul)K`}QGg~Wnug_0PqfQUBcFYxS9OB4g~Inast zRV;)-VZS+uQ>3N*4tAi;~q#_Rgj~Pv;9m)jDMJ#C9O8% z`Z~?gb_x5nhCQ#DG>W_4&^Ta9+C;?=bHt-!fp_4(_>$B>q!`;*b5M@TUjSha8>sd4 zBhVMl9QPC4CA93;0E$46=zHuED!*!-daob2&&b*qY#0e{W%E1IQYjX_nh*iUfEZ7x zwFjHP9{t<;_`4wjh9k$+a!`Pw=~x_gdS%cHCE_BxK?p?A3^741QHo6|TpB z!;m;O3=v|H(HE^2rq+%n8ZE@zfI9Ypz!?iV+dMK?=@J$*xhGM)WgQYlZ2-Qx%YfFQ zZHB0DKHi;l_Jgt|iw&(esOToM1s}|xLv1Je9odiW_lxiT*nBSkB;+?F>K%298mYkd zG6krB+Sfnmr^mqvvtRISl+%w|Jg{Ie`N3&&BU+DFu z*u9rCd;TE6^=8)iZ%bKXPTw{-w(oirOn4q zP0KcF*vH0^fZibGo|FZT<+%634j_62{;a@Cq;J=d?Pd7LvjEv2B_I4-!1s9kjoM8A zG9|jdUR+6PR`s}(Yg1jJ*v6ENz-cS(%Bhee+Zlur5hS-t_@}m; z$yhJw?ZHn;qa0}2PYEgBqhtR*do5oqxg58_p4;oL)jGsO7?4zNr)YN;XrIp~=q|jZ z@%ms^^6u(VyN9|ur?z_zK9IHnw9VQi&7)(2U`>4&Hf;+A9;R>3uGOQ74A)9)MKnO? zi7rpkU*_qud1vPCs2$z1+cYo`6`75xkz0AbApYz2k#QPw4ktfAY#q_SQ0VnZ&DM1} zz#)$_)Q(VEAZ{_2#ixeT;G<}KBl}bl$i#hUI+(fb7ZY~BH&Hd?yiXFRu-K@%!3&6% z4ajd@Bh(x;#3ZxRg6i3YpNB+b)mcK)$-gUC--qoljh300(C%$sa-Y~OW3d2avW($l z&D~7;$XNS&GA3~H-5q#0+4(gS9$**H%5lf^$j{80DI2Uf`cg*IgCD0_2cHS(324i7GJ4e=#Sn8I-6Q7jhmFFE$ zq&8>rbN?0ZxrwW*dt+rw|M_Y$ir9!16a#2PN2OKywra09Q}>se*LV^T1o#iAHVXFd z)JFk^llFB80dQKM!k5z$fe;-`tm4jxv;fa031`4<1Nfll|dV0PMFvNce$e zCy|0sbdCOrCDcq`_$N?yfH#Q+XajC#fnX03)15+PyMBvIQfQU*KX^k&Op4dj!(|NM zFenG4c9Ekgfd&Zyn#}%}NV5@MU$u1kemx2j|FqlPg>-(nV%j`WD-}9_X%-9+-~1VnXoKnO%$mFCzTU{y97>)=0Khv@{-SW5eg&zFM zJ`X>5e)PhpZP(mn0Jf4$&J!-yM23-UTyA2$h35uzB`dzs>`mWHPjXVJcyd}xY@ai> z@hETQ-0o@4JTpp3xmTwvo0fXgNn-zf%clP6Ld#_8xQK-Z)-s{3-+kXB*<=X-AFtS$7Fs#wW^6(G`8&(O1-5Nw?6>;gCjO4!UlOeu2w(NT>ty_!xC@zyaLc1}1zG zZSh0kBzk%7qKe0PI+n&M9|w=k*`tcXhuuAI=wEQsL8k|MvK9b}dJ>G6noP zE!hdHAO?hN`{P;4XBRbP@2qlz(BwD?HY|*ZNv5GGzt!nO2`2M+rsWGjr=>Vw_L}`+ zW0!H{@WBN4MMnHl$xhS%fk=BIPI)>vM5&(85u)fP31;dsI84L4n3(=X`pZA-<2 zjtkvm?fJHE2f~thi^Cgix~Q(ZLo8Y8=(4NidHP{%>}O5gA}E;4|_KO=`f`PfFuZjyDhl5BwJMu+h! z5aV+B_V5#h7Q7BjhH&~d$ut<0-jKp+6AYD zC1}Shi@$3W;rHj2c?+Jz>GUP6b01wmT_&h&CE3X|-tJ}wJuEpW+9>eW!-qYdh&`(2 z1f;{kc4eb48uHVZ*(?ll+BFmuVjb?#mIo8DZV6%D6&k^weELZ#Rs*Gg zGOy6|DGG%8x3%|Q9QnR#N3woJkqe{}+I#5L32MRq@b%0+ve0|EVs>ZY&#&X2K?@gu z!OZ>**g2r#>$&F(6V!((?T?%z!{=u6+t_>0v{Xaa)gt_UqYr;1-^j6^JR}R87dm8e z%5;dH`g;rkUb$z?L6-xUVc}N)73c=+HO37O?50LwmIvRH0MQj}ep1f{%D)i)A(=Gr z0wifVyQBz=yIthp+G0Iu%abNO;m1luScJq!hn6RvFBN{WNGV$*MoNi-)F( ze!}Q_B~Gymho&MJo_!rIx~dJN@TMTX2JsS3zD60U)y}{5C8AhT-%wpKh2UG2GmyRm{Jzw;m1=Xddd(_FgwJSJ zWyJI`(EeodQ6&2@NRt75KG-r(F;vAE^o?2@Iq_{~gBgs6wHi=5Sk3M~0uC;(*t-}U zNlbJuNEzBvon)D=(YlkXrj8XdhkaRmXDal;4CnwPm*fw(RYilct3g@ z$j`{SUkZTyY86>CN20UQgTLM#boi4Q^!KH*8a;D05Fris7(zr&c&Uj z0uM6nRD>~Of|=qG5)JvhZmVu1e-dY*6J~)8e}g&Dd3)M^s!&X6;UnBqfcjTbBf6Xi zVohCZ8RjD>yvL(ZCM7bJZeS2mvh!RI0v7#4ipVc3-#Ba(^+hhQwei=&CCT9WS z51CT5UnG@d*Dquk59`N&vMR|3ZR^%Yev20GV9U4u0!%ECt!u6lAud~^94L%MO< zW*LHEP5+P0Yz59+xK-;K0gUQG3uH%c4*u;DqW$~({}8@h28|<=pnsV8KZeX7gg%g^ zqb;MUoskLS&%ofn0|t|3EjyQW4wNt3&*&e27A1G|erl(jMUrcH0a2!E^e^d&n%Y}O zDwu}3iK6(>tQY6k>sBDC=prdCD^$NaGsD}9#+czNkgF~MfvY}dU(Gu7VaB_6IwM!$ zRJHkv;{sbNLB z?bPPfR~|7W!JulFG*K+!GA)J}aoF!z#vn#3nV`i3;!9X)PpBNj5K(Z>prjGlFJ`H- z19UM(Cdo-c&=~?Nm2V}LS zS*Wr{brOR)M2)JgN78X1$EMMahNG);JXYl37c8s&q%dap{SW)cC*JmZ8S(< z0C&jzJmQP>j0D-Et>+pzOkJOYO-lseTR)!kGzjd09gLCitChDD<{&~gOv(T*;7N#N zSGGyk$aPF8PK}{X5`=_p3IwN30W1@6L*5_l7@@U`$7wnJ1A!tZ*bud;J}^RXGQ z#_#indnhEafmF%Ob1@v|mzq_Q<1#aMTFIbpF{$EDAc+XZ z7J_#=h{&8|Kx|0nlVRLb)gdvn--)X~MUl6Z+~e#AO*F-NQS1T7hzV%cksYRuFEAO| z5KvOn?STa^$(TJjVv8Z`6%WvC5-7p}xO&WSQZcaIXSW`BME~;8sfYB6->DW~dPs}( z-c_HzT-lX|Nw!I&;P}Z>5TcHh3&IWvJ~PcHfvM`JL(-txBtPL#Yg%!scP3M&%?sPY zc?-&x4!1T5CyE&(o8Oo=9t9@cqsz-A{ASJ!Sv$3Dpbhu7Zf_l`Am-%SCkrtGfGzwc zIXH6dCxJ;fpKgdeJujSOI2ZjJa{c%^$Njdk8J@w~tn0wl_Gr)*xwF}s6?es5(vqDu zWQF*pk^O+Tud>*UqRv5*clM!N`LP+e%i|3XDoG~sjk}U@p2-#NW%qWbA)Sl$LD5m6 zEsHbOENs0+{%^pS9njv=&}Xk_XaSqi9IXgXv;Lccj+wmgEB-Vr0y0O;ji1FSE&zZM z;VTs;9+s0uVjgCQ4ONO$ZP(;>;;mVjS=W%Rr)ZMbOgC;$vu4AbC5-^}=e}b2Rmt8- ze52{npkkDQ(3*$SPMaBJj&~_~yPlZ$QN`e1V1LUZgQmQ-`9g4;U+@RIoD4|%=Y zC`xgnODK%rsWY49*Y{UT=74`V-}jZ7WCUB^`K$7-rs}i3y@A6}ewQZBL%`wE6w0+p zPE-A#2Ah;Gy0(ctx=ld%IT%^VH@>uF>Hu_iDhc2A{@t#N6YQBOyo-uwvK+4Wz~Mx z1$_F!NUX<3q$gDreVmdS9wOWPAHv=_y0)iT8;xx{*>SRC+sTe?+qP}nwrxAvv2EMt z&F{SLx#Pa)JL7(T%r)m6Yjt(48l$_btE!)8C_thzAV}f8h(}855lb`DNrZ|g$y%97 zVk$WT8nMuCTc*NrNHmVqJl}*f--JYksfK-9&0!17r;f;7&X3jwUYeQ?s?@Xi7gv2* z!;?cv3 zDJsi#u0w6DtXm{=_Dkfp!ln-rb@TW>UmwmT`?65Q{181Ccv1kPCnmz}a`c|#1>s7a z;H|T(M%f-|Q}_Q(a^`1)Gl*;uePZ&a%h}Ij*t`}veKvUX%C*Z#=Ov=Tp~>;2+(mUPX|c&nKbZXw8Ne<^S>jW$gw+g1lC>-ey^ ze%>H`t>m!2Ek@jiuVbt|oIaOyslFSmtzBb3>)e8q2@3ZxlE?p&$=glH=@rELg!^lp zQ#1|gA|N`N!3BKa3 z#VcK~=~L)jXWEC}C4Q~aA&R1$#wonTDT&V+V%5Ru0*ywxm>V+rz3XFxWswQliJ+zK zm_k!`bDDe+W3@y4wSb1mq?RKmNt!Ym)9taHkV{z-p@0_KQ(!=3z{Qw@5`3V!=fl<) z^G?GxsOMLgFKsva4KMtU^MruD1lq~7^}1Z(`_B8Huo}>L#+*w(kUqt*|3cXN2hzvM z(ah3;*1_K3Ur#!gW)6-t235*>HhUrnpD;c8_DR*gY;($=vSCLHQEJgjQBqdOaHoZ% zsi4iE>vuGN^C-W&8Z5A3ASq_G5`~^FE;3kcj7_{Y%@^}Pbfa}DTJqHX>%{5AHTH+m3!VbmxiOlh;Ry&o_M@F}hxZ=Ef&O%xD zgs2$u}yIU=A9Q2uaBI(}J?Inl=Kv=K^ z;5WAexosO@>?43`aBn_;yB+s=7KFeofgQX*Ob`=w7j`l1IlgT3pHG4qw(l6ruf3Vw zA=-|jS-G%+XKKKX1T7QBeG3GLCE#9YY@@($7&*P6u7C~0EVsH$Pa@SaoES1C{MQIz zq!Z1*-L~Xm4H)e$=5hEL?cFB|(1suWEa(qf6D1D-IsaKt=Q{s|ROi&6eE#xKL*HGH z;b-4O%*{ZYGqY;{$=8vmjDqW=&(WKM0q8{RcTM;kp36J|fP~H*Q^cc7cSkxhMtGR# zvPlZ7_bmwrOtnHITzRg;pqoahC$R6sEBU<0EVn85D1e5SRMJb_=?<4XU(m;L9mQ;Z z8nD<%vDu1Pk7JND;px{y43G7kxG7)+d9*Y5IH~1{#i3I-GQ%RtN z@IwCJD~$7?wg-wuE#pFqV{S>H)OLf3k7)fNHTXOKLs%EtVjKHvAr8iXc%~Me<#XNx z@aTbS4U#3KtirQO9-f8}`MZhAg&K{;GV?0e2Y9Y(w&-FQR~~7-;bpPT#J33xA!LhW zVhbD!(m}7?l~CJi@>t4&HUrJ;V@;7XQKfkP-#Uv&ECe5wg%NknpO=MbP#_=*A#Gl z&WoH7t4Y#xq>J?GmSDhdw3B7AkaF2Eq$D|l8|kJ>@4K`uHS>>|4 zwb3JNr)GE1tvByom0GSzV<=I=rkPO)N4A$_Os1B^R65J9AJ{uME~aEwT`Vfr4oRGB z-_BuQ<*ts7-|T|$W84vNqJqyF>7twNE|uDU0Aq-@O`>*hrSf^Nv{PxQfzvQUBupYG zI;v;Q!n6&`SWX+XOVJwIn^S6VvWNJs2t}Vw%eCXpoZwQ=i$={RQMX&RTXblOHDYK2 z_y5|M;*URGK(#5x?1j7aZ@y%CD&M0=Z|7O)jIj@bjCqzWpT;KK(UANMA z*t8MVe7lx^ga7Ajxc3RoaEkx{khlr}fcVdb*4~Wv=h87UGte<&W}-3O%=)xhXTcir z(f)$U2Xz*UYihV>$+Z9+lEcdL{;MY4v2#Vp)*OE_RR^nKhHlx>^C>EpEF6YH(H%O5 zTdQF_zjyETa&zxRMKRXFYUA9CeKXymdo+NbpJSuq=L4=;0d856(7B>Um7~)4DG1?A z=8^m9aQ;H};?v`+O{Ydp3g3qm`SEwalU`$k7ubZy4SM*V0-~Q;m3Ol`z>F>!T&rhO zl3sh;twDEhdbzs=ZluEYe%RjgI>7ov`Y!$5@!iG;$=?<*8(ro%of;R7NuMjvZQnD2 zC%|q%&lCSi4c_v*DTpf$ZvfegJQg;`n7bXiH-60rdG+lFrsSv6jTH{q_6PHgPtHX4 z(#^=KgXct5<)JyfSNac)QZFQbZFGU^>-nL6H=K2V8UjzjPJU}PD?Mlhg{pwwG{G$9 zABbTIj1NOk>>|#^z<#X_J$wn^E!ZQvb~Cyj@Q5Pb5F4(l+^5NRj~fMp#2(RSSO0## zw`L?3BGy%WEjAik@Z*A-r5Ui3`na3fNbsy&0fHzvUw+w<=ME(FHANU5ibmI zwvc;`ojI)N%qgX1EdTL}-NW9d?f%zTn0II{n3prh4$Q0)77oefI_VB)PY@Kj?+MH` zT(%MqGZ&nS4)~Zw7m+D+4}8$;%swJDE#g+jla8nDnjN13z1ci4auO5e={FE?7qBY` z*nqbBT|QzMsT<5GfP2%Z4Zuiqh+yYstUeT>)o?=bdr%rModSB?^RcGsCnC&V_G!~r zUkfMm0hOu-+UN+hJx>RW(ru?b&pf)F3Ncd}zHxZa^=d1kTN{1`PPU#iXDf{6&vl5g z@cNC*eu8|cQ+1u^7KQK0Abf!|K1fO9(}LaH`KHY52!@yk@22WmJG!)0hDfv`UOoqB zOD2F|y+<$=+pgT?AHXdov?6QXYCQ{(YH$_VS9I*^RtK;>&JsPfuD=znU{S%?AyI|O%^2qlz$8qGo{ z40u=M?~fa=93&FQyZ5dvUT5!@F8~jM+Kvv30rss6ZqM!a(*lpp>rCyoWt&}s8v`bk zt7-f%_nvzd9-KzrmNczD4SdsR5k`k0G6>+2s;Y7u16U`|nfKL?ke}-vumbvQFNv${ z2{L2~`BACtTX-)o^xx?&ZK}xq{Y&Ny_anc*dP@PlMrEW^Q$+#w{dYJcoBCsJ*|fjO z!f8pQUs^qT?twpiFfgf440~hn^QU`c=JC9m^&fuwa2W;5P?J%WQbLnvmc|D~Ch#xD z_(5rKm+UKXkDOfZJlF{O(BF|n-kVdg`e>>BYtK1)|&+GbT z@#l4Iarp^nvxvZhI4u^yAh6JqAYY2$Q|V-1aJ8MuBhaaY6;U=5<;xdHh~H*-u!_*R zn8i2Rm?uzZ$MDpEABvR@a0Vy=aH5wbWkwIw$({=1d&<0NmT*e)Ja5Ot+gn>wXP9H_ zB}oad-fJ$Db*`^g%XQZc6(CW*o;CNaWDr)zL5BNmD@vm*NAm}$W)R^G^uQ~kt+Bv} z=b@%wN=00?>4aQ~=59|tzL*~Gj!4#}W`u7z&jU+JBa}wb@tD#N8Zy{NCfW!LmabN0 zaEb@PW}uQb>rp`E!;UBRJ~q`D+JA6zBzH@c#7K{=t>dS%#Br*pi|C74!evl|^(VF^ z7h%Y|*~u;lmmMaPl>k_XqYTAV!F9BnRrJ$bRr1yC9jW_`4MmL%U6FDW=q>N%S*(T) zbsh_WMX7n z`5D=;@B`S(1kR4K;mp(Ftiowkp!SmVO!eHrQEo3fxce)3z%(5PcE9XUPn9Om7|j|j zA-ccPl9?E#5`yxsF^QX9iMf1mv{>p$>a!yQi0)~*XhQht(uG8?ltd@_!JH&W8zdvw zF%Qn3C@=<%Yn!~Rwu1CG_Yiq={^{u-L4xuoPsB{~G98XM^F@z&-%G44Op0YZib{-M zr&Qv`MD?eu*X*XAj_li~`3^^8mW1q%&9GDx#kn07rM|2CM*XBtZb7H@&s_&Vai=dY zMikfY;g~CpjD?Rxk3NlxvgiAPYPCtO>I(cRMnZrj7C+GTmKw=^Ljo)9rO;Hjmgar^ z1$@6$_fAE1#en2M(1NKLb;Xur0MV#WAN_?*{%J+6>R3+hFB}$%qpIon4e)+P;=Et0 z%BU8dNgh2ZMVGHdghv7@WFL-7NJ*47SjHw@m(gH&SgZqT(Wiu?Py6N`hY*oUxi_h^ zCT3(DGBZcqE{s9INK_xn7KO30u`x-aHm*Hl?Hapvsut_8$zP4J^Y<0NsuXRBxYlxy zY)z;Dm18xyfrfpv7|yv#Mec|yT_AIjW?y95xYt+dRfM2&bd|WSM`(VKm1rHf8P(9o zNt!C?HgVOP4n43EUiX(VVu2{tJ561cP&_ZfVKG=7ynH2cVnX<%A7Fx zuK;%HG*TV(#6o;K>C8oTF0rT)u&MHnlvf6i07Z#9t_Jq`hasyo*s^7XLX;VMfdQhL zVoa}nSc|8A9Tc-C#!}*=hjI8Hs|FL10LPM%LWM&fT8$M;Yhp4g)?;e5&S{>0ek!+H z$yHK#X#V6URbRDSa>TLWF=f2Jpb+v3=)J%w7FUKs?@8muC77DaMN&gRpW{= z?afmMcm%~FMiM6S8&X=>TtK8L@{j8n7KaBcc3`8H_zF?_?Dz(DDnAOzhq2oKqmVtu zXd<)yKME23qY%-^f&8Hejm8R2%LUxq@e~?Q6wx-3vC@p8v`W`6z)NUX1ShJGiT^e2+gtVVo;`nBs_t#2@!@FK@fBo?N~$ z=mOUTX1n3DoOB{kDkjo1k;!73k{!6v6HvpCnvtB_Pu~pR;-wnFPa#?sF=HurzehE zUaZK>&q3}aTD*|QA#P{EBv~eiCytBtzX-=HUij(kzf}42BmCcrbL{0U#QiVA>wbh+ z{9CwW@j~6dg&X_`|6erE`q4b>-@?fZ#k2lf^WD6Ku>UDMF;DTKVu^SDI$|=(qkS%| zM~?i3oEfZpuh;N8d1#NAt}6Wlm*BPM?x8Hmh{exMpR|6+x?V+<{p_mk_`n#+ad*js z%VbdF+JetGfQ5+OhVpvcCi@_x{RNq~MUJnBMO^p!W}Keznz~A)l3FjL#rzh{`jvKC zL!D%6PJV|vKFMHML;Y}Tj^UhoawT%G^Ykv+Sd`Q?0`Ci@Gf3s9y=+$z2hrWuob})u zQnOnJn$2$V_g!a^)*iJL=oXHng?{X%FHiRFEP zdS{Tv*Z6&M0g?^-fB*mJv980>$`&RAMx^`VagFp}X*<;JFA6tk+MjFW{Ex|Jk)s~t zc0^0bwUaRx|F&PWMCYNZUyG=6G^PzZ&2zHB|IGko|1vWO*;?Ifh5ym6Mn9OY`mpddVL>HgY!lT_9++eMz$PO-7V9G9s= z$`Z-5{b@+-V5u&~cSqaB>y^(5nTZ}Z`bQgdnfox_6frvvo#q(QK%#TwSKS7t1LYio z%MMRgtsNrfG)p0U3gTB1=BzTCcm{$cz29ZTPF>6ttQlXiDCT(`q=(Tf2Kzyk)jif@ zOH_Z;$F|xj>}|}+36RzXm*hJUlOfehzbA?0 z)vhgC8yA{8f`>$1S~EQh!U|ZL+xCtDrVeME^)8-f9R4hgI-mML7P?Q(85nq3=nbEl zQE`csl*7P9>h>XX=g}Q6!G-URa`Bb;bNoykzeowK97Q8Ak?=AECq>nU$So1hf8Wn7 zl=A6#$y+a6sK`!ct{0Y=Q8&rtTO#mqfWrs04icP2{3Sd*^Fb9u5 zx}zD7P~R{`lP`=y!ew76v~jE*xgWX+XyT6=BdS_3stEqHe>fl z-~s5Dt}+xjVUj#JCP@QAOGHjd6QqK~_L>IS;!5wADtvbsh(%!Txt?4sbE*^s7DhwZ z2Bthjwq0(>Ps?%h8%DgB|GqGuOfBt>_|(Kz>4{hz>Fb({;@g(ro@T)5r}cia*VFU+F8{A#+N zj^}r*$zEB1=pw;D^^s#mZ(~_ptGtP(N!}MqzYJBXG>xCB zR=jr=vz}_a?bd96e{z1j$0<`*jXTy*h8woij&*kO#w!#uiibxgT9=x&M2#r|%}@G1 z{W5d5tCm+|Vz73UKi|z2zanYd6#J&JZ268WBh{L#v$PN&7fh-s6eaOebeD0b#THXv z3Nao-aukhT*jpTpl1sNQ;U#Ti>Wuf#s$2y2^o)i5D`U3B;yMw7dsLvIq-AVX4(nvk zR90*tH(pE`A!3yTi8+d?J>r*8&RD*)66gMNGAB`yAcs^VA#s+hSmUZ&78|lh4s^w+ zytSl09u#g3s~i5kQ5K-vsI`Nd&iURmmK=i%Px)f z7riYhQ|a1jzuTGe~c#XbZ5lhMl>`%i@Ktyf_=%l>+rBkj(@A-$2EZO9PV zECWroxZ_zs;|_$!B9dvHjNtKy^#je5-P4(WvwU;4?5x~NH)S0&}%n7*hEEISqaeRV6l#>Wxmu3Rab*^%(VAwu;{O_#PvM?{@N&7fTqwHoDLv=iu24mMer#1wxc34{^# z0bW$OQb{*kuvf$qO@D2vyF}gxWt141#_zpa&ZAKQU@eVp6X@I+{Q^-*gWPPa(EFXw z=>t4%1Hy1MQ6{0PVjB~uhLIyfm37K*wAj^?E~#Ci6_+P7Jl=#|ATg}$dc1nea22jR zK~`f|3H1t&1VG=SJjeU2gvXkce);`)P*nasPD`fZRU%z4neyzks=RQHaMLE^vf%yZ zbzpKbWENCCrNdlZ7r(RU|r_UGo!GFWrJSod3pxWNGhax_JoI% ztK2{SNVU+BoYAaOORJA6mfT-{O)!>6*))SKS=fW17z?|LEdk!HJ?a%ll16owM=4)R zEulIgpPih$NJRWiwt;b)fX7d!(!}z>Uyuu(wayFo&vnVMu0@(S+k=U0z>Cdgd)|XA zf1|k^aO_o#(a@EMLZ9^?-`Z+mbOw!b3tzW1{UZVDA z`+iA!=3q!n6T&2ohmxc#GC^0P{e5W&;-$U{W_>@nCd(oxvc9p z6RV0}#|YJKuoAM!KtT+>Wlr(d4a?hl*%V_$w_yhC*OwZ}pDwT~@;WYj6k)vXWY!PN zaxB`LA>h{c#YUKxbU>o;ncuI_yYOeb+vu}6Nj^`tLa;t~<<0>YuV}H+r)+P#C#UAE zU6+;!Ry0tGk-K&GjAFms9dg`9F5w4G?;Akuv)g|;$5S&7PjK^MdU|fJl~Y=5{-&xM z$&|Q^opB2Lnx$~)%Wq_CD7Hx$2B~JqL9OrL+~7?YFNVTJ!dPKxe@Tt+syqYV1lOOM zi+Y2dufWLoej25ok&L9RK@@Dvy(RjCVq>s`6T3FBYpVEKLAW31EsC|Ym&U^cmNOy6F;$dVllJd~B84vpn|DTb4Dc;OWo1Z-AE5!do zUGlSX*&8_+IntOqDXm-Yi6VGucjqT^St22h8Zm`4byS#L7@J1bsp<3+2-kBs19ver zA3`&dkM-C%t%C_L#0f~MJeD~~D~%0QRN!g$&C8Pl;Xm9v{2D^ilnaM~in|dXtgW0c zjaM5(R=XrXlk11Bh6B5#{sG7e()^*S4W-$=I(nLC_U7tU6cI+NGJ@+4T{25HtiY{h z!UB*nh*g3#`qUg#wXalnHkIkr3=WGFQV*}Kbd_`R%d7!Wl`7=EKRf;wQshtSqp5%n zt(VFc%@zUj9y5ns#46$=371+`!K~foEWI_ImdZ<9t$+Iqo#%F|7)Et~#%wJNxu=r2 zK*B@X0d`ODo3_3+noB^d>y9-Fh+3ky8j#My?qCyO zNA8ud+=c1oAQeEn4L~2_Ua|u!HEqj;JsbHtiZCxf{lgfS*})*W%%7TIboYs1kuMfQ z_bBM`(@L=DuXJU5MzDHNV7aWy+;Z1q{LB87A@TY)b3_7<=Zj|i)O;s9uhz!~W+OyQ zyob#BxVwt6=fPN3tWe^@MAVj*WU9Cy8|K+=jdI}$ZlbKqF~gQ4{qUA>06sxCMN%j! z6jz=?vH?>16t37A3(VIV@4!t(HXRj+_pI`(ZDqoHbUCz18feDt8X5%Lid$sY)o-xw7%Q3?M_Y13LZkG}(U4pnlgE`Io}+N4 ze8g&Q3CQS!tyWYM%hr`AbZx=v>CQw@M#g$uX+xNPSVFi-QHN;#is*aG*=iFtXj@=? z2%;OayDi(!ehGr63}W1e(SCBvN^iM_(I%9LTf(00ByR7jM{B(p6Su18`fbNb3KU+z z=^h5>aYpLc&b%aX9WyMJf;3$>fXM>u^A)`QC1!Y#+TucK|IB~zr7g^pC2}!h7Vu;TWxS})X2-nP21}bXl5Xe2~A`$Qe zXA*NOx80xQ&6BBV$%v`r{pxBP8$T?^KBK)ZZbm>S9{RVdN1PiVI@As9+z*Q7Wq&LIY>DLJ#ysIHZQF zR=ECxf}qzHO{%aIHog6u?3ZGe7=d9FhFE9Xz>LZzn99^VN&Qau<=NTI^@NltQV8@2 z$_5&P?#ji5Y3aFa4XMb$4{PjaQR6X==qaSNW=;;nv9!Co_E7l_rCjc>(Oq6w$RL{} zN{|n-PTbpp0Szo5P-z{Zxqzz<)leF?MCVjwI}hNOjxGI_NeIPJq#*-!=yWRkO%+K& z^Y(dY@78}FDU&$$cFvRZ`4fHfI@&^CAJiPj8AoFBt_m#9KmNS~dWd?@Zj^CPG81tt zNwgYS??&51Ct&qa82z%mug9Nz;Fz*WhMJ50BGdM*GFu z8FxuFCzHVTW5xk<0tjRBqYmAjF-JOO=Y{oV>we^q?*dbPUx&at6uFchcDUF)ckl}V zXa$!C4Rqw`twFhzaT2OTad%#_A`(iejj&lxb0J6q78!a=zpcVHH>G6_v67w5DLx(! z9v3=AP%#3%$yqm7)CGi4_O!qVejDQIUvlEBCVadHj~nBAeqYR{1pBi6!GPI%rBHwM zf%{E_42UAYtYFGhp}2umPA|^3uzVWNZ#a#BV-Um+y*y5%111s=mkfg)ZRXdge%-y^ zt7XiMEI9Ch-PIo~Oz)cKH*a)DOTLs~Evzbg+jL8BFh^eXQRm)yWxi+Zs5`J`)P;M& zWqc`rmYD`+Ss8f~Ct-!NF?T2tcKc6g$D?4YlVce{6VoSs9qG)9C1=*9Ku*_GSzt3>D=W_^F#N$oQ1hy?{@Id z>%#eA+vbp6e5VBwr!U2FUPLAAxO#n{es#+$PdK z0F0#vU_0=(VPd+YG(dtvQ$f1)qL%yYL46p?#=PlZ+=~V>h98Q*e_u2JH9P9)g-HtL zVffpEl1TO92_{?Y0QFmDlyvTyjyx8NFZ3#A^$Ws+sO3_;DMXIip|)gWh*vD-y{(#N z`OrmfTDu5VgxfHrVZh3asje}O|60mht!8ra0p2?xld&kaA4`%0iACyKSR=%<%{9qfmwjMp3 zh@Z&|OEEcMh_6N({n2xqcu-v`1-^Sbq(&!?d8PO~0enyGx4-o7#^-eot@G-t*@n#3 zxuBynSbVaAUDr?*{K&qYmI29=ML;jE3Dp*=8ywaAxm7A7#ib#q9prJ3FkTMy9J){7 zhoQO7fRvN{Zy}vRrqli*ulpqs>76a-9i&9Hy!IO^F68?*4QnJ28- zOmSu&qQwf7K(YGkgbim>x1vleTURKaQ;=_Vt1Nx9*|hz{8KJ-d=;IxksTyM(Ui`ul znWRkdcB5A2vk888(>81LZ*lR@vdg9pmUb&^7~o8O?48bGR>b zr3z&LVxZvw^f{NPpn4^q{~L5dH=Mkc3i3#$R&; z8X}e~J92g-(}lAh{v39>oe5P4G$&*49ng7_e0Ek1Fr<#=5uCG;1(D=Xn-Bqpq8W`S zD{p4}we6aF{F+C|M|KCys4ITRFvf!AsEjpZYaT10Fy1`G8_Y?Qsz22`aUynSurvYk z9J>lU4`m;mQ~@AIhG}}QfFZ=i5dHe1!a#3(GqJ$;eUL|aBMd=kk<$$MIHdO|*(!Vp zk?ei1AS!_`ht?*0^6_nOt2vm*yIxK0s#MmZ#3ZfCCMp&p-GBBm z2;Xe_2_4-#L6Gvb;4llC@YDcAA|;8!4Y))vwS^)XecVCqcJ4sK7?Sk*_3`TL`gI^v z-hod(uRs!`Uvg7(GiKx^H#_~wHs3ff)G(J47;q?qi!4ZCf^*>_o2^fQfqOV|F{W>% zSl3kecu_SdrwV9P@^e(~9%fl!&*x`Vu z$rSCUpf5sww7KbumXMRJ#a9{BG%KHhLd#+8UDAlb@-yZ(=BFoGYS2qnZJ%+kJ7ao( z1z!4A!&u#~Ha2#LCA_g|Z>_N{wEuorv{+HleWqB{PH$;a?^3Qv%2O}(0rSs zg7SRQNtT)s-z&oCXehZr(?HdSFH0b`Yc}B|zGV}Sly0?57y8Y@E+-+Xi2lbmr_>2b z&f_Ij9x`muyoo57D?>C?PD6{LoK&P}-_RXH@wa+As8uNQthX*NJ4`utvT-P5$FC{N z&5=u7k`+oOUWIo)f0L6v5S!4&O~I5Sc6}FjaTW3qHuRPi+!)Ee!M!xY!-rUC)ziv2 z3dK+5O84mBTeksmdVUyE%A!a*`Mn8urG6limA%NX{B>B<@W+DzEFh593Kw_4XivI? zc4}2(vxYR&f)`sAqp`7MFWL!y%SAhTAjm&Ajz$sOUoYr&-EDAHgHC0YM+SCR3xT;k zWA5|aL+k;Hs0XDH?9wS*$D>1e+V1AuMT^Sf1E6@o0F;MT%eap`rPoI%E*&S6L?_2A zdWa*(1vtl!hK3N~Ses%PTZ`GkeX=A%_{$Zbl}>6@0yW=e^9U7B))w2gF|mJ=}@Qez5?4? zAF5P9UbRNfGr}jS3E~sjhtd&p92Md`ay+cD3wTg+hTn?RL5b30W)pg~-qp0;Q(q!S zKzp05y%vMpXT4xm*8wd}S|m=3VkN}D61Qk(*_(klDEc2!7njzZb(&m|^H*c1*P{&X zm3eARnx*^CuctVDP0oC*%#&cOZ(hvznU(FV6&Tu@S2DE?hG$Hj3Y-+(E<2oHRAEWYQ0N(*b$z>SC0#uKvWH{NDS2$m zMiAayZlbAEaH`@?Q0e8d9=exlN+Xt=R z;=K`fZFThH^nlL~z{&OEs(xPo!NDiyl4K*)lhl@;vA=N~rWx;B?y4Z)7Ic9xG2H^* zJ<02lkIBTi-h9|}JJV7Aj%dh93?Wi3Ov5zn9z>uOC2!ViVGFM@ZODK8AE|~}m+NfX zAHU5Q8UO(8e_Ix8|Dk=aQkMItDE%L&jjp}hHwh$Op2Ecn-*eciau~!-tW7bga_EP! z$9TD=BavV;rbo@d7ARP#?FF#bs+ue!X>UHwPkAo5;_C1Zgj>EL!#-%FDg!b@$~>w+2|6?2qFUyC zAmpSzv0O16s^i#>GwwPM$-r02{n@TtEQ6lwaM~M)HGcvoXHWZywL?WC3L2pi)I_9` zTE-~m$7Eu&el3hT%dQ~m+sqfLvOSY3%eE&4MrAaFg=mgw!{!D`aI(d1EWN_c*?KC zHF6%cRFh#PcYsA+DZcYkfD}HyodyXYd$4_7M+X;P%DQ1|l(qo59pu)C-VW@CA52Ep z-VWYgT&`Z7zFZ$L7%4%lCspzafc1kV+2ra?qDXFwK5H(I8tCMmJ+e|MNp$B1$-{3+ z$V3oO1&8X(Ide-oYCC(L| z@N9eo31n9===2}?wNjn zmOut0r(+{Q&Q!l1aCL*HbUI)^Rdc`lg9!T`ype1Cz8;?F?Vn<4koW2ZkS#m^*t2hK zKC+NmT5Rf?S;(uMAf9OaO`JZPMqd3VEn}DMs0js5zCVz|1Kd8%Al?PO^xftdFiA{Q z6mHsELi@YfQp{on;oR{e4XV~L3Codw^Wn*=&^wLiVXZx0J!!V;25k~E7Njq?fM$dp z-eDJ$^Zr|xb#AnET~>}*r8MwV^D)zM$g6%N9wB+=D}G;qX4g!5ux}s0Z`$nEghTsK zFHQvEje#1O5jm>u;q!`Y<2>0H+`K?Wbz`|8?CQ^sN4?TG~rd%4UrZp^NAiU*smBZR|aASoE7IkNb}!gG*SjPdu0% znK9_fob-7S2T46@)Pqr^1=)dEao9W`-kxp_x)S+IrfGXYqjtyz^N!p>mnnDj>B8mZJt(idLiK#VRuHjw=M3G++7qZZ)mfs-J;SvxvmcZ2M;wigSO0hYI9 zQ&?qX3Q59rDQFT1)MIjndt)#RsdUMXhIN`#9ej{id%XN5V$JsXv$UId8HLc~(;t*P zBJ`E82al~U8pLEXweqKWq3CgJcqs_u7fITJ9^knyS86kNnXXHF5v@M}GpV9e`Afrl zcf&FH4z6C8d|z+4qDZ!5!kUSY)ZKa-o!v+&td@y6u~cZpANVL}x{Lq*?SQ;7G{*w#P`l7jGUE~N+X z^>+9BB^d8dC7iKU)}CT*3vp~EoBBkjeV@T-x*%g1j!#|=3H)DrNW{Kp(3Gj zCY#6FnVTwr?WzX{yXTjhQKl0tIHzR+WnSi@10~WOwKLq4ELosN)0~AB#a?7yz7T~! zR$#)5LEcAIwe7A(lFjxpc+UcUFX>5H{d#V;sbm^b8pm42RgSt?h4z%{dFk!)cXDgV zd2AKuKLEH^aIjdMeAn|7AX~XFk-Tg7Z0-#9=X*oV1v|fgwyB!R8l~8By8_Gk&w8J* zS9`@iORUq8F#FerdZjq+ITLCyc5D($#QD0z6^C;sj!-Vxs&uqaUF;hDpka2m`at{; zs+e&EdQ5oOfsdJ_4p@Mn^^vAHF@DrId>H(hv4%;3v&JwWdaSX5w3yUD&|E&uMtx)i zeMhaILcqH)ZUNY66NHud&{)I0EZDv(nV2 zO(c2$=C<42w-n44QI+EmF=Qe0MtO;+oN_s#CrkfHX(j%Bo1nB|`CSF{wZd#vE;%Oc z?4vFlk!B1l66F>%s1g|nMbioW!qSeSL=!Q4(kx?{ecZm)?6l0MZDJO!N3!NPGVVw= z1{Q+0X7=?m35oyo1WDWYSEM%RM)BBd5F)ah`>k1Q#j)CSw@MNt%dfxEx(>wrU{m7O zl7;u$uo>7%Ry~z`z;>*NK`mHL=TQjMx`DW!TZ~|~N*^Rw<&{eHdSY1imRifO8N4oOIGGtLmKR4~}QC8KZitLq|LUxRNF*NJPSsE^jB|_#`b&SllNxCvWqUnWWM9~Tnf4B#AjQj8AnOnR zl}SzBdJB=7+4DK&KuCBn92rmH8kFb#dkh&iWYo6D@=&FPR7&3_LT`(J9WT?EN0X_3 z8|-q;^}IG;J1WQJa?MlIL>%5KulLB9%GJ&D?p`}>YnS(Dj9%#1|2ULndB58^gaH6B zRssOg;kfK}W+DRszB{+&GzS^ZhInZ{tp~ico23LYr*JeXWG9adi65Y9l>^{czo3 zi#Y@B{Ye59!0E`FQ($%R$F6goU@7uy2{GL<*lR@k`l6auM$YvcpKJ|(Oe)}Yz`RRyn>Vk|{EG(oxy7Zyhz(wOU3Yl5AvnqhKX<&4q$(rQy{AX2Vhawf zj}q>>pWqGs%<|(^@Fuy_qS&RFm3qdy34#!X7vz*%O#*lmY?ei{2H`SLdKI>2zIfRL ze`el21n-j!tVw;uv;~%2q*dwy&U+$2DzYCny#}9kd`4#y_<=hTzcmvj2s89cRCnf0 z;$nW?YfVp3!euC`u_Pz$17Re?r_1O2^ZnU{N9AdgqunQm!{q(Te&$j~>diliwZf=& zGoSornkKTePA5CICl6}!lU8xE=o@zy;`LdMZ+(wh;l%@Gc=xQ^ulc;=r30USI$yXo zs^Dgv2JB1xl5fHM7VM1PCx`=?DK+t1>`}vn>q=7!{1dVrui)xY z$%YPBQ)hM#^i1>9j|aZm9Tr7aM~zbX} z(y7N_)vo6YP3X5d{2IutL95a2hWsNMj4>upa2@_VWJ=_%K85V9M$h29`sGk-K@}^64H%QnF1seD?RB_ zraQDA4S$dOOj$mK6#U!$p9;kAtAAjE2ZmNd3RP;=Z=xrfD)A;u*Lx;RemNaa#1MW{ zbY!u&p>Mo)7)APzNPPt2nF^&ac{kEtudQ?Q@J#ZMH0ifoapd!OayFi_Mfg{4vs}A2 zX~TYAs<3c?RbUXx27Rzi-mP9dJb3K*SP@{E`gpuyiF$fDiyYeZ%6K=n>ZW7$Vu8g7 z`UuabA0`5J-fu1?nzL$@CsWk^wOZDpfdzQ``%|$N zqnUNg<{-rV2bYXgMx9mp%zgi~N&as+3iT!W9Fj$2;(2SbJxK*pQ{$+~mZ>gO2c{Ej zq%oXB^xr_RuDE0>2`a5;Iz8b6%oKhNmsotK@a85k4H=D!T#sgfW&-M|%KKsT!H{y#g zA}jOB%&M&Uqvn`%jLMP8f^%S3oyYzsbGDHaX9Oeqx7ENtVno2|R*)GUb+g{x>T3}) z(j$`J196-QZACWqX%Uy<0%2qNu@#N_tR%>BFlbft`4Jcsv<7IDf1K4)e7fe~3SDiY zL2I|4F!(QA!R-w&H8}FN+(WysAP+p|umP*;hE->uCHNBEr9xc(j+%d>9p4v=RY)+$zjq9p5mWmM~E; zV6kz?|14w*XbpA9)nG4F{gN+jh>PJo)pd{S8stipT^q^TW@ziup&F5y>S& z6O3pyvSG=lOd2|fG&P~gszMV~VJa<-OHzvls!!RqPP=U2HRzNnxvEpe(+rjI*?uIyO%3t>98bZ5uP4LUFH=jU%RtCb&i4qkBpb7VU* zExa<&J+j3GYl(kb%2aUgqBVo@Da(s~5T#hKosyDj703P;d_bxcXG+S{p-)-?AMWxZ z?wy;TzrMMhwe%LEtp^H>YQP1gGlp7p%v5wEE1()0`C9Iw?>r*7pTNx|9!LB8<%m!v z9d1KRbH>?UMxvs1qNpUfP_&KtWjuCLVieJcD+|jQ92{|5F6=v51}uwz?!e9l5M0#P z#Oy2z2j{zIVYgt^j(PO(YMV9ll_B3v*HHeR0hwL9g5Dte$P3W^twTs(#+l9%(R+sk zM$+(00N5UvD&&$Howg|{0NJOOg%bJ zxBbjc-0t3=3A@sxd5cw9rE0iR+?2n{LIz+u`WcaG%6RXLdNF`jetBck`Sm`{Ffr;u z1Fif`W&v&{u$!9M1l1D-QGpYVghQo<`47Q_KvlCU(cw^Hz@cWs|3j5`-rKog*yLm5K_D`3(L==TxWHuIBbHvS?3b zlRThv_z_|gzI84yqMBD)nGUhWOs&lbTAC2mG$1R%eN7jj|8RY~E3Q@-JS|Pw>M&$B zI3n~@RR2Cwlo(P@(ZV&b$0=zN2UbEdn$y!r@iYEDj-F5=~pKX7>tgNqR*{K z?~uUuS=r2_D1c+?h30udMumvNyR{v2XScuqc}MU->@OVAp7xNvb&iGY ztNhvf`VGav!ONtN^2e+ZPSqZPdDdn^4K!u%+!CRy3tol)knw)tYT+Q|DL%o@*zAU7 zC%(G}{~GM^`0_D_!gyQ#K&bV`h8eDzUnWmwa$8u|P7wHU$#DhJ>xq>QA*e=1g|7|p zdBtHd?5l~D4<;=|#@^o(__EqzPJC+#TgcaTa%iqakKSs4LdklEz)gDEVzlgh~{8`$aE*tcbOa6VFhBM@J26&{MBW01o|N;)zS{Fg)#|$#nTTE zwxTF-;JAUbcc*x}AYvF2^$^F0GvXu8@lNF=v0R}KIu)J(CU-1vt}L45VM{U&9B8b= zP5{Pi8Qu@MFRRj=51>rfcyAqTU`G@k4$SFl-=7(iYF>WAUM3WqXz&BdGdt#Vm9L|5 zYq9_v*?=3WT{g^$3fr+!s|u)=q(6~#kcv#OrD|`JFmIEZyv60Tiaz+BaWY9BoQrR|<#?tz`yZgG(!ggg4k)I$^odWnZ%viW^whKUl55Su61gMu1sZ zX)H9zx{dq;6U8FDG`sNB4nW`ErBwjN;$3sGod}i9af<%E#W<1 z$jVqDhkwFEij=M~yl^UTkRiOqVw@!)9<{&40*LiTzPJ38XLF2KW@xo=_(!*BwJ85b z&u^vNXLWR_Fh9VD%|tAtl_gZAd}2>@I4%S-Y2XHN94@4MbW(P5JT6p8SmM8DH&oD# zZ?Bd*b_~6&-~Jqfyk85Ok*+22u{3H+I&`LNz2@h)py=(A=;uJqO!P-a?Nk<5DDl70 zVUeT(b?t~xl>uGpqDaRc5?JV7TnZNv}1_ST+Ya` zaUR$0gtA_{LxUzq`!=CkOq*HT0Zi@I&>gphzh@N4IFz6o3E2Nd>U+t_*i<#pSJ|ca zyr<`K#!gz;5TI8};}PG8JM0%?7IA;CW73GMyFFq3$sBYgaL<98Zu47l9f=8ke(7x1 zDIsM(IkyR)KMPKpRg=ORQsX1d$*G)8Yfp`uec4<9hyz!n&9LrJ4P0=X{XZ~-FaCev zh&yRfCS|k|Tk>dh6G2!eT-9cskV_@7`GJ$!Q8Y=t;TBHSU|nJVKgN^-ToLG!@CHg8 z%dzOG;0)zswTk|_+tp z&%JDR^egI~dL+}F2+NifmH@ja$Iq4N{Gq&`hQU@bvYKRGMKvSID6ZN3(Or6D(3l; ztC00peNuJHpuC<^hW6AH)Rd}UEyhExTV5$6PgtBIsZ`4NZn!hsH>HzQ__dfa>otbu zC;M{OT^hpLA)_x?ESHE-m%_btuDSCd?&}W*hlGMQhR_Ndss%L4i3+@GnY)Mg3sQi? zClw6BkgMXldw&>R@m}vHP4=vgJBf6B+G|Vfvku9bP$5C z0ZN~5y;M!T7Sn8%<&e)3i&|@i4Rj-soAsXQgA}sUz39m@lw(k8gXIq!X8qgfQPIw+ z0l`Ylj!SH}WcL(|^9O3g*2wnF;Xd^TgOtFYy`kWgz>EO0U6C3cDB5i@;Gpm8iFK3h zoyPbc4kp3}tQYbOWDlnP;WOZgk&~rwB&I(qC~F3NdqByI|M3^CvlLD!+DRZO@HH>iu5r(X5b(Eqfo{MVoMVz_;1> z_xF8Ad*q++GLkgn9QplXV9e{EC{pn;WcCY5m{$^vW52`BwpsI~G`&{3YJ}2$LR^1) z)!2w5S}5YfXMJqgWq;$be85%=SG=!|`k9;WF)7yY2spT|Yp_izROSp9vE#5d*(G!3 zOa#dFjBX&YE&FdQnFmRdl1IKsqed4NdRtzINg!3lPvenD77Iu{Q=CaioWD#}7Zw&N z*S`3Mboi4g@PD zLqkHN;%|wCz*5A5LqZATk1CP_^aZ1oDocx%0$fN1!BW_1lHw=kKEgZI68I5LS@iRR zwhD>90YV{DBf|iZzou0I6cMoEgE*^vJ9x=9eApj|LV5*#ZV2C%6sF@snaL_QM%F=& zr=NC$oGZdwrE$rD&6CiS%KG7?QT;#~sazgV2UH6_Oz{>dzju_ejR6qyeW*ZRpmMnk zgXURZXRK)G31|Hm6yVzmgk*&$XR<`S%D)rV6G{p5_n$KSjfl05f5&a=(+H%9##@mNs-cWr8$?{pi!BhppJ8D_;R7 zr-wql;>Zg(%hGBZ7!31)dNE9z>oe`o_R8(8pHp97B8Y{(XX z(OtMuG=A|L0eB7weTa-13*yPFknX3o@8=Mq0q+t;X6!XOR7$pd+&_!7{CA{V4=sN^ zIJ@u~H19p8U1xj<*EtNM8qVI1o`#03TEE;yvP2Sar%ccbGS;RFcMhPQRJA}gMo1i2 zuS*wj3;q`LPW?jXe0-P*Wio$JZBVy$@J`o)jjxC_RzlwXtr4tC$m_n}+kib15f5N z7Epk`NuNLN&xOEUXqXJ@(6VlQ_KFedvjyb_o2nGiIZaZx`YkN{^}mvU1|{iYwyb&7VXdlz$R|>>9lQ6G5aJDlVJ7Fd_vj?GmI}q?O08 zF6kpJtZr6+=dJ(RVI0;%;v#L~!p~rT@H)Al!jwsm8a{($+O^FAm*T0~DfValHAyFK ze#&sGwhx6@!UfeA0|L_n{}{Hkvwk7piR8&5n|HjNw>970@7qD>aKaS~>3E`#BGiBi z)Q--Hl>REytBpoF$xj$}oov8iIICM@-P1I(#XA#0J0l$vMDfCoyyH8#nAPy`ENp41 znd%lBgohkEt*+ms&K__hMa+P|3C3)GTc-A|^cPk|9t^sDysn=-h*}?_A34?y==rps z4HVBGn`YnlL|o(EDH|D;&aLpa7R=u)U7@k0m1vmN$23gS9FODh*8@{j4|B%E(Y^mM zp01F=GWC5T(?_uljI|;1rTdIFMlCU5pSO{g-s}SEEXJ3^8A=!IDN?PO6DdY@QQV^k zh3ojh8YXdE&hN6(1{ge9g}xH?cVc^CF5kHuY`t?ch(WN0V7NNz518wzv8hv=c*8B^ z3BrLe^HsWfzF)8%$AdVqcUM@Ww}3WN`Y$jTq_F0zhSWwNr=%&6#@ieoEQYdLvHJ-( z;*(m`-4S&`4N~F8XkQaTp#=PsgZ^aojgTCtM{Iz)w~57Xf581HNHB*ol8(>D&c%M>^rs&E}fBF&e@)|PW;2B1n z)%Hlb2Y&NeOP?;`gse8xpFaM=DS_kl>9^@4PB!FSMK;tcm;+e3;FP5)Xn9ibMp*q` z(uhgXsBm7hXgZ&@V)EX34AQ8}iw5VF5=H?~=Pc~KOw`xG8@ME=9~mSJV3?#rCFSW& zg=*JhSfJE$WTOvu-{I(8Qf@T~btN3o(F=T2UjP<~L0BC=^zHqrA}}>i`Fg=~hI=Ti zxNHmVgFB14>MBzIxrhS^vc%Qa08f?Mq$~y62o>wpftHx4q&Obvs{mjFLCAkuFXJD1*}#iGF;E?%&;SR^h9*dpHhs1m**TQ=rKK~vMfK8 zN5KxG%}RYiw`XnKZx4s@Tiek=B2GB~XQ+eZ}P+Y0Mlo-a~PN_MlX5^W(-Bsoy0CVcUlw5m5!@?5jmE zFTBF5KfJ!{s+^pN0JZ;T!MT7s2Q{4CJ1h|I`+G!vKZ=Ntevu1Tq#4<#^Q>=7G9-== zG~<@@UW}vpEv1h0Rds#E<$Ko3f9kIx-F+VN=z;1*r9yJ%SSc`$vEnHtmI>exg>w?8 z9z^)T4#eBT;|e_F(|47i4M+6a7NYkW7k*w?!$tv4=Nv>wp3xAyD_3jp3t*kCy}M3H z3)K2tn0JEc;`bBmtgJ&@FjOpgSz#l15X|~ji-H7%Sp6B{eZ4PkeU$i&s|wX?WmAh) zhQX2cky+LCoq3JQDHY7&U!G6|C*>Kkvnto50Ege@|GN*vV%uou`_C}h`;&zAGgAJy zY^8&v(|_t#RwdiUtcxHF>!!%kw~J9^LYP-HhdWJ)M|1@$M_#QTLnx3;q#msXH_&*9 z`{#SUOjo{T1Z*ST?Xxv-eoWq^t!aP0zqbRf+|EeR5c8y-h?gD02(b9#M^-+SCZSg- zY|St;EueiqPt^Ey_s6i($(g5>I4biIFSsTD^lLy3rM}{em*zi%DnBYzP)y3TSXw(2 zD_8H7E1RUmROO&}GRYUaCSiM;bf?ym`A#YW%Nn56O^!W=9}*x@r`&6pcbs)p7oV;7 zEL}$dgdc-SW@|JiN}|j;n-QmgRgJIGqm+E2m^)9XUZLS=T0#DB#;^p2 z8wjSngi=%)&Q-A}M3bn4n7OB6ovOqh1Qb=Jchx`|SjhLvl$Ppl%Z+Hm!>QH`YEuq# zR!rFu(iw{>LoNB(oo2gN9(Zo*Nk*X`+mjU}eOUZ1uN#Qq-eooj1oz1G=p|~0-EN2h zL3LZ%eY+PP#OAgHxB?srlZp+A*DS8Tcp{$z-pl(62tU9Q%1^TkiXcLbC89%T11z{k zFSM;MQh={Dfw|uA1wM&un{qSnyE4#uO||z76uA$4En3>gG;xF-5f~JB>Z8Q1Lzr+v8b2=`Ctf;)k!Vprf{SI~Q2@0c^RNE+K+kKbrS#b=X~FTnD$ z3QD}yEle%+Kqbngf5{9oh-9EU-A-!=dUj#s`jVVMb+KuUSdtienYUA1e)aqYok%Wl(&Ro4qDhP-v~pJj_%LuMEo;ElOJ1 zHmt$eQE0W;eJ)vdwFivt8eiF!toUzi+>99T*4SX}WJfJMSwYLb3ePR4$K0~CO^bFm zTuCD5AJX%UJCWviu(p!poO2Tv;FuchZF$O5FM0$Dvri9Vt)&bJbcw1Z9!OQ%;piks zfc)}Hqdu|mG3omCp0f2Va)0++!-#vr>HdWaI-FKec!i7wFa9*wy1Lo;p4V#r8JKg6 zCc~})-sx$XykjM)x10^FJ8txj@}-|8%g8M=BX`)H2##+;8UFu0QjXBeyso1F0A$qu`wykQ zleO_r!rwocG`fbiHYVn#zxAE|rCw=k+8(ead;je4YH^xzDwiJrllyC4+`WBPoGhWx zx1So#pL#B=*l3PsOuPuZp~p*HKHfOIFq*o56_k`#{Lzbxi;GpqXv{L*=5y17#2jtT z=qz)u0Y0pUK=R~yt4;QdS3K5-e9r2v&;HYTQ0?^KH1ezAKA?seG6n9P?c+3B%Y`C0 zLprg6%7`h$fGeY&0E-r_VU8nnM%2-#Tg0`?MKyGC#0X_NoK#!}Y1t&jQ~Ff1zUR>o`1X4uRU^ln-&-d|vT{5*r z6lkASiFMFaBO(aYMa7AQv=6a^!?L?76b3`#-P^ckP1~poe+#qXIWBUzKV#)fe6B=f z9M!zAPPDf?{f1=giz)cbg1zUS7%S!rkF~f9I@G2d*3dFQ|Jn_5RevO7Tv&a(Iyt{5 zh2Y}#d`j>Q+}4*gy&AzZM+!)-FLgJu>t~8#@IgferFnGRLB>57C!Pb4k3V`}cA}E% z3%;N9rl0v*@j>sc$PwY03F>bNVyd=Q!Nf1bMx)<$l=!oe?&R!|cgxtrF*p;X6p#a| z^Hy~YdwP;y^XS-m2W%_+nc1<9O_TNZMme6f^xN@%QMR60JV^?~^ci7YkTO_No6Q-f zL}qu9B9kLP@x<;NNGd1;b>J&}&wGd)#rNYs(5}azRhNFV2IE?_wMwg1SG!er56*Yv zmyLJp)86n+Gk1>cC;o}@)BTVv5)!AaJPs$-ej=mtsgPwzSZHb>`u?Ez@Zg@rDymcvP;9M) z3o^9Z>Ix$L!|vOD*!(}N9&=R{|ImYomWZ7kqu2Ni z0hMqJ?Q_R_=j>Y~l=z0yK;DCe0kMD#%#2L~V3W*xhQKWJdWyg-jCzj1&9jEVd-?%m zwS7jb#0z>1R&h=NyMb2N0hUM&X0xR!F~H7b z@a`VPlCEb2a)tujC{7JS#>@1*I?U|Uy)w+~w7oV=9Sr@4+PbykRV&3!f=w$$t7Zz8 z4U`P)@F|udlMI6f>8S&UDHi7`7G~@rE93_8Ni=$FA={Wx@{&~`xgUf+vI8pXEC?QLnBVtN~D*Hs_QohDvd6{gW zIV@3j`+po&^WzkX_!79*v2giFS-|B%W5k^b*b_;PooMRD8*TMS$Ew#ucL!(&lWPD%>>@Fv7G0_8Tb1W?zafKuZm~gG8Y`gzexTnsZVZd8V*&ZKNWKEwQm1R|*9#IzM?<_YzQ&(A{ z%&?Abro~7J5FkmRNTCDNeupxH)sf;aqYS3|sW~E80_yus2L1cNQH%MXrw8NzeW*Yf z0-+sZp&bxLi}4fusi7FiN3#(e;{(+xW&ad99d|xIYFTUhIphrPU$e*&wixEKmB7>q5Y8wf2fET)o zr-oO(8PD>BEq_+^nB835RB3YCDk$&T#Z$JvelE2LX%SW4=;SV6zqpcL3bu_YckyDj zz^Qh4=@E?zR>}stlrJDiDgpFZG!r{2>&0WnQgGv_{c$nDiMc8K3#|8>K^2fh2Ggzc z8wXRvI<*8ziZKsE{qq%23{nd!`;^zGOi)Q3&qpn0FbgWXRM)3;R7vei58k6-Z0Ls} zRWvaU!jvkW9ED;`l}d|3HK9vmK&G11V;De4WLMJ%OTZMd!D!Xr4A#dMslsuRX+GN9 zBKla^n}K9sD&fHS7P{+5SlC}MC)oRwG8A|jqAyV|MFP2&U?fiwp`q`QujP?H{46AW z8J50|%-ld`VI#ZPpHA+fA9QsD+nmC>x)1OlptG&#;TG^;Wic(cRfPZ zW6zwH;|jE-Xq9?L=8p3%nG;=A6@FTFe?>Rz#=E=Q)&27^#`2l1Cd1}b%lq>agCVg7$_QJcZ&GU)t@Em+K|JTGeK5+jiex- znfO^3p@4+O+7ff<)CA;Xhr2Bz>Zr z28IfrRPvBLx$q``e8xrj;MASu%J<~E4wwXdUJT6_RvaM|RtzovBc=V^<=;i0c<{6f z8`Ij=`N7~(WU}I!!{}KH)=c6sX}grk9A~XD+_~!7B)Odb%eh& z%E^!+HJH*#57L#{=A4GSD>>At$x-LsMYoQW<#5yV-JTew9<*W-}xuCTvkeg z^dYDl)`foE`uu@FH{Og`eBAyPE5Vrf!xJmBWkx*ptzmqKstaJLJ~d}KZ^e;BdDDTz%)*;x|5v)FB#^;cbZ4>a4gcq z&$f*n2Hq|NvIo|UROu$Tjd-MQZ}nz&v<~M8&CmPv17arPweKBAQO^^si-zvuox;v7 z`aYk7nMhH;SWRwznT2=2K?AX)?GL)PjL?>2QA}dU?UbnGacfuOf)o7j@ylP(1sSM& zoGs7t!d*F>_rCeD7HoM4u1~0{&bGZZgXM4M0}ypkRFS>I=eRt(>jK<0^-lWPMFAp1 zF~PJmr3}=vqcokiKH9kX-9R4qM`0Sl9^nb5E|}L8GCEMBcCz;O>-_(i(6Jdd6*D_I z;`Xxl504^YUQozte2iKJwfL#aJH#f=akHW}lPKgdaGoiU$`MkoLb<@4ct&`sjCsqP{J`bqAz+WPe0w(eBSK-Qn z1pU*&aiG!6Ihr}^;Ad%Epe~dA3TAuh@x}#an_I4TNLL-5lsWub`%_cWuTI3zJ_N{6 z6D`#YCDn*=RDMynww{`ME_r#EYXW<`32<+KY?pux@AkIy$hF>(%V*=6HRE zEuJMSuD+X&%-Jw`lJPOTs1wakEL013#OX;@xgR*)Xs*hwX0oh)KwLE{61WaDpQJD#~DJWYmu-l zFbp)`lvE)~T+S{z;Ea>P?1K%iThz6KN8?alZh<9%AadW5f5m@Z@_F49v5w&5@7%Mw z3Os&eTP|-x9!$VxOT^(vExzNl|Eym%{5KS~KvDD)&vefQW9+vk=$S~!y<0uAGCJLi z4_c&Ve5m!(RW}}lCpxQ6*?3K%k@nO_`;g$1##}wfgUR@MCtQntW#^d+{`rSGm&a1e zG#gk|ye%MgOOI42Xdb2&A^qrl*TU7iFmPVyY>jc9diqZoI z339%Q6&Kq(Wxn)s433^eT%UG;BWme8u+N|ckyWFS#lM%CuTSh2&+HaA_DUD_Mi1>4 z_v{Lt*^uBw56U*$wK%kZz}z}Z!G?q8#BOc`+29(@q;^y~o)|N>n^2lwut2`TO^B;Z zwVY}b%k-WEOq^OH%?F}r!1}>o1_a9Wjmd8|72a{`088MsIXB45deXUw*nNW3C)0;;sM0S$ z2{(Z1to^E){VJo->-OVBFG7Vi4p6_r(17abLXXBPiytO(G0F`1`ULs#!0u7%TIz8< zs5bs9fQGVzgZQXn4B8l=(L5xw37-?WgfA)F!dIcKMs)NzpMf^&&{w0o08l)z{u7c~ z?O%SypI{}26b7`7xE^^|tI*aXI%b^D0&$@>n(8i!RwrqEb}zldV-+SI|!=UU4C6S-X=>fpzb?jDc6uS@3Or-A=QdE5QAy{WGDDG%1{5-38` z(5bOWPI-Gj_!?S@`S{q>%n3U9nsHUorJx#IKo|5_wBSwN;PpJCRB(pg+VV=UwG&JuO{|1-~af1pJjD=*wmht?kbe zy6+y!NZA~lnqNvqbs)hgBPA1YWpq4slalb`y7t1#kI%kZ&p*u=Q{CiN=u}AIz7+Kj zla?yaCz^&F6u%9w!rLJ=Zp6(6#9+&Ac$Q8tG``uCw_SnzIdzG6V^iPr1m8LiU-5Wy zI|^5~$z=L>inm=)l$TVrQK^{V#R>)Uh1^;EQ%1jx_QX9pSQIalF==GYD+w2EUF5u6 z73E$HpYqK#HrZX4vP=F_$xfem;bodGwPHZmoC<_uNNexKNa^Yvr8FVb6;-PI0%t{{ z3P-_M+7e}v6|-n#S#;=Fa*(#DGyd|^SYq&r)ks3fTjqXPeGX!$bm7@*LaiLt040m} zN5+Pdc_(L^qfAxAYPcespoz;MB>9W}|J@7?QoUh4_EXEdZW922=;z&$ptPd6BCVjU zgE6hRjiHsZkuj~IwWGPCuD*k{p_TqW1qhF{%^f$Im%q2uzQGr>Hu4yBh&iRbY}2KT zHKU)F>$Pd5ZEQKPH2kS$$QAYsCafQJb{qlh0RKoN8nvX0Q^&1NJGuaX!0RYIv$MJ0 z?O)W4LfYw*cuS7oYFYm%Jf?8 zSQJ^TJ=5`!f)&j$TYQH%pI(|vyvDs=`Kr%fO>G6+-;*jMKiXO&>47rJ#gfn5mAPVe zW71|&{G~1#e1@=6JR4}js0FDVdAdoE-iMKISx%pS$nRK8ya-CSCO}32#fyvp9?8!^p- zrh<9nAfkI}O3tm1WzFOOIJjrmsrM6e1bpBF3m4PU4KwX8!T)HUXoFDEPDtdG>J1*GA*U}BBFMlU2t~3Ag#Ti z@gJCQ${uKsI5xFj&THKkW7hYUZPpfGVgS-M%`3Lg8zo^?k}dNZE%HF3Lmccq*V)Yq z>5`Wm6+plfh~b<#l;P#Pr7_JIqE*Q(^`4}G!ziTt=kBZ4PvBcrZl&KxR(N89xNxuw z`O%h`1Nv3Tk!!gt90?x%RBeXQk08ljnacwoDi5Y@;GGK1A>ifS5*K^LZtsqXP~KHq zzjo<)=I(yWJ6}!b8WzbYn^!b;L3qjc*?wNv)dPGs4yINhvdnlWF z%3VuaYboZ#Kn$xJlHAg&9O4kz=HfBQB{FZRJpBB8_u)-2fL$Ek1tpcG(yWq#t15&d zf@HykIRwGilU@(2D^6NiYpHksmeeQ*8sA4RUzSRePu9z%qJm~>(l&fH`UXLjfo}EEapUa6c@BIKW$oM!Lg8DM3jN(Jt0CE zfDRdVIm3NCS*jK89{~etVHy>qvE}n7u(~ec6-;B9){2eUZd94j+lQiH(kH6jY#TW5 z1;9~Wu$J#P5oYRvka3Q5D%VJTGnCoc?pRt4g!yLcI&*$uC)jr^#~NgM6m^J5V09Wa zVaR=qD%uikb_eeQ&IGXQlXY&}g$+rJGAdQiNm{pr=piTBQ__&bD7lk5H3Eyv z7eh*7an6KAqJR-|quh}P7XnOYbk@Zp#_FKXXjoh2&%=c}mXZn(zM!w?xqqb1XPL`4 z+t8+jkeCejdSJ%cmN#{E_gcEq(REP0eNrV)=SP$iSN)?yHWH(134)#pJnPn66 zSGRz*jBv7MJ zr2FId-Eao$A%wIX;$)aX>TovfW{X)BIj}$F-7{YCA|D0Pi@ZO>Yr>KOrpl8Kw4q_O(gj^Z)d#g>!QTFMm zxu$ziq0MArPt0pyIdl`bWT65Y^8iT->&_wx%w&E_)paYwD`hEPmX@k|Fiyz)V+I6f zXn{qo9~6#IhRWZl29__(ABslxgAntDg%P&YNTCxv;12&B4jU2Zawt_B6DVzVL-ZnL z;Ezk+6ek1z+SI}0F71SJb@b>K%odtV^w-Yor3gbOXo>GjhJjb4sS&yac~Xtc@HM11 zDW@|VPx&mi7F^Fd?{_@Xd0viY@5$D~)!`|6M?yrU41h1$lq}u=lOp=&P{90M!<|i8 z2Eb0OuKvl|%YbMFnWYwQf2T&3^v5kv1)MdYQt$iVDQteM`72A=%Ey#>gI93lFN%~8 zl8y4}7n64)^SdOYIL6oXxQGvFq_;B*ujsO4rDSsnaTOrZw8uS z>a|7iBv$?N2?$Sn&Yr;5nheGM{y*{5p8DQJYOln}K}Fu&%@(jGl=Fv3U>3q3jrDGn z)>-qF3P&9BP#YlD2SJbGeNI@cV92-jf>-;2T77*R#u%^1GgH*s3p` zeBbackk_DEu!NcG&93kpHT-ZEQfg+du6<^(i@REYE z9YEWjm_yLK{g`;e3Xo=PIB!Q#obNMlRI5;MQ9Lyn=vjQ9DCj4We5l@9xP0iY#*n;N zJJ_M?F!fss_b)gcC=o<$1JdCHuV3tQPQ}0|t-_r-s*VW+;{5Woc=3s7kIr-=gJc8* zy20Fcuf$n`MMmkoDeMe+P}gEw+JkLWz<`J-4VU2D1U_;|U30Fg_dfe)!T~&?&&-BK z@@APYmrVyHiX2@f?;=c){dw>cb(Y1yCCruL&v->^bgbg}7@qjM2)$YJoXkr+wsEwc zRkPsq_$L?A5Fqvx!d9gF+X^SNla%{+-ZwSo4&GrZR!@pYy`q^VlHAusYWW|e7?lhm zkr78b;WKtzio^I&5hmz#nMQjr3`W-WXvTu<4Nhqt(*-?to7Cy-D~>1(1_Bi1#=TV z4!YoUqb+H0EN+2OQLJ;W4+`+$v@f0EVl0G4o{f%r!I0k}Q9vJ!gvNd?GSI8+CnKL8 z#}pNSjak2GPEE8G!o;u1Bu==HnMU9ws+p(YEW)?plG5!|Qq$Y%ibdW_2ge!ZCm9j> z2qCK<(BR;_;^YvNl+B!NtyYqS0KYC-f4kgvPdabfsfrO;<0VkQuMQZ7$DJWrO7@YX?t>}*gb zowDH!qy`C3WH17~<{Px9r$CeKNplL7yiS>Z2yw_ZwKMbQK&{isL~+6zPx#lKq*&z$ z**Uw45^{A1y}^J)Lh}<+A`w#gFnxtEx3FI#A$JKr>SeAMPkPg1`l-aWL4rH_B>-CV zPowh|uP#LOZP9|r`^24|PvV5|`8YW&Z7UB$nd4b?ddE|)x5>OfoIlG*q*FrMwLlzx4j=WE>}cw`Gq0u3+y|rk0B0!gYpzFyvp&U!qclXRF}0#x?i64| zpN>BWp@q#2n-3rgkH0RiZ_K~iOol_Jq6|#L=X`J)q(%P9uJ5Xr@qkA1Q0P6S$k!D8 z`WqVjVyRqnMJ3{iNT$jfUUNv@Rv6cHtze-~bhJy}?CZ6_d6m4$o|{3r(KK2JLo#iD z1$;vsLzn>x#f&dZR|i_~kkNNrym8)C{f-BgCmH$bXVfa**vxjqqP4;KzFa}0669Z% zXr+&Xh&*}sSipj_-JT97w72(AxoTt+L#_LclrA?&VIeUq;UxzRt+Fp+6{+h+wN28B zs%{|+b>Et#r=JZ`W0j`L5ON6v_lEivaE)Srx|gpKA>z;LMR1F)Omq<2qW5AoOyIb$ z*52GFdrRfSpl$bCdtTi!ulTdztRH+js3U&58u<%Ib;POi?!dDtx7G(g%T%RTnDNr& ze3Zf3MQk5ulWt?pDqb@o>+ELQ2HUli>#zGLd>OClM*HpZZx3!?8y*lazPfXdW%wrT z8w@9J4qndDSp|8tKaaS}w6)>c)dXEFFq=@^kSO_o_WxVmy}jY%dWwIj(e**a8B4 zazG}Fz|6*AB2T~o{!7vMO9t+%Z-{_*N#}C4DSzW1uX~w(;hHClh~gwm6JHxuRvB7S zLT(qmT#l5}YEDFSg`>3$K={{AA|CJV(REGBxO&w^hmi;WsMB7NZ-()0P?_EY`4XnI zJP2UDAJJ0~S`2vClZ3rW1_uBYTgM@-j4fAupiQ%cNRJpl7u1ua!IY8VUAcsQ+PoS* zJ6sl{0Wom`F(f0*uXln)^Fki|uCgK&Du1|~lpDj(iAdb)4j0@v57sjV))WrHuXM6X zk-)|O`)nvG-Hce~L!Aq7$N-=`nlwx;v%zE|Vb$VT;tbNe5~8=9N=B>|8E4?xyh0>m z#vqV1y06LAlfP03i!*UoDjXO-zbRVenJns*1Qd&-;L!0tPn^lezyTmv&z{s&Vn7h6 zs`B|;*3bK|%FF-IldhSL#M3F^JkpiZV}**+_xe5#GUoj%`YZW33_rTt%jL1oAr)ci zJ|^MwNTeDGPr###NQ^UyDSlRVpo{8KO2+SG$yfGJC}>~FArh@R%qS3IPy+)6PgNz0 zx5vbO`ce%c2Z0pOOqhpN%U!m2>Z}S`*eZ!tyAp)#X|8mL>Nyaj7_4Cs%%n|dRsfUx zD`sD{7JpT64R`hO5q5v2^Uh9@#plY0mdKp9ff6EP>fCj`a&Vwx_;+Si`aV|#TP8mf z5W2-#<4tqDpLzy10y)x#7R0C6jsYzo)si1f(hyz(obb1kH94XA47NUwI(7Ik9AU=A1e=RVFeqWCvIJj_Y9l&HmZjcVjDF?{+QNTBHZ%P;OWzmV?r=7<`DL>3!}BPn<4N7W7Ekr zH3rL!v+`xnDu>}<;)uf`+`EWK(q8DDH-mLX#X#Q>Vu7QB6IufOfuaI=)`|@3!0?<$ z0#P2(x=9;JdGqYi-R~cy`RsroAEH`w2~gKxTjGf41bTK8Cx1E@gb#w|u4YB17Q{8V za&%+hsx-AeA{0F=1P=I}Dq5BKaGsLyA#6xE79cCf*`>?o9K%14IC1PO6Tn>tdbmc*v z>*1h}KM@58D9|Wjfa|0u#+?O210#<5b>mU|4uXaZ5;IbS3ogPaVSwto=aSRw=ZAy3 zB}G9>L1B_RdrVz`s7lF4gv1bG3Ev*Hs2LJ@A$uWD?`Ui_GHq$PF@0m!1BsGzH-< z*Z)!o?_)^$Cm$o|Xu~W*pM{r$eu2@%`+)KKoK!1?JBxcNo-X87)-%e!8v38_^I2RG zx6%5cA|elJ(!}K2Co8ahyfk!Z3C+DUPz_Sp#3868&@+S#YFxXyrI+;ZKk7Z#;`&}+ zCpAgv*Dn9!V$p6LMITRfp?T|N@s$UEcGkpDQ71H0khrB^2_p+}Fb#zEiiGhd1#9Xg zR=cYl>!nUfth8JtB5Od_UPp%YSm9rs+ zT9@mfaoTqo`^JYqj6fG}U#2Brgvby8PB163R`k@NTZErz;6|l9O#CQB4n| z{gVC&qIJpQAN{Po>Zc(0NEoYMSCc!JcX66j`Sa)eL&dka4Kd4yi6sDQa~9A_aAg?0 z)pZ#fJG!2V$kjoLB^1MLyE<{hp`l|W60Nw7qim)iuI5;E06z9=vF3o3HpZf!ZgWB0 z$Legv*({lCj3ynrJk*pC%b9J3EuD4`K^UcIjNVp@v6i%}?yFz_RF=Z4>;_cv*zPh! zL0M&)Zm5NJk}Mt#?}10mwXt?txBamN_8U&wA~1$}%{ZV)Wt0zRsO8J0_j?fDWrq&` zJ6ffLw6OR{q&-qbLe%}G)eE%nDJF#ai_1hc!EdIYGlFgtSnP{)oJD*$^NU>q68V_M zPCbpBiclQ7nnG|j$En`^7tXF`%WgV*|P<_TJ_yPq0eTh+j3a z;W1B-bH=B8wi>2G4!cq9FX1{|dGJwS5K>z}0SD}N&lOONCi z1w+brRl4Xs4xC(MF-{5Bj%CamTU6KI=ld%6dzgjS6LI17E)Pv`RxrCRmx)#ki^D zl_&FW*1_Z1Fy=9k{`0A9gqgn{4IYcsb8BE%a2A0MeG@S6k1rq_bZ|=&nrXXmLxyqs znO;{4;ccs7_@)j*S{gy~jW%2uS)B`&pg4pL0-T&$n(S$UriGcA_X9!AWQ)K}j`Owx;hkW}1Sv~#?dXHZ z4~sd<_HQG*F&~X(0N%2%GQR||qzD;Ht^S`ORs);^*C6`!h^&3UB(Ss<0X^Rp>+DPn zG&hbigJjb(;6?2y{O*>4QFSPHPTqR;-6JiV^<@4|vYEwe2OPFLG6Iuv8yq#zBHXT3 zKydir$VNB^9Cb3W6V06}552ozJlR6Ovo*6-c6s5>9h>DJ9hJ$D6Sfje1?j*x6fA0F zVkfFQmJ*HZjmA;A+Q*WcvNaHx_#PTj8CCg97b=w+j4~y2iDtf`93$q9OIevl+19n# za-K!GLo2Z|hPZMCj-FksUO83C!GlVf-n>$CiUqY33>DenHXN!lbaE$dIhGQw@{LPT z#p;!J8B;+6dS+~CMbX{^8ik))g#wvW>)*jV1*9!&Ik{?r_RY8={^o=u8^HvRZj(XX)Nq*$hp@fZz@JNnJuSZ|o4*60)L;&Qx|1y_P?4U)rMc`VQcAiA;Zj_^2yGgtL1fHmyz0Y1a zO=&s*+)`d8>ERQ>cEcW~e5eJVG3v)AS|C=4h2oLhW)v|0+efwS5Uu39=i2(; zN5$|kA3~j#CQH#TWtYOD+hNfiH?bR@AhGm(0pz4$Wqv8#*pL#cj|cM}#`>~Bp;qQGnqzP-h}7m*AxsEJoFH#6Ac1Q~N)CxEkDa4D257UpIs?e- zr4%nGxBK<=pa@@T_P|#(d1^iaI`m*b-)X_+%lsnOU?LfINmik4Zp+%NhmG5F5~nR~ zHCP@!Jr>;KojkJ$J-1~*W=%5JVrS5r5GBiq3_YJWFAcLhtHm|kLi3WJ;~&yLobh`; zDEXwhz)zf^xlgRum~QiG9lp@nJtSQpRCgAJTja|<1g<{j*)=)0-)kH$0l0Aj4GIYX zcE6Y9?w+cJ_%VnQdh8J4#{Q&Ae*@9m6c=$26JpR~MGD$vp+`7YHh21fG<6|B#F`KKaF0WsI?lzk{9qx1i z%gTFPt8)*xD?O)fh&0)Aa9hqtZ+Keozoe#jd@i+Zd9lf#|9w0P?(J-e$TeQhSzz_{ zrCa{)@xH9lzgcU|>Aknb(>q%Cq>Mw=p;xK7cFS*sAf^sms9jl!2047`Jo24>_zKm2 z%k3;AJvha6ZISx8~i92n8$`X$r~XFc5G4tASOFvOd`nHPfnA=UfV z?gI?}1%6ZY+hFp6cr6Hy=^(_<5Nrm0Q(bh=L$8pbT5GZqx6QRs6If^(L3ZEJ3gV-3 zOyHW__vxiPwhZ=JxiPX25M0-Uf?BM&FS80+#H=j}v>>albl? zA*k=w`w)EWyz+P5N?5A3Hen0(C7xWbI=g>hPo&q>JFgw_YNtC`zAx^!=C5!jnr#NC ztxD-6NSw#tanD{LC|r|)HIT%}GMy)5USO$(ubbz?S!*3vGbY>PUMvjyT!A}I3;5Hb zi;x{y0gyXp^khOEQ9gb-&5F+9!-ygy zxnUI8h_%l>?FRJQt~g-6vitX{3lf6Y?Y{kc>Schnc5QAT;)9TXyesI_oqzZJ3>3)> ziHF`5uH3dN*_{HvbstQZeTekWL_&8x4`pY~nEIW#;|4w|cW5P5TPsM;CDO{C>0CCA zl^SM?yIeg6832oQ4-yMgzB5rDu*6^z)d1pCF}#%0JX~Oz5!kp07#%Kv^ZkN6M=!jw z()VFG4P-`ULp!^0*Y zS{<2@t=*pxZZcf;Z}v|&q{WZ80{m8-SuI>yUnX2!~Qi8zQ zS)F8Sd%T&eXVzXRz4v!F90%K2Y~G*fb%mbu31{qUXU7Ni{-?(NRnO=uqsWqB6m|te zD|wC4aimX1f4mK+@z}>(#rh%YG>Z+in?4%%ov?2Q12etSSSd)ui{M=14Db)xsHyU!qiG$_0BSB!ugXt-2rsR?k$Sk>_G*`=5oPysBIK+dus~4l+@Nhv${h_Qj ze00%BI9hJ?@`(IFC1w$bz5Pw-+|eHq(fk_h0WTK@_g`_CptveF>VTsEqCLA|C@z7K8a(W@um*C16)EjZi_w2g! ze+z$=k?#1^@xI?6!6I0;d!7~!0O}%LiE+B}|9-7Se`sgU=^K|*D6K6K4@tTr)v6U|$5>(Qeg?Mqv5XKNAk(3b>HErch8m2Oayi7T^Ex|9Wwq(9tz3?xx2#8Mz3 z2y;E(0_4ctgNaZZq~0T|JWzxmYU?lL*IDV24>&vD-8=WYvDaHSIGSRP3YNa!!xXsx z<_IQIC=iJoz1Z)B{pR_RR!uN6R8knCI6;#TvS$`30#@y}E#w1KlOC7)5mzq>h#YWb zTWd&r-d|OU%ObWH@mcJTx3JQO|9Ri+6oi(hB%hj0pc`sRf+HD7mpvzvqprNfM6o<3)!No7%e#vOn5O8&}b^c zRHlY!*RNVN0~~=?{e4C8A?*MWi-I9>;&+LsAWV$Q4E(!xN>K_*Pnw>g*@fgM0nVhz zDNic;`cp_;nhN71$9kP@b&{vhq=vuY^-0K!$1#;_O2i*g0s~D#z~hF`#1Rg^R0$n0 z?~TH+$X})0a7=vA_v@spYgmvCZp2IluGW^$md?{~>$GvYvh>)WWzJR@D ztdOhOPF7&1kfTqz>p&7b~T}g*0mXU|H1s6}-nHWvXiE?d_YAKi`Q<@6f zJHuYnuZAhN#gTl89Pdd~c>VY5r_nS8p23JvegHMz=L48j&RT>iHdw+`GDiMDMA;abXvgQqSB4K!yqbDp9%4wJTkqNnh~9%C8Z5tk zuOv`VBzF|SRdwE{FQ6T@6Ugz?{CG;yIxG?`iuV}`VH#X>M=Y6#~@ z|1Z<2XX7bKLRw2@cxDFcTPB8eG@RX=!K|v&{HYvOByxqADm_ToR}69coeaz@70RsE zn`zoK%a0B9U*Z?=bek5Y_^ZNWs9>Ov4~Piu)A56YUw`?mE1NhMu%E_V!kiq7262(a zWq$Rp@EyUDPxAEhLToq0#v;nn&NtNRp#ykC9{@Q{ zJlhHPKbHNb2B-hnO)PSalmOqTM=U?!vK#I+#x1Ds($X`qLLX4iPzz> z8t4Uu!doz4?GkjP7z^8qYzUGZC4}yN&*l?chYa?YDBrfdPRT7N$#CMUNa&rY&qKjr zCk$Ww^RUGO&ZIyhKZM41qxY_M2DOBdOY>yMaB z!YGy(FlD8bd%;14kS1!*I+Mgut%AIO@4}$5x%P#9?e37L9eO22-Q2)i4(}$1LFxNP ziZxnHUDwqLtToZmgWB_tUs0 zl&A`<8r3Yp1Fm$m?km7*i?ehABxO5o4v8!$)XX5BppqafPc~&U-u_>QVHs=`4-R5v ziC?7kD)+GG0IBlju(S^Oi1vI9F;vL&utY44uP{GDy7DRwbOWKAFg;%iSK@rt3HW)q z1_-r|NE+Z3LQ@$?xQbypUm3YR%K7Jw!hj~q?33c+eW$gnBnsGube(%_x2>R?6{wUK z(}e^JJl=hps9cZylEtk^&vW`Wpt{LKuhY9;t>Vx93bpAVxhqp#3X~2d{$|!*Z6Yv< zopCVWAbMFS$kE;*oiE%cP-e%J{%(h0{e#IwgM^1#%8OkEl=o4-I{2gQ-(KbSvt|{$ zmwJn&R@0)8ndOdGgC(LPz4AP7v*BTw-+Hhlw|A83&G^q*#T)`3A@p(6NY+7I#jz|y zaa$t4M8fHlA^lXI6L5ayy0(R4Xv4dj7q@n-?+HTU zn|_HcrmpxnecLMUvPM@q;Y|s`V(a{Ze!sYHre=JeX|1dd?JBiW?UycWez)~jaAip< zh_ckw@cQ^szswH6t9|uemzEBhLZ5}2pM>BAnx=S!2kb0yG5qT$x!3u?D4FtvEF{qA0a)ymg7izHKlDATr8RJtlC1B`UD08}w2VIO zI^$L8+D6#!{L58Odxg#=Jn{&IZ{tBm0 zOYPfhLKKuv9iMi7M5Os@;LIGQc4U?hp46t&MEcsWtXw{lyD}fh$~Rb{Tqd!BdoSW~ zKG`&ETAJwhEubJhy-&!#6y@&pMZdOjKZnP%*{$}WI;KJ%jy6!>KXUB7yW9A?`yNSk5-;XF9Dd~CGwlOn@v&6zZa>kb))MH+@h4BXzQ;6P zX+F~Eqp_3d$A1rm{zBJWdKmWFamMj<<8#ZJrQfgZ-LuQv&7R5@HMM}p^;w9+@8yoN zH}GALnaz>`*QW5*X7O#xm@YA4%S@eX>v&tOLDxD$*K%kKRYwBbtnZ>f<&K$p|EaP| zw#+}yYMt{GFPQswEQH^xU10BeLibFHZ3$mm0p$DW6Y7eVm3PP+hsoGY6z6@*_-GjVHG1Dap1ISyO1Qy4*s_Go71rUD|dB6w?K!xWT%S>VRHI+~zNV{E$G z839xoy1mnRXd6u)TKmQZ*S=MFNq`S9C9-8LpS$khdKuP9TY%QFwas;4lle2l|Ic`X z_rIp%sX%jZ#SZKA6rzP`?}Q!N=DC1x{6UmmH3P2k7!QVGkN#uQ5-vV)^E{&dsup&4r(Ex2=`7t<8U~=f*~P+Zyr-ZMgS%e0#g1V-x9$ zDgx2LwH3h?`U!a$qP(&?Er7VpI^U0JFw}G z$;Xgy%LH@ZD@j1o(w165ZaGTn<^~0C>{llO(fM=GoUheMTK3s`A83GN97mTi^f~|< zMU}DhngABHQ6sJ#i^))-o>-B?NuX3%Q*-ePRHVAH(gVw1{_>&%Pg-xOqod*!1)^D5 zRrPTWxNv1znWw+6%-NZA2os~FrY^_|q`yUYB8Tv-&yGlZHqJwjBR<76>@P!>*dX%} zAw-SfiVP1~E{H^>qJ4S3xu17>5;OwnjlQ~)`F>`FhVQc~;LH!FMqWq3*5D$`dSec#5y zDgRSQ_Q9xSa=RP!YM!Fl_lYLn@f$d9VZE|dwm0_~ycso4lEBxU9mT6=f*XVegwKG( zhkRXUzqseC$C2JhBUIZSm`yvg{@d;OQqO30yM}uNvXMk>MXjI?Q*H1Fs6idz({iBe9@w6(IobX7-Q@H@aR7- zs6P@CZ$4?SI1Zg4qhX)EUjn_k?C$KTX2ZCu_v6O@hQ7A^it3vAM*Q;sw%!rk`PTFA zHScoY`^NvD9U6)+DAevh>h(w*{}&QOM`MSdHQN7ZWM^9bCzT25ZC(1_H+zyqay~sM z@@#DE)X;iB_4}se$ga!2wwA6HO3nq6G=qc&NFtLz6)Zu6sD&^hOv{-jW@`JgM(G&ZHp}b} zaR&DvFYoFdaN3_$bwfy9R0Yn#tJYGSWu=n2G&Fh5=JN~CvP3L4P&TNdjJR*!v>Nfg z0oq@VO}C5rFKBtNzF{Pc{#d@b+xfI#YC1U*LTh0Oc9aO$T2GR{uty`KA?SdUR}IPv zFUpqshOROMMt@E;2QUQFqPPMbqCv0X@sdsEvkP` zD)vNH9Rk7dZU&Lb#`P2UOU|GaCd1nwXycPfD^>HDhY`ZW>KxrS1?0?zdtSnudC>Yt zt|azOJ2!^+*RZ%C_8ZbL4KPm0C|Od+>lLEJb4Xu8thX%D#ooam49&U;wT7yJU2_~g zF@$-yLsBbqWSqQ7XD{2sVwVYDR}?iviIDl0R3w$n;Lr&J(BA_Vm3MP9 zS`1f7Ezp;WikTILg+yM?2lt`u!xU_qj8jt0;&}|6QRUKZ*j)W}N|JtyrpO+~+ zEOOr$4rf|b|JrGqcojwj1$B;T#dV{$D`;FpeYz}Kg)>_9}=X3UrW}s(U}@lUWqX#3$8!C;;)x)=W}+MYF1RZZ_D^0dQYfyYA+MX z6afT=?gakFk@ByHoS&Ft-bisEuuul@5iJVA0tx}}e~&-LidyDQ=I&GLW!|!(R3K^& zwWhN1x`5D{K+(Fu#=5|Xhw*cym2a1T-m|T9XlO^YqTI6e&WEP*y1&>I>R;+C6SbVM}pXTx?MpSLGemaG)1uRFBHUrE6uTA!R^W1h`*p5FZUqP zxA%pD$hDNf$)^g6!XaeRgnvt?nf;W&W-!dtr7$~NvR_Y zGe{~x+C}IR{;g1Orx2^~J~mNFo~R(Gd`iwVPo}QvB<{~}&0OMJ-R*Yd;+@Y`2jT-YqT;d%&bBqT;srIL^|A?0-c-H` zd5Lr&5;?bTtDvO*8?ApS!k2oM1;opqXmMAH?66hdR}e4Hs-4%n%F8Ii?_J9oBnCck zC!!NLe0MhrN#;CJiAdwW;FQM)>bZ&oWum%@g(%(8&y{PFg1ll6ib+l~snh*0X#oX2 zw)3dBU^l(9t)Av=4TheAjGxH!&#w`4t@@RRw<-D2XjGoI4Q;_XsNaLbU}OQA`LTzg zGqwmKuba{45b@}Gd^h3j94)IaFgVyz3{oHZF=Fy9c*-EGTS6>i2tDo)Y&6#-U|m;} zq;k17W^p-z2_)+w-EN$1FbPlt) z==(Gnx(l4VeQ3O9SMWs3W?-x=F=QA5>-c0hOQy2 z1C@k-a-nn*ijBK5re}6GW&@fA_wYKU2WhVkV7aqFyHk|;b)_L&P~WxlTosdL<}O3b z*wqJMZq)&^)eg<&LA63xLw^c-x$Y-&=YLl#`HSx2*NoeFMNeqw^op6UsjfP%CC@7P zuD=2|cPP(QX7%T)l%xSS9&y$ueX7D=72Us;mNLf*Ft7RdlK-_v-Aa7?#Vm@(iqC6g zQ%)kgX0z73!DvVh&{oG2r!-viJJ+45M=#-yugW}i^4aPE82a}7!)fdW#2EHgEo>V& zXRWa)ER730mZi~MN#^VwFP1Tvv)`=xPZxh`xLZ}HQ6yoCPjH?;dAjx*YXA+v&dF`< zs9T7|*-(kI9@p}Mu>~43eqGnLwucQG^?JaPd!=**^p<+`cl80kaIQp_a6~AhgX4QK z=|-2fS`0;EyTW9k7F~Th#M(`*`a<)*gm9s7{O2~ZsJ);C8uU+~BO zk+2a^=bYI>0Rj0?0|8ir&$|kp5@Xb$0v@)u6tkyNw~8;k1Ue;^7$LSCp@C zXeANbY4Elrm9sN%3z1cQnSmA2xZToDvP8_0~r!6x`ps!&)K|MlLSU;yzfYNU?GS~hLgSEviw_c zyg*UislQWdLw^~1!Zw6{LA!!6!WnlUrcz`@h^8`^r(##>4YYmxVc@HQUX5ptBJ$3t zMwr4`jt`1oL6&o20Dp*?_p3L-1didqFIbdiEmD%^cJ$m}d%(}!?oFI!4Biym!-i%ACx((UU;ry*Z1k}?RZ8R7&^x~?u=9T(Z!FPP z!j2>xFtGGDuzDK7Pj|AJjXl9#>8lqU>A`e-%FkkW0bARp(#{U|-2orN?O+B%BbWc9 z_SS3NmtgNq70b)U_8#m>%xdC?r-SkI^XLPcSlz=4+&qhU%Ya-Ze(*3mC#Q(jJ7XUM zw~6-Y^?T4FXY&^Pb9)&9V$O1gS+XOXzS6wI+T?@n4hyr{HosZaH7_WmkqhJ+3L^P^ z3h^zF|kBp@QD+i87T@NKnE)BuXf5YI&5aQ4J{I6*XtyrX#?^OB^8 zHYmqs%s`T^oed!edu_oX;7gbStzAlySYla;v0~MR9fR;19fQa2k%v0K=?-?#<>y+;)< zmD;S#-b0IKoTo}C3gk;j&7l}+S9)y;9^;=>6vtve{^Z}z9$$}IUi??|AFeH2dU*H#cqHf$ki zKBC_o4GE1~e)M~z9PqEyD~CNit}ls!D(MZ{7{^apZ3DtB$r#MQx-V^m-=UO{M?52? zHKRsd%dZQgq~%8qdlibvu@VsDb653y`!EnEHzl$s|Dx99Z|EP22PG;2yCeJ+jOOB| z5Qw7LBmO4p9p>!C0(MS87IU{z#^?Ct(DX-a!6h~sa5tP>ALlR}Hm#7!EQ9e!FE_-# z7N;;9mt7iu6}Wa}26#Y>Ea2=KyJwskuaL{{5+0^+1M2IAq~hh8rmbV=&4%4tNf6a_HP*g!ATJ+SD6UyL`oDRux&UROHA!pHlF{JnP!b|NO zIH0ltx0w!5S`T_IKfHN=tii9!DQFMt1N$#x$cw7SIlBxx--@0^4>9Nb$&J;%ofOgH z&UaOq@V2ww36#KZ4gv!d46!Dkg)Jk|JHJ%In#=RkcH3)1u)q;@p?ff!EdZ-`^Pt~) z-4orIt!(FAru8~y-@MAIts-wKTasohV;6Ex0#M>3UweU}9UjBBD^xpoo~zdcLA}6A;cEJI+Q43?%^Irr>5J-o^%=j6=;3OfwDMk%Q(P zct1tzi{vaV5qJ3nMP1OOw-;aP-Fs4zuv~WGlBp)t6mJ&8A84oc>Yysc!i^kOV9Jvj zkZ10f0y%m>>b5!*_W&G?Kgo&2#<#$@uQ*V6QLaDo(Ydo4PY~ zuJen-!wH|d#YnINy?#wN%!saRYcR)xyYe2$p4ziW20l|Rn@h$E-an??VvkfL$+3;t z#B-_p@*&znEd`Z{^Jtc<6^OnHix8ywO&gEU+@KkOyv# zNjd{ftX-7-)}^-@!=4pNZaBj1UTk7D^n=6JVQ~!CRBc^^lXIpgQ9R6*Xzf-)IIGEq zPtv?tCc%NhRcs9*Zmg`ds-cr&zh^cx88P2iGRi67TUYx$osTZMBEe`NQv2pN%jT09ah4ur>(JP(|5pw? zq01sGbV~s}s*fXtfP-744;_8^oe?EkY9Wc{$y#8;K_j2*O#_eg2q%9{C}%&f@^;C{ zvA}x>(PX_qdYyNkh}~Jz;EJ}WNoB@Q5z*?z7dCPLPgc=Ru2&^j`vbbcmzg*LYHe%H zfKvVS`ED=U|G7PSQ5Ss^0tN(R2nz&+|G%q2(v2b6EgS(d?o-G%C-< z*6bfg;`{o3@{7N3Tzzisr2M(C4HAnJ4q zS!Ga5J2Se66>%Sn9fM(JaXp1WYz@x4xeoB$rU!f&bRcitX|uF5BX+GpnC#l4S@)b; zn0PWe(S0sJ#M*;ToDU&EcMQf~N$q_*GukKaf_sfvefIqiu)h0$ZX6)M2k81;b4->X zw%DqN(>81S>rz9HM_Kly7-~PWHj&W_*P_?7YLqm9-K)9iLd@EH0( zz^7nWPfrGzw9@Fe+7IgyPlz$E@bvfmHC04UafvY^v0c$B5yRqnPUx5!OW94y*sBN) z*0)Zdt;CLAG2&q&K{I2n>vz#!qV%yQ2qi~Grre_YOAcRALUb5mNc5BTU`>8RV0Inj zlA-AuVeo0^Y|KS|_v&46pJ6Pjxmj^9G5N`IVU@J0y26M?19+azh{kN5#J&vaIVj)X{`At!v^No2Sx3i=RQ&M}_V)KEmVC5s{Dekwr@H>uG@J zx*u_$do!d2JqVe!!aSC&!5y<;f)T(Pp3vC!%1s9S^vYRp*VX6`h88#eJ${C9&5F(6 zsq5H_nUQKbktwnLmq$}OYU|N$>X1FM1{)YWOG`f|j4Tz{VYJ@%3`1^A)x#+ZF~ zqav#Vi_Lhzl2<+(dUMfP*_H##-QI7-IBcLFHnF{my~3mH%$Z1r)aZSV?k z7$clARo~QBgbFH!d~EkN6DKNIn#y zN$71l0{) zHFys4qSPd__g{}?&iNQ95#k@Ll3P`~r*=%QTHJF8aX=WGTG*#{=jk>)Zh$K}*xPs; zZHB?LIYV-V&SxB=7GobF#|DvX3u1g}FAI9koJPxE5pBK?o?L#*YRm?|zh43tR(9PO zdY!+K1ABq~=gyEI9o$?r8W4~~IS|m#0QA5AxPNwo{#V7mz9F62wYIhGCRfVWPo=&; zGc?WBUQ7KIhxlS=-&pvf2YEfnqw=+nUGV`cd`eTPUh=g#Ot-hRgzWMRlbdz=*xh~8)BDbm#x8a*tpe* zrx!Mr#2sQ-`94*5Ou0>~zF}@tEL!_c6tIYYc{}ddMV3oGi(`pLZqyA$Db_?ZB|`GS z1d9$Ceqtms%^XSgU@n$ZaO95+iJ_x#PYFf@kY>tXl|93Sep}V{A?~3 zVVX!TaB1n#3v+HOKIOzm`*VwTzXenP+V?E#4%CU8X2~>#na%~6GD)Fx3zg_{i_#}U z@M81?xO`_|y>XX2XNP+ZL-jSE`*XLk9@~B}AxCa=eCN>~fxMrWNiUzWN3-2u-SxiQym(oUT-y}}O&@2`)Q+qn1myH|s(*Ed%PNH8*@OKaK(y8p(+pPN=sL&!>(uDM{v#?MUn&=eYw>12Rjzsnafllf9TOwHUxJ=3W3S zSp8x4gF%8A(Lv^1oOrBmdpp-ws6=89>q2?*=KUL1!cb=_;~bhpOuz$nI+8~A5qxvf zTMHZBJO3QdZI(Ay?B$W}H_Cc1#-eB z^QuzuH(!C3d2UV|@+O~}(EhVA&)igF*Hif3gv>B1=}3`U#OgR0K@H$JAgP9s&FlB< z#u_NAJ&%7GoUuSPvB92A-#cwW{nkC+l5h~I?OsLvc@WR+F1g{Q``}v^mKsm2k*ig~ zi<%JWQl&IR1Z@h}OkJ(>oHt=Aa&M*~lJq5jNH!mc%>Azv_ocM$uN*FMj^1J)fovN^ zRl=0jQqaJ~#k@ZYBn-XEQ1uU$S3#EPg`-=;%DE>sRsryxDDM+|omVDqhm-cS))*8o z37oqx_Dq_gWFUS0pB`R_)GkxYhB(fP%lxl68nrnZ6}y#*y1rm6OTUtu{LP@ck${CW ze+3uEkp>-a#Wgtcy)^DO7I5!u_E~ffN0*Te1tH zy%2Ig<^P6Kv!LjSP(k6btYND;h5M1US4Dd+g$Sk7#An^FDdlgzWP80AU~`8lRkjwe zb>F8eXuPH?2y{YphY1`I8oeOmlB2k^S`v2J`$16&tS>b{>8^;l9s^F`Q^<@Lq=rEn z(NdK8UDVKeJ(js(wCNC(?b>xX+jA6chT+swp;_FtZeF||bwjpBQqc(3%3I02MDu`9 zzGW=#i7>DRc8Wx=lP=^tRj)KUC9NY6Lt14OLqys5i82SDZ&bRyv5wc|8vn?>F9+DL zE_17qM>;3OA}`6+?s;(3tXHQDEqjn6r#cf>LurToKWv?2j3~jjw#V3GTYGHVwrv}G zY}>YN+qP}nHorMH-~Dltn{@x^PIW4cs!qLYt@rWw*t)ndp?kVUu*aGD_shiu!@riF z$ZOHAn_#@!a9G?RQ2W=_MuXAkw79`pyZy&b`{{TtvHyXkL9oWBD5G!of*FPrqDbJ$ zuvKbta%-&UI1*ZkPY*oMOR92TXye`P7lWXbryWqf$?Wg(=;GojDB_r#ooAc3pugHm7^* zL(u`o5}8gzx_o#r8@j1J@>tQ{c#}F^@{6)VUsR&UQQ|@LsLyiA4aIsVSvkp()k?%<@<@Yi zy=U5qY~>!yAKVeFs#*9M-epFF;EOifsj&L^R!wv%2d#Cta}!(X#6AuEt{r>2udJMu zI*!FFZ90Pcd#6&>JWGMYqx0Jmk8aX}b(W9|j1YD`(>g`+5Zv?zS4!|pF*9b4ipWXq z4o+S* zGXkzs3bce=_BjXVfv0I8Bp0=?tGDleU}0 zhtuQ8U-|ZP&4Jz}-aMKjmlm}c45voN&4(FO{`dG`Y&4ufML9{3DYedm$acD*kMMPg zQNRn8%AxK z$%9pGk@iUB390BSB4JfMr-`+hcciOwAnp{tkpN3cK$_Z577Vdnv=qLR2XjT>YWVRC zM_96d^L_e`j3?BSe;4jeaj+Gf83%+Zz^81FYTijQB-Ur$=@-<=a+KfX?Vh7C6M(8v zn9`1VG%CQtVcT|r%9_M4Nqkd`&HZ@%Hu49}g^j5V#-I6i&4t5gDmtdGs& zfyU=x6Ae!5q=zZf3XJo{Laz|JG#E(cnvA3h0L15m)t!?SHkDmKsSBCNd*G7%iiPPSUk$t{CZg zRlJAnDh{`a?R<_24O*qk59?_S6LOeRw$2IYe;<%BT#^A_UB2OQ{W3W{qE~`eGw^YJ zFFidwq~+a`z4}9L>LUG|0v!-2(m13tj@<9>Om$L!3dtbc3H7MD95!S+ysg5GNvdvo zKT}zLAO6otB?V-Be%UP@&wR|^l76FLvbmUSN1k5rflkHjk?cU$iw`tT^k8sY0kXT-Z%K zPuML3+(_c9&Z-pc*HIZwSR!_xLhjhJojMm5NS|Q9AuV5NwDtOFFLsZTKoB}bm&ruS z1qv07DN%gqAvK!3FTf-(DW@RUqj-`8i@pG|dK;!+o$cr(ny^*WT9nG-YbQpyzpfc0 zf(R5j!m|k7{UR2Z)-Y~wQ$#Ttd&xiUaMmAz4@7}pmiA{?c~dzg3y&P8V77b;TBi4K=?2v~g5obBST6YexUOv)N5D^$}6 zMOLr9?5KL;d1R)cz_hqJ9kZ!jxr0M=89ON{hd8(*ERCo-JEKpj7)A|JWu}=i;-L9` z`t~AuLmNN*PCC}6FW)q*KZqNSO(g9($gnD9B?WLY2u`bjZQI+3;ZG%0CYo*KAzz;( zL&3|8F3HCpcMOYjZklwc z_z7bPkAm&zBcrPX0qDxffD%|}z(9(ui%OSUnK!2XNek;UVbav23U7JhLALI9(au*c4dO}+#Zzg{)4+!~;@l(~H{qG* z*AP1cZIMerfke@E1V6yVk!X^FPwpOZc{ywAGp!aQ-ev0iu6ex}{le1RekxhX_HOpM2;=fjX3)dOVIGl1pT)dAO<>zldec3JK0_lk4#%?~elyS+NTj|j*Hl%?(_-Lx*>7%L?kOKR3$Ux zmUKnr-jGFY@IvP4s7Df-M~TU)P)y{rPp-bGC2C&WxI%_K03f+^q(D=aA^~udjzLI% zvGV(mUD^Ew2TWSO%b~74FZ{dO5sNBUFCFuJ<3@v;CMqJHrUtM#4dQJ^q#=tW{HgXaOR?!O7fwHHHWTI(FG1sE=jx4DQwk6Dxeyr zkKo(7&#*IJ2+%!n)~m|RvA$Y!gFE45X&_0%a)86Cj&xhQM4gJIa4jJ**8 z1pqG+eylLJ`M0FK8AZLCzf(>i(r%T(E!-Cpqvv&7A1~DbGfaBWsH&%l)J4R)&0$3X zQoTe80@NI*_s?N~Po6W|2XQ}-&!Z657dMVD?{Gt4S65r?#b8T&DljWrm!Pu|sP&`3 zHDZuP@;p9^W$WgJ_U*Rn0IT-xR88=|wp~qKa9JfGt_gPl`H|5x7;?4T{f695zJKXL$w6! z2h9ITyM@?NugTUmsWY+Vh86)mK?eUHp(oh0NeU?9Cw(a$KlfFw)nKa|$f{;Jaiape z7qzOwFG+8BnEVp^d3qF28M|^ouHQsoSWdqU=lr*&bT%tZwdgr$q zqrZ@AKbeO`Xj7RMCs1A@XecwMu4zd>SE6Fq{;HZS#+*h26WmNdXyQv>p~=Bqi)MW- zOt1V%I;b2)KJ>Cu5V1e&;?RCg*bBLst3WYnqn%k9bo?lf@tX0)>PU=Mt#FgF1e?Qu zxKrd^LOFxbOCrvm9k&s-(9aP?EajjJQ^M$Ptpo=MH-%a^|4J0ZdvG26|%t@Ieu@m$V&&5_@t!Wvw8N|l+zqF9Q zr=WNJAhz)9ajNsJ4|M9=_d=5GSLay4Xw1d4lHi?OO#8*)VwOdFx+e#zolN6kk0RYa zS~do^!jd>K;6nK>dXK-*CsB(*z8j;{vgd1*8(OK?$BP%4M-$wIj+o0x?Wf&@OahO( z@@aw|?;E{UhfWk`AMQ|oVqFn4xw#r`r7M55S`DGK2<=dj!EW!H`gQL&G*jcub@4W^ zlGpVyH-OGv0HBslDbFhqUJx1ErK+NAjbh)3nylTMTEibqBMM6K3x)RS?U_`pi=bmQ zZTM=@D`cxhI^r4;5}cET2$t>wb&0R*b2b@K{_N^oviHcs3Bx_kBlE|&nSJ4xrtj2> z*;`q>UnKXz(DvA`CtJ_kYD$N>J6AEopYK1Q|1Dsv*h#wk{X)wL1_1yN{u6_=H>dsG zb&d4@Kev2I``2Yg1oaF1C!8P1(R#os-$oPJ7ST7pG*y$klgM~wRU5%wj==>*Jhqfg zB;)%zYfsX1(iRt+N29lzF#0&#<9IS{0ztg1tCI^jWp_u?)Ovuov&Yn9Lgjh1SFL>Cpe-4fJ(S`{LwguSU1GH|?h7fz%XS%Hz9nt-7TGE!X;ZMXy~QV1(Ou zz|PqgbsE{(y%kna3Qp4UYVvBTuNn5*@g^ADc_9hr{X1@#`GD=ChTFxj1C(~-0C%z_ z$HmgLJ#Axm%`V6H!wAo6cl~1~gmMwcGrQZD(38AB*qz-f<@&+#pGRwP23l?H%XCWF zg=ZaH?>C1o9^CEBQ^d{*dDWJ82ivqZ9LKEIF19DK$4Bjk4ea!!I_EVM(8-=VBt82F z=xX1f4qt3Z47`*J{HG_!!)dg=fNjgf;KtwHlWDMgO|}e_)$2DS+WpQy#MRKeIar9Ua}p&io$;(2dbN=bIKTyG;hY0W~#! zwjg?v+8F8S7Fv0@xHifUDocLv8(Gzu!zi<0-r$5d=*0%nQ*qy}pvbFNgmj`~p*nEu zwF`JIO?#xd(0BzcIsLx!aKkv>H836=Rz(p8MtlpL*C7cPW?UBP#9nCIM=U|eQj-c&Qq;q7OZ5*;<~-1tHR)x{M! z=nJiioaysD{$4Q5iXEyo@UB%*9t!Vdd(&oSr9apMJ_9B?s)Rz~su*NBdI!^^bn=X& zNq?~N2jzTq^+84p3@`~pCBWO)Ri(uIMv_Cw_MtYTaXVRXjIBzyC~0AGpA6VH`|Exy z7nF-UYB0?3-St`Nd;}lf1n71v0GWVu_d*~mg3I#{Yxv=D9*4iW|L9lrq|s5w9C_pU z-y+Ye;#SM#{h0K!5|F_A@h1{kz;bvAW1)w-CEf(whrWv!Vx;7;k_{k)ugS{;LkMC- z4%>F>(QqpZQ#_P*+%s3E?%FX0r|neO4mQ!;f={AthNWevI8Y(>1vGR1Jhhmb{>wZ9 z!psH5k^4Fmg-Xv|!hpFJ5gZK)ini$-XlXyj5wy0U)}6ILWAPQuijua02dzEkG~+xy znf(59r4Ov*q7$$)v%Q)T)F5=#nf5Q>1>A*x!)9eg7SE8DM|x#>am(BJ_|$2U@>Y;` zdWis24zC?nc|-m^8E|bbSB3U(VCw*?l)};sEx;MycgF_>Hr!@M05Dw(v!gRAh?L*o z>dlm_C^2phtd^&SBma^vL+WCOM@E+yOUr*XR4*hoS)9feOq?`jSG(u7S{K0gG@ zm$&t4GtnVvS_8Uz9i;^001-3`79!S7sa0ZuMC)t1sp)+_1>}L!EL*m1+0~_2dfdCX zaQY35kFut)nNyhNdlSp*Lex1Wzb4%+9x)>i>{`*3=>cgvw7nxSuY}86 z&%S`^=v{B?+1GA)hy>ofzzF&k%6~Me|7ud(HIvD)uUXvH7QtRminjINcTCX%?7=bLRZ)$JJ_l3z;slC@d<;Uq>N&Lw5Z^c12e|Fcy0 z@nv`NjZ#ixQ)|2^tqu=Uo!Q!#EYF$6$JFA!KS0*yEfMt32y`e!-W|s2&(0}DI8yN^ z2L()SUJ^2?)LYXcB;P^>xlSSRq9O)FR8^^K9BNHjEvMJ21u|~lWgPLxD;M|Y3^2wu zYI}|gt7*;dztCt9F00Nk2B!=bF2!s2#A1e@ER8Os3-~03s?|N5Pj?B z(RCw@Kep>chSZW7RsQQ%kQND==#N}#P2~3XLWh2qA8GV#Ekq3`DR(PwLt=hpnqdS1 z0t{STX@UU;K)Jmq3OQ7ohwEFW&@{z7ky!OP9j1$_S#ZJ7;T16}fI}dBelz7fc@JI& z-<~;{wZSK-_$InUcD}0qOo{c(=yPO5{i_}9N@Qdp8epCriN*n*IWl#@Xp02HknAkk z^&FMcP=uIJr?D$Aph0{SzRDp68OlPiY`ouwV7=7Bo6|b?5H;v!e8v@bgGI5}2melH z3rg`z#ce4Rl9}&4r^kW$l;Y4`4%c{x$m%(Kxa`!0;yPi;DIhEmE5nV}&my(WB(~2Z z6$Mu>h#b?B%GfB9qs}49Ze^HZy;_yCfO-EFaDat-CEGp((i9d)<61Z-)U@+{v0MtI zlrWQ9@xd9Mau}KJu$Gebu6M(hXun0`uEkm-hoi?D0D6&%^w0F1^MpniAOlNT)f^76 zN&O3))+w@s)hv`#GA9*mkfi=vy<3gj2Jt1+03V>&iQW-j1~D~<9jcR~9_USm;483@ z1XLRYK5Aok=h8IN#ULiMwXg3E2pX5%M{=GVnrIO;_F-AOig8J|CfN_))zLZ{jV>uO zi*$$aS}i8&cV?2GxqFwff_QjVPJf-T_hTXnU-k*v6~jUW*AddgT` zGSxvUIj@tBem*Re4d*#AfrL0+!>)9DFkA%F*vU^7U0+U}f*rEpJY??>>eG)Jz6gdz z@_N5OT7n;>NAo12!d!ir@KSDYB^GYGWMsCJz20;)4dMQqqo288{T<0_qj9(NJ~T=3Du~O zMAwAsB$Q<$#k!G|n&o@0+v$rD|Jo;M8qg@rNd~AMMnz(vuuWw*YwJ*PpO^-m?K+c; zWo*r})7q&?NA~*9vJBdkH@x@|4V1z8w>wCJQsKKiBC!R0tC^ofpRR=4I!R*5TyJdn zg3xrJ-*+r{)P~Xo5)q4?IIbG*x%i#AQ0i;@I^!ab8!z>>V?+LS)Ex+KcaNdkWQb{C ze5GDAgBDS?(YQ2_6(sMTBVycRzC@*#A!II0XA(zk3N$rt@_A+v*wBF(LK4@Sr-hi6 z!jw|91cgR?ys6bbu&=N$S`r0` zvp4xvDuuM3Lhzv>*x=Wit<4h^a0x$-fNaRk~l$g^d686dR_vT$A#ob9dA z^V0BgLTKU{j@90Yx@bC;b&kK#h?N29vPa7ZSPj@0Vs>(APKgvc3`qBt1&bgg@g{gf z9Ob1P{c`hF1@YyCk;1jGf!FsQrsQUfuG&5`)sAOpEZ3T@g#gh_^|VV9H*;fO;L`+V8bi4fj@jf;;ogixA- z@Wkqcl@wH8<7!a}ii&^R#|X=vhY39|X$TQF1(s@YMV zj=Vi`6-K7AMk7T=#16<-I4VZKYsKCXTlmj?Q0`+h9Ab#IkxLm(38qIW$y*849d3vb z6N@588WAe|fpeE=T7xM1{B7M9rKAvuEJq*k+bVo?9N&cSky2-W2awWvOmbc|T>BxO zFW?Sk&hs@&**T}7nkYJ?o0Po^-7otAz=Kl~E2 zxs~uZW*=9bund*yH${k;cx$gIu^*-L?dGh~h#P4~?kF9J=7AL9g9ZVVpX`d*Kq2k` zfjiBUID)Yz%}vzTJua4luYcl~tsw2?T-iuSp+el=tY_t-*=(CES|1|eTDI}FqV7&3 z(YyvZ6nQ{(cCfhgwGh*3_B+-ag38eb;~!mJ_Q|ZyOAU0u(bmckiQtj@Le+u+FwD`1 z6?Eb#TJMT%c@T~ZN{J%xZG_%9_qIGBbF@5(tvL5Qcfa(Kx4E@qIpyA_Bm=$Iqv zCXt+|v%fQzijPd&|1MJP*cX>iI-KC?%f{S8zc-d9HI-}Tyu1LO+-d*->$6ruV(+#9 z(x6w4BC>HxmiCENmyG9VN~e!EYg}8nqD&@wZF12Dq0!ByhMnt7BO35pEQ z()b<283Dzq;gx}d;W0S$udy(^8X-s>B4Nepy!u@|MqL&H#(3MRy}FhGGgT41+x!g=W5Q9Kbzo<~P5CEU)7Op+bDmEbYT&x&l4y|R_y>h3pcdAt@$T`isc zzyprbn=We*BS0`{!PnSNV(phW9^BE^G1g-S8JMA*u6(?=ORUc(dsH+2KLIT%z3ofPN=};Rvb-8C$t;(TBic<+ zG&{ps7~=pqFaFVBE(HWq+XB|#aR04Wh-dXewgUqIM1cbU{K^*pRoQ3$kH)Y`=_X=> z4gSmXjWQV3eQkH@`ngr%RDO2do^ZNOablZE4&pb@j-#_V?rL* z#KYwAxQlgsGg1T?z3(Ne5`?GqBq`ni_>#m=S~W$4#YtYg0sL)MWnX@=xVG*tZ}Z=J zSNuknpZ>2$?Y|rEp5dGrx}+kD@hmF>q@!w^a+3~ll@vp=b7rvueiusWmHJ-i_t59A z*$iW1NqNh<#bUYRRI`XG-_jXugHFvaVhP}4Kd%LHGAtvqh<4;#swvn>88bkUQqilm zKdw~Iv-+olQ~9SRhS^ZW*fsgv0~%y+ftWdgV0Q(T98ob#-6LER7Rn9R5(lNgjQCD7 z0+3rQP05sJT7ve`E8nBy<;;y_R&d~1+=65pM7pSytf2`ck}YeUY|ekV5}E5YC)}Z= zDJ`TN|1{w}sJfQdezR{0o13e7nL>_?7ksP*+U<&`PKitO@ticM51IkIK&3M9N`FFT z^kMbWznMVW0jZ_Mvl%9Opz8DFtpyhI^-L*@w}D%&0~3+oMjE*#7ec{7^wZ!=>Nq<> zP(2rL>D{5>-|ahoZi23Ana!@@;$Xw`kVDJq>!z5v=@CcVj!S+}); zF>k?h?kovsvC-?(gwA#2XAk7Fjkl@U~y!ebAkg=&pLYn`V}M8*@W86TG`Fup_pKt$A> z9cx|kON(qot6vu)E(LQSy<1hHA6M5l)?OblYkz+~@iNg{Rt=DB#&l+jmCIq{T@R$r zIgW-67ISLrR(pZv zKhu~ok&Sy3!}|0BhJ4GImhc;^1gL6M*GQ%ON0}$;HqFY>$*zLLDk~ltN`BaPYTVEYDWr4)Q(u*+PK+%8F*w> zIT>Hx4V-40EbKQ4%Wf~N+-5m0d%C2BYhOv7|6F2P!ob^sShn3UazOwVM7i&~Nt#c@ z;Ypyt$hF)FPwx;$S$Z_uRB_uhe645riRvHy)9?&@f&px$&ZOqbH$!zMAVk#toV-7# z6!E;QE~P)&A=C(>7i^l+zZgddl+A>)X@FlWj^l4>B0JL#W<(d3Qr}>|om<3^U2O)f z24LJc5nBpU6qPDARBVB~2<6Vey082pN<4U+dpT*rn!{Y4-s zQhe>pZaelGrZ6XqZl+FE-W{MW7|;XSp6QA_5CwI-F%~N!nPdg*8ZxQ`-{7lVP9RwV z*^Sw;yh0#U+i^Q7s}4;0>`KJZ!e3#|NQ(0^mU#OEP!Jel9!1u%U=bm#-v)o=sS39^ z)TK%yG?_rdgld6E*F>Lln|Dfh&PJ~1LpTqeu8vsPPJBEH%v|czV`70X5OcmEWd@R> zDXMU^z(Nuc2}swL^X9Rs5c(e}jJ{9)^4xdv=DeHL?W{!p0+=jmoBe1Wz4)fkfQK!j zeS};j;l6_SlWT4gZhlIaEOL6#^kGjXi4E}0Lbr{8;67M!2Vo!iAPOO|u>E)MQChhI zMG*`gJP$%5cB2hF6+i4a<@=`>e-8O`u|OkMbDi1|)6X0k1-AjF@!kL+b0a}%i=H1! zc`*qW@fxV|WP2tg9E%IhVZTe>;%dt&C4L};P`@v>Q;v1)ki zw@apA9m&1%pdPk_3xa!xEGl!03NhmC{lR$8noI7@l*(B}!1aB2ZbbC0@o zh-b2mY2pWZVpX3+y1whH5g-yGbtb+k3jKy}+6PqPA4lVX1ad*!ApgAK^Z>40JtP2j zeKYT>&a)^lkp(<3?_xLN5X!WMuwCibfM@?C?OLzLw)89jA8)@p;ajhn#)CqwWXHX~ z3wQB+rl?t@2TlOLhdP8Ha3i(8p(C)0oAOHS(v3wpiocqMQGP**pU;0dq9V`0ovM)# z|D=}<)Gal%kI=0!O5p~6ykwK!iX*PLQqf9XoC;xoUsV?)%-9ndT4iZez4X2V6;Isu zBsj0sw^0-IGiP=?^+oZGBk$JFLq0JFUlaU;Ml#`8@{DI0iK9Kfo-yq0N8Y8zA2ww> zzCoUVk8=WKQj`1GWVe8`Ldo@H4QegnFKP6Wibb<^LSTE=X1f*5(TI2(>`}-&UmqOk z`lGz@tnW)KXptl7W;bLU#E|+Z*puBwTT;m$D;4B9I9u)dYa>@XX24bd+nH z$!fD}m`7S!G&9H76pqT6IvuqiI!x+}iNMdCQb8$4&&65*WBJS2X|tRkNPTE7yW86R zaV|=h}&jocdQ6li2r;sDo#D8w<=SS77 z8TF_)W5f-jG8#f<;Ftb+O!M{1l_X2JG2;6oO~QPy!(yQYY?UlPptji?q-cZO3Mo49 z>TDp~L88$gUD0mQ6kVU7+755QRn^NI%^Q?{k0$&DEA_9+03X&Vxe@dON7fGUZ1;gMHz*()$LlJOjG2FI7ny?10#$i>V1EJU82g@QchsU1D zUXP2#k*EQ=ZMa{WQMZcRiwOsZ(p?3&&{_wpNW3ZWv^Ix@aAJQ3@643of!1w zaa9!o_jIiUX70H5flT=7-5IKQ4gJASliI4Fx>9jl|CfumiQh^o`r0xdn6m=;HU))x zbm}~@U=2V2RIR0v$Gq?@MH2<0yzY#Mo{$H!8n;@C-Uo7SO`|Ol%R%%-4Dt`HPmSm` zEf|eh^Rxh9pscD$ig){C?`^gB1#{8 zB7nSe6DV`=VG@Ryyog)kxW$wFB17U$Gdi&+DdoQ9L+mX>eq5zG(c>RWQhgGkaYbih z)rZ)xx3gOu?a_sFQRisfeST*m+DqKMKw|x8?_zd_KPyp}Ys2ELoLgsA{zrcwrBra@$KNZME`}$x8n!*M zQ@UWrP1R^`li+*xO{O{`WTwuSuzjPvmaahhJ!pTV{SUMK+Cd>PMAIO({z z(d6h<-^A%uPn{jTPZXwHbUxZ^^K@zL5O!&0EKEG5h|{jPogKA%y0>+Uy0@{Eq+HM@ z=u|)aUi|iG?-lcCpCwI8939|Eu4_ecgfBYI??w*(5@)ZMcz?H0;pFX}WJ{f)6Gk_6 zrabOc@JOM^LzuMe<}%BB!_{eN*5AKu_8+^R94%!eCitIk=s}Uj_%nvFvYYro&Sh zWW40TQYN>s0uZ|u)H;0Gk0lJHrIao+(KfPY@BgQ{svPt}Dvw*ogStx(;sI)<48TX%ELB+j3odF;v}z+qmLv}xS4DT_!b#!m<{Nq|g`v4CRL!B?f`@)( zHKgopM9S7p^rxSr+Q&7z(veQ%NUw9b*G!t5l?*a)&n(q$wTpoblf>!q7Ulf2ypZSF z{!tz_L>=!%@SaQ9!0c{+paKo7vJ0-JL5xu?=fZIr>Qi`E)P-SkCh$E99sLQ=*FA+E z0J)vl()Z^5*0iAu;O^9&NxSz}$*&{41c~;c zBc%OdFh7D z7P0SCFA`GWH|0Cf%JnTI%;&ax){m-%=Uxk#U@u7pzJsLzBeXMAa=w0i3;q%S6x(P( zF?9Q;S<7eeEr+eZLw%jzQ`E7UHq#TLML-5jvA*-?YooRkiR~7ebw?~ok>`*#Z>bis z=fEBc?i&w{+}VL72^5j<`N+uT(dc~%*Qto~R3^5q29|1<<|?Vl)xuOM`X)0w);vp< zj6ZyHnp`2wdd$O-&;S8Ta_NmzK_Z_~5((rVfi`}xhw>ZF9Qu63;*Uns0P@wBF;r zc*%BN0zMwUa!YSEoO@PUDjRf)A6~L~h29f?djayzZzVOP4)p-?{rko*-^wkKH!Uy;lNF8{L5=I{KkDhjStgu|6pNZvc zcP#^;-he0h(adSG8~}K(hVP@yh%ehz+9W_d#zNNwj2i}Wm9w1MO_gqg`AP8utVHq{ zpyQNA;+o}&mcn$FpCy>EP>ITfL$W6*eR+xK4>hGII~(*91}3Us`rN~)`e(5_Y^V%#q8C3w&$DgIaZ9RrWgOPgok=q=RXPB*E`j|7+(d=5d z3{$3jJssFlpJ^b(tc#T&epKatY&xkUP$uUo<1x#D#Zo1eNSzZ?dnG1j zg=dmFW=91Ak+5eU_E8L|hfbSH&lUw6uRtu;ISkO#PEKS^rjqKf`<@c`h2+LCcr z>Hvr1bX`OUQ>b7E)_ErH53}-^>KSm(hl4UC?Xf-to%K*`gCH}lkoGw1ch--S0Oit7p%LRSw-}y)bb;um!tWa* zmfk7`6^`%0M$xqz9ICZh<}-#Q&sNE4 zJml+p$s>M>2^54IzyeI)zhs0D2Hk#29(UE*G86KZtl+$5G*3zxdX_vV;Gd@k^>tyJ%HE%o3JH){FKIjbe#y!BVdPmY zLlXdZ(L^;;_uR$bM4+yfOMx4thp$#5^UZa zTMyk%_hb>e22^6sIdbiwHe>*FODKi^{VE;@yQ`kj9&@WSGzNQjcGsagA@769r*MiwVj^Q9KEyyb-q8k-V^&g*Wrn8|!n|<} zN06=U&qR@SGNKi|NWl~Lp4pvaa5QUdQaKDm)(#5cXGn^40mX9=PNI^Y+@qSCrElTr z7A^X;;xKT|xjLUo5$r(wSsgWy9Ex;N-akagkDIne8Db&xLGM=+UIYjEBPw&bw<3 zr`rd!Me2KyW*z)7?wMMb+o@8bpwF=g(gh1KW#ILaQ0w#{(dwm{Ez>S|6_S?1qO*Qk zejM#CR4fMC9Z_}v97J1cG0-kQ=D+aB{jyJ2eUgHOOR64)DymoH$<8X2x*6dL?J5A|mt79l=|{A{m}nGe6{S=^w>a*hkzN&777Hra^Kq^-X#N^OfHTXP~siL3~wJ_Iqy~%?} z^NYq-bpAU+NG*y_AFq?iFtDT^I4)Xh1nEh1fk0e9^vA8PYP?)(%voHVWGx&~CowQi z9#L=K=hGqDN!nABZ7Ins^=jkQYUOZ&-*ImfBr7rJ9y5HTQ{isEInS1Gx$auWy_Bkg zGQt{H^;P=-p$1|w45NgBL~eD1;V$s2o7L~qmgj!oP{Zxh)8f;v0zV9_B!3GJ zIs?ZFEoULS>mpNQ%CO=lvyl^ZVkJQk-hN{kk0N#FmGER3ED!+fpS^-P_A{jgeP<=FIU)AY>y^K#)+{fOq*RHuE6hocxt)dwv^@MZX^ zrJ~+shb;kE`H&V7fF0;yQ`Bv&CJZEq8J#4z;?EQkU!Dr$nf@^b= zrnM z_TI8nA~?_Q(To2gC3&F*Y`{B3+JCj=QUERHG7m5H@<5d#!4(!M6XF=a;5tFURwiTX zAbLr*l?0_CK_s&Q2!O{cz|FKX+`JjxV}tDtZY*t!@ET;~bCOE-g%JQF^O>4z3YZ>r z6pK2xkC}Vd&H)>g&s`mVgxK$q1pqN8t~~p6@8SCEt<#5UX|Psgn1^B=+Jv>nnL*c# zkZVP*@}zR@JZIxD{kh;i3bu@`HkUTr+{V@oZO;^GKz2OkD|#JxgvUAunnJJl!7*4d zFTq}4CHs?qqX_0rcjlDojJ@0?qBHmhlIwCIdx7U$c+Z!M;*IMzK=KI*zc~Q84uJ3W z%8CmC$*u8;N)A>*0``017QPkzA#9vhS)on+^?>3t$&D|8N2%N_S z#4)$)aWoST3X_)I4tui+ki+a(F0K}q6HUtueFn{FnA6##RJ^^=lj`x13tA-i!X&!q z974(=NzkMJn9nMN)ONaS#mK3OH|iZ8HpLugRQQO3A>dx4$vEZd#YOj?+fx_jtBo@) zj5JmnbK%20=+%W}*(v!EgAR^m2xYzNzFfg3(_`k=$m(@Uh#4aW(5zu>;m1N$C;G_B0h)VASP7yv-d1 z1`1K9!7q%Fh~YNT5-SPRC8K-n4)4`NTgPe~#Y80XGBymd$ki3kti>yfNct7uwfJ}> z<#zZRr+f_1$cxfMLr-*z6RgPfktAs_Ny8_YLAL~Xx6-|lsnU`rDo}01i=6>5+8h=i zF=@rE1>@d@;KpZ7o~WK(vKUW_sXjGE2}W#jtg{a;Kpc@jiwct&Hq`K!DlpPk5tgj2{J_ah zI~YnQCog5!Pf~o<3IC1lZ&UpF!<&}j3AmgkV-C+p{n2o=nBnH2bsA@e9o#}!%{ldn z0P%N9VBEyjJ;xOG8v;Y;23Q{Z{gzJi(&AK{QRDO&N=GH--gu2+!@;&?)^IzL z_N3$+A|&;6dE$0R3sRiq#uXVmKTU-}W5YzT79+I{JPg5=m2zsFYnCxyUJgU6s2!JJ zK+X~Nz45pXS5a0L{U6NxUzAi`Py`8aN|C2>?@-d`a|UA5ig)I?F9#7%W z9{r$r)BO;?=3QTJY#)ete9w~YRC{B5xpygJd(@fKD;sX82-#;u|*%UIWKNX$nY@ifUn!`p5;E_P6^IXUjrMk|SR)_PBD^mJ zVbji7pQcuF63D9~=1bHVoI{dT2l~X#{7?tDU(&y=toD5FZ`sT7^& znZe(k>r#k2lPXLTTv-V7>;oSJyf2~d;p6NMFwlRFKs2mb`a0nbiPSJ3LwZGLM5Uxp zKg+>IBjBo`l^+vp@~zegjVNx|FjZh2xm8e{qxL^r3+KpH+uk6|mV;Poy>r5TACP_D z$-u;e_=e88evVx66LpwG&BxI*jeg2R-G&4?AySkD7M2_CQ>C&XuGfGuwYaow@#MoS z4y~*q4Q^FCcV)issxCRJU3c6czq)H{*XPV)nk`wGCzy;hbxJNG4@Bu>NUPdSpfC5w zcWZBahn{FX9Y{6JTSjZgi%3?f3*NDippD=9j2r(`n!|6dPG_(a*2qqdaTP%mnQY=z zBsvu4OCL#PN!&VD8j2BKq>;y(+YMdZ@4NNL^R$~YNe1A;jGhZyjvIM6 zoM6R(-ptfW9{$(Z!OkaTTZO$wzTmQ^Sg{c?}lAO+}ZtRkQ=(IgeE`+lv;r7ewXYVr~6975cl44nI-3 z`@TGB@C_3#mZrQWB*7&GbJYU+;@g4sw?QP_SMVB)TuM0#qY&k?cF!Z407b`*eR`NY z$=a90W2&yd+Fnz_Rire20r)%kMIbJLh=g~x6Z*15%i=OQ8-?HG0)bp;n1W4hvwRFX zb>_r}zC}8=^2|12j*xUzzS6S<2uYCiN*;!si%4vZD1{|s!mIS9B+_FMiKkNnlriPo z3y4d-#gfEV{>%n zh+-$nAs>s7($X*fKZiK96}fz$%i+J`VM?^S`~*QYQH1`dBQf!UozoI zH7flX z5f9hST0th-QjRGtRZ$eXR(f;t<16kU1fu=Z-~tQ(H^*Y`mIkcfuoX;#?oimgA1>tt+xhbJbiSM4&$w$Z!BBj+HK^R`8Y? zJCrjiOV~poro&KJ#Ci}YQ)5)T73@~hBF&q9#72<~IO6EBX7cmqM14ly6ICPpGY0(`{f{Xb69 zlv;87&{>BPwyS77{P4fnBmHFZmbXu_v2YH^A+i`UD~e7uuxwG8VoK9;DR9*jE9GOD z|MPNFe56QZ?m`*BVFvXuy;PpXc^(Fyfp|G z2ChAWV%w-`%ZWj3Jw0N}uLJAx*+AeXX-MG5r`&*HGd;?(;aFVXDzH8tkkP#RTJOB^2NG^axjd-dwBw zi|y*UaK`scc&{yL&0IdJXPcO8lpKZH8y8ljK0yk$0h8H zvbbZ5zRoq@ra497qCvQZ7EkJcOAo&cNkX zZa1kA%$}e#5A}nn87(9(l{&KiT?&l#EeskQfRxh9`AfLm{ zu7T=v@F;qm>BM!hwHe%ic$z_&JbJEY63}D&1kn-e=J)O7c-uQ)n1q3EIh&fAvgQG5 z>*%Tec8kK>!x|FV5>2Lu_w?uU%CWT<&-iGs=Z}=?+YX<78O^w`urRUol2;c}RE)2# zx*Q%x$4iN)M^<3aOV&C&fI(2F*JEdI3VMtXD>SBtCy%4S%YAQ+5GzkEYp?x8;#0jT zDK6y-DbJ>&%Uv&x5HJ5-2G2*35LfP|AypRx3|2Q#n9Q$pW2gN>l&#smVSxRvXV+Dw z#aTdK@;s=ir(TJ(YNq0K)=^EV3Vovtx5aa3DU~er5f$?F<8nzAM$qRw8{0?yPuskR zR>SC9_ogpemGn#p(Cp@`N!^`n4I*Wqjv?2pKHyDK6R0iiwcg1LS}NN8@~L^%v%OzD zIwrx*r&(yXii9u0Gp05uFiU zK53Qkx)kerd3V=(#~+^eeOLV21n)$&g}9E|@w4i_L=Fc*tOCxmx*sDO`LgNxtCF4I zmA==C@ljah8S7Xg*bQzyDO)6qIVOgrtmdh+WN=sr3hjcT-<(jsfzY_;$@_VmP<+)O z@s|ZS*hfwCR};{M$Xa))vNMx1TYBY;U>SL{;I6+Sa8>GmD&84FSA+OB6=VhOH_h9O zQ59ZWrx`2P&@x|D&!yzaDgpw#X$K~?rI-|t%2aXTh_WQP*T!tiwlY)=Nm&!!*qNT?<~=VEx0y>u4!l`{t)rS@0gFOL*w)-C0x> z*3V*}Hne(uH64k%rS=HAck0zrv9rD=owA@Amtu3+tF>C}tVnTT;}H!EmIFgZtgMIw zDlqxsQPpqNVZ_X7845q0StJc!BD((*P&H090ya|L2~RX=$4qE$3`_WXdkQ}R4E zO-UUmnUhTvSB0E4R6=?c-@a3@7h6ev-g5lho8_%$`-ic{Oze<}>L!yBiDv#%Hf(C8 z5Ap$zmyy;7i%`1inTJBVICr6Du)AKc;=#(Y1X=OIc~e8t-1;t z7G->^KY!FR8*NB@p_%tIYHG4BFNBMq6v4i?JV5@vEnpHOrJ^GEvjZvZAG5g24>H1vht9XCNkML#4dKSHt643{{h z-xZmdX($xIAsve*WFTnRx3HOZKSX??;b}dHhaO(;Evru+j4<*a3l^kxGQx66Xtuj&sm1GA1mAbrZp(f^Z}Z5!oeS zJwVzNegV?rfp^r#Ws_wuVMC;|0^|*_!obMwq;}hXO}v1cXAZ~7?GJ|dOKI6@(^yf} zBV~zhP?0!M#fzS>sGdr0tiJ1;NP^e?V&+tZ_J?hy#+6PxWeH$UJ*FIR??MNGy?Q<) ztYe@(mB=y9+;TP$ZYo*~s?1xF?;3&*`= zBh=xMB8V6KS zXBkC;wp_@s!lmFPB;&nKMLt8GXt3e8T|Ke)sqm)h_%{-N{ATmnZ_oZ6L);%piCY8DKbr{X=aE)*KvYd;4XP z;TE;v9{_8~MtBGiKwB};TzI%&Jl|o9P39*q)yx?k4afHL1U-h?{!AR1!mq)i2r>sZ-o{muYp;pwN0zio zC@W4nyFQ1elYDsX z?}+PKJh5~4MjZw0bU#X*dF%Wt`GynvI~X5M>&b{_Ft8-K8SmhYvJ%eXh~^|~{&Ek5 z0`gjd1#W}@va>vJ(a#^i`$LEx3*jLC6!19UZcc%I1kfr1f;gR=uvAtQLxM_VY={n< zs)T}u|JEiHEc`!f>aDa;LtE{AWFraqksU&+&7hk~dYTT@^nfJ#=- zM9U0kR})v}3(azYF^r+5Z|T9C7OQ!JFMC5!h2MUaz)tN4?(yCM(l8!8&X5y zUp+AWR@2k?)$t^OtsFGrw4-ltB-q<9eYC0RRA~)E1F1@ZIgWS6f*N+FWE=;-P<|Lw z_T*t;{|T@;RWDv~u+z!i9qSdB=%s@wx50)Q>n)@0p@H~~C}GaoGSrFV<;h*QF*$we z&)0#0knWq%#|S+Pz$!NVbM-bTRB9#n*SPCb2AlB|M}*>=}Hb1j;z4l$tZ& ztCSPna|r`v*hGw0Pg2P*VD?XLrtSw}opf`*jm1AOt`> zb324?@8u^hVzPe#H9JkTq_-C1J%b?XfLHG;%!5YuD#5{Mlrt4TjUmq;8@oz@;LlwY zcyr%eATEF)qIG(g7zD(BRZ03wnRSl+Gx6>K&ww1TlVHRO{Yll^KyqzovfDYp23oHS@Zn zibm%u{sp4gMh!owMK%T~m5zRsS}zeT;>E?MqPRv8oXAEJ(o@Yfq3-NM5pc_23~Z__ z@yr#p_E0=JfC|*~3QEf%xuKWghcJM9OEilFxearg=*E)+`n2y|SS z+6-$B>@)$ozZQVt+Bru}TYv^k^;%M&k;2**=P|ll+f91E?e5~VhWu+sear1ExSJ>P zD|Su-lFX)+Vehc1#Qg-{}&v0FKz~O*P%cRA0b}UVyh%Bu@kOwDEPU zhyoKek#IuFx5LU(!x>{~!!#mJ?GEkOuQ!++e;XPIY39jwMOmIEKOcBIKgSweCp{kD z&kxsQ&ex$2i>$>QB!zo-E}w`XRoNzKyH`+)IVKVT9PBB z8{BT*uk@s>l}skl+8@5dc=X91X4^5c9fw{b9K%c|*rt?wreJ=MQk1p8n$}Mm&*JOq ze(`1S3V*$#mmz~^-B{he8L#5Y*%cAW`HKD7q**LBiTU*4pi|G-laKwPZ79<4+dI;c z^La67AM6CPboQ5ysl?|;5w9o4vK@Nqqi^wOasG-JTxK?8*6CP=cLsOBk_{dv;YCM&CWz_rWS_wtt^NA}}LGrQk z{o(CMik7umIMAGcwq@x1r+r>S&)=353|eR$tD?HSIpGqN(DYydS;?s_)}q)`Q{pw{ zG*77Db1=wD+F6lMN!>{3v_#sza@}9f2RF(zFaz*a#{WkLq3AnUhR1EiunN}-_rQrR z^;cJ4cTX42N9xs+TmOqe4d)?33(rzZoLdyf_6y=4?1XrWSeUOg{;;s8=djTD_fXrT zSNcEs280*S9Q?cMZc%wZS$RU@NB-_O`F6hs4M}p*QjNCKjcRHfdpXj8PhN^Xb$^ym zF#1RZ6$8NwsY5LNDZQ zNj~SjFHPQhMiO3xW0p8_?900mwKZGHf8@@NnRUm5=m>q*z;{~iRErrxiNqdh`3C@7 zXUf{!-`?3i21Y>P|ABJ}b#wRg_)rhTZh~|RUIP8w&@}vFHv9>p7R}bG%Y%E}kd`c! zYCguSa?5d}^Y#Hn|7as8e`P1Fx_Y0@=2d_Ua|&Gc0=Bbm#s2LS#;ZBBlQ$j~l&ALr*9n`5-r$-WW-QE;tzi19 z?58{RG^Tzxr)8X!lj?7n4maaP6%rWo^8Hug&at(vx};2(6z)d^E~UYya`4j)?D*CR z2u4JZ@CU0To3cN~@ui=r00oEzgMyYZa}M90!UO~g1c--Q z*W%C}w5P-i-M0pSZ%0!vfPu z));+-NXiApO@^w*PfS{|)GNWxmnzI+L%t2>k-s;dNETsoh7BKKa5cw@ZZ6DNe0w@| zo*&eZeH6N!C=n%uE0HHv%`NG`?&*m(wXIMEYkh`|gL4(MRaUO; zoR`g(C=BDwyGVAp#x9UGMw2mTwZg%;z*d_(HHwRd;?UgS%j;A%S&N24(A>bwlxD>b z%aQ{z`FfPP&M*{v=Q74aGjB^@mPtMO9py5YVmh7KD9>m^%_8sn4Qo59a7GC)3IYTU z^tl?9ktoY-LrtBv9f2JevIdTC*wC$w!3m9>S@`I&V;4VMz~zI&p*l|Y085ZCVEmfB z*Hk7S34V5r^4M)0y@-=%2>PtucBI8d^JLKbm7 z6HHcF#Du6M#^2pS->GttnFNJkQV{KpqOp!7%%PB1zxxC7uW_KPXLj|UFzhp8ChJZV zm@Jl6#nwym@1nFCP7#?bX###ZJEf?G=4pn;=@=ocSLD}^bD>;t1;JuRZoA-SnJnd+ zFB2NCXn?YxAJg=~x0-ZgJ^B7PiqZgWK9{IFSKk+)*`m2-A}Kb47rj0IE`!)f)K z44{!C1!*{j~SKCmyVOO$_IZ~zKjBTdfTjyqZ`Qix+ z!Kqy^QI_kxLVc<+LNdtfKTubGl8+Fe!4U-dU|H9bsSTfgITA>qG{rwR851Az5mBTA zgi4~*I}+KjSwVxf6(AcGzmG)MWz*;XpmL(qy`BMLz5)sbkRYoiBcVB_?+~CP)+qkg z{h_(0O2P{LV4@1xqWakOW43HxemM$App8gRuoGN=1W{2a19I4Q|Kw^8F_#4Fvqkj& zpGLp70&JrqY}5bpQ3d$1Nwu0uoVkIk{%0VHgFl3odzdPM4%nm$*oEuN1*7_%&NEC5i>_2>gR1!A%WXu0;2q(f=2wBgAu7!DqG{l%GfPG(y zlIWKI9V%e;e+VPiNkZ01_ET{SH?WlG|LXtSEc-XB2E{>MVYUA=)U+7p6RalgR1S2) z8pV%)!Yg9ThFfxAE%ITlh%Yhg{xf~5|4g5-{NF_4i6AZhhtR)PvepWWz!FAqiODp= ze4SV{$(Nm<@&0Vz?kivP7<6Be7Z8dOG`b!m>&LA7LN41K&+f8qLRf`pHwQ;CalXau{yOY&{*4&}iPR4_@bG_-Ffvw-J z_;V9wXWAbl#F5x4lywIH2Jwgv&B5O9vL6zPf@h(Fw5&|Ay^gVFFY89}cc*Ik5PU`M z`?rAv?>fNNJlzx;EOo6B)TdKBLECU)kc+H+9MNMc0(^wF`dBj^_LsO)&>t=gWb(g6 z9+aIB@PmIO1t`35yB5JdF;u=CgM4INb0vLG|D7?vh>+0aK@@yT4+u6?jIO9^bGPNv zAOumKikBKiaCH_Q8r8orZ4iqOuzF%@EId}Mxz8fX@HOdX&rB70I|h}=d?+_$2T6>m za0s5s*U1js0J4GKz^HH|hV)0F3qnXjou2vW20e2!QnY~-ShVQLZK*YR0gg=pTHtal zt8`SXxg~i4KbwfqN?Bw%8=&%LyU^8D7~qR?)ClErBc-ruOH1_6r3Go>6l0tMN@Rts z)l?WZ3v*H)$;H_P=aUrXBA^FbQ08aP_ru7-(vd6%OY?QNoTPBo1Z5mh=4^{!9Qetb zF%{{_U6JJW6<`95g^SDs3Dsw$9i9_@;6|7SBB>ilJFF-Cn1E}UW0pJYqtcax*EqF0 zJiGXDT8XD7-p01EO$u3W_&4!Eh&1(HDLo6PW}lp}f+W?{-vF~3WfWLi42m!r(ZZQQ z7Oam+mon)`$~#GtGec&p5|k>eA*jT$O}5LOHxfOT%2>l6LcBm^>H4T70dTG5-$NH; z$di${_YLN-!VKWa3c+dQ52Qf>pvnqHn3*VI6R*fbf&r8zwNbLr2iqk4P_+cTDDxU2 zWWf$r3E7~006dYO`QsdU z9z6e+;uUc)hzj|0R#)q^iMA321etRR{%{6-N=dioIsY6sjk!anZOZ2t*jg^Gy)#RKy6^v&LmK8iWn6H!OU3b+rka=Dc@n_ z(}8s)P@fd<)(5m@y4|(yfUz?hyRELqz!-}zCyIHy9SLu=d?S-!s_d12!y zqqs4m;4`O(eAENNU&=lPkLn#L0)v!C%1{hh5A;3*^v+GZ0zYnKQ2}$JRSZTQtRfr@ zV}VexbXm~Szi)fJ#}5^rp5OMeg+JW}=_YDn)Ym*;K0pR&E35D87OY;~e}4(3zT>Ig z9R6TAJHS_qe3$Jauxaf`6!oCK{LxOkKwf?ldSUT`bHO*=pcet68|Rvig5Eq$e3@wJ z@mqA~r{I%_l(M<0hi4&}hQU3RAIi0&hvoo`ib1sn6|BIQpm57~_;(-M z`x)B%8SJMs)tD)IX^(@XYkmc3@fI(9LN4t()@+q;cF3@wHk62j;YSZW4G-1# zPKlTn*!;Z>F^ITf+(B3(w{}giNKVk4cKZ;1IqzI5E_#8jrs0v~$&aQJxBgm5v-LIq zwG*%u4CxQU4_(-DXS9zfwI7BAk*vCYU+Z9mP*v2j>l2%t;bzC0NMZA!(JG5jWr{PP zgGbH&ux(+gw7y;Iz>Hw?bGOLFW-Ks6XnlOr+S86XY^~1WCSYm8T5!E73){nPEk{QK zS83nKme9&h?Fz*m6UW>>cV!=Pd1zN?dS9r10;wi;Bsgax*fgJ5A3p;|Fdt?@O}vLs z4BbLaeZ92yu_?tRTFgM@$y}z7K{uD{vca#aqm9!DWbdF9LgP&HyedjG%MEba76FWw zrW02iPfX9GZCcK{{ZNXa$qeCwIw&UBF`Uj@^G46+Fc(>Y4cdNhDDcz4qRkOl9(!37 z9fqME*!gOJu35v67F*#->s%-jY`F>8*>-@gHq~FU4}2agSX;YR9yW2>M_p7m?k-p# z+5fDMB*ZssSX$WSXkZp9(bRoHG|T<>lC}(9n6`tx&Xgbd!@&R=G1r~2rA~F*sG&&n z`?MB$1zk19j5UA5B5wH^6&Xuw#crFa!Hl!{3~TG3-9WZuu7=}uZHXH}Y$seTC)ui; z=N!1U7^^n9^(9i8e-)e8-2ZgAXc-yLIUCP4&S4Q}R2gMdWi4W?IpMB3T{H|X7o9EV zoy`NHYh{;eMVCtFu)gU(Bde5)S;^RR$kB9)g;OEH{tHvA{$XGT>9n+|tn zEnv=huE?^OmCd@%X7!)ABH1O`fAW_bPPiJ6xg52OEasdoW}FWj2Iq^;=JU?R0nw$h zOQoVqX>(Z08CA^xm{V7rvR3|~$BWL!|A{kY(=q!epE1x`wpvmHL9R}%wXbSDYFaVH zS}($)k3#nMKrrN5kwiH##Ajfou6AI}t`IXkO_n!t8)}-p))|^QUPa4t)SOn5u2T)0 zFm?PD8wHR{dvBe#C2KU{Y0l?LGB`G4BXT3z_fFcXe_U!_%U?&g2I-et-Xh}pU_kV8 z6LRALZ+nqGVH37mUenv~CE0RVZgR=RV?7KMo1t-3DEkB6-rsm6BWk2m-oXbVVlp+N zdC#aZ5iypPCQU9(oqLTY^AOfpDNOHv3^^n^7{31Ju5K(8$+#$ba)QCMIV z->^mG(IR6J&=Ft zE0e47hc@E%p)HSxFW``bd%Cvdm6*ghsb6e3NDKk2E#2BzncpUN2jDzq+D|CflL7n-?T4w|{}U^s)jiA)5P)|-iVat1`Ed<@)o1nfAf(GYER z0%mqXIxJFKDmy%;TR5w6_N|wGpxj%JQV+SWwMwlwQ_@>+P~C0=HCUj6RXtGXya{zQ zQ&*#{U&OOl#Iu*hvscBl-;9+9$^6oif(~YjWxZ{(_#O`cGvz}TTII3N%7T-+G;OD^E8OSr4hL6! zm`uct%QZ*D!F&7qOu;!hs|(KQFiTu*_G@@18qeK(O(;g-ei%j_e)9h&G>Gp<#%XCe@|jG z!#!CYwpm~lA#RDKa6vuVuqQ}dcdNAy<#aoK$+e0GoU-MVY>3!x{~@z)m=P4uo%e|0 zwzXSacj~3UOYLeL1|hwuqUS`)(VvgPjj69l+q9{Ueg zMlTrCf7JQ*?uO4a!C!bLiL2?CI>u+0iVh1|QkPt#F4BI_>g#SXHks*4S-J-Yk`&{K z6%CLTY<2Og^Q_q)pu*d(AD~W|;BoeS4`tXYXiUOb8fhlX*^Le-yh>?<@ zrjO7_=!2QhhDU|6EowHB{Sg5of!7Ycxu0?1!fyn@Es8Dzm&P;_d)zW`zQC(hb$NBi z+g>2m{cG}%CgTE1=k;#udShr}FK8uOHYqBYk%qKm|hgB z)~LNRZSs=r1Jh(2oISAgdK&@4L)FD4mH$BY{T_h>ZVB=S-5=rDl!3Q5^-uQaj1#jD zg;%f-t+$KvleNi~Dc#NmeAg;PGZul)Pim#8Z~eDNaE6#$n)=OgwqmNUzAE2&b8!}d z4ck^_e|vA@#mCJa&Kro*@NRFnuOik-=)fbOd1Je&JCz<+K*Nd@?w?@TQ#!u@)@BSE`$!dR`js6Z`wkbQ81E`^nkMb`u*(mNUap@n1%}{0QyIjP|j( zafJeJeKQH>lH4@-wBav!UwxTgt7+Md!#rA44&PewsPN*zRu~^`wDgZTovRjK)>N6d zJ*Yodu5XFq+m7U4LvpU!{5kfYHC%CwS>3U@;^5!+$~)YsKdz0OIFidrmu}@r2YCjP zFwuZ?dAh_JX*MGJbfnVuGb+iaMU(W)igJ>TH&sA-IbEWYybdXFOq)#5yHgru%L&zl zlH6f|>_}T=RRRlw4jC|fn@r$`V;XF`86)Q7qzU{6r@G{!8o0J&vZ)I2c4~RUoM$~p z58yW-XR1oc`L|ACT4Goqn--iTOS$^Pg(?vOdmj}M@??K^;Lc^x?l`_-vj6#RkINhQXVvn?YTkPpz z()pYxe3taY4YD2C5$QDrAA7>X11_GN3-C@n9X3Q=GJ5=53j@C639+oI7T0Nkd)f&r z!HX9t2PAftM}Lyc`?d{zmU%pK#?)E4kmr``strHm`9FB_MTRDZCjhK%>f~(WB@7y+ z1ZL!L;7%eoeR%;AG;v8u*>Gc@11kmIVnRvCLWN!xq0_4fI0+v(2huZ+L;{uu??!zK zw9RE7Fv@pp`DIk%t1eW<(Kpi{nVPnYrM(Kj0E`dT^}QJ8wVwjUK@JE_-F%EaQx-f} zM(Q{FbQN8!j5)0jAym8Z9Kx4FtX=Q$hA)@DFqV2F@Tt{n=4^!LbJmY^@X-=Da)$w2 zoV&$A+MCot9ZMVgN-S=gQz_LPRA5)%!7`&NmUfkZ4W_?_=82)Ne_{oLDLO<{hz()W z{&=hbzkqKSdWtd0LR)(@4{N&{$bVOayv@AKvK(q3UC%Ago%95Y`bma{$tR zK=b)s0n>i=1mzU~M*p$iGNtpAJH9 z$-%jMv?B6*^$bR9(zw{*MLRVh-fSoBoWv@-02%Wmd^nCb;7Hv^1TNaP3N&*UReS3J zNg%MQg<^Q0?&32cw#3TeTsJ=HrhK#66O@KC7ackkU~T@X6>HwAbA!TWS(@@Iv#q-? z-}1?c!?07w7T=B@=GxKc4|xa=LL`o<(i$LZhIA)C(gu&F=eJQk*D~4A>EhpAJI*Fm zhztiSiyl*)wW>f={>Q5J%F&fL^|qD`wHID_xMU(=RIZKa=MAy&#PH1F5v1;Uir0ug z44wq^*1+%42g3ebv?%7`_?7R**<2GSS%mJYkvtPl-u5#KtI(D&i`e_aYiOoNg-6Cf$YMg_4y$q7>rtW5ly9Tm1h$a z>pMgJd^{HTP*3zzk>av0!`~B>Vw|m7P#B)AQB0A!a4Xb#)v? zcaRW)D}75tz+uDkw+g-}W*`_o%e-WKer$PWc73EEMnpU@JTaMu9u9UtMEBUxd0UA4 zUU1qYH}W6=msZvk_PC`mf5doDE`^PSfC&$vEP(GM+!y`_iQGbn-B4oz?6nbWqka|U z%A>8!Q_eGg%A+H!$>o`e z=`Sv|rjB|`s>aLoWxVR-%JZ^5tDXzgw^Nsf`p`JG`DE{dOTyd748b)WowWm-%w#(H zcUUlpd)ePUE)M$+ON`53#}$)Oc&`n_Ip?|UxCb8wfptH1Rt^?x5WLykVc^*NU*eVa zzGR$ka}r~Ykn>j_E>L9_s@z!f{W9Va_Dpu9u-(a1* zy$})JDnP_0flGj6tci;eFjfZlW>cJ~aXE*K+-+fr#B=0nT!zohGt4L#a?d>XZ)t9k zpg`eagq3>ld-`KiT&iJD!+@P?0SBhoM|}Nm+nQu%YlnQdkEx~WZB>yvOqR7L8yII% zw7`)Q(@jca++TLWVnFHHU>akUB3M9nLW`a*NDlhqYr_X5qDzm(&aGG%S7-#8}~ zR$CsQRyjC(flUX~rqdTN>3tjrCb)NU;Up)LeK-N18Mh)j{gp#^%F1-?0_rgc_RM6s zSIPS2)NHzGL%?@p2M;b-Gw9XY`~pIX!DSue4w2ixk;H8 zmcA5B9pXHaYqJdP!J8sfj&XtSZ>{0Z+;MWNbJyn*M;C zv|fQ*`)p$%WyS9Stwor$-ct{Id|Bt}sq@IB3l*3?X^Y+k`zO(e=5kSP)jkV%EgGuE z8f8`;+O2Et3DD-sOG@q8w&q#N^-||a`i0NJX|w_tKU>vy9~unM&Q>l%0kutmL>_Z6P);|v<518hZ+m3(qIshLy2Mle}oXLJtoTACvqXr-qqceR- z0oxX}KCvPPerF`vexSF7QT04_z^^bW4cH=q-YWuU=sJOErw z!!=Zru>h!m-d!lk4TyU#JVn}#oit)plXj=Rn_UUfvOT;~ip?rCS^|i2Qsibx!#adSp=<4f@?^ z+o$0|NK5hAy|#euCbyF~hB<$yecTo2q6n!jY0*5$Dk5Fl_6R8?I#kMDfQsn(fOK*~ zjyLob5bI98LF16CVpwRM25vE4>ypgD(t`?3%m7D97<0>;aaesen9^)j^N!l0; zv|Z`J&m#%lB%ehLy`HRy9WR5ZVpNBi8?db^Oj?PbmLamq)Z76bG2AlBS(I;Q14czW zO5~#=)FI(@a?NKVk@N#xgtnU$&VP5MowM9TQg><09?_s(PlN9UHifA6FKLr(m!i<{ zutD!>4+~8-+$yTl>OqWAJ^Gw9j(!sTnx0yrHFPRIlm=d~QOspnvO)T(uiA;XgALk^ z>q4#h5SQyShN1U!9W}#CH9qMbD0i;B76X&_b(DEZ$VItL3)YS z=dkP?T)hpu4r%UyAgCqy@}w$!g#aCXtt8gPsU3=_3Yt-^rC9My)=3B5DaviR4ZE&s zNAuuJ-s0^w)_kyVqY0daJLF;g4TD`HRr=3}o7u=Rv^?}cEuaonT8|)4M46OWp-=#p z_Jlj*B^7Vube7^JM{I@bRx0dm!LKV)z2n%1MS6{auGJTp0ZYPH4c2?_ijvdV?PYJ9 zIKKYS*SA)KSE}sb6YS@Q9}mEME%A;vC0(QJqUM>{6$m#IuhsZf2sgRjvyML=3HewO z+(ORhwDVq?yrO^eofvc_2RW3OG~EScKzvE}e<9y>lf2W*e*V4}ElsMn3qJ?1-cam; z=Dpa@5CP8(8p8(q`!~BR4MU*Kl*$5#NxX6@7L&QEE zJkqXLSUFDz>#6dc0nra6k37sxr<|f%aK#;<(u@ zVEgh~?wCE-z~`)MNVtp9d(-20osP$jTkTrhY0FYOimhto_oEBsCS7cR7FLM4(imw$ zgm;k^#aba+4Elml*`6BAK%WI=_Xs+Ql0_G8rCa4j_E#ZPozZ9Z9X!|V47M6s9`+D> zo=f?K=nZDS&V1^ZC*K6)IfCs_cfNrc3zmN9t*v?%qAnYzYe@ab_SeI}C1-p4pBeoq zL-LGNtcY|<4_``gFI`u%>IsC<16Gk+!zoZ7kNMWq$S_lkQcW8=v*v2^!M{y;VzWwj zaV3cHqy}`po!BP}6;ztK7X8fpg>g>p+LZ<`C3bVj!GLwDvl6t}juIrb8aLI%L(!|S z9~l{RDfe7+@TJm{`xGw=V1~N#hMLm3cDep;8XvY*iA7n|rRIh!DoXK7iY(w2_w=W< z!2Wh4n@&{_ytP(BBSeM9Jk|MDqzS*}EapJPEDEX5r>1#{T0N&b4wX<#KJS(OYATRa zBgmb93X%RooK)zw_r;1Bs7sF6cSeo84RTnC5Ow!x75fb*dzG2r;ZgQHA6F}qKQ=7` zt(s72lRq{r6QQDHOgdnyRFPoF44A!&9c;EhKOlKA5u>Tb9K>aW9V5XQvkZwA`|W|s zSwY`SFj*c*h0+Q&PmHgAEdQ!(RpFW^SZqK|=p*E{WL3SEDro2t%=f2nlc*OIwNE!E z)=E@U>uSoAuOI)n-|6Br%EC4<5Rf`35D?tA#i_9az{SKt4`2guqBD0^?zLHCfbD#v z4%@E-6K1+!H4xajM{LjuWZ5Y7%NceWS50A&v^j-)dkU9}@o$$w4>hoO(tY$a7nSs&_dVfW}kipGa#5inwlf3$RGm5IT`Aybquc0$&Q zC0Qi_S|!23WS|wDN~fs-dEoT(dF+}skDXyu{F)s*pR(k9#H+jjjcGM~zTwp;2))F_ z6WSJcML7v}0N9Cu>DVa}7Jp}?l;F$L4*;T0DQr0pB#kaLznjIgPqc6xtN&Y{l9L0c3p?1XP4-xrmtjDRL`cfMcQ`EL1(O^ zH1fcE^_hsD@%`mCZo>BJF5}KAdzm@wx8u;`KIU`31Y3sF+*89%5|&kXS3_6GbVwMh z9f_o@uQ7>bm)AS7on-(E7=`tMW4iX4=8!>KIE$fDs0~Tmx@Tiw#}C|(tN(|!caGBC z>GplwwvE;9)poD8ZQHhO+gNSewr$(C&C|bk-*NVN_qa!Q+1T<*C9wlPU)(*TrkyR;2O6wb-p#yt@(c z!O*Ykl)4gs-@ZN-pI%O;w42%Aj~9=|%ul0VFC0;&jATXh@@i^ng>65{6F;iPoLQ>H zMQqpmn6wv;+?jh&WQ*U{Pv8%lGMU506Uo7nkiPaCP*i=#yHNyN#b07LX*S_N{+&M3 zST)R0x>ZmclnEKmC=X0qsOlzl(OF{(8J>WB4+@WcWzb+|w|dD4d{Y^YOc(gFgu@Il zs5*~Khm0K96b}DmK(Db7@R4cNtWP7X2pQKnHty~!#YPf%#rYS?W*nmLqc_yxc5uM<-3y8* z7MFsM7V~|@M#Ph6;hY&m3nKj4%3@VZb#X4K4n@-_TKXRV)H}W_<-sd$g`B_bSTPl`QL$>NAxb3-YeRAJsQuE&HM#&l2<3X0&S_H`eNKLXaL&OH2C8 z79#nSkKfMO_-ca@0WNxt7qD+yfL%S+dveW$4bW88Wg5#~wovH@;ZFmGC!cj$p# zEkRv9!8Gw`R6Tl*sdnh0*&=TMT;~8e*{OGIU4QqWC;O6d?x=^JBFRVtxbDHc^kLlu z0&>;@ak2x`z@t}i?Led51cKrSy8>`t0%T>O*|K$@?np@VDB#&r4>*PulL2r#fq9z2 zx{d*4sRL$Z0j7jNFX7#gK)a3s!4Vu1N?<=`HlG5fKVm!1li&e;=2F<{vQ`=eTV>Jnl#}{MzurN2fULgu!H+^ne76; zBjD>kf;`lL=W$*@SDSjo+z8dTxfa)ZSI}|_dX=@MBmj%Z+!UjUPj}V9k z$9J-W5LoO4p)2l%10=|>@{xQOwviS|o zlD7s#t}I%~|Bc!vAWm-JAGLx1s2%=4QCk5ZGxd*J!hh64{_F0u9U{1b|4@5~k~1b&^fGR% zpP9(e$p7oMjj05P`B&Q_{-gFkZ1sPw7WsEi!oSo8{-d_<$Kp5v{?{h50Cn^5FB8fA zF_Emg9}}4)q~qR+Ncj3{dAa(O^+cY|^#8ND>#^^DB!MbJHQe2H7P(}JFKrX?d0+4E zP$q%FVbJM)gfvb|cZ9B)b}Vj$xAPa==}5h4<@MagZD;kdb;&Gv=tDq$8)2H^;>1E0 zgTv&KCJ#zv2!==`h=}tULIs1v$E&!#gNcW_8vryS8Y&fC|HpfNJA^1i)VX2q-`M5#Zwf9|DdKP5ron{w2UeT1aBEx1?9m zK;h9;3t5*o9j)R^!b0krNU`IqdHw6ZkPmehPl*@gPqYm-006B2!Pmyj+QCuJ+Q5j` z!N}gg#)_53v@+eoCSMdSxVw4bd)M?y0?COiI^k++;>tXTUQG6#6w2mL{^BqHaTZ1l zRhk4tCLV7Y)D_)y3Dhti$KldFuXDvrck<|w!PV7acw4Y9;5B7Unw+v&-(*U zxKPko9C6sB);s+Sp}wZUe{g-)A5{WwnC(^0L8LPjPM&Fef@{wO{py_s=t}FKfN51b z^Ku-tQ&(>1?leQ*=o@Fq#lwqcwB<02tlGEZS8s-oKT@(EK_8J_PUlY0W%<|D=BGdJ zx2kNmtN=^9a}bFw(w^6vJpFy<$&CSbjcoh=d?d1dI=;EM!pg6#RBMjIBZ(S>|FVX$ z%<}DGW0LH7?1f~>J-!ojcTQkt9W!z*xJiZNyGdMG*&h1M|ItL{zE{WskNd)NP7LYO z+T!Z%&E5POIvrr@6gRElNk6A##ou66v&!tSoo@$&_^ERyjPWr4dxbE1yf)jmA?p*S z#q^0XZzUPTa$`C!z2)l+d7ziUt%-6(FD1rKhysOBUh;1Pp3+ zl+1Nz^8IwWt=_<|9=$e8 z{?lLST>Ph72 r*LI?~nx5bW_bL<;$x1iiQJyf6{8&~Ssnk}Hz?!zW)0-_}nK#?G zpvvj-d@WY3FE6|MA>FMK9gdJ_azkq=7QeSaler0t8046t+jZN|=Zk3Yc{DS6d0g=6 zPN2w8MFwb{;GZ#|hhgoaEvr3Iu@R%er5XAM!;B~bO@F4j&DKfpR(I!^&Y<@HiWyiK z0^x|N{cOM}&D})JzbH45V2+9dx^S5DXze^?%W2@FKt?1!%g29_J={dFJ)38 z_dWHOT=>kaXIH6G%vzi;^z204xC%Que}Zz%dYrvVR^IqgD=nurmj@_Fv(Xr9nW$(> z#02}QMw~?9EX}fwvR6h)0J|GiIZHL8+he8^%F9(Y4kexF{<1N=5gQYned%_`!I*yU z-xYEWMae_iCbzE;XZ>bVxT}?9N(*gfWL?qhxkYOg=1^p_4g~rRgnuicV&PB-=1@v( z&2j`cG;!pH~X3wE(_9y$rt7lEkxtqt45qc9CF}4$^hQfr{3t4ZP z3yDmv`->l$bPWu-NWDf7gjBLIiDZyo=pdtyBq*A~ArHftj}lP&_BV*A5;;7GSYx&3 zbQ!-Is^ManJy#{eA#U~08=j*1o>GCudqNm|OufF25BKbgPcPY>-fH}0!Z1V#kldIw zUX^N&&u9R4n?qqOTOER%NYTU*Y=1ov5rF*YKI}g3dESEO{fTf&SBQzCkf)Bq0pI# z3E5CRp9+9UF{t2iz6%YhQmZC(Tc}EMnWi;}*1))=5{-F8gy$rMODjdIX4B*fHngl# zvW^k8QJI`lu+{mac46tp`<=z8hS_a$g+i{7Z7g|;RoGooo|2I9)4IKIlfTm8Y?HD4 zVMTaBi#f1-^I9_JTN_H-!R&J38A(hR4GEnad1osgDSRO-+VDZ{gLe{x8@X7@R<1Hx zSUW5F6|vcKmJ+AfiWB*%Sl!j+BbV5M6Zw-^e3itZ43guV5%1`|)^l18v1~gU1WDXl zqdGa{VpU;(IEr%I3KK5&Q98mO#55Mw$dkTa#LQvZSDNRYD8y;Z-I_oAo?yYhlqV=9&7QR2e5J0 zEj+=ZVS_P9zvu)C$Tec>{ID$f&xRqksX(xkoihNmp9;Yj^0Cjzj&la=+Vp6(pFF%Z z^%%Ccz9M8+0~?3UFu>&cwm%Qb9B-?|NfzfqT71OCS%c!QXiuO$8k5EJi;3-3eq${{ z|24|Zwg{X6%hmXFHivEe>t-`q1fOPyq4E9mWv|@gWDu(D+o*kWkcM?Od8M$`l`O2zSx7648N{td5^Bj+Uws$Md;&bB}bGM z<%o<@pV-RYi1O$Wr8+Tq!34=NVghb??84*vbfQmE;B6v#%qW2ipT3|X7aM#bbpyL@ z0aRvKvcr`Dxi63KsRC>L6a+Z{jjf+%s|EJ5@|n<7YDdyim12(cm#F7_nHU-+)4p(t zpi(0!bziOX7a63^!A!r0WBU#lrc8)>qpq-PZDMWcAAV1CeUaDVX#1ieF+pS#YAQ}V z)gtbtB8LP;sF+(@fUx#lzO>N5NRv)K>pg)qIj*_Dx0?e}-dDXUaU$hJX~wOV(@V59H(68CAs5`T3pde0E7Ut-ToU1-rSr40jOQYUAX&$E z81;XVBbV9+u^r<=hub8YF!WDTps`%zSA(<&N08t}LPDgrBm@;$gA0+@Ym4yo+G7#^ zdbhWJsM97kLs#F5W~&->RO8?`+<~Kd{jx(F#UC1ZoJCxK^ZT`~Tp zOY1GM-vp~djs+Wjah=sd$>DF(CV9)-{?VZDJ}mY@aq#``eH2=MJof(&ppE4}pl!be zHMkp|?t54FodnVtX?WCd-YSAWIY|&>n_z6xP)lHPnOl{>XR5j> z3W<<{X*GFdUDKw{sO8JP#n*84oBvx_yQA3yG5F_n%Mf4p0iq3)ZSbaL59BAw*U%78zb0TrAR^w;ho58HZQm z&X&_Y}ldDpQ(0#|9v3!8mZLT`06u3P!^5V((Qr})5bP0fyuj*NBBfn&agwvl6s zE{xMM7Q!`_m5a32>shwo&@WmiBAB;V*b9W=!|0Myf4#NUhUmb*y%7oW8Ru96JlE+~gpRK)^vK2hf~nNBxdJ{xl+kbctc5 z79d4nCG(@QtdFN4Jez(DZvNMAhA*Jx(pYOV%XIpPJ9JtsxsGv@c)5-?5LB-#$7}^~ zG+hC;ujPp(DOdU+REXnP(``DKB5JYXKaV74~u#FUY-^c%s05#FizmTO*5?DQY#a|2C%wumc z(I~5MTa@%A^paL-*ZK*0S#ZlgaKry^B?a#vSzl3woW8;!Ai*@C1FnA%jsWOi<f`>PL`hB5%zSZ+oTglr-&h*Yw{Hw;25)f8JY)w~x8F_msn zIT>XbCC&jV1?5lCM3{amXekKWU^N1PQZ6R~@jt9q4rQbitMoqh*f5sp(t(ttRJ1Ww zF1h+bkBv)iF*ye2RPxRdq;@vgK%LK+fQts2lloUwzt*t7hun7%E1i_?N|J#I%J+6g z5H9NPHe582>BNWnPU^VzEjhrjrZQN}`oSEGKxQIZ!FF9(^Jt-v9K!CC=x5X83ZE)K z@81yFu`6E+-*L$%#MIUkw7)<-6GAa@VqD4zsHOOsnHaQST7VguXb71x+%2h!hxXJb zzqHlL>|0SC5osBfT1%*D?wE@=4x0|_S6K|Msd$ytwno&)6!Xhq)|bxn#T8ng52gMq zv{n7zL0kJj(B|?lXtVoIXq)=Kg*NV-f1u6fU(go!pU}4X{|VY${snD>|3I4$??2Fn z|DVvtlk?x9?fL&-Xk-1KLL0;X1llV9XV8{i2Wb&APY071*!@1Lbh?+FBwkhsZ}**; zXbnZOsWYSUWKNwhAT9P2fu5-honf4xXBpxzEWgX!<^q;E<9%e0~f;HebwE#_OrD1(Mw*?b2!X9%PO`G@Macv)`=Crj|m_`O`6k#j!iR0

    f*Zk%R8@hAfuIIGRGh&Y#u=N_2KwqSE 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%0DgRI=*|kHxH(7z$&!4Y@|c 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 z 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%0A=Pof1TNRJj7WILWVBe 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Φ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ν!u}DInU=X477kCW)g@f+9$%$Ik=<72##6TFeGSk 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

    }{>O`gz0 zLT-^D0xh>v*xRm*CagvX`}5&Z!?6f>15jTkopC6(>aV6&ra7 zJ=$r{pBL`^rm~J@ghQl%K@Os;R1eg3$#CUS?AZubFW^olgvW@UcWBj8KYO;Ye}fGX`zpF* z`f$#)4PtbXKXPa z@Jb#u+F(|@vM!?&5BWIF&)p#~HqrN`2KM4YcUsBd3&Fzc(=wXGmJ0GtzS+sAk z<{Xj%+(fH49qsv!L`_0=Srw_?f*gx=+`+w)VjaaQ(@pO`ify@TcUZl_M*ld3o%JSG zb{!6_KJaHDw{S1j`vd|#6Plwz3>{e~iU#W(j}YwvpZwMjERz}zH2mIOOMuDPclZ$_ z0?_c`y+;*T^9qMSr^Z|mkBYf}&#-%VTI;7J$(VY~wMjLR$IcvtsHK|tAGuYY_W6vR0v+CC}W5-EFymH^fm_$Op~Y-VAB$liOoAP2($>=+jbNI!xH>)2#P^ zpXr2?&)ny;xo?vP_aDs2J8``-pCQXtx)nz4Y@N6?WZquI7yqivo)kKa3d3AY8o|07 zKU7#h-@^Pdsv*WSi+QF>ip~BSIvMD|xgmcEcdMw0nd$Wi%~5Gs&~A35^Ehqq%inG> zvY(}4j26TRbtg!g#n)Q1#Sr&+hi#N+^2Dom4eI)Rgw5!8`KU9L)77&sIqsg^lr&72 z^bD29I_J_dO~xyMdMms6qWX#-7JoIGPe$s%cANPuJKi#@HvR|`5Io3 znQXkHbC^X^*_$?G4QnB$KSalpR1tfRjUN&%e~(E>D#O2e#2AO3^!MMt;O}x#*oEF*A*s)e--=Eci&mmn77Y&ntvFB z);M3p2JYkb#GWH#3P0PI9t+oR&k2^>3o^O9y@2f{w08Aizddg6aVy=Gz@^hMvw%jqO|^@T$<{|32RF{;~*vKp)}7BES&uss_7^H^2O&83c2Et@JC> z;NQSeWW5*aR;R$x7X^J4c)IyVmHi z!3QWpW}R#H-(LL)@?GuV0l>0;L3`?Sj}w3nT{nl%41EVRKe;abXu+QA4*bgG!#+s? zl{&}WzQXs9wPn$)^LMpqiutygOEhKePnl;UgtG_zx5_Wq_#tXEw?aLKt=?TzjX&@m zkMY4`4Yq}G?J7MZh0C(Y+BDgM*W!$)8kN$PjDxS+)~_} z&=*rD-Pvn@89U*oKf02#{pMs@{wp>VmW6Fvcyy0h{j z4;s({B#iA7p!!NmzBmWgvcnBA1Tdl^9g2oiC57u-$x;i84Lh{lfl1zL6Z|1azgLFH zjGez926Wj{^JgDkV2P^@t7(%nxcX-!%n(%5wv{lvPjF*ny1(VpZ>iUn@Xr^KRJc>os{Pu%`8H z*oiA3I26@Z*H?gZ0o|__xKYw7-zNY`_5kYH(7^h}n3d1d_Nb-Khtlu)jKiSOkkhu^ z)LAKTUmy?XE9x!q(VyTHZ@=i2E-jiou{an|vADtWr5yU?;5`1Y)7n%R6Z9MV&n`_` zj7Zwv&Ry?N$GLfW=2o;Yq7@G6I0^vY&{9Rx@V^7EN&CP`8VwzZB45MCWAe5=ck=U} ziCQdm&|%94Ne)_|=q})2tJr{coC2Y7rM}XU;Nc_m{{lKg9t%MI{7$z#zHcBxNqFB_ zA4l~0KELk&?abtH)uPq(23|FEc2*Uk^?l=c-#wnn{0XbmyHjHBPn5Y0n9YNX%ighm zw>YKq?Gn4V!%MiwgFNI>4SP+GepSb~^>T6FO}g(vAMq-LyM@HOjiBFAa&ea%cb5yf z&#f5r5*_g(jeZT{?7|;&=Yu%pQ44#`j(*j~xD|78=S#fzMR`Ss!rej~9>hhpccApa znI2E*!eKxnnE=c)-P8N=_=Hr zwf=?(4B>D#SNbBKRAHiM(Sum58*>pv9{yH+A)>kC&kD zIOMF(Qy)$Xf5HGsDn=f*j0}DBpx;B*e-yq~=V^Gag*SzaBpuraTSbP}a@@~N^1HD5 zyD+bbH^ub3K>uG0#mD`h{DI?$IR?)|hK=0mr^M+v0+_0D)WnlP?+GADf6xZsRb#L@ zi9QH(5nyV|$B+|r6nu|Re>54exhU$`37Q8`iEToVW8xu@K=u`4A(Gd~W1~#+X>_c1 z;H<44qtaDstc;3sY`IwXFmai*%qnZr0~!K&3jy^ zK6qf6#rRVysnC?`19%I5QMJD)L2A~yvR_oc>MyGA7ZnYb`R7S;85O#Bjo&Z-7d7;Y z3S?lNJN-o&X#AqgN5DS*{O%Q>dg7i!dmny*>>=3VY*M0|aD(;;%s#(j>T`3R-B3upx@3nH%=CqTyJEuQ_2kid~QLhQS~fvELp*k z5;RHqtb%5BD1s3Q$pAc%5*-mC6NOa44ajZh;q?oWQ1mMO%FEO7(mWAzh@2@ZWTufP zD98c`Z4BYnhBbev(pVP{xo42HstE57?pdIX(BtLIA)=`HhZ&&h1Rb!FJ7B8U29D@N zsnEnH5|bk~K~hWBg!T9F2d`e88_%6H z4OtMc3D6{n2YwSPK?cDnjuW5J1<4BHI6{QbD!C*#;PG)*46!J1R+F<@G{_PwMHzA^ z9uY}Jvv=n&wvaSHU&u1HA4w6UXvw=_E+OT|4^k@!RQ^ddKRfF}QW83EDqKm9fJ%_2 zv@8*Kh$JRFNH%2F=QsgBSr3Z3a%1K!AS}_ ztdg zyDzWw9N`m77ALR`sIs2hT!z*;JN|ul|E5{7afRZj`J5h}H7F(KvPNq|*Qf(|PWMVI zOvk%N=67!uc}j=Yl8)<_fQRELoE$`tTHf;0co_ri#PQk!@>KX8X_fMf5P^PDesqoJ zUW2mU=M?|bRoXX1B9S@)mQnC__!HJLkbI8gV&W?z8b&4VNG+RHuEiPzjXD-?*Un11 zO)ZRbX2S8+Gz^X()y{~<4>ME``l3WyN9`a)i>c0k{r+y)298?per{BbT2byOZA0-LQc zDasNufL7Vj;s9+Djaih6pe{b3s5@bQ~=LeCt4GMhppFc_KR7JAAA zqUsu|j&~b##}z5`nc~>vY1{%%kKpc*QpbF#`=UNlnDt--Jh;7@NC=fwRHTT6kPpv` z>{a+9Cxgg#->VuFnKJnrvMIjO*Ys~%O5)UB=`2tdi4Bp|GxbY{JWjjm8nc0V9oua@ zw_YL@fW+OC_go7@WSU!?u4_53D(%|UWklXAuY!!6e7BPL`irbvd)z6gl0l-d`u2%R ztEHCl)Q30EWx8}{URoj|p4+?SMgumle!L`bc7@06ZXGOHnRgPk*^xI2mL+Ev392%E zRx%4)Ii_O2alu&XKEr$dz`In>PaqBTR85QpYmluFu08(egsFzWV4{<@vcHp17p9n~!#2rGw5mumOL_|k>I5gNWgI7HB3bwng%Le;BwI@ZF zKhcoA(`NNnHCubEyMe^ksB&}M@*nQ)6NSkeB8MOI3bjnt+92&Yy1X)D*Y2$u7Xu$; zxFR;~BB}WDDd$KHr7Ve}%SaQ~d;f_YYIPhfGM7bCbJXTI>~~zq`4ey>G6RoUn8M4q z#<-z-^chc>x$)i~UonzACzc>6tFB4i94F`H9Y7fch1vLt5u+_mtSd@ql)df*)jpj^ zF&WR%Eq{PQlN~XZ9a!$qxNJ)0SVEEbH=b%dO2slDT2x~tJ`Z9fVT*h@7Wzbhk&Hi; zs`!`j*t;_B zDw_27k+NDrAFEb~v`7BKq2^1n!ilzm#^6+f(}dl%I~paQM%{47b_ZdC2b82REo_fRy9Qy4{( z)=$6dS>QY1Sn&^}iNra~syKNJ+C(gJWY=ChH;Y7PN#J6Eq>qL3^M&HA$Z=12$B>75 zMx64fvGl8@IB#a8UjO|_Cw}K^pM&V*xMjrmfZT4|V!c~0@)wBRYrtXy44Jb3@7b^k zXVAI{T&5fHWp^ZMT@#!qPI>wIse@FxH%Rge{y#5m)cDJ96Tmx&Jfu%hJ}?a@r6__L;3s-|&%eZpP`0l088)B{GJXl&GnS4xH{g#lPN33<- z#2kEu^J#_lcEsxm*c#_O)MV3h&+{Kol)01vu$ciSyGWjms%af#w|ga|KM9zxV4sTV z`;_w&Hg;oxO)R#s4s~*y$G5*kMXAPKQdZQMd#(i(BU-2e>4CbalOyWN>(p$)IY!)7 zmj|=GKdEwQvl<$TN;d6Klh>=E`wEetP$2HE?5nH%Jk}{v#+7yqjU5X%ITNG z?ciTF<)1>*3@ps0LXImLw_jEf{hhYfkdLY>%{*6p@A87sn4VKI*fx{uqdW6~&THs( z>`KuBf=0uwC(@a&J+oG0g$uq+{)fB`g$u;j8>HsM_)Epg|KaKzgF}tEb=&URwr$(C zZQHhuUF_PnZQHhO+r9lR=ALuj$z(F?&8&Z!tRxQJL~A#f6IdBt&DHQN;>CaLZ8a5$$MHIT<6>6lrX1hORDBfJ0iG>e=UG^?@6Jq~#DktB2x5`%ZE3(FFFW=rrrg zVtx6v3P+ZbGxqqL{V1(V+`Rp3 zggLu66-=03WT+4?3>XDW7#ilc3^O*QIs2#uJ2wiga}|@!kYa4 z_>C0o;gjXbCx;3F!h~^S>f-um{{La({~f|QVs2kqt+yyyBj}9QqDgIR>kV?p9IkMM z2Jw7`lf^`ouqbLUm0jDOV$4-{$v3?`P(5Y6X6@#)Wj=(Se-_yO6xTw1Hvp@anDY(u zDdI1db0b3v3gBu|fme+QU4Z1dc$gR9Hxj_{(1P z2>@JcTbz3(`D0{$)=VVC0;()-s)4BN?>uSTQ@|bGM+&F!WIJXh>uAl+Al2tyMe}LA6%+~f* z{AxbY2D-~`F|N~zX-8(<#)c^KF}~yNUc{^XxW!E{sUB+DN3hK97OY~!(GXzD%@^A7Q*%oQU zC6Qt+RT=7|e`}F#xT!|h49g~TchRdXdd)W$7^YBp~ab-36;wMtgM+ptS2DtvU%(X0~VJU4ncU>oK6q z3_O_d8a1|X=-WraYgk;fhbBa#D=n7n&>9`Q^9prnmz#ZV?^Kbc#@Bfk1jgtHtpAll z_48s>2+pin-6%*dTDjePZ+{C4ev;pFy805`l)q=hZ-_jU&UFqN2&*k+#_U>g24=;|~t$U7_o_5SAoN&H=>x3M&qVXpqWH`N4jAH=PSZaJ`EzX_qNotB(Y z52_u_SiB4o&F@f9(`^&4MI{FBEf!&Y-|Kev#Jj_8)y*lUdx`D3lTWwcCg;`+TcK=a z`xf&rvYc7_jBOQN@#v@^oU@-vdY=}njzJ5;RlgrKHQWpKy{PO|;3$VZMox~t#3Yj) zjdA(5!TDuK%OJ)-iKw|a4yj{Ncnv~}KVBoj!-qt?`n#7i-Y zeu>5GWF=e_2>wJhB9|dB)j_!la-RDSOODG1alL%N)Y`|Ze;_)zUd8)|pa1IbrevIh zLsU-{x$FgaoN78^(Lul5x^)95aB_ZT*{ukArxa6v~n)ne7Pc#9uT#tf+V~=B=0;8x6{ef`8yWLF=IE z5B$Rd{W0=23KdVjYg@oFJP%qY5wq$3;0;8{*cJys{P1{ z4T{WEx{+plV?I-s1xs;mLq$DjB`UCdrqgsc1gVO6Zb)$-Q8lMv==#ULNElW=s2w}W zpUz~msJ*Wsg*KAA+XK!uv~Fyxf3jfc=S{$Cph?giQsV5 zX0;M^(N?O6`;#Z;DF4U=CPIBw6ec_kA%F|lfk%FM?*1x^qqlz`$3TQ{D&Y6sX7>J$ zSE}dy85QFb`~+3pV_d9TSF)1INLM>+0++n)lt$iA(&yn<0*$x6?Z}C$6Ilx41JmcUVlAHx8U4 z4&09&4jhRy_u;v_yCx2t$nOMaZ_9$1o}b+RH-oPwCJYD%&JhPruKa*NZX`%}WFU6- zPCoZQp!y(BeI%-GdWHcFN*Ch=r5%q5>4!!Nd1f}}vq$&)e>^@Ct3JD3!2x50|}?e&H%40Rb#XqBy)_}a7eo@f*;ZR(xJ2nv^j&@_s5%RBsBkWnQiQ3jkUkk zv_h;ly!oy~1JN(i75|-4kN0wS;>ZZIA-8F*8V&9NSO`oOXkRDN5bKKdV(C}6KgHob zyw^ZG)=T=%6_7PitKizw0vtgJ%tL;w%QDsSx%@ADNtJIFLW%}|tm zht{v2wt1~y`q>30M?m|akMr9t^dvyP-GbHxkbfsI;HtF|{w5jq1Vd9=X(F)xxIq$! zs<>>22d;)+Y3HVC|CR#a3r^$*GVS^+?=xZ0Xal5M?3*fW^$Ov>&0pb zV4yB!2l)WfroGBq&Pcswp*gS&tnHyR`WXbnbp0rhUfZ|}X+leHmQNN6R>gMqQ4Vu3@ zxJ4Ipg&=7wFc7A)*|16PZ^=>XD(6^ONlHL$^D#o^?~=(xzbmp6FokH-=0M#;QliFEk=RvcG*c~QGg<#{|khulf z6ml|gXdq_wzH&n)V-_`}T57WUZtk)c1sugBb5uO3eccb1Q?KF%TO=n_)6T0LPPT0O8q`& zbSwmDkYdQ+DB^#j`sBHd`u1Pps7a+fDO5ngr0b`e=Wd`m`H@b zD5=z;GzIw4l>~aEddwtw(bJ1?&s9`9H3#q4`{MHF^F$t9KWZhi2N9(}tNKJ#0S_Xm z8wvq3w9QfYvqu%BAZy2lQ~?hos9XLMwEs^q{y#wxHHc9qbyo>M*0x(pf9{Z?6ll$$ zs2ZSQC3WAiT$WYUl2mHPfv8%>OtJ>(gkT$20#%>~;bcR{R2Q1z)ECmUC@uFy zAgiB~>xVOh+1s$_3*Y7s7^%1&CYftCyO{0(J_3hqT8#p`oqcq>`@w@5D$0gv(npws#x#FW4dcx5Hk5$6B1J=k9bd z;jk|=8|)Fnz1hXgd{fDA2%xw-{zjjCx6d^0Uq??6{&tMaS8cp{3wGZC=47B`!Zw=S zZ$icTSjgfu7-^I$osYdsLeI1{=+H-kMY@dyuw{vqcr|63Q^7XMl^)PzmMXM~p1h1t z$Lo(IG^E9y5rXClb>ZlSk;0HKl7d$ByPjDVt@P@2 zmmrI>W2L*wbtX9!3`&Qi@$?nTlI zbg5tE(FSrzl}dGX!b)N*^)pkOEJj2xv!MWH3jOge+xt|*w|ji7O5IA^h5g^Ucct2} z4_rRJOnc93WUwXUjV)H958W-6Bk#;)YR5L$swV*4XzvTO4LX_?yS8xchJDw#*0u)_ zP~NteG70+KvQ>U8H`MMt>Sv}gYqOL|;Sz*cv`%Tu)B0^09!6cHVmPPf)fuYy)78hTRwJ#9UufXv|t)4Hs8}wCO1qdT$}5bkl!>ssPyq=RwknK0lj9t;%Rfj4x4dHlzgv)(%J>8&z9Mk*8fRXD+z1SOUt4AP_vWP@ z#m8P|VUjiDO~q;{ocV>RKb+5Dp!)r#%yFem9^utyPcZtz1{U}ZZujI^+FOTt+^zKz zu4J+E?e?Ggh5%-msiDjlinteVtvA4+x%;img%)8?$r8Nn;Sk#oq((a#vsbz|pV^F4 zbOM!pG>%8(sq)h?D%CKB1EMsAIt7b2L~1jsm}&4L_^!u=Cz93zs&OiOZjeX9XO|NB z2ZH20Y#018ew>0_diQ=FLXr=u`?-~PDj3_66soK8p(;ssJ`D9w102YRwYJ(2bsXsG zoNaMUv)^be=xb;h`-uBxaLRquR4_}3{NKtM-niR)@q3$BT1Zrbe5p{aUqKi9ON8(F zcAfPGkd@F%yFY_*-#R*$2$kj)!tss0@lj>^?b`oRNLJDaOjV)?tB0={Bz|$L8w7k(Xig2r-G2zyRxr7+;jY-khDk}-x0C`s}i~T{2AjUe4mb{ z6Cus&R4dw%Y;nGW=E@;>{+*63t-5Y#_M=O(9QRJUNGd4Rb9l0hxnd^&yB-Fne8c_3 zJM`+EdEqzf#_(jBdht)W5d{wSj-ru28$;l-L1kW&OA#!SPk)L(1+I}k30>89S)wSf+J`Gz&`%B6qK;on!w>am#XTPPCShYESV8J`2G zp_``Tr3g}{BW3KoJOx3Y5y=d?psyeu;;I72=6_L6CHPcb5+2au6sho(rsc%u}up%yX&Ag+#}qEf1k| zqo&+C!H_2-v1esTsA|e`0$IEr4+#fnE$#!!^gq##r&Kd1eICs*_=fDhH*)u_>q;=U zGQVY_Ug4YHk$A>ap*ZuD=W8Qp*3%`D2Ga$>(W&9GQRg7X{Atb;x|tLE#hgU3A&=RW z)=V14MVUeVj_0)cvQzPb=V~KoOEwe31;@pz=ig*@F-)dqqePf3Pv?IWl_h3RpsqU> z9{UL|I zf(iAMMfqT#ajl+dpvk&6Dn*k(Qf*CT)~sAO0=b4x6iZ2BmF(F>`rm{IH5=QJ&*68X zrz>NM(L$G_dtA6&(IZ(fxVH2o(@-*1x0uXA2b5G%F(^^hi_Tx=^bPM2SqnHZFE)#J)8 zsdBL8?LZp%<>@?I<3pxO9hXhCW!h&SHm2_ED`+;`eHixgBL({vu9cW0ffL`pEt>Sb9`=8G0&02O`G%VZmwCy2w#XBeq8#NL}JJN(VEI zk5P*JV%DC}^B_$OL)Td5Vy`j)SvNJeNkKpRF6-CqXQs3-56$~WpE5Bow6(Hw6oE2i zsFvW_(v=ZKOMPV5Oaju<~TIHxiHIhxp;0a=zcZq=CNP``gKm%TJSsYGkn{ zw#p+UwkSvj%zlWOs~g~f)y={jbBY#(Kx7wu6az0yHwt~1=`pyGgEEh?iIbXSBFiCL zoF8Z4HmJR;#W8*AWMuK4V2?SS>UC~>(5{2uS&ZbK{zAVZohO>eqsNJc?IT`p=hsg{ zx+4=vyOEms0^GVV8YvxX%=t(XQOuVP9v4PkY*?4CxNB-M(DN`YF!Cmc%(bO^@52hQ ziDXzei(1FuiBb*K@0sgS`=TUSn=ZYo$S*W|8^bAf238VH=m;l+My37%ZQkl|@7XCU z+n8NAU9!MjD;efUXGbA8p{Q**HZu-e0xLohPoJI)Hpj?F#wq2WW~GcUmKh^=yrmTR zajtA4JP9wDgV!o}P&i3FT8m|Qj;8i*`%Z8z-|-h7J$1=#6iWv&QD^p$hiQvR`kg{~yv z%yzqm8QBI0f>Y@DpWy5RKKWQ*2mk;?b^rj(-}{mOC&gr8>*Q=;Yh*&_Wa9WM%fv)$ zUX@{GchHIw+5<=bv#0+-0%3}{F($oW6D63O^q0O{ATeVszchEWu}Vin(PfP|>g$fD z&{(S3g&^s5KpI=|W-S`$x z7i8{}G^6CrvaDhw*{D;y#sald-~f&ArFSlh{{>+)bnhb2c zIrA^0_4^%Zu#eKCnTU6y*7<R(wq5EQCjx3km!dytNKU~Crzmf&7+#OmvBun;Wqk z0TH(uszR*4MX=wp;Z|Pb@2We?qrpWm9)7<46!z5b6rQ1wnJ&_L>!7@N9qmk zA0nXb{tC!RujT&lQK+^KV(tu#-taIki?exK=o`mN=8vs5ae|@4u^9HSo*t ztm|9#7FWpe_NNTLk_z05A5JEqsw+3TZV&3NIvCWQ0QH zbY=vSmeBx0!9*b_j$HbdKr%vp16vyIy?n3C@Y~?1@!enzWM+guhz9dK2qYSPLO~?b zbx@>Y&01k#Qt757k|73>!_0n?kQfT6d~{O*N?N+nj`$q}(}&4zjbobzv4gKSR*n~Bp&<5&?ua#PZHb?P;GdPx1c z;bMrtUJ20AK>FOQ|AdT=TfzzeFqwK#*^leFxFLHPQj+=(Xxo?v%H_LcNr6GfK6%Jg^B^_o#vE`6=Ro-Mb5?0%!V5TRshgW zK!ni_+-ONv+BU)4!_|_@wQWIk1}CIdXf30nyr(GK+GyGyH%u?1K}snnYU-02mr5xI znx8yt=9RCvel+h@H9JWzl+6*aNhEt{6t+0k(|}1{SMWID#9)3%^4D@ zOUIn#y4y)-c*Ybnh@;z=wulWDtH8;|@@-MtB5l^4Aum+36Arhy7SD+tUXJ^-h_ALA zBFP{+U`co+mb==z$s*cehj=CCUCKTs0%hBw$vwI+bdeH)Emwf@h!s0jp-A%9o1E4E z^~ zBNiR%6e@KoBHrUfro^Y#)EK`@xrLy)_(akA(cRwqbbm=T2NU&-v#i?WQI(bIx4&6(elF1<78^g+TJDo=;>y| zn89`Js>!QnL)=P_+v^MTuDY4B)Q6b}yP~gqgR0!nm(WU%<7;m&MVJw7hltb|@6XhT zeD4yaJ~nhs2i7`l_|yE5fyeFj`#hxB!)6-QRwOGbbACZCF7!Ll!ywa2`^Wq8TVP|c6>)P>iY0;?e)q{L9wbt>P0=cDIZJSItW)=2 zLNJ}<=^jtJ&Mj8jq^M?-zNmX$VqG|=s5hD+*;`4BQ}M8bFp?P&H8+N4G4GryRDv?3 z+^s!8L`RW8dU)_(v#vbbeW7#(p84SS+e1?RH-lR8%M@M}%PsHe>r#v%{L*WTW%!s}Bm=xLymD^>PPY(G$*8mp-x$qra>Ufk! zITJ@`1F+TAx%e*<;22siqDHC<$~3BSQwzSyalm$NNw6fFurK7WW+KM@HM#^1j@x^} z+h&xZ1R7pXD03e29hN8>3XGh;|3a=nX56tPOBY-}SY(p_qEq6cxq`*luRiTE$ql1P zBYuamOgXM)SLx~R@nmJeuKDDa?qxyNY4sv`B_ks!nH~HyU5*`x;GQ{RFl8b`uW|`v zJ0(Prb5XNq7@Vg=W4j;H)sHmE`Dhfc)SqKBD3wH|U5&X`7(#65awm=WRM^~n;w!K$5S z&P-n4sM|M{d_w(n!qqE?i?e6%%004x3p;^$sRhyZS5uJ>I zm5Hf^waJzGkK6$(@=w|)itZk9`M>AkItif*XP)soTV!;QEK-@szXyf55}8prpbKAj zUaptkWk@j+pRMI8SuH;#0I_)w&G@vf{TyFNn?7;#U$`u>6l zfH;vyruCf-G^}*u(n)*C5wO!tlcR&xjkWWj&&`cIjZwmy7P9w1af*L<`2cSS@37Qa zpAOF!9(R<*suNKSayPJgGs|#dHHKCUJ>Tod(S17Lm2u*>(m_!7*SFcDgbe(E+lW*!N|hPx zX_10W`dzR4e;S1QG^zNJF1OBeewVIO2;lt03b#m?kHcTXiNFmeG zbbOzdW)`2B{eHc#!EE0$dwl*sm`cYirI-Sq$`I?gDpma45JS=mRI7l*QWkj%N3FBS zkifz>A4Fm)IPn0%au^Q61TwcuSE|{TCHIRii6+v^=1r2AHR(a$Wblmw1gN!!(JD=w z>&2Ffr5X%0^jDh2_54uE1)>$qv+hfkBy~%%R$s2Em&h`d(jkK()DN!eN|W`?R-|54 zZpR8%tHhb1AYQp5`Z-Or`ZCH|zKKAgA-j)NXg-O6RJ?GZjR2I}Neae}1zRlBHj2-W z1#rwxJO~g)Z9$0Atc_!Fi^hSL=ExI?f_f;Ono_Eq^H~U?Ut$ac3(Ankw_UsqiI_G{ zmW6#bs!OF475|zTCoAWk`9rlZZwyijc8*hsn4v3ltQ{s@I>y5=Z}!%9y(x=fB577E zH?*uP?sU7C=4pnP+~H0v*HAAuZ&?y>4YN^IH?6oh2YIWQCi!Tt>1XfC1_Z=38|>*f zZE!ias7PU-S+t$oF<3cU_ly!`bVMyX2gWoTh9pPIkB&+kUYc6``k5f4@>zdih6rdT zlfkk4YCG9EdUP^1aX%*Jj2Us3XihQfT0NSr7VyVWlK&M#TcB0uA4N_Mw!q`7qA9Fx zi{u76111&g5WB>YZeVYMJUCyZq18tzUtSxc#I~neUm#mABCRJZdA4O|mqyla!p28y zx=C2TlJTVfBkS-jQL}R97V`QiC&cSXyIsqWV1I7Rt>J$mvp+@5(yDD~W??M(%a-rD z1qVio53Wq_EfOW>hi&9V4zjxJHU9N=r-c53`N1uDF`4(2eWSFe^PSX{qU^&Y~3}9 z`6Ol`N7juha#SjID_5o(gFI{0mOm+{C_e%sT+7KT90kjQ_S;IpHMwr=GGsu&6lJ*_7D1qqd6QMVE! zW%C8pq@2c>w7Ls+Jp_bDzmv>bJyvQo=f#fph$87b1HSk!{go7OA=*3CWdn|4qLyl% zt^iM+@pA?N^_))X!9>IVoTm+dV~8G_95szQ%)}TMB+czn&-88O2_hFNEGV5U zN3oov+|#(cH~_gnaO>qZC&Z%$$C%!){Jawz$`gUFG;rL()4}P^0t*llwB!e-RQR?B{(K&|@de=W`nWoHRM*g@iR)<(+z~^WdU*nbNw#u%pza4$D6(pN z(XASk8`xYHXma?4L407tGM{ZR8I0`zl=je{U!aM7mCHW`$`d3mtF7$*Ec*2kUgm=& zowL}f_<$H{oHQG6{}5(|fL9NyG|gdxsBqN>|FJxgxf?W6Q0+?7oATr0(V&^8Jvq6! z1C$`29*$NX4Lq`sly9lJd)2>uJ6<IZc$rwCzulRBfQL#r%9e!4i|XRT(3K z*Cv2kX-A3!Ds5_PU{$OesM}F+x1SewIe2#mP|``WO{?Xgh!o8#I*S>9Y9*lwDjemj z02{P0k}9CjCU1qa)1K<(1yx09Wirm5ftlAt1!svyc)GQ|s6?Xfcja%G!`rPPlT-xz zD=b@PZHxZRO6sHsRQWS<^}_zzw_2kq)oiRtPspmN;sC&u`z)7tG2{D18k*T_V83Uh zX+>8*WSMiF^=ir&tK}70oR60#Q7U`Y?sMvdC6E?5na{2Q#_)QD#Ica;8duP+HIPxY z==N~9qJHYCl+vm#fu4)1f?qOw^6lZ>Dw{rBc$@W)*M8HY$|jXOCO{nY7W|59Fo1N( znl<<<;E6(|GSbC#LS*!D^&@z*1=9mn{*_3j9|vn5@D@yfhz{`07)pEqthLy|j|?Cq zmPjDih4$Cq03n{!8m|5W)rJ40@roke%8u7F%g-#jefuxu0KMWgF?0-|nE9DhonMq% ze=Pq(SP*ZR8bSf=@4uYhzk?7D^ZtYMQU@A?XYg;8Fzy}ATat57)VcatNs#I>Paq;Am|^<#+l5XvJ7iUB3)18J*d=Q!w6g&(Sii6~0Ga~lAyy^jn68!#0%Nxq>D zT;UItupVbLa#E54I>aonFJI^Aj}kQ>gxKo`*kOPo>(5$%ZCoh803%Or#rcnepq}Wk z;ns+){l$`JlY`LUS&vvfF5F~Mn`f{xR#s}UB+)fwW7mNa1&S3S9|Y-)B(G>L^06M> zQi*HB6`j8Y9rh=~eD%LVI*6IBx%C)0wsY6J5#`+6UMzKvUg>G?M6~xOS~ICXIwZf2 zws;83<68u{*T3XRJ`L&}TfZJGjVhKHk)+_wdJb>hI?x zQnzgQDMujM*ucV4nv(g(H)chVcW}a$Hkv0jt9+|%3(nW_1R=sg=gaceQ}UN$I<1I& z{l33@TCuFPk1*ZuM?LvR2uf>GGtsX?!X)(#S5s+`j-Fkax zy(C-hWYY`nGDQV>&?%nv--FSCjf_nS$qmS=k*0o$*lPY}m^{@oww^ z^@pIS!)tyE%@!ft>Q@?sq##-|OYKhe&xG1BXoq%$mK|;6{GI(a2GRFn$Wrl#%W_F{ zlCnDUT1diRJjD;z2Sb3|flSWET1DEZ8(;w$v9DrFwf2LQB5n>%H4BFSOA^Qy4WY!n zC%os`FgbzPYqKHZthA98)Y7P}t^PLZ)3DvAhM~+iyg~o#Ol&7*fYhd-hXqbq>ZsRo zfDH6_=gy1>G9Pr|g$~(C`0&R7xFj<&s^kQJ%>N%GnFWwS2lK#|zxkiv;{m;5c)6

    XI9sp8%h*JV3IDZ`&RG)v6UtvgAwmls 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 diff --git a/software/conf/project_oractle_config.atstart b/software/conf/project_oractle_config.atstart deleted file mode 100644 index fad5d10..0000000 --- a/software/conf/project_oractle_config.atstart +++ /dev/null @@ -1,1177 +0,0 @@ -format_version: '2' -name: My Project -versions: - api: '1.0' - backend: 1.7.303 - commit: 1e07622763d149970fd8808a8f12ff3b1e84e0d7 - content: unknown - content_pack_name: unknown - format: '2' - frontend: 1.7.303 - packs_version_avr8: 1.0.1410 - packs_version_qtouch: unknown - packs_version_sam: 1.0.1554 - version_backend: 1.7.303 - version_frontend: '' -board: - identifier: SAME54XplainedPro - device: SAME54P20A-AU -details: null -application: null -middlewares: {} -drivers: - CMCC: - user_label: CMCC - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::CMCC::driver_config_definition::CMCC::HAL:HPL:CMCC - functionality: System - api: HAL:HPL:CMCC - configuration: - cache_size: 4 KB - cmcc_advanced_configuration: false - cmcc_clock_gating_disable: false - cmcc_data_cache_disable: false - cmcc_enable: false - cmcc_inst_cache_disable: false - optional_signals: [] - variant: null - clocks: - domain_group: null - DMAC: - user_label: DMAC - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::DMAC::driver_config_definition::DMAC::HAL:HPL:DMAC - functionality: System - api: HAL:HPL:DMAC - configuration: - dmac_beatsize_0: 8-bit bus transfer - dmac_beatsize_1: 8-bit bus transfer - dmac_beatsize_10: 8-bit bus transfer - dmac_beatsize_11: 8-bit bus transfer - dmac_beatsize_12: 8-bit bus transfer - dmac_beatsize_13: 8-bit bus transfer - dmac_beatsize_14: 8-bit bus transfer - dmac_beatsize_15: 8-bit bus transfer - dmac_beatsize_16: 8-bit bus transfer - dmac_beatsize_17: 8-bit bus transfer - dmac_beatsize_18: 8-bit bus transfer - dmac_beatsize_19: 8-bit bus transfer - dmac_beatsize_2: 8-bit bus transfer - dmac_beatsize_20: 8-bit bus transfer - dmac_beatsize_21: 8-bit bus transfer - dmac_beatsize_22: 8-bit bus transfer - dmac_beatsize_23: 8-bit bus transfer - dmac_beatsize_24: 8-bit bus transfer - dmac_beatsize_25: 8-bit bus transfer - dmac_beatsize_26: 8-bit bus transfer - dmac_beatsize_27: 8-bit bus transfer - dmac_beatsize_28: 8-bit bus transfer - dmac_beatsize_29: 8-bit bus transfer - dmac_beatsize_3: 8-bit bus transfer - dmac_beatsize_30: 8-bit bus transfer - dmac_beatsize_31: 8-bit bus transfer - dmac_beatsize_4: 8-bit bus transfer - dmac_beatsize_5: 8-bit bus transfer - dmac_beatsize_6: 8-bit bus transfer - dmac_beatsize_7: 8-bit bus transfer - dmac_beatsize_8: 8-bit bus transfer - dmac_beatsize_9: 8-bit bus transfer - dmac_blockact_0: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_1: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_10: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_11: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_12: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_13: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_14: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_15: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_16: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_17: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_18: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_19: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_2: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_20: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_21: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_22: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_23: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_24: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_25: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_26: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_27: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_28: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_29: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_3: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_30: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_31: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_4: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_5: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_6: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_7: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_8: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_9: Channel will be disabled if it is the last block transfer in - the transaction - dmac_channel_0_settings: false - dmac_channel_10_settings: false - dmac_channel_11_settings: false - dmac_channel_12_settings: false - dmac_channel_13_settings: false - dmac_channel_14_settings: false - dmac_channel_15_settings: false - dmac_channel_16_settings: false - dmac_channel_17_settings: false - dmac_channel_18_settings: false - dmac_channel_19_settings: false - dmac_channel_1_settings: false - dmac_channel_20_settings: false - dmac_channel_21_settings: false - dmac_channel_22_settings: false - dmac_channel_23_settings: false - dmac_channel_24_settings: false - dmac_channel_25_settings: false - dmac_channel_26_settings: false - dmac_channel_27_settings: false - dmac_channel_28_settings: false - dmac_channel_29_settings: false - dmac_channel_2_settings: false - dmac_channel_30_settings: false - dmac_channel_31_settings: false - dmac_channel_3_settings: false - dmac_channel_4_settings: false - dmac_channel_5_settings: false - dmac_channel_6_settings: false - dmac_channel_7_settings: false - dmac_channel_8_settings: false - dmac_channel_9_settings: false - dmac_dbgrun: false - dmac_dstinc_0: false - dmac_dstinc_1: false - dmac_dstinc_10: false - dmac_dstinc_11: false - dmac_dstinc_12: false - dmac_dstinc_13: false - dmac_dstinc_14: false - dmac_dstinc_15: false - dmac_dstinc_16: false - dmac_dstinc_17: false - dmac_dstinc_18: false - dmac_dstinc_19: false - dmac_dstinc_2: false - dmac_dstinc_20: false - dmac_dstinc_21: false - dmac_dstinc_22: false - dmac_dstinc_23: false - dmac_dstinc_24: false - dmac_dstinc_25: false - dmac_dstinc_26: false - dmac_dstinc_27: false - dmac_dstinc_28: false - dmac_dstinc_29: false - dmac_dstinc_3: false - dmac_dstinc_30: false - dmac_dstinc_31: false - dmac_dstinc_4: false - dmac_dstinc_5: false - dmac_dstinc_6: false - dmac_dstinc_7: false - dmac_dstinc_8: false - dmac_dstinc_9: false - dmac_enable: false - dmac_evact_0: No action - dmac_evact_1: No action - dmac_evact_10: No action - dmac_evact_11: No action - dmac_evact_12: No action - dmac_evact_13: No action - dmac_evact_14: No action - dmac_evact_15: No action - dmac_evact_16: No action - dmac_evact_17: No action - dmac_evact_18: No action - dmac_evact_19: No action - dmac_evact_2: No action - dmac_evact_20: No action - dmac_evact_21: No action - dmac_evact_22: No action - dmac_evact_23: No action - dmac_evact_24: No action - dmac_evact_25: No action - dmac_evact_26: No action - dmac_evact_27: No action - dmac_evact_28: No action - dmac_evact_29: No action - dmac_evact_3: No action - dmac_evact_30: No action - dmac_evact_31: No action - dmac_evact_4: No action - dmac_evact_5: No action - dmac_evact_6: No action - dmac_evact_7: No action - dmac_evact_8: No action - dmac_evact_9: No action - dmac_evie_0: false - dmac_evie_1: false - dmac_evie_10: false - dmac_evie_11: false - dmac_evie_12: false - dmac_evie_13: false - dmac_evie_14: false - dmac_evie_15: false - dmac_evie_16: false - dmac_evie_17: false - dmac_evie_18: false - dmac_evie_19: false - dmac_evie_2: false - dmac_evie_20: false - dmac_evie_21: false - dmac_evie_22: false - dmac_evie_23: false - dmac_evie_24: false - dmac_evie_25: false - dmac_evie_26: false - dmac_evie_27: false - dmac_evie_28: false - dmac_evie_29: false - dmac_evie_3: false - dmac_evie_30: false - dmac_evie_31: false - dmac_evie_4: false - dmac_evie_5: false - dmac_evie_6: false - dmac_evie_7: false - dmac_evie_8: false - dmac_evie_9: false - dmac_evoe_0: false - dmac_evoe_1: false - dmac_evoe_10: false - dmac_evoe_11: false - dmac_evoe_12: false - dmac_evoe_13: false - dmac_evoe_14: false - dmac_evoe_15: false - dmac_evoe_16: false - dmac_evoe_17: false - dmac_evoe_18: false - dmac_evoe_19: false - dmac_evoe_2: false - dmac_evoe_20: false - dmac_evoe_21: false - dmac_evoe_22: false - dmac_evoe_23: false - dmac_evoe_24: false - dmac_evoe_25: false - dmac_evoe_26: false - dmac_evoe_27: false - dmac_evoe_28: false - dmac_evoe_29: false - dmac_evoe_3: false - dmac_evoe_30: false - dmac_evoe_31: false - dmac_evoe_4: false - dmac_evoe_5: false - dmac_evoe_6: false - dmac_evoe_7: false - dmac_evoe_8: false - dmac_evoe_9: false - dmac_evosel_0: Event generation disabled - dmac_evosel_1: Event generation disabled - dmac_evosel_10: Event generation disabled - dmac_evosel_11: Event generation disabled - dmac_evosel_12: Event generation disabled - dmac_evosel_13: Event generation disabled - dmac_evosel_14: Event generation disabled - dmac_evosel_15: Event generation disabled - dmac_evosel_16: Event generation disabled - dmac_evosel_17: Event generation disabled - dmac_evosel_18: Event generation disabled - dmac_evosel_19: Event generation disabled - dmac_evosel_2: Event generation disabled - dmac_evosel_20: Event generation disabled - dmac_evosel_21: Event generation disabled - dmac_evosel_22: Event generation disabled - dmac_evosel_23: Event generation disabled - dmac_evosel_24: Event generation disabled - dmac_evosel_25: Event generation disabled - dmac_evosel_26: Event generation disabled - dmac_evosel_27: Event generation disabled - dmac_evosel_28: Event generation disabled - dmac_evosel_29: Event generation disabled - dmac_evosel_3: Event generation disabled - dmac_evosel_30: Event generation disabled - dmac_evosel_31: Event generation disabled - dmac_evosel_4: Event generation disabled - dmac_evosel_5: Event generation disabled - dmac_evosel_6: Event generation disabled - dmac_evosel_7: Event generation disabled - dmac_evosel_8: Event generation disabled - dmac_evosel_9: Event generation disabled - dmac_lvl_0: Channel priority 0 - dmac_lvl_1: Channel priority 0 - dmac_lvl_10: Channel priority 0 - dmac_lvl_11: Channel priority 0 - dmac_lvl_12: Channel priority 0 - dmac_lvl_13: Channel priority 0 - dmac_lvl_14: Channel priority 0 - dmac_lvl_15: Channel priority 0 - dmac_lvl_16: Channel priority 0 - dmac_lvl_17: Channel priority 0 - dmac_lvl_18: Channel priority 0 - dmac_lvl_19: Channel priority 0 - dmac_lvl_2: Channel priority 0 - dmac_lvl_20: Channel priority 0 - dmac_lvl_21: Channel priority 0 - dmac_lvl_22: Channel priority 0 - dmac_lvl_23: Channel priority 0 - dmac_lvl_24: Channel priority 0 - dmac_lvl_25: Channel priority 0 - dmac_lvl_26: Channel priority 0 - dmac_lvl_27: Channel priority 0 - dmac_lvl_28: Channel priority 0 - dmac_lvl_29: Channel priority 0 - dmac_lvl_3: Channel priority 0 - dmac_lvl_30: Channel priority 0 - dmac_lvl_31: Channel priority 0 - dmac_lvl_4: Channel priority 0 - dmac_lvl_5: Channel priority 0 - dmac_lvl_6: Channel priority 0 - dmac_lvl_7: Channel priority 0 - dmac_lvl_8: Channel priority 0 - dmac_lvl_9: Channel priority 0 - dmac_lvlen0: true - dmac_lvlen1: true - dmac_lvlen2: true - dmac_lvlen3: true - dmac_lvlpri0: 0 - dmac_lvlpri1: 0 - dmac_lvlpri2: 0 - dmac_lvlpri3: 0 - dmac_rrlvlen0: Static arbitration scheme for channel with priority 0 - dmac_rrlvlen1: Static arbitration scheme for channel with priority 1 - dmac_rrlvlen2: Static arbitration scheme for channel with priority 2 - dmac_rrlvlen3: Static arbitration scheme for channel with priority 3 - dmac_runstdby_0: false - dmac_runstdby_1: false - dmac_runstdby_10: false - dmac_runstdby_11: false - dmac_runstdby_12: false - dmac_runstdby_13: false - dmac_runstdby_14: false - dmac_runstdby_15: false - dmac_runstdby_16: false - dmac_runstdby_17: false - dmac_runstdby_18: false - dmac_runstdby_19: false - dmac_runstdby_2: false - dmac_runstdby_20: false - dmac_runstdby_21: false - dmac_runstdby_22: false - dmac_runstdby_23: false - dmac_runstdby_24: false - dmac_runstdby_25: false - dmac_runstdby_26: false - dmac_runstdby_27: false - dmac_runstdby_28: false - dmac_runstdby_29: false - dmac_runstdby_3: false - dmac_runstdby_30: false - dmac_runstdby_31: false - dmac_runstdby_4: false - dmac_runstdby_5: false - dmac_runstdby_6: false - dmac_runstdby_7: false - dmac_runstdby_8: false - dmac_runstdby_9: false - dmac_srcinc_0: false - dmac_srcinc_1: false - dmac_srcinc_10: false - dmac_srcinc_11: false - dmac_srcinc_12: false - dmac_srcinc_13: false - dmac_srcinc_14: false - dmac_srcinc_15: false - dmac_srcinc_16: false - dmac_srcinc_17: false - dmac_srcinc_18: false - dmac_srcinc_19: false - dmac_srcinc_2: false - dmac_srcinc_20: false - dmac_srcinc_21: false - dmac_srcinc_22: false - dmac_srcinc_23: false - dmac_srcinc_24: false - dmac_srcinc_25: false - dmac_srcinc_26: false - dmac_srcinc_27: false - dmac_srcinc_28: false - dmac_srcinc_29: false - dmac_srcinc_3: false - dmac_srcinc_30: false - dmac_srcinc_31: false - dmac_srcinc_4: false - dmac_srcinc_5: false - dmac_srcinc_6: false - dmac_srcinc_7: false - dmac_srcinc_8: false - dmac_srcinc_9: false - dmac_stepsel_0: Step size settings apply to the destination address - dmac_stepsel_1: Step size settings apply to the destination address - dmac_stepsel_10: Step size settings apply to the destination address - dmac_stepsel_11: Step size settings apply to the destination address - dmac_stepsel_12: Step size settings apply to the destination address - dmac_stepsel_13: Step size settings apply to the destination address - dmac_stepsel_14: Step size settings apply to the destination address - dmac_stepsel_15: Step size settings apply to the destination address - dmac_stepsel_16: Step size settings apply to the destination address - dmac_stepsel_17: Step size settings apply to the destination address - dmac_stepsel_18: Step size settings apply to the destination address - dmac_stepsel_19: Step size settings apply to the destination address - dmac_stepsel_2: Step size settings apply to the destination address - dmac_stepsel_20: Step size settings apply to the destination address - dmac_stepsel_21: Step size settings apply to the destination address - dmac_stepsel_22: Step size settings apply to the destination address - dmac_stepsel_23: Step size settings apply to the destination address - dmac_stepsel_24: Step size settings apply to the destination address - dmac_stepsel_25: Step size settings apply to the destination address - dmac_stepsel_26: Step size settings apply to the destination address - dmac_stepsel_27: Step size settings apply to the destination address - dmac_stepsel_28: Step size settings apply to the destination address - dmac_stepsel_29: Step size settings apply to the destination address - dmac_stepsel_3: Step size settings apply to the destination address - dmac_stepsel_30: Step size settings apply to the destination address - dmac_stepsel_31: Step size settings apply to the destination address - dmac_stepsel_4: Step size settings apply to the destination address - dmac_stepsel_5: Step size settings apply to the destination address - dmac_stepsel_6: Step size settings apply to the destination address - dmac_stepsel_7: Step size settings apply to the destination address - dmac_stepsel_8: Step size settings apply to the destination address - dmac_stepsel_9: Step size settings apply to the destination address - dmac_stepsize_0: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_1: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_10: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_11: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_12: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_13: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_14: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_15: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_16: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_17: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_18: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_19: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_2: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_20: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_21: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_22: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_23: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_24: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_25: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_26: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_27: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_28: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_29: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_3: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_30: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_31: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_4: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_5: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_6: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_7: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_8: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_9: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_trifsrc_0: Only software/event triggers - dmac_trifsrc_1: Only software/event triggers - dmac_trifsrc_10: Only software/event triggers - dmac_trifsrc_11: Only software/event triggers - dmac_trifsrc_12: Only software/event triggers - dmac_trifsrc_13: Only software/event triggers - dmac_trifsrc_14: Only software/event triggers - dmac_trifsrc_15: Only software/event triggers - dmac_trifsrc_16: Only software/event triggers - dmac_trifsrc_17: Only software/event triggers - dmac_trifsrc_18: Only software/event triggers - dmac_trifsrc_19: Only software/event triggers - dmac_trifsrc_2: Only software/event triggers - dmac_trifsrc_20: Only software/event triggers - dmac_trifsrc_21: Only software/event triggers - dmac_trifsrc_22: Only software/event triggers - dmac_trifsrc_23: Only software/event triggers - dmac_trifsrc_24: Only software/event triggers - dmac_trifsrc_25: Only software/event triggers - dmac_trifsrc_26: Only software/event triggers - dmac_trifsrc_27: Only software/event triggers - dmac_trifsrc_28: Only software/event triggers - dmac_trifsrc_29: Only software/event triggers - dmac_trifsrc_3: Only software/event triggers - dmac_trifsrc_30: Only software/event triggers - dmac_trifsrc_31: Only software/event triggers - dmac_trifsrc_4: Only software/event triggers - dmac_trifsrc_5: Only software/event triggers - dmac_trifsrc_6: Only software/event triggers - dmac_trifsrc_7: Only software/event triggers - dmac_trifsrc_8: Only software/event triggers - dmac_trifsrc_9: Only software/event triggers - dmac_trigact_0: One trigger required for each block transfer - dmac_trigact_1: One trigger required for each block transfer - dmac_trigact_10: One trigger required for each block transfer - dmac_trigact_11: One trigger required for each block transfer - dmac_trigact_12: One trigger required for each block transfer - dmac_trigact_13: One trigger required for each block transfer - dmac_trigact_14: One trigger required for each block transfer - dmac_trigact_15: One trigger required for each block transfer - dmac_trigact_16: One trigger required for each block transfer - dmac_trigact_17: One trigger required for each block transfer - dmac_trigact_18: One trigger required for each block transfer - dmac_trigact_19: One trigger required for each block transfer - dmac_trigact_2: One trigger required for each block transfer - dmac_trigact_20: One trigger required for each block transfer - dmac_trigact_21: One trigger required for each block transfer - dmac_trigact_22: One trigger required for each block transfer - dmac_trigact_23: One trigger required for each block transfer - dmac_trigact_24: One trigger required for each block transfer - dmac_trigact_25: One trigger required for each block transfer - dmac_trigact_26: One trigger required for each block transfer - dmac_trigact_27: One trigger required for each block transfer - dmac_trigact_28: One trigger required for each block transfer - dmac_trigact_29: One trigger required for each block transfer - dmac_trigact_3: One trigger required for each block transfer - dmac_trigact_30: One trigger required for each block transfer - dmac_trigact_31: One trigger required for each block transfer - dmac_trigact_4: One trigger required for each block transfer - dmac_trigact_5: One trigger required for each block transfer - dmac_trigact_6: One trigger required for each block transfer - dmac_trigact_7: One trigger required for each block transfer - dmac_trigact_8: One trigger required for each block transfer - dmac_trigact_9: One trigger required for each block transfer - optional_signals: [] - variant: null - clocks: - domain_group: null - EXTERNAL_IRQ_0: - user_label: EXTERNAL_IRQ_0 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::EIC::driver_config_definition::Default::HAL:Driver:Ext.IRQ - functionality: External_IRQ - api: HAL:Driver:Ext_IRQ - configuration: - eic_arch_asynch0: false - eic_arch_asynch1: false - eic_arch_asynch10: false - eic_arch_asynch11: false - eic_arch_asynch12: false - eic_arch_asynch13: false - eic_arch_asynch14: false - eic_arch_asynch15: false - eic_arch_asynch2: false - eic_arch_asynch3: false - eic_arch_asynch4: false - eic_arch_asynch5: false - eic_arch_asynch6: false - eic_arch_asynch7: false - eic_arch_asynch8: false - eic_arch_asynch9: false - eic_arch_cksel: Clocked by GCLK - eic_arch_debounce_enable0: false - eic_arch_debounce_enable1: false - eic_arch_debounce_enable10: false - eic_arch_debounce_enable11: false - eic_arch_debounce_enable12: false - eic_arch_debounce_enable13: false - eic_arch_debounce_enable14: false - eic_arch_debounce_enable15: false - eic_arch_debounce_enable2: false - eic_arch_debounce_enable3: false - eic_arch_debounce_enable4: false - eic_arch_debounce_enable5: false - eic_arch_debounce_enable6: false - eic_arch_debounce_enable7: false - eic_arch_debounce_enable8: false - eic_arch_debounce_enable9: false - eic_arch_enable_irq_setting0: false - eic_arch_enable_irq_setting1: false - eic_arch_enable_irq_setting10: false - eic_arch_enable_irq_setting11: false - eic_arch_enable_irq_setting12: false - eic_arch_enable_irq_setting13: false - eic_arch_enable_irq_setting14: false - eic_arch_enable_irq_setting15: false - eic_arch_enable_irq_setting2: false - eic_arch_enable_irq_setting3: false - eic_arch_enable_irq_setting4: false - eic_arch_enable_irq_setting5: false - eic_arch_enable_irq_setting6: false - eic_arch_enable_irq_setting7: false - eic_arch_enable_irq_setting8: false - eic_arch_enable_irq_setting9: false - eic_arch_extinteo0: false - eic_arch_extinteo1: false - eic_arch_extinteo10: false - eic_arch_extinteo11: false - eic_arch_extinteo12: false - eic_arch_extinteo13: false - eic_arch_extinteo14: false - eic_arch_extinteo15: false - eic_arch_extinteo2: false - eic_arch_extinteo3: false - eic_arch_extinteo4: false - eic_arch_extinteo5: false - eic_arch_extinteo6: false - eic_arch_extinteo7: false - eic_arch_extinteo8: false - eic_arch_extinteo9: false - eic_arch_filten0: false - eic_arch_filten1: false - eic_arch_filten10: false - eic_arch_filten11: false - eic_arch_filten12: false - eic_arch_filten13: false - eic_arch_filten14: false - eic_arch_filten15: false - eic_arch_filten2: false - eic_arch_filten3: false - eic_arch_filten4: false - eic_arch_filten5: false - eic_arch_filten6: false - eic_arch_filten7: false - eic_arch_filten8: false - eic_arch_filten9: false - eic_arch_nmi_ctrl: false - eic_arch_nmiasynch: false - eic_arch_nmifilten: false - eic_arch_nmisense: No detection - eic_arch_prescaler0: Divided by 2 - eic_arch_prescaler1: Divided by 2 - eic_arch_sense0: No detection - eic_arch_sense1: No detection - eic_arch_sense10: No detection - eic_arch_sense11: No detection - eic_arch_sense12: No detection - eic_arch_sense13: No detection - eic_arch_sense14: No detection - eic_arch_sense15: No detection - eic_arch_sense2: No detection - eic_arch_sense3: No detection - eic_arch_sense4: No detection - eic_arch_sense5: No detection - eic_arch_sense6: No detection - eic_arch_sense7: No detection - eic_arch_sense8: No detection - eic_arch_sense9: No detection - eic_arch_states0: '3' - eic_arch_states1: '3' - eic_arch_tickon: The sampling rate is EIC clock - optional_signals: [] - variant: null - clocks: - domain_group: - nodes: - - name: EIC - input: Generic clock generator 0 - external: false - external_frequency: 0 - configuration: - eic_gclk_selection: Generic clock generator 0 - GCLK: - user_label: GCLK - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::GCLK::driver_config_definition::GCLK::HAL:HPL:GCLK - functionality: System - api: HAL:HPL:GCLK - configuration: - enable_gclk_gen_0: true - enable_gclk_gen_0__externalclock: 1000000 - enable_gclk_gen_1: false - enable_gclk_gen_10: false - enable_gclk_gen_10__externalclock: 1000000 - enable_gclk_gen_11: false - enable_gclk_gen_11__externalclock: 1000000 - enable_gclk_gen_1__externalclock: 1000000 - enable_gclk_gen_2: false - enable_gclk_gen_2__externalclock: 1000000 - enable_gclk_gen_3: false - enable_gclk_gen_3__externalclock: 1000000 - enable_gclk_gen_4: false - enable_gclk_gen_4__externalclock: 1000000 - enable_gclk_gen_5: false - enable_gclk_gen_5__externalclock: 1000000 - enable_gclk_gen_6: false - enable_gclk_gen_6__externalclock: 1000000 - enable_gclk_gen_7: false - enable_gclk_gen_7__externalclock: 1000000 - enable_gclk_gen_8: false - enable_gclk_gen_8__externalclock: 1000000 - enable_gclk_gen_9: false - enable_gclk_gen_9__externalclock: 1000000 - gclk_arch_gen_0_enable: true - gclk_arch_gen_0_idc: false - gclk_arch_gen_0_oe: false - gclk_arch_gen_0_oov: false - gclk_arch_gen_0_runstdby: false - gclk_arch_gen_10_enable: false - gclk_arch_gen_10_idc: false - gclk_arch_gen_10_oe: false - gclk_arch_gen_10_oov: false - gclk_arch_gen_10_runstdby: false - gclk_arch_gen_11_enable: false - gclk_arch_gen_11_idc: false - gclk_arch_gen_11_oe: false - gclk_arch_gen_11_oov: false - gclk_arch_gen_11_runstdby: false - gclk_arch_gen_1_enable: false - gclk_arch_gen_1_idc: false - gclk_arch_gen_1_oe: false - gclk_arch_gen_1_oov: false - gclk_arch_gen_1_runstdby: false - gclk_arch_gen_2_enable: false - gclk_arch_gen_2_idc: false - gclk_arch_gen_2_oe: false - gclk_arch_gen_2_oov: false - gclk_arch_gen_2_runstdby: false - gclk_arch_gen_3_enable: false - gclk_arch_gen_3_idc: false - gclk_arch_gen_3_oe: false - gclk_arch_gen_3_oov: false - gclk_arch_gen_3_runstdby: false - gclk_arch_gen_4_enable: false - gclk_arch_gen_4_idc: false - gclk_arch_gen_4_oe: false - gclk_arch_gen_4_oov: false - gclk_arch_gen_4_runstdby: false - gclk_arch_gen_5_enable: false - gclk_arch_gen_5_idc: false - gclk_arch_gen_5_oe: false - gclk_arch_gen_5_oov: false - gclk_arch_gen_5_runstdby: false - gclk_arch_gen_6_enable: false - gclk_arch_gen_6_idc: false - gclk_arch_gen_6_oe: false - gclk_arch_gen_6_oov: false - gclk_arch_gen_6_runstdby: false - gclk_arch_gen_7_enable: false - gclk_arch_gen_7_idc: false - gclk_arch_gen_7_oe: false - gclk_arch_gen_7_oov: false - gclk_arch_gen_7_runstdby: false - gclk_arch_gen_8_enable: false - gclk_arch_gen_8_idc: false - gclk_arch_gen_8_oe: false - gclk_arch_gen_8_oov: false - gclk_arch_gen_8_runstdby: false - gclk_arch_gen_9_enable: false - gclk_arch_gen_9_idc: false - gclk_arch_gen_9_oe: false - gclk_arch_gen_9_oov: false - gclk_arch_gen_9_runstdby: false - gclk_gen_0_div: 1 - gclk_gen_0_div_sel: false - gclk_gen_0_oscillator: Digital Phase Locked Loop (DPLL0) - gclk_gen_10_div: 1 - gclk_gen_10_div_sel: false - gclk_gen_10_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_11_div: 1 - gclk_gen_11_div_sel: false - gclk_gen_11_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_1_div: 1 - gclk_gen_1_div_sel: false - gclk_gen_1_oscillator: Digital Frequency Locked Loop (DFLL48M) - gclk_gen_2_div: 1 - gclk_gen_2_div_sel: true - gclk_gen_2_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_3_div: 1 - gclk_gen_3_div_sel: false - gclk_gen_3_oscillator: 32kHz External Crystal Oscillator (XOSC32K) - gclk_gen_4_div: 1 - gclk_gen_4_div_sel: false - gclk_gen_4_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_5_div: 1 - gclk_gen_5_div_sel: false - gclk_gen_5_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_6_div: 1 - gclk_gen_6_div_sel: false - gclk_gen_6_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_7_div: 1 - gclk_gen_7_div_sel: false - gclk_gen_7_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_8_div: 1 - gclk_gen_8_div_sel: false - gclk_gen_8_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_9_div: 1 - gclk_gen_9_div_sel: false - gclk_gen_9_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - optional_signals: [] - variant: null - clocks: - domain_group: null - MCLK: - user_label: MCLK - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::MCLK::driver_config_definition::MCLK::HAL:HPL:MCLK - functionality: System - api: HAL:HPL:MCLK - configuration: - cpu_clock_source: Generic clock generator 0 - cpu_div: '1' - enable_cpu_clock: true - mclk_arch_bupdiv: Divide by 8 - mclk_arch_hsdiv: Divide by 1 - mclk_arch_lpdiv: Divide by 4 - nvm_wait_states: '5' - optional_signals: [] - variant: null - clocks: - domain_group: - nodes: - - name: CPU - input: CPU - external: false - external_frequency: 0 - configuration: {} - OSC32KCTRL: - user_label: OSC32KCTRL - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::OSC32KCTRL::driver_config_definition::OSC32KCTRL::HAL:HPL:OSC32KCTRL - functionality: System - api: HAL:HPL:OSC32KCTRL - configuration: - enable_osculp32k: true - enable_rtc_source: false - enable_xosc32k: true - osculp32k_calib: 0 - osculp32k_calib_enable: false - rtc_1khz_selection: false - rtc_source_oscillator: 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) - xosc32k_arch_cfden: false - xosc32k_arch_cfdeo: false - xosc32k_arch_cgm: Standard mode - xosc32k_arch_en1k: false - xosc32k_arch_en32k: true - xosc32k_arch_enable: true - xosc32k_arch_ondemand: true - xosc32k_arch_runstdby: false - xosc32k_arch_startup: 1000092us - xosc32k_arch_swben: false - xosc32k_arch_xtalen: true - optional_signals: [] - variant: null - clocks: - domain_group: null - OSCCTRL: - user_label: OSCCTRL - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::OSCCTRL::driver_config_definition::OSCCTRL::HAL:HPL:OSCCTRL - functionality: System - api: HAL:HPL:OSCCTRL - configuration: - dfll_arch_bplckc: false - dfll_arch_calibration: false - dfll_arch_ccdis: false - dfll_arch_coarse: 31 - dfll_arch_cstep: 1 - dfll_arch_enable: false - dfll_arch_fine: 128 - dfll_arch_fstep: 1 - dfll_arch_llaw: false - dfll_arch_ondemand: false - dfll_arch_qldis: false - dfll_arch_runstdby: false - dfll_arch_stable: false - dfll_arch_usbcrm: false - dfll_arch_waitlock: true - dfll_mode: Open Loop Mode - dfll_mul: 0 - dfll_ref_clock: Generic clock generator 3 - enable_dfll: false - enable_fdpll0: true - enable_fdpll1: false - enable_xosc0: false - enable_xosc1: false - fdpll0_arch_dcoen: false - fdpll0_arch_enable: true - fdpll0_arch_filter: 0 - fdpll0_arch_lbypass: true - fdpll0_arch_ltime: No time-out, automatic lock - fdpll0_arch_ondemand: false - fdpll0_arch_refclk: XOSC32K clock reference - fdpll0_arch_runstdby: false - fdpll0_arch_wuf: false - fdpll0_clock_dcofilter: 0 - fdpll0_clock_div: 0 - fdpll0_ldr: 3661 - fdpll0_ldrfrac: 1 - fdpll0_ref_clock: 32kHz External Crystal Oscillator (XOSC32K) - fdpll1_arch_dcoen: false - fdpll1_arch_enable: false - fdpll1_arch_filter: 0 - fdpll1_arch_lbypass: false - fdpll1_arch_ltime: No time-out, automatic lock - fdpll1_arch_ondemand: false - fdpll1_arch_refclk: XOSC32K clock reference - fdpll1_arch_runstdby: false - fdpll1_arch_wuf: false - fdpll1_clock_dcofilter: 0 - fdpll1_clock_div: 0 - fdpll1_ldr: 1463 - fdpll1_ldrfrac: 13 - fdpll1_ref_clock: 32kHz External Crystal Oscillator (XOSC32K) - xosc0_arch_cfden: false - xosc0_arch_enable: false - xosc0_arch_enalc: false - xosc0_arch_lowbufgain: false - xosc0_arch_ondemand: false - xosc0_arch_runstdby: false - xosc0_arch_startup: 31us - xosc0_arch_swben: false - xosc0_arch_xtalen: false - xosc0_frequency: 12000000 - xosc1_arch_cfden: false - xosc1_arch_enable: false - xosc1_arch_enalc: false - xosc1_arch_lowbufgain: false - xosc1_arch_ondemand: false - xosc1_arch_runstdby: false - xosc1_arch_startup: 31us - xosc1_arch_swben: false - xosc1_arch_xtalen: true - xosc1_frequency: 12000000 - optional_signals: [] - variant: null - clocks: - domain_group: null - PORT: - user_label: PORT - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::PORT::driver_config_definition::PORT::HAL:HPL:PORT - functionality: System - api: HAL:HPL:PORT - configuration: - enable_port_input_event_0: false - enable_port_input_event_1: false - enable_port_input_event_2: false - enable_port_input_event_3: false - porta_event_action_0: Output register of pin will be set to level of event - porta_event_action_1: Output register of pin will be set to level of event - porta_event_action_2: Output register of pin will be set to level of event - porta_event_action_3: Output register of pin will be set to level of event - porta_event_pin_identifier_0: 0 - porta_event_pin_identifier_1: 0 - porta_event_pin_identifier_2: 0 - porta_event_pin_identifier_3: 0 - porta_input_event_enable_0: false - porta_input_event_enable_1: false - porta_input_event_enable_2: false - porta_input_event_enable_3: false - portb_event_action_0: Output register of pin will be set to level of event - portb_event_action_1: Output register of pin will be set to level of event - portb_event_action_2: Output register of pin will be set to level of event - portb_event_action_3: Output register of pin will be set to level of event - portb_event_pin_identifier_0: 0 - portb_event_pin_identifier_1: 0 - portb_event_pin_identifier_2: 0 - portb_event_pin_identifier_3: 0 - portb_input_event_enable_0: false - portb_input_event_enable_1: false - portb_input_event_enable_2: false - portb_input_event_enable_3: false - portc_event_action_0: Output register of pin will be set to level of event - portc_event_action_1: Output register of pin will be set to level of event - portc_event_action_2: Output register of pin will be set to level of event - portc_event_action_3: Output register of pin will be set to level of event - portc_event_pin_identifier_0: 0 - portc_event_pin_identifier_1: 0 - portc_event_pin_identifier_2: 0 - portc_event_pin_identifier_3: 0 - portc_input_event_enable_0: false - portc_input_event_enable_1: false - portc_input_event_enable_2: false - portc_input_event_enable_3: false - portd_event_action_0: Output register of pin will be set to level of event - portd_event_action_1: Output register of pin will be set to level of event - portd_event_action_2: Output register of pin will be set to level of event - portd_event_action_3: Output register of pin will be set to level of event - portd_event_pin_identifier_0: 0 - portd_event_pin_identifier_1: 0 - portd_event_pin_identifier_2: 0 - portd_event_pin_identifier_3: 0 - portd_input_event_enable_0: false - portd_input_event_enable_1: false - portd_input_event_enable_2: false - portd_input_event_enable_3: false - optional_signals: [] - variant: null - clocks: - domain_group: null - RAMECC: - user_label: RAMECC - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::RAMECC::driver_config_definition::RAMECC::HAL:HPL:RAMECC - functionality: System - api: HAL:HPL:RAMECC - configuration: {} - optional_signals: [] - variant: null - clocks: - domain_group: null - USART_0: - user_label: USART_0 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::SERCOM2::driver_config_definition::UART::HAL:Driver:USART.Async - functionality: USART - api: HAL:Driver:USART_Async - configuration: - usart_advanced: false - usart_arch_clock_mode: USART with internal clock - usart_arch_cloden: false - usart_arch_dbgstop: Keep running - usart_arch_dord: LSB is transmitted first - usart_arch_enc: No encoding - usart_arch_fractional: 0 - usart_arch_ibon: false - usart_arch_lin_slave_enable: Disable - usart_arch_runstdby: false - usart_arch_sampa: 7-8-9 (3-4-5 8-bit over-sampling) - usart_arch_sampr: 16x arithmetic - usart_arch_sfde: false - usart_baud_rate: 115200 - usart_character_size: 8 bits - usart_parity: No parity - usart_rx_enable: true - usart_stop_bit: One stop bit - usart_tx_enable: true - optional_signals: [] - variant: - specification: TXPO=0, RXPO=1, CMODE=0 - required_signals: - - name: SERCOM2/PAD/0 - pad: PB25 - label: TX - - name: SERCOM2/PAD/1 - pad: PB24 - label: RX - clocks: - domain_group: - nodes: - - name: Core - input: Generic clock generator 0 - external: false - external_frequency: 0 - - name: Slow - input: Generic clock generator 3 - external: false - external_frequency: 0 - configuration: - core_gclk_selection: Generic clock generator 0 - slow_gclk_selection: Generic clock generator 3 - I2C_0: - user_label: I2C_0 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::SERCOM3::driver_config_definition::I2C.Master.Standard~2FFast-mode::HAL:Driver:I2C.Master.Sync - functionality: I2C - api: HAL:Driver:I2C_Master_Sync - configuration: - i2c_master_advanced: false - i2c_master_arch_dbgstop: Keep running - i2c_master_arch_inactout: Disabled - i2c_master_arch_lowtout: false - i2c_master_arch_mexttoen: false - i2c_master_arch_runstdby: false - i2c_master_arch_sdahold: 300-600ns hold time - i2c_master_arch_sexttoen: false - i2c_master_arch_trise: 215 - i2c_master_baud_rate: 100000 - optional_signals: [] - variant: - specification: SDA=0, SCL=1 - required_signals: - - name: SERCOM3/PAD/0 - pad: PA22 - label: SDA - - name: SERCOM3/PAD/1 - pad: PA23 - label: SCL - clocks: - domain_group: - nodes: - - name: Core - input: Generic clock generator 0 - external: false - external_frequency: 0 - - name: Slow - input: Generic clock generator 3 - external: false - external_frequency: 0 - configuration: - core_gclk_selection: Generic clock generator 0 - slow_gclk_selection: Generic clock generator 3 - TIMER_0: - user_label: TIMER_0 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::TC0::driver_config_definition::Timer::HAL:Driver:Timer - functionality: Timer - api: HAL:Driver:Timer - configuration: - tc_arch_dbgrun: false - tc_arch_evact: Event action disabled - tc_arch_mceo0: false - tc_arch_mceo1: false - tc_arch_ondemand: false - tc_arch_ovfeo: false - tc_arch_presync: Reload or reset counter on next GCLK - tc_arch_runstdby: false - tc_arch_tcei: false - tc_arch_tcinv: false - timer_advanced_configuration: false - timer_event_control: false - timer_prescaler: Divide by 8 - timer_tick: 1000 - optional_signals: [] - variant: null - clocks: - domain_group: - nodes: - - name: TC - input: Generic clock generator 0 - external: false - external_frequency: 0 - configuration: - tc_gclk_selection: Generic clock generator 0 -pads: - PA22: - name: PA22 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PA22 - mode: I2C - user_label: PA22 - configuration: null - PA23: - name: PA23 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PA23 - mode: I2C - user_label: PA23 - configuration: null - PB24: - name: PB24 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PB24 - mode: Peripheral IO - user_label: PB24 - configuration: null - PB25: - name: PB25 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PB25 - mode: Peripheral IO - user_label: PB25 - configuration: null -toolchain_options: [] diff --git a/software/firmware/Makefile.backup b/software/firmware/Makefile.backup deleted file mode 100644 index b633a61..0000000 --- a/software/firmware/Makefile.backup +++ /dev/null @@ -1,662 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -GDB=arm-none-eabi-gdb -ifdef SystemRoot - SHELL = cmd.exe - MK_DIR = mkdir -else - ifeq ($(shell uname), Linux) - MK_DIR = mkdir -p - endif - - ifeq ($(shell uname | cut -d _ -f 1), CYGWIN) - MK_DIR = mkdir -p - endif - - ifeq ($(shell uname | cut -d _ -f 1), MINGW32) - MK_DIR = mkdir -p - endif - - ifeq ($(shell uname | cut -d _ -f 1), MINGW64) - MK_DIR = mkdir -p - endif - - ifeq ($(shell uname | cut -d _ -f 1), DARWIN) - MK_DIR = mkdir -p - endif -endif - -print-% : ; @echo $* = $($*) -# List the subdirectories for creating object files -SUB_DIRS += \ - \ -hpl/pm \ -hpl/tc \ -hpl/osc32kctrl \ -hpl/ramecc \ -hpl/dmac \ -hal/src \ -gcc \ -hpl/mclk \ -hpl/eic \ -hpl/sercom \ -hpl/gclk \ -hpl/oscctrl \ -hal/utils/src \ -gcc/gcc \ -hpl/core \ -hpl/cmcc \ -shared/drivers \ -shared/devices \ -shared/devices/display \ -shared/thirdparty/lvgl/porting \ -shared/thirdparty/lvgl/src/lv_core \ -shared/thirdparty/lvgl/src/lv_draw \ -shared/thirdparty/lvgl/src/lv_font \ -shared/thirdparty/lvgl/src/lv_gpu \ -shared/thirdparty/lvgl/src/lv_hal \ -shared/thirdparty/lvgl/src/lv_misc \ -shared/thirdparty/lvgl/src/lv_themes \ -shared/thirdparty/lvgl/src/lv_widgets \ -shared/thirdparty/lvgl/tests \ -shared/thirdparty/lvgl/tests/lv_test_core \ -shared/thirdparty/lvgl/tests/lv_test_objx - -# List the object files -OBJS += \ -hal/src/hal_io.o \ -hpl/eic/hpl_eic.o \ -hpl/core/hpl_core_m4.o \ -hal/utils/src/utils_syscalls.o \ -hal/src/hal_timer.o \ -gcc/system_same54.o \ -hal/src/hal_i2c_m_sync.o \ -hal/src/hal_delay.o \ -hpl/pm/hpl_pm.o \ -hpl/core/hpl_init.o \ -hpl/ramecc/hpl_ramecc.o \ -hal/utils/src/utils_list.o \ -hal/utils/src/utils_assert.o \ -hpl/dmac/hpl_dmac.o \ -hpl/oscctrl/hpl_oscctrl.o \ -hpl/mclk/hpl_mclk.o \ -hpl/sercom/hpl_sercom.o \ -hpl/gclk/hpl_gclk.o \ -hal/src/hal_init.o \ -gcc/gcc/startup_same54.o \ -main.o \ -oracle.o \ -hpl/osc32kctrl/hpl_osc32kctrl.o \ -driver_init.o \ -hal/src/hal_usart_async.o \ -hal/src/hal_ext_irq.o \ -hal/utils/src/utils_ringbuffer.o \ -hal/src/hal_gpio.o \ -hal/utils/src/utils_event.o \ -hal/src/hal_sleep.o \ -hal/src/hal_cache.o \ -hpl/cmcc/hpl_cmcc.o \ -atmel_start.o \ -hpl/tc/hpl_tc.o \ -hal/src/hal_atomic.o \ -shared/drivers/p_gpio.o \ -shared/drivers/p_i2c.o \ -shared/drivers/p_tcc.o \ -shared/drivers/p_usart.o \ -shared/devices/p_screen.o \ -shared/devices/display/p_ssd1963.o \ -shared/thirdparty/lvgl/porting/lv_port_disp_template.o \ -shared/thirdparty/lvgl/porting/lv_port_fs_template.o \ -shared/thirdparty/lvgl/porting/lv_port_indev_template.o \ -shared/thirdparty/lvgl/src/lv_core/lv_debug.o \ -shared/thirdparty/lvgl/src/lv_core/lv_disp.o \ -shared/thirdparty/lvgl/src/lv_core/lv_group.o \ -shared/thirdparty/lvgl/src/lv_core/lv_indev.o \ -shared/thirdparty/lvgl/src/lv_core/lv_obj.o \ -shared/thirdparty/lvgl/src/lv_core/lv_refr.o \ -shared/thirdparty/lvgl/src/lv_core/lv_style.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.o \ -shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.o \ -shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o \ -shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o \ -shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_anim.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_area.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_async.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_bidi.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_color.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_fs.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_gc.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_ll.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_log.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_math.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_mem.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_printf.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_task.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_templ.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_txt.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_utils.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_arc.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_bar.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_btn.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_chart.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_cont.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_img.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_label.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_led.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_line.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_list.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_page.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_roller.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_slider.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_switch.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_table.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_win.o \ -shared/thirdparty/lvgl/tests/lv_test_assert.o \ -shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.o \ -shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.o \ -shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.o \ -shared/thirdparty/lvgl/tests/lv_test_main.o \ -shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o - -OBJS_AS_ARGS += \ -"hal/src/hal_io.o" \ -"hpl/eic/hpl_eic.o" \ -"hpl/core/hpl_core_m4.o" \ -"hal/utils/src/utils_syscalls.o" \ -"hal/src/hal_timer.o" \ -"gcc/system_same54.o" \ -"hal/src/hal_i2c_m_sync.o" \ -"hal/src/hal_delay.o" \ -"hpl/pm/hpl_pm.o" \ -"hpl/core/hpl_init.o" \ -"hpl/ramecc/hpl_ramecc.o" \ -"hal/utils/src/utils_list.o" \ -"hal/utils/src/utils_assert.o" \ -"hpl/dmac/hpl_dmac.o" \ -"hpl/oscctrl/hpl_oscctrl.o" \ -"hpl/mclk/hpl_mclk.o" \ -"hpl/sercom/hpl_sercom.o" \ -"hpl/gclk/hpl_gclk.o" \ -"hal/src/hal_init.o" \ -"gcc/gcc/startup_same54.o" \ -"main.o" \ -"oracle.o" \ -"hpl/osc32kctrl/hpl_osc32kctrl.o" \ -"driver_init.o" \ -"hal/src/hal_usart_async.o" \ -"hal/src/hal_ext_irq.o" \ -"hal/utils/src/utils_ringbuffer.o" \ -"hal/src/hal_gpio.o" \ -"hal/utils/src/utils_event.o" \ -"hal/src/hal_sleep.o" \ -"hal/src/hal_cache.o" \ -"hpl/cmcc/hpl_cmcc.o" \ -"atmel_start.o" \ -"hpl/tc/hpl_tc.o" \ -"hal/src/hal_atomic.o" \ -"shared/drivers/p_gpio.o" \ -"shared/drivers/p_i2c.o" \ -"shared/drivers/p_tcc.o" \ -"shared/drivers/p_usart.o" \ -"shared/devices/p_screen.o" \ -"shared/devices/display/p_ssd1963.o" \ -"shared/thirdparty/lvgl/porting/lv_port_disp_template.o" \ -"shared/thirdparty/lvgl/porting/lv_port_fs_template.o" \ -"shared/thirdparty/lvgl/porting/lv_port_indev_template.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_debug.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_disp.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_group.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_indev.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_obj.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_refr.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_style.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.o" \ -"shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.o" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_anim.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_area.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_async.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_bidi.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_color.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_fs.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_gc.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_ll.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_log.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_math.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_mem.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_printf.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_task.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_templ.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_txt.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_utils.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_arc.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_bar.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_btn.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_chart.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_cont.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_img.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_label.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_led.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_line.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_list.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_page.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_roller.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_slider.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_switch.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_table.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_win.o" \ -"shared/thirdparty/lvgl/tests/lv_test_assert.o" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.o" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.o" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.o" \ -"shared/thirdparty/lvgl/tests/lv_test_main.o" \ -"shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o" - -# List the directories containing header files -DIR_INCLUDES += \ --I"../" \ --I"../config" \ --I"../hal/include" \ --I"../hal/utils/include" \ --I"../hpl/cmcc" \ --I"../hpl/core" \ --I"../hpl/dmac" \ --I"../hpl/eic" \ --I"../hpl/gclk" \ --I"../hpl/mclk" \ --I"../hpl/osc32kctrl" \ --I"../hpl/oscctrl" \ --I"../hpl/pm" \ --I"../hpl/port" \ --I"../hpl/ramecc" \ --I"../hpl/sercom" \ --I"../hpl/tc" \ --I"../hri" \ --I"../CMSIS/Core/Include" \ --I"../include" \ --I"../shared/thirdparty" \ --I"../shared/thirdparty/lvgl" \ --I"../shared/drivers" \ --I"../shared/devices" \ --I"../shared/devices/display" - -# List the dependency files -DEPS := $(OBJS:%.o=%.d) - -DEPS_AS_ARGS += \ -"hal/utils/src/utils_event.d" \ -"hal/src/hal_io.d" \ -"hpl/ramecc/hpl_ramecc.d" \ -"hpl/core/hpl_core_m4.d" \ -"hpl/eic/hpl_eic.d" \ -"hal/utils/src/utils_syscalls.d" \ -"hal/src/hal_i2c_m_sync.d" \ -"hal/src/hal_timer.d" \ -"hal/utils/src/utils_list.d" \ -"hpl/cmcc/hpl_cmcc.d" \ -"hpl/dmac/hpl_dmac.d" \ -"hal/utils/src/utils_assert.d" \ -"hal/src/hal_delay.d" \ -"hpl/core/hpl_init.d" \ -"hpl/pm/hpl_pm.d" \ -"hpl/gclk/hpl_gclk.d" \ -"hpl/sercom/hpl_sercom.d" \ -"gcc/gcc/startup_same54.d" \ -"hal/src/hal_init.d" \ -"hpl/mclk/hpl_mclk.d" \ -"driver_init.d" \ -"hal/src/hal_usart_async.d" \ -"hpl/osc32kctrl/hpl_osc32kctrl.d" \ -"main.d" \ -"hal/src/hal_cache.d" \ -"hal/src/hal_sleep.d" \ -"hal/utils/src/utils_ringbuffer.d" \ -"hal/src/hal_ext_irq.d" \ -"hal/src/hal_gpio.d" \ -"hal/src/hal_atomic.d" \ -"hpl/tc/hpl_tc.d" \ -"hpl/oscctrl/hpl_oscctrl.d" \ -"gcc/system_same54.d" \ -"atmel_start.d" \ -"shared/drivers/p_gpio.d" \ -"shared/drivers/p_i2c.d" \ -"shared/drivers/p_tcc.d" \ -"shared/drivers/p_usart.d" \ -"shared/devices/p_screen.d" \ -"shared/devices/display/p_ssd1963.d" \ -"shared/thirdparty/lvgl/porting/lv_port_disp_template.d" \ -"shared/thirdparty/lvgl/porting/lv_port_fs_template.d" \ -"shared/thirdparty/lvgl/porting/lv_port_indev_template.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_debug.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_disp.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_group.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_indev.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_obj.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_refr.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_style.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.d" \ -"shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.d" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.d" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.d" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_anim.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_area.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_async.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_bidi.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_color.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_fs.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_gc.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_ll.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_log.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_math.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_mem.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_printf.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_task.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_templ.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_txt.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_utils.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_arc.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_bar.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_btn.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_chart.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_cont.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_img.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_label.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_led.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_line.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_list.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_page.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_roller.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_slider.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_switch.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_table.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_win.d" \ -"shared/thirdparty/lvgl/tests/lv_test_assert.d" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.d" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.d" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.d" \ -"shared/thirdparty/lvgl/tests/lv_test_main.d" \ -"shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.d" - -OUTPUT_FILE_NAME :=AtmelStart -QUOTE := " -OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf -OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf - -vpath %.c ../ -vpath %.s ../ -vpath %.S ../ - -# All Target -all: $(SUB_DIRS) $(OUTPUT_FILE_PATH) - -# Linker target - -$(OUTPUT_FILE_PATH): $(OBJS) - @echo Building target: $@ - @echo Invoking: ARM/GNU Linker - $(QUOTE)arm-none-eabi-gcc$(QUOTE) -o $(OUTPUT_FILE_NAME).elf $(OBJS_AS_ARGS) -Wl,--start-group -lm -Wl,--end-group -mthumb \ --Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -mcpu=cortex-m4 \ - \ --T"../gcc/gcc/same54n19a_flash.ld" \ --L"../gcc/gcc" - @echo Finished building target: $@ - - "arm-none-eabi-objcopy" -O binary "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).bin" - "arm-none-eabi-objcopy" -O ihex -R .eeprom -R .fuse -R .lock -R .signature \ - "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).hex" - "arm-none-eabi-objcopy" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma \ - .eeprom=0 --no-change-warnings -O binary "$(OUTPUT_FILE_NAME).elf" \ - "$(OUTPUT_FILE_NAME).eep" || exit 0 - "arm-none-eabi-objdump" -h -S "$(OUTPUT_FILE_NAME).elf" > "$(OUTPUT_FILE_NAME).lss" - "arm-none-eabi-size" "$(OUTPUT_FILE_NAME).elf" - - - -# Compiler targets - - - - -%.o: %.c - @echo Building file: $< - @echo ARM/GNU C Compiler - $(QUOTE)arm-none-eabi-gcc$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ --D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -$(DIR_INCLUDES) \ --MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" - @echo Finished building: $< - -%.o: %.s - @echo Building file: $< - @echo ARM/GNU Assembler - $(QUOTE)arm-none-eabi-as$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ --D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -$(DIR_INCLUDES) \ --MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" - @echo Finished building: $< - -%.o: %.S - @echo Building file: $< - @echo ARM/GNU Preprocessing Assembler - $(QUOTE)arm-none-eabi-gcc$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ --D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -$(DIR_INCLUDES) \ --MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" - @echo Finished building: $< - -# Detect changes in the dependent files and recompile the respective object files. -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(strip $(DEPS)),) --include $(DEPS) -endif -endif - -$(SUB_DIRS): - $(MK_DIR) "$@" - -clean: - rm -f $(OBJS_AS_ARGS) - rm -f $(OUTPUT_FILE_PATH) - rm -f $(DEPS) - rm -f $(DEPS_AS_ARGS) - rm -f $(OUTPUT_FILE_NAME).a $(OUTPUT_FILE_NAME).hex $(OUTPUT_FILE_NAME).bin \ - $(OUTPUT_FILE_NAME).lss $(OUTPUT_FILE_NAME).eep $(OUTPUT_FILE_NAME).map \ - $(OUTPUT_FILE_NAME).srec - -push:\ -all - @echo $(QUOTE)$(QUOTE) - @echo $(QUOTE)Uploading $(OUTPUT_FILE_NAME).elf...$(QUOTE) - @$(GDB) $(OUTPUT_FILE_NAME).elf -x $(QUOTE)../scripts/push.gdb$(QUOTE) >/dev/null - @echo $(QUOTE)$(QUOTE)$(OUTPUT_FILE_NAME).elf $(QUOTE) uploaded!$(QUOTE) - @$(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(OUTPUT_FILE_NAME).elf$(QUOTE) - -debug:\ -all - @$(GDB) $(OUTPUT_FILE_NAME).elf -x $(QUOTE)../scripts/debug.gdb$(QUOTE) diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/ac.h.4E8FD9260D08F3E5.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/ac.h.4E8FD9260D08F3E5.idx deleted file mode 100644 index 5d24584a225f784d737e672561db09deba6e13ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15678 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 AP5=M^ diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/adc.h.2B91BB40E98AAF39.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/adc.h.2B91BB40E98AAF39.idx deleted file mode 100644 index 788ae9cb64b0aad209df6955fc8efe85dc4ace6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 792 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 Z`K*~^XQ_^LWQ{HL;a#mEuSW>N{{anQW4r(W diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/atmel_start.c.C38A94BA53F03107.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/atmel_start.c.C38A94BA53F03107.idx deleted file mode 100644 index 4666c0f8ddccfeef4768ff4906d0be1a91aa7b2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 704 zcmWIYbaUIm#K7R3;#rZKT9U}Zz`!5?#Kk2=na>y*7y^L;6?66m`{v&^;JI44|Il$> z*|iq3UE3V^VuM5^#nw24y~)rJ$}PU!u6QzXTfF_QdlQy?7d7zN=l;v{&xVTNHMXfi z)9RA7%uX-=-rBk4_zbS6z7J1GblZm>X{woMt@BG_-{NzR-dZyrI6s9~Pa0 zep>U}r3}k|Cmu{qv1yq7wJhP@%?HsJ{=DQUGT$+mL9A!SApz5-g*zt17HCv|dFv22 z&8%RbkF0;_FI&sZ;P~Rq$5)naJGK4U{Eb^?$3(_X+gzlkkh(eJZ$Yv01BH}RimSw) zmWddDDvat=d4HF$*O8e&@T=@gmid9M{yI~fCLeE|#OwO~&4!k35yj`TOiaXd{BJM* zf8TIz+DAp#${qVwt+#Vne{hmK-vQB6n_1<86OZ3ry{afK?75?a`2U(k>MPX#9c~f( zRi-bssY3gy_Sd(j{;!YNO%SYSIBH$-q_{FSNeLM1UmK?f9IVeh!o#4+z@Wp*$||bM z!^$Jdz{$eI#HgpusLNQCnpUg_ROxd41^?nMk28!sI_!+>JTQ$gnvn~v8>kQric)hD zL5$*}7zWMN`rWM^SyWh_cfE7k*w zZOU zLWf6;6FcV~(KvqUTi1KxAIx_}7SB}md}_=vga7E64;m|c3a)>A^nz{rw-lviUsvrA z?c8=xVypN01m&OAw1VhUW~=R&V(gy*g(Wy7 zcwmNPCF-u+EvS-spkKY5JupoyZTzK{^#enypLh^ya;vC{|LsoVj z6wXr#x(E~&;t+zXKACVtbcI*=NuaPWhcI0D->-ibb}lLpfx-eD0&rnqDC8u9oK;+u bTr3WxnHXoEli#yP<;X%tCI%*$gBchAdw_xd diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/cmsis_compiler.h.09265E4FBFBE40C2.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/cmsis_compiler.h.09265E4FBFBE40C2.idx deleted file mode 100644 index 8a8602bd3d490d73e272b957808faf84218c5d70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 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 K?83{+3=9Cx>0TTm5#hjz(4D${f@UUKp(MY?L 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/dac.h.61E09D252CB226BB.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/dac.h.61E09D252CB226BB.idx deleted file mode 100644 index 551f730a5489e07c67408cc1d6318e73673752bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 470 zcmWIYbaOk$$iU#7;#rZKT9U}Zz`!5?#Kk2=nPot_0f;N+$o6=1F*)+EK6iTTJpJ9# zUhad;JcgeB?!S~hyRUCA{JLsEh4-dK=?sRuF0ZRdDH6T2cmEXk2SM|-7Hx`~d+(;j zwb_%*v#l2`|2WrlQsv*ndmb#BJ*RJW7w>Cc$5O3>Qq%ii+>y8vp?IWy&mV>zo_Z^a zD|3^87Bdv3rWK0-T_<%Z^Y6Fri>i!VjD{SB;vgvy(5ep7_7W)Z018`jSPDY~85k_N zYP_GD`>+Fr^*HpzV8Y??eRb>{v1~wLISx5lm~hj{oF2{OxE7$W4u_5?Ot?8X@JI`T ze*;k1gu?`GWlNgz^tHD>1p(C&)BYL-@1mS9Vl$TVIToBWRdpWh;H9SK0sj$ z4hu<`@K(2sJCXkn%moVTa_GXXJo$M6f5ik}exR^Ehd$hp`$oTNxmL)|2MQZ=7>mFR eDN4;r1hI>Yl8d>4G!x^cmVnh~9vD1kU;qGGY<_+K diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/dac.h.A8C3C0F7EF32D970.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/dac.h.A8C3C0F7EF32D970.idx deleted file mode 100644 index 3c7415bf40822fe0192bf6a9544ea4a77e5f5a96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7142 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/dmac.h.F305D8B01DA29760.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/dmac.h.F305D8B01DA29760.idx deleted file mode 100644 index f3d83ea4570cea3f4bfe43032c8cfb348ab5edda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 954 zcmWIYbaUIp%)sEB;#rZKT9U}Zz`!5?#Kk2=nPot_5r`}1$o6=1F*)+EK6iTTJpJ9# zUhad;JcgeB?!S~hyRUCA{JLsEh4-dK=?sRuF0ZRdDH6T2cmEXk2SM|-7Hx`~d+(;j zwb_%*v#l2`|2WrlQsv*ndmb#BJ*RJW7w>Cc$5O3>Qq%ii+>y8vp*Z!&gz54xRP{xR zD|3^87Bdv3rWJo@VqoBlKeNsKQbQmk7h?cNfFwu?1jHS;eo$LH*#IaU!x1A25oBPH z{BzAHUx`s4C>+HRB?1#xUNti+v)J_rP}q;dPZ}nyecXFT<+091Kw%#a9|@SS$qfg$ zhbg%qfx^)o(PA)Ri@UnV9(d+g0fi$uBH>orR7w7j`7*^9C~U)FBL!1!>$qy>*H`bo zfWn>}o^Z2W3x(TCZ&ri@g}peu;D)%1=UNoVO!o&0+i}>z4GFUqR&JPkk^v}e&0!5U zByQTlPx(in?31$55x6txmQ48 zISx5Fm`kSYGhg^{)~86IurG%%JiMpZpPG>S`U=P;Asiv_*qM9uC)dUgJ57PY4jc|} zv*#(B?!Ml(8WhD=99Hn4T0Ub={h9S4jzD2&4rjRPo!j>9Sk)WO4it9baDn^s&|Iz0 zoGXh#ap}h42KVLBfA(!Zi!zyk!X6wR@Kkle{Y%K1a~F7k!cH7c2;snM=F3?d>w&_K z9FB1BoVul$K5g5?MxbyQM;P4f)7!5)b}c^xa)~X6E!-vVe=$yst`yb)3Wsup3d4fx s=PUO`vD{rIK;dwXaJVml=|3kCq^7tixtJSBGchjiHGHXe*Bclm0GL|kVgLXD diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/dmac.h.FA78821B6F13316F.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/dmac.h.FA78821B6F13316F.idx deleted file mode 100644 index 2a0ba9b6b5b1ab8fb2aa2a3895ef672449e63afd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34464 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

    W2e)4ZMdi2T^;^|EbItUv-py8!4= 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 bgZlh=|ICL_59EIYvMKRc`JL-p<_iA@u`c?c diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/driver_examples.c.6C813CFA93118EA5.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/driver_examples.c.6C813CFA93118EA5.idx deleted file mode 100644 index da1e15af07274a7ddcfef6442cfce54cfd5085d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 844 zcmWIYbaQiIW?*nm@vO*AElFfyU|9;ZhTP7(ZNPK&d5%WL z(U$>RSU*iLb)A@aux+WUJg@7b)ZASXyHal6?_Vdaa(BZXR%V{b?Ncf%G)}&`Tg~Rs z-<8%a7!zP|SzKJ?q*B%yV?o&;4+H~pc$$ws`uF%U^UY*rabPG^3C`@6v6j!u00r3NJ4+K3TVemsv}~uvJL4 z$*Azy?gtaTzbG}F7jAZ;YMzy2^n>lk3TOXna|sUa^w!=JR-Jq{t)#Lx(svbS^OUPT zzl(|wCmgRhrO4G=V=EH;C!6Q~%BM%(-({QX#L6G|W$r{yyTu*%0v3wg`cu3h&$mRM zZ|Vdw=~-#br+Auv+NZ0YKfY2`RA2Mc-LIj=Um2@7ul?A>Jn8iPIiC|Xb26rs#`>=Q zl`GWt`{R~*_0>6QzxT~d`BZk=Z%)Ith&@mL^0x{>fE`qq~HIfzy1vU|20}l z&@jI_@QpdA>`kNM%G@L+U_1vNHmP|Q+&qnkL7jm?ho6;SM3;}1PlSP!g^`g#Uz1Un zu_!gIcs)=ho7L))7<8cdi+M_5Ey z8peCQw0`p)CC^(xy~2#bLNH;5qSTy3ke$Uv$;J9WnpvmlK#Sh@ZlzpiU2Q!EU9fw= zgdT#ajbJ9{rsQY>xvJ`FEX-2M8uF|X(sDAAN^G+1oLt;IynOruf>Q$E;tE=d HOezcj@?J{f diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/driver_examples.h.503A2C67F0264B48.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/driver_examples.h.503A2C67F0264B48.idx deleted file mode 100644 index e3bcb414b8b1dde7a0e736592668a92083e84fd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmWIYbaPW;WMFVk@vO*AElFfyU|| zeM}bv7O-TUt~mBlp?=ZE)CfDlCesUhAH9;@8nya%g~Yn5)h|;Y$#~q{r+K`wib2D) zdnSilev5$KB>9x=#^gQ1N{Qt{#?{-FT2G#MB(rH!Y^|QD#k3!ir(1cK6z;#=5@V_U zBZ@U($HYHxHf{XBcyHFsz`cwjyHZXUSLP-u0bLb%*reuJaPu@C1||ju7JgQK5mr7{ zJ`n~^7Dh$}HfBav#-h};Vm&04jGPb^Kp_xV5q;?=yX&tMMlMzk4i1o!U{I8rlL%rI W7bO>S18F8!{r0m=(cZga85jU>m|sT# diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/driver_init.c.51690482890CD65D.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/driver_init.c.51690482890CD65D.idx deleted file mode 100644 index e9c508cc6648c4963c0fae2c214c8b584150d5b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1594 zcmWIYbaOLeV_OR1RND&_8y+|7`&aR73`_R8@zw_pUI*lryz8t>!W{tN}+Pt_q zPq-!>$veEIFvri#-+L|Z9HVVpSMmHk7WVhtM%y0;roFxP)ckwh^sL+GbKf3%^*8oZ zUQ9Rht=3Pk-`=v`Q(mDe^v1*D#?qV(`HM7<`#pQ~zt`-KSo^d&)oV}0SM2EaD6Y&+ zS_MpRviGapR6KhB@-S#KFc`|S$_pCFvdRiFaI!ElF<9y`8Zla*y=$Ou>(tA`pb1nV z$to#sB*Q8rj-`QX8lO=ty&2pgW3E(~7fzIYYMg zT)~rBXSXo&7%J%~833ih0Ok=UF0e0P!aRmrj9R=f7sC7kR0Q$}LXje)qA<(^=bF7| zFV2rIVq!6rR+iR+>0vQcl2%fJDT0~E$OZN=%%p(*2JA06e#ZkH$Is3$1M^i%wtdsn z-*pp!!XmOFW-!&M%vRek#n?Xs3X6%0NyCIQ3tir>kT`Idi3jWem@v@4KnK8h`2uds zE~RYB1nQL$lK}=R1WbAo!k2WX_!3B%QAQNz_^GP`4X$rodI@Nx2&0G?JU$G?7{%bc z*|!t}-hT?o2f0#Q1n!*Ws|{bpFJiO>8L1=V2D54NLi=Tj0y|rP!qSY=aGPL81A`b8 z&oI?IhRTe}La@*~S+vpbvC_PWz#s#6PUv;s7-{QzE`9eRrT*ZxTc5Dz z1WY$Iu-g0RN1s_|UBfhFExm>;aU^dsaeA%+SjUv*Um>XoPZtx$tyG4Zk z0Ni+|)Bd-)6lueBJ$Q$6tyr;M_H)$0x>}2m(xv6;c z{^em{V_@KtXO$P^mSvR{WZ-0BVqy^GVB}`BK6}?d-PWm>hXEMgT#~Gk;@mQguSi{Qzj9@N)S$-96Nfk+LpbDTPh1r4bC`wH$UWnvkMox%JfkGevb0$z2 z>^z7l1I%qeVX&K^!U6jY*k5w|j%VcImgJLEhS@&zmgmYqw?iu!xwttvIAoxT8DP!_ z8Ul7UR2-%YC=7NhOnFgiP9lh1T$Eg#4Px+v2nYbBS11sKF&G$x5KJBflM}(@MKJl` ZOeStS&8Hbm_FX$TIC*&a_yq)o7yw8{=q3OF diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/dsu.h.1347B6BE1669697A.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/dsu.h.1347B6BE1669697A.idx deleted file mode 100644 index 86d656c19a8ebe8e149c7ac4292d3b026c688eb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15214 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 Y>)}4pLkS}wOVNbbH%H4{gnvBpf1Y~MbN~PV diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/dsu.h.C3A516C62B7F29D1.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/dsu.h.C3A516C62B7F29D1.idx deleted file mode 100644 index 1b297abbacdd1d51389c946300d789d49089c9ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmWIYbaQ*c#K7R3;#rZKT9U}Zz`!5?#Kk2=ndLyb0f;N+$o6>i9WvlytzMXPaFT7( zWmX~f6+VA1?Ks7Lb7fVnQdqv5)LzZ3V{<$9m_O$I;+G>(6?t25*X6}E3QRNSAG^Qg z;B(fT(ARGFlI-1m1K0jZjA`i!&ATqTC^lO4xzQBQ>=W$?Ys%L#s?^0?`og^9wcZ(q z;>z44pw$dTscFR;K=%m<@S5f9n9#<^#c0oAF9MPR0pY!+Czrl=;|B`6ak#;SCGB&j zhSkUB1BHV)g2W(d85rcVdl)#RG9!V)RvcF1Fkuz;1yNs)E~o$sTXR^$g|+X-Z_u$h z-v|`8}3Fp{>!rmO-aN!KswCGx%WfDMP7Y-M=+0)~@ z;;%goe-9Lva+!p

    yl30NW9(WC F3;^N(w@3g0 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/eic.h.0ADFC6E245F30225.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/eic.h.0ADFC6E245F30225.idx deleted file mode 100644 index 1e52ba7beed9ea3cddea97c97da104017c7a1ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmWIYbaVT|$iU#7;#rZKT9U}Zz`!5?#Kk2=nWaFw0f;N+$o6=1F*)+EK6gsKu(Z1H zvC{_zXP-EK_g~7M-PgAleqFVo!h2JbvEb1c=d52$yt%OC`@g211>UtzqPybe-oL4G zP5Q>{t#cPG|2WrF_4BXxN=4S$^ZKN(w0(6uSgJMIR8#)w9f>UNatZDc5} z%uNDX%utk?R_p|H9asD08?Ap&PiN#}H0Cgt07-#>@U_CTT~4(*Kw&)&JrRf?1A|uE z>_gwzubKxGHsvrChY6e9*suR+dW`^3*oebO3?>}&>{D>)uT2s_VKWXhxN!Z$hPG!} z7yki;EjTRThO}Q=lo07>(F+td;V^-_WRj>%z0rOhJD{)uhXGvmq`iOEU)ra`1{5~r zFoX+l-%-J{GUR3;P}qjU25#liuNi!AzO$qPh4ne~;lk${!w=64TXqU4Y|dd0H{|jR zm&U4=vpPUwTMk=cn0FqeZ0wwID0T)=SdK$Z7A9Pjnv)1(7Z)WLa|3B6M!jp_)V?3G IsbpXP00h;L-v9sr diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/eic.h.5A26C2CC2A25DEA7.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/eic.h.5A26C2CC2A25DEA7.idx deleted file mode 100644 index 9ee04056457ac390b5c05bd721f36118134691d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21632 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/evsys.h.18972C119CEFC9BF.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/evsys.h.18972C119CEFC9BF.idx deleted file mode 100644 index 1d6febb5f02e423891387ec2201244024224fceb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20638 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ΞI$r Txq&njqord&YL9&70R{#DsWhlt diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_atomic.c.4799E048D52EAEF5.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_atomic.c.4799E048D52EAEF5.idx deleted file mode 100644 index 3429d9e6e1a2e55593ef3af342f388704bd5b3d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1224 zcmWIYbaOkv!oc91;#rZKT9OE4G6(>1aY<3;YbFMUiR=sv6?3kJdgotu5V%)dcT~<| z%a+%N{N|#M_8a$2wyHh2(!-<7#@M<)-|oCc zM#FmU^(md|S{t0a*W^sOx7@0&Rwr7rc>SVBK93bDL(cKBNk4DUe#>R?vf0SSzw~Vl z&y7<8ODja=zOh?a$cXFM@f|rW?1`o_hGg;4ts!tgB`jidGu;mgUdz3s@5KSo#Y?VLRva zS)t55?{3W23%w)qGIQ3g|81(N|NSo6?Tggd_o9Pqwa_eAkGqi!hhz)i-gLfkzVN%J zTZNhISDQ-yN)Pp7WOsBa2*)_TD z?IPJ7|6XkF=4f2)?cXC@6!Z3NqpDH-NsF|50^q@zI^%nFo#p(qFD(sR(x<&vNlAZxZrZ9>DLYe^wFSO3IpBJATXwbwgQbnZ zb*W81bbTd`Rj+;Y%YFUTH1D>XueU1LmPaptX!ha7*IN%l)mhSxWSpqtm>#aX?t$go z&ND}h%i2${XT0aWJVD%GTI#0NiYl`^-IrLo9Qk0?yKtq(^dmA?tQzlTq-!%ZuZ~vL zo1`hw*kaJCSE<(-Q0F6l&Lhe@S~WFunQXqJPD1F4+$jsKu2`Df;^TQb>!w$ZT$Jcs zkM{PPj%5uV9Z4}aONyFK2wg1O6{-4ikFVMb_xJmlpExXEHo?imQO{;|qA^pY{><$g z>P&VR-P^L%`{`M)29cQ4G7@K&2IL<8Q1#=qYW*Wohpi$uv2yZH-Sa)pc7~bha+-L( z_buh_5pj4_Fr#8yEPI=l0zz2={ef9ltnmYK@+ed>@}&hm@5N^40ZLvdwpQW`MrJFGLD^K|Er z>pTp43=GDmtfo>%nXH*o44f=%EKFvGj7E$eghe4cxibnN1CVW)!8S6~6}B#!#l$5fd3dFyWmHYn H*tHk{#O>*C diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_atomic.h.1F11D2E442C04792.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_atomic.h.1F11D2E442C04792.idx deleted file mode 100644 index 399bc7c2559935a83a843bd9d442ee2f6a995b69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmWIYbaQKCW?*nm@vO*AElFfyU|U<HXe_)53{iGX0Me;TlSD1gg39(L8UC3={>%K{F;_tZ4@Ah$h zlYSv$WmKTPvv$S{1=b4&8Ov7Y{_N7^_!&`mL66(B_DZ-OQ{pw2t(Sc{kKWvSm)}c$ z($Qse|L4aj{omxNy(9nRmd$~MiwdkfUs@^&ojcZ>UVp0Y+;06DPi)Uzn|(&-I-kyE zg+H4fy?Hv%F!kGqf9o60J_b5#?*^86Tt;Rh$HQ(tc=O^6_a?o2fA-wsbCgo%+;%H; zvuO-A)X?a!)76tdg0~zDk)1l<>G6XC##wLOBb@`e4~J=*TCI@| z*}nG7y;bLB_MPTge5;gwi`d&=%&+5?316Qduz9*$C{O7w@hz)5cV{ZA_8dMH7ay9D zxrfo~i1w#rsohzbDVO(g6^i|TH1l4|I`JT}PsgW;MY?@`7iH$G5dDX(V)LfM48@hX zNgcqrby#OO=jqNL*LfJYfIJZ3&1B7#V&G(9XJr!PVdQ1>DBODc-+BWH9tIAG0tVh# z)>w!NMzD&xx7$N^6lM!?Gw=ho8w(oCf(f7*3=BX7G-K!DJ64|^)#Z5@IALZKa27}d zRj{!!3vdHf6s4vWKLW~ex+cyI=Quotk&D-v!&wfhnt^N0hqE@b{yk&j;Wg$k7J%8v z!&|^mzyUKI<`+gzh##PuVIBYqgB=bP_THdXr>)c80<_7W!yj%F%xGpVh$o<`d3a-` zW7T0s@$hC!XR5>OgV_(X0PHKMmM4<_J5(-ix&yR8i9-o)K~ZW>B1lDXQF5_3h`|RU Tz<`POGk;`-atxO!BOe0*@_s}Y diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_delay.c.9B628976838FA069.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_delay.c.9B628976838FA069.idx deleted file mode 100644 index 1e768f2975e5dc006e0feb844a8f854080c476f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1392 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_init.c.FD13AD670B1E3EBC.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_init.c.FD13AD670B1E3EBC.idx deleted file mode 100644 index 7d7fe0e73f1607e373ddeb4109c9b7b325187291..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 726 zcmWIYbaOk$#K7R3;#rZKT9U}Zz`!5?#Kk2=nZFqs82W(%6?686#O7Z%5cyhM?<(gw z`SCK>%VsP27tdX$q;-Mo5vyj=+u27R^uM^J_w;`8W|6JZ)v`g8em|9&UtB9}rn&F^ z1&3f82c_NZN~HlSdN}MvrOwK2SYSQtf%+B+#ndlHKOJR#x+Ee0p3%9NQrdS|dAq+o zYBKUn;?7jOSSW8(Fv0rpkF3(~|6beP+;#6>UfAYW&ZVW%*L&8V4(d7oG;R02u2cts z?DaX<44#F4=*@JO=ezV(?2$z2C9dLqB_2;wa%!f%(_Q!=a>?9~;&>(g3jt9GHsZ;Ib}t;$6kej0t~TESMg^`qLiR?|%s+P~~% zoa!r!{tp=|Z=91XUv-{aXv%{FceiYx`RN?n{UX=(e2%X+-8S@V;4n-HIk5F$>x(Al zi_Q6)KQ7wh$SY#ysr$Y9aZ7KluTp!l*eS33ul66Cb@xSAR-E5y&Bul>U0;9xYWkR6 zEs0AbTHrRLPxpC=I)SGe@9ywzVLSUi@Y~$LiS;a<_XGlXe1Dnd+?6Ql=X2EHHZ5Jx zmdkdq#N^f21OF`>yzwz(e1~cGpo;hbkc@@%a6XOh|s5N*31+8`9W4= zS>ClZhGKaw6`_pB4Xrz0{5!qv{I73^boiGoi+8O3lWQ<*r^)=Qoqrh*nDj<46j$aZ zDFM@htP8h6X0ZHM9tK?o25oIlZAmRhPDe=wP8KF6MmG=O0G2@&f3iS z_l%K8Tbn_f1Evv1Gjf4-0~LZnQEE;ih*4aWTr3WxnYFK!H*?RMyJZ`r7K0X837AOE zP07&&vQ*X8Sy`l2G!)n*W#nb0l-cDtxVU+E`S=9{g@i>!IXK0{B@}g(nAI2nhN3Bh diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_init.h.E44F594ECF01474C.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_init.h.E44F594ECF01474C.idx deleted file mode 100644 index 4aef2dc2181b32a9e08f2692301d337c1a3037ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmWIYbaT^VVqkDi@vO*AElFfyU|eCHZahc04 zJWGRG#SIpx@TDh*H#~~Cdq->c&1thj+~v%pUaL$z%lLKO9?rRSPk(fVO{$an_CjXY zRpZ$k)n|w4XIM;WusZ7Z%DL3t=8UstqV2Z4+WU(Zzl!^QESu|EdV6VJ_Kw~E>Qj$* z=j6U+T>7{6*d~dbu$fIZYoY^#RhHK={D{5up|~P$i=3_p(FzpWw_Bd$FAmY@MfSP xmW-C%Fxz1?P&LR2Fx3o2sX2)tPH|Cku{emq4kEySi7l?}j)hRt;cblU3;^9{#t{Gj diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_io.c.BB58C8A6035381D7.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_io.c.BB58C8A6035381D7.idx deleted file mode 100644 index 98f9df9b1449d164f765c29f4b0cf35838e65608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1494 zcmWIYbaOk$%D~{9;#rZKT9U}Zz`!5?#Kk2=nZ?Wu3=cRN7%JxM4LhB8+e+Z-t@wkk z;W{BvYB(&x-}xEQ4{!2aGjcXCGN&7Bg2^sR)<-Iu%F#yQdM9rQuTy)*Sm>AyFTi! z3X5}?U@E(4#YA%_{+&At&YZd@ZS5NJnX_m^i^EGs#-Cvew61L3u)MdrFZr#?Nu{c{N4+73K-U?OI#4B zS@%vzYLW8us}2bh+JgPdZR&9a3T8sjEUJmSM)iOSB ze3UJq_iCEOlNUDmpE9pZQ_6cNkyCSe@dJiqUUzd&t?rdwp17#L-MW|k@%Sn@KI-DrO&%&^PJ${pIBLM@K59CC*ILbU!lRc=6q9KWe+?)y$r& zlFYE__|p4F9C(|57d+AHJ1~DnUHvxmGyfR&PpavvbE|(Nsrv8fp6Zk%68|o_JUmxm zm>;)?p?mo@!8*U(_N^D0xMxh_nLl^#{(sMPZBBps^yN`b*dFaZ|I1#zxVqz`E{|uMqGHY383{8F z#N4vX^i}7$lgK+q<>b`Fi4NY5d9}*ci(=xP8VhFi8Mu}nHs@Dey+!3{V%-G!lpB?H z`6U%!wGN-|IbylIS7ExLq`LgtpFC4!E!!iX#uWUyc4^<#GY`KvMe$BoDqQw$yWp;A z+oZ)NG-(Dl6)k;WB*t_6(7%{Z)}NSz3a07w_n%rkeMfqPr|dL|E*0y!GM*2)SaiB- zrit(NlTmL-eUmcrYEY-J(?5;BrOmls8UMLn^rh7^7o^X-ylx4f)m7)C-`hC!RvwOg zX}sg&12L^+bLT}ndhJyn75|7jS;z2xPwGd8;>z5l6kr}?vszt}oDmwz!(ht5pl`@w zD4-Y05h}pI$->IaWTeZe$2jetHm4oGLy-1k6byc^S7V;V`2e22PVt{b`H#jqSTy3kU7Og$;HY*npxjyTJGxW zE-U{r=@~HS!K`3lFhDSqb5n9Ofm}^>ZB7n(4ILFOSp{W9IdyI&9zK2nK_OugQ894| QNgiG)X&F^RHFhlq07U>jumAu6 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_io.h.E950E0EAB7D84858.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_io.h.E950E0EAB7D84858.idx deleted file mode 100644 index 507db366888cb751691dc29b2f87d784f246b2e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1394 zcmWIYbaTsMWngel@vO*AElFfyU| zc8hBEWSuFGqWQf!MWQnDd<{35^o8b}ocbj8%%=bMCQiwDqq1AY_KNsv+)afS0+{k)%E zXppwD>E?OaRmjtGNiObdCU-5n-{ED=Y*(*c4dCPBOex{!+4hO?>ckV42C70EN>mn< z9AW5-()_(jNilH32iMaFuP?3O(snOdXMT!p&8yp!Htgyu;WT(xbsfJ`1q0WV00KeEM{*>Fdfv;(CXUyPaFKEZ1d! zxx_he51(buJf7g6WG|Z6zfjKUSKgGknk6+MzyAEon)RAfPt&gb`jdX+#fQYN z?_H#HK76y6*^KnaXYOaW&G@@wrsKp~^Izsg>6@#irVD7~?U%TAb<*wI>reD7^4HkB ztLTgQ@imi{@v>_jl-4;?6u4l*KkXA)*HVH$E)#!ozV%Ax-*}H|b?M(uXG?Dju2d{4 zdYBivlqog7VR#s%uRX)Okr$Rt4oqILPL2N zgn&E{;11;o6=2|G;b3Fs6EgypjKLfWLkDCCPVBi2HQXtU3R4{Mz z(N_W748lOoRzg-XU;=0Y0|O8NO|ZLl{llS`*#>M3d_Wa0>@Ff;0<3}&tYX?dZB9FW zi3lEWst1|Moz9WY4^+X)&J1?NZcXuj%Xjfk;${#8O4z1P0s$AYlkME>t2^73MM??sV~V6_|USewo!gnS9$3 ztz*)WUjNl7m~TQp)N?~nx)&q%!SdwfCR@j)L@uaV2FX@8DiaC2jee^GRS7BOvfm0@s=tDYnwWBns}x9Fq&#(rXEe|Jm^HT%}1o_}xlMq#7H z@z>*=eeIo&6f&D^b4dLpm$T&5Yu<{k{|n~MP2A8vW6#pl)y!Rzs{a|n1=!alFjU>L zWW92=+5MoK_ku%Ox0V~eNc!37W_~Pb*7b9bjY>OqUo4m^zb9*JPUa3i!Celm?h>*` zZZ#~r^={IYA2%jATsKXr+wA$Rz=65v)0B>;HZcXU$YA|FFZN~p&P~~QOW4gz^MK3u zR51}(AH`xJ>k58*;TDUw+?IuFWR%M5mRM*Wn#yrPV)2$mC$8`EIO>)$dFva&7c~wA zwiSXKw}k9kXKs+7s;SswC0ShS;GXnCtn`SVgn)GJY@K2^_5B++O|hx_vf5_qxi*i< z+deMoVqSgU|3vbhcX~F8Jr7O4%}hPNsPdPHZQu{KM@~QbBGVfiBeD;jI~TY2&lk4i ztD^Squ&~y-KTTbKRo8~kiyl0#t=wo8|8eQ(1LxP8cpiLl{La?AW0pCtVbX4^McZCy zW|S>i;k)DMJKjY}$eFj#F!3nsnYp)=Zt~}zB9eG|S7pA? zFYCuShgIxm_1;*P=PSWf#i3Wp>65wt!P?gi-xH*B)bx8M&vfoS-gdk9-44#$R-?~5 zpI+j)y<&g!#n*+WPA^W1JHyExs4F#lp1pdGcSXm!Znhs<&6@uX?tbrK`62wS)D)(p z_bM(vj^uqK%aLEG|LMW2imAcZZIyPeFByL<_oL~QQQlLGk$JZS50sfmB&tgY54{bWA!B`%GjxH31%1(@!I+1yw4GMYH@ zFc>i~=$o;aaq8N#*m5#(vam8U8R{_VGS1chbah#pKspbDF;Imor>m5%3#W?|Pz4JM zqX|ewQEFQ8F`!utm9l2FxBu*6y%htR-kGNK??<#s`ej8UWNpIZvhIM37Cn)gkgpO4FS0fX2_ZwZ;Q)* zKlNn-8p3M93lrwix8<+}<#sT5mUlv))9d6_ppn*$*1Rwyi&AqELGr~#$;HY*npyvV z1anp>PqYq`t{#IfSSy&&LokzbQ*tzcTn%+C4t6B< diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_sleep.h.E43A4A5962C2B4A7.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_sleep.h.E43A4A5962C2B4A7.idx deleted file mode 100644 index c0ba72b2bf7f943b9b37f94ea7a5562978d83183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 696 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_usart_sync.h.19FBB2E62E3780AD.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hal_usart_sync.h.19FBB2E62E3780AD.idx deleted file mode 100644 index 15bb7d3648c135fd5f888157c057ccf9e0b483a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3268 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 BurL4s diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hmatrixb.h.9965678B84DD9FF8.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hmatrixb.h.9965678B84DD9FF8.idx deleted file mode 100644 index 4156622189b1964bae59fa5a1b5e2a5b744edac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1734 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_delay.h.589640957CA9FEFE.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_delay.h.589640957CA9FEFE.idx deleted file mode 100644 index 27ffb07e046480b53fc2b1ca34adffa8b0af53c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852 zcmWIYbaV4zW?*nm@vO*AElFfyU|e;^55y9^p@x!ca%ydIwgud-)ePp ztsjR-(Zz!gl>bE}pSWmuEugQpf03_`u>gDg_C~Hucl!eQ^#?_|8aHnG&2E4ElKjRG z)y)C_QZf?OWHvu!Jnz5k;qtjZJ;TrVMPzaL`#rF?S}mMj`fAO;wVOY0{{8cki=0x3 z+`B(+qIvJ1AD!G-#gU^FSz+3C`>pW{)j4;>~@1!U{&FFZOq&~CniDfi|*Pt%p9igrv1dL}eEZtXhCyF5R!%deLuHSRb!) zy;+uLQgwGXp97EUA9>qWx(fx!25J z%fnDynVU2L7+*FscD5fkV(sT);AdbEJ;KO&gi%^JkTX!4fs=)km03)XQJ67hf^NIk z%FjYP417Q}rx{sKGYSaXv)T&))o`;ji3*qo2w9IFrV_U7?0@B-CbVr0FLkr0y zr9ds19+($_dchupXk~yY1`31y0u_eY2owf8A1eIEfbAyh-jH{UT*68mO0rN<28N>4 goJ0_(xG1?;9K;X-5n#Y1T$a_keEZ(qxr`zV040Dp4FCWD diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dma.h.E5C1BA76ACA209A3.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dma.h.E5C1BA76ACA209A3.idx deleted file mode 100644 index 87120d645fdc7f56d2a63a2352bd67c75bfab708..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2594 zcmYjS3pkWnA3sN!mw64j-!G#OhIM(}a$RyMrR*-HA=y|$P1u%^w!X&dVnntHPd=;) zedV@oR@QEtHu)qa)FRi-*M2@>*=j@koq5ffn&+ASGv|MP=lp;F%kNBRkiWmKA^^U7 zg3^;?({{@O094R7H7zB9zX||F769qzTf;Vm=-H_ZJN$Hu!Q#k-T|8&$teBA9E3*8p zpWWH;nOc)x=2XCQ-=$Z1k6V5XklCSPEH~bM&w0M9Gw9{rSH%VS1@qlif^Xf+?A{iB z?$ zeCXs{FZ*n~Vb=e0Mo^c|CF_Z?bd@iedB-`LZx*a#KANad7&PhFzOO>#Nc5v4^ZsXp zTa^lWP{=*BnI8C}@(`Q*ML7~$%|HTZg$s--BmKg5YM za&NXy{m@{8n&IuS(XkiP3Q>1%D}{3t*4_2tP9&wDXKOARoP6q2KbDf8@WmHGRYrVn zKc8)+-`jcBg+nYQwXR>I_q)-Wfsi*g7Z*dH%CU9~XZLqb+ssAz8?o~;hSX;+)lYxy zm08_ldLV21JN7}Z(k)wl;$~@wJpc9Cf9lHaJhJo19BI`KF*{etyP-4qqF_2XpfcU~ zR$F^QaF+YY#DNlrxkIePs6?|lv!$1TZe&Z#fcE{Jx|1AXMxue!jO|s!oXOCVUDvEn zO;+a~m~W)C9!4p*&1(K~({rqnxwLa_Y+zi6L0|D`_d(h2J*-N{&76ps)WAB;?XTI( zdl!^P?_ZjDMhd`zg@^SqCe0piWbauVy5DnSb5C$dY_m6!_p^riehWf}sA7t$o=3ls zyKsuFd|2N$YRJ<6uk0&)^VF8>U4J%uSIP^+BTIYh+%zJ5R0r(-QZ|?cwW%4&F~?;9 zkTGR0>G=5-lE4z_Qv9K~1a}QkkkwsHxO@O9s8;&faz0RCD+436>FVejL>q)aURgx^rNG1svIc@+Q2MXafi_0)5=R%?SJ7qE;md)~q-HC4z(q8lgM1SR@@KobjPm zd;EZjJTOO5{2Bi0v{{J)0E&|EQLTf?aOJ8r$>cnl|+Kv4E`wpaQi5^=Ko_ zrTJg3T}}Dph^GnS>B;capbgCvl@sy2RjFOBSKa+zWnd_-m#(WlZD_M_1wL$v{&lKN76Pm~u#zLlcBCP-oDXCp-68M}n|v5?EnO z4V0^aS_q@9yvofEv3XK-OexK~N|OcbQ9c1$0S2^@<})(nXMeXb$AJW<_znRi1aPHl zvUHq@xnrHThaBcfV1_ZFMCfW1MMFcLMoekOenl*}WXJ(yan5qCTC_n3R1&%>f2_Us z^Nc9*FblY%8Sx^#G-xB`krEr1`UCn$!1D+dR_0I=a8*j?de^o|F9nhc1)&TnBZ>>S z419*9;y@fj+GC0bcns;(P<+5=NGF66Kp=n&Y4(&50wH8bJA(!kh#*5cxl}m><&c59 zqIhMt%f007BqY&6HzE8GAH-sTinK^@U9dusTPzPeMEH7?tV9r!bg>%b6evfAqq@Wk zNXpC5%LED$sj?rvg(!g^=i9avF0$8xqk=HZU2qAyGQskjNZG5NjN>!^tDOMAZ^J77*H? zr7Uq{W+)r6h$UV$cQw$h1_tBscmh#0v668OQeu;Ki;twHe40wXCeHW*0Gy;hWvJvM O+`Suxh66IrPT>EsmSaKy diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dmac.c.86F61D64F5A16AB4.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dmac.c.86F61D64F5A16AB4.idx deleted file mode 100644 index 51367895e943f603caf1529cae93069772d157b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 704 zcmWIYbaUIm#K7R3;#rZKT9U}Zz`!5?#Kk2=nGYEm7-q6DFjUMr8seLO+koflf6a`e zF9WtP7iG*|bYepS^QJ_1$B7xybN4BnjQ#fB{kZq!oSn;d&ZwDk(^-nrDSb9lT!4c+1+8M8PBuN%iG_dPic*~tN;A+ui)BheU@g|(2pN~?}*V2 z`(vo`gnNC?`of;o52P>m+2t+i7W>>`mATXMjup$Vq?~{1GP>k!DzpV)U_FT@j z{6TxjH;v?=hY6fscLIbQSm*xBM&?2x|{6c%*D zWN-LU7JkX?)5LCPv-usZb5j+)(=glRcJQ5>526D~N*I>DzB`Li)n|tDe32%z%wxMB zOmP2_n{Tr|XTe{a@=3Ga#rHlob9YR=G&gPCnlEebNoHSLeERk4tRP>BCyUb8zJLEt zB1hu9s>)5Jc;1sH|7RWI_B{9JQ{tIRlPBG_n&K2G za>c&!77y#?rz<|I{{PR`vF3bdeqR2Ov+NyQYd-#ETj5vtWeI!ihGlZsN=?_kdh9CU z=D6`##GeyCZ(ix2{Bc=q&yH8;{Avs;tiP2f+0M$#YUp;ErRTKIb$YUx(d7lxxVbze z0>vEl^;^GBC`=0T|Lgdlq3U4J28QCw+$3OxGZdw!6^jFDJ)MIOBUWFKVC2!&V9^i( zNr6F8YEB}EQCyT<91LP;f(QsuhcOr!v=B^fIFng-)sx-)v!>o?Wz*D9*V5Ku(16P^ z=pdNMxhXjyW0loanVBS&)Z|#irDUZg6j^21I5@eud3gEw1q6kJ+1N!y#pLxA7*!Ym DvXc{y diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dmac_config.h.9A46FF031EF710D1.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_dmac_config.h.9A46FF031EF710D1.idx deleted file mode 100644 index bf66ab253f0450eda6fa79223c2a9994ee43a646..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6532 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 H)zbPuz_r$o diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gclk.c.C52E412A1AFC6678.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gclk.c.C52E412A1AFC6678.idx deleted file mode 100644 index 90c64d5a2641e1a1be29405944d4817846e8b46e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2028 zcmYk63piA17{|{y4x%$9gj~mEO`4`-G#7~|L$ph7A!W;Dly!@dh~-h_&R}NRog_=y zN>95fTWwOFL`hP_CPgBbT{X{^QnuPN>6`IA&w0-Gf6woIzwdkB_d7oBuC61h2;v;> zo*ctV3_%eD(I6gvVnU<}2|<2TMv&x+tA4?8-PYREuhU&j)^`^jS>*Bf_`1TqlKh{X zCN*$3aoC`RN(T22U%PY%4!MT@rlGugrZQ}Hpk%-xiT&Q+<=}Mqga`Y9WQT2JSD0{3 zOCmcY?x_v3Kam+#ICP*jg`e*Eo%md{{o(tWi;V$~r?*n)-K%T%T`O89-^Md&j>3S8 z8>|C$luZWrmDG*q4`%14O^Bvg#f|Ds?7O?4yZ+f3s_#vsb7nWHR^Mx_%^2@2+ce z?$#P>Bri(IX__b+%O)pQ{_5{@|6{*xtS@!B$A{WH8tuoL9Xe5`?~jbSFzB_IPw(s2 zcYS>ryO27GJ)-O&he|SvpRLWVn7LZ#71blv;PvT?hRoZ?$!aIO#*Q8QyPtcJ<+fp~ zwx45WKc?oJ*)!4d`7>$c%;wU#v#V~7t{vA7d_GI|s{F6&M9!tEYJD+}L2JL^q30S> zN5#m3zlu8J{r&D$7YDAs*>hL&uyvR`M!mDY;^eh81xs|NZX3NK|I<6`btoVqRk}^D zRFD_+aSO@zK}6f345Pw`Yha>rT$7&?6Y5HIg;jD?$tA7h8!^NRLGS{gTma0zz7Ry# zI>fkt{0*12P-{Y!<~GXe`l11Zpq;Y|Q-0&=bE z&~+rX!{jl6g`%NyGlsVVv|WK2270f%y!q$T1ZIcY&BG)Bl_)UkE#1Dsox?o@#@^0O zK)wzP7X!K&I71DO0@UUCnfqijec*?Xq6<|hiZcutCNNtlzFK*;nnDSHp#V@|6cjH5 zDrG<&YP(o^#;nuWHewUeXfy>bis8Kg?FDkZJwoY*&8;s-Vwa;>oV(5Eu(%8AG!Sa~6UvQ16PTP`^F5{V9QQ7INlcVz5yRf*=<8A?8Ab z!}|yV^F%!<(2U{r0Idgdy*EYmn1R%!jldYD3~L1@0A>QffI7Wx_=;4mO^3j2fQy$ z&~t@``c%#Je>Kw5EQz&P-Ygz8W4H)dh=48BSBmsOrtoDKfiYE>^U_rgRLg;U?M5@- zU7m|dCS}pgSS;u*Oa4|Nh=%%l$NAThob+%4ZqV46EXU>sAa`b5*~Z|kwZZA=6?3)*S?Aw25V*D`zRTMr!f+|{PUI;m)a)X(>}CpYOnH*^y&EWiKQE_T}Cd{GYX z9}hJqZu!Fh@Z0TQd|D+EDW4RZs@gUcTTLt%*l?u5FF7SeyE&(B;&0|vjoDroPHa;R zcYJxc@RHAtG|M@4LL!gF9QdN-GcR~FuHuUP(eU`&3%_r|pJj}um2YzVQMcc2N3wrq z-PW`G-ghll>NIVOvv)clqa3ouk$u;+a|>J5y}oX-@o~G)+UxTN%xcyoEl^8f#*jN~O zI2pMaCp`(_OS)5hiHCt5DCsQhtPUoCDp;ABz$%JT(~7x)X@G0ZhqE@b{yk&l;r3Vd z*M=D_u6aICkdGx1DD1}QCJi$WCe6qRu@PcBgVEQfti;|e3m93r-DKPpV5-}H9C;ZM z_`QXRhuc}t*%T%W-N>xHnxxQk1sg6i!;24Z>i?)wIk0oDjXI-w*fydgap172%|iV z@?@4)dFW$A^292HS`KPCGOwO)6Q;XGs!k!4a8N?4@cgvBrv!LQi%b?WX%*h_T!nOj zX$Qhv4&Krh(jB6l&4&{&Bi!QQ7EkK-8(e+2&ui#8LK+8Yv_-({?A|7q$~J_%EZn7I zY*scY$28hI2>CqZ)2@PF#SHg{d>xDMh=WJ8tFSG7N?F9Qg$UMQO%^qxJIUK`X{iKb zM{p!d8X4#4>{Al_3}bKbCNCQK`#af0^O>U<*9uT8km>uLef{&rzv|B-B(adh64*W* zef7l3p$LRt7J6AS@Q%jZD63wF-3Z|jPNsXOGTJq;GN%mVVit;70&&ghkB{YZjR;yE zw6tP{$UUS~vM&>%m4jAV@xctk8LQG1%QhQjVU%{2`s>R6J;u-qgdz@#XbY9yNLrO% zH6Otb{7BWR05R{1h8y8F^^8Yi50U3C+oLVyZ^bflhR z)7oeIWdK6D0O|jO1G)AFk04KkZXUXMvJM$3+7~_NQVS7k1gN1cjtnL)e^?sifY8T7 zADxcl4u-eS?LyTE)htxgEpvK$z&qO?W4}Q#@?fN=DF5KTuZ&K$mba?spq`#?q7Lq91xQ>^*Y!2N0j1t>^)R}F*Zi=P>7F@7Sz6Z*2(KAzmvFP^^wAzOfK z3gyi!e7g55+7WaD=mfIbmFhWcQdVCBf-TsRb6u(LDr}kicLK(R0u%}aZZ-vOZP*nS zf}r6+LnrW-zU<9*$^LB!c`W47{ddQ7&8eq+#ufw-h{(W(#2Wij)52vKn|UzPd2P7r zaydr*pa9|%zpMOLn9*_2afbcS6Rx3JJc*TEQ@b|dCkT1MujqX$z@@38~o+i1YcP~;LF*E80KFN Cn&PDZ diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gpio.h.2D749C9BAF8694B3.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gpio.h.2D749C9BAF8694B3.idx deleted file mode 100644 index 1ba11a6a592efafeb1ff1aaa917f102f9e856e5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2908 zcmYk82{=^!9>>p-v5p4A$hB`_48z!?BtuymuQgi+#Wg9n*U&rDBI_e1OIIXY%|t~W zk+)oe0_ssdv_xb*o^Z%R~PiH45Z%GJp*zL^O7akib z3_*}Ic(Y?;SoPo{R2G6bMIU@!|1)ACJ;*)Ut{ihLF;0Fs|IX&b!K`|bjA_l9VFxd< z5&6Hv4APUfJ&ilL^dsJ3V?Cj>v)n1$L1D^Vt&MwlrYE~KWs?zEhq%GrvF6l;sKCKI z8kcHXdv@>fzia!Q{GAD1<++kGle>F6^DE{uOeyV?-Zgg~XO&%|FBOvGFM96Ci_By? z@J`iL#O~}m;|*_&4%?<{wUFO6Rm8~jKV86xoMfBdE^(ZBx-eY&Hf=(?xnO?aTKxA& zmtG^wrjVgy4|4Z85iX|~Y|VA`XsN30R@L`C9TZR|N$U-`o48rDY3xycL&XLCIGJnf zeii@msO_+hVbavgEwQ+CN>swwlZ1zP-I@30&V>a#%k+J>`Nh=V74Aq*{GjPk*&viM z&Ez}Ene=>&?hsC8na=fGxYyRcVDqFC;9c3BIdZNYAN50J4YWuFvD#yGgqF_I{Dg1e>mHUi`#*enl4I8L%e*kS zVCKuK`Ni>{AHGlTG&{7AH%4)*cX~M<(rv=It31=t))YF=W5|A1n!L{bf=_uaBiE;3 zqj|#K?%8NYoiT;kTgnk-Fr7k7I%(D!E}lb^uIO7mJ%EBqqjC~bA!LC}jbX8YcK zJ`o3ByB6mg2ON=l9ZsT+9chtyK{jqWty)@8bs-ifJrX4^`djGUDD1}O?hES|f*|q1 zlw9-e-flR^6oRNOIG43(fW*PG4ZL6~ELp~jGiV+1#6x-zWD-M+AyauUkq483hC~pz zFhDe|xeALt1G5B36>%|lu|osu0vVEl!n#j2(C?AAV4Ze7JU~}G_1-JJMfJObCYI^h)|hjc-uSuimR z)~8m(#A;X{s1&3{(M+8&HH_DqB{>903CSemqJ)N3nYuFGsdFHUIs&u~DClIm4H^Ur zw4eSksqO*Qk#Rhv4>Ii_?$Dv8z{C_-2WW_R7|rwga!<(?7nSn_NCT;tWT%A&feSj> zS^bjsM!l~RcxXLvaV5HHQaMD9CQ!&piJ=}b;Sua8aAdHvEg~T}(}Ed7cq)s=vRS!7 zRE`nHa>W!>WRe1JSSc0Uds-H3vvMfF*|*@qb{G^AS3dXHo?V&{0jAqnf2=a4bKF*& zZcTyRSDUWQf=T~3t%i-OVXKup0mkoG4R6P;v1G6~M&5EK76s|G_5s8RHm)fjh3 zkpMcZNGt~!B|_S=7#ui0Y{7@=SY_CK1*XfKEh{m|5L-YPW{Z)9)CRD^YU`ylbrlEr zL15cT%t{8!hMh9tzD(EhH=_yN&#zOo%z)lf%o6z%i!O{fu#Mn`^)N0oes4<(c{|v) z7PH1=FK0rd$reM`vrJ}7uLdGW0{{Ut^ B64w9# diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gpio_base.h.8D66043F2D955D03.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_gpio_base.h.8D66043F2D955D03.idx deleted file mode 100644 index 69dd6cb1f4ee86adc5c1def9ce60dca401ad44b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3778 zcmZ9P3s@7!7RNK2h=73t;S~Z)AVflt5HLUx5>OD4C{m;#S1BR}#7C8Y0p+10n3h_3 zD7UDok<=F!L9JjFrGi?kLb0?+5yeVTq4=y=WB#*Thr z#g>AM*c2@D>G3<;ES6SXO55OH`%y(hhtYRm3RDH%-yiuUvZ?%G+(4=2;C1hi&JwGc zH6!esK?gg205vb`rlinThILi^&X%3|!__*o`23ceTEXwRvyVJkYdr6M=jL<8UEgG# z^?cA3#`w7PU1wan7aFy;QbXO#DPvBzdK@M+y~!HY%pWQQ zd$rHKE8^D)iwf&bwM3YH)7axRJEey)nzZZ4qOP0;b2XbsUmjC#8sJtY2dt>}WiRPV z^P{Raq;-cGZJCvcQ`0-%Se}xaSPcg3-DTNps09(vMxK1JX=mM+&wH2k3gY};{`qui z@X3LexDB4Fp91T{?wUV1ulBRN`)gY9m5_^qj+z$lj%V>tY)dnk>9y zG0VeA71PeIb~+(j-?@8f)zp<+Lw&P`F4_5~RW*c1ANpJR^_U>$v?zZ{6*)_5-ZPyY&c zhL@zZxp$p+^vi^6*pO|nmkW2yt>61*bzeo(`}dFhd9Q}^ee2m4i&yNk3QTgIxZhZhU;dU;b^M3M>RZdswE4G=Nery3s&DO(JuRh%2Z-!=kJtOf1|$gYUj61d zC?Bu)iW&{t5afErthg*?-F%UqAhnTs`dqD*%4ApW!_Uk5X7QJMo98f0Y8r=zYIAai z!lzw$cS?9Cx;gXg*s9i$^^afw`DVXY!1%GzpRySy&*vC3a|$$Dejd7K7xuHJ|Ml6M zvO|N5+NEutFMdvTQ050JRx8q9XvG$tjfUd+x#EIaP};|ipI5(5CJy zU(b6{AKP=qvB&<$O()NN`HZtO;fQ9@iuG;`!Ejka#*^ogzOU*-n1xnZ4W|F49#Y;L zr2n12#_8OWzURt09~6AfD?avJ{B-Rbf8`qd#24d?yqMJ4PUrAMXP zOXJUKBJW8e=2eS|91ng*lf1YZXuZth5HFQqF4wLWXfH(L*W2G_r7sPrUc2GIfOgK& zM?vY&QoX*7wS6O@#PFR>RXeY-Ql`v$HsII2`nv0TN=;mEN76`f)UH9Q7yIxCHlMkvgTsS{DI?LGYN_6;RYr&vQp31E}}H&z{B z)B!iBvY^u@RKKn;Y3;=CKBQA@p(>6M$7K})Mj_xrjj17+&ESIfI7B2u;0noA0+@!DK3@`5i zbUYa(Ln9_HquYghd=|zmm_o;S-n;-^invT5^V1yykMoL~r8_pB=$#m#GYnVwDuU3i z#x*b60{4wSGKAs6c~N@dLS+l|!p)0Yq!-RK(V7gG1d@zMk^{LOl>lK05bIoq4$mzC z3lXD30ON@wqZFO2Gil>p*YCm1_W<)fu%!Q9?v-9I^1b41;DiK|Sfj&=FAl|ksOEM! zEVq=qp|kk^f-hZi%jF9=yxCy01==hqv*%(`{yxI~NG#Ht%rOtkvqqv|?;}x{+f+Sp z?JC1n4k%=Bt(W@YxsfhF!&igVHfVVE&eJ!~UjKLysbG~9#f!9iKmZ~-oG zCP`=@G$u*J6zM5_a34LTFYc>H5*vvVxlW2p_2z;Ng7soX+C(}byJ&b6Gm1k}JTsny z8ia<+`En7;iiW4!r?N>}g|Fg~l*P$%MSjun9A*xOq+F+5E=hSdc}^s41I%qePg?+- z3V@z^J78|tpRWL%3gC(gK*K8mr&6EQfUO2DFOC+3d^L7hHKE`!5c#j=6r<>9zii9dj$B815M3jXjqAVm4g&>J21WAOUBoP*p zM3_d>q%9;*+CcK84J1$6K=Pywh!ZYrA3ZERV*<04#mf@V@N&Tk=IwXsd^&xiLD4WB zCz_BXqR~hqnu#Q$nMfjkuT<}M^a3xM?qMSj@GBRt5x=M=rrgE=3z?)7hxhj%E5AMQA^YD zZ2;Q_bewVFzILu>xDt9@2}G4Zj1HdJ`M*TUjo}73F~eYnE}F7ic5uP?AO}9yLa|Uo zq^9F4fT@6vb5s7hLH#7Z70RNpC|h&`)A8*9+fMGjP5P9R_#}Zvg)M6#)N3d)F7_g0 z2U`T|=FmM2ALhijF%qdpt_;R}_@)p>QY=s`CetkgpbQwIJC2T*15i%#?uGoADI0nA zFw3pLU@Ndh3wIx?PZ{L9_rL^vLVP|#+t6|GLUAG@WH>wv@vV=B)te44`M9m=F$@}L z5U8{6s~*)y-=(jy_`k>T>HBR##edoO!IOs?g~FdMlNaHrkqYQ>1rSvLe>C41!Qs;u zans-?8NL~z=-e&)I*tbA-If#m#uo%5HT0J!l#=Ab_tBdZi^LJ+oRlxsn+xUz>((I` zVZM{^Flf<@orCObitibCn3)DMZICY=p^2`{&aaoj;WA)W2AD{X9^o($@tT8%?`>`E zZJ5CkL47$eD+lm3X!81_y6wQ62!|>-p)^o3P_n44U>M>}2&qThs4+eFgC9Y4JczeN zn~ki)XSMhAk7Kln)FAe|njBMx{={ejkbbCbxiskkZ~DEINru;$k=38SFOu$#n7{vru*y2R zK~iU>y3(S?*wb30pi(z8^QBg+yG zB-GGiFI)Jp8@cq@w8Gg@T^Pat%Aawsb<$oBjU6B6JoA|-YB}y<2VL5~lbR029??sWci0{7 z<6|j25jkBrlGbfJ;kPef^RGN5QB50D!@W4oRwd<9q)qgF-~FjftKPmNJwGXp)a;hT zHd;4{DwH$hZ>ye-zPX2#i1OBUMLY=};}5j%E{q$njy|AM>z`P$)N-}`O5JTUrd{Bv z)~g*{7S(0R)C&9CcX?a&2D_5?tM6v#2zz}4IxOWJP143mL3N8X2( z9sI^<>vjEk(hC94;$vhC3lS9<=np3l@bXMc++R&LF1PJp7;X^V*+ll+_4u{0y`uX@?V}h`2^C2~wvw z>!f%jt^eumiA!O5BJ^QEO9x|zyEl_$e`(0_jjGwsIQnoXS|I=%UP?}2Ah@Z0l{4;KtX_0LN-Ev(c1kjUc&83@h| z_q6ram(Hv7jO|#!$z80mSMyL^@C%%H@-j1w(1Jpy=j&-@9f%y+=Q8|in+pw z4;P*DZLh4Gtn7Fg;l292;K=!tJ({IgHq9UG5%HRaOloem%_#O>m+8?Q)IFY8dBc5D zqFERC{TRP*m$?7mR#I?BduMdRiDS#tCuoOP4-Y3b6dp*;+Hcst)qB&?m_6@oMxWV+ zNM0)C7FwTq?r+p4vYSvY4A&$x-y3g#J7Q=1`$AD<^`jh}+TG)awDhe4{tAB6g>_tRdsH^#6GjxBSKIW+}LvEmj^005H5<{41|&}HTZ03@N!b-lG}_f-a&zy<(bA48>&!6loZ zN)zNFl$QE5PdkLN&z;eB?xsf?6IdWr2SIcY`eY~(s*f;FRsG!KPOD|pb<|^Jx7H~)V0*=6l3ZM6* zwNzg;)&M53LVXO-i2*u?lt4lPIaDVqR3`=ZN-k_x+i{x(=Aur#wY|AiP_UdZxpwEf zGnG6wV2J8;WxH~y@I@z;1;eg~msZ6yff>rPoglU&y%LGUDZP}bEN9F&f+{^F0Sh>y zES}n)`czP4xi-9G_KEQk0TY-aj=co2moOkRhztX&QYDI`rRe(oHKxo@Y@m-Sv4{5h zRQN)%E~TDJYCCnfs(^zK9yAXFDo_YDY62bvXXdXOiwt4{bCl;Top?((AsZmk08OY& z1eNLKw@zQh6YnC~U?$>mgpOP)e39u*=C!h!TDLk_z!hm9zzLX51w}t^eGTKba2#n& zV2Sdy(1{khIavgWB500S^fYNyo`3tD+W#u_dBFnqh$WB{IGYLzmgJ~)DHqU0DJO55 z=YDn2o53Vq{aqL0BVm%EAe5%KK%@`|X^P<`6G0+PaWrHG$e<}iMl%mYkfyi}=q>>< zq$#c$suUDKnxY9bH9!JsyYN6E#Xtk3VKEtHFWWo{CkK_7h-i@*F8fR*hHJ!dJ^s)7 z*!Wm)-yQ*EkVb@&iOeTt&uoVs6XllN|3W5t1X>({_Bb*27-hzkw@kqSlk|dKTKEbw zNpI+_g~u414y0qNk$;3`LK~F3$d_?xXjyJ3@(t`JD7VZ?86tz5dT@J4E1A9E(ZjjMZS0LK7hm*Ty6hO%i!u42@}q>z6}g zCW3CbLD^YbiJ=D;P$rCB5%l>ij0BoXp!=6YW77b=@X*MFvuJ{Iv2fTAQNJ=X#PVYk zM9VS<#O-76L(4MbQ!L9T6p1W1I(gT4JP=-Haahe`xkt|zcp9!i>hlS{4o-%ZQ({bc zokBWK=s6u*8I}pJB7&hDapbVd)bSVEKrXU>DE@cDJ=G;hO(2h N3vkBk0Jwa9{XgDHo9h4o diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_i2c_m_sync.h.13148CFC83644188.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_i2c_m_sync.h.13148CFC83644188.idx deleted file mode 100644 index e1ce7cf690a2cc071fd0812889157799039f95a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2684 zcmYjS3sjRw7M>p{nIyjv2ts&S;13#kiHbqwQC=bt@Bx9cNI=jOba@%x0`&os)`B9m zyb8-fL~I4@qOelzs;EZ_MX^>axW{4uKb8^qgH+Syb``tU=AL#4t zox%dZbFXhkyfh_B0|20fe#t4aebs6JxUvDrsOk*~NPJ{RK4`ysRK9ZXbm7C-r4u1> zx6*k1kK3*nSq%1Dit=5fFWq|oKfcp8C%!bitQN zNByP?k{oifbkg?kkDU!Z_tNyN^~ff9L=k*h--DLZ!bGFU#qJpyHL&zBOb=O zk8ASp>}>nT70-b8?F+k74<8i&DWB^&V70K*@xG=0F$eq23tQAY!v_k?EH+-L)pQq3 zoQvKnnp>G$S6EgA_2WyQJnMd;u_4jncpqF->vqg6M#E6nH~X@Wq5Cvrz_IJxvp&BE z^Ud=8^2?NoWy#5=7e*eZGx~|lse9wwkk>e8r51IPZ zsqweF&$VRw6a{TH%NlI`w5em);gjO4-FlDg?q$Dz=qB=yCxbpPw(0kZpS>7+dTzQo zCs0(@`?_mjtY@}ygPWmMP`&mk+wirWd!&-cmYQc-?;<-@ak|e7AMzk8J~9#S-S5q#yDoEe5`b4*%>({e|lh*%K8tC115&mkB2l z^(KYin>t?K*7In+2^O#aR1(x;B%ouI5#Zt9roh=O)~hgG`{Z8R;})Kvx>XJ zmAx-~Z25PJ`AqRD=TCpkDL>p*a@YG$x6wG+E@_wJ%=x$Z{q?)wjB^9)@+@`EC+o*Z zi`hY~U$|Z8pUpm49qmwGT-@y?Smkp2Oyh{#{WIBL4LxS=E7K`&9@qNiiuY95s#=N1 zP2qHcV-&ya(syU#x=t58`XZ6>pj1= zBSu{$&__8GvtTi*Is;}b)=bbj$VXoP{Pj$*CkI#|=EPjF9&J=H>PzZ6DqKuLHNgth z;UGrP3fiD50ASJ`Zf+n76Zr9+Bv^@VxyFLmSf*410UHQYN5)4&qQU0KTV5mw%Qvg~B z1|AUg>YT~Us$)Y0i&_iUqJkC|t8uE=x$^y}8i~$}8i=63&NmQ}211JebMG|0ICQP( zAUf{_z0kv0Tt@5dmJ_L4Y7lG#ZFDef+yQKOp#nVwdqPiL4CA+nV8z441e=fS6>HiI z|AOGna5EbB#f4ugWG%i>C5%`zOoW( zCRPw-6?g_v%?j zh7!iKp)d-?z_ntnK(In6aIJAZF%_ZbB@qaAgpNoC7FR+?q^d~og+-pq zW8$4}^9Yg(AOavB>dL6xiNoI;-9X;f&|1YIKBdN5R3T+1Bqf0oJ=|_Qe<)q03@P1k zJ?gAQ?NOZ;L$MCdk3?mdNSGWjrWoa49pHqo$Ii< zIy%--?`^?3tMO1KvYyCyI<%*K-@~OxY~MTNS8h=m6|!rpTGaOOw_Se_Q#N_OmRCbw zJg0ir&~5BTpGcu!hOL@3ZQ-?cj1 z>pL~wge_0U`tEDhY$i7+pIFi~JF(h2uEK!Zx2xK$L(F$*_{$E%o(W&?UZ?H+qS!N? z*Kcth*IR}jIIerbDrs5S`q^bVkJi6$i47EXg!~aQ7SR(Bx14|Q$~v>JOVYY8b)^dK z^pBQ29}gGq+;n+ZoGl$u5tYkh^$d&lZ~xd@IP)y`(7q?*fjuUlZL*3zZ&h)>pLr_a zWfb{MP3f2((uj<- zc#(5ZFLQQ#S9|}WAW{3>7YX8*4$nN!*J&rW>5NHcPtR21ZJH^XDJ{9Brop*a_PP}| z6tXu|hrAnoC7S3BZoA^s+-0@;yTM7PC)1n+$-feJI1~ky7nIiahUc%!D+?NwOQQ7O zHw4$Q^T%A5q`a67b+{y^iR_oN_^K}L#DXlR# ztYRcTG+HdOxD!9}%Yof_feF7Z+0dW)Z93VU@PzwlprQKQS~XG7QVV}g$rst+rn0Qw zBicQNB|D^1>gg5UVK%q?bqRC+R{|5qypVI?{;O zvIA$>Dbv$>k7V|1Tz4+DdG*afGyeu&+N*!q+>gzP{$t2Bcl_+_il9i<73mgLnkT=2 zvg#kAlGDU7Jh+2KkB6h*nF_@uaJ2xGpNXFtV*pMsD?G*`QNXcnw&5JW1%R@5w%@=Q zph>?w+G7;PwT>#iHrd=tf;DD<^2WV6j8P)k-A#{7y!z)|1h50ZrI=JNCXK0lOg$en zhA4)*+MW&&#Yt|VexXEQO@LLuT2&tSW8&fS1TcYK zoh05#T2ZAKUW!>kFFg*%cx^Grc>9{?^s@$70dw|c`7UD&lQRndh?6v@ALV*|*oXit zAgC>e&!Ff)i^uvm+U^E&eT zxOOV_o;KjYIIbL5GsZA+*i4+)t;hdvrxr3tfaMTJ&c@}iq8L18z9LlyW$@n2tItml zR;UAWh+?m9Z^{@3gj*56wzahfKvvFF%k`+_5PV_QSn7X(BB+4hosLRw7r-n+F8W|$_hRx)>QF; z(uWU<%~U+Bn|4lrbL!<<7+Qvf$uJ=*995#DNl`3nnZg|ql&g*F8Z;^d<*Dy!gBF3H zymY-R(J&H}w}H1Us#t4&+Z8adTjoOkf^IF3abD1^CKj}?Th=nn z9VJabK33#oE{GtSPku4xhxjC5^-iUjKca(xG_9<}JP>cu@{7Ymc{OavMipjLg+Xzg zKPVvNPoYSPhwRV4z1~B*#~h`*X0G06btR3WlhKFpL^0Ku|Z}H6uWZ zYXqjEHLp5~Yl8B}{kdpOQO{ulwECcLP+K6RLTwaZqxpgUw9Y7Q0U815&!~#x9@P(1 zp!EcK)6LsfiAhlN(2&5d88uP(p&Vf>T1ODalK8zlX^&({Y_bFWhff>ks8GKTbhnA7 T1c9o2CuiV{?g4Q6|KI-s4IJT8 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_i2c_s_sync.h.D88C460BB71EFB6D.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_i2c_s_sync.h.D88C460BB71EFB6D.idx deleted file mode 100644 index 14b5c100e71ec19fd61b12649e5c292b7494b158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2266 zcmYjR3se(V8om<(y%}b*&Y9dZx&L>+`5)gm@$#ss z0Tck~U*(!@nYkI3003+FQ|GF-EVckZivytfN8g5S?hSIEP_&>Z(!q1HUdR*qgChta&8g`nOB9s{Dwdmv1fdSBJ;)18sT( zB2{17b0&Djmk);rU0WgIj4kQU`P#Dk$LqtmKJmxMtOdiug(|@>2cHkBp13FF?E3!9 z@rMmOqhUC@f6Hb@*-`(@uWT&8-TQ!h)$X^!oq9*l&Pkp4&$_|tLyp%!l!lZDW#~L&Iq{gU~_9~!ye^igl>03h$Z>FXW zTP?4c5zl+;yu`V3;kn_0u077nD<4|KF~4)YxZYX3!S=jxd+6$*iLevn;zte-c3_0o zb?=jdDqY9i(9opz(>3Q0q&m2I%BurT+Ug$rE?e6ecOyCdj3A}pXx`fOlN$?8<@Tmz zH1${&>?+<|w@Q;WnOc42=bI0}onSfd#(O(jLf_A8%N=SH<~=fKw@#J%d5ts@(=qpw zM8<@r(O0i&6*uj!?&y{roGc3r`{Lv3wEjh&mIwd2uBva&r8_q_52UXbwFVf|%kvMd zSytvIi|DB+9hon6KU-hpu(l~)oyb{RX3TE-g-Bbdx!9F&2 zNGp7yiI?c2icjqG|2nq%B!6JAV~tH$;RMg{hy5kBcH5@;3;=lP`PPZqWh*e?3V?S% z7wzY|5Xoq=3t(H?TeEyU5dv{R)PL4$!#}`)2x3Zbv;=n}G^oZ6VjSjTBu4OLBrRoU zdhZs|TA zBcE*r_>jeq<>yQ;Bnvb-WC`nKn{$Wnzft8hM1gfNQ`K14a%aQ(d?YLz~$ z`R`R-u^13SR2Rt5|E+Co_W-}rnQ4Er+G0jo$#bQigzy+d=T+|5r7=y;l z_K`_4wLg+)1nmE0D+b&l<^>mh!Sy1PsM3q%K}gKy5dS$R-)fHH;JtZ(@Mrn6$pxUM zj~=|9qTuecrvZyGAb=cqx#(RkpHQF*Q}y=NRwTzCem_|Z1xjJ3-5}-^&O3#Rh*E@C ziipTJ&G9i!b;i*C^i_6{00Rplsu@R{VO@0yT1VBz@iU=RnOSOY_>HwteY`CA>{u8J zBV<6vG7po80WmCd@kBC6W|<{LD1d@xPMA;vCCl6bLIX4`v#?;-fevBO1L3qi>kB>f zW(>gy2`aIswM7#n>{*4*b_CEYaGMk*wN0O5aAuWAZDX(#pcKLBCef9^)1(+F7_CGu zXI6pc)3W(8fBFnY#0X;+zf-+1c`=OC~Ublw=$?}8#E&@643 zVL&OelFkr=-3ihma=JShoD#g3n+FKh2=C=)p+cqm7?23s1T-(KkTMEYOyu;E-T$e$ z6#?6JS#)19}E91JZQV zdAi|noAepAO`8n9&Ezn8*7UF-nsgL}rsn{+DHBlv`sFY{`GyJrRc20x=~=B(sGUp? W64OFn3}XMerN@PND?1qy$^QT%a`XHE diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_init.c.87ADB53DB9143913.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_init.c.87ADB53DB9143913.idx deleted file mode 100644 index c16e6b60ca43980ba4632efb77849265de22b1c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1004 zcmWIYbaQ*c%)sEB;#rZKT9U}Zz`!5?#Kk2=nL9;ZhTPA-Z6I*1_T9L*_4+Ci%ov8tL<#=d}T1l_r~n)J;lFDj+naS?QN^9uJfCylgwSIxA^Hf>jw(i zDK#5+)c^n5cx+YFT|2$Br|q9!ZCfP~FV-sYzr26-Q?ENeIg(yZd1=~H_%ycpZN_1@ zTL}uiaq7JX4li|Ha6aRb{lf$fRk?~=UR%FMrPjUMo4}tV|M{M`z*PGgzWXPix@g0y z)aN!S?7Y`b|A!w>>oq2Zx0WnuwUhhSQ?FEbe~DtqsSTM`%Z;jz3+K4c%F&nDuJxt( z)~v+CZ%t;*dvvYhdXZ~1yL$QFwUX)wI8J^KWV|l%e9>ny7l!NKUbrOMtQB85c}h$4 zVo|l$u9Qo2)fV=Yti8v}_WGj8Q&&UXWj)K+JYV~I{d&p!1`{{+Z(`jjbzsX6nZNvA zmYvnn&DR$Ebe^)%dFl`M2^SR^RqsEEXD)5Nn8(``z@}xjpUZ@=>1ENC(~bY@nO&|e z*Dwp8e)XxfoQV00U%cvbA4PidSALvzZi7yDWT4&rC(hbAA6G4mpON$`?W~kZf%1{= zPD$xh?bH?Tv%Yk{n{wpfyuNP>{+2I_Z`{iJBEGRKdX4%5+e-?|AIQvm^0DINimaIr zT#}maUi~Qia-)0I+rZ8H*DEybEUwH=QUa!s8+~)^YW@aq=3&raU@$OdHRjhZW-aDt z;ACN9Vl>fW)MqS8O)Gu|RLPTF-YRJR`YI!jfvKFSDo_Lr_}0$7*c0gN4HULuv=D=t zCw|~oeu)0-dyFh#)i7britPR!!b{wNs%;r<CVhuKw(oxQ(2hs@rq-sot@JofWqdC=A1BL7|qB9_8!da z*YjuoDV<-j6l93HsTEAPC^aV$#4avME{+E=3_%10Xu}u`40;Hr4uWX}XEGZUNUZgX zx}2KDuBUIPW2CFipbwX1&_ytlb5n9Ofm~H}bygN>6-@;;Nf~)rDP?v!4lZsUUOs*S UK_OugQ4UTqaS26ZC1y1S0N~MmW&i*H diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_init.h.7FFA950E51012234.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_init.h.7FFA950E51012234.idx deleted file mode 100644 index 657caab89c77c2a44589cb684e66c11183b4e1d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1230 zcmWIYbaOk#!oc91;#rZKT9OE4G6(>1aY<3;97YBPPM|==oV^q6^KU!w9L>MB{J{l9 z$xF_2mVUUhG=pnNLt{yH_u;2~lOpcRH@aJ9G}V2dr+ai|@ba@F4u>0SYWAxKnSOZN z#u@!%ipL4IUCuiq4*dGW7jq(ySGE7m29pJSp6b5soHxCm)vtahQnaf6n#ue3vln;H)BE-0?BAc4 zt|~T8oV3T-NU?72s>#1(U(V6GymNzDNbK3iR#!uAzHq_7v&UJ z<|fSm#u4Azxfgo^oxOP&B!Mvp0@7BjR#L#Yo|x_@4(RprCOAO=&B&YI2#HiHSQ zA}Ybo^pOsK6Aw5AffPw6u_i&xfT-BMCHh;1L2e2UgE-8LJk~sEpc%Z}oM1Dy?=W?f z=+`RYVUU2S2xbk|0NcU>R&lsdTW)K?hjJbUK9~v@Ru_mZtY8(#D~_#pc1{QSMHHsO zp4FZgYz7Bd#pTq5URJNk>^uy@FclH35y-aO=$m6#^EY@i4+B3;MKNnJKiCX*uo+Lz zmplr!s?_0O5QM3SWsQZXU<0ctN=++vLW&1aY<3;D@F!}2S9;}IeUY>^RE~Pe6!r2#Ah3D zpijWvf0WYQ%w`joEpowYv1p?bpIh2}?s9xR^nqE@!|=iaN;hrl+~X61)AY4^64w)ztmC^ks9m zk%Q~n_4E2=H?loS$m2lGX`x0%bC;V#{Fg~@u{?|p)X8*#y8m(EMPj>FR zdMW?i3MX&lgSFx9?oOYhb|3!XEVQN3D>h#{#7b5%zxClQFJaM7+sse?_x&9olYHTr z{=LkqlUFAGEb+ck#CxNJE9b?QqrQqd22z&Bx!@b}anD!ypJ# zk-(ZD09L^aRuRkHt;hK3Uj+|?2uwu~YY;D31shmJ>jJIbk_mqUdBCX=q)6PG)msp( zf(fi*heW>N-J*m4*ckYLl4k5?VqgNOf`I{ufbKXQw`eJPjK!58luFZBn=g1fQ1%N zH8_-@;;?C?Mk_ZIS&gz4cC58?|Fg&E8v9w`th z4s$Dyc!FSp1k8y%;yIEz3b25H`HP7Q64+2Xfr<=r>|u&vRstOc4sWO;SYQKv2MTGJ sQ7~OV)!?v&s%9uk%}E5Yi;I$r#X$@S5CH~E;*s~Ns)SNa3>hUD06?^ymH+?% diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_pm.c.DB30B0123A0D5E0F.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_pm.c.DB30B0123A0D5E0F.idx deleted file mode 100644 index 5239190e433fe90e2059de8b23756653ca4d20ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1910 zcmYjQ4LFl)82&b!*yxCzvsE1=YGHE4HgT9i8u%n#ELW4 z$u~x0AP6!APs+yRcn>28dSn7Y85Ng9rAd!r(?P{%EQLoGF_xv7ag8lbuWhU=uq0o? zXC5UgrMu}3Sx2+#ADDc7=2eoWZiE9rtuj(-6xkm;iv-2fFMsStjSk)Qe>mmTS-el@ z>x8r)skseu&Ye4v)c$lVCw(4`enVHr$k^ETuzNC%+<8>ZmS=7nk+YYo`yx~;s%xiJ zDP4D;Jj9x}>w&N%A**qIrt-{=+JVi*EA5M^obWAGmkw@)sk@!YvumIT-*m@p!NL5h zA6}T!v3$agrlqD~#_w=SZDo*+jKbI^4H15V#V)L$nQM%`klQ(AzYmIra);+zZ$XPqnd~NMZB9Ux~~cox6r;v*uUx^FAoUc_4(S;Uk1MX z*;J0dSY6)L2xW4NRkqdER)>^tS%tqZWQgh*_kFT1P-1hJ&0#1;->l6(vObc{YWsUh zv47s?r$rBR{JBlk!WT6)Ew|6kcTakDWudI>%yxcxmzy1bPLWj5+tc%z66y0iEWfpN zxM#y?N_Hj{6YUY&TC06E{4%b^Re;Iq|BW@n(R(m4!0SXbE3c%Rp4y$Pe(&idfno1p ztwqqwsza3_UUi{gPF3D(yqub^nB|b)+wDC|TzlIYIIK}p0nmEH^Q@Z# ztIrnsLEptTwmI*@+BWRZ-1_RpO2?D+pH4i@sSjTyU3nnHzsD?^ z@mBHn<~ObC1b#8kuMZtbirTk%=ZnRMDs<nyUwg{ z8&Rjm>^m*<(9lDlsB52CJ#*83YR(vG>OayH_;lN&_!3nBSK%70t64HuJ)#MAygJh^ zGE29Z$Ftb`o%kkq>Pjd@v2Il?xJNM+1zxccWGo3{K@iL~VNc@-O@z}RJO*oo=FLHI zQ1bJbtOu%jNhD}Ch;TM{rnxUNUqk~D7!1nI73Gd<&uBX?5Ul=*1TjH`5Gy2)zaU6| zS;0z{$EDbTy9z06;Os}=n@}X!7w>C1{tdj0k~ewrt`GVGnhmjWNJlLH=cy){@&rJO zP$Fxji03K4`$bn4cmZ01lGq}&U&e~97aHm)LI{Lp}`mfGuccILStYanukGhF|f!+ zWQQ2Xz+yWwbplE3B>zKFJE;L3BOc!G7JOm5F{lZ|k;Z{LAU=Wg;uAUB&PD%UrN`@xEo_J3)geJk>cy9wb>xL!eHINHIF3*@p zM0_Hiz;Dsd6q4Is7vglR)JlJJ5}L$t{T@YvIuZ?XC-Dt4^F3UB zv2Q1S56Bgx#D*ytZL-<0o|zt}&&6>Gh(nNz;~NmTCkfGd*_7m%6o383@Q)zKLyyOo z5o|BU)sxKQuVFpd?wq+08~Fl3b0@a$6Wf?|u?Y+Son|?k;B05P(D2rFGwp302~;9^ a62;WaeDaj37Sk+=r0FxP=v)V52J|l(GL4o1 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_pm_base.h.37FD0C92D501F951.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_pm_base.h.37FD0C92D501F951.idx deleted file mode 100644 index 5ba8603a7c73a34854a1a865f0e4e32eeaee402f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3202 zcmYjT3s4kS7VSIC^vpodPjFg3s~HF~e1d?CYy_hbLNI_6Ax5-t4*wtQH0G z3;zHv5~5i@z>2Uk3(m?=te;Stu%<93vV;V7323ZZ6HQDi2yS-|kJnwrYtG#B&b{y5 z+xNY=Es>E&DS`-3+frakKa?ya2tvvH;zf^qn zzE8|l+^ect$(DoltCE6$rIP=;{|n^~d0eWvEhfR@s6G>L`F0>R6@6aYF1@Md^FWD_-JrUUD*6p-p7fRgO`7s^oVWq4Ev(fDY5b8veBxfzm5Iy z-E3y>y(jf|*6m2rPW(z~F(Y3?o@7Gk_KQUEWSWxui&l|m-&m1@w7+ZGsLTJ1F zWcoi(T|N6aS-5xZmL|c~b87eA{0%F=kyq-6^>#Ir`MSbe9dDawo_2?{Mm!oZyykj8 z{KfF(=RLa>k9)_S=6$j&Gvv^lTSr?e{bsuQ?z9E{DaZ4!XW`+1uv@RU+vDck^Go})JpeA?`>^+c5ch?$)5Ffde_&Q{;#uxM`V86`wX(8sIunP#H}yZt z9x4uDJxp1)ve_Q zhQXB8a+Xo?ntgb1`Ki|_Ld7sPt2cXb1E(S4H0nyXo_DMFb5IZttcI&@H8=1yI__#x z-!k^E5fO5hA<|LYz%lFyg7MOOX5;x}rKOl+>zOVB$0G1rd@(EuDR6dTShGROV=?-< zX$2u;b#%H-+`#knz-ld!=Nx^eAnaL&Lg&m4JjU~qy<=k!Dyt|$!7$pvu^qIFFU}Ki zo^sMNavw;TJvj2ab%o>42Lu$IAW5K^AGn92^CWpo$S&u-&{wa|Y-C8A<(ro;?HHXR zPg#y~V1Mz4k+7D98Fz|~AS2|M6yXx#j!~p6k|z+UiS)*{C|MNG7Nv>e*`mp4o@TU5 zG*2^D7R#F#tBK{!)64Wcn_i>m+2S4I9kKWLRq|Q+Y6&&fMSp?l^0zM z&c&d?xExgF;EZuSsOtH+6QC2MOGQI>f^#QmFzyCbH#lQ_1yomf*qC3U3VC#osf<{k z*g#x91|P!`QhB;p+^RXbAM9z3M6(K!=%IgSzO&}hHv%Cy7j3>y2iJBIw~Ie zk#W!f$_8-6E3tsm0*)v$x1`~YQuR+VMlISSdNo$d@X2@usd>0x?Mh90wvr*~ef0jA zWb!fjBNBRx>}}0tFiAh3=juXc* zox%1{bi6j+7o#k37SEQg&0ezY_^K~x{+x;eiql0?QYRc8n-kMMWOlz9$Yzk^xU4{0 zL5|`wCOjEEQ$H={h>B)d#wRMQunZ9o=iRk@E*hU@9Hn`rc_Bx6W6`H$79M&q^IJgB z0&HjE9*Q0U!4SrOEF5n$r2XB<)q}VJ6xfjk#1>E>M`%ZxEV4Zv>y-gn1~i^l4ld>3 zi}58OF9D5YD7qV5y1^IWssF7y!X$u=AJqyvBG}|I=L1e|gh#|unNf5VkX8KT z_5#_9liM^Je!EM5Xw)KgPEBF}B5zu`PatFFo0Hwew?N z5mQOkKvwf>+YF=`*Y@RaM>bYGp+mUZl(qnK#M>UWHl;%tqa`za&UU~f;=t7WLO|VT zUo#37ps3(~9X+7v!C%MCPsq?~3m#4!QCz`~sRzV8IHu{N0nf}trGX1xQO#F0gTjmz z(T##FOy)X)l19-{K2f}`(*$G_zc2@Y9KeN%E*)&DnHvWdDFw0=lxW=)-34S9C{e0^ zHLYBKXMB2rsb||qjfld~R>Ssgv~A4M%Jgo8=GL8;I-QK)#E{tD xjee$Rws#|h6qyv*Za&D6lYStX{XaJ+HJ82D2&y z{rq`)Kci@5^eu+s%G@NNBN&QO(~5b3E-lNF{HxIYKZS{l(VxR#6eI-#JdD9C!GaJr z1H-~&VbjVPz9=(tF*0#5iNl0fP1c*9=XP0(g^N*zLq!B84Ad(UtbpKUh-4t~YDH?{ zyyGiFG*(TPmIYd#!jXbxc?L@c-176hp{aVRA1?qc7v&Iz+j86N*~*8W z^wzS}!u391$6qGdX7K~4mxqH#3g)KQ^Jo4konNsOC~V7ND-9DaO3g_Gv5Sk6i$R`b WVoZDzH0^);^+-l01}2y)1_l7$5q#qS diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_reset.h.CC9A847CDD9DD5C4.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_reset.h.CC9A847CDD9DD5C4.idx deleted file mode 100644 index fa09b73afeb9fa0a9edde9e1b16be1cb03872a02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 982 zcmWIYbaOk$%)sEB;#rZKT9U}Zz`!5?#Kk2=nGuW(3|E*K7%JxM4fOXvtRVCB%<>&AMY`9w7xy3c_y(} zj@jm(U9f`s0_S&Y8BIz%``A-?mu}D$*z$=nhi~fFxVI*5PuJh$w^Bds-SYb?)2CY< zhZFr9FTGU%J6Y(_9fg)f`GTtV=h!RrA7u9_zW?pr3C5+-?F-A;(qdCHcB~VeGSTbE zr?mPKtIrnm*o!J%uX)bO*;H!eJ>CE2*&;icxsHzu<-Ov}YZJD{d~f`sYddkz8FQ7} z$tP~TS)=XRw>#*Hi;v#2lUt5=ophGr&3u0?xoBzOA&Jiit@gQ36T7o8MLYd|Aj|nl zMeRY0_UtR(qc!Ejb?ztUj;JTzd-hOyRph#un|g~{FU&Z3(ZG2n-~VG=>t-4`T^EWB ze7Ww~f*;fGSZTbiztpO`TH;kw#d}t%)ha)kyhMJ86<6ja83DtWr|FVt_Tjyk`5Cwv z7zFJZ?FGRE11C5l_!tElUCnt!7KCZt;bGtb#tR4t2D1k9168oFFpBU4RitiZskz?b zkk7-w4N<@#=qKc-3|7G`zzbASWPUv%>Gzje{0yu>?KX@y!e9c)mi~B?wFc)OPXw9^ zRN=trAOt3mRBT$NZ93c5gq5Fx1E|89(OM8pAgMTWHo|1Q;+08oiw9SMO4|gi(kA0I?D_egFUf diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sercom.c.BEA9A0CBF5340971.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sercom.c.BEA9A0CBF5340971.idx deleted file mode 100644 index 217ca9962d3e73ee307a7565eb1d1d8ad1af3295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52796 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 z zcUzeVjfsE<%J>J$>(H18n68eSu1%Mxo5`CjI}mjmI|g~=_g{0Yu_ z!aw?d_+3=;v$tfgqx)qSci9yST}H1@CV%7&T=?lH?|!T+SoT`>S@v7XEe9+INu+{GORsVZe2seb+RywZNxpxj%yidsE7jyljSw8_$iPM~&l75#{=p)2Sn xI*B^bDb#?@phlwDcosFIbLc#3K^IUfx=2z^qc(I2T}Ic@Vap9vhwh+W{|D*Tz_|bb diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sercom_config.h.49B96934B1B41AA7.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sercom_config.h.49B96934B1B41AA7.idx deleted file mode 100644 index 17d50c16d692684663bcb2657973e5ec07b7ac34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 964 zcmYL{eJs>r9Ke6ypR+wAq&7R`B`-T=o%GLzd4HK!lF{-uamab8xLaK^rRy-8MHgbu zn$4xv6q1Y!ks_S6Wtexfn25A2n)=@I`}uCqo;{z>_xt@l&+~gig8~BDbtuX=AxN5@ zD2d}x6lIJn=dCm#e>)Tg;&KR|a zyO!45pYAFt=ndP@lYE*oUQF4dG~Q3L0ts0j%htRTsym|;Wy#4^F9ub-3!X1yuI28_ zSNj$_ju$lh2R*!%q0<{Vd1Gv0;oOp;qB`!a;J7AsXMc@ZOdch^nI4bZpfVGa#9wKO zqOV5OR+c`C1$`II+59>M@dS_waAxvdzSLizvq+vt!6jU42A{H0uKtmSr6EouX)N|x zFV1NNg*)OFAT4{FJgf3i=BAb{p%4%O``IYj;^)bbZ#3dIAZ@@lN|Z=)Vk_UPP=u3k z7K`GCx`O1@1aUQxYOtbqBlCNb+nN{n(fS}IQub~PU<5cLaF|KE9Wz#Q@sQ(5tSe5bj+<$+}|ViRJ*;zxl^PLWl8^@tTf6u^qggXcplM5$#cJc%cZmGw(oJt6*U zhyzLBF={tjJx(N)u4H^fTn?lh*nG9A`QH&|D_0c3B-oD0@4ZxeFLxfy5H|p60JhNw zFRxs?73DaJAs|D0jrzGxS!+f;3wSZM#FqVW1~34e0kC8mPxV{8T5a5p!TM1kqhQa7 zX}JskDd-QQ;1fPu|63Q_t$ql#=aB)C?L8EH?`d(`VsWNWY>G1t8>+{%ZIfpzfTn1s HEk*qUY$Whw diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sleep.h.51BEEB4DE59CA5EE.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sleep.h.51BEEB4DE59CA5EE.idx deleted file mode 100644 index bf0021820d6cc1686572579055d5f0a6b86c6843..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 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 K4we%bfWH9!X&F=i diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_async.h.5F5E743C9EDB890D.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_async.h.5F5E743C9EDB890D.idx deleted file mode 100644 index 1891176b95a0c3eb6d1bf4ebcca82fd9c6626eab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1988 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 ANB{r; diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_s_async.h.FCAD315E57CD4445.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_s_async.h.FCAD315E57CD4445.idx deleted file mode 100644 index d31308ba13ddba239806858c541454fdee1b2c26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3338 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 WXzO^#01Yp(|0erx=yMgZ0{;Rw4N)@y diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_sync.h.3CCE3D73F945EEE4.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_spi_sync.h.3CCE3D73F945EEE4.idx deleted file mode 100644 index 25bb963553ac3faeb7a14df68dfa4827d4275e3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmWIYbaM-0VqkDi@vO*AElFfyU|5hzzN=ja6AEM`NV)>@Hx1<|)f zWwBGXO>k9UH|Sg18TzMv%}fK^+PRS;RgG!O`Q_eMpP1u6U#vA;X!X@^OSfue{SIsT zTVWgZxGK5ay?x8SrI|*GRfTi+pL{Us^E18KlV)08WMPP1{X_d;Wedkcm9O1RWfiBz zom6c0bmvcWwwF2S{jjJtE`4vW$r+tWdpB2)Cm){P6x>v#D^Sa%r>N^85WOqEs;hs) zyZJxVzb=~d>wQB&v2;*nN6qrYyiKcqGMaE+)hn*dO=<%A#>qwV=``ssb~Xl}x7f|u z%|*Zj11Heij6lTB=rf5yYQ=Hu$$Shf%na<-oYq2Mf`J1RFhG#*KQVT-;*@!O46HzT zTP|A>FaejpsrIJ&V!J*E9|IRq-jdyt8%)6Ei&E2y7Xri;I$r^?@`K`=`Fu<>#zr%b7Vi*%&xrwlOfU JA()&9CIB&Ku-O0r diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sysctrl.c.963A4D5BE6213E52.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sysctrl.c.963A4D5BE6213E52.idx deleted file mode 100644 index caba948e773e80b99c899173b1f26a41821a4e80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1796 zcmYk63pkT|9LL{3?_|6*S|gXxmiuOkvM#44Rt!f->Kw@=t(ml~LggIVx@eV(a)?Ne z9)-hlsWVE7N=3qss7NWN+d&-F;W&TlrT2N>%lGrU{%^0J2ZuAFfgme3dBh0AC7~#S zAS8H;B_cjc4MB*|7IUU5Kq%;7l2orpw0?PFt>~7dl#_z~Okw1P$|B$0TW==;zG0lI``1Z8nB)KS<&}^fVokEB?Neopb+{j}=`WFZD8VFjMq)m|JYlr`U)Q z+vXy^KP6j=_(Y9%TT?Z=rLuP~MuP*(eJtObwy(?`zP@rylQc{W{9bWIbggpzeaqSl-6Kh2*VnNPU&e-btPq93 z?AHgGPKAlj7*%#VTJII>l{=Dl7gF~Bl_QAQa&kex?5g8IeT{U5>xWX$^aGiywuE;p z+WC5kgZrL-va2WGSCJ$RZlSH`NlG#$M5Ey;`&z1a=(_ihy%F|<8B9ZPnSS=rIlZ_V z%|ahynSy^IXhWh-*^9c;EfsajB+n)7Hu+KSlYCL^q5rB>UH`z{+67>3S$m1eth#?{ z*PDZ=Li+rY=RxxZjDK^gS@R~=F|PG+fy;y2pVJ}y7P(62Tz;8+P}eQmDB+w#b0b5Nzi+QT$c9%tLvzaEu-4$}-82$3q+fLgwJD;BTNc(GTuTIwh#wEw#&n-YEc00S36iR=x~b zoR)rG4P!c>4wD#TMxjxY%J$U!IrH6J^3+hKy@CB~yavk50^}@Uj1Q9DSuC1yJ86kJ z#>@t2HX!3gFlGZl8@|_l0PUO7F1J={-!(sr!0u83NCi~9!m>IFRl5(=KtmWY%pS+C zUl#0nd9s5IF&)r}I1UVw57Yb|iy#gM;pRC0`3dFjMd{9M5W4|46C8)Q>@Q}soR326 zVd3F~_qy?3Cto`}dJ~)w7Rvf=2r+2Pq~fviE*!f30|mx%ow@FKEH6=OyVVufIyeEo zs4oS_7*hsN8Td{Q0d#0e^WXMv&0};q!ECNXS8Ke%=-QC2cY3OB!cLR`RZdM8#_R!T z&y-HwgEn8+c;g4-1xp3%@v_o&UFukYaNRhz6tHldloZ?7+j~7*Q!$PlPRaQB!2Pjr=L6S>C_FNB zT!=+sVu$e$`uJnwQfCG_=Iy diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sysctrl_config.h.6BC852A437329FC0.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_sysctrl_config.h.6BC852A437329FC0.idx deleted file mode 100644 index c6508862dfee8ab525edbc0dfec654562631d556..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2968 zcmYM03pCaF7RS&3m5t*O@;b`gv#>xGGHPmYTZzzh<4^-&$u`>-+hg{oDJuU&qI5&6;#|k;rq0 z*P*?kG22*?NTiLQ=$NRm82lfHpF?@pX&!2{vsm;$&)xs}?%?Djj|r;KCQLHwx?U&X zef`N;Ny@e&iwjpogO{=#ZpUg$<5(v)#>+xdpy^0zv(>K>N)f8 zA1dZoL>F`|arQc)={|e4!?kMLk4sagVt(+=jbC&8=zcYkhze+K zX~~qVr^M6%YcRmh=OO<`U;cKpO|o7GrAEm)kaGrq$s&=eS%0Ok!+~4`p%7|FwRkHELeS4ZKVz%}8huk6{U1L~LXgNoB4F53aVC0Svza@t=J?-Im#a3At7?< z6@#yX=WCKe;lV=a{yKJz~1^QvZR3R-x^!ZVgQ@7p?1 zb*kqkpGOC9a8jNR*pOM(O?8S;u4bW{CC&$0|3}AsY5pz*vtc%=tF7lNBgbmryh7Oy z?1-7I6|W6%t7;XZYyu|abda=VIQQ;Y8Ok{v;tmb@%PnS5SW4~X~zh0--U^Qyf~C4AR!MC(Ga9Dx!J24hUjDSr#~7Q9zl@7L546nVq8C11>Z?Kia-ov;?Y4%u3W{X zc^1mq6l7E6O%KmlxjJBb?QR6s6jW38%H+iEet7b;mp)MlhA0@K$TW-n{j6V@PYoZl zAsCYLaeLOeHCoA}D4T;hxj25+^gYQfcR!T1K#L^jpIPRsf~+dkQSM=&haovQHn7Nq zd%VaPK@tr~LLVgs4l?4>y@3ei6v&0-Bwy9p!^r*k0g=f-CPVU^{K9!Kz-fZ(R1an{xX^Ntu(<%`!-Ds2zz<`Y9A5OpA^)zRb z6Uy}z)C)0|+c`%B%O=|p^ia?v)Ip`ymp5u82NvLT9ARKY*au>2jA6$ZGGDJN_I3QX zU_0N4P z9hAMnn+)Wx`~@LS{WlMwoX9{TGe_xtmm=2DRIy+of&>Z@gh|mm?c${2&hcTXfQp6k z{LjhR#SU?0{F1Q(E7HY3j|?uVd0$(LvMty;Do+pn)c$RG-_}x;%PA-q9{sWZi{g+| z|K^jL&q2P>8c&(-#SQldiVY5a$ru}(mFiiIg*`;Fyq z%uEfm7W4cL&JMTPF!#y?4P)b?on T2`-|k4(GV4=^5c+BGLZ=zh8-& diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_usart.h.4797207AB2089F94.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hpl_usart.h.4797207AB2089F94.idx deleted file mode 100644 index 93cee54cd213c2ab831feb96f79291fd094ce7de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2548 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_ac_d21.h.4395395D9A2C6019.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_ac_d21.h.4395395D9A2C6019.idx deleted file mode 100644 index 925dbd84bc31879d59a386b3d4627b0a424ce6ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39672 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_dac_d21.h.0574F4535DAC2BC1.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_dac_d21.h.0574F4535DAC2BC1.idx deleted file mode 100644 index 7490c2b2ce1da1d18d1bdc78580cd81c09fd0624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24846 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�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 DW+Ewl diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_evsys_d21.h.B2CF34AC8DDB01AA.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_evsys_d21.h.B2CF34AC8DDB01AA.idx deleted file mode 100644 index 5f795a57ebef4f968e2df71caa6af30857cd9321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46854 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 v-?}Q_GYfwFyFTu|`;NE$`J diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_gclk_d21.h.707FD4D78B7F474F.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_gclk_d21.h.707FD4D78B7F474F.idx deleted file mode 100644 index 5b9797a817b806ac5ad4b779ed7a6fb77b6f034f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21438 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_hmatrixb_d21.h.8D3078FD71978C55.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_hmatrixb_d21.h.8D3078FD71978C55.idx deleted file mode 100644 index 9ca20c0130f16f3cf1ef2c2cd3b69e0cbf577c1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5990 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_mtb_d21.h.CCB339AF33F3BF06.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_mtb_d21.h.CCB339AF33F3BF06.idx deleted file mode 100644 index a761a4adc6f684e3f7d5797350cafd1aaf773cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13452 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 MQwf4#F`|O-|Fu%(lmGw# diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_pac_d21.h.4ACC0FC42D057CA5.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_pac_d21.h.4ACC0FC42D057CA5.idx deleted file mode 100644 index b09fb52e769c9ebe2f523a997320d32d3f0ed767..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2030 zcmYjRe@qis9Dk*yw!Oyz-eIMz+Ll!YYA6V`vrq_(0@fDGZB3O>&{9EAEG;hJjG4)t zMuto$*~Y-hln|zgKW3C{LpNs@`9sC|ld%Yz4c)?`uptB4vUkOIcbD|rd!Nts`##^# z=kP1I!3_=lZ6^UDs^ zJ~;7Z@!kUUDjlp0CQ6&)uSZQ@Qm)*t>hB*QTeDwjnW_sr`^{ioY0^{EXkS9d@aNUR ze?FiXl&%QKzsn5CNTF;Bez zcI(u6!(({Ba#i|p`?EWzBX;dgO3gSQQ{B8{ny#oU7@r9D`449d-Wxa6JDI9W`ztz^ zDf-qCx9NVfq32#o`kfr>@S&NOk!*vf?lSYJ*S041%Fx>j-^$!`i)sIUN#?cprXxHP zVXHIs2cGCZI`#U*?eRw?v*o*WjyshN1ChhaUP$^Lr#OR+TQ`;?|L9-;K6BG`BpHH8 z0EiM@Nm{4?xkM@k^gN*Mi@SRwXVL=!iFmWlYz!5S*H7y%+HVaSAefJMBV|kol{sE1 z1F3_r<*oK?y$?YQ;%$^IF;oyA9tIGfb8y3#Jeb$K2*5=Wkp}yJM(W@8v$se4 zuK$(biNdLB{b)vDx&zhC*P3xWv5*HX0!p~CS~-5tL@INY-sf(3}L zqN)-?1@Uw91$>)=6G)5VEmNo87sVMt_=St@>ISJ?%eBhJA! zfCQsrI1Y!4c43pn4e$U6W&_1AjuOFaju^&PL@4Hxdx=BBXfZnR9FQ=RW-afN*={c9 zSGi=a7HgXW+ef_4neD0w4l=o;=Pknq!f zB_3!`L>+lQS@Z_0oHS7a<+LSMpq#eG3Y3#}N}!x{Qv&6*Csv?5#-|b}C#xx}eBVzi zg5ixGC34arGw86B&4b(S9$YfC93nkplT@HbZh-_BinnZF3b?L!AT^R_o{Ve=v#0uvdMp?H}!WDRE&%8T?=Hy(zszbH%ee>PNr;1pR37ZCOY!R-4F nKOOLG*}&ch1Kwafdn0Gd+@-)bAdDDkdH;i%$)zAnt^of7J_Bfa diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_pm_d21.h.239EC30A0A78826E.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_pm_d21.h.239EC30A0A78826E.idx deleted file mode 100644 index 6c0bd3f846fca966b7d756e28d8fb51063e451a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61056 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_port_d21.h.667732A9296E61F1.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_port_d21.h.667732A9296E61F1.idx deleted file mode 100644 index 32ce504690a06ea544e616697500de0033667d25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35636 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_rtc_d21.h.C8AF3D85D8387F5F.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_rtc_d21.h.C8AF3D85D8387F5F.idx deleted file mode 100644 index 9dc5f7396ac95bc2fe08a8b0873f3e7377c17561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140278 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¤w}@Dm&H9w$KBYuB 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%0D*B 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_sercom_d21.h.5267B1129ADCE180.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_sercom_d21.h.5267B1129ADCE180.idx deleted file mode 100644 index 8f923128f336373f48faf30f402b72776502773a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220654 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

    c`X5V{;E~V`|s#doX;ybY4VmOXuH$t={ia^&JnS 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 A2><{9 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_tcc_d21.h.3D3025150B7626F4.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_tcc_d21.h.3D3025150B7626F4.idx deleted file mode 100644 index f82e1f0e9364bdb0c1a41a28ed83903b505eae20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258752 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ⅇJSv{9T9 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 kcxWp9+XXOb2Ev7 zb^}QMXdpToi2pnP-=zswyK=z32BOA5Jbg`N#$NQ-6BzG6)EtPXTr0@V*m)chG;M*X zEf5R61-b4()E$UNuDr2h(8?^B&%J@DHxLV5ExD{9lofO3mbIBZSP?ipNb$<5rj|vI3nO?`;IcOzd@)f2=g5zV7!A+ zeGvZN^(mR-e_PN7;~j*Wf-oPdgYgbREkSr!KD*rJm$4A}x*mkC2jLI4%c}mU`X2-1 z9fY0-VWB?{_cjQ<4Z^__eQ&wUeDfoWcQBeBj6b!B9{jkx{1L3zU^FKf|9;!+mrU{b z&tbfS(W+ql_4O@HiOyXxzsiGAc`%MI=zn6z!Pxj_ zxADx%UIjoSgVD8M+%T!F?)OvwUWD^`FuD_re{73h^2eEMXDHGLMsI>KAdehrc#02v5DWg(c5X>AQb zTSM^d(% zeiDjygyQI7V_q<(NvH{37LeY^>y!6d}>l4Fk;QC9U=u#*q zWM0=o(X~)4bj{@MgrYm4xaf_2=e8fZ?m-+s6g>{byMEc(IVtk;Stue3L({@AAAE-K z4nwoUFkf{D;~jp^3yu;9;Fs!opx*+ej9$0^MVW=()f8;o6{hig{!u-7whOUHRLKfB;hC0Kr(9M{; zABOIS;X_}ZS^M#O)H*l`grR3)c=p`)|2p+r`7`9@!qLodOvuFMhokx7*f`bj?T)-r zyI{P-(c*9%WQ>Zuo^K2DX=ONC8IEf{DK8m{V`2Z=5sr3*V?s8zFC6U)$6>G9iq#*+ zI>2~`qa)#%$K3)&9!!_nh#JpO}Y z1LvdPVgB`mqn>cQq`vB#gB4%zf$@$&vm-DeD=UaV1rhi$-x8Et9)Xre;1PC@osvKH z@C9m;2(&f=4@vm#@u-8ZtzdpfpxqIekeMBdK!+l5MqEj}`@$cW!gxoZx(F=vkmfE$ zpi2?BS-rJI^nv>wn9mXDegr1uX3rwfvk1JT|FDtY#l(O;coTu%MBrmh_(}B-XTaXi zjzqH~@w8(;XVHgC;rsI=QGO&Q~A;@S(q3kG3$kg(pP+kzIHzf-H*bAeC=5j zdKQJxu9PN}cIe>xzhG%v^^S+NlzTpwr6QK*!yTy9gPW@ zTWvI|jmGyTiAHy#;XL}T zbtm^I8a;}}g#4{H8udowxFgB)cHKd-U_WEflo(9N;O54lxiOfK!4<`zq8Pk4_M%^4 z%7sIaagISH@c$3E1m)!)V7y9WP-zV2;kf_^h(TLoFdth61YHc;8H4%ID%hhKbSMV% zj1sUuVo+TSp7!@A6Js~ehD_I)7<48E^TY#i9*RL1VsOJB30E3VTnGQNJqESMV3HYo z8iSs~{|n@EuVc{b7)&x>*)o(Z!zA;SFGKkyDlo|eEm5E)3QRIT6$(_Lz$CL%r9f2*OfozB6==T#lgv(| z0yQcy$>f|@pz{h$GB@oC)ULoJb8}09ZYeOy+&omEhYCzGH_sI4nF90CZdktx^hSY0 zvs-^`|FVy)aegeCAB%+^r`+OLv^W+gZ1w2>S=Nmguph;um9h9S-*cKPi$!Iz_&MJ_ zmfIJL_Qm4s(bN2tF^As3eiVz2#Nt)k4}X5At&PJSO&JZ{BL|KHekb(2 zcyvAD_WiOaC9Wxzb78`#ABf=CpRSlO-aD_ z`QGu|%mg$u0Sk@8x#bCHc>-?Ow=UwUY(I?8+61&V0avrr?{CA$*28!wpiK!l*Xs0v zBb$On;LjwW9SL|x{+jQqw`_#{u`U7CC4j$Lc<$#`=(fq7NkC^3u+UeNyOe+~CE)U_ zZbu7$@YI1nlYp)z;6X%p@_{%F3(aJ>3qu61*6H!?r=J8W7-ic^y zBHm)U^;ww7>J#v164CBN%u{Z_cqgKhiMS2*|0R4|68LZD6VdrZ{E7RLNoO1;kAU$` zL{~tr>uB-F%ZBq#XCmrM#2;8C=m866R4O5MNG0 z_mVIHJZCCVrVRG0vUpQ_MP6()e;95u>OV*&`Cr$+PCm;izo zsnH@eCV=1-YP3R)2_U#qjVjfc0DkwX(OxwsfZtj*s#RkG_&uRUC)Ah#ey^(0RW&An z-rH()Ta5{z_mLVsQey(>eW^w-)tCT!^E4<=g9%_aUxV^Bm;iQ{Y0xqaCV<^F8ni}( z31D}Z2JO;d0?0k6K?gOM0CJCO&~XhWfZWp>bXtQ6Ah$z(qaOrU7KRyq4)unGO@c>sB4ws>1~Ex>JXC>M##@1pvJc9nfLIop@G< z&gwAXMr_rgRvjkXh&OcTh7R)uArRl!p(i@b7j6TYwjRyUW5RVfSC8iEG2uEa(xW0h zCR~T>^k|(P6K=yjdbCH633p+Q9@XeE;Vx{@qXs=D+=Z=r)T+mXtMIxWUDsp6RrpAc z9_caRCVZ(!FZGyk6J{DvrUCLtJU8JC1DavLgqv`_0nImH!cDlyfEF1r;U+9Kpi%=S zT!a+{RAIn`i?GUostlNL5$-dfeFjXp2#*=iF#{%CgpCH&XuyPv@Uj722ED*N*kM2& z228jI?-|fN118*qPYmdZ0Tb@QHwN^^fC=|tb~4IN#)NxtK{8s9j0xA^l4P_b856F- zRmo^oGA3MuWyz>4856F-?a63+GA3Mu)yb$j856F-+GJFlj0xA^iDYyl856F-bIIsj zGA3MuEy<`Q84Fy4-1TI1JsFcy=@-f9MKUI(&>1NxBL$OE=ou+!MhYgS&_yYzC;=DjIsZwe-*%_maOi4;sqnXjdwYblVg<;igGq@X(~n3O6% zPC<`TFez1@VnkDnn3N_L8d0GUlhWg2BPupxQhHo!M5RVdN{_3IsLF^*sd0l5H5f4| zB|d9JXN{PY61N&rs}Yk@;w~fVGGbCXoM}RtCQM3$b4)15gh^@eJQJE{!lX2Kg$b=N zVNwcQX+o7IOiF$Cn$TVoCZ)c$CRA&}q}2DE37s=xQrg>ULaioDN_#s^sMCZ=Y43d# zx^KdywD*|_Ju_ia+WX3cUYRgo+6(k)BaX0qH zxFv!AwmB7TPQ{&x-lzUvVGsGqy{Tw#D*k4j#~O>@y2pe6n~LgE@y~-t{lR`&0q3RW zRMeb`^WRUYom*lB*WXA*H&QVVN`m-NDteTPXRqJvuygZ^M(}r2(Hpp4QS!{KcIH9I z52T^oH2gbKe7mur`~VdEq@kiTd_`j)6S~0z@<(gZ(3&)Sc8^>8=g#HeFKQe@yhoLXRm;&#&ndCj(Ji$AZJKNdFhz%y9(!@ zbhJ1fhfSSpy=#h!1QE58nIUd2EO-Gy3F;9*R@sf13GaWx$;-LBG=0nKe?Mp}d z(($d+-Cso%?Fi!Y^Z=l!qL?a*U^TA9lo!4n;0}t~{!DFup+SyL*FTI%1|HVMzH%1Ssla znL2_P3Q03;YOeld803I&yW`vL;x$o}_+&xgb$Dxc$wPN(@7^fyUb-1_8ZX@?FWse+ z|FS-J;u}RcfS26yD|a!Gv!pmnDt>d<>A$PzxxT)5Ne@_BDPAoV6S-W9%cbI;P3p?W zJH+t(tx~*ID(0IULrhqTcS*&@53aQ^XL@dc&n1-{kV@A*EspT9^}7u99a4NuD&C!7 zgHzucU=1}&aidhcf5g7;2HuYWBBt|Fd|oQ%iDe;YCUt9-dhmp-A!)N#_%waD5Pr^e zaPY%sb89Ph*ouYUJ%oD{xNz&hCooe=2PBjZ_=JaZ@zG`Y4LYNk&M5NZ)CUzF`r|+d z-1>Q{*K_kOsIOC9UlX>}kUKrfGn>x$)niY0Vx|*j%g|3g7LPA*>tiOWVVD|%H4FXB zc5mXsygqDhr5jU8s6RtTKY8(K)unQHX09kGmz3Em9eNZ@k3xV$ z^1*#jT#jTeM+yTHTKCJyx&J+R4vJtGV1|bnP;iGfl3UCbRd+F}dcL%kxaG z^UUQHCf60_a;3?&(p=taa@}h#*P2{w&E<0@*K_7_tI4(1T<$cvcACrgO|JLN zXXf%Nlj|!YhfUV4C=Sf}9DcgGbn7}oX%Y4Zb#`fe4)tcVg|fPC5y6uZNj-GsIh+6}G#{_ewHKrw5G^{gR6 zsSMxS*Ug4gI4A_5AMV{lD3IHBDl6{ z5nU}BL~w1@qV#Ifw?wWHscJ-@5S&|sNYx9WD-{0@U8#*b=ZJusi4SpWO5w^YsPo#1VuN?bhAY9 zF6s@6o;ao_PFND*&whAz%HlgYC@Kdsl>-GugpFI#v1`eFK;NYf%u)xU$Qk5aAbr`# zft%Z($?Y%T_<4FsP_)=FEq21gBQ{+9_tQhCZqt4Iv_3a2%}nVzE7x;Yf)CM$nRRV7 zmpiRoJI&>LR<8HVo8#iPFVV!uoSp-BC1)>$p_~3LCBlZt(($?0+xu&hZfH< zoJ|D9?Lo}#LBc3US_O)Ze6F9>A8={NdjS%hVenCqqzDOH9^|Dhyz?#0^ouPdiwUcH zq{DzaJ_|1wgU5SZCOuBrM*v_XqnpgxOD@Z-FPpQMbjmzB2}=hgSY*=sp85UPt3e}ckW=?xj=pI7c%lEQ`JJh&)*SN>=i;F*(g5tD^Ic*Yt zlBm>?ahoO%?BkWZ+@HBj&L@0ZS5S00F%I2E}u0<~b=Th+0-T*1xy92^6h} zX+^@JAnI6+(^A!eCV2f$hk#B8q2LryT8@6x9fh}ywzOSeEBj>!++ntanJp1UCYt{0 z;fVK6u7W#k)`xG_r}5tfI4gbVSpwLP{^^U{?$?L<0D7tJse^di0Y$Qmu6UbzJ2)iRLOxdNUmgCNwcjy_x9&T zb}xB5yzjswooVG6JNT}|-joX9;W<{)IaZ!L6ILI!xpbkG=bF#Pv_C1H2y=Ilm2{Dn z=jhF2%ip|FE(CCqm2|n4=c%B75SutFn?-S$Tf+!=(CynJ+rPL|aMsSb28NUEn+? z>@P^p9<-7kwDKHrN<2Cy%Ebo2hE{GztvpC4`;%7gC#?oi*KQjA)V=>%^yCN1DU;9j z@s8D6FtrwfDU2@osOz^}FKF(`O|f*FVrgcIrd#?pU5wdijV=m`g zy5*DWc~}ZOab6TNFG{end^{Tz%e2fgtuP09;20>jhB8|T{{W9*1I4uv=30nwMU2JI z(uq+$mN4gTxrN?xOCfVE$2~ZQv>b@>?tirYNOA@IcH{3pU=vE z0zVNwf#h@xg@ro~;KSMZK6T-;u`nEl8Zu5^a08D~L`E0yDF#+oqS)qTFJVC7)iySgoM z6|R?^8W%Gs@m4WB@w^Xn-bW~Ul83G6$mm#j9tOO~*{jG|`1N5_oE=s=3x^f?S0Am; zy5K($?(oQidE_Ddw(_jr@!F3w_kt5L-7A|>#O_kQ|v_(u{)`1~1Sw;63= zdPTq9k22l%BY5ITF>_KZygc6z2^1UjgEr{3{KQl^sV}Cyip^^`*HaGbN$sX0VBMUW--q|r zKa~w&%1ES05&YYhw{|ss>{d@?Mi>uen@n($t#E=S-S&=5nh^(`qhvnlzo}@_m!$ zzPbF&qM`r^3KGvQs{Fs0|Z zyUlest351or;FT$=>qG`-Fl_F*$OXncQ11nwrxP2xw~y4*T>?>ik9Y4LGZ*34<>`G zM}B7n#SANE2BEo&O@8~oegBj6@vc30W}cH^D9`>5ivLH|o5w|Qp1=MHDbt> zak(;~pVCxR{rk)M<6{HpM{ZLdxd~q(ngf>Aokvw4lbb#{eoAt@@SwRYSRRj;#|xkQ znnO80b!8_5NefHfbXr2oyJ*fN-@4DoT1X2?QEXC_&;gNUc~NL>l+c2$_BLr@)Q=nW z6QZ{58zF`qC6}WV`W@}J@BDJ%6K-tMx6X~La})j++8<7KwEQFsB{wZhT868o0|DJv7w#U5zLGebgks{FU}pEANpjF6vkCJNsVkG@ zgh@s-y{AmvDVX`aKy;E|=J&dZyACtIcTAEyCYf#0giMf`xJNJ({M;mYZj!;Oc#QYRZ-k3m?>TpC0P?CgH`dk4KQ9H zndIG3+-{gzZjItvVP?5Kiff0NPli_F|2n0Zb$OH$1;nt9GLb6GI+TxgaQnq@Teyv{6HXO_{-bA_3! zfSKqTGgkvM(e-Ao9%iDO%#tRvjAo(_nz@586Me!gIboL3Omvr7(q)#>O!P%FcM)c$ zZ6d2iCCp4GTO`RA8O=;*S|phk8O=;*TexhPsV=l| zg)mcHX5q?Urn-uhth2~yrh2P|+X^$)dn}SY78%V{@3(OKVW#@1g*yr})u%1oX_%?L zXpvsDc-b=5x|FPsoFdsJWQk<4oolh3_{i>y!BfiikWods9V)l;uzf<2CG2*t+wH`= zTE1Jg&!hVvBn4@Q_S$*WR}H_rn!o%W*~4$=ddyBdPvmWQ(BN$%nvQnpjGaf=KZbq` ztIGI*Eb+2)y=f<2|3=@df4+B6LzZ~ip?h{7`|I>N*H85RWMsLiFN9(^O>4jW-*Iaw?!e{%6fBtz))3Dec72A89+5E<`cNSGSkWrGo zYqh=D_9;W+wMX0SJsu1=|Ly6f5|XZHvv+N?7jLR|*|7BB39@D4m_0gX@9}&0)Vaf! zeRsxkX0Dg)#jUSPR{V1EKd+N`?a@tpkLIzV_)=HOwI!?JC4B3u+?C&Lo1HjzDlxa7=3Q(XfQX@C8rLvQczN4) z))GUyoJ*%t7y3U={mFmQSAQagS7PoJXzG83wTYoLj4KTjqSjZPO24hns~RO?<~ZRT zC*e&=5=>5b1LRsKTnl-J6W#&2$q6?>KIMc@LB8OGFF?NTgs(%s=QjTm`vFg_|HBRN;e=kE`%;$mdk}9OOGHd=RlxC-*tK)e<5!9aWv^6@}?9P+t9d=7F?Ant+uC=fq_{5%jp zhrC#g7t@i&*fwIk4DuQ^UITf98gGDHtH!mEcc}3W$n9#}4*8TCpMrcrjW0mHuEy6P zKUL$WkYB0sE66E9I3);N@5~^a33*)*UI)1<2v-!(mBF|Ya$PX4gWM2| z8z8p?;}*zggYj9&mxJ+T$i2b17xF+b9)O%U4JS?m@up3~X^^w0;cUo-({Lf=nrXNO za{V-154mv~ZiIYb8a@EIdm8SBd~F)O2DyJ4?uYzv8h!{lc{)y}wJ*lD5#tQVdDC$o z^_UTn4#51lL1u48e_%4}{VF-Q*c_ajn zK+c$fGiHGJ^Jd^Y$R#sy3FL|yxB_y+4BP;@Wd?46d}Ibb0=atz?uI-t0}nucG6O$> zJURo9Le7|pGiHK#b7$gQ$ZKZeHIO&V#2X;j&cwBlx6j1eA@7}u_d@QRi8~>8&BR@h zug=6*ArH>PgOHPE;iOq0-t<{G9dhn0oC~>p7A}XpYZl%Gxp@|DhJ1JyJ`DNF8~Dl_ z;Cw@G;33E_-@q>+C(Xu5vw?r^Y@7?ZayG7nTsIrnL2j6h8z3KlO-_nnu7TX5#VwGJXz>xqC$;z_ zk;smCWFck6LC5y~7a4zKHFkB3IOBmh)c~=A@i64{2%H`P;?Ir1xsZz^a53ca2wV<%R|MV#xj6ziLp~gV4@2&Zz@3n9 zM&O%}??vEykcT4h5agE;_$B15NSp-=GZaMP0?4J2xD@iHNW2O1-blO`a$6*BgM2I! zAA@`;5?_Km7>NfV4@cr*$O$H#U;@`S%Y?Ha=bLaoyk67^$$mgv1 z9ON5Td;{{J6%Rrlwc=68%i{2|I1pcc9L|Sa9*4^z*TvyF$W3v$3G&f6d=zq59PWbL z8;5%#KZ?VTATNr?i{e2%>G3!na$!6!guEdhZ-87Ak82?BjK@16H^$>e$~O5Ck^;!n zaCsVGC7Zr3<=W*JSzWqOMtyA4@AgO`2nbX>4f>mODGlTkOnr$g@ z{Rxu(ZvBTVaXdNQ_vCaTyFiu!Pj|ma>vZcMjY~ax?4RdIlD#xUT1rK#$(pVZR0&0{ zw}!A=p~&^#5WE+PT(^Zt+vxEIuNPDOpDV_eFWeDvcSJ&}#3m|A3>9*&LN2T^FihVe zak=OJ9*MbThN@JGlYekhS{$N$4%&-LR#o^;rd*JT$17YXA9OA2aSnF zC+TpKPFM*+WS z$vS0|Rfw7Fp0VOut8k!gM>h%Wyooz+685|qvcH|OGwI&g@`uYZ?lN6$YRG*nXJoz3 z>@&8G(!Uz6RJs_2FaG~}qbPhG@?aDmgghLDhao4Jae^7#%}dRADdcQ3&W2oI#s!c! znDGY4wPsukd50PAfZS-tjgSwS@gc~^&GVr&Vjtzf>%RcXTj?rS6Xl-4Bc*AH!Wjt{JQT=)0G8d8`73@+;UD>^A~C`eEELI(RdR4+Hkx!96XYn!qKL1 z@JQB$vvuL%k=zq5+Y>GXONumxZ;3{07imp!;Du>!c z4@qc^)49g!!ZIS8nhr4x=(z#C(EZwESBPOtD7S@*{l%yQ3F$NB=;# z^Y=zC=#Bn?Zs#9}{&XPvFLXQqlW6oL+J{yiAB}!@H2RNpdw+5aN{;cNmB&+J^eHj% zlrv-A&y4woZvS5$^Zx3XZ|L^_buk~Ti}{vr|F4QcRWUxa^7z)6celp;k;(z=jzPO) zd}!tIJu&({G4Yi5$GpEk<{K&(a3bdY6EWXVxq$OAADoZ*mdXWOi9uIld~Bt#$P(|E zcW=l1k;(@=h(Qlxd}!tI!5IBuOg!b`nD>WczM=90NwM!I#ePHO1=3?bNRR!N$_wPi zqTE;?T6w%U_RZqh&#Bx%c`PcA^|2M3CTl-pKPiv>Gv(^ox2t2npmGGeV&C2s`vsLF zXpWuN9Qy|s9eFr*f$@>eoo~IMq<%OtdC8uz_$2_Jg`T?X?~@?~P|Q=l(Xf z0qcxCcZQZ23;T3R=P$0c{~^87s8Twr1l1){R47FSmJ+T|u`5&_wid}weibfMfyxAB zDruQYI6iFQgBeBhW8=vgThNpiBrGur`@_Dzm~$9Kb-Z?8@SV?2yDWI! z>2 zV6p;Os!_f@fY~0v9?mIWm>Tpo(NxJ8us(suYEQx(ursy-_S5Oh+WWpT&iW3YFYkJ(IoqkZDiZm z3N5oj%Ti6pZCYlVmiM(9Oax#xB0KBVX?&?^onYcpFtkAQzD)VGFjGoEYvs4ptkDl41XMeOWdiZ;OG0}Y4 zuV?n_S*m$>ThH9qvtO&+6TXUCK{Ny(=$Qw4*7g-f;x#ZU4eXbO(x0uvKavHBMFytG zz*5b^eFkQqf!+W5aBT2D9N#DU4hH6sfu)*+cMZ&41ABBw*tk_^d&&798<@w$E@%$s z8<~6~`|u-?0sXEe`VVW3%vvK$H3jz@nf*rA_E8*>I^8o+_0?k1Z7r8@%OygeX)7m4 z43B2}Jen=MZER|M#LyhdHHQjg?ua8l&;Bmr=_uL%vo?PA+V~h-hizL$OODuJ@!Mb# z_OwR6Rpe4MR6giLHVMetWH~4`RVGJea$(~;xl82i9%w%=N9Upap`3jP?HLM`p#aBk zRInQrp#A*{w4d4|KMVcm=WmZ&M!vFFJNd760)v!tC--tE;l*eBmLxxAOEkA7S{O@2 z*8ZTbzPh)Rh?u^d%fFl}wh2s-F}g;Yr17E;T!u!Pq4A;*T$YB<(ugS+X!rt+*fwiI z#_SrtR3oOMt(!FbCXJYiwrHqRMhp7MtVu(MIZQHjkK4vFFf#l8orOTFYus-AJmAc=Cipsv!@-MYwDk__#AJg&2bYdz>dq&5f(TS-j?Ij(5NhhYFv^RCqn>sJr;ST7e13E9- z;STEfL7kZLu#O+riK%F9f}T&%i>YXBs-92Pi>YXBmR_2r_o5wkpj_55MIm~y9{ z@6?N_=xvvt@6wB@=73!@xXi5v+4`BNCowT$=-+7R?-et|? z%Nk)ei+prx+;3}yEs3VZcQz--eEEp9P%h%i=_I!)S?B)q;I^@isUz`DBed|e>GX;h z`oSmZ(L{gB6`ghEJL<%f?*8}SMY4gymA~XF&7E<5)+hH5uOR9Lu6(bnv}>`r^wo{_ zf0OTXSJdaqQ-0uz9=P&<*!4?mbIJSpL`%vQJ$2$tb8?T4& zKSMO~lHB+tH|a_A+w1@M(y5tDiM#O`Zqm#jU0$Vq&HjOmAKXxu8&5gk4doMlPjo!& zPm{?u{WWfAjT>LMG@xg-)rTzH>qt)AsOGep zxbb&h*C(K5$4-&guN!~HO=`=HkUxzZf7wlHo025sFE@16ji-Fu4c&I*JwNF(6xUS#rJHQI(|RG-%bl-q zmmc#;_$_Ab5;v0Ma7Q)neC2?L>ca|_CF4tXe!IK$xBc092ZCNB8r6;Ne51Sc_N%rN z7mj>kCgUr2)a=evKID!Lx%0h$d-bR8!{yV6zL`5Z?#{D4Ba?T$>$8X4U+(-_cj*ti z!mN)om->?H<&G}9^N*iwJ9M!=<0ctTy7M>PrGI(vGkIjwZu0jXaOVfyr5iu2J{a@g z9&)`0-O->sPx+ZUdgjjCYPXV_Q|{=MJAZm=6a-B+?zyda(`rq zP=<)N>FJR1qlnKHNq1H0TpS8ct|2lLBECc<{b+Nvd50z{h2 zMlvlTR4d}`{;~Nq_nO?F++QNTUL;+#xPE3y*aad}(I`TVB7WTqPi6n!Z^+-PO~ki} zq_&5g+)pCDLnLk685Z~J?to>arilo35*LBbi_m!y&;Q}4%2U&)50Xh;5$YlK8r=gT zNaRVLM-ksEl3t#j6LD%=GP&LZA~Yc4ZFw%T0ZYUWiKI9F+A<;j`gdeJJSyTxMbaG2 znT|un<93tz1`Z`~JmsYvTFUW{=1=vwr#yazY|h|NCdb=m(#akrj?d$y72MzMd=dTO z*W`L}sD$HBryP2=wk)cft>qHFOBiQ%{( zcbx7!j{55{wz@c`g!HS6mA;GNPOWsMdpg~zWfR^cEu4wt&QM*5sQo=lCD&#SlY!Ao zf8|SmFdiwB%gf|IqGGFDxm6DA=jHPA(B3Ck_Cb4wLY|=j$FET+*C@d8`xWy2)E?DS zwD^;2AIFlPa%Tp6XNJ@^rX$b6Oq4uRD1K_2WF|kQD#o`eM#ySLJy>e}N7KJDiJ@SY zZ^5i^TMOn1DL*`T88&}RRc4aa3#iIWn&$;oWjt;B1dniD&vvl=nYk6JklJ!ZF}d(RAoFe9lfEdjK@kxZ>TEcQQ+te zRb@O%9KE5cjK?}hZ>TEcvC+{Rs>*m&J9TEcvBS|Ds>*omarB0&G9Jy2 z-cVJBKjXA`ITm-|DXZH{{mXn|vM5t>cB% zulfJ{|MPp^(?5|rpg}jeK?gn(_UqjD>x7R4^KT!V+i!39fwZvRgIiB)9GjPX9;CbT zu!tBo&GOweOPDM+SM8H7$Vtm5O=kxBW(EqukV&#Y_kutn^JMObXu7ezwS=^AljCl3 z!i=x^^da@}{VUo@3-@`|eO|ch$h6ZW#fnM7eQiGTi#q1mt0iP^qTV{U-WqSa3oXix zDOEG;$LaxB+i}(OtH~05akA7vHp_^!j3A>|XhelZkkMObWY-x%Mz7i^t2Tm+ z-gYD2PLH?5c}BkeYtq<6@wJIluF=xnmU&No)@PlVM9x^Ll2+2$c2YM_g|@=k`aLRk z51g$(puz{>Y<-7H+Ch)E)lVd6d=$Vv3J_+LErolw-Co!@R&M-QsQ<>|I}0+wv_A)&30!0RKxkE@PA)e&G0yFP-gj{tMn`yyof;M%c65%>^2-X;l1 zLc8G1U2qm|yJ-K4pW7|>z95F-Fm5ZxBOgIM*3Y zk0@KbeD#giF*(KjH=XjSoMOzlJm>va%6=h+${Bu@GlcagF_Pm=DPMjcO|HwrISXTL z_X??($jrIU2pr>mdD790y<>mLT3@c#S9q7i#Qgi!SFUxT(Za7JUl`HBZPCIS99#8K z5?Z^8Ygf@<-5WFe1Kop7#PHaKdra4>#0(n$b*!8nQx93mb1Qk_Iky#VB!=@r-1#8k z=f{o<$r$mk9`Q(z_ z%gA-Q7c9LOEHq6%h=b9SU~tF23T9sggF7~L8cv-i+*aiApC-+kCLAA|r(c|VOEIP$ zlK!SsI@K$QE&b=xcd{3|5W`@+(;(Fnjji})S>N*umE_0d#81hAQYZ!SxPVHb#8!>0 zanfFXNm|Gl$7PHYy4u*yZbNT8z3~p2TpUrL5rv3W%uQ7CiAqnJ-C3sOmnl7Ib|*uL zGL$09c}kS06xozf$k&z82*C(RBuC{cq_ zM7c$YT9hJMarcN49Z`yC#od!ibW$mz6?eOpe7Dk*W|yuj`RhtgnqBHuqF$wl@_-Tz zC`Gg)?-M0@q7>1JyrW7qsuaN?wp-Mz6 z_LiwonMy<}_ExG;rAlN=4-yeL6|kLaDhw1+E(=6ufg)OQxH1q`28w9K;krOn7bv0?hZ_R< zhCol6U2F~HTLV35cJV+UIuIzL+!2U60!6eU@!3FhHc&(>5?>BPmjgw#B5`jZ-y7&j zvy=A&`TK#MG&}h)5IqbOQ633IBY`4Xu{cqU64fGFu{ceQ($peau{c}JXRAGFc5}6w zU#<3}+07C)Dp89lSEx~iT0|=v*QimAT0|=v*Q-&zT0|=vH>&wYwI|Jv9#r!O)t)pv zdPI$ms6~`ds?kZch*muAR-Cu;OW zEuuWCMx$zxO;4YUf`U+Tkcd`9&Im#oK_XfaIWLIM3-YAd*)>7@njlY_oh=JOWkDj! zl|iU7NMw@{A^l4bstXd)ipdQ@s3Ay1D<-!F@vT9gG`rg#gxZ5dv|{q9Aap87L@Op= z2tpTvM79?%`JxG$bUjF7tC$>H|My3+pH03#nXI|6fM({xF4K1nWl&+cVO^66kQ4YyQ|mdZKGE97W}oU;jrkTj|s<;yvjTg8Dd zYFBS29~pAKR4(~pLe2+E+s*D|!KoZ=l5@6Iv*d@%`8v5IFS4u8J^i#wAlO8Li2Nus&N3H*Fj1`Cc@p8oQ*ut5L$y^1My0lI` zS`xeU*K=cr5UwIb_&&A1@uB15) zV^YU;^4(NuoLp!WK8MI4#OS`>D2zO9b3LSmogBB56K1}x%{LQP>>iv!3{@^%6;fZmpSXOZq<}4$ zM+_(8xD#>02X@?=rJII_CNvO3y^O1;i>u=f4PRc8^O+l29dewRdYloOB7b&9cA5bn zvz_CncG6Rk?~QS?v*QGN+_RN)K3bP~kDOsN-f5J6!^Xen`*M0{MlLa2uyPmZud>yS zB8EOQ*Jl=n=JEgc=4|Kkuf|q_-SC=v!^>nF^Vp^~h+(rMx7krxj~f58%s2U+^-1>R z;h88)pD6qp$-^@d}w`Et(gc$+#4o(ZI~$BIAqRwqO67zUP&bU32+fMas zVBB^{%^p&N^>HWF_@o-FkLy-TyXo=q%i=F^ zOSMkqCa9b|rE)SDzigZAzHPEFeu@9R*U*=JVr)9{zJ$9^=VNR&#)%;@giE9YKwDQ% z3@3uP6G4KGpsh+bF_g{V%4P^7y*IO$e$;GOnm`PF6S%$!)Uc)*zkNA-Ix&39eM|ql zaqWXY{mUtz{P#1H-!oIB?Js9b$q~af19#0J9PyTVZ$n=4#sy?{<)EGBpk2Ih#Oz#M z#JC4qa>T=6?je;)d@FYNYM1fHA4$hLI@@P-Hn@^0b5P10v8@F%{F>vGHOHND;T+$> zIl`|dYMFC<%I1LM>*n~>LEb$F?S}2O&2egj?RCuY?SSo_o#S&B9^X61rx)`5Ip{uY zZ+MQ=Fl;Yzu5aR85MSC{pR~CkzQVaag^<_HMeF8*-&;M`sd_H>z4dc_>tTD1bA1}= z@oy#ESt$|~k7>p(dednUU3O^u#36yxWLEE#cP9$&=7gdTx2!$cw2^l?Do)c*L1?|VXL1`3}# zKNG`&>D&P-)4Ig4-I3c)`@(rYeGt6BTaihc&NEETgF>Wh4eo2H5b3<@nq!xYNn`J!mEKcV zdJEm`ynf50jI^FH+4l`z+y*bEr*- zCg=SB+>(r~AATa?o=_R)cV0dJ#`Gl4j@%J#adX<@thVQVzVyUU?z7`}$z6L%hcD4R zOC({XL%nd%(|sL#AMSY?*2#w9o~HyoPS6X%&-eQ62WBwvcamxuh++q#z=T;7%HZ_u~A_ zgXnzmnXy7zJIDL)93LuNldZMsPezxHmC>kk;p*t;jcqLjF?1WaZiDa#nctnv-gLY5 z9x>F4xmqgIH~+;E?}_@6i^Q<;b#CM9!V$KS4KXYZ;uZ%9A0zKN-(K_eM}Pd8{6Wr3 zyv|dJZ6ZS}L06zecb|mqgA&~jCEgFAME9`7YnUGYu5|9bQoG8{__4px-w?Y$ehxWRj#K5po+ZawkPGCv0PN= zk>f3po8-6&@G}iABTKaj?Y5ABF9%C-;(27kcZ@W2=YrgehE2Afs+*A_bpf8 z<&g6fI1h5M0vAKBQs64cTNQXKy{FTy+oX6kh4g|Ak!(Yx@Vt_h8jF%tCRg>9{4Yy!~AFd=$XGC9p*pt|L~dr_mmUl)&%)yw&#bOMs7`)e@2J- zx$?MN`R8<)Uo1z(az8rEuaL)7$QRIIevKT}$o=RrzefIHjr@DcJLJ|K^3Uinzg2E+ zm48Nu`R($!cKPSFD@h8{$k8deA06gjl*e3@FQCKx8*+3*?nj6DH{>7Qkbh74p4@s* z{uv$S56i8?^3UinKS2?fp!l2)^HUWlRpDnFPZDugMP#<(eLBo9RG>nIA06fwD&8qn z{E_lHMbtXQhjf@A_bJ|`!~Q`98dUh%hW)m!edLb4W%0db z5jxcOyPi46d|$ni817;29#yUV;JaCaZnvwyA%;OCH)s@IEFUaM`5@`q_*U}%NK;GG z=-7#5Nz^C@j=hT1Y!MuLRj6?V9DCKMr8V^U4>FoUCf<&HMV`ZctG3@d&-S|fV1?TJ zP0;USTeUCE^1U=mNcVlP;VYlJcfNHdh9#I=0)lV(i{JYHJRL_2X~A3?Eo1V*nWQUk zeiRo+p1VV)kVB?8+d0NQji%i-#oG8oyIDUy(~3vPuiPi|+9wlUpX5LpIwbS8Ig)QI z8QUoXBhGG_cehOFhRC`vnb%c%{D*nWwUJfde@!Cj44d2;Cd@w&b>J}f3t_?|{^6C8 zpY5hjODDe}F_=pX7XARX1;E5mqvLAm=lVyJ*46GjpeZM_2@9t#6uui>7W`56M=)5p z&P=@yXBuuZvfFf~;iHtRtxd1p`<=vhJ;3*RfN)xpj|*_W7a;UhA7!PA!WZrwBxien z>ighqpU6G|XX|37cEPhiu{&B5m!hTD1P*E@UQJZ9vu6aI5eI+G+wx# z9|xZwSvcvnzYs&lG%kZm9NX4~jv0(xhEW*Be4J%zKdreLM+_V7xQ%qBz{mNYuOJIZ z4u_1*_;@5*W$5J3c0c?j6pzjLpruxx))&sSdSqHlxyW_z2PFO zN0C)#n-L>pTPrHF^0fZ&CacFLt1NeJ=MOK_XCE8em5*wzJgrAuZ}q6R${x+n*uOVw z9oZYQ$BOn?d0L;i)#}k|l`)ypjQL>;NNv=^R&?0P(|W}xtR5$_N)B44itR9!FGTUSj`O{j_bt_Nn8TVT~`mM6SrL(jb{Fe~%?gv)%z{=D5#!syt zPpz`8|J1(vFtdbAO1`wBm*o6Hz2hZu9!uh6Q$AYlsQj11yQF7`Luqk5t$&;q=aCgB zE6*Cf?oxQAj}$eDL#yI=S`WD-&Z8twCVjoqFr}dGm;ykM2Wb(~^ ze^|XOwTV>Hh(lZAcv~47vezljV`rS~%y;|7y-NG{FqveILyd8~t)|D=n8c$kPPT2+ zNJaU$DNo2GYaD8i<89xcM8F}=<7Ax7Hi1XJjN{PxINr9*i%dGldGy4|zS#HlkIQ2I z_8+n~F%I2~<89@ENaqpfaW_u3nLM@`otNALd)C z$=bv?^eT?0^_Y|6J(A;P-Q32Eki*dv$4YIWz-Nm&c^%}vdktP z6~yzjUh~>`kG1hKzm|CUuUG8JTEmKXR1we9`pvcRd~Ljx)^FYsk9NfKw0?6_{G_IM zY^&e=aqaS7-}d`QBza;|e7O|5KH?M0x`Iw?Q!FubOy@f2i29S#b<^A?92}bqUNVkb zGEVr!|K!X&4b@ve4J7?&(s-|=@xoI{?ve5SY2$@YC$jKoy!VRnpr6ei@0|@ff4o;d zJ>HgiA!l42#I2@+?F)Q+_AFl-(?twPp%@x}wwvKmM@D_SYL|+c? zqIUs(hCT!IE&3MF-_hRz{f2%6l)|7C25=UGvLLT!&}zu#3@V3Q%b;4wyBM?!aw~&c zAs=JVG05i_bPn=W23>`Ghe3BB4>4#6@+$_tf}A=IrH%u?CubbWfm}Qe6+_-I4sC$E zWgOZ9dG|Q98*e`O8PffaM@z?p_|nHmrH_xHf7P|) z(OPIPA0J&l9(+sW+M!%KaD1Visn8CzUu}n~p}o$|R0r*CcBl>7kJy=xK>H;-bP3w8 z*_p0E`;Z+Pg7y(R(+ISu+oN=Q5MQ>vCEH$@vLQ=%?NK?jSK3=Dp?$AC+6(P1_LdfC zKVy&1Kzp~nr5oDs*`s^V{?Oj^&>mc$BnOn_0OCt?Fr_&Fd$9v5hW0WCQyH{xcR<^r zy}`lM0PQy&&`oIXcR>A+?>nITkRLms$B>5|&@kjt2Q&(Ku_IdS2;yJrh?YW5cSPxs zvmH@3q%mBS?)c}M+(10-9BSu4 z`zJW|1P9tb#l@WBfd3;7J%awvIQALzf6m1`hyJU1w3-L)ujSdbJZOI%AG3}J?YHu% z75X3I*+bC3osVgU{_8!^dJoY4CJ%O#2WbCy56kZ!;C?&mfsR7|P7k&d`k(f&oQD37 zJi$Og5#b`hDKP+YsL;s^<%Tefm zSB&mL|3NW32>l<6Esvr9N>8-X6U0;C$rgBmc#1qNMV=s@J)UR}^l$cLo1y=HPs@Jj zf5Q{qfc|}+Y#;Q$>uI?Q{g+G7atVkhOTuPJKs+lYmX#6^&o&9#2K{$Q*j>Qeuw^Br0f>xzfEe{ z2K`S<(P`-4C1tyy|3#_gBJ_VDMK7R#0%j91h-V45EWse2^%$+kApT95-30xA$1%TS z@O&M`=qU8>#B3+@KaFEfL;uGZJ%;|nm>q`xFL2BY=wBp5MKTaisf;a^f%wraD?8P=i|NUMu`=S3mZ*DMVF!fbzk;6^zZeJ?)3%nC;OpfKM>C{KX#cPh$q7@I>Qh6 z*Z83t=)cvE-3tBd{VerOC(!@-WcE4qADwI& zh5jW|P{|Y!&$=n>x+x(3iYbQ_unE-#&$HhyEQ?EFI8)UnW3dB>ZLbcF; zn~L2A{dcHLJD~ps6}kZZuc+87(Eqy1bRGJq1fY}v5YO@ec6k7ZCo{m5835wh8i2M! z|D6HsPUycoz_c6s_XMCG=zk-Cy#f7i1({&xaRcc6c!8fB_MJS)}gN;QaQmD;pQ4dU6Y zM!TW^J~g`!`nRf0t2Hnh$laY%?|?ctPV1*4g&EE z1fc=w|0sxk1pS``S)K%e=cOvrq=ppof8q7Y0{v*Mb5$Ins4V6p-@vNK1uA2tpshDP|mP`W$D#kp zX{M9Y!1Z}D4LyPW&!@4^q5tSK(y2HbQ$_z*Rt24f3Mcu3;ok{C`||A$<(o#IuK8`&YZ0S@zm>3 zJ@ntLV|PRUMxD74`d`zbYta9ej=cr_`*r4i=%1lS8F~;;j-JiYgLv}v<~%)!r$LVz zpnsE|ZG!$SdUFf(@71GT=zmAg-huuDdh-DE&o-cJ1Bhppfn8+)@e~@&g$58$qX9KS z|5gLr3jGfl%m<){;mF6>jc= z{x8GPOX!~%!6rt4_LCwkNfF@vvMB;>iU9G{M6fl`e@ldA3-mt|fzCkx?g+LU`d^B$ zT!Q`yktiV&w4WTwCP#vJQX?&?kszK$RwVjN101My|Xp-jj{ai|FLrZ}_-a(x`Chuj*6S|Oi^ zLnk0#ibIzm_s5}r$WPT?4(s8y0<75Gb4sFqKwxvi!JWI##(n+8eA>X2tQ0>7s9ct5Yl#l7q zF&ziB2+F{jiEXC>S@Nyp2Xqo!rkhIJg&B18#9 zM8E#q=y$XhBF>tsN2z)aY7z2TdI{7bp7@Jh^qA*)FMRN z^&He9Ya1pqEhX!NYoVSkF=J)T2&42ek-Mm!5-Kgy^cCgIa`qpI!pB2>FM4 z3Dq7P(xV|gNBN~5z0`A1ix4FlIH*O4(hVHcBII)o5~xMUmlz~ed$81iN(~(4O$M~d zz(FlSw8g+dEkd-*z(FlSzS$swT7>)&gM?}i9y6e029EL>13F{iY)kLS-U0)Ooh zqMHWJw(*IqT{H0a3=*hC$UhT>PYSSY8bVlxnzogz8(*+y|;s)sE0GqlUG31b53VSgUn^dcRW-jmv%fnFTV%+VGG}zqS#FyZ z{`BR|m2vBH#uk+3+Htvb8Qy1;<)8l9b>-W{Fl^+8jlxpG&!!|)O^(lsCWbBJxGm#^ zbvT~|$j;1b^zbK!nh>sr?y>t!J?`JBJ@dvkTBgXj6d7&myTliH<3`3x@>FWMN^P($ zD%%n}V%TNnc3Ec#h9mEOo)*6K@5FG>pF8NUvKc=AU@7~3ZvHA_cp1*U3>Q``eV+O0 zo8?Q!ja}42#1$eT+|LV&T<=GJF;-irJe(`10ym$p%glRiqU2X%xEb$slWuAH{Cs!R za(VmM+Rqzr_}qBID4hI%>fOZ9t>L;g!teOJ??lJO+D=3k&ko1U9*z?R(+lUKmH%?u zB_j*49(Z^?pz>&>tcwSF<^eWmCWzStG0;;<6MLtLg)@*1ePXXHagZ&PgJ?8p9 z?~_oPEnKrjxIhbAu6nNE&yNM4KaR_%YA6d29%HwB?RbC~4#qnjj2CW=g+tCQPLB`F z@o-*XayJPpV97d^NOO7QN8be9NBNNzy+lGT5>-d~C4JjhzA{tw&KSQ}9r-Qg?UB*j zBR{ci8zmBQkma_tWmMSi&JPL6(R@G~n}CK+jd8Trvu%an%T;`LvdJ zlQG>iugfW7q|JLt16fvTLb)ct_C=@WKR-X^;TXr~nif(nF@=?w=0ENJWK!3`pLURC zex|Sr)BMbe%f}w9-nNzO>obMdnBKi`v0k!qPTT*H&9Np_Z}M}Tw|wo-AGW70e73Ln z=b!)GNv?mkJ(q1SJi}kuJzafw;Q!UCx$n;2cLzHOQ$#35B&_-Uf^E5+|I=SN@~|hl z1|_))o7PAuu7MSDb zo__V|k&qmsRB~ruvT83`=h<#RTR9hUL}#>bXSA@U-L_1V z7%s(em*_t1FPf*`E6Bezrtf!<_dm#k9dw<%dnYgKy0C3iAT6}YxmLQ($R^iD3{8$) z6W#asMNiz9;YX&8{os*V+{i4UANk_yz#RF_kEasDK09t7?e=U^K*aD=!97)|h2Qn~ zP~d1t%UJI=>dB4L?NVR7O5C~s`q>8ZC=X4S4owGpQ%9$x(dj@XJtc%qfwj=GLU0zW zg;o$EEugi~Y$`Y8j5}1^4wdlC|6$hCeI7~gX-XWN7lb&42=@V5VC=}8bp(svZ#goz zAir>AUO-;r#4K?F{>z=1<&al8F)JZ&bYeC_-t5F|hP=~>*$H`{6SEKUX(#41ZDqIx%-4FJhTREQoh0%PfVwf@M}f&S#l?$iK79?~u2#%r?k-SY{98{VcN| z@_Cjy5BUnqT!DO>Wo|=$z%maYFL7p;ID`0?J2T56uXJWsLN0PCEhe zyw9202l<3Ea{}@WXXXavyUxsA$d8?w$B>syV3te(@#arp@*%ICz^sM5aRRdu^3Dm& zPRNHRFoz*`PGCAAcTHfrAoosSdLa)_V1^+ta$y#^fcR2em=wqvE=&gGQWvHa@7INc6rV(=IM5Yt+`H9SV$UPI89>@a|nE}WNh)F;oo~4Lc z3ON%onUG5mQv!JlVzxluiI|;`n-J3kxdSmBkgp=4!Y%$_zq&=E^*S z{K}Pi1v%S|$%gWW1#V0Mu61W>A-A|QEszhpGlwCcaA!_H z?r~>&AU||x9zq^=XNDm!5;2QJAihiylL@&@#FRnaBw{u}-YjA^Lv9i=O^{EDn3IsZ zL`)atDN#sC$sT`9Ec?HL;fV_rd)S62Ic7WLJsh(K@*$2n z1o;BTT!4IyW3EB&;xly@ zse)WLiK&CUYZ9{y@}Wu0A;=ddF&7|To5Wm$+&78ogZyj~^X&g)>dfP6%>D=Nm_eJP zJkN8t=ib|0%T~8;yU4z^&6x2uGe%=(3b$krkyM3N=D6eUrF z5VAyt->2Ve?tMOgzWek%&$;J(&N-jY=X}mNm{*9%3K1&rIuTiid6S52!n{pHwqec_ zkvz;rB2t98L_|t3pB0g_m~V;5EzAuf(tx>1M4B+a5Rn&{Bg7;^jLN@SOjcu#5tA6q z31X6fd5@Uv!JI25xtI@&$zjYV#N-6#3Nfj`Tq7nmnCr!)9`hqHd4#z`Ogb=!OGvl` z{hlZZiNYK$A<>vKBqRfKmV{(s&XJHD%!LwCi21yPoX31kLat%1mXK=9cO~R5=2sH( z3Uj-Jv||pFk}xUyJ*%W-73O3qNyeNmCFz)VOUZ7`*;0~?xl~F@F_%k8Ip(WUauxGU zDY=RHiIhCS{8CC@Vs4X?Hq4RS;d{RbE zVm>D$=P+N9kt>+*$;ds-k7eXB<`x-g!Te4}-eF$DlQlg0J+VBA#hl2KM9kZGvJG<{ zPx3Gq@uUcI2~SEepXJF}%(r-Q3v&Zc8ZbBUqzUs2p1i;uAtw=dQ}=2)S&cbHPGT@8 z$Vmd`J#w-KbFQ4^Vm>SA)PWAmIws z9#IMsg*jS5qA_PENCxIC1RQp~AmMMOI_psv=u4Z+nD?m29?ZEal8d=a zManQ=P>~CmD^#QcbB&7BU~X2CX3VcuuqcTRL(J^J5)(jQN9(e89Y1PnPR(`SoNC<|I8y!n{vU_F+D#CkHVf(UT*X%k`uj zbG4pSW4@~=cQHTIlZTjJ>&a`(Q4S=^0hKq#fy7`=bRdbCvm8hk=Hm|JIOa1B_Z-6e%^;X$NaVrd5d{jU$U$(D(}X=WFzL}z9boQMqiSFc~4)m2lMg1 zO45vBm!JOBhy?nJI*u5}`{ zm>)Zl$Cy7lk&l>HIFl95sQl}l$$HH3&LkdlmNUu1oa;<-F&8S zPr8tkn9E&AIp#VSQiu703weO~nG1P_xz&ZVVqWb^R=c9|$GVbO%t@{!33IwDNymK1 zl^nuc>`IC;pLQjuF<){emoPWDk_OC=UCCq2FI~w?%y&I{=+~P)BFh{zRNOx48b?#&x<~Vl}hk1uP z*@5}6J2{NG#GRC2KIcx(VXk&3)tH~TlV_M)-AOCvkM86n<_#WXg9j?_b`P>0^Ii|K z7xO_6au9Qw2Pwl`<3VaLH+YZ+%#S_DW6T{MqyuxbCyDk%;$aBogyvZ_eRGy9AWFzKeZ<35T!<%Ga&hsXDn9q2V zGng-XlgpTIc#|8LA9|CAm^-{l2j&PL65)f&x5kI8!JOcn3$9>3g z%$I%0Wz2Vd$X(2je8?lrFMP-g%pZNoN6fJUN$fyW-lTyf33K{Dl8!lRAj!g9JdhM) zK0T0}#(ZfYxrDiDAgRLqcp!O<`QymK(wiFyBEvLExI!Q>F;^1-AW^R>a`8s?h8qy}@tVA6oObuekg{Bbb( zhcDuzuu3m$DHm*(lKZGku1!)ek2!jksm3-e94bo!d&G?sxa62kvhx|{Kx~$ z?S7;kbNCPvJ_MC_^$@ZebLj3P0Z(?^kX%vqyI7UtYhBp36EQRD>X>!ZkZ%(bIPE#~{9$bHPON0HZV@WdRjIksG^TDy?Am*~Mqzv=LvE(A=%CV#p^S!a;9_Dvr$ve!U<4EW@RGwAi z$STYU<46MLedEYJ%=zO;KIUWN$T7?p$B~Pe8^)0a%#X*B$CzJ^BQG(B`;%~gRKCsr zWHaVef0Bwh)1PEwF7PJ>m@oK~3z)C_lk1pk{Yfq6r~c$A=CA+~7J$kV6+oge#{`fV z%xM864Rd|~$;W&wfE>eI7C_1{R|b$u%nt&{1I*6?$TQ5X0i+dkR3M28MCFYSB=MLt z0!aqu>_C!@`B)%1hPgbDlw-aTNN!-hA4u+FZV4nUm_G)RkC@j4ku^c6dvChX#|-U{s!U!DJogq+pVSIWw4K zVlE6Og#u5V`@Xna&D74jwW7V4XfN}=xvBrw=BMBMWi0HNNw;!Jw?Z3!PFwXqZDro@ zGc|1Yy?#f3$bdJTS2E|7=G`n)BX{ooebClg*tAkSN>)6|yfLQp1_pX&lz9^v9Kt@z z;_4`sX&VgOhcJq-8D%aC99ln0)*w7@y80Hr__#mwxWBMzWxwT+Yo{Y;g5ZL?>Vms@ zU(nRT#V1c}{i^eRyr;dGr@hRZlBU*JEPAwk@(mDlSTh~gW`SwHD+pp>H>_}R-cLj3 z?2kL9X@`1=9iWOGVBSh)6S8H1-If97oie5isNoGMeVG*D()FKKgxD4L9`G*+!r_|X z-sUZSKW*vr{oCvP6X4Z*-3@!)(J??*+?}qtk1_Paoi5wdUwW7amLR41-Qr3PJT&vewx>Sm)T=D5xh9sUJ-3?ZY0<-YflsG z(FHka_Lgb(=#s50du5ird2=P)D{HUF5uTs+m)NuE`HU{`QwsDi$S<6fo^`UH5na!Hp9xfGN6$Qfc(;~n9@F2HpH+=DC59VeM z^G}&}BdjP_e=r0Dp*kj1XRg(04;`{xj(m6rEm^JBR;$rvlK0eh_tfU&H!GnR+*BR0-H z1y39jF^5FvA3S4y+`T7O^FHw2fH%|y9=d!+Ss0c&MF%O`D!L#EfnTiMfn#K zJ!Bx5!b}m0^51q(`17NY%%hR!FZ|qP-}HW8ynVC4CZyh;tGAbs#r^)R|2e9UO~@mA z{*k@1_4lO?iYeW_;eH5vzQtbYCf)q5*W2HVU_YNd_u5_}aECqDVK4dJ`k!tuZasnf zIKow2xJoimr{PgE&q4yxSw z)gOg%Fes_GEh>q?87eMAC2?6~S+9E9d$dhRmWs<#N&afg(ycue0UJqkR9ucq;;+2T zonLnpE^#hY@r5eoLsi+9(Bo~BZ9+;^e2Gf=>T%N3w|Qw^aKDC%JEf8cd|t(!S4rBJ zR`*L4Z>)mbomAX4mE_dQmQ4$-jDJCYP;u2NiQ(M5sT=-z)e0MHRs3C*GI!wUU`gD3 zkTrR*o)!bFJWb{|%!+X~U{{S14)%;Dh^6j>r%Isf$JO%ot=IhnU=t%*N zeY}i|;XV>IcV8_L_=%c(qLvtIOA^fE$tt-2M#H6PBug_Lx-9Ve1L}8|hTo-8nl7IP{nGF` z8s!E3@x^0HPcF0xIjG?dY9s<5(QrpJlJqeO+b3DKv)}-D4R=x_xv$(h|ERPV=-)XF zcTOWQ?HPuR+#3FhMp^KhX*k)WhfA@mHGH*3DVp)a?Rli78Fmh9xLS=w;CmYGo<kBJdh5w?-@R32jbwcoGZ!J66lZY9;qZi~c=$ z-O~p8rXJxEx%2xeDnG1+Kk&w3h0-X->p^3cjPa3>D~?gf3KF? ztCa|xr{(grk_|un>bcA-Lk)LcYq=tL|C`!hY0@ zat&HZsI=?JHlOI1&_A_YlU7pdaK7L3Ko7Xj=Y^Jkp;gZIH+&y^MU?~krRCeS$}7{@ zO+N;|9|9ZUwcLBHMBoS=7on4wW=^<}MaQkyNs?c!={aNky1URnbzF>2Qg>s~p}f{@ zuyH>@$0z8Nzb~ptE$n^iOVBSJpQcmJnqqhO`r;ew;h+E=w_PU@c#n?Tqmz`>Xg%|F z(;nM|v3d_!Bzicb2nwKsJgP;Cgg&SyP%T@T%qGCbdqR(?D2)ws~x~p)p0dCiDO^qq;IEfz6JeL z$JgtWJ!1|foqOdU0`;Zinsk!f#YItX`Lq5|UpoGUPB~kD-80%-1>;wnj&IW`vv#ft zkWb1P2lb`n-s>a+N9ef-y~K6#*52RU8*m5eOV6#=OXfS*XZ$j^p#+)>R^?naQzwhX|J9^1|hnCPgJ()0@kOzA1fnKt? zXVAlW<9EUM{8TT0s<)4vCz3Uof9V&YV0qi3d{yLI_2 zpN}voWE1aff=`eDlgFd;@J8pJ{^d;2|+9`1V)k8P-p_`aXoFcDicxnkppSaQI zZg!uJTK&g(k2EVd`oxWW>n3h=J(2i6`sZkv|J>P7ck%t54NX;V?!tH<;Z7sm?F3%q zPS?2G&2L@Wo-yeG%*Pwu=|*=ukFB8$GceTACM4ONO?DTLe!enrLGhn39%Z=G40k)1 z*2$xiPpUS-(Kznx9(VDWi0_>SJ#I;c`Ocj^=q_G&&A;%$mcjkN)o`Z;?sftncc;hQ z?ZRJvHeyh`BaG)~-02y2yT8O%-Wd;jPJ;SyXD_>pr~c>Z!hL1#^oF}#*}Pq)4XcVZ zU{ATTciqLNixXk|ac7&{#mcn9`qyayZaA>OqpbWS3x z22S;0Q$568|9xKcaBg!A*iRlb-NR1cEDxIHVQ0F$7{+H0n(JX_QYp|65B7+Mc;m}& zcJlU-ZJ-|>wA91y*mn*Kv(_XhfPQ$e7d*rcF?Scl44 zcY5Q@b`(ASNa~LU~hY}g`Q%^J3imN7&r#T`xBn@gr{9k$<)9#HYrfvv!3*Z6DGHnv%Ek>mL#?rk7Q>CdDH!IfFM!lhpgOzs7OQh%n@-#l)Zj>ZE)jxUoV zoUk-&5F7K;koVufz*;(#FCA(gaiJB5(hEaXreP0Saj0b_UPQYyRDNfu+3$j0J(Pba zJU?rqSJuOit>rMB)Opf6PutmUv#0sbS3`9?^kg4;icF^{!F21%zVH;$IsU7koWBj% z2fp&8uRLu9?(n1?p0G(0CRqg7rVwwB>DD-v>$h* z--Yh)MK^lcnxbalUU{)wyhLniL81Dy31DvR@M3p(iL!oo3|oAs$^hoC7v1G$D{!_K z&Gxc=zj4z2D;}^>hzt^RcJ@Db}GeQiQ+d(qoowgNYL(MB&@ z`;5y&M_(4h@Yd`_o4ssz&mHh)w*As~HX(1k*f(CH5gV_{FTegnXA|%B#(Z)#%KEdK{)iWqMi<83Q&qBl+Swrz}* z*SiO9{2k0SZ<^+9J3PH$Xp-~J{a}80v%9@T|9n^d*VJh~Yr!4xra9iWPOqNd^V_H% z1Lm1Gd)QmlW2zzZ{)~apz9+relis3-U;J|T8912ZS@vutXJ_NHF@8|aNtebyln*z^Pyorwi51pMgPz5!taan zp;11ztCMbJSSzw`Lw)$LF+QS=*EjtB(?5H@26N1ZCi>XceRy@oF5*KEs1F}D%||r* z*!}6-6xF|g`|ZPK`G}%t2Rdy`m;vU`J|DWz$5!BcADZuDTX=44;Kv09d$``xhaU5> z-TR`{cEU7^Lr@<+Y?+U!psddc`Dah=!|8B7^rDZgQ_|)OXB`J6*o0L1uvI=HuY;R5 z%sd}n3jM{0*7?}J?J>UD{+CJMo;~oP4}5GZDnj#Lqy&ThJoBN?d~DhDUz`?**MYg% z>ch4Ai2DS(FC4d}Zk@@@hOWL<$7~e>UbB9j)N#=zyDw-&M36Qj$UK}t4F&O0LFTSJ zYyGAtIbDp_@P-vu%nB=E6p0)8n%aJr4}zLti<)5bX>z8v0zrc})8K6$MP{8&As$_? zYym-sjOh^KShFfaJY8G*e+kVU)lCuA&1^J+`gYT=@8&IxJDa*GHwmX=fP)jJQK&8Eh5vv1cFrIOxxrzb-qf= zGz+GZ=^$1R>>J4J6V7>?9h)MFDHs(6o#0Rp{h=PHio^U3Vg5sfUls3fh{v4bZ%Dzs z)8DWY^C5r3AzHo^7;a&13@|ieZVoUsV}280c!Rkkz|bM^>@9A; zRIg)7L7krVlt1lho;EpphA5Xav&mWXWm>;h$Mf>fVA^t)ZgG~YdPJVI z`()-Tn6{jyJDlbF|1L>$NKAlfaF;W)%UL9FwlkCMELwN=lWBMSUcG>6%b6*37S*1f z>i#P88dyOmoS75OBHsn6tx4<8WWcoLEIsQiHy!x~)0VUJsY^SVd%aybKhCyad*RKe+TXD4;AmsJarZ=Ub<}V_8&T6*nI6Q zeeEp&+-uXI5nZ3d|9^0nesGqbzc_04AG`l@2CLq{gc?KwuQD*J45GOs*JtHV-@Xi@ zrUoY3ATr%34N(RIlVA|tu|McNX<1MKc+CdsHiLXo$iv8IOTS$L)0RQH+aOmhQIDT9 z_;Vw8%?4(#K_u`&19Q+I@;Kdg=fh3sG>G~cn4<>K;6dw-d`wQ=15r`~bIKq}{!naj z;rmi}{{@5ef_TrBx9uC@_iT5OZg-K-v8j0?qn@C@`&^{^T;yB+S}E&sKqCVO(uK)(5eZ!A!W6oQ z=K7CIj*x{xRPTffbHYV5tn1{swF}$61ATE}&bo-c=skZ|Q^pU!f>rAxz2YJ_T{;X= zJr`-Ui+qD*?fW;cQy{8S>%!E!hy=dx!rXTeJ<8%%_YN4}3i{&0JarM3d~4l&#u1tcfXn?=FTf-(BFk`m4GTU55r4zDJzZDIPh5q9z z-Q_9|)ScfNko$KPm^rS}99OyN^iuEwU73TfB7u*(GDlrSE**6#!^aPV_BrLsoN^UO zCe8_!xk zd<6QBQ5tHLn?fcqj~b;>MtNi5m5<+K9m<9A#mKBRiUi(dWHuQ^E$0irnzAh9H0XK;c7gumCSC3(-|Ug*vSh(eaP{+A zH)gGyDDsTHf{agw_K9>S)@Ha~z zv)W$H^Y|M55x-8J_?Vq7@Jn{gOLnsBnR_=wf;_-J{=km;z)o&jxcBhkHaRR`Ea%29 z=RzJ={#&|L6AJ_J8jh~vwCP*U<;C5dCkKCt8?}*}w5RWao^LIBPJrbCjwW&1?k^Yh za!J&IeVxQjOyXt>oX(9&=O(uuaa}a(w?Vt0Vz@E;xXCez4`v^9{fUQ;!;L-2g}A=? z`OW37KY2sAfTKq^?I#U|#hb&ruK`Ds8&%3p%AS9-?R4a_x3Ijz(Q-~J`#CdY!}ag} z?c|B&+-!lbabvD=ldaz7@2PZu;{Y9r8*`hRyzSo|I~-HLhk@)qH}*akav*Egmgcw7 zupIP+qfa=kxa(KTlQRB>hJ3{hd&Nzx_kE%sw!Q)svz?>uoVNM>U;M9cS*VY8?u&MA zhQQ&X5#ge*!&nQqv}x^=p<{_gM2WuM7yIb%Q*(E~_o783qeb70YK!@_Y~3;#xHgOE zW|8){vf+tC$35@;OSho*Z@qLW(B9jJGTVh4&VT9YICj4J%197&jAc5;nxlQc==YqM zbSttD1g{D6nwV{2(*g1zXz^uQd8cjr`gCgjTRtic4eAfg(sFR z+*@}1r{`Tk9Y$)Gk2HTA?Cp_u>qnZ`s!jb9-f+>VzGxh5(&Jy(w$7Rf=hT3pF4&?@ zI1c&OxDt1N$tw>KEFYs@KE`ZRnx-ZY#JDgqF6L09$%X96)a^5TUY1fj#3(BbAEJZF5=oyn_x;=v+Z*IT}> zx7oXaj^CTc^;VgF7lgxlTcq|zxeb}U6`8%wg|!LU-&?+4cz#Yo*2yV9PIG}T9<^nT z+M4_GoWfy&uhy^ZT*AI)r@dz9XZpgNifvQAo4Tib#gZUe# z`5XlKE=<0Q@WjL^4kL?;)`OtlPFpV&ckZelCl?IW7Jy(6&+OsNKX7homzi6-&AkYM z%fS|xgSDm~IJbQ7jiA9Reg@@A;rga$p9G&O3uMZKgTH_CNqwU@71fza(H6+G1)7gQ|80== z+l<9MI!`FxD`oad&F%Nw@Xv;5I>z(>K_kyJ^1>7UjpQK6a$~aG`k6}^`805ob}iKRYx+`Wjs^`^ zu{cMAMyXhwqrpb2WH?8IO;pKD3o&3Vspu9JD{zL2W~f-4qd~J&EY8uOIVu+CXt0GU z8P3sQOH?u;C*zcgo>H*_pI6cIDi-Hx&}%9d=V;Js6^nB;*t;qj&e33-R5BqaH(X(V!sXwlL1T0* z&e32KbTXWy!KUeCreJYrjt1SXV+G!$qkD8L&e5Q`Iu_?>(8D?w=V-7ebTXWy!JgB} zgq(~EI(k9J3S6P16*?B@XwVuRi*q#CdYugCXwW7di*q#C7dn|K+6(oiW7~8xAt&R# zj=tBi0!Qd+gr3DY8g#Xu#W@;mj9!LwG-#rp#W@=6HoXkzXt2BWG9f2pub%GJvjXSo zX`Y_NIU2M`&*B^nwnQ((IU4kwp2ayD>=nHX=V;KIdKTws&^vk-=V;IedKTwsa8LET zDM!Q9?l9xV>6kd3+1&X3Z`Fr(uCOytAYlZPFv4sV{9bKW(W@Y62iT_jKOMOL(_oWT z@P}oTcA2aDJ&18{?4jS-!^0%73Hj*d{L#y7_Cj8jw{xsF;v{e9B+TjF&gqzQy`6J0 zpZ0b>jro$d^Ciqx-p*B+A9y=Iz})Wb+>SZi$2r^wm1nh&^J>gVKF&#)_xm{S$9%}g z`4Hw}ALnAsmwcQrVXpLXuEc!D$N3KChd#~^F+cZlevbK#kMkRW|CnF#e#G)e-Jz*o zj9^{}P4!3kib(aokYiw{CF1moCrE%}kTkO%JOJwr&iab5C(~9)+BH{Tz z&MlHIiRdvGzPNTcvsQ4fOgCkL;P7DPu#jwQ>Q5k8sb^LSiQn_5jE*mo&g*3X;R|=m z$L`2hT;V}ic%Vy7ws}}?^FZ>W9`q=dS9w@gVfjlB`V!06dRngaM9=T?q`N%L@1MWd zxz{S|Uy`7Nr+YD{dzmBs^KW+8j|{%md9g=ZfT}IPZ1tP+NUeuZY;im}~ zhllZCb@kfMAp*XhNioHAw<@)+=gYjeJMoNa@}aIo5~bfTfp7^aCTH&Fx3C+(ah`7 zW{+lpYy1bDP06nyI765-LfmA5hkwiGt&{zrLuASnnKINN4#?;M8FE|-WtN39)FDb_ z$`Tps5NBnIv%>QW{z~W?uz7Vi@LzApv^QjChaLPCnO(ii97S2M*y8$yDL$^9WmYn; zl|q^S3vYtpwo!fC=wli^7aUI^Q)Yv3cg=!_zVqq12@61QevJCOkZ-o&^(y~I>bYR75ekS z-s7#-J(}nU6;|lS7y6l9VerfSXo;V>_dsyY&$8SP^{(rF^6P$RM@p?9Un@MnaF%S^ zmSy7>z>9aQ<-679-Ui`zHO*0@mMBtN7O7E7l&Te_YSeP&YI(Wv{KC1bJ(j=M7DKIE z4f4Jk6lki)h4U)MYBQ!hhc7;Il09-lKc&Tqwm6|LwmVt2JE1QwcjlKnqo1^M z{QSc3&mVmIZR#edykbX9v7cWEo%!2{udj4~N-f*|%jxY!^``Y=M{~y+;b)ygICJFZ2F&#ao(+Kw4 zG2O&tx>*93>Bg4nCJXl472Vh?y2*n5c0)JrhAu>~-|BR4|J0R`>k0= zn{^t&erwiEY}U;Z_>FGt8{K5Vehbx)4b@K;?6;NraVzy9ruhbU;j z{UpJD+p4Eq^%}u`+p3?qRX4_fU_|O&w;@mwWe)B7?I*$6B=77A?}T4y|2>)~qw8l~#E5Rs*xuV74I_m45GX zZ%6PxnA6fN%inrizQyub9~z4fuG!;bxyJ{+ z|FjQ1Eyx$0N=XnaUv0^NADJqmsUoi5jOpyR83xGF+$myriuf^0zpg6n<~Ij&`b6vj z5x*_EbWnc9ru&fND5AL{PT<2LdRWAnwnD*bsED2raXEcj_%6!+%OU4eM9+x0Q`MIaKD z%f#$5F~85Uvdd~a?E#2yiD|f)6F5ptqr{wZQ`^w1`zn8eMGG;F7IUh&;luY$Z-peW z&0@M)%$ahQA#f{ZQ^fr6m1`Tnyf73NaWchhrkEe><+E{Co>v&Oq?l%jIe~M;G)K%$ zsE)L}Z~I^(%o}1_DCRbommjbDvl8|s92e8$Vy?CN(2;t#tx<5Lo0vT<=JSoY3%s3= z!0P&CF?(6e_jc+!x$KbhG}wbArq{%rz|~?}E$05&THbPM(U@bfIw+=h#avVBLnk)E z;|e4Zis?f!m;b-xX=8I=UxcJ6G5bu+yD#Z#XZvhNIOGtE*|%aoXX=Yt{xfGl`P;>` zUCap_CZS;xZt!&7B0V>4HmoK~=qd>(7B9^k`7jDrzc)ze1_@Uix;LuU@+9kFvn4cJ z!u@Ze+{;sc4zf84B(y-ntvUCc*|shT-d`+XizR&1U};y&yWNXHza;D#2|s|=tS{SC z*|{htq2&@z;HwgPRl=E;79a{Np*JO5e?DO0a_^5FkaI1ecO;zN#`T3N_$n+4K9H~v zB>cr*j(+_!GGMj)xrBW#;n)0@KW1-q@{h0wNkU&jdCc4PQhvlL7fJuV)1dx0OWDm*J|gqmS--m; z>;{X7Qko>?1WuFEG$}X6ezx`VBO9TA?vm17Qm%bxot^ddjL!Zkr3a*(DXI^HmXtjt z<*RKkHZeA*6rf*H_PCUf`7B^d|An6L{*zLAQpyQ@PD;;7xhpG<75sXZ`3qK`rSyuF z^ZBIxi%>fZ%DbFPxHDrcjw|E=}yYlN%`_KZ439sk8KD2lClq_{C;`;xc(Uv z?ts@KrH`eYz%5eRBISbjH2OV?xy-`qyp+C^a$oMU+WgN0X)yFp8C@phdUA75SFc~W z&L(7qj9nq)_pJK+$`>r@94Te&1{vS{SLUy!E7GBTVr4W|#tED#qlq%k$8PNczrx_D zki8(I+hknqv}X}R3z*M44O^Ni#pf3e7wm`;b zwV$1LEU6y!p-4uHWSqbyGFl?z?w_%LIW9o*Evz!g=vf(;Vk1)BSh@E#^iLVREaS?b zpO7a{ya~UjO2$^n_(iWu-_~}y3+;7B#@>B1%IFIj_crZl?*+=#fzUr?^sS6D?Q@0LfsFkq<4yU3pkF+@lIOqPInDmb z-+Yb9qkS!#q9AbIOEXQIhi2-^2LN(-S<`eNHb) z<$!5FL;vLI8J_DIkUH|WC8PVp_|LPKc)qxLT|d81t08;h2G8E$d6Q)a<3CSpcuwGY zp4Ri+lD} zZeXkJ$3YJK^1Ur1kf&@VZgDd*olsgGIV`Zfs0e>u&Pa{}kcX^xzG zXcb!6QPR8|#(z02lygBTD|fwnZG9N}r<@*_bEb=lVf>e~r{(;?cMnrgI7~sq z6x@Sv)@?bm;|0{`Dg|Ao;QCw{f9+XlAnak=pr9KRoSpcy#4L~LU10oIu<;7sw4Mk0 zrC?JPyn;L(v~^5xNMcA=&~ybS@NNa&t>C_B8vAlxR2|fJwt{9Wxb59W4$i&)Gi19I zC}@F#GfcEO>bG$%jQ7O~wphWh+%;g*q>E+$fPN|1GYbArkS2L@(F98v{}r@c!3lg- zL9Z&f%b{hUV>s$q-Hx=A(|1DiY|5VUB3T~D3o5(3^f*>30fr5RY;Ddkv%*$%~ zv{j&A3ii2zKh7^t^66L(*;+3Z^reCmxJ^OZ6x;>*%8RoPS6IXNucV<$ZsnIhr>|}K z-%;qFN_M4^Px@o6_mr?xr=h--bc2$E{kwCvl|H-+^`&IvmHZbC125DLS?&t;rDRi; zd^LX{X2B=-1E9W?G+oIFyjw|kE4f>H+I*j%_~H`Omy%{Hxq`$WUY7Lv3iQ7~$rdR2 zeg?m0%SiSD=$DcnS8^+AzP>UsTnyv;X(fAF$-CX`xkGa|7V7Vkl3r4Brh_jaMxvyZ zO3ue=VfM$Kr5_QwsNVOZVdzdJ-OBCG0zhDfj z8hC9m{Nsn7mLGZ|r#p_)IBH%j|0~ZWxZum+&fr32utlYihHYAX1VN^X$yAwxxu&E{ z5HvY6O~SptrYr41P%@Y)8EpQYCPNhj6(XiWI0L|x4+(;E2Iic>?0GCMh!1>YIf(^9 z!Z0R5I3{6n#oAL*sk>4^@MtviNQmDouFb#l-P`!nFne#1C^krtv%gtFH%pMKzD;7e zO@dtY-4f+)iP^X5w5}A{!t;OkeR|~khGmoCi>LcBr-dwuzo#YppUUDdH0UV^jSkZ@B(Z^i)B{i9Q z&-$0Sbot% zcM;29dT3r^d4#7fLf8)gMyjV~m#6vtOJiGQo+Ea2`r1VUm?9zQvNR)_e}A)jGzhlX zGh6J<{m`_W3xX64lOkNBy|gqYuFR>+F%aa~X>;t%ZM*dSga38(8kGnw^`6S#3zbs4?eEyx7HuVr|2MUv=F|6PX+PuLFSRbDo{*j$Ex z(t=8Qqz8L`3h5L?w}p6`UJZ&%t7*BV>xhgP_sKG#bsr;J>v8vln>3Ng87lQqhA}^kA~J)$IlIbKb!0)q}0= zAvGO(11XR_==~myqUu1u@@y%1`^`Pr<{r|lfyr*Q*Y92d>#+yh+C!>dp0N9~l4&lm zTH1rQ^x7UsuxDrwxEohVl(|bm=-`s!_@Qz|EXp9BZPhaQM{qNP^ zK{V2WO|+2qdCat(+EG&iv$+MEZXsQ(wN&i8UpfLt1q-^vf)RM11>I-C-0SH-|H%qB zurBj0Xubv0I%n0Y)xA`GV9S&RJ!Zjd4Deg!;_~$~*fM3omRU%P3-|uE*wuCi%;pyC zB@3ygyhyxf-1X_uMi%s{1tV~^1+BJVe)}&!3kC)YT5rLK``1OiR^I&@a)~WylLd1t zc9>+w?iCNGY_W>nxdTpB;PHa3L1Fw>V20XUSOhOex;vD?I^y&63?}DSdawJ9EX+ zL<-)ACA-s7+V1gV^rvz?lz+D+-EGMToMTCIEE&@p0Bo_dq=zk;{?+@3up@s5Z>+?U zmRK^waUIGV9TK;`^Hi_ z{l9aIz&o>KKUzwYf1Fn7@crmXFl$)RFe^sjC@UIe#h5mZfxcML7%S$$n%n1E56l7U zH_?hFS}_kx9g-$1)5b%0w_?+*q#qZtH#~FxNC)r2ip{c;M*J9I5g^q}fs|q^y3dLc zINyrqTQQg8?`DhEikE}FSkYrvjN8_tZz{Wf9}4|{tr&rutZ0)J zW5q5SKXALu2lT~?w!rt|;wz>fNC0cM&5CWalIHne+G^u%1n(`(nub|3cb83KB_ivQ z(0{DiC~K+dZ~^e{t=U*>X@i%=>uv+$`hvb#(>QBJ;H}nlt2LAOoxO8quJwB8Kh|`I zHPh$!g9rQfYq|yXVa@KdmZtCfJh9jAW)<`wYnpG({QTch1mHbbv&GiZ;tgL_IMqyn z{&?D&o`&*l>HpqtUKMypm#pa}c;678IV5k!8Sv(-}%pY~Mn0Kx(lVSy@o^{-Fo%21-5|ceNq>hg}IUe+4Sm2dXUl ztaq8?aswhJn*zB_ff8}p@#ar=`}c-j{DF$(Kvkg6XBY4Ee;f%q6v(9oN;ZewJL;(z z0{_1&P_ZjewaMqoocC+Jz(d#{$n6i5H2Uc-|GlkOHq=?5B0o^|a>BaOqodP*0kbWT zI}#|FlBwF>b>U0klYxqpfhw|Iwr;|(5cuBNK<;dy#FU8&9&4cDa-b^fSAUgVfE9Rr zm4RGkpk$NnxKkTad%*W=0~NJ_s^BiF_bx-%Z32%XkZTB(^!a>HO6H0|(5IRL6-|Mv z{wv*mYxEJ&N1q3B&jTgvb{()QIPexcp4LD`YoIE3q3_3U)^7!m^nD=r9=`uy!fWTI zO+`eIN;@g3N1s2t{||I5h>Hr6m=={fCuK!+kZODMy9S%YJC8aiWiCEQa(hHCPs1M7 zEEto56kCH-GLPM&%5z;R;1q-)E+a@%aYS+FD@oQa=z~FutRR)c0rk|Ryj8_uQwMR` zK@#uM)BW@6M}W>01StxFRM%%6@A@%n$vfzSLENz*iOv?0|JyZYb9V>#`JL-@imO4Ypv^<136=?8K!hZSyAdQAed7MC)HPRN z%&!Yl)CH-2Jl;Bewf{Wu;O+-;_k$!}{wL(8Z}p6WwEiH)lOR<@ZDQIF`Y{KgPX=)< zL6Y*zH*ZhdxNaLn;DQwIf>b3_M@y$p7`qq7tRU`Vki>3f#<{aoML)y-pEvtcVR(ovL<N80s`6f8cNEbJV2+Lh3C6%9ab|F1i8JnxxLLNlq@^z5b|UHkYy}*^?LrL-n@hfI;E%Y z^~kYY;b5`CK`fYI8yw^t9MBTzW(R(=1A2a!1HTJ%t^>_=K<_*1U~v?`ugpPShTnJ5 zfxn2KuXEt*Fh6pjkMR3mI#|5K@9S`oci{I$IPwvWsC=6o`AwKp9BGOpD&HI?b0P|H3&}FFehxxzK1FC4+M9#%pI-SB?whT?JoP6n50s4R&O`~GXz1{&_hX*C=v?l<=AgMIY?=t&bn;q*Wk@av_HIO~(3K#`>Z> zfGxiAExxEGxBK$jh38GX;^2$tT$yvi!9J#4HXsNWG2tS!6Ja{70|YBQnU$XASBE*w z+*>C7oWXv8RG!wR@|EkwLGCKDyM2ur1#(A4s%XDH22*Ny6 zVIG6cg6t*p0;d@|>mk7)OE92%NHfqh19IlG43=4j|D)=>1V(oUW_Na$ zT^2;?b*rL?m10REiLs{K-1M7r({pog1VsT0RuC0I6cG>=tf;79p{Q681yod21Z;?k ziiPjP>zA45{Qi7%n3-pGW}b4Mb3O-oCUyr2yMv_0_GOu>%INW8wkNq_cM#i6y(bB$ zE-SP_%kPrc;5p~{oRc0q88;QO1ckHqAo}8i1kFE2gw|~EC_IbO@ecDM6 zC)q!oB&`g^7;Iw5(6Jdh>D8M%{gW%7d)oD#s(m!uK3ZC*&7El~cs*dUA2G}s$Icli z{a|zB53xy?uJr|kwGLxjX+n~y4MYs(VeaK&QePyB1j}%r@sS&a{GLqSVrAi7$ zIuu~3l3gR!yRcNr!I8p2db~KzBv;Jq&*t@);xgtX_imq*^M0RXK=&m3Zu*mo+gQY~ zl4n=)(l0l!=G~sd^LB@jHXgDU4%wp@r_!FOv_~J%S$l`G_UHp@vR60RqZg;eUTC4m zi^CqdV#h?bW1{rf69?QerD?xfP7H06?Az$KoEZL3_TXjCLJU3Q*`D#zsl}LkV#w36 zc{+NkxZg7d{E@eV7*@r)uZopEhr}=2b62MNOd*D%F&;%@q;#{yl~4B;OicZg7*ZPsJ~d47=vI6=uY1&2einZ#2hk#JtlS zw-a-vIj$1(8FSnj%$Lk@moVQk$KApF(j4~^^IS{ZTnlQ?LQC92%xf)iYcX%P#BImC z*AllE^I=QeVa#VNac3}Jw8UM+eBBav9dnx{t_^diC9V^5w;QQI zYx@he{iUfpne+E&F7=lrJIIbofBPH#k*BYtzq+Hp^fL6Vd4w){eBzTsJ5%Q#`-pT< z8QMV^S~N~=)XFw$rTo?TBc>J(alKheTCin|u!RnqWJWoLDIViaAN_$b_6NqG#Jgi- z)W^o47M~g;oTA5zu`lFhyX)n7*GqCti9$=naKgx*FiPIZ`Pnl{9%g(QNt$xoQGMG{ z`UFTau_JTe5q*u_jtSJE`Y8Nym$!kK~FeVQfm6VB!ImefhpRb#_LCt2kmPAH$Z9k-G5($A3^HmG9{r5YNW2XQ}AZg8I?C{o}O0+{mML>`^*n z5O+<8p-jV;X{26i!SiG7aqm2vM^;1Q?Z*$e|0eM_pSgi#JsM>nH6Sgi`p(yjY>BsH zzcuW)wvS7#WEwK-yNGwf8Y-;qcVEA2)9@@Jg(v}7LzA`r$+Wf2wU!NJCDdXKE!Ost z6U>aFNyboDg$kN)2URE-**1}<}{g$U$p_oyeWHQ4TEGjUSW15g-nnDGowwWeuGfkm_QhQ7j_n6|SpwuDL)I+A(R8Z=KDdvRf9V#eQ zYkI%dG>ZyKT{2C$WST++q;8rf+%!$00#bKP6YrYhsDRXC)6~bN*;GL4rD@DdQ!Evb znrnW0u6ZgIkXmRSx6nM13Pz=y$EBMmQo*P!^Y|?DBq|t{XMQKo{DJ5=CMzNHnC<3R zDj2ob{Pte+R4N#C*gWpAc_I~vI%ytv(mat0MAezc*O@0#fvC&ocP^VhpaM}h&0}tw zV@1&+5}RRu`>uH^6^MFl9{1QhkqScfn#c8;CsIME1(xv(ER(1pRI25jRLcic5Gvg= zBHc2U3PNRBVzMmnh>84Ufo2(*XBkfgpmthD?zD`j0#FAmkq0bMQ~>IzCHAQ0T`B-| z(h`2sGMWlN)mftIER(4K)D_E!E0(cT0P2=y#4XEMDgbrQ5^>KmjtW3Mu|z+yye$eq zk(G4Rglkb#Ui(ZqkZQArcw_HGO}i8I(bUbaCj6)FiHUd~q9%1ly|?X3WzG1v{vh76 zS5cE*MZG8HrxQ;@^yGQb?~BuBvQmzoz9{Pgof}<+)dU!})K6 zh<9vV^t5%+AMGgM6GMLgneo<4{ zsI=LJfux6xp57h(@tv~WU(P+ah47o`ac`n0KE1lY@6zvO#1k?B_bvg{m(H zll~($CMq>%^1=^#&#j-9&_-gHVxrc@Osw;gK>-Z5}>WCB|l z6IU2BV_e6-Lq9V7yoJP)#Ejb+GtnWtUscEap8`qjP0W-7G1J8j05ai?i8>ZDSrqFd zo~4+mvoVv!ew=tlVxk*j-gX(<{!_@^?Z1-^!kD=0F*7{b|BgA>@)hx9wZ)8UijUp{CoOGHfLf-X2yU}>R9+sKP=1fZLKMZ0DvFI3D;$vL89S;pHahy>q4L51`OTU<&)CuBu`$+N+Wt@2 zZ~sM}XY8cv*!LDM+xz(+l^eau^NbySE_O`V6Thp|-a4|L#4g0fG{(MjWlZs!cc;&I zK*o#Mh?dxKVqP-woW(|T#E!eXdBm7Qi<$9cW)eHHD|USSG^1B1H|q!)Phw+xV&4@L zIFek7D~YLfjcDpZif$?unbA6!KY_2b$4@zUZvDRPnPxU>IkCxdgzP>+(K z(n6Uy35UuK4wd$D#qbAmhBt2P8#if{mNer)QTnhC-;kNc9F^M~nlV7!oGK;>XB;e3 zIV{5&2WwQCH8|s7gUW3KJwEBHam!EnB-fCpCFmUz^wJEQJS9Dosh8$DNq@N7eD-$G z64HVaJGT-$$yY%fQFdN??a)1y*=fq?WPl8xcACSOkK4H&r^hFyhMpfctEDd#B6$p( zJVsjUh_NcfaL|oCNORkh3OAGp9GS(Cjq362vGMeX9j6bEKJvPf+{_9XwgTRvQ^8eM z!&X^IoOCR=WaiHyiR5OQd{s?!f0=kyeVLnhfBK%U!#%t|-R&!M~mD@}&KrT?tqvfRrR|cxK^gvbA!4Aaj18 z$MBK`EzPf%z3k&D=LddHxoP0orh(HU{3B`{K6-x^nVAn9dwbwC<;=zr8Mm#zCT`w= z%oYuzwHzs=?87vBAV+v&-6g=R3rfqg`AYYe^DUo@I8}@x1S0ej@ z@_yO4{j%w8y~od9uK9#?R>x)Ij?1RE{?Pk%Q*~~T)2vgn@uy@n9Io|v?0rvrkZj$_ zm^zt}xr1!ZF|%cec)-c@yF&yw4uGn6qcGLP^6R_o~F_gZ9MQtptA?~u*dGOegG z=C8i3t*5f_Ph~T_TQ%3$`5d$-gS#y1m2BpPL1Wf7+Ir0;fr4^ouG~W`a6 z;2~$a)iI6+`Q5t1_)fU~3{9o5+6nIBpPk-}}sU zG8tkgEMh;3_`H4c*z2>Vk)DiYRMQYV)p$*O;3NlHRG!v$hHeR zdLKJ=LfXYcBXX9FB)v7u9A-VTZ|6HWTNW-C7XjpZy<}o9nWS!hVZU=nPHYQsB!+_F zY{77;6Bbhrh~XN?UZas+;(Uh~Qe)Uu+S7?aa>UT2VVgA4(6Vq&an8&F^J-$K9>Z3T zk-8UgYE29aEbIb{tcxRVu*BuWKI?$yB;Eq#*5Pant#w^-=E|k z&$#-W!3sE?u0uMh0*)B)PcF4v$?jH4{+30x-~GJdK=~jtIGh?KoEjyq$;lf(im4xk zd=<^39GXWVUq#y}b=xS(H$kR@ql8X+ycmQ*u9#)dX4y;ku=w5Pw_4`EwYYC;5vofF zl?>z^50xznm2PhFLT33Nr%L){Uu(kI8alj)Gdg0Zj&-k&m8L_BOUGrpoEi3p7&@HU z4rj@yvqa&T;#%-oUzX$XNcMOnH3WN{Z1_i2U&*en0MD)f=~Scx3y{4EkOrJ3qnu2i z<%H&tGt9B^nqwpFlZnEC#LyMYb_Gjsskp;R4EHCn_o-x%D3wVJ+XC5bfzlf!D!mg! zv7RlaPU}?WSzF+spBhLj&vKq;v6sGylQnTtD^rIk`WsEZd`?0=dWNt)L%2`we>BVB zxQ%QxCV2A+-fCmaSKnVK{5RQ#TOn_c3~QBLz_)4aK1Y}wn(=dE8s z{HfmTdT-8c;USmxd#97d)n;#Yvo|;A@11!PD&Wm;^H!Ic2K02_oJRWlz25v@Z*|Fx zaP7^Xo8`oLhYf>;q=~cT?Ua|9{?_J@3tl zRiwy-%$slWR;!2o+3$MicrEE~z4@Eo>iQS%2|Xu-O0pR9W?Q{E$`8ER2j1L?rTU-7 zCUE!2V$7TE_U3l|!*B7X{~q)ti!pEZjW@T#eBo6!`?V`sjQQ~MebllX_REL$c4V=Y z>cgk{sGGyzs;a$qTusI!A9lG9M|q78yT*sh{PX(Y*IO=={xQdg&GF&H%5Ego#)mEN z;YKZdFZnBnIx^mr`0yn@>cPKEI38BA=`0zKeE0)C>VGIdaC_OrR1v?u4|~XmqkO`L zJ>kPWXsCKr`pri}h+EZ%t@YtzYP~c+9`7aN(M2Ejq7Qd!iA?|J7vJU*bvhru*+=dC z(azm#FC>%ab;pOlSRzxT~Q-h53KI~_i3hYv@&%ZKgq;a=CkJ5EV3hrBO7Y>y9j z;0vp|4X=lNLf#i&Ho=!m{i^O+pmFDFvhDB7r}(Omq}(*s9z8&Q&lSG>3SYG-3`Rmr zeAzT#j`Dh6cD*krhFOyL#h2ae%XN9kwcgs%YsmZJ%Wm`Kiat|}Otv~p=0AIU`8~es z>J_;kCkK2^#>>OL{9#}9_QVTcEZw!6++T$+Tj9%5uJL7Sd^s`Xmb@>%?0H|V?B22c z{mySD?QQa9n|!&;4yqmI=3cTN(BjLt_^NY;ZRA%ED5xOgvoC+wSDh7JQo6W_CGW!n zU-p47N4eXV?e^uOmcBD$MCz`$$ot~UzVYS6T|n}___6c-IGc;6vI}nQ+2s52K)_r;%0 z@#k(7RsF_QzDwrY%l-M~{_0^%{XYuaQXOpDOt^A^bd=H2G`9uC{ zF*cTjBKh-`{%SF#i1aW1Y>huh`Mf`S-k%#(${wj5@F)2`n*7-&f39?u%liI5d`0Hl zE&gnaKlk=7)860q{>75-$Di-;SO5BV!ZTSP`16nb)o-4hv25!7hJ=N5`?KBt9OXCu z>>GbB;K#vjs+2dx88JVAogcux*WcjVRai*ok4pmBB>|k6P)oj_06r~1eRZDiHx15R zQN-CCz-I-hXWlHX8=<^MzQ>#ZHYb3iToAw(1aRSLHmA3JY9{YrNdQ|Cz}0o%d2GM= zNAiB`4`BBPa30y2hN`rAr^x#fz#k1zS04NP>jfKq$oGCSfIS(&x%?1Y|8d5#60#l$ zVCw?7$=+UXt^ZH5HCYb?u$Ke4m^b@l&gZ-&{o&03)y)96Q$Jm+`St978&iiY`ywqU zK7ou#55_n=7=z+}lgBd2W2OC`RO3(kWG!jG_Wh%i!viO@@iX6$;HzTnSH-a6x|h6DF}n3J z(p-=9K{4)|@$q|N-1lHU62lz9=c|daufgZ5i_z8L^IeW{zl@K+8{>W#^V1mSDL!9s zjD0UYUs9|tDHgSFX{`HFTCtOa{=~XxW6qCd@?+8c?u@nH8H?`sV65&SKHsre_ha<< z)c56QBER-XCBN{hf$XY*((E|({XO?jxYaBnhBqVFHzTOw@7|vndVSblAE~LSKRNZL zeD3fMVn`Xtrl3=8Za&?)c2{5Q$L6u@=CRUrGWB)SqIX~X)%SRRV}Fybu#{;szdGhM zi~M;P!|tN$fTDggF&UnN@*uETQg_8K}e(>MolDl~gi4Kaj}}lv6GaWQqgj;=GVJHUpW`KslCB zXUYTRSVG;UI*=5)`&YlW2RInX*ca$>K2S*|)9VA7`an75tAWhbKslCBXKn||v4lEv zKTs}a>-0&eyF3k4VhMGZH-SnjnI0d+#0SYKCkHXfL2^+Gl!OEZG0TGFSVEo22$Ew7 zb(al6N-?pYjD0~a1wl$GnO+pc6a~pC?+#*i2g$L7I#U)T#}ewy@gO;tPQDO;omy!@Al}z6q!t4%_Q!Wc(%0lE=LY+AtBF7Ty%;^xh z7%bK&q3%*2qQnyFF3llIDw%#Ggt-wSr`#UGw1>#CggWymL@tUV_erQTFGA#4Lfs`k zREZ_jT~b1oR5E>WD6=?JPI*-*vno`MCDfVBP&t-RXL3X3RQRbV)TJm?Nrj&Fgu3hr zRZ^j+(om)}R8F}(lqnCDi^0@n<0O=+4wX~kr*ok$=R%cK_^C0JX$+N9;ins+E;mAz zROqQA)TJX-DJGcoNvJdTL*k~{I7}`^ zKajanm`hrik_tVo4`bGc$*IuO<}hY+n4AhdZ3|+z-kI{V4ouig8q-W?k5acH>Y5vwm=kT?5^bg9m!>k|=d}5K-kB=St%{QjeU1R; zEQbOD8##wY4$Tc(I86(OF4WGswbSF57HlgreVf0L-1Ghjc7KHA_Y#$Lh~eBI_8cwa zv&=K#gSuaLG33W+Q+l>3k*B0fDeF>7J_u3El$@bi$2QZ-$;`h$c1X~nQX(o=?gP#*RrI8skEfvRXuZ6 zucajguj;2<)qhI4RUg%=pGHdxcIl(K^wVfb!5)2dkA6BWDVShj5)4`~K$du^4C59W zrqYsvD-6sEgO-*QTw$29!tg2Ob%v;QhH12<;1)yF7Q-}JQgDYMdWT^;Eh)Iq!0a<< zX-UCy!?<$8R9aH7+Q3vBw6vsPwP8xN;Zw@z4N>O}(`ZS-W%IDfrAV@|ocsT2ipr!1NllVg)|ZJs2kT8fH^YGLA|zP7#BYNl1io)Jo$N zT2gSGar8Q4oLJhABwHAnO-3y(DOhA2USuSh1Y$|S-9~1&QA<6Q7e`hTpn`Y`u0r^XYyfZII|hf(zJiM z{{6H69cJBECGM=?bykqPsbn24$eIKxux<)xWdG0!B~m_fa(hN&>WF8@N&SW%FG{(PD<0(8gEYo= z`O-Jv4_y_=6GP@mHglvjOo$aIh+&&6yUkU)OHpN+7?ydk%jj0Yia{H`ZSbm@NNzvJ z%QweM3T!3IbT99tUQz_C=$<5Jc_dadUf2?7dzN9ob92x_$zgjyN*tEUqcM>13cpgj1s%$ zmE+pJ?XETMBszHi}nF*^8SbgbBX;slKj?1_#RS`_Yy7+wa&Y@7M^NjP1R@ zyk9xAZz7}UvQd@a%GjkhZO!PL$Y`J0c#O4nI?+&5vb1mFqU^O1%G@^0dicBZ4&v{# zRixOe#4(<{8MfL~TMy6oWAgZ}{YT0D+bYv-g^!;f$^8BIKhKdD-&T=htE#XrpFL<> zJMoX^*=qA_J=)i{d!5mY>?HSZtK4oYSbVmm9{cs9oy4DItJrU=y1uZ@sB(GrjQEFb zwTEpzGJ3zd$7)q%KcdoBS!pZe7dho6Rh}jLo#$;8=WSK7hNII*>i(-EVaT@HOST@7 z?;4+PyYz#Z+`p~znyqluz%Tvd{Qt=B+hMEduvLA!>q~8K^xNe5Jhat5wDl0T0m=Q_ zDxcX3Rx|$jugu(yd1TFJr%13{s7fw4WaIul@xP_oDO2qP zF?)vif9(`&>{MskX1_>|EtyH4znwPA&ZFtO0W#N;O!9p4?38(SLdT2`qCPCm|C;#o z>=Y$-s_nL}y{Qj2lKtSlcG|sm9-m)wx%KpNg?nH0jPkIZ5O%6v@0}(i_giD9sIgOt z`KUG?(mjx&6MH8TsHB1N04`tWzMkf;^##I&RB;A7I_43u$mjJ)P0hPChOKlj~9L6>cutg=f zE>Jncv@b_anU&Dk*A?Dn*t?9>bBl4#_Wfr?$)cpVcGBNzBll?Ek9oW0GJC$~7MZhY znKG>>4LdH=zFVgKobqw)=;PWC_7CsRP3Rr}BiYy0jy|RR;P5AhK6QOyTuVH?+A($7 zY0kUGcP8yUNOl&Qv`mxMlNr5y^xnGrYegw1(!N&$`-hwrpT_kfZ673W>MLIM^qMhPfk?LEK$ZvZuQn*KtPiy*c!SSyqjUiV&Gs*r8t?!cd z@a&56uB8{rZ(8f@Q0t7w^j2r4)md^fr^D3jE&qHnlr*h8P*qOFQ^~^!WNHG@bFK?? zs0&2Pq^p6#RV==GJ5Y6-9xqPRNYfq|+#k>}B;DV2O``G7J_qPF7j_#hcOphd5<^=I z+ZH3e{o-nr7&eBn8^feUj;OUs47a@4TVB#@Ev|owAt6kc5GIXmV(u|9WKCeR=r<|K zP!YpDHG5AjeF&@fIXT*H);N=X;P$w|x5uG{RLb~4DdW)sb?x}UYsVw|k@16$VEei8 zgU?}m_xM5G*uEfY@B&(6ip1qa4cZzdonI7ABP~o7*i?bG@NWf2V%Vc#_b8-!%jzp5 zrn)`WO(9!GQ#Dg{2iVUJoz8ebHhgDtGkM1;$3L{mo0#l0>toHwy3Ze8IQj1T2J%XO z#(l=WY;pM5IiUU{r&(WXzSd37Di_{qULNc;>wE5dz947b?^){UjZU+E*8Hry@yYl9 z%g){QU#D4raDVWkr`l=OUz)#kFHSyCW^7thL86m^n+Lq8vq6-*K$8r*KwC%ON>)KO zM3(@!1bB#x_+jdT?n8Z{hME2UwpRA#UeNrTvOwfIL zytGrus3!qoIl$!rZ{_-*7tyCW$sOf^CJ%Ib@10%ZylyDj{MZWIR^W4gXz+VbQ%$%S zG{v9`pHlkQp7e|Dq?-V45Aem+{R+NYvy5az901J$&~3Xi@AH|K4e+A4HR-HDa|U#zzRmZ_?|v;NS|Gq(0REwT z`;4vQ&gYWoSr4i$ zHsIQTzZaf+_`;#B*~BRXn){$T9=3mUf+oj~OgMn+0=~XC{NWHZQ06K|#4yx|o8^StlAB^zv3+Z+)^t(wy-D5epoY!US4ITS!Jc0m@sh1ug35ZWPrBf)>!c$SKLr8b!k{k z252iymX)rGU&V!dci}KuN?CE6tau@E^4*ut^M50G|5loOE8Q1UKmB3x@PY{9q_yI< zS@B}>D+xfe((JU-edrlq=rL(oGzqA(;`Ukbd97!Leelk#6{H)t(v(^0ZvFAkvA%*W zOD1$yT!j_yT<3I4@Xee}22U$ZrIpU`^TUw|Ki6L%-MAHZ%8IvXzPNBLKl29ZbgeY! ztaOLtzIoD>=s<>ri&or4E55NOHOk{xyD4OVw^CoR(h6bK%e0yG4di)Px!tsKzmpkO zsY-`QzsRh6|JIFVG0-jKj>6=P7Xm$v1v5 zOnxxTl{##Wg(;7P3DiMzI!t*wOrQ>$vtjbHVXl-L!sHEMuGC?3JxqQ*%#}K9+QO7= zVFGp7bcV@0!(6Gu=6RU%d6+;QH1T?6yk4LVnt6KpJiROBMSA%ny(@Lttkla_>RqYB zW}RNSPA^c0%_hBklirm&Y_{r^TlE5U(CpSLck2b}pxLLF@6)?dKBAW&(YsQIO_g3= zrFW$co3nc5S-n6VHVt}tgWi=oY;Ne4H}nE^&~)gP9eRN}XzuIf_w}xnpX%jL^{&)m z^I9)|t#_pkoB0Oie1kw8HcJfhB?edOut_&4(+vW3&}18w*#?0+Xf_(;8x5|M3k~u@ zgDZ8|>@>)C8eFNv=Ac1&&>)CwJCf62kRLO+QisiHgYvXNpbnag2IWPAKpixV26>~w zmGTXP{D#4mI&9hv@^*tOb=Y(nlwAfvoClB5(tIiviX(Um%A8jXCTQ7t-XGHQ-aP5PwbJ+hMTvKrcDHA$SCi|Z=# zsg~KYWz<)@hA;Z)ct>{ynQAr5)Xg$!wn8FEWK63JO|?2@_MI{`3w$nfdoDvB>|U9= zmma^yFU0J1@wOW|ahijW=76S)Sq@B=13K{*2Zt>VXbxB6pe}Jh4cYG??5D@CnRV^^ zKcAV8l3S@A#?}s#rW~T|4Kb{BWY;=MfrxAVz0z??=ch%aDHWdT3Qu(E8c(Li6E&sI z)1l52HRXz@+Z9iAk2gKlH|gaE6*>wY@rifc1#LyMWc2O-ZvG5r& z%-6B=b<*N!?T>oC&~9@SF%%4B3(%?lmc}H8M9rW?%{cLqu3a*P4cXnXjC8WsjLK_9 zfhH=p88vN29ZghxWYjz|>S&_k6QlBpQK01g8OW|L;KNkpT z7J(*0rdX6I7D0^GCcZL@X1PTtdh*Cr%%WUl5ojW0jzyDW(a}W6LW`!*q7%1`$kfZC z+-4Cd@3AQNSOl6FdB~zXWD#g$y*1rbA&6Win@^-Q898Zo>i0&i5UXWjQ@ z_b&X<{g4hbG6_TmZO}jVpyFUHbg_G?U zPL`J6Vju!B6a=#cG*(B9jwOb4A2!`b@+xJ{v0parm;bdAL-J(%KfAjh4|NIO~{$E`PE}P?VT?lm^r^R(4)H^sWtpl-><92d9<^3GDpW|^| z2(Fytaa{Svr5*M(5eQD|u$h`9=Gu7anWqTo^#Jgy7DEmQEgE(Et)!Q;9R>MVs8*M(4T zQD|u$h(ZNdsNgA=D7X>@kLyBkr3xO`h2V}Tcw84kU8&IGx)AEK3N5VzQK#VQ6g=f7 z1=pnDMTybAx)9tA1&`}OaBT`6*M(3&RA_Ns2=#M?mezrIso-8Jc*+S%Eq2miN*>pR;I1oqTo*!pN2$eiA=I5p zt(Yo9!fTb>W6~Z}7lP|i^0+Pp7tiy!E(Djv^SCaAI+fSrx)AEsyjB#@A>qe7x0dHA z=kQz(&*QofTt3g^x)9tBp2u||)O&d?t_z_)!fVCNL$Z&@b4Pieat+Vb@I0;y!JXrI zTo;0C;CWmZLVbq4lPsFqvF=6cw85P+o0mb-NwGU5Zo3OkLyCHx2v?GHWu-IsMPyZ zT3QFq2nVDjwH`;LfUeTo*!pNu?EK(MevEN_}0WrF9@~s<@jf zo^pqZ>rnCHsL@v!f_tRmaa{=Rxr)biA=JGpEv^fpP7<`V4#Yx%TPX09mkZo-ffwDI zeRUzY41vdWA-HUT$8{mpd4d+#g;4Jhw6qSyPJ!Dg@Raup+7bgzy4kEtFJBucUj;mw+LK|z>6Z_eRUzYc7exrA-GO~$8{mp&jc;5 z3!$E)){2`4eRUzYxoVzrikeGN^SCYqw@l6Bx)9uIHIM5;sI$~sTo*#UMXjZEAPUu7 zp_->$qUK7}Jgy7Dm8yAM7lJ#Y=5bvJb){O1>q4l{sBdt&@5Y^X<8fUGuF;Lhbs@OxZoHVh-d7hweaB6U>q4kI-L$k0 z#A7$^u^Ugh$BpZ8<8fUGE?&cn!U%nJA=F74Ev^f}E!FV2E`&N=qs4V0)Y%#>tpl-9 z!)?^?lnXRmfriI*A-G}#CxkzS8BAlE(CW*!{fRT+(iwK z>q2l>HN2SeO1!lix0@Pwu`YzTZBM3{4K{28t+}}V*>Lwy((nC5=F9n`Jn~0L(|h87 z9wpm3N?KBgJt;ZE2^D*S#)XI(PsDJ?m%T%U@UynhbN#d|p0^?Z0*2hI_VwJ?OX&k$0oaAxN z?%#g*&WrO`$V9zpm{3I39LXNXFlG-{gFHOU;V@Q%tRAMW#%hq~h6(5B@uKc9x#9&! z_5#)A5+g~8VR@Ktd6@JoW)BWoGi

    9%)K(xKJF9_B{88GyB8Q^5kf^!_jc$?K&N< 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_usb_d21.h.D825C2CA8F835300.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_usb_d21.h.D825C2CA8F835300.idx deleted file mode 100644 index 361854efbc252626a9180e18db47cfa9e3601fb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279362 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

    d}s^Tn4E4$qpF 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 z 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 G{{0_}z03yy diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_wdt_d21.h.108B755E621A4010.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_wdt_d21.h.108B755E621A4010.idx deleted file mode 100644 index e179d99ffd3dd12bf0c4e1d3197b72f476540fe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14250 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/i2s.h.15CE9981EC02AC40.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/i2s.h.15CE9981EC02AC40.idx deleted file mode 100644 index da4637db9b71e56980c489abee1512c2e1ef56f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 884 zcmWIYbaTsLW?*nm@vO*AElFfyU|A91{b}}~f=k4I$V>HXaW^H{-+u^X|8pJ|KlE0m94*~?^vKDt$*D&qWv3NpQ(_e^weh67tGSFI&~*6^Kajy*H>Jb zn*_9&p(r)2coP!?0~5dF3(myf9gJLz`W*TaASn=Fw_P{yW8GqDps)dl0bH27KU!$d zOI%<&{bpT0SbF_c*CviHavFi*zsv6fWn3x zhH&92Cs~WMGecQ{!gd^XaN(6F{CTT|Jt~00UL0O(_v+q#Tt7kRGNsqDIWCJPVnGnB;NQYU z|IN593WA#?2+Q^_-adNaz9v>1z6XCfv$|)A+gJXy_E`hJWRLtB_UVU{7)9J_zT9DBSGkjo+^m{I z{jmJOUnZm{|7dd~+aW>B)H}RQC>;6Ct#!^Q{}+$z^iujRs{EubXAjrTmDl3#){C=buOmEnl%0(bu zvDqY#wIgpjE`8s+s46zht@^z6<)uYgS({4yDp%AZ2R*N~{>g-fZ1eSeNwa=P(=|JGRz9(#YP#pWN5vs~N)((` zTPNQ+OWN;>h&*o3e=AI(I4>U;X|F3FKmz|B84Sn=8 ze{jzoP7fnOTrv(e9hm8RH%W@RRpo`y&xPC*7A~JNDaJ++#DT^6XDa=2G6?M@!FXBH zUzW;JArPelz#nqxUGLGKz*Po81|3gH?Q?Y>xO{Z#=t%hwUH`^P822f8lvW`Z!RB)ZH!LCIcn%^}D z)}ZqX>3^XzRB)Zgdj?E$Pv2<}`hrffs81GcsL*t(p9>t&#iCAMgU|xn_%*hFjq6dN z>DZlk)NEaiFWoJLYJy<&k&q8Omnwu(>iZOpqFv_Xr8XN5yBUPx@MLXp8w=AxtEJW# ztLe_={yG|jdT=+lB>gR@MHQM(oih&Uehq_;8-!k@^^De!E^9hyyrEn$ z&;Ib}25KEC7^h$hqbj&ga*Nr`Lb8_`1WRbW3~Zl)Yg3`=G{!4ieVj63gr!g!T5lUd z+u%*9!mRZgpLXu&+V}i4gP?=ExhUx`LhGnPtI2W7#Q}$({A*zl>Vr;_s815DsnB$q zJ{kD>b>GexEQRWDwL**vaS1BSuGYM(-KxZ6*w!F4RN4?($3PELg;rCG`Qbj&@86r% zp6Z7z{gA<^3Qfm(%!eICVQc+pJB#>+2<>bVnohg;3$qG_I@~h|t)Y$HVEZ>PidCWM zw6`m2>iNaxm-^lt>Kob^m4n7R2jx~tv20(?Ae4psovxo=&UDatm(sPXKdkmF-yn1X zepS+6g+8GQt`qXaZst}yYlF}YbmAp_Jm{!`>--tnKzCu)SA)O6`D@> zl4o;M{JIqzgmO^NIQ=*q(}DAq^7&xf{Cg{Cub;)&{0hHe@~>k;({Fe4?Hgr+m3 zGZD#wO5+W}K)6<_s85Ant_n?O__ltJnh!4VkIrn!IvMUK*(5Zb(Uk>1f4lS0?`lIm zGxalVO$UvS*%squef@2o`VKsi-V?zJWD;EGW~lFU%RTiCf-}_d59$9w+o(d*8QbQ& z@M5|DYIWZ8masRhK&s$6izm*s8XIubAe4l9ob*oCrh~>O2Hku4J>meJ%^T?(l`$#@ zjZgk`aAvydsvTuT+2&fIgU)0e&u zhjq0U=uFd3vo#$wKL18`!jkX^FLf5$i10?3?Ny=aEDqe!*A2tA(=@4@C)`U<&>5v4RnBzK_=b{s2VUPFzt|x310IX4V_~LKg{I>X_~yQq z<&a>5&<1ooB)tdBK&sGmylQ>1nfUT~2(@=aeKgDp(I&xl=2dC_pjvTvgU|!&xi0Ci zLw{2R*YV76czQa*vxa08+tl>_H;t21kd|A4V! zdLB_9E0!_FngrLGviExQMX!qL`J_U4Cq3P_rJ|#maKP*VS zmo1Xz7Rg{#g{HIDzSO;4GnXY91RJO)O43KcdsYS4nK5|ft`_Z(L1+v*k;pm{-lHnG z&fTzf-=l6dwG=AA4CIWQtxN~A*~h=*nL}6WHkoS>?4j3XWBY9Ab*j*6@$VCN`A37% zU_qO#Y*Bv=TKJktaGmE5YR|vt)5#!ofxEdT>94_?R)wY$^zZbprx(}2n^H#eAEf^S zvxX`(oe=-8fp7emMi~SP(D{w@zd=V8n$C&x`OinyE>}&pgZ_&8ztHnk!F9Tndu%)R z$!E2d(?rWO(O^`CrW5AtHs^j$23XOGrR|OM-f%5dXgc9_HjuI(eM_n{uMg7uz9CLf13!kmHVCbN zPt;E=V>)R3%!M5v{{%k;yS6#Jr&rki6|B>$&~(o22~{W$ z`ae*QDm0x-Q%i2F?-G}6DU^raHwVqJF&)f$UqrY6H9k7I{Ud{51-0Ci^fx6dDzsW6 z=D7uXeOXvXUDs}j`de@%RcJcb?vK4&^~Ky9>XUCpcq^rD)V1KI$O(!We(zW1ptuty5ZLDu>V^j_rzw>>~ zw55)>FntRM--Ua*YZ98yU5k}18dRGM&s`d>6Cvp%V6>=0(|Hi>H~mReG|Y?28XJ$S z7dn;@%Pj?r>#4#SqhaDTSr9q zpmkMYR?7?5vgzeJP3UY8NCk+rjvW= zrbDarC0h-GBh>Q(+rNO(pbAarb(IB^hwOGpHV7E%8LJ;#&UDat;fRfMZok_G{tjhL zPeYbzuv1cnrt_})UVV>4qlntR&2e)JqjKOpeDvYboj1T*S`)6}qIa<|9W?&wb+bjG z(hb;YndWFw9|^4zX%d>wmr6GKI<$IK*;1$oEq4c_JGe9zW-a%{uimb-fq%19TXd78 z-vm8V6uRv%SpI^Qn5ng9K8PHG}b z`?ycHL4kC{A?sVv^KO}hrt?d-3fz-3sHHmR{Sx)R;K@{>>HOJT+F<$k80`6*!CT6~ z_BrsDRH5noU0(a!n+}FG>e}Ll^lorJs^B_XE_RE%T`Gc(1W_LkGeEpaXgdG7OkL>P z3S3lKBOP1Vk`|)QxC@b82=>$T?@Q{0kDsL|07pb}MAQKDdjU|LUhD+s>;j;Ax-^jR zE}>~=M|%L(NHy@TsDFq$zMxq3dNF`4yKnq96h?#2m@etkrJ5R`ZZH6<4@?8p_XR+8 zd@)e6MU>rqA>;wV37oyRh9VrTs^A~{s7it-8x*0 zol)x2@bQasMg#*mFOu^jSRv}4PM-GsndOEh3P9vM(w;*n&w7?PrP^Kq-Xif9?dS=D z?qpGlv;W_`#AldK{igsQ{`~F z?#sq$c$&=iM6z)@o-Q;0h-{pJXUJaE4wj8G@l2WRgJt7vG+XCQ?N=ELPJB+1nJp@V zYXP5^Waf2{!EuQ%NHX(j%HWK`7bThbsbu3N315=T?)b8VFH15T12QZ^I6{)y`Xn18 zB^+t4e?`JqB$>@LG8m;eN|KqqD#K<3M@ur>r^w*q!!eS~yniydckoq7W}Y7zx;KuM zWK8?J3??JKCdvNPnv`L4isK}i?OSDV{or^wpL&I4*eK%!NoIR!88#RAx+HtieTNK- zH@+dsY+aYZxWG3hnb{pOxH9oANoHP7*_bHdMDyoOmTOM4ln7_R>Ed%`7NA zxFdjbA~`2&Phb`BZ-vzb|8D?JNaTd10qb_-@Wq=;KLL1-$aDV8*7J7HY*fGdzdd^jn;hr5jh}9+2_OQK2&_FvnO19KEEc~l z0&orMuHoA3jIu535xl~76@U*S`5Oa^N=%YqnCtVS?cMb$IUpR^sZ>@$EciG=Y!&O#bU#{wDj6d9a87J0Y=^9Ql0 z2GpR0G+4# zEt>s1d*_T(P#l6t2+}}}Gkfak3xCc95GavAK5A={*o?4sA0iciNFdUBSItDjg#G0Q zPX+KtB7Y=s6smtUe>wT~^7F6;P@B}YX2rE?9&hus&0qj%bcUW% zJG_$3rV96!OAjSOZCORNW3y^_EFSa&iXTYifus#+7R&*lMsnC0Yz_xN<2IDkrC}QY zG+4s`U6lbSff}u%%r#3}UjCF1#nG5VV{K-r_u=)mxU#XW0i=s0ottR&8+aGjt9(Q0 z5dI?Z=YzBUs`RX?y26tHR+5$4Bw2rbtr7L79hn2gULx@lwGq|8aQkl6ujW%l1>=K;s%T9zxO6PCaRuh>VfFx=Poq^-v2pSIyaB(rKL>Ca zlf!)WY7#X#vv2AuWqJ86k>7miI8Iu0-u3q;rK3I)$s_*KSlkPM8uVgM00xi&+E8%ZT&G_4(85Mg{7@nf`P|j?(69#i%UfLsP#}>4 z-iKK@4S*U;W0!7Ll9ZIje}$oAJc!6a{?eKy6=c>5|FIZ=r${{cQ#AWz8E>3WUulqm zWT3W=uuvQn(*PX3MDvwLMi)4pPzLlDM7|*H3>KIJK*MqL45v0Za!PQ>BLJsFa!RzL z<${x&pY8I*_4@!6AX2~=N~fErj*Pgxpa+2Cm>kDiOSMK0i-#<#KMTMciM-(}Nt=S9 zcNW#VkwRWo+de@9^{y*U0Eor9SgdVL+U{)fdtYSKU;rmXa)J*b7CZz%Lx%Kz z+lgO?G;P?YEr0_OIlveEb~XEM-FS0x0f60Dx0|mEEXD|cMiyyREU*Z`6i{TvTYh$X zHlUz86bEAx%sWnpGN*QQn6*?HCxMs*@J85y73`EfPOwCRc@OE>@Z0Ep51r2d z2*M)#UbEm3A(HL!R^oM_IIM4TkbZ1l>;+akVg&XYx)EXq}> z6(Ac^M4V#IQ$?IA$}Aoz8}EqtjyX>gQJSbbLH)BbxZrTHC^PSz3{C|6OO%;^K{oyt z@o)3<|A_dHC^P?~431y?SCpAgST_C>@jr8YSA<=W%={iQI2W)Rl9}H@Hm*Z>9Wr}g z>k(d$WESC)!S#gQk<7eOvT*~#8_e}R5cWXw3>tltjhhkPY|cFq_Czv^TgpZ+guTqU zH^SaXX1-|IxCP-Y=G+HiA0#tBv~2W6*w>u@a2YmJ z_%`%UM52(A%w_t69UCIi$cov4&_5B0K~`*ngZ_!gRdfAVL}HN@iy}e)MC2N>Von3- zpNPbn>&GJ!kF1zC6Z$723CN1YrlEf#a@}1279zKh74tzs|3oCwoF^fYgsfOB9{MLD zx6OGnBFV^##hRgiB9daxQxQo;RxF|l{S%Qp<~$9dG^AtRLFk_d7bBUOMbJMH{)J>_ z9z*{`_&1VS+(L$c2L6L&7VCiiiSS<}vv@u9PlW$Lf1ojH+2|@^SMwdDn}ppYxev_& zfc`1rb&|{?RI+isgx8zvZ1L?n~1ZmiP-ps5`6 zloK_|b{zn~8xwE7;<9lKfM%M|GgzVt0GeJx0b8k*Gt`_C3I-Qg zy{vsXG#Nk`CSm;XhB%z;RkfN^D1bwV9O7?}Ejj>b>ItoC$OFfxV-t=m8#zCb_=$G3 zTp02%!edW#@G=0$MRJ_)EQY#{x%_4Fnz8`SisUS}e~eLfi(NjHC;?!nsN2bRV8e#I z7!|4ysS98&S*z_uh8=dyEAuf}@pNV(lEpopY=#0rb71IAjR=}Mv`qO!)d4)gB2W2qk34!fDJiXs0)h|;;$T$WUTq`e;>H6wfXD&f*+#{@xm-Lj zr~!agWR-Ta%9tvE>c` zP0pcpjS0QpW{B^{%>Z_bWH&do$DDcTvikVa(F%~rZtl|<6Y=!@M%y68ao>~l)aC*< zfkH7&?V(p-nLPk#J`V#lodFe&M{;uq{o`f5Fir9{CFl_o+_eHmgV7P+`Q3!+RxEjq_^ZwEuncvK=s z`HbuGuhZf&#*_UOfXPulD=;500Gd5TtDb&nx;&-Zj2HmNFgeDzOUwoUkgDcV(KDDa z2Y@C}F%VYeU#r944+8ilkzaflJaeSuCz~MsLjWB}2W`_g^H%cmx&uDngyKl7i{#4# zb7%vg=~wg$v(CHJ+z?#=^;SZbaIz2k;J&cYO7m9nq!1 z;(c!w55*2qw?ou?8qBr@Ky$WeRdZf-DDk^PMo9qvSm)2ZqbzO#KuP4H>cYIV!t)0P z<|+$s4k9^78zU^Y3jodNqNmLNRbzg&pMMts*pJD6zHTfS@NNF{qUezTpx1BWqiR7! zhYWmjxH7H2m&kkG@&2naeD1Idk4gjhgvcj;@&ArFejPUDfAawpilmTFO8@09^xM?v z*E#?p5((jbYT?;N?+QB%Z~*XJB+vO73;&fgzO33?1h7ve`?$+yQHk_*Co;}t0|=E! zDBtWZYCpesg)ku=z+Oc5a^K*h0GAI>({?DcNf**Z^CK_%x2;K~FKaLqyNbk>+d7MT z4murtv%Ina|0I%6dI&x|hc3GS>_cQ9e>moM zRn9Oa;jz0~L6h$Q(3Cq$R*dP87u}}ZPXJp)vPIOo&I+1}2SCZgV->CJur~XC@*ri| z4MrrGUwT#RWzTvCcy9;Li}cdkm1XQfv68OGs#!%7^`KbI($hdYDU5{0$(*tJ^Ir3Is&R{-!-Bu{zoV4+F?N+uz@ zCs&$72*osWkP^33&wPjUd~hDXJxuOlt)145+P=@@X3S9lXAwEepL^ZMqth%RS1Mk* zI85UBNL}A!$%0+_@;LyGNaP4#v{=v&08L4x7iY0r07^O{yIJ=Fp=gU`z;`I_Px@v*FkYi#L5cDc0a-k!%+2Sp6F-E?M>T!5qaZ z^2EfGx9X-2E=v}Uy{k+qCowt67lche67q)*`tB~v#)i0|C38c`#zwf2C0poZV`JRd zl4SwO#wNIlB^#5n(GfdZvMwweo8qRHEOSOSHp9&<+0Dtumbj(aFDL9|IhGnIvauCz zWy$g$Wn*jH+Dx-8YFmo+ZjWg_D^~kdtvNi&JBhsGgPv{o0MN8edSQ=?WJarrtDE#6LYgcF-;j|pzeu=pQ5uG0>~3d9=B7y z8#?dx89b^IfKWt2`Q*rA^Z-n`rL>|gJNi_t(tG-HDDF*qYd(KpA$0t=Zx6hn_?e`8 z#&be^?W2mlw>P;5;4~(udFS-?%5FWSOU;!4iV!K{8wutb067}w_vh`KjqG$`2jI9wj`PWI zmwnd~ZE7UE25=6MbNp@XYPqTE*xm`sboEXo@A&GlyXT6Q^ICtp1;Ae-{=6!dTmgWl z0Mo1Q9e#A2r!Hw4fISk~V|E60{sEu~!R(AH#qPe#J(TnzKZ*G9P1atTC=7PFk|oR@ zPuXQyWZ-fvLdD`oa6Ziurkcz>4S*&FGjQnQnWWWgt^jx|lDGUNuoMsF3{$o+yXJwT ze@iAdsnZ_7V@w|N?Qg)9UG?&ho$Ul5QzV(ZRhH<(h#cl?SfK2>#J&DX zCH9#mk}Q7lK)Y7^dXz4w41hxtImFu`@XCUv)|(p@0|-MTjE{`KLPK`H<4%hC_DRxx z;$tZ&JAM24Ayw}H*pA6|KA|!XAOM=jfvN_E)@U^6D0d51mX5ppU!Y?iVsdo7XIJm7Qmtaqo>k&zHJG~U4E z22X%E=3Rg7+P58(0TfB3h}*!y&a2B-9J))%b0`u?5pS#G(KX$!&S|YI)88cWjki@u z-TRk^3_P&`fV-%3=lhG08I4Kz*|J#@)68j^#EwHI6Z^;=mF3SaR&ZNJX>%# zyB&Z4kp%F^V^JdjG+&&ZLDR+nD7oUaRA4!2P^_egv*I%q2K;UBUE?zpXG$cKZ%fa( zIjy#IzoU%4HDrxuR%jyeD=#>@YBO)L9p6cwvyRNY*uUi4QjLBub zDxE#;Q(;(mkt2W*k%aI;$&%3l&=hofjdMSKIL<9>rVO$Di0tP>?7U^erg1@O%H(tw zle7F9ELH}9W~$SwF6grJyKVFq0PGUUF42yb3l}=gh-pt^9sqC?i5nkDEHMiJO=zd5 zuy_&xn#E25OJawaQORIuS5W*d7MZv_%V@q7*=y(bmbo3_{AVJ0#!VZRY6d{fZ)Y_` z%suot?uES)g8VM&zH=Lfh2{XzGOh@f8Rp*mig~QgcHqwCn20<{`)q(%~A&F`bVwY_3Tsml@;@Ig*x@y}R_T>T;)9)4NCE~s}2%VZWTgiHuPv&cOBa4$l zG5vOd>L=JNUR`^czcQ@WW8He*2NHTT?`)e;`aXb@B00$?p9GK6V~;kzx)#6_kv!pp zBw?$a^MKQTEC7UK63&;jgv;mMD=aUQ0brj*_VLBz#?_sVx+XSKOsylB9N}l&tfKR2 zVPC9R{68h~lP^#=o$DX(RdeGE06wD5hr7{ljjXr3!|dFz0N#t_J)hbW?R(^$e7e&T zz#ft8;j2pGL|e<3`Cs+|aK}1#?!aYPp8)7L9JH+xPv3Cr^8S!LfY%~<%?E2@MpY+^ zn~jyYPzE9y+>%Jl?3LMP+3MK<-b%W+eECnz?0sS9+>dPlEFcTC?4Tr@uUqoV#EgRC z)nv6c@g`MHnAu{ZJH)?@+eEUBKSR>VBdx2hIift=65SFl3xn-4q1g0|3BCX1lFc40 zcOR~7`_3S8hTmrLw`U$}&mK}7c>6Hf#|?#)X1D9qoQ|IXIEu(ozL=%N_UtsWZg3cY z07L@#hAFk=nz?VL{aXZJ2pOXJ3sQ@+y02}y4BnY>nQmDvdPBmU4xWqq-m&Te#jaTA z${n3|b{y;*Bg;Ra!MrB!Rr^r+sah5xGP71|Ul!S-e}`bDTS;@h6Kd z06t6PGvDmq8@FRalV18w0OB!;=RN%1iOCnc)@b(+T<+Gd0W z0(gYTBmUG+Z3DAb_K8rMW4%b$^TEhIUIIWrS)z}Z?vj-^1&td4V82B6bLVTi+o0#; zd{S2c$VDWVn=k3~8z)%A>6cBkDj715EZ*SqEEOre@MwckpVnT78vL-%kI$mdY8;uK zp3q5|@YjiC9iJ?p9rtml_oqAo@CuPvJnHlO*2cK^H4={lSgKp9jTGh%f@0+>DtaFR z`+iCZjF>*2Vn7B@o<$a}z+8JTT5NAPs(JT(IRA&F`@u66nI!^%eo;lMcyVcLUe9Hx zg8>{B$x%KEUKEVJ;xYGv5?KQ$*&#j$XLe}oJmse6F97{WKW(kb>~g>Kn(~VkBX9*- zq0M!f%cjl0dHIa;W;bE7iT9n%3m@KMrz=QQtrcc{gai?_Kc+pu|sqSNPpU}whT^lLo^>b_VZpoaqhypnXUB+bqFtz}o+c;|V_a(fArOZ@G88~kud)L%})W`|>l9OG5}v`c#D zJR?r=vA#y+H8&Yp&K3arwIIDlah(r?b6VV2*2tX_*~#rjmgNV4emh9d_%(j$4d)87 zvN`g>#D|afUn@`f9i9_#62N1LJmzEZchj^bP0OxO+(!9`t z(zT_oUSfgCc`hXnn%x~PO0vy9`*`|$f05f|_4{wHdHwv?w|%*iIjg($@3-Hr+x?th zQR#kFX7?f2=?A~N=}V|TbnDJcY~FBZj{e-%Nxi=RPcBxSUU6)S@TVhNw(R%IDM`0D zQj^5Fm?!<_mw73D-!xn{H>k{sy8bBS(7V~f$HHI9bMfp8;;4t!aK`0E=_y!OlW#o#oB*t*}GUj{n`~3s?Dak+U<8y`SFA#o2LS;Zu{n+ z6{+uis6KVhkHxP8G($d!9JP>``GD2+OIuISi_h&*wmTQ%d{s< zH@4@Q`^UShX4l@#e7l1h2c_cG7F_$$zTIj%lWgzWb*oE5>wOOWIi~u$_vraK@oN$$ z%HA@&xPHp&hmV%a9yew$tC?TV5IV{CR&ix+k^(Re|AxP+ez=ssjfX*#fkA_bg^2@9 zFff2383>9}(~9+g^w-Ae0SD`Ik1+CRurjg=!nDC?MlPr}uqL3coJ0_-xG1?;97r>3 zOrA2w$JvkV52HGRIz$bKOwLWo0ou!;tggz;B&nn($09BzD=neOD#OOX$;HjX%f~Mu SC?w3rE+Q%>ucg4K!T+kL9`KYlVxQ+3i5f&UVQX>dL z75o<-F=bqWC+6NDMtrbZ8+^sKGnO0n0|?D9LO?T&4j5$@KtWwoqlzuw*9XHv#A zw4364V9w`%EBE>BcyisHFZ#bti|$$CGU-`v?5}ImPu|)xdgNT+Ccim2ZA}RK8vS2* zo8SBY7{5RAkI~m(?g)KgQ?6Xpb+7uScIoYscK(=Gnhx@TA)n{o=R9?*F-0g45u?Lx1=%`Ofc4 zs_PfU&NR$0M7BS(``yRk)gF&F-CF$DyuL1%SGdjd(01)mZ^r(&A;aYzpX^hUSEL=d zZhqv4zP-EMtHQ}8sDG2qqn>7Md(t6OV~NPMR%}{KT5NaW_7fPMo@dt}G^Nt4N-^ES zG9qdP1|He+|edjzG~YWOBi=iHg_039x`odS8`W8l zQ`bB7`@nX2%T=MhD40sYSPG4)5G3>T;!liRcP4I|Yb#lB5(LvdfO}w1gkRS!CzJ;sX|AL_Z=ADVZ20en`(urjrRo>G*yKf=)+a-TGjI4c#Rv! z!$!Z((W!z9;+}d>gXO{T2Hz_B9lmt^v?@s0$9pio$3BSQHa{f2-dCqhn*dp8fTLY6 z!g{ef6*i;oI4q=p^P%?hRlyqs(?ofqYI$%k-FhB=zW+_5uBy-hdnyBC8TLek)#l3B zX*Kpef36CZG1?G)h=b+9@$Q!%$(0--MHU)iBw-L{Z+X~6;WBXZGhJ)@VXDvxdwC1S zx7Z62+)Iz$GndY3Ib@D1cwwY%HEp$)2giFpnA`B;juCTJp%O+BstpE?qb$b zfGh&DuUo8gO;*Joyqv6F@RI72%`*nvBQ2%8xS zUfXfbpR*EhKlj2><$y5o8D&T_Wb<6+FjPDLTBu)5R8R*UJ$`O%?_CBS6C^#x++x1)#|19 zGFToQpQmQ_FE~*)QWZ4lBM*#uxLS$eHVeA1o9g12i7U~7Hkn||gr-z*n-!B@_Ix)o z1Xo%$v`GhJI>tf-w^?;(WNz@r{480hhoiat%Q4oGNrdKSf|HLO(=so5QVUx;eXrW4_P~Bk~2`s+NaM zG>3gc+m0!m?5PSm^imGSa`Zw3_i|*|`-ufUH6lqg?c{c<$^78>@k(oM40tsbzm0je zCTJ#TEf0>LdezWl*Pd~AWZ?&lVi&+JoChLoA~}73bN;D!dKc2mK2hF>yM_qv>1=#} z_S5vkJ7l3Ddb%UR9kB`(HlC7`e4&zOmAb^!6;Zx|o`~R{l1m=?Y9qV@h)puc$@qnd z;5O%8w2ew=m84e%6~9eB81tbS72M{$Z~9XEbEV&8p$SH`UxfWQ=S0{-wYjx4wa<`rJb!;gn-VaV;A|1W zZT^1VA=&Ho&>^x=3nThVgugH%B5Wc`UEk>U`ZCm3g_`Io4UB2HgD=@}}KZ1rI!Z#_PvBS{@v~U9a@m9{0GuvhY1d^Gt+im_ra@ z6V2TMx7mwxhy9@n-7%WyV0@0diwN%N;qeReyBsUJK%%J-(mre@Hrb+_jeQYewfRzK z(XH}*dsU$;_EikVVw?*ixJ}O1`<3-?F5$|rgQGtNa12*I5jLZLB^)|+Uvv2zgHcNiu!2t=aCf12UwV&jN7aLWd$|#ThF>W%d4~WtM(F&Z-l#5TDT!p}W zQMxbIWN&;ot7h_~TKZT7ewKdb{#m((@zElUzMx<^rF{nmR%zJ@)B7wKIX3{`-z`eJ zMcm)yXQ%6`z5UGN1Oi(?+5!$7pfw%><^qqa&$w%vE_1Aj>I{Co`8aIU%nu^I? z&QdnZ6m`oazO)TCTZ-o`7ipd9jbZi+ZrVvet z(v6mBiYZhRs<3iNF^$uVv+*)sGhShbmtvX-6LqXaR7`VWu8t+=3hpvkF6!6@R50I# zXi>*fVFmXNY!`KGTPb*F!9G#Pt}_MKD;yDZY$+?43Bp-X$C5+^Zzi}R>e!{FVD1XH zMIB3P70meIsiL@Ai3c3k2HCOP~gk;dM3su3Y4X%NX z6?6*Tb8r`Q>DFSA)fvr8Z_)$&C1&XjmhJcw^VD^sZ zwnopFKjfhLyeOTwZcDbf5HJ%B%)U-cbkF7=a>t_jfhau?%_oWFSGQv4x7_zn+ajLUb@d!CX|E1vOck+A1jTwtbWv zt`pNQ(l0#1R!h@n#Z-NB5!FMaAy^HPU#pB$^>6+==qFUK0cnjjj5c3BHFsECIT3*r zQA)8MWgWZ|m(3kM-3fsXQU`v1uq}jYGsVLEce?7AwC7+|+!dzJqV!qh!(^-r0+ef^ zudqFgfSG4uju^v&<2TbQOs!xYqD=<_D^VEDf^SoDg<3Lh1pza$!ro_R1ggz^3RCwQ zerL#mj)9v{Jxm(LC&9Jl@u=l*##};mB1nnW)7EwT=jAP)e9b~26{J)v;5Mi8xp@=X z-9=!KG>Ct8#?+vi&@`-LM$RBWm>C8zMh3@E=okhln3rnvp$1D?87YH?gpsitW`H&W z4D5zC_5ato&eiD7*j1h=lFd4o|MAO-Nv#BLx| zTWBHbgk1!vrd$vM0tU4XSlsX%0vV!|Vco31Y)?4g{=1h80{)Ue_s?z&R8zu;I%0eg zE*{DfQ2_5A&}KtTwmwHJhM_NaIq%jgn5@Hds7&oJvq}R^gxL;YB>Fx*IqYW)N2HqN=^A` z&oU=eQ&NrE&!n6h_DGpD-eU=9OTci6md}hQLQlh%AP3>0}rL5 zx|7t2pHz%lLp9~o=nITaLx6B;%+Z4Kf9@1F-ZKM%&QfPSs|(M}y5BfJZH4M^DV+OX z^XdrmC4NGbPFPc=CAZ?n24D8CjKDu2{bN1ymW6!(;LLfQ9RjC7I%U0q*v*Il zrR-=(jIqOSMtM34D98e7%fY}1B1YPwp_#E`BQo!N?Q^KfDtN}+VMk`#j+rsS4&SCU z9q*d+Xg`2~70b~x>hBGD5d<0qSB>@s=-Dz-aNTNOf}Sm8 z1vkAm2lVU|P>@v7z6L$xTNwX`JyO<>_gDzpLNKt^vi@C@CEi1)VeW1kDh=fufTdih zrhFiMe|uiT>I!$wi=_)Q^Y4b|9)LaY!8{i z2dyhFF)(iT#uu^I5Evoak|&rGobFP0?w`?*I8-zDXdP%8Xw$%vaZqfD z;oFpXq?W9zM8HBgQZ?fnQEet0ncI{0lV4oQQOtFBSE*|Qre^FT20=MTiYSgOZlsp1I6{DOj1)L`EYJU;y0>99 z1?d&YfJ#=^xd6Gg?L2@y+jc%czHR#rz#H3k0YHIm`z^p*+jb#9p>4Yepvbme3{Y&_ zE&(X9ZI=R++P2F8%52;30N&ZQ-vhk2ZGQmxVB0PSD7S4_0907pEV0EeNQhYWp%?*+ zlS64&iYS<_XFb6xs6Hf?#+WK?&Nx-_6(1-4O8 zO(|N6+|&l2cJlf02?DVo#ab_do6XMOJY8bRgi1xJ)SA|_G9TZdOfGfBxDW))EH3Ms z@wYfs%Gy#yL0(l`05urpdZ+IA(3T@>55e~riqb-Bk9U%G9SFX+!-znPD8*RMlDn-d zo<#S}S%$!BQCe+%gWV+vP!5>(d2dd^l2elo6(HJn~O#c>D3u zUP`eUiP9!(;>DO71Sq9U-(Ytj0+dIl0Hcv{5-5300R{O4?RzjVf`MI* z=z;Rb)bQ2#W6*1DU2|r<1f(U_;pTQ*@TH&Q#gPaENkN<_$g5nZ%G176pP|}Ga^iO# zBf(Hjxo7IXu&Y~iy-_cV5$Gm$!~bq0KgLL7;DnB5fP#sUHWM6Kro`AYe4kR$)RNVy z2vGi+0*sABz|1`}$M2uU1f^aN^Fs9{kSO&wMvM#~@y4d&JbRvH=0t2Oiy!K$UAF3&D%{rJ8JaMG? X@9-(3!)26UO3o4jJ&U{9d@JNxA$; zE3**)iaR$lduFlRbo*;3xP0zJH|x~9Pq_{(mdac z)Nw>!-gdCMFZs%etgrl!mELap@N^GHc1C`|Dre4Hm;R+nzIN2*%v!VD=r6;LTY85X ziYs%IfL1dUrKS~!F)=W3N8Egt^+zm}k&Drj!&3w#1p);zrl6!zxuhO0KZ7##U7?w%b`IG7_CE^M-Ovt65w zh6+&Ffx|%zW=Q0X%WOWcH!}f+{W<*Ms$-re|Jr@YCI%?%#o+}PPBY?adFAYF2ow(B z2!IP`viVxtS-&X;3fpklNWjeQKkmwxbNE3lP}rWs9y6r6 zps)*vixkX|ZHEJYu>P|D2o!eYaD*GOch(wiUL_NAps*{4D_r%FABXQXNiC2A3fpqn z!h`C>jf< zecQ*s$LgYi!XX?XaN(b+T9xIYA9R7jZX9lKL;mR8t$DJr%>^jz%i#-G{f{Bcul?-O mqd;M24rjQ#i&AqELDm-+B^Pr8X(mR8n8hFEiZ|Y3U;qG+(ZtaJ diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/nvmctrl.h.9B60D694AB28A5CC.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/nvmctrl.h.9B60D694AB28A5CC.idx deleted file mode 100644 index 871f75d4e418910d8f08408d4c579af2a9789b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 866 zcmWIYbaRVhW?*nm@vO*AElFfyU|l+_WP2RB4mt3+Rxgw)c^P+S zhk%Vkr{}WXGbt*aUw`qf`&a$pNAN|hbcT*MeX9>7JBzpN{ysf`E#_A6jMnF?A6Ex= z{ZxCgY@5@UN%sSt1M}-8#6waaUM>{8b|p{XMw`-#z`q-MdR>$mZ%Z$|e%S0ULv@Bh z8$)qrZW7RPhN9H8;@M0L3{1y=S3Rg&A;QSTXvJYA1Cjy(mXIl2uWh${0}AVN=);A1 zCmWVrJHNRJC~U}KC=F4|z#usNOm{%PL=sTghQme*CM=V8g`r1b+diPM0fzzH5SfcN zukD@6DgYFA;BXL!tG;3*A{3^)1t{#w;VKCemh(_q=E`i$3>22*kW+*SE3K`*TyH7_ za)}X#5!^~c@e4;ai^TYV!k!$S3NY0sr+$<@o3>>pP}qaR18#_|$g8?(8xm81!gd^X za6`PTf)ZF58V zfWo>Qx^S~oZ{%Oup}k}pP}qsXNepI4?t&iAytOY{fWpQc#&EMM^NWNZ^7*?GI6t?BC)rARnE&lEt`Bq36D6GSw1GjQg!(o*V>Q?X9ZX^H{!hoU_la-_P0Z{;#v=z4lsbpGl*wt!;X8+^_|s*DbSiny2D8 z&Jg~sc5+-i3US;*%yH}XIS2eRKDC#z+wJjhC$>3*K6)jdo!b6Q$Qqw-XLlwH$tegp zKljV$Q^T4yt0~^+Qk%DW@uUm7;At7w)m6dH_H!=oEjO;ac{N~W?F(JOf4!m%i;A{; z8Z@+O_04RB;mba$vm;PspXf8A90OE$8}$m%FcSTPu7g#;lV|-YVJM>x_mPBb?3&>6DKX(o$v5D|CzPJ;&AQb zrc-;U|7hOKWJ{lkY28+@Up8N* z&v9tIO|wN8∾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 I?l3R_0G%{P5&!@I diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/pac0.h.05335D59CA90ED93.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/pac0.h.05335D59CA90ED93.idx deleted file mode 100644 index 394735ffa58da4694a1b2d506adfeedc0c494e04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmWIYbaRtnWMFVk@vO*AElFfyU|4jJ&U{9c&!;Dl`9 z!-gZwTFLoRi%nL(QP}5yBr|=4jJ&U{9d?8%l%yk zH@k{lfaLAWo=ZzMHUF>^Tt0WAo3*NT6{Emj%iOMXweW+7Z%6NBU-#SFHRRds%M*K( z_i0yd-K7}y>VBZ|%=h&Y;xQ#tKW|zUu{}(13%_c_(@%o3(sQ-6`5rx;vRwXovEEaL z;>z44pw$dTscFSAK)PVj`j0{zVg(tw7}Yq`#6VIYP?(^!+4jJ&U{9c%JQMvp` zE3**)ik`ihJ(rejYW`s-xP0zJH)~bx9Rh)0p6zLzH&fP&KR@4tf7d(x6;97*f1c=@ zw6A$@)Lo6JSN8*hjqd+9&|8vl_30j`wb83Z_VA}}(t5gBLVE7%2EJ)er!1F$Uat3y zp|~!@DE$el7 I#?Qb20OvnlSO5S3 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/parts.h.06EF0A1A6826A8EE.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/parts.h.06EF0A1A6826A8EE.idx deleted file mode 100644 index 85cf6f853b6d99f651ee1e818efc34d349913304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmWIYbaP{1WMFVk@vO*AElFfyU|yQJFTlGSzl9zFJ zb_m!wbWZkBH?mjt{P@dHbWfumQ>DCoWlG1SpBxO&d<)ZdsD`NR$f_f9|Z= zbavX`gJ}^~kG`MgFaOA`mf6_AP+Xat1auNZQEFPTIFL5~eAvHfe^eeL7o!q~k|;sYnV6Xvn89km1QUV@0A-U^Gynhq diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/peripheral_clk_config.h.7C2A6021E44FD93B.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/peripheral_clk_config.h.7C2A6021E44FD93B.idx deleted file mode 100644 index cc2a92aff604206f443e8e2e5b0b7ba57c59bf5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmWIYbaQiIWMFVk@vO*AElFfyU|1VdvOyiUu?2n$Q8T(obBwM zuWaA4OfO~>)_t3`=;ycQT18ez|Kki>GuKYqBBdMH9(}$*&+(M?pSOzo@h6$}ComLO z<|Y9xW++NcEA9f)%o-mLo;v&eC?gjm69PRfyKza_xqBA z&slRqU%TB)vUm3lT>B?6rllt|@4D!s*l5+~MpHbqPqZhjDPPC9WxDsQy3Q)S*y76E zB%s9%MX71UXBZh6IFD^VcG@MepOK5vj>AqABn1MZ%Ay}W-sOu13Y&45i9rMz7?d@( zzO|C;{{$4a;;<5j39I>k35!W6D+3CfbC|~8fm@kyfTc!caVr~8*pQB(~J}C4U1@SdK$Z1}0qgb$)qO{6cAq(71HSA%F8u~5Y{+3K3{$;~ zNn)L&vZOXp*onhQ7AAb^f6k9kJG482hKf diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/pm.h.CCA48132B469CC13.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/pm.h.CCA48132B469CC13.idx deleted file mode 100644 index fad9a0096ed7dabf3becdadd51404e80be1a73e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15178 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/port.h.2BE5AD8437091BE3.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/port.h.2BE5AD8437091BE3.idx deleted file mode 100644 index 440e9aef47858061879c0f44ddf041812673ba88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1508 zcmYM!3rtgI6ae5`Hz+<>`eBpP+bA&5cPPP5#9O>S=T-IMe9PxH$p zG(GD>j-q6VUCj(*pIi!OiwWenH&zQO}O)Gb$3?V0v_7|at>hWE5ZSenwSiwz;z--h2E zJB3q^Q(4|D8tB(upIkqWuPV6N3*TiSCqdHxJhM^h>vdLvTnUxi|BIz4FWHw7_is1n zBI`jP!my8Q-?!s4(KK>7l#}RyO>(OvFXJQR6iC^^L&EeeDzq#$I2ssCG0+{Hn;r`M(_A@>5VK_{pxxRg$kJO8QLe7FLGET5| zc~74-I}SMpVo3DP1CxQyyrwqfJjmO|9FfPkuvLY9M^bP``Xp3~q28L}D7p-d97IjW^IeDVQuDx{JI zGs-WGJ-41*LN0+4l3V`9SeJ0(I2&033NDjGKIa#G#}@A@Sp-Fdvz|862{QIxWDRJ@ zc9bu7a0>nujv*g{L!@L$*RKVB)`2i&AqWYV);FdmMetgYkH8VK`Ldb}ll4WA7&#Ym zNrPI6=T+`p-YT*TWaI?3_rkW``fH*ISppK0yTUxY!NhUCg&Yg9gw5IPIsUPv6Ud2> z$YG|e|DpGRr{aYNvIs;Zx_-?u+j_b6A+iySq`~*A2l%E1Rts__WRfIJn*s zcVs0f*-YOZQ#Q^`JLDtBK^!UBncduQ#prn(xeUrk$?l->G3oSjG4fG3O865;*R4O! zN4i$51ufzJslnd${*_T=9q0%Tn=YRIXXs20az5mfPR33-G^cq3Un8qQO^#}ORVunr zGs#0vgETVb#7WNfyUCx0AQwOZiJrXR;4b)B1jq(35Wcg>^XP0l=W4JTszaIKf2%BK zjRfU~BbP!c`JX&823^smd+$R|fCN(V@s1DsJAJjTi=zsvNbcvIP51w{N3I}CK}w>R z2ONHaF#iVRLMSBn$xH9OXV-f^bwgHxiX>SbEJ<^JW?e&0hGen^yeG>Qu5Jx_rC}4k R-B_aG558I2^`wQO{snMtSbqQj diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/port.h.2BF2FFFDBC3769DF.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/port.h.2BF2FFFDBC3769DF.idx deleted file mode 100644 index c6dfec61ebdc8257cd5a1eb8782f70bb8b9ad47f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9886 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 Iv85pVAI}ehBme*a diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/ptc.h.8AFFDB79E34DB189.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/ptc.h.8AFFDB79E34DB189.idx deleted file mode 100644 index 861efbf6dd12f3dc362edd32b2463190cdd50be2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmWIYbaQ*bz`)>~;#rZKT9U{DWD5XsaY<2T8IW!O;)*%4J*T-2Iq3(@Z>G{UPb0>-IWNvUbzr%7*(pMtx+J2{pA6CdGip`tfRvq@K zQgF+%T;}(h=K`IBR@Y02hon5cT`GF*!o33<`CKo!Jx!2&-Pp_WZGrc^x*Z?%ju%(v zCIKyGC`wH$)&tT4H3l|5J1TE5axuzr$jO4FKtT1Gx3%BYg|C6aiX4i<5J8ZxoJ0`2 XxG1@p8%Q%TF6@smd+(U=o`C@X;fYi( diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/rtc.h.3F0D0AEFDE7B8DBE.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/rtc.h.3F0D0AEFDE7B8DBE.idx deleted file mode 100644 index 3bd3b94d629f1219c8d79508cd8622a70a572516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32660 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/samd21.h.D53F11245FC783E3.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/samd21.h.D53F11245FC783E3.idx deleted file mode 100644 index 0f8ff3dc6226a6e5ae3ea754fcc07ab4c9b8893f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 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 Q=d!eh>-r(9zxL|&f86^TCIA2c diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/sbmatrix.h.69D44BEF4765C107.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/sbmatrix.h.69D44BEF4765C107.idx deleted file mode 100644 index a8657b3c55b96abc712e1dbcecee71c85816b654..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1656 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/sercom1.h.68F4B8958BC4AED3.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/sercom1.h.68F4B8958BC4AED3.idx deleted file mode 100644 index 0a46aff9551973f666ca992bbf82122f00c975db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1302 zcmX}q3rtgI6bJCzQs;^5kSPW>`I(`ams|SAl}16zqd%3vP;T z;gKN%Zh(muBb{BxtQwOkE<*w)n@mYDsb*wZwy`K|GSnqB)txTsxyj8=6^Zbs|zRe92N5j^wb#{*F zI|q2a9RbnHBd3l_(-Q8R;?Deet0^oaIjxtSo9kw+?+BgZ`N8Ek2Pf>SZI{1QT=IUV zP$dZuMMrtcW|uu;x5gD&a4adWFW`#ac*^w=cbi)EoANI$FsztZgeR|=Ch26;eU>{{G zr{0y_^**|WYy~T2tE4fjBKm*+1K9{hYA{za>x?;U{|dPXifBr8PI#sF8Ouj5hjRL4 ze)9AvFNyyb@&PzNtm)@|zT8o?f?NoNlwH8Te#q{@B0m^uI#nN~okM z^_%8}Quoa%dVcy6uTC3^vESpLfNk54{IK@$P1CHpo;n)b@4c!m8oBl^`IxdD44MgGt(a< z+rUPvx^h2VmyjtrhpYuHWnWeA$^815V+Q#k9Hiqjrs1|u&a~N)TcCxqzmvB-3tQXW zhpYh&jdNo-TOIBBJ`Y(3IvQufnxI}k6qrSpgPf`-ooB_;(d~7})lf};XNr>%XCm<0fyc&O#lD@ diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/sercom2.h.B2F17A447B19A8C4.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/sercom2.h.B2F17A447B19A8C4.idx deleted file mode 100644 index 87d769d156fc64e78e3e1898067d5c0b816f49f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1302 zcmX}qeM}Q~7zgm<#qkVh5z!zF&H*#(qNTKBL91>QWlE@pQr@HmN@=B~73dYT1v~yI z3R?+d$})#E)2ss_U3k$==NzOuCW)(Jz+}@fHNu#4FK$M+5pWMNeJ=UslFwbfzwh(A zlkZMX=PhBFwDR2tOXZxHyYhZ^gR<*TEC9&QzXP@KW&H$+Gc;1DBhER)qC9 zFY28i2mg>dzdgLWt36%3_Et^YsoC$XLEA*)W9-z_`>bVCVvpqK&cD}nUTz4fKl@eo znTfXS9AV-+t0MIJVkvgm4}6e9rJywU+(H_4CH$@c5j_$Y@q@%!&yybxH)6i z>bNYdwPfO_zgD!2%msu7)InX`;-keYq~dgZYkRT{IS=w;pCj_S9*564dJWkQ_DDbT zWILJRr5+)&9`rGOUS9m^#nhO(O5_qKp^$LVg2nsI`cud%P_6O59lkh&YhoO+JZS48>HCT~?61u`%&8%lZq7c!>(ttF`p5+ z9_ncv$L+veUeaI;@_yJ)*)7c}>rDLmFytaAqL2=;W*|i(=|nbykxuZq$Q869W59sC z2lh~i>*maq?ZN{Q@*y}xU;gwe-fMhmBoA2!ItuB3a)Ecr{9!z@7PNFGXS&DxFDa^~ zk=3B4GdW-SLeJRMnJvf$Fi`f$hPTy*^sZ*)eXx(3dE@H~CR<@A+K8$T^Thy>IoNC@Qt*B_lUL12ws`^ZXHe zWBUMdKIBvOyKn;E3KWE({ yr*-mIWD}UE$wGqQT+0_{k0YDGOjDY*Mm2*MXV!2_@g5lP&(pUSd|}Uw4D&yW-YaGR diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/sercom3.h.9236E987A01CA20E.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/sercom3.h.9236E987A01CA20E.idx deleted file mode 100644 index b7128b177cf3416ae20357ad7b8598dc0888a718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1302 zcmYMydrVVj7zXfDrt}47MR8*qN=wpzCWTG6SDCEEix`Fp#hbTs$t60toryFFM%IJf(jNbdnn{T$y1Uk*OHA(%SNt1rjYtAH3w9hEp2kV6{&!wy$ z@4%@})-W%RV~0B2_X9lDpJdmryw2v$wiqqea{<8@d$^6`zY3iq`38n}R2gw`hBKLY zHP#CJJ-sMnAn_wXupkfe#J*R)E9lLWYH4iUQ{?Tiop{NsKe!*d0#lGnp)~TpS%z8h zmgOdl)d-OdV2JYbbHkc0e(GTuasxC(_&I#V+8X{CHZmh}GE zIpkWXrQUCMd!x)F<@3m8P)6BXQkV;~U(YQ=)`5-+rUu($)@tt=kU8LJJ6q?QhDY{w z|ACwfxy0&=$^`L`bI&O?{1xyZv%pezi(7R1wPRl_N3Moy+I;IsOYXMTm)}6Hgi6Xj zd|Jz?L>sOk8^K7~M>{>5;g_@@Bb&fP*(a{ruJpwDHe^%58aBd zM@aRmjw8NLTmv;U{fKXAtAyJOat`FsG-t9DGkEb_2_J&b0D-u``_=R}{a%Lo7uK9E AY5)KL diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/sercom4.h.B1E01A8FD8646B84.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/sercom4.h.B1E01A8FD8646B84.idx deleted file mode 100644 index babceb6e6c9e7dde699c1c020f6a25c7ea81a69e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1302 zcmX}q3rt&O6bJB2hwfMg+gP-wQc4##x;Yd^+{_#raAkr4O4ssQDf9`2mX6*sOQDU{ zO`{+(x)~+7htt)~WMi_2kj3G&HbKX1**dtJM889XhH&#z$dTw%alV4B%-#O>2 zEI%(V;Sq*;S(k4&>uu^-hGACV%i65Q7X0qP*WN4W$l-D_mq{jbwNm8(Z}T&;%QJM{ zzZ-Sq1+v+HpC}7w+aIhO>x^3|v5Y(w`e^LPy_tFUy~7O^N4OtbMy5@PbAsE~{>%%= z!ks@*co?q@NB_1da*|__R_nj0|Q*~AHm^;F0as$n32t}EoKcK&RF#Z zRvKyRx=j3RxA$ZWH%1A{l*mt!=h4C;hy1-bKXM@yCjXBNv-A*qHO+JGZ)6v^cv0q` ze8V67MR)*N4subHMb5iNPfduDkdq;qc=eJ==X{f|99a!&L9{yc@b=0zZ#M5mHiKCh z<+Z$@!p8i^w<1?S1$82x+Pj5+arAp+7TA<%^|}u@_Yd7#t3DNQKrS#|i)}unM zf-36!dH*(*eB-C_$SP1#_12>Pi<8bmE%Hv-Nt~P0cXPVQTZvo)HMEn0Rke!m@}!ZS zG(pqqXx~NrRJS$#>~>@)IBCk_zP@XLOiyI78qiQkiL%)$fMYylJ?K-SAqxAkR_=-T zS>$pkrzutSYvzTkM3L+UXrOU)=Z6+;pG}M+7eNtK8xn8zS8uqKhTH~i)Cv1sw)*KG zX7(d%K}*~ga9!!~DmBO!uuzC=zu&(tKg2;cfr*ZMy(Z{!pIIMS)h^gY!*^WzI;(MJ zi5yu6IvS_fXKv5BV>BS!z(&=lH*abmVWy5ES3)K2dmu@4+icJ3%)rg-pO+%bKt>JzTDEV6 zL!vr|YybmQ-?)(!xZ4!mhg=G!bZL{pJ>%&ow%CxZV5K8Nb(X0w3vHoS7=H^J zW8%gF8Wr3oqHZG#S`lHxZJ?Xekwr9VRL0cdB-;2VQ?_g~Ox)gO>)R!lOFsAR``+(& zcUi1T6&l1a$tJeO#<}!QF$}W^Pu}IU)Z+CmJZnCTYEN1axFJO8lN;3)GrDUdixN+F zvhKc}7Abr7p0;TI&l|ISrj6?rOGagm-cs{+@0qK?-WCtnDshd;PMu)Szdn%HAE8X0 z-)K#_eJgB6UcI(1VZHj^6-iLn!7Uo@?=|OCK1pwLs??X<s7adKu} zjbnwqTw^Kwy!KeYf`DzXO)T6Jj>Y}cDU#`TLXoo}d&R%VFw0bNt=-wP%XJP)gM?p>dvwrd5Dk0TrwK zA=1R>hJO7nW)Qg!>Zs+~xfg@aCeMr@Z-uRty`e>&nfmduIP0JIdTr{$9_cOWtc91ZA_omBp` z>lcBGpy+>ADq!Mgc@nY)G!#+=@d2w%51q&j&_Fx*rtIm_v8mH8z8{5#m@W4#ZXKwyYf3i#t-!kAnQO!)jf&}H+<=A z9I_2;v?m8ba+^->d-o8s0Spv!Fwe8l;2C%U*#Z`t`{;_uKOW0QhLLk2m#T*{r4RZ$ zjtZ|h6Edmg7m~q?zU$ggk$K>0tG?N1-(T-|RDfIn1+@4xHy4lE_gIIJUErdxYJBe} ztaV3;@HgZ`K2=|g^4y(zAeu)uf{_OF{?6N#zDc3l0S>CZ{Mq*AhJ>%8k<%facq%8{ zeW`773ONh1Xu$gyICax0@g%Yptd#xmhoEcUPahE$?*u2Ua`wyf(q>-cMRtRGDf8d) zc=Pbe;xTzMvIs;}{X`ePrnL5m@VlD8L@k|Mxn6jXcN+O%yaom=?9hmBOEnUP`3Hm* BGhP4y diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/startup_samd21.c.87C5D36279956348.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/startup_samd21.c.87C5D36279956348.idx deleted file mode 100644 index 499f3c819077883686e0433b9a8e5775f88dff80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6834 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 KR(C@H!~6&5@iK(~ diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/sysctrl.h.E7E777CBB235DA8C.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/sysctrl.h.E7E777CBB235DA8C.idx deleted file mode 100644 index c9632b1c8aa420ce186f2653e3a563d6f67c7843..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29996 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%0A2}wlx(gqOX9Pn0$a(N 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 CIju$j diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/system_samd21.c.A0798A1E94E7C09B.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/system_samd21.c.A0798A1E94E7C09B.idx deleted file mode 100644 index 145645dfe7699f1ba1b3ff29af36cf01523e6c36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 868 zcmWIYbaRVgW?*nm@vO*AElFfyU|9;Z2H(!RZNPJN`IC*V zj;sCJ7U@oC*L&H;!)>OZ{VhX7C^!4+(aWmd|LaQTD0w!1&6Q1vv}wPz(4+Isn>maZ zmN(r?V0bO+H@llVX%YwTvXvZSbILh1uFX1FQ}_Sl$Hr%?qVDQGfBdPqvNk-FN6htL z`~RGsQEPsjVSmD{?i*(D;nMCX^XA^@MC;~4hqVSV^7?N(=WOX*|Ki*PFAJwrT$K*J zCjRVKZYtkyFL4lT{^EY`hfFG0nm>!JL|}xe-qD8~r{C*`D5vh%T)38PRY3l3+vfFC z-tZ@CaLwJZZu4Z%YIebLW6Rl`%-XwcmWl}H9gHhe6VC4~=k>UCtNBXW?lgxc#>M9y zl{93R?fEKJ*}m@Nt&fK)qRuC4zYx0P7M+(A9(b$d_(X5zn8k5wi?27IJndN+8DrGp z=_@@wKTje@vi~IeMTPjUNnQ2a|I}qIKUME`TN-fCSs-?GYKy)`(`6Nr+PQV#7iP=8 zIj6vxxnWUI$cmEr1@TMj)&G5;y{mM-iN7?tLiyY;y1?|+T{LisnNZGF~GReP+pvG;n{U&e1`CzXpUbCc45 zX@T*=KGBzdcN+6BXfZJ8>9Xqb8)&d<@H23-FfuY2>oOWJvgKIp5@GtXnwLQXs6v%f zRl-0`KusQ~f`LKZNC&9G`?&r3(_T{}co;N+Dy&$oqzp7!HKmZuC`wH$u0XPlkqc}U zPy`HMRxopc&4&r|=ov5?2*6#aXUk|S0JDp0&4;r#v;I9}R&))m3rP_kMjQR}8xhXk7KQO4MtFbUkDQnBKN=VDe hNGh?(vU75A^YHTV3kV7ci?DNuiis;2Dl(}u004<~KMMc= diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/system_samd21.h.07D45D61D375A0E9.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/system_samd21.h.07D45D61D375A0E9.idx deleted file mode 100644 index cf5064fcf0a996525bcb84b705d4009ff80e500f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 542 zcmWIYbaNA9VqkDi@vO*AElFfyU|!wEDK2R3wO2*wo%UJn%&=ee++{v9 zYxVlDx^Pl|KHD!bKmD^R^GHawKC~y}|*!6qs38BfEoO+XW4n=pF zZ<_S*WIX4@g3ptD?r%IhJKRXKVB(pL6W71&Xq!C0TPaaC^Uiw{MegGaH-B83W&il6 z_udDO;_W6Kj_a0EUi^!Vx4FWbp|~Rq!rZ1~`8JHmo7&z4g)Z~FG7#Nti*nld$kK3<5?KL%mhXE9#Ai$}~ zswstJMp0^7aWPOFW*Z|X#1^n(1_qcFKw+@aP+_h$AI{p$`uB{Hhf|GRjUT28W*ty9 z*czznvqc648Hwr_7`Zs*IOLR|q6`d0sX2)tPH|Cku{emq0V2SFiSv;H|4+w6-%>^n F1^~UNtAqdm diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/tc.h.5B16481406FA5006.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/tc.h.5B16481406FA5006.idx deleted file mode 100644 index 725600a1321e366f5c8403bf0012976b29e10cb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20758 zcmYjY2UHYE6Q1emy=`}A7eSFToVo_gSuy9VnAd<=PY>f6FzYD_m_UpmCQvXd=A5&r zsJ|JNV9o?VQ8E2BbeQ2iwqEyF)7{h4p}Okpu5DYjvUicB=0n;}89j8uAS_8zUikN$ zFn;)TS&|MZk~C%Q#BTk@#8l0j7Bakgz8Q@)S4 zy8ZqcYunWFZQCjTOggYL=<=Dv-VbtOw|~#xmAbl7`l&Hq8CO0`^m+e#%79bva~hf3 z&2IFqNld8~O1;y6^si*@uPiEUHTP9tNMQ}eR+?7xNkCrj-c8SbIn?UUS8d6!P{rD> z%D^*quAXdPI(qcOpgK20_M8i8@-gp`J}(;nJ91pLB}%9KQKrfzeTEDgJ!41o@BY+#MBQ!o zHqM+w5*sRxeyhmFvVVMx55oIrubdy?p4ixb;05&s|pr79@4ba=e+Nnr{>kK-Dq*)^O5hWE#6l2 z#-xgVGlnI-x2M0^nh_p4!glk|O9ghvw|{tc?}@E8$Hvrmp7qO>xZx9HajX5gSlHxB zgYE^Fw{%Y&v*yFJ%30ZsI{U=5|F6X8|33U0T)S>~hoPp>xGLo`7bNAe_OWmP= ze#@5MvW*F$Q@CHrSHDZod}o&mLVFgN91Be4n9y}LZ2UQ{#>yaCPPAf)R%}ixgw9{Z zN2Yp44UMDU;;4*|%4R1OLZ{6AyIzxCjazD$JfY2pWZNM*KNCWytY4nH$r}d1`0)ar zlZx%6;>v`sv*KjMSNjf*p#5_|wjF@}p+e}C&*&dLZ~NK5?UD<;*Bp~$4!jo?LZ`yq zElFNEjxl!06?6hkjzIXPR0y4liQoP=>gVD|cBwqHr-rRYf!rT~S81!}A=z_|(7w5g zEO(L3NrljY64Op=_T7=_~eOh|d?JeQqvgK=Nig}QdCWS6Q#Yo1`o6I`AN zQBp(FHRrFrnf2{bA<$W9ax8?eK!wn0G(ze><;>!%R;eM>mY|>n#e)e$ZH-1&sx;+n z_*=VF1l}uAwk67LOz0)e5AI#l|K=~dR2XUtHaUV#Wtk8urgBd)XxdeH3nTghM%02%T09KAmoFSv%A&Re*A8*=iNY{n7FL8$SFl zaHTWt=g$a#hP8FKN@hW2?Az zw9SuX{0QbS6}rw_8;P7dDUy!CxhBV4=o>18PWQ4N#n%2c=O8U765~j0c2c41yxiC| zIAOIX)mbIuRZtfdLZ?@f|GB-l!z1 zPM=EU+%B5e9JWi9pr2=(9J8U#ROmW4yPb*8Z@FogJfMFgSDFq zUFUMGi7qwH6}3w3U{?G<=m)fi3d5`zP^=yP(cY~9-32m{EfeK+QXxtjSS>E@u}`ZV zw5Q)F_zkq03ZXNoT;NX6giFP#&RGSY1sy7c&fw&@UDEBSdi2fGu_GPcj0&MMWN?@5 z8B0pcqHDre?Dz^gR0y4+v2JBPysZm8t?f#Suw@apF(Gt(SIt_x@L0XkcBugLP#m(w z!Fy35bcXG_u(F9`bSb)%2ACWHu(nVkbcP2c{V!vq=N0xtnuyawN>%5=5zlQf>m9Ckeu;UZ#1XKu}DfKeujp;h_G}TGO zjzrL*Lf4tSwzF+}`~a)e7)H=L1-*lHl?uZMn%co<#>@ar?2;8)lq}nlVO^y{l;pp& zAGuwl)=IigeZ-EB@Kvc0I&+s#?fl0jdtb1RpqzV(?VjSsgwP3Yx%{6k1BbfPJ?;Z` ze1KL{A#_5TculW1APDR}ZFHQ+mh&(=s1Q1#vp>hxU4HbaRcZupwhyCyus=~@c(WyC zPbHX}CQhg0BNaPRp*AW+NlT^%K5u-d7g!tG_lS^f5%4{z&~-MKTH5f$*dBD&-$D2e ztgciDouxJJp1bHp3R@*_XwhsL&6Zu6Ftlh{#Ofoa7TR2y1U$yUiN_ebC>l)U8)IXoKkG3 z;9F23bXG-AYxORD6U=4|I@4{_U2}f~zGkY!`}3bqo?E5X@J9X!`6E{*3~#hHuj|kO zpL!mmU+aNleW2K#REUz+xqln{@Ol5+cBvxN^q=iNx7;5cU)}M7^RKZz>51VgvRy^_ zomA*L*)QV`fB)W_*7IGle1}z@3ZWDE=9Jem>#WOGsROk5yn@avd6_V@czwH-C+F3l zyocKHU$El~%yue7NgMj?sM$dB?_-zpz!+RU|wO{|@BJ|f#k zXf+kOP6fBP1%XRpwwHsw;3;-I#if`KIvX3u?Ha!Edo%iGd$DydwmYd1I-3d&FZ1SN z&%fv@_8vRl!^%R1uJgOd=~sEX*=RXWWy@38E2$7VTmQbjp|5$`54v|}U`Ga&Lxs@U zp6_AlW^ONGu50#Tj)HSwC!j*;>?pgb#=x(&s#v9_(9=H@^g}7YgrTQ*^tl`BZ7Mm; zF8v8_pNSorxC|4bq}a|!t(z9aoTIg^Rq$Gi!alz;aXbPe3N6osf?2fp|i)O^5H|H$~>}5rJtu{{{?0c(p2p>wc?t#5;0MN8YI`cTdiWLpB(1QkN(P+SxHg_gd|l6tFH-@;s` zLg*av{Jm`BoUI{rmH(#LzQM{uh0r-#q)x%fv8|5NZ}A8_9>I5~Lf5(cDfCd)T2Zvk z=P*78ZKgukd6K%*@5jsqbk~_@a?CT8cTypAjvq)4QUB{SpYGjh*pUXanF^tEqJLD+ z_VX~D3bg)-KsW-{Zz^;h|Hq9JM^r#|$pSiICPx^IA1ZX6wC*WSs#SuoS{eFqrfsHc z?vKDvHkPvMpZ-gtUX9(@wi~<}R0y3@zH4FZ*1JYmpA_s!f%a0N>+C8pZgZ8!=jrH4 zL$)*+JyZytGY3cR?{%_)w^eEZqi2nb*1)b!g<XP)o$YZqCXR+-pw3-T`bJ6>J)o(jJ;as4d9lj#lS2#ORA#^UKjZU4H96#PJ z)quL5VaGGD5vUM4mm72#_3Kqhuq=#vFGcu4!lrRK&PgyrhD#> z!2egOaTlNYtIOD>dVnuQwxzI>QlaYv-LNlSa1u_7B|v8lvaJCfDum9hneDT3x)87n z>wwM~#dbzsiV{~QTBSDd=1~Ym!Pud~@aA{(*H&W(A5W#HhHJ=n4Ya5b zCEY9C=ySdBO3`-70ky>=TRiAcq3blCUE$a8v9LO6wptx)9eeJNjvsg3vCnrZ*o4|y zD9Gdpf*DMO(7Av7w&|s#*e0vg7Fv7{p?k10QDJED{TsEq?l`+Yk5y^{S{E?7fb%h7 z(0VXrOS@uis)1Ep651SwY++Cq6{5aJ^FlUm@k-61SyQNUPKmYCA5Y8CW)*L1T#tEiqY{Flc2LJ$ZcUmT*|< zwX@D^#r7I@K`KOD*+;JYP5M-eplfE7;u@vob5dc@xp}^UJqFe~ZD*Q=XPI+8>*M>mC@mud;}Ft%@34WST3jYqe}y4fZ1yLg&Y*Ek6&h_3@%Qk;oc}>`p3#&ab>nCN8yyUZTEE zf0M%>e5zFFI<4n^ch5=1_*Vixq zlktUQ0D=?}q=3}5KTkVsVPydbP)LCO4$97>X^t7DUjQtS$pTrt91n{CKw~1jC>{#|fCfT1VD2{Y zT9;-OUjq;$lNh;}0HzOXRjOIfD*!YlO~pI#fC*$L!gm+_=n@}p8fY4rS;fEvZt&#((6;Ig@ zH8dy93-a>Srd7$0XErlrU&rJ+7JzNkVz2KrpVk4OBk8C`u5$nEKCAqjw#hgF+2HXA zzzz<$l*;irQlrRP0RAQa782RR{dO(7*KsRkFT-RRF3y3xGZJTqSFSh$fLAhkC5z7E z5g-6)_=i8i!#)7en2!LWf@>(p)~^R(lT0@0Me!gI04s7MK>P{!!nRHSR^HtifXkR% z#-eif+U>h#H0-T4cb-h<=|#Cm<Xa}#pH|R(natPqd29&) z8d%~_{MjULwG*dOdjRlBCZA-{Q-vzvlgkQ@?*_njg=|*}@Fxo08a}XVNQFxPe2~cp z!xJnv1pp09@h5md3IH075&(-r0l;EU4B??C09e3@0Y$t1e({DB_5r|~c#HQg*64a* zR@r5Kkez@?0upagEc}1In-(_B1RxHRI4q`0@!gKV$fsLM0}zWWu}BP@lEMGBEnDMY zBLGqrlB$R&O0Iw4J;=wuJpdPFa#8PF&u^VdPKdgtb;urt?9qFw%+RBo+YXpH0Dyj$ zex>?Wk!6XKYF09b`aY)*;Uf_#&&P8M{`ioc2Luvr9KpI0TcGy$2_oH#s z0oWyzU9y;zJirEk7G2{7RetqmU6U4DCPDU9geoanPlioBag%Z zz~XPLtSal`qVLV_qz%q&nPkiEybd0h1As;27*hRBy;?`#jE@9h6d6^N>(^{pef-`l zSDHe05GFx-cktjH04!w39;ubSdQ6;K*+l@{P{<8M3^lL(%O-t%l^PGgK+8a}Q}75M zWYh2-ue$cOW|4(|%+$Wb6GWcqTU70jK`{rH-&_g6cGimd;}1<>5rgWWnQYeQK94eCa$US!>sD8g=?ui$f-KLu$SSvI;f829y|Q0&gpo%%H7GTa|WJa z(EJbor*a3d>YRyZswbEmMFmS1fn}A=j9e9>Z8#LEeOMq)buLDDF*2031mPt}<*qCh z&d_)%Qu*;(buL4AnNfc^!po7$4;ZR*1;Q(gco@QANacq{6?SYKj#R#dtIm}OuQckf zMtHR`y$0bmP(M4mtIo9uuQlS42t^_bH=0$5hTwaO$^#`T_{q@&#ll_aD%gg29ag!q zsKSX8MPUm+j5dGNpzzP9Y8x0M$%rKDt2d8U1HfX`?BnyV2Y?oz=0lG=lQTft?0C=pB$NDbUrf`LU>YL7~0Hi1+MG=cno1$(d@T?NWGystl zB=$uf&IW)5u~{8$SqvKh7P;m?OxaVg)& zdup~^YfEds{LI2y8tkzry3=OJ&%W`S;2PJ0&T27pDk8Q{IOSpA<}-n{|f zAR-6#@6h3ULiK%%4<7=ctEH=0vpRat449aI`VYw7kH~&~9qu?`L-FF?&AtKGgf|DC7xqBbWWI|h*$Bo@EU zt@?hO>}J-s%I>7QSX8=rv@RW4v!EMf4<>`fr|IHbrs4Vhahg%PMIl=hq2Kl0I`6($ zz>5zHolJJhqVu}#Yx%B4xmj5NBq}6P5%27D%N%v(bZM=IYnWWqO;pYd0D$oU*h_Tp zd2-dT(`VjkMIn-?_iA^>699m*1K1Ni8doYb>VE~b9rQRR$MtQgN2FuA#~OEE04~Yo zlD_=*+?!P8GWl1lV=p3mb)%){k7@~ftveb5ut+A0bd!P;5C8yE2iOO^%YBCLe1=b# z()ODL3R$2Z+(mfJHy>yXcJ{KCYyDW!YB1g zevgY$p8$Xp+7(%t2%O9S0HZLlqWHoI0OKt%fYTNLU}OajFs=dsjG@4R{R8JGHUH8M zfFwkc^fBA_TDh(AzfqL{C`yWo5z=q!iG{UdLzh7IQACdFUym~#0ATzERzrVAZ-5XB zBQ-EUg)p``5qt0mw+f+e^C#>vnMK7_*!j&1O&;77=pT3N$(^i`p-_XrLj3hv#HkSg zFhT^YVSv}M>0g_7P6HrRA))%dJzz=8MRz>c_XJ=h87U5voIe5Cj5Wau8W@E7JY8Qs zy0i-BBf5?MVEK{?6a#d}n7)hAU1RzlM)!>A`xxCfrV}tqFs2`2^vIZgjL~CbIuWBp zV>$_=Bx5=SqZDKMDMn9?>E{?dH>TfV^v;-mkI{Q$`U6HEjOkR2QjO^}jM9wh42&|2 z=}e3=jp;0mvW)3Z7=1FPKV$USnEry%7i0PxM&FESe-rXI8NSDC6Pj&I&oQAn#&m!Q z1sKzTCKPB)&o!aB#`Js>nr}=mFrfv;^g#BNwmJS z4GQUfGV1H92LSAl$qrd;8l2_>03-LXqW->8&~bTN$JziqRmf9)e;8t3+EBW0s{z0j zgtioaFP&YGing4VW>3i{fc8l?*s5wCU5n|4((jER`ml8 z%~P=rS+*gu7;-KV0F+3?r{F*JJ;%lF>7^YX7b;|-?xOpr%k*9e8Lesp5RFJQ66er= z4%~{kRJE1%dW#gYNPi1oFZ7|u?GA4Nn6HredQqID1OTHZvD!H^2>`}NV!&{hF2|F$ zZMFf>$YLq05H-LFDU%KvxnYZ(>i3gLU!wo9kFnT zf3x3bTmaaE$R2%<8<8`j!?Zg0UjlGWCg=3N9qHn`@v`X^SmMsnWV9G+BY%1>JAP-o zW}Vzr$W48fb%*RS1R{3qk5juK zn-RJ=FzNUMDZcVh0ODjzoNlU3yg#pYuUlm_3+NCghjiB=XMh2~cwelj$-A2ejOe&e z8-E8BazGLL58wF!U@S291m7Y7VAL-T{5yCv$vSfsfMkUv>t^{BMhSz{Fe8GoCsgp< znirXha91v8g=r<^Qo@*?G%f!I)sgo`UjRIbr*`Ed_iuV||IN)ys+t+ofHV+}rRm$g zTgR2D5(e3!G6~fOoxi(_*Ts~5nwfM+A%}GPiBru0U<5N(!|V#xcVvxrRt6wVA!)j; zIp<8Z_On`-^Z;N2nILS_IjON9;z}e>f$WoroYYN{0E_>w_4TW50pPSuPU~Ka!169j zD;6J62Y^h4Wa^egV3XaiLpC;P0DvFyE6y4u1upgLx1sZ@evo|@k+Vn~umXRy8=7AF zspjh1jL2r)dI}mkGic7yo`nGzYZ>dw3kr%qIxNoNcnH}$6tY8~%s~$>dKJIDa{~au zG6~jwX8a5Z0AJtu;}x=%`<+#1n2f_@D=!+($1)C=t(?RL=VKYKG~y95j*zXKQl~=n2(6a$@W7G^ z-bj2vww7h?N!58!#s`hhACmDQ*~%TBs`Idn4;%3#GCm?(`2LrpP$Oh(DFlQ#sEjM$}RvI*EVCRvx%ioj+y#)2RPjM!)4e z{1S%>3?h6PS@$w>kqVm*jzdl?{yX7tH`>J(d$%*@Z)R9%7gzZMDuYx zvhqN`>b#Edb>s8@L->Ej^eu#MAuB(4gVBrdZ6kgcp}Qy#cf+c{S;1+@dWz9mREQ7b zbY$hBW7U~~aE9^uj|hK6)@VkoQ^9P5Y&MA5L zQ5E`2!QT`sr+lfvw?yBSJnI-0Qw1L;4#rmQ)PyYrqeVCmH_23B5#h7g$_Yj)uz1mV zoQD&97j!(i;?{z*+SdFAkvF;_wy?q<%?ZYyTH2`dp$rgS8S#+_{%>sW7(p?A!A%Re`_KP$kqapw+Fj=8{Vmap+ zwob-0W_5s{(qvw2D##EyOOq#5S>biQZRu61W$2NXCQNcVgf5bL! zFQ{;oFn`51ezs77XJigC+3qn4k_ya0^E{L7C?geux7lP4HQ6{NX8CFFsw0>7+5zp) zl1Y|siZ1_DyHN3niLC(Gjx5`C(f}u71HkCl?4?)K*>yZ~>`2Xc-K>z!x*->4-uGXV zo8J2Ya1y6*o`egE#h2$&8a)UGC<3D?ORo3aB!T8+Ni5`aU9 z9MYW}+;RfoX)eE=zu=a?zh5cXp~(yYB4rY(zXu<%05F<6dt_^Nfzfd&&JIAlOyYHy z_O=Sk3LRt!tu{i}7=G0+MtB2<)r=BbB2)&&W zR#?)ULuU{!zw{d-*FCiM(>I}EaqVR8(M z9g-9Cp=&5BpFaU6o5>tzayh}++nk#ZB``)l)8sZY0E~vufPMdb`lDi9zXt#u!Q_bU ze&_UjsFQN@^*X~%=5SM99(CKdEu_0zwcctd;j>IW%iPx01=*(%Ii=4BPW%Ue(fwHs2V(tV zFZ-4H4}f%;r0X^C*eL*v{Lh{^l=o-%n~(Ni1z?^+=IJZ!p@ydhH~bW*c_k*2iK0!M zxCPnlh5#?Bw$7HdjtTm z+XEb6mj?h~R|Yu1Hg^EnJpl$B+uQ5Hs;yPD(A-8$HtOCOet!S}c58q=aXc>HFz3<3 zRRP$qkp225&TkU{!0r&RC-@))fL$Em01J2npj{eZxzb7d4YlZ&pIsok8|fytKu&>! zY<72mJ#ebq;D*zDKWQs$6VgNsGrlZ9HoHf__1U=#0CstR0|#Dry=UKC!ls>gaF}A| zEz(XrINX?Cso<5ybcBK%h5 zWNgygmyJ=jF&$z;Atr(IOA)Y%v#Sv7NpKBd^Ih!0X*w#LAIu-H2R~4#KzlOJF?nzv z6u&nCUB_-qu!7EZcZ5#dzT+MqL*yQas4Z;y=tAVeV{hN9R_4FK5v4A!a(H=2#| z`YoLRptq%WY2IBI@F|uscS%3WI2mtK92&*B!!p(vYoYg`AIEKhE z{jKBYw(tB;^_&9$1S=$1H>kLG0RVQbgcWuD_`f3)ruvo#V1rCH=wI(f&*bI%)=bh) z5t|U%q}Op{!op6)^ZF|QoR!I0!xOPp_G~yib~ga+NIMbe;Zz^U)-J8^?z_3IU8!L6 zW-aji7?H<%`J8A20K2`y9^nia0N9lk25{E`0Q9;Fuj5wmxIXXeA1n?)h)hECrruf` zvEgmET#MnOLO$wee}1tAJ}SG;!pc%%b1*-`?tHfZw-GjHVs~yPsbG_s=bPNQk#hUp zut7fSO`3D|y-eQghU%RW;GmY%zW^}CGDggzJDc8FegsudhwQebtyreH7Y(x6#TnKf z?oI=M-In11<4Xac-IU>7!4IgA&2GjpgkOw-H)hvi7@)#+74u{4!EdsFV+@tbc5+hhRJWRj+vJ`aNu;u6U!jjT9FA#-$Vf;SlecIAc@^=SUvq0@uBv_Qc; zMCKu3c0Yc7>Eq)Z|KR}qM&!3{{3Mp>{j=q`>0bdjjL2bqt>Szs0N9lsR!2%~?65t~ zlotS8#pJ3^O5s;|0ALq**b~p{%$WN0`Do2lA7mL+mgP#%lJ<4ZzoL_7^6f)ppFTtQ zeIEdF@A>dzvgtJ+$fkFEctOvjm4iLJT>k(dNG3tD7+o)V<|&>Ylvi^Wy_3m1eSW++ z&~N^WxdGk)%vH!-or(40bCHT?W^B_KtJ@T^P2V+MW|p6GyF+8`?A(L&5H;{iMKCDX zRU+0XaQk8NH(Zdfaj(wSLqkSg>jTffK;(sfpyhs80N6DnR>GTg52udWU&IrDR+d)c zi2e5N-Rq6wJhU+CD@0!DU-Dg-)IMIx7p(vUAQGT|d+wV7fL&5zHN2P8)L8fQj{q#i zWT|dszEA$$t7XzlEuc6bk@6WVgP; z^IK3b`Pkhj(LMLD`5yM*e0~+2cIH&xlzyLf$^@Cw=NE*C@i zRW1P71uhO0AKSvkc~cAO!wK!G9%bfUC;-@XF8;*Aa#5bHnLh#OMS2NG;FsX)2UET_ z)?6!@GRf38zb~u%dZG(syZ|_j$Z36Yer;UN+|bLn697jsIjT>!uQ|)Af9P^lvlX8q z@=Tv<-yV5)YcQqIUH}eaa!`LFr&HBq?scDN!*riQ_UViQ9w7t()>OE6#(RoWX8~Zh z%oy_HZIi0*4GZS3cCuxgPLBJz+c$0M^cRcZiNDF;!l%K<0A#bPXsjUa)&qduKV!h} u<$h@k2)q(scaB|Lv#6UXU~P=)l?^t50qyN&g2Ku=q#- diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/tc3.h.89308FF794CB8B53.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/tc3.h.89308FF794CB8B53.idx deleted file mode 100644 index e266c0572c74f32a3c954cb45b15b14a7d070a74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1048 zcmX}r3rJH@7zgmHGyIrkWj@PUW)=laQxkRbxi&X#G+*;A&8Zo_aI>b8y)a*CnZ2OI zo|K{$VkMc6RI*GfpV`ASX@Lng-O|X4`bOMy;czd%`{z67JLld|kwCD@h@yB&qTGz+ z92q`Rt8gfD6#G?pKZ+x_npNJ%?DAXA|Ha!`%lR=RwmQCEGPG&9w4Ya1(xLe@Q^P3c zIBr)ksMDFbz;(Uk%x&l>?3zkY$t-KEx>Ztbp2huJvy^6Q`;DTT(!b8^+UGqNb(ffcvVGw3Rv-yc_2NdO%E0BG`m!z%iUDc~E z+_6TEf+$kk?!4kv(kYkg$X?(@(i=Yj>yqf?2y!3G_U8z4Bt#O9xYK)2Jg2cl4uw!sB+AKi zwopD$j~oYaW^|D_)A~0P_6h^!Xo$9=Ic0M6=N@&{W8`26CbhG!)H0WG_{PW*kgTE8 zs*$}ll5CC?c{l7P>HIC%L&j}fZX$bthXtKJJSQJtIbHG@*$(VjG#AG;Mp-{#vXQyK zCFwIW+lty{SvuqZ2(YBn^-sl{T|REeMvjG8(#}1WP3k1GH5EAqV#orU(vy=8#pIhH zi$G*c7inAi*4()!Ti?6@1Y{+>&3@d=L6Zf@K@ddR8Cba6BN-eWK;{9Dq(`(){jH9b z`;d3RE^@?U(}~TuyYIh54u^1Z#1n%l58ZTPPh@}aC;P2&s1&|cYkQG}AS6ZRG}T46 z6V?65KHx)|pN|l84kmcaBKv_KsXd?9C>)b@IwL1Q0!eG5r=}jMzbqnqf+v}B!L3ew zWvovB*?WUG;l-h@t5xprmXPBio)p1E4>Lm6Z zSjt3EDqU!$Xpy!lQWR-RkVX?xOKH!fnfsEP`|^7?=l<`xc~NvgfQBMP`CX+8ax#QG ze5EvS2!#CX8#v#_QSgv?cbYNgt>S;|=V1AGDa0umZh6zSp%!-Pw8`o7J6%O;hCl0` zyj7*#N7gRxzRMch?K{8taH1?J4 zD^=%NmN;5psFxTm1Q~CNrar0<{bp5Cg2J41+?wKNWD24cC`$b}b%I4}^~*8j0w91X z{Um)f)EKWd>KT?#Y=}yPa^292#ANY~gnhx8s3~}}(vNJeqlht9f<(5Gc zRmd?Ab6&=}+ToI|qYejTAMnwYvC%VQ)+WC;961<*^$Bl!t%uC1@sK^ilO!?awvJ|f zqBD`>Adajy+m5W2cPunVPK3m>vLY5$l{)hUL+i*1kYGUgbLYNC;NAu@4YZ+*oowp| z59eL&kYgd1LLk{P@x6UR zp>>_IwP9jkUhYIwCWm>u3ns9o)$^h|Yw~FRYILMK%H>a%m#2;ks{Sp0u%SV3U9%QCUUrY&;X03tTN( zz~ZLMBWA)(E^-ni5w40EnAu`9mLW$$6gf`K%Y*LHM>T24Zs0}&Hdw7}f3ec5Ku(5a za+hsQjMN{Tfi>g^h#;5NT{k_V#cvU4{(O&+j~oIaq_NXe_xDbOT?@!T5JZZ6xTnnNv|-yKbAUsNEHW3F8^yC? uWMA+lxz}|e+xOSaIpk0XCAIP2y3UiP74WYJlyR1qGpt*3YBttXrKo=?Q26}- diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/tc5.h.B2B927C83910785B.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/tc5.h.B2B927C83910785B.idx deleted file mode 100644 index e6223b954fbef32d481dd662613b8d34fc541f05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1048 zcmX}rdn}c47zgn8l-A>tBXZ}oTt*j4F_&|2I2ZTa4i1i6ZgZD&$|Y@~RAP;^Hsq3& zEthT^e^@n4O8udUA<3mMGAlJ4rRS`@zjyoXefN34d!FaF-}?r6356O;6va#M%F9TU z#o;5RflDgONy)|gC0u!R#^pmQy<9bcoM&g*efId2?9c|o-0$SwL5|t=4Y_*9s$+I{ z@COrnYHhLf>Z?=D%6)xXK9)wS=X8^1@@)!}%^Skp(k9f`>Sx)ho~gf>bH!!pg^pRh z1`~!3qfIc;S|}bUh&3&0Tt4jY+9kIxr=aGVKn!m;~?{DhxKT z^%SoZmwITfb&E1r2U!ea!~aN8%qsrHlD*ZM$N~@$)*INdC>H&BjvN6IT6Ee#`+f3! z&59**AOs$u+4%Ar>tSz88?py@kRt3D+oF5lH5Elzz%r)OoNcYu)QTDoasUL7+J5o1 zxzgX$-pFAPW3NIM~;SQ9h#G^jxMw`#bzQ0K@izxmL&1(VtF|OITS+4 zfcaHpJ(UG-1Ce>aBP}m5vo?Pw*yJF4f+rcUu)!#NpsU{l*$cdk=$1v?zBhRs_bFso za3zO!?OWUAQp95uWM^tZbe3eW5{mcM&_Prc`@By zYwC;~48i(zkvX*?BL&2{N-(G9!D#ggwu z-4EN2I}Ne)vaJI1bFPUlJVRd8%#yi(+B@@zj_W})O?rig%ZMu2Z;FAAQt**QPx281eB5jHpMX?*>TGsa%hFO-Z zc!+m1eKI}li(MlZdwDc+3Z%IHLyF=g)x<}7H(4V`L$o`?+%;dHd5ku=A*Vw+DZ=Z$ z>^x}W#7kR)#mGufIx|JQ z_Ur0&WgFU%X`melA5CnWYotv{Taq`u)kt1lzSArRuou)Z>=KjeTl7g+!T!VSMJXwKgFFo-M$F)7k$w`8Lqtow)@ z4&fx=A(_v#%>P>`G9UOP$zeksZ(-B1gUBKfk<~375n-Ee>OLXoLM~}l>rlVFFtyxt z94Sc2mKWY}CQih7<{@W7Cb`R=c|k#~&#NuSS&&8U^1g!ZY~`HxLQaD;(r@D*T4KX# xFkMgTd=u5IcxExV?- zO2;gmsg=bWMV$_HT0K1*qJw73nT83|IY;x)Th)Z~lP7dms%JP!en~%dXRj2es-|#AG4a%|@yX}^dV<1M4P9n){Z9l~`GD41oND?inTeyD7c&HPZ z2RyPssYQpV?xOe&vNw2>?L^A1Jv;DgO%)viAtYMHe6*qw#`%Km1zrYp$;7KOnnicm zs#b+UD2Yx|w#*NdOl=~2f+yh|mMBGGtF?;k0Ujhtt|iyWx`gL~91F38OUu_@?r^*C z9oZlJ&FGTVqlIPsHivHH2#6r9s%hC8;m6gnkU791CF{i_1z*D3!-9o-F-Zf+?%+;N9{;TrnW}H{j5G3`IPXwX%-ZI+6&T&6sDFGP B_m2Po diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/tcc.h.8D2EEA95263E2756.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/tcc.h.8D2EEA95263E2756.idx deleted file mode 100644 index 5cd0ef335ab24580d5db15cf3343aa2c3c808a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62276 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/tcc1.h.7AED5FEB8F523157.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/tcc1.h.7AED5FEB8F523157.idx deleted file mode 100644 index 13a4b6a80d89b2d07472ff3a7a7e5799720d08fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1162 zcmX}rc}P=n902g=)xI`0Q!}rYMu!+hq^9Pv>2f-^c^}Jp?77Xd@@TVEv~n($VnTu zY`^3_U{xCz^2RRDQ{vI_f*bR`%veghcWiDjch4*a9G1LxdYfkGY`C7ex@ULSu<51B z^~J>7hqs(!Cj_%{&v|W=ZQbF4na`|`ZM)|wO;vFLrl!=YLXF9Wq8#j5!-tmIWmapg zBp`9KJhCjuz=j7+=lwq;$3wjPe?(3+a@q=1?~!96){|jpJBI~ty)zqG3R1#u%DyY| zoOA(l4&?YSr`>u7rF~9&29Pr$)0N@9Ww*bF%5L}}%RuJMaPZ8QtpWDWeUKv{g2WE< zO)gb$G)*F>Lh1(QbhLKG+*4d7XOaJRKbJkrN@2G@n+p>^50q-Gm$t;e<1Q6*N8fy92oZ3P?NIvZIem8n1mt&V^hL zCbs-b)gkedtt#Xgh#^cjdzhZaeR_j@5Dt<8ixe)pbJahGk)t4raQRH&?Y<`dIC26c zkS?nwJV%$733p@>h{(IF=}BG;@EzZU91YPVQJ;pK49R3v{Vl~O{o9r}$dM392751I?!!r`aTPfmvdK4i|BOfi z3t>l)Il$pCDTf^Lc0J)Omm%jvKB;6(Fw%W=-;NYyB`C>Yr-olqLq?lF$a0XAcINLI zCMm6SCvpm;kOIFAjReUX&Q2p2LLmvVk|dt){3MD-PJ$#dZ?)SVD`Z?n|Hz))ya$Ed zRSK&%MnSOq@XTb}2pg5wFK{gPVvfK{wY+4cLHETeGvcZFbADw_$+_r1F3uNvd+z30 zXf@Aos?FIN&UmWr+ro0=Lz!*5iCM3!ou?>?Y^M-QQ)1CJiE;)-8A}Jgt((@iGfWvF z5MpU~Wmq%we&;Jxyi{Z_@Us1n6lD@9Of0JXIvY6(q6p8;*!%ETecU}{0SFe*(bkt* z-0YqWY)0k+m*jR7<(q%6^w@{&5B@fE^qQ`+hQz9R6><#3ETP${K$lbc^z$&X5BONq z>@vRo#?_zQuEdx9rP;_;q}8WJ-U$YBshm?_ow>%$!kHy8i`B)3nkN?sA9axerhqNCGh=T&%$ zTY8Xrz$2XT`A)Nm+1V=O2#6q@9dk+Xqj=X#WN+{$LlZ0cl>gTwSCEq-nRFt{{S-Sm zSyzqh2YzHarFBgCWSHe;5xC47_78iLdY$dr*J}GMFZU~q_4uw!M`7#YjVrgE-P) zr_pQH(4tW-av~&>lATwc@J!Vc=aGdVBz@oiB3XHOwM7lG9oX5?ooG*&Njw)Xyp9|M zK_s`fCsSzOB-0^>LpZtEXW6_{>e5$($V_082FE@Q_q|wL?~WV@frO`4IBs!G>HC44 v0x9$8lKNFf2X};)A4m2DU-J8iMLPtB5Q#WVG6zp1hJK^4HzmI#nxg&!@~RPt diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/usb.h.A86B6D4173217744.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/usb.h.A86B6D4173217744.idx deleted file mode 100644 index db12b6e203eace9950409bad422564a1eef08536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61410 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/usb.h.D434EEF1E6C246AA.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/usb.h.D434EEF1E6C246AA.idx deleted file mode 100644 index 5f3caed9b853541b1b5323146f693e228577a04a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3894 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 NEA6?*golxh0RR-V%*_A* diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_event.c.C3B3CA759ADC9CE9.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_event.c.C3B3CA759ADC9CE9.idx deleted file mode 100644 index e7b8edef2d8d9295bf16be0350f3fe74576d6839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2316 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 CjSu($ diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_increment_macro.h.6A1AD44267DE721C.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_increment_macro.h.6A1AD44267DE721C.idx deleted file mode 100644 index 54d178cebfe7af2423070c5a43ef7d7139b3406a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6462 zcmYkB30RI<8^=43zHtv`EMuq)C2K|$ArU2NDpZytYpX)hMrhKiO(iNVmde&@X=1cU zNTHFG7FtBcQd8PgNPYL2@4KG6_qyKe?fU=j^S|%2Jm;MEZH=zB_Izmx2`x)qS34_b zGf4>vi4pjAa(1*mgr7n9c0D!a=;I-R^04o^eJkR0KEA&1T|X$i%B@!W%Ou+|+g>L8 zDJ^BKYr1!8!mC=>LF#kH`LtAQ^I!6Q&Djy2sU{8kD^x4SRmI#0);8#io;T(C7w=5} z|7fl*lrXBSo9+}}dwp2xn4(!do1&}}Z6?gnY4Xc)W36m%i-gkwJ9A7g;b>*;s8tlwnwhgUg}?mbwU%1W2M@NX0(S z>+UoiiQoo<8`MHt>D?oBrCI|7xeRg%$oLpb1qR1DA;@8nGXV6RRe#eT`w2k+g8-^( z+{Bd%NiLfk5o9ySrWWJF)H6MN%V#6d2Ys=7<4>q&sn!lvMma`+7%F!B*XEWPGPb7> zoD|?BfeHEFJ=~F*l!ag$Y!i)SH@il&Q%BL8dqQtW9eI<=+hdw~yCx9Or$@&Bw zS*LAu5W#r{=c&a+<+^VfpC#=Od}i=@0B|gGTd1;+uc$4sMNBO}<-kqL&*z&^_7}jP zGRQC6^@q0iR6PW9VJ?5*{(Z?C_LqaLjWf!NVX_J4lZif$}2;kEqBgQBw`)dCP_%XlBq%U}}nb-?Y3J0s=nv1SlK-qm(~kAINxva@$>1gV&u%Wi$qF*pAxLMCPC)tC)xFxxw2If!JiENq}tW>hGpNXT(ud&QdlY)sc*@=6ywsj2jye|lF4X^&h|`cwGcjE zx}Yn@Fa3MSyI!>({wOJdlDK{}92(+x?X{0Zc@?Y@qc!|`747o#`TE%i8%e$=WiU2b z`z6W;;D9J=sfUcn=vW3QpAg^#)uPqhx#v#n*k2H=g|%Y*@}KX^244xAh4KnmLGq+T z+oOZM`4C)WaFK>!dDG+#8`uBC_pC?;kpxz>jStITkinm=b_VSPbhgQ@m#=64KJNmY zqKfp^`Pc_ob@9p_IY0(r=?TJI;@wTMTYd3#;kUcjRQ;q7j&ashGiPvwqj1iFSNJ zT7i`)TW=U%KK0kNIwjT!ruuL@CoAE2uD~xSG`7MLD6z?FXc_O*- zeGh`);5RYead5Av`=%GXo_YrL6z_bbaN+yv%r6LH8N?EBHJ`lPN^62Tg5wO1)6~0W zAC*-OaN?J%%M314iv!bDRv%8d&#f*AaEWH&z<~vDqe*%+f(ix|)Z$=Pv;B*>XQb|S-!XSh?=dq|W`Db=!5dtp;UITz#qomo16n;#%FlZqwkJwou zVNs@MH(Vl01L#eDq!b> z;hq|Cd?Pu@;3UNdE}irI=P_F}5qLB3rVN1{?lTs`t#1gNz)7qqq(Ce75Bm*#eV-HH z9Q8TW{?K2GG|uHBFb8un{@52e`SOFgeBL|-@TB-KV<$PCm4>beJ~H@76@>-947>MX zCf|jR329IWR};^YOHAvvLfU@&kS^>=i3I z{-oAwjqJ)7D64`hMZdG%(R?+YUmx-r})Znxe;Sp`(Y z5j}ffL1Jv5^kkH)8B|l+vnBfr6}0R4z?Cv6B@j3N?vLG5=iWq+C_o|&M*Q%`O;SNy z_lphQU4DGMXYigtf>g2jgT#+E2nrY!3;?SZ zXUeRIv_z1|Ad$fNdcA4AO78soL=1x%0vCHKLgpozI3TEEP(|QUZ_UN_-+$u^EI@z& z>P1rd>?s{@SMpooX#q|XNZGKuc!JK-A_UhNTqmoPW5pwWQ))SZAc;W|fz*+@Z_iuh z@H@{um?sYT7RTxGk6O;5qki#4*$(VTR=5nRA92Vo# zgCBp)zI2BV^$P|sC_X*ga8q4_ z2XGKGWT+<|XgxTEUytJ$#F0@(t#OLi_f7nVi82Od1g_Uk3Qw3bm>-e0U@IDBx&Cs$ zEM|H+%7Fp|QsQhQed!r0@rx0hW^kH}vRgOW`m5AVN3a1lh(&?+-GY0|FH`RL-3TrQ)+Qr#s9vR!!~|~#0d~box2kmX}bP~oEw5S4Bk+SI|N#YWBbU*{aPq%f~F`J>G#F1Z1&<`%%TK{qB4uz zQ_UyE^>iXg6CiB>s8fH{kXJYX!Fd7B6L_qYaN_%2H=Pm03J^=6*s4isPF7ewf=~fM z2Y{;)gJ+Ihe-=SMgMRA6lL=6(Bp;BD;1YvN1WL_vXErU|%I{U>49W?VPnKG-@ULn7 z;t?-EJmsiJX}aQF63hoMf@{(HlY?L@Y!wH+I{9#3$KB_*P(C8S z5sI&gI+Jb`*Oi9A2#mz|no32R`meM3iR%cCqFgKMmo&;DozLB04E~~eYO6C-$3Fan zFZ>_@g2=zFP+oC#g~>w%oeVmu#mhyfZjIWeWPsoygNFk^fp-3X=AGtyS&9HDWc5nk z$*$^A3t#wo4DzVOD?{fcdpkDpg?UtfqtxQHP`|tPLQft7Wl$Ek^w-8Ud+Ph5`7aC| z3_8fDAtu1s?Rw2l1nXhF*z1PIXM-H&j2EKZ!=Q)a-^dsB${j3lM^M6`guwg7_BZZr ztKx^HmjGT=(Fgxifs199Y(@~oAc(e<#`6_Vt(8CU3Hrp~6Ir$1T{E+Bs0`m&SlQXG*F7sRTZM*S$05P7l9=oM3Q* zCaBkS*M9j|oqW%~#^4&|=u5xZUUmA$Xar_pCU&py@znVftS9lSngJMya(`ZBzg1%d lAHKT`?vf4u_hGjg--DeTEu4npr@#WL*|{0>Dtja({tL-KqKE(h diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_list.c.CC4C049166FB1114.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_list.c.CC4C049166FB1114.idx deleted file mode 100644 index a12e152857f14e9d60e3d0729abe258f1dceb931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2434 zcmYk62~-o;8pme{kt7TxvIP(c5HKb{fI!)j3DN{)6G>>JAXc^@TMQ6(Dc};yt5U?HhN>(gSZ%=ywo*Zm0u@|Pp1uU$W6?qH51p;b>p1m?Vdlo} z2)*a7&5hQ-j}bhy-Q1$Js`lTwptjw9_bUnCVyx-}cjV)RhctU)bN#+1NmcP?k6YHM zJ=rbR{xxO(^l$h7>ZN?1KE_>N=2$7IVog$`D#yI7lod5c&Wm-QmNR{32KB9PJHdY4 zKj^4k{PP-k7UffHyz6-90c*0;wzc0}>VJ@KZjfPd=FNOvateoS8J(Urs@nY5boY1W zw}xjU-+e4v$X~1tue}*JG5zW_HE~Mor=;fkYu*of%W5unE(DczrI&uXWT&E3Jni75 z*6)kA@4Pll$!?A5n%(ntdNX;Zd#2d6UsbyG{sg&=(D5$C?q&TM?Ib8PH*#p{6)yey_CZv!3 zRRaR`^Iy`*ySCd6JQ%q<@ZNCLGUNk&2|oSRGj z&|ve0FPrvc=uqLku%Z{{vYIP_=5Ikh@LyI8Ka98-Hj&tdT zZ?07BHX^3;2YZP%;$~)p40jnHp7r2r)Q)?uyA*9&$}qjYc1P#LwwOmHFE3QQEtO0+ z#a9l@iwcj4XcJAGKU#Clb|yTGyQU&N&9beW+P!;8coJ?+d}(DDurQ*!A-UTZJk~pw z8$WX5Pxn*o<0%r|^AvN^!vs)#zgYGCy`s(S(>A{*yjs7b{mbyS`F%J3kt}VoyPr0A zsrTI8%)|B7A?oo0j^y!Enj$4@11DXbvCl{Gk$qj9kKReysd9yE##g2Z{=r#;%g4KON|>uUMJ>k+Rq%41|;T-7L;56|@Q@^f&gy;X4jOfDZt`3_Qb#R|4WoKqG*t4e5aHULX%lw&U0F!~5hA zunEz~@p4mMHHfbUO%aVgam})3Ph@6d)Vs2?5FkV}(QBejc;(=la?k|P=n?S#o=BX! zX!f^L&lAQV;8R57j(0cZCE^n`QOG2mpEsiDd&TW2P{(#bfB;bh;e)8WTzoEdS)skG zc;98v)41u-Ul8DnD17n0CcHF!nkEZHS8G|3Ax%(JAlD9B8IH7E7E>vLe|SB@vR4TkQXBQ&6Wt;X%DfJOndr7%pg1 z2zIw}cfzs+(Sq1$76^{EjCNcx43=BToluK+{#f_&MR}8+77`9%XfDs?2ElSbzCx%N zBrPunDncV7-5USVZbjQ@ou5-cHd2%W$w43OhTt4xjvhwEAgLH!8OyStuB~LivOzY65lZJqiS~Y*`zz+P&%C46JqmUBFmbHdqiO2*pTfEwsZ(Y%AV~ zxg>!k6pXg%ZX;t9fsY_!6iJU{U?g29rJ-IxaQ3=v8fq8>?={>@#i#%(pkP#_Q>43! zoQvF0LTf>s)$Cf-jq9U5J_prQ55!q#g7YdbGl&^0PC{@ANGJhUMmr3C?2bPkUr2^v zCV^?R$~2O<37QCkxg0JZBLPWZg4rZ+75HEzBnelI2{}SOHWoq%F~W=yxr%%+66=bo z7)5X*_!vc!B26%gBgPqHhUO9Tj8S7CxQJRrN2w!96q353zf>RD4{KS*t4eeBcEgI{ z>Tq>23b78c!%~GoVXM|$L=ZvPSgdX=8Jk8NJ&u8qlpuvxk+IYaqb%JlGCDJs%5kGrmb%ndMCs3vkN=!`XXgDo@7?$BoeA+3i&?q=c*gl= zr^aVRYXbn7@RDR@ZoEPP;D9~=*@}*^uhNHH@PAe`@7l+$S6;ZqmDo#T7BW-X8a{_*xktzMSZ@c^@z_a8Uao*cW*t5^L--JDDB7Z)Az zu6&rGwfI#Sf8gPIrhzz>S#DHo9^Fq*=`I~ll1KW~)F^#ugEZoSZ9~8ld>5Y@xT@y;^Z6aWPjn{6n4n)G7BdUX9P6cat~1C7R2Zc%862bZXk& z`@l`T7SYIZm!=4YLxsyx>buL00ja?}&KwSZkE8$Lj7rWix24qL&UF2$c(LCN|F;?I zYS{IubJO@+L!13ww-8NjfAvg%Jl;VGzchc4+cmfI>xaO*_ro`laY>#T`=#8X0FQ~e5QTk{^2uhvCCW=n>WffE<+j$R0A3u}hhHay6H@sha zaERZXeWAei)06VucgL}xs-J!-YIYbM?8%o}Mq7+Tn)lxHc)?GWaIPrTR4cN@_9R?#UPS z%W@~3KK<&wX8nd8-dl5Dy1jHb>o|S(#fD?sE3}Y0+O86n5!57 zj8+8n)@CI}jPEbUfdj(GFdZ4jh8VV?E?H+A?cQse zX<)knaN+|(z!sR30npSRE?mkDP8Fk%6NYhMH!j_4{EDM_9qr*mE8k zNS1nJk2@nmRqpGUE*#h+7TMHnQ<8-?iJ0gz>c8M|@FNav5h8<{p`LWE5rsr##wSQZ z;2#KSh|y=X)4-8%m>v>LvoSC4X2#Q#{dE+a@G|f+(qsWnLxBWE0s=vvWcY)`i$2L<%Ql7*~cl&MFGUwp3uw$OXtR za3-}`5Ua>G<@0B(qbY#o6&O%_enxfR@ER9sN~HP9jFlO3J}hiav*x10 zhzG=L9HrSocB0Tp8zFDN!xBU-M=a6I@NLpdns*Ucn?7S8O&TWzGyw}0#t9)!$U=^S zbvaQss4mKC(Mf+HO`vYNUizO!2w{hqBN0#*&ZqVrnh)s!8InHJnlzUtof)4J dt-h6H#!5`pH?!viD8z1V*bmwkCATmx_#ZN~SKa^s diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_repeat_macro.h.358A33457B92CF76.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_repeat_macro.h.358A33457B92CF76.idx deleted file mode 100644 index 9c361e35104463966faaf72b936051e061a9fa6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6530 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_syscalls.c.47176806CAB859F7.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/utils_syscalls.c.47176806CAB859F7.idx deleted file mode 100644 index 43c1721b6bded41592f25fa0c570756c7f5ab6e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1428 zcmWIYbaU%rWngel@vO*AElFfyU|RbgWmd- z`Anx6lg)Q&XwUz#XGvVK_M^qzmo6``sC;MQ`MC7Wo6R5B&5VtV59`iSZ0L$DE!?wH zus~pv*Qs63J7*tR^JmIsbH15RYBMfGZTT?a>ji7)4~(UKeXSZ>pZ@+*^18^vN+;1q zYuzfR*UMUVrarsh`G2G2pLZUSa_iP#xhgHeQz3qwx!}~Nqx0uGwX~g%ync1ls`$J^ zCfcWdxM+yDoj!d~bYYa%EMEQ#4`!4s@vaogdcWiIDd9(P8d;y>BpNM`t3*BjxOPhY z`o{D3r*&snPFnr%y72#%x7Pcxh1cuXF|4xf*DtQjO-cdAIG6Lx!>^MCU+^&KF)$ce z^IMA;>GA7{Fff3U1`t^CUMjfkTDY5sK^G`r%v~&KWXx|Y3YU+sWZP=WctD1S!2~Gp z%k9f=q|dJ}43|&6vH0#Wmv_^77_@=%S=?DdMn?QbVsQETy8U_4CFdvcGN?l=WH8d< z*5QZCUtXCry=cK179IvIp#BMr+!GjujLi7W5GGvnz?IM|^sg9kWJ5hS2tia=oxQv?fjpdv_U!xVuc0Hz2Q^guj|~ zy;`8XhU$jeFneJ%P%k9bV0u9j3De6^l$w(W;uIGp7mEXFW+VS|a%bk+$>=Z|G8n>@ zF(l`vjb#=2^`F3hQ&|OF#q}807RB zjC^{7LV?2C9NHoh=o{2o7yj4hqiVR9k(o31VVnRv? zkw>KRD$kipHIv6MDomyrGyT`;oV`!y`|era{r%Qid+mMJ-fOMnHr~nUnhD1_E*c-W z!aHETg5x*?`1uF;`F2Gd_Y3?2lh;OZ|9O4QZO6mmaaeXU&r0QKy;? zxu*tfOWB!eYo6SG^yq-R|MhHtyWp_dvii!b$dHniJ7ym~&_CGUKFMaHu}!7P#-7(} zYx+Dl+gOuZ9-ZeidFG!vzL8}&&jxl#vY77}v10NSr-zs7-t{jVXE8Ld$MqUykFvf= zNa6f9tXMF#Ei9I1cy6lRusSWLL7Xlgo5tgBCBYG4L4_;2y8O37zaSN7%yGJV2;V~; zCBf;7I!K4G-kbEZDTPb5oPHZlmxDApsGTI3C4*9%-bTrzGgMp`uvCR`73v^~R+c*2 zuRq|Z=j);6dSFhs6)U!4r6iaoV@Jmq)wMc1akO&Oz8riK1=H#C&EfQKEpvv6cAg`} zbEMRXg6Z`CrJ=eyZJAEXwT1cb#io0)xg?m*V0F;AT9SA{v{R21^B zvohQ|xIybV!A;Ax2agl6X(D(m3Z~<4p$(OdrB*&|#c>AngEczg#`vA}*F&_M)*FiJ zF-|c~sS|FDj|j^d>h-13TYNqW@loKXD40&1YCv_)gv_;~P6*~hutp~erW60Ksdq-k zPdl}o9?T^Pn81!oY!(HSi1?`8YhF68{DtWuI1LsN`7MQ^Z2(b|5I@tK_e97P;4NHR$8}@?)k6!ulEPE zoB~#7pk|<9%Z-h5XJN6?8_(h<@w_WSnj$z|MZt9Lmxq{pj?ykwagY>s9}xZk=Zh#> zjr4S0#_=NkD5@r>HO=EB$Nia)atBX=H-L1T|TnF%`4r%Hj9z?-({Jas#bASagZBPUF+Q~<|a}3V|aSD-Bs0StVi=AQ* z*1Kf`k%>qq(osTlwC&PI?V^qX@jD{FBUlLWqL~Mr5z`JO)NrOL6L4pG+|lF%7R1a$ z6+0z0jN4&yI2njzh#ZrhG1NbLTe&*d3y4TeA~789;$@iCbQQ%+^#Nie842+r!DXRq zOS(2F0d7R3QFh+2Z2RCo)sHs<@d=Sn2==vj8C~eqz0HFjQ-E+F4v;#GB0QMn1%%A=zv-1>tvW3_61d%65CJNS`HyJ%|5)fv@tUVpJ|HJU~$d4Ho z0LLK`Cocp|%0P%2nLc5mF%0h1>�ahLhn?jfj^;LfFP^zhTb+o=4^}*s@^8iruRE zuK+h7(jfa|6=v|`{15kQfr!8)0(Yf`Xr>23%I^|0SW53eh`F6UVI6YjgNs?U5OABw zCbptBTE|UKlKVafI3AIBd1|xfV0wN=CMi({}*jkjECh|9Fh!TmMhMI6?kTk2df? zEaT`v^N$Scxx7;60>oj&AC^~S!N^XxpZPoa0kMQEVf%QY{K>in(G{sH0u;t!xc^a+2n2OVKV35N7<}m<`L!g!5!N zKb>v4@F7aiF3+!x0r)y1*X0!oKU8(S?D>XfAQq4XEUtGn-F)Nj+PKX`ts9^iprYQZ zbruQ>6|HO4I!lG6ioQj)&Prj`N^_uMpo-RTYTaNwSf9GA);TGhRJ3|l>&7a^s_1g5 zb>s1PeR|ZZq2yLXAQi2~)w)Qeh(xVMi9$FE>C;X`4ds#|2dQZNq}E+PiVLmvFClyh z>C+HXL&2yhLMmEIs&&OkQQTVpF2Z+_KJ7l#P*#v~)Q;8}YFz~)6{wxOK9vYpB7K@1 z)w)`wsBLYp4k_x8idK_qh(7!t>CBxsWn9lg%tPW5{34V@u6{2KW^suMo?ndjoZ8bE@WGq=vns+=n%E^Tc+U zXk%xr5FEXM$PL+1Izb?$=1>}&_J%-+jUn}kz7im$Hc(;`q%IH$u?3`0(8do64XNFe z7&SCh$~bIHd#(Nd#pN$2OA)xAgmDtqqZX3q1vZ{5JP`z@gGn$uiD`5KEH;W%|DbQ* z@PQFVLLIyllbv#+J6Pe6d3ja8i$KgL^VzODVpShDv3u1BfESTPthl5*1z@4cq}Gr9 zsu(+YN0SC%b7Ib7Fg?xh!Yun`@c{c0UuK(bT7ZR4lo~mab9ZiHbMqsBUnBAwu~PBm z>WvpVKHg^n#6iR#l(Wdm#&l1U#^CROm_#PAV92<=+f--mw-ew{L_+0*?X=H_o9sd8HUk|`i11#yEE#~exjJlWsL=XvL zQGR}r+osUz)^#0oaRpvCyIYI(Q>C>r`LZAIcMJbk zP%@OgpWEt~i6;KTPXg>pTv@c!oB^=V^wY5lv%7htioyzjOA#rR6LaBPZ1 z+5BuaC_T~vmOctdmhK&#UcbL&<}o0q@za?8{r%SF^+)Qj0=$B(U~{Km5Mb`ocLT|c z8rlkFA~vFZ#)ItgM$dc2bKv>Uh$T#*Tu0j>HkSvtpyCq|6o}McL_$VSr<(lZpj?W7V z3`~VO^AO?>$@`ZE4-n#~4!Xj>v~fH2P_Mlk5cb5LZR}q@yucc(>q1qxj$g;zEce`_ zo8-~*QnzEW9ll*iS4E#C!AESnJOuqD#3#uES2+HWderIrwLr|_=dgvZ9J%3U?>H}E z;o(a{vaDa(Y~HZ2qNp(cR~OU85nVmIb@W0uukudMe9|M*t0Ka-!?lluSmp@)4|$j(6kA3^*P`F*|XJpws> zneYaPHT)X35ViKi*yMPzBfx2hq{$UpZOz}A^XL5_RLP6UVir+#LH%vp-D(y(${G9& zHf&v#)kFW3zl1}^kN0DRYTbj=htFls5sGsc;=+u)zw+dipZ<;h052s=Su}h+{eDKo z>({~}oJQod?90dB%Ciqu`V9r51d$T?2x~NmvOciKS_qRcM8f1_yJ=B|Pki(O2wB}! zek%K7^40ZSS(htHVfQ2;k{}zRB@GbLXEA9(|66E(?^f8sRY0ubSFvT|{JfXX7gYTH V7WxYX9oFq`YxC*l;c$4<{|9i>Z+-v( diff --git a/software/firmware/oracle_d21_edition/gcc/AtmelStart.bin b/software/firmware/oracle_d21_edition/gcc/AtmelStart.bin deleted file mode 100644 index af01bd879e81eb7df0007384c0017ddd33763390..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1692 zcmcgtUuaup6hHUg+$K#Mb8Dw0X{|T8ZO!Otqa9nPFKO=9{JE_-t00})v{6Wl(`%xb zI?&GH7*xSEFKIi5WB#egaMaxgVbP52Ww61`bWmG_fk+-inflPEv+?&OEw~4L^n-KH z`OZ1t@0{nJP$`^*1-2y-6vsotUjCMtI<7mikc50V9$agj*d@b~QJoC1BlC@k|j(D|8 z&@Y69)ond_?}Mf4Yu5yCR&9?pcV*+e&(`VD+9G3<#mt=AsuuNP=2KMx56Jgwr;i+0 zrGbE&OXrR(s}}VX_z9I)7t^zf6g!w~Qb*%XU^3b)Z`DOcs)14 z{ea`;iDp2TKtBk`z)vOmQV-vyIV0|A&omdDcg|bwYID@CdM0__!jxUT-@7>BdD9;B zywSfe&=w-0kfJJB0kfaNBXL@j|1C~-Z%o!<=3 z9zcCc$hBZ?yfLeYu|t%NA5#wTqw&$qdgJXsmE(#d?16;=0 zc~WgrIo(Zy{Lq7r%z^$7RljP}U77bVYaTtI*fYLhtJ%|b=jl6`%JdMqZ%uBa>K#)h+e}hw8!MZeSEja5^uqM^}DCHM$PB*B#dDt=XT-yiI zN1?_NbsFCAv$cwK}E Zt6~&}Di>`RPY>zgo%nD0=l(C){{}x4uF(Jh diff --git a/software/firmware/oracle_d21_edition/gcc/AtmelStart.eep b/software/firmware/oracle_d21_edition/gcc/AtmelStart.eep deleted file mode 100644 index e69de29..0000000 diff --git a/software/firmware/oracle_d21_edition/gcc/AtmelStart.elf b/software/firmware/oracle_d21_edition/gcc/AtmelStart.elf deleted file mode 100644 index a230e2e9fb2ca4136c7a19ec97b89ce347724959..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 802920 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%0Dw0I5e1| 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 O;z082RtbNt-v0-Gtk5<9 diff --git a/software/firmware/oracle_d21_edition/gcc/AtmelStart.hex b/software/firmware/oracle_d21_edition/gcc/AtmelStart.hex deleted file mode 100644 index 9960e78..0000000 --- a/software/firmware/oracle_d21_edition/gcc/AtmelStart.hex +++ /dev/null @@ -1,107 +0,0 @@ -:1000000028200020510100004D0100004D0100009A -:1000100000000000000000000000000000000000E0 -:100020000000000000000000000000004D01000082 -:1000300000000000000000004D0100004D01000024 -:100040004D0100004D0100004D0100004D01000078 -:100050004D0100004D0100004D0100004D01000068 -:100060004D0100004D0100004D0100004D01000058 -:100070004D0100004D0100004D0100004D01000048 -:100080004D0100004D0100004D0100004D01000038 -:100090004D0100004D0100004D0100004D01000028 -:1000A0004D0100004D0100004D0100004D01000018 -:1000B000000000000448054B10B5834203D0044BF8 -:1000C000002B00D0984710BD9C0600009C06000045 -:1000D0000000000006480749091A8B10C90FC9180B -:1000E00010B5491003D0044B002B00D0984710BD29 -:1000F0009C0600009C0600000000000010B5074CA4 -:100100002378002B09D1FFF7D5FF054B002B02D038 -:10011000044800E000BF0123237010BD0000002050 -:10012000000000009C060000054B10B5002B03D01A -:100130000449054800E000BFFFF7CCFF10BDC046F2 -:1001400000000000040000209C060000FEE7000004 -:100150002449254870B581420AD0244BC41E002290 -:10016000A34203D303331A1A92089200204B9847F4 -:100170002048214BC11E0022994203D803331A1A8A -:100180009208920000211D4B9847FF221C4B03212F -:1001900093431C4A0C259360022208241A4B1B48E7 -:1001A0005A62C3788B431343C370C378AB43234372 -:1001B000C3703020164B9E7B8643103830439873B3 -:1001C000987BA84304439C73987B884302439A73AB -:1001D0008023104A51680B4353600F4B98470F4BD5 -:1001E0009847FEE79C060000000000200000002069 -:1001F0002106000000000020280000203306000037 -:100200000000000000ED00E0FC70004100500041E3 -:100210000048004100400041D905000005040000ED -:10022000064B1A7AD2B21A725A7AD2B25A729A7AA1 -:10023000D2B29A72DA7AD2B2DA727047000400400F -:10024000064B10B55A685A60054B9847054B9847BE -:10025000054B9847FF20054B984710BD00400041D3 -:100260002102000079020000C1020000E503000045 -:10027000002800D100BE70470E4B0F48196A1A6A59 -:100280000140920F92070A430C490A431A62022264 -:1002900099690A431F219A611A7F0A401A771E3909 -:1002A000DA68D2080A42FBD08022196A0A431A622D -:1002B0007047C046000800400000FF0F0203000026 -:1002C0000221024A93698B43936170470008004002 -:1002D000F7B506000D001400002804D0081E02D057 -:1002E0001000431E9841F1221149124B98473700E4 -:1002F000114B08373800019398470028F7D00026A3 -:100300003800A95D0D4B98473800019B984700289D -:10031000FAD00136B442F3D80125002C00D02500D4 -:100320003800074B98470028FAD02800FEBDC04689 -:100330004206000071020000AF050000A1050000A8 -:10034000B9050000F7B5050014000191002804D09C -:10035000081E02D01000431E984186220C490D4B06 -:100360005200984700262F00083738000A4B98475C -:100370000028F8D0094B38009847019B9855013662 -:10038000B442F0D80120002C00D02000FEBDC046B1 -:100390004206000071020000C3050000A70500002E -:1003A00070B504000D00002802D00800431E9841DB -:1003B0000749084B3422984720002900064B083093 -:1003C0009847002803D1054B6360054B236070BD3F -:1003D000420600007102000079050000450300009C -:1003E000D1020000C00709D58023054A5B00936055 -:1003F00083235B0253605378DB09FCD17047C0460E -:10040000000C004010B5014B9847FEE7CD050000F9 -:100410000D4B0122180030B5443001780F24914370 -:10042000114301701900032032310D784533A54383 -:10043000284308701878904302431A7030230A78D2 -:10044000224013430B7030BD004400410423044A92 -:10045000116A0B431362034B034A5A807047C0462C -:1004600000040040000C00401440000010B5054B93 -:10047000984700220449054B05489847054B984783 -:1004800010BDC0464D04000000080042A10300005A -:100490001C0000201104000010B5024B9847024BCD -:1004A000984710BD410200006D040000C369194265 -:1004B000FCD17047022210B5036803219343036007 -:1004C000014B984710BDC046AD04000010B5016057 -:1004D000014B0321984710BDAD040000F8B51B4B3C -:1004E0000400C3189B0ADBB2002B04D0002018497B -:1004F000184A194B9847E369184E194DDB0710D479 -:100500000227184B03212000984723683B4205D05F -:100510002000154B984739002000B04705212000E6 -:10052000A84720000121B04720001049A847C02358 -:100530009B022000636007210D4B984700200D4B64 -:10054000A381A07330342070F8BDC04600F8FFBD11 -:100550005E0600003A02000071020000AD040000D7 -:10056000CD040000AD040000B504000004001040FC -:10057000AD040000ADD8FFFF70B505000C00B4223B -:1005800004490120044B98472C602000034B9847F6 -:1005900070BDC0465E06000071020000DD04000070 -:1005A0000368198570470368188DC0B270470368E7 -:1005B000187E0123184070470368187E8007C00F1B -:1005C00070470368187E4007C00F704710B5014B95 -:1005D000984710BD9904000070B500260C4C0D4DD5 -:1005E000641BA410A64209D1002600F047F80A4C6B -:1005F0000A4D641BA410A64205D170BDB300EB5890 -:1006000098470136EEE7B300EB5898470136F2E71A -:1006100088060000880600008C060000880600009E -:10062000002310B59A4200D110BDCC5CC4540133F4 -:10063000F8E703008218934200D170471970013324 -:10064000F9E72E2E2F68616C2F7372632F68616C2F -:100650005F75736172745F73796E632E63002E2E03 -:100660002F68706C2F736572636F6D2F68706C5F8D -:10067000736572636F6D2E6300000000F8B5C046AD -:10068000F8BC08BC9E46704729010000F8B5C0467A -:0C069000F8BC08BC9E467047FD0000004E -:00000001FF diff --git a/software/firmware/oracle_d21_edition/gcc/AtmelStart.lss b/software/firmware/oracle_d21_edition/gcc/AtmelStart.lss deleted file mode 100644 index 98c06e7..0000000 --- a/software/firmware/oracle_d21_edition/gcc/AtmelStart.lss +++ /dev/null @@ -1,1230 +0,0 @@ - -AtmelStart.elf: file format elf32-littlearm - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 0000069c 00000000 00000000 00010000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .relocate 00000000 20000000 20000000 0001069c 2**0 - CONTENTS - 2 .bss 00000028 20000000 20000000 00020000 2**2 - ALLOC - 3 .stack 00002000 20000028 20000028 00020000 2**0 - ALLOC - 4 .ARM.attributes 00000028 00000000 00000000 0001069c 2**0 - CONTENTS, READONLY - 5 .comment 00000064 00000000 00000000 000106c4 2**0 - CONTENTS, READONLY - 6 .debug_info 00017fc9 00000000 00000000 00010728 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 7 .debug_abbrev 000019c0 00000000 00000000 000286f1 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 8 .debug_aranges 000006f8 00000000 00000000 0002a0b1 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 9 .debug_rnglists 00000c33 00000000 00000000 0002a7a9 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 10 .debug_macro 00004179 00000000 00000000 0002b3dc 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 11 .debug_line 0000a266 00000000 00000000 0002f555 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 12 .debug_str 000836b7 00000000 00000000 000397bb 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 13 .debug_frame 00001350 00000000 00000000 000bce74 2**2 - CONTENTS, READONLY, DEBUGGING, OCTETS - 14 .debug_loclists 000046a0 00000000 00000000 000be1c4 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - -Disassembly of section .text: - -00000000 : -/** - * \brief Set the sleep mode for the device - */ -int32_t _set_sleep_mode(const uint8_t mode) -{ - switch (mode) { - 0: 28 20 00 20 51 01 00 00 4d 01 00 00 4d 01 00 00 ( . Q...M...M... - ... - case 2: - SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk; - PM->SLEEP.reg = mode; - return ERR_NONE; - case 3: - SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; - 2c: 4d 01 00 00 00 00 00 00 00 00 00 00 4d 01 00 00 M...........M... - }; -} - -static inline bool hri_sercomspi_is_syncing(const void *const hw, hri_sercomspi_syncbusy_reg_t reg) -{ - return ((Sercom *)hw)->SPI.SYNCBUSY.reg & reg; - 3c: 4d 01 00 00 4d 01 00 00 4d 01 00 00 4d 01 00 00 M...M...M...M... - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_reg(const void *const hw, - hri_sercomi2cm_ctrla_reg_t mask) -{ - uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - 4c: 4d 01 00 00 4d 01 00 00 4d 01 00 00 4d 01 00 00 M...M...M...M... - } - - if (!hri_sercomspi_is_syncing(hw, SERCOM_SPI_SYNCBUSY_SWRST)) { - uint32_t mode = regs->ctrla & SERCOM_SPI_CTRLA_MODE_Msk; - if (hri_sercomspi_get_CTRLA_reg(hw, SERCOM_SPI_CTRLA_ENABLE)) { - hri_sercomspi_clear_CTRLA_ENABLE_bit(hw); - 5c: 4d 01 00 00 4d 01 00 00 4d 01 00 00 4d 01 00 00 M...M...M...M... - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_ENABLE); - } - hri_sercomspi_write_CTRLA_reg(hw, SERCOM_SPI_CTRLA_SWRST | mode); - 6c: 4d 01 00 00 4d 01 00 00 4d 01 00 00 4d 01 00 00 M...M...M...M... - } - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST); - 7c: 4d 01 00 00 4d 01 00 00 4d 01 00 00 4d 01 00 00 M...M...M...M... - ASSERT(hw && regs); - 8c: 4d 01 00 00 4d 01 00 00 4d 01 00 00 4d 01 00 00 M...M...M...M... - hw, regs->ctrla & ~(SERCOM_SPI_CTRLA_IBON | SERCOM_SPI_CTRLA_ENABLE | SERCOM_SPI_CTRLA_SWRST)); - 9c: 4d 01 00 00 4d 01 00 00 4d 01 00 00 4d 01 00 00 M...M...M...M... - hri_sercomspi_write_CTRLA_reg( - ac: 4d 01 00 00 00 00 00 00 M....... - -000000b4 : - (regs->ctrlb & ~(SERCOM_SPI_CTRLB_MSSEN)) - b4: 4804 ldr r0, [pc, #16] ; (c8 ) - b6: 4b05 ldr r3, [pc, #20] ; (cc ) - b8: b510 push {r4, lr} - ba: 4283 cmp r3, r0 - -static inline void hri_sercomspi_write_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg = data; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - bc: d003 beq.n c6 - be: 4b04 ldr r3, [pc, #16] ; (d0 ) - c0: 2b00 cmp r3, #0 - c2: d000 beq.n c6 - c4: 4798 blx r3 - c6: bd10 pop {r4, pc} - c8: 0000069c .word 0x0000069c - | (SERCOM_SPI_CTRLB_RXEN | SERCOM_SPI_CTRLB_SSDE | SERCOM_SPI_CTRLB_PLOADEN)); - cc: 0000069c .word 0x0000069c - hri_sercomspi_write_CTRLB_reg(hw, - d0: 00000000 .word 0x00000000 - -000000d4 : - d4: 4806 ldr r0, [pc, #24] ; (f0 ) - d6: 4907 ldr r1, [pc, #28] ; (f4 ) - hri_sercomspi_write_ADDR_reg(hw, regs->addr); - d8: 1a09 subs r1, r1, r0 - da: 108b asrs r3, r1, #2 - dc: 0fc9 lsrs r1, r1, #31 - de: 18c9 adds r1, r1, r3 - e0: b510 push {r4, lr} - e2: 1049 asrs r1, r1, #1 - e4: d003 beq.n ee - e6: 4b04 ldr r3, [pc, #16] ; (f8 ) - e8: 2b00 cmp r3, #0 - ea: d000 beq.n ee -} - -static inline void hri_sercomspi_write_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg = data; - ec: 4798 blx r3 -} - -static inline void hri_sercomspi_write_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DBGCTRL.reg = data; - ee: bd10 pop {r4, pc} - hri_sercomspi_write_DBGCTRL_reg(hw, regs->dbgctrl); - f0: 0000069c .word 0x0000069c - f4: 0000069c .word 0x0000069c - while (hri_sercomspi_is_syncing(hw, 0xFFFFFFFF)) - f8: 00000000 .word 0x00000000 - -000000fc <__do_global_dtors_aux>: - } else { - _spi_load_regs_master(hw, regs); - } - - /* Load character size from default hardware configuration */ - dev->char_size = ((regs->ctrlb & SERCOM_SPI_CTRLB_CHSIZE_Msk) == 0) ? 1 : 2; - fc: b510 push {r4, lr} - fe: 4c07 ldr r4, [pc, #28] ; (11c <__do_global_dtors_aux+0x20>) - - dev->dummy_byte = regs->dummy_byte; - - return ERR_NONE; - 100: 7823 ldrb r3, [r4, #0] - dev->char_size = ((regs->ctrlb & SERCOM_SPI_CTRLB_CHSIZE_Msk) == 0) ? 1 : 2; - 102: 2b00 cmp r3, #0 - 104: d109 bne.n 11a <__do_global_dtors_aux+0x1e> - 106: f7ff ffd5 bl b4 - 10a: 4b05 ldr r3, [pc, #20] ; (120 <__do_global_dtors_aux+0x24>) - dev->dummy_byte = regs->dummy_byte; - 10c: 2b00 cmp r3, #0 - 10e: d002 beq.n 116 <__do_global_dtors_aux+0x1a> - 110: 4804 ldr r0, [pc, #16] ; (124 <__do_global_dtors_aux+0x28>) - 112: e000 b.n 116 <__do_global_dtors_aux+0x1a> - 114: bf00 nop -} - 116: 2301 movs r3, #1 - 118: 7023 strb r3, [r4, #0] - ASSERT(hw && regs); - 11a: bd10 pop {r4, pc} - 11c: 20000000 .word 0x20000000 - 120: 00000000 .word 0x00000000 - hw, regs->ctrla & ~(SERCOM_SPI_CTRLA_IBON | SERCOM_SPI_CTRLA_ENABLE | SERCOM_SPI_CTRLA_SWRST)); - 124: 0000069c .word 0x0000069c - -00000128 : - 128: 4b05 ldr r3, [pc, #20] ; (140 ) - 12a: b510 push {r4, lr} - 12c: 2b00 cmp r3, #0 - 12e: d003 beq.n 138 - 130: 4904 ldr r1, [pc, #16] ; (144 ) - 132: 4805 ldr r0, [pc, #20] ; (148 ) - 134: e000 b.n 138 - 136: bf00 nop - hri_sercomspi_write_CTRLA_reg( - 138: f7ff ffcc bl d4 - 13c: bd10 pop {r4, pc} - 13e: 46c0 nop ; (mov r8, r8) - (regs->ctrlb - 140: 00000000 .word 0x00000000 - 144: 20000004 .word 0x20000004 - 148: 0000069c .word 0x0000069c - -0000014c : -/** - * \brief Default interrupt handler for unused IRQs. - */ -void Dummy_Handler(void) -{ - while (1) { - 14c: e7fe b.n 14c - ... - -00000150 : - if (pSrc != pDest) { - 150: 4924 ldr r1, [pc, #144] ; (1e4 ) - 152: 4825 ldr r0, [pc, #148] ; (1e8 ) -{ - 154: b570 push {r4, r5, r6, lr} - if (pSrc != pDest) { - 156: 4281 cmp r1, r0 - 158: d00a beq.n 170 - *pDest++ = *pSrc++; - 15a: 4b24 ldr r3, [pc, #144] ; (1ec ) - 15c: 1ec4 subs r4, r0, #3 - 15e: 2200 movs r2, #0 - 160: 42a3 cmp r3, r4 - 162: d303 bcc.n 16c - 164: 3303 adds r3, #3 - 166: 1a1a subs r2, r3, r0 - 168: 0892 lsrs r2, r2, #2 - 16a: 0092 lsls r2, r2, #2 - 16c: 4b20 ldr r3, [pc, #128] ; (1f0 ) - 16e: 4798 blx r3 - *pDest++ = 0; - 170: 4820 ldr r0, [pc, #128] ; (1f4 ) - 172: 4b21 ldr r3, [pc, #132] ; (1f8 ) - 174: 1ec1 subs r1, r0, #3 - 176: 2200 movs r2, #0 - 178: 4299 cmp r1, r3 - 17a: d803 bhi.n 184 - 17c: 3303 adds r3, #3 - 17e: 1a1a subs r2, r3, r0 - 180: 0892 lsrs r2, r2, #2 - 182: 0092 lsls r2, r2, #2 - 184: 2100 movs r1, #0 - 186: 4b1d ldr r3, [pc, #116] ; (1fc ) - 188: 4798 blx r3 - SCB->VTOR = ((uint32_t)pSrc & SCB_VTOR_TBLOFF_Msk); - 18a: 22ff movs r2, #255 ; 0xff - 18c: 4b1c ldr r3, [pc, #112] ; (200 ) - USB->DEVICE.QOSCTRL.bit.CQOS = 2; - 18e: 2103 movs r1, #3 - SCB->VTOR = ((uint32_t)pSrc & SCB_VTOR_TBLOFF_Msk); - 190: 4393 bics r3, r2 - 192: 4a1c ldr r2, [pc, #112] ; (204 ) - USB->DEVICE.QOSCTRL.bit.DQOS = 2; - 194: 250c movs r5, #12 - SCB->VTOR = ((uint32_t)pSrc & SCB_VTOR_TBLOFF_Msk); - 196: 6093 str r3, [r2, #8] - SBMATRIX->SFR[SBMATRIX_SLAVE_HMCRAMC0].reg = 2; - 198: 2202 movs r2, #2 - USB->DEVICE.QOSCTRL.bit.DQOS = 2; - 19a: 2408 movs r4, #8 - SBMATRIX->SFR[SBMATRIX_SLAVE_HMCRAMC0].reg = 2; - 19c: 4b1a ldr r3, [pc, #104] ; (208 ) - USB->DEVICE.QOSCTRL.bit.CQOS = 2; - 19e: 481b ldr r0, [pc, #108] ; (20c ) - SBMATRIX->SFR[SBMATRIX_SLAVE_HMCRAMC0].reg = 2; - 1a0: 625a str r2, [r3, #36] ; 0x24 - USB->DEVICE.QOSCTRL.bit.CQOS = 2; - 1a2: 78c3 ldrb r3, [r0, #3] - 1a4: 438b bics r3, r1 - 1a6: 4313 orrs r3, r2 - 1a8: 70c3 strb r3, [r0, #3] - USB->DEVICE.QOSCTRL.bit.DQOS = 2; - 1aa: 78c3 ldrb r3, [r0, #3] - 1ac: 43ab bics r3, r5 - 1ae: 4323 orrs r3, r4 - 1b0: 70c3 strb r3, [r0, #3] - DMAC->QOSCTRL.bit.DQOS = 2; - 1b2: 2030 movs r0, #48 ; 0x30 - 1b4: 4b16 ldr r3, [pc, #88] ; (210 ) - 1b6: 7b9e ldrb r6, [r3, #14] - 1b8: 4386 bics r6, r0 - 1ba: 3810 subs r0, #16 - 1bc: 4330 orrs r0, r6 - 1be: 7398 strb r0, [r3, #14] - DMAC->QOSCTRL.bit.FQOS = 2; - 1c0: 7b98 ldrb r0, [r3, #14] - 1c2: 43a8 bics r0, r5 - 1c4: 4304 orrs r4, r0 - 1c6: 739c strb r4, [r3, #14] - DMAC->QOSCTRL.bit.WRBQOS = 2; - 1c8: 7b98 ldrb r0, [r3, #14] - 1ca: 4388 bics r0, r1 - 1cc: 4302 orrs r2, r0 - 1ce: 739a strb r2, [r3, #14] - NVMCTRL->CTRLB.bit.MANW = 1; - 1d0: 2380 movs r3, #128 ; 0x80 - 1d2: 4a10 ldr r2, [pc, #64] ; (214 ) - 1d4: 6851 ldr r1, [r2, #4] - 1d6: 430b orrs r3, r1 - 1d8: 6053 str r3, [r2, #4] - __libc_init_array(); - 1da: 4b0f ldr r3, [pc, #60] ; (218 ) - 1dc: 4798 blx r3 - main(); - 1de: 4b0f ldr r3, [pc, #60] ; (21c ) - 1e0: 4798 blx r3 - while (1) - 1e2: e7fe b.n 1e2 - 1e4: 0000069c .word 0x0000069c - 1e8: 20000000 .word 0x20000000 - 1ec: 20000000 .word 0x20000000 - 1f0: 00000621 .word 0x00000621 - 1f4: 20000000 .word 0x20000000 - 1f8: 20000028 .word 0x20000028 - 1fc: 00000633 .word 0x00000633 - 200: 00000000 .word 0x00000000 - 204: e000ed00 .word 0xe000ed00 - 208: 410070fc .word 0x410070fc - 20c: 41005000 .word 0x41005000 - 210: 41004800 .word 0x41004800 - 214: 41004000 .word 0x41004000 - 218: 000005d9 .word 0x000005d9 - 21c: 00000405 .word 0x00000405 - -00000220 <_pm_init>: -} - -static inline void hri_pm_set_CPUSEL_CPUDIV_bf(const void *const hw, hri_pm_cpusel_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->CPUSEL.reg |= PM_CPUSEL_CPUDIV(mask); - 220: 4b06 ldr r3, [pc, #24] ; (23c <_pm_init+0x1c>) - 222: 7a1a ldrb r2, [r3, #8] - 224: b2d2 uxtb r2, r2 - 226: 721a strb r2, [r3, #8] -} - -static inline void hri_pm_set_APBASEL_APBADIV_bf(const void *const hw, hri_pm_apbasel_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->APBASEL.reg |= PM_APBASEL_APBADIV(mask); - 228: 7a5a ldrb r2, [r3, #9] - 22a: b2d2 uxtb r2, r2 - 22c: 725a strb r2, [r3, #9] -} - -static inline void hri_pm_set_APBBSEL_APBBDIV_bf(const void *const hw, hri_pm_apbbsel_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->APBBSEL.reg |= PM_APBBSEL_APBBDIV(mask); - 22e: 7a9a ldrb r2, [r3, #10] - 230: b2d2 uxtb r2, r2 - 232: 729a strb r2, [r3, #10] -} - -static inline void hri_pm_set_APBCSEL_APBCDIV_bf(const void *const hw, hri_pm_apbcsel_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->APBCSEL.reg |= PM_APBCSEL_APBCDIV(mask); - 234: 7ada ldrb r2, [r3, #11] - 236: b2d2 uxtb r2, r2 - 238: 72da strb r2, [r3, #11] -{ - hri_pm_set_CPUSEL_CPUDIV_bf(PM, CONF_CPU_DIV); - hri_pm_set_APBASEL_APBADIV_bf(PM, CONF_APBA_DIV); - hri_pm_set_APBBSEL_APBBDIV_bf(PM, CONF_APBB_DIV); - hri_pm_set_APBCSEL_APBCDIV_bf(PM, CONF_APBC_DIV); -} - 23a: 4770 bx lr - 23c: 40000400 .word 0x40000400 - -00000240 <_init_chip>: -} - -static inline void hri_nvmctrl_set_CTRLB_RWS_bf(const void *const hw, hri_nvmctrl_ctrlb_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLB.reg |= NVMCTRL_CTRLB_RWS(mask); - 240: 4b06 ldr r3, [pc, #24] ; (25c <_init_chip+0x1c>) - -/** - * \brief Initialize the hardware abstraction layer - */ -void _init_chip(void) -{ - 242: b510 push {r4, lr} - 244: 685a ldr r2, [r3, #4] - 246: 605a str r2, [r3, #4] - hri_nvmctrl_set_CTRLB_RWS_bf(NVMCTRL, CONF_NVM_WAIT_STATE); - - _pm_init(); - 248: 4b05 ldr r3, [pc, #20] ; (260 <_init_chip+0x20>) - 24a: 4798 blx r3 - _sysctrl_init_sources(); - 24c: 4b05 ldr r3, [pc, #20] ; (264 <_init_chip+0x24>) - 24e: 4798 blx r3 -#if _GCLK_INIT_1ST - _gclk_init_generators_by_fref(_GCLK_INIT_1ST); -#endif - _sysctrl_init_referenced_generators(); - 250: 4b05 ldr r3, [pc, #20] ; (268 <_init_chip+0x28>) - 252: 4798 blx r3 - _gclk_init_generators_by_fref(_GCLK_INIT_LAST); - 254: 20ff movs r0, #255 ; 0xff - 256: 4b05 ldr r3, [pc, #20] ; (26c <_init_chip+0x2c>) - 258: 4798 blx r3 -#if CONF_DMAC_ENABLE - _pm_enable_bus_clock(PM_BUS_AHB, DMAC); - _pm_enable_bus_clock(PM_BUS_APBB, DMAC); - _dma_init(); -#endif -} - 25a: bd10 pop {r4, pc} - 25c: 41004000 .word 0x41004000 - 260: 00000221 .word 0x00000221 - 264: 00000279 .word 0x00000279 - 268: 000002c1 .word 0x000002c1 - 26c: 000003e5 .word 0x000003e5 - -00000270 : -/** - * \brief Assert function - */ -void assert(const bool condition, const char *const file, const int line) -{ - if (!(condition)) { - 270: 2800 cmp r0, #0 - 272: d100 bne.n 276 - __asm("BKPT #0"); - 274: be00 bkpt 0x0000 - } - (void)file; - (void)line; -} - 276: 4770 bx lr - -00000278 <_sysctrl_init_sources>: -} - -static inline hri_sysctrl_osc8m_reg_t hri_sysctrl_read_OSC8M_CALIB_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sysctrl *)hw)->OSC8M.reg; - 278: 4b0e ldr r3, [pc, #56] ; (2b4 <_sysctrl_init_sources+0x3c>) - hri_sysctrl_write_OSC8M_reg(hw, - SYSCTRL_OSC8M_FRANGE(hri_sysctrl_read_OSC8M_FRANGE_bf(hw)) | -#if CONF_OSC8M_OVERWRITE_CALIBRATION == 1 - SYSCTRL_OSC8M_CALIB(CONF_OSC8M_CALIB) | -#else - SYSCTRL_OSC8M_CALIB(calib) | - 27a: 480f ldr r0, [pc, #60] ; (2b8 <_sysctrl_init_sources+0x40>) - 27c: 6a19 ldr r1, [r3, #32] -} - -static inline hri_sysctrl_osc8m_reg_t hri_sysctrl_read_OSC8M_FRANGE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sysctrl *)hw)->OSC8M.reg; - 27e: 6a1a ldr r2, [r3, #32] - 280: 4001 ands r1, r0 - SYSCTRL_OSC8M_FRANGE(hri_sysctrl_read_OSC8M_FRANGE_bf(hw)) | - 282: 0f92 lsrs r2, r2, #30 - 284: 0792 lsls r2, r2, #30 - 286: 430a orrs r2, r1 - hri_sysctrl_write_OSC8M_reg(hw, - 288: 490c ldr r1, [pc, #48] ; (2bc <_sysctrl_init_sources+0x44>) - 28a: 430a orrs r2, r1 -} - -static inline void hri_sysctrl_write_OSC8M_reg(const void *const hw, hri_sysctrl_osc8m_reg_t data) -{ - SYSCTRL_CRITICAL_SECTION_ENTER(); - ((Sysctrl *)hw)->OSC8M.reg = data; - 28c: 621a str r2, [r3, #32] - ((Sysctrl *)hw)->OSC32K.reg |= SYSCTRL_OSC32K_ENABLE; - 28e: 2202 movs r2, #2 - 290: 6999 ldr r1, [r3, #24] - 292: 430a orrs r2, r1 - tmp = (tmp & SYSCTRL_OSCULP32K_CALIB_Msk) >> SYSCTRL_OSCULP32K_CALIB_Pos; - 294: 211f movs r1, #31 - ((Sysctrl *)hw)->OSC32K.reg |= SYSCTRL_OSC32K_ENABLE; - 296: 619a str r2, [r3, #24] - tmp = ((Sysctrl *)hw)->OSCULP32K.reg; - 298: 7f1a ldrb r2, [r3, #28] - tmp = (tmp & SYSCTRL_OSCULP32K_CALIB_Msk) >> SYSCTRL_OSCULP32K_CALIB_Pos; - 29a: 400a ands r2, r1 - ((Sysctrl *)hw)->OSCULP32K.reg = data; - 29c: 771a strb r2, [r3, #28] - return (((Sysctrl *)hw)->PCLKSR.reg & SYSCTRL_PCLKSR_OSC8MRDY) >> SYSCTRL_PCLKSR_OSC8MRDY_Pos; - 29e: 391e subs r1, #30 - 2a0: 68da ldr r2, [r3, #12] - 2a2: 08d2 lsrs r2, r2, #3 -#endif -#endif - -#if CONF_OSC8M_CONFIG == 1 -#if CONF_OSC8M_ENABLE == 1 - while (!hri_sysctrl_get_PCLKSR_OSC8MRDY_bit(hw)) - 2a4: 420a tst r2, r1 - 2a6: d0fb beq.n 2a0 <_sysctrl_init_sources+0x28> - ((Sysctrl *)hw)->OSC8M.reg |= SYSCTRL_OSC8M_ONDEMAND; - 2a8: 2280 movs r2, #128 ; 0x80 - 2aa: 6a19 ldr r1, [r3, #32] - 2ac: 430a orrs r2, r1 - 2ae: 621a str r2, [r3, #32] - hri_sysctrl_set_OSC8M_ONDEMAND_bit(hw); -#endif -#endif - - (void)calib, (void)hw; -} - 2b0: 4770 bx lr - 2b2: 46c0 nop ; (mov r8, r8) - 2b4: 40000800 .word 0x40000800 - 2b8: 0fff0000 .word 0x0fff0000 - 2bc: 00000302 .word 0x00000302 - -000002c0 <_sysctrl_init_referenced_generators>: - ((Sysctrl *)hw)->OSC32K.reg &= ~SYSCTRL_OSC32K_ENABLE; - 2c0: 2102 movs r1, #2 - 2c2: 4a02 ldr r2, [pc, #8] ; (2cc <_sysctrl_init_referenced_generators+0xc>) - 2c4: 6993 ldr r3, [r2, #24] - 2c6: 438b bics r3, r1 - 2c8: 6193 str r3, [r2, #24] - /* Disable after all possible configurations needs sync written. */ - hri_sysctrl_clear_OSC32K_ENABLE_bit(hw); -#endif - - (void)hw; -} - 2ca: 4770 bx lr - 2cc: 40000800 .word 0x40000800 - -000002d0 : - * \param[in] length The number of bytes to write - * - * \return The number of bytes written. - */ -static int32_t usart_sync_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length) -{ - 2d0: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 2d2: 0006 movs r6, r0 - 2d4: 000d movs r5, r1 - 2d6: 0014 movs r4, r2 - uint32_t offset = 0; - struct usart_sync_descriptor *descr = CONTAINER_OF(io_descr, struct usart_sync_descriptor, io); - - ASSERT(io_descr && buf && length); - 2d8: 2800 cmp r0, #0 - 2da: d004 beq.n 2e6 - 2dc: 1e08 subs r0, r1, #0 - 2de: d002 beq.n 2e6 - 2e0: 0010 movs r0, r2 - 2e2: 1e43 subs r3, r0, #1 - 2e4: 4198 sbcs r0, r3 - 2e6: 22f1 movs r2, #241 ; 0xf1 - 2e8: 4911 ldr r1, [pc, #68] ; (330 ) - 2ea: 4b12 ldr r3, [pc, #72] ; (334 ) - 2ec: 4798 blx r3 - while (!_usart_sync_is_ready_to_send(&descr->device)) - 2ee: 0037 movs r7, r6 - 2f0: 4b11 ldr r3, [pc, #68] ; (338 ) - 2f2: 3708 adds r7, #8 - 2f4: 0038 movs r0, r7 - 2f6: 9301 str r3, [sp, #4] - 2f8: 4798 blx r3 - 2fa: 2800 cmp r0, #0 - 2fc: d0f7 beq.n 2ee - uint32_t offset = 0; - 2fe: 2600 movs r6, #0 - ; - do { - _usart_sync_write_byte(&descr->device, buf[offset]); - 300: 0038 movs r0, r7 - 302: 5da9 ldrb r1, [r5, r6] - 304: 4b0d ldr r3, [pc, #52] ; (33c ) - 306: 4798 blx r3 - while (!_usart_sync_is_ready_to_send(&descr->device)) - 308: 0038 movs r0, r7 - 30a: 9b01 ldr r3, [sp, #4] - 30c: 4798 blx r3 - 30e: 2800 cmp r0, #0 - 310: d0fa beq.n 308 - ; - } while (++offset < length); - 312: 3601 adds r6, #1 - 314: 42b4 cmp r4, r6 - 316: d8f3 bhi.n 300 - 318: 2501 movs r5, #1 - 31a: 2c00 cmp r4, #0 - 31c: d000 beq.n 320 - 31e: 0025 movs r5, r4 - while (!_usart_sync_is_transmit_done(&descr->device)) - 320: 0038 movs r0, r7 - 322: 4b07 ldr r3, [pc, #28] ; (340 ) - 324: 4798 blx r3 - 326: 2800 cmp r0, #0 - 328: d0fa beq.n 320 - ; - return (int32_t)offset; -} - 32a: 0028 movs r0, r5 - 32c: bdfe pop {r1, r2, r3, r4, r5, r6, r7, pc} - 32e: 46c0 nop ; (mov r8, r8) - 330: 00000642 .word 0x00000642 - 334: 00000271 .word 0x00000271 - 338: 000005af .word 0x000005af - 33c: 000005a1 .word 0x000005a1 - 340: 000005b9 .word 0x000005b9 - -00000344 : - * \param[in] length The size of a buffer - * - * \return The number of bytes read. - */ -static int32_t usart_sync_read(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length) -{ - 344: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 346: 0005 movs r5, r0 - 348: 0014 movs r4, r2 - 34a: 9101 str r1, [sp, #4] - uint32_t offset = 0; - struct usart_sync_descriptor *descr = CONTAINER_OF(io_descr, struct usart_sync_descriptor, io); - - ASSERT(io_descr && buf && length); - 34c: 2800 cmp r0, #0 - 34e: d004 beq.n 35a - 350: 1e08 subs r0, r1, #0 - 352: d002 beq.n 35a - 354: 0010 movs r0, r2 - 356: 1e43 subs r3, r0, #1 - 358: 4198 sbcs r0, r3 - 35a: 2286 movs r2, #134 ; 0x86 - 35c: 490c ldr r1, [pc, #48] ; (390 ) - 35e: 4b0d ldr r3, [pc, #52] ; (394 ) - 360: 0052 lsls r2, r2, #1 - 362: 4798 blx r3 - uint32_t offset = 0; - 364: 2600 movs r6, #0 - do { - while (!_usart_sync_is_byte_received(&descr->device)) - 366: 002f movs r7, r5 - 368: 3708 adds r7, #8 - 36a: 0038 movs r0, r7 - 36c: 4b0a ldr r3, [pc, #40] ; (398 ) - 36e: 4798 blx r3 - 370: 2800 cmp r0, #0 - 372: d0f8 beq.n 366 - ; - buf[offset] = _usart_sync_read_byte(&descr->device); - 374: 4b09 ldr r3, [pc, #36] ; (39c ) - 376: 0038 movs r0, r7 - 378: 4798 blx r3 - 37a: 9b01 ldr r3, [sp, #4] - 37c: 5598 strb r0, [r3, r6] - } while (++offset < length); - 37e: 3601 adds r6, #1 - 380: 42b4 cmp r4, r6 - 382: d8f0 bhi.n 366 - 384: 2001 movs r0, #1 - 386: 2c00 cmp r4, #0 - 388: d000 beq.n 38c - 38a: 0020 movs r0, r4 - - return (int32_t)offset; -} - 38c: bdfe pop {r1, r2, r3, r4, r5, r6, r7, pc} - 38e: 46c0 nop ; (mov r8, r8) - 390: 00000642 .word 0x00000642 - 394: 00000271 .word 0x00000271 - 398: 000005c3 .word 0x000005c3 - 39c: 000005a7 .word 0x000005a7 - -000003a0 : -{ - 3a0: b570 push {r4, r5, r6, lr} - 3a2: 0004 movs r4, r0 - 3a4: 000d movs r5, r1 - ASSERT(descr && hw); - 3a6: 2800 cmp r0, #0 - 3a8: d002 beq.n 3b0 - 3aa: 0008 movs r0, r1 - 3ac: 1e43 subs r3, r0, #1 - 3ae: 4198 sbcs r0, r3 - 3b0: 4907 ldr r1, [pc, #28] ; (3d0 ) - 3b2: 4b08 ldr r3, [pc, #32] ; (3d4 ) - 3b4: 2234 movs r2, #52 ; 0x34 - 3b6: 4798 blx r3 - init_status = _usart_sync_init(&descr->device, hw); - 3b8: 0020 movs r0, r4 - 3ba: 0029 movs r1, r5 - 3bc: 4b06 ldr r3, [pc, #24] ; (3d8 ) - 3be: 3008 adds r0, #8 - 3c0: 4798 blx r3 - if (init_status) { - 3c2: 2800 cmp r0, #0 - 3c4: d103 bne.n 3ce - descr->io.read = usart_sync_read; - 3c6: 4b05 ldr r3, [pc, #20] ; (3dc ) - 3c8: 6063 str r3, [r4, #4] - descr->io.write = usart_sync_write; - 3ca: 4b05 ldr r3, [pc, #20] ; (3e0 ) - 3cc: 6023 str r3, [r4, #0] -} - 3ce: bd70 pop {r4, r5, r6, pc} - 3d0: 00000642 .word 0x00000642 - 3d4: 00000271 .word 0x00000271 - 3d8: 00000579 .word 0x00000579 - 3dc: 00000345 .word 0x00000345 - 3e0: 000002d1 .word 0x000002d1 - -000003e4 <_gclk_init_generators_by_fref>: - -void _gclk_init_generators_by_fref(uint32_t bm) -{ - -#if CONF_GCLK_GENERATOR_0_CONFIG == 1 - if (bm & (1ul << 0)) { - 3e4: 07c0 lsls r0, r0, #31 - 3e6: d509 bpl.n 3fc <_gclk_init_generators_by_fref+0x18> -} - -static inline void hri_gclk_write_GENDIV_reg(const void *const hw, hri_gclk_gendiv_reg_t data) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENDIV.reg = data; - 3e8: 2380 movs r3, #128 ; 0x80 - 3ea: 4a05 ldr r2, [pc, #20] ; (400 <_gclk_init_generators_by_fref+0x1c>) - 3ec: 005b lsls r3, r3, #1 - 3ee: 6093 str r3, [r2, #8] - ((Gclk *)hw)->GENCTRL.reg = data; - 3f0: 2383 movs r3, #131 ; 0x83 - 3f2: 025b lsls r3, r3, #9 - 3f4: 6053 str r3, [r2, #4] - while (((const Gclk *)hw)->STATUS.bit.SYNCBUSY) - 3f6: 7853 ldrb r3, [r2, #1] - 3f8: 09db lsrs r3, r3, #7 - 3fa: d1fc bne.n 3f6 <_gclk_init_generators_by_fref+0x12> - | (CONF_GCLK_GEN_8_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_8_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_8_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_8_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_8_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_8_SRC | GCLK_GENCTRL_ID(8)); - } -#endif -} - 3fc: 4770 bx lr - 3fe: 46c0 nop ; (mov r8, r8) - 400: 40000c00 .word 0x40000c00 - -00000404

    : -#include - -int main(void) -{ - 404: b510 push {r4, lr} - /* Initializes MCU, drivers and middleware */ - atmel_start_init(); - 406: 4b01 ldr r3, [pc, #4] ; (40c ) - 408: 4798 blx r3 - - /* Replace with your application code */ - while (1) { - 40a: e7fe b.n 40a - 40c: 000005cd .word 0x000005cd - -00000410 : -static inline void hri_port_write_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index, - bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 410: 4b0d ldr r3, [pc, #52] ; (448 ) - tmp &= ~PORT_PINCFG_PMUXEN; - 412: 2201 movs r2, #1 - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 414: 0018 movs r0, r3 -#include - -struct usart_sync_descriptor USART_0; - -void USART_0_PORT_init(void) -{ - 416: b530 push {r4, r5, lr} - 418: 3044 adds r0, #68 ; 0x44 - 41a: 7801 ldrb r1, [r0, #0] - tmp &= ~PORT_PMUX_PMUXE_Msk; - 41c: 240f movs r4, #15 - tmp &= ~PORT_PINCFG_PMUXEN; - 41e: 4391 bics r1, r2 - tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 420: 4311 orrs r1, r2 - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 422: 7001 strb r1, [r0, #0] - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 424: 0019 movs r1, r3 - tmp |= PORT_PMUX_PMUXE(data); - 426: 2003 movs r0, #3 - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 428: 3132 adds r1, #50 ; 0x32 - 42a: 780d ldrb r5, [r1, #0] - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 42c: 3345 adds r3, #69 ; 0x45 - tmp &= ~PORT_PMUX_PMUXE_Msk; - 42e: 43a5 bics r5, r4 - tmp |= PORT_PMUX_PMUXE(data); - 430: 4328 orrs r0, r5 - ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 432: 7008 strb r0, [r1, #0] - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 434: 7818 ldrb r0, [r3, #0] - tmp &= ~PORT_PINCFG_PMUXEN; - 436: 4390 bics r0, r2 - tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 438: 4302 orrs r2, r0 - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 43a: 701a strb r2, [r3, #0] - tmp |= PORT_PMUX_PMUXO(data); - 43c: 2330 movs r3, #48 ; 0x30 - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 43e: 780a ldrb r2, [r1, #0] - tmp &= ~PORT_PMUX_PMUXO_Msk; - 440: 4022 ands r2, r4 - tmp |= PORT_PMUX_PMUXO(data); - 442: 4313 orrs r3, r2 - ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 444: 700b strb r3, [r1, #0] - - gpio_set_pin_function(PA04, PINMUX_PA04D_SERCOM0_PAD0); - - gpio_set_pin_function(PA05, PINMUX_PA05D_SERCOM0_PAD1); -} - 446: bd30 pop {r4, r5, pc} - 448: 41004400 .word 0x41004400 - -0000044c : - peripheral = (uint32_t)_pm_get_apbb_index(module); - PM->APBBMASK.reg |= 1 << peripheral; - } - break; - case PM_BUS_APBC: - PM->APBCMASK.reg |= 1 << peripheral; - 44c: 2304 movs r3, #4 - 44e: 4a04 ldr r2, [pc, #16] ; (460 ) - 450: 6a11 ldr r1, [r2, #32] - 452: 430b orrs r3, r1 - 454: 6213 str r3, [r2, #32] - ((Gclk *)hw)->CLKCTRL.reg = data; - 456: 4b03 ldr r3, [pc, #12] ; (464 ) - 458: 4a03 ldr r2, [pc, #12] ; (468 ) - 45a: 805a strh r2, [r3, #2] - -void USART_0_CLOCK_init(void) -{ - _pm_enable_bus_clock(PM_BUS_APBC, SERCOM0); - _gclk_enable_channel(SERCOM0_GCLK_ID_CORE, CONF_GCLK_SERCOM0_CORE_SRC); -} - 45c: 4770 bx lr - 45e: 46c0 nop ; (mov r8, r8) - 460: 40000400 .word 0x40000400 - 464: 40000c00 .word 0x40000c00 - 468: 00004014 .word 0x00004014 - -0000046c : - -void USART_0_init(void) -{ - 46c: b510 push {r4, lr} - USART_0_CLOCK_init(); - 46e: 4b05 ldr r3, [pc, #20] ; (484 ) - 470: 4798 blx r3 - usart_sync_init(&USART_0, SERCOM0, (void *)NULL); - 472: 2200 movs r2, #0 - 474: 4904 ldr r1, [pc, #16] ; (488 ) - 476: 4b05 ldr r3, [pc, #20] ; (48c ) - 478: 4805 ldr r0, [pc, #20] ; (490 ) - 47a: 4798 blx r3 - USART_0_PORT_init(); - 47c: 4b05 ldr r3, [pc, #20] ; (494 ) - 47e: 4798 blx r3 -} - 480: bd10 pop {r4, pc} - 482: 46c0 nop ; (mov r8, r8) - 484: 0000044d .word 0x0000044d - 488: 42000800 .word 0x42000800 - 48c: 000003a1 .word 0x000003a1 - 490: 2000001c .word 0x2000001c - 494: 00000411 .word 0x00000411 - -00000498 : - -void system_init(void) -{ - 498: b510 push {r4, lr} - * Currently the following initialization functions are supported: - * - System clock initialization - */ -static inline void init_mcu(void) -{ - _init_chip(); - 49a: 4b02 ldr r3, [pc, #8] ; (4a4 ) - 49c: 4798 blx r3 - init_mcu(); - - USART_0_init(); - 49e: 4b02 ldr r3, [pc, #8] ; (4a8 ) - 4a0: 4798 blx r3 -} - 4a2: bd10 pop {r4, pc} - 4a4: 00000241 .word 0x00000241 - 4a8: 0000046d .word 0x0000046d - -000004ac : - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 4ac: 69c3 ldr r3, [r0, #28] - 4ae: 4219 tst r1, r3 - 4b0: d1fc bne.n 4ac -} - 4b2: 4770 bx lr - -000004b4 : - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_ENABLE; - 4b4: 2202 movs r2, #2 -{ - 4b6: b510 push {r4, lr} - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_ENABLE; - 4b8: 6803 ldr r3, [r0, #0] - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - 4ba: 2103 movs r1, #3 - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_ENABLE; - 4bc: 4393 bics r3, r2 - 4be: 6003 str r3, [r0, #0] - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - 4c0: 4b01 ldr r3, [pc, #4] ; (4c8 ) - 4c2: 4798 blx r3 -} - 4c4: bd10 pop {r4, pc} - 4c6: 46c0 nop ; (mov r8, r8) - 4c8: 000004ad .word 0x000004ad - -000004cc : -{ - 4cc: b510 push {r4, lr} - ((Sercom *)hw)->I2CM.CTRLA.reg = data; - 4ce: 6001 str r1, [r0, #0] - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - 4d0: 4b01 ldr r3, [pc, #4] ; (4d8 ) - 4d2: 2103 movs r1, #3 - 4d4: 4798 blx r3 -} - 4d6: bd10 pop {r4, pc} - 4d8: 000004ad .word 0x000004ad - -000004dc <_usart_init>: -{ - 4dc: b5f8 push {r3, r4, r5, r6, r7, lr} - return ((uint32_t)hw - (uint32_t)SERCOM0) >> 10; - 4de: 4b1b ldr r3, [pc, #108] ; (54c <_usart_init+0x70>) -{ - 4e0: 0004 movs r4, r0 - return ((uint32_t)hw - (uint32_t)SERCOM0) >> 10; - 4e2: 18c3 adds r3, r0, r3 - 4e4: 0a9b lsrs r3, r3, #10 - if (_usarts[i].number == sercom_offset) { - 4e6: b2db uxtb r3, r3 - 4e8: 2b00 cmp r3, #0 - 4ea: d004 beq.n 4f6 <_usart_init+0x1a> - ASSERT(false); - 4ec: 2000 movs r0, #0 - 4ee: 4918 ldr r1, [pc, #96] ; (550 <_usart_init+0x74>) - 4f0: 4a18 ldr r2, [pc, #96] ; (554 <_usart_init+0x78>) - 4f2: 4b19 ldr r3, [pc, #100] ; (558 <_usart_init+0x7c>) - 4f4: 4798 blx r3 - return ((Sercom *)hw)->USART.SYNCBUSY.reg & reg; - 4f6: 69e3 ldr r3, [r4, #28] - 4f8: 4e18 ldr r6, [pc, #96] ; (55c <_usart_init+0x80>) - 4fa: 4d19 ldr r5, [pc, #100] ; (560 <_usart_init+0x84>) - if (!hri_sercomusart_is_syncing(hw, SERCOM_USART_SYNCBUSY_SWRST)) { - 4fc: 07db lsls r3, r3, #31 - 4fe: d410 bmi.n 522 <_usart_init+0x46> - tmp &= mask; - 500: 2702 movs r7, #2 - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - 502: 4b18 ldr r3, [pc, #96] ; (564 <_usart_init+0x88>) - 504: 2103 movs r1, #3 - 506: 0020 movs r0, r4 - 508: 4798 blx r3 - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - 50a: 6823 ldr r3, [r4, #0] - if (hri_sercomusart_get_CTRLA_reg(hw, SERCOM_USART_CTRLA_ENABLE)) { - 50c: 423b tst r3, r7 - 50e: d005 beq.n 51c <_usart_init+0x40> - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - 510: 0020 movs r0, r4 - 512: 4b15 ldr r3, [pc, #84] ; (568 <_usart_init+0x8c>) - 514: 4798 blx r3 - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_ENABLE); - 516: 0039 movs r1, r7 - 518: 0020 movs r0, r4 - 51a: 47b0 blx r6 - hri_sercomusart_write_CTRLA_reg(hw, SERCOM_USART_CTRLA_SWRST | mode); - 51c: 2105 movs r1, #5 - 51e: 0020 movs r0, r4 - 520: 47a8 blx r5 - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST); - 522: 0020 movs r0, r4 - 524: 2101 movs r1, #1 - 526: 47b0 blx r6 - hri_sercomusart_write_CTRLA_reg(hw, _usarts[i].ctrl_a); - 528: 0020 movs r0, r4 - 52a: 4910 ldr r1, [pc, #64] ; (56c <_usart_init+0x90>) - 52c: 47a8 blx r5 - ((Sercom *)hw)->SPI.CTRLB.reg = data; - 52e: 23c0 movs r3, #192 ; 0xc0 - 530: 029b lsls r3, r3, #10 - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - 532: 0020 movs r0, r4 - ((Sercom *)hw)->SPI.CTRLB.reg = data; - 534: 6063 str r3, [r4, #4] - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - 536: 2107 movs r1, #7 - 538: 4b0d ldr r3, [pc, #52] ; (570 <_usart_init+0x94>) - 53a: 4798 blx r3 - ((Sercom *)hw)->USART.RXPL.reg = data; - 53c: 2000 movs r0, #0 - ((Sercom *)hw)->USART.BAUD.reg = data; - 53e: 4b0d ldr r3, [pc, #52] ; (574 <_usart_init+0x98>) - 540: 81a3 strh r3, [r4, #12] - ((Sercom *)hw)->USART.RXPL.reg = data; - 542: 73a0 strb r0, [r4, #14] -} - -static inline void hri_sercomusart_write_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DBGCTRL.reg = data; - 544: 3430 adds r4, #48 ; 0x30 - 546: 7020 strb r0, [r4, #0] -} - 548: bdf8 pop {r3, r4, r5, r6, r7, pc} - 54a: 46c0 nop ; (mov r8, r8) - 54c: bdfff800 .word 0xbdfff800 - 550: 0000065e .word 0x0000065e - 554: 0000023a .word 0x0000023a - 558: 00000271 .word 0x00000271 - 55c: 000004ad .word 0x000004ad - 560: 000004cd .word 0x000004cd - 564: 000004ad .word 0x000004ad - 568: 000004b5 .word 0x000004b5 - 56c: 40100004 .word 0x40100004 - 570: 000004ad .word 0x000004ad - 574: ffffd8ad .word 0xffffd8ad - -00000578 <_usart_sync_init>: -{ - 578: b570 push {r4, r5, r6, lr} - 57a: 0005 movs r5, r0 - 57c: 000c movs r4, r1 - ASSERT(device); - 57e: 22b4 movs r2, #180 ; 0xb4 - 580: 4904 ldr r1, [pc, #16] ; (594 <_usart_sync_init+0x1c>) - 582: 2001 movs r0, #1 - 584: 4b04 ldr r3, [pc, #16] ; (598 <_usart_sync_init+0x20>) - 586: 4798 blx r3 - device->hw = hw; - 588: 602c str r4, [r5, #0] - return _usart_init(hw); - 58a: 0020 movs r0, r4 - 58c: 4b03 ldr r3, [pc, #12] ; (59c <_usart_sync_init+0x24>) - 58e: 4798 blx r3 -} - 590: bd70 pop {r4, r5, r6, pc} - 592: 46c0 nop ; (mov r8, r8) - 594: 0000065e .word 0x0000065e - 598: 00000271 .word 0x00000271 - 59c: 000004dd .word 0x000004dd - -000005a0 <_usart_sync_write_byte>: - hri_sercomusart_write_DATA_reg(device->hw, data); - 5a0: 6803 ldr r3, [r0, #0] - ((Sercom *)hw)->USART.DATA.reg = data; - 5a2: 8519 strh r1, [r3, #40] ; 0x28 -} - 5a4: 4770 bx lr - -000005a6 <_usart_sync_read_byte>: - return hri_sercomusart_read_DATA_reg(device->hw); - 5a6: 6803 ldr r3, [r0, #0] - return ((Sercom *)hw)->USART.DATA.reg; - 5a8: 8d18 ldrh r0, [r3, #40] ; 0x28 - 5aa: b2c0 uxtb r0, r0 -} - 5ac: 4770 bx lr - -000005ae <_usart_sync_is_ready_to_send>: - return hri_sercomusart_get_interrupt_DRE_bit(device->hw); - 5ae: 6803 ldr r3, [r0, #0] - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) >> SERCOM_USART_INTFLAG_DRE_Pos; - 5b0: 7e18 ldrb r0, [r3, #24] - 5b2: 2301 movs r3, #1 - 5b4: 4018 ands r0, r3 -} - 5b6: 4770 bx lr - -000005b8 <_usart_sync_is_transmit_done>: - return hri_sercomusart_get_interrupt_TXC_bit(device->hw); - 5b8: 6803 ldr r3, [r0, #0] - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) >> SERCOM_USART_INTFLAG_TXC_Pos; - 5ba: 7e18 ldrb r0, [r3, #24] - 5bc: 0780 lsls r0, r0, #30 - 5be: 0fc0 lsrs r0, r0, #31 -} - 5c0: 4770 bx lr - -000005c2 <_usart_sync_is_byte_received>: - return hri_sercomusart_get_interrupt_RXC_bit(device->hw); - 5c2: 6803 ldr r3, [r0, #0] - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC) >> SERCOM_USART_INTFLAG_RXC_Pos; - 5c4: 7e18 ldrb r0, [r3, #24] - 5c6: 0740 lsls r0, r0, #29 - 5c8: 0fc0 lsrs r0, r0, #31 -} - 5ca: 4770 bx lr - -000005cc : - -/** - * Initializes MCU, drivers and middleware in the project - **/ -void atmel_start_init(void) -{ - 5cc: b510 push {r4, lr} - system_init(); - 5ce: 4b01 ldr r3, [pc, #4] ; (5d4 ) - 5d0: 4798 blx r3 -} - 5d2: bd10 pop {r4, pc} - 5d4: 00000499 .word 0x00000499 - -000005d8 <__libc_init_array>: - 5d8: b570 push {r4, r5, r6, lr} - 5da: 2600 movs r6, #0 - 5dc: 4c0c ldr r4, [pc, #48] ; (610 <__libc_init_array+0x38>) - 5de: 4d0d ldr r5, [pc, #52] ; (614 <__libc_init_array+0x3c>) - 5e0: 1b64 subs r4, r4, r5 - 5e2: 10a4 asrs r4, r4, #2 - 5e4: 42a6 cmp r6, r4 - 5e6: d109 bne.n 5fc <__libc_init_array+0x24> - 5e8: 2600 movs r6, #0 - 5ea: f000 f847 bl 67c <_init> - 5ee: 4c0a ldr r4, [pc, #40] ; (618 <__libc_init_array+0x40>) - 5f0: 4d0a ldr r5, [pc, #40] ; (61c <__libc_init_array+0x44>) - 5f2: 1b64 subs r4, r4, r5 - 5f4: 10a4 asrs r4, r4, #2 - 5f6: 42a6 cmp r6, r4 - 5f8: d105 bne.n 606 <__libc_init_array+0x2e> - 5fa: bd70 pop {r4, r5, r6, pc} - 5fc: 00b3 lsls r3, r6, #2 - 5fe: 58eb ldr r3, [r5, r3] - 600: 4798 blx r3 - 602: 3601 adds r6, #1 - 604: e7ee b.n 5e4 <__libc_init_array+0xc> - 606: 00b3 lsls r3, r6, #2 - 608: 58eb ldr r3, [r5, r3] - 60a: 4798 blx r3 - 60c: 3601 adds r6, #1 - 60e: e7f2 b.n 5f6 <__libc_init_array+0x1e> - 610: 00000688 .word 0x00000688 - 614: 00000688 .word 0x00000688 - 618: 0000068c .word 0x0000068c - 61c: 00000688 .word 0x00000688 - -00000620 : - 620: 2300 movs r3, #0 - 622: b510 push {r4, lr} - 624: 429a cmp r2, r3 - 626: d100 bne.n 62a - 628: bd10 pop {r4, pc} - 62a: 5ccc ldrb r4, [r1, r3] - 62c: 54c4 strb r4, [r0, r3] - 62e: 3301 adds r3, #1 - 630: e7f8 b.n 624 - -00000632 : - 632: 0003 movs r3, r0 - 634: 1882 adds r2, r0, r2 - 636: 4293 cmp r3, r2 - 638: d100 bne.n 63c - 63a: 4770 bx lr - 63c: 7019 strb r1, [r3, #0] - 63e: 3301 adds r3, #1 - 640: e7f9 b.n 636 - 642: 2e2e .short 0x2e2e - 644: 6c61682f .word 0x6c61682f - 648: 6372732f .word 0x6372732f - 64c: 6c61682f .word 0x6c61682f - 650: 6173755f .word 0x6173755f - 654: 735f7472 .word 0x735f7472 - 658: 2e636e79 .word 0x2e636e79 - 65c: 0063 .short 0x0063 - 65e: 2e2e .short 0x2e2e - 660: 6c70682f .word 0x6c70682f - 664: 7265732f .word 0x7265732f - 668: 2f6d6f63 .word 0x2f6d6f63 - 66c: 5f6c7068 .word 0x5f6c7068 - 670: 63726573 .word 0x63726573 - 674: 632e6d6f .word 0x632e6d6f - 678: 00000000 .word 0x00000000 - -0000067c <_init>: - 67c: b5f8 push {r3, r4, r5, r6, r7, lr} - 67e: 46c0 nop ; (mov r8, r8) - 680: bcf8 pop {r3, r4, r5, r6, r7} - 682: bc08 pop {r3} - 684: 469e mov lr, r3 - 686: 4770 bx lr - -00000688 <__frame_dummy_init_array_entry>: - 688: 0129 0000 )... - -0000068c <_fini>: - 68c: b5f8 push {r3, r4, r5, r6, r7, lr} - 68e: 46c0 nop ; (mov r8, r8) - 690: bcf8 pop {r3, r4, r5, r6, r7} - 692: bc08 pop {r3} - 694: 469e mov lr, r3 - 696: 4770 bx lr - -00000698 <__do_global_dtors_aux_fini_array_entry>: - 698: 00fd 0000 .... diff --git a/software/firmware/oracle_d21_edition/gcc/AtmelStart.map b/software/firmware/oracle_d21_edition/gcc/AtmelStart.map deleted file mode 100644 index bc686eb..0000000 --- a/software/firmware/oracle_d21_edition/gcc/AtmelStart.map +++ /dev/null @@ -1,6697 +0,0 @@ -Archive member included to satisfy reference by file (symbol) - -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - hpl/core/hpl_core_m0plus_base.o (__aeabi_uidiv) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - hpl/core/hpl_core_m0plus_base.o (__aeabi_idiv) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) (__aeabi_idiv0) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - hpl/sercom/hpl_sercom.o (__aeabi_ldivmod) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - hpl/sercom/hpl_sercom.o (__aeabi_uldivmod) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - hpl/sercom/hpl_sercom.o (__aeabi_lmul) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - hpl/sercom/hpl_sercom.o (__aeabi_d2uiz) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) (__udivmoddi4) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) (__gnu_ldivmod_helper) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - hpl/sercom/hpl_sercom.o (__aeabi_ddiv) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - hpl/sercom/hpl_sercom.o (__aeabi_dmul) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - hpl/sercom/hpl_sercom.o (__aeabi_dsub) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) (__aeabi_d2iz) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - hpl/sercom/hpl_sercom.o (__aeabi_i2d) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - hpl/sercom/hpl_sercom.o (__aeabi_ui2d) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) (__aeabi_dcmpge) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) (__clzsi2) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) (__clzdi2) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) (__divdi3) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) (__eqdf2) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) (__gedf2) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) (__ledf2) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (atexit) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (exit) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (__libc_fini_array) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) (_global_impure_ptr) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (__libc_init_array) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) - samd21a/gcc/gcc/startup_samd21.o (memcpy) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (memset) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) - hal/utils/src/utils_syscalls.o (printf) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) (__register_exitproc) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) (__call_exitprocs) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) (__sinit) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fwalk.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) (_fwalk) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) (_malloc_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) (_vfprintf_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) (_printf_i) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) (_sbrk_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) (__sread) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wbuf.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) (__swbuf_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-writer.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) (_write_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) (__swsetup_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-closer.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) (_close_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) (_fflush_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) (__sfvwrite_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lseekr.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) (_lseek_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) (__smakebuf_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) (memchr) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) (memmove) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) (__malloc_lock) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) (_free_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) (_realloc_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-readr.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) (_read_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) (errno) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fstatr.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) (_fstat_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isattyr.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) (_isatty_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) (_malloc_usable_size_r) -/usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) (__gnu_thumb1_case_shi) - -Discarded input sections - - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crti.o - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crti.o - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crti.o - .data 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - .rodata 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - .text 0x0000000000000000 0x74 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o - .ARM.extab 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o - .ARM.exidx 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o - .ARM.attributes - 0x0000000000000000 0x1b /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .group 0x0000000000000000 0xc hal/src/hal_io.o - .text 0x0000000000000000 0x0 hal/src/hal_io.o - .data 0x0000000000000000 0x0 hal/src/hal_io.o - .bss 0x0000000000000000 0x0 hal/src/hal_io.o - .text.io_get_version - 0x0000000000000000 0x4 hal/src/hal_io.o - .rodata.str1.1 - 0x0000000000000000 0x14 hal/src/hal_io.o - .text.io_write - 0x0000000000000000 0x30 hal/src/hal_io.o - .text.io_read 0x0000000000000000 0x30 hal/src/hal_io.o - .debug_info 0x0000000000000000 0x2d8 hal/src/hal_io.o - .debug_abbrev 0x0000000000000000 0x116 hal/src/hal_io.o - .debug_loclists - 0x0000000000000000 0xb2 hal/src/hal_io.o - .debug_aranges - 0x0000000000000000 0x30 hal/src/hal_io.o - .debug_rnglists - 0x0000000000000000 0x1f hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x451 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x7cc hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16d hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x8e hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x51 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x103 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x1df hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x3f hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xaf hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x3ad hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x67e hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x8b1 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x22e hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xd5c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x4dc hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x9f6 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x82b hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x45f hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x8f9 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x21c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x735 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x632 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x3ac hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xc76 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x1092 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xc4a hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x6ba hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x1b3d hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x143c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x340 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x4c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x58 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x341 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x82 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x189 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xb8 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xb2 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x15a hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xdc hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x12a hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x100 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xf4 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x40f hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x40 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x392 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x1fb0 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x6d hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x4c3 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x28c hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x4d8 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_io.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_io.o - .debug_line 0x0000000000000000 0x7a6 hal/src/hal_io.o - .debug_str 0x0000000000000000 0x790f2 hal/src/hal_io.o - .comment 0x0000000000000000 0x33 hal/src/hal_io.o - .debug_frame 0x0000000000000000 0x58 hal/src/hal_io.o - .ARM.attributes - 0x0000000000000000 0x2c hal/src/hal_io.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/gcc/startup_samd21.o - .text 0x0000000000000000 0x0 samd21a/gcc/gcc/startup_samd21.o - .data 0x0000000000000000 0x0 samd21a/gcc/gcc/startup_samd21.o - .bss 0x0000000000000000 0x0 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x7cc samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x22 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x8e samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x51 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x103 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x6a samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x1df samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x1c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x22 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xaf samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x3ad samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x67e samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x8b1 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x22e samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xd5c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x4dc samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x9f6 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x82b samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x45f samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x5e samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x8f9 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x21c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x735 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x5e samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x632 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x3ac samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xc76 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x1092 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xc4a samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x6ba samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x1b3d samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x143c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x340 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x7c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xa0 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x4c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xca samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x94 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x58 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x341 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x82 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x189 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xb8 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xa0 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xb2 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x1c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x1c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x1c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x7c samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x15a samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x10 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xdc samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x12a samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x100 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0xf4 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x40f samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x40 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x392 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x1fb0 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000000 0x6d samd21a/gcc/gcc/startup_samd21.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/utils/src/utils_syscalls.o - .text 0x0000000000000000 0x0 hal/utils/src/utils_syscalls.o - .data 0x0000000000000000 0x0 hal/utils/src/utils_syscalls.o - .bss 0x0000000000000000 0x4 hal/utils/src/utils_syscalls.o - .text._sbrk 0x0000000000000000 0x20 hal/utils/src/utils_syscalls.o - .text.link 0x0000000000000000 0x6 hal/utils/src/utils_syscalls.o - .text._close 0x0000000000000000 0x6 hal/utils/src/utils_syscalls.o - .text._fstat 0x0000000000000000 0xa hal/utils/src/utils_syscalls.o - .text._isatty 0x0000000000000000 0x4 hal/utils/src/utils_syscalls.o - .text._lseek 0x0000000000000000 0x4 hal/utils/src/utils_syscalls.o - .rodata.str1.1 - 0x0000000000000000 0x19 hal/utils/src/utils_syscalls.o - .text._exit 0x0000000000000000 0x18 hal/utils/src/utils_syscalls.o - .text._kill 0x0000000000000000 0x2 hal/utils/src/utils_syscalls.o - .text._getpid 0x0000000000000000 0x6 hal/utils/src/utils_syscalls.o - .debug_info 0x0000000000000000 0x4c1 hal/utils/src/utils_syscalls.o - .debug_abbrev 0x0000000000000000 0x1bd hal/utils/src/utils_syscalls.o - .debug_loclists - 0x0000000000000000 0xc6 hal/utils/src/utils_syscalls.o - .debug_aranges - 0x0000000000000000 0x60 hal/utils/src/utils_syscalls.o - .debug_rnglists - 0x0000000000000000 0x43 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x1f6 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x7cc hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x4c hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x18 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x94 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x3c hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x34 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x57 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x97 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x35d hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0xf6 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x43 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x34 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x52 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x182 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x6a hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x52 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x52 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0xd5 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x3d hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x16f hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x4c hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x4c hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x35 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x35 hal/utils/src/utils_syscalls.o - .debug_macro 0x0000000000000000 0x12c hal/utils/src/utils_syscalls.o - .debug_line 0x0000000000000000 0x3df hal/utils/src/utils_syscalls.o - .debug_str 0x0000000000000000 0x6f75 hal/utils/src/utils_syscalls.o - .comment 0x0000000000000000 0x33 hal/utils/src/utils_syscalls.o - .debug_frame 0x0000000000000000 0xa8 hal/utils/src/utils_syscalls.o - .ARM.attributes - 0x0000000000000000 0x2c hal/utils/src/utils_syscalls.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .group 0x0000000000000000 0xc hal/src/hal_delay.o - .text 0x0000000000000000 0x0 hal/src/hal_delay.o - .data 0x0000000000000000 0x0 hal/src/hal_delay.o - .bss 0x0000000000000000 0x4 hal/src/hal_delay.o - .text.delay_init - 0x0000000000000000 0x14 hal/src/hal_delay.o - .text.delay_us - 0x0000000000000000 0x20 hal/src/hal_delay.o - .text.delay_ms - 0x0000000000000000 0x20 hal/src/hal_delay.o - .text.delay_get_version - 0x0000000000000000 0x4 hal/src/hal_delay.o - .debug_info 0x0000000000000000 0x1d8 hal/src/hal_delay.o - .debug_abbrev 0x0000000000000000 0x112 hal/src/hal_delay.o - .debug_loclists - 0x0000000000000000 0x51 hal/src/hal_delay.o - .debug_aranges - 0x0000000000000000 0x38 hal/src/hal_delay.o - .debug_rnglists - 0x0000000000000000 0x25 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x470 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x7cc hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16d hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x8e hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x51 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x103 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x1df hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x3f hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xaf hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x3ad hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x67e hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x8b1 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x22e hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xd5c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x4dc hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x9f6 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x82b hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x45f hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x8f9 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x21c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x735 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x632 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x3ac hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xc76 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x1092 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xc4a hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x6ba hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x1b3d hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x143c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x340 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x4c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x58 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x341 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x82 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x189 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xb8 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xb2 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x15a hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xdc hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x12a hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x100 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xf4 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x40f hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x40 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x392 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x1fb0 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x6d hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x4c3 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x28c hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x4d8 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_delay.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_delay.o - .debug_line 0x0000000000000000 0x79c hal/src/hal_delay.o - .debug_str 0x0000000000000000 0x790a9 hal/src/hal_delay.o - .comment 0x0000000000000000 0x33 hal/src/hal_delay.o - .debug_frame 0x0000000000000000 0x68 hal/src/hal_delay.o - .ARM.attributes - 0x0000000000000000 0x2c hal/src/hal_delay.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .text 0x0000000000000000 0x0 hpl/pm/hpl_pm.o - .data 0x0000000000000000 0x0 hpl/pm/hpl_pm.o - .bss 0x0000000000000000 0x0 hpl/pm/hpl_pm.o - .text._get_reset_reason - 0x0000000000000000 0xc hpl/pm/hpl_pm.o - .text._set_sleep_mode - 0x0000000000000000 0x34 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x7cc hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16d hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x22 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x8e hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x51 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x103 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x6a hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x1df hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x22 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x3f hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x1c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x22 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xaf hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x3ad hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x67e hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x8b1 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x22e hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xd5c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x4dc hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x9f6 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x82b hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x45f hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x5e hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x8f9 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x21c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x735 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x5e hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x632 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x3ac hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xc76 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x1092 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xc4a hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x6ba hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x1b3d hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x143c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x340 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x7c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xa0 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x4c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xca hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x94 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x58 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x341 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x82 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x189 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xb8 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xa0 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xb2 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x1c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x1c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x1c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x7c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x15a hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x10 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xdc hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x124 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x124 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x124 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x124 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x124 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x124 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x124 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xe2 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xe2 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xe2 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xe2 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xe2 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x12a hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x100 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xf4 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x40f hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x40 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x392 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x1fb0 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x6d hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x10 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x10 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x4c3 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x94 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x6a hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x28c hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x4d8 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0x16 hpl/pm/hpl_pm.o - .debug_macro 0x0000000000000000 0xca hpl/pm/hpl_pm.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hpl/core/hpl_init.o - .text 0x0000000000000000 0x0 hpl/core/hpl_init.o - .data 0x0000000000000000 0x0 hpl/core/hpl_init.o - .bss 0x0000000000000000 0x0 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x7cc hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16d hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x22 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x8e hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x51 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x103 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x6a hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x1df hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x22 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x3f hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x1c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x22 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xaf hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x3ad hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x67e hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x8b1 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x22e hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xd5c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x4dc hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x9f6 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x82b hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x45f hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x5e hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x8f9 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x21c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x735 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x5e hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x632 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x3ac hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xc76 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x1092 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xc4a hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x6ba hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x1b3d hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x143c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x340 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x7c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xa0 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x4c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xca hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x94 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x58 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x341 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x82 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x189 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xb8 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xa0 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xb2 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x1c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x1c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x1c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x7c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x15a hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x10 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xdc hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x12a hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x100 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xf4 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x40f hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x40 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x392 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x1fb0 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x6d hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x10 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x10 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x4c3 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x94 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x6a hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x28c hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x4d8 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0xca hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x28 hpl/core/hpl_init.o - .debug_macro 0x0000000000000000 0x2e hpl/core/hpl_init.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hal/utils/src/utils_list.o - .text 0x0000000000000000 0x0 hal/utils/src/utils_list.o - .data 0x0000000000000000 0x0 hal/utils/src/utils_list.o - .bss 0x0000000000000000 0x0 hal/utils/src/utils_list.o - .text.is_list_element - 0x0000000000000000 0x10 hal/utils/src/utils_list.o - .rodata.str1.1 - 0x0000000000000000 0x1e hal/utils/src/utils_list.o - .text.list_insert_as_head - 0x0000000000000000 0x2c hal/utils/src/utils_list.o - .text.list_insert_after - 0x0000000000000000 0x8 hal/utils/src/utils_list.o - .text.list_insert_at_end - 0x0000000000000000 0x40 hal/utils/src/utils_list.o - .text.list_remove_head - 0x0000000000000000 0xe hal/utils/src/utils_list.o - .text.list_delete_element - 0x0000000000000000 0x26 hal/utils/src/utils_list.o - .debug_info 0x0000000000000000 0x313 hal/utils/src/utils_list.o - .debug_abbrev 0x0000000000000000 0x131 hal/utils/src/utils_list.o - .debug_loclists - 0x0000000000000000 0x11f hal/utils/src/utils_list.o - .debug_aranges - 0x0000000000000000 0x48 hal/utils/src/utils_list.o - .debug_rnglists - 0x0000000000000000 0x3d hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x44b hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x7cc hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16d hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x8e hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x51 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x103 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x6a hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x1df hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x3f hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xaf hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x3ad hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x67e hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x8b1 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x22e hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xd5c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x4dc hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x9f6 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x82b hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x45f hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x5e hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x8f9 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x21c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x735 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x5e hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x632 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x3ac hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xc76 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x1092 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xc4a hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x6ba hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x1b3d hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x143c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x340 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x7c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xa0 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x4c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xca hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x94 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x58 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x341 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x82 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x189 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xb8 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xa0 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xb2 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x7c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x15a hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xdc hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x12a hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x100 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xf4 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x40f hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x40 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x392 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x1fb0 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x6d hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x4c3 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x94 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x6a hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x28c hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x4d8 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0xca hal/utils/src/utils_list.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_list.o - .debug_line 0x0000000000000000 0x882 hal/utils/src/utils_list.o - .debug_str 0x0000000000000000 0x790e5 hal/utils/src/utils_list.o - .comment 0x0000000000000000 0x33 hal/utils/src/utils_list.o - .debug_frame 0x0000000000000000 0x88 hal/utils/src/utils_list.o - .ARM.attributes - 0x0000000000000000 0x2c hal/utils/src/utils_list.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hpl/core/hpl_core_m0plus_base.o - .text 0x0000000000000000 0x0 hpl/core/hpl_core_m0plus_base.o - .data 0x0000000000000000 0x0 hpl/core/hpl_core_m0plus_base.o - .bss 0x0000000000000000 0x70 hpl/core/hpl_core_m0plus_base.o - .text._reset_mcu - 0x0000000000000000 0x1c hpl/core/hpl_core_m0plus_base.o - .text._go_to_sleep - 0x0000000000000000 0x8 hpl/core/hpl_core_m0plus_base.o - .text._irq_get_current - 0x0000000000000000 0xa hpl/core/hpl_core_m0plus_base.o - .text._irq_disable - 0x0000000000000000 0x20 hpl/core/hpl_core_m0plus_base.o - .text._irq_set - 0x0000000000000000 0x18 hpl/core/hpl_core_m0plus_base.o - .text._irq_clear - 0x0000000000000000 0x1c hpl/core/hpl_core_m0plus_base.o - .text._irq_enable - 0x0000000000000000 0x18 hpl/core/hpl_core_m0plus_base.o - .rodata.str1.1 - 0x0000000000000000 0x23 hpl/core/hpl_core_m0plus_base.o - .text._irq_register - 0x0000000000000000 0x2c hpl/core/hpl_core_m0plus_base.o - .text.Default_Handler - 0x0000000000000000 0x2 hpl/core/hpl_core_m0plus_base.o - .text._get_cycles_for_us - 0x0000000000000000 0x18 hpl/core/hpl_core_m0plus_base.o - .text._get_cycles_for_ms - 0x0000000000000000 0x18 hpl/core/hpl_core_m0plus_base.o - .text._delay_init - 0x0000000000000000 0x2 hpl/core/hpl_core_m0plus_base.o - .text._delay_cycles - 0x0000000000000000 0x6 hpl/core/hpl_core_m0plus_base.o - .debug_info 0x0000000000000000 0x882 hpl/core/hpl_core_m0plus_base.o - .debug_abbrev 0x0000000000000000 0x325 hpl/core/hpl_core_m0plus_base.o - .debug_loclists - 0x0000000000000000 0x180 hpl/core/hpl_core_m0plus_base.o - .debug_aranges - 0x0000000000000000 0x80 hpl/core/hpl_core_m0plus_base.o - .debug_rnglists - 0x0000000000000000 0x76 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x495 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x7cc hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x28 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16d hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x22 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x8e hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x51 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x103 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x6a hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x1df hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x22 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x3f hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x1c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x22 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xaf hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x3ad hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x67e hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x8b1 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x22e hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xd5c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x4dc hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x9f6 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x82b hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x45f hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x5e hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x8f9 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x21c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x735 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x5e hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x632 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x3ac hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xc76 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x1092 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xc4a hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x6ba hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x1b3d hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x143c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x340 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x7c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xa0 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x4c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xca hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x94 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x58 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x341 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x82 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x189 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xb8 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xa0 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xb2 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x1c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x1c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x1c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x7c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x15a hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x10 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xdc hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x124 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xe2 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x12a hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x100 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xf4 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x40f hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x40 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x392 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x1fb0 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x6d hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x10 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x10 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x4c3 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x94 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x6a hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x28c hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x4d8 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xca hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0xc9 hpl/core/hpl_core_m0plus_base.o - .debug_macro 0x0000000000000000 0x16 hpl/core/hpl_core_m0plus_base.o - .debug_line 0x0000000000000000 0xa4c hpl/core/hpl_core_m0plus_base.o - .debug_str 0x0000000000000000 0x79a50 hpl/core/hpl_core_m0plus_base.o - .comment 0x0000000000000000 0x33 hpl/core/hpl_core_m0plus_base.o - .debug_frame 0x0000000000000000 0xfc hpl/core/hpl_core_m0plus_base.o - .ARM.attributes - 0x0000000000000000 0x2c hpl/core/hpl_core_m0plus_base.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hal/utils/src/utils_assert.o - .text 0x0000000000000000 0x0 hal/utils/src/utils_assert.o - .data 0x0000000000000000 0x0 hal/utils/src/utils_assert.o - .bss 0x0000000000000000 0x0 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x7cc hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16d hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x8e hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x51 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x103 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x6a hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x1df hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x3f hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xaf hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x3ad hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x67e hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x8b1 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x22e hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xd5c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x4dc hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x9f6 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x82b hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x45f hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x5e hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x8f9 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x21c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x735 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x5e hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x632 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x3ac hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xc76 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x1092 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xc4a hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x6ba hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x1b3d hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x143c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x340 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x7c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xa0 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x4c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xca hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x94 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x58 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x341 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x82 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x189 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xb8 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xa0 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xb2 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x7c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x15a hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xdc hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x12a hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x100 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xf4 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x40f hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x40 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x392 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x1fb0 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x6d hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x4c3 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x94 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x6a hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x28c hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x4d8 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0xca hal/utils/src/utils_assert.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_assert.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/dmac/hpl_dmac.o - .text 0x0000000000000000 0x0 hpl/dmac/hpl_dmac.o - .data 0x0000000000000000 0x0 hpl/dmac/hpl_dmac.o - .bss 0x0000000000000000 0x0 hpl/dmac/hpl_dmac.o - .debug_info 0x0000000000000000 0x69 hpl/dmac/hpl_dmac.o - .debug_abbrev 0x0000000000000000 0x28 hpl/dmac/hpl_dmac.o - .debug_aranges - 0x0000000000000000 0x18 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x47a hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x7cc hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16d hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x22 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x8e hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x51 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x103 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x6a hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x1df hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x22 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x3f hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x1c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x22 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xaf hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x3ad hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x67e hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x8b1 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x22e hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xd5c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x4dc hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x9f6 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x82b hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x45f hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x5e hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x8f9 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x21c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x735 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x5e hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x632 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x3ac hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xc76 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x1092 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xc4a hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x6ba hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x1b3d hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x143c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x340 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x7c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xa0 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x4c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xca hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x94 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x58 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x341 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x82 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x189 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xb8 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xa0 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xb2 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x1c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x1c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x1c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x7c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x15a hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x10 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xdc hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x124 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x124 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x124 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x124 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x124 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x124 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x124 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xe2 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xe2 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xe2 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xe2 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xe2 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x12a hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x100 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xf4 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x40f hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x40 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x392 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x1fb0 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x6d hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x10 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x10 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x4c3 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x94 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x6a hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x28c hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x4d8 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xca hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x6ec hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0xc9 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x16 hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x6cc hpl/dmac/hpl_dmac.o - .debug_macro 0x0000000000000000 0x6ba hpl/dmac/hpl_dmac.o - .debug_line 0x0000000000000000 0x756 hpl/dmac/hpl_dmac.o - .debug_str 0x0000000000000000 0x80147 hpl/dmac/hpl_dmac.o - .comment 0x0000000000000000 0x33 hpl/dmac/hpl_dmac.o - .ARM.attributes - 0x0000000000000000 0x2c hpl/dmac/hpl_dmac.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hpl/sysctrl/hpl_sysctrl.o - .text 0x0000000000000000 0x0 hpl/sysctrl/hpl_sysctrl.o - .data 0x0000000000000000 0x0 hpl/sysctrl/hpl_sysctrl.o - .bss 0x0000000000000000 0x0 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x7cc hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16d hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x22 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x8e hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x51 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x103 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x6a hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x1df hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x22 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x3f hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x1c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x22 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xaf hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x3ad hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x67e hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x8b1 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x22e hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xd5c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x4dc hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x9f6 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x82b hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x45f hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x5e hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x8f9 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x21c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x735 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x5e hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x632 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x3ac hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xc76 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x1092 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xc4a hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x6ba hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x1b3d hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x143c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x340 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x7c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xa0 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x4c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xca hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x94 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x58 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x341 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x82 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x189 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xb8 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xa0 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xb2 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x1c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x1c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x1c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x7c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x15a hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x10 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xdc hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x124 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x124 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x124 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x124 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x124 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x124 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x124 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xe2 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xe2 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xe2 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xe2 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xe2 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x12a hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x100 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xf4 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x40f hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x40 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x392 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x1fb0 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x6d hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x10 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x10 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x4c3 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x94 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x6a hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x28c hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x4d8 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0xca hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000000000 0x16 hpl/sysctrl/hpl_sysctrl.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hal/src/hal_usart_sync.o - .text 0x0000000000000000 0x0 hal/src/hal_usart_sync.o - .data 0x0000000000000000 0x0 hal/src/hal_usart_sync.o - .bss 0x0000000000000000 0x0 hal/src/hal_usart_sync.o - .text.usart_sync_deinit - 0x0000000000000000 0x2c hal/src/hal_usart_sync.o - .text.usart_sync_enable - 0x0000000000000000 0x2c hal/src/hal_usart_sync.o - .text.usart_sync_disable - 0x0000000000000000 0x2c hal/src/hal_usart_sync.o - .text.usart_sync_get_io_descriptor - 0x0000000000000000 0x28 hal/src/hal_usart_sync.o - .text.usart_sync_set_flow_control - 0x0000000000000000 0x30 hal/src/hal_usart_sync.o - .text.usart_sync_set_baud_rate - 0x0000000000000000 0x30 hal/src/hal_usart_sync.o - .text.usart_sync_set_data_order - 0x0000000000000000 0x30 hal/src/hal_usart_sync.o - .text.usart_sync_set_mode - 0x0000000000000000 0x30 hal/src/hal_usart_sync.o - .text.usart_sync_set_parity - 0x0000000000000000 0x30 hal/src/hal_usart_sync.o - .text.usart_sync_set_stopbits - 0x0000000000000000 0x30 hal/src/hal_usart_sync.o - .text.usart_sync_set_character_size - 0x0000000000000000 0x30 hal/src/hal_usart_sync.o - .text.usart_sync_flow_control_status - 0x0000000000000000 0x34 hal/src/hal_usart_sync.o - .text.usart_sync_is_tx_empty - 0x0000000000000000 0x28 hal/src/hal_usart_sync.o - .text.usart_sync_is_rx_not_empty - 0x0000000000000000 0x28 hal/src/hal_usart_sync.o - .text.usart_sync_get_version - 0x0000000000000000 0x4 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x7cc hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16d hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x8e hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x51 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x103 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x1df hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x3f hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xaf hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x3ad hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x67e hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x8b1 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x22e hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xd5c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x4dc hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x9f6 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x82b hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x45f hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x8f9 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x21c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x735 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x632 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x3ac hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xc76 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x1092 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xc4a hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x6ba hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x1b3d hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x143c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x340 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x4c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x58 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x341 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x82 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x189 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xb8 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xb2 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x15a hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xdc hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x12a hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x100 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xf4 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x40f hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x40 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x392 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x1fb0 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x6d hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x4c3 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x28c hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x4d8 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_usart_sync.o - .debug_macro 0x0000000000000000 0xc9 hal/src/hal_usart_sync.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hpl/gclk/hpl_gclk.o - .text 0x0000000000000000 0x0 hpl/gclk/hpl_gclk.o - .data 0x0000000000000000 0x0 hpl/gclk/hpl_gclk.o - .bss 0x0000000000000000 0x0 hpl/gclk/hpl_gclk.o - .text._gclk_init_generators - 0x0000000000000000 0x1c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x7cc hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16d hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x22 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x8e hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x51 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x103 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x6a hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x1df hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x22 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x3f hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x1c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x22 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xaf hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x3ad hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x67e hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x8b1 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x22e hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xd5c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x4dc hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x9f6 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x82b hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x45f hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x5e hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x8f9 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x21c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x735 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x5e hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x632 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x3ac hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xc76 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x1092 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xc4a hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x6ba hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x1b3d hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x143c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x340 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x7c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xa0 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x4c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xca hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x94 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x58 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x341 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x82 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x189 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xb8 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xa0 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xb2 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x1c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x1c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x1c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x7c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x15a hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x10 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xdc hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x124 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x124 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x124 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x124 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x124 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x124 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x124 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xe2 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xe2 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xe2 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xe2 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xe2 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x12a hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x100 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xf4 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x40f hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x40 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x392 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x1fb0 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x6d hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x10 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x10 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x4c3 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x94 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x6a hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x28c hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x4d8 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0xca hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000000000 0x16 hpl/gclk/hpl_gclk.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .group 0x0000000000000000 0xc hal/src/hal_init.o - .text 0x0000000000000000 0x0 hal/src/hal_init.o - .data 0x0000000000000000 0x0 hal/src/hal_init.o - .bss 0x0000000000000000 0x0 hal/src/hal_init.o - .text.init_get_version - 0x0000000000000000 0x4 hal/src/hal_init.o - .debug_info 0x0000000000000000 0x9f hal/src/hal_init.o - .debug_abbrev 0x0000000000000000 0x56 hal/src/hal_init.o - .debug_aranges - 0x0000000000000000 0x20 hal/src/hal_init.o - .debug_rnglists - 0x0000000000000000 0x13 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x452 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x7cc hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16d hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x8e hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x51 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x103 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x1df hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x3f hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xaf hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x3ad hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x67e hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x8b1 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x22e hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xd5c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x4dc hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x9f6 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x82b hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x45f hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x8f9 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x21c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x735 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x632 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x3ac hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xc76 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x1092 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xc4a hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x6ba hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x1b3d hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x143c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x340 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x4c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x58 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x341 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x82 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x189 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xb8 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xb2 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x15a hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xdc hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x12a hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x100 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xf4 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x40f hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x40 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x392 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x1fb0 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x6d hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x4c3 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x28c hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x4d8 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_init.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_init.o - .debug_line 0x0000000000000000 0x700 hal/src/hal_init.o - .debug_str 0x0000000000000000 0x78fea hal/src/hal_init.o - .comment 0x0000000000000000 0x33 hal/src/hal_init.o - .debug_frame 0x0000000000000000 0x20 hal/src/hal_init.o - .ARM.attributes - 0x0000000000000000 0x2c hal/src/hal_init.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .group 0x0000000000000000 0xc main.o - .text 0x0000000000000000 0x0 main.o - .data 0x0000000000000000 0x0 main.o - .bss 0x0000000000000000 0x0 main.o - .debug_macro 0x0000000000000000 0x7cc main.o - .debug_macro 0x0000000000000000 0x16d main.o - .debug_macro 0x0000000000000000 0x22 main.o - .debug_macro 0x0000000000000000 0x8e main.o - .debug_macro 0x0000000000000000 0x51 main.o - .debug_macro 0x0000000000000000 0x103 main.o - .debug_macro 0x0000000000000000 0x6a main.o - .debug_macro 0x0000000000000000 0x1df main.o - .debug_macro 0x0000000000000000 0x22 main.o - .debug_macro 0x0000000000000000 0x3f main.o - .debug_macro 0x0000000000000000 0x1c main.o - .debug_macro 0x0000000000000000 0x22 main.o - .debug_macro 0x0000000000000000 0xaf main.o - .debug_macro 0x0000000000000000 0x3ad main.o - .debug_macro 0x0000000000000000 0x67e main.o - .debug_macro 0x0000000000000000 0x8b1 main.o - .debug_macro 0x0000000000000000 0x22e main.o - .debug_macro 0x0000000000000000 0xd5c main.o - .debug_macro 0x0000000000000000 0x4dc main.o - .debug_macro 0x0000000000000000 0x9f6 main.o - .debug_macro 0x0000000000000000 0x82b main.o - .debug_macro 0x0000000000000000 0x45f main.o - .debug_macro 0x0000000000000000 0x5e main.o - .debug_macro 0x0000000000000000 0x8f9 main.o - .debug_macro 0x0000000000000000 0x21c main.o - .debug_macro 0x0000000000000000 0x735 main.o - .debug_macro 0x0000000000000000 0x5e main.o - .debug_macro 0x0000000000000000 0x632 main.o - .debug_macro 0x0000000000000000 0x3ac main.o - .debug_macro 0x0000000000000000 0xc76 main.o - .debug_macro 0x0000000000000000 0x1092 main.o - .debug_macro 0x0000000000000000 0xc4a main.o - .debug_macro 0x0000000000000000 0x6ba main.o - .debug_macro 0x0000000000000000 0x1b3d main.o - .debug_macro 0x0000000000000000 0x143c main.o - .debug_macro 0x0000000000000000 0x340 main.o - .debug_macro 0x0000000000000000 0x7c main.o - .debug_macro 0x0000000000000000 0xa0 main.o - .debug_macro 0x0000000000000000 0x4c main.o - .debug_macro 0x0000000000000000 0xca main.o - .debug_macro 0x0000000000000000 0x94 main.o - .debug_macro 0x0000000000000000 0x58 main.o - .debug_macro 0x0000000000000000 0x341 main.o - .debug_macro 0x0000000000000000 0x82 main.o - .debug_macro 0x0000000000000000 0x189 main.o - .debug_macro 0x0000000000000000 0xb8 main.o - .debug_macro 0x0000000000000000 0xa0 main.o - .debug_macro 0x0000000000000000 0xb2 main.o - .debug_macro 0x0000000000000000 0x1c main.o - .debug_macro 0x0000000000000000 0x1c main.o - .debug_macro 0x0000000000000000 0x1c main.o - .debug_macro 0x0000000000000000 0x7c main.o - .debug_macro 0x0000000000000000 0x15a main.o - .debug_macro 0x0000000000000000 0x10 main.o - .debug_macro 0x0000000000000000 0xdc main.o - .debug_macro 0x0000000000000000 0x124 main.o - .debug_macro 0x0000000000000000 0x124 main.o - .debug_macro 0x0000000000000000 0x124 main.o - .debug_macro 0x0000000000000000 0x124 main.o - .debug_macro 0x0000000000000000 0x124 main.o - .debug_macro 0x0000000000000000 0x124 main.o - .debug_macro 0x0000000000000000 0x124 main.o - .debug_macro 0x0000000000000000 0xe2 main.o - .debug_macro 0x0000000000000000 0xe2 main.o - .debug_macro 0x0000000000000000 0xe2 main.o - .debug_macro 0x0000000000000000 0xe2 main.o - .debug_macro 0x0000000000000000 0xe2 main.o - .debug_macro 0x0000000000000000 0x12a main.o - .debug_macro 0x0000000000000000 0x100 main.o - .debug_macro 0x0000000000000000 0xf4 main.o - .debug_macro 0x0000000000000000 0x40f main.o - .debug_macro 0x0000000000000000 0x40 main.o - .debug_macro 0x0000000000000000 0x392 main.o - .debug_macro 0x0000000000000000 0x1fb0 main.o - .debug_macro 0x0000000000000000 0x6d main.o - .debug_macro 0x0000000000000000 0x10 main.o - .debug_macro 0x0000000000000000 0x10 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x4c3 main.o - .debug_macro 0x0000000000000000 0x94 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0x6a main.o - .debug_macro 0x0000000000000000 0x28c main.o - .debug_macro 0x0000000000000000 0x4d8 main.o - .debug_macro 0x0000000000000000 0x16 main.o - .debug_macro 0x0000000000000000 0xca main.o - .debug_macro 0x0000000000000000 0x1c main.o - .debug_macro 0x0000000000000000 0x16 main.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc samd21a/gcc/system_samd21.o - .text 0x0000000000000000 0x0 samd21a/gcc/system_samd21.o - .data 0x0000000000000000 0x4 samd21a/gcc/system_samd21.o - .bss 0x0000000000000000 0x0 samd21a/gcc/system_samd21.o - .text.SystemInit - 0x0000000000000000 0x10 samd21a/gcc/system_samd21.o - .text.SystemCoreClockUpdate - 0x0000000000000000 0x10 samd21a/gcc/system_samd21.o - .debug_info 0x0000000000000000 0xc3 samd21a/gcc/system_samd21.o - .debug_abbrev 0x0000000000000000 0x90 samd21a/gcc/system_samd21.o - .debug_aranges - 0x0000000000000000 0x20 samd21a/gcc/system_samd21.o - .debug_rnglists - 0x0000000000000000 0x13 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x316 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x7cc samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x22 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x8e samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x51 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x103 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x6a samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x1df samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x39 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x1c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x22 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xaf samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x3ad samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x67e samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x8b1 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x22e samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xd5c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x4dc samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x9f6 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x82b samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x45f samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x5e samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x8f9 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x21c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x735 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x5e samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x632 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x3ac samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xc76 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x1092 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xc4a samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x6ba samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x1b3d samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x143c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x340 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x7c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xa0 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x4c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xca samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x94 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x58 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x341 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x82 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x189 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xb8 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xa0 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xb2 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x1c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x1c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x1c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x7c samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x15a samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x10 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xdc samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x124 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xe2 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x12a samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x100 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0xf4 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x40f samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x40 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x392 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x1fb0 samd21a/gcc/system_samd21.o - .debug_macro 0x0000000000000000 0x6d samd21a/gcc/system_samd21.o - .debug_line 0x0000000000000000 0x49f samd21a/gcc/system_samd21.o - .debug_str 0x0000000000000000 0x70410 samd21a/gcc/system_samd21.o - .comment 0x0000000000000000 0x33 samd21a/gcc/system_samd21.o - .debug_frame 0x0000000000000000 0x30 samd21a/gcc/system_samd21.o - .ARM.attributes - 0x0000000000000000 0x2c samd21a/gcc/system_samd21.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .group 0x0000000000000000 0xc examples/driver_examples.o - .text 0x0000000000000000 0x0 examples/driver_examples.o - .data 0x0000000000000000 0x0 examples/driver_examples.o - .bss 0x0000000000000000 0x0 examples/driver_examples.o - .rodata.str1.1 - 0x0000000000000000 0xd examples/driver_examples.o - .text.USART_0_example - 0x0000000000000000 0x34 examples/driver_examples.o - .debug_info 0x0000000000000000 0x26b examples/driver_examples.o - .debug_abbrev 0x0000000000000000 0x10c examples/driver_examples.o - .debug_aranges - 0x0000000000000000 0x20 examples/driver_examples.o - .debug_rnglists - 0x0000000000000000 0x13 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x501 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x7cc examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16d examples/driver_examples.o - .debug_macro 0x0000000000000000 0x22 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x8e examples/driver_examples.o - .debug_macro 0x0000000000000000 0x51 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x103 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x6a examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1df examples/driver_examples.o - .debug_macro 0x0000000000000000 0x22 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x3f examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x22 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xaf examples/driver_examples.o - .debug_macro 0x0000000000000000 0x3ad examples/driver_examples.o - .debug_macro 0x0000000000000000 0x67e examples/driver_examples.o - .debug_macro 0x0000000000000000 0x8b1 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x22e examples/driver_examples.o - .debug_macro 0x0000000000000000 0xd5c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x4dc examples/driver_examples.o - .debug_macro 0x0000000000000000 0x9f6 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x82b examples/driver_examples.o - .debug_macro 0x0000000000000000 0x45f examples/driver_examples.o - .debug_macro 0x0000000000000000 0x5e examples/driver_examples.o - .debug_macro 0x0000000000000000 0x8f9 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x21c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x735 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x5e examples/driver_examples.o - .debug_macro 0x0000000000000000 0x632 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x3ac examples/driver_examples.o - .debug_macro 0x0000000000000000 0xc76 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1092 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xc4a examples/driver_examples.o - .debug_macro 0x0000000000000000 0x6ba examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1b3d examples/driver_examples.o - .debug_macro 0x0000000000000000 0x143c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x340 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x7c examples/driver_examples.o - .debug_macro 0x0000000000000000 0xa0 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x4c examples/driver_examples.o - .debug_macro 0x0000000000000000 0xca examples/driver_examples.o - .debug_macro 0x0000000000000000 0x94 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x58 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x341 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x82 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x189 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xb8 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xa0 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xb2 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x7c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x15a examples/driver_examples.o - .debug_macro 0x0000000000000000 0x10 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xdc examples/driver_examples.o - .debug_macro 0x0000000000000000 0x124 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x124 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x124 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x124 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x124 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x124 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x124 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xe2 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xe2 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xe2 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xe2 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xe2 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x12a examples/driver_examples.o - .debug_macro 0x0000000000000000 0x100 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xf4 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x40f examples/driver_examples.o - .debug_macro 0x0000000000000000 0x40 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x392 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1fb0 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x6d examples/driver_examples.o - .debug_macro 0x0000000000000000 0x10 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x10 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x4c3 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x94 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x6a examples/driver_examples.o - .debug_macro 0x0000000000000000 0x28c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x4d8 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xca examples/driver_examples.o - .debug_macro 0x0000000000000000 0x1c examples/driver_examples.o - .debug_macro 0x0000000000000000 0x16 examples/driver_examples.o - .debug_macro 0x0000000000000000 0x40 examples/driver_examples.o - .debug_macro 0x0000000000000000 0xc9 examples/driver_examples.o - .debug_line 0x0000000000000000 0x83c examples/driver_examples.o - .debug_str 0x0000000000000000 0x79881 examples/driver_examples.o - .comment 0x0000000000000000 0x33 examples/driver_examples.o - .debug_frame 0x0000000000000000 0x2c examples/driver_examples.o - .ARM.attributes - 0x0000000000000000 0x2c examples/driver_examples.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .group 0x0000000000000000 0xc driver_init.o - .text 0x0000000000000000 0x0 driver_init.o - .data 0x0000000000000000 0x0 driver_init.o - .debug_macro 0x0000000000000000 0x7cc driver_init.o - .debug_macro 0x0000000000000000 0x16d driver_init.o - .debug_macro 0x0000000000000000 0x22 driver_init.o - .debug_macro 0x0000000000000000 0x8e driver_init.o - .debug_macro 0x0000000000000000 0x51 driver_init.o - .debug_macro 0x0000000000000000 0x103 driver_init.o - .debug_macro 0x0000000000000000 0x6a driver_init.o - .debug_macro 0x0000000000000000 0x1df driver_init.o - .debug_macro 0x0000000000000000 0x22 driver_init.o - .debug_macro 0x0000000000000000 0x3f driver_init.o - .debug_macro 0x0000000000000000 0x1c driver_init.o - .debug_macro 0x0000000000000000 0x22 driver_init.o - .debug_macro 0x0000000000000000 0xaf driver_init.o - .debug_macro 0x0000000000000000 0x3ad driver_init.o - .debug_macro 0x0000000000000000 0x67e driver_init.o - .debug_macro 0x0000000000000000 0x8b1 driver_init.o - .debug_macro 0x0000000000000000 0x22e driver_init.o - .debug_macro 0x0000000000000000 0xd5c driver_init.o - .debug_macro 0x0000000000000000 0x4dc driver_init.o - .debug_macro 0x0000000000000000 0x9f6 driver_init.o - .debug_macro 0x0000000000000000 0x82b driver_init.o - .debug_macro 0x0000000000000000 0x45f driver_init.o - .debug_macro 0x0000000000000000 0x5e driver_init.o - .debug_macro 0x0000000000000000 0x8f9 driver_init.o - .debug_macro 0x0000000000000000 0x21c driver_init.o - .debug_macro 0x0000000000000000 0x735 driver_init.o - .debug_macro 0x0000000000000000 0x5e driver_init.o - .debug_macro 0x0000000000000000 0x632 driver_init.o - .debug_macro 0x0000000000000000 0x3ac driver_init.o - .debug_macro 0x0000000000000000 0xc76 driver_init.o - .debug_macro 0x0000000000000000 0x1092 driver_init.o - .debug_macro 0x0000000000000000 0xc4a driver_init.o - .debug_macro 0x0000000000000000 0x6ba driver_init.o - .debug_macro 0x0000000000000000 0x1b3d driver_init.o - .debug_macro 0x0000000000000000 0x143c driver_init.o - .debug_macro 0x0000000000000000 0x340 driver_init.o - .debug_macro 0x0000000000000000 0x7c driver_init.o - .debug_macro 0x0000000000000000 0xa0 driver_init.o - .debug_macro 0x0000000000000000 0x4c driver_init.o - .debug_macro 0x0000000000000000 0xca driver_init.o - .debug_macro 0x0000000000000000 0x94 driver_init.o - .debug_macro 0x0000000000000000 0x58 driver_init.o - .debug_macro 0x0000000000000000 0x341 driver_init.o - .debug_macro 0x0000000000000000 0x82 driver_init.o - .debug_macro 0x0000000000000000 0x189 driver_init.o - .debug_macro 0x0000000000000000 0xb8 driver_init.o - .debug_macro 0x0000000000000000 0xa0 driver_init.o - .debug_macro 0x0000000000000000 0xb2 driver_init.o - .debug_macro 0x0000000000000000 0x1c driver_init.o - .debug_macro 0x0000000000000000 0x1c driver_init.o - .debug_macro 0x0000000000000000 0x1c driver_init.o - .debug_macro 0x0000000000000000 0x7c driver_init.o - .debug_macro 0x0000000000000000 0x15a driver_init.o - .debug_macro 0x0000000000000000 0x10 driver_init.o - .debug_macro 0x0000000000000000 0xdc driver_init.o - .debug_macro 0x0000000000000000 0x124 driver_init.o - .debug_macro 0x0000000000000000 0x124 driver_init.o - .debug_macro 0x0000000000000000 0x124 driver_init.o - .debug_macro 0x0000000000000000 0x124 driver_init.o - .debug_macro 0x0000000000000000 0x124 driver_init.o - .debug_macro 0x0000000000000000 0x124 driver_init.o - .debug_macro 0x0000000000000000 0x124 driver_init.o - .debug_macro 0x0000000000000000 0xe2 driver_init.o - .debug_macro 0x0000000000000000 0xe2 driver_init.o - .debug_macro 0x0000000000000000 0xe2 driver_init.o - .debug_macro 0x0000000000000000 0xe2 driver_init.o - .debug_macro 0x0000000000000000 0xe2 driver_init.o - .debug_macro 0x0000000000000000 0x12a driver_init.o - .debug_macro 0x0000000000000000 0x100 driver_init.o - .debug_macro 0x0000000000000000 0xf4 driver_init.o - .debug_macro 0x0000000000000000 0x40f driver_init.o - .debug_macro 0x0000000000000000 0x40 driver_init.o - .debug_macro 0x0000000000000000 0x392 driver_init.o - .debug_macro 0x0000000000000000 0x1fb0 driver_init.o - .debug_macro 0x0000000000000000 0x6d driver_init.o - .debug_macro 0x0000000000000000 0x10 driver_init.o - .debug_macro 0x0000000000000000 0x10 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x4c3 driver_init.o - .debug_macro 0x0000000000000000 0x94 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x6a driver_init.o - .debug_macro 0x0000000000000000 0x28c driver_init.o - .debug_macro 0x0000000000000000 0x4d8 driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0xca driver_init.o - .debug_macro 0x0000000000000000 0x1c driver_init.o - .debug_macro 0x0000000000000000 0x16 driver_init.o - .debug_macro 0x0000000000000000 0x40 driver_init.o - .debug_macro 0x0000000000000000 0x28 driver_init.o - .debug_macro 0x0000000000000000 0xc9 driver_init.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text 0x0000000000000000 0x0 hpl/sercom/hpl_sercom.o - .data 0x0000000000000000 0x0 hpl/sercom/hpl_sercom.o - .bss 0x0000000000000000 0x0 hpl/sercom/hpl_sercom.o - .text.__NVIC_EnableIRQ - 0x0000000000000000 0x18 hpl/sercom/hpl_sercom.o - .text.__NVIC_ClearPendingIRQ - 0x0000000000000000 0x1c hpl/sercom/hpl_sercom.o - .text.hri_sercomi2cm_set_CTRLA_SWRST_bit - 0x0000000000000000 0x14 hpl/sercom/hpl_sercom.o - .text.hri_sercomi2cm_set_CTRLA_ENABLE_bit - 0x0000000000000000 0x18 hpl/sercom/hpl_sercom.o - .text.hri_sercomi2cm_get_CTRLA_ENABLE_bit - 0x0000000000000000 0x18 hpl/sercom/hpl_sercom.o - .text.hri_sercomusart_write_CTRLA_ENABLE_bit - 0x0000000000000000 0x1c hpl/sercom/hpl_sercom.o - .text._usart_deinit - 0x0000000000000000 0x18 hpl/sercom/hpl_sercom.o - .text._spi_sync_enable - 0x0000000000000000 0x20 hpl/sercom/hpl_sercom.o - .text._spi_sync_disable - 0x0000000000000000 0x20 hpl/sercom/hpl_sercom.o - .text._spi_set_data_order - 0x0000000000000000 0x40 hpl/sercom/hpl_sercom.o - .text._usart_set_baud_rate - 0x0000000000000000 0x4c hpl/sercom/hpl_sercom.o - .text._usart_set_data_order - 0x0000000000000000 0x64 hpl/sercom/hpl_sercom.o - .text._usart_set_mode - 0x0000000000000000 0x64 hpl/sercom/hpl_sercom.o - .text._usart_set_stop_bits - 0x0000000000000000 0x60 hpl/sercom/hpl_sercom.o - .text._usart_set_character_size - 0x0000000000000000 0x60 hpl/sercom/hpl_sercom.o - .text._i2c_s_set_address - 0x0000000000000000 0x58 hpl/sercom/hpl_sercom.o - .text.__NVIC_DisableIRQ - 0x0000000000000000 0x20 hpl/sercom/hpl_sercom.o - .text._get_i2cm_index - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._i2c_m_enable_implementation - 0x0000000000000000 0x6c hpl/sercom/hpl_sercom.o - .text._sercom_i2c_send_stop - 0x0000000000000000 0x18 hpl/sercom/hpl_sercom.o - .text._sercom_i2c_sync_analyse_flags - 0x0000000000000000 0x19c hpl/sercom/hpl_sercom.o - .text._usart_set_parity - 0x0000000000000000 0x84 hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_init_impl - 0x0000000000000000 0xbc hpl/sercom/hpl_sercom.o - .text._spi_set_mode - 0x0000000000000000 0x44 hpl/sercom/hpl_sercom.o - .text._spi_set_char_size - 0x0000000000000000 0x40 hpl/sercom/hpl_sercom.o - .text._i2c_s_init - 0x0000000000000000 0x80 hpl/sercom/hpl_sercom.o - .text._usart_async_init - 0x0000000000000000 0x5c hpl/sercom/hpl_sercom.o - .text._usart_sync_deinit - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_deinit - 0x0000000000000000 0x28 hpl/sercom/hpl_sercom.o - .text._usart_sync_calculate_baud_rate - 0x0000000000000000 0x6c hpl/sercom/hpl_sercom.o - .text._usart_async_calculate_baud_rate - 0x0000000000000000 0x6c hpl/sercom/hpl_sercom.o - .text._usart_sync_enable - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_enable - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_sync_disable - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_disable - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_sync_set_baud_rate - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_set_baud_rate - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_sync_set_data_order - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_set_data_order - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_sync_set_mode - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_set_mode - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_sync_set_parity - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_set_parity - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_sync_set_stop_bits - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_set_stop_bits - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_sync_set_character_size - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_set_character_size - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_sync_get_status - 0x0000000000000000 0x8 hpl/sercom/hpl_sercom.o - .text._usart_async_get_status - 0x0000000000000000 0x8 hpl/sercom/hpl_sercom.o - .text._usart_async_write_byte - 0x0000000000000000 0x6 hpl/sercom/hpl_sercom.o - .text._usart_async_is_byte_sent - 0x0000000000000000 0xa hpl/sercom/hpl_sercom.o - .text._usart_sync_set_flow_control_state - 0x0000000000000000 0x2 hpl/sercom/hpl_sercom.o - .text._usart_async_set_flow_control_state - 0x0000000000000000 0x2 hpl/sercom/hpl_sercom.o - .text._usart_async_get_flow_control_state - 0x0000000000000000 0x4 hpl/sercom/hpl_sercom.o - .text._usart_sync_get_flow_control_state - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._usart_async_enable_byte_sent_irq - 0x0000000000000000 0x8 hpl/sercom/hpl_sercom.o - .text._usart_async_enable_tx_done_irq - 0x0000000000000000 0x8 hpl/sercom/hpl_sercom.o - .text._usart_sync_get_hardware_index - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_get_hardware_index - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._usart_async_set_irq_state - 0x0000000000000000 0x54 hpl/sercom/hpl_sercom.o - .text._i2c_m_async_enable - 0x0000000000000000 0x28 hpl/sercom/hpl_sercom.o - .text._i2c_m_async_disable - 0x0000000000000000 0x54 hpl/sercom/hpl_sercom.o - .text._i2c_m_async_set_baudrate - 0x0000000000000000 0x154 hpl/sercom/hpl_sercom.o - .text._i2c_m_async_init - 0x0000000000000000 0x60 hpl/sercom/hpl_sercom.o - .text._i2c_m_async_deinit - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._i2c_m_async_transfer - 0x0000000000000000 0x11c hpl/sercom/hpl_sercom.o - .text._i2c_m_async_register_callback - 0x0000000000000000 0x1a hpl/sercom/hpl_sercom.o - .text._i2c_m_async_send_stop - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_m_async_get_bytes_left - 0x0000000000000000 0xe hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_init - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_deinit - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_enable - 0x0000000000000000 0x28 hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_disable - 0x0000000000000000 0x40 hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_set_baudrate - 0x0000000000000000 0x154 hpl/sercom/hpl_sercom.o - .text._i2c_m_async_set_irq_state - 0x0000000000000000 0x2a hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_transfer - 0x0000000000000000 0x1b0 hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_send_stop - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_init - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._i2c_s_async_init - 0x0000000000000000 0x60 hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_deinit - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_s_async_deinit - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_enable - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_s_async_enable - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_disable - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_s_async_disable - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_is_10bit_addressing_on - 0x0000000000000000 0xa hpl/sercom/hpl_sercom.o - .text._i2c_s_async_is_10bit_addressing_on - 0x0000000000000000 0xa hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_set_address - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_s_async_set_address - 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_write_byte - 0x0000000000000000 0x8 hpl/sercom/hpl_sercom.o - .text._i2c_s_async_write_byte - 0x0000000000000000 0x8 hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_read_byte - 0x0000000000000000 0xa hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_is_byte_sent - 0x0000000000000000 0xa hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_is_byte_received - 0x0000000000000000 0xa hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_get_status - 0x0000000000000000 0x8 hpl/sercom/hpl_sercom.o - .text._i2c_s_sync_clear_data_ready_flag - 0x0000000000000000 0xa hpl/sercom/hpl_sercom.o - .text._i2c_s_async_get_status - 0x0000000000000000 0x8 hpl/sercom/hpl_sercom.o - .text._i2c_s_async_abort_transmission - 0x0000000000000000 0xa hpl/sercom/hpl_sercom.o - .text._i2c_s_async_set_irq_state - 0x0000000000000000 0x44 hpl/sercom/hpl_sercom.o - .text._spi_m_sync_init - 0x0000000000000000 0x1b8 hpl/sercom/hpl_sercom.o - .text._spi_s_sync_init - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._spi_m_async_init - 0x0000000000000000 0x40 hpl/sercom/hpl_sercom.o - .text._spi_s_async_init - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._spi_m_async_deinit - 0x0000000000000000 0x48 hpl/sercom/hpl_sercom.o - .text._spi_s_async_deinit - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._spi_m_sync_deinit - 0x0000000000000000 0x1c hpl/sercom/hpl_sercom.o - .text._spi_s_sync_deinit - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._spi_m_sync_enable - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._spi_s_sync_enable - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._spi_m_async_enable - 0x0000000000000000 0x48 hpl/sercom/hpl_sercom.o - .text._spi_s_async_enable - 0x0000000000000000 0x48 hpl/sercom/hpl_sercom.o - .text._spi_m_sync_disable - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._spi_s_sync_disable - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._spi_m_async_disable - 0x0000000000000000 0x4c hpl/sercom/hpl_sercom.o - .text._spi_s_async_disable - 0x0000000000000000 0x4c hpl/sercom/hpl_sercom.o - .text._spi_m_sync_set_mode - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_m_async_set_mode - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_s_async_set_mode - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_s_sync_set_mode - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_calc_baud_val - 0x0000000000000000 0x48 hpl/sercom/hpl_sercom.o - .text._spi_m_sync_set_baudrate - 0x0000000000000000 0x40 hpl/sercom/hpl_sercom.o - .text._spi_m_async_set_baudrate - 0x0000000000000000 0x40 hpl/sercom/hpl_sercom.o - .text._spi_m_sync_set_char_size - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_m_async_set_char_size - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_s_async_set_char_size - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_s_sync_set_char_size - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_m_sync_set_data_order - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_m_async_set_data_order - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_s_async_set_data_order - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_s_sync_set_data_order - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_m_sync_trans - 0x0000000000000000 0xe4 hpl/sercom/hpl_sercom.o - .text._spi_m_async_enable_tx - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_s_async_enable_tx - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._spi_m_async_enable_rx - 0x0000000000000000 0x40 hpl/sercom/hpl_sercom.o - .text._spi_s_async_enable_rx - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._spi_m_async_enable_tx_complete - 0x0000000000000000 0x38 hpl/sercom/hpl_sercom.o - .text._spi_s_async_enable_ss_detect - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._spi_m_async_write_one - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._spi_s_async_write_one - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._spi_s_sync_write_one - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._spi_m_async_read_one - 0x0000000000000000 0x28 hpl/sercom/hpl_sercom.o - .text._spi_s_async_read_one - 0x0000000000000000 0x28 hpl/sercom/hpl_sercom.o - .text._spi_s_sync_read_one - 0x0000000000000000 0x28 hpl/sercom/hpl_sercom.o - .text._spi_m_async_register_callback - 0x0000000000000000 0x34 hpl/sercom/hpl_sercom.o - .text._spi_s_async_register_callback - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .text._spi_s_sync_is_tx_ready - 0x0000000000000000 0x2c hpl/sercom/hpl_sercom.o - .text._spi_s_sync_is_rx_ready - 0x0000000000000000 0x30 hpl/sercom/hpl_sercom.o - .text._spi_s_sync_is_ss_deactivated - 0x0000000000000000 0x30 hpl/sercom/hpl_sercom.o - .text._spi_s_sync_is_error - 0x0000000000000000 0x38 hpl/sercom/hpl_sercom.o - .text._spi_m_async_set_irq_state - 0x0000000000000000 0x38 hpl/sercom/hpl_sercom.o - .text._spi_s_async_set_irq_state - 0x0000000000000000 0xc hpl/sercom/hpl_sercom.o - .rodata 0x0000000000000000 0x29 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x7cc hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16d hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x22 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x8e hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x51 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x103 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x6a hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x1df hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x22 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x3f hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x1c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x22 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xaf hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x3ad hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x67e hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x8b1 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x22e hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xd5c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x4dc hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x9f6 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x82b hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x45f hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x5e hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x8f9 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x21c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x735 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x5e hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x632 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x3ac hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xc76 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x1092 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xc4a hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x6ba hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x1b3d hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x143c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x340 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x7c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xa0 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x4c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xca hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x94 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x58 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x341 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x82 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x189 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xb8 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xa0 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xb2 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x1c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x1c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x1c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x7c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x15a hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xdc hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x124 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x124 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x124 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x124 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x124 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x124 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x124 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xe2 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xe2 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xe2 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xe2 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xe2 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x12a hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x100 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xf4 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x40f hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x40 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x392 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x1fb0 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x6d hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x10 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x4c3 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x94 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x6a hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x28c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x4d8 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xca hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0xc9 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x28 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000000000 0x16 hpl/sercom/hpl_sercom.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/src/hal_gpio.o - .text 0x0000000000000000 0x0 hal/src/hal_gpio.o - .data 0x0000000000000000 0x0 hal/src/hal_gpio.o - .bss 0x0000000000000000 0x0 hal/src/hal_gpio.o - .text.gpio_get_version - 0x0000000000000000 0x4 hal/src/hal_gpio.o - .debug_info 0x0000000000000000 0x9f hal/src/hal_gpio.o - .debug_abbrev 0x0000000000000000 0x56 hal/src/hal_gpio.o - .debug_aranges - 0x0000000000000000 0x20 hal/src/hal_gpio.o - .debug_rnglists - 0x0000000000000000 0x13 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x469 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x7cc hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16d hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x8e hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x51 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x103 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1df hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x3f hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xaf hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x3ad hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x67e hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x8b1 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x22e hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xd5c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x4dc hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x9f6 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x82b hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x45f hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x8f9 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x21c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x735 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x632 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x3ac hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xc76 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1092 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xc4a hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x6ba hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1b3d hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x143c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x340 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x4c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x58 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x341 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x82 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x189 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xb8 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xb2 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x15a hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xdc hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x12a hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x100 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xf4 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x40f hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x40 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x392 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1fb0 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x6d hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x4c3 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x28c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x4d8 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_gpio.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_gpio.o - .debug_line 0x0000000000000000 0x731 hal/src/hal_gpio.o - .debug_str 0x0000000000000000 0x79109 hal/src/hal_gpio.o - .comment 0x0000000000000000 0x33 hal/src/hal_gpio.o - .debug_frame 0x0000000000000000 0x20 hal/src/hal_gpio.o - .ARM.attributes - 0x0000000000000000 0x2c hal/src/hal_gpio.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/utils/src/utils_event.o - .text 0x0000000000000000 0x0 hal/utils/src/utils_event.o - .data 0x0000000000000000 0x0 hal/utils/src/utils_event.o - .bss 0x0000000000000000 0x5 hal/utils/src/utils_event.o - .rodata.str1.1 - 0x0000000000000000 0x1f hal/utils/src/utils_event.o - .text.event_subscribe - 0x0000000000000000 0x8c hal/utils/src/utils_event.o - .text.event_unsubscribe - 0x0000000000000000 0x80 hal/utils/src/utils_event.o - .text.event_post - 0x0000000000000000 0x58 hal/utils/src/utils_event.o - .debug_info 0x0000000000000000 0x5d8 hal/utils/src/utils_event.o - .debug_abbrev 0x0000000000000000 0x23e hal/utils/src/utils_event.o - .debug_loclists - 0x0000000000000000 0x1f1 hal/utils/src/utils_event.o - .debug_aranges - 0x0000000000000000 0x30 hal/utils/src/utils_event.o - .debug_rnglists - 0x0000000000000000 0x2d hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x54f hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x7cc hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xc9 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16d hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x8e hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x51 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x103 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x6a hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1df hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x3f hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x22 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xaf hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x3ad hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x67e hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x8b1 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x22e hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xd5c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x4dc hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x9f6 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x82b hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x45f hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x5e hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x8f9 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x21c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x735 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x5e hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x632 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x3ac hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xc76 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1092 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xc4a hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x6ba hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1b3d hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x143c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x340 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x7c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xa0 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x4c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xca hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x94 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x58 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x341 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x82 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x189 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xb8 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xa0 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xb2 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x7c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x15a hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xdc hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x124 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xe2 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x12a hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x100 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xf4 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x40f hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x40 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x392 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1fb0 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x6d hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x4c3 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x94 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x6a hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x28c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x4d8 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0xca hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x1c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x52 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x18 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x3c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x34 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x16 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x43 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x34 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x52 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x182 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x35d hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x35 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x4c hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x10 hal/utils/src/utils_event.o - .debug_macro 0x0000000000000000 0x5e hal/utils/src/utils_event.o - .debug_line 0x0000000000000000 0xa39 hal/utils/src/utils_event.o - .debug_str 0x0000000000000000 0x7c95c hal/utils/src/utils_event.o - .comment 0x0000000000000000 0x33 hal/utils/src/utils_event.o - .debug_frame 0x0000000000000000 0x78 hal/utils/src/utils_event.o - .ARM.attributes - 0x0000000000000000 0x2c hal/utils/src/utils_event.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .group 0x0000000000000000 0xc hal/src/hal_sleep.o - .text 0x0000000000000000 0x0 hal/src/hal_sleep.o - .data 0x0000000000000000 0x0 hal/src/hal_sleep.o - .bss 0x0000000000000000 0x0 hal/src/hal_sleep.o - .text.sleep 0x0000000000000000 0x20 hal/src/hal_sleep.o - .text.sleep_get_version - 0x0000000000000000 0x4 hal/src/hal_sleep.o - .debug_info 0x0000000000000000 0x12f hal/src/hal_sleep.o - .debug_abbrev 0x0000000000000000 0xc6 hal/src/hal_sleep.o - .debug_loclists - 0x0000000000000000 0x23 hal/src/hal_sleep.o - .debug_aranges - 0x0000000000000000 0x28 hal/src/hal_sleep.o - .debug_rnglists - 0x0000000000000000 0x19 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x452 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x7cc hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16d hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x8e hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x51 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x103 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x1df hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x3f hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xaf hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x3ad hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x67e hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x8b1 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x22e hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xd5c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x4dc hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x9f6 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x82b hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x45f hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x8f9 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x21c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x735 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x632 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x3ac hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xc76 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x1092 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xc4a hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x6ba hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x1b3d hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x143c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x340 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x4c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x58 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x341 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x82 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x189 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xb8 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xb2 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x15a hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xdc hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x12a hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x100 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xf4 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x40f hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x40 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x392 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x1fb0 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x6d hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x4c3 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x28c hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x4d8 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_sleep.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_sleep.o - .debug_line 0x0000000000000000 0x72f hal/src/hal_sleep.o - .debug_str 0x0000000000000000 0x79038 hal/src/hal_sleep.o - .comment 0x0000000000000000 0x33 hal/src/hal_sleep.o - .debug_frame 0x0000000000000000 0x38 hal/src/hal_sleep.o - .ARM.attributes - 0x0000000000000000 0x2c hal/src/hal_sleep.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .group 0x0000000000000000 0xc atmel_start.o - .text 0x0000000000000000 0x0 atmel_start.o - .data 0x0000000000000000 0x0 atmel_start.o - .bss 0x0000000000000000 0x0 atmel_start.o - .debug_macro 0x0000000000000000 0x7cc atmel_start.o - .debug_macro 0x0000000000000000 0x16d atmel_start.o - .debug_macro 0x0000000000000000 0x22 atmel_start.o - .debug_macro 0x0000000000000000 0x8e atmel_start.o - .debug_macro 0x0000000000000000 0x51 atmel_start.o - .debug_macro 0x0000000000000000 0x103 atmel_start.o - .debug_macro 0x0000000000000000 0x6a atmel_start.o - .debug_macro 0x0000000000000000 0x1df atmel_start.o - .debug_macro 0x0000000000000000 0x22 atmel_start.o - .debug_macro 0x0000000000000000 0x3f atmel_start.o - .debug_macro 0x0000000000000000 0x1c atmel_start.o - .debug_macro 0x0000000000000000 0x22 atmel_start.o - .debug_macro 0x0000000000000000 0xaf atmel_start.o - .debug_macro 0x0000000000000000 0x3ad atmel_start.o - .debug_macro 0x0000000000000000 0x67e atmel_start.o - .debug_macro 0x0000000000000000 0x8b1 atmel_start.o - .debug_macro 0x0000000000000000 0x22e atmel_start.o - .debug_macro 0x0000000000000000 0xd5c atmel_start.o - .debug_macro 0x0000000000000000 0x4dc atmel_start.o - .debug_macro 0x0000000000000000 0x9f6 atmel_start.o - .debug_macro 0x0000000000000000 0x82b atmel_start.o - .debug_macro 0x0000000000000000 0x45f atmel_start.o - .debug_macro 0x0000000000000000 0x5e atmel_start.o - .debug_macro 0x0000000000000000 0x8f9 atmel_start.o - .debug_macro 0x0000000000000000 0x21c atmel_start.o - .debug_macro 0x0000000000000000 0x735 atmel_start.o - .debug_macro 0x0000000000000000 0x5e atmel_start.o - .debug_macro 0x0000000000000000 0x632 atmel_start.o - .debug_macro 0x0000000000000000 0x3ac atmel_start.o - .debug_macro 0x0000000000000000 0xc76 atmel_start.o - .debug_macro 0x0000000000000000 0x1092 atmel_start.o - .debug_macro 0x0000000000000000 0xc4a atmel_start.o - .debug_macro 0x0000000000000000 0x6ba atmel_start.o - .debug_macro 0x0000000000000000 0x1b3d atmel_start.o - .debug_macro 0x0000000000000000 0x143c atmel_start.o - .debug_macro 0x0000000000000000 0x340 atmel_start.o - .debug_macro 0x0000000000000000 0x7c atmel_start.o - .debug_macro 0x0000000000000000 0xa0 atmel_start.o - .debug_macro 0x0000000000000000 0x4c atmel_start.o - .debug_macro 0x0000000000000000 0xca atmel_start.o - .debug_macro 0x0000000000000000 0x94 atmel_start.o - .debug_macro 0x0000000000000000 0x58 atmel_start.o - .debug_macro 0x0000000000000000 0x341 atmel_start.o - .debug_macro 0x0000000000000000 0x82 atmel_start.o - .debug_macro 0x0000000000000000 0x189 atmel_start.o - .debug_macro 0x0000000000000000 0xb8 atmel_start.o - .debug_macro 0x0000000000000000 0xa0 atmel_start.o - .debug_macro 0x0000000000000000 0xb2 atmel_start.o - .debug_macro 0x0000000000000000 0x1c atmel_start.o - .debug_macro 0x0000000000000000 0x1c atmel_start.o - .debug_macro 0x0000000000000000 0x1c atmel_start.o - .debug_macro 0x0000000000000000 0x7c atmel_start.o - .debug_macro 0x0000000000000000 0x15a atmel_start.o - .debug_macro 0x0000000000000000 0x10 atmel_start.o - .debug_macro 0x0000000000000000 0xdc atmel_start.o - .debug_macro 0x0000000000000000 0x124 atmel_start.o - .debug_macro 0x0000000000000000 0x124 atmel_start.o - .debug_macro 0x0000000000000000 0x124 atmel_start.o - .debug_macro 0x0000000000000000 0x124 atmel_start.o - .debug_macro 0x0000000000000000 0x124 atmel_start.o - .debug_macro 0x0000000000000000 0x124 atmel_start.o - .debug_macro 0x0000000000000000 0x124 atmel_start.o - .debug_macro 0x0000000000000000 0xe2 atmel_start.o - .debug_macro 0x0000000000000000 0xe2 atmel_start.o - .debug_macro 0x0000000000000000 0xe2 atmel_start.o - .debug_macro 0x0000000000000000 0xe2 atmel_start.o - .debug_macro 0x0000000000000000 0xe2 atmel_start.o - .debug_macro 0x0000000000000000 0x12a atmel_start.o - .debug_macro 0x0000000000000000 0x100 atmel_start.o - .debug_macro 0x0000000000000000 0xf4 atmel_start.o - .debug_macro 0x0000000000000000 0x40f atmel_start.o - .debug_macro 0x0000000000000000 0x40 atmel_start.o - .debug_macro 0x0000000000000000 0x392 atmel_start.o - .debug_macro 0x0000000000000000 0x1fb0 atmel_start.o - .debug_macro 0x0000000000000000 0x6d atmel_start.o - .debug_macro 0x0000000000000000 0x10 atmel_start.o - .debug_macro 0x0000000000000000 0x10 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x4c3 atmel_start.o - .debug_macro 0x0000000000000000 0x94 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x6a atmel_start.o - .debug_macro 0x0000000000000000 0x28c atmel_start.o - .debug_macro 0x0000000000000000 0x4d8 atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0xca atmel_start.o - .debug_macro 0x0000000000000000 0x1c atmel_start.o - .debug_macro 0x0000000000000000 0x16 atmel_start.o - .debug_macro 0x0000000000000000 0x40 atmel_start.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .group 0x0000000000000000 0xc hal/src/hal_atomic.o - .text 0x0000000000000000 0x0 hal/src/hal_atomic.o - .data 0x0000000000000000 0x0 hal/src/hal_atomic.o - .bss 0x0000000000000000 0x0 hal/src/hal_atomic.o - .text.atomic_enter_critical - 0x0000000000000000 0xe hal/src/hal_atomic.o - .text.atomic_leave_critical - 0x0000000000000000 0xc hal/src/hal_atomic.o - .text.atomic_get_version - 0x0000000000000000 0x4 hal/src/hal_atomic.o - .debug_info 0x0000000000000000 0x1ca hal/src/hal_atomic.o - .debug_abbrev 0x0000000000000000 0x15c hal/src/hal_atomic.o - .debug_loclists - 0x0000000000000000 0x22 hal/src/hal_atomic.o - .debug_aranges - 0x0000000000000000 0x30 hal/src/hal_atomic.o - .debug_rnglists - 0x0000000000000000 0x1f hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x43e hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x7cc hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16d hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x8e hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x51 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x103 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x1df hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x3f hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x22 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xaf hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x3ad hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x67e hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x8b1 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x22e hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xd5c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x4dc hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x9f6 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x82b hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x45f hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x8f9 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x21c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x735 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x5e hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x632 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x3ac hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xc76 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x1092 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xc4a hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x6ba hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x1b3d hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x143c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x340 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x4c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x58 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x341 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x82 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x189 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xb8 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xa0 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xb2 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x1c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x7c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x15a hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xdc hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x124 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xe2 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x12a hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x100 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xf4 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x40f hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x40 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x392 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x1fb0 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x6d hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x4c3 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x94 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x6a hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x28c hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x4d8 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x16 hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0xca hal/src/hal_atomic.o - .debug_macro 0x0000000000000000 0x10 hal/src/hal_atomic.o - .debug_line 0x0000000000000000 0x778 hal/src/hal_atomic.o - .debug_str 0x0000000000000000 0x7903f hal/src/hal_atomic.o - .comment 0x0000000000000000 0x33 hal/src/hal_atomic.o - .debug_frame 0x0000000000000000 0x40 hal/src/hal_atomic.o - .ARM.attributes - 0x0000000000000000 0x2c hal/src/hal_atomic.o - .text 0x0000000000000000 0x114 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .debug_frame 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .debug_line 0x0000000000000000 0x56 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .debug_info 0x0000000000000000 0x25 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivsi3.o) - .text 0x0000000000000000 0x1d4 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .debug_frame 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .debug_line 0x0000000000000000 0x5d /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .debug_info 0x0000000000000000 0x25 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divsi3.o) - .text 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .debug_line 0x0000000000000000 0x4a /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .debug_info 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_dvmd_tls.o) - .text 0x0000000000000000 0x48 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .debug_line 0x0000000000000000 0x55 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .debug_info 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_ldivmod.o) - .text 0x0000000000000000 0x40 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .debug_line 0x0000000000000000 0x55 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .debug_info 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_aeabi_uldivmod.o) - .text 0x0000000000000000 0x5c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .debug_info 0x0000000000000000 0x40e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .debug_abbrev 0x0000000000000000 0x152 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .debug_loclists - 0x0000000000000000 0x144 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .debug_rnglists - 0x0000000000000000 0x22 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .debug_line 0x0000000000000000 0x17b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .debug_str 0x0000000000000000 0x68f /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .debug_frame 0x0000000000000000 0x34 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_muldi3.o) - .text 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .debug_info 0x0000000000000000 0x31e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .debug_abbrev 0x0000000000000000 0xed /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .debug_loclists - 0x0000000000000000 0x25 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .debug_line 0x0000000000000000 0xeb /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .debug_str 0x0000000000000000 0x67e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .debug_frame 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_fixunsdfsi.o) - .text 0x0000000000000000 0x198 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .ARM.extab 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .ARM.exidx 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .debug_info 0x0000000000000000 0x391 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .debug_abbrev 0x0000000000000000 0x120 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .debug_loclists - 0x0000000000000000 0x29b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .debug_line 0x0000000000000000 0x1f5 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .debug_str 0x0000000000000000 0x665 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_udivmoddi4.o) - .text 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .debug_info 0x0000000000000000 0xf0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .debug_abbrev 0x0000000000000000 0xc8 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .debug_loclists - 0x0000000000000000 0x87 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .debug_line 0x0000000000000000 0xc9 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .debug_str 0x0000000000000000 0x1ef /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .debug_frame 0x0000000000000000 0x38 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(bpabi.o) - .text 0x0000000000000000 0x5d8 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .rodata 0x0000000000000000 0x40 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .debug_info 0x0000000000000000 0x7ae /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .debug_abbrev 0x0000000000000000 0x16b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .debug_loclists - 0x0000000000000000 0x16ca /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .debug_rnglists - 0x0000000000000000 0x15e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .debug_line 0x0000000000000000 0xb5e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .debug_str 0x0000000000000000 0x3f0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(divdf3.o) - .text 0x0000000000000000 0x584 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .debug_info 0x0000000000000000 0x7b1 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .debug_abbrev 0x0000000000000000 0x17d /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .debug_loclists - 0x0000000000000000 0xd27 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .debug_rnglists - 0x0000000000000000 0x18b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .debug_line 0x0000000000000000 0xa33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .debug_str 0x0000000000000000 0x437 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(muldf3.o) - .text 0x0000000000000000 0x6dc /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .debug_info 0x0000000000000000 0x58c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .debug_abbrev 0x0000000000000000 0x16e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .debug_loclists - 0x0000000000000000 0x1070 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .debug_rnglists - 0x0000000000000000 0x30f /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .debug_line 0x0000000000000000 0xf7b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .debug_str 0x0000000000000000 0x31d /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(subdf3.o) - .text 0x0000000000000000 0x6c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .debug_info 0x0000000000000000 0x1c3 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .debug_abbrev 0x0000000000000000 0x156 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .debug_loclists - 0x0000000000000000 0xad /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .debug_rnglists - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .debug_line 0x0000000000000000 0x180 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .debug_str 0x0000000000000000 0x22a /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .debug_frame 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(fixdfsi.o) - .text 0x0000000000000000 0x5c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .debug_info 0x0000000000000000 0x28b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .debug_abbrev 0x0000000000000000 0x16d /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .debug_loclists - 0x0000000000000000 0x19d /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .debug_rnglists - 0x0000000000000000 0x49 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .debug_line 0x0000000000000000 0x1f6 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .debug_str 0x0000000000000000 0x2cb /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .debug_frame 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatsidf.o) - .text 0x0000000000000000 0x48 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .debug_info 0x0000000000000000 0x280 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .debug_abbrev 0x0000000000000000 0x16c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .debug_loclists - 0x0000000000000000 0x17b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .debug_rnglists - 0x0000000000000000 0x52 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .debug_line 0x0000000000000000 0x201 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .debug_str 0x0000000000000000 0x2c7 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .debug_frame 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(floatunsidf.o) - .text 0x0000000000000000 0x7c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .debug_line 0x0000000000000000 0x62 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .debug_info 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_arm_cmpdf2.o) - .text 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .debug_line 0x0000000000000000 0x5e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .debug_info 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzsi2.o) - .text 0x0000000000000000 0x18 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .debug_line 0x0000000000000000 0x54 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .debug_info 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_clzdi2.o) - .text 0x0000000000000000 0x1cc /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .ARM.extab 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .ARM.exidx 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .debug_info 0x0000000000000000 0x4bf /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .debug_abbrev 0x0000000000000000 0x1bc /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .debug_loclists - 0x0000000000000000 0x314 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .debug_rnglists - 0x0000000000000000 0x1b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .debug_line 0x0000000000000000 0x23b /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .debug_str 0x0000000000000000 0x692 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_divdi3.o) - .text 0x0000000000000000 0x84 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .debug_info 0x0000000000000000 0x233 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .debug_abbrev 0x0000000000000000 0x157 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .debug_loclists - 0x0000000000000000 0xae /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .debug_rnglists - 0x0000000000000000 0x23 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .debug_line 0x0000000000000000 0x15a /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .debug_str 0x0000000000000000 0x22a /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .debug_frame 0x0000000000000000 0x38 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(eqdf2.o) - .text 0x0000000000000000 0xcc /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .debug_info 0x0000000000000000 0x251 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .debug_abbrev 0x0000000000000000 0x159 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .debug_loclists - 0x0000000000000000 0x1e6 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .debug_rnglists - 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .debug_line 0x0000000000000000 0x1df /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .debug_str 0x0000000000000000 0x24e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .debug_frame 0x0000000000000000 0x34 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(gedf2.o) - .text 0x0000000000000000 0xc8 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .debug_info 0x0000000000000000 0x251 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .debug_abbrev 0x0000000000000000 0x159 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .debug_loclists - 0x0000000000000000 0x1bd /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .debug_rnglists - 0x0000000000000000 0x2e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .debug_line 0x0000000000000000 0x1d7 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .debug_str 0x0000000000000000 0x24e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .debug_frame 0x0000000000000000 0x34 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(ledf2.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) - .text.atexit 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) - .text.exit 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) - .text.__libc_fini_array - 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - .data._impure_ptr - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - .data.impure_data - 0x0000000000000000 0x60 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - .rodata._global_impure_ptr - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) - .text._printf_r - 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) - .text.printf 0x0000000000000000 0x34 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-printf.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - .text.__register_exitproc - 0x0000000000000000 0xa0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - .bss._global_atexit0 - 0x0000000000000000 0x8c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - .data.__atexit_dummy - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) - .text.__call_exitprocs - 0x0000000000000000 0xa0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) - .bss._global_atexit - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__fp_lock - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.std 0x0000000000000000 0x48 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text._cleanup_r - 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__fp_unlock - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__sfmoreglue - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text._cleanup - 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__sinit 0x0000000000000000 0x64 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__sfp 0x0000000000000000 0x7c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__sfp_lock_acquire - 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__sfp_lock_release - 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__sinit_lock_acquire - 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__sinit_lock_release - 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__fp_lock_all - 0x0000000000000000 0x18 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text.__fp_unlock_all - 0x0000000000000000 0x18 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .rodata.__sf_fake_stderr - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .rodata.__sf_fake_stdin - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .rodata.__sf_fake_stdout - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-findfp.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fwalk.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fwalk.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fwalk.o) - .text._fwalk 0x0000000000000000 0x36 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fwalk.o) - .text._fwalk_reent - 0x0000000000000000 0x40 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fwalk.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fwalk.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fwalk.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .text.sbrk_aligned - 0x0000000000000000 0x44 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .text._malloc_r - 0x0000000000000000 0xf0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .bss.__malloc_free_list - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .bss.__malloc_sbrk_start - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-mallocr.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .text.__sfputc_r - 0x0000000000000000 0x2a /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .text.__sfputs_r - 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .text.__sprint_r - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .rodata._vfprintf_r.str1.1 - 0x0000000000000000 0x11 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .text._vfprintf_r - 0x0000000000000000 0x238 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .text.vfprintf - 0x0000000000000000 0x18 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - .text._printf_common - 0x0000000000000000 0xde /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - .rodata._printf_i.str1.1 - 0x0000000000000000 0x22 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - .text._printf_i - 0x0000000000000000 0x220 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-vfprintf_i.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) - .text._sbrk_r 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-sbrkr.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .text.__sread 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .text.__seofread - 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .text.__swrite - 0x0000000000000000 0x38 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .text.__sseek 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .text.__sclose - 0x0000000000000000 0xc /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-stdio.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wbuf.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wbuf.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wbuf.o) - .text.__swbuf_r - 0x0000000000000000 0xac /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wbuf.o) - .text.__swbuf 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wbuf.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wbuf.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wbuf.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-writer.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-writer.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-writer.o) - .text._write_r - 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-writer.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-writer.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-writer.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) - .text.__swsetup_r - 0x0000000000000000 0xf0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-wsetup.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-closer.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-closer.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-closer.o) - .text._close_r - 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-closer.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-closer.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-closer.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - .text.__sflush_r - 0x0000000000000000 0x114 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - .text._fflush_r - 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - .text.fflush 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fflush.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) - .text.__sfvwrite_r - 0x0000000000000000 0x2bc /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fvwrite.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lseekr.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lseekr.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lseekr.o) - .text._lseek_r - 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lseekr.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lseekr.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lseekr.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) - .text.__swhatbuf_r - 0x0000000000000000 0x50 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) - .text.__smakebuf_r - 0x0000000000000000 0x84 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-makebuf.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) - .text.memchr 0x0000000000000000 0x16 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memchr-stub.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) - .text.memmove 0x0000000000000000 0x26 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memmove.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) - .text.__malloc_lock - 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) - .text.__malloc_unlock - 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-mlock.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) - .text._free_r 0x0000000000000000 0x94 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-freer.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) - .text._realloc_r - 0x0000000000000000 0x5e /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-reallocr.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-readr.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-readr.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-readr.o) - .text._read_r 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-readr.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-readr.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-readr.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - .text.cleanup_glue - 0x0000000000000000 0x1a /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - .text._reclaim_reent - 0x0000000000000000 0xcc /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - .bss.errno 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-reent.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fstatr.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fstatr.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fstatr.o) - .text._fstat_r - 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fstatr.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fstatr.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fstatr.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isattyr.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isattyr.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isattyr.o) - .text._isatty_r - 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isattyr.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isattyr.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-isattyr.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) - .text._malloc_usable_size_r - 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) - .comment 0x0000000000000000 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) - .ARM.attributes - 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-nano-msizer.o) - .text 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .debug_line 0x0000000000000000 0x53 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .debug_line_str - 0x0000000000000000 0xda /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .debug_info 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .debug_aranges - 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .debug_str 0x0000000000000000 0x82 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o - .rodata 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o - .eh_frame 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o - .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtn.o - .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtn.o - .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtn.o - -Memory Configuration - -Name Origin Length Attributes -rom 0x0000000000000000 0x0000000000040000 xr -ram 0x0000000020000000 0x0000000000008000 xrw -*default* 0x0000000000000000 0xffffffffffffffff - -Linker script and memory map - -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crti.o -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o -LOAD hal/src/hal_io.o -LOAD samd21a/gcc/gcc/startup_samd21.o -LOAD hal/utils/src/utils_syscalls.o -LOAD hal/src/hal_delay.o -LOAD hpl/pm/hpl_pm.o -LOAD hpl/core/hpl_init.o -LOAD hal/utils/src/utils_list.o -LOAD hpl/core/hpl_core_m0plus_base.o -LOAD hal/utils/src/utils_assert.o -LOAD hpl/dmac/hpl_dmac.o -LOAD hpl/sysctrl/hpl_sysctrl.o -LOAD hal/src/hal_usart_sync.o -LOAD hpl/gclk/hpl_gclk.o -LOAD hal/src/hal_init.o -LOAD main.o -LOAD samd21a/gcc/system_samd21.o -LOAD examples/driver_examples.o -LOAD driver_init.o -LOAD hpl/sercom/hpl_sercom.o -LOAD hal/src/hal_gpio.o -LOAD hal/utils/src/utils_event.o -LOAD hal/src/hal_sleep.o -LOAD atmel_start.o -LOAD hal/src/hal_atomic.o -START GROUP -END GROUP -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libstdc++.a -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libm.a -START GROUP -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a -END GROUP -START GROUP -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/libgcc.a -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a -END GROUP -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o -LOAD /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtn.o - 0x0000000000002000 STACK_SIZE = DEFINED (STACK_SIZE)?STACK_SIZE:DEFINED (__stack_size__)?__stack_size__:0x2000 - -.text 0x0000000000000000 0x69c - 0x0000000000000000 . = ALIGN (0x4) - 0x0000000000000000 _sfixed = . - *(.vectors .vectors.*) - .vectors 0x0000000000000000 0xb4 samd21a/gcc/gcc/startup_samd21.o - 0x0000000000000000 exception_table - *(.text .text.* .gnu.linkonce.t.*) - .text 0x00000000000000b4 0x98 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - .text.Dummy_Handler - 0x000000000000014c 0x2 samd21a/gcc/gcc/startup_samd21.o - 0x000000000000014c SVCall_Handler - 0x000000000000014c DMAC_Handler - 0x000000000000014c HardFault_Handler - 0x000000000000014c AC_Handler - 0x000000000000014c SysTick_Handler - 0x000000000000014c PendSV_Handler - 0x000000000000014c TC7_Handler - 0x000000000000014c SERCOM1_Handler - 0x000000000000014c ADC_Handler - 0x000000000000014c NonMaskableInt_Handler - 0x000000000000014c TCC1_Handler - 0x000000000000014c SERCOM2_Handler - 0x000000000000014c TCC0_Handler - 0x000000000000014c RTC_Handler - 0x000000000000014c EIC_Handler - 0x000000000000014c TC6_Handler - 0x000000000000014c WDT_Handler - 0x000000000000014c TC4_Handler - 0x000000000000014c USB_Handler - 0x000000000000014c TC3_Handler - 0x000000000000014c Dummy_Handler - 0x000000000000014c PM_Handler - 0x000000000000014c SERCOM5_Handler - 0x000000000000014c TCC2_Handler - 0x000000000000014c EVSYS_Handler - 0x000000000000014c SERCOM3_Handler - 0x000000000000014c SERCOM4_Handler - 0x000000000000014c I2S_Handler - 0x000000000000014c NVMCTRL_Handler - 0x000000000000014c SERCOM0_Handler - 0x000000000000014c DAC_Handler - 0x000000000000014c PTC_Handler - 0x000000000000014c TC5_Handler - 0x000000000000014c SYSCTRL_Handler - *fill* 0x000000000000014e 0x2 - .text.Reset_Handler - 0x0000000000000150 0xd0 samd21a/gcc/gcc/startup_samd21.o - 0x0000000000000150 Reset_Handler - .text._pm_init - 0x0000000000000220 0x20 hpl/pm/hpl_pm.o - 0x0000000000000220 _pm_init - .text._init_chip - 0x0000000000000240 0x30 hpl/core/hpl_init.o - 0x0000000000000240 _init_chip - .text.assert 0x0000000000000270 0x8 hal/utils/src/utils_assert.o - 0x0000000000000270 assert - .text._sysctrl_init_sources - 0x0000000000000278 0x48 hpl/sysctrl/hpl_sysctrl.o - 0x0000000000000278 _sysctrl_init_sources - .text._sysctrl_init_referenced_generators - 0x00000000000002c0 0x10 hpl/sysctrl/hpl_sysctrl.o - 0x00000000000002c0 _sysctrl_init_referenced_generators - .text.usart_sync_write - 0x00000000000002d0 0x74 hal/src/hal_usart_sync.o - .text.usart_sync_read - 0x0000000000000344 0x5c hal/src/hal_usart_sync.o - .text.usart_sync_init - 0x00000000000003a0 0x44 hal/src/hal_usart_sync.o - 0x00000000000003a0 usart_sync_init - .text._gclk_init_generators_by_fref - 0x00000000000003e4 0x20 hpl/gclk/hpl_gclk.o - 0x00000000000003e4 _gclk_init_generators_by_fref - .text.startup.main - 0x0000000000000404 0xc main.o - 0x0000000000000404 main - .text.USART_0_PORT_init - 0x0000000000000410 0x3c driver_init.o - 0x0000000000000410 USART_0_PORT_init - .text.USART_0_CLOCK_init - 0x000000000000044c 0x20 driver_init.o - 0x000000000000044c USART_0_CLOCK_init - .text.USART_0_init - 0x000000000000046c 0x2c driver_init.o - 0x000000000000046c USART_0_init - .text.system_init - 0x0000000000000498 0x14 driver_init.o - 0x0000000000000498 system_init - .text.hri_sercomi2cm_wait_for_sync - 0x00000000000004ac 0x8 hpl/sercom/hpl_sercom.o - .text.hri_sercomi2cm_clear_CTRLA_ENABLE_bit - 0x00000000000004b4 0x18 hpl/sercom/hpl_sercom.o - .text.hri_sercomi2cm_write_CTRLA_reg - 0x00000000000004cc 0x10 hpl/sercom/hpl_sercom.o - .text._usart_init - 0x00000000000004dc 0x9c hpl/sercom/hpl_sercom.o - .text._usart_sync_init - 0x0000000000000578 0x28 hpl/sercom/hpl_sercom.o - 0x0000000000000578 _usart_sync_init - .text._usart_sync_write_byte - 0x00000000000005a0 0x6 hpl/sercom/hpl_sercom.o - 0x00000000000005a0 _usart_sync_write_byte - .text._usart_sync_read_byte - 0x00000000000005a6 0x8 hpl/sercom/hpl_sercom.o - 0x00000000000005a6 _usart_sync_read_byte - .text._usart_sync_is_ready_to_send - 0x00000000000005ae 0xa hpl/sercom/hpl_sercom.o - 0x00000000000005ae _usart_sync_is_ready_to_send - .text._usart_sync_is_transmit_done - 0x00000000000005b8 0xa hpl/sercom/hpl_sercom.o - 0x00000000000005b8 _usart_sync_is_transmit_done - .text._usart_sync_is_byte_received - 0x00000000000005c2 0xa hpl/sercom/hpl_sercom.o - 0x00000000000005c2 _usart_sync_is_byte_received - .text.atmel_start_init - 0x00000000000005cc 0xc atmel_start.o - 0x00000000000005cc atmel_start_init - .text.__libc_init_array - 0x00000000000005d8 0x48 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) - 0x00000000000005d8 __libc_init_array - .text.memcpy 0x0000000000000620 0x12 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) - 0x0000000000000620 memcpy - .text.memset 0x0000000000000632 0x10 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) - 0x0000000000000632 memset - *(.glue_7t) - .glue_7t 0x0000000000000642 0x0 linker stubs - *(.glue_7) - .glue_7 0x0000000000000642 0x0 linker stubs - *(.rodata .rodata* .gnu.linkonce.r.*) - .rodata.str1.1 - 0x0000000000000642 0x1c hal/src/hal_usart_sync.o - .rodata.str1.1 - 0x000000000000065e 0x1b hpl/sercom/hpl_sercom.o - *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x000000000000067c . = ALIGN (0x4) - *fill* 0x0000000000000679 0x3 - *(.init) - .init 0x000000000000067c 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crti.o - 0x000000000000067c _init - .init 0x0000000000000680 0x8 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtn.o - 0x0000000000000688 . = ALIGN (0x4) - 0x0000000000000688 __preinit_array_start = . - *(.preinit_array) - 0x0000000000000688 __preinit_array_end = . - 0x0000000000000688 . = ALIGN (0x4) - 0x0000000000000688 __init_array_start = . - *(SORT_BY_NAME(.init_array.*)) - *(.init_array) - .init_array 0x0000000000000688 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - 0x000000000000068c __init_array_end = . - 0x000000000000068c . = ALIGN (0x4) - *crtbegin.o(.ctors) - *(EXCLUDE_FILE(*crtend.o) .ctors) - *(SORT_BY_NAME(.ctors.*)) - *crtend.o(.ctors) - 0x000000000000068c . = ALIGN (0x4) - *(.fini) - .fini 0x000000000000068c 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crti.o - 0x000000000000068c _fini - .fini 0x0000000000000690 0x8 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtn.o - 0x0000000000000698 . = ALIGN (0x4) - 0x0000000000000698 __fini_array_start = . - *(.fini_array) - .fini_array 0x0000000000000698 0x4 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - *(SORT_BY_NAME(.fini_array.*)) - 0x000000000000069c __fini_array_end = . - *crtbegin.o(.dtors) - *(EXCLUDE_FILE(*crtend.o) .dtors) - *(SORT_BY_NAME(.dtors.*)) - *crtend.o(.dtors) - 0x000000000000069c . = ALIGN (0x4) - 0x000000000000069c _efixed = . - [!provide] PROVIDE (__exidx_start = .) - -.vfp11_veneer 0x000000000000069c 0x0 - .vfp11_veneer 0x000000000000069c 0x0 linker stubs - -.v4_bx 0x000000000000069c 0x0 - .v4_bx 0x000000000000069c 0x0 linker stubs - -.iplt 0x000000000000069c 0x0 - .iplt 0x000000000000069c 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - -.eh_frame 0x000000000000069c 0x0 - .eh_frame 0x000000000000069c 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - -.rel.dyn 0x000000000000069c 0x0 - .rel.iplt 0x000000000000069c 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - -.tm_clone_table - 0x000000000000069c 0x0 - .tm_clone_table - 0x000000000000069c 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - .tm_clone_table - 0x000000000000069c 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o - -.igot.plt 0x000000000000069c 0x0 - .igot.plt 0x000000000000069c 0x0 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - -.ARM.exidx - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - [!provide] PROVIDE (__exidx_end = .) - 0x000000000000069c . = ALIGN (0x4) - 0x000000000000069c _etext = . - -.relocate 0x0000000020000000 0x0 load address 0x000000000000069c - 0x0000000020000000 . = ALIGN (0x4) - 0x0000000020000000 _srelocate = . - *(.ramfunc .ramfunc.*) - *(.data .data.*) - 0x0000000020000000 . = ALIGN (0x4) - 0x0000000020000000 _erelocate = . - -.bss 0x0000000020000000 0x28 - 0x0000000020000000 . = ALIGN (0x4) - 0x0000000020000000 _sbss = . - 0x0000000020000000 _szero = . - *(.bss .bss.*) - .bss 0x0000000020000000 0x1c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - .bss 0x000000002000001c 0xc driver_init.o - 0x000000002000001c USART_0 - *(COMMON) - 0x0000000020000028 . = ALIGN (0x4) - 0x0000000020000028 _ebss = . - 0x0000000020000028 _ezero = . - -.stack 0x0000000020000028 0x2000 - 0x0000000020000028 . = ALIGN (0x8) - 0x0000000020000028 _sstack = . - 0x0000000020002028 . = (. + STACK_SIZE) - *fill* 0x0000000020000028 0x2000 - 0x0000000020002028 . = ALIGN (0x8) - 0x0000000020002028 _estack = . - 0x0000000020002028 . = ALIGN (0x4) - 0x0000000020002028 _end = . -OUTPUT(AtmelStart.elf elf32-littlearm) -LOAD linker stubs - -.ARM.attributes - 0x0000000000000000 0x28 - .ARM.attributes - 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crti.o - .ARM.attributes - 0x000000000000001e 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - .ARM.attributes - 0x000000000000004a 0x2c samd21a/gcc/gcc/startup_samd21.o - .ARM.attributes - 0x0000000000000076 0x2c hpl/pm/hpl_pm.o - .ARM.attributes - 0x00000000000000a2 0x2c hpl/core/hpl_init.o - .ARM.attributes - 0x00000000000000ce 0x2c hal/utils/src/utils_assert.o - .ARM.attributes - 0x00000000000000fa 0x2c hpl/sysctrl/hpl_sysctrl.o - .ARM.attributes - 0x0000000000000126 0x2c hal/src/hal_usart_sync.o - .ARM.attributes - 0x0000000000000152 0x2c hpl/gclk/hpl_gclk.o - .ARM.attributes - 0x000000000000017e 0x2c main.o - .ARM.attributes - 0x00000000000001aa 0x2c driver_init.o - .ARM.attributes - 0x00000000000001d6 0x2c hpl/sercom/hpl_sercom.o - .ARM.attributes - 0x0000000000000202 0x2c atmel_start.o - .ARM.attributes - 0x000000000000022e 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) - .ARM.attributes - 0x000000000000025a 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) - .ARM.attributes - 0x0000000000000286 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) - .ARM.attributes - 0x00000000000002b2 0x2c /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o - .ARM.attributes - 0x00000000000002de 0x1e /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtn.o - -.comment 0x0000000000000000 0x64 - .comment 0x0000000000000000 0x32 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtbegin.o - 0x33 (size before relaxing) - .comment 0x0000000000000032 0x33 samd21a/gcc/gcc/startup_samd21.o - .comment 0x0000000000000032 0x33 hpl/pm/hpl_pm.o - .comment 0x0000000000000032 0x33 hpl/core/hpl_init.o - .comment 0x0000000000000032 0x33 hal/utils/src/utils_assert.o - .comment 0x0000000000000032 0x33 hpl/sysctrl/hpl_sysctrl.o - .comment 0x0000000000000032 0x33 hal/src/hal_usart_sync.o - .comment 0x0000000000000032 0x33 hpl/gclk/hpl_gclk.o - .comment 0x0000000000000032 0x33 main.o - .comment 0x0000000000000032 0x33 driver_init.o - .comment 0x0000000000000032 0x33 hpl/sercom/hpl_sercom.o - .comment 0x0000000000000032 0x33 atmel_start.o - .comment 0x0000000000000032 0x32 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) - 0x33 (size before relaxing) - .comment 0x0000000000000064 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) - .comment 0x0000000000000064 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) - .comment 0x0000000000000064 0x33 /usr/lib/gcc/arm-none-eabi/11.2.1/thumb/v6-m/nofp/crtend.o - -.debug_info 0x0000000000000000 0x17fc9 - .debug_info 0x0000000000000000 0x3620 samd21a/gcc/gcc/startup_samd21.o - .debug_info 0x0000000000003620 0xb48 hpl/pm/hpl_pm.o - .debug_info 0x0000000000004168 0x5c5 hpl/core/hpl_init.o - .debug_info 0x000000000000472d 0xd4 hal/utils/src/utils_assert.o - .debug_info 0x0000000000004801 0x1125 hpl/sysctrl/hpl_sysctrl.o - .debug_info 0x0000000000005926 0xd19 hal/src/hal_usart_sync.o - .debug_info 0x000000000000663f 0x493 hpl/gclk/hpl_gclk.o - .debug_info 0x0000000000006ad2 0x99 main.o - .debug_info 0x0000000000006b6b 0x6e08 driver_init.o - .debug_info 0x000000000000d973 0xa5c1 hpl/sercom/hpl_sercom.o - .debug_info 0x0000000000017f34 0x95 atmel_start.o - -.debug_abbrev 0x0000000000000000 0x19c0 - .debug_abbrev 0x0000000000000000 0x2c7 samd21a/gcc/gcc/startup_samd21.o - .debug_abbrev 0x00000000000002c7 0x277 hpl/pm/hpl_pm.o - .debug_abbrev 0x000000000000053e 0x1fb hpl/core/hpl_init.o - .debug_abbrev 0x0000000000000739 0x6a hal/utils/src/utils_assert.o - .debug_abbrev 0x00000000000007a3 0x242 hpl/sysctrl/hpl_sysctrl.o - .debug_abbrev 0x00000000000009e5 0x27b hal/src/hal_usart_sync.o - .debug_abbrev 0x0000000000000c60 0x202 hpl/gclk/hpl_gclk.o - .debug_abbrev 0x0000000000000e62 0x63 main.o - .debug_abbrev 0x0000000000000ec5 0x3f8 driver_init.o - .debug_abbrev 0x00000000000012bd 0x6a2 hpl/sercom/hpl_sercom.o - .debug_abbrev 0x000000000000195f 0x61 atmel_start.o - -.debug_aranges 0x0000000000000000 0x6f8 - .debug_aranges - 0x0000000000000000 0x28 samd21a/gcc/gcc/startup_samd21.o - .debug_aranges - 0x0000000000000028 0x30 hpl/pm/hpl_pm.o - .debug_aranges - 0x0000000000000058 0x20 hpl/core/hpl_init.o - .debug_aranges - 0x0000000000000078 0x20 hal/utils/src/utils_assert.o - .debug_aranges - 0x0000000000000098 0x28 hpl/sysctrl/hpl_sysctrl.o - .debug_aranges - 0x00000000000000c0 0xa8 hal/src/hal_usart_sync.o - .debug_aranges - 0x0000000000000168 0x28 hpl/gclk/hpl_gclk.o - .debug_aranges - 0x0000000000000190 0x20 main.o - .debug_aranges - 0x00000000000001b0 0x38 driver_init.o - .debug_aranges - 0x00000000000001e8 0x4f0 hpl/sercom/hpl_sercom.o - .debug_aranges - 0x00000000000006d8 0x20 atmel_start.o - -.debug_rnglists - 0x0000000000000000 0xc33 - .debug_rnglists - 0x0000000000000000 0x1a samd21a/gcc/gcc/startup_samd21.o - .debug_rnglists - 0x000000000000001a 0x37 hpl/pm/hpl_pm.o - .debug_rnglists - 0x0000000000000051 0x22 hpl/core/hpl_init.o - .debug_rnglists - 0x0000000000000073 0x13 hal/utils/src/utils_assert.o - .debug_rnglists - 0x0000000000000086 0x61 hpl/sysctrl/hpl_sysctrl.o - .debug_rnglists - 0x00000000000000e7 0x79 hal/src/hal_usart_sync.o - .debug_rnglists - 0x0000000000000160 0x19 hpl/gclk/hpl_gclk.o - .debug_rnglists - 0x0000000000000179 0x13 main.o - .debug_rnglists - 0x000000000000018c 0x85 driver_init.o - .debug_rnglists - 0x0000000000000211 0xa0f hpl/sercom/hpl_sercom.o - .debug_rnglists - 0x0000000000000c20 0x13 atmel_start.o - -.debug_macro 0x0000000000000000 0x4179 - .debug_macro 0x0000000000000000 0x310 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000310 0x39 samd21a/gcc/gcc/startup_samd21.o - .debug_macro 0x0000000000000349 0x47d hpl/pm/hpl_pm.o - .debug_macro 0x00000000000007c6 0x10 hpl/pm/hpl_pm.o - .debug_macro 0x00000000000007d6 0x28 hpl/pm/hpl_pm.o - .debug_macro 0x00000000000007fe 0x2e hpl/pm/hpl_pm.o - .debug_macro 0x000000000000082c 0x4b8 hpl/core/hpl_init.o - .debug_macro 0x0000000000000ce4 0x1c hpl/core/hpl_init.o - .debug_macro 0x0000000000000d00 0x6ec hpl/core/hpl_init.o - .debug_macro 0x00000000000013ec 0x447 hal/utils/src/utils_assert.o - .debug_macro 0x0000000000001833 0x454 hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000001c87 0x2da hpl/sysctrl/hpl_sysctrl.o - .debug_macro 0x0000000000001f61 0x478 hal/src/hal_usart_sync.o - .debug_macro 0x00000000000023d9 0x45a hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000002833 0x1f3 hpl/gclk/hpl_gclk.o - .debug_macro 0x0000000000002a26 0x4f8 main.o - .debug_macro 0x0000000000002f1e 0x40 main.o - .debug_macro 0x0000000000002f5e 0x515 driver_init.o - .debug_macro 0x0000000000003473 0x686 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000003af9 0x70 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000003b69 0xba hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000003c23 0x10 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000003c33 0x1c hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000003c4f 0x22 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000003c71 0x10 hpl/sercom/hpl_sercom.o - .debug_macro 0x0000000000003c81 0x4f8 atmel_start.o - -.debug_line 0x0000000000000000 0xa266 - .debug_line 0x0000000000000000 0x54a samd21a/gcc/gcc/startup_samd21.o - .debug_line 0x000000000000054a 0x865 hpl/pm/hpl_pm.o - .debug_line 0x0000000000000daf 0x817 hpl/core/hpl_init.o - .debug_line 0x00000000000015c6 0x70c hal/utils/src/utils_assert.o - .debug_line 0x0000000000001cd2 0x8d4 hpl/sysctrl/hpl_sysctrl.o - .debug_line 0x00000000000025a6 0xbbc hal/src/hal_usart_sync.o - .debug_line 0x0000000000003162 0x7dc hpl/gclk/hpl_gclk.o - .debug_line 0x000000000000393e 0x818 main.o - .debug_line 0x0000000000004156 0xa92 driver_init.o - .debug_line 0x0000000000004be8 0x4e6e hpl/sercom/hpl_sercom.o - .debug_line 0x0000000000009a56 0x810 atmel_start.o - -.debug_str 0x0000000000000000 0x836b7 - .debug_str 0x0000000000000000 0x71169 samd21a/gcc/gcc/startup_samd21.o - 0x715a4 (size before relaxing) - .debug_str 0x0000000000071169 0x9195 hpl/pm/hpl_pm.o - 0x796e6 (size before relaxing) - .debug_str 0x000000000007a2fe 0x17c1 hpl/core/hpl_init.o - 0x7ab87 (size before relaxing) - .debug_str 0x000000000007babf 0x36 hal/utils/src/utils_assert.o - 0x7903b (size before relaxing) - .debug_str 0x000000000007baf5 0x11e7 hpl/sysctrl/hpl_sysctrl.o - 0x7a31e (size before relaxing) - .debug_str 0x000000000007ccdc 0x9ff hal/src/hal_usart_sync.o - 0x79b92 (size before relaxing) - .debug_str 0x000000000007d6db 0x8ce hpl/gclk/hpl_gclk.o - 0x79967 (size before relaxing) - .debug_str 0x000000000007dfa9 0x1a1 main.o - 0x792fe (size before relaxing) - .debug_str 0x000000000007e14a 0xbd1 driver_init.o - 0x7b5f4 (size before relaxing) - .debug_str 0x000000000007ed1b 0x498b hpl/sercom/hpl_sercom.o - 0x7ebbb (size before relaxing) - .debug_str 0x00000000000836a6 0x11 atmel_start.o - 0x7930c (size before relaxing) - -.debug_frame 0x0000000000000000 0x1350 - .debug_frame 0x0000000000000000 0x3c samd21a/gcc/gcc/startup_samd21.o - .debug_frame 0x000000000000003c 0x40 hpl/pm/hpl_pm.o - .debug_frame 0x000000000000007c 0x28 hpl/core/hpl_init.o - .debug_frame 0x00000000000000a4 0x20 hal/utils/src/utils_assert.o - .debug_frame 0x00000000000000c4 0x30 hpl/sysctrl/hpl_sysctrl.o - .debug_frame 0x00000000000000f4 0x1f8 hal/src/hal_usart_sync.o - .debug_frame 0x00000000000002ec 0x30 hpl/gclk/hpl_gclk.o - .debug_frame 0x000000000000031c 0x28 main.o - .debug_frame 0x0000000000000344 0x6c driver_init.o - .debug_frame 0x00000000000003b0 0xf78 hpl/sercom/hpl_sercom.o - .debug_frame 0x0000000000001328 0x28 atmel_start.o - -.debug_loclists - 0x0000000000000000 0x46a0 - .debug_loclists - 0x0000000000000000 0xbb hpl/pm/hpl_pm.o - .debug_loclists - 0x00000000000000bb 0x28 hpl/core/hpl_init.o - .debug_loclists - 0x00000000000000e3 0x122 hpl/sysctrl/hpl_sysctrl.o - .debug_loclists - 0x0000000000000205 0x41d hal/src/hal_usart_sync.o - .debug_loclists - 0x0000000000000622 0x8e hpl/gclk/hpl_gclk.o - .debug_loclists - 0x00000000000006b0 0x221 driver_init.o - .debug_loclists - 0x00000000000008d1 0x3dcf hpl/sercom/hpl_sercom.o diff --git a/software/firmware/oracle_d21_edition/gcc/atmel_start.d b/software/firmware/oracle_d21_edition/gcc/atmel_start.d deleted file mode 100644 index 65a08cd..0000000 --- a/software/firmware/oracle_d21_edition/gcc/atmel_start.d +++ /dev/null @@ -1,194 +0,0 @@ -atmel_start.d atmel_start.o: ../atmel_start.c ../atmel_start.h \ - ../driver_init.h ../atmel_start_pins.h ../hal/include/hal_gpio.h \ - ../hal/include/hpl_gpio.h ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ - /usr/arm-none-eabi/include/stdint.h \ - /usr/arm-none-eabi/include/machine/_default_types.h \ - /usr/arm-none-eabi/include/sys/features.h \ - /usr/arm-none-eabi/include/_newlib_version.h \ - /usr/arm-none-eabi/include/sys/_intsup.h \ - /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ - ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ - ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ - ../CMSIS/Core/Include/cmsis_version.h \ - ../CMSIS/Core/Include/cmsis_compiler.h ../CMSIS/Core/Include/cmsis_gcc.h \ - ../samd21a/include/system_samd21.h ../samd21a/include/component/ac.h \ - ../samd21a/include/component/adc.h ../samd21a/include/component/dac.h \ - ../samd21a/include/component/dmac.h ../samd21a/include/component/dsu.h \ - ../samd21a/include/component/eic.h ../samd21a/include/component/evsys.h \ - ../samd21a/include/component/gclk.h \ - ../samd21a/include/component/hmatrixb.h \ - ../samd21a/include/component/i2s.h ../samd21a/include/component/mtb.h \ - ../samd21a/include/component/nvmctrl.h \ - ../samd21a/include/component/pac.h ../samd21a/include/component/pm.h \ - ../samd21a/include/component/port.h ../samd21a/include/component/rtc.h \ - ../samd21a/include/component/sercom.h \ - ../samd21a/include/component/sysctrl.h ../samd21a/include/component/tc.h \ - ../samd21a/include/component/tcc.h ../samd21a/include/component/usb.h \ - ../samd21a/include/component/wdt.h ../samd21a/include/instance/ac.h \ - ../samd21a/include/instance/adc.h ../samd21a/include/instance/dac.h \ - ../samd21a/include/instance/dmac.h ../samd21a/include/instance/dsu.h \ - ../samd21a/include/instance/eic.h ../samd21a/include/instance/evsys.h \ - ../samd21a/include/instance/gclk.h \ - ../samd21a/include/instance/sbmatrix.h ../samd21a/include/instance/i2s.h \ - ../samd21a/include/instance/mtb.h ../samd21a/include/instance/nvmctrl.h \ - ../samd21a/include/instance/pac0.h ../samd21a/include/instance/pac1.h \ - ../samd21a/include/instance/pac2.h ../samd21a/include/instance/pm.h \ - ../samd21a/include/instance/port.h ../samd21a/include/instance/ptc.h \ - ../samd21a/include/instance/rtc.h ../samd21a/include/instance/sercom0.h \ - ../samd21a/include/instance/sercom1.h \ - ../samd21a/include/instance/sercom2.h \ - ../samd21a/include/instance/sercom3.h \ - ../samd21a/include/instance/sercom4.h \ - ../samd21a/include/instance/sercom5.h \ - ../samd21a/include/instance/sysctrl.h ../samd21a/include/instance/tc3.h \ - ../samd21a/include/instance/tc4.h ../samd21a/include/instance/tc5.h \ - ../samd21a/include/instance/tc6.h ../samd21a/include/instance/tc7.h \ - ../samd21a/include/instance/tcc0.h ../samd21a/include/instance/tcc1.h \ - ../samd21a/include/instance/tcc2.h ../samd21a/include/instance/usb.h \ - ../samd21a/include/instance/wdt.h ../samd21a/include/pio/samd21j18a.h \ - ../hri/hri_d21.h ../samd21a/include/sam.h ../hri/hri_ac_d21.h \ - ../hal/include/hal_atomic.h ../hri/hri_adc_d21.h ../hri/hri_dac_d21.h \ - ../hri/hri_dmac_d21.h ../hri/hri_dsu_d21.h ../hri/hri_eic_d21.h \ - ../hri/hri_evsys_d21.h ../hri/hri_gclk_d21.h ../hri/hri_hmatrixb_d21.h \ - ../hri/hri_i2s_d21.h ../hri/hri_mtb_d21.h ../hri/hri_nvic_d21.h \ - ../hri/hri_nvmctrl_d21.h ../hri/hri_pac_d21.h ../hri/hri_pm_d21.h \ - ../hri/hri_port_d21.h ../hri/hri_rtc_d21.h ../hri/hri_sercom_d21.h \ - ../hri/hri_sysctrl_d21.h ../hri/hri_systemcontrol_d21.h \ - ../hri/hri_systick_d21.h ../hri/hri_tc_d21.h ../hri/hri_tcc_d21.h \ - ../hri/hri_usb_d21.h ../hri/hri_wdt_d21.h \ - ../hal/utils/include/err_codes.h ../hpl/port/hpl_gpio_base.h \ - ../hal/utils/include/utils_assert.h ../hal/include/hal_delay.h \ - ../hal/include/hpl_irq.h ../hal/include/hpl_reset.h \ - ../hal/include/hpl_sleep.h ../hal/include/hal_init.h \ - ../hal/include/hpl_init.h ../hal/include/hal_io.h \ - ../hal/include/hal_sleep.h ../hal/include/hal_usart_sync.h \ - ../hal/include/hal_io.h ../hal/include/hpl_usart_sync.h \ - ../hal/include/hpl_usart.h -../atmel_start.h: -../driver_init.h: -../atmel_start_pins.h: -../hal/include/hal_gpio.h: -../hal/include/hpl_gpio.h: -../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: -/usr/arm-none-eabi/include/stdint.h: -/usr/arm-none-eabi/include/machine/_default_types.h: -/usr/arm-none-eabi/include/sys/features.h: -/usr/arm-none-eabi/include/_newlib_version.h: -/usr/arm-none-eabi/include/sys/_intsup.h: -/usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: -../hal/utils/include/parts.h: -../samd21a/include/samd21.h: -../samd21a/include/samd21j18a.h: -../CMSIS/Core/Include/core_cm0plus.h: -../CMSIS/Core/Include/cmsis_version.h: -../CMSIS/Core/Include/cmsis_compiler.h: -../CMSIS/Core/Include/cmsis_gcc.h: -../samd21a/include/system_samd21.h: -../samd21a/include/component/ac.h: -../samd21a/include/component/adc.h: -../samd21a/include/component/dac.h: -../samd21a/include/component/dmac.h: -../samd21a/include/component/dsu.h: -../samd21a/include/component/eic.h: -../samd21a/include/component/evsys.h: -../samd21a/include/component/gclk.h: -../samd21a/include/component/hmatrixb.h: -../samd21a/include/component/i2s.h: -../samd21a/include/component/mtb.h: -../samd21a/include/component/nvmctrl.h: -../samd21a/include/component/pac.h: -../samd21a/include/component/pm.h: -../samd21a/include/component/port.h: -../samd21a/include/component/rtc.h: -../samd21a/include/component/sercom.h: -../samd21a/include/component/sysctrl.h: -../samd21a/include/component/tc.h: -../samd21a/include/component/tcc.h: -../samd21a/include/component/usb.h: -../samd21a/include/component/wdt.h: -../samd21a/include/instance/ac.h: -../samd21a/include/instance/adc.h: -../samd21a/include/instance/dac.h: -../samd21a/include/instance/dmac.h: -../samd21a/include/instance/dsu.h: -../samd21a/include/instance/eic.h: -../samd21a/include/instance/evsys.h: -../samd21a/include/instance/gclk.h: -../samd21a/include/instance/sbmatrix.h: -../samd21a/include/instance/i2s.h: -../samd21a/include/instance/mtb.h: -../samd21a/include/instance/nvmctrl.h: -../samd21a/include/instance/pac0.h: -../samd21a/include/instance/pac1.h: -../samd21a/include/instance/pac2.h: -../samd21a/include/instance/pm.h: -../samd21a/include/instance/port.h: -../samd21a/include/instance/ptc.h: -../samd21a/include/instance/rtc.h: -../samd21a/include/instance/sercom0.h: -../samd21a/include/instance/sercom1.h: -../samd21a/include/instance/sercom2.h: -../samd21a/include/instance/sercom3.h: -../samd21a/include/instance/sercom4.h: -../samd21a/include/instance/sercom5.h: -../samd21a/include/instance/sysctrl.h: -../samd21a/include/instance/tc3.h: -../samd21a/include/instance/tc4.h: -../samd21a/include/instance/tc5.h: -../samd21a/include/instance/tc6.h: -../samd21a/include/instance/tc7.h: -../samd21a/include/instance/tcc0.h: -../samd21a/include/instance/tcc1.h: -../samd21a/include/instance/tcc2.h: -../samd21a/include/instance/usb.h: -../samd21a/include/instance/wdt.h: -../samd21a/include/pio/samd21j18a.h: -../hri/hri_d21.h: -../samd21a/include/sam.h: -../hri/hri_ac_d21.h: -../hal/include/hal_atomic.h: -../hri/hri_adc_d21.h: -../hri/hri_dac_d21.h: -../hri/hri_dmac_d21.h: -../hri/hri_dsu_d21.h: -../hri/hri_eic_d21.h: -../hri/hri_evsys_d21.h: -../hri/hri_gclk_d21.h: -../hri/hri_hmatrixb_d21.h: -../hri/hri_i2s_d21.h: -../hri/hri_mtb_d21.h: -../hri/hri_nvic_d21.h: -../hri/hri_nvmctrl_d21.h: -../hri/hri_pac_d21.h: -../hri/hri_pm_d21.h: -../hri/hri_port_d21.h: -../hri/hri_rtc_d21.h: -../hri/hri_sercom_d21.h: -../hri/hri_sysctrl_d21.h: -../hri/hri_systemcontrol_d21.h: -../hri/hri_systick_d21.h: -../hri/hri_tc_d21.h: -../hri/hri_tcc_d21.h: -../hri/hri_usb_d21.h: -../hri/hri_wdt_d21.h: -../hal/utils/include/err_codes.h: -../hpl/port/hpl_gpio_base.h: -../hal/utils/include/utils_assert.h: -../hal/include/hal_delay.h: -../hal/include/hpl_irq.h: -../hal/include/hpl_reset.h: -../hal/include/hpl_sleep.h: -../hal/include/hal_init.h: -../hal/include/hpl_init.h: -../hal/include/hal_io.h: -../hal/include/hal_sleep.h: -../hal/include/hal_usart_sync.h: -../hal/include/hal_io.h: -../hal/include/hpl_usart_sync.h: -../hal/include/hpl_usart.h: diff --git a/software/firmware/oracle_d21_edition/gcc/atmel_start.o b/software/firmware/oracle_d21_edition/gcc/atmel_start.o deleted file mode 100644 index 268c7e5e768cd49d486654442230234e928cc8bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 687828 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%0D*HT~vCnM}#zG6rIXWS6WdoHbYr+9dFhp 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
    oN%KoWT>& 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

    SP2e-UjrRJZo%=%)I86WVU66?Ev~wpxel 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
    @#QHR^0J_rmbJ-hJ) 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

    v&^? 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 diff --git a/software/firmware/oracle_d21_edition/gcc/compile_commands.json b/software/firmware/oracle_d21_edition/gcc/compile_commands.json deleted file mode 100644 index c1523d7..0000000 --- a/software/firmware/oracle_d21_edition/gcc/compile_commands.json +++ /dev/null @@ -1,986 +0,0 @@ -[ - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThpl/gclk/hpl_gclk.d", - "-MThpl/gclk/hpl_gclk.o", - "-o", - "hpl/gclk/hpl_gclk.o", - "../hpl/gclk/hpl_gclk.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hpl/gclk/hpl_gclk.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MTmain.d", - "-MTmain.o", - "-o", - "main.o", - "../main.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../main.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/src/hal_atomic.d", - "-MThal/src/hal_atomic.o", - "-o", - "hal/src/hal_atomic.o", - "../hal/src/hal_atomic.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/src/hal_atomic.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThpl/core/hpl_init.d", - "-MThpl/core/hpl_init.o", - "-o", - "hpl/core/hpl_init.o", - "../hpl/core/hpl_init.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hpl/core/hpl_init.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThpl/core/hpl_core_m0plus_base.d", - "-MThpl/core/hpl_core_m0plus_base.o", - "-o", - "hpl/core/hpl_core_m0plus_base.o", - "../hpl/core/hpl_core_m0plus_base.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hpl/core/hpl_core_m0plus_base.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/src/hal_usart_sync.d", - "-MThal/src/hal_usart_sync.o", - "-o", - "hal/src/hal_usart_sync.o", - "../hal/src/hal_usart_sync.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/src/hal_usart_sync.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThpl/sysctrl/hpl_sysctrl.d", - "-MThpl/sysctrl/hpl_sysctrl.o", - "-o", - "hpl/sysctrl/hpl_sysctrl.o", - "../hpl/sysctrl/hpl_sysctrl.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hpl/sysctrl/hpl_sysctrl.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/src/hal_io.d", - "-MThal/src/hal_io.o", - "-o", - "hal/src/hal_io.o", - "../hal/src/hal_io.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/src/hal_io.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MTatmel_start.d", - "-MTatmel_start.o", - "-o", - "atmel_start.o", - "../atmel_start.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../atmel_start.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/src/hal_gpio.d", - "-MThal/src/hal_gpio.o", - "-o", - "hal/src/hal_gpio.o", - "../hal/src/hal_gpio.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/src/hal_gpio.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThpl/dmac/hpl_dmac.d", - "-MThpl/dmac/hpl_dmac.o", - "-o", - "hpl/dmac/hpl_dmac.o", - "../hpl/dmac/hpl_dmac.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hpl/dmac/hpl_dmac.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/utils/src/utils_list.d", - "-MThal/utils/src/utils_list.o", - "-o", - "hal/utils/src/utils_list.o", - "../hal/utils/src/utils_list.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/utils/src/utils_list.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/utils/src/utils_event.d", - "-MThal/utils/src/utils_event.o", - "-o", - "hal/utils/src/utils_event.o", - "../hal/utils/src/utils_event.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/utils/src/utils_event.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/utils/src/utils_syscalls.d", - "-MThal/utils/src/utils_syscalls.o", - "-o", - "hal/utils/src/utils_syscalls.o", - "../hal/utils/src/utils_syscalls.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/utils/src/utils_syscalls.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/utils/src/utils_assert.d", - "-MThal/utils/src/utils_assert.o", - "-o", - "hal/utils/src/utils_assert.o", - "../hal/utils/src/utils_assert.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/utils/src/utils_assert.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/src/hal_sleep.d", - "-MThal/src/hal_sleep.o", - "-o", - "hal/src/hal_sleep.o", - "../hal/src/hal_sleep.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/src/hal_sleep.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThpl/sercom/hpl_sercom.d", - "-MThpl/sercom/hpl_sercom.o", - "-o", - "hpl/sercom/hpl_sercom.o", - "../hpl/sercom/hpl_sercom.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hpl/sercom/hpl_sercom.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MTexamples/driver_examples.d", - "-MTexamples/driver_examples.o", - "-o", - "examples/driver_examples.o", - "../examples/driver_examples.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../examples/driver_examples.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MTsamd21a/gcc/system_samd21.d", - "-MTsamd21a/gcc/system_samd21.o", - "-o", - "samd21a/gcc/system_samd21.o", - "../samd21a/gcc/system_samd21.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../samd21a/gcc/system_samd21.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/src/hal_delay.d", - "-MThal/src/hal_delay.o", - "-o", - "hal/src/hal_delay.o", - "../hal/src/hal_delay.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/src/hal_delay.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MTsamd21a/gcc/gcc/startup_samd21.d", - "-MTsamd21a/gcc/gcc/startup_samd21.o", - "-o", - "samd21a/gcc/gcc/startup_samd21.o", - "../samd21a/gcc/gcc/startup_samd21.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../samd21a/gcc/gcc/startup_samd21.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThpl/pm/hpl_pm.d", - "-MThpl/pm/hpl_pm.o", - "-o", - "hpl/pm/hpl_pm.o", - "../hpl/pm/hpl_pm.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hpl/pm/hpl_pm.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MThal/src/hal_init.d", - "-MThal/src/hal_init.o", - "-o", - "hal/src/hal_init.o", - "../hal/src/hal_init.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../hal/src/hal_init.c" - }, - { - "arguments": [ - "arm-none-eabi-g++", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAMD21J18A__", - "-mcpu=cortex-m0plus", - "-I../", - "-I../config", - "-I../examples", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/gclk", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/sercom", - "-I../hpl/sysctrl", - "-I../hri", - "-I../", - "-I../CMSIS/Core/Include", - "-I../samd21a/include", - "-MTdriver_init.d", - "-MTdriver_init.o", - "-o", - "driver_init.o", - "../driver_init.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_d21_edition/gcc", - "file": "../driver_init.c" - } -] \ No newline at end of file diff --git a/software/firmware/oracle_d21_edition/gcc/driver_init.d b/software/firmware/oracle_d21_edition/gcc/driver_init.d deleted file mode 100644 index 37d1866..0000000 --- a/software/firmware/oracle_d21_edition/gcc/driver_init.d +++ /dev/null @@ -1,199 +0,0 @@ -driver_init.d driver_init.o: ../driver_init.c ../driver_init.h \ - ../atmel_start_pins.h ../hal/include/hal_gpio.h \ - ../hal/include/hpl_gpio.h ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ - /usr/arm-none-eabi/include/stdint.h \ - /usr/arm-none-eabi/include/machine/_default_types.h \ - /usr/arm-none-eabi/include/sys/features.h \ - /usr/arm-none-eabi/include/_newlib_version.h \ - /usr/arm-none-eabi/include/sys/_intsup.h \ - /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ - ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ - ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ - ../CMSIS/Core/Include/cmsis_version.h \ - ../CMSIS/Core/Include/cmsis_compiler.h ../CMSIS/Core/Include/cmsis_gcc.h \ - ../samd21a/include/system_samd21.h ../samd21a/include/component/ac.h \ - ../samd21a/include/component/adc.h ../samd21a/include/component/dac.h \ - ../samd21a/include/component/dmac.h ../samd21a/include/component/dsu.h \ - ../samd21a/include/component/eic.h ../samd21a/include/component/evsys.h \ - ../samd21a/include/component/gclk.h \ - ../samd21a/include/component/hmatrixb.h \ - ../samd21a/include/component/i2s.h ../samd21a/include/component/mtb.h \ - ../samd21a/include/component/nvmctrl.h \ - ../samd21a/include/component/pac.h ../samd21a/include/component/pm.h \ - ../samd21a/include/component/port.h ../samd21a/include/component/rtc.h \ - ../samd21a/include/component/sercom.h \ - ../samd21a/include/component/sysctrl.h ../samd21a/include/component/tc.h \ - ../samd21a/include/component/tcc.h ../samd21a/include/component/usb.h \ - ../samd21a/include/component/wdt.h ../samd21a/include/instance/ac.h \ - ../samd21a/include/instance/adc.h ../samd21a/include/instance/dac.h \ - ../samd21a/include/instance/dmac.h ../samd21a/include/instance/dsu.h \ - ../samd21a/include/instance/eic.h ../samd21a/include/instance/evsys.h \ - ../samd21a/include/instance/gclk.h \ - ../samd21a/include/instance/sbmatrix.h ../samd21a/include/instance/i2s.h \ - ../samd21a/include/instance/mtb.h ../samd21a/include/instance/nvmctrl.h \ - ../samd21a/include/instance/pac0.h ../samd21a/include/instance/pac1.h \ - ../samd21a/include/instance/pac2.h ../samd21a/include/instance/pm.h \ - ../samd21a/include/instance/port.h ../samd21a/include/instance/ptc.h \ - ../samd21a/include/instance/rtc.h ../samd21a/include/instance/sercom0.h \ - ../samd21a/include/instance/sercom1.h \ - ../samd21a/include/instance/sercom2.h \ - ../samd21a/include/instance/sercom3.h \ - ../samd21a/include/instance/sercom4.h \ - ../samd21a/include/instance/sercom5.h \ - ../samd21a/include/instance/sysctrl.h ../samd21a/include/instance/tc3.h \ - ../samd21a/include/instance/tc4.h ../samd21a/include/instance/tc5.h \ - ../samd21a/include/instance/tc6.h ../samd21a/include/instance/tc7.h \ - ../samd21a/include/instance/tcc0.h ../samd21a/include/instance/tcc1.h \ - ../samd21a/include/instance/tcc2.h ../samd21a/include/instance/usb.h \ - ../samd21a/include/instance/wdt.h ../samd21a/include/pio/samd21j18a.h \ - ../hri/hri_d21.h ../samd21a/include/sam.h ../hri/hri_ac_d21.h \ - ../hal/include/hal_atomic.h ../hri/hri_adc_d21.h ../hri/hri_dac_d21.h \ - ../hri/hri_dmac_d21.h ../hri/hri_dsu_d21.h ../hri/hri_eic_d21.h \ - ../hri/hri_evsys_d21.h ../hri/hri_gclk_d21.h ../hri/hri_hmatrixb_d21.h \ - ../hri/hri_i2s_d21.h ../hri/hri_mtb_d21.h ../hri/hri_nvic_d21.h \ - ../hri/hri_nvmctrl_d21.h ../hri/hri_pac_d21.h ../hri/hri_pm_d21.h \ - ../hri/hri_port_d21.h ../hri/hri_rtc_d21.h ../hri/hri_sercom_d21.h \ - ../hri/hri_sysctrl_d21.h ../hri/hri_systemcontrol_d21.h \ - ../hri/hri_systick_d21.h ../hri/hri_tc_d21.h ../hri/hri_tcc_d21.h \ - ../hri/hri_usb_d21.h ../hri/hri_wdt_d21.h \ - ../hal/utils/include/err_codes.h ../hpl/port/hpl_gpio_base.h \ - ../hal/utils/include/utils_assert.h ../hal/include/hal_delay.h \ - ../hal/include/hpl_irq.h ../hal/include/hpl_reset.h \ - ../hal/include/hpl_sleep.h ../hal/include/hal_init.h \ - ../hal/include/hpl_init.h ../hal/include/hal_io.h \ - ../hal/include/hal_sleep.h ../hal/include/hal_usart_sync.h \ - ../hal/include/hal_io.h ../hal/include/hpl_usart_sync.h \ - ../hal/include/hpl_usart.h ../config/peripheral_clk_config.h \ - ../hal/utils/include/utils.h ../hpl/gclk/hpl_gclk_base.h \ - ../hpl/pm/hpl_pm_base.h -../driver_init.h: -../atmel_start_pins.h: -../hal/include/hal_gpio.h: -../hal/include/hpl_gpio.h: -../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: -/usr/arm-none-eabi/include/stdint.h: -/usr/arm-none-eabi/include/machine/_default_types.h: -/usr/arm-none-eabi/include/sys/features.h: -/usr/arm-none-eabi/include/_newlib_version.h: -/usr/arm-none-eabi/include/sys/_intsup.h: -/usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: -../hal/utils/include/parts.h: -../samd21a/include/samd21.h: -../samd21a/include/samd21j18a.h: -../CMSIS/Core/Include/core_cm0plus.h: -../CMSIS/Core/Include/cmsis_version.h: -../CMSIS/Core/Include/cmsis_compiler.h: -../CMSIS/Core/Include/cmsis_gcc.h: -../samd21a/include/system_samd21.h: -../samd21a/include/component/ac.h: -../samd21a/include/component/adc.h: -../samd21a/include/component/dac.h: -../samd21a/include/component/dmac.h: -../samd21a/include/component/dsu.h: -../samd21a/include/component/eic.h: -../samd21a/include/component/evsys.h: -../samd21a/include/component/gclk.h: -../samd21a/include/component/hmatrixb.h: -../samd21a/include/component/i2s.h: -../samd21a/include/component/mtb.h: -../samd21a/include/component/nvmctrl.h: -../samd21a/include/component/pac.h: -../samd21a/include/component/pm.h: -../samd21a/include/component/port.h: -../samd21a/include/component/rtc.h: -../samd21a/include/component/sercom.h: -../samd21a/include/component/sysctrl.h: -../samd21a/include/component/tc.h: -../samd21a/include/component/tcc.h: -../samd21a/include/component/usb.h: -../samd21a/include/component/wdt.h: -../samd21a/include/instance/ac.h: -../samd21a/include/instance/adc.h: -../samd21a/include/instance/dac.h: -../samd21a/include/instance/dmac.h: -../samd21a/include/instance/dsu.h: -../samd21a/include/instance/eic.h: -../samd21a/include/instance/evsys.h: -../samd21a/include/instance/gclk.h: -../samd21a/include/instance/sbmatrix.h: -../samd21a/include/instance/i2s.h: -../samd21a/include/instance/mtb.h: -../samd21a/include/instance/nvmctrl.h: -../samd21a/include/instance/pac0.h: -../samd21a/include/instance/pac1.h: -../samd21a/include/instance/pac2.h: -../samd21a/include/instance/pm.h: -../samd21a/include/instance/port.h: -../samd21a/include/instance/ptc.h: -../samd21a/include/instance/rtc.h: -../samd21a/include/instance/sercom0.h: -../samd21a/include/instance/sercom1.h: -../samd21a/include/instance/sercom2.h: -../samd21a/include/instance/sercom3.h: -../samd21a/include/instance/sercom4.h: -../samd21a/include/instance/sercom5.h: -../samd21a/include/instance/sysctrl.h: -../samd21a/include/instance/tc3.h: -../samd21a/include/instance/tc4.h: -../samd21a/include/instance/tc5.h: -../samd21a/include/instance/tc6.h: -../samd21a/include/instance/tc7.h: -../samd21a/include/instance/tcc0.h: -../samd21a/include/instance/tcc1.h: -../samd21a/include/instance/tcc2.h: -../samd21a/include/instance/usb.h: -../samd21a/include/instance/wdt.h: -../samd21a/include/pio/samd21j18a.h: -../hri/hri_d21.h: -../samd21a/include/sam.h: -../hri/hri_ac_d21.h: -../hal/include/hal_atomic.h: -../hri/hri_adc_d21.h: -../hri/hri_dac_d21.h: -../hri/hri_dmac_d21.h: -../hri/hri_dsu_d21.h: -../hri/hri_eic_d21.h: -../hri/hri_evsys_d21.h: -../hri/hri_gclk_d21.h: -../hri/hri_hmatrixb_d21.h: -../hri/hri_i2s_d21.h: -../hri/hri_mtb_d21.h: -../hri/hri_nvic_d21.h: -../hri/hri_nvmctrl_d21.h: -../hri/hri_pac_d21.h: -../hri/hri_pm_d21.h: -../hri/hri_port_d21.h: -../hri/hri_rtc_d21.h: -../hri/hri_sercom_d21.h: -../hri/hri_sysctrl_d21.h: -../hri/hri_systemcontrol_d21.h: -../hri/hri_systick_d21.h: -../hri/hri_tc_d21.h: -../hri/hri_tcc_d21.h: -../hri/hri_usb_d21.h: -../hri/hri_wdt_d21.h: -../hal/utils/include/err_codes.h: -../hpl/port/hpl_gpio_base.h: -../hal/utils/include/utils_assert.h: -../hal/include/hal_delay.h: -../hal/include/hpl_irq.h: -../hal/include/hpl_reset.h: -../hal/include/hpl_sleep.h: -../hal/include/hal_init.h: -../hal/include/hpl_init.h: -../hal/include/hal_io.h: -../hal/include/hal_sleep.h: -../hal/include/hal_usart_sync.h: -../hal/include/hal_io.h: -../hal/include/hpl_usart_sync.h: -../hal/include/hpl_usart.h: -../config/peripheral_clk_config.h: -../hal/utils/include/utils.h: -../hpl/gclk/hpl_gclk_base.h: -../hpl/pm/hpl_pm_base.h: diff --git a/software/firmware/oracle_d21_edition/gcc/driver_init.o b/software/firmware/oracle_d21_edition/gcc/driver_init.o deleted file mode 100644 index afed5d30cbd52631ddc6e03f26a02c1976686619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 739264 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
  2. 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

    }hPbQg;X$NWXq!mRVN_Z)b$J55aFafmG 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

    iX>4NWDbfO*aBe0fjF_$Y@m29KdR9+1UdEuz%$j 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

    jdN4DF41Do84Fmjrsdy?yOH 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

    Xj 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

    Qc#b$&1Qi}fp^;w)ODq=w=8 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⪚Vw-Dx$sD^kk9-4nm%z%oOat_1GBVD#B$ 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%0D#v?cTrr+ujOHbT44g#bGY7aVVr7e1+HCUJpB- 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̾=2uy7}ArK%dsI^R5b<{NE%x(o#U z`XRuEc#8lzBA<~Du}Xl#=GY0)?qq zgm|C%##P^J$2w;gAAsi3vPuTHe9AC!4kGQFT3iQi zDs(W>6;IEzwR>G_?b?VlJzTQnHN;OIRI11k;(uqXBmehiao>A9*7kUs$4XYQv#nuS zxm#890&q5Otm)GtM^M2Ws;1(lbXJ4^h<#>R^F-!9taP>QIr#r3=H|Gbwu)Vj!u0n1Y zvQ#nQu!5{xW6(4UfHVJQL~Gy-S?=3RHbREdt|+mnhh-mv zOF6xkK4>+T_2=kvt=pv~5&ZJw&maHxuR&p8daxZAl;zD(o>l1@vJ&>gB}EJ~^dtw^!Fse*L9V8Ljd5M8!p`;8cB z){hT&$3I`+%Rzvh+fn&<_hE!QNzCbow`;u<)(&2zKY&@$_-u}GE`?2~BXCqY8X%g=iUr14D(KTsEnYVWaZo<0#BAqQv#^GsL)=NGQlBWs*x`y{BKXF30h3d3Evd z;%fh=A79R1Kzw-d;upX#Qe(cnd=Y=h@XOgtq|^Z^Sz>4QFEh3JCN>SMq=x-)_vX!Y z_V0m`xPLEojv*1e+~3{ap*C&hituQwS2-~>8>T_yz3Xrf^#mv0?s1yu-CRquWAA`d z0h4P#f~Uno0W@{??V|R2Svy=o-7GF>G*FA&qZ`!?gu;Z2<6AU70LE8!1^DjVh0gO@ znO8^|I;$v<%^jy;=Y}FvS&N(qx;05B2(fTL6%M7o1-H}B&q{^1!$p;OubhTTO4m>z z6i2Oi!7QL})@D2@o1iX4(FpwWpc$}A0ILcX&=}5Lz*rN^5Qo2pdO{Ti+po&|Xu#=Y zXIMTxGZn?|aR2ZFtOA9zO4e4z|L_?CW9?;s*=SH+W&B5_Z|nSKTF6`GJyJh>yQg7YIuXh6Lk*VDU%RLU&XryG7({W(0PdR#w-e2e;@<@L2uU!MBcPAQ}~3XV4&Lg-fU zt+!6JmW0(_^|Kw{A&1MIjC7W+NaTCnO95zAZ1wcGuYP;C-XBn~u=ej*50J^Jx-3`~ zwStLmwqal8E0=0AzQdM6BpP;<;clbqwn@Xz5Qt=Zv9NBx0iDz=Fh}TW$oH~yudF(# z>;e(#YAIj~YooB$#RlZ^SR3WBU2iXU2-vPc&LvLn51O9X90fa5B&3bEC=%fbD(2UP zb#<6FzYa*erHGdmS~R^Ni^SJLZvFTPW$1qX?(@f=;AYU6k01zvkzy`FFw$;+g+v{w zDAeTSbdgS^LG?jg!&;2)&GKrC5*ni1;EI?m*1rg#XS9Ey30u!y!+VGF$bUct<7#y} zU%g(O%u$_x`0)GT^kTXA70f1yYUqXnK;w@S{y622SCH7^EQjEjB7_x=IT~orv>mVO zZYfFdl1n4etT#*%mT26GKuqKjehf!hZ?4oS`>J(MZNTBWe;;ko${C6Wk;WJT0d0Y& z5z>cbnE7nELKQ<;aNm6Ra{u|`r_Ue1{Nv5%Prv+x5~uEp>I~@{?)O)O=Q)`b{vNW5 zXr3v$GDp)C`w9_;pkHH4BG6O(in!{~eYt>S5Y9?tU+-x59w?^%8?_q?B@0L!X z&a7UI#@-CwQtoY-5-C;R?B5?H6Unm!4fP>3BGmSg~kt zsuR#4aSz_LL;6+UrEJ=9nyAYhtCRmfJtMS!fW4uoDgzn#XXruWp^gsJnM5F|jJIKo zh$>mF``mWCov7amItH4V`HL8pSQ1>%;?&HTaTbZmp3Q~H7P=7c=!yys7?MC&$)ku~ zlL95ibmTES7HF?``}*{rnW$eh7JbETLTHABM#EA8c0>XRid%I)DcC1ABPmfcIpjFp zogipTg~d|Bvi}3R1saEM+?KcK)QzBS5Lp5AADEI|IA-OCjmszucBCm9CGCFq@4riS znpLx@agZe~V6fmRKOk6q&rnf%zrICndvLV=b>D^VsO*CBXGBD!5VM5GYTQh>ZA1rR zsLU2V8^vmb&w|N&#!5TT^4Vsb+N5vl&30!QoL*buQUxYzMEHc+N!mzQBA7KS6JirX zCYf)wsd`PBUe8c1EGQGi8zR*cQhua}YO>`4EX24uIafB+QF2-;Tb`9Jt(n}GLQ^;l zBzcYW)f4zsD9({D75tOpGl*d%O)(p1XS^bt!n(|K6lS*d?csi8h?|~7=2dil@&ZeH z^gbw>z@YIXonZ&f&NE~miC6f@+9uEtA-9@T+|Lg{fB+P#-ALFqZ~_|jVNnDdDDOZa z)D4rr{*{&{lV8PY3!A{j`sNBDR|y=f99uI%kqT8muXnq9o`7ebRqZ(08+ssha6J;5eXCFx8~;P5ZaO^L!&X637!W;2b|2a;yuiefOo|CKqWE2 z07)KRzkWR*t|<}4*^-h<3&A2L<8W!y60v{|oribu@~Xq<%)>=f5d6R>c#t&H!=ly0 zdV}!!Zl?zs@nh`VsqhU9_ckX8f}e%xj_|z@gXh+R0#y}qq?qQnt}N-vy*9c)p?I}h zWToCqwXST)Q8!ENSm8Wi=URHQ(gA*$p-eUp~8 z)mRsY9GNHlF3Ah8lsb&($j(urMR}sXfBOEz;JvOq1#aId*wkdnr72?V!$RSLDYc5{ zP^0+aRqVVlJ{KCtqq<#%rV4wDQyk7j?j}OlG1s7|9rmRC1=LGjq-}v{lB!1(w&7lf z16SmDfo3Y1zmX}d)#h%@Dn#+vG%}5+*xjAV!%sccs1+)O?}g#>@-0rj0VMK{dV=nb zs+T!1FG$UJs6%TylL!tkzf$A+{_YMYG13EA;JH7*Wyu5(9jK{sqBi559tL9vXhT^YdO9$PoIy9)Bp}Uo+e;n;(NIOS~W*)9*!YE7F#7_5Wp z3-p15X=_B3_ZCNrSSn%E*_m%K7akcT2F3YOKvuDA%+b4zTCJM7M&LUjS|Zzv#I-Iz z5^Y5zbWzRw6I%k?l*5C+ZB+P`@ti?^(*#@PysD)gneK3dcb#->oHa6@kxLi&JI#sG z(FNL<@PD2tO(3`K&-$zB8r2)uV|J*@hOY{~AoI8&A6Tpj;~rS1!HM9$KHeU?L>6d$ zei9(v98e4zZ(LcEdupCc+|$Fjmn)l8BSo zyNl%;wwPjEd1jhEr@)}fi?Ge#?{??G7beC#%wcM#a)?C6B({4A8wHE@_piI;HXfCa zS3dN>I<7E0c(R4cQq<=KyGE1bR)KgH$}7;U5~m&mTN(k>>xu-bi6C_;@{?kFEKD^9 zI{Px3q8p+FWPVmfTxkF%tOTyxTFf;Hs8v)GGi#PR}@Lb#ZxavPBX@I30Ber#cQcO z^jn)>GbII!6F~?a;Ln>jx9zAtnaef73LxTUSxp{utYua~72M35szF~RUhiBA8Jp)1 zmsl<;chs_&My1pr-J78gRrL1n+C4F1q+srNRPPF{b6H4Uv0Yae8|I$J)ESeg1LOUJ zhMBIwrq;=@h(bf~u7S9N4+xygYOOT4q8uccYL=iJnJ(dwCvR0DSsJpgewzjy`8)T? z^TaEmhj9k2fq*mr_0?a)#%OY59s8W1G;sv=OWfU_?`}{@u0A;D8uc7K1PXLssY&v8 z&v!u*I%6HG(3_=%!G%_jHF{5CRY?!B*WGEdKLH^_-ITfnB#j0dNNLACEHS~VR(wMs zDiMP>Kp%pkWr)1O}YDP+DDVmXpT{H-CqNIU;!PjYbBb zD1cGgh2@!E=3Ub)@6in1FtfG2l6ApVd?%P#B0gYBN{Y+|WQ9Jx!{M7N*oUV^9E>~T z^42<%C_=R?`>zcp$_2VIVrXBu8gj?u3bi>DfHBRg_~+X2`c{u=?u_@PmZ3wrqWGDL zE!siTHANM`D*v^rkY%8QGovYrFj??0VG6lc{Hq}4GjlpGdTzG9Q>Z!u4YSpvcoLj+ z+#{;%us;$~k(@i?Ta(lDxC(|-zXJ)aa&i@*J97lMoL3*WSKBRwX+Cj=%2#GGXT-2{ zA*_`#z&W#~4rucvULKU!dxywpAwH?-OFJ%alt-haO_8ghuOHuTFG0N?Q0LJ0w8Vgj z6FoAo*@!05Xr&hjI!B>d6Sxu6<$WTSupb7Mn`arxT)6pKOH9giV0D-V3)kmPy$Wkl z*6Se{hH6l;$SCVk>~TFIGC9iH3{9|%dO z5ckK~3;g;2%=q{J#lMx$``KVoz|<-PM*FeJ2as%lnyYz=8P}G>vJ`1hj9+*F918H) zV2|cPZ?}|+xA0?GE85Tyg z$s2byio zVkZu6M2m?*Nnnqe6pICQgJ|<)q*WV2#NGZMwH|gvLmk-S&J4!gT&Fvcqq#b8nq@RS><25cGzp7sP!jL+ zbW{grk8vwO7Y5Ow-yQSysX(-^7u-kFEj4s31l5W09zV2iYMvyY1oPeH{)z(K@q96) ziV2|kyl7hFuCi=Y1G+Oc1QhXPvPG;)CwbV+U5kEUN4Uz>=DZl(rz$K(?ap*Js;xRm zAmiTzEu(Is;#(nBNh(J|VWw*BOd(81#At)-KHS~F+_kwwFLg;KU`Qcc38wIQE-pZo zt*{W^%1%q_PJC1+NY&;JEO|9wr}~BKVQ{_;gO$_+&W>xacZWWck=T;v8oGTSnVLxoF(%9mk+kLo zjq;mdk8O=eC)jrFub_BKmjlt#fIM2P2WsgzlH;DOBtTc+jH&<*ND?OAC=DdjRcI@+ zmMRI(0A@T#fTdmayi_~ZWrO+4vh%qN#hsN7W+w+jR@p{!52sn^LKtBq13+YT(UAoj zx7#zTE?neJO^87SE0{#c!xjtJ^Gm6eGgP_${=;8CGTl=(G)N4vD8W{Iv$@`F0Ochs z*DZHo#qBKF6Miq(p=O;ppW@m?9Y6^nrFMOFo2s8!fkgNaCx=|5=ue={H84~f-Ws_$ z!VxYA8gxV5v^5|TgPRE%h{5owd%hZ}o{8B*pwg26wW}1Ew|zzTkz^UDjf{dLj!w=4 z?VVe|J__^QAFnt3qeNo{JDTDo5zcu(U?af_$jUwYw2iT9FSZ5O2bwQX*VXhBkgj*v3r9ZcHN!E&2qPu zLK_QYTH$~qQc^#|DpjB?+<>j3`5$C5`VF@W(DDv3uiUcN7z-e2>cTBh35% zpz37UQZ+siGYeIf(eo?+%tN>`djN6+pv@Ju>nb zGsqtSlAW>6@%LsaK=Q~RZx4_6AB<1YJgvE9M-< zD3#M0jE;85vHQW!7OPWHqX13hC4y#gfDCzhg1A5_L^ve4wFOExHF088Uut)q!}iAw zRb?Lfb9|1nKV55<<&a^qc(tms{KMcr>RU^8xO<|x15QWu1Q)SU1SYan5&h8{1E|Yx z2L`4A9|+2mD%Ql(&V@AO-^f$>U>a!Tl5b%|URke1jfX~kGXnQ0O zMxX+G?fSan0BIN7Y5E)mAJY&HJU(X{y+Q;)>Su=?TPG*UHy0d=rlX^#0R1_-X6Hql z`AOFRG`e1MqIOtypz81*?;*}+o(}jIX%T&!B69OYGCT*^QFyebps9}Ok)Tqshz0}% zZ8Fk8TQ8d^KpABx0WPKg8p&KWtY4f-28>vy);D4kO(%hp8dMADr`4p%I3vp1xIUii zr^n%+Nt)=)lS3^>jx{JWCUu-v=pb#Vw#WB^M2XY9ie?Bb;UbAgjIQHOB>@Y}MEQ+o zL_*GLh;%!uUztoxdKThEk)WuK-lAFGAS_Zsjh;wdvT#5zTLIRA1*1(ktTRafG>ekY zx;RMaOi&nFo0_o>nd!~qPAhp+{IFC?+wovIMZZSerU)mf&M?Yc(F%?JgL6Bh}50mxs;z@tj7;L>p`Sv9MLnN|Ob;f;UD*I2f@3 zLMNVQsa#RgEC(Gzo(5skqcd4T=Rxj45`h2+Vh9eiGtC$h>_reD%rBmbA4r`qJArEk zWsT_?It!qR@>|WWv}fD3&J$!r9?>yY2Gn%MI#AP_#Yb16lR+i^skm-pVinhI!E3)& z1myZzRx*((X;Dm_FghnNd4@uoS#JddB&8+;m>LMiQ)IuzA+T9Q-4pSQEQGFu;%5vz zNbQ=g`5JU+*1uA`w<`=28 zmy2COe@p_vSOjFusAgtTyUdxH={6~edjVFphenZIe*HP+NSwq0&(3$(>-Wd&f2)iB zqyfi@yrnTLM^$t%@mKFuiPpGAfoBR{B8WET4x(i!an0 zA8+p8B7U-a*^hKID6gZ4t{lQ_#A=fX7FL`aFcFJ$!}tkpjb^`r3ED-8BDSI@xyc_= zdnd@JlaFS+Lqex!a@{=7rPZ7|=eEmtxGxG7@SwA`fhMm8t#3n(MRCyb*49r@r(Sd~ z`{s=XW%CHq_TR_cc4v{z&@yHM>zFJwGYSvOQ$XHvi2Q!$cVSWVpelXz)h7=Sh5aEg6n15Bcj3QdPyh4VAAb3u+aRWk@w4P?ROlsl;1PlZwEGsb38(NBP&|i&@V6&9p7y88NrL`m2w{YQ+!gNZ#7CooJYe(sdjF?Ne|v78 z0+hz$+G*Z3ZfHoR&Qu>OvXu;wo9PJ!)MF_el;4lm>I#w z&#y{|ZMxRMo;<23qh^G;8A|Cry!Z0swZ*!`0+m>>UZ8Rs%?^>dww`hIM@+bSJN+P1 z$FUxRV2OIZi#c2YXuL?m7Ifud57Rb@vI`*YDTR^JXrwS6mRuDZVu$%q-9&bE6ob9K zLpA07PJYR;T1Lgi<28yTRIu(0{b7HxzWOKZTQ;viQ>131inV-)RVgwnA6$yNcTR~k zusx6Tj+KC2&9TE(Gx*}fYp~S8F$>s=1R!a$Kphm}cuX5cHEUM0(f_`l_#4#{bz5LO zKZh(CHF#lVO12GgO2ORJZ62=IoobEm;%Aufsoq0jPIB~utx*y%-fk)RF4#bpt+U7& z5Fp>ou<>%&yor5O$DG%PJI5cRGDlNW=%s0B&{Am7Fgsc1ozdV+aZD78TiOE~SGX~X z9^ogj0&K4j5OzEAL_4W{g69|ts)_)6jZ#dB3zRTC-AA~n-T=JdszSjh!WqktROGTV z!%ww4PY$-lDvNpkZM3Q;7QCwcxtnj;?9PK35GSqFU#JLG92n9xym)Sj^OtwL2-iBr zP*eq~6%HA>zIy|@v^hYjx;k7Tatbs^qxgoE`ynOLPL+1+ZBBGcrkUD0E3lL@-1t`dUPkc&pKTHi#a2(zH%BYahjBFlLM6zJZ9cKJi$*+F7Q z!sas^(i*L5F76>{v1!fv;RqAhZhyO`dquRQ4185UuWT)_vJ=sJCO%%G=;LBByt1{e z=Ml02Y1a$(tBKx$g9Lbq=n1iUN?9r`jHTCFql=_w$q>rG++U%V9SHdgR=nqrKmKus zj~{bqkAojol_l%02P6C)7DmYvx8F6_X$GelPdiO{j~`B5@rk`Br$(G$bjB5i6uiVJ z8_HWD;p%c$0J5}jep(!4I6l#BK?L(uE+fz$&_99p-0vv1qO||nNdD<5o*{>z%M<}8 z%$5c)>ieQOotlq^kV-l{krhpFY_s-F>l(Dzwp+fu3V*hB(xP6nC}TJ0+uACm#!R8i zH3{S5!giEqDOF0`Oyq!*BL(PjzPVm^02tpT=U>@2?)U4%P~z@$oNa_Z(Br;k${zEn zw?#!O#vGI==|!rhV}VU_!2gX!z>?};S?Mxafoz>>;Yui@9xoYhsddtkPF25z&|6|g`|M-D5ABv1JcURHyNWGRb6MyL__>iuilh`PXSG5H2c8;r3>;T z*^NL)e6(QWIs8nGJF-7VKaIu;*)MKO7cj$q8eucRG{!?6meHBSm5*#7h_60?W^h@w zQCAW*NhEi6$&MEqSh466(+YG7AiO)sbC+S3^6d%&XnI5yzHa61AREvW)*bRA>QA6H zBg75VysAHH%jAg)JFXbR#RVHImI`$jkihRy13--XS8M=z0|^sRn{wCuSA?nZKa`%; z|9tNp4WK2%`$N5<3FT2N;jjXOO3eE$ojH(M(xUv)rc0sHbcErV&ng=<7SOp=iW^qZ zAwi35AUcKsK_ZP@b{r}HH#Vz`=Loc?Z3}@Qty1@4j(2d=1FY4%Qq#ch1l<@NgqkLlt?b4G!!gwX|3#9z5IL?G>

    h}A%feUiVxA%`=Pp-vbhD*h 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 +1FCvS1;xS7AE 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 diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_atomic.d b/software/firmware/oracle_d21_edition/gcc/hal/src/hal_atomic.d deleted file mode 100644 index 8b5e2f9..0000000 --- a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_atomic.d +++ /dev/null @@ -1,166 +0,0 @@ -hal/src/hal_atomic.d hal/src/hal_atomic.o: ../hal/src/hal_atomic.c \ - ../hal/include/hal_atomic.h ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ - /usr/arm-none-eabi/include/stdint.h \ - /usr/arm-none-eabi/include/machine/_default_types.h \ - /usr/arm-none-eabi/include/sys/features.h \ - /usr/arm-none-eabi/include/_newlib_version.h \ - /usr/arm-none-eabi/include/sys/_intsup.h \ - /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ - ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ - ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ - ../CMSIS/Core/Include/cmsis_version.h \ - ../CMSIS/Core/Include/cmsis_compiler.h ../CMSIS/Core/Include/cmsis_gcc.h \ - ../samd21a/include/system_samd21.h ../samd21a/include/component/ac.h \ - ../samd21a/include/component/adc.h ../samd21a/include/component/dac.h \ - ../samd21a/include/component/dmac.h ../samd21a/include/component/dsu.h \ - ../samd21a/include/component/eic.h ../samd21a/include/component/evsys.h \ - ../samd21a/include/component/gclk.h \ - ../samd21a/include/component/hmatrixb.h \ - ../samd21a/include/component/i2s.h ../samd21a/include/component/mtb.h \ - ../samd21a/include/component/nvmctrl.h \ - ../samd21a/include/component/pac.h ../samd21a/include/component/pm.h \ - ../samd21a/include/component/port.h ../samd21a/include/component/rtc.h \ - ../samd21a/include/component/sercom.h \ - ../samd21a/include/component/sysctrl.h ../samd21a/include/component/tc.h \ - ../samd21a/include/component/tcc.h ../samd21a/include/component/usb.h \ - ../samd21a/include/component/wdt.h ../samd21a/include/instance/ac.h \ - ../samd21a/include/instance/adc.h ../samd21a/include/instance/dac.h \ - ../samd21a/include/instance/dmac.h ../samd21a/include/instance/dsu.h \ - ../samd21a/include/instance/eic.h ../samd21a/include/instance/evsys.h \ - ../samd21a/include/instance/gclk.h \ - ../samd21a/include/instance/sbmatrix.h ../samd21a/include/instance/i2s.h \ - ../samd21a/include/instance/mtb.h ../samd21a/include/instance/nvmctrl.h \ - ../samd21a/include/instance/pac0.h ../samd21a/include/instance/pac1.h \ - ../samd21a/include/instance/pac2.h ../samd21a/include/instance/pm.h \ - ../samd21a/include/instance/port.h ../samd21a/include/instance/ptc.h \ - ../samd21a/include/instance/rtc.h ../samd21a/include/instance/sercom0.h \ - ../samd21a/include/instance/sercom1.h \ - ../samd21a/include/instance/sercom2.h \ - ../samd21a/include/instance/sercom3.h \ - ../samd21a/include/instance/sercom4.h \ - ../samd21a/include/instance/sercom5.h \ - ../samd21a/include/instance/sysctrl.h ../samd21a/include/instance/tc3.h \ - ../samd21a/include/instance/tc4.h ../samd21a/include/instance/tc5.h \ - ../samd21a/include/instance/tc6.h ../samd21a/include/instance/tc7.h \ - ../samd21a/include/instance/tcc0.h ../samd21a/include/instance/tcc1.h \ - ../samd21a/include/instance/tcc2.h ../samd21a/include/instance/usb.h \ - ../samd21a/include/instance/wdt.h ../samd21a/include/pio/samd21j18a.h \ - ../hri/hri_d21.h ../samd21a/include/sam.h ../hri/hri_ac_d21.h \ - ../hri/hri_adc_d21.h ../hri/hri_dac_d21.h ../hri/hri_dmac_d21.h \ - ../hri/hri_dsu_d21.h ../hri/hri_eic_d21.h ../hri/hri_evsys_d21.h \ - ../hri/hri_gclk_d21.h ../hri/hri_hmatrixb_d21.h ../hri/hri_i2s_d21.h \ - ../hri/hri_mtb_d21.h ../hri/hri_nvic_d21.h ../hri/hri_nvmctrl_d21.h \ - ../hri/hri_pac_d21.h ../hri/hri_pm_d21.h ../hri/hri_port_d21.h \ - ../hri/hri_rtc_d21.h ../hri/hri_sercom_d21.h ../hri/hri_sysctrl_d21.h \ - ../hri/hri_systemcontrol_d21.h ../hri/hri_systick_d21.h \ - ../hri/hri_tc_d21.h ../hri/hri_tcc_d21.h ../hri/hri_usb_d21.h \ - ../hri/hri_wdt_d21.h ../hal/utils/include/err_codes.h -../hal/include/hal_atomic.h: -../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: -/usr/arm-none-eabi/include/stdint.h: -/usr/arm-none-eabi/include/machine/_default_types.h: -/usr/arm-none-eabi/include/sys/features.h: -/usr/arm-none-eabi/include/_newlib_version.h: -/usr/arm-none-eabi/include/sys/_intsup.h: -/usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: -../hal/utils/include/parts.h: -../samd21a/include/samd21.h: -../samd21a/include/samd21j18a.h: -../CMSIS/Core/Include/core_cm0plus.h: -../CMSIS/Core/Include/cmsis_version.h: -../CMSIS/Core/Include/cmsis_compiler.h: -../CMSIS/Core/Include/cmsis_gcc.h: -../samd21a/include/system_samd21.h: -../samd21a/include/component/ac.h: -../samd21a/include/component/adc.h: -../samd21a/include/component/dac.h: -../samd21a/include/component/dmac.h: -../samd21a/include/component/dsu.h: -../samd21a/include/component/eic.h: -../samd21a/include/component/evsys.h: -../samd21a/include/component/gclk.h: -../samd21a/include/component/hmatrixb.h: -../samd21a/include/component/i2s.h: -../samd21a/include/component/mtb.h: -../samd21a/include/component/nvmctrl.h: -../samd21a/include/component/pac.h: -../samd21a/include/component/pm.h: -../samd21a/include/component/port.h: -../samd21a/include/component/rtc.h: -../samd21a/include/component/sercom.h: -../samd21a/include/component/sysctrl.h: -../samd21a/include/component/tc.h: -../samd21a/include/component/tcc.h: -../samd21a/include/component/usb.h: -../samd21a/include/component/wdt.h: -../samd21a/include/instance/ac.h: -../samd21a/include/instance/adc.h: -../samd21a/include/instance/dac.h: -../samd21a/include/instance/dmac.h: -../samd21a/include/instance/dsu.h: -../samd21a/include/instance/eic.h: -../samd21a/include/instance/evsys.h: -../samd21a/include/instance/gclk.h: -../samd21a/include/instance/sbmatrix.h: -../samd21a/include/instance/i2s.h: -../samd21a/include/instance/mtb.h: -../samd21a/include/instance/nvmctrl.h: -../samd21a/include/instance/pac0.h: -../samd21a/include/instance/pac1.h: -../samd21a/include/instance/pac2.h: -../samd21a/include/instance/pm.h: -../samd21a/include/instance/port.h: -../samd21a/include/instance/ptc.h: -../samd21a/include/instance/rtc.h: -../samd21a/include/instance/sercom0.h: -../samd21a/include/instance/sercom1.h: -../samd21a/include/instance/sercom2.h: -../samd21a/include/instance/sercom3.h: -../samd21a/include/instance/sercom4.h: -../samd21a/include/instance/sercom5.h: -../samd21a/include/instance/sysctrl.h: -../samd21a/include/instance/tc3.h: -../samd21a/include/instance/tc4.h: -../samd21a/include/instance/tc5.h: -../samd21a/include/instance/tc6.h: -../samd21a/include/instance/tc7.h: -../samd21a/include/instance/tcc0.h: -../samd21a/include/instance/tcc1.h: -../samd21a/include/instance/tcc2.h: -../samd21a/include/instance/usb.h: -../samd21a/include/instance/wdt.h: -../samd21a/include/pio/samd21j18a.h: -../hri/hri_d21.h: -../samd21a/include/sam.h: -../hri/hri_ac_d21.h: -../hri/hri_adc_d21.h: -../hri/hri_dac_d21.h: -../hri/hri_dmac_d21.h: -../hri/hri_dsu_d21.h: -../hri/hri_eic_d21.h: -../hri/hri_evsys_d21.h: -../hri/hri_gclk_d21.h: -../hri/hri_hmatrixb_d21.h: -../hri/hri_i2s_d21.h: -../hri/hri_mtb_d21.h: -../hri/hri_nvic_d21.h: -../hri/hri_nvmctrl_d21.h: -../hri/hri_pac_d21.h: -../hri/hri_pm_d21.h: -../hri/hri_port_d21.h: -../hri/hri_rtc_d21.h: -../hri/hri_sercom_d21.h: -../hri/hri_sysctrl_d21.h: -../hri/hri_systemcontrol_d21.h: -../hri/hri_systick_d21.h: -../hri/hri_tc_d21.h: -../hri/hri_tcc_d21.h: -../hri/hri_usb_d21.h: -../hri/hri_wdt_d21.h: -../hal/utils/include/err_codes.h: diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_atomic.o b/software/firmware/oracle_d21_edition/gcc/hal/src/hal_atomic.o deleted file mode 100644 index 8323338ca38574876983744ea3dcabde3a3da78d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 686944 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ØoY zO|PPDRdj8(W(;2Y4e`nFdX6tcjs@1JF=1uB*`wo0524(|^uUUINxjPS6yb+;f>pDL z9q5Z-0JC&$fCl&iO;FeSV^U>74Sqsal6i+=qUo$r2Ba{%^0?Q%-QG8k!)%y15t z0)AkGra3K$kHc%5p4%8}Jh?SXpG{%r0pFXG29lHE-xzT8ZhenWv`PTPnDnZZ#BsAa zJzuEa6VzU5EniR}6pqZp7ZM>Je`0s7DMLYbRlDn0#P1rz%H2Y?kBJrD`qKK;w?7<{ z%@?ZN>A3DKrPu;SuH=Ogf8gMo37E<)rdDa?Mr8x8(`&0tmE>8Z3#5wAicDb`5h3JJ zVs5VsFx6uUBbV}3Z(mOwjSYWGDPMd+9Q`5%u2mRh9*_K74;PvCh-%MLeH@PK+HyZm z?5TT_hMbZQl~O6a8|UO-Cg2GLp;i6G^;s3svk7qd!2S8K(1%4zU=O#LtLFriKlk%) zek+~1$KtdcB%QTsEs&EPj0b8hd7`-kz#K;I0ZCU1=oE!q6h#L0s0+xWrDSYh`!M8 zQZgN07nX__MKg452!Ye~9TJ0Ci69ssEWC)4UP@mHoOeZ}$+}ji9&V@Ihe0ENSLS5n z%S)hEpOC^Ogp@=<(%y!18Y1Df*~G&#e-k2Mv%OowQiQz7!WyoR(tY#q!Nl_bI_()5ey}OgI zp!lp@M;wZp;aoIBoa$)e@Y=t3}F#_(5Bo>Tg=u0qihx(CEZLvhqDKjAx`>=)bB5a^PDwnhb~cS*UDx6y~7=h480 z#r1SXNn@-(l^lymTf-bsk3y0S?j9Bv0IE*Fvj^1U4bY9vRKRhcDSFw&N(UKoKbvu5YyA~_qhG@D*Yx|uJ^vijqTaq(z( zwce^T#|Q%#FPuMFgWMD&BJ9%gLbW%fxX1Ub1j6$WjOnGj^^jcyZ~2t>67;xp{>xAO zfByJypMUGWmFG(euozQ1aQab(;zWB;CdeVs|I_8HHl8X=fmR9t< zm##b(6(eC-&xH-+-@ZNnm=gcsm=U8gQ35>O7WL4ZN*(k}kC;*>u&$r88w1W#hQlQ< zabrcyW)k>JwQlp!P$I-&SP{aV3FRdli9fZ68|-OhqH-seK2v@TCQZ?uGwXSFcR^4ZX~WKNznWw+cQbE7s}B7I9AV0uS>t6F zGV*roSgJ@&Ch)emcJSZ2P zYW0h7VjYqFNR&deo!f(JAX72BmTYy)fncfi7Qc|xnxB|=YPBToN;%ZsIaV=yip zw>)@hjA^kiMIkFMVkCMvNI|F(Dj18TSXv9xcL&r|gw+IZ8l_d)N5eO~I!m6%GAD_a z=UzO;I*V}~@sdXzm*|J)k|>a*;j$1Z+&U~l6J$xK7`#XoKTHCh&`7IuXI3bewh))6 zqv0kDX>RXrHj%%m?zO>y3#i7hoSz2>Q-YZwTbW?S-U2*lyYy!&5Uc``Ka^Mg5XQ|J z9^A8ZCu)QOkS_VfLt&5Jxhdng_0&uzCwATgtT(@wyncM1l0n#sw=6PKIceb4X0)E5 zJxSE-%~9`oe>iU4SWK6x_~0UcQmGE&$Q zri4jjf&#;VWg0w!COhS0P^QgxRo4QOX4DlAtH@5mZ>(qco;A|uqPMp_M_*dCfq_#; z3U=(NlFF3}glDJ^4o5b%3Xt|`Ol;<>lbDc?e0;jSpL4f}_+bO`#jrwMBmMLII{yplcvJ-px^Ny3cXwVezhJ!CV#G;s`F zW*9?D51-=c#6N8-oKnD%|GUS1dZ~l7MS(H1GZ$16%2_#CXz-WPT!VLLTV1psP$zda zt_;g_$Y*m^2k1)cKHmN@`$p@5Qai)_)a4i7#WwTHSKG|HN~&jt%98C%BHzYX1CLs> z6rBQ+cfw)4ky;_3*teX_wH&03;@PNv*Ki;vkjLY-F^`7&5vE44h97|!x>hLYH)~!P{}ZgE>Q7m zfa)A>%Ps`MJQ5H;E8!NWk0hk-_8(9;l8LvICSAsgjKrnLgFb`C#}19bpg@DFpw4|vbL9Or zI=w~o?Wa0&Uymv*T%wjP^veZ0J&X?d`7|cTI@~1i_NGWueLQFPW_!57)kY@r9jZD~ zuTH^JcE4OG=g3!&q*0*-WoK~eLL1?a09h5PVkMAk2WOI@{w%`h6-s#-~uFx1IZ|4)TdF>aviWzMk zoP)|rOK5yb;3lbmxm92!mQoMYe5D$fB=v_!oW&7d`0xAv?O#6s;V(b)imwm(V}3Zn zry9Dq>VJBUK!fb$Ci06$=DJLkqh-zi5#A*`58n_#XVcm=(@4Nh0*sTOna*zC-))Y# z2R#=qkIrbkdVH?pyvtK8T?Fb%owDy^PbBKW4@lwZ+O36pzWE! zx>U@RaEFJv+)K`Gq&DxG#BwPaBo)PMaNCRh>LYu)H*O)&0w{9V30)S$=;{+-AS*p zKuDSpHuE#>480j8g%hNM?ROr=P4^=rOe6ojazA1WOl$9mh|IZ4&vV#qj+|}MqHJ9( z4dS20l~bw|jZaNaatEun#uj&A6@)?cP->4oGFzUOG}q}o$y8|8US|?NtYl350+iRF zFQMoRWqP-`ayKvnc&G#gJ$qB>9Xb|5nDna+y1(cd>!_1X{e%HPupNuBo{u+Z#FlIi z0@dMAPijbySEuu>o=#W0^X72DH#~WuI&>Q(TLcsv<7p$Jjo+ZrpMWo6FBHn7~-uTk1Oz~=m{E~RtN@d*%$7>DHy9dc87QFDt)KBypmp}ik~=# zlV34hiGiG$babw|mcxxh8=0ubC81DD<@3Lp$p^Nzzd6HBMnj{5uNb`iehm@Y@BNy} zMgOlzuP@r2Wm$$6ls+!!>U^Df>*akOVxtaf;>y!$&(WjtC!2E+OFr^4HoVo+EP)r$ zYmh^nL})J3nl1F&-V8Q6P0CIwhO~+;kmW(ufy$DOsQkEbG}Qz>l1dw|ix3CHx@TZ3 z_|xOpA5y&d0*pK6ZI_`|^@+keU3=}>=9nd~gcfZ00-Z;_;}e@U?qRRmTtMD-&wiEeaR zoZ8sckgls|5$`#6SqyB52~h3O92uSE1Z3ujGB%OzrLKS#q-Yg%1|D3t(1c%k@t6N@ z#HxJAe=EnTlL;;m8b99-QxNoXKiuKB2s(`Lp=Ks*r^<*cpST&l!dpQUFc zbT;T6TdOG)C5>E!4Z^={R~%?YQlH_wl4d!$0-6*~q>+Q~9#yc2UL;+fA$Wzu7{wIf zLy<@c^0{jH=;Eb@%bqeArY%+T5gM&wP;=v37i$q7EaKe9#Q$ZjTej_|pddQEDIbODA zG@%Xuo?UXzjSO|b4O%ia8K6d9HIB$hihuNS{BetbCKv@SG(>;=DgmCza|@HAd?pc6 zB!G~K&(TMko1<}S3l#1IdW7%=x1!JI<_77zl%Y<1?21&rxE|G4@>Bf3Ivm&8!CHOZ zK*D;4VqYkcKr6I8h^Sn}a9r1sz(R;Yv4h>auJqdG6#ceGY9*+j#9X(218~T_onQ;` zZo?ZmC;1Ud4sGH zLviE72barJyyWlWfL%RGm89W-uRFF(@EN69BiUH))g76lU}~~VoEsbB`4>IBq*`3! zP3_?ZT8vCo?4SZRo=Yrdo&-ujohAEFe^@<1$-K;Pk&qj*?Mt+C;%TJhCwm~Ji7TaR zN2@AULu+t2>_*3|3ypoE(ZQ@Ny18_z@WIMS6xrrHhK0MBMIDPC=7L=%&Jhq~1@yoh zM5CEpUJOl7zuFe*X9LqRjYXbX7@snOCJMCx+^)W3x(QH3GN4meoJ67OS7X+W+`~|w z#n>#xQ8I|}H#nj54A3d{Irr=xj5Kg_I7iWv0HHo`2ZOb2RTBC#nYfdR7zhtfx>SWZ z=fDVWAI=q2CI0dx>0AK@lwhd_6&hr+mS-l{BeGQ`F$EG#+0ATT7>k;F4E0~MKfb4> zSXG1iDjGqdn!H?GHE2gghPRqt$7Uqg!t=ll%jQb=Pg@H|XxngMymPb-pIy)9i_6RT z^~LP^`tr-a;D+)xyBrpeRwjtH+D|!sD&IvRO}T>MaLvb$3@EAR)f;fH)5R-4|C#+@ zS(=jNE(|F}J1g$GUGa~=!_oL5S(tDNK9(RXh7^G2h!Do3rhp}KNs1L63~nqiPCPP$ zmV#2W`McpwxyOASg(=sVFkFJBxxBW7kr`Y9%>ZC4LXc>Y)oOda&};dkcj}eor#MZc z2&KFPhLMkyj(lM_;_Z*BXO5+e&KBx4&rv6}@X24);Z$9wncrDV$(tMe!lfuv)IEYB z=j!nMuU2{ZMWYXyfe!u?b_yA!?O!jXazf}GZAT)t>1_pog{~d#)Z=Kmk%*mzM?>_R zl;V;-jj$dFVik92fqOb{R+U&Cjw@DGhBa=Yea``=Op~M04Gm=<*D_wp$H-rWQVqu) zFB#-B6UAD_gs?n*btXzT*U_Ar_rZii?)Z zXMmcvxXAXnJwF~F&^z;C1ABDx7R43%pClWUE@a8u0E>liF0zEkwFhI)EM+OEyagM{ zsF)%d3%jL&bWAT!^V_-SR~htEeK6lYYRft5_s&6qb$DeZ+H zu)o(bg=T3vaEgc{{%Rm?b# zwAgTg^%aL6dW4Ay)g(Pq*Kf2RmbU-ZSWb3OKz*n=1RN;H^D{lO-Refv@u)zF?URG8 zSu7~~c-o|NcH)-vNKjszM@m6sf#H!`ps=01(%HTcB!2ACw?A(TCIIDbEYYm3Kr;Ro z`1^ZEK|0O{aOHqA*2b{#KQZ|H(pYH#gpZ+g89$9N23M0r#;)dt^y;)_|D_#}OHpsf z)6V%LKQk|v09@>~6E2hKKY#s;OUZnVvjiebF=CAT6|B zF-P+p9;`U}=zbXVg$MRlxvIomm6c895n7w+#d3{0N{>bFK#NsUt#*~~@%;!|b;>Yg zj!6lxB5M$;cd|tzhLvEqdr>pV%8=#TF6eMzN8!sxLH4Wu5Os(3A_I%7VhYEVH0g;Z%kbyA8;UaBMQ=Abj4 zKK5j8csgzj&J=}>2>17k9JCuolJ%ZY?vb`sPEgDcEcR!@l;*mV8I^!DHlYEW(WwfY zf+O*5xJWtO2Frxn%l>q`+`!2XK8qahrtcm7in1Vrk;DVxvzEQv+XAdw0emX5H;AlR zIeZf35IRd_t-3zcxq=VA!dT<98s~Fwq=5Fa8eYz z&X5)qk@}$f&F1#@{{9r(Au>h+{)q>ogOrg*G8R+LzzkiYE45L=La(TdX^EirLS7aF z3Xz(7s$I**dSfH6@?AS7^;2qBe}uk3?#*KwPSZt^>7=q9q64g=%YlN64?h0{v%&_* zXp&WK1eg=~1|tm;8O~AKFqF8GyLVWWpl)g7xq@X>Kt{@+!TCr|VTR$N2j`yaGv?FcEXYHK%3(J}Q~vPB9gEM26^9&$->sH4AOK+!=y*loI~tgBaFG=7yiRqq9O zX*1_RI+>glc<1SSq@1$U!3%esAscA9k))>NVFC~G;}uSk209D6xYq)|#rYEQ0h>d9 zNYUewzAHj4qe}LXQM9QbHOX>%M$EwOhnGJ++0|KCxCv}?Vvb@7iTDzpvsLntHo%mj zf1q+P=|3@hMUY3Q_*O5t8vLN1e*p_ z2o0wK|C0=1pg*OphXjfSHDrb({b|G_q5N%D^`~LKml$DWRxygsg`>FcqG>R#SpuCx zArqDiINWK-Pd($dUIS0A9RbmW?F@(gY+jorOK9RDOAs`tb%4XExC7=)^Sfzdw)Dj9 zw)^G{8O>>WxJ8K6{arI4$H;(hx;ZTC8W>;}3cm`}0kIXJCbEfLOK&$&XP3x#%^ao0 z*D1!511vme3nX&wUP4w{b%=ISAn1U<3P2R<&RIb}H zM^i(ndTSvRnX+b#Ih87A8Z#+ZrNTjJZvqNDg$gzmyv6o$^u_Yp- za@h69aHCE6aRXA-1cel>uwj9r7O4(DcY0`jOSWNxT3S9VlHRs}&>JHZSR$iC{<`)A zh5#I#@Xb)SNcI}=|LGEsetq1ZKRQeHB(c16kNX<6Pun8g+rZ$|0(t zc2fo|BiM`_O;FR;-t3RahSuxH;M@E5?YEzQ_}jNHDEof< z`IrCv{9j*j1@14n`}WGa)$f; z{#z~{x-`{5eNof*V!cc=6}aX%^uI>sex9Q7@*Mog3BIa1rq3HhUeDmJGMTUh5;nB_ zAc9V@rEDxQyR~ZY1J4?TfJCxx5K8LhNA%i*F|rV`F-rhy5k}#N3S7Q7HUJaC&Br>8 zveIOn$eowdxk8m7p6ZDzQxq7h?rJ33+d(o13hlg;LRq;T%DTw(- z>bB6?1VARI@(clwIKeb#Y8?UsY!$M@De_J0e*5+3|LY5y-x~Rg#;4S;VUT&ML4i(< zlKDcehC+G1wd}XR^@a(2XQ9Rv>Ibd_j5~fkVTO}s3t|&KA6MdC2@*H^LcwvBn7Ww| zQ+ah=@gZ<9bmd&eG01hA*eozv-`X#UE5Xzz4mHyIfsZABrF?cVK`I*d;RNw_3+=<1 zmOZG%@@nY8K(+jO+)QBfiF8XjmUe+-2$)v0d6G@ZW8$^~Fms8r_R}BxBEZY2PpQPI z$uzi`v@)q)xtw%3Q?Z9)+(leC?kTk1LczXYLgcb6F&qK5s4fKhv<1!S(k?|uV?sc* z`UYiQplp4gT0<@=6m>K*v+~=Q1${-I${k=t-&=pAl2AzI)Ow=d?(1asa!eQ7gE}lj zXCg9A3^3jLqS;!Q0<1CMt8NX;qRq6fdchrER>!K6`<022xh`kWR6}*-4EQ8^ z(sG_MXvp(Cg9hiAt$Vmw*iG*h$ErYo;F{n9AiDx*WIjjLTSY%|fK+n@7EY$C=^{5Q zz;^7;tn$;6K+CVBJ<;2dw6G(RfVfcj^AOcIpzARjN*x|q?!w{}DefPB>RM}KSYf>hdm^7~l&r!KJHc_5Z@nSWo#e?Xf#r6!N$s{iqF^>}w zeiuAlJy7EHvL5Fl2&3UiJfV4$pmgVT1{z(=+S}R#EYjGOe7dq@d7;4dOtLNtp6|{W z0D&QQ9Ha9_WVx4po_U-0wL0OH({z^2ciLDBFJ$rI)u&s{^%U-eJX?H?w!H3$=LR`Q zF6wSj#d0a)1=g;NPOAVLSEeW6be@)%0!UN4(q30yxsN zl+uTd3*bmP-WWzo3AfbDQ?*-j$VsyOT}5DoN0z(e8kQyEBOkYDRfn=PL0`>X%)Oz9 z)8q+3A(ygy`N0#FSbL&mF+T=m;emG2vl}Q?%cS!Q>T(nV-;3g&i}0nF+Uedb$HKa1 z`bcY7!dEbHV}-2d$-vZ0Ohn8RWrVNBlhny{hNa zSrVXNwBGS2eps=Y_=T+5jWlY|#*o$y3jL1Z-jqH8sEyvjl;lx)hQtPc)a`;0R|%T? zz)e(W!xkY{7Oj_82`{gR5tQha<+Qw>mmjz2m7>4451w7wK)+=zzfgh(csaQLHT* z{XGV3(@Ukl~)F(we!$Cuu3-3rW4(y zrgdB0u63*`k{kVXbt@twS?;ksD28&=uP%}*rC0s6T1PI(v{au3kCkx*B0{4Gzhc+u z36Ch1UP))4%Dzqg-1O{_z>`*oUq7FquOqZ5FjhfU{6=la9r9RnlC|>A)+9MYGQEVQ zH|XYYhG9syF@rzJqv$eyFNd+Y+L#(BnqPUlf^@btmE$D~6Ty>!pi33f6w< zjT)P!&%hDr+EYh>u9%4nDnI zchTrPIhY~%Riq*jefdG1ahyJPjdbuWd6wHs2F8SG*}kWi<^ok~anfPJIaE0hNsf(4 zdRl5{mUl^O3KC*}BpOylXnx{=*ves9I^QKG1&ed8Yx(h*bLbLJrBOtl+Q5Y297P1e z$AzhPgh)U#UkkbEBC}nV&LfJU%!kTJGCePEwkhjHG2;S$7Q{LtoBmIHBRg@rwYGx^ z0hVbUU^zlao%_%tfsxQE$P(vxoWm}ZkzQn1!Y;Im%tNK#q^xwDkX7p4Ey^*s`%Yw( z$K{sYRdSz~AyEd3EPyj(yT%<_cO`nQ2O4KIn4(9-qa!q_cGz{%s^}nh0^DzXyTq*} zyA4vUdZ3BIeL)6o+?K|C(Pe=t>;VC-Re5uoAYwsT-uH)2kah}fMDlechj6F`UjMEZ7#KA$ zLu3({8w%DeWvr-wF$Z;?rKbQTWry-?$-34GYjF=O`;Rcc$_J61g+cv(fyn507MoHv z#v13?nxzNnh9nwmy%Im+n65>%P02KbVlrEwN@rR=|LIzt%%1wJ6-KNTP}i<`VB($8 zd5R8Bevn(E%{?wLZgAWZUe%zjacJAqw=?KEv$fk5+b4 zJ;gnHxcy9RqN&KSS{6a<2G3CA;LLdFZ;xnC2#&g$btpuHwtx4yL6_`_TrbXOOlC0f z7)N!Pl4cc0wL^pIJ?k4BymVU+BBbg|bI6lKfRG!Q4ld@xidHdH@b@WlX^|zOZ4^yv zi16!NQ=BBv^;28UyLhauk}&V$V4ys`!54ENA(EZ(Y%UcE$? zndiujd{By;YG-qr5@aA(QMl<4cs#&ARC31AX$lgPYm`eTctrG{(?8fBo&PcOKj!|& z!vDB{k0iWgz+_B7W)yF5D_slmG;QU41f9?*PH@cCL@gyr&3%>fl9j9aHMQlWUoRFK z+R-$Q=`^|1wH*>NBwDOqLhrA!ddYIhJaE|+MOIzngTsM}n(8l_&%S74iy&i0Oo@7w z!{xD3GAld!fTV^JGyLewIr@DbsPLf zAMkfzh@y|>Sg<-s5i^!3;?VPUiBLt=rmsLI@CreuxjQS9Lqxp_TM&;lxSyzpobgL1 zJuiWPwxu!aB9wuN8k{Mb$}wRTK@K?{cM~85i(wPubdi1M1he`CRdx^*r$*q! z4PocpvL%8)dHl}x2Y1nV!D599=H#nq=~4PK=t>p|lOoY`y%Z#~fm?)C+5>=6K6xs2g9r4tdKOd^bj!dK%>fi{yiIS1T<$6bpW!k&+4p;5~-{ zvqa2gd0gN2m-o;LGpkFTBSSjLHBdpA44b)KB-YikSH#I%^a#)*J{vkP^+4hZdHcwR(1O{<7o9HeS#}HxEDDpJAjdEsnzEt zbFRN;x1+#~Ch%rwETL?F4RSn^CL9w(!iVJxiZ9@xB^#*DlR)}Gz+9ZU)237I64kqE zqv76caXjP|R_wbTRWLc*3z4CKglmL(MaDkUVRVE0gAQPSNvjzSHSCPWB(g8VZRC{F z5pG9mmb7}J8V=?R0ND*rflO*~4Hhe}Ijpq2^Fs2&Avtp)Af!D>!WBQ}{dZ_W%kGky zHvqz-G+F{8-ACdskEZ|;fWsQ(nAJs$`8M#>)=dPSUI&h6z}E09bfYN5#Xwma7Ly1y zPtcI&grSL5vo&FJ+zTK)XB597Bue=}K$YW)EWI{l#2q^S^vgeam2z(GfuhfKKjm>I zRl$1c_p6Unw_)kYAtSs&-Y3foZtj=D{T&m{EQg3rGQj)`>R6R<4LA?#A5o0*PrqO# z`E?K<60*&lcb3xe%^vbb*0T$==(Rx7a7d5>6x)~}=fIO0G(=^f@%Z+gW|)?kc6dH$ ze(B)j{H7W^yLtqd27?qn~qY8KK}c|^L;>Q&~NRIR8nI?-uSIfI_fK{pCIef zI1*~&v>6`^Wnc|bvZUC0k?LV^->Q=8UZhi^#~HE`D0~ok{_ZkyE-C~d>ZlotHYAV0 z_G~->#+9vgR<(Fw%p71hLCGT==vX8#(>0q@^?Zw-8Omku(M_FtO3F^ShK8Dx6S5Z! z*$M9%BZ+P*C^sdMRf8tAL<~ru4y4PiJzdW4tQrjX5$VH$fkz^*{dhGs=)Y|HAo_KGL?yD9e8@`#5N}R_;Jk7V1H& zsC6Od_Yk0^@b(6pBY#Z;a%1^|LJ!d8fi=tH2k0$Us(Dy;Wk048{dlcFpe%9H>{0j^ zQBS=o%~=B5%&;_#XS4j2Bx7T&AsSn=_-Gsp-PZv0^Br#W28pShTHZ+(1Nfl)_sUgx zX7c7_u`XT2DptzihK7Nrk=K@NLUCPq(#RnG!5ZB_xMN|G)U!H>d_fuh5Ht)AF+v@k zD(B#Lq%P0v+q>-(RQ{-2BOR3ra#6$xn$6p53_DegPLlW1$Bjh8&?i_GRkyh`1UGEX z)SRVa8E)pc=O2?vf#f9#5Jr;G_I{_w72;(H-Nq&~aBg&}A)b_DdV53->8ZP9L2f~` zJS=AbV9>4DNK`$)a~Kscy3M>K*A(bB8r-y|C<{ykXV&8i?THwAk(*zzNJ~yMw-Rnc zmDDft5VnGZRavsxxZmMiQ-Z|73{^gqDtPWyPMPoleEJ=a`yU-Rh3&&mbBJ(Z>xx-pul zZ}%k-gXS!w3buxB6lhmHfQ>mqJhq<;ue^eNx!kC2+rgD$PL|f4Tg*HaAq;JU*u|DK zwWi3#zs2-|GFbVPhVUQ*T?;jXLC~`)8p&aO9rJ0>V(9FFoe;%0)sqrn^{4`@@7abL z4kb01L;B5K^r_0OdfbI`xNCHFHpGvU{5Z<6!E)D7>y4;14N2n)8jNOHqFXA7uTY-H zfd)SrOi?~!7@YwNrx|x(*hjJ~X+|W)y@jNU= zz0H_kr;N62ji^PK0#F39VU)u;ZD2}PbmEp`@3|Y1qJuNXg~sY*=RDy`nipav0D9x% zD_VSEP!~W}L>8mq5m=T9$jFEgTcGbBp5Wg+eff6y?dM;iPXE`3-+ukufBgK{Kfir> zH+lQ_Uw{7T9saVKQ@yX|3ani9Hn4emN6iT%R~JNG;Ot3SO9fv0?}muChiCXP*5m>Wo3o#`*pQz8ekb-tLj& zx)ll@&80!&Igv8RqgQF5Z=YaLevwTXr2lBA|jbK(QUQLH1GO zE5t|7A4!@NpEg8EInGr{&kViKOMD-Cp_jf|ueDQ()S^JH5ut?W!MnljjAw7ZJK;A~Z0k-OJ&EIqU&@}3>RTqXI@W>QBWwL}}$yn_p1&j=MMDHV6{-Iq16|%dFF&33nk~RWrKBLqC2Iwij0|NYDJSqWoIN5RjeX$@ zbT{VcLka~lM}o=kTdYM5R4imlN+Cx<7Ox~LPHf_<35|TOB1vcZyhFKO0Rxk3O^VJ~99LOf8p0Xj5Hc?fF zqWDC`tH@SlH$FUo-QsLopZWqCW3mJSE=rRkgJiV~YX^zI>XV9(#N_pyz+N4xD7So^Gk~laDZP$=(#bg!A|w z`kjFW?!xvir zB_QU*|DSwH`Em*(Js+XoLWwRx*q)O?s7T}%x=65u1j%LMnb%~M_uG5Pyn4mHBW`gj zJoiUllnb0HQncr&Zzc+)i z`&@MefT+ndz1F@uC$_jWBR+ms>M+YNq{txnzTUxw@E~&8#TAhujs>`e4r$pMNLe)K zkS0_Brlo2So+Ek?s>6oYEk@P`(JOQ)Tt_o45PT<}b+?(ez7?f94C}*GeEeuV^#N=q zCS14}X(ha-hQE^U8rZIU4JRwbvbqH#^ji8RL9@JH z-Q`wSgOP?7Hk^Z}(j}eJSIdf4FiG6#;7*w3u=9z zrx$G)C*FZ&mbK`_rE{q>`?NQS%02`VkuRe^qdNjJnu< zb10U~)}_<9Zq)Y5L@qZyNljm_2BP%l|IJ+)n50i2S@Ze<6QcS%;do+BbGymVWtnxp zjUqM+y2hZNR_psE$t${Pp(^8*V8g_?^4=U^9(|_U{W>5OT>8E7U^*Oj{OT?G=ZcjG zUnYZj>M)LE04m5}*0QY}SY*+0eWs{(%;K^!*bUCik zqAbIqh%DZqmRJgbh+V57i!%kV^l=sGK23h9{9OTox`NpnSuD9@NLgY#z19e?P_TOu z*gI-0$2vtGpqbOuOGnr#-32AS3_RN|L)$;rtfFh?=LQ< zSJ&O_;>&keH^~YykTw=MzhMIu^S21Le_YP`n4R>Szl{q}sj-(W>W zN_}VMqemyVjpJot{HCENh?D&k zbM;9*rW}@)q)AfVqts3KS!Xew<9>gigF2XJ+)kinx5co7(o6BC;i$eVax%#oVzTqN zR5@ubnoiOuXav5xSNv~({Tgl-CnW}BJhTyk#|kNAMAmhdj<5jg6u6P#^oVQP z$m8F~-kNYY@D?iCb%9#br!G*2V?tH8;H1ah3y|-)42dGZ(1P2m$Xrs4C7vE(7{(iH zeQYLIklZ+?NzgB@>VkEQ32{QI6C>kJHM)?*i59sMBV3U3fYervZ>bxIKXJCW_1JS> z!48O|)v)p*oT`XQ+~Lr0a-mdA&QS9gcMLf=MZ`UM6 zV0Bq6%ma_mC@iT(Ssxyhh{J>yh{KyoW;yVBK59fdV?-yYuT&q6h~#aDkqbZOnKKUQhK zW3v>SocUPOlmpaQqS6C+$!n1pD28ln!9piCwMZz&FUvO1Z1gTLT2v-8n;)Y`M0Qv+ z&yT(bcBcrEBYW4foGz-vle-$N;R~yi%0cKNUJt_vG)Ip0O6XD(JW2eeCd_i%1Nurs z)+npMztiW=D+i;3=pqa4X8WfV(soLL=9k`MNKZhK`Bq;8;3V9s2O4NIn4%a%Ucrnn zDJQYkG{kd~9&nq0CiZ&jvV7izJkPb&R~>m?qeBjzkqH7LBf8kfBD|j$K*dmU7+M4E zfBW+FZ@+vK2MYXmxS8P)-3V%8iNiu8DFlXZp54Nin}5~a&%_qt=JP#^CI2PQD#!K6 z93hv(E6>b%I~XWYa`45%g^VVj2?>Zz=2>R%PcqxGg;X^`5ddfl$u8%L-`YP6Jak7> zc6`iFt~EoB&G%h7K}=aLZgeg8TYSN(9RaWby`#~hnoce{VX=bFO$ACJqQ&A`e0w29 z$*#E1S5(E$d6&7HC>A#Smh6s@#Q)Q;g;I{9Tv+<{)#bu6$>D;mj_xwtZa@o$VFP0| z+U5;!Knl{+&18X4g9clr(h{i~h_%-2J)JCW5VM<6`1_t&mg8f7h>aO(mnl}Q)x2N@ z+AcY6kYAX;;IQ)y z1FZG7UvlZU$Nj_pFS% z%u!J%xZq+$#ih*>AoE4Z-bv`2tIDR9XU{`Qc2jUQ6y)EUFv19$Q@J9m6>n8xl(#1^ z8YYpy7cbDj5s8?ozbhLZcyr7{hw6{f3!yqKsljvG-^Oyqprlsao6apNch<#=j|KVg zGy=2uj;t{H>*3AwPP7`oRJ}45WQLenDv}0Nw|j3;#$wFT}7Jn-QNzNBHr5f3Sg@g%iuWQGfmDd*lQd4f6&+#_IG zq|=SuNG-w^y>gHj`>A@({mfNk-P-h2M5=8V`!ds!FF~V8mM_460sO8L; z`RpSab8WWwOH*lZb10u`hCWdC;hf+x7-;}yI7cCq^>dz|baYNG-pu=;$P%SlJjPk3 zGver;a96PsM0?B;r15P*V&fAgn}Cl3RLup6Q3WChoxG(QL)O@urOFI>mFiWACC!i|+>(F^Nv^4>xxhh%4dV$aBIn|1 zMmjHZljFM>aWOs7?kOdLAfgp^L>05qho8w?c0Gk3Z6gF8mV;N-YQt5d9WN@4&-;5# zoJOB`Ha2&3mFTP^Yk5G;DSA4wu7kcA?l47F{_WSV-#jl-`AXrxqaVaF8{;U6l^{xJ zVK!Sj^K49CAjOT5I3-oHQMN2)FR5xBhsMaNoTPMRxjBRIkh%ze`1#x0&&qYm5K$a{ z^B=$ceE<3DzZVfOSM+ho-Yr6mEgL|FobXx`66GoI3bm*T=JM+TBL>P|`a9gxwW**Pn0(^Wcz-@rAr?R|w{CagtqiQZWvJj_V3wqSuU~%q z@z=ln?d#{?zG)tsWWe7XA<2ZGl?2+ebVAf1Cmvsb|iZ zSwA|>@HUALz3`sMiCStq`UQ9%YIZsA%HV~Yhwo-G; zA|xoXEb-pZCQF*yb!oFO52y!5N?oEgC>jJJ5VOT3 z=#Un^x1dN;l5(Eb^m;C#9JdTvA6%Bd1U(X{BlD7VMFcs0Onu?#^BVQC(WqN_8r_z zGB0%(_8hpfNp>)w;E zu6rM6rWCtn{dwiFtA;DYO>Ci6-dZ4THB*n6y#JW(ilD;6i&WB1AbOfFnQJ6+Jw9k2*ZHWy;rXMWMxuTJb!nq=Yvs5y2Q|?=Cyg0S`GOpjhcE~{m?GOU zmkQB__nKPEE3|fdJ2v8QYK-d>X+!}m6#Pv9kWD2OSYtsXYC7^di@j(l=EGK8T(O2K z4d}LQ4a7Q76vCfa0r)_a^D6F(2Q`NEaZxu$%zg=%m1!4R(l;E}?+x>W2*B2-4!q%* zz)n)sP^XNrmfcD8_B*)d$Wp{KU3D`}RJ=J=rYWRxqvxT3L$L~oL$)LEk#_4KoQ2&@HMpm9xTn}Wt;Y8N*EMHJa}>4u|p)6v~sZs{H#L`{$XC0io# ziZE$v4I;^n)bR`-I$|^kNR-Tu(A_@Eob9tJdOd1onjgm#slOvc7&0w$hgE|U(wVk3#)nhdah6c48p#9)Rt)Fpe9`l z1538YJoNeHiGadT5WCtVxSOT7-N$4aOls&+=r!q6$332L@eM&f#+{xKF#cdYk|*CG zX)7%lYD>d!$L~NeNF;=p5q@VSkY=pnJL-ttS9ei{lL~Y45h=XAsNAO1YNFJYchY%! zKux@sr17CcU@%0@POgL6pAcq4LUK9=2qclbN)&bwh@kT%5W!GLj|}?jGEt@P3&<06 zu|xIRpbBca-Xf~xu^me1(P;`WHzXaBtNEPGw903UOwuQCeS(pstlj2?nP*ran`)YC zT3Wx#Sr)AZ<%>fjPri(vB+32Uko7^zd+#B1-&#Y=cUMWI2%Bcqiw!5=qc?ZPd{pvS zJuH}%RnxBKNkeRmHI&5GES^k}B~e{BTGZqRM6RbPXw7|a9c@PQjj_+Fc$+SBJa#NRr^pyHZmq%}*35V{Vn3qdsiBc8x; zr~&`RB!xct$@*@&yQk$GR29``sLzmm02*);$sUkDioftIO2qU<;U%fhwsU=+`R3s++7yT+XXLIW6}YkY@xDS{H?drO}eg8 z;opfP#+*liG z?kwvvepdSC;&hx+IwW;E@KljZqlV#GB@%PLwpH>-V}c??5WVW+SnW6S`D+rooMul^ z8kXRqcx1tqkyWlSLtcd|?1sH10&ZnihN~x?<|U>zyz5QLO=Ko>+%ybB|1b)#>X5Hnll6y05#mc4Dq==?jAk>j2YL4GRozTQoGgYNkx{!j zpV4kd-QWhAU_ZH-Ghn410XO?c^tO?L7uXL*q(d733UE55S6664Q}U^-`$FNZjRTG{ zTzdIE$CqrHo1+~FiWYwEH}OQU6nIRnf^u4CF~|KUIazEhRtpUnT5KJwooNpTDPb$F znF*?3%GQA+wwM#J2hF0?)u~w?dh23L?w^4mkr0(ho+;>-)>7P&Q>Q74%BDgIGQRMa z0-d44s4qgy!H>vZ8srt&hH?$nmY|Y>}SR8rN4UZFiTcAGBIo z3m_R$!98JhsL>4VtY)_+1|VwzBK*n7-T>ZskM4#5c1lwG;QcDcsxLk!s-xEGYV7=M4~LdCkr6uA=O}*q}i@mb>b67T})9W?evTa+z%pX z^iR)755~GI!WwxC?5l2$9Jf?iI`aT{m=@?2G&H0{rsg@m)3KSdVb_M|s+zFHO!x8j zkJKWvN(^mR!!lB-O*;u;J4A0J%gXttbmhI%`j6alu$oX1&MXm* zwkcUaB{!QHSm+LxX%b6~v4&h~%_0cQ63kWkti^6 zDDIB>sbQ=*BP8$2?aGlU`ntl5q6Mm!XOFC`*<9=&NH$(pH570X%yRW#wEmuU10?1X zVn8DU34<(qKYUM+C%F~qtV`~kn`LpAq2l-Hup$3P6C*7{G`Um{`WpxI;oq0{`f?FS zL?2D$Tt0j#lXOMBY0i@G%kiM;?-4zswN3mzS~!PyhC62(po|KzcbWt~(-)9T;GAmI zEz~#UbfQ~^y7F8i*>K!&Op+DN@rBiRBXacxhs%#sBUPH`Lf3qi3i|5G)1_$T*^Hlt zaB$i}c5h9u^}_B_exNWUYm_YkBbjG8R}nr{Y6ZkP;EJ5Ix|SLDr}c6*xq2_UPt2Ot zD}jq%(}e*rGB;~Ny6DyP+S43R!@Jy+Mn5ET&LCdxmh5aMG+SK`N`S)NZ}fd{Fj#Dz(WZ5=G9KV|16zob; zCkIF1H$iaZLUiQ3)0h3xBz?|9C`Xl}5hpSPcIaP_BA=OC#mMJOBA=dhphh0vPFJNL zSA+u)(vdm6-uo;FRbL5O^6S!TmmKdom_m@12)If#uW&;sD{?;rFS|UK*Ei7_F+Pbd ziCV_w`UB}KfHI+gL&|NER(HB%ab-pXARL={$-#ktB4EWDmibkEDi9d29Seu`TpVa5 zAhVRA9+Xn5Jx9MEfYphkHi7E@!=(^J4#^>;(aXE@z^TieJOo>3Yn7?g@l({|(wr|< zgRprvsG3s+$6f83xuGtanKcX%SBh|csbMMsLKQHN8G>7=(i{XDJSwE6c|%1{@pqTA zlh{a6Ga6!2pVp4Zauq&BmjN~*_&<{3MCSa2;)FF4V9>tVcn8{{uWx%zNAh-t=Fgo+ zZj=4FjuHnr@lLo-=ClUG8ucmHvvjHEOs_Lv$ylKskW$qEF_~Hz9%M_RT06RNG#Lkk zZX9S>27@VteaTB#xQA3q5Q561wJ(uxrdbtECA|lE38@usP=|1j7s(pZ*>NEZ%ClTL zX*agR>5qNcOcJhS1(2z;K)K}+6#~#>5+ueZG$1lMRUu<4)m$rM(9L5n3?>QwIXJM8 zCVj|<4^M@KQw$ir2+boePF)9y;FErU21D9;DRn7Wm@6Gw52<}e`lwQKW@&PHsHtu~ z9IAS^;-RKlauAN}E_awRKZ@(sB;71N)Cv>u5z?oZn_z8;m&7n0iepQ?8#YUj0#FCc zvhA`7hQI+NNny45BTMepo|8{SrIFTDsYpnN6U>9PHbcz1UJMJMajEg|be!HwL8u;= zJ4c-?htP;95`|m#w+O*S{+Y|p;siM${F1ap8qtr_`1$ch=N35P+=ML`R#vrH1~6h)N;<_)1_Vvnwrn-je8M{uN_e~^RPzonYU?4=!Ni>`v|$Rd zM4a9Nxe7tnqS*!aNcs{Z-lD)QyLMD04yOp*$T|>+LE}C7nOH*gd4m(wGx#_Qkcd7F zW!DRirKT%;^hfHwAoU4E)yBiOWt|aFMR}uP=MOo}grFLqV$P7#kzkiI&@{Io)}_lI z;s2$#i9M#|xRD~H=~fywUMntWEX8%!#9pSU`$`cW!QJSCs5QeTJ54qRP!w@8!L;JchcP4@b)Kp$7Wn>E{{RNY~*n_r{~=US>oVz zK?;Hq;xKG~@;e0`fk@h;nod~$DNnryxc>U(%TGW~q~Y`Aje|$1-yqZGiU~7?7j3^+ z_aKC`=oaA`qg?Elv?p9+BnWLS9S8KMiNsUjtf+>dhHeRsQ*jab&gqiz=sYZf|u$B ziVu`s3Vp%hNN*#0cVR6?jZON(kvu3pd5Xcji*DISoLd%V=}om~i7 zu}PL105lIoe~@wf*!QbIGSD!^XRS^9p>MG{co$;>FfjGe-P9!nBIe7DCZI4vVLk!j zX(C(DzX32$z)TiW zj5H2xI7d$`AEYMzRrH%sB&P%lp}9#Q#l3|QnDJYaaLrjx&XFX8Wq_-k^*;ZuY6ldC zFFFO9B;k@j5}LY`FO4*|J)EQ4&SVC#%heUuM5EH$;5^4&rXu7jGa&#=`n7A_UHL-L( z^e4M>I}Pi%C~Fagp(KV2U;Y=(Ads!z(K?twGst3uofog_wc6#KYlbKiA4q+>{_E@c z=O6#wRF~7o?X%DmT8u=3mGy{e?b}ZHW6`OqG;MU6ZnZ##WG0}|i%EY~TJNpg7-@x6 zwTC_aVviX{&SG9sViRk4zbjGr%0yk?K(qHgqwy9bUQcTJku{XFoGLf=i(o%Zv*tKY zFY_HK)(MUossEy&I8FY0a=4%Tk4Z9E`dUixcsj!Oqv+3!TDcE|8BTTs$NAKE*O!-F zKWDkHXl$t{XiQa3H9^d2vu-Z>i$%FvS5uWDhF!F2ha;D%Zz@YyFxy8-DfyhsXoFWVO-G5P_ZxJj&`4~Yyl_r_9UI& zlBRv$Oxq%k;(31pS^jFq5{$U+uf{IJxymvPK+ay^A zWDPnm98kEmM*y49`i4cZ*ggAers~PHh?iSrKPAD_8f?g(<}{PKR!k*z2)m$pm7g~r zDk}z-+cyP2iuC`P_I>i)@BfFhH{Frr$kGMtQ37h9LER}9V#|eSR0FXkGh4YSB9o;0 zPk^GR5;2lk5Gl24?mYZ_-`VV#xp_)=SS4oC&D`DG?Ch)10}X$syIpER)njT~iONG_ zB86k!&S6%XpuJG5yjmKvBjErTOVW;b9}a5A#VNHT0$!oOG1Q&~%|S!-m)Pa;DV=S3 zVzTbIa&OPqgym3MHzN3Ohycvg?qN-2aO10ncgc4t#*4wg`bHtN{t~4#RIx|1q*T#1 z*u@^9L%1DTyUxQjbnx<<19EM85Mcj9=4AbgWXbTwK@%Sq`dV_j@&QTfo1R+)(UBhxhh{clQWL zVvAmJC1dX@V+rcvfDqQ(lZ`1luG^FJ0E!h&hakP=1hJVb$Lg{}oLKpmjS>-z7;}`s z*NXKx&Q=q2VWbg`j`#_$WBozHalMc5ZZV%r#9%8)S zkFb2w&KZ|V#>(?=05wq;M{89;yvUK?E`s>aEJ$`Fk!qR)2MYP@)f-tP{p37>DY}8!6rPUjBGVK1 zBZwZaeq@*l92+tQ;??k#7My^uj@TJM6I5G)$U?xNz=R-KMX=6b_H|*h z9cY#_YsMw$n&6+fv;}8T9lg6-H>ct8!5ZdebM!EJ;E0ty4US?h2~QZvKT;>LAuK|W z!HH(SVdVjvSWzM4$30zcUvtbv}sfSqOn01_L&UE zhD4nv$FOiyMffDa#0R8O|w&is_k`xYgHyl=co{sBJcM zLA1ldS)BY!*j!V)#d%3R$4IcL7**diO#nnieZ^(5h7-6gqY3{;e~&t@6qlX%xBJ_-DRX7CVZJxdRa`MjXJ4jd% zNl}D|6dn!+0q^bwi*doS12~dXr*YVUJxlHG0!{m(u`|6%vKsePBh29uHmmKr!NK9U zeg#=w3dP7oG-zl$M_*`4y0chTLa9PFds`=foFpFB3pU@yU$^XaK*7SiCn)a6ChfE_YP&nI8}@WU5z4y*ah{YEaD zm~=51sLx|?qwbdw`mWSf34qEFI`dTBx40>J81CEEY2SiJY0QuT-yzrwoZv6$XaNH- zn&~C+(719WZHR#$5Sm$WI1JR2S4~Nr_(a;sX(Y7xut8KV_gBy{hSe)ch(&T`RH2nP z=B`kGTe=FGAL z3GM{X=+O&swx`8G;lPT@UNcf;L5hXpTP<}D7@;NO?pW10X!NR*keUO2xwqxG&|>tB z_D>BsS!C67N1+kgFK`v#gbx*hFG@IZG|@VTz#-=9a6D6Yh&)?}s%8X;am zf^camN~!DQ>cy>qfT*i$#Qup#u@IJ`)(&R1LLIrtH+1TtU!sa#^pKwtQ(jXSPv3NbiXuO7bRW*1@wMSne;lHl*Vb!!=xuT>{KveTvRU7 zg4!uMX_UU#a}=ptK?&kckw8PYVX&MV8OTD^$RIeZ#WA=asR1J5=pr&ngV!pP>|jvW zLZwQC+!6+eje@T;@UXNYHm$63Y&wo+jSb-1xm)%>o3KRu0*^zC#2`XrFjfTR`N?E{ z;%2fJ6%8^|87gx+Wriex@*V>6#~h`C7&8g!1iBoUKIg8;1v2F%`wBjzBe&mn9VuR3 zFE5M;icMlG-0c}D%8f&V(=c}w7?Wi86CW{kA69dZ{^53+XgP)hH0rtmSFCo7#JRdf zxdcM#LDl8ka--roT@{f${R5`_k>&9Yrp^*(7&g zzTEi+>~6@j;9cAuAZ|xD0^F$Tq|s)Fl(&Ek*;-(STlQ?W6vqba4J^w?welFa49YgI z%vXR|>v)Kx&z7q+5U{RljL=ITCZsE+ozs3V%ZGr$IOjZ_kVu~F^n zVtpQ~JXV>Wyafks44cP&6wy%>fK*zw3Tir8tLU18E_J^Q+vI=%y52su7*->Y08V02 zk)6acN2_biQAC-(Xkz^#=cG+h>o*!>6;|dZak)6ylyU=}Q_2B#1Q2C)2|A>p41f`m zt3y^PD}nwqor_KkhC>3>VN6j7dbJ%1C@8}U6#yua;m)yhZvarFjpf4esKNzc+aRxl zBg^GfYL=2pyPYkPXG7X6(KIl`<6)wT2QhkjT8Ak8!3|2Bc5hgC7$*WS#|R&H=bZ+F>sl<{mK49{9c`^ zZ_=Yce2!>{$IT^!&zsY1Mmzi6eTuxmfd!Eix3?g+{u4(*7XbYU2vpu)si_^Rm7{2C z%XhjA^}#>93PU5oDCWtkB-k1KuhhH)Rrajk5Fa=k>U>>il0p*KiU$k9f<(v*R_^uDZIZEXOITaWI8SykK9YmWc-)uNe)U`QMY@KK}Uj^M@bbPkwm&wiq_()*u3zyIasRx_{EvjAfNaTm+I7w;3@cTLY91bh_QQG6 zi{@_z73iE}1nUs+mk0vz{b^OhK;!zo#fxS0uIct;C24GfRZQrNxS%6|-j4HYx=gxz znsvxmNe%B8oERAog97sL=~b)jzl;`giqRkU&l#O1pX8&-+(|40HI+?1WfR}yYs3a> zM;n7!6JvHT#-Rlzdo)50Ws=qE7G-rOCGwK@ft#YElRVCibhBLNooXXH&YSfiYIZ|_ zLYUo4n0qVlIBB72Lo{Fnls4BpFxt*g2t6WZ9pXF4M6^(N2HZnHU4>i%6`RZBd_q$r z%`n@m-k!j2F77{^m=r556*`#!IwYb7%fz3ifw%b8zd%^lrK$3bo-os z03}aen+lSLts15OTJ_DccHcDaxY23+fY3w4_@Gn8NQn}DR`}Z#l{`W3bRGtauhlz! zy?>BAB|I43W1gCjuLcG|G%qgB+0bZ6d-iY*4;?e72-`$myb;HYMM(2?B;ZG--vhBO zkJ+b--5H5}*i7CH^Nq!`CY?~*kkYGCZKPDpLJ{lD1q>jioGbCmqDUlS00?%8P1syN z()2cQWnfS|AZr7xC{;7Mub}`*3)a=u9=&~G$GckHqFO`-KE=>g`Y^0`DD-kc zgF%A-{R(CCnZ7ZB9)`5O2jC&SI3O>~O(PgaC0+){Zi*_F;tQ?#qnf#9CC|tFdElY) zG2-t8TIHHvz?<>0d@>5T>2CSF1lkUG4=}pOH-_L8>Xvw7+>0cKk}Ss^eAji`_Q5zU zhvZJ2w6h#iV6UxXiIjtM=y}PWCSJ}|1*autb1OYpEWon4>src*IR+ z8b+p!-SwERl+GF@@Zh}i?X1wujhjD)LaFXo?XD0&pEz~hdZ9Mkcc<~tRDc#=p>3^n zOq2Foqs?YJGwnN+JVl)*(ab@hru^JBW87dl^lnbvtgbYyY*xh!ZLrw-$bXNf()Nr8+HAxC?V{flF7UgExX%pgl zy?r6zGZ85%iV-icUCL1mhx*PgS3MXM&!-s%n?04)^ur6&7>5x)pBqusMm)L+RZN6%AdznC68n zimR8m#?=T?5-ZP$T*f|ff7OZA4C(udFlInb3=aq|!q`STSX9(Q(+rGyRbetD9Gy|p zjFheod09$4RRSWkWaZ2Ve=5c>L~s_XBQjK&#Yk!ha-@1tV&39t`Uv zRREL+{(HBVKv8;*ou$kd1wBm?oQim&!40DT z`tx|IwbcQzV#<2YEWj-DAqdqbeWz^yF-5L-FxNi1?Y0z5j3DG zQ9$C37Q$uq2$_XqF|*PdY03u! z8z2bQ{wuY4Bj8%V5I-dX2S0NOO9(FnViH&aE6it;;O10z{DbF4PKKk$fQRw4*jdm}ys3 zPK@#`A|%ix0QXi^RTC?=E{9eRD=cLi@$d$YNmw}fR{>g+FF4U!F|>RQy3>jE7jZOw z!o8}}I<$C^TCg8zKfGE$Lf9JQVlU6tVxOpv^b7B#n+~TKn?lE~!y}T!vB=&zZLSYU znV=z0y=KnF0J-W*1ntRgIJ`$=JzoS#!nca+4erp#hpM!XwNgu)k|)Xn83!Xauy8Me zd5o8rROgT4UL|m;v;}nUIZfnEq$#`+Sv19Ib}r^-C-{uXvPjm2NOs9_CpKGHBFygX z25;;Q7-QE)NDInxA*I(JF(;K5&;JaH>m55*D^T{P3Yyd0dX7SHWkK*_r)zB@J+L8k z$7w|%?QT4AGuw)y*$pZ^8-E*IZ^>>gt7L+4TQHp?!V@gw6%_L7c7)!h#Y@4_TUZ%~*BnIJ5&8av z^ob_&5NXS0C;%%bfh~VdHIsyGfogA%13FZ*QIsU9*`krbrYZrS{Ic^1A=i?_>$|&$ z`~BTR$USauu7^9K&&Wi6SLhvMr3u0(lFiRnHNvS?RZscu+@CuYfZW--VuWOvt1 zh0c*l2KmK=maT>*@2_nmR1?}&Gh8{Rrd5m80cT(mrWd%;L9&IU0ZN%ou&>w?!;-$^QimArj8hjwm}xa3Q>x!V%wVc} z2m$tDafnpFuYzQtQH;M*Q14BW%`EyEmLYwE(%zAJD0vb&jUFJYS|i<)6I%oovu!%H z{1oeaxP(#>W*zqEW8-42BZkm}M3K?vsf~$lM-`x)dt1fAx@MUV#-76aq&;bQvl%dr zQ6L0f<3rMSKu#%WjpQ2EH-k)w&?%2#IVpBta+b2r#rd9o^lu;lIA)0b>icm@m z`KUEF76`<5LJ@iP@a|nWl_2AbX`fgS-y(tMNfIhlte&D+qPC^wWVUpRrLuc5O1cc} z`{m+jWem?K$kLD8t!w5fjSTcq*Y1-gIcsfdYv6$d)hEkp$a)KNt{pkDqwNElDGED0 z5h#WCBDfXSzVLJN+#6)SgwA9dZ(G?Bq5{YbHeT#*gG^An+F^IqU9v1iF={BtwS|_x z*3&^jZwN#Rj`PW>wJ3sk@a^ zaV0KtpvUy7dO6mO@=sLNp)o`>(h7l`B)aq~mDNiAJn)`&CG&44?%U=7(TPLyr3EL* zEQ=`^c>>O$GDnISp_vH2OG^RWPUc$hnuWI14UGjDm3*({|df*F_+PmM4y@J^Mn|7ZXHA61x_WCJR55K@D` zc1N^499(kp+78G^2uZfaKWLhR)P8{&B>!oklsG(7d3F|Jkr|9yR@^?9*yX@l@QwHo zlYx0V{^oKEMV635DNESnAfF>^TCj53*VJKOf1*W= zkYkyrs}XSMWO+oLrPXZVv=?s6*4|2_@(3^Tl$87ca`re!>BULbB;k!M7|V1{*AA+v z$?!2`e{v&0<{Ol62}Jif;^d8Uihd9z-Jl_Lj%ie6TP&cSg|pg2 z<2yDwg{JNPl?X>jn1jbikrO4+HP4)nHGxEjPE!1-`u)n57)z9bOcWhSlIu{>5}#^5 zL*0l1OLCM{)S|Q+SfJxwK`_gxt*yuiFOcLY>vKBzq**F@?OetKLkq6&% zuWnqkdnN-}_X#|sQUSB{4kTw@dYz@rnah-lH9z$^FxjZsMEZmP4Srn8^^B8iu6GWu zouTKZz9&do?6t*zpo(n}x_MN-2jqwe(7omDKtu4_8$nMJFjAYu+b8g8#aV$cNKnG# z8pX}3uae;7YIx-1IurF9?cIcDARF4+!6|d~3Zm)AfP-0QSOAP9*@_qJRO7HDx%Hx7 z$%?6RqQz)#cS7{@Mt4pW#ODf!VI&$E@Yi>SWd+#opdHddP=G|mXNnMHE5+t?ivD()J>(I8 zQ+Hh6g-}z7F1t6!8gj}FaB@Sq_wb@lM4`8i`?B!p@;tY{dVM8nTnBF4GJuPN> zl5FF5)o%9qovF&)Xaj-Q-joT%^Z4@ial?408GgqeNzo0o&dA-Uqa}56NX?|NViF+f zO!&66PN$B)5MN=89vwJNEwR^3Qdd$gE0Cqux*YqS&X+TOQ zjw8z6tQNJWO2mYSyk212NiVGQ0AC}$XZ}l`aq<_nSzjVwVV7;h&#>`R>E_-@_&G1EK|?`hi@J=EsvgCfZ@nb0*;y zTw)cIp#bQKKf)7AoEJiogoK7+wIntn%u9k4jJhD)88MVdl_We6#`=P&g`ZmR;cy+= z0768}9Iif{EY2)=;!F^h8PKt)l;E~WRfk|AYVzJ2JxTZq`>Ch^!N2k8-&FloN)cKl zNDXJo5u3inz`lqlkQU}Oe2h-h1J4u=2VLLW4B8!Ly=3_DB8m=@`MI}9ah84#i5%v+ zpdpD&47D0{BcOAbrd`wt_RX9$Uyhpas=>m-(C!BAeu z#N(j=UnqL_b&!rkaNNK{804G|5qWAhk0uxmj7!35tbNh7=<_6KL^{SoC0mGEj2*6h zf}XUMEgLUx5dv1~*0KI-M)S7$8Wi@&=jqwD<6K6PW47Q5MB_GwL0?kPs~y*e7c8Hn zSS-1M!)@c?gT;bi-$r;;THuqqW+3Wt3OY1s>45Kwc)u#*kK?dJ5(KTK94@u~T@os37 z#3cvCcCKtl57GY&!5~45l1yMdSu%0<_{=;gwUNN4Pv*Ozt5u&zCc(DS1z?f#z1C|>eO>tUM3-ANZ%CZ#0@ zba!-`?;`Gpq_3ThCja(tlj~~}JWfMf>Iohex+u0MH|THaWoAsU#n=w6J75g&63|ei zskfx)>^Kb~l=%wDMSlT0KKNIle0Q{i^8I;=@+1e?89BHcPa;w_(+uf8R>aD0+`l<+ z6y{^zMS0^-Ew~ zm~jOr!n>Dwi*XfIH9B%8DM}jD1L3Yoc;^#fq-G1aQyGFlqRBEXCll0AQ};+X6x2T| zUJf}>ba69V{dx-P9^n?{yJz6+YQJi(HvF`@#TY88L(=>Z3LyL}89W`LwqAsZ$*fm5 zrIy;ek3WCDE3=dl%|v0m7()-Y=qCp&knWWtIC&CL*P^;Cq6 z6$J}|t`hq7tSL?nCPyfx7KdI!AdQuq7||+otIy&25X`%}LX78sqa)UHlrj^T*h1c6 z#D)C~H17>|u)I4>ksO;;rNpf$6%Lc)HEkc<^l8L0nM6V_&ueyYBEex4%$&gJoQ#9z6} z+(csXuqHmn_)f8?tzK!sIm2Y&fO@<+o-p@V2w!g~u!WRyFhOu8lQ-397)QiHhGXiL z8)tl;ex>wPqlC_qb5%twLz-owsux?OfWBQ?1*d)=$zVOM@1gBc_sU(5!UX{IvlkQA z-OM~A)D_h5lHV2loolRSr=bs^`hz(=s*5$xsBTar=hdwXO7a^(8AUDI0Ee0?l!1Y)kgc|gL}lf!<%qm$$fJQj5TZBY}n)%a*ZL$DmT7m~X`>$+~$ zp;0jlnD9shL!AJhHBM4uCYH;!#Ku*=hhV2-gT7_+X=E4h44`1@~Hc!l%K>}O5$c^I4n97AT!NT$aGQ1;>4;u+cCo#Gy~w# zy#IXv%ZHCBvHGuTa`hvR(6h=P_8#Y%HzCJ>68K7xCO|7#SQo2oyCD$zy3U~u`*R%kfkLC&Q7eV^?2Z#)Ts@}`0DlmN7why-fC1FMYypEA@it7qUT8Q zgU>T`6NJ24L=wB&(Z!5ZmbzeV8t`N9-6sd5t&O$WE2MZPtsM~#`91!4xNEd_o?A%v z@_U$1wzsru24Y5!H2^`lL;L-QYPrBxO_Rc5ERRd#0I1H7+z;$Wk>T2%t)#w4O^u~ znQ$HiylKEZ`X4I~WIibrRLw9G`o;Yot5+jdJylvcMOTfxAi8g!{r=@doV@lA<%3n0 zLyf5F5mJcC9WoqEO<5Qfry=Hw7RavBCE_JmcuHN+VvUtm69fW;Dakb@yxmRsj6G7~ zRl^86(4xkZnxirdliNK zMT`MrCg7+w%#;*{QOP23U!rac^nP=&pxd6upVQpt6WJn68|0VM<^-ThJ_BalRF*t$ zvDr~71B9j6_6)T-`xbC1h+o~S$YI|cXWF55G}RUaG9@o@SvvKc_mx(S*AG`n(4S3j zavm$_pDYAwimNM3>CA*7(Wz!uwcvC}5SRs}rYyn1*y8c+s?<(y3QIT1yw;b8+m&t}t7*G=SXs55cQU($}hj zyP7vR4J@*enY1j_(1(on+NoE)pscbXS;wLLYKaFVN%QFN!{QTFKvJt81J1-!H9upe z2sMm{FwQiNn0A(h@r#QM(7zY^HPbRq`VF3P zZ6-U3a`4Ww3aAnMAbAc1QqVWi5b`|)8B)=~hG{_O@Uk)GT1N|3xzv`x+hcwRR@RIWcwzn(wJ4UMaW1xiNca zcUu`%+A%$VL^Ld6KW#8Ri+91;vHj_-Wpqlqu4Z($_a0uSd%@J{e`D&E`U&W!QoXox zz10(v(~Wf$P~6{|+8iJD+F3D|_ix8#ODF(mds@is78OTZ$!0odw2Vh=8eM=o=8f)^ zuFNVcbR>FEUXc_Zn0P?sEf5cCc1;3jwgttflC^F5(!L_DL++3H;p3;zl4NGxV?2bu z+{+BKdXOHNbUNN58NO5LQ8zl|;MSR7;0BR&1-C_lWaifjq6ffuC_Fc9yRPvvAY4i3Q^u#Q@^=|VrEra(Rv=1Z48tx6Q~eC zNJQ{QG3t?~s(4Iz+NYbjxZ*0eGRX=v+h>y#lvLt#%mpUKp5`G$sPnnlu{l*plCh?k znLJQS3;qH2)&&`5dwE_j2Msp@)OBoe|9wgm62I0%m`N;oCG4M}LyFS?*bnI=cgoq=e@%o@=hYw#k< zEEQ!KXMn0T(@`S{+~11DO%P}nHu*gKv6z#H-o=UPHcFo*ug76;9Ct-P&Vl3Ueseg& z+Qyn~w9 zwEqYSKDER5NkOg(VVzq0JEg%$$5&l2W(LKdTNIoT0)>#^*{}>Xzz^QCe|R+M%e9sc z^!vPk|Ipa884`x$5i_JvTWIGlVeBDh)H~S>8evdTY*@-lq!JH7#7}rH>&JB_=pzXS zM%i6-3e(g0*g$xK0Bc@I*%EnO)prucLhh&fUpvFP8X2fe-Oz5D`|9DeF;{mO0&H2q zh=R)qkalloi2%#jY7EZPK^`vmR}y`97*205q&>Ueo)g*x{M^`sSqN2v_ zc6YNvkzN54XZ+*ybZLZa=iii-&@WuEy+n{!!+ICioc&nh_`14PSFYX;cFIR*!#25{ zS+;wzq%oLLs=i+_3NNQff8lVO=R7f6IDO36U^M=&i|h>(1gGQ3BUfgg^VJKAyIhwd!d z3W9T-&PcdvJ+8-BBsfH-u{*1TQq|Im=o(t|oGDD|*1ke4F2q+LrKNm>XNmyhC%+e@`xz72lFCw%?J)gf1A>lB(@;DyzzoQ*iM>Vx>z!;qc@%2SETr8(M8oUVF5?{{RTvEH#rH^_e(e(qcM5n5PqY~JFsMYJuSEzpNADPA7!8F}1Hvre6 z^~uc%YbtlyTr}(J)$LboNrF`}-7|2g4SjX6Yp>T(v1*2kXMIo(1e9i0cLISSom2sd zJ3oE=?)_Y>jnTkb8YEN=)|uc#n`3VZ$$^>Avr2A8{UoDBD*V!#U9>6k%c|Q&J1S=@ zr;aLe+af|PE{bHQy4LlKj<1`sV*d3cJxYl)JRr{S{mvlE8N4^{C^tGQ(9UICmex-S3y~lV>6VjU^PJ$I)E}`|gOSb_4d>|27=YNmSfTFB zxwHG-dMl8@(@QU(!3PgR!DlcRj*a;C^v7*)vSjMP{Me(ABda5s`6D~S@;s+sjjQYg zs~jEjXLcsYGu<`vuwh0Wj?0@q#@UU9q1(~wu<;%@z1is7c13B_g$sB#7cMHU7?>)7%20}Yn)hD`$F!0%l{kTQ~sx-01!=cXhb|zK8Q%rf5O4JAe zIblL~IuedFZYbGWj_9VxJXHp)q6qWu%{|Pii)j)8XGLB_%$pmt^TnFYuk#I%_r+Qs z8@sur9jNlw_h%?t^02~I%#ib)#GFrM*G%-$76qd-<#?Sznf$4R6$LA15{oSYlPJ~~ z=%)mg@%L1HdOo!(%M2O~StnntcL0GVr5PJ zGI?=&BONrPnvk@QzPh~zJ6Fp$6yi&(XLP^zvQ~~ebU1kYss9k1QEv(mMj2GbtkP1ypV(a5N|@_DsUL$`9Dg1 zl6K+NgNIygao0Q8?vO}SbTlhETD7olCLalAFNJ8_EDVScl?JUMFUx!Ry1bs)hKQeVRaIl=9j`kP-vDnLwBR5 z0B6_ZoZPUm7Mm3q4aFeZSD|AxU0>b3q}hCY%+I|$Lk{0Cm!gbvpR}of!1->zg5Gmb;@lhdOMhlwcwKuZ~WkY0+lBr`fqkzbChWIk9Dgj8Td z_`4H%W4m2sQ*KmX%X@cO<7{`z(12g*hhlWEMs-EWM4=`8!v0X1oV|QsGfKmR$YYB+ z>Kg(zRT_JSK89=q&xbP<&8k2Et7+ywacg$2S6Zg%dneyYDe>mqQQqV3{x0ZQceF#* z`ty{wc_sMc;bJfUB~3PtpO&h@L;*~as#`=Do1a{mUJx@Bp=K$D^$IPnV5xZy zW133606m$B7?XdZA~@d>5&NlTiu_Iv_RBjSbF?Q2BUm52Kwg7)VrKFI2| zb}FO>*lnoWC0|_`()s%3C1eruDnk|}b01smA&phB)+SRUhsJoHjW?+K*0$gA^Q`CS zGT0#NYNI`HVdsE7Kn3>s;!zrqp5otbX{{PG)TMx%d(^oR zAXmPj!oLeQl|i^OLGLskHg$_Qs3x5u+-Ynyktb#Tf$ap97!GwvL}wD$t6&*aPt3OQ zV6vNfsPo{?Bz-W2s+--7X0j3Bxry*92=yP=HY%z=O!Yh6~;wwZ-;!#NA8u4=YG7l z>Q38-Yb^){zRG*t`ZtvM5I5+QFY7#7I}odtLDXAvvWU1BmQOdbNYUK6VS;Q1HHOko z08q8R$`I|1D^!LcU{P+b_9_VATU>;-{b3!k`~3}sp9AFpC;@*k!S``wTI{2nW3+fL zN@OVpm6X7!V3H_g4k_r&l!vQ+IYrf7t;Z3v0!?`=U5QWOE=uFb8Sv%uZCmU)94^U)#npV~xGW-$L=;3RP^wiX zZMXSd9I~Pg7ZCT($_`uWOb()Bw4J#HEUci7Sax}(gk3Swi|MKhmA74Y1YA|g-LYI81DBSjwpU3}pz zo5n-h4t7FPV3zP0?2ydvG(xa(aC4WkzK?ToX9_6t>t;HJAC>air*5Vz?f%LHH`0}j zG<8nePgY#ScemO!OtQxGb*8c7SG6%)BRCdmt_7}O_kTIA5Ad}-?6+4J z$oV=>?9`@p!w->=7tl3C#ECLUR_@@_4TyaR$@j9pdaE=%;~`XQ?nHXq+iXiKY#l0kDuRvCxoQW=P6eUt~D`*D= zqCpAyQm1p$B~H%FIJy;k8_p5nQBHXRCL-z3aT*m5lq7RL0301OR~n$nuXu!Ip<*;j z!p1|w_dZ|FHE9yu@%H9QP9+hbsc{bT&$+iJ%~*hcQYVG&MDlKRv|7t!$Csy1LY5o-;4>`e;LrU)}aXt0~J z<#bJ*p+QgtIsreYlarIbNZIz+`_(-nJ-7HUl7=34^^QiB&kuYIYJ+^C_Epag_VgXf zba-@mf_wun;{RH2Vv|F}s_UIIYVMRH_b(Mb0;knEoAhyFNKYG!I*NWua*}GQQj3%I zymsrEbR95TQzA-WJ3La{2$Fhx3-X1|o-EYMtM+wNNyzHF(T$ zShftnnG$Za!Nhup_PA+zP)eiPQfp@k+00UXl;DL2wTNahUL-TwbgBQNURM#O0H3a z`fLP9wc4s=0rd>lc2eqKaEu620_?;?a3(I5FMv-C`=hF)km*4N3~yOK!|6qMMc%JAM?y6Uya<9=Xap5H!x_%6hSrFHmCdIBDw>fTpJ0(~12 zbnHWCtg{KdS-Jzz!y$7bG=6Aj5sNB>SCdK+mR{WX%DtKyf?*(6{dso&Ldlb;FrBJm zRqdgva>e~O;2&wj2b1MZ#P}*u$eR@8uuY`U2!CVdChUwXzx1XOB!;6xnQE`y{eFD_ z5wGknu+g1OHxgH+3VpomR>f4vF7b}Z8SnDOHD7z=!}}FjPX*I@GQ#- zZG*A33H>!xW@Mh67bmO!duhce}m6!-|oC;9HG&CL@E{SFwCS(Ey?P zlg$e>u$cXA{-%dY0|7r64AB)NJJ52oa`MbaW zx2!XfLK78X#UU4XFZ3%f3_sKkGWD(nQe@@Q*EY5(tzw5 z-Dn@6G$%9&oizR@{!WtG=~gbAh`wktO3 ziDMa^(K(v&xq3W2I=XxgFgW3NAWO$#kvj%Bhkp@l$*`& zY7p|7#}wZy5_Ex=wgn+Tf&%UAR3y+J0{U$+ZH-Uq?9~&Kb+goMCUw!^^zuH1UZ$oU z)ep(Ial1ZT-#wIU>dshaS-n}d9uuZlO|@rF{i$j|*8+8YOF*6a{7dp?rc_orPBox* zA{UfESN%A(agW~-LCY1TrLnihqPn_eRktJI(G#=8DGc3~okl>4DfL3bYvPR*Zb+{s z(!1tFgof~jo<^u8eF32R9~}gFmQn zK9#BzbeBSRGi@qgs}CQ(BWhDJ-8lJb9?@-52E(G;z{!&YJe5qIh!IjVn4QNH*$b?A za(@GA3}Gjm31BP~KK8gq;*$WrdoYA4<^!l^3anB5HN1DAs?V=8L61#)Q=#ku-0cps zC6H>xCbu^&t!>9UXlj&pFjG;L6p#UR@Rq;aA(ThHw8XrpAzvg^+&bN3j>AxaU>eY z11`zmU+vJ6ymQe(x*d{36>MswM_=FVbD>;_0mDTgO(K&jfuHUyd5ueTQK6jrb&B>C zihznMp>_j(2KUI5DkE#6X`2huG~VNGy4(HEgZEI9L*-GN`sPx4DMKLjdQ|Vc zJ0SucJ9Mxv8W2TT?;dXMM(vOI-3Xj*O7)&Ml;xwW!AaPPG$VQ3NmLX#f$dnOE z`MFb9h}0-E4*#%$yRybp;Bg*QXv&b>5>uMXc2G;{TU5M?^N&$|Hov45 zhpYQK<9cW2#KOs0=BKiQnpENxsRVsPd~E`EI|oFW-Me@g>j^~cPA}GiI-@(tmm3M{ z;STj0nW)68?&fy^P6`ow^KggqR!FA0yxAcmwY3MX4t>i_r+w;6Bq+iB@G3jGdAc}< z_;) z0?b{_R;$u6$a0bJ=m?8~2Z3xYv#(+$Q2fB_B*$UU(&$uL8mZydoT^Y-2L(Vo6LjJ6 zRc(tkXtUT-Roaot3GPqqHjN*s+sHE4@OdnxPc^nj@TUWREdqiWXjzYF&uM9IYM4vp z@f>T3rD9PQ$_3-oUN*YU5-$~5CRzk>9%2{Dld%M~LvQNDMHGZDx<2&rd3Nr?Kv5}> zh4UbjAjwY~ycjl`z>#zx6pE)IWW^>yBCvtmdSXB+MWbd{Fd0~iCRDm1q+QKFh5zFO zXip_L6BwxDi~=EtnP76IiTi*v)6Q@(I;r)7Zl2fcpbF$m<#LA_G!v8xXxnHoO08PQ zii#96$V5Z0FW#{E#>%CuohU3#Vkgp+vL!Y8P+@WpHV>h%8ne|hY}K?4qK~^lNthUL z7=BWyXBY6xRld?ZNj54t*XsD1hYZ#Qt@vu2O_+#TA>J7b1c@hM@T#k-8d9Fmq$Vqd zc#*u&7+i_eJ{-19rLXQ3y_@S$Al%#mWda`O+6p>*1-B~;yF6?8&uge-*d?TnR>myS zF6uDbE2NTG)ODENA;Aj)FUPjXIzNb->z>W^_VDUq(jPZ=q%PP5Yo|XCZ#=RDK~zc3 z73n}lgwl?e(t#X!ccLCZvYru)fe=>@^rO~i7sex4qpN9p5MEPcyFkTCvWX;xsuVJq zA#WG0Z8cAQS?PQR9j>%3OW4kJrH{#rM3rlNN)W~983s4P?oMU0^9Xv-)*fd6H(|4c zJjAHzdPUr*i!W6?z0M>)*OjhWUD-j1{0vH$(*Joi8qt_D)!Fp8XD=>~z<(S=xIEF# zx?F2;Bn^2A+Cqy@vcik9ZVKjBN=c(`cH5U^4(y(L#P4Vj|LhMYI1lMgla2KeqkP(* zsyZ4yoBq7?2x0V8t{9+61d@bxT!lcHqjG92kS;N6?T9`wISdDB`O%diNMHwp@7?|| zIa>@AnAu2+VZ9!^(x^SM?8;FuJP@ud$zTi?o20*LLI>_frz-SuxO9*iieX?&19}K~ z3h77VA=Fwe88z*6n$j{6da5$-Am>G$>J00B&I{JFX*9S%l(hTw^Tis%s~g5DSu8z7 z{!di0s52T#HYGd*0Vp?D2c#6j5r6&gP0jAIjvnFvN+gq0QhNm_33dZ{db%hT9*Ri1 ze}gh3e5#x~q5W$6hIz%b;iq>)RTS%&u&AYlNas#BMV6YKYpa_CDaGGdxc_XbJ#RS8 z#gky+$r%Y+M3?*3*ht2Wi9lDexMR2W?=#YC&p^I2f&Fi$W4zoXFQ|Aj;Dn@uRL>IxuzfPzg#ehb3$aM>rx^Iv1S; z42NXBZg{O+s4CcEYg}#!-9{kDMVL+^-^~HB9*yjw(o2yMWsdF^Pt1*mubP73BKkBF zWXWQ!0#y`2hSBPD9WKvr5>$er2~>JIJ_CDZz~*6O&xJ(x7-thf26b{0U*cm#HGjp| zHBW%PGdouWfs!9%A7MwqH-#vRFa@<%Azs=NMkL2zm}mf4KO7S<3!#GZpY?g5d<-cj zjV$<6TDio2NR(nF4O1Rtc^&c@f~p4QR%|E_>i}60_up^>4k_~FBpQ|g;ChOjQo{0J zm}0;XSKWb5JF%iw*z)w=e zwAp3H)Xt#nDAk#i*G9-J!d?ZPrCAq3#YH7|veeW=BThJns|uxIpe9g*8wXTM1uCob zg9Lv7GYyM_@JF1ln=+wAc>yi6Jj=idCfuYj6N8(5lZoI=WdQ<9XQF&C$0S7pDbJUqG_;x_ z_mMcI+#*sot)e7oBT=ZxpqtMpCx$}6jTQRgK>e2)pl<{?J@W-+GuTR`ELFf=iC~#6 zXOc5q?ht8COcw%PaZiC&Y`7(_pM|lJw#-G8W0rSv!x1J2#sg}6 z8Z$MP!(uAovS6csD$n?I8Kwbsulw1AAYQBkWkNwz>)MVA9#^}~@pO7}@&e8+ETWFV zntZWD2;B4wMa4?%n3-xgQ%*Npt}TG0w5wv57{kdF_VlM=3NAeCdEv=S9(E~mHqN;A?F}H&}v+Y{L zBAI7~YSr`=Tv*PT3^0Vw``PXgUyY?eV}Fg4**$yv-FLtI^|!Y_emRkl{x6^5&nIM~ zzxzCa-zCii5AmRXx#`O#K(cm}Y6oUNKOCJb@nuig2Xw5h++APPwOPL3sTHh=MKsIOO_xVPA1XwzS zl0Q+GFiq5*>d24heVOz8jnk3NJwiuZ0Tg)(GPFb{YD-G6o`qUKwNx`rzo*a{r8%A7 zH)v2t_Y3P=z#sE!*X3^qoO1|U5jD~Gnd;JX^1ciQmGnKSfQy;MPOLm%|69M)MX>5FMB5zF~}_yJIP)5ZD&sxh?^#DY<~W)K)w4Jwr~wY(^U=+MAz zg~cRe-JJ#w=#a>CZEtZ8<&{1exgJ>QFFu??+lE_Mgc-roLQ@jLstW;tP1?vws~by> zCE+E+YcqZJYxu)RG)(nT7$lL$Z;0vsI%^ebTB&%#aK0d)e}#cGzJrKUGw%KzJqOGB zpB0Thf{cv`8B~g z5&BWNuSX{7CUiEM5>QZp83O2G&v*q6`0DC#g#v}(fkAZfP7N-x0GkEow)Kl4ehe?d zU4$ydf?AJXPX1p=P3>(*Rum#nMP(xRfS|k{FCn3At{=Bxo<-W3x5aK<+8GSAh}_($ zf(Sa19B3Jl3Up`C7X*BCVua3&V-JMu8{tBAYdSO>W z)3zyA?QmNskmqo}Dm_pex*&&&D?$WwmwL)-W6HP|D1^9~taQ{@CC4R1%j%aj{ z2GbPxl;whcF`E*k4b!yHmDGmBqeKZ#mySmqqngH38Bo5npaYdraqHu0Zt{IH#5qk8 zgrlvsuzSrnau!gXZ7Hf(50g85{Qi5`YCnGejQ*FuqK@`@xBn8P_S;`S{P_99&qp7J z=*tNco8ez)Iu1K!0z}j2v1(vt3|0en7?`rBSB%9QgGXyv5L=@P9KsGIx`c|0o<@UY zKpJm+*G-4la$&%i{@u)M5pl&MhLA_5GJ`0ksR#tUO6MoyHV}C~3K3uJZYy8y|CU|^`w3ghJUPdXQu~>je<8xHT+yjry5YC!A z&`Cz3le&}Stb(7!F92Uy+>6ZNmaKuzf}71hi73v_pb3c66eh&gwh+d_K)q|LcHC`2 zf!4IHI4-8WS>R8m*d|J@znTt0PYYSECh56%q^SQR*)}E%@+bTtSp$A3FNY~uTr%yQt?-ask*W^=1to(d@u2HhRl{W2#DLJVgRz|0=KIcQDb_T1)@{g zL>2!xut_M&C#;T@qD zOTccx-%D_V;Yn0ByUwt}12RPJ?$I>|+B@RbfBX33+s_|%a-cNH ziQAwq4GbuGyzxB6l5Ld7^o2zoo12Hr=d^}5y0}nBOC4>EO=Ejt+*!vGq60#5fO$gw zSk%}JB?7euEpC*%+nXM)%N~yE!uc#Q&=AtEAMX*f+Vw>Gu->H`A7LWeez5A&(4V1q zciF@NB~a07^6u4!*?g6k+GM>n!*`-PPj*8<&2z5--%8d{$KnoVoI<+UjY|}bDv(f= zY#>v%)1ff3$3ty*sIZ7)LRSamZKQ_*bO{H7SL@XQ)3+tEJ3@e$=L047E(p zetpmZc2uhJ%8Uyy{HEp4Y$Y95 z6Czt33?)oG#5R1eiT@&wne?v!X(>sn9pqsJscNIJ^b$=G1bTc*XLp{MtQ!@2if{?cqy0dCSx`sMr2yPw~F`{Vo6Vme=I>`f|wTAkn#`Li0O_$gfF`YYiC zk!?jmZe+lbsyi%5Rip|}t&j3eQe{2rJBiYu45Xgn?-+TKyrn{2numE|k?;&~0x#)K zi%xw3PUNVRZQ@yAonUNTtLAnAO$y3%w4}nL-m-a`;pkCRz`q< z_+k&6cUJE;l74imJc-yyYQC1g@zH8{odyXq)M{-@PN8C0(cy?aL%lyW+gxAYq2`?! zHeg|<{iu8pP(_d_$z&UBFF}AuL}%HtN}>I=84A>AY@mx172Qe^!Q>?abL}@nOHZ zJZ4GcsGG%uuorY`hI|RV39<;fZKUb~3~As~)87%jCx29= z0l+c3bPbKL3S`yR03yzGsW$esf87@}7?sr!zRlSr3D4%AVXduG4X{IQ6%thi;IcL* zkYMCHRVJ^d$Qwd)P*LI)x)I53CT3K&Bj|s^+TEtqh`r_oGan+0W|3-|SLgN)m}iL7 z8}faSFKH&^g$`m!(JB}+mrG+(u@Ae(LfOZ~1o@-JZV-R>czuu3TS<)D6cg#1Qr;fm z+l%s5Dpm6DwcouqPqezbko0H^8R`u6xMB{7Bnz==)im0#qAuM3y#4U``2ELUj-USZ z^SftnH9(5lS?vJ0xR-S}PG*0bot-RSEEgvz)HFwniW78tIKL1XGJEyW5*QIkL$AJG z_Y_~?GXdcl1ht$_(jIQocudWO|y*YbLRO? z{_{U4%oTtmB}+Www7NXh+t!(&`!GsYP82?OCI#~<}1xipJ{GS9ky>o zgb>pia10#|3p}-|nnfh<+0Qc*^{3|PrW*$4xVOsug(!%MF(3;MnJ+24Z7{0Ob;iGX zd@~m&yE`06CZ^~3AF8&i!Z=6TjkfU=x@3vYM=B51{EuFGrqQ|5`L z(DdiYZgP`V5n;x=g}@?X*z#EbT$ew+{rt;^-@grm#u-*XXjeN*9rP60PV99fOb$&c zh!0a%%Ej+!+g8$!Ro&`OlhtuMq*gY=-$4~%C~UU_BFW<10*Vn+L-o_Dm)0`TTuY;? zu?rHpyOgps6lWX83A$LhIi57MTUR1OGo%Oan<+a=O*VaNA(F$ernrxtx1=o>e59R= z88hT5GGBMfz8$?o!Uc9w6Ca1GYKktLxKiq$N{#|}W0PJrGO2vJ;W8@L-Kmf?KdUrL z7M3(KF7Y$m1z`2{hg+};IqJ!QZg9>tLG;WdxzJ2W15kGA;(BUB3hl9Oj`&z zrC)+{MG=PD3qTES9Rj6JJkcyfXQuJs!dPY-ja%p5m84YrZFk%vc@U*nA*}qt1pmO1 zY4M=|nzODnBD!m;1s@WX+8kW8b3D+i(6^`Nl~Y&hvANo8V8y6>`wqc~H@8u} z%TL2L7%{z#6}mH_yw4X5$v2@_$&E>h zvIV>G)Swf4N{UX%q0rStW6aEpgjVF1F@{|i%L?rc|0fMgY@;BS%IZ`e^E?9xX}h8{ zbI+?0*`zvHYB+}*<{mg#M!bKI!jyMScs6BiK}m_42W{Qp)|^!%5?E zIG|caHN@9?ynhXesdLfce=vlF3z=3iN&XILnF~tSM|L95(0vew#AFc``Q$$k&rg#E zqR(H`u5ovGxVx8=m}ZN;eVZ0(zC=Iy5~dRDMhZ_t4l2K%i{M$g>RG`Y{5d!FLSMuJ)Qjx3f*ugWq8uxPjOZ8XS^;{*RTP3doW~SP zsrZr5*3LwA8Dy1f4kP93p`Ip}{lJM=^*sVNi8KLP)dz+W!ZpJinWT&4(&N?~Qzrg! z)F-&oVNsIy`#X4cvZKs6#c*1Ay2CpBG*2S~C&*Xf#6-SdFQ&Ol43jD>cXBXL%lU&F z-G&ig3gd=aSIz|*1k^{8^Pt!)Ek&?4rf;tQ8;Uu)(IDpjzh>tvsSZum25%AjO5Y*m zm5b^)7gJuUi}gpX@|XfKYjG;w2*54*Ws8mWq;xJKmT>tilO#9x4`<0y6jWI{Eb!Cf zbqP-_7cf~kwC-o9RDj=yHqwJ}I=u-JTYbN_nz`)!k)bYEMnYSVfExBeErP5j9xP!` zFBDMou*c|Q8hw&V=6Omhvtbp$bVN_FhbwgDs;M9C_lgeCqW5=da6r^bCHJY_`RWy2 zR%0Vh7CPf{Y^okl&p=9r%4(@k=px(+7v*2ABmT+5s!C>_eq!ZwW5RlwPy+c(7q4+u zBOgJv{n1vuT4S~%dpE~y#SDM+UnlQ$#U2QBvE8mUW<&cAh>5{-JVhzu_qA7jvj$_b zRXthv!VAjHG_BVi>h6^TAsSe4d12|V8jQ-Tls0&j8AF$71A?qLGT=|^49oKfbiOpJ z5lvJuu??RK&)ufm*LJCWZH4SLnkj6le?~JE>glc*v;3wg9?KqG%u%(z;|FrMbxLVX z8)WslPM1eDaF=a>gZXnr+?M*-%GlU`jjMM}eW9iD0P zvoj#4t-037B;{V7F$UIAnnBWKDta3PpWSbt{#7bJPOZ!YX_~uDt6sgOIh4==*>}VP zL0g0iCDl5GtOdD|(jC@~9tb>(-1#Vm^>Y)js?Vshrs#uoCO67~Bq6B8MX0F}b`X*; za5{bT~!T*1>80~7-&SScH9YE@oq(6;Uyyrhc2#q+*d8zpZr`g zOV&+imO7-TN`)`E(Yz*cs=sv9U&8VeU^N3vdlX0boTQ9itRG^;c!)4DiXsbnUN z=4;JPr6ENJ9;{XiIUZ6i#&~`cfeah9y<{-Zyr~_p!!&O0P^ODO%c@%fM+&-hT&LQ^^uQVJ*HSZ&aBWLKY+a z+*G|#><-J8LRLz9Q^v6T%jL}q!4hv!^y@+zCx^kH9q7=-!4!T6RCH{a7Ucu!^E7@* zo2j*KL3O9ALb(|ZUnuu-Ch2?FPFsEP<4#wd*q7JHUUm&exe+5`UZbUpHbNMV$-X;9 z4$NSN)F1?VY?cykQed|Ee_sDy_^(HW&AC zQbrAXb2^9i)NDP!mQEp9Io{P7>%5~kOP|dhVCz;PW{Jsp#d|fN(v)9E1*Pkq_i_94 zjQky>nplsDr8O_sWmXgPI6HRyE2aJe6lKX8(}f7p zqWpZhVh+It;%-rc5bpmvpF)+UP@#)UGWFLOokO=Ja7-u+NXY7THCbevuVt5a0(u$F zy_`z~Oa)bnd`~d>>}4EIb9^0prXU7)E~@mDh}TnL1E+FG#!VBHv0-eOz_rsO;Zedk zP#edN9o4u+yr*4~fvXVMZKTcVL&lve+1W;=pkl_#;!1i72zs*=1Z)>TERo@Fl}x)f zCACi@3}(cHMW+W6`P?^uc+DWWO3*}HoS=j?(U9;r7885Z3L1PB%^2tx@$vyN`&C>N zOl5eLR(hre09?8%4Oc}ekV_prPJ@cV;=@XfK`O#2v8C+{0S>uHynfx5Ma(1Z{)YOP zB$pz7fjx*lkLG;51a!S61oKW;3sNRwEM&bmI2_)JSdVPH(i7IgMVf_11fp?hXCav| z5L96xgh*~}=?oWLFqz43R6~^R(NH1ac*WDi(fJ2$6V%^>PAonI(| zLM*d0KwEGKk2}i+R&NRYC9-mQk&!Y3>Q3-OQ+CjM?q?CGG_p;3Xs92jRsRA7N^i`Z zFmX^dp`IxxON!z0m*Ydw4YME9#y-`O4UTruCDd5Wg5Dv7bVobnq(6`A38hpyk>hrJ zIgqF}SwgtefaORuEtSlav&sxNT4q6aX6_|QZ}G{+LO(^(EYf5-s7)y=cz8TC0aLvh z3K7DdP~IdnAlry6U7Ar`&5bu>Sn^sBw6YeYtQm2 z*4&KG)z3pv3c0;OWxz~%2a@Q7zgBJ*R++V(bET?vw2V(F?Uzt8kUcCa@)atW4=UL8 zsp71PJR6&%PaurgnuYefYN=l{tapj{!7eKn+uZJuI_pHzDVusCt}A_6+)&UE!6{OR zvB;ISuJu>5figHUNmu7k?9Ce_aMHaz)rl$Lh{{JwJO(0rGfr{cP*!yg`ld{B&q^1 zTNEh+p2AQ};zJQ#l$5z&uNn7Cv2KniN)-k>LrzLN6Xc^=xn_Egnr@H)UO_3OFUWaW zw(kiNHc)Ycgj4jlEI@&!2V4j2GnU`|U}n+3+wNIE$3iz(^PG4ld*D)szfd}`8W5VT zv^V4*TP;@ZEzpDJSua5xk)UOO1NP?3FQR~#0#ZvWhf;T68u20V!+R6u%?_CN0ICD} zPgtc70fnekJw3_Hx6WooENg4OqaISW9)Ko_iB`3@!ty7qp4h$YJ2f1X^^(TqvMWkv zvhk>*G$T`sD3cgD!x>dknWMLH-(y_`m%=KYz2ZPQ(f1Q#tMu5LBp*`=KUT8eUJPDOY;AvxBSTA{}x^iK36-Ah=vN_#y|0t-Q1YcVK+dV!U( zGZ3s;d$7iq0MkZL$8XT~N&CDy3)=a5o>}-vAT)(^f~7L5(8Q3QyG{uDA58Gqk4_uF zRqQ=jm;jc+1Hln#2D@TMEbO6z*3qchnZ}Q3uO(qB*X7^}QW$$7)w|A_f;Q@1Obq z%FUh6y47O6-&bsu_-l{InU)XDArtji#x^ zs*;RQf{_{Ac0MR*6z92XPlSj}Qkam~pOEYXQz4sSCjirS0|KH;Q{er~!r~*#Oxh~J z5>)wjK+ln6COkP1*+81xv3cCDo0zB3X}WE)6i3f+mH_ua;0m*L6I;U%>-?yg&T+QS|ffWkdz;L(e?TnxUze5PqI0Mg%nta zgg*3BK{W*a%L%Vaefu3LSBM56`cq{NOncr=(-SRriOtOc z-8@iD`oIz#EUViq$cyW4053sS$ie)E=7-Aj1wpoYyOL6RR!88jiGYcjx=3I;qwF4Y1d?jb_y8bOFfmm2hlS1XB# z3NBScrr06ULDV+2k93B0&midq6bB4UmmTBP>@-(10(KvdpMUuEr*BpM!$Sxu&wgi> zLWYakzciX+khmlEJYc?(@YQ~U_Ou8aWgROtHz9_Mhj?@Jb*`maQL^D^d}ss!qA5Es z(rfRu9?9&BM#NiD#8aF)QCxsqi-x=!gv+SiM4hc%1>KYn}V#MIy0^s;A$~5?(qf}RgrpaT zCcR|kWQg4|0~XSHY*WNzW`Z?hy!qR%q9R&}OvCBAljXD2u0LJ6rx5`gt8EnU=F%Gh zG1i@&*yl@;j!ej!Ryi?(Xd#LLs7cqT|3JD%+uZ}fEPs*`^hCSQ))&~B7tFl|4-e;% zc>e`XqX2G+vOHz|@bkq~-F$^kz zsRWLZ$wJGd2pEvD))@!R5u=4TPS2C!(ZjSTn`ky>0s>W67(|U?o2z7Fu95}J;bS8X zt(|c>R&FwuDe_DZE;#uep^a@KTombMy(m&#_IGsdpLpts+9AS>m82P&fxkK5vsgh*0={g!k41Q=Q&ddx$`0a^!@}Mi^}1x z`~v}-x2Ttq9oW#h2Z5FNcYMakc;|D*X6k40V;%G!_6Q))IgHJq5=dUGgDnKHdf^t9 zL9Zsu;eB%O4i-}C!m>QT`{C3Ua)DShM!T+Ol>@8PF0n!^{75BJA^sHS`EshxbFRQ> zFg(XhYU9VMP|=R*w^pJ?z#K5MaEZkq<(w`x7(#I$g7E=;7$x-xOxuGxXVVDkoSln2 zF(VyQf2mq~w90f|a%Z@#TJRl&@ZrsIHd!uR)Eg8lo6*#tKHk%-7xIa+P)HaLFRxoY zoBVJ2LO2Nsy=0MzcuoB;Ne5xQqL4h8C=j5#VToA4o;E0QIIf==qNSJ}HiF!8f=4_1-`?GT{((rB~5vB|+H3h^gfO?*2c-D-O3>DNLHL-NDhbzQR;4wP_UtWb-QF%)cK zEfmo8d}*a#++!*vgF>85w<088-fUp9f^mojF0W%rVU0z$aQ+Yv=ZMt(<0xGakvb?B zRsG5Ze12n{RDZ^k_Q|m+1RM~o5IHB7E2Y!8RwE@}Pie5DRywTU{~N7SCK;6bj!V zi;ImGIFp5-UH1Q<4y@#jr4OAEvwo90BV`7hlJUUi>Usn-1l0&!n)J?8S1JA+>sH7V z$XiN`B3V)vJ8#9S-n;6;TstP{q}wP&K#Vmt1!zYLn|6K!KFuZ)UG`2QuET}z83V%Y zdTyySWKEaNOTm?;A}`5>IPl#&5iL11 z%HQZfE|mG9Gu-1$KoMFt?HzmW&P}+O zo`-~~f(68mBE&}F6p=LpTT1i`ntBT%?|o?q<7662j)pEBKXuu^1M= z-TUu9{QUkq&|&T+nXNbbi9O6}h$f?H$VhpnbSG zpwvNV6rBCfRTjM z*&BB7ADtxM*CK~zkoBs7U0%Js^k)w5l7|sF%xnPA+du4@RHEUyZj0LoP}`3R4*@or z8#f?hBnY(spfAxY1$7wdcrl`HI9hY$!LYt89d>YLk+?WKIrCUHXS;>1>?*RfeLz<< zO{RmKF8)x~*Ou^gw?O#f+I6+#x-b<)h1Ww4&0<15qO*kxLv80~Jz*zR8vzOk2q{3N z7JQeNsWWp$6AvCX&Ndoc8yUZ00oTOi?cwpB z5V(Vz0eKD2L2ZKRfFGs?M|PJn$rsUbRkKQzchY1C(LC|#YdsOaD9goK+ zML-R!VTwqmAZRp~xtkd}G_IXnk|zjQsPNO1W-0sN1JB_hC=T)@RorjBl44KmZ{Xdk z3)nq5t0M$FJ)i5$(e(CSzB~ktawchX@2&+o6@gjt4erG2tCzPxUi0kJIP~o8ci;UYdExIq z{`~3lkLrHRi1dLMNJFb3Iy7vdls zmHiIm&`ZjHN};n63mCSd@6?PD4>Dl3ci&>KHuPKb}LHdIs^qjB?)jN@LYkC^-3x zmCR)b8lfL@W zgLK0QgSRJH8nQe*2?0$(DCM%B_;658n`?r)$ZbbP*6XY7!{u@Ph!!(y+3ODZBYXGC zLx=A|8vwaW5gvwtA)&9j!*qsquT;@dRG{+Y9%8yL3zBrTBU2l-zDY>VBDaf3+@-P! z@l8RJ?98B!BjX+7I5v|zCVm!`Bc>ro2z!Ha<0bCeftvfniQ@u@-Y5l=bj>i8@fY;j zz{@lyH?#8i7;Is_-uZ}jhAzI90!l&f=DZ^(#FC(lA+t>?+XW(-wBxYAfdK)5NtN*j zSdXhZCdb5#XDeCv~SNAR2^vqgAZrX7lDapP;CnQ&1Pd zwJd)+e>By&zr$BVYU?5RM|Spe6e-hY=RHM9&lQu_mRE=cDlO@DC!S)fN5l+!IZa7vn~(_DZhP~ zEG$vp=~9)3D*cvV1e!+nKKw+Uy$=%+Pr#y3vwl_)p0PQ4=wd6m$MJ10Gb5oVY03b| z&|=B0#0q@Ot+TNPhYhh7cyw!r^2j40yqMNlRe1|jI~asOM{&Te4hY3EW2c&F#s9j= zQPRTMMJScOc&3_h1}BjD*IDdbIdPA#cSjZ8qS({ZpJXaioD=L#^eQ{4o3#TCscXlv zO*hB=W(DrZdLUU=D5?wtO9_I>^5`Z~Ws1SaZW4{sW+EiEHYQVb!oLn@~4g2Hjo@#cDmfVVUF9YNv-rbbX1qh`x+6j>Pz zbrcaDlX!k{u@)wUCq`8lV7GiOt4GSI4{EyP8L_VvPzW zI6{y5he%YBdW5Gf>$rU(^-9RG^P|Lny7wChi}9UYHZmk0KM?T zoCpAoX5*+g1Kmx^Ul24!*_@-rA<;f|Ox*u|pXc53&8)1JXB;+3BeSYnHZ>1w`dwt@Dyzkcks>xqKWX4)OB(`t}y7sS#G(8FX~= z)ut)(UiS~wd&CyW5|Dy?ky2k|QH+tZfUol+EST6Y4gt6_nJ$sd79lW<<|%1&1+!F& zpfd)X|9XFa2TLU)4t{lt@3b>fcB;QiVlV#)3~qk!fMh#Eq0uyvWtgfXwn^QSa4#ZK z2OdfkV9#Q0awq?rmJu=-ovNo5r|Iy7hHD38IYLG`%^9b23-Wt0rc14A<0)b!mv~|c ze50jgcZZ%mRJs=yJd{M@7R@x~RS=+&8GtR51^C=%&nYf5B-0K}6KdM2Oa@{4N#hx= zgaOOgGeSiLFqPBl#a6@m9NA2qa_!|(Eu{5wEyc^#auO8+kRNrAB%Q=hO28uNzX+H` zO3Bq2tYW4Rr!gG^Nfwc{7N|tDLb*|^PJ#-$q9h<;;qDGpgJoDmUmiT4fdV=959baml+s*dOMwB|HNFrA6B>s=x!3_w& z_N*6|jVlcBRC(|@9u(3RREMb%KdRoi?96Of^RQuAEFRpk7=tT}L* zYY-wh|43kW91sJTay&{IAiN;srXz=9b9SYHrF1u!$U#+8Bg2SrSYpFTNvbMI;v-Pg zkakoQVlyxF-zia&Owd&lL6b!>w~m93Z2`_Da%y&=VdFJCgU(tTlSKjoIE^%iQJ9hm zf@C>*sqNT^9GK&z;R3Qa8=7PU)g<0)EzMbF=X??pd11OD6K$xi-(BthNC~*}v%}G7 zP=JU6k{{xc=F`~2Xr!}+@f_WOiTh2IDA4D)KA`kIs0WlBSan^FsB^)pFpG&PdIhRw zHH|G?$?EY*((R7$&d@Rx)qptuaQOgx_vKDXk{~5Bsv$#DKK$#K51)VjUU7le0;8D1 zxDbKMt42myM9SC5$N;{`ROOjMOnyplYr!PE| zOYH{`HzN+&y(a~-a~#O0Uyi^0>&FkDe*8-v`ceH(LDtc=6uJ=+2nb!n{q#IN`k=^S z@sqHPESU(Mhd3mlD6KEF?e!{wE9T&qTs!4OQkQ$YfAa=OyS<(?I^^flc~*{vQ3Bxq z!|^}Ct1mYiS%v(nP#Z0FMSQ>=JM`RxTWmt-x~JYHM`M{o*bXhfnW%2hXCSC4;~y2r zAZTq*&d*0?q&GkR^!LBvIy>eh9}-8eZARswv>OqQo|TTiLuJOt?R{q>y;%ycWsBqr zqGe-%HkmM;g5=gPQw=GY1Q|@K6Qbk7M-`TxGp72b=oC#dQeDgFnuTlDWt@o}G2o!N z1jBi}-tN)d$fC18{Pq3M!c#j|5LcL%8%i}Tms8ME#jysQZmIXxUB5J}9P1gYh+7L5U24Hd` zs=?5ZC1(ivA;`WaJfJS2pCV$_o!W&_fG;6NlsVsQ9_T@_3+z=h66= z);j((gfNvL!czYT(TF*2OdkwG1MUu z^k(%AhN+o{wq3Yq84Ne2q^f~!J*yHVL76PSuGbo6$-2FyLO&|q`F5+k;hD`>6{~4SQU{Z8Pjox(wJ*n{%?i87VVr}HhaH1 zB9F)7ibD2cUB^m^;04s91sUjolCYVVyiY#C%}CLGR=M+Lw?RDa+H3*E@lucKH@y@K zTQ{Nh#y$E(viM;-srAk34pktK*_@mjt7G}u&tmk99EG1y(21A5?5c>%oN_1=A$4-m zNLsFF#l&1cDnL0DX_WN&CtJKc31Kbp$Cz)kVL~^<-T#kQqvAvt(%2K*LFx}YX&`qL zboBo)9k>vd^9bJz9RW?B(~m7dNn=GAH}VXS-#o>5UY+(CDz!1a6Na8rax zw>^tuj0+^ssD8)LxLnv7N;I$CU3z!>ZRJdF#|-AQ5jg|(C@Uh>63&jSezSs3ur82s zqw>Y?c?tEH?>a&0l4gGv5YXpBb_OYEz2R*1$(5owetG#kuB5H*4=6qS=*S|xzZH+3nL-h>V;@jkm# ziRvaMvv=)=F=YJ91L=4iO0c@RDm!z^6LehM zqL$6-4s}nPd@-L>A`FR90$%b7T{uEVNFDIuW$lO{HMYG~l*prQt1;2oBA^F48-+Q8 zgplWw*>I!Y-ek=ucSKk;h*L2Mc82xzI_g0EAT6%7QUUnKWjfA@1JNNhj3mf`BJw^! z7KXd~;mL|0WqlEhpC30rpZSDrpOs>n!4^jAu3pO4o)ezJu#kb0cdD*e7t_TT?>mW%H+KT zJ%XcIHL$M5AR`gC5Lt=C@8ssqK+!eNUx&o#5{o__xArtLt~m}wQ=jv^xQ3M7J6u{<1&Np(- zK>vmobYvPfhP5{=Tp@>mfp@aMfM-j}vzg z!+Q3@E1eN){bxXX6@kWl-6Dm&u%v2lhQ8hDJ-^DbYmu`uonQ?U7CF}N(q;v4jP*cR zVvF1}+nt~Q6ztbQ3k?6x zAmcp`Va!l|PgW+DF|-gwdn1@G(cK3q;N1A7SuN*o=JKY&_t35$J=*xk3-P7N-Zww~ zcU{ZBFxPfKh!gX3%_{*Fq{qHCTAU=i5t4(wc0i;7-(K%IZVkUHv{_$4IbWE~C4x>| zg81Y9h?L{ePyXt5K#r^jEr`HLQhi5$7DKcu-MofW%tvk=R$ZlIMOT(vSDP4o3iQk& z4&&D+`O^DSWdn@M*frb>9cFTBk3}Y_?h8%cI4t8oCFm;R%ADRH(&J4^v@VFD@hgUI zlkqL0Z-!1kvo>rS^z30g2`DrcAXm1Uz0UC_s0!>JjOO=RY-}F`KgC8E^0|Jx^1p*# zcE&nnvp0+93&^uD9jx?jY@BaLmC&em0)VA*QiKX^oomKVwcV}nACZBX7-#v}FMl+s zfLjG!9o}xAA8T#Fr7(@kk_oyvzRwBZxWK$H=3A{B`TycV{_$SgG~)*9=j2@#*KlW< zNB($No+K(T{XN}^zDDbMTM71$b$fv_$*bap1_ zF&tsuet7i#!F_nRJ^9B^-@pI->HCi-uYU9A|N7hKli&P5x_uD_h2m22uRBER?M)2k zJ8Y-OHJZl78+lF*nChQ9@Y+mJP#yEni(CR5s%)Rr_#sR&B1*nBEcD-FFyT@ZOTNjb zvwqG7Si?Cg^`}JBTvI=+C~CDsFmNrwYC@6;kc<@;aO>MSYMrA)$j!`Bg;jQKm%SMZ zMj=y}FeJg8j|lSqw?dS4qQ0rX{B1bdf_A{hYEoxaBRpI<45TuBkWi3}l0;i|I!Npa zzr~QDShwELgbb%O_bE$^>Vf|K$6r4Eg$1`*7?g?&K7_lF@;-IK1bm`%G=iZ|R6HFt z(dqdUVTMhpioljp5oSZTF2$KtREyO+2X!mBty)oGvzMs&oOYIew9*}r8X$j1j755UT1&PRFe$2!pW~IvZQp`>)(Ks;67gJc@))6IkQJ%&*jEt`*Q*j!c8 zU%-h>HH87kltt~ay49O;5AgoZxL{kQTB27V`v^jO?*8n&a5NZr%d)5@nY3F34Oz^z zHK5Sq1By(b3V<2ykd}~qF9?3s$PDLFOvgC+?MWT0ElQpuyXKD#N0f$w5vHQ`Ufm8h z&HnGctI=rM6$pA-25HOYJK!lV+qbK0_qLiYTv^y<89lWIr!@mFqM97F_1WX|OkE@CpovJg! zpanR=N~;@IETtlGiCX@^i+b%Z&(%Ft(L)Sdsyuq*(ef0jjKI*%J+#wa!^lG#aX`u- zGC{U$!i1m_Rk=ukAi9@0AaFVm@Pc0=GsZ9fTUs;Y;f%3DLLo=I0AF z;K9tV)fcZIu+^7hD^25iqzW;!MFd>Jw`xf<#2+)nKF8|wkDY~A!@6db!m4iez_Jj+ z;DdBLLtI7iuH#{e%TODW>(K`CV}vOZlI4C7Jj2s$vS5@Ic)JJoGGpGpLaIuzP0htH z3YhGODRU9Loh9%yzySOeM>HPl98_mgxniC=O<2$P1IJL8d3^WC)jp$(3ynE4fn6fJ zy2pTxAjU_mNU{D>H+W_RJ`xcj36kQL3Ne=R zH>%l-^a6POsNQ+eERZM&4R%Y43hP-#WJM(lbf{|@+11p(&(Y0D{z9lbvw6jl#P|@e zr<D{vg*a_71fY4=HKPEyVe^#yXsa#Bb21Lg1qiBP?L>hg*k9Ms6gFp{km2+ zC;uC1x=VEl&wj_0-Oj&H{y$+ICZA}lSHd}>ol-6k-p)+d_3G~O%?gq6Xa=SNJ1Bx% z50!kCDtkes^`+Mj>lyr-YM)w3To*L&T3BiZ>+_ZvS9g#~W8$P_1cO2fMOq$iC9d4I zCcg4uwILo&j1U>UQq?C3~6QSVz6bnYQ?RO8gKn>8w6`c}jD3Q_&ikTycnfJfr7 zK}o1RT*CM>Caq!ke3ZuNZd6b_%A;j()H7*lLsuRYRhi zU+}keRYl<+3hN|$Gzm&*s<%4o{OlhYJtN-$trdO#c0-y4)Y?e?6d?;t%eCdj7JBl|@j(yFxkXDtR zfF!aG`-F!fa%OGNcMk_Robf-b<7D8s@)WIo+i!_tCLlS`9 z;r@uw=iOn)_P)dG*RR9YCax9rufP>7g68a>3!#moqBs#O^W@m%lC7*Q%|=p?ehx`> zV!-d9J1lRkWK^X(l>W%yDcItS24OXRuzizr2^g6g&jtYz==_D#Hq--3*(517-0y*Iyst4oxzD zaQ`r}1s^oe)5yt}1UnUW%0#7O*}MUd{lm?cK3M2}69bME{oy!GW2T<_EKeyBWCBi7 zJz@u9-g9JDrE_|ouKfsqGpsXDk5@-H@tLEj)OR)HW+DKAu$Zv)dlVc(P|g<03;#!% z$VER_I!irXW6d~}js}vk-&XpQlW!w4TVLO zeW7DWB1X30UuA=Ww}lI)HzaQo=-SOq74`DcJl#y1A%evbzVz$MR7Y}ZLI?LJrz+wX z+K3*a*2yL=sxUC?O2(JveBo4R4hc+IJH;7NhS`Gw-J$vQ z!=;+SUkgx|dJKscvXUvIRusI@*o>FO7=vs`C93r(jNe_!eL-NPog51KnW^}!f3*!mYa=c>i>Ot%r2%p+L=WJ0} ztJ1VTKB2$^Z`J~v(YyO(Dcxm26ks9oKzNo}F8B|1ELFNY!hAYMAw#s3TCJf^pzOj| zi%j1g%#z7(cGehDXdJKY*lowCi5av$z(|DUj*O0rR1g9FffI00ZPctBwAGNsl|ere zjvDVfJRV>@#J^!T#GixwIft!Kug#tLk9wxYEOyF#6z)uv}=>(A5s7W0HQT9wd= zw(|t`>xq4P8k6M)EfNd18a1=?N&YXNBkc4){r$(!7riMw$RssNxVF4_j-vDuD6AGs zo=6S5?Wk^IOspyseP>vo3#nJmZ=`+;SywW8xHY4|g)Fd?PqYu^DCRV%pYgI0-Ewdi zQN~_lMqy9Cc>npQA3l9Je*f|PKRzBmpse<%5AVMZ(UysHLX<#WH~SX3EkLZ9qzegb zw2Blgxst_smFIi2gsxHDbNxyjua)dG9!-~naDyGn-X%6gk^S`*D?(LVf&#+r{u|VI z$G<>_i=*X*Y0d7C`(q@De=~%&GOLE;fV@b(GN|QQKGYl6F9cTw2ire7Llg;Ao#Tn@ zsGlS+x`@qq{P77ycQ1nTC`oXsNrEE>=0t?G1q+lA>n!*QR}_kc-3B=?u9_&dnS`_} zs5;z9IyQ((h28n<@^!MQs6YV3eejec%?OvfLxqREaXnb*D=6+vn-d#-fRY@+B?N6H zMo!T45q&d2SXEb2PS%^@FQgf_vcNxYH;-uVoGkDaN7Xw)C59_6W3J+(bUgr}FrjRm z%9M|Z6~RFR4_-G~8detVo`jKT&#-8x zy2O9<^#1*PemXl}T%2CuuQ@sceEe!LySReo$8Vzc;C2Y(#Kh5+RYmO$V9&+=mai^m z$@Aq5tY(=bS?3IfnVx|w#y<7P8~Sxaht1L(;&)N-;pJq(`9_lk^YS0x!6>pl{%N}h zcuovBgms2x(=f$JYqytf2yHe-G0(+THX7;)&f`h^dO_9H!j9|>C&;rw5Gm-rv1cl< zsk~r2(D~|Uihi@oCkVfEj%+ITPqNp)esQglPkRQj2FPiFS<71sr(%`17Qg!4ByO)` zax-pKIg5Z8;l;(QVzDVrTrYFSq6JI|#wgX?EhIEv#N3<`^#|MckCN&_2&9(wXons~S&{ z1Mrina}iF_mMl(mG}NAInjr5aDH77o<|dot4bmZ~69}lx&Q2B=YX0E?h_Brv9HMfK z-1Oibi+DfR1fN*H|A9Fs{EQc)h6lQ+y|tqVZ9y5Ta|!J+#<%wA5_3^ zQKCFefv5+{z1qLovV3cJqO>eVrBlUu6#Id7H0L31PG;VlgpEPpP8>xV)b{MMK?6Rs+qNI-KD|Dq(2bchst3 zG`T~~8-fmUd>&{sFh9m6L90OpSmjRpC6Ry~j4Gqwq1R1o&` z#nIgSBS*w+;O^GWBLOT($SIarW-uX72SiX&uL`eP;7--#I$I!4#^4*6@c@&GpzcU* z@*50L%GH`wEGe?nsYeBC?frPB=sRdbU->jF@~kRl2(`9T%22a^s>?UN=3?mR`n%)g zeHrvbxsk>#HHYiZQRq~=(5$HpVAVmxIE$l`m*XOCZh}4Wz5OX2M)ksEk|V#(;oMU( zfFxdGWe^NyAPZ8q;mlsWVMNQr)8hgC79FZe?(xm~n}-#f7-bD_a+;n4DU|~V_=WO$ z6do3V)6){bH9LU|AzSFMzE7oLzK3?S*7iBSSPJa$tDZ41s^Ay{WrbewG3xcq;xhQE z@o?uNCMN17*s>9~49WuSyR&pCJW5oGNULs~^*s__SFpGg$_gY^o4K20tF{acT}>T_ zxJKnFRpB3&g`FId&w@7fCMd%*>Ae7o9wUzzP6Fa%>BQ)QCMX?DTaPGUczCF+l1vMo zo806&uyz>T zg*C0JneyT+zxs(c%I(+JE2VtJV^NV>UTQmJ8ioZRjB*7$0-+sfLlByAY~R7rjj-si zzP&}D?gZUxr!{m&)yug35R>K?8jeV`5CTVAWvB%6i-`D1r36Q@xI8>6XmU0{bL1Z6 z+8#weD-(*061-UwuqwA+GgP+Z29jd?ik%tuzr;9g@^x4=5cwum~na&1zc@FUV!aDuujj5aF?G?)8uIlw7I^2JVrru+4V$$(v6D8d?eW&|P9RCvffA#fx6DMfBF_uUE+Bvv-T+b^I zK8mEgMe!nTb>Yzik%ub6k5*4&@=i$AD*HU|D}Tv&R8Pb4LK@tkjRRWD`DcRb%jq8i zkI1rPov5lNMm10nSV{5HsJRO8as7og4HttHw&2CN$$3MAbAom?9gJr1P_xG;h#Lz^ zuwjS-Q4+Jgd12^Lhus^C8dnO&m~r((_NF9;rHvq@<^Y*mfJI?I&5RC+OwUztaT3^T zNQVlDqrienQt}ds;6jt{kptxQQPPqEuvX?s0@IUB01?BdS!%dvZA{B!p(^&ClrQJ~ z%LnJCE&8+xB)!iFv+(d%aHcdZNLbxy4|P*oAgZHr>H1jegbk$!gbV~5ni)Gx69K(ZtlGHt3r ztStq8v~Ad(=zbkavrU}t{ahPLGmJRQWqOpa5}qfUJetq+83EKb~j?KRZXb&L=>I7hK0G4AI^C@)3{u~b5d zhx)q@WAlq3e`NWWZsZe^*f~r0uYO_1lkU+!KmcsP4zy9>gXUpSq z`Cz26X_{9(?6$EIv82HblFU@EI0=nH*lFXAoF~<;J%=LhUDYd?@6QmNCFc8I!*712 zmb4@=r8@bkIeLr^Cvt=x8Ul?7|3SVU5kM6Jts(ZDr>mmTaEc{HeWGj&}ok{XRp)ttCBy!2-1nGp6>)Lj)78(SPK{4S>k39p6(?u=|EVwjph649+g zJn|&j(9}I$t#*in#uVg+1-sMo03d~L?{V42>Z%_bHkZd}$rB5#_Nwym8YV%Kkt2P` z}X+B5bl7uAd zDd+dGN_U1y>lD#4uwY`nxk`5>yX@(Pp-cZKRsy~mRst~?r-&N>1d9gMkqr`TqXQ1N zqvvEXnRL2%ajQj6YW-MjD-g#^@EMQRwPzhwAfRznqU(lOiBuQr05DG9c_FlXKn4`(Jus@~GdZmwZZQ~S^y97K zKO(sky~`}Q9}pC-XmzA%K^&YZTh1&r%?x?YcWTOAg%=x$z;OY?EX4Z(v4xJb)vwLb zSC8nqN8s(4P&0Rdpi;SMFIl)=ZSCXV9b!jM$%vl|(>|5vu_upR-vG zNi`~=p~^Vb(0*(o?Br5051)ibM+BzNG-w)+M0v*rjwd9o_?Y{`~2)w|{Zle0PS_ z@W@nc&a5JYTeQ?pe|HcbkH#VE8PrCVv`;7`A&))18-y-w;d9hzeMp6tS&k$_BTM)f zyQ0WZMD;jy7$U;(eynJU7$2;tA~?i@WYE5Ym^d-uTj>tVZrH-$nE|VhDAI^nT;9dS z6WRIQ6Xcfvcn2ABA?2$x<5+I z4-^Fca$1#UjExgliYP)a0z-&arOy!vQuwKXAVF%#4S+2(I1k^PEKXGl!jc>uuJP~J za+;cgl|AW-IgfjaaeClhg`;u;&IM?IM^0SlQ$coO!gJXdopmVyW>KLU;uppBWxmf&kzXKhQQB_4L@{Jb*Pk|2bUsAsI5 znoyKu_nP6lXUwn9H<1b1asRXP$}x@3@FE^rZJeBHm^Q>dGbLzT;61g zq)ikoRmUJ9!o`xUS`{U!>%bmrZ10vJR|9`LbL6@dENAB-E}T~sr2t;KOR8V2aKtT0 zca!ZUdvqR;?>~S3`O}~O{`uqa`0CaB@1^QDMqnXQ!`W~VfTl2*?GZRlrh{zmNlwBj zl@GfN%l?`SN4Hs2?~zM!1C=m9Xq}RfXjmRMBJzx|Fc4No18KAsVjn#<08dC-fbM1X z+C|)i$v|X*TL?lT@ufo(c~A~5lia9(>)wX~BEY@MXdDXpX|QU5jwn*ssBw%|%9U+D z4>Q}Gz{jr5-; z`3bw7<_3mvmmJ$_aMRst_$QNttW710yTTBHi(?iD?=Rz$720cO#1VRAgBp!;(;zWu zh>9o$F~OK?pC&5+EjMBcOtfsKCB%c6i4Chbous~aGZ^xPN+JxeJmd@!^mgFsK_{Y_ zwnRG;KC=+W$JMN$FjfI($ZGCbtQ;ZZQKgMSxZS;dnm?`u)3^Xzn|wVWex}u*qSn>J zeszEbScOO70MBPDIl!)Xh6+-l9nGVgps1&~3|CLvfksDa9|Q%oz-FQr6&R0d7Ct~; z&YBGjNsN?ox1K@3eKDU(#`WOZ4Z(jb4W9eIJCck?YdDoN)_U>OgH%Los+vQRfuMQ0 zLmEKK+4Oh+SUW18@O-^Qa3- z;+jP~K{#+1)P0Z{nHhjV>9FRI)KW{K{mrz3n@TdJYB)bWtBg{SEp&k>=4^FJ0}c$` zVL5NE!X(*(-DqKepEYMqff6SGxBvl$ER*Z|fhW?8D!{h8JXtV;HxyflM#zza=&Tk9 zQ+MN6U)<;kS(wo#Ga}NI2xHtg6*!gTRL0e)wJ|2jOI*g^Qi7+w)M`9~-|_u8c$Lr* zC|b+W^_bp>pNSc7MX~K)X`Z3aDg}m!jb=}RdNb2+gx{4a4;fo@dxp+gRBvZkuepspqRfY?peNXY8Dqo{LDL6!O50V*_h^R-evF=#`-iO0jMj%h zRs*}r)`0@UMNqKv3u@RZ;ZtC@JmJyLWdZe|eBBg?L3_kq9il~?a9w19?2p$c=1N#N zfe@|h1XbHZyB0$pzD`pytGRfdj-V!O5zIVL%8D`%j)G=xt#%3wesS1$GdW4NWz0ds zRD(Q>fRgSxf6stTF_N+~iPLnaMj+8Si5;AH+7e3`B=>A1f^rB{hpRmW?~y z0MH$!QtS|mhl}X&uU{TNefTed7hRU{9}Xfxv?qx|5DKR@N&QNS8Xmyp2sV(m+&WeU z%k{5|&IL1qTTeh-DO~GGB9oFW+Lgt`hDzWVvdtxM%qc-i{{pLFaqR-W=;$m^hu{K_ z5S22oO4PxM?DD)iPSf4-oZ9jJ7A%S7uSW6_P_%q%j<@**yK;uKVe|$gq9YL$>iejF zJ0P(8vmfPXP)@QI&H?UfWo0Rl_8a^(Of*st!}HtB@si6;l(y~is5LHIB_&FSXzzHdt1I9=8Y2|Zp^e|5DHmr6Ca(Q4|0ANlvQ;XIO{Tn`Byfn%!^)Sa1%ZrpWA$Ua$XZM%;70imQyHV^j_~V5d(7s)h#mG1sD_3tu7A~L}sHt*^ zyq9;NrKfF~8_`bPpPDpRiuRqcFMj#!Pd|S?`K`o88w&!F%idi8A5TeXLp$bR-<=^B zLRs21bRkp|Q61wsx^XpDqV0<{D!l|J%T6ibcM`T;44j!Xkx($cFJPc#bj&U^qXWV% zcZWh-Qs6`7J*_p-4C#_64>7`?1%s3?P$KPQK$i(BDtVxbVuU5C)H2Hbr7bMaxlqo1P2h0(A+WlH90 zFiTT1VM`~zg`bly5=dJ)$ZkAt3kmsYAwi^m1sy^)EVcAUwKFw$f@IN8n?E=;s~o<= zoaMy1ka>xJjO;;^bDWsTbr?%a?N#|TBufaQ-6FhbyG4*fZGI)oT+Sdpgj6TwM6ycc z55B_Pud~-K4}u-L7zzoF$7^zHaUd{h+HD^C_qKAPjRy5>TI1ayCci8)y88|xve7uZ zVMy>c`{IBg75PFX&+R*Pn=L$quG3tcLL!7}dZ`i4r)7*zmQVUB`rJ3yw8r7D zsydf^sUFrV)A(`aPq18^c!Ll*gk)(atf{qKUR75o+K5M}>4~O=i*(43zVob{5sCh0 zcRBPGMDRi=iA2khQSsNKIb|a`nA5Lc=mlkPtI(t*8$zl_%n$Ptu;5HJ|JLx-G*siG z6Q(2e$V_OudNg(^M*=eIkxY~ivKVg;opy#iCc=ez6}7lj!=8DOCbtP?Ra4aERg*$q zkLi*C{YlQ_Z=f!PS|Uyz<;ae=2&LZvIw71R=oG&M=l}Jo9eLp2c!(P>B!LwdR1$r9 z$fu?V>bGCbl9LnIbW&~wzZlf1!6@T_3Z|Q3c_EroKmy(N&Ss!*koIIOLQMNS16 zz>n3rGajg+ZZzJQ<`H7TA`Psi|89I3akjkHYN~92FrWr6{t3ki2v`Tpt!2E7_?dK` zls6j0tCK=uDa<>wWjIKbbiP5e;HgXOG8L3_pZ^FIqW@FUliZv z#Y|K)`E=&rV-y=tsqW8Y@lr?y_Awk5wW$=@IV{g8kP3x26=h224h_iC`eDiqie zVxmsuUV;Gd8u&K8U^7imYBj@D^ApWe#Bli-6b*AugO~Jv_2rMoWZ7o3SBtBVL8vA( zw(aGHO4#=sT7!poX)or@jB<5SGC++$Gs*9VCoI9=s`{~pziO<=h$!s;riT%9MsamY zV-WtR(Nvz=DgX*xfONZ%ofJtzE5{=sQN)s(eoW0OWF%;q(vl95@(>f!vFS;)Ddac? zuO}>Q4`Nbq5LB;+;16NFI0rQHWHdwW((UT|`?uC40*3R3(XS7EMqiw9Y(hgIW^_2Z z{E4>k_I?l3vVzCNu!Gs;Bw1pYd4w#{9qkAc{dxR=9;~oUvOd;)^k7SxJuo1GoMw`H zLpG%327xf=Jh;I2UY{Hc6D%|F{u${PPmMiIaiyN2a6_!4T#oF4Rh{xskNE5q9nk4u zi)EJR0V|GN#Vu&9h)N~Rp-+U%sVM@Lml9rba?UiAhsXWp4$=AEND8UPh9hnGQd?PI zAPS1JOlu`{=L^*ToEo2f}}ux7J{t&vE#WF7N?ZOHFbV2>!}B0Esb#?osY)vb0f_hd6w=Q#NPjt z*#k%(@UBI4&63_B%oj%cA$kKa!asa?DIpGh@1GCzOH>dgHAu12bW0g6JPV_?b39yVWG->#shy#tlGLR>>s ztQcnMz%ECkiXj&zHq-H;G!tGrmUgNh3{Neqt7f20=|2FQc`lARFdB+L&JcE(iPf}G zc^uEKu0+mAFMlw5B+3KaAOCa%?@6}3zA#Z4X2p<{LPH$R=FG_%oimx9tA}D>ueC_V z^#yWxiil9--rDf+hjR_+krg<&`0e{)Kdb5w0!mp^L=eZ%=!@^(fB(xzM$$<9zewNs zLwaaN`U$9HAg}1=lpgQdag6PTMp987Z$BQ^gBLDQ8C8fLngK5I4y;oUGv$iL)tJTfpSD}w;}3~-V$)ZPAXNDX&Oz`9kgz+^Nt%V&W%J*03LmX zPnHtz5A|X$&hFEQ#$|GuEsy~jVy@yJfuFs>X*jIjA&UmVf|a2vW`e^bWJn7zcA7%V zxL04LdPDpTR^{W#S0^y|*mbK_RHfjmc3N*-kE=_lt&95vozFeqq40IzK*Y)vbuhij zMcB$pQ`D+@*qyYQVC95G734LdTYT5Z*nVCM{<+zWOfU`Uo}Dv-Z{Lh&JCx6Lt_CNx z1r9mJURXdm6WqH}F4NtZ^-ZDEuItsSZ-4sxpTGb3(r1O=%{F+|ryoDFN7OH$5#9Fr z`0dB+}`cja1J58<7q*@#zP(A)tSW4xEXUjo6|VS;*S!n5Ee|ZDN%R4 zZWdGzaD{Pl5LrdG_NDo<9YsVcg3Aj8mGADhXqknmtYky61DTj9Z>cn|o)*+jkf-(t z{Z@EK+C8GfGB*H~R+@A;G@&dBL-Hi0E0dh@=Ag={5xtsi-YDAy)t!7^7aWEUK98LG zWcft5i^O|T7K7x(gKB7{uL3aL^hM$@9wdd>}V=s_di?+RW1%BA&VdsYHSWvKGf8 zssoFMNV)SB@<1=LaV3m;?l{UI>sEDDEPaODAq034{MNIxNVOi8VfU|ptqrgBBWhJu ztXS_>w1EfelX+Jo9n2rk;rfy$S5%D-7c3l!+_{oUoH@&Y9y$&yin>6PLK%K$qEwdl zbei}4S zJ0U={{;`J8YOGW^A+@R#JX9rG;#+>YQM0MgkY&r=a4W)vMrW#|n!^TfQ#OtSbKqe9 z?K!F!FsBI?5_k?1BC83lKTWVX(QCU1)DA|`eM0VB+y=rUME8FOBWC41rdOdE*5&h8 zNKz1Hwi_%AtX|r)N+aAJ?1|kK>XzT{DDWlUFIm~ekDB$cuJCyiTSPPjL z<84=Jx;rsRH^dL7qXKD{`fup1si!8!wULKj=`Rr=X9A*qj_QvS11@f~!*XA;a}T6| z-3IFOD2`&7n^o^L8%!88!*ZU+f|2tkv?!nz=*9bV`R1S%M)4PrDM6h?VlLYk&pp3a z>mfR;CKM?)D+U#Y&k-#sC6WZ;%Ze|PJXM5MxlONgZ>v)eQ1TI*)&1E|bv!8Ns*s09 z%3&`7y~t1p=nQR@OH^&P!Zmk8^ybM&jD(K+gd-JIEw;FG_4lrtdu2-IQad1n(V!6E z?9`J4HBn5C5v4QOK_U?VOC1mE1TI({3pz1vJsES5jn%d9fK;{v@&bWL`N9H7LI*wL zVPgX&XKh$IWQKk!2Iqltm)gKhZ7o0hy%8JgK|N9yC)?jY-f!-2PQGG;GcNtj{{HFV zz`Q<-dJHPX5WkoEIuaCZmg2t2%VH)AMwg;0lz7dIED2jPr)GNu%!0V^9%k)!N)TPW zP5%BXhma$aj@#P@sKPiLvvYY4kQ!l7Q>-R?q-vunx^W=~%K1>1d<<31xZDS?$rwpK zB6KIlf7UQOtRAJ)*#U)KHrs+yJat7W@4p!GhAx~%B+Nrv<&wcdM!|i(eSEuRJX(U2 zdZ=@THbEAy_jaw=p>7ZeNlz%iT8I(2y;sR_?SkrcoVh?2aE44GfVbIkX8+V8-`{=r6r|oFNIEhfot=U($OAt-QZK(kQYq*! zT#?cg_cjAS&( zO?6IXsWuA2fdp4+_?7&VNRcy8GlU{_%0NJ91xb9W)TO`(Tk_oC% z3EyJ@5-><=3;W&Uj)nlwY=_14dHd>1X0(IE+vaEz7s9)miES6rJ6>u5nM^IKI-Mw% zqQCp0j-QevO?;oKx7?G|!ztO{mIhyj{FS|D<)u{7fBE?Hho64<`!DZ*{%p>E@y|2H z=<31EgK8$5nCf;yIXH)<-rYRxcf9r45qS~#_Yf+S+*~^<1goyr(4WVxxa=8hFy7s= zJTlk%t?dkbA7PkOf~RdEH%i*zw<6J1^;Rr}c!1ulniLZPrS8&8^g1Rf#SXn^F?dZc z(99K`V@8HX0}Ux^$0HFiJmW}>UO|hYyA~`@6A{IB0`umI72EJXNT3NLfLe)|bIDy& zL_Vq>2SgpCOy%|&_=RFtNt&^U05~P;DFTc~@s0ut2s+}a4@~x?ZPcX1v!vMv&^P=W z1k6Q*wybvgtU9izCd$Vt1K}(*wLPd(F~%S#ON8BoU`HtxwW`?%2tcBdg2rgT z_tY7dMfovnyniMGXcc?4I7KmoB5+EFXAQF}0%t4{@|Kj*a%E{_}U-~ew;LYH z7>~A}XMs#Lx`07(S;B0Ixs2|9dVqYNSsv)X@p!j=%hZe`%G`qgg}@DZE{jDU3@N`L zIm;jwYa=qINssaF9Mr}ye047dQjH9K_lHECQ+Kd6E2 z;)~Be|NSHM1DzvY`h;kMR5%r0xdvqyzjFKo+l5NsfFul8wI5%jcj$r;!5+i9YBI$D zjXe!Y0vvTIceFZF+htY3kY#uFyXX3lQvE_3*Y5<)!^gy$8T~9M0J@-F_gabA^;P?O zO%&Q;wImCMaI-f+k9v`TKt8N%RIy<_7YEh(*g*yRUNLdsz_GM~O!>`GOD&h;Gr71y zr6C_5-m2oLwn_wi#OV{0AK#(WW@2)RE#oNy-wuo#ZzpD)<3dnEUk(c3zC(rsKdjzt z4+JiAd zA$fS*oLs1PUrlKGXF5u%M&|UB^%tYR-h9)Kni>x1EMYc>6r>oaIJ6h$bPn&O*?Ne9 zC%_5w7fOg%W#*ln zkrZH4<@UUG8sdD=wf+DMS3B~BgvCP34p1G9bO3ZbN5PU;Cjl=EW6wlNCE9ve)}>aA zoz!nf1O*A)2pSC~J5$Rm9@ayOvZ^e=!2Ui@j4k(vJNurPsGASo>Tb9yX@5MbKrP`g zC|Xx{azMs4B8gr-y#EmL0o5!9aS*G?v~a=FX#gJwV|VIUJj;wKjve-gJ3E}1*z8cn zgCu&ODUQ-klQ7)kf>gMD7pMU)H<6r*p%TM2Z{_pocfBeIDpML&9 z{_)e#?;&&@znu@qkKca!{OPA3|L~U&AFA7B;It8k?%ir7T{E^t#U(S$(vAw)_r0v& zK;VJjz=~X;tZRWIs|?2@M4)0N7Yle=a3&%~b0eTdz(H&GS#(Z%JV(#kIF5)Ui3&lM zxVpNSffhl5fZ8{2s}s#}?|?6-on2ZiJa*KP*qnV46Ot;uwPIPIzJKQJ>gz2Ey$}qR zm04ZZPiv{-f7ZE-ey&k@z4Q{GSC=MZb^xl@j$1>eKNcZcXvQGgcWo}DLbXyykM7>C zeIxDB&gA$_WlS|Sd?0#{xdb*ZL1M|LBO899$TSj-_z3};`Tyc+-J z?`cNl4cwKxPtcgPh^Os92f#;D_{L(rC|zqu494ZOGDQ|sif^s<=<@Tp-4w+QrGtsS zv{FH{XUU(2tpI|~t~QdTPKh}GC=&}NR8YMp%BnaASQ(qS%@@dupANb z$J5!X00Ry4Z_wEX$gME##%-{I(h*{bxEmnIfL>5g%H%Ml2d{dhg+jD z0e7?6Wpz-K8Af7Qh|vzX$6lhf7U(ZTQM^ShqQXjYFa`vbe27QfMF+(jsxPCYv z>|z+P>qYNhmlEH?Tn}HPb-kdt7h3iT;AL3OU)gq>dWG+}6}efsl|QL=Q`?WL2TUru z`C91s)j_l0(J>%*x?v`jTh!es@VASg0G+YU74&A=1(-d&)1usVGwNO5?5G_t@{Dt2 z4ZSS71tHFiombLWM*l2X6Gf;WPfHgwv&h6i>1&SufIYo z3@(x7Zg`3`h_OI7I&l6ICCkyS%G|^f^$08oe|QsFF0rp3-lp+-wZS=$*-3-_>w=b& zL^4q|+Y`Ac0DAb}yGNdD-KelPt{)QcVD4Cl-O=PnrsrZnFp$pN3U$>!C;my~OUn_m z833NonIzN=!dg35@GJbNjOaq`dej_&Hwi)8zf;Z&XZI)t7y&0D$9FhnFi^jS$~1&8 zNi5T2t|Npy6jcSi5F*r9OE)i(b5y0ocTUGoQr1$HPW39Sj*LVH!X4|+3USdTl9`!A z2sHzp*&0QT0-u1!Uj0?l)J;&*NXter|j75q~mjjRRsTw<(39vy%>5y z8;|mAqxeB5gePRFBZ8!KRmXTSA!|HH-w31Pz>$T~fvT|A=}5-z%n|C_IqwW-onZww z9jI#w9^bVhgUrGKxsJtDl*;JdouFUP z(D9RUgSM^+-Lzr@BM6w7C+`q5P$Md>pV%h3_-LU88Xh=rl2j8AM zOe(0OEg5twI=QQ1`^@xw(j@Q`XM%Gl+Xyw=8mUAux)?=fXC90v5`#7j1?F-E1O_o~ zdTU@=MpNo>Hqg9QWWX?Ex``A-N47x;fcdquxQZ5Ln+B^kp0BN}UW1V|2baS{mEl9e;JGi26)`3ms>JA8?*wGdn0idhH=A!QT0*PV|r4~ zr?n{j?dEHZIwhZWNk*+eD1*O8gR-g+%jArXYBW7p!LSW;W(5QZauy-xr6}i^S^Qfr zEwO6NW`p|4RYu@=RL?>&&LGUl^q1XK&_u7Tw&w1lNNIF?|(#7j9ifO(6P5FH`q zdpzn9fd-XeC-xmGusHj&M5(fT)CvS4}Lgzidg5T%S%xA# z6njoOquKe@_5!?v^n%1o1a-!xo&56o{pU{~PCotkJ<4VT1xc}Dg*jM!Od9Lpqu+R* zrI_fL$^f(DTVcQz6J>K&m!B-}3=-}s%=8}eVAce;hl?)}?>?Dd^uz^FD%u!pT9pJi zCxbRm&za|M9tizwd*|_t1Q5j$bLLc;a!J$OXr^45kMLEt1rj9aQ~a3~A>ikIn&nhk zBS5&sGRJ)hp^6&#G{*@_+KP)fj1C@!BN#)LF+Bz$Kf#YXjKY;El2{@a;l6RwBt!ybvA+eO{~llL z=^f`)FrU=x@l0g@o8?KHnms<`f6ElNd$rs^4a_RLsiw0v>Z=xyP>*~t;X>UXMS%>= zL@jKC7BN=7=Zag-Yhb%57XS_r*_6`V4ElwToi^0+Os;tIY3 zdIo}0cg8xDx;G1-gy>Ga;fnD70^(Es@_a9Gv(&lEY69*};wLN^&vg4e5+>Ay1R@s& ztbvhjO>6y$0a09g!wtMFpd8Qw!hg!)dVJ^Ek=MIF)s3U8Awh85RsUI8xhIio>qqVGJuJ3Mw+ zqe4_QN#AY6&H|Av&PH{ZhJ>gT*_)_uqFtFaA6Y?Yb-TXVu2s=f-OxjLG$a)Wpp9eS zZr=%JTt1>)QL;N&Sg1(ed5T<>QzZkGWUw(BaI+U8Duq=Ou^P6L9L1MPL@$EwI(5_2 zuMRe&CuA9RU!%$a=O=?^LtEIew3;?Qed08bDGTE-LIiCE_i8ObJ5!Sm&)ryoBV|jl zN<@S~fD0^9TH7k`qaD-RGP~ioAOG>`!$+ysz@ljW+|t7kbKK1WF;@FE{KiQ zZzn2Tg(uVgRr5(&C|{b!FQ%vi5T;9zvH2->+WpyYZagSgN4yD$%;Gd~N*J;L`yk!{ zD>~hBKbWFs8!cthu<+FZ_VzIge=VFco6D%+iLAT80}}(jk?yd9p^BF3gB1Tn#r#b2 z%)<%+50J`VJ^Y{^7m9u6adBxvbNyc66s;(==v2>q3j-arMpmTsh*bO^Qu-ui#Z81v zgF?8PVdjm2jZnHa)eP!}67PVC!&4_f5^io(o;kA+8YqIyRyKp7H9mPj2ZGX9Gb0#N zWyj*XMk`)OBofFTGV`45fxi`(sSz?Gj@7JyM5kj`x8`_>qQG)uh%NRVSDRBZXY=ef zl~T-JM}%%oC19UPuLvnE=}0H9p+mm8djiMaBNXtDuYP#{zkc__Cq^3L?quLdSrYyY z^li0YaG4-h$CLl~pO}RQq(+&}c*SQ$gEvyKa3Tihkq|LUe;(R_R;X&mlVBA&pQ3Y@ zFkgq^lFy+NI?~eQR9=r#R?z}z{iw@87TOZ%Zp;SA1gX90_h|jD;88$X_UQo9W}4pa z-P6rYVfL-&(<0(|zvPbm?DS;(jDRCa88e}Buui)>P`>#_mG{iRL`TpX2H{6!1kKXLiW~s{Z3)zhkXig+98&7VpM{Fyz z1=X@*nL#4v@!{|%LK6)%9^}BXz}t5ZKwu^I$g~+Qv{`dyhqWex%=(vasOk(^ zV3Ihv+EHu^G!aTNb(>rdIy^BD`x!siY-v`CU4jn9u8M7Hb}@)-OSlMGU)79X(+JWm zB{nd&fV3GzDn43Dzcba&0tR!-sq3}iXQ!8BVxGFV9YwAHQ16m$+7a ziYEs1zH(L+YEL@l60Dom`1bD}M&2m!czB~y+z$@1jr#%ogdXYSSjq+P zyGQdAnma06@(a_-39~eT<@;(@2Fvm->(If`oWdN8_KIamN;#O<=v2Cqu(o+I^<#a~ z(6U(ii@ZL(OcD|4C?t_S2URX|ZoE?L#VlX&V3p7)l54Qn>n2>qtRZgIyu?4`wo#lE zO*9VIn*&6JXJF(FWd$p}JVa}?^&s_OmZSPGbl1Nm>?^cjU1B?+%#q~Z3oxMY0m!MM zs+5v-3#3}BV`a^@IZR^VsTK`HBB23#(a@uU2;Np2QYg^Rxvo2h3CKNp7KJW4-s(oW zt35B%$FR|wifOM)y`W0KplNqJNZQ305Wa-G$tP0t5*5_*aDhBkN(^lDlOnh=a`JEk zu{mrG%4~a6T$G!77tu|v1zwttOais(ctWE}lE8A5*+3;pC{Oyv*~uBpbS1ZUj}0;c zoL)IpHI(KJ{kRR@YoJ@>&sLIq#B`(4SkuVwtH8(-l>m@mDQ`@uXSlGOIH^>LTG_o2(XtcoVoQa*dheDk!+O;)AQLBrdl_L6 zaA{MeU{Hw$P|k9qSpx!45U!mNv@IHF5Tf(sU^`5gsNvlynz%mDnv4Vt`^L$Ug`^TY zUAi_sPfw{5T$SsM#ZvE+Q&jKH9D-#`>$e zu%Lu?k{&xF`I($zCAuLQr731}Nb(}7Y}Jpfuyn^m%ouTXfm0qnEh5&}Phbd5fhf(b zM-+__noC?F?$8gC_APm6R)Su_yEubJPH-+13O%9)CcKu~nOD{J&jW*UK5EUf z^7Jpi_~!$pOVuu5ZWG^PV=D7<>t;_GthnWvAk2{}M{Cjx$`osENcdgJR~``rlHeS6 z&}<*v-NjG>ib_*}#QU2kakVg=DjWZsAt#I7XBB(tyrgpt{|li;_?P|Ikz}f2zNMw& z(zsslTp$722t3cM8I_J9o2xg)X`e$zmU6!Spzvr_6yq||Y(xY|G#oyoXFN9<6_7@f z*givp4@^FMMnQXCHCc)9V|bu_1@0>@OAoyju@L{`RrVRt6Etj2`TF3>_>ReK;unyU z(VCEn?N+#uXak*J0tu?_vH%D6x!WqefnTX2Shi_cr&J%-vMFSaHG3;w3|Nljxb-mV za)fahLobRmpr-X}YC(@W!(}{2;in?rv^qL9spJSZN!EiT*FtSAVlg%EMKeRkPd^e` zMm+C&>0ymCR~?{7rxFX*s>E4QeOZYr7u6a2;(%fXtH=9WnCrbQ=;0A9(AX>G;T8Xe zt@2B43>r7n5M4t~bAXHRAgt9vGD3R9<{ zgmtGl(V3ViWTzm7Ri|2i0~e2)LNI~SgDWeu^U_xhYPA;>sD70>u~+~sP4HR6y__?JfuIa4YqE_}1=a)EtzopQO>TOw^%Q;jc)Wjj z+}%PTr7yS_?;?srtYRDwv(y)nb+~AHbzm?yPx3+}Y$y=0ss$ScK_+d9Tx2yLpLRR5EID!xzkk7a~><}Z0+ZFv2r3Le2n!N+TRKY#mWKV}ZK3Iso6yRt^ zJF-IeEpmHCv=IOx5@W#TBBH|PrzSHzR7ykY^DF|Z;@m_Rvk^V>c?v;^!q3FpWg&;P z{_1?E9wgr(?Bc&_z2%?yp4afELdLbNMOlN=R+EI$u)%b!_*RqZI-m(&jsM_^klT8P zOf_<)Z_w`Pbq>^|4uB@2Rg|Xv<_KBBs5~~9K(e_#Aj9zuwuO2Zg@{|t#ki+BYGvde z%0RA4WETIDEF@kh-Mg4GG?@B!Q#qpQ5uHsY*y2~|dSIdr59(rR!N+nPxReJV(s+IN z2CvJ<`?yE(fgTku0j|nY?P|xGskdT`lricT#gP!F2ElM9w-nf%%#Jf?a_N-1Q_%DQ zA}c`a?E`g(x24)w{;`9J)i5`gRd16(t8DGy(JJO1ODG2SuC+tZJCr@C;sPmwC~t|^1o@MPAW+7``A>tIF9@=Sqf1ZL|M;hq97|M4(?3WnJCtPuV2G1L}%*$ zL@aw+M2K5=WLnKDC$OYQ6u|_R?gXIDVmn+9yy>vIy+q|vTnDX%I8eFwP#n~dUFDu7xEcPp=~5JR}rnXWNrFfvE|dbC{fJr-6%2R%o);;MueDV#Emo znmeduDa5cm9}gIIqdUU8te8G97Yl5L#$uRsz<*hVnY4btm0RcEROK>&39@$PC{*Dh zaOcqIM#YqHk#iLHBG+l*UQY-01mSWydG*q$bM$tOe7rhjv6`oIAYv5j)z#{DccY>* zdcApEl#>{dXpMdeuSVFSd&xl8+(yHgsJJ+1Ky+a!?Sm#EK?vGYMq>uZ=jRbCu;Th$ zimc^x^=niUxS+9wMs`~H1Vx01(sb8vT@^XmQq7)J%bLYyYS>ec&izx|n+ zHLpJW^y4p|QLW+Uzkm3Af+(#r2U41i{^O@l-}3*-LtlRNAOA?W986mQM>C!S(_>Uu zW2ga*RT2($bg~fDc$&V2KzWUnbpS2pA|91AaDs29Heg%py4ql?WXavFj9;I&{(e;;ITUnWC z42n||1;7~+f}#hfh5TP#E^|!pd^+as#LNlPGsw=--udzN9Za09G5ma@`Jw*qs5yR0 z)@^X7r=pzr`nWh*6ahcg8Q_Uk_Q`U;!r+AcJxgh@FYR2}?0^XJ%ySI}tVdamb$D-Y z78fnP7a@tLGgF!10b!P+HX5jHy`u+<%?(yTR*Jeu6dAg}G)>5yWjB))%c!>_u@JzH z;Gn}HcH8{k*=ajNciHkvy{lZP_mYC1S&ys0FIH)t8gYo|j0;GRh|6`7LrHfz3lsce zML(!U0W1bB%AM>EqpWU#gShBM9Cx~>L<1Ar6Bw8+u)R2k_ zlx)O!2pvNK2A&>pj|_hQc(*QK)(%XZe12ALQi+#|^CY=JxKs~^k}_PV9~b;ane%+X zJWdU+cW*=ft%g64-I!jP16ggw=(CajFa{j27}$<0;(@7zGL%l7!)uiYz`qqW+V*=S ziKZABLoH?-#-W&9|KVOWd{*TH1@GUlgNG>7`~Tj5{7aG6Plt=DK_gAmd(=6)2O9-M zNIC#iJ}n_meUIvj-@mmh1vin6>bm@EsAV+@FUn(bcM?4SP6wyck$L=HsN=PnXx585 zmSlmi8{Lz4k%r;feNE_kGxT$on1?!8l5sHq{d|5pJ4e;w3;c!FXiPMivGnji8~$}B zSuU;F_WB_5FK-z);J2)XkgJ1+$x=q+-FQf9KxZ*tx|xXAsv1y59zZ9jMhbNpKPlv) zWhAps68T7)(N?QNGF_-Q3>r-*g(fbQ!+OjPAQ7RS4e}6Xcpk=sRm>=gD9+;SN()Ii zL|eig4MTqELa9ceynIcy=fhv$|9tY>8I9aXj)x9!sjT#O)g|CXhDQj5aKb3#+yt+% zXJjykptb^d-c7Q0e~;(zCQ7!b@1Y1E2qCE@s>2P+`#peuQ02J4TcKv&;ZS$fLKt;# zk^{uV`vfMuRwxfCC<$AM9{EQu=mas&bpd~2vdHj$lCoR ziDmGm`i^;Wi7qR^pc#-8pa3hsTyXNqp}o>ifB6gg4Mm-Wfms;izj)!`PFbL01kP?!&+shs6=uM6IHIB#S4r>yc>>;JOAJ-z3 zEbu>Dmw0?GpCdN_U;xHf6*&Rth5Ds6k+m^`D@U-iZIBRmat32sRckPeTdWidv5N^- z@<)JJ^=k*d>Tv}wU#2&2%e`j9lVRejurDQI2PBwJ+u z$=JjgHfJGw3KB)9c53xp$x;Hxjg8X1S+`Xpm zM7=F>EKBK~M|hVFCMgUop)Xt^IQhu_zb52?0aJI;zhWWIo6AsV5uHf}ENTgmS2YigA@F0!OTa3nOE#(-&gG)o3C0PwisOxmn8+=anMFf<*ne z?jR0!?dZrA$UB>@f=z?#qdTm%*MbMhM9x#!s}Uu{_8ekuOpz%XJJSeZzU!P5L;0TV z&72R;tCq#lvAAbk!BNNMO^kPLaB8MrqulQUlz^zZGgb$11d7SC(}*F95VBSEV}rqY z%6ZrmgBVj|x znM0FqSkY_(52xd;xV!_osWqX1D`7f$$LJ*U@s#fC~cp8yarzq&CywgO6p(r5ve>Rb~GxTZKC5+hJ+^?)xjp_C@ z8g2Hd6TV^yTV=yk)xMgb?<#?u`d2_D54{@cz~gw1 zLZXo1HM*+93Tv=JBTz_rX!BBUVPcYQqmnNrZ&oGKr1wB6Bh!MYtFRkFPEn)a0F>?t zT(cBU%kol?_}-Cqs6cJZBM(E4orI&Fcn1PhdlRtJ#*@8Bmm8?B>3eqb8U=&Wl=K{c zI#10I6mVuwNr8t2N&&OwP?*o7S3)WsF_6T$`O- zJ6{$l*gu~gkDvp9M>GeNG9ykls$>XAz9Kci4MQcWX^{aSZz|OIxmY5zM376EL|Z9^ z5~W?Y0|!4%%QP^W_jWe0^IE%CTI&OA+Q}gRjrf&k_qk0aNDi)fMtZ#E=Uk;;8(Ktw;zebjQwQ?81%$(I0ZfhV)TbQpO~0f5GAEC>W3;FwrH>>QtO<8AxZk1Tk(UC@6f>G zQH@8A2Aw?6G>LdX@t$`=xgsDB%&nF|p=Pjw7ib~0kjWvZ$o&bF+#MD4B2pt40RWYu zHJ77z)SgXzJDjQ`>@^qq--0!zN&m~_^Lr}6a} z^wp^m-@s^G77l0tT{J%)dM!K2fsoU1PT&J3dO<@L{{3p)5K2?@xMPdM)PlAQFUeA& zh=ko)ahmv;ikiY6#a>a$4D-=uf}N^Gy^6#R;mbp=Ub;O5P>JOO-8)@?G_#ZiJm}$^JiS50F{kjS`F-12VRzZM)bGn#hkb7|A}a-gr`D6I&*XNkT#87w0@74=O9+P~zbAZRdiu)z>~!5S|uLXU<^4{8hoa%Un2Up|sn0CiQ1 zLVU$7t(S<78mmNfzEc+DEV{}COCZa|%*tIZQ^{dh&u?n3J)48sy#M(J$+JwkPoNeo zY2Rum+?BQbvVJuDe6$=gkt(-kiffXvRDY6_|l zM6GLTf{SL#A@;0`A%_vo8fS|zVhfH3o5MBN7uiCrM8E(u4|AIpMev%QIY`^8OK?*pRoK7z zb(6gga2XN%B)5o%9viMY_SKLjVAm2IQ9~5msBP`E>j$yTc3ihs{y^3R9u|EnNFEX%4j1g%d4wLU7WL$%RrrNG$3?sSHVAwXJat^dcoW z%ad5=%97QeQ_f#PWk3YgLV*AWVv39IySwM@ost=l$1%g(BaG$bRsVO#$nmHlWRYg$ zk*ma&tYONa?!)dWm30uX4FU)>a#3axZ7Az0OjN5(1KIH-3FsNBXcp*C zAWRWmbxTN>@oFRTPwX55f|&hRLlhOk(XTEo&qGA2R?vs=kd2dLO<<+x;DYfpDBuxP zeixjLTT6x$&>|&;;rk!iO=LiVEWycg1&D)69jmYNQti>1tN;(p}h+HbU zq7v5TI?Dm(BLR7LY2X1&AV~v-VraWk$U~!_9C_LSK^=%FzKi@}f-w3qtLn^BA(TQ` z2q;{JaloUI&gqWl=+Wx7t&bc9c2*{NmklQHGO1g=l!Fuy*VrnIy4V4qG@4&@Emb^4 zy+%O${Dq{a`Nbf?7;qv>(LRGL#Bbi+vBb#=F1y6)m8~e`RCDBHea|p%?+C2<$=b&n zGvqk}46%MXHw#`hNq->)b8*?5OvSbI20J&?ou-$=g*e5RsFGd?3yv1CbQPp~k<-BF zm?G zz6)fg=Lm`v2gI@o6UrzVn6mmqOxeMin?F@aLWXjg9N!TRK z&p3dHRWXWU!_c0`vy4%5;-s^9Q1@dGFvXrXvJt1JU4Oi_uxwz5al57hqxo^S@Pv9 zD_tF+&kEUv0^$Z!1Y>&ytdvyGQQXZyZ8{x2SlLfET8o46*izk*h;F9UddSbMGeI_B z7g?2V3x_T08x#XZcq5op7xbFarhLPxN>+2dO}cX?6@OBLA2prS!&Gs(S~n8h?MoZ% z=JyV#X=iYge4iS)Xy=9h>VS;lmJW_4)GVSZj2GO`X-+lTSyg|YuPrSO2?8i)$r@pE za+)rddQAz-eM778@U9JFu%CU~oo8g@$Ll@98;Q%P(sPa1Zf>5~!$a#sv_c;2Xa?QI z57rCpoS3A`kF-tg79{}y!|%^upP#*642$K(*?cjao`3wU=WY@{Z6U&sxnHau4pWYZ zwM@%MREDW`Our4NwpSe<@70}Mu@<9;$F|k0#5>@-+NJ8%SHo-$j)AwuJ&*EMn?e2l z*oTFb#wsuZL>b}X^ts_LmY&4_*z&mlyI=2UR4!L|*6tp)!LiQ6;{m>y@)KB+^1^wT zy`+MJn!O+iIhXErH(`?d%j3SX$ytGSw1OpN@YKWWepMMP{@S>OQY5WVVW{^api5LE z0cV~G?p)nF9&se}wuyhK$0}C+f~AB=g+&Nw$nmKnUQ_`f0H$=DmJ~Ib(H`h%o*byl zY`Xo0+`HA>BFj${Dp}wZC5mCq^eZS(r^8mHfQmk92dRh(>LvJ1PZ7q#dR%bc0)4Ae zZ^f3$feuq3Q_9Z@QWeQNYP~|`kz(u7X(sJEXs=S{nyF3CQ~WjQF*UztoGs#!d}UE( zEUBSRGezTd@*{x^PYqAaK-)~z?;leR079a24uD9I44a04ilmnir_lYe%595un(;s_ zPL0Nu!9@jYZ&Sb3Pt$ozxvF%$&_mPhTUd0A{jYSzI*5N^6~%qMxOS49iWC6s<5Uf^cV= z;H&gE_>(?j(J=Ot3=(-?w zs4&;}H)>R3FbdpI8xVAQy9=-D2@a6aCM5z$I+~XNIy5;+R+!k)AhLrI%aOK3xuP1Q zm~MSXA*BatU>I7d& zFk?Lu$2IXrIjoU3k-#4qxVRvC;SPaYvKC1V9LdsoOetU4pOlu(jxWP1yw+f;ihoD9 zS1gRZR*GfGtF$}kMug|{mObLIE?5z*+9Hta2D!$=>ny>|j-P%x{_?LMKcG`UZgg4w zic4Ri1jiLh);;afw_yLx!{a>>m;1t>Oot2|wf=cR4k^#caTGX#UTvr1!~ z*Y;-d3PGHx^PuiKLia}3X*y&R`aC&JFRw5bbaUxB{EAfNs)N}ot*aj~!bDIJtX(cE z$_z{86x6|SDU>S`m1&j%Cn>sKr*#AVYkVu}jx4NR0%&j~G+iOjkCYh7Z|7G>#L<|b zMJR|YyOh{X2|MyY3_UTiTPcE|iCBdn&5+I)n6-d$52F;Y7tsv2IiFY7Ec3-?E(7hB z#A_?1b9a{r><9+b4yC;+y(<%BwsSgxN$>vOD>$>Mx zt;LA&T~AP$l@K^XTN%LyTa|FhCIt! z08Q>zw`{xNbj-+iVxZ)7$~-OAfQ8RsvpF!^Szu1Byd`u3EA7_#Mc^=jUByuJ;F}Ob z2Pm7q9BaVGgJGc@?!$wb*0Zy$^_@vR=mLsa(r^(eBEqbgc#GGx%KP0ukUwmpg*|MG z3$uDjn$Y2ClT&$(wVr6D1yN082fa9Jka@%rxic=1L3l0oQZ%S4`ZQ;ok``Q9o4M)a z&k|t}1eO8U=+O}zydCIlbu>k{nDs1?M;$Y@HFKg0#GlC-mDFf5?fxAq5b^4A3CxwMfEAxKe$1G$Sr3xSqu=6QG=~ zk#rkC$35XeBtzsY7g0+B;Al0U8tDN`JSnSDZZ$j4R5ZMN2w#me5c|gCW(jumM9oAz ztJVe%qDUpiG9(2h^$VR}wf^AB;sB=Mk&0rwN7(@FR-#DUb=@*6!rCMX#2;?$%*<{F zYuytnHL$ww%j14T6SL%yVz0<7>hATm?3L4i9^{@d{5EHT1<#iYiI~Tk3%ssp(lY)` zTgH3;xb$0Ns7%wugb2Ms6dY=2d#lU;>N6E6OAlnQHyI3Y?!7)Vhj1CgPhp$`?UOFCR7%RCaJYgMp0 zB~+kw-Gy>NM}VoAfv|2PGC#Siip5=*_d!2gUiL!0T^K_2gYVanQZGZ+6!Q?K7 zt{OEa`+*K?`yVD5!bvd#=2ZLh)PhhOyT>5@)sjth79y@8yb_^IXgbewx=G=PY`DHe z*5`-&riN2L7?6{&tDT~IgT5@6h4dvo<(OZHBLR}eqxkB8X1ki6jxM(0Q*eTy~MY-Gjt?Iu9lks5*2Z@mE| zbB?MN99U!Xy!IkySbl4x+!e*ZbBQJnTDgAqoS6vg`Ow|94!mlo!lgds0S zV#|{;-1w0p*yM3Wtu$!RV|`(li;~~iIw38=-xVxHuwh&HCA@B~6WE1-cTD2$2NUd4 zvN{HeSunVJKEU372KP|8vICHpdZ&C)b%e~1S8_+QnU8J=aSaGnhU}rJ<@D%y1pasy zn>?3@fWD%!8Odxo0F&enyWRCSkI#srihq^;%uN_XF2L}6_OtF2rA|eJH!hMoa&S9#}Vmu6_P$Z9k+#kS9 zW(ES<2gBNhLFL1%SE1hv19`fyXJ zJ;@+%OIXoBus=e)gZ=g^GKXR zSsY{xJU@bUaq*D?`=UNG@(F&xDg%3%GysX zWN~i7fHcld<+*rx20t;D4o)lWZ-O%p5)MWB_Y_JTA>@uChw;h zk}1!*0g{3^!H}f_`YOAw z8%snZ5UHeJvz78i=uHk+GT=DkAk3WY?QztgAc2ZSUgu-;)_c;8)fc&f@iJi%zDHCu zpx+_RLa+1cLJt>RzaLh0eY|p@vBxuh<`$>#*sdbdd;|(6^U8-4Y-V0_eCN< z?#&$&pzP|!(T{#l;G2}{I92Pwv~`yH31W;~cJ#l~-l2#{sUxrRsOiRtUR^#2km>Cr zb46YK#%!3MF`+%sR`>yUFZf|WIJDMy#|^I3UV>8cV5g7-Tdp{mVBe{-F$gWw9F_~Y zd&kdpJ~-CNsMZ`<0e?Yu)4=ajd}(;W{+zy<&cg1w4NUiu(^~j;bFafUab~yPpU;t z($)im-yZf4*in&fip{N`F@Wg#xdzqlUSbm!)H+0Tht-2GvSq8`cNy-Lx0eLrlisXX5+dA_}*vK25uU)6jCCJdFN3}W+JbD4Tn zG}cRF-x@8LOxA3;VU;x@Tot&%%v3YRE0c3kPfYn zH4{`*H7+F1!|3X8o8?(GQAiT-Bw`}mFO7t~Q90DJuTK7-6MJX(Gm|qz_jvjgx<~O; zQQWsU*${cl5Jf{9T7o6uI+m-rutJo@`Yh2gQ@UJft&%$?pVZ zp+1x>PH3E4w!ccEF$CLWuPHtH!tOMzrsm?rbPmM{g0{h^J8|QZ2b2_z?ku_^Dkva% z;`tN8E0gR1;kTov##xM-T5l}7$7PduUqroa|GcL@?ayjZF)zVl{baePf#Tu*Bcewp zj+M0ESKX5vb5Dj~K_7T3;Xzp>4omT7;VoZ_CJH91VpcpQO&n6I_bd^OGyx6o&o+Rm z=-l=yP}TdjGDY*=*u{BxW6f+syctwaY6gvx!2fdcucqy%WFzpa65fv+_vpkdXM*z@ zWrd%M9-#tqRft|gQ=t}*m*K1}BrgJ77iV(9sT}pq;{nv3NrvLFZ~A)FXU|n`dcB~?e9f%BEhpCvtNW2%me9rR{QF(RtvPAoun(O zobyou7-LbFs%)D9Y3^eI)Uoi|WUHr(@s&C5erx?0X3r`8$CgM!3>BMLC|v)zy?Ihv z8CHLi%P<<$z8spg*`i{WQ9sv0k2k6QR#xGwWQ+dki5_oPP3IuwVI;n>a$E~pR^-#PrK0dMyIg*27`TP!Oy+03lnvM#P_!R?(21-@aX?`qTI+~%^l5|nR znuaVPj()~JDq2PiG-Ve~0v-el_gBsK;$};!)##XEuDJ-NQ_A*2OH@(WhL|-YGvutD z!$@Q#6;m(1?MI%`i zMO}e8RZ*V|bh1G|UUchqP+L=zUH7g6qfs{^jY%@BgP)$Aw}34*3W~=Vxd0utwoTQQK!4$#T9>C|`ELxs=u(&0vBZ zN;$Ju9}2tOhZn}2fBy3F`TH+F{R~%H`ydRq%j3VpNpQJqu+Jhu-K1M*=(@?m+JINv zvalr54$W|bh;rhGS+!LfKRE&0Tt%qpUOK<%`6XF6YSdpGtYAO7%_gs=9hxI0$^ly| zk?Dl~&L24f-pmdK zb`2)zu<2AG1X0SrqU@6n(DD%`GxR&R!2b28U%r?ZKCG{)Mhv9_*_qlgIWa;an=8I9 z7Op`%R-TYwgmOE$<|^ElJlHV7*XdCw^A#c8Lnh~|hZHO%@p`)1eS_88L4`~lXqqRK zbLtbWN}$4TCtQhRB)Q4EazPL=W-=Ix8y`=gHE0UlE=J7*x0_Y-tuqxTE_PVQemp_; z_Go0hI!*bGVLEOePPkG1L5V?McYZGgK*uP0N*`&QFq?$s5rZ+3Y!opGasIt%mB$PM ztISRnY=1Mwl*tT1KrnE42w&VH;#sPQArQQLLP{lTY4STD27buy+{j{eQ^BE^xoe0E z$?9)cA8co7sRWs5Gef63;sFpV#tKXVD&wc{WQf7h`n|h8+Fy+vJ{Yzmlpz~sDN%`3 zMU^d<16ff#qZ-DO$fZRu!_yi@q25m20j%=ayKotac%O2!Fz_+i~VS)&MgqQ_tz3KsGf9HEp2IiaLG(@c=r zn;fn%!DYBqeZ@z-xuHP(tWdpG*3pRagoA(qw4o& zVDTXwr70EbHoZLg;5)s0zUl)#_(fDLf-C~#hTW^X2Zs7*-s|6 z%!VK#eNzF^${W0Yyip~)hkF7favCfBSTb`4|B^;PZYPaH8Y@mQS(yqFJ-e#~9<8nbIE#NUxa17jL&L38MTHl|RpBb1c8JTs z9Ws!}jWZ%c=~PO^Es4)oaz^J+xKz+%zIRN^1!cu|K-QO{QdI}C(I(K zqWGyKccyUmbb(1!s0_``*-2Z#bL6(8E>WAUoCZSN9sEu^liWZt%TpulgjyMkl4{9T zM2EIMcw{(Eh^|Mn`$p!N?eo+9@sGC;x(KjyzbbmZl)5^E5%MJIwT~aS_Dk3`_>h)= z<~HNsi{JClrT$!bqO-jm*z`)G;Nmf|dV#sMi= zf#>9ZoS1z#v1wo>b?K-3_wV~cC*jFU{a#1}uMhVh?oo=iaXLg?)!UrjnZ+{D_~;cp zLOtQc#{+Kja+onmc1)?VqNoE?Xg|W!YKs7x2Kx?Cd%JF3tJUW?8E8fB$q#KAs6)6q zendwDV0=>@fZxu&<01u>*@2Xyvx)-QJa7tj4Ja~A`@A56VK=e~A{GIt;!x&A2#fsU zycT48ylV32jnhy`85#;iam-#uQF`x{vtFdYKlYyX- z=mXzRsie5n7w=ks(18+1@BL#v`Ko^!cRT%sE|(`+(pZM{MG8?1xr|#17lBuknhjCQO{Lrw&QOE>*Yt__$v3v#WeFXkB7 zxgw$F+fpQo&!@7Em6zz8H?%I1UF(4dMOj6U3$jS;7IJG9rzp>Vpd`>#^cDFmB%rYMh1}YA|G9csSe; z3l?Nw`1dj^jqa6V&nbjG51XT$g?cQM9S57hi_4G5C4ixKu2|mjYw<3rSxLs>ikRsx-ovE zqL;^01}0X5V_E@C5)a^Bd!$;8-N&gapii`AP8G`kpS}@+jC!FmXo0-0XhPGWffh8F zL{MzZw}rZvYFE9h+)uopXnV!sgGOc!BeN1~fZJW1xgoRMMPjq(3$fWs2g)~w!a{(K zlI0qS6p?C5!mO2{ExRB3>wV|^e`TWWXe#^)R|(CK(P&z#z>cUNkt(mUr}BET8mZLG z>`>tFaDs>hRTfYG${rAC7ijo>5!Sp_u6{sk9;8=l2PFf59t2mjD~D`+uH`Wbd>v_w zUY?!&%U}N`sezmBP|HP51Eu1EVDmjk3F*W31B%&04H-X=Qy7lw6pSAu`Wclq6$)!H zGNrdpPO2L~4At4nS4+_unLEJLU2>XqdhPjY_d_0W9O~U}@7bDBRl#d)Q70mGKTQV- zTLkO%hzFEIEHcPqXU))C%Jl98Rlf>lf;dB@dO>=Rs-`Au9>7B8&Dps+&_Ky~xomx2 zyQ^k$TMI_vGLX?RHOiwh7CjH3>50~X=o zaRe7o-+@A?|D}KZD{W0KugYx;tH9Ov?grsi2^_qvS~tOv3e`Jr_xlIrj6>Lly+CGy z_EGE~a!eYqty3b()w)$eGS@_<5eX<_*8Obc3npD)G>&ivcaO)5Z=d$Z`@i29e9|(j0w;}8+Eo!Ge`gz?lGY03-9i1r_d#S5 zI8vLcQbGk&J|Bq)-3;z$Xi(yZOqCjw1;0zU*axIxFF#G}smZzldq}=zhz-FG+Q_E) zz^0Y;2n5w0{8HBw(Ac(eEr&E79-P(8L_abwNOT@{A!V1eyQAkkgHUdcVpe{zeM`~f zpAcypq&5mqnlzoJjUEBUi-%j7j(2yDXy5~Xw))nyn8k1e5)Et;VtCKY0GgZj_r2M0gDANsRk|~5FA(fLY|fyOxW>UR4ZeZl(U}Ax>nBC{MhIRJWEb8x0yPkF zw3lV0ZoKwecwTIQqFJqLV`Cmjvyewc8xXgw9Cd>x#SlG%uPKttP6^^QwJ`)%@|gKI zje>SlCKRAE5S8jeKa-xcGhc5&j^>GDC652rsKa!QPL3*RsS(&EtQ`i$mgcAMS_LT$ zph6Mi#+yiYv91vNrlWRTm8Ob8m0Mh%OL8Vcw-M5yr~?LLEdk8aT;*k3Cs5`YWoUTT z#R)4(T+mE0^{zADR25Kpy{1b>VlM?)mugJB-QTNaJ%Yt)EsMJ^J2|t|v|_5f{)n6J z0ExV#onWV93SthfE2L&RG@vzuNd$+lerE>q!~H#sSfmHYhv4}Dmnq(v3kTR^6$I_% z%wZSioLf97JXfVvVhXT94b&QuAwePBcWlnNW$L36oTHS|MIuL{Y!|m!l__W zul8Fg-O;QqgTp!iPtXSrX59=?Xj{$@*&2b9d-o6KG9gRFk?6X!pSap47HGFdz0?d< z6YyOk;-R9uXTr%xo@gt&luNlDPb5aQS;GvujC9~(3D&s@zRE>Y)w<-R!<9XBw6WLK z#Qa4rUE%L6FR(Ojjy3*&Pis!7W<)ls<*LiZYoo#AXXofR1NO3ktARpDMj`GOT(>0f z2qCjDMDXYsFJ#AoLoozaPoHGUju3Q(Mw(E{^qW>P@R-FWj_l(hf_3`rY^!x4H6U1F zD|^7Y#%dS}tZM{d*|n>M8#b3}L`jF&PcvkykZMvTZ14~J{bk`EGvfmmGB=agRPVs^ z?<>GLCxM{=vYGvv5QV&5Wu^ShxRDal0j59+YbzO zIhkVHGorCLkE8-O9n#baRW9^dkCjG=vxZV)h96!HZiX+2b`iVF2>+a$43~82w9wRR%h0_yE^>il(`)1gu(|n};1k&tv97 zNx059{X&skKVa|aWDZ0rAo#>U(1D7AbH4=Hy$t0bwKTJYa%8lGL*BgCZDjGrwpwi( z2r@qSo!%Fc+$euNhiB1GL*J5qC7S1AwhwiUEt(8;z|)Tpz}L#OA*PhL z!ZP11BF(szujTzIkA&)9pQJ<@G}EAk6-EWdj)!d8JnWW}$11D%go`;M4)49W^pVN$ z#CPS%q1XA;EH!&F!w$?%Zf~_N_Se z4GJnzSDwh%M+N1oS{YZYQCkbS({Y2^?9*rXF_E+=XIR?=7)T>d4rixln+m9c2*PvccC{E~ST7x;{ z4KL}^Z2yvIw9yO1k1t9nFoLnRm)6%|4QgMg+#-uj?u*UOdSX(i1FLZg4h}^S;7PqL zMx(6WXT`ALnxz&;HOr0U%H;9tlMPIyf=WycB90R80Ae+vC)UqQ-y@cT_?l6PSRX1bc-4$a};VjZfG!li=Cutf<9=Fn;?(SD%zgCJ4e! z+dm0f*ge;;xns&E$vo$R(2RRnJ|I%^km5@!-KNWPb?ak9tHs}a?9yw~XuvS#B3sW8 z&xa$8R%R%uwo1Yp{3rvMP^a2c3m9!!6JV&)C6@EjtCRbxZ?H+jT1tDQS(j@668lM)o0b%nl`)XXJ^X0m>0uR)ZZJqCsv4M&~m@bgUQ5!V(>=Ku6I&XU0eD%lFj1 zNn3)^?fP&-`RjPOS{|=KLUy;$m-|bQXg+j3aNk%OngKhR76PiYFxz6)gpEAxMygfg z#w|uFxTwuiyjq4QR2;yp#dH#yg;^Iz!z<&?gqEc?py693R!N9PDqp5*{Y(+2Bch|h zB%ki@V5z^jN7HhJ@iUYU4ggo#A`2Fv%2rZ{BYj)wFPxX`a&L=L#qZcrCKpI^kJ#%* zUO$}_RBVT%*qUegm7Ed}6^iuKhr`8VC8TC42bR2DY;#Sj<+3qNv|_;$+&G}mMH)7N zxrKHCiuoRnw-@|Jje;zY-%f~wnSGD$ zrWZ+MZo53ZW>JjgVwN2SPsxKz8Cahnqo%{9aeWsrDW)}VI@LX5)2T3RTS8+#Kg6xV zN(FI=A2$OfGh8pMb`uJ;!Fp(+X8Bh@Zi@P31sBg(BeO5BMEEHOh_^)a9T&*0-k{~q zidA<;wIeNSg=3Ef2kd${jfWM^CWAH>q4bpfDpFFN!YWOmtc4Te?%CR6MvSOKgC$LW zuN%iHCb9b>Dp-^>{>Ecy48Md|clL!`f~K1jh#ToTFqZ!3d4?{d#KmT64A5p}*d7@K zMDvQ$!_$*^Fz^GAe-J3jXWAf5cw!BO$i5#x|NQ+=|53cqNIO>uYh(FgB<}=6CNuK- zle!@B)zA)#oV*Dam1T>anOw91XauoGE*xX^nn1q6*x>p{vkV}4<ygKi%n6?Wm7@y&U7@nTGwuqZb9+#!Ce7#$ds?4n zRd4AvPJ1gvLKn93GISYF65a9`RTC(xqY;wc+0~V$sz8d(ovTtBP$)#$!OaJ54@DOK z1{r`%%DpO#P&eNYQe0e=%bjj`RYm88>|Rpa=-k~CNnE5v1qWQC)-K{ z7o2FQ#r*D`*O3VNl9lCz_;*hW&(y5=Vf#5o&n6O0@$YVSS}2&gIe0F{vFt04W#`%S zrK&cbFZ-uzGS{KN5>-=_wJs}-$l~u_NeHd6+#tFswi4({36c>iK><_Nw6;&dDTVj> zv5>+>Gju2d0J75w08p^BuwCS_dg>`<1R2OYbpwI4sDCMLma|wqE9CeG*nC^!>GGa< zqV0xr45Lg=XAn5r2^Rn;>}<6;lNtqRA}`^utC5$1N>PqR91?uk!y7$MV=`(V^3jk9)`+II)-21R#`fy%2Bzwu5-SPVvX4(X#gZNFUuf(Pg-JRszG}~8_=89mZ28j9$y29WX%Rt^2cLY=`|;eHAOxbsc)-=W3C7SVM(d1eLSevel2OdXFqt9n)ytZCwoRDk zV0dyoiZ~I>fUn)&HXI=mMNL=h>&a+0}b*mj&r25euh)^}nPO(z8^)1}rc#~KV8oBCl%Pe+|QeitN4K5pnF@@_Bw@%GO; zN?ipPNjzdq98XH1WdatMiSZlDM1-8x5$S%^c9~2|b{F!ZD6DCqw^+6{2#boB(Q#-? z76*)i5nvrSJ2d8ob*2XAFWsUPv#uT${8A_k<*aUOKxRg>c+y7R3_m=D(NDavoT^_V z+ET&^O83Zj@m;ODNQoo`Vm5s`iuD*4%gT8pPrjw&({VfQiothQU+emjWwvO9Oti7J zAB(N37+0Mv=qkLi)MA4X8z6KV`HjXiKcV={)6#~JT|t#rroidEg`AUqtpgE%VV5f;(`QhWBgx#Pvlb)f>KdQukJW;PEk&rD*|MS`44I0ra z23E}iUW2g#c#UT9)lJM}At(P-*fvqN3ETEKwco1Bar-LInMq~z=%hi!Tu`Ds!$8u_ zyn>Y{X3S(rG+Wzriq2aOhl^DyL?Rc8JJG%KreMKUVexUDA`*>+jGv@PFN zjjDOtGO_k2(wWV{@`z5|JG6;rZV}^&P~g8&>}aP^IlNqt5{hP$6sEEw!$U1~lB7DP zPNtu!YV8$x+TqY{e>|sNNzg(dTU~8-t4t#>%jO7ZSOavb`3lWgiA>jhn3mx zk_d|xLTuh8==MU5X-*=ii5dqsDtl81We|#Pd_XMcW^&!U&$SnTy5zBIAK{)t zIXb9ueeB6w6geR8r4nP<<_T!q7id^-hL7X$CWAUW0x$lb5*#dLk*ta#+BrRwaVX{d z^}D~J&-zdQ@#FW$FTxQQWYy)Ea%=(^XV&~yKTC^9Tom#oo6)urZKH8RF}|`!4nci3 z@V4sXez(HeB~!Zz`AakXh?7rL{{lwvlF(Lo)+)pP!rlFCm-yuXWftQ!t1hz1s8f=_ z2~5~9Pl9Scxo`!e5Q+v!xZ=KCo>#CVYy%IS6V?^gH6#`FPR{3D0)(N-mI*p)0vYL& zb%iVtRwX~QHVSJ)p?Wkscyv>j_bgY>!=d_I0>=$HV|aiXGZVSUd8$}YaF%TH6xw>u zvs3L;JPSj6H@)TWycT5#2jXu}3ZxxR)lGsJW(c84 zD6tE$mc%|wZFj)t?d{X)tWR%gh!v@_wtvW0_*VE*y&G zKxxRg0FN{H#cOgSgMn{4ujypi-d9-V6?!13ZGHJi#vSu+y)s#+Z>l1?5ob#RO_IrY z$!78iw5YpL3cz2T1}-xsbi&J<8Zn!m4X`JV8XTLMVc~{UdKVv}FnDXxuCYQjR?JMd zj1(J=W{1fFR^9J@DC&_+y!LbYNd{w(ClTJTTEJC+=7%I~g|0juVEQIe4rwGjsW4(X zjT9GRF;q%5_$qXTHeZP9C~~GtnbzBT)Hy!v^_Q-7@ed0Oe!fNNgQUwVxMdBAj>LTY zJg{&&Di|P)l$=ZW2DB9~AmoNXcpdkjTB?;tMmI~?Zsz#?nx%Yo8s$;i_?Z>VNrFjQ zHBh2NOpp1%C^gMOGxnd~&-@#O3ylh(quM3BiY1r{hNyn?ut*Jic-!;2Bhz(;Flr7) zF)-b}5Vln3D_{3q`w(;nSMPgfAb9=Nq6?2S-(8e$yTm^x6^Q1h(2>)Tp|!}+^5k@# zPsZXi<-4dxxpZCecso-wpj2=-YnE&BAngB2-Z-{!Hl@o;k<$i5q1eu6k*YatL@F}mSvBhwu!bo14R^r z+!yiu8}^rrcn5@1r`SVU4`6GHC~H$ZuJ8E}-gio(DA>~~AR4*7e-F}h@dzdB=J5u> zRUktaAGq9vs}fKfG4DJ_xCSiaYR}}R_P)A7+X*CSodwr8n@eY=DGk^Cn@(qX~TPqhXwOAhqhu9Xy0cQs|kaXoB6x?Kk`9 z2mcF6MXr)9tr>P$!=iY8wtvzbUo$2Pt6c0_`;i$qMT%SE#>EvYQ<`P;YKn!Fu1B~l zshbXudE9NRAP~M)?@TP^GDiKRjZpqsVJc+kkc&4pmv&0Ruo-Z z_uRBX5Df7rlSLJ#ew;ARh8+Q0Ge%0s&9~f_+ioTH@Vp?kK0+>NA)ES0Kf?|sVqK)t zg!j^`#@A4nGHQxYTvcZP;Qut2U^$f88Qpnw^K=>o9kFR)<0S&iI$!2^j%|&W44oH` zWeAwX(ps{(3)7em4Oqrt5?5Y8Id+BMY*@zKGzW>=f>kW3gE+)$dQ1aqO z9FSoNhYc7^mOkw0;DKzC78S2{EeqwLOAMd;v9h&e1(TD>cgsy_Y+%jF5L!ckAdyDi zIF4n#}tmkY@KR7^`O6tAqj z+2ij)UQE856wSs`8V2D+8Gq6CHXmox&9jB2-HT2gA86X>BNygo**pAN7G~*$na$$Z z;l1&K_N^a-d30ql}mdaRSL?`X%ny8*WBKMb6X?YM&r^22uz z&tT-0W;m|V5C$U{L@y?pPbV3&d30R?hTlq_A565Bg!kxfN24dhU&N4I$Sr&YM$eb7 zkO)sv7p~gFEx&HZ>`TF^O&BL_p(AV1;H6G5SR||wB-|;bFbVWfVNLE7Spm_Pkrh4= zw7>tIPLB^m1iO1EIWb<49kqYH|LWxXfG)FqIGt+5%MqQ@%R=Q}vB^?<*5EY8F^J=J%BHwhvCeke4x>J;K(2>WJo^>XxG~I3isA(iP zA_@vQ;2ljy2Si~!k7rYamLf+}nC9J-k0fbGf_6+8d}ns5eTqnBpn`%Ma(iSOeLre9 zkX~s*!0uWRJqdvQyvhK1jp>dv**@Kx-O5FW$Ya$^+b0f(vqo2eg)IkrEZvrl7E@9 zrbwAGtW{=ENd1ZcoBxbIpUfzx+6AZg)ziE`Jen8tR0>S?ZBBrfFUS+LN}fb03m*5!RB*xzn{gC)>c+jP4Sk9eeSTdZ+m+}d*QW=kD zrv);w5XCk9YL_3khbyE?T|tG1$IdFTFe9pnmb1W~W>j!Da=UISOF(C(NC$PAQ0K^L zklwOk>gN)LM)PzZ$(+4V$(o327Fo=7c&Lx%YPNMk^&)(vXOJY#qlb`Ih_6shu7nWV z-|bkj00Uhi5WyMG|2Naz%|uc1+#zU`#3zPqKwJ9vQ*ltcM6iB>15d#O;A#XmO%W!7 zrI&m4&|)aia160x9>Nkf|MqUPI6FPtoStu%$hJD&eExd9+T6N+zijHyTb?g2hwvO0 zgZ;$>)YFhb5y(Nsw8No=z;4if(NPd0G0JF1Al7S`gVhW$XIC(%t%A`Xm&%h|N(yw$ zkbS`TAVS!6xf@-&paHH~zi+eOc~;PIfBBwd^}{`Y7!La9C!}nqYr`3as}S4g4THhL zGjmc%ClE~~Us!^%F!wl>JUC$N!)Zi{$|rn7GL~EH|EXKBa(xNnA~Hu3!Mp@=v>N*$ zC)IOp-lYwrxJr79$p+a#@JefpVn2Z7HTw>sd;}&HucT+EXHy*u$^`hL=D) zEMc;*SyYh@{$6zVTo3B5=u@thqe^A+yTE!YA~qYf?ef5+qP;0h zNRb|0c+zM_C>On6&4MB(%^bZ-8O;lgB@5L5r(gfh$}KfO zx82xaeWO{nJY@{GR86rnefzX@f! zL)Tw?p=ObR8`3Y~as#|O$XD@#%(>vcV&%O;PC4FUSVaj9dCvo|qTd>j+|mK)i#WXb z>ckNzmxzt9Lk65PQetyrDIm}$QtvD>L-x}`+6n%3@;ip8Jl)*w!6r_=uF^B8JOz%% zT-cqpg>v529Ep!iM`hzIaI)xq=qdyIwL)IXJT}M^5=jRcvAhCs)MFxX` zYt6hBMTa%U8XqhsrRB~bh-btA9@bWC1%^hMiPCH3`{qD%xd|ng&fdKe^KFb;Pj;(zGMQAt^|Kr z8&70vrm~il9RrIl8zy+O=Q@XcWSR;wzh*ot32A}U=o=;Y+Utm8yx4-Pq#0>|d zLw-1#$AfK8L|Pa%9xfl%H+ia-xk2PYwpOFY_M?V0R(iwYLIwn>kxAsSv(nog(I4Qcsy@QSVn3d7xkXkAz(IQ|mQ&Tk8mzA)n4K!WL$aJHAJ&&^ z-d%61BI}9p2EB|1waIdM{lMVfCR6OnNSDgd0e0JK=|}Bak`y1=8APMq^Wnl$#;udJ zdld|o?$va{&0&%HpI+3=vd>Uv38kM6!rG$i4Y6cgG-`Q#6)zWN@DgkE@C*xLOro2 zLX)Zqa5?Pzpk+-50*ofZS~Y3Mgn~PLZZYh&nRbt4lBHq!tZ_;*rt0ccBspE4$>Y|4 zL#>YZa##|{!?g!QHr!ejx1KS|0g3+AFu228!)?*{(;(kCTOJ(DPqGn{k$ES1nQWJ%svaY=LLC^-mkz9C$#VnHw ziWK?k5y-X9kynw(gR!N0OZE5KRM8&YIs0=BwLh^x*RL@_TnOWBes)Wa4`>+t(M%2u{=g7bH#skX!`s3fe{P=hHYyNj52|@so#TLIp zEh}l)CTJU>kn1C&pR+;9ygET88p9y_c$Rfe)PQ1MT2OYrq%e@0PO&+61`?%Tm!+>BT;j}^3qfo$&`D$c zxS0*A4kz|-{z+G6`Wx0tl2nu}RpTk}GaZ^CY3=WIxKzAbMOQ&qk!r~6MpPm@YQq+% z*aEZh%Cz5%1cXh-3-;JWtx|03pzI^H2O?1>!MqVMB5DpZ1M&Icu$G_#m(*JzOWh%^ zjpCG*PE7#DASov>_|`yG+DTPvgxj$L*$acd?qN22O>d3s0z(7y-2k6?Yo%<1!8nr9 z@5`kK`+3b(Gc5T=n~f!tg)nk?b$iRq(u`pwiCsvRMTns0BoDh!pi35ivqHNwe>hpI zEZv-t-VKqGEki07-dMxafb9Ot$cN9D0w^PM+ofvgqX^xk-I^mAp_D`pQV=xZmMLf8 zvT>tOQiHbZMW&!7hHnW)KhY=|x9SOQL=Zise4OWRb^A-aE>0BohiSNOdLB1Vdg@WW z9My3$XyFnl0DekMzqyZ6KqXDkj~@T~m!}`U|DRUW9Vx~i?jG%zO_>2+3qDE1$|Qs)=8YO*Id@P35uT

    `5a~Xr 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 diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_gpio.d b/software/firmware/oracle_d21_edition/gcc/hal/src/hal_gpio.d deleted file mode 100644 index f46d6b5..0000000 --- a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_gpio.d +++ /dev/null @@ -1,173 +0,0 @@ -hal/src/hal_gpio.d hal/src/hal_gpio.o: ../hal/src/hal_gpio.c \ - ../hal/include/hal_gpio.h ../hal/include/hpl_gpio.h \ - ../hal/utils/include/compiler.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ - /usr/arm-none-eabi/include/stdint.h \ - /usr/arm-none-eabi/include/machine/_default_types.h \ - /usr/arm-none-eabi/include/sys/features.h \ - /usr/arm-none-eabi/include/_newlib_version.h \ - /usr/arm-none-eabi/include/sys/_intsup.h \ - /usr/arm-none-eabi/include/sys/_stdint.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h \ - ../hal/utils/include/parts.h ../samd21a/include/samd21.h \ - ../samd21a/include/samd21j18a.h ../CMSIS/Core/Include/core_cm0plus.h \ - ../CMSIS/Core/Include/cmsis_version.h \ - ../CMSIS/Core/Include/cmsis_compiler.h ../CMSIS/Core/Include/cmsis_gcc.h \ - ../samd21a/include/system_samd21.h ../samd21a/include/component/ac.h \ - ../samd21a/include/component/adc.h ../samd21a/include/component/dac.h \ - ../samd21a/include/component/dmac.h ../samd21a/include/component/dsu.h \ - ../samd21a/include/component/eic.h ../samd21a/include/component/evsys.h \ - ../samd21a/include/component/gclk.h \ - ../samd21a/include/component/hmatrixb.h \ - ../samd21a/include/component/i2s.h ../samd21a/include/component/mtb.h \ - ../samd21a/include/component/nvmctrl.h \ - ../samd21a/include/component/pac.h ../samd21a/include/component/pm.h \ - ../samd21a/include/component/port.h ../samd21a/include/component/rtc.h \ - ../samd21a/include/component/sercom.h \ - ../samd21a/include/component/sysctrl.h ../samd21a/include/component/tc.h \ - ../samd21a/include/component/tcc.h ../samd21a/include/component/usb.h \ - ../samd21a/include/component/wdt.h ../samd21a/include/instance/ac.h \ - ../samd21a/include/instance/adc.h ../samd21a/include/instance/dac.h \ - ../samd21a/include/instance/dmac.h ../samd21a/include/instance/dsu.h \ - ../samd21a/include/instance/eic.h ../samd21a/include/instance/evsys.h \ - ../samd21a/include/instance/gclk.h \ - ../samd21a/include/instance/sbmatrix.h ../samd21a/include/instance/i2s.h \ - ../samd21a/include/instance/mtb.h ../samd21a/include/instance/nvmctrl.h \ - ../samd21a/include/instance/pac0.h ../samd21a/include/instance/pac1.h \ - ../samd21a/include/instance/pac2.h ../samd21a/include/instance/pm.h \ - ../samd21a/include/instance/port.h ../samd21a/include/instance/ptc.h \ - ../samd21a/include/instance/rtc.h ../samd21a/include/instance/sercom0.h \ - ../samd21a/include/instance/sercom1.h \ - ../samd21a/include/instance/sercom2.h \ - ../samd21a/include/instance/sercom3.h \ - ../samd21a/include/instance/sercom4.h \ - ../samd21a/include/instance/sercom5.h \ - ../samd21a/include/instance/sysctrl.h ../samd21a/include/instance/tc3.h \ - ../samd21a/include/instance/tc4.h ../samd21a/include/instance/tc5.h \ - ../samd21a/include/instance/tc6.h ../samd21a/include/instance/tc7.h \ - ../samd21a/include/instance/tcc0.h ../samd21a/include/instance/tcc1.h \ - ../samd21a/include/instance/tcc2.h ../samd21a/include/instance/usb.h \ - ../samd21a/include/instance/wdt.h ../samd21a/include/pio/samd21j18a.h \ - ../hri/hri_d21.h ../samd21a/include/sam.h ../hri/hri_ac_d21.h \ - ../hal/include/hal_atomic.h ../hri/hri_adc_d21.h ../hri/hri_dac_d21.h \ - ../hri/hri_dmac_d21.h ../hri/hri_dsu_d21.h ../hri/hri_eic_d21.h \ - ../hri/hri_evsys_d21.h ../hri/hri_gclk_d21.h ../hri/hri_hmatrixb_d21.h \ - ../hri/hri_i2s_d21.h ../hri/hri_mtb_d21.h ../hri/hri_nvic_d21.h \ - ../hri/hri_nvmctrl_d21.h ../hri/hri_pac_d21.h ../hri/hri_pm_d21.h \ - ../hri/hri_port_d21.h ../hri/hri_rtc_d21.h ../hri/hri_sercom_d21.h \ - ../hri/hri_sysctrl_d21.h ../hri/hri_systemcontrol_d21.h \ - ../hri/hri_systick_d21.h ../hri/hri_tc_d21.h ../hri/hri_tcc_d21.h \ - ../hri/hri_usb_d21.h ../hri/hri_wdt_d21.h \ - ../hal/utils/include/err_codes.h ../hpl/port/hpl_gpio_base.h \ - ../hal/utils/include/utils_assert.h -../hal/include/hal_gpio.h: -../hal/include/hpl_gpio.h: -../hal/utils/include/compiler.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stddef.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: -/usr/arm-none-eabi/include/stdint.h: -/usr/arm-none-eabi/include/machine/_default_types.h: -/usr/arm-none-eabi/include/sys/features.h: -/usr/arm-none-eabi/include/_newlib_version.h: -/usr/arm-none-eabi/include/sys/_intsup.h: -/usr/arm-none-eabi/include/sys/_stdint.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdbool.h: -../hal/utils/include/parts.h: -../samd21a/include/samd21.h: -../samd21a/include/samd21j18a.h: -../CMSIS/Core/Include/core_cm0plus.h: -../CMSIS/Core/Include/cmsis_version.h: -../CMSIS/Core/Include/cmsis_compiler.h: -../CMSIS/Core/Include/cmsis_gcc.h: -../samd21a/include/system_samd21.h: -../samd21a/include/component/ac.h: -../samd21a/include/component/adc.h: -../samd21a/include/component/dac.h: -../samd21a/include/component/dmac.h: -../samd21a/include/component/dsu.h: -../samd21a/include/component/eic.h: -../samd21a/include/component/evsys.h: -../samd21a/include/component/gclk.h: -../samd21a/include/component/hmatrixb.h: -../samd21a/include/component/i2s.h: -../samd21a/include/component/mtb.h: -../samd21a/include/component/nvmctrl.h: -../samd21a/include/component/pac.h: -../samd21a/include/component/pm.h: -../samd21a/include/component/port.h: -../samd21a/include/component/rtc.h: -../samd21a/include/component/sercom.h: -../samd21a/include/component/sysctrl.h: -../samd21a/include/component/tc.h: -../samd21a/include/component/tcc.h: -../samd21a/include/component/usb.h: -../samd21a/include/component/wdt.h: -../samd21a/include/instance/ac.h: -../samd21a/include/instance/adc.h: -../samd21a/include/instance/dac.h: -../samd21a/include/instance/dmac.h: -../samd21a/include/instance/dsu.h: -../samd21a/include/instance/eic.h: -../samd21a/include/instance/evsys.h: -../samd21a/include/instance/gclk.h: -../samd21a/include/instance/sbmatrix.h: -../samd21a/include/instance/i2s.h: -../samd21a/include/instance/mtb.h: -../samd21a/include/instance/nvmctrl.h: -../samd21a/include/instance/pac0.h: -../samd21a/include/instance/pac1.h: -../samd21a/include/instance/pac2.h: -../samd21a/include/instance/pm.h: -../samd21a/include/instance/port.h: -../samd21a/include/instance/ptc.h: -../samd21a/include/instance/rtc.h: -../samd21a/include/instance/sercom0.h: -../samd21a/include/instance/sercom1.h: -../samd21a/include/instance/sercom2.h: -../samd21a/include/instance/sercom3.h: -../samd21a/include/instance/sercom4.h: -../samd21a/include/instance/sercom5.h: -../samd21a/include/instance/sysctrl.h: -../samd21a/include/instance/tc3.h: -../samd21a/include/instance/tc4.h: -../samd21a/include/instance/tc5.h: -../samd21a/include/instance/tc6.h: -../samd21a/include/instance/tc7.h: -../samd21a/include/instance/tcc0.h: -../samd21a/include/instance/tcc1.h: -../samd21a/include/instance/tcc2.h: -../samd21a/include/instance/usb.h: -../samd21a/include/instance/wdt.h: -../samd21a/include/pio/samd21j18a.h: -../hri/hri_d21.h: -../samd21a/include/sam.h: -../hri/hri_ac_d21.h: -../hal/include/hal_atomic.h: -../hri/hri_adc_d21.h: -../hri/hri_dac_d21.h: -../hri/hri_dmac_d21.h: -../hri/hri_dsu_d21.h: -../hri/hri_eic_d21.h: -../hri/hri_evsys_d21.h: -../hri/hri_gclk_d21.h: -../hri/hri_hmatrixb_d21.h: -../hri/hri_i2s_d21.h: -../hri/hri_mtb_d21.h: -../hri/hri_nvic_d21.h: -../hri/hri_nvmctrl_d21.h: -../hri/hri_pac_d21.h: -../hri/hri_pm_d21.h: -../hri/hri_port_d21.h: -../hri/hri_rtc_d21.h: -../hri/hri_sercom_d21.h: -../hri/hri_sysctrl_d21.h: -../hri/hri_systemcontrol_d21.h: -../hri/hri_systick_d21.h: -../hri/hri_tc_d21.h: -../hri/hri_tcc_d21.h: -../hri/hri_usb_d21.h: -../hri/hri_wdt_d21.h: -../hal/utils/include/err_codes.h: -../hpl/port/hpl_gpio_base.h: -../hal/utils/include/utils_assert.h: diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_gpio.o b/software/firmware/oracle_d21_edition/gcc/hal/src/hal_gpio.o deleted file mode 100644 index 29665597d92ba77c1caab45bec2a4e660f7ec990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 686336 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
    Cvu`O|O7dVdaFdTE1UfGIxh84(N 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%0ArV6z~!X>)UIQvl| zf_xjL063W|LKr2VDg8UuLwypH#nEvcw_4KgF{yR`!OBsGMXlYAB`zJLsB-EIg0CAl zj3?L4x8R66Jd7{+H*obxPC{+6!;!(E<+CO61-U0{+oL_%NUIB>YwldjjM(`F2?S)P zGRLHjFMMr^gDW8;-D|@X7Bwz17YjI@FWjGgeB&wl@eDkxt{>GuIaq_H(|LJob@bzep-8U$G7&mi8j$zvA%f8a8X_%3xbrVh<3X54e>NK~VgWb-`lUJ}2DOHaOxCc%_ytH3;YuoJA zr48kv@-&a1a+nIT6W2z_-GWt3eeHAts|YjFPF#fw8u2Pio}8_+ys+7VKuDou zJ(V_i7#x27N3Axfr}XygZYq*qMT5rlNDAP=#>w55sdZiMd9C;AQ*CNbZ*L<+;xilX zc(Dy-A4{_UG|C|J+t~Lm3M5x+;Pd(Yw&Ii!de}dY-P`plaW$#D=<$wp($2<2IGbsAS{L)T$vnn%Gs?eA+{^@nPW-?ZeV|JVu zjC{&A;m{uqLyOfN*=tqhSRe-F-Gzl~+2??!>Ntp?ga$WRl0Wbo*Y!-o0lK`AcGT+1 zxg)L~@2xY(3vB<;HN!lemO=Uo^5WtuG@+nQL$DLc#$)_Jvlle>k0YSkt~xA^`}E;0 zsv!!0Eme&jQ)6*3=;)?4Yr2J2NVnr?ysfpQzs2BMHd0=*_WLW}6eoeWB(~QsxB5Lj z<(tMzA_Xiu=?SdKIU`h@hZ*fi1PpkFV{ZYDSc#05F)h<*oc(s@(GN1I5Vv;KYH0?6NXt?d-{H`ywB%gW-mMnT zXEd8F{Yz%GZKTbv2-4=Mv5B%OpAk8k>|FEK%MOVeor*v*kt7zI=Z&2xk*=-ZCOYWx zWP(%XyfstQ>Dh?jx;<*)#l(&YZ-727vI=q$3O5uVKh5#wmf1}P*rYo3t`lei5t%?G zt=VfGx?69!S(lBnIdO#QP`92Kn0bu?L;j9xl2*Jo&jz~btb-2d%YzI@egFkx%^L&m8k0iz1tr-Yo~X69ih?ZUZiD& zzKBe$w;wr)05}=)3fti4%5$p>XAC6Xz+}4*oM{9#Ne^Okc1hl`j2$V?ysM%owhvmY zT8U(eZR;@CblS$iK|k;3)qq;Ddw1C`5NkprF~VLW3unHYun=(s^S#q%zWWi;rfKBx zf$k1*W(6T`v=(Rb>=#{dIny%)QI8PBU$1!6`SUud`wRng{_@GCm-cjhYE#6V}#hLL_ z^gYWnGZiMZnV(o`2}(%3z3g6ntDanUu ziF<+u%CZrTgj&Zb5y9eHdGU?cjn7|u-F#(w;|=G|JI+n-Ez76`HF4~FPweO(y#m?4 z{N%7YGFgM8JU^|WkCO*pyDflc*Q|Vs!~s#I9cayyVek+{veqs?l+q_a$ac(4GFLurF)Uj$+dklRwc7n~&G|1E@0tJb$`YE)> z;7_~pmK!9&z~b}K7}3kZO_9jqYgpLP#>h}rY;X@_GQwuS`S-UsaMZ}wI&x0}>%pS$ zaW~hSJ1&u4fv7#`J}6@z1v=9scCkZ`kNGGE~lG`AqE@kHU{#K+`y`ulA)? z>_arE&zfo(BWMzs199aiA02TRC#FDH`KcaIqZ<&-rNST+Ci(*xQfPu+ahhb@iC;mA zleqwm=7!wiYVI|k5G7o=MC_LnR~QKUxcTO&2}Wn?uI<2yB-~WD0!osS<~W>L^_dI} zE&L=-E<|nqqf0s*Lu_;#aR7f|!6U0iwjxLStO|(N@yyr154L*CGPLx8-i@QVWL-F; zoZs1I2Fyv!R$*=XA?=C_NfVDQFkD|Z)WkH7s4-X1;cCA>^e`0V^*VXI0c#a`J85EI zv=HXvkU>TZDepB-0GC+p>MO)w7n~Mmdy7IjTmYe1l*7^+mvp+t5}J;O=;yoX@puF` zIx+_HUT%uFub?jq%@wD&;KVsKlA;Vz!B``*He)()vz*84hW)y&m))E+I(159rl>C>Z8x$!lP+7%FgVpJW?+X% zEk+5kY@R-4eipGE@|QSXVkrTud2~jAo{yo`Ml8Z$2)~VN9-NSIaMfWR;yX|F5GK(a zmwuMkU8C!`KC%w^y%Gy;IqcA_PB_B8-Kk!nc~xmyZ>(veQjcqnYdptfo4S?o80lUa zHn}NHM&TtbJ2i#hwvLDuaa(0EYVKh6Qavwbb;6?p!b zqC@>+(Z(ZtGaBZ4?2;KU?v#+ei?($6@@9bAX%#LirjFZ4OJcapJi4L}#zn(r5uzbN zULaA)<%-Wt;w2?NM=6ruO77CaESf=76ey^RYM4J;j5SsbVsR4v1?NzzE7t0fG6xT4*Sl)E2Vmgs*Dn~S_QX7#SVEL zIqcP52*(sd0O?GFN2f&r3t%sU^}UtO0Q4**zA;+eQlYGi8@gdVW;c3T6#wQJ!7LzU zSYbla1H>iXt6J+HM9~|doN*01F_sB&{+(L-THdN{l)V>GLi9HCjjeC(?)ay-_O?8~ zeVqM*Q$SJFFkpYC(YfQfLC)LT7f7hqey4LReTw{EU4ls@G0MwePv=zvqe%ry8m6c_ z1%GWE;@B*|Th1ZKsOY$zi<&vWBd?k1;B7@9y_k*oc~}T-r74OsEJlmlg;7h|9-mk|vMpCUz3H^uP+QYy|M$Xju*g1`ylCbu; z)W4RwH0sg}3+Gs=&5oQW29gBj`y`SoC3($3i(ObwwwR+-vny*Nhzc=iUmFRujFM>~ zMmmOac5fB`^v{mih4r;OyKR&`J7Fsjb!%51BBMa_&%pYM=#VY*70T&`&S=>kp(xDZ z?*4NRj@KVj8k65MH@Iv&*f3aoswk6djKp97JHXjH8bV7-4gueV`DBG3VS$r(a6<{&};5=iQxw@hHPZ0i(JW-5Bnb>fN ztvUy77J{kLR+vjLBD4=iTAV(Pd`X$R-y&+g>=TQ&`9vMI zg2Lm>oP~Q5`$6?Q`@`pM@5UIkbXb4~jhZ^qZ!4-ahuHlp3p*=)tAVU0AgUA8i6wp? zbr)eAw`m zycQhswlyLC!|m(D=9M<89Ou%Q^RUmpm=j#d1h18t z;X+v!X4u3@*^e^!tsJ3LDv(Tv6IL_`j3l1nxX*qlAU7Yk#rwHUj@{s5gUsqaBe6JM zBj0W*d@lU~JZ06gM6dxwFjZzvy^`BIz8*^7CB~bWq9co1oN!rhkWh`5Sl^(~2sEXE zKjScRqSuHiH7cyUJ^{$gr_yGu&woO+bvm<;gZo6$rMqM4YIl+kQLH z_xNQfA%Y$9+u@!Sx~SZ$`zk7B7#zVM(F{cjS}-h4H$XgE`Iw9feimYMcL%HrG6%(s zpp3>*Y%OMFwcmZzV+#(kjkUvG-t7+IUnym|a}7I-&k3{HR-+J4UfShwseOPUlw#TF zP#i?!R65l-v5KrDESH8vxq}_2ca^q;R#?0t##UD?lTEY=`A?|O&RP;ZmPV~h2JE$E z!~|oUx~p4S;4InPLLof(q)-*jXG9!*%&m)SA0tR@IRtQKq^d*Q(Ml-E5Tld86{_Wj zPN~bY-V4&~H)M473$Ve=CsEQ(!-%WV5mnWdzjEI_L>-myBl@6X`2iH=D zU3Ymg5}Z7s0!B(v=(Gx3ZXlOvNS;Xvvw_W;rqU^O;eC%|!g_SkTZMf+2-9l{!Q!c( zyEv4TQl%i%zv;?y^CwQphGrgg+R{h40d^vW3l$kM2O-P0ZkJym#KHqLWS_d)g`Qe! zyD%K$h{gDqs@X`1s2P#>pP{~sN-LA(g?CURC(BhJlL)a$4|fh}%S>B}i+7ys7A6s< ztgaXsj}}*`*-BJnSfciJN{X-MJJBO(LudVQ^~ z^Dk-%3R{Z->Ky`t>dKE%7)T58A)^a?OeKSzX}z`H!s0uFN^5yKvtF|f0%xeMQN4V1 zw{=jts`MmlueYm;qDI5+#_lQ9&X<=P=)2gY7Tk62^c;P$*n_cV9*mbr7)izT3L@~C z_*wDUQsDXkyl4;XN*@ltmXF2gIep4OU~b4S7b=>NoOD{xwZY$V)ibszDJ?MS2PlIf zvfl#8XYoq`ir8+{xEoKsKqZ1TxC%A9%VyJ8^LNg~y5IAwQBk?jhoZVyGn*YT=W6tW zeF;aFGGzY;8@&9&YC4c-$+{#hu`4Ibxz7CJyRdiQ#nM-$n6x+*PHppCWBKvi$*sOaSdG=04Mwk#?n`r8+&Y{;TL)Wkz+1Y`l1|4p zm9;|w^je@yX&8bE{U!koZ^FQfB%Ea3ER}D~PLXbI>MWd~DdmS)me$MeecL+ql~shT z=3azpjMZHE6>JUD1)9l4GWF^?*%WqqQvUXaRZCwBX10xzH&VsM{6}TwP>*lrRHQ~n z%xzZF{>Zp(mBc2jnKsZmLZmg7uGPH1QmL`$DHqJV$&JIHfeff8d{o8z_6;w^ai{JJ z#$n;imaPQX&K*8m9lQ8TBmPTQS?S1Y90g_-Lrq_F_*RuyQvF0uJ=JTP0iuHAryFvd$b?tz#0X^ zAPooDYSLR~yEokdJc!lQQ4#Fy0N(nW2lKnnU#YVg(}!^Ej%x5XkE$g^cSW z6kxyTu4A>H?oF<%XT&Lv6-OgG@ zzt+qWjf3pHaet#vZWa=Dk6gz;A}t{7SfT<%Lu5Sy%K+Aaf1EcL#AJ{aj+6ePZhH(C zF!#xHC)bd;06)IUOCNgo)7{yGrgLiJ?DiHcG|8*8;}{Piy#kZU73&NT%q;VkF^XDF z>#BpVEW#Z;fhbCXZ;aIE$n$Y5N{(Yuyx0?aAx;!_zoyhF-SRNh>QsD0-hn*DgzRe(rcI3hk!#dC--nN1f-JF^N;Pc2=NF8c&?_>|o+bmQ~D^`tYa!+NWn zS%fmI*F@#j1}BkVKRR`M0|j4eMh>OVzo_a?>Zk}_)QU=z)IF7&*3e3%VVBS--BhLD z@ZYnIp7iEB?+;E2lpHVs+z>mCqAs^Kq34JLba{lIIg`dySUD0)w^30E$!mIqL|cdZ zoyL6u5+phK8tU-YDNvwRcbv}*-zF>s&k#>+t?tN#!+C|8u_qy>>*b-b$dK}xj@?-< zjV=_}ecK*A!0AYKFdnRx_7OrQ(qn00^;QB=$K{3V(pf&l8tveduc06dim3VOZQ^i> zchH#;QBT4Mh1_7y*+9RTuwAy*Q-#0nHH-pR^VmSssHmTPkXMMa+@`C#E?;_b?Ri%R zua-}SywM16@qz)FC%);n_RiFVk&bGo3NopkrZ3!)78xdrLIFORfa-F1+e8mA3^FaU zC7h)iWa-0MHo7YZ-z`7Ec+IqjfMEt1R^V0Jbzam3#}Vl{PwdAb)z z@i6D>0ggp5!u;?Q=NGK0TGd>tM zl0S|plOaNY#w6N8n>>Ea48Ao_fVA!m0rDxvuNaI=sKm$zgx$6`De1J= zcT0v0Qip2@p=k_XmfZADFlO54*~my8e0@rDO80B zj6lp}YmCj31lmlTrUT0D7p~<<%NTiwV1C>e!yR?%s+V67am+ z6s%=oilDbeaJ4=~r^s?4R4;CE%Tl+6A`)ukbYH_mqAIGn*Dl{U#e{tI*0{4o{jBG7 zU&ukCJWUk4t4z@eE;&L?JCtC=tzxzY%D^-a;7xiB1w1dzE4WEPAy$cnuI^EMHQ|C$ zXXL_m4hMk&gMhe{DUsH6KV8 zAI_wbI^I+&!fWxe;1n!B+#GBP$?|acq`Jw($kLB^+edRD5w#_eWXO($xnRsr`971MV0W@%_Dh z?x>>i_Tom1JLT==cFNjZD_-1=q?M<%4UuP=m7|jX0&ywduSB5y%!NR~AZ#1FKRPv> zT%YwP2Olr#aC6q$tv?8IcO^GO=l71jN%5U%)e1#Rza;xOKC-QfNZWu~#GcsS*<6y9 z<&6o+Im8Of%H}J5T#eT?xR#{}XM7Z%6SJSOib+*pmO2na)VK16ic)0#TFot!v~4o-xIVtT}= z7(|8;2rJ~l>F#RGgi>rtdxC&jgJ(VTF^oP$%wVTbY{)A)@f~E_f4k880K_4u`ajZZagSV@ri5l_GY$wVQW2o=q8(`it|I zm=9lgT{OZ!R$dYj-d$*0)IoU;;3zMt^uZ@-PT9a4ENRfS`wH`;Q?4vE-Dy{ENbTlU z=_?Lv^(FWbJ00ct76h%sI^$SWbwBFsMwNWa$d{Lx6)NJA9D&-LuwH$2Ogzp7Voq-p zQ_6uk(#YzZxe=XqD2C5zU{$$Nt7lcNn=JB3KZ`CV3R>7_ctSE_Z=sDHj1fdo=YspE@0LnOa^@9tD1^U^3YO-Siuc zvOvDW__I^(M@8ZHz<{ee?^Ad&#+~Sf$elnRuCSat=x=d4IT(X~D~OV^5OnVQEkh-A za4>h)_mjL5{Z9p|`;OJZC%S2_6d1a5ex@Dq_cU(wZcCD>q);mFkJBz36>GP>eIkLN zgYRwZ#%_z&A$GSW)@~uWRXdlPxUD`r1!oK^hVIBO(y*tt9q1X3JUlB-5#$N7KN znP~MCTpZA8+!CX1SAgoW2A)v0PD)*98bRa&TYY_by4-8gDGsA5+o4l;B4J%_|FWIikiGZ&6A8$lcnD*IQsD%y9Sn)(W zuC~vt^|Dg~8lB3KoaUwoF2pQ$!_H26vK7Nj=_q>}p;lp|PW@;w#B_lEa>%VMS0z%Y zY7t+onMPILfQlIsa1zTb6vJuV1J;3GmuOUjtNsTop_5N*hhWy#_c zlM9XJ>tR`4;5&Go9Q@m*F@b#cPw1|sm9keB2uVgCv9*4s=&`_?M2W3C9QL-|r^_RJ zjKt+~9b+ckGQiMQRedO;QoguNL)REHGsFHJG+m0d*x>|m>dB4t7qBH8ZdAcK=;^Vv6TIN(m5$F!Z z{7`abkZ84*ugg$Rc;*R^N{N=HT6-fAXZ2+e3OLuOv&2_pAs^pjZ!ez~uUq{#cyV1g zWiZb3Cl%;w71Y~_eN>~AH;+tv3z>%goh6~7=8)8t#}hk!^%Ono(VzEN=cfnNyydn1 zM0$l@bAe4&zjZIJL^1HoWKxlbm)7Ky)-x$`+YLm;qq5(F^X9O){KRu@A0C2nX2|$- zGdp>QC%2b!(jm+t)r}?fVC@j6BCqi1Q=p1j`07G+$MFQ)TeKIJk!@~)CLYXx&S0IJ z+&wu%IY_psBXun!JgZXV5VIN?mniShl9y~9jv+Y~7vAR?l0$t>zjk_l2{Y(4dV(}Z zwT4{TO$Vil?;$uV0v5abTQHn3>gdtgjkn<3!b{3yNQ~=rdU;v*ShgFb#5zh+G<JHuXWo1 zv!O5zWZG*d@Nc5KcMlalcPp;-p@nEq>}}aT>JnQp!DZIAPp@O=cAa~crV)qgGq|Kv zd3;h)3-ceqz>3VcmNBwHBCy@n<~_4_)4((Pw$2u=+d9nHy(mtyol}-dw{^C@hVcJL z1yJ;p_hIIuaB(c4crRUgp%U80j?oh~1;`%7sB|cJU!5J;(rq#n>bN?e4=op1e*(X* zm7vwwz0I<@ zwx-S=Xl6dSE6`K5dXOBdEDoV?jQ%v0{;pH{HQ~l9{m#mZOMb>mNc$N3FuELbH9LJI zN`hLLNvwQOqSRXAtk)G`X(d-XDA^o~U=!@lGd+CNvL5$3E&cj3xZcc@)SE2f2R|w}0kKlgyw^3nR#x%| zWg38WaYkS71d%~8s8<_D8)~&<Ol4=nQl`2;HV;i}j1%EguH1GLCx z?tB&ih;nT$I<(IG$c+(h@qtF^j!2h3+ur5Azz{0BSDz_rb!}&}IIiIm4Z(DT-ez97 zqHPNsP%v~Xm@c4*C3u#4F_2p;O9hDq142V@pqBg)N4D&o)!N|gUGB5m?&WuRuVPEl zfw0dQjtQK#6VV=4IV;YcLJ|-e-r3nnieaY@1mI^OPn-(0J3@}Pl%81Wb^JxI7lE>n z<>BjrcIe9yj!6B$6K!1}2T>HQMaS6<_p<2pijxSKhP{2*32Hex7Z~GaaM?(mMaKlh z8!1P!vVakA7;oytre^X(sEEDVxafW+?b62!YYp~J$NMK+_fESVl>T&CFU%@)zd2W! z8S|=tY@)6y&TxK7VW%cz?yKBME%lUIIg1{a)#x_%Wyf3%4sONN(9s<`3EG~aI2IX5 zrKMasZBTPw>y#`}&o#o*>}UCsgT1Tdd;xq}T)P8yBqAd)d-Y`QplAcm>9$aV)Lko8g>Rg(cUtJO2MKuLx3T$EIqQ6;XEt6QjWDGas3b7eomCQ8Ab#))w2 z`@5c->S0L%7OK9gYb!EM&kDmo#Be z9YXD+eOP5_m8*U}v;ewGtS`b+Y|d>HT}-?-VIM3joOunZ9BspvRY&ioHob1m)yPX; zLkyvT6%9-?HSGA}=IP(TvBr3v=3R;{8Y@|P!m`ut8S7OsdB%z#^`kg4i|>f{&=k9n zew&?+dY7juiLuf=2{YVn72AdC8cwyeKHbN($E-5sN#wF@A;`3LIi$VTiVP^L5*8@N zk`VCi+@|x_qL9Hh2z?Xa;w{2?eP_=Kf>lv2jd>q@YEh7O9TZDaeh5zx4p+oM2=$?> zGOG@U9A8X!4l25 z2XKYn{LzPI`$YYgV(6&DRh(KsI8pD$6`>b)w7geih`o(UdpHnqdOM0o>|kSH%IJDv zGQz>3jyuGFa|SiCmBZGKYvjdxkMXJ>BCig6V>eewP0&3e z9e-acVeCURkj9`rBP&{umV)p=fL*1JiwNT!wX=Ks2+2em06y1LdSC0pTdtY}N(8kE z9`L`|5ew;-n+uGR1$Cx|gk%_*3HXi(J^7=&r)8+}ns|1^ScpHQ*)N}OdXl%SZ9iUo zqaaK&!0rq%oO3E$8RefFhsm)}$|jHn6{hbqa4*GYMEb98LVK0MM56=QN3*eaYILx5 zX2Y*KR2{1eFMrFzS+a_(jRs(s1)M}IF{~z28td`$ZOIe#+blsUuF>gj1d%>*R|}c7 z43g<~2&xoB&uL#jr;m9M-?tUyV?`9zTA&E*NkRV3g)`;LZZ9x5;h+fot1<~l@QBi7 zTDomrsVeEbNQH9wFD(2C*(#3jJrvcw0hyQ<2ae8v2)AZ|1qeOGTeDiSF9i>_Wdf2j zTSXso8__St*{kY~DS9C$nQbRWvN-kDC{|;vOKPp`sB^hi z5RBIc`Z|@G6t=!|8o~wY^FZ}kN$XlYWSuJbjC`T0U{T>hfQ{`DR=!Wliw7gHHnpZ} zLC+Qg(r*wQfV5TM>y`jdkZ|=y z8&-cl+^nq+k80D%LCeACj`$_3c`5D-sj%tmR@UmNZFfep`wl9CMk}Wrb;&?ovNXCR z;nYyil)NL;fvS9^hq|K@PjF5~FTC;%7a*`DsXNwm?cF4(HIB$sO)%jUS+CKk$4xL2 z3pyZKXH9a(z!_0(j#T1YAet#vlS#0x3`ci(8XmBkTJ9bGknM65lQ@K-($!KFXSKHN zq=~*>bI=>9^zuPu4<}J!8!v_zhEqcHj|6kQ3PQCLq4v(8qw#Yn*7aero-s#PTX=HZ zFYDXJF{CDpTx;XoWLcB&S|eTI{oYT!766`9b*MG*xF z=bhYDa)wtKI;I@M2$r&>L#H1~Vq3T9EcLH9nHy$Ia4Aqu)cTVuM~YCAzZ>RmSnSL= z9ug>o_`EXXA6CF*kl?6)l+_5~B|~MdBe^A~ zG>z7kO`h68kp`5hK!6e|Q4*V9KF&>FDA$6~`irFHIsr{;mS9tIbY4?bkhW#0KFPBp zEUC|}+8k}6!eXdMFCAvcqqb+AgR;6L2Ss;XFERhEAjdMlfS^;W+kguIpC0Nwou6O7 zH^-){71RmB!5HDC&~`0YbJ)3VgVThaZ$sR>=G$l+BuanC?nD(-pHw_)twZVwa|Dbi zxj4!^!?Ylvun$+kSn|^m=}VJ@Lu4=D@t0Kqhps(3$s;8re_%=Ehp57}j!XpjO5`9f zsQsr<6KlmPsL_aoH7Phz@A?w_cNV7WY++2T!(^Q(Y*A-6)c@*jP~g?_2`=Rm&X(i@ zgr}}qx|V0jRy|O*A28pYX#rA+ZtcV&0e&8#AD>PYy2h*8F`lE&O~62)g`0K50_E`4 zZ^{0a4Qzph+mw1%QYBLJU_B42z|aoC5{|=ND)Jqc$Cm6Sh@`QqgopblmmGksS)=tB zLm=nO#XBA1%Qvpv#Z!-7T1oU0q-?SO+(%JVLqu|f%R@^$Vw--H-grr-Nu%bgEr+Ky z*dS;lr-XnvpiGsqB!3>4k5{;tSuOl;!mArq{zyCGmucLH4^)CcL=uS>O&J0$I^>;J zwejq3s1=yuEN&b5&yYh<528uZ01)8xm`C+RP_L7(iVG!mw-(qYayEFnY#0kQ9C>8W zEs8bW`?8DtaP>HR292d}8DR@g)~}IT^M$m`fMnLl_XKj(jC}p9^JmO)Iz)?vdJa6wxYyk>%EGVaWwqJJ&PP13Ph00vx=$()=%Mm=0aVPt2D?G}ePELsD zFyy6y9@?0UCF68P0y?wT-`N!v8QV}WFN1g~eHLhFsY4V??yL*C%ib#6vbbWGr#Iem z!})=E-i%8}^Ua}3 z_Bxf3A}(b~YX4YUzoCIpH87hs(WH)st!Y$pP-$QAe@TCY|1Jm_elDiJW`;htbYeed z60Jjst>USJVYbroXVax@)u+_?l&_^D9ER3E7;Q1sDJ6a6kqcc5sCn{$CtYmiw$gJz ztfgJ<*V_jOg#=uDmuE2svq?`0_Lf5($Kf;3 zns*!Kg=_#EMe%(S}~G4gzwhHEo273d908yH>jNDMb3-8 zhocC<{ezv|R-|to8O^bc@X}@P%695$4zs6-W{jIvH15gXuPB4R*=u*n$EEv?rO-|L zb%)t)y-HMI%Kihy)fq9VMyI`kM?DJ)05dHTh}d7ff|YIgT)Kkr@aPIEBXq|mAM9-% zN3J#!+C~UxFYR())jB{wtJdTx6xJm|ZRlZ^uI>4)HG(y2S$0yh1bC37|EWqNQDKD%u9_ zGP{gP)ak(0HfKCO`V4UCg5B;Hmk!dOHL++J4_HwoX4qkiPHf6?^$it4R;}hiVCK*n z;J8^I2bC6B+8(+C#7|w)RUIqL0ETRfH67W2BAx9#=@2MuqfYg$Q?bPfDkKVMy87iS=HijO zFcCGnh~hffMkya5)pq3zU9iye znj)tsD%y`(MCzQPf6{Mg?5*IUVBrr!O^~qJdkqh?lN_OVHhFX8@T4$g4TQi%H1E9O#ke5Y>@w zAs8`6!RX*IzQRkO3lD1%Nw;%@OsY@zTR#*(wlaG~*29jJ?*anBAUS$4trftMrM8ry zoZVmvWnwwhoC-@4ynv}+$4`yScO{#NY|@du2`u%Pk91wKX?r7?XYs0b;H#C#xgB9! z@p*#vz)CAviEwtdds25R8c=1D0_ed%h1( zpr|>%#eC0-_H}+*LsBgrse}+rs~)e|>Ts*wdvFpR2cN~+Vr!SzWFB2i$UN*bEk=IQ zHZFjX-A+o3_x+#29D}z5k1fJ4*mZVv`NrwpV7+Tj7pG^(S*ZxRxCKMxGTL8;>JC6P z%_cYte<1=b++mMB4Dg_1HRTUN5;)Rh?ZgOP)nNWu`^TbDtg{9Y7D(X}NT4}95e8Y+ zya~h~Dsy02^xW>?oMTaMdD*>r!;7n0LrpQN{2Ip&jwL}^N7b4Us@3yw<)QuvvVx}p zc**G%3ec&Q)pQa0=!kBof<+f&EEt7-F?)qPle*vm+SU~=h1&^J=NLs;XLKHHoZN-y z3S|jU(N|novOI&lhi!>E<*Ek=>x=92wz~y!Tuyl4V3BZIr&AzNlqbW}`fxQ(wTQdZ z(`*l;Vz}*7g2A|u4P$v zFZ}m){JAJQ@}1vwuX}47m-Nq_@b~D+_-i~LPp-`_dNlrd=idIMC$qcU>#is7e$oBz z^ni;Vc+rC{e(*&Px#*!6JyM28e=Z7Icgnu_^`MzuoGrp8+E*v-Ym)Z0(Ys~YwMqZC zC++K!_Vr2o#-#nCr2WkB_3?hsPTJ>^@wX)HTa)%}N&BTq`(;V{yOQ?HllCi;_A8V2 z_a^OECGGD|+OJO9uSwdkP1>(Z+OJRAZ%EodnzY}TwBMApe==#mIcdKoY5z>perwYH zxupHJr2Y1!{f?yl&ZPaWr2X!s{hp-#-lYA$r2T72`~6A#14;WglJ*Ca_J@-8hm-b4 zlJ-ZF_Q#U;$CLIalJ+N)_NS8e?C+#~Y?Yk!JyC>~?ChdDC z?fWF{`zG!CC+!C&?FS|8ha~NXCGAHf?MEf;M9F0 zNZM7>?k4Si(jF%5rzh>vMfV98IJ+q8MeQRE3Heh||DCd!BJZ5tEBb}IWY3D)cg=2! z+IP#|9JTMBeIjb#BfHy?@CWaiJtu14E4wvn-#dF-)c&UIvr+p#**9MtKJS~eXGQJ% zX4ggS`(ieI;r?FneO8k$g*bCTc$@dsWnaaQ2?4{gCW)QTw6UgYF!@ z@58cDj z)P8FAXHh%P9&z{Zc}2Dzwae_KQM<~1K5BQePetu+c9(mE&+BEKsNK&dQG1a6aMT`V zzZtckmi<-KetPz#dxp<{M)v%u{mkqKqV}`0Uys_)&i*25KPP**DC7RmD7!3buVyca z+H2X*M(y?NlTmvkyVJe>!|;#Itcu#lvvJfuk-a8rZ)G2h+LvX29knmd@^1>Czn#sa z_Q~wWqV}omccS)Ac9)3Z?Pkx6+E--fqV`_)b5VOg`%Kh6$R7O7;rpD<_M`Th>{U_w zZ1(=BeP#C5sC`xT)cc0ddu}$1+Rw}07`30DeLQNvAiKx?!u!89TaVg@*=2= z?Q!yhBV%Yn z?*o(ew5?SrI!I%%It+GmsYl}Y=mr2X8a{k)|8 z{G|PYr2VZ)`!H#LThbmU?Mc#}Chb|$o@eg`i@XR|MKat^{BzfguRFZ@rfY9JHq9P) zKD+h$&awR1px^J8<#;&B2c5j?=e^!wSX7f@Ht+TFSvAyQ=g!Y&^Tn}ij#a~BWxpr4 zRI^Ss?@qeo{&+E43}*e|pi>SP#Y}HFykUOpb=OV~Up&A0+_g8}fIBGO((-~*)57m zF~BR2$8-BFyxRDd>&_pZzwIWyvFIKvJNy+mYeWXMSiR^n2Z;bNpDaM^X{}W8;?8PUUxj`j_319i5i#kc88b<++=r5%g$n4 zjThBqTFAWh%E<&pv#aqi@5?9Y9sY*0IyUQ8d8a?_4Hg|dx9Im5gM88{%UQSV54v-k zIovS0@y6@$6Xoz&XIxANgT=ht8;)m_!7Q)JqCcAzz2Tsg@3Nm5Uq360Z!ZR8nY7{< zYS%4_yy{lHGRMumVxBLiIm+1eyMt<0*?Uc|KZjH3>gB1*W1U$S(~7)_X7>BdOuLJsoOa~fx(lpP zH~hJ)r&IZ^-mzXj85a3`QBLvPNw4hZ)uPuMPUpSxpx2p{`d!IS6=na}027Q=olX0A z(|L(^n*deIMUExK#E-1*5d6D;uUT-q67oT6t7cV;F&Z3%D^KpM#Ogr-mA32*%hSg*->Gg<)^B14HO=+q) zHV6IAiovwM=nUuG{w$vWD+^343QSBv&-&_DPp^BSy$lEe1OPJX_NU!B=5f*~%3d+a z7vssi$637Q`tkXjuYJjc6W?Eq=hFgf)5YgixNTD6!5z#^F&|D0Bd#s^KGR8W-0Oo3 z7M;bS1clFg-F%h<--nCoyl-fC{dqnc7%;~NcLu|0Z#*mJWp^^4&w5=vr2zR(^zCo3 zOdxxk9#CyDDTifmijt1w@giT$Fpb>;d=5+7(>rc*E0q^Rykf6E?t<$~hWOSp?=3)j zC2(Ul=-cS)?a_0*L^0^%f78V{2b%#~>n-vg(hGoMeIw7CZoF9-h7e|_tS03&@6PcK zU7&s+6N3$#^I}#2yA8#V6ltS}lUZj`^as;%0Yd4OBq{reyf^8WU~}UhCc9HjCxc!E ztN?=nPT*mBhkKvyU_4ojiwTHi&>QxPd|Xbu0oB;?NPJM9$kQuR+D~(Cqqu; zQyhB-^sEZd)vRAthQr7Z<+p-$V(~kZVYk~IfSDpfhMAvt!Ia0v*w*OQ8RxN!_bj@g zy?!<9^oM2D9rxy4u*brX(Q|>SUo6Ipj(p-^*vC+O=WN)U%&G7|OC<~w8HQ5qyfx&#*DQfh88>veN^u z0gD!>wIbrK<^qcuwicIQdGkqE_)WK5KvECK6Z}BgCj&b-F*e|kYtdZ*S-TwwR3QAc zQ!Zv@cZSDLMI7rdcrGxU4e>_(PIovgrt=x(bQdA@F&F@@&lg75o(s(9!_Hzl9hZHG z=6;0?)OiIZ03S0OE{284kBAHO!O}rWP#fm+K31U07oBdmUludS#1gv>7hNT6H_!`LvqOUpdA!<`pyv^6Q$( zc-os`t?gADQ9~P>J&Y&rWx+5W{X7*>46XKhAfHm*zXpzyzCCav*z<<5u05<+(}EIXaf-1rWJa?OoF9RsK_ zb1=g3e2@`Q^SV7x$eENcn+1BFzo##MtsG4B|yoS*h>^sMU4p*2+y!PRgGokfFh$UO zh1o~)zK}VdPSojjge&#HCZXs;V=jy7Vo@!set$TffvxAR{HpN;YUT{9vM7rR>QM*k^02>{ z+xtn*;dpuozKS*P439zE8uX{r;S}q!n2jO!pmoflmQ806Q#2X%rkT5|f{{=_F`7@y z8Bni3Tg<@X!33b$Kz;*jj7!R0kjMNj+%>=_l|bq46x1`zhmca$po0R@3s|_2o;vM% z7qs*GHdv;EVLq4$Pk?NhKt2O!ifIK>0{;zu?A$H&UGv4f>P>;s;8IYcrx3IQ=nX=O z<6==5TaX`voUZSxphQDyokQd9fIR}k`!m=c1ElrLr_f9ME2_M%@5{jvK|A>(pDv*G zLZuQe4U!muvb&x7*F= z=?ne01M7HL%|MtXFdhmY%ofvzyfts6T*V0OXp&a++fO zd)QealqPpVVApqnGYxv>bPkR&gVH;gK(-du6r>O9Y0wMqy1u@tn!=a{vj9^8E)ObE zW-*{?vCuLB(W% zwEJ_g!ameKtT=FITng58jDO0DhVO|tX7;)f{$M4?24XdR-0~w}3h}m>6@s z<@~kRojV+#!=kA@(}h!QGJs15Y76`fok0N|xGxA?6*;^H`8*S!ogThMe+~S360JFc zza+|X1b<0%M4&`D1WL5x2tqazH8_IMjClW#AY>z6a_JZEwLtMI3lwj!K=Hx~6z`}& z@oEbEcET4CzJ%~)gs&p}VSxxeNwnz*LQE3Xkv1NoP@-1yKKlL$2|YmC=#*%QKz&a@ zi546|h{(OCc(VJNAD(4j5{QraTY(7q zNY>90gnA@f=g3NyNtVr#M`xL2#~i`pNLI^{$7Y#iqa1l$rcuBnkH>dP8jYk!Wp5IQNqnn7gj(JyFwe602}Ee+g8~s! z`Ix{e%YIK_C(Ax75TTPl7ud_PuLwk_h2$9@VAVMP#6o`<>qXc4+E)n>QEUN@Q zGs~VS5FwA_0uk!CLf~_-UIIs1HW#>>Wj6|3!#WAXBELf5MwY!=;AWP+K_EgEZx(nW z(;Su~TUqvQX>&aVvh1+}fn1jeJd@5|A94BM1fjw7_r6vbPHyXW1_coZ$NePP6Q{1kSSTlLF^i_J;x& z_&$MGXW3s0ye7-OD)3tTcPIP@Vz{Tk7iQVR1zrcd6L>x7OW+Mz))#mq_<+Ehzy}0^ z$gdK3bCyj7;(PC$83YT_Hb_n(NJb%0Ug2X2fuh<5>L~9gzY=4sQ_X$5ksQeM*{+#VE5q_2M>x9ZL zG47tiUjXk*_#nbZ5Gwyfzw%GOr}BE2@acpj!sCP|3HJ%FB6NIp&h`rlUqq<<6~FT` zwqHT0d=}SV!}jY5mEYp}o7sLVq4Hf^e;3>DB~<>4>mOwMBZMC({1oA*2|r8tdBQIc zewpxVgcp&o-j(p)g!d_W zGr}(teueOF2``4AQu-&n58(p|A4d3S!Y2}5N>~vN37<_Uxux>l%L%U_JWKcj!YSdk zgf|l2Likd`mlJ+3;j0N>NBEG`{RtmJ_$b216F!-+AnX%9lW>i2i*SeVG~x3I$AniC zUQc+A@HWElB77y`_Y=OB@C}4-B76(s&k??Z@ZE&(Bm4m2hX{dYI$x=N2@_1OKZ@`P zgqIS+WYK=7SFWzasoP;a#ZbIDPQ}Y^z-fe0vPrvb#dQGbeO< zqU<@4>l=jIg!_cgC3O1XHEb_ipH%-($K8+b{Sd+x!Y2~KMAi3k_5n;tZLbl+#MAZ_ zgfPLh?d*aD+t(AGCwwX4_YgXJAbr34vOoQf$MX6mgfN};cl(4eZMD5Y2-8#B|GUrs z|C@dEWpGmk*csU_l4chPQ+HYg~YC@Re+J6h-cM`sW@E;Psmhc}F{v_eg626`ApA){1 z@Lv&rnDBQ9KSlV5gr6h)Z-ieW{A)sIx899>;XZ`lLih;6#}PVvwPbrpDB17AhmI4T zB6N1@^Vyyfemmid2wy_z?9+e1_NxhhnDC8+|Af%lrT>iW_YnR|!VePuTS8}#{zta& zD4yKjxJPn6A5Zuc!io^CHJzW^d(Q3kKjIEP$Bj$*-rqHyy^!w%*OGqUZG_)V_`QTb zK=^vXWqiqf|GhZw{)7)Dd^90kr}}&Dd%i)hHXr}D)9YtQxBr#!3xxlZ(D{w-bj0RE z{oCM6_hb7Zge!#3Uv!M^F5xo>*9b2obbg{M**+v(5MEDsp3wP+zK88s5&j^d`or;l zKf$*13;hDy?;`vcgdZUMEkfrH`uA+BpB&Ho&usr0;eRJ|ejsc}QTn+n;WrUJknrJz z&j0fywhKb_pW}C)&Gsgt^ZOjI{XD`6;kAS}5jua*-(&lgg#U=}b%Z}g==?nYlx@c^ zQaj`J^gqWpoSy3JjS>0Eal(^?`-D#3JAHM|>y8h;i0xYmUq<)}LZ`RBhHb|W-^lix z3ExWicEWGSf5X?mYx(~Teq!_b4Sr(t@DB17jn{#{{Tkcy$zn}1j2%TT| zr`Ucg;V%-toA6f&oj>>Au>Enu|3LUhg#U%m`EmaT+g~F*au=JQyAyshq4VE9lI_P6 zK83I%d>Wzi+n!*1hwu#H3kYX~&R=^o+qV(owRFAyZDN;baCAuVf#&lnn#2C-^TVY5xRKp zue1Fj!rvzRB;g+rx;XBivi(KEzasoP;awSO{Y(I?fF@%>8=7cV8`z*FM2)7CM z37<>o;8ud@9cg#U){Bm8bc7kB*uwqH;9Q9 z9~1s0;m;Df_~}1q`+bD}itxjPzeDKarhmxx=Lr8B;g<;in$X2d?{-&P&-)NcO(j|1 zM-V=a(8WnhwugkzAv{iaiqOSJpU?J`@Y@MrMEDXy7Z?2pY`>cDhY8X4d>i2}5x$r3*9l!7;cv73Ny0xM{4C+061x1szhe9Agm8 zegjVpKmWhBV;sIdp6m7$!iw-|gd@Teggb<12wy-rBYYv@&4jlRemCLw68-?;>j{6H z@GXQtPxwy4Um<)y;cpUtl<;>6f1mJ=2|rKxmxNy-{9lB3CLZ34@cx7kC44mDQNpJZ z{y**A3EWg;|1j`LsJm#9HkC?Q+apRvQA#OEQAE2I?F&(elu9T>WGRxOh(Zdbg%V1( zY^fAQk`k5TJ?Eb9(Y#(W?*IFLJf3CF=fiiddw%`qoa>x9bDe9hbIqx&&3bIi=4{P& z?806g$RQlY(HzGKjK;H0Ri4Q?oXNr`7zGm zY|dje&UBgbN`Ao4xRKHL(jCfs7~TL8wy$z94-2w5%kU&tVRfF#bJ&C}cqu!u8~gBT zUeDni!)W~I{mPR$jZgD=M&m}8D6imZe#CW*#*1!K-o<^)uDza%(Kyi}$|ZRmEASLX z<3rCjYdDm* z@OF;p1ALTE@EOkK0=~w#_#Qvu25#YY{={E+NJhM#4r2ix#nL>1m3S&^vmP6>Ia{+G zyRa7ratMcUG{aST@D(oQn|zlab3HfnJO0T1JUF<} z4qrbvk6=-j;_ zaS|WrQ+$puF}h#$4dr*ZhM)6Ge#;;DGY@hdnZbN4%%gcM%kyNO&bn;K^LY_3V<%q8 ze!PZ5c?)mncs{^K`2?TgTrS{ie2ee#6K>!ZZs$+@g@?GFJd6c+6if32R^q9w&3bIi z=4{P&?806g$RQlY(HzGKe3(-?lXEzqi@2Pt_#xBh>-hO*h4XN-{``%e|AsrbhcW$r z(KwGh$^}`RWq1;+usYA=Ic&lfyp$c-jeU4Eujg=%;a$9+lR1q~^Lf6^C0xPP{D|xL z6}NF0_c6QkQZD9a5tig}tiV%PlV|Zc^@b7 zaX!W8_!1ZM4Zg!Q{G4C%TmHbGd64s02J^8n!(Ukp+q=iIJWuB7tjmTxpBM2mcH))n z$7?v0xA1n3=L39{Pw*MeVL!&rbvu{2L$C7#OKtjES| z&em+lF6_mD9KvB7&2gN-hdGrqIfwJPh|9T(A95`>aVvLnFSF_Q%gMYf#1bsaatwci zDm=bwunwd9=9?72zE_zIWuO}@*Ixt^Q(9e?D0 z9<2W_H;-U+KYS_W<5`i_Sc}np@Qsu&U@Nxe6^!nGAD}##H*pllGP>{mA?3$7gR?o0 z(f#hrlvnZte#VXbhC8^2;lyd-@sNXgSdhh8h9|KKtMg2r!zOIOOWA?l*oRm1dJg9p z-o^VlnbY_*pJ(`6WZ`x#;R>$iM_k9RxQ)BGkJDrxuZML1NxUBZ(fucDwX-*ID|d1)vuSVUWL_3x36^C! zR%H#=VFNa0OSWN0c4uD>;td?Z+juu8@)1twEWW^3xRh`5U4G2<+|2LzBlq)Q?akag zf<;-1$Fm}Je_sfkmvIvUdB$mlKprMhw>KQ&hdPJ zkMapV!?|3**Z3CS<0ss}E!@tZ_zMs5z06@Oz@u22C$JJvWo_1DV>V}NwqqCe;y@1J zFplOpPT<3w%9)(Q`CP>1T*VK$mYcYhJGqzHTnFZ4UKU~rmSs6sWewJ012$z#wqZwh zXI~ED4IIJScsD2V5l-hUzQ9+wlyCA~e$4gU%fw`EU zMOc!@u>wzFO`gSb*^C$Sa&~49_UE;{kt2Br@8N@-!YBDGU*tl*&bRqKKjjzvn%{Fb zf90XBe-G!8EXHGaA}jMWp27M&j~DV1wr5xN=2g6oH}h8B$@@5okMk)$$CtR6Z}1(i z;phC4-|`0rZ?|-R!2h5>Al=T4A1{AZJ2QPe#_RW=-9PpF`G>Yw@8|S<5Ak~VZ=dfWeZNBdI7r{G5U+>y{R;7V_;aS|WrQ+$puaWUWEJ6yxh`6a*Q z5B!-2nKv+l`B<1o^H`SW$vmBP*^uY+B3{N$ypsKR4Ttg;-p=uSfRFMCKEt_Oz}NT| z-{U9Tz%AU)pZE(832w9w?`uDd1$Y!o^8{AnsjSUBSoU8aD*K!lLawqpPn|T9sGA|3U1k17 zbcOz^KO67AMcnW2i;uns%I15XXr8LWl?(7FmgWhp#8VlKcd4h`n9bRm?bwCAIFLg) zjH5Y@6ZkNvawg|+J{NI0SMfuxkEXq+1nXUSkb7Ut1BmgRXePiI{=~3%Bzp{=!3CPaVbrJc^}x0xR)U)@D66W^=Y?J9c3&4&)FH<7kfK z1U}5EoXI(y&qZ9$Rs4`^xrtl3lY5!X^;AygWg(VeS(al})?ghrU{kha8+K%O_T?bn zz!AKScXJ{i;dIX83w(u3`6l1x$6U|N{Ek0zKM!_2m77PfC`<8pR%A8S;@ND(3)qTn zc?ElN00;9Xj^bF}%ZK@l`J4N`Ao4xRKv*2lp`MdMXF=upo=G3{PSeR_B>K zhfUamm$C!9u@A52^&HMIyo>j9GN!ZZs$+@g@@$T|HT44iluo1EAdp;W<54$bGBwXc403LrFAK2*%d#A+vIgt00h_WV+pr_Mvo8nn z29Dru3@!`)tHyc#Pse4fRX>}!l{>kYQNLJD{XcnGh$UE-(S2Z5m20pL8?Y%`vJE@3 zJNt4FZ{P^t#=AL@k8nC?@dduZrF@g`@?);&W`4&Xxt|B?_sPv8Sd^uBJS(yqYw>J0 z;stEQw!DHpIe>$C6Gw3@@8v^$j59c!^Y|*4aV0p2H?=!AseJ-Png$^Lh^F7~aMEIhoV=G@s|oT*4Jx&5yW_UvV3EaUZkm_sPZl zEW(mJjum(cYw|3f%VxZom$Nf_us^TmjU354cn=@s6h6sk`63tcb-vB_`6<8P*ZiKl z`700A?{hehWHBDY6Iq$3@eJ1IdAyL9usyr7H?QJ#yqUN1PTt2!e4J15Iljcje1q?B z4L|3X{FXoPXC9>ACxiJ|m`C$imgmVlopsre=kp?7#!kGF{df(B@)q9C@qB=f@(Dh} zxm>{4_!i&eC)~g-+|Hl)3lGuna~KQoD3<04ti)4UoAub3&Domm*oD0~kV80(qdATf z_%Nq(Cg*TI7jZdP@k6fVCT`_U?qxRpJ~^3}g;;`RS&mg%gLT+|P1%xd*pc1YmxFi% zNANb@&53-3(>aST@D(oQn|zlab3HfnJO0T1JXpU^ZXUs+EXCtlk=0m>XR{G6U@Nxe z73|3Y9L$?Iieq^%AL3)2!P%V0SGkNU`2j!UMt;K`+{2iDpB&7?f-KH5Jc(6UooDhK zHem~1$`0(tKD?UOb2!KFF5b_{oW`g5JYVJ#uHb5Z#C80N+qjGSm|ee5F6L(umgI4) zz*AV0XYpJ%`31k`_uS22d8mG$ z!+9i&@fe=S$~=u{us(y2&GhwR&{woVJ^a<o zem{@$&-#rI(m$HPd@RhPc`VEGWS-8tY{>I@5iesWUdevEhC_J^Z|8VEz(@H6pW$3C z;A?z~@9`6E;1+J@PyB_4=pQ|d1$Y!o^8{AnsjSUBSoU8aD*K!lLawqpPn|{%p%*#S7!LlsJs;t2}Y`~^$$u{iB?(EA!yn!Ql z8}H^sKEmmo#TWPrm-0=%%a6I9oB17oG zuqMyqxopOZc{w|?2mA9{-pG->gZJ=3PT`Y$mM?N4U+3F=pP%vze$DT>o4@i<;|34s zku1hzcp@wFG@ilwJdYRh61Hbo_U2W*jyLmG-pTtoiI4LsKF621m~ZeMuHonWlHc+N z{>+1nSIl5O7Ut1BmgRXePiI{=~3%Bzp{=!4@$Jg-^X`aAJJe9RskB!-!t=W!U*oy->gu^(R<2Zp2b1G+Y z4(D?bmva?AaST@D(oQn|zlab3HfnJO0T1Jh(u-o^taD7G)_O&x)+ZT0EPLcmZ3nEw5lt z4&Y$k#8Di}d-)I_;|$K`Jif|hT*(jk88`A9?%*EAj*Qn&4(4G&7H1ir#44=LGkFf1 zumvw=2XTI)24%+{Jy&UNBxyxtO0tSdz!F z0#9L0p2c(7j2H8Ac4iOu=e4|%BY6k!;e(vQC;2R2jFoWHBDY6Iq$3@eJ1IdAyL9usyr7H?QJ#yqUN1PTt2!e4J15Iljcje1q?B4L|3X z{FXoPXC72IUOySk$HF|C$Fe+6=IN}J0;stEQ zw!DHpIe>$C6Gw3@@8v^$j59c!^Y|*4aV0mfZqQM?|~^ApAE zAw54)ydKi?6UFNxJwH*r9@6s@#p@wGKT*6M((@C=>mfZqQM?|~^ApAEAw54)ydKi? z6UFNxtMe1x?R)Kse1y|Ei!bmMF6EnimmhOIH}gCG$o)Ln_r|$-1dFm1k7q?zV=bP| zM!bNn*p^qYCkJpaZ{jG9<-L4}k8uWPa~@yiGOpwY{EQp<4R>%4W4s>U-nEc_fSR7@o+=JdNr8^!WMppVgoK&%Qssr~B0ga4>J;D30a5e29;624`~~ zU*$5c0N?8B>hJ%@7)@8bQO z%xQd@&+}z2;R>$iM_k9RxQ)BGkJ;U4mW%mWge7?#EASN7bx5NZTtH_ zZF~RIwr6sZ_v@c+=U@GN3F}pcC$bW&u_o)X0spt{{6E{izkB`ur`K)C_VeF;UM}D~ z`d9TQ{eD0Gz8rLCXO6=ShS6vG-@aed_4D`kqo(UWUH{?lG+pU@)R$NDKmEL)KK|3k zfBN{3g+Kq7*&a!^PvZ6Pq5AlYUvLY*<1YTpY}%JOcsP@_JJaW%^!exC;rx?6PP2BL zrt2wPPvQIdAJq??KAzIY(?9Zf`m5S8$7<)KkJqdnuUXv>>H7TN)n`D&_1Kur8I8+mr`(0TIFLg)jH5Y@6ZkNvGWr~uqdcFBxSXpP zUALrvPd2`PmpU({e@`}EAL-wdjn~7!%J0cW=cj*E|4Z;QnwjUdpb463FkC&;VmyY? z_nVcKPvaS^&+{0KU%W)QJ-f0uuVU11e6#Ycyp#8F5~J}OPbojgm$;a3@Exw<=lqi2 z@&`u!GY2^zWH28K^Jqrxnexgf^K{l_Lq@-Qc9HUB?8GbCkI{Itp~|=Lc8=!*jK+~Y zq5KTzasgjsG=A(oV}NwqqCe;y@1J zFplOpPT<3w%9)(Q`CP>1T*VK$mYcYhJGqzHvd7<7IhmJ*Sb}9)j#XKMb=ZJS*^+J8 zk=@ysgLnf+@HYOV&o6bopZ-zf9-{NaFnLGu4vyzUPG)qzh}uX0>EjA6^}dY8e?`Be z7~QAR-}BLV`^n>HAsY=chlr zpXDs)iF4VE7xQv ze2s7MJ$}Ls+`{eriNEj=zfXS{3-BnG<_WCCQ(2q!*qF`Pn(f$yy*Q9VIEe9!H0<0FPp6p1?{xm9<%qjoF;7*^XV+?Kb$V=FsUD=yg@jBkjTX`q%<0L-Lr}!LS;$ptR zcesY1^GklqANVs53ce5zkE0CcV__c6V_BXj^K{l_L!Qrzco{qKO7`P59LigGJIC_@ zKFTNf4CitIU*lVRkDqV@w{Sau;x9bJyibR*0FPp6p1?{xm9<%qjoF;7*^XV{Mq9ILVh>#zZvvL)NF zBfGON2k{1u;BCB{6Zr_Ia~5CVD_qJq`7S@^dT!=-{E_>4u-_TV%_CTprFc9mvKnjg zY&PNrY{j;`f;~BagLxB2aV+oULwt-gIGgkMDwlC3Kj3HF$ZxoVdl)MmKaO%R4-2w5 z%kU&tVRfF#bJ&C}cqu!u8~gBTUeDni!@GDtCvzH~=JR}+OSpoo`4QLgD{kX1?qhbp zGn9+@S%f8d94qh?*5p|{m(6%FFK1`=V1HiA8#$79@E$(MDSVR8@>wKH<^HYAo zulYT9^H&~PG=4lC&Ldfj$M8f}=4m{G^?4pIaS|WrQ+$pu zaWUWEJ6yxh`6a*Q5B!-2`JJH*=3`+V&0|@fC-ZdHWka6Ni+CA3@k;jNH5|%Ycss}Q z0Y1tn_zdTA0bk==e2<@S1GjKHf8sAZBp5)GdHv4=gVBe6{>np*hl=hS{#ThtESl%=PV09cC-HGU#b|!Rmy{Rt4Zg!QjOI1`Qu$l{z@K@L z@mL~8?Y%`vJE@3JNt4FZ{P^t#=AL@ zk8nC?@dduZ-+!J(=jVU5^KG*AO!oJ`dj0>d*G+#;#XtWqbe{kJo$oUJITf$RKl_|Y zALsFUO1H=2^^k6l#p@y69*fsQx;+-JhksOiY^iqHn|$|A+G)wo&%xI}nb*ldcUh)o z81;`-Qm)46y1A}$12$pQPtsbsEj#l{_T|;Qj>9;L(RK8A<%yik$2pU;8C_2=P+rPE ztA}LIA03Xj4xY^HPYN#nGuw?}aK--D^c>K>L*RgZal1y326P@YAXc$c`vL7^6+86r zAFCMtp<rAASjB#wdsOVyxx>INZM*flqId8wG9S0^(4k-F zs}i4W->-eIE}ers2mV37UR`>0>p$TC`diQT9s31Y4g~e+)~j=rHCVS;#g4su_Uzm% zShoW)SM+P&GYG2Nyh+9O0|xZ#)?wg)@Rhps>piefu$5U})&`N`wL!Fm{Vl(U2p()~4CB)sB zA};LTit6R26mgpq;=*%AvhDpLA@1fBak1d|j9zzminzlP;zp#1E0Pd*ONzL%331^u zk!(A{`Te8y3(t+o;%X(tjZP64-e(@=yER2zi-fo_DdO5C#NC!6u17-L?J430CB%iF z0m-)a=7hMhDdNT^#EnZ47v3Kq)ythJ;-)3U-IXG4PC{JxUQV_h3lrkP&$?uB;k+Z! z`h|VV$>PF(&?xTS6mc69;wGes3-9ZX^4*srZeK#&{VC#d2K|arzVI_W*>)V65cfce zxKasmVPAW)d}04>^tunFhzozmE{c0NMO-)^K@>MBMO?FlxXCHv+9bq1k|M5aLfoS% z;szwdO-T_K_B%)0@mPwuF$r-~Q^bYyC`9?fHd?a%F(n~xT8g+?331a?#J!Xd_e6@g zWeIWNcQMJFdoM-Y!i2c@Q^bY+J<;}lkRmRew;_uAFh$(Pgt#>cam9kiK~pYvXz*XSY!BiR zm*C?mb15DCKa30BW|_+zv zR5;H=sqld%daiv?PJG>I!RzJ={uaJ&&%o$)2L+F#e-k{6Wds#oAbenno*NL96Z6dt z@`dXi=Ib38X?u+g@?6 z1eJG8v~nr(4ceD8c0%xcm@n!d`lEd7f_&k1YP2Ll~Hh54fXp+Cx3zECU{j>UwH&*kT#6L3!ibJ3a_awtfq0 z#$um_Pg;`Y%ULcXHY@n-3hOWGANr&HF|kf8_G9?Qww)C7sMu8zj2LX zv2t11A9ZSF#D)g18?N8P6!~6i9*ecj!uBq#9~^(SH|ihyqwOtraV&Ouw6TH7ws(7@ zV1ES9hwB%%JCbehH9@{`E}Cdbmal8$j96F4-{che`n3zrFIhPLR<+ECjdlDznj+ur z9b&O+S@=9}*DBcFU^~L?eJn-3#oe-2e{0$usK3WkC0V}Ri-Y}J zIG*o?6!~s`H@J4l!tv7ZlZ@EzATHb=FQ&-1B)DiB60KZdvh}O;c}8qf@O+qWeqgfw zTj#@AW?T@Gxg^WCF31;NABXu~4osGBU6Aj*c&e27W~~eMM-UO_3#vS6zVbmM;*HEq z@&6@TzkKU6VmX5+!+fu%$oFHA@9r$*E3zRYwlIhb^DR!1Z}dm8SgS1LTNC69P92%~ zmZr$JA;?!ZE62+h8L@o9P6*fU^%VKad=`t{l!f(c6-@9o&H61*k?*k}->BdeYR{4-oL?<;rd1WLw|JstN3{=HaAKZm@MD+EkVBE`7qyGfys`)FN1uO zg6E?pS-y2&A2^;@2EobljaV0ph5gvkk}Th>Z!%(=gP?Hz-U&>Wulo9|weKfvJZb@(Ed*{||v`PzLKyx)SLFkkQ%NV2Nf(Zzt?G64((tK-!H)WRUFStmF@@+|x@1U=tffi~P1khtBWcANhU`uJ;`;-=)Y`K6tUL^e?Q8YEZ^9w zxqjgWuuW~}ZGAZ)y&SJiX3Hid`GD`OT%@b5^R?Y|Q67n6N zB461cU-;Vu(GrAaF2DbL8x-X0b4dLBcVdcsUj>z$mHvaxHFEuSJzXwEzQM<2ZF|R_ ze&BeikRso>AYahs`P-6gd#45Y1_e>!`My$$d_M>I!ZCZ%k}O}TU;^*WL0p)xN{W29 z1Uo+*TM#YD^5r}uXb;&RC#T5QHfUUB<#-u;_JR7VmLlK4AYWGco2CW%at3+A?L93; zzB7ZJpOx?PX4T6TD-~2qn6E~Pe3u6Kva-Faf_%~WrDj6D2ZPrLioY#=gM3wje%5G- zp1UvjLuP-DCpHK9at4pX^{btbZ+h^z@ZVGx_ej-jv5avC5{A!(|IJ|(_vGT7v6KCq zkSOj|kE5s71#zXKLSS_0yc|4ET)*wX`bF)RxfkFi>7a>m{$a3EorCtUIe|0Tx7>gS4u*S*ma G#r+=yDbbez diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_init.o b/software/firmware/oracle_d21_edition/gcc/hal/src/hal_init.o deleted file mode 100644 index 1e246994bb6bb87edcc6b8e6b083abfbe07498a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685388 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�c@z^PuQjZQVXaJM zGoh)eLxv4*D*qryuFI@wcv`KAJ<`u$ohx$Ox=j^iG~t(Lxlf0#Ns&D3!@4IN2NU4% z=;xa*7wI)X8BoZzUO!z>dK`!|dM20KjlhdaxgTf5Fs6dEm6qX)-8GNV0g9@yQk z1+Xq?A=Y8E19($;6|hbk31XT%{UNpWEvx`#g8|gbbvg zi_UScMJjF3y}1H~5Z1zoCc>)9hGjZtc(2fnZ1=S890u&!jrDM3}TBDw7j zd~=&9y2OGr!aZ4u2WnY^Tr6pGL)m~fDZgvf!VdlBg58b73$sf$H45$U?zrQStz%XN za%g55#7Oj(8f=O64OKc#)_0GxJ^ux}t{69uA6*NS)B@a2>?yi*!ohj`l%48dT4r9+3hM;t(;$CViWrYf(WB zZS?cqniB4ohQQHy*-hD|O6yBn^qY<;QD2u>zx)v^E@%SBw(stt1HvT#+H18Cit2o@ z$k-_z6I9u_21Xqtqm}I=NcI#OqZ*so-Owt6@J!D;;>(RoV0fQC%XUK_$02a-B@^TW zdxe(@sq_)hCL6^3jrjBd{dJvQMbXS+% z8_Ih`_vqV&re(Z>SFfEWD{&1CZTMx5BKL6Es=hT+VPNkAT*Vhlw!-a=E%+BjSt7-Q z8$*{$BSRY+7!iQ8Xt#(!&=9x6#1+R2Y$026D);_T$T60S>fl9r0T-Cstq?yG>dnY7 zE%|}nSq-|VD~0W!0B78?$ZrIRhH{*2JN5>yhFqqN^|I_K--Yrj#|jLE@y5KOR&5_2 zNT6KSu#*zuEl>jE`_IwPo>a}Hwk9O7$N9NbZG?1tqTLkdzFncpMm2bGyXuDnNe3RC zWf{*Mh?l14+^{pdJkoPYw`0>7sJ*Y78vcy~i$p)y>_h>-MQdBbWs9r42Uc)UuqPz( z%UK7S-yp5CS9c4Mh$`&V3u;=?u$>UzIn_}H4QW@DGOT2JIkZ0wDuO7XtvJiv(qM(_Q1|9 z{E^q#Vkvp^LmjXX?t;E?p>E(l$3Rcu1t6sb6;9r0surzCn2~ih#$4o$esfY0x$K{n z-XqpzzvzG^$5%tVn7%oVXR7WLad?|NGjvu>cvRubofXZ#|oLSnsSaKsKy?# znni7Fewp^??eFHwi-LWdTlg8R3zJOsAYg*ZQL012mN^>ta%B*lIu_)-E@;Sho`kG%@_WTSjthC&D_Blw9A!^l3sbaK*d-l0MHI0*2krqU)0wrRi)a>9;ZVa;2 z=9v#gmVFpbMh-57Nqy)Mt9E>gMCre?5ie-Xex1+vZZ`2L01xu4CTT2Hoas?b3bI}q;ML1?MHAG0m zB$32eHRgJbruJhI2i`rpbJ@PiD9$aW^zH-yt1SSb*}-8#Q=JNg6Kca0%El^8!C275K23BpoLma?D_q-qp2W;%18*7rsJD#lUWCyG zW?$mK0%7)zR*21ugE?c?PhE3lNMvP?#sjN%TxqXaEl4ghcR?I?;25#@bnViSG>$3j zo;b*)7VOE5)f$;2MH=~tkrx1 zZo(ej-mBR(WanpGZ@(<#tzT&dSRL?ab6>k}@^dipG*4GYM1XplF1_qnOZ^_tTrjAC zWm{cg&RZ;ZCDrz>w(-m?%h>KtBkGwePG5I+DKenSZ483E%ssMprGFbqZu4bIVBzW@WF=b}Or( zlBkLHiBnH(Y0|I~7`NkqQ8=|tbKX9_r(6{b-lZBH1am6KilzG`@G`Ys5+?m=JV0}R zVOZ6mNYwAw!Qm>ufQex$Ss<=`9;C)F7E6PelX_1miHyhPfN6c|G9Z)1n-5?`#CiA$ zR>V($|3VQGV_wNKf#e_bBf2qQb555IRd<~^pd8IDyI!+|)vAq-qvb^-%#utFFPKSRvO_f$S{ult%asRD8S`6 zME=y6B)ln5_6FL|KT^DNEB@%cq3c-9#7dA33^$PJ$f;c7PnwnWaMqHZ{~fZ!PE<`bKVC4U&BG-9k+|6{FmFs++-cqbv#@yP{l* z<#(Qh=C~fvAKzHTUY@H_;0DHGU2_B5HE{#GE-}BXo%jx;JgtnxejlB&q8tx)D`UXys@UitWSzI)ZCWWnev*TLp zKl^#`Hu?5M2T>bwSMx!m@BK8Ay#tZQJE`QrIQ6_JLhqYTJvmITC(3zJ?Mxdd#TKAl zZF`O*4Mt~JZ7;GiTn0PYolI4x)Z)!)8qp>7T-`=B7zte|5aP0%oRPh#m5qszh|^3Yq*n4O;EXNo3aVBu7#Bzr zSkP9`y)_F@+bldb^K56isIf6kq_y?}_HjEK(#@G1DzUw@5o8k64oYep=2GKR^anx< zPRXOp9o_mbsis!mws=&&EJav<2oGp=QH>k#hWcu(-F^%^mK1_7!jY0gG{P$PO#Qt0 zUVWyFp0luGCy!@P0TEH}S=3S=1C{F-j(R&RJAg$MD+^J?4jw#s=InLXPtGpw@hX@z zDlWL_NzY~QnTSH$Tbt30lV8%<3#qU%HmPM;1R3-qzk-?WVEJg=PO@M(;L7@8NO>eh z4xj`S=W80);uwCaIOf?=1aO?I)^+-#Hri$Uq&(teA}9o*v^ge@Nd;IO#I~`8bqDKs zJT019Shpe15V(U&>a*nRyt%V&qIZWlWr$W%iF>jY0}IyjVG+yXA8Ke|zhldYn-q9U zp0W%JjJRzuF`;#@t?!A~1Rsw8;7Et^p62urOd%55r-UFR0{bZ9aDv^&;bqtDwR^O` z>w{t8rTa%#`mz}pA_@!I7{x~X zP&C-xmN9u4wg!5OlwF9vAhT2bFH$=Ffq|9NG zhu)UCp`lmiOo>vHv~-hh+XReMylUGUNTP;b!d4$8c2_q#=zcY3o6%dEfYViK8j z11E!2xr?R$==hc?jEq@&;z-mR`!2o7aOF~{jhl#z4&Q2LVG2X7X^>rOck8E`goQB{ zH7wMojrl8y%ImroN*z=PZRV`;EfUA?=0mB_0)!@}M(OAZOvFJf}l+(VAg9@#@4g+T_r1DQZL zp^R!|bF<+?u8X>?-00zji3I#p79pxD1}9y10(oY2Lo$Ul$}^T9B^HnlV^gFj+#P0H6J70$6T?WdvRJ^27=hzv{8ZgPw<2#Sr<=D8pn5OVLd?zW}vEn(rIy+`!mUWMM(|U#rxjDrJ14k;@A1_8%fAy#&}OGqDp7Wjr~(JRMdmO2PB(WXe{X zjYTej`=H}gkESqf)-8=SN*h*%IN3Yiq8$u3jNitYkB~9fR6A$ia^r|W+pA1{YEN}* zdCH!GW=4RzhArpqrM4VP(erC%VQDx_Db$1u$M%IKEgf`{-qzlBd+EX@Y+OpksT}5n zV_1%wue-6W*Xq!Q>!$KRPoHx93ZfZThKTio8FkgX2KxtHkZn@Q?^8n`K2VaiSl}-f z*vhDd*OwXOIJ4x25sL8n+*CM4t%aQgYh)j`!dOhfD$H#in4k-*+~+qpkgx|TNO=bg zLwO!dg5s};-WvvJUHXTGZ>AyJ=GFiW$yafss!Nt7D7JvgECbdOMz9^Z45>HbQI@zm z8)bQ6(;Y#OGLQ8f+u&g^5c(grY@&XqH(z&Mk<=;~)VfDP2KUyEZZ~wTt8&k4yjP!U zU3+|U6D}1W33M(QM1Dur@K%O{d7RaZe9AWM(0&cYEY8kn>FAhQ1_|MXg^TRo>^BjTP-iHU_y<L`h@}TPR99rpBydkm*g#){qL#scr|@c-?G4eS?CwsHMDSAr8BU@F1CtHeu`i!k4&rrP!Uy_uxprO8LD92Un;K~B+#5Ub&2j$LvR2>!GR?ReU zTv}AK*cuW0q(VmJ4X)QYvUGzIwa}L}=89N^z+;uJS<-RNj&p41gr~gZdIQC!EsWBl z8E?CDeA*m1Wsk2#S)!^fJWY+nER0{NGz^K(0;dxG?52{*|Jbx0Xz5M$MkcODw0R|S z&<7C8X7w0l$Pf)N8kIGy!BQIaW<&jgUTtb=y(7VGD=ttjxWsopv|sPWST=hAs?Ca=P|;qi5Q+QN&89uwXGd0f^itcwu1A^7-i zjxRU#ZqmRy)roiQKoW?i2}IJ0y;iQi)tXs$Q7h{cH&GqwRviO1ua=O=e^kAy;lmml z*~c|AGv^*t`-`qYma?B=x+$f@S&*-o(l3Nk%Yp1OS!0Q;8?OckA!!aP@4yHehm~XJ zyL}4IecCi0s9eKsjggs(ACWaXIG+POSy>k1>yE%1?otx3dVrf(ok>9ZpxVMDUC_>5 zyr`^|$O8i&4U3x!7d-FV%LuhP_aY4~^hKm&z5d8f1jx=p+YspTdg~fapGmyo$#yF^ z)d*se9^K~jlB{hJK9bdWTbG_#KWNZu#q%k;t)pC%X=@GpJ)~?e`;>~^yUX^1SQ3&I zBdoP);na6qEMz%?`rd9*-+hZ{lQm-gFz@zp$^|F}-M+pdPIE709~r`zVS+YX>9vL0 zoc8sQ6;q;B|u<%ufzoVq^_&=J{?7ZK6CP+ie*65CxK!D;z1tPT zQ$uWZ907jQrkwNDt4@R&B)09xP#=Rm?ez86NI-)5^P@H*mxY@s5%X8mu%nHXp{Q8n z9>!#Z&4BaoZm!{Ql8x2PNP94EeO%4)<_=ASW5COgc^~9Ij~t`vq4Un@2qD7Asi)Ls zoxNtW-;Fo3Z8yo7q$i!H3<{KwMR(a|iy)TSGl)eE8ra0brp7GbdNFyB*hir%nR zY12?Sm&HFdYx+VQ&H-v1*JlUQ^!Fi|RHsulv=K6qhxt^SVInB+O>q<_sz7stirheG zE_4QwGtnQIkV0eErN=pq+wm(%GBf9}(O8mOoCdz)6C#8Qmx%3hVhY2=K5Vu*N`mG} z;hMLy1tXGhQ{6h~-3KR@edI$;3O|ao4w2OV;DQRr5Np*oIY7VA;1Pu*TbHAKSvi*1 z(bOl-54MKOFf`O*z8gn#!M!j>IlHs<449Lst-{)Nm6BB<%Wl-LTk-Lqqq)9rD2b`x zQGK+Y!&P>F$YIFl>t*t4!`3q5e9}O|XdukQA&qP8~hWWcb|y4ZD(4ll<3-p0$W zPimFgCDK!F?i}5YG|!~UhBI_dH7+w)Vqj~<@sH8j0eWtRCLb{eg3+p;gXWsi5whonc^2 zbgGCEOjK>ZC*cuG9+CC(EGwR)X9FyrM?(~qJbEb6o@}^(fDHhJ@rFPj!2%bikRe`l3Az9-Zb0%t5{M#dnw5eavT>;%md@4PA3} za6>Drr|eoygIr&4Ba{WA3=>X>_g^gD-Lf$qLgbtQ$r;zMBV-vL=ijNJuHmhkTG@M% zBt$GT)7R?8_LhHoV{OCpo7>qhIQbGe4g>aQ0-HOp8`F7n^BnQjTJJ=Pg-?;+t1>dl zN{nnX*y4GaVAQD~Nuw0Cmf)|oeH^FdH_tf&8Rl)bkx>H!cm_5D8N4b8q8F_YKMw_< zDN{vWgt=*PyD(~r;zN+u#!)PZUKaMNMt6N^ht7xqg-?+jsq11_!BommAfTu5y6d7^ zt#*w+wL)UwgTVLfcpx0&`NqAl|0-mhrl~tQhNtz)YA)^c@l-FFE7X}6AWuP~VpvP6 zVJ>bIN~~@d)sd~^2pI`ekxM#k=}Vhk8bIOfCY4r^@gzY`LHRy$luCwPv%g|fmRnoQ z4ywVH)g*}WGH6}X6liEA-9n0V4CUm`GXCkG9kC0mYj}23D|>drRG{L+6PSp25jwB zNS5L*MpSEi|Khc6nWZWL%WE*u#WWX-t!%vPR@z#n5{s9MH9kX*DvDzYMJARz_5Xf` z`6~@mtE!V9a55oc#c{4I&Ec_XEuNidv)d(WJZG_cykf?+Y!;3i*D4ZroYvbL`S@yd zF0{`E^-R10@+~6P%eJv-*H2VoBPcx1)LB>`u{~4|xZi*3=5|a$3!4RWP)o5B{kD=y zy@}ngYhin-XDN|Y1w=eu6*uCyRd?W}5q=~`N-INq?(DiVSDwB`Bl9(25iUy?non1q z#>>jteio*v(xu6KGNRSW5N}hH*}cEHIXoG6gqtxE2IiaCNBEPDg+J{gf1R^jAWI!S z5Rr(P-?3zI;LB^nJ?V5$p&@g0l?}w&*v#m*rYVSkF7LO5FzBQbtVBcjq!zoZggU5% z%JD6#WxC+&w9dYm9b8I4@=Ado&Xp&jhi$zmdQs%Pr5}{c1QMxm#F7MoQ^Y+S*Vzww z;U@2RzboF)ZE6fJ*5*-lgUzAX-y+{`A$Tr)0Ze1rqCBwSLr772P0fy*TR#6u&jq&I zIz&qq#WZ1~UgMygEWWyat{!Bvdw;lLWCX7WQ*v7Ps)`-P4P?-5zWa3_5`d>Co$z5z z12NUx$V2U^Tr|)lC#*~IfyjY&dDz5%Xk~h;{?I|5$*WeTr`k}8{nuq$qsoPiH0$Bc zaxC?t{XpHpqW63+-$r5mc$Qx?sL;Q$$P9#>um~B?Z=y^^Jp)LU@QQXg;Fh;6rbiU-?iW zYKsAYwIY=b;)=$Jk~Fb-64*L5-Ow?b65U>odc6^&Q&2z+rXPtEZX!gSeU79WZ@C0{ zAW3XrqIKxV-#sFcF+w0hmC~zzX#-jHlMEGG6_XGihnKK;9wgyt`1D#6`}A-z6u<83 z2GZ-uSVBvvShk)g+11s-bL`++%CM^{zl;PY4d?-ZHLRkYq7sHpM_YG{-^3R-&BBLT*aHF8E}9*WBr{w>>_K zFRXE#PRKXC(;kUVLkOlG2^pBrt7}zWe-TTN$XYZ^ukj11D?dgeAWgi7h%E3iT^Z~! z>y6b07T@ldn!D5K?HVq7I^$*73e&uSSouW?(46M zb`PzoXskxoJg6BI`q|0!BUGhT-F;?!Ztn1tmFjx;)b=#@; zufbI7tdLQ7r9Pso>yQgdVd66l9!5xjTOJ+%Pqq#jM~RNot*6M>uC1SAEI*#Pb*twH zR-JLCgV8Lc`^uaYw+icyC({06dFc?IlK-9FIwRwYG&d3 zRN+bmfjVk?0ruLzuYy4d=|r7;s_q$9I%l5wpL0`kYmYp}KX(-+mcZ&~mJ{UEol zxQ{s^t|P3^@-ZgtG`HYqc;8c@z9+KSRN$2TH$D>bc=uq=BF-(nM zdM?Bx&{m$SzPYloDw)AIhr4kMtIc32q+tUaOUV&sv@qe6G-#*mip^PMob>HUrOwc2#VkpHU}Dx zZ7up{huXdA%-)rgXRAR-l&D<<3BW0$eR*6t6kR%QUvgu{OtCeQ%Dn&xTOvAH?HCw! z2HnM1BY-WFHydegf1FnrL}ic>j-&dbYI_U@F!RxJI43?6JHD=$-nZ_%yS)xc=h)iG%?)U1 z5;$kaFYaUY3REhWoHHOW)65&%C}}yVtMaZg>2~l0k|-y9t))Iko{wWtG8}{Amp#!J z;z(fkYdSlnS{{bnoJx-fERd%-_Y3|F&x`gN0yWOHM>SZz{j_H~>3C&1M?-l7wJ$nl zKzEwyh9gamP`~U}2-qZ}N_`MtyNKegljQORj8F1LDgbeI;Yj#E6wk1PNpDucjIi`n zt4mU4pI`=`q7%Aqe4w|UY-V{^Z;&&JkaqQoD4kmWC<5e%#}2O{!E43HA@undRoO`m z6~T*I5@}9#KTAz&Xq=>BmCR9^sS3YgziS&cY0Y=mADj#*L0$md5F3u7DmONv<%kV* zc!ZxhmB!DoVknw!Eh7@5)AY!QrV95vwfh1hNP_Ow)#0^MkU%BwIGY*1O;`w?A(q%m z+>s84@d`O&k7AjwhKI@`ea0u+c4x8ByO3k|Y_s&TJlyC#5btg8yEUk#O?qOOV&OR83MUB;sJC%4w zCAONRK{KVk)WwkDSaM_qt7a#dr+aZE|8lk-Oj5N}IUjgh5x;ot#>7NplN#QZmmo1)4_IcR+A0wY?oj*faRtvK>6i4PVn@}AslbDw)(@uzPZh|;F;Kd7O2xO z+T7hR6@o@8hk*S;jLmb)462I=ltA=kqmRvk1e#Qwx&g}V_pR2EhBopJLI1cfhB@lk zWoZ)h#qEq-;(A7PZ{5u4VnH)|iVU}V4Nr2#N|ReD7Pc4oozfYv_PhowjN0s$*tNDZ zcTuZKIK_+F2do~$cghEdNx-|gOu$;?rU+^q7OuvpXct*5gv!MYW?9O%5JWMQDtPpb_NH*fI(onlrE9(7JiMW6pe+DES}BR-RCyc z>KDs2a7&6h4C`5;{AKs7+CBOtVb0=9z`@vJ)WRXEx##J%guU$fpB-Ig$=ZJfVLkqF0FNfaN>ppv}Z6e_}N@vwx=&136i@-k#UG6G^4$8MNp zpI*RQ!bV0f!ZP%#SgS1#Zn&y((Unw0-8bazHgg%suisZV^}lld&_@O>*h}%C7+wF| zMpLBI2LE=USw12H`Ls2HUj#Pg6KYFWpI>aVZK${Jiursfi9`aIF!*|Yq2$;FeJl-{0%!ZdTOZUd(85rM$h|&b2nvj1@Pt(#lhsn#i+E%h8qp z9DXTZuaiLenR9`HK_o||hMnu9{^X$J1r@H(8msjOG2LCt3{efdp)a}Kuvnxmq#vNgo920jT9HejKX^zY?<6FN=2UpYuEZ4_jFd*PE%ohQb=lfTl**|mBHIpl^x!hR+M1+j4M&gBz zu4wL!f`BR-I2=`YBh`o0NDstW#IeNQ2)D8Ofg3yuUSHcog=|#+BCA+$lr9sRi?M#;j3+b>R zv4#^}8I$ri@AL#o3K!!xvr`weXLXmxPCR8`2hKP@elY%nAy9ut}OxHn0Xu z7<6U6LjP!&D@#qc(p5W7JDFwbirrd0ael-`M>(zqPU|pFI0jYCkNUbeiFJ2xb=jhB zi^!Ijs1>@zB{2e(I$^c?>gaf!1H_o#I;9kSGo+E#IdvmC-B1*teSV$jaQD)>5ai~%? zBzc=;PZGx-f^6-`Hc33SsgI3c#z${dN^-bOE-U42grqfONiq_68mnfgS|k@AzqAr0 zoW@iwnvk$B!jECOe>+eyx_)$5$ACcB1_-&;1@4aCK*W3NOaA6WtJ* z6KKN~mU9d3Elwr}WAJZ!<>xcth zGW}`oq|(>gNt;6Z?Ms4%K$5#kaMiGAJNvI16D?ta^8-4GTYS{b0#KE=z)w_7giJjDT!I(C834aRFx7p8Ug7OG)GGFCbfi>vK3YrO2lfLf(;BqzBkfy-nTyY z7f@d)$2cL zR?GrnIzkG*p97}^J|Z-S0Cn&Iq`NgMKG8L~LUF@|26P`d@=|X;rUftBzh;D=s1ZKWMAUPz<)+n*FX+Ut*pwFXUuHs6#3nOX$JM zK2AYi;!&p{71Qw5gzApd3AVRrEi@zB+yY5F=>Lq)I@h^7a%OT6Y*BgY8d`W(rNkj> zH6kvNzo8*6*(w}Eax5;q&od-P`Wk-iJM+ifHs!b}jG3A6;wrtWo?^_3Mh_CPZ8!Cirzs_B6w!Lk^H z!Z!NT6#6?(=+}T7FZ4StFV5*13n9&I?89hs%vA04o+xo@p(io&K@L(YiLqWsg!z?x zdXVMI#2mP=%CWA-2Ku3a(5Eyc68)OE`IUk?#$-5g1CdW=3+zg#xxZ$YR+i0lKA?sV@0pbaC*@vlK+bb8>Ss#!^CVl6l05B<6R-!}a%#K`Z;RYXM zln3B34&=HnZOvEm09nTj*_Oh0B|^uz>_a!-B~IN?1Z?sTBjU zwK7y#v7kVx>kYFd+sBbBTPHQQcXO5dtfqVUUEZqLkaQrdGlpXe&dQN!538K@=1vg_ zCK=w@=}Agq$M*#Avsh1@2(&#!jJKqoSn9U@MK2d&W+BSMC;V*FmLnXI@`0bURe~IN zQ8d{cdpF$6qTMS-B2XIk_F*Te#pIl$jqAZhEwvXN6A){p9I46#MxbH5sarNRk{^qT z=&QAh?q|{}eY~*NVDEIif3k7!wA(@HPlxr3S!w1sX9_cAUgeKM{Dh z%-pJ_mQqV+(Z#UZyp3(yF;|0uTPZa(bjL=5re`RPMG8`3Ay-Zs)X>-}Bum6|^{~|I znZ9Ii=Q24T0ACj8?tmT%&j{3BJ&8L=+JJMp&DEeuk8RXDE>v6(g;~Omqj0is96P~O z2GA{nRS+RVvc?2VttWd?D?zo=P4yTlzkG|Ns>g}1Ts0eAw>`UN3de77%6M`a0{`BT z<42cOY2G=xwQ~uCemj)F?Nt(iI&m|FVSr85qFl;X-U5lN;=)5Pq#aBvV~n=Q-HMas#rnCg4!%I7V-^uwE~_Rw8y)MSEQ6x$ zV-r`^Is`-`pAyH(!b?}SyWO(iDf<2H?834yo2SqQ8`Wf^_y!!x$K-?q884MlH5fpH zUOi(Agj5*MMM#w%)yZ{qc>^gdg`t*suIxuxM=Cfu`Ezx5+jCPr>?oi@l~;9aWlhtw zzVHuuiaX)VtKpVW6(XxvCad)xQVLt(kUv|q;W#V#ESJF!uJ++Bw6ZkIRWBQu1KkDI zH|1x;F`C~0l#95H1mR2HwB+RLst%eJ&aB3)9Bx9FRYUJZ*1c}bRmn?ULlmLDWd%$l zHSGA|`sv-lvBY?t`dvyb>ML1zLb8+X>Fd>H@`NQn>P3EJCf^b3p$T^3{H<5I*}FJQ zNtBiPNtWSmt5`2o({L)K^=Lk(K4z&Ok0O?315T!uOR(B&GRRuWs#FLa;K5r7`P+4=oD9u7hMr$`4@)!r_QG>7Y6^ReIIYkmHNV z&Os%26)J2WjN@RQ+N$Xc%b4bEHQ^ykT$z$m0yp=Aq_Xz!Ci9gur2`R*keXA>#MszI zmF|#LT4t&`tp^#a8faZ@Fp(L7i=U?UUEZuxQwDrHY0{whoTIVOh6xIiy-H;Om*~wO zU1+*bRBs`MZg#kgQ>%MNs@=G<=!F#x?^SDJZ=VJpKm;$ppUfXE6TM;ly>8DMln=mW>cc+n4@S4X|EnJb)4kUb(9e^)YL z>|$x)9E0?XsAx;L&28yeeVj)a=b)Y3*@a6ck^u0zCer&{7hZGKAW#yhW$=Lg#m-Pj zx7?hgl?!fS~QBYy{J{|Xxd`4FP<#kA}l9*_?C;MpDc8(4AHcqVhQHQ8w ziQnaKyt!o^s~m%i98R(<(XA$38q4wWZ8Ey*!euL)53IXb=?P&Z+q2!2UA0RbLSxJ*N}jVnbZ?H5Tw zF8_szKe4uo;d=*3b+17rrul)R10KSySzrM&pG=;1B11#;rO?5qbUnlbBl<-+ zJ5|jwc{ija)9vKU6(`=>j8z}&f?O-RxbF1U`dvCRYOB1M8EKCWX6It5AZV`-^m!^Z zC~S4>I2IR(&wZ6=C9G?CpLwcaGxCY5fxP; z!=v0Zc^3V|kYBQ#6=J@S44Xc0rK2^sFB-w_TgV6+jhu4S1r2q`Qty(uQ$smZ;*LxP zDzl|7@{Wo>!5JC-;+3sA2Z0SqRk5OD?>a%Xad@Vx2@`ga)!H2OwCO}SoUt)nk(e=X zMr51gEO90fjg+dUNwBR9_xU;8XEwFW8~m}h%UMfe5Qa!st)e(CIl9`wljC|B-zJVB*_nbF z)%Ffv*VS;xHaWYTs}_j}>kEx%wm~a<0a1vLt{qjcO`zzCN{2s?Xu$rhgqS~KiIZ}d>_}wse!+dAP@en{Elg}Ho z5Ob(B>GvB11Jqx)|C!%yT?qXoBp=8xuweyE1_6%xM_G+byril0b+m5DF-*f%Ws}FY zkfZ@=D&U}mNR;^I7q@fW7p`kTYyCyecN(UvY+y`{&19Uo*dottDF0R4punr;6I{qAj4jCr2v1$Ha4pZ0 zEqkDBKVZB&!vZ7|-O7=D0)8H@A0JK?n#Rk@FrFdLO~61Pg`0N61m&>RZ^-_ZHEe-} z*_3itk|k2(U_B2i!O-@>5)Q*$D(gFxk`38S5Us{467KIFU2uT0MvYc&jDVam7w@!> zFJC*gji(;Gs1)xdrn1>4Gw(%F2@$~&E)FfNh;{m5dgBEx4H`9DZ812m&ITbHIVA+V z0com?CHVulyuZS|%yRC36IR_Q^G8|{zfA2$e4tJUcq9>MQC~wKMTfl8vNoRF4y6K9 zoW*P-{~2)z>0xP-FaS6>J>^k+5z=dC%VI)F&8<1MiJT0cE*r)|2}d3oREuCu^SWkrT5yol}E-tdZksgG8gUD4|?RDMSk=0(m)eeCPmiq8~U|0g0 zwppq7B%Kijf(7Nc&gSb*z^T{jw@{d?9laBBW;uc8Ce-b z7ugsemn1{G4ko>=UEy|3Ib~3Hqy%yygFr%kQJd%&RG9|-W*8alQq_M6h=Vy@X#KBWl#kt#C;g@(m)Qa zb;g2r+9Sa{v)A9+77-cSP|z>^cqn}oXsD@UDVEq-=X967Rkmeu$u3V$Uw_TnzFFg| zN++bzz$vmo%&#b+1@$(cWDf(sN5c~2fTj9zKHx`?jxJcLY;{gQY&O;TTKf_G@!El6 z)+g~+PP0Et&vC4RIN>UpPOaWC7aeIo1w4g-#zO=0XrMpds{nIfNquANleR|X2+JjAvT+Rw5!c+q3o)o|Vc(S;kwKW`T4{=70)(hsmDVJ`}*PH6J z*RG5NaY;*3*~gmdjSOT~gR+?uP4Z~im_{iFb?yuOFQ|{`-#H<}&qeoF%+ULmj_k%v zqOl37RV;N-%$C~zY`T=K`j9#w^0lyqqtNOHqb-KorJNsGWJ1>jYJPgak}kS(Q|dVo z*1{_H>&*>hh6G%En};n1y-7<6{qk{?mn^-v=zQ9sq4luW^OSkQ3lb%ZtJm6HVGnv~ zDR|dDR86O53SsTbZbbU1s_9u7>@mfwya1MLPI#9^)vm1Vf?{e8*Y)LUdyYzP8N_iM zJ_D(FyQW^q2Ecx{CUUsQ?e_lMFc?VgvL~k6VwkPuL%BovZk60ZdH|fq5(#sI%1K^i zzu0@Y83Ekg+uCj<`o@+~A6pB*y6l{4o;~$u_7stfakGx@j_m!4BKYgIc9(oyy5Cq5 z-85f!l-*RTlL}1Pe}I@eBPLa=v{&$?XHEf7rg;M4`>RHA=+{W4!DD04<%f+Wq3fM*6e1ELy|^MihY=cG#j@Hsw6}nus8yR`DP( zbI1%Z+^mj*ObbkH57`0BPnFVD4J(WQ#@ZH3I;Vegt} z$RulQNv3e20U$hv(M5h3Ju@InM2p6HvH!|LU?sl#^mJCxR2(o=9}87CC^xo}C(4SV z?uFs;y{$S&u2mZ!l0M^N>lS4{pJB4{rZ5e6KXP&j2VyxH0%>j3sJ?M5);KW>Ndg+K ze#w%VcqA@NmKq&IF&%6om5;I$i*fX$r@J|QMil5m4TgiRW<)W~G~7k0shN;{Kz>Mb zrHG5uyT_ud4W{R~Ug*ZwQ!a+es?*oO$}8J|Z6Q_fjqJn>goTwXhfw2Yx|qus?i8aK zE^{53AcX2psp{e)D3n)6wOmY~p}Syx?s1FmlYUC;tKrvRMzVPAdxXB{UAmLom4?BL zI&#`L2Arng=whN_gms~)40XUvkJ$Mv5gzDhIg!IJiB49dGnFPni-2lsq!XNqJh#QV zkh%_+m~puHP#=crHd=ooix3nv7aJdD2c}FFC2jDG1I`7tJqj6VDD<)lhO%ftZmXCw zCJ5Hg#SyN;t0bO5H9;7AaBg-o2V}!)-*P}XJHx?)$DVujR$o#*5%oBOi-%ZeeR6$mNt7YRRgPilBo#EYuyE|}rY zS?GC9p3xE&?Z?a`aZbrUsW&qAT5#TWK`mg{ftLX1UnCU?t)}%};BcG25cG*pta*6c zy!I)){TG3GI{TrR4b{d#mti6+(^#LjvQHCY@+?z=ex(036w21qqVNIaepW6=7vnFD z>L~nI8PNj1m1Xo@M_D&922kdY9o~dMrDkd9CbC3U*PR%U*6J*cJsa5R7)%RD0pUG+ zr(l0{8x%}b$u-nC*r$Xg#SH*XU#c5L1G8uz4_ywEpu5%105SuR7juFa6PJq_&?Ctq z$|D=Bqi({8G73fqi}9s?1v+=Lh9&7{Zjes(!G5dzV#iiyuf)3Fmh@d9ASfgU_a>D9 zSTNO=PAI20SU{O*4i%@ukOVJa;@9D0L$h7UW+Ll!1aE>$J>?@@mu%YJNcvfV8yLBNrFgrM9_A$}I5VVO_ z1`OjW_I&RjK~i&ki`kx)?5p^+KpM4`YGF&A2tl{%@rsQGx5~T+Bhg{-S)47la!EDK zql?Kj59>^dk)O1U3t(h76B6TX|0mGL;O(Ge^Y9CGog7}Wc6>V+?~2pK;n{IiDx5BE zz~H%z_Lm{M14vDy2~NUZ2uBNd*kca^Ea(_b`2&{(j`UbLGK5t%=s)KEF>e&}tYHZY zR^cNEpxHkXI$2e{36?)(=D@JXbTQ4=Qdo+3%ggS~YgSy98mbwi!mn}c;8+r*byTSt zu39}0S03t*Aj^4*fL}SiK!JJcQjnN(939c^M6l>$Oa;TRE@rP-&m=E+K(tb7?cDc#{!usO;yv=4o9G4RwIG87#*2xqI z6y?eA)IMBJQ%&OTO4zZmqJER!1G z)znV=E|M&ruMt1rd|ml3#<5nb&uaJ)7dz{QNXAaX7J}q0rh^Rwr>1NUlyG{)#jYJ4 z9!t-V47L!4t*l3A{$bvOWtauTG!PCYR%VzcRvw3soLzJF^l6-vc&Ip(?_Z151VxtT zouzBr7w{tT?b)>!{@e-weHDMsYaRHeyWHu{T9)hb=T`V{cp?58%|_!ZTjxCl|Gaf~ z_oAb%+uZ54M{j@L-EVcz^X_%tz0beTdG|fds2Q$QvR-_{L-ZSvZVa-r2LAc{K};Ks-*lwN%_@D`87%T z$CC1Elk)45^6QiG8Ps$%i${$S1A4)r2LOb`Ljv+b4mI0N%;#&`HM;UOG)|5N%<>D`Kw9!yz{~f=eN#J z%C}C+w@u2oPs(>p%6Cr6cTLK7OUn01%J)jj_fE?9P0IIA$`4G+4^GMtNy-mP%8y9O zk4nlHB;^Z}@rn{#LDchTXb#r|1`M z(|S@=zHRH;sC>KDYoqe*TOWzacWB-2K=^}qY&|6^->G#&RK9cTO;PzStxrYeySBdW z{P1~S*LqS^zFX_6sC@U-G=TZiv^|JGVmen9KGsQkdzYoqdmS|5ta4{o(?6FzULRYc{7wDzO&Lt8J6 z$`5P3D=I&{^_i&rh}PHNHhlggTdPs|QLXEu^1;??qw)o<4@Koix4sgUFKk_OyYTss zX+1qEU(|Y8R6f-DwW$2q*560vto6X#htJDfn^C!FJufPkt)Gd??bgSla;J5hJA}{c zw%Sp-*BVFVe(U?A@}TuQQTcJLe~ZeGZ$0{s;q#x+dU{lTV(WXN@{?M>5tX0Z`lqP; zl-2`8*!F*ht&5}ba_h#ZywduqsJz-tBlHrTcfCar1i3>ywQ4Z zRKB?N?@{@ZR(6;0`J1g-R6g4J;i!D9^#@UTt96@*;cd5`7?m$=or%gjtv5#H-PR|g z@?PscUl+d5@z!osKGAwfR6f~ycT_&r`chQBto7Kth0l9xYZ{fG)_QeRetPS}QTZ9I zJKR0I{~KDXQF*_0Q&fIt>n%}v)cSN(9=Gm)kMMbuumJtzaS^vZzxBkV92L<%V#X*( z%oC-E`Jo&!FO(x@gL1?iP>v=y%F*ORIhsr;N0R~Nh?r51h!5q6m{5+00p(~gQH}-& z<*0K}jyf0RdnWyRucZ9-N%`JM`94YczDfChN%{Us`2k7!fl2v6Ng3-&@aO#2Qc!B) zdmfUMADWaOmXsf!lpm3lADNUNm6Q)ALvC4q&!H`EXJ`l9V@+^2JH{lBB$ul#eFmV@Y`{DQ_p`OOx_WQr=Cr2LGe{0&KYKPf*mDUXu!I4MtBTVR3b;i_={yNkAQ#po(*&$;sK zp-JoEXInR1-9D5Z>i2rRq8JUvS-+i?y{y~q5At%HPiNh3HZ2F*?9AEebT&V9#i4R= zsOWX&mU7xIXPt3p)EmvG^Zv9q=(mf(JfG?f``65Fxa!LB{&Q#7ow@S#HMp~Vs8bAJ zn4FGgomqR1XJm!^N;dA!`t5v<{DbmB^V#U^_1DeL$ZwU0vUxcxy4~3%8%+D%>0~?@ z6`edE=Y72LXf(6m!mEw0zv}G%*_*D_8}rVgqTQQyCR3O~XOmHhEWVTRywlFGWwSqN z56X_+h^2^l_&S*9p7f3=WZ?}(*z)g0? zq-f7alEE=*6*~(oq69ndvf}^+5Y6}?AoiYmoe&g4~@tDvdjnL$vDT?Ogi(tn6%~F zI&+LsC;Yj~ClmRu?xAir9^~0Bk^BhyVLs^gXQROs-_psuvtl;u6zv(hdQ=X|d_K3v zQ?|xDD5ujNo;J!m82N6|9?vl$X8qZ0J{=pyOx?5F?cTW8>Gj50r!yZ6I(d6C@AbQ* zPJcR{;V1Rk)2m(cL3hw8rlUN^lp1xWf$K5W;aQ56Y zH|d-&Bw){=uVJxaWtA|^C`NqlY`G;XuEpHwQi)ce1KQ%_C_6Wo$&zQ zT4dchrd|QsnD%?t`f7Xh3@?%QJNVyZKFYvmz}C9+tPB4?NUUem^V-wb3B!N98P^=AdpPF+?p|>%n;1p69*(WRzo~bc<2e?ak+-V%i^1v)QcF zH#sxAZgQG$Gw4qzm;~7%n{}rkwqAdZe$3~+yqLAYKc-of1Km4kLR&%1c9PC1y)I-^lB?#EnUGQhzGy)igJS@g?1$IR>W`{jHv&-w!} zVEx9C;{qK_-m(Wu>2yx_!E=GZbbvSNwL61BKABCiPIut*9)SVi`fP6V+H--~ zY|x%hCZnQqo=|dSL08N)Q`nvmQpE%;xP*r&r`ttceA- z1<3b;3uN~4-3ew<)*lt%MUWgi(@EKBcV?4vGL=uV*Fp2#eJhB(#IzTdH=az;u#abT z%kDUzgB!c27uLMMyJLWQnBX(v=>?W5G%icb!EV22gm5jVbv_;Su-;Gb=n>kL-3(tj zLN{h5Bnk5CipgZtqThzlFqxFo-fT4K3^Gje2^Qi>cZ#vLS85B|ST5$6 zA^m(bD8}t>Kb!T&Mr58P&8FFO4(cx3c^9l{iu=mxe4b(Tzz26imc)MSb@FLebOzvA zv)K%vh&7;x#S-kjH-@C3Z(~f1T{$T5P2Fy9G6uisVx8?yv9#swDR@{m;|#Pr*qfMq zBS;#v@n|x@izGCRKJaBL@48 zHtztrL+%6@1&8SL(QJw}Z9MO0llElLv0k-1IwT3O1&}-j4=ZdRGj}!^6j*e}gQDGT z&y4S2QLeZ#W=9`l%nXchH0x*m`4qx(8*FzlnU3cJ$6(zzjLPnOl6U%`B^l;9*bX8^ zFr6VF4@S23oSpFfv8Z9?nD@H*07E?L_4CP~k9VJy8F*V^<9v3)cZWopk0)4_yQ4NF zt&RY&dYq-$Rax&`9}sbg3R%s2%w|mAYV)5Og6i7x`p9FXv^iH<(PoAGEn& zrSOSZ<3TxC7=&}@qbXjd#1dU(Sf{L8{3?afoZ?6w5N~@lDZxds>VdRJARkO%ge=Lc zoQY(2NXB_Fz>I}ngq5}&V6EzmGps;Z)zFpGNwdU{wGEOp2)Srum@#BM3`HBl9ahNk zyk{>K{S+29s3SODt5-m^>S00`SOfatw&PhR9}L4R%x@_Kh*0Cp!k)e zF~rO%MrB^)CB&mP#N|P6KC}0epuo{&AAA*K-X0u+wAJrTCW8saV?G^W*@M(EgIG41 zVws}Ks5edBT_u!+9D>noQcOX5z3F@k77r!>$p-5;sK&UY+=ca+zlFQ{_@n|P-I-wa zOtS%2sj}Zj2Io06T&$kj?Rpoa^XfKeru{+I9}7>w+A_xa44TO&C8iSiZ}4MhuCMNz z&1YqI0*VHgf)G8yLfePjAX9Oa&vRo7@?%)1tGh}F(GXf^kht4mkD&106uL(rVK=i0 zMnf$M0DXf zh@_M`0yVtI%5nx3s|_yUzYptqbyt6kHKY{fYckLAOXG6Z&*!*z)R|!MGa{DX;<{el z3H^8kZY-z8f%N-O3_x5HXigK1e-~RHWTwfTSg@WkIfPn}KU#orPS3SqXv}WP`y3 z---pjhXu%3q`V=P+UPEbCs6(dSao4(fJBH68bOLKL7d&HA8p~OZp1?0MZ*kYBE&NY zTaZ}#ogVbb`2g=-{T$by>P`r#=nPEl-VCg;2eA($4%!(NLUnE9pYo#Nd!o}JFrWvZ zRYM1!jIexwu)&FExU)1KZ8rs9hhG_tvC>SsCFH~Lqzk=nj%hlADhLtLv_!c}HhLK= z!Sv42-!n{Od=#u9J@8ma?2x-gV@#%5&?n%-)m^k^v+J(gpJ2n7>ZScdlARxt4wey!hp-OJ#t;DpSX&^}wo5GeVoB38%VJPvjA{O@paFd8-TI$7OEGU*-L9wt3ise&KERup^ zNfdk*@j1jBiO(m#g!uh}aQBFZ=K$O~;z^M*9-%0nB6%P2@Em{}=AMG66c2@WvM?(6pQKsJX|cF2jHF&3*`ZHg1#qgk!PfghudwKnXg6P~o61;z_^%uPU8Nmm%TAvrh$9zQ)ZWf7* zIRN*HM6?`OYPBR1<-kK)Er}pGfWeW-j{|U@NCe=4hqqcQf{(y=3ZgSk3c@`y5`5ro_06@nMFTCWjAC%!=t?v1w!X06t{1mVtjuOQqQ9}+BE zt&a<~TdhwC!d>x?g56f@i-K@ZoOb{Sx5OO<;f}bMAlwiS7Q`T3Aozq2DAOk$#Kd(=kqh z&uF#2PY`B!iAy;E^ZQQjPY~wz ze-^x=)%ud)mH6*g_z#oej)Ko_wH_dN73fazYRoUeYg(<#!N&jrdzc<$q}R zA(lT%{8Qp5iOLVr?jKqHJn>7!uM(9%qTL;Zp8)Shyf^WIMCF&LSAGe6EU$Nnk0%a^ zhlxjtyTr?gj*re*em3zrMCGUWo#(UsBBJtDTz?tMuOupe#r4;+{05@(SzLb`%kLyA zzs2?Uvit$!hlw8}euDTZ;%A7TC4PbUW#W0{tG6ZInRpN4eTfeyDxb!CT*z`xRDO-? zPh@$8xIx?^9w$DHI3iw7yqb81coXpj#1|94i}-TltB9{5zK-}t;#-JsC%%jL9^(6m zA0&Q+_;KQ25G8(6=nCIE5r@r7V$XoX~Yrn za^ls*GsK&SFCe~{_+7-86JJGq4e@ovHxl1Md^_=7#P<;2M+BK^f2HyzR4%>#VB#Z* z7ZIVNXuXpwms#E*Ld4g4i0q0I>7w*Rgb1wVGsJHszL5AGL?=i70L!l-{v`2D#9tsf z`SCYcejoAoi615Y8SzuZzaxH*_;19o5^qB}$H|NLWLfn{(Az^Mw*RAv3$9ucanme+_-HMRV|`~3gE=|?}p z?|2>YXNYel{xZ?&MZd%H2Z?_~{8Qpz5&xO^MdE)F|9AV#jmLj=zx}^`512-D{GUi% zC0;^=X+i6qUi(azFDF9v*81y--$Z;7@jHnxC;lMu$A~{gd^7PEiSHu*Ch`5mKOlaL z_~*n=6aRtudE&nlo!)vo@`bw+zn=I&;=_qfUoBW35T8OkOgu((dg{|zo)Di!d=BwO zqSH^mjpdgTzn}PO;!hBrUi$Mazk~Se#PMecHsqtbvwUCT64BX<4zb)JK7qJG zyqM_hM5kEZC(emi6VDQzedt?RehKk=iE97G`~4`(&Mx$`EWeHTE5!E@f0yX&L4VA$ z+Qsp_zh?RGiT^@$b|7r}(D`#);$4XMB0hlV>_3lYIVY;U9KZ8qme+~S?z6}8(}-i@ zmBed_&ffFQEWeoe-NaWAf0*d(JU`8{;}@x(adYyY;~P#+b^6ATeC06lC~=qQ)_W(f z&UoGN!RN4i1M&I97ZIJ@`ZAUsKYTUIuO+^L_-5kQ)_Cf7`xat?o7NV(b;<+%JK!ojMyVSiRkRSn=J1VpGq7N zuOK@6?sHjwKJmX1zl->NL}%CiahBge{5j&=iN8v8_T2x@@`s84gZLN3|4DRq-2cV$ zmx%{%WBqe`;@1(K{q{jDKZ5ueVo7`)(b;W}u)IY)L3{>rN_6(x>sY>th}Y8b`oDc0 zejC5@okV9hc`wT!AbyzW^zl!y{3+sRh@T~Xf%s*j)5~wppS(o5_ff<{#18QZMCV7o znB_}}r-=K+Innu#&$9eH;}KAM;l`$Xp#UT66zagX>k;+W|C!Pl~U1M!=Q zFD8CB(fNUYnB~_Jf13Cf;x7@M|M$09{s8e0i61BaCDHkP|B2-<5dVXCKG&Z+5S_pG zJ}f_&_(3ya?-M^t{4=8Sd& zYcbg-h+5Q;zNiBiO#RuW%-H3RpKSY9isE6K9l9kiPsRXCw>#r`BA@<<(CtG zkoaT7pCUT{=`XVUF5+(z-%tDlqVt>nIm@3W{sZyz#D6C`f9dURYvXxWqU0r#@qHli z;Y8;rEm$59pF%uLJVtc>(WkRKAwG-v9O8{c=NJ7pmS0Nze&VZ%KS6Z<(4S}d9mHQJ zzL)rW#E%gFg!oC~-x5Dd{8ysnQ<8qT)$I)LNW44ozQiTsqlkxy9pV#+E5wV5ml97A z_la}j)x@*J=Mle^_!8px5?@99QR3@~KTE{4(C_)0d}#gfe<~mT2mA4S%0G7?-i>%4 z;)98gBwj>p6CY1pCTRCgLv;-%0!p zqKhN^eU?8;{4?UGh<`_P@q_=y@>hwsq5N}a;ysD?Cq9&T0r6{eYV`U4wI1W>^${Gm z#}G^69F>xefIzlHei#P1=#lK3OU*Aah)_*UXC6W>kz9pVRx ze?3~7ZJac_;TV85?ws&PqF-F;x7{4Mf^>oi(~x*mOn=PbK<9o|3Gx{tN+gOd6d&{ zN4zWX>xmB}KAdBI@~S;XfMZzR5e_-(|O62G75;!}Tu zhH1q5#pZ^KS}&sqKilUSC+p*ycOm3I}-0syf1Ny_$Z?87eN1X zSbhR=g?KUXQsOD%K5YllhVU}M@{AuD_h`&U1aihP@@&|~2Nc=eQFNrQ*^q*M%0`WhH=Tlz4 z1JT8a-iPG}6CX+Zf7-hj_$#KpVc@ZzDM_IexrC%7qPs4---Hl_A}Y!) zQ3|0{3Q?$(N}&{qR46KiQYfW&rv07Me!cegf8OUfoOAYkK79B5_pjexvu5_pnzd)v zRAek+*ROqw7H*G(VOT`8;1_bRFni^NaW%Kjd0Q*MDv` zzk@&X0FTgKkFNX7Z@wr?^F&r*biL=9=Fee6UdAgKUFX@+e0TQa%^b|=`p)~!Kf-Z* zhA%L>u5*t0xA+cM@MEs$SKQ8B{DtAYjN$h!JM*v*kL7W!z*BfS>+(Ea!pnIz+wnT~ z;td?gyLcZ*^D$1~bDYjue3NhUU9RG%{DNEfJ%8e_JUn~6o^moDk6|g6V`ZMoGgzM& zvN4;p6+5sS`*HvW@otXf!+e5Ia|&m2Hs^B*moprfH{34PaTB-k2kvF29P#*U%*}!< z&ay1es;tR6Y`}}zlr7kno!OK9c`NVay$r_-4wq{TpX9Tg##i_T7jhX_@)Lf}&HRo( zazC>KC)(lXAIYOxge7?bE3rCjvmP(trM!YIc`duL4{ze_9Lf=Vh>!CrPUZ~0#(7-K z_xTY&<3@hNo!rB42-&cHvN9J7FdT0=e7_7&;>kRXXYpKK#3sCoZP`upJrmVXU5@N0g{=y$_(zfgSp`Lp_ksyP3w!83Ud8}c$<$=2-1?(D~# zIhgnGem=r+e1Dze40}@le0OWOSqh?nciQ=_cu%Jhm-Z^Z}k2* z+{rzR>GzAS^T=hs0E@8XY+hEVl!UD_UyvmypgwY2#51Qj^#u? z&lmYB=W-F>Yd@n4d*inkTXfYw%2-!-l+!SF$xbvOD|nW)9{( zyq}M79G~F}e2H`T7T@6te$4g!ircx1zwj{ouk6gjLJXfo7`AthV+EeV(^;42@e*Fn ztJ#j%u@`UPK;FgsIGT@f0-xh_&f=SVo9}WJKjjzP!tePLf92u&|8g=Pk6|g6V`ZMo zGgzM&vN4;p6+5sS`*HvW@otXf!+e5Ia|&m2Hs^B*mvc4OaTB-k2kvDi{eIb)n*~{% zWm%r#bDYBMt0wC(x^Mns^G(@;ZP}SU*`K%aPTtE=jP8?v()_cW##i_T7jhX_@)Lf} z&HRo(azC@^|2vXLGrAwXr1=wAiPc$~(S7h2n7@=)uqCf$bpLxF^EdH!4&?|&_q{)E z{wYr848F$be)q-Z-{(jCj2rn4cXAKIfzrb5AuDsS0E@8pAGwI_Q6U zze%!o_?PNu3x9jvb-Mo~zWt>8PvZ5E?mvmwL%RPYUJw85{*!gu*_*hHKX5NIX>Vp@ zZWd&5mSuTXWlh#$176IgY{9nd%%1GeTX`q%y_Tf#uokKZ-5Akt6#mSt(*Eo-h`9445 zXWYndxRZMr)85R=Tr9w1EW?v{GEd`KJeL=-39n)sc47}+&s!LcLp99&1ALU@If+yG zGGFHcF69SY!wvkJ-*PwiF|+n&4(4THmf-OWHotWHD`@BcQ9tM(wZGE$y~Veq^nGvf zdPv{*7O#i@wEN!vs{Q3(^|}A*aY8bBeZe1{CvSCJ+rhufxP{&Q9@LLFb1?7W{d|Pu z_zYj*OPs^E_zqX_W3J~{+|FJ6g@^e)COh-65Rc_?tiV%vI_vU0Uc$?HHQVtz_Tmj3 z$h&wSNAodG;B%bLS$vak^Ifjur~HCj_&tB(uRPrEGC7%#$FLO3u`*BP8LZC>*_h4Q ziXGUEeK~-GcsED#VLrj9IfXMhoAbGZ%ek8CxQW~N1NSnM^T2G(&4Mh>vMkT4tjRiT zz>C?GE!dWw*^~WwEAQmJ9K|twlFxD)U*Q{E$Yor~Pxv`E^E>{?{mkM#@JJrbA}q-h zSc%nHoAr1BFXa_%$!pn_eRvaZ=TMH|LwuZ1aWZG{HO}K=zR!>N88`A9?&KcEoCjuQ zE*4-hmf=Y}nWynAp395agjcZ*JFy3^=PkU0!}tIn<#vkp@CCla zIed%na0Nf+dVa<2+{NJQmhKPuAM^*L+nMq0<O?Ew0^n2W4+9lbUhlO}7 z)8n?pxA&a-HS_TprpIlG*H1R>nA|MLbo(Y=KUuV6((Rjgee6^pdl=JxNw;s}_4BRz z*v);+to`yoZQlg{{4Y6f|5eA&*DUWmF6R6Eh|&1X8_lQh=ZkMA>HGQO^^m@wFJ2G7 zy`S&DZGZB285jP4+yD6AJ`QMlyodPrIX&J(ydM7B$9qWMuMpo3()TOG>mhx=LcAXS z-R@VY=sJaJti`i=J{z$auVH(3VQ=2Z+c<>7`5?z~BA@4re3f&#i0|=3uH~29${qZf z2Y7`0WshQh7G-Ik$SSPCGkFdh@-kk@*6hgc?8loqnD_90KEiQ)hA;3X&f!~phb#Co z*YhiG=Pv%j!;Bl4oq1S@$MQH<;3+(vb$K2y;pM!V?RXt~@dgg$UA&K@`4}hgIZo#+ zzR9=wE?4nWe!(sLoFEbf8FdK8TAd9ms%d;wLvJM;YVm4(9wqL~O1cnnLi94qrwM%TO4H-8};vpHL_ z1G}*=2XGMY=14xwC-^j{a3*JSK9_JgS92XVaT|Z&US{%pPd4UeK^A9OmS3XE}|p@C`2HGOpw&{G6Nl9e?D0X7Rhvkvy73Sdu5O z605T|>+u3!$}8BC*Rm`7@Fw2Qp&Y@7_&A^9WX|AgoX5p{pC9ovZsa%I$vuquy(24g zu>gy)3{T?8JdJ1ZTwcT`yoznui9L8dZ{Zyr#s~N)$8!>=@@2lx1zgGxxP}|}HNWL< z?qg=ZcjRDR7G?<^&x)+ZT0EQQvk{x|8n$N__U4VejYBw`4{|Ig@_D|r9_#Qvx zT7Jo`+`*rDfJgW}=qToAQI_V3til>RljpD@FXNSL&5rEOe!Q83c@OXBBOJ$P_yS+z z9KOYOxPl*ZJ-_01?&2>z%=IkUnTLgVERSOap2E{vm*?>kUe2r8j@PjlZ{R@Q#rrs# zk8uK@<8;pAn|zz^auq-27u>?{`4fNT;m)UWG9Qm&DVAepp2{;=pBJ(*o3j-=up9ew z00;4Ij^x99f=_b_XL2^@a|xGoHP>+yxA6z=WhUoS*_fLJS)65Ao>f_sb=ZIxvngA! zEjzO(`}0=b$$L49WB4SWa#rf2cJeoyVk|(edtFt!i z@d94TE7+3PvMc-WCf?4W9Knb9IG^HV&fsgD$Hjb~AMrD8OJ&ZY@%F0|Uz+x=J zlXx;u<5@hH7qJPiVjFg14_?n(cn62^0Y1v{oW!YonXhvJm+}Ly;Rb%qZ@HWMnA!PW z4(4THmf-QM$ZD*`vw1!nu^F#ndv;-O-pJcHgv0qD$8sW{=Zk!mbGeA`@k6fVm)y!7 z{Fw)MM9^mu_FEjq{4C1SJdsscgJ<#_HsoczlC9a1-Pw;fb1?7W{d|Pu_zYj*OPs^E z_zqX_W3J~{+|FJ6g@@&e*H3olVIdyN<5+>G@O0MYdAx*|^J=!^b?n6(IFNVoK91&N zoWSQeowN8R-{!kq#ZUPKxA1%Z#9w)MZv9`($75KE1~`Y{d@j#=acD zLA;wI`7od0)11PYoXz=M!sT4eb=<^l{DFI!DNnq9vN1OcvN+4KJgc%M>#zYYW>dCc zTXtqo_UEmE%>jx&g*}AUB)`~vx(dI1NSoO7t5yqCpQbSILk7+53H*BnykYH zyqHbdf^FHEJ=veP@=o5%Q5?f3`7EdL6~4iRT*j6Bgr9RWzvGYG&n)_Vj^xoS!je3J zl~|p%S&tX+QeMH9yp~Znz$5hg9L4-B%F;ZMRak>(@*FngWxSHD*^%AZk2iBL@8SJ?gyZ-OU*Joe z!?*YjSMX!5=U3d$UHpZI>G#RbJS@axc^oV76rRqyJdc;~a$e1LypFwi0|)Xh-pA2= zj1%}Ar*jtHDze40}@le0OWOSqh?xsIE-jX!WNGwJuq#@sB(;w;PZtje0K!v?&VP1%BN z*_l1rpSSW(-pf%O!zcMHr|}iO!G&DLmHdRCb2Go=kKE5J`hAY%(JaD}Jb{&1owZqy z7w}SE!Ir$1UD<~>@pca72tLHe`4lH}24CYmF6R6Eh@WvIzu`{qVNAbIR_0;>7GoKn z#FKd%&*Hhfh)sAE+prUR@Os|DJ2;FF@KKKEBu?eae4Puplpk;nH}GqI%iY|^%=&$D zFfR+U1dnG$R%0!m&GXra&3FylvkQCkM&8CD9L@(hmJ|6rU*xNt%SC*TA95|f*2rc`ik`NKEB@n(~kEY9rwF4J&tmG zJ*US}j@Ltd{jBM6l;ibLRex$t)?s=a<#_#6(w|zLwONlBFg=cPyuQ-oD97s|J&tm` z9@66|$Lry@<0${4-}o^7quH5M zUdk)jlGm~;`|u{-&Y>K^hxj<3;$+U?Yn;c$e4iijGj8NJ+{rzRxn3|UbFl!6u?$b* z$vll`@myZSCcKJm*oi%OJ#XP19L5LuD93XWr}AaK&IMe`54eUK_%*-fZti1d*9+!g zUKVBv9?y!b##%g^=d%%;@fx;g7xw0jyp2ORoDXs=C-Ql|$X7X+i})TtVY|W1B&VIa^gLx0{=OY})XZQkN;vBxkcesKd zb3MP}cJAUYJk0fq*_nrhcr1@&1)jpwS(oSW5?;=$*^bw-7jNJ|-o^VknvZb;pW}4S z;+uS%?{XDC7hb?Wmm0$75KE1~`Y{d@j#=acDLA;wI z`7od0)11PYoXz=M!sT4eb=<^l{DFI!>F9X+IfAKt{wh|PEn+p`OM^G4prAso&JIhGUoJYVFioXbUgj~{X^zvNc# z;Lkk3BMQdr=_uxBQI_V3til>RljpD@FXNSL&5rEOe!Q83c@OXBBOJ$P_yS+z9KOYO zxPl*ZJ-_01?&2>ztWdmuvNI10@mLj7G#}#x zKF8^t#W(pj-{mTP$}hNu-}5K_%EJrC>nSJm@fen3IacPWJcIRlAse$fTd@PXu`dU3 z5bx$lKFlZhG^cPTXLCN6a5-0V9XD|sf8btbDiW`sY|PDqEY7kl&#J7+I&8p;*_18V zmYvy?{dp_zllF?^EGavERZ8(hd`T**)PIXCk={>c5za!kCQj^xoS!je3Jl~|p% zS&tX+QeMH9yp~XuN*1G8YT5 z7|ZY^p3Ku2{4A2bo-XJsSo$xzo-RE;QG9z#k53e@hxGVF@p?#)PZY0*^!P;adPt8? z6t9Q$_(bt~NRLkxuZQ&bMDcn^k53e@hxGVF@p?#)PZY0*^!P;adPt8?6t9Q$_(bt~ zNRLkxuZQ&bMDcpa==emV{H{HQPx4t#<12iF3%QId`3XPgW`4&Xxu045ZhRz-6V}38r z%3LhKVl2axcrs7pSv;2)u?eqY8+Kw3Ue8;22Z!+iKFaZ&#HoCluX6#H@&m5n27b+N zxtsf#+3&_Vn3siFg2%HWtFac(=J{;IX1s>&*@eA%BX8pn4(Ed$%ZYrRFY;B+VR z!aF#O5Aacr=Oj+$%Y2;+xRf7o4L9&>e#_n5$IR|C%fY-X%o04F6%_|J}=X zv)|taaVUp#G{^AIUYy_UGT_ zxj_Fe`-6X%a%QxBFy8U&8BXC0COh8!+54^hzNbZ5nkTXfYw%2-!-l+!S27w$E2HCT z{I{*||Fq@(Pg|bxNxrXtw48tT`^A;33{PZbR%b2NWdr_i+xdUAe1CQM{-@_{$=35< zyLI2y=Yr1~^+J4k@{io|cd`{DK_D4N=J^$19 z`|0gJz5S=R|5*6=zk}_Obo(S;53AM3XZ(^|_#Joi7iQAF%*vyftlgR3|D^Xn{|@_~ z^mdxD?KE9a>3Ryk&;P7`==AoK-k$!M+tZ)bjyX;{C%wI9Yg2`V0eXtmSQIW^#(u{uJtYW?f&*V95$msgTE6ulNM|NjFM*YTv&ELcO`3T1`x_;vY^Dl7@-{L!5 z!H>C~UvWEkG3uW=%>E!d^RN()Wz?RjVEz=I&bmC0(R0r(H-9zT@jCWmbUoQX^LOz+ zj^<;Gt|NQS{B+LZn|zzm^<%5df66boh2Qfh{>sB$H=UFDcnnLi94qrwp27OOkd4`# zt=NIx*p~x1h<9@&ALbK$no~HFvpJtjxSXrGj+?lRKX5NIWsZNZvN1OcvN+4KJgc%M z>#zYYW>dCcTXtqo_UEm`=~Vf3x3wX5Xvq%+2UNmZIjP{mu#IEAkZ9 zWcq%V`2OjS?q@mMe&T#KVl!UD_UyvmypgwY2#51Qj^#u?&lmYB=W-F>Y>B$I3jFXRtmmWMejGD|TQv_T>N$ z;@up{hxr7b<`mB4Y|iHrF6U~l<0fw758TU4S+$3ln*~{%Wm%q8S(A0xfETkVTd*xV zvnTuWR^G{bIf`TWB%kFpzQQ-SkjuD|pYU^T=6C#&`wh|PEn+p`OM^G4prAso&JIhGUoJYVFioXbUgj~{X^zvNc# z;Lkk3BZ7{V@c4EV^Rp;R^F&r*4W7w!*pQd;O15T4c4t4{%)z{e_wx~s<1>7LFL4gv z;yYZykGY;-aXWYM7arz0L)n>!g?KEFV+EeV(^;42@e*FntJ#j%u@`UPK;FgsIGT@f z0-xh_&f=SVo9}WJKjjzP!tePLf92u9HWY40Ihl{guoTO&GEe0htj`PCn9bRW9oUV1 zIe>$BH%IbeKEbCsg)=#u^SOk}xti;^iQD)C_cD{`3uR+&7G!ajWqDR*P1a!pUd*O! z!M5zop6t(Cc_;7XD30Nie3sMr3g6&DF5^mm!q2&x-|r44i4i3e3aukiBtJ9U*`fY5C#t-O=>aumn#Nj}SIe1>A(wF_KjG)x%-iP8a~FT%VV*OToq1S@$MQH<;3+(vb$K2y;pM!V?RXt~@dgg$ zUA&K@`4}hgIZo#+zR9=wE?4nWe!(sLoDze40}@le0OWOSqh?xsIE-jX!WNGZl0EXKof`ah7FyR%K1r zVFO;wrfk8s?986*&s%vX@8u|t;gfup)A$PC;6g6rN`Au6xtZVbNA72q;_-Sql1H-$ zOY#I(Vs+MLJzl^|c?DbYT6Se0-o)EElq2{MALmn?%o%)*^SGGr^CN!7jr@i?xrec1 zi#H}^4fiFiHbU|tqx2_Daitj1bAo9D9;oADa9XBYP7jl7LRIGhi1EGP1L20tGj z+^+_wpa%_3Ck`6yRt{R4C$b7_@Jyb=hP;edvNbz0_*wU0{-7KDpno(UbSM07T>9_v zdinpYhoG5uuwH}B;h@K}BCD|$&*u4T#AdvP?b(IBc_VM*5Dw>q9LtG(o-guM&gCM$ z#}B!dUvevV@Mj+25w3@d?i>EQj3X9}b9le)rdt`9rid|jT$OL#f2W;-rYF9&cC@8(E8 z%qRFXr*I}`b3T`FIahNXH*p((;9h2O{ZlsPW^pMMUX zCkNeS2Q9;>f26Yc>Wt2t>zZ%Cix~BjG&kRp?Rg!0@_OFPK^)5HJbJYGF&xilIE6D9 zoln1Mej&Gq*Ov#Caj;(~D8#|`UsySndf(8sPwO^;eR{?17`^J#zJH%srFO0Rw2oD3 z)4O-9Quv2Tow{}E)3QVRJ}vvT@723g_inLDz1nxF)UJJ-z8zY2>UM4S;9nek-MUSi zUhVrOzT3K2>uw#|2YC+tgI?V_bm`Q)&;RweuC3el3bGsu>e8uO`zUKrwpgXM-Me;e z-z_NHp_prXweA`O)opxHrPh7=^y<{6Z=dj!I`rz^w@0v)8J^Y!kzpG@n!I8p};=(?XWN{4>;`*eByCNa3Z;H5f332^W#D$d*l`q`(l9g{j zLR|k8abbT?l<$TVaibFA!ak#9pF1ug?xqxRlM~{?vL?$nDJ9aEiFX32}F%h%1{A zcV~*YaGd_Ae0QaYtDO)RZez)oBfMWc$`|f4lf^Yjh`T#QT&sk*ds4)8Nr)SkBCdZz z+`TE{1}DVbmm+RNLR@%kNVdG;eeO}cj7SkTDIsoTiny5xardW)o0|~#K#I6<{E(=8 z;l3f+a)kYvQCxToOcobD*DZ<*`<#=-h4<%2aSx@4+m{gcaEiEWLH}Ts?~xR7`4i$E zO%YczAuc@DCtHrNA2#~j$5O$tONg78A}$;cAkr4Mvin#E1hG;p$HdM0Z2=7mi;=*%|WO1Vs;$BM;H!dM=c8a*k32}2$ z#LY^Gdp$+mf`qs?QpAP7k3`EGo?9hb-tfNqC~j_wxXlT1^HRj^N{E}EA}%aY^to@P zh|8G}w;)Aa;e@z_DdNK4b)wIGJ4IYL9zYbgC`DZDgt)~i;?7HmTaqHKNkZH^DdJis z#4Sw`*CiotS&F#u_o!%j-%Sx0j$;tTg}-?Rvj_kC?fK=1gt+%p#66Y}7oM{u%Qq<@ zZbgc?nF(4f0FY{7qj6jvdL`R(T>esuJ?4a5Z;oYn?GVLK?AqR*`t{2_brUmb4@ z+mbCdE_faGA9M^1bBE=+Ech?_H^Ix;O^3%~mxnJ*(R=NK`RH}{)`}pmWcb1qz1KRJ zPyE~pTeF3?fF1nYu%QrK~*D82FEML^0 z^LzP51o<*YNmAs?|4X)5c+MZ@i~4hZFW&W`(gP8rO09Je~s z4mv^7Wcg-h$sQXL?1#d9QGd?w;-cFydvlJ-}_gVXqreygB zl*=BQ794BB`Wu}hUza+u*pJ~C-;^w0g-XHtI5M8^p&&L{`Py6%i&Kgb0 z)<>3Wv&R|*DIr#gT_d|oKd#q+e?$q!Sd#c=X*XyzHYNAXk_#ScOT; zw)^kL|1Vj-cEP}3-v=RKzNIPhy|O-o+w)d<_%w zeV8KO)j__D?60~6`Njo#!ukuo@=43LCde0F0~<}z%inH)IlsvsTO7O@<_o@3N%NiZ zW$a+T${*!hwJrF*1wmoHPgCTp7vu}Ra{ri;m2YE^ucYz?U#XqB z(tJ~cFJ*@6Z`YxGK@pPXTe&4;`346A6GrPJ_$Nv8{j@b>`Lg_UDBm|J@)g|{i+vHi zA5F=&m%%@0kCn5%Y!8By?XUJ{FyG`ohw^=wBH#Mp!!lC7ReKNR+mRyQyl*p>Z{IJ6 z^8Jt^--Mv>87W`c{fF}HPLc19;GlIB;n<6 z^Q}4%v`^*RlPcfNSZr7Del$g?f19strW~<4^8FG7C)-{o1eF`!GZan9^0hlGM{HaW z7w%8@r^xqWP#JZiWP!=@WyzW&)+l&C%y%F#S^0Jb`R>m^`>IKhFKSo!e_K5E8p}C<{OrfFMEo7^MZT@qrwFyE8k;5zQV!#;rcx?MZVP;%r`S3UwBVx zvgO^L!FQUs;WLSnZ7;ineBmmR%y?oTVG$hR!W7hYo*P08|&3i53Z;=+8DQ{=lMSXqg`@h8hSAQ*^yi1l%DihNaq z##Kg+A6e=is=x4=RmrxObAx;t>2E3)7swdnEcw0yyDr@tTn55%*>iK8@Kcx)Q5-+|M?+#*45R`1 z((BM)kAEz?0sl7Y_$I*3I=%(aT*oZ{Ep^-q&|1fB0JrM6Eufu_+XHUXaR)$09p4V< zq~kjPoppRCpo@<00^F_Ru7GYj?hfdoKMk0mi8?bbRB;U z_(sRy0>0Dn_kbUCJOeOO$3Fso((%uLUv&H{V3v-51I*U(?|?sa{3qZq9nS&G)$u&Q z-#Y#WkOv5U4LoRsj!QtL;~Jn*$4!6*bi5#7AssIaSVYH*0v6Np;(#S|yd+>L9WM=7 zM#swnmecX_fE9GSBH%wdUJ0$;>&GYEH^khOGevJI{|H^m%AM!K*mwd9o#AzVKy2bpL3PX{kA_l|GD#`%xKYofU zZT{kw2GsymQl^o8`GqlN#TyMGW+7gjh82b}hYCzdB?Ae~T?1!xV>In6{>vO;TDC+P z#0Cw`;0l}a&1hBcL7?ppGKirSo&Q=sFjW|+fOfN=3Bc6&CU|+?WRMj~_kw`p*-TWx zJ(IP|Okn~~J!1TG%^(|R6hGmyyR&0iHnk#nt!?)%cNU zJm(mU{6;F~l$cUcGZaw03-Gfn*c~%qA0Fj~f}IN)41K$^n8C<%p<)4X&{i5$x6*@w z8%LnY_pkuSUk^(e`|E)tSIjAChiJ8N#+}Ub;KqlW=In(?%($-^6!VP1XcVrUZ|nZ< z@N*P+q0Gm^(2=i$f12SR?d^caXnMO?89FxR>na5zKfl5=R?RVV?87mz96vhKoH5eS zaRNs)2><%wUy*;%tb$ApSdlbbljs8(AqsRh6s?_)4-+eyC06CrSA$k)a*Q;z_@7}U z{wItUO*o9%5SxmB`C+se%s1N#U4HcWVYHaeVeH30Uf%w17=Hgx7_I)l!zeW_9Is1* zLOh}K55LK@*Fd!mg$s8nEQ{d@l{3g<9SV0W+`e%C(zvevczrfkfMi_*_cbja7>gSU z*HBC_;Y}*mp$7d`5apwLl*dyoOZ6)DFHPVVESk?(;MXYHzjV98xED>RYsLR4)hNi4 zC8?CLTZQ!%S)(v47Wm&5i}a&Sv?bqSQARQTN>ZI-r4e(bVx!BKq!Q)V!Etf@LJHu; zEKRal;lh6}h3%Hq-R56gy^5Xkot0{0$d5%Q{#PWpF}$kd-9r1HA0s0Q)AcY_tTv5O zwVSC!G>jh!|LELuG+dRdO{4#EhyUg3yfQRGm0_h3|4ZrrACrv`1zrdI{8!Zf!T6Qt zpZ`F{E8*XNuF%8;mESh|+k%yEEWalWBx@?I*4_-vB@K;QLAEsgRg$btp6 zLT$GTgDfI6qgf@)Dg_E@<)$^nlD|jefk3T-Am-NWG0o=s_z?%x3p`i|7Jq2D6ReT0qYy4wZG)Qm!;$KOHRQa4&}w2qjK z(UJONb)>;K9cegTM;cAgk;W5sq{$>5X*yX)noZG>=2MkyF-`BZoUS9SX6Q)knL5&D zmX5TYtt0K`=t%pyN_Lp1WXJhBq0_%Q(s_Z7bXoWp!S#1o^ncM>+Fw*NYuy858WReB z`#vJHJ`J#_8ww5QcIg(0cIbJgTm0a5aw(>?MP98LVq#h5OE0F}pThW(6>R7GTsG)= z-H3J=vPaF}hs;PbOvtCVLJ|Xa@vIedhh<`;xqXVcLoXofn-y){D- zWVM$3ZF(`ju|s}@b=dp8Jpyfx15@fmbKBR2B}d>T)C@m1GwxD~B`Xx? zcEB^HOrOe<>r%P(vE;}vyRc=u7?#QF&G-?lYnq{CVU~Gr&2;O5EIG3WTllbp{WcC@ z$y1XVUxqA9Gq|^8ZWH9{nqg=DHSXNNy30Q?z5EVtpY~-tFCKHdJ^v1yiZXrFQTF9g zo9Tmnn6j-hTYh5B_{Ro}JNIJCMQ$?1(TnBXFlaSHv$2dX-^02S@}E(8#kl!iZrfeu zIM=`Ab}ja9cxp~;C#?Z<9s4uIaU)xpk;RsO?qSN#bf$cCVZY0VviyjlEdK^6JE96_ ze0^8O8;xeJT?Fe6+`-rDG@jd&_N;qj6t~`!xP8}{wJL9A%g?YQL;Hob3b$wZ;9bl; zQjICgk*?ypHZ$E3xsYb~lYf8O^0Q7~kBMC12$~qo&p@v#<=)dw8*( z2AdckAItLNG59q@xw&lftP^Xs{lWBJNM1F=FMsB?$bZLt3$fOrYfOK6k!?DRVahJ# zyPDzLUB z!+NP1lGih(g&RjwApc1jyRgR-VJtHV^A4W1KU+H-&yrR1Z5|xLl*gD#HN&?rtXmUH zB%W0M``j>sDbY<>rdk}^>3^ENM>l1P)i9>ydGOVBsL7Ho@-1YZW%`Bu>l&Odlae1p z*E_8H{VKN`N^opV^53^rUs=A@TedSinq%AZi`!3=S+Yz=wtTE2Q|`B6nWp)(#FrgR zUo@F1arWH)!Ze6C{1fAozp;FvJGY+~aC^Bdd+d6I+vEA;w?TjQyEK2ahL2?W1=J5T zLv!ROnjz&WYdyvsi}9O3>Pu&^jMZ3f{|x8$c>+szFUM`_LXLL-Aa3U`X02%xS*CVZ zw)4@Bqn&Yt@oHHtKh%jS&+jp%Ykr*ReVAgN|D?LV9U+>=|d}GO&Vr;WaezdtC zn9^IY%#Cg=Q|lW0UD2Bk?s^;ss_lez!?Vca5*ul@6I#)k}Jy8mi!=U(R4!kw>fVgTD|jWpV5 zNNK@-4=mw${K_!BZ9}F^-@+EMhcf;f6)B^kDaNeP;Pi~!lhxV#9b^m`iQn1gwH8d7 zna9`YYQ~m>^W%9O!Sc6z@EsVihUv45Go{W~Zug-MWHfwS$@D>v+}=gP0Bcj(=70kH zbjtPM$Y-Jep&2^kUI7@idhrgBGs|!VufgyDv{uyVJZ_9NExQB04b6fvZ7X%V0$@vm z2dN$H;ML2Xj5)YT+elsj&w;)+$7Orb_NnMa(#9LG5=Ga314NV28OCDB_BXEX1QnSN zkysiXh+Z7+dIXVpY84D{lBV!WdWw=zvC~ddDhh5|0@b$%F_9uKqj!dy7DAj!RAn2~ z&yu(T$t&b|8aLuKdE7wHT6D?;&qn;H0I*e<4+GIwj9QPLo#?$CmuxT2{D#eKBB~4A zI*1qTVbf8p@k4LB@E8vTCoy^&E^~)iTn7ryqUv3U>=fNbLC;0BbjK~q>_bN zhex|rKIj7v4$>nMk6@=v*^F@Ag_+4-y>y1K$&9B`@z`}^7{%9PoGfb(XP|6(|9AY z=mu7T{I{*pqLW~kaH)w)XlULTW2MpFrVwe&#U5jmY9FLQH07$BvDwUJm>ZfO#@cRd zk@g&}Tl!!;X|3X{fVbYm`BxjaYq*xSyLe=`Ycd~}+t2?2dWYr*LFw6RCny8Ta&9uB zY%qeHe7ZU)^Exht*0M8^h;Z#a&Lu6V>%U;z(RAe;rB07xMQOly-)_vN@FzM8)PD zVx?~-L8;;L0D;z7ng_g|R|e>f{c|DH{0vGrTFXDBfw$kpx39BU0=%o`49NF-T@V-0 zzvEQUhxF!zXJqNRJg)IuzB(s-RgUbyEveP*D|G6oNyxSCWCw279>u}!|Em`0BU4ua zH>Y(xxGku~VDv1h&2j(_I-d*RN&Z(LxQBu{wZ%>04Dk>h*oQ1w{e8<`)OR<_~JmPkXBvhyoGDctQlc+lhj|Ky(v@ zs)Fb)u8e>q4^ikjz!A~O7sR8&el#5U3GdDTQNptWj71A??DDl3vGpm4=S2-piZ6(u za2UHGrZ0xxJu#o>{zsz4Y=}G-TX<%AF3fqNNf)<6z#xoksrxcun^)ed8XxaG8|fpX#lr!$GYt10Y-b8jtci8aBT9ydE9KA*h~X zb3pB7ZU+6n$viy`x^-B8`~G>m0Osn~kAXs?Ih?LE&1(Zni)@~*Tc3Reyq(p3=y%K- z0lZ5r-_PzXyTNX+p(BA0T6hllC@W9MOtM`I%B*!~VP|1%HC)P)%5i9yFX6X4+SmXq zq84MER~a#!FqX$Eshu^(^Ps3NNU64kCL=%ZkED zI=PJo@iooj%X>?k8=?1(KJY7q0d*hoH5ri|5`HMQXptg50K_QKm9xVb z;mZl~39)V&+HHpgj+*scp5$_&-Os?l$^(jLZaM>^8}2;g*a`~ z&PtmB0O#biny_+F_8J2#m*jk$V`$H0ze|vOF6ZBb-b>kyXO>rT#t;~LEvuCQ@r}&p z3HhD$<@e>i^cw__DSP|@@uS?$E7}(+YQg4LxwsjOWy|`!5&14>wS$MB($W^-m)ute zBDr!YhNhM$bB+OgRV9l;AxCvbo~hYsN4P*^uMMsZ-ZpJ`Du9DFpe=~owRyb|l9P6v z=gJ-0zOk?wsdeK_IZ9ho36jy;XkMIRw7EEY&`xN}+Cnl`i=P9xaavkC5aYF@Jo}&0 z?lp$qX>Hj)=p|^YQC-q5X+;RV%UTHE&uiMOY=B!@>*KI;Tl40H_>T6D_ptZ1dnLh3 z)ykfP%?H}m%J7h;W#Y6|d!#Kd@t=t;@gIbPnku+vRrq{-JRi~d)iW1=<)9Xv^`t3gq>cymw`K`%NcOT##aS>d`A@H zwFzM*pgYlL8@x=~a~e=1Uo%X5`v^K114Ec>Ec{{whH*ZC^4B|J( zoHF{soCS5L4VopjXpNo~y)=i8HMuxL+=fb&f|sq-@E6S4l4=i0JF3Gs(VjN)$lpeF zdE#`Se|bH2q^rFN4VNPt^(^%X+8O;MZByF*s9U@VzB-G*KY zg}C4r+@&m@f$!0yX^^~6MNuBtQmG3n_Syq7@Ou1^c9w$a&vcb%j4#xXXQ(XN$1n3Y z+SCrcY}&w;8{`IsK>R_Ixk~kuI`9nji`F4E!VK)-2uHb8fNMf|WKkXpzv*jhIQl~; z#-L{|E-izH-NK6JD_1d`XLWb+oU<$s@%=N1p2DvvB=?AduW={5MB#DpzE>1^3E(aI z@eXRAFmP39zo?5teazKkUm=!*!qOMONA%>G?T{$%4o8PYDlhK7qLcx|BO;**h)2aW zcNmKmW=ZJ9i9Al0PKv%WAbCpE3_uX4g)cv`1W}|G0!$Q_A3@}d7{Z0ABoT8RdS}JH zpXi+vb>2bpyvVK&4-bSFCua{uc1h?x682o@dMw%|L-L8RPeJfcMNUVkKNG&Zhj}i_ zrbGROh&=|kFU7&SkbEU#rh%9)N>zf$YY~EP8nic}%6@>iBA_C8??f>i9w8xex&&h% z#JLV2W{97>2gwl;%fZVPqd$T7TcjZ2!FrRi0v^m|p)gpnkRkZ41k29w;}EfuaYpd0 zr5E2_8~JB8qTVW(Vz;8%${t&ADRwfkDfH~+{t@VHlRbw(!9kufLj9<;8U;N+xi=6t z{bglq_zRH5_=W_^-dr*XlJ)n17c5t7gu$}hZdr^$L{ z(R(D5=iv@MmJKk1wI_0}H^5U_!2s{iWEgMCpUYk|A^Ae~ybQgUas$7uuVf0pOX;#Y zmpxz0b-aUpBS-y&_qTFmI7HsbBnPO!mkVb@A3Ui#(6das4s9)^V}130RwBTy01rd8t|)MBdxpf9Pn3Q;Y4#0${! za$JyKQS~JxR~Eo2l(wqA9jvXc{07`LT{*#6Ykdk9)&(pBWqn$4P&OKbz;<#N3Xwh3;VoQyQQHOp-gJE}c>Bnjcg_1r zRslFb^Bw|(Q_W@IMbN(s;5Le?R0fEq783ztXjc?OPEd=hZBZns5#gPZ_gu zxhE-?08UW=kEYY~qZW7xG@AEtiPUNuz!|Fl6e3A9kqdWc>DdYN&e4yN=$)r=^U=FN zQ$N7NMS9KS?h=(e4seF5dQ-6QLh5V=ow_24#@e)+(|1NyQO#D}zg zB=pkAi>vu>Y4K_3y`x4Op!b35@wPdGdh=#DlbqT^@*|Cl2JsWUt_0#|+QCER3uTW3 z@hkbQ12K!Hwt)IK3gHYpo1Pfp?>k++4D}!6%7;lm>F`JNY(;&pK-h`oc_3~RHK)Uv zgJ@m@L`O0BC)Br#b#9P!64{So^Pp(+0+K$WpoZRIk;Iv~uLu&5JR&x6Md+xQbqz#6 zF=-cw$He;_81ok;CV?0r7E}i@P?YxuF-T0yf$3mT?E(S}5vBPEC{&bo1o612z()mP z;=v8r3>PU4@g_%z-kd~6ivCMLj1u>6!)CPb;1LodrmX?-g!tnG$yl*F2D~`&ofHd)z{4pqiOXT9McW)GB#6hwppYm!1;NT05zjmFB+&~&wcDb#9~AD0ambssWZ};5Zi=|`36gh3he-(Vo|q5{h5N#scets- zk&kvCh`n#odnmfrgxfSRrYpcBvGf~wk3}KA%qL5PJ|KP)TU$fnvuIHay)UA?6KsAJ)n))>iJg3k^-UyjQ7Ky#;JM(t zXb}V}KZMO)xcwbh+Hwj7b1D0FwfS%Mc5XY{v(1{m3^v_mH-76pMalOc4VKt&zZx1Icg#t9gtUe&v#JPo z$&R@I(Q@xAn2wR&r@%WQzl;Kil~cci7bo|vLN8wS!51Y+1kN->oY!O(R}gQ=7e^p+ zQ?}={?v||g6vW%|!g=)W$j)4=PnMqp5N?WG#3y)n<^1s=-jlg&KzuFVNVt6?hu|~; zEAnVQntd<3a8=-g?0FEx40+2OAXA1Hhr&nc$yKjUGTa;Bvkdltqc5@pCxCzCR^A|+ ztCc*JSgLHGh{{)eZ`~ReQeIu4*W+GH$BbF*x#3 zweCUhkn+s{&sTLdgX9ranG20a)uHZi>!)s?0xv?vaa}u7P4onaR_nL|6Qc@nK5#-U zUJnqfOuVRGP_y_5@1okvuheCAFaZ9pD0g3gtIBo&Y+h6I>qF#$`oh6KRF|3}h)3$F zABc~YaW#xRQJZ7Hd#akffcH#g+RFDu4dF9|&nlG1<`;E!DtKR24$lQyDxNd&Z|dn| zfNV9aDr|mNsSH z<4CRTa4!3{n^qldhm(`hb{sPmmO8odEZg~?$I$8$%XQqYH+etRZEG@u9#OwLWJXRe z06U}0ZvuTxcRnK;yPh-0aTXtdkGJ8opb0Ix_&4!kHBctiUJc6R!T1VNn^J^JFjIZH zL4MjTK6RYF`3opB>h?oBbHE%(&RS}PcyJ}~HOFZNWad6>1n#``f#9y*Ssj!$n=L_E zw+`Q`Y3sc>@!a6fnZU-ND9CKOz5?DI>6J4KZKqTot~lcwI3&#~0t- za~$v<8Lxr&>U#!ay=U-b(#Lu&4E0UsbgN%yPV4%QafZx*fi)mAaAq-R4N80jeDGsV z6^CrMfYwmg8ju|3!HMMXMnyp%QL`8Dkz4Uyqc$q#3%H|q@DY$$A8r6; z3nmNBPHzo{X-BH%42}~u<>YS%wT}RBroD$CvXic@g-vhj{t%M;Nbce^SaVo+UqA(iO03s2zH44N?TIvI06!p3Z=h4)x6F>|#xDR9Js5IZd z^VHZ0k{9V~D2!bqpGHu)OapjKrP8U{xaRLZ0Anv`Mja@;Br{AnI5C*m5xsQkvK_tG)Qk(9ZzwDl3U8?_KZAEf zJS)Ga_&ER{XdAD%8I-&Vyi6MV9^fM_Z3WYx=;T&_&oq23tbC#5qcHuIuB?Dw7A?<1 zxZh|R?;x_NG(Y_BGVskPSBE>?kghYu3oOVZx&kaGmE{5@L=7y-% z9+J1j8s50v7CD@I+z}giUzaS-EQDl=xcC{d+!bXl5!pQvz_0gxao-5NRFO3eA`irG zcYudtD6b`HV)_|ac_iK>!OCOtm?x|!Vh>mNo{C+3HuOvs&4A74Vh)>rAwKgS?4@|a z5B!zbflmvORF&mT)Gu-WBNTFl(@Yr46Wh2B|65o)LgA0-%Bh*TJlF+13t9I%h?X*A zB7l|bVuBTGIm-oZZRDZF09$3PSV-E+h=~Z$P6n@o2Yb1O&l$E!cN>T}$Rgd)J1TSd z`#3+jel4u{%j>^D43I@UU^-Cx3>GLRCQQGTeNKV+PCji2fA8fmj^%^g*d4?S z`Izf4nR4JjnEoh@`0^jg*mOQW{VXf|1o$G~a=qxQ{4@u=EZK!m2*1g6UR1JWd(Iuc z%YPd~DG?}ss8)z<;wh&sZh zp`)ro79{=DvRL$vsi!}n;IAG8q8Ff?$G~l%T2%R)SS7Z^%Pb3%-U><$M#w z$k2992< zd-kyMRkh_jFH3Fl12J2<6hkcEm7NWO_@R!JMenD&bpTduv{C<}w^a+~nx&n#=njn8 zYwPwvZ<{vj9Dsv1kzX(m&AJ_Up4zN5^t`lZJnQe(Mwf#lZ_WHW)c0w%xOg9^%`ORI zkk-%%#1Jiqi!`CyhoJz+wIqHg!n6W=;5{6PBs^TyPMHB*(pvNUc|~j52_aq8MpcKS zYg#=Xc-OUapP+t28^y2pO>OdMc(|oao(PfK+Em^)-O(mXfMo3sFH$Mm>!I*)SJP^P zcu#Xa4b%6vVRykx)sFFr%>(V$S%^H;%sYaYrUi1ik2LeS0FSj~&Y+%Xp@X6RRLiRY z;xjE`Fu-$dnZjkh&@B0c^`$m$9Rhr%*|(> zAMdq5E_r^?e0k%Np&j9@JyVO~H2Q3%)4*li~O>KVtub1`*_dXN-1r&^v3qbsXyFjN7oc(asw?;(L1Sg0Td?c+)N# z*PH;jWNa}Tl9!FkIUz_jeyIuYz_|Mnt~SkR&y(sSW6ix#e{7uS4&oEzj#UtOYAnL5 z(=%iLe+Y~u$0a^${_ObymT!P(S*8F)KQ z&V^vi#k71l^mdtUjfdoJ)8!55xtiYaCfLnXXEZ``H=X4h>0z?sx}T@1vjx=mm=LgV;XP-#txaP^2YJ7 zX>S_TeN8WGBfujj`;*`uHJ#$4LO;_LH+Vm0vg6gs-_(phCkQZ=cmgYdra1!YL8f@l zeuGV4d9xm3$`}BVP*c+^7&~stTL6(TQ!t+&hMPvUfnJ0uxh05^rl$NBB$}2rgk+K_ z5gSSEtf^>g^v;=n^OsNOO)p(x^S0^HTc{_S`g2h>#nj9XB6m#zO9Aegv>CAS!sNl5 zqgSS$Spey#n7)vFZTctwIKtGFA5NBO|14O^Hl@eI`*+hWKCk>?3W!4Qr>QxQzn}tf zYfSKq-)cj>AzUwjtIuZN9zv%5Pd;ntkk|}ro!0Qqv2zt4cuKU*AeH&RNgLbI>DE)xjFCd zx0K`q6?59hA9`9)Y9;V3>FO~6D{|&f)U3&wN1qK9v;uJ}RUHI#w)F7_Y}ip`Mf6ay3T~C#gkc5KoaWpHQ5pP+LeQ(Awu9UZsy*o4H1DoC=}b&cWX# zvjYIP=q6_cw`n48eqYi^u6m@C3r{ky>HIP1y`kD~VdX8kaN_We_5?!mJ*_JM^$+9~ z1CT)n8$uzIhRuV*M{<}6kx%r(848~%;Re7LD!CfOue6khNESsu0Qg1&xeS_3t#^R; zo#yd?`9VwgqZM1xdJ%ed;@k?{mu;eT5d`5NzVnpoC?;?zce|J#0N^C5^Db_O*wPL> zXR&h>^mdAA%@Elhk;wZ*FY%T)#CyfZZ+w%*SN;_8m=JtU93VXTqp3i#Vl;R`BGL2qyg|ppcoIe} zsXzkjFz}9%*&nF;(~wnA2%xr{`3KVH zYltC;99TV=zVqKzh0r6OB}3_Y8q|-|sj47`(W}Og45$9QWJS>KGayEir!PdJs4{Pw zqRDdtOvli)3h14nh@J>NmO?uN#L<|K0P$3nv&xfn>5U` z0EKM&odt#O1Qain5O_uWWgwYQflVnqLzNf2aci zm_Q#2DW2hl_{fpcf&w zyFnyU%xMJ>B`#;cO0?)(9#&#R)o@rjA%<)RF;;vr0mO;+;y9)GWPR`e(Y-Z`N-aXBx%+JSdLH2nefi{j`N z@Ggn>pU}H3Dt-g+inz$8uZq>29b6L`e9Nzk?woYr5C;j~Z;FO30d9$|zaVm3c=O76 zN0|SCzhqJLCL~kD&<8N~P0WixFI#Nk*Yt<@kcr+;Q8xwPm*~eI_~4t<9+1ox&x?SV zCsy$U@LL?=`TLJ>&9Ca6ta;4S`9`a;V zE2yI+#JdS|RgHJM7OLPZ084eCFGQ@=$p%ojR!1#Bv{4_qmatXLxDP9~s&)qu?Nr|l zaAdDyj-t0sRq%#Q2jz4L{v6etf*@{JpOVpYQk`o8>`>n)0XVC#Q=qp~&1r+4iz;;h zyr6^0w5`KUorARba*IJY{i#!W}hSIy zm;K}FW>xgU6xo6ot`^@$FG6jtidZ65;qB0iQd26xd$d~86T}#`h@amH<;o*GR<-4u z6{kw4Lo!}H>;}n`Dt114r&I}EvQDeU3m}r99`dF)Q7z%!^%-@z4M39W&8E+)ZJY<4 zQ^k^@cV4M#;9XGbP3T=zWB5bIODggiBrmI%Jc(aXiweQ}RkiXcY+h3r$L^U{-|TIL|KyJ|~8@a`#xAb|U7p$GI* zRU(^ypd2`Ne5l59PL`(L^?^FdZ(O*3tVVJg^F&?cio{bDM;zw9Ci33h`Fj!d+6nDTWwr}-XGPb2(H0gYr`K$ zS!laUL()<+{>~JeB=ETUB zP`}4iMR#Msv!~B|i?&h!Qs6nzYA(peP($92ogj^qkvM8)4_-WVLIiQ?%qB zdZ#I!bKL||t>8A1%B3TsGcxF0*J4v44)ys zA-hhn@|JG8K;a#&=1h8`9wRs93TSC0tbI z0U9CBv!h6Hb~+-95}oTnGFp^h2M{A}tN`zX2x*62tVq8Cw{c=5&u#IdP&I&);^iDz zIVDE$+2K>3k#9$%m6}Vm0u7! zE)R5pdYG)lYg4$i4hAnmzT-c>h?Hx}z*v;b;qq*>EcF7$V&n)eSe}rfyupZ-RXCf7 zldE{g9WNVg0`H{sL9|y9Z((ek+L8lf4r);V6dY9<&egUn^8oOi)K6ZlcPKkPiF8)k zd}O^-RZD}Z*Ro!U|JvZf83_N!=jh~8#I>3par}_{Jkv%H+ zGKgO46tBd4)!?zOvt-6+_weZ>lh08R+#|@~NfS)n33`+wh#+rt>anw`<2Ir0whQ0PFBv zgW0|#-@#nJAU6avU|wlx4SW*|nL$&ALU;1u;^0mhTM+bV^}2&T-7g#tXUyiU^2`JG z!JRef3Fx!O@b+iU{12ea?Zk)j^A2YMpWo6PcK!`73;PS&@QbnV5tsZHmCuBQ#XtF@ zt|gX3U}0&=O`t4m%+-wLR}TVT5yQi6W!rC{tdfn;u8#YNcFieXP}T;=17BC1(~tG{ z`@-giCY%~?OnC?Trk4(|xw-oU_}wyxUl4PeRR$dkD#v9^OFGvCL@V0F@2oYISc^bx zXa&D6Td7@lh}e=77a8n`3c{2<&E;=PwozJtxN@Lc>mlh#Q+FZI?NpsNPEIuJ8^8{F z?+%;Jd}s_Ww}&Y81c-;p zjc0UU>dv2v9HDodY8<6cygc~PlLJsVMsal@=}&RP;WmIWhoBco4J$w)i264L2&OYW zAcj!7AM`?LWm$mZrMG z>cS%w|33w9CF1CU7Zl=Ya5}7KRZ&QV|9DW9he8^KE>XI@z!(Hh>wJ)wx7F#VJs@-uoyeM8WDPS$*m`GQ_7 zhohJD;5B%!Xs|QX(1@LU~j>d6f^`4e-qWyvD?|?`KIdHW$ zlhS)Y~X8C=C$uFJcL5`VyR7yWoY>LDiX1JP4hjR4pqx-|gNOSHo& z@!#pCTm&rCbGr?zX4T%KZT_tu+7=^hA<*g$*Eu?0oB+Jbc{8-#!dAf5AXLCnbB^H} z)6nA1pbxX{55vQM@&qy>5AVuf>!tWytX@N8^P1Vyg3#$^dklE@9{i`MJ-7csOuc-2 z0Pnqkzli8_#|Dah^P1s)_j_Col>XOp(GIB1^~Ztc@6Zlf%E`}QmrIZwGNL&w41K>3 zHiymOa_jI|PVYv9HwQlQ?Gd!2s#k&h=zW|(EvwHXarvn_O64Z6Se0u@eb-4iO8HuEr!TWa-Is)E@X8W#9efVOP;&w8n4Q(G>~^@Zq$uy zW$sjH9(W#fj^}SrS{Q}i9xB5_(TigFZ_W17=qb?irrUfe`)K-asPCtU-B36{Rrz!2 zgOqX%L?4RhGi?0tpPc0!rho1r7GJt-3CSZ=sRFDVrMHvd0i}Eo@QzVN8YKN`<#zM} z=*4~T0_j^edO2PIS^ebAu3&eDaJ&cJQpIE zIrux!4^)e*G8weV7rjgpe6;qF?(jVMiAr??@iYCH2Zb+mVGu6tD}CppRTj;B4ZUyF zgTL%?6Fmxn=q@VquFX@-n-29o!o>w5UZNS#6??@E8}Ph^&rbCAiKiXW+b`$@{2dT& z4?*FeXvBG=AB8Nn2ex(kJ!TjNquXz6&l1IeK_8=Y=k9g+r6Q&aA9TQs~K*3)$ z;v6eL_^$#nP^`HH4?!Z2&l-cphhZ=sB3|%!XrZG1b0{1asrFC^6R-GKDqPGi0g(ui zW(g1}Dsu(%t~gp9;GRei2S^o`Jm?>Y=A2?b6#aO5P80R{+l5Es!%^6LEGk<-@`(t% z4&qZ$iQnC4;`uf7o(tDi5P2c0_<{IREahu|CHi%Qv2;<8&(B_qogDldap50;x1tHPL& ziM{-{58uRK-buJfe-ntiWLZu#U1iOd@a`rjwM2mKvOKR>9y0g}6g*`&o~-xCPJJNh zCF^D)mc6o)fE8~^{M`4+T%Mix%hdT0IUqOA0`H*w&U-N*IgjghhvdLL;2oBYxQ6H} zidx(2)y zdCdd8yV5%vy!-MfSD;hntPJoT$T}aO_fR%Z0xwOjNh z#2V1U|Kq^l4?M@UL+^zw90e;cU&&X^&`X!Cd8&LZy*b}}BMW>2@vThn3}f$P z9edof_p<6B@IJ`0T+hjnifcTtlk z!{09Tv;&B{l?zt~TvaT8qvocpo#4n_`6NKnL(M)5o~O#14zNeH<0RQj#oYvNuWI}p zR=ib-7Esuyl6e=kU&ZiQ!vR%|KNUErif~oPN7efb;vsd5ALC(Vb{#xlRdFJSN7N)v z{Ew;+F);0?BKpDDF}2qldj9Iu3tU5hO5_?tp!&oW?;zE0I`o3ohn=tzqB^F47^>WP z+CHvEa7`*qRUQuYaHYIpGeT`Mff%XQaG^Fzjl7Fqw9*PgAx8NffaD1kb`O%Vst|v- z7^f2X^S5~Qh41G{wJ{XLQ_7VmmeVSWlkx=RaSX;1)tuV^XH@U&P)|~Eb_o8g$~gs* zb1KLJyz|On4sbyo=BmOSmBZOlvZ`$bV|P{fL72X$TJnT+UzIL}UaGS0X@mxTt9|4w zw%!fi?wgtOsZATh2&lLF&=L;XpXL*o4h~!)=xARQluii?A=!Bi|2gWg=oR1&pFarr z$cCIhjQV^M=10Hd4bGSzWg$5>vMJhesqm+bKYtkV6Q2AFYZG5hh1R55{AUD{%NIus zQ~H{toqB*zU8WUm1^MZv*MK`?(^$waE5}R3@)|tmRyMu_-Bq0|!CgIK8zk2_-GIzm zN3QU!3!4x6`Y*go+Hk5cB&{j%BN#Sh&G+1iB$rKgP?;hideDM7AbL{tI9T?f)jaMG zQOPkN2IBu-0|=r{T>gln!ko%R(>QxbCeZIdSV^P_{7zk_P3=LvLeKf0CsT2LeNxDR zi?okP@+WyuDCQuDZ)jXmD7+>AT9EugC)Y#oE47~tVlJ({4`Los1Awh!uqPC3h4&2b zoJF7B@V-;{@v+h#5$XfrCH~><&0#Sn7gl`5+ak~l7JUil>b5IgDs zoDr@SVI@hJPk`yG!nZxtuZgr-AY#dLgOz(?|tyE^7jb!zvIQzpAxx59zef&r3$3cd>9x+Da&9in8pgk5<-plgBVKPxomWt zx(r1xj5hiMgwxmF01;ID7lMzZ-dxkcmo9v45=|2(0mP8Y1?ZipR?Ywy$bsv%m&lV3 z#4c0czEHnH`z}N8Dm8nL$ga_a%g}pBE%-*JksE)X^OzjD>idNHc|iRst>QfV8D;T8 z{+y&Mc%LYA4Zvq=yWs!O^d4YQ9pC%7Gjq%CvKSLvEQ!X%mc(dcjJ?HPV~ZvB7GsGe zmS}7=L6P1;dIu4tcd#L-U;z|C6chmgv4J3{@PE(e`~N+U4`)w#&zZY>@60)8W>@GM z*zg0uHL?o>Ve*z4Ou_)0*fi={HnT4Wf>`o=YWJSzpHYTl%~#Q_X~TDH!y97D$JqgH z#}8eF&YmYz>Epnag%CRO!Sv`mah?a)&ivQqxD*$DJr&Vix!p*3apTVMz`1j4>V^k% zlX~bv_&u6q!nocYCgFS?Rdi?hr2pG%_}&`AB>v6uqYFp_Z@B?@ zBkyer@|HJV0cqj~Tmg8;I~rk}Exd>pk5=C2Tljp>Cuf2C$WPL=*Tx%Y32x`}>BNJv z=ui$~A|4k3ZYmC&zD0G#=g!Y=N#X8Dw zo(VU)p=(5+KR{}QQVzg#VXz67^&*&7=NBS|a+g=)`}NSh7FTCO_eN~nfC!DExeEsI zR^;9SX%dsZhGnw|#|Qp@i{=&Dkr;UT2Z#sdHNxA7sgwr(l1|n4sDX6wXSDbL<1v#@ z;P2SKGN7H=umJY67E@s|XVL)J%w0Sbf9KiIiQxH_m!$vS`#-bbWnk1x*bVYM1dAW< zIOFwCjTmJb6kpY<>;w0QuDUJz+EL>MM+OdVgAIXDC#!%rsLVpQY}`>)CDr zK+V~B1ApfR(OKnrgXiGyAFJqgShtfQ zA=x-`9&9#s)M2Qb%|6Ar|IDO5)t0;y@b=f#yLi1dhT7cQoTy{AJ#7t8JGxV4{`cur z*zer82J&5&)W+F8gU)6gT~60>%^}ARY}iN2r)^oZ z6NGjw#TlGE`*aSRIk23CaP7#p&|2lo4tqg|X}u0y0GmT~ejxjG9V~;`b86lMvnE=S zLs%`9XrXLz2z-XIJjy!4*`lEkVil#dF@m-2hvhl;8MRs?SqLqIQLN%~T>5!dp@&H{ zd*2Vb7Z#I2Iz8G=Nvf8V^PmRZn9_V;PV!<@_^-SR_+er9cDBeTt4eT zw^jkW_!gv)rRX5M%PjwwL^2lvXGQD~-5vMY6Pm1wSp}`I&zTivQ}xV;%7d3IVkF2b z_Ma~Ty=EimroxeVI!n^Ps%Z6XWa;#1zh(D)z%?;v1Ndxa$D46|@7T<47*Y!xw*y=& z8xaojo~@+3>;tRs1>Hv$^*O@Y@lF4N*z>=)Lg>hE(WmLedy{KtKIQ_#y72ZHAg(+| z4-+>YM45m)pT81eJ@`2lfHT~0G>9iZv==xpzM>=IdGoL9L43Gb8i+5irhc{`FaH6! zI37md)r#k%Bj7WUAER3%iN{?=pkzK~JA^5`8T}Ki+Mk^VN#jjaNTu_)Dk5a?0b}4S zllSZdzy-fZ*@QL4P`v|U{&+Gz|7yKE6vzPo}IfSqHV0sH)bCvc0-tgm;#x(Fv_{%Rz8qgEARQ3Qs_SLzLj`CKk~I3z_oGB z9gueZixWm|B<|CsVT|4n0-1;*G|iX_iBe57kv9e8gh(la&RmR&0%swn(Oq{^49QmjSBbPyZyu>*v*B4r%_cETkOLVFQF8K8rhKN!v& z#W+e;d__mvm-G{#(H3Ta_=`&OKv8545+s&yfiOmx(UKJ_bhPxui@bRdCWyg1;Ve;1 zxB=l6;ok%HNU5l&Me(8dhEn%3!A;<$T*TG_{#f`> z)%Qf4qgAv*B+{PBQ*o5m%}UX;FLYI69^Dhw;t0K2&qU26kQ!n29Z0RPq&9h-s70gt z|JI|Q7eYQTKMH>btuz7tXTJ#;#0Wig7e@X==O0EbpyFus{q=Y~=4d8trXL#*$&Bz7 zu$i@gGvu>Z+yrXQG)ugmn=}UAmS3TU>58`RF_@KqQyXj5q^^*xUP14}nhT>L-xiY% z`SvVtVE+#I29ljVUa;AXb5PCZO*hYHP1K46JEdyE8IdDO& zl~VFxwv#IE7*<~gTrB&Jn#J+V^Z;-PtavTBM0SBXQAx~<){-mClG^53><4N#X0s8? zVVT3`9sv9rTT=$h>ugRBSl(ld%B>={lje9nDLcep*z7{M}nC1t@NH*@aJ7HmXo{#ZR?!k z-6{37BD=5VGzE& zU@wGzd_@z4{`?-jX90XgJ4hgxs52A9W2u`K%%3iSFod^MG5Jqr!6~c4enx5Q9zVa^!akz@I#q+#dI&{%I&lJKKKJf)2#PY~F5XNzBX9(kY zh!unh{L?zX6S&OYE4~GC&=0h?I%f4_ydK+YFYL!(t%r6(5S307!|CIl z6t@pHlNZl`n_nX$A)k^v29l|cZ*g_gIyk{*dVe~VGGjMoZZi*34l=8U0{QIY)XbjK zb0@HKx6m^=&vQPo^ZU>Q@|z3oH7sbh#ovWfmqEK|SvCGHo=RoalB`nr{Cz?;A}+mi z2_BYxu>q*%AFbhGg;PFk{+NFS_A4WfL%yotGDuc$pv-v9ixSwZjUI%*>$;}FWY}QSUq*1Oxe7zAT(p`w4r)}J*M8WIa}Wdp#|GB1STih zCllf76#IHKOe`5%JCrNhUxv<#?WLRBn*GrqI2&f_2AwT)zlRanv5_?E+q0&-&^fS6 zO#nDDzmd>6F>mU&IWtdxn7FW3T1;J8LouAWvDLIY@6J-GcJe@913u5N6B2};%=5NS+MHj~bJ&^As6TTbs%Cd;Gw>jHBzL-dQxlP3I2>>6$LUuN4T;jO>I zZ2e)9#ac$d*;OVL!6chyQ<0X#UQiZvjV+Ia@H*Q_bNdbENaY5SOF9Rd#|~1v2+8GW zaJSfI+9kQoj49=~!;bVopnO(48Nvd_=>$w6nX+z!kC8tr+fomQ9aM zG28zJ@Df&$4&4JbpO)lOmK6xVL-r><4v$y|+M6$9{xJ}~V3!ZW@+C8j1^1d2>Y#hW zeolgA18bs%y^+4hVFHpVtrOqOZ8+FKbH*MdHyU2VRN|)bzSp#Jk^S~_*{1gZ}T^_;d+N3s|3mC z*Xgi%0UtykTp>@Pr~NMSPU!A&lg|Mt;#pM4-RI8H5Ek>tpTk)RH|_`F175KY@KUa$ za}E!A+s}yph=*suq>RsQf=N05m$Jjh{Ow_wJmKBxEvVqN(HQPi&K?0?$>-gGWffmg z4z8Lf(pvb8yAA|b!$%nbSIbSPS5n8-ci_y$51m0QL?2tr)QjLObDa27tY2+yR|~IHUsLC@x=x&`Hdo>vI;HEMVy( zo_&uu#8vE|MAuDx_yZB##ovFynTI%N19C=uI0k^Hn6nl-FX6unmfm8+SMcd0c76-u zEBq$H(ht7{44uEoq-rTZEJ;MX1kq^@;EAGl11yt8P!D)X5pRA5NfoCXV3H`+S2Zyhg(jrnM?96Zt#bOziEhXYdTF)Pd zEtY_nidNc}d?;c!Lib2)>43{b$Hf(cC>JxRbMaX0q#5Ojs2vVrh4?uP!lz<8tTChx_cy}*4CcW55`C=Ss<_%=~6442X_W_AZLl76SU%2@huECy&I zxo?NiRLY$Xp^Fr{4?;bs z7v>{>@*Q-(vXlmZpWNpfh`;PXD?)(mO`8jWaxJyE6J=+rbCTrGTR~FfE{j1@5hz_=Nf}s%{G8fvnX-=Nr3-T2CFm~7@18(-NzS_r;bpnf7~F07KU$#g$TpPQ z7syxUB3_~Vmil9N<&0LCJdsb*qg^5IrIvc7york5D%si&fvV;0({Qzoays=H-pc*D zL)VPd50>xbFRbCLMGlzq@L#N7dj zQ#R8L9j_#N!X!cYiYBB)#hH3(Ny6(Pbry0dPf`Fca`BC5vX^tBPv{NVd{57hZCd zT1t(sDeF#yTvxVxL3mF&MSaO4<+3$=7Au44sVY$}QE~Y|*%|<@RM|jF!80ZKB_h-) zAASH=r)1?}xX+a@S~gr8 zseS3`w^xIDLg%3Rd;`}`Y91{b&gv}6AY9ZxY0Ys}qq_pjiLv;pn`wUWS39@>5TM?nn>|q7Uji;j z{pOi50+*^bP?4La zs;I=|bk&~9n+&yylJrdVOB(eBwe#;Vxv2hY0iT!DzzjsVtadAd&ns%*Ita7WQ?%c4 zRh?G@%WQQxotey0xBZ9+*HnXR09;oW4us_m)dEY%|8)pfIzl~gM`zd$`jisasn@4N zHLcVTe`lQg2a=htblzarIBMO@-f|wV=Pcd~?c5)S0yWQxb{gi}P}cL?yhKPA81I11 zLa*!iyXY+a!p7pjefYa1*bCl%|7QklmcGY|Dla=q_3`q4^s%l8rkV4P6AjR=^o+;r zRT;xzzxwbq_*qk#is);Np5pbooBLqDe%UARu)&oQq>bz7%=4zN76Y|;^e1@z=inlY zaEs;7u>b29N4(y;^#r_a8#5c)?KL()?Kp7|_J3>XOC&oT`a-_Tg&zCUIOPbD6-z%0 zV#7Gib++t9CwQ@AgWSQ{v+iTTIj{mMVjP({osM*36;$UtGpAMX<-)L)fSZr)Sp*%< zHPYno&Vpzf^waeypSm;Qq{Z z8@K@0MqTniHfj$ngV@Rv;DXtjF3^Rrca%YdvU(S|4r8MxKo`zJc7Z#~9PWTbFw;Uf zJI4e~9+7M!eOyt@APVu$vjm#6qS*m@D0A7K?{N)zEUg@YZlUc0;cb>emG2!kdOb)! z`z{6X3Rn-?#3*E0T>-euf^Wk$PU;K*u83Wvrqg|v`8R~ctj!9z687DC=pL|mI+$C^ z+^86T$a?+>%SY_H*$|eoUI)OHvxh?fc+6&P!{DE=88q`%uqSk3PnpjgaFwk077U__ zo%9E;nx*Xo?iuS(r+sVKNGiW;ndvTA*0FVMaQ2*aIu1ZR+f5yT7YrE!RR!-V0e{89 z{9*E%y`*1Sdc!_02fTp=&?MK$22y4JmVH4ts68JV1GocE_lD4kkLU}yGruzd02i+Q z49=DRMjNSaJdaN5;(+rW1oGff%K<;b`?v${$vYo{r5B$GqE1zx)c57=DAgd9l2h&d0>@XBCJZ z&(r%NPy#ophA@%0QByRDPuD`1%*Xu)cnaS}Wkf39PbX>8_+eV@(|J`COfvXg+NH_l zI|E>Hf&V~vT|VDUecA%vV*-SCx$j8~=^h`v6P86h(*wHuy!R5oi@C*Mge~E>KY)9{ zJt=xA51Ee$5BaJJ;2!Z!N5Q?}{p^5i;Bikdq__AFwBWjlKU@v2nUAHhyyFWRA#C9V z4G^~Spdi5C^PnjpANZ%#5c=oQxQH3 zKHbI0Spay5U)}=lDQ1iT@e*HBHQ_Cm{0lEWqJXLiU$Nsq2>rxJQ+V+gan!gD5M%#^ zFi^zVfD00O+V%(*>u4nj5$ZAsLxrC9Y{JCsBv^)vAu}MnB&=vGm&Hn&rL#n6K7?1r zHYae|Vk9+>a)kID!fT=>9nr6gdoMr_{#I7b^%}Al^1&NQJ^<2DrPTaRJCZQAeLqrC32rYn9l#9oPO$M1Ko-jktIZ zI{Y+^3Aj3O+7H}wk@yy*UMxC*urEX-odSC)t_%eHm3Ur(2(LxIqafITrK-F^w1;3w zjbctJOpK&4BjC(f8rBIqQ_1iIbY{|Na{x|A2Pnxfmxh1nY1eo zq+AN1wCSiB@G4FCWTFdmv-r^?SLD}pO-;sFOQ`1(E-0I1}{!> z?IFOO<^FUc%tbzb5CB)XfL0PWxzk+e+~tO+zi2tcBK72o$VGzagpyS|5WQF!_+P^QE$3JXR1cfykw?k(r0u+U8sT1Tpbq*p@r&K z2kxXg=Lg`9e?ZioRFu4YqD?yS1q5?q98LJ9UIb*>AXT~@6g zL71h^aYnqWY8|!avehe|7-x?9hSYFDp4y9QlACHm zCq%fV+Uwx#w)!PC_V1`S=%8i3`i(t=1*%IsNTF)u3ZHk?ft2^$Q%lWYQl$E3g1fJZ zkqG-z9YD>hSL)WUK;EbWYT>Lwbz2HuqpJ2q*thD23OH+0*HVt(tS-Ib?5yI=KFzo}`xEM|A|vyKU<23IN*GCOX?>q`CDioEdA@WW9S?-X@3CjsM$cXhO;JbJzTqJ*7te`;(|!xOD9sE%;LdCIP-iGwbBjvg7|l6GjA(sGuoQ741sY5sVL2sbq~)Kt5r zsiSjNw>9D{-ib$=DGtDuX-3d``&g4fy@V&4e0vBhG?{B*`BdXiIYXu9Uk0vGbB^}d z-)b(?+R?1JI1UlsX`(-1xGkC_>PWO|dMyC=UZbPN%Lk3keVBaI?4$|aN}D(ifvmNG z8zHpScK8NDJM9VDGPBnX8UW5gyK6e&j@q{C5ISjpo(STs-7y%057FA51w2%{s1Sj| zwOt;9JF9(7Yj}kAsz1m%?OOV_MWpuE-oQm^^J$qluU(T4VYGHlHC)GN*=caG+SM-5 z#c7Xxi;IrezM;7%L0fPXx*V+?ZKq$;X12o14Xu_Q?Og5i0U&wWj~>9?)F%E2a!Y&n z8<^bIuBAPjJ6fmd;PSOY=ng5+R#Jjhs9i>z3wO0ezd-j?J2nisN^L7mCDqzXbgJc< z_Gu>oYP9d^qpH<*9|6lc?F;JqJ=Y#L1)yF#@*qfy_8nzNt=b7E0r;S;ECAr6cEu#< z+O+a+_-xlMr2Fi&u3taEt#q0FVPd1J8HfwB)fIdOVyF9wrVD$WH5KdLI@dtJeRT8b zVfNFFp+29#?gTwt0lM}J@ENH4neww}-5@=LF}hV$636LsKY=h_H)I-c3A)&c5GLxv zSAty8<*k8bmd@i50%hwazJM@CH65O8V%)y&hj z)B8B1ITn9s4yXHfR*@d|vmYG6famNSj=ys|(Z1lkVN{^Z??Y+)Z^2YeE%>DxuNPt? z3>}H>^i}o6ooMl1a^n~H|6QiKbZKQ2d@lRm46m1eq>_Kd;CI0O@r#7lD=!>JtW`hf zL$Z1geaCdo&Fu-gEMD`x5C7NZ99fhon*b});`6Wsby}-oTwBy&31=^STWnZ7``?8 z(H53AESmZ`wrtoG2<_Ms%Bt*Hj0NBhta%4~IN9d&xWSCBX=iOndTCm}xEDh9@*lhr39^B^vxHG&5)jytm3GM5i=NXi#MRU(BfXDKuw8Y2pt=%Dv z=O2$?oC(~FrqD!whHkzj?rQ;(%nP@{GKFuXt>#o7lnau^HOt{Moe$XpT?WrBg=Hr1 zLd(?!-lrEvc9Gj1gYXjHH5Gu%+@Tl96&|((fGoZ_6@jku7%FbE`8XeNIb1gu#t|M@kz7yKPn@-O*l+R}N&-5vt|n!CC}_XcNOAZ*|_&jQfMPubxz z-|~bf5H|6IZ$X;*dJho%|70%^p@mn_1Jue7F96&DTX`6#qnOqoKAnXJ;atSyU!ijq zjqBjdO$@jXox7OU2|5p9#vwc-Os)avDMo*UrI+yj1t#9&_z{fLM@(>orLTBE^?{#o zn+X$t5xWB;M^t`8vYyT^)#KzyjrHkS+=<)S$L9dt71QG3?4Bs=3};0m=zrT_B8<-D z6pLLQp(_#dM+5#qY~2JvsaQqZ3=c)Gk?`_Jd^ieHCNdvGST2gffx{WOP7pp3xBVcj z5W{;Q>{F4@18)fa2X5MJuM$Rd>sO1vsHOExY@y$ysSz?&thJ)zPk5;lD{?@di$`-H ztQSW8Ve&%E6&UAB;rtgOyb>iewZ9f?cfiXV(SdT-265pT0F7d$6)df!{q3-{mcFK6 zGqRO#Qm5WddU79@_EH{IZ4Oe7gg}ncH$A~QNzao3cb4{3z3d`=PaQ^A$!;9HxJi9a zLFX=gK_}}xq#OfqXC!+nFFd6nZ*X3cYj1e*mR!x@(?=@)36{Q6Z`vpDlX_6;=r5gI z3=$x%c@GjOjW9=`AgOO4yu?Z^bOb0)x>XO7AZ=L&VWPB$rr0FudI4M~ON+`OOp!Eq zV3I1WO-0x=X%&4@(Q@q z^7D1jS>aGUh_!4$i-wJSd?#Gn%I{{ti=BM85Lat2zoBy#4)V|+fpe5giUDwvwfg{Y zmOmVarHkB~9!gjFK_g7u`-Rn0U!;YXI<;ha|v@ zk9?#FCcg5ztdKfeV!XPQoC9@V{R{7%Z>r3lbuG(K{b1JJM1R zCf}rtD_rK+5$LS^VGeK+@`P0|IVbm`yF60<%mjg=WRshKpOI(5?#i2b!36(<2c6`t zmQ$x8!ZUd;wG(RPrh~AolM|`6@f_QQ(ACQWs7`w!uLuMDrF@#YEwAJssHyZ?9!h-~ zW921f9wy4WEQB>vp3vQMLV50sK;}y0Iha@|GpI5hfWOj*D%K<=Z4oS!mF+7a zOjWvh!ZJ-cLWxqkQZo%cGn7TMK{AyOh8WoeWgZo87nMtNLtj$P?FV;Rsij`>6~+1; zNS5+R4lJ)K6*5e+mCA7V%u!tYL9Qv;v~_n~Df}0@8;Ub^CUccj69LFmG_;|6Q_+Tj z+)^^>O}?$1=mwKJ%IlkOov)+~fMtQwvJEDM%70ooyQ_4fBSrTVmF~eJr7NwX_mu|F27ZVKe03-y;9-G_Cp<6I(=4*+XWFY=JgW_oCErpp^m|q|uuIokLb7Zj zH650ppyhkTc?Ey}cya)em9|uLuR0e6o7H2E;`N$zI_a|ZtH0r4U2<={Uf-XxnGKir z;_t?>^eAuYeHxxOTN@$bpPx6w+m@dwLHp|$T1>a@{0MK`{OVw{T}$na9nYV@=5Igx zv4fp6590N%gS3IQ+l+GAJ@yZQ`ez8;hkO5`XK3G6y3_VQrZ1}<=s_*l6YTBR0GP8% zTC31uT?fc1mPi$rC3BmFicH37%DcdPsIt4nE;fL>%nlBMmn$stJ-lSG&nQE> z%6{DqTsGTBRaOp5834;`tPkzzU1t>|a1A$D8J%UwW$t5Pna9?50{kWm4F$Qy{{8`^ zit*KOUCs9016RYQb;ST{S^o;)>KMBZ@|@ZDz;!)yrGv9CSPM;+FWIG45WZr!sc-+9 zZKmzWH>{RcW_)*?CZtC8hSJct>@rn+P3#?=G-zfyCIFc6$kzyTf;)x6#DaIF{PQIL znzFT1+|(Hn0{GPp-~##94saIC@4WyZ1e<;sQYfE6jrTBq;!g;}`R~+sI?LzegGBHi zbnN&X&S=9+B%ex&SrlJFXG%~ww8A8sTYdvBhIg!mCF+OYVHwBGa-fUnu5@Q7a6jtO zB=YDW=#sb@ZPz99Z|H4J;kA@_rt$*|5Iv2zC&5cP??JhD2G5|LekQM`#OwlBXuswn zucp1*OZ*BI|HXVYEm9?XZY=<%Jl+MmhurTX$RobO0Kzgpf|`ltd_Of-9;5g{*e5*P z5L^YmHxKfZpW6UHCEu70%PJl=lRid1lG+i^_|ip)P{VJS!_r7#!w4&o82kpVO~oyG zrp&~*^nRWYHp8GZ7b8!ThEq?%D zBPL!3u@(PO_t8%5H3c9<7*Yc^RD9kCx^Qu51p=KFjdb83LX4$6>m2?EIp`wA9a>PL zgbjVt=f%L0fJcjeJ_i>gHc_uGR&1ubCr(Tl3S7KMoeh#8PSzkoqFCz-k}W)!0hc3s ztOa*n)T97#Lp&V}k}EW{wVfw47hrNzWEq3p5@RUBZIMKJhy%4`}QiDipfzL+KKM^=1X#o|Q z#*)R?(3wg$-$Q36ZONjyTzc;eVlI72dz%i@`WFc6D2=DA%UQZQ5kePfIJGier6f8# z;U+x~1PPQ1EujmN9F~I%k(R9nAXIA6Vq{^`jtmIHrK!|)N|5qxp-YrzZ^9swr2=}2 zQzSHGDS7Tlo%1xwsvKO7R7n}&HK~;zyc?2TA)Mt(f@aq|De)(8HzhmI|F?3vnZWHp z=ePJfXbja?Giqt^p6NIe0cLN1hYOjreLO&Or`N*6JTF_kp5Ko)^nWv&0PO<1Z-HI7 zo$BXBhR2~@JYX7LFA0xA{NGKeR#@tjhu6z8{)2pZ_*MK}k<7dWYq|& z4pvV}fPBrPyNJHF@kdD3RjC-&`lU4h03@;7X<;erTGmc ze;ug7>#Y~h;O{ogM@Y6WTMTbIjxC4e?}$AZ?ao!yeAzYX7390`(PXk`xZDudm-3BJHtHncVQl$QI16VjXP`UFDtE&&g3W&f zlXI+20*Pc@m%}8A-5w6WdG_NGxQ=FHI^v3A*lcQn;P=TkfQw^Mw2a2HkU1b(Y&s>b zSDBS9;5qDj>ONm%5_Lnbv&(eI_y((rf=MpB-4nt*W_tnAZ?abEoZVs{jbL({eL}xq ze23Z7Y?aTFe4r~}yQ)A6S?Fc>yvy3?UcJYBr@^v_9j^j+pB?)YgD+2r9Q^8sD9k%dd!_%o!vE%+9;KiQ1v;yG3?^EjU$d^!A=fo@ifQd8roeh8s zkMV=0EB`SM@!a@fYCE`dmAbbcyp*1WGd!R>ym;~z)Y$Oi9jOW7&D|yf=fmshJ@e&H z20`e@ugUP@&#P#T4d6!}z*!*gR|;GZpVkE=n3quRF@*cknUqleioW#{#^2`x7tVPc zaA$cK&A<4?>9yd_@hQHrjO6arUXJ3H8)12#=Tl7+%|ocs5W}C{z#w9|-+GwD@!2C` z63;)Q;wgbQ5pyq3Ql1+I>d zpvwI@e-MYT^?Zj4pD%dmE10~*Pr^a?ibwweg1((Ggl~8cdaoP!C+6T9`8BHX-*U$Y z2%GpMI$qk$J+c6J$3;K91uZEZ_1OL?;xR3lcU0)ktLoJYY-r@{P zBVpiX%~oU?zS!1mOvB<1(C?i^N+1Scs|i;7*ExbgJN#@ctac zQY2Du^|YA07o3$?^A#@4TFj+w2pjPi?O51~{SF{@qTLCW_QIYv!yQB$)gX?dM>up& zqP7EEI}3BVXOYT0x?a=$eWfMrTxI>N85@AK3$^)^77UNQ3Lz(qMp(pZ4V-_X$_w!wRnjkoo|@vX#8FRJz7}=#6~#AVk|it~ z#QicvXcX!wkhfwkHOZPp0lkCGqLgZ{ccSJj;4R|!V8B~NH#Z31i{b=C_#ixT0r)8T zm;>G>u7`nZ7oXDnVkC{q2Qij@r!~h!@(TjoRGP2~a5HIkUkJUVb`_krw6-&bOwSs7kV-Ppn$1qIK+2|A=W{rTC=TZks2wqM0+Cdq=DBVY>}d={%Do5&p`NI8bI&$2PvFN(~pw+ zzt2d@rn7nNQbI38Fp^zNpfi>~r$XLD?qLDAsa(4SAC;NBYXWp9OJ#a!-9C4+^$ zvkJnKvUdm~oRTjX!qQSc=m^|t`PF8aSjj^-fwPvk4T7bOJevv~Tl7r8*~vWzfY{5` zbezXQ{*>-dN4e_|a8B|)N_d^+kKY6CA`jgLp{s2EC4_GB^rdj^E_YlHfQMX7+2I*^ zJf%jS^4iHT@sjU)0N^d#QB&MUzD3_V@Ri+Z(f5#bsT; z-GK0!yyY^&*2v4KNnI;{K_6qCJc?%h=kgUBSk}ue)b@KJ524EMCA@;Xl0W+o!q>9H zV+`qy{0A-G4f5SyaMmav7!Q-Ta_R#Jn{dzqUYg~Vl%u?p4Ps!@B2S=RM63KaZPvY) zJ5B=mAa9`0;iEjt4JK{!f%g!$%hx&pZlvsZ3!$-cbrxKkD7g$mQ)MRI^JdDxN(fIV z<qPd6qho%wp0pfpYyb`n%)8{B-G zo?4zBO7LTh`i$~jJWM`XBGeb7(|3p_9wiY zQ!cNBWuy{COKX(U_%FEg$_lFZqm_-cSr?;J(NY(y^rv=xobs3^hlj=pG?Y>UjsqP zm9bm#PCQnw(Jt!~C8`Y0DwNL;LWjm_Be+VXlN(H`ls1|ms+Ba#6`v{f6)>q$exk;3 zt@4ceZ*@xRT39|;ioQX-dSxDU170YLhQacsV!R0vUMcI!;pMfmiRPs@${GP&gL32^ zOd6Hp^!&Y5-bccuNvTf;pjqi^gb42xds+=!l!o8HwJLvofXREM<^oJS)GpM}I-|Ca zg%>Y%p%y0I>Xg?o@loXl2z}K}bmqoS9l9Ape>K1ZBtTvC7P>&S#~F+>NUaToFj&o^ zO`;HWCKbe?YM(IR!qlhqqY>e%K`gkl>STd<5o%X2aOc!p)OL?lo1DQ#sh^@XiT`KV zh#vH4^>Qq{#HjbSB2cV4Y9=DYse7*g9L2u;JyvH@|K^FxX=ScZ zy{J-ss&1zOw^FU9CTEpeXbfDny3-Kknfg~abT#Ta+Iy>2C7M6$)TZxY`CQ%gJL1)= zkx>x7P-jpP`cmCMY1%9GBIO~k)dekpzfofhKpIphnvfdRVrmV&RcnsJq)F{f&B|sq z_9}Gm)DbH&+!nR;OSlfwbV&gT)|j7#NvP&enlZyPizzP%*92z+a8~oK2*L=BJvBYf zX?orViPY%#f<$T73xqwd38XbHS~J)QBu3LR4!Bs&@oJDbP4RY^#A|j=0!h$#QM^RW zL=EC4X}+XZK(fY?GQbqg;d}^FHErwQI!zNmc}TkE3N3CKny;@ym#Jx@4)_JluKwUI zYMi>l=Os-JH7hS`Y>mNP(O5NuWN9weA<$KgWq;_hHP^EdC`U7%s?Teh`2zsIuIWoD z&JE2$74dR4qYV)#PZLE~ds8#t5tg?!t8M^(TN4xwaz}Hc2A27n4cUMfX!NvMSE%VT z2D-Z%%KU}BJt=XyuN_WX=SDiW zW)NfD@0948>gG_J%}lrGGPo1EIeKvBy74r5Sm;hU19wtaMBFJ|Bjv4@x;17Xr*#hW zCR^$Jte~^j*?I$Rqe~nN&Q@pgGjw*kRyy%yuNyiGLI>Rj>c%+ghQ-3ClWrh&r=4~E zsxcN9-7MNman%hR3!R(JBm+WsUA8F#dFWDUC+>{ym>xn;oh6OaOV@A!oVTuf9=!PI zhEZ$XSGSyI6hGb22_XKuM0zL#bhWMU8K_%+5hg*pC3Hsy>lSqb7oy9dR5MiP@&qJI z*PBv@a9s}d+s^7f--tjFx{rqdIH&W?f=Q(A6y=yvy6o35Ij=j)5GY#LKNBV~x}%gq z#OfMzK;m@K)a#4aRndh;sb!orC*+bpgaF~?qf)69mV_jEjEIrZnY6hv$ z1r30gr@G6&u&mToP?MxeH`E%s8r}F5kXl_FRr+!v{`s`RT3rqe$4GXu{^xUMlk0fW!TphE$MRA;c7PMbV8 z*#EyXrv?F20e@j|VkXE-g8@4LcxCWKf52ZGI8)~M#$aR~bPWatv`f%v;7WJvTZ2HH z29lc$4*A1pv%zmP556-PI0Tk02K98*qSb&e!&u%MoNs{cgF)+ikdFq5hhWlXutNir zc7xBTrC_9Qv;k+V-%j_EiT>jUScdC$6%d})FQc}|IsK7%aFP0DwE#rvbK^12^ZIG$ zL8A4hG#$q1r!NN=t8d(h!N=*-=$(kyvnvoL=ntENBg)m7!ClOq-zGx7}lA^c% z8t_zo&qd(U^kMxGJzYPh1c5U2(qZT_^A$xUD}={kl8)q20md>z7eWuR!1b8JrdBe|!M$uD(|)yxh}&vld*D z-eMfceLXh+aD(YLQm$B{mwy9!pyz#HS*kbnN4$r62bygj>3f>OvP_>(J6z@Z_8~BN ztlxPWCQtO`?GRSzJ*esQR6mJYWtI9*=Kxowzn2bDt^fQZuIQP5({XS$_#JvguhmC( zfTg+N%N%ePh8JkN)6#GpEfc2=w|;;#E5q{H&{-SqrE1s4aQIRPZ4FK7NTi)%7s@;w z4NWfq=VWLy8bW8ot-~R7F?4N*(A6;01)Q7Vz*3CU-Eej$oOv1!rhN}D!{#S4UK8)@-tky8bW_VSK3YpG)$!eHOR2a3K4=0AJ8U2h~X&O%e-vZaXl=r z7=H6POtKA!FNQA1&}%)&HN*MSK&~5lQPc2-p(X>@o@>~RCjUIcf2bC{ZJ3e|a>p=< zHu>@mq5hQw7+)OaMxxC?-{1k(T-xnsg&N881|=y;enw!b#zM&eWn8N z&`{KZdt|sH5te0!%T#cW4a0Wf8lD&?{RCl!VUZ0ipBi3>?f{B^eZr}III!3Uwu7!v z#0?}@p{@6s==oJ!-1O7fmX`jZH~du(zJhpS{^bGZ}bY=A0hc8o&2oa{WUCCefuj= z+qP1jxxIZM{{B6+9on5SlmYEpNe%bi9cMtYXY5E^*grjgg6F*hXo1|6t`e5SKMsaVcn*B$_u$!dRs zvkNT$4s;h;UK_|I)`M#1VirgVatRwt(@ZI|7y|Ag%iV=Qk68752+LSEV>l~kpVfiG zf7L_VPfu9n19+)m|50D+DRZY!zLK3D4N}Dx^aiPB5p;7s!~Z1&u7+)-M6i|_uLq!x zt-A#BoEd5mub%xI3}-J`w?uF+*@3qJykZ`sKwh)JgNWD0vg`nFX9j0*na2G45)c#a ze**whUPSFaGhRoj(Fs1{DJ;!-<7seC{CG7uXC6p5pDT}?0pi9-=0QDZ5FPrC+TEZ290 z>p0$JHN3?0%m2bl0`KlX9~^gl3SknzPU%51j~EYl3P1E42AIl|s4Pq4HncmJ&S%g% zmcgUv!!ncSW&wABAE|)lEk0unEN}Drvmp6=nHPiwyz(vx{{MQ)ZSL}hzX89;pE&|o z#O6W@^qcr*8%3EVsG zycH%be6cA2C&eq;5IrS6v4Z7kkxX}imH2)j;MU@c{jjtV6{Eq~iaoR>+X+`%o$SR6 zYTr1B1$6H^ii4D<`H5afAoLfb=*|ih>u3umNK8En5-i5_M1&AgM%&w=g55;eFp)() zt8igJt%wAncY!cbh@;?=g?S=)Mj60oiAcK+%LgKidOG-V@2e0#6lDkC?2&k!0a7L|Q|VPM zwpqgUV^Kj($|pjNfR_p}nR4i-;`mUQU`J&GbX6jc7U62qhfZ5Q6RC93HKOJdShflE z2E4S3#kT-3mW=6qfr)gtCv>Kgu?;T8O!|o`?-SCP&%v2Xhr2>&Aq7z5^Q2^K4c#dz zdmo6U^c6i^r=<%&z>Agi4<%97(x41j+DHb}1GJUyQ5V2Yn&SeYy>y8R@DS-%JS;<{ zed!?KQZ20mXQi+&;VeROqphNIQVeDOkluN~;KUzRnCUr7`u3Y-l4?}t^IkZFgL~@{@Jp3@^rVuqSjT@-ZWDrgG3wz|G_t3t@6Xp4bUO zbGh^>gckCHNH{wwfAb@Rr{pf>h+rw_9RWElb6Pa4Zg6hU3+2{Zw zB+H(k0-hpo{SD(xl{<`rNr9YV2w|Z-Zx6V8vJK4|Me;vXq}`Vnj0e0}KHLRdi5y0= z@B=yVA>gI5lRdbHa>-t}{{Q%T6Sx|;wtw6`?EAiVg@ZFX4vwj9R_3Ho+S{}f5lU%7 zG^xx}ND*ZoLT1T4W(q}_=OL1LPBMqg|L<44zvp>B@8|z~&a-P^t9_mWFL*bFmnmYiGb+fmF zn6KNk9X6lna&JO?g5vrGV4_louXl`6aVM-yRytP!h*f^&ql#1J@++RAq-}zusmj-~ zP>)wWj|Fd<(*7cN)0Jlk>ag)}{RH$9m2y>aduAv>40dKJ+ipT(mU8nA)MqO$JTx*# z*;X5RbCq)32$-i>^6bV`gMh780yaS;MOpe4V69TjlToRP{1sN# zDc-!T`xO6JfOMsRbL0W#NEk#8D%Dv7%ux2kz*weInl*t#%6(P@4=a-xc4jFmJ!C8Q zIdvUT5{e*sR9WbW;pQkUYC!Ue(sT}t zWHI2prJUwxaa);E9YeaK^ce{7LfOv9|E2Q!7>4v(i7F3~H%gcQy&}aY1g76As|N#n zr=)a&$F`@1vrw1u<6L$B#KqEl3A8RlUW{{CG8*LFP2ID(9@} z>gibktJSAxAh|{@7meYrRj)h+F;z_+2!HF;SEB*etLL~EvO#^l9bltcZv<>^QZMBK zY*r(AU$&?T^>ATZ)ss5_wyC>+h2D0x(n^TzP#?NLZ>Rbvi-u|H>|%)QQpa6@-fq>v z4``3tl|TA9rJl3ErJPo;UxmV1^&sD#bLu))RnDu`nekmv9T}8fR0FtjT~ZJ56~3&t z{sVeB>Y(-@UQrK6z{6Gbxd_Qz6>$`9tD45I7)5kDh`dp4_&pS$q+yws%bkPenhWc0E3~cM0aj{O%nes*2fjjbwN_1pvHhA)EF2xsvS#7> zGPE0uAd;zlX2@|!+Z>CL9oBX_gO{bnaf?1%>&t-Pi1z*|u%lW^e@GtFX3m7jajhD6 z)lX;#^{{zT+qe;KytbeD+kI_sIjBF- zg5N>%k(MwH-XCkX{2-FAHRuT96D_w4L<+Q(3`3u4vAM8PsNMMt^=H~3`g^Xeng9tY_t%Tk*eVu2}OVHOy0!Y*!zXHh_`hU3;%+#0V^P8o&Y6N4m^)Kqf z`yBnr2hf|VUr+^-^Ym9^pf_JXmNDi6{Rf6{3-vP#!AsIBS1^`EdWj{k#rl64RxHt* zS@TcU51jzsQhk^$^p@!}9e^#@AMXj%EA%^B0b8k`ng(o@-Z=@zR_p6~!uvk`h}9sb z>)+YJ<^lZ-p5!{HUl$M48Tuj#AX6W;88#2;3o>Bku)g;`U|ITfE@#>Lq(e|RqCdst z_o)7X9^jb%n-09=`oHTz;e`IR14K^hH#3wzrBBKMc3ST{86uDLQV%`={hH6vd!kpK zfLEZe$cgi*KJ6hy3iT(Bf%i=B%5A{s`qB)LU+C-k;G$pZ3pPXYmHrJ&map}Rj6>e& zD_|>ISERq$9K5&sM;k$Wr;q3l?7jZmSMZAUm6t&MgWkkK&qsYGm-$cnTJzxVv)*_O z;EUd^1;AH*#wvhs`bD+jA==_Tw^`;}yybg_DmcsgNfuETG3rGY+dG4}*kZE_6qZ=L z=YpARak-@Y-7Ol#WfnF07?)cti-55e7MqPwSZVS88iusWBI^-Mq}6S-c!RCI;^?yU*fMps3x`UP( zjFU4g?VbZ69K;RFvfPchX<3T3?OT=+Eg({8`GSRl=a$(_ z=U!ND8i|p;wERoPa9>$k2Se|*rR`iuzOnS`3%w#spPm2{t-9?5F~;g!ci5b4Ri4$t zSSzo$(2KM3H-Y#u2ssv5V>bn5DAg{R<%idV0B^%z(cDFH$Z%3Rmv9NvDFfOhWS>LyaAqA z4T*u30;@g8q5jlrJTsy~tIj;d_ROl7)wt(YgZa`Hm41yIi7*qj!yCgfD(md(&@@C2 zz+hU8dJjs=#J|wCs>qsyy**YcUF+PJP<6O+8x+S5zo6enXo!B>4Xn(WB?bqsBg?{$ zTXGz@-DW3%(tXQ9=(^|eU_p<6yg}*d!OztrotbN|KbT1Np1=g8&n8ZUo)wrkdR1jj zwC`#GeeYjuz?#nz9<}PXqz&l44*X+0enm`^{1^3xg@E18@DjL&8EF5tgW+p{%o^*! z#g{=3a-0g?L8bpff3Wqx;0F7#`W51R4wTUSd7y-;m$l}KvnR^Ca zqAIewGcF&iIE#)f+ZXgv#&7UGx?v*PF%KB4j@`&ib6ijE3XLCC z12WOV?Y1yFL5MGe)I{Oh?-<4;;lKg}2rSxUO#fso9 z7wU7dUm?`00`--GeJ|*(5;EK1rmhyk_+_sVUKt^oB0TB>-df@I2`Hor1I9vRozV0E zjI9?;tuV3;LjTuL*eLw&3S;<3oxVVCvk;jD;ufJP%XM3YfjrE#O-P>wE87K){xXC_ z#zL7wCNsUm!oS}DvV;#GAek*(*bNUCgwgxq0Y~fk@>~|YQh?LOi#*9t#gxX~`D~g5lw<&|?m;cfwpAP%IWUv#Rw$2v36EM`1oU;9^Bn zQ($qTRUd$<;*;N?7cVa3n?6lEGz_Mvivri#1ab0c5EI35*as;2euk|D+qUr|kQ*m4 z_HHtkL1ojgtg|(natUqodplvUg-thDZ@JbDt(_esh*kok8J&F@j<)sOM(8`_F=cTq zI0!ALe*4ine`B$uy(>dgm->G~#`r6SUgCS<3);=(TGKL#e`&(b_zx(p&Urz=zWy4} zTU+~}?~u;JbBb$Pf86k`Q`GA1`> ze;t}Kbn2K|6?QsBa>nkgE&{j9gNKkeH{> zX5Z)6kZYi~xxszYwziy;+L4)I>qgUWas1Y(CT8k$LpCC2N~A@Z*aT+8u#-_CGZDh4S&aar)%^j1+C4AhOle< zl?g=S^)ukRNqKJSHNE-<^k&n?L8kdm{=~RNn|a{2oIRD-@ToUihrBW(MDbsh&C_AG z?m-?WtT%%N_WIQXP#UDvg;8pIYp-RXJFI7V>v%UB^ftw#sW^)xi#th?FB(QEd7Txnk~%6lt5 zko2j_6sccW8+h@JW_ak=#2S+RbD22@Tn_{{@X$B(`=@h{d4MhR)`9nU*e|FugZx3S z$3uSbhh|Cri&4%6_;W)Q*uu^h) zSs+|+2XUd$xC20v@HfvU;SW7s25+%2x-KM_2;CWpB?~W70hS7Gts$~Z$ln9+%Z2TH zcq@bg3-DG7ua3drD&Yt-?$v_LL||)#LVq6eS}#=N z#EO6SupuNj3isw=ESrQUJYcg~C}1gXi%@PSjBORvU|`z>Zyq4pE?nsMbBdq20~Ttx zZ49e*R-S{Ix=Ga_S#RJRwDsGB;6iMIX2Y3nEnmnqZpJvY$@5T9n)cuV(5yO>vgUi+ zK)yw0BIqqUbNqHIFJLsS92rX6r?a5c+9Mn?4k2^VI==P)IbF44xaMwef~Owund|hF zM?>19G7C7pMzn*E-pMRB_6g_V8&6NBFkZ14@X@!P3;N!%d_{duGiU4Pd=nJk1H1)( zOFzJ}f0`XE1Wc|2`M_a=LGK^V5O+ZD2WSUY=!Z7wh!xsF84RumABcyA;QQxrRUz4o zQbN60(G5Fw4{dm2N5~9u<%AWH%4$Sp>20td74tjfhj!pW=wSmG%?$r*JSZbp{Q=5I zt6;RFWR^uo`}@Jp809%AV=FQ79_P!qW_-IQxVmWkFc8QDA%)@2M8WPa2uu>>6VQwk zOu4|O3cD;}Aztw3iZx9*(gxn93$M6dBnWFJ0ZSAr-Gk%|Va9%dnZlmW;LR4slmc&# zp#BcMxxztyKJ$cYQ9mEV>J#wX@K-*FMys`09=P;SyB1{d4(4ClaR zpP3#tKh1EkMO((lEoU+bYhC>aC=Pl*^d0A{hHjhSiLlf5OLw&GG?spxyxK$FxgY1Q z_MWXE<1*_LxW@b<*f*ItpLggp8kCNa$&l|Cz3W0#Gv+a~63NVolG4k+!Wu^#Spg;A>WBbEW$=MAOTjMAVRJMuudsniIx z9e%3@O2>=iAlWIF^_0%Hmx9t|#d@^n{KxR<+Ik}TU8`8&uDY2xyLFq-Tie}3#8}-c zbw%6b7;@c`@#Rl~ME%Fi9U6ES!D7Q-_zRpy1Mh=kGl4Ult)VM~8|R;ZW|KNAKxsOj zVPVT9cR;u6zYG0Vy$?a&zF{f!TOVSn#=&a@e|%e1(KH<482+}v(dMH%N>Zi)f3boykuAEZJ3PKx^D&etvjyAPrbNt(@LKGaIQI)*BQ!8(naKksByzq4jBJcSso7D!J1`v$N3H5qmAbkjH9jd8*tnG z#h+6-O*;dM^Zad~wBNT2t;_v8v~poB?3(U9LBB(*U(xUAorAVhD^9(g&yIs+mwZQ1 z%;OuuzN__R(7S$O#O9_|K)+iG-}3J3&!cr02STRDuXga*vqo85m4^#AH$4@`i(Z3{ zfzmgJbp!9pS+MNWlka^$zo+Q?<}su7TQCTc{#$;9oqz_cA_UG%#>o3;orczcF|6ne z^tlW9AY&4^gWP!XaPZ<}$OjK*rV{diD}Csx2*`(3=Y0%MI)`>hhkQ^X47h8$$Ul~& zANA}GB!{-%ivF;VEV&Q26k%tC)5@RUUOvByYGtqfjPpW0fwx)1_pj|FGy3gnaCvsR z$9&#-$YA(yzn9;Ti&6}$#<*Y5H}#$c+a1&k=y!DGLfk2tCH>BJu4uc|stifq2`zWm*`W6r%P69!dnhO#zi`K_mnXme-Uhz8eOhzJ z&~x}JNcuEk-K?Ke1Z?`YIs`j@h1QVqe_?=3z@OY;2~5T5ppv&JfVqMBA3h^jn>HYJ zJ=_+3w|4cR)2&(yj-x0Fba!jcm_7FLeeF4R2wIQ2j0<};b3)sD#uSXEkNXbvJ^Mys ztX>_aLAURe?dW@-=Tz@=r98Cy)hq{!@6=z=_Zump_20x8IbiTv$ONA62s{0)uYf+F z@E`OC4%&h?$Wg|41|@J&89a0XB!lsbH$3-#qahh8aRv{Y%@{tsJk!}BV}oEbBA_m= zCGz@9aHHIxp&dHpGvtTW;Tt==OeIi8drd-r%m&`Ov6)}M9rrO57RL9*Hh;-Iijg2^ z9$E>g>#vNCyY8P13AcN@(C;>&1-RX_nFYH$(RU9-Y`90qY+%vjx)Uh9S}-&0U27WX zeM+y!C_P^^fHkiV3A{%UozZ&#yBYF6y~m*6FLplf(Y8X!_&wN+*8eI4t$+>=kO@rU z=34(C=6VBKF%KBnAqteBt)rkj$l!?n;FSy#gIySCgp49L)SsvG!+JjeJ$zFS(1-LX z2TH_rM(dF~wxJ*8L9Ls!K>>w#gg)io~*t=pdE7+<%ptO|9X#(dvBmsv@Vnyi}je8%lJ51EHTdTsXs zxA)(S0sBO;hUIyVdrDqk64CGbWhPqho-4uisnY@UehKYB@lD}YnBQxD7yc_*g$^j( zgOLQv0^Wo3c*rKCn+w`d`xNMg{nHWh z;ej&RA@#SwW`q_7zmaSGpd01Gw`{22H|P$##Tj>axxaXi#<83~rfM@tj@9!^AGfLt z`s2@G->T$2I*HX?XTHmQEY~lb1H1O&oaxr%1t{I(^|+qy&DQpogq&hX2#<~vZlnli)fd%QX*-cj=*=`-*e+J1>Sko5J;1=sJ@ z4fOqgiA6uazc(ZUm-2*1|6FdM56EH#V_=t1%dT+g7tyFhaAa_(ORpJJ2~vOgQw z99oZgblB`BpoBZTftMj2v(b-u&2s~h0Sug@MzZ!hblzUr8Md$#>2H*G< z{oqloUWV*pejM75=~UR$myi!%)D@H=r>eqoMAOQkM;2Z{8#R6vw1zH<1b0}sa?l+f z%_L&<^ia^pbmAW7*u*OEHSWqj=#Gzn^7C7(I0q8uL41c@dsc>iS9@llZi^N`x?77Q z(Ci-22|DhJebM&N89?cI;vBR*nsc`5H6#yh?^sqz`|O(u8P7MI`Mjoc|F!SLlW4tn z`N5{o&c7kqZ@?K)d_S{Z;&E_zGxT7FvNP+e5N{80Uxqb$Is&-gyj6$0nd1*MNH+=@_p+n!Y;C3v{w5rpR^^kY9|Nc}q@PNGAhyL*1txh~7yW4$2-+kv2$n@BF z2b7+#tHZlT3%*Can(-s(T^>oKu1^jte4g_-i+Po8kGAjA%b<9F$cL`aCZ~R?aven zirXDl0K3Kh3v1nX?*PU9YCCXyq?bY4vn=Nh59bNs_GrC5_q-4UogNGR;vLC`*F7L+Ikv4+U*KTZ|_6s z_nFEJz;o3;XnEaaeA)N6WN^LvFw*rIap31O3>pf#md)#dXID8C{Z@Z|#+d9k?|@wE zbAO`m&}=wH;JBN$`Zlq=7i}jQF}`+7Ij=Z%WjOD=lV5-P`7P19OpSy!WBGW-5j&gc5mT}*8ORBaC^ucNzeX9$aoZn zpx-NlF;efRRe6PZTvI(QZ-MLeTNJeV#&DhUHef2#`JBc2Qt}MDM1a@!6Dv0D!uo>f z)RVKh^C!L=?c*w;by>jYZnRsBk(rtwMcX0k7UVnbhyb_Kxr31J{M?n##DOb^`Q0tF zuKQRX>^jv4@@^jWF^+D5XLt=oj_A8@+=jMCDD&B#6I?;}K+O`@VACJ+y+<7aw@-)f z@1Z?wI$k{)?ey);s-*AMkMQnyo>8X%&1&!)kWdG{0^hVl+kdw&WCnP$#xT&AYiE$k znRZZ2KlBINvNRa%+y`w)MG3m0QLKf8nO33=_j`zu3<>6&5}`~)8+ozJ&wQ-(Tj2J$ zS-oz($pa&BsI6jTjy19Cpleeh5w_aC><9gJ4G??lobI#Y?(DBXzJ13xpu05VU!*Z6 za4s;dh=oiCGqd-Oo(s|MbfYfpbRNR_vx|E=ESnRvKym$dJ^Xf!+6WmpFL(62T|N&B z-G6HVibwug-nEf^(e}Q>{IZV&k5+mvJ_ z*CC1d9Daj?ew#(7VXJMOjj-G9=~7Ufrr1Nvc`P&H_Kk93(B(X1A!A4Z#%&sP5%L`- zErMjn;A^0C+Oi2UohSYSFI^5Z?lxE99O?Q8zu4}_pF+mnkGW8fU{(%#ZZAaZv6$IM zuQOcXdi$~{+~+yxHqUG6uAY}09yTus+xP{AoF|?NZr0!x3Tk)wdnSD1 z6+IVz{fd#j5biQ4dMWs?2l18Ad^RLs3+}~m^hU^c1hGhHR};qG3J(tedneqh1>Sq% z1xr}P!kqF@_#pJ;)csLd_!~TY5=PR)XJINUn_mRyMgU)h+$31}Cah$-5-k?Dgx&;k z+;r$o6n!j!O%k^-9FGw*II_uN2%mebxS4y+apL+U=uHvJuo5*@yz(bNycjnaBGbf` z+WjrSRqa@!RAVFz8)g0#EWZztri^^rLPgc8sR8KY{|THt(eya>Z#%z*7etk z&mRL@FA58ww?Ta13b0WuZjUS4BzB4eZ?ovCKyr(CECK3U#mO5XvQ2!#v}3#IfX@)W zJ39XtJnR%_Fq%sfC&z=hOWaxuBik+JaM9Z%W(|eNUU8)pMD~egjsm2M15RRq`^75t z;O~IA@DG54;?@aJ$PjP%K_OGD{}Gah#GJbDcSJn28X`x;X^#{A4ZQwrx#v1loj((##lW-w6%fcaSJLDeP#x=PtH;-=oV+lDb##%t+ znAns_^l|anS_qvGTh0e|QZ%v>b4rw}VnCrp?6no&T}jG#G)z?xi7{(g3SlwC=rqm#aKPSBXQ;5P|f?J(sow0ec~_q>evA*UyMcc_mG~1l}9Tbs2a? zQlKZmTgmS_#`0e3$x>;tw39nuAEW~u^+)McSAb8FO&NgC(wr`k{389u#pSCs@-=Km z%k%AkO^`S0a9{BE<~Rk!$faZ$n=Ge|hxb_d!AMBP$sGcqK1J^G3cRWEL%!wl^6wQv zoGzb#3}S*jl4lMQ<-G&pZ-$(952k0zgIKtpE!!qRVUGNpBRtHN^FtvyUtW9{#07FV z^UZ~_1&%zHe9=eO!1KQk89r5O%|j#A5AtQNF}4TjH7&craII+0KGu&JN*Qh!!)omn z{IN!zU%9x{eaLC3-eJD+^?ma}Z_tSgOT%`&C5=Yhg=L#HEZEuZ=I(amKRJ>n!?^4> zjXwl#GcT^w&98BqZ?P*MZA%@C5q8ZO1hooe5y8HD7W%Dg=0n~g>J{uert*kKn_JwJ zXlu=z+OC*ma}pS)I!Cc=(LT!yS}r4}f@|DY8eG#{1|}UI^+3O)zB1ZQew?8@ujGU1 z()0+p=D#jO%e7}UjH>I|M&P=2jYGd%(FVwL-?$#FdtWBIJz{C0XRTAkN;=bO(E+^=tE^!?L0Nd;VI zaWBxo)5raHm|xvkqox|8{FWjoZ>@@hJzB?j%9$b9+P1$ z{5G#*$S?c~BeITw9yyjFUeqqWM?>%Xp&izQQ|<6D9*-K)nMv5lZ!EctYQqxn=&O9I z#vImQf2_wB(8ryP#t6s17zu8)@a+NACJ1g!w;VSzAvGr&S&Ah#Zpgk%Opi-csx zr;Bld5jK|ySNj4a3-=iBFBLj599t&LQ6afp&@*UVA=G7}xKapa`C*lCnsf1L;Ryd? z+ZrL_7Tl%?BM)H^YlXEJz)Ka9xayw@qL?c_Zbwn3#(#)?GVb;fx=Ef*#Y%5p+-sIJ>w|!b_+JoA+krf z%tM2Fg@^gDvQJ2^3)AUBPdeH!bTz@)0bweGkI6$P{kjk&KE-3Lgb0yc@+u;f-~p$ zr$QJ*u0lcK-tjZxu?w*0!U;~1FNCt&a49bZDXcw4B(wGn2XGNVWSS-i-o~`fPE19iWtO4p*$y-PeQ*bu<}{xz&zoL5L_1EtB}Qg zoo_;UPv}L9%lkrPg4ihr3KPXvw*V%I&6sk=h$)=NCyT}W>SM(@9Ce&Hl8gNmF_AUZ zsbbnX_=^{VngdJ|i&=V~E|$3gg#@u<4U9TbyvvhUGsGV5(3>e9<1N4+ntliM*%?Eq16wa8MkZ}bAm94Eu!~TfURQG z0$krVv7IeUZx;j7K-?i#?FNON;({VzX`&zFfnDM=Zy4JxTJe?IBc5R(w^!Ub2I~97 z+*-iW#oF(I?H8rhaCAWYQWMxgaS;=e4AH3&HZw)PgWw$!5Ahit7Vk`h=`1m;J-la& zz6^x-#4{{RT@eS=hU8Vzj|GHW z@#-q@u8Gw{faQr7%0d0Qn8OEmL%huJ{-*f%csRNxrgO2njh6`5cSme_3*fFen(N6u z(W3%*_r<_E01w1|qd|Nq`m#9vNL+m%7$WIU@SZRJF&G#k>F3}Thz;ykl=Y3+%L>FIaqw{v--=zE1A8YX z^SQql>+c3A7Gt;&eGmt%hn0_F&5^h-pTuo(xT4QuPv%HpMCkxTzKZEAV|){L_r_SF zrN_@foFGkP@HH&}-)#aR=C?!q;m?5d#VS1)iaUH-c>0NVpm@REg2R28t;YQ0u|>oF_HY1Dh|M;Ev-0X>WaubD>n%4w6Zd4-@T0QujgNEtaAfEi92bP601j8uk*r zrBc8L@Rmt!81XNcy3_!+Lh9ZPk}IV>wJ@?(QUYg<)lvt3PHUt-k06;MZQ$$Hq zvR#q}g118&Jrcy7(*8LxmL}chON4*RZyt!drF)-&?UAZ5oZKrdW6ZNpN}m9bE@e!C z!hWgLVPFTOE;S)?PztyVn;DWLONE)zl50>uBpnHazr)fmg&<~0cYUCjEj{7>`Vnai z6RD%pxqpEjlbSJBKQ5i!jhl5sn)wabNon>efKyVJGa#OpYQBS&Gt$`=AfA=*rv{i1 zZMq8Hd8v#iunW@U82}fh7e`?8k`zA>gSaeZzkx`OBz^*RMM`4L?y5A5(M7Hl>;hxg zq?0)Sd6H8kh}WfYTpw;o*$mlkN@?M6drRu6fp=Sa*B;m%sR8%P?@B`$H{X*A%ERq_ z>2e0Z1F4Yr?4gwJ5A2cD+YQ)bX*4%R@}+XD%RP}^GzEAnk;rGr;ed>V+arI10e`9|v70XB=IZq>niD}9Xx@14{j01CxYIWBb{ zq_16J`lIwGtIVGy{T_hNk}E^wFVg5%(EBP)Wxf2H6kY`i(ef3R3ns{8`@{4^xhLO( zNpd}A1TpgSeNdk)3zs1oD;NC+EKYuY4I)$ITFgkN%3Wq=OTAQT6NPJ zV1c}&42Vhc_LY!aB;Q^L$;EOyXYVC)L&nU>a{6V6ES0YYKw+6YnOWI#dFxwXE9A5! z=&h7*aAd3Gf(`J#T6R;Rw?>{*8@v=*4TsIOa@{ddNR|I?0?Bo9Vf3$jle*t{sWsQ~Pf+^-$L zWw`}Hc>Jr4y<8x9MJ{CGa8*9Z4Z~bneE|>G(YP9TVa9mOPG2 z)@^yrR)9NlA~VXna{24fyC;Wj!XWO;o?~VMR4M36n>TkGxD_3m@@J{Z_!v1?X#R`(e@+ zO^?%Ma#L)I?qL@wOx5jJ4J=-F{tsB0ru!ub3e$Br#{wki+-xC|s9Vz;>N9j-89C0x zFG&GrfegLbx_Rxvo1+V7E;Cmb%7AB{Zu<#b%6$Aq5)c>Y<}qtth+}flOVV{?6?u^^ z%@rbxb@oPJOLQZ?!4ayr9YI{G3%LX0GW^jJ40pLMndb*q=*n4uw^CQ0Ctp|TUhvHO zYMtFpm|ml6#)&#bcbD(yTHT9fkWAIZGCo^}(>x%q*A>==l?}S;|H9@*os}6LHtG6> zfVf$=&k@8ex+T*=+^TDejZgfgl-7(Rx9bLR8N}ao=iN=yt$PY=m(G=Iz;4}1uD5%1 zP4_^3uP*Ea{O!}V;6_rq&ig9V_v?On0_=e9>>p4+sB2ptA{jcjr66YNI)?%r($(V6 z+z;y-^Y&!vId{k$2{Y}t2tBYi5`JArR1QtTT21zqqHIJ&5N#LCVkoqcogF6)+l2FTG# zOJMAZ&XS4rRb3P2#ksoKr2($#UOV9S5jLB`fFVg z1LQZlPTZR<(wUgizSCLF0`a}>vn|w%b%z;eebBl51-Bn{RT%w#(oIVN_^c~pHUEq5 zKp7bOs;kNc<(uvS*YId1k9&d>l)&lGo2X1)2FXdvc5X?=D9ca4=49m)US9mInTD0% zC{Ah2SYwKEp&itxDxaMp8Lyn?iJfUmLzYvfE6$ua6BK_g*NMvNAP{FLH>yHprm~(D ziCM~f0oZJ%=|F%vO8ayu%vId1fz4BtaZs4AOj`iS1xhIETsxAKgWRNFq%5() zkQOU9`8&-e%JvNKl9d21b@(Iq2cfV`DJ}+BuAF2Fyh7RA57GoZcxM&jB}&%bQ!Qs$~5LHn-#lW z7{nIE0f*l4NA8zQgQIOq$49WTU0Jvhyd6rLbYMFbM_cgHlz!WwzDsdy3F2<$1nYKt zl-7h7ro`%A7^~nu@1odtKJS3{SRNR7@YD3moW~pOl!24`@lQOs#h!UR;!ozjjd7dwgN~|YplhP z)~e3#kX)xam4)7V^<+zc4eHG>fQ@Q(*0wjPwZCATo7GR;``V(`42Q9;Y9&6~ZE7BC za@$pNGO!)$s71K*J5|qUsHdr$5`gVe|KP3Ltu|-WwMXq)1>X0m(-`Zgt2<($zF*x} z2a*TWB-ZN=s*cXUGSvAWAd;!J!q%bgklLHX!|FMnrOr~v)&a;?3x0w65!JsZu%qg` zPEbFlj^uXjan+Yapc88NO%PA2*BHf~Qf;e%cUsN+6UNS{!&#?2t2Q_Z;yG3R1}o>) zJ@sMpf_j@rNH3}Ryz`gUwJb&CsCJED?27tNZlhxoReF&o%YS9Pskgb<1Go zy4s#u>kV~SO%QLY?kj-ZQg8Dp(rxwb3ykHCno|?RyQ*J5fO~4xAV}U<9k@~PK#ffX z@uAv{8-9<}?%WG`tlGJQm#=<8`zw;3nsk2!ld#iRH3-x#E-YLM|t8y+Biq$TQK>VQI z^aT~|SUsdk!M!ppQ!mbI2^$=*;{p)ETOg_YU_ z9z0m3on&;eT06;`wMLuK8IDr49u1+eR(rY=R#LS(OzPKZ9^EmP^_s-tzl)O zHkFJ1Cav-|@HT6qU0`gBcH#nvTeUxU26LM>u@-D@*KX|twnO{Kykn=faRdCNX>Od$ zcWLVsjBK|S$|AxZ?Kxkmy;^gEeOlR90O{HzuABR{zLvlaXaknO`$28#I)DtVlL%v( zTJ3fi#38LtMff|cJzy-HrA-(Fy=-l#3gQv19P4LCwT^bsJEr|T93scH>&!k+Xc4Vp z<)l`-7}zN-llvs6wSYp{Jfp=h`#h`NZVY4Rv{kGnoY!KDfnCsk|GtiC({f?#lJ?0G z9xiJ``UA_sorn4rt(YIsRqb09c*xaiFig9qg>vU0Pg}eR3fHyFi{RbRPVm^uO|AS! z@NQ{V8a&+Ari4P_j&^uEu)A8-UmU~jdFi{as&7Q==1z4nH2R9{wY8EN&3SVp&p~3$MAKs{%8VB z$LfD`fTKA5ldZs}=*KXun5tjKFf?92NQC5c{kVz167&oCQ`1C!Mn0^}&~Lg6$(j1< z-1VBJpUleTZ2fW@h|JLs;Q;69EATMLeEp7N7z_TG7(dvB`j*W5lk^?qfGyH@8-`o3 zSYP!YfF=6VM*x!b4_IVgs!wGCzD!?f8zh(O_jU$Yp|8LxeWkwi?--AelVelLD=}Ta2qrTi)fKB>|Q4raz zPv&FXqR-%Jzg3^ib!D6W3yU4w^*gzjwL|aN2L5*HEjjC_=_@ROv0eK6y+GWpzn%?j zkA4QLO?&kht3qU-zIF!G)AhL%!P~EI!MOZ@J~gZkmz^~%u4yF)!w|1=fgkiJe4 zh==t(9pF6+mx-}t>+kc6JEEWe2-s15ZSI~Q(=UpK$Z>u1v)qNmf9vJlw7WsJKMJvp z@&OAN+$0x{gzjefHD9Z(a<^FUw#hvY^QvU~YXCds&pgtzQ@%e0Sek5KA9i=iGx+}Q zk*`((aj#tGC@x^1TvL!soH72xNRpRMfr}`2uuavCd5c;TiYK} zHL|b6j7@kSJQ>?`=bzMDEK%F^Zw3w9A(lTbr^W?NjyA_M7_>c=QtF3Y2S&j*LtkQ4 zwrf`lKd2vB6|kwn{R`X9$XZLr;1x%^eLivwN!~wY58a{NC$lI!;^@!ue%uR-Hudh3 zn&kV_TM=_*o0ZH7Y@et8q;6Y+dufw#kYi}!^V9C^7jSEH_zPOw+zUUiZ5eYnn=-My z;!){8We?&PA37WBW~5%2q5K%{7e*L1{dp9{_IDOZFIyX00pwV3$2fIYtV8xg;Hq^( z3+Uxqdw5_N*Q`6Y1TW9}6O*s&*2(jraKn1+LJ)6S_pyWNTh^t^VGy^iyWR)!j`aer zzjv*-aZBc&^(7Xe?prUlg5Cpb%eAob(0U;kkw@0OPC)Xp^&HO8`PNrik$hskn$?5? zYrk1A{nYwi1{4adn{jr1X8n#i`*Z8N=YhSjez_kCFRfip0lcz~PlCd0>jM6K>5X** zemh0h;||00TkHAl)oNhhtQ|QaMjO^L7MNf-$AxL4p*qiVOfs};0JkxQf>p3G*^oXTda;Ha zE=6&M4Nsvy#n7fQMm^O~aWshWhQ03qrWw}mhr)EjhF$;(2FFRzOEfg;422nn`DZ|! zY1sD;#90Q{GjKH9;K^Kgj-g8kcykRBnacJzyz@S6sB#8XDAx_f*5si2&;icRGW&-f){f%oPh*=Qor%(R!;M=Q%MQc%ssK9;%Xyk5&G0Y3gH3d=Br=L5?$ z+~AK14jEP{zz!RR9E8m*r~}J3ypDn75yL(n#yM(O%;oKvL0Arj4N$_>LEt~xgj zZz*!iu%#G!w+$VNVfv2YBWq@N4F?(W+%vr4&&}=|hW!N(4-A3aP4#n+1lx+=zc_n9X##(2zF-Zl4*PLSXZ`;VX~Ly)aY{1bAs^ z`Tz>A40AR^-?M=16iE1+04x`+jXPhX@^})CKNmE%FTmD zn%y2^7V!1mjPD!>ld`Mw8s(C%v| zU>SD7%ttcqo^ioHWS21z>WA&(jIfzycVIGz*>*wQe@?59Sq8HymJ}G246+i?;5Fxwt9x zkD8-@hrls&gH3R8++42*#(%=Rf=k><^CzwYr_64wIG;Ax9|xOf%*JqFXU$nydvxc_ z_hy55-h7n5IJjWW^a8kO&gC0)$!uu=@3PsB%R!F$BJ=$#W`!&3RdcoskzDi1mk_yT z4qE`dJo8qTm#&+)P6zRZ`N(v5ziHm;0rgwvB7SGL%`?VA{f;@>2gJMPheLtgGe>Ix z_s!umVda6jIt%#^%`&&OADOQQ!scUh(>P%H=4UL_JTV7vhI)ay7iY1j=KX~*U1&Zw z4ZLUOIA#jZ&B>n7dtn~=eHk&^+ywEJ`RpIK=-1}^d~x5H@9_t4MdmS6VeGB>5O=%Y znSJQ?y}3;xB#X_`pSY9{=0_O-AI-H`82V(cIvIMO%@uht=Zo2rlkQh@%_i{o%{=%F zuxQsd{lS~y+F}9}Cc1v<1Te|9%CB$~j5_? zEOFgX7Lv)X^RV!jyo>j^I@!1|xv*WzpS3PFHsf@(#8`^!U9$1vJ6y|BW26I!%Z!%i zFy7_H-?`7V!q}r7z)IsYf>p-JG2pE>=10Ty8sihDNhwAX3)gFnVdEi^YV>8zah-A5 z0buKm&i3%I!8rdG^fnsDaIavKv9&*Vn~mwsFqSRG5nmv()wo3hahvh!M@VirzC8r6 z!#KenB0G)mt6^km#?3Pzxy#sb7_96zc4QQ?$9SB3`g@Jfo#1w#aRa}&bYo6EsP8xK zZV8(QjPDsyA2g;3FqUEb#(S4(Y?}g+Lq@|YT>D{T3hz#q@xgCU&o(|A3G9e*z)09U zYP>K6ddG~C3D|L?>m`ikgmFs_h$oE$x$K=XF5+u<+L*loyfemcE8yX*aY#B8&f(9x z0y}S9IszgWj3YQDUNnZY&Tz>%#Ruw_jV`mm%P}rsG46`-#XDHJYV@m)k>wg^aGUd* z@fPFSJmVThQrC^vSApFyK4kuW(`e?pb<5bU2;jDHR0UYMV|1tvy}QO&D}miJHe%iF zzOnNmfCt7&mB4#w?965Fk+B1}6CN9rDnLEoX!jW-dt#iM0$zbJbpx=c#=08;3XKtb z!=4%Yyn(`Vqf!lHd0`CW4)IIlXI6V(8T;;m3o%ojO)?>-WoHw|M1S} zbsZw_jXSs_R&0!K3&{`07Y%`ZG$!SN_sKYT7bHI$qwQe&i*Y6=)2~L;NQithjxc~2 zZ5khi;Z88c1_MkqyhPK88N1IbD=QVbeD-{tZ8XyU~wkzUoeO%rZaT_rkb`e zOo}%pve+@rG@9ASbko?EP){&5s0t5>reBvra)v346X8r#fC9-`rZ>L;%r?#Cq&&wo zgtf}KCbcq%^Gt@<0P{_KSHQ{w)0Jdk3r#P$_9mGsu`ayG^o7gpV$(%EM3$JA4~9sx zDUPL&r6!Xf{4F!p;|*DEO68vZ3R7p!oGVR-_%pLrrn?`Yu-cSNn`=y4D`A`|rVgwV ztu^g!49Qf}k>LRAOxBE<*P8~hO1#08zz=q#X%Ne`n@oA!@84`%R0Cj(>ChBd*=p)_ z2Hv-sqGJKJo7Q!M%^fDgKIrWFRRTC*DsY4PLDTWF02!vE7SPKy-Dmc2$W((lgenb*$KtW7c3Fxy?Ff2_Q zwIA@fRh5@2iN`#;hkId$pYp?gE8u!z8h9ZClNe+V}84+{y$1%^ibU(BG; z$SB`X|G@u?7akNw^1z6oQl)Uue1gIn`12n61O)c?9U2_v6E!kCFtWkGQh3jNBBKI= zLZg77zVJhMU@0uD-*1MGZ)9X(1i5%P98XYiU_=Q9J(xou59@zy{AVAJvVWj&)X<3U zu3+6KG;lcXr_Zp!h{&L@P^d!02hJmhh68~F?D&O+1(z5N_l=0+AmO>>7NW2H><_YO z;ah_H<1YI6hcpTg9!hCF#u*YB6!{-s{)hA*7w|tcJlqm3ycSV`AwK`<%9kvQQl)$Y zesltUQUdUvmGA;0hn92#gMLr~hrv_{ZGeC9;F8|J5Z|bXpb>s0Sdi@xfsm*ll+a-z z{!tOUa`+4XX*@jS2O;eHGXN_h>W3FR7Fo z<=~r@LB?e2b3*?gPLg)Wo7Z6-mqY^>% zZ2qTb`=iIJp;XDmviJR3&?&iUbV{!JhmjKGhn*7Shp7^zaf!VWq{)9GO@AQ&bKhV( z%KwLal>ZOeDE}XFQU1+J6r%i_|Lpv{65Qq=BS7zm`;t2jnA42V&F0=y_c(6g>S(^DRN2x|Z4hd=-P;}72thrau! z+I#&X9CrCFoO$^H&OU$e<;NfUZ+`ezI3f7i8zy*x`9j$J{a^jfU;pR7`K!PE&wu^b zkaqd=nSK7hP5$Pu|Iasn{h$8oANgZ~34i^c{&tElR(J9QTj?aXFhU`|W<+Z(lBW&9w~9X7Apd zR}ag}Y5&qcEYFwisb4=#kM~dK$@I->`=NihtorqSGo8Hs`?sebPG9~w`TKX%Ul!eT zdcE6CpYGqic{;E9&Gvb}-uBz$`Let`o%yJb6J7ca3s`Q}{ipq-Y!Sa74x4SyAG68Z z(V_nNtM9q#)&$vak1ak-{`H6Nzk-tS<<0gP;OU>v+`--Q@o{_KKm7FH699Jt!Nw$c z7GJV|JU(4yiGbwsaPBwDwXUx<5|=j^muDUirwhP7pKf|AYJGU<@UIQF+&|%1^hD>= zcW?HybASH)xL!S-Klkg8+sC->xh#7)Mc&}}fZvzxL%+U1tUpe0GW_oiR*xNAmaC^- zf7tDSRFmm1>o>Nl?)_bl3G0VrS1hP||4zPX=a{~D^G5do057qv&FX_fDxdSTd-vva zS?js>GI~61&+FwqPGqxx?ye_qUmtgnj?OBKZU%&ePFJInG-qr(h4*&b)txo_l4yJHP@7|ECJ}p0PpN{qm zhsd{01@i%d{VI~g^k%nHy16@?fg>Qt-Tm@Ie>ts>7hnn3`9}8eyMywD4gTow51#}? z&Ju+3QC8bdyUm7amW$NT&H z^~asQ?mAJ?!fAUkr0s42#1N+B{Aj!Ra0Xl2E${F5j~{ycb31wat5alQz`f=~;$Oyt zEIuAj=ZEqj6Bd+{6eI<4ua-}nou$GEXn7 z)5mfzuT0ea5I-;L8yqafQIcJ^D!hQ3^YwH`+;rrdIYu0}r|n@8F=%9pzG!oPvX?*z zu0D|CDUSGN&d0sr^{PMKAC?<^Fq7CO!8 z?YjwRG&7nlX_9 z)gVe*V;>vU5-#gG4*hA;-3tE(>)Y)=VAasSuF^@6vlk+y9Jm4^( zC9QWKuF?(+DY5>mZmC;_ z#Irj3}O>zx34{#S~FC&xa=no*vTb_5nR&6R$CSaD9KuI!HHN zB)({ZYkf!MM^C(4$dOYyIXoPB*s6O{wxq*eKmo0EPuV-Kh)#zqj!Y!O)P(5Z)fm92hzF&!aT<#y|qG)5})8>+Bar>zR za5<)crRKdig*2;KJNpl;OL*J@V0wDI%x66iBH>g5)O_0A5>T?N`| z^R_=NACB^41_BdZr~1@oQ8^|;$Q*$1Ceo{@9x|7r>1w)U`_=w( z1`7LGCkZb&QEKlq&|xHSDstzC)8~xq)7jJofpBTzUEqQZG*k{)^OBqXZvWw~Bz;-h z;pu{hJ;@T!eG_kU-l2%{`LXF z*|DTC==e4^MKF(qkcIRTJIAK^v!(}txLYVaBo2kWiterIdr6felN71cWVA2Srd5@H z=I3pO5-cz=!vt8%xx_#*V^BUikKy6fzUHQ_go9>+0L|IL8sxyxQwjeC+ zVf_)Tf=a~D8$!3jaGtyd;#amr9ux4hgK5+-b_*Wd8rM^!w-sK!Z@<8O`K71YLODxa z@dCJC46iA@`wkmPz&+VjaT-eB3Vu+Ep;{$c+(dHY*sXZFeR1+4716QFv) zAop5vufQfa-hLN>r7oCXnJ+*~_^xyfa)8f+dXx&M#<0Sr9&m3>r~ZQ-R6$t(`^W7P zy7lM2OWG-U&|tKop|fO^q!%*D^I8%IEDKRf*K2Nx#itRmFfaN#p^BbQlhn9x1DLuDe69sXWE{A+Gxlxa&<(a(I z{2{7}LA$@1ZiLaK7b;UH9K`X{#yOJ#?ibdXvhbj|)6W;ll)A*UqbSK-^g&GetT0U1 zfsRyY-a(7!h9=!i&8XFMPMHoZ;LwS(IENMtYY#^9{&=UF=j8T^lTGifj{ogjK?^)5 zN}f4withT|hTjT zxrCAGf0ZJA%gv?33l0OQ4wQJ*)OB@mWN+Y+%hWg=YLH@MlF}i$9%CRs|M15@e*Xp9 zJgmOU-8H!2AK!lUo3DTKjWWh^iVjY`{>|hYWz5l5g-?oSc|9<1=lyAa-Ug+Tq94j3 zUGkmVO5zA982iW+C4v44^aCp-DxYI|3{ZYVk9qGPwtZj`{Vkk7gj(^D3(9Ih2!qDS zPPNR{{qj+jpsS=+S*!xfrQ(;4+B5>1;nQv{Hj{=vx=b^>-Qo=-qjDv#NDl4H1AZ zU*;t-+QNv#O0D%3<1p|m_m2nsoV*<$b1ZJo5M0iCNx_taOO3GxKDA~kPKngA$W*pY z6G0>&!gQ^kwS@UA@#B4V48!N?gz2*pj5Ls}@AROy&jEIv7!4 z9C{K@$7X22m`j*rM2LepBK`|a{d9R;-P_@w|NW;6Liz}f*&S7zxi6_ zY2bLRS(C5ziIv&naXFE{mBmty363jNpO5N2pUWCYp15YDuVDxIQ}ej%cIs&0E0$_U zx9N`zDJsVj8WhHpX_RvW!(GQBCqvv3Kk%_-1ju(jomQfZ4Yb_F?Od3@nFBW;;Iv14 z8wmuKjKHvrJOUi`0kRZuQD=&SQH3RtSgmv z!M29E;$D35NU0OQ6PKeKN3^X$O~tsL7`5~@e5?KA(*xkCZUPVq+?j|IY=g zhzzi9sLCb<$6Y<}))a??C{6$Pc?&R{OEqC^mY#%JJhv$Vpm{h8akS6-^WBnWg9^Yb zoWU9if&e%5I}B#%CP7n~tG>Y0abawJ>uKrgc_();@3RXLfhuYen^8sS$#B0Wf$~;y^>R4yN#x z#ul83f_st8;$WAnd+b4YMtjhA(wZWh5n#C&4ag^1LyZspLG@6C2m@@&$R$NeIXf_g zUOM@{s=2_V0tG;Qc*lc^r-}-2K-ndv+*C8eNCm+| zt=tn1FUu2){^_;kftX0RLI5IA&<+eMvyv%%UR3gwiz8>`?&BE@ts!RA=WXcTbt-3e zXYnOvREK5jQ)b}sqB?@RFPYF5NdlS@dF$hY34gWIsTh;+_CCJ%u2b{d#%4Je{`kJKzt1;tFUY zztwzxc8>`n`J!GeyZ6pa=Y&~u=MitRb-P!tdi~~36A7WhomS`9ls&RvJ$4P$oDs$L z6{%8vBr{~z*bI_jbjWF{F+pJ2_b=yt|GYo%N#;`z&R$1nlqN!gq_Ssb`$)DB&t4t4 zgBkJ?<`F=?Ajtu5uqc8hAbR3YL;=O3A}`3N$>U7KYZ|EP0HqgMRe)k#8FU~jRXESb z4V@TS}7v#W&$0*T^O_Zk;3cCaaOc4vpHMR8N z5R??g`gX`CBbM)uu#lK=2rZJH^1FvEGEtJ|Cjl+doGj2>3O(QIV44E=r|-%b|61S{gEeK=-#5z1 z+N>z376|ZsXR;YEC;_pK>sbVhnf5xAnc5dC0%wJ(?#AvJc%qoiebJ2m|cTgiLppl7uvLf;4y@Wk{eyr4!^o^5>QB#TTO3V;Q%8G z3WwTM^J&O1p*!Ik{4X3nOb9uBS6`;r#naRdLo|{s({jstyqCHDctN$GULqRF7blLl z=`Vk<|DGgmUl}vBN=xfpyn*-Xj8Y2Chr?k;7WM!|L5MV`4KTg(0hZYg>ccTvIS$cc zR8FJJMsLsKp-38}fOOS$1lm>P|HWq|`;SAfk%x1a9OsPGF_SosNoPuBxZ9x{_WSL2 zo6!9XR|Jiv|41y$_e+Qb9U}P;>iu$_prGz_B)d(}&+981i6+BweQ47jVBicn+bts? z#nb@N<^)-)s~KQ?9u+w}Yr>*u)ke=YvUo%n6})kepBN6NB%PrmUXbBYDl^f-t|sc{ z@N!M@g2yQOnI-LupJhigJrEy|$S4lf5kbH?xe7-9QpS{UdUQquugB*qZkOYMf`N_W zW5RE6HtiYAqgP9DHLJ4xz+|dZQ*&8MXWTV6GDX2%t9z>X!L-TQAtO`t`);_(B!;41 zkfJF6sAEp0HZn5mplCip&@>tMl2pMT=_H3kjU#MK(z7E&G@a|R-tN;=tIr#ctY_%+ z9PBf-B>T_wA!BF)?`^}Ba{c%b^=kd*yPv-L`ui{Y)9>KktUeLWt^B=-^HkDJjR!3m zjjiwScUP!ydSdkqJyn%z-87n`_%5)~n2CQ&?`cxDh2JWeuzlW0 zQnI7va8%!&4(Pc4D8)EIO(etRf12yDT+b%ghBvcX}LGv>@>=fxn5m__TuKuMi7jNvD03^8|?vfKv??gJ>J-C2B#g80;r@ zA=?1jrFf_L6V9T~sM{J85spqxFI95&5GAv7(wjr#;aU?9xyqm-iM}b7ROzIlHhWzF zUF71-Ca)^bz#QUfR1YE8O0!-aM#=FF=fI^lmd2;J^ii**NH6k16btZ8&~>0znburp zMt~`gj5r@^j0-HY7(=2W)J_nJh{JN@W3v<|}K>kflZ29QM&C zc$1$HU3uI7+#fd_m4^|d54bNndlnPxDah0p%QBR^b9i6habiqy1vcFVXf<68r>0Ffb7Fv)sCQD_r& zfbc0&0qHW6mz@7B4kMf9(!-#%<_e*W|xtR}YjX$6!3FTii3; z$yP_4v;~*?gPKut>(WRXok~1^2Nxm^gxanbIzZGprVxh;-)k|T2jts_;pE09qKr~K zWVw%nfpYtUFRCnZ?9u{N6m$p+F}I)U28tW-SF(mskRuUB5*^c9^;Bd$lE9&=3L)Ya z8580La5e59;qSSRZ-rMOK1R{;{9v~4ZEhrRzGvCc9hwmU=c$BQ>YjvDH2F|%sNv_% zD2Lw?wp4%IHG*2htvn&2v-PRJY&a$_Gqj%PN_k6RpaaIODmN@i;5Sx$IP07etdNY~ zV{sUn$}ndqVRd`Bp$d;oRE&l&HRPd_W2?nDt_}_c6^rq4;&To8Lo!)jc6$UxJeXny z>gfCMD1IwQ1ylr`*Qmd{-)@iKdoO!sd)<=|l&i=O+0Q|8${#oOSxwOWC5=`?AV_s= zE4+DF_ZW06smKwn7baNybH|P5sGtXN(W%sAKw16L7}u3hCquT#KmYL4&yq1hN?LlN zZ_XxSGD#d_773T*!RG9<){;q%QP*s0kaN)>aYjtp!bzocE&Oe%T77>wZIE!gft>m$E5SMvhtait=Af)b1c-$y0R3JM7jPUI z@MqP-@-S9RO0HUh%x*gskhx5|yrA}GF$X&D?wPGj#t*@*-rM=D<(;cj9el0GH)m^+ zf&mJ}P{_yB1+i5uL(%GGCDSLd=Iq(-%(E>b2u`xgXOuDYlb`+>U3n&G;w2{6@>v5! zXOw25+7YqxV34R+md4j`nnHv(^>zxWaoqW|(|3)vBp zNAVIT7dsEBa08{&NrH2MOa$76wx6722Mz4SL|%9EhAwA4niEpN`=`g{^KySLStY*( z;nZlVPn&~45UL0T-sfgV!0U4DK{#$)_11NJe^N4mK$10JtM0FeDJ^h_}$N6 zq7zDAV2R4rjQsK_aZ*ZAbzbmtAtPR@TH4a0j32@h?EB|0fByD|AA8H^UjOjtKYaJc zl;HwArr{1L(4l(m!(^dU($gTx=3S9Gu!t0h# zYwBarkds1!-WS8f)not+hZ=mYF^T)mttX=S|6a_0NJ~%47f>?_s~tOpM7pPYNlVk5 ze$hFpWZDz~swhlIHGD)Mj{zeFyZ;d~a`ygqaSa`DaogQ=Uw*r|+ND?t+O@b`4xn7a z466AWPZByu^J6FedQeuyFQ$Mx4kEPB84fi-*_foD%Ou)GYsb-!M7A8LWHxkP-!p$5h@CK<+Pum%b?f(YqMk~%rNy%z2(PB_A= zf|&+fEI+iEByck~<-!^YJqT4Bzmlj$JYgn};Xms4fdtoSqvgkqO;!_hgQ_nDrr9lI z6~KiMW9UpVbtc-*$WrCCIVZQ2NcOvCP0WpLP>eL9_{tyBpdttffCRkEE<{o=({$9t z85wl)ZGB(PBikM-@fZlvlH(G6$LHw+iB4RDxOJHr)6Gz@p;7GN=f14Lw`5J`-D z#K?d@ZZIrQGe_N3a%`*98~n0N5Irw1_=NqjZ+o{GQ3Bw4ii3na!7g0-8PLAS93@R~A zs~mZc<5d5b`)&c5K&bbV1TKq4cGAd%GCBu-x zwVU{enLPbP38g(v*5D|uoY_lfki|AK;E2>1mgnhOXQ^OHihtBU1_q+kCu~jhFk?Q- zSGrsF)1+d~_0luSiAf*M&hG_M(WS|TdZ=%bEv{V&0Ws=MW{DVkMV|c@{xihQ$H#nc zV>4ufT%VAO;33edu|OCNWqMWOMgMY}ROuln`WN(_8pNQR)3_3?I;xYoF_IiD($HLf z=%#krk%`pRx)jX{A|)=R!|YCtQ=0}*oo5>U{z z;0p6y2Lo6+Z{kN(Bw)3vMwII=%JD+R%(5*OB@A0a_Wg&K7m4QVA9sg-`#U5Cv2WM@ zkv+U{vPLR5NnbUbhwhyW21{oPOGndiEZcyMbAszbo9&;0zH#NvDY|&FFoFaj{v$LJ zSgT~g*6s2W+kdkME>>B!R1q#$jO+6tFLV(&6aIl_I6+=m1@mx@V1}^e)TI4%l5%}D zG*C;Tx(?PzeeCpduzofOR4C?F{_ljhfv4jrYW*AK@m`&rwBOQ3K!lB|9ph7QbICFW z9gUGB{k+wV#%#jN)-Oy=T=(+{LPDygYk5BqRnvkN9^bL%ccD>0;pMHG2xKpB*37gB zg87tCZY;%S8b7RcvM?5_9Iby4p8$V8Sg*Rewh ziYuS9g_k6lP{B#5kj_ow(FH_%#A?=*H|$5pHGIX@^VX!@43PM#9|BW4kdT82U=9s^;Jwslb zxu6H4MZjSUI%f>FYS?AN6f^V(_TP29^_5u+xeEG1-$z2N{^WbKQ&r{W(gCxwP|YS= zK=qM3(@de9O)V>U{js!RW;i?f_G)?)jjf`avo&P!`ftcn#@lni8LpAQ8Z}6)tT(%O zJPRV!pO|7;kuRxNnVuNj4XdbXII#zP5e#6Kt{%`LU!W1{`mjV@8VzN{X*65ldeN`n zqWj%9Y9GKrsC`h0SOy~vk{QmyQos+4&@{;f0du%<({meRjVHHe>9Z-!JOaEsYh*cj z0vZF3-mUNPiB=kbpp)Lik~nVGujdO@gn}L{edh}*gu;<|_(DR)<4^2vHHRoDvucQ) zihy2YSh-tB|1q(`D`8rn`u2xoviU-{JD=9QK{DD;FS&=C$B_f18iaN~0x&Tu>rZ93TU-kF(Ow!o&x0Le57x-qC0=N1r z^LQledi=<=M^u!T>f>-+*Oq&7Vo%+(H06{8sgzsk9XTieFab{}2(9WduFtB7o{fOZ z2OciRg+44&0{ghd#{JEcZ^IPf6JvgWJA?d75Yk{2XU`2rj^SaSRGN)=1A8$h@7J1q)Pl^UEi)?(|;Ty_8@M#(&- z8wGy7A_!$YEK^6f^Zvu2Ex;>tvKi*pQLE3$?h?f+35BG`4d*n3!)vpNk!5Npgu`Zg zzl6;Q$&tl2ydtG%@0lEU+_NXcg756kYH4?%b}4PPfA&4pa=9fyyJRV{!g&-;%Ekme zl>xIjpuIWX2p!8ELY_XYx_*b-0Gth5nY6Tmp~P3mku4yyVjycG&n)7Qm?nLNG;v4s zc3c_G9rTbl^TS^l@zH+cs$Oe{y~0IL?twhR8{N1XLWDk-Ll?e}>%IX_=p_Ilp_%?c zSO&dH{2DiUJ_=2Bu#weP#7ES z)@MOhiTeP_D!DbAMPD@jL}LQt19D=>zTDv^B?d!VoXT*nBbHE*AX6?sTxD5?T$;RD zFAxLPy;2Qb&eF|sS+N)~LA)Ml0DCY+;p}33Im;3ox{ev^#fPOBFTS8GfmsoQJfv(MI31yKJ*F~$7f|b`v__xaN!XkF0TT$g)Bmgo! z7Rdrh<~hRj@#>6hc~}V(W|1$|+y#z!DBa@KjplyS%#;&EoN*7|H~on(=HV3HW6IlQ zjnXDj*1af(5HAMxAc(`ZrqTmBh#-mqjm9V1W;4fKa*VN@;rgjVb}&y6A%RcmUuz)c zl7n>Yqca+3KR(wGfCdd%=j8)BLh3IJz=y$eN?+DhD0)KofcR*rklN%Ye8=+uV;36& zU6Rw*DDLzIDmU^rdK2_K8o02yoz5s}jP<8#WD#j=7zXNFNV35l#liwW)d_g^fO@vNRfyK&ZSZ-BM9TDqAkx0Bd}`L?4w-d zZG)C((;LY|^F>+0e|$0SC+%+5TXpLgVc;5u%V%qso5DwgU0OgW1cwy&(4SRDc#48C zy>ta15^vx)pYoQ19=F+l`L_SJZ~pnKAN!xn^CbmX_$eJYJt{+Sq8%v}K`Bm(iy)%g zj~@6}D=gX*lCux{md5nFxvo4G6(eC-&xP&d-@d(klX3##q7m~lQ38D47XQ!-O&#>i zoS0H3u;ib!8w1W#hQlQaZrZVrSvk}5DdTYgcD&d}Cx|M$JARB%wt%pKQ zRMxfyGPmXt)C1V~N#d-ZPRnD75QAYORCsCVlP<5^Nc_pY4&`uzJ&jD{CbF$1G6ddy zXhG%T+!zZJ9AB%(zQZORFbhxXC8E>4=?287N@)_lygj_ubRMLXXX(qML)o*j%5}G9 zMxvntGPa^&v{`N_H0T9W2Ev4$k{VjJyRQiKw7!H7cBG_ z%^sH0V9df165lLJxCHp*&g(nLfLh-bc5Y)hqkOh9_?Pk(x>K=1X_Ne_gipdy=%MVA z0QGv7?t+(;8f{3&fKD`*PA~U|L&ZUcWdO%G@+)ePNQH+&cH+;jZ zv*dZia|x&C?mfjii}6eZ4NpaZB&~4;diyY#MxoO2D%A)vZFEB0toTMRzW3rp#-n=O1_Lg)8pCpa9zjegX@YEJN*cQn@SN>tps7Hxid24G-U~z+H)nYC z&l04lC<@(l$#EV^f%IZd8OPPAW=T1*^8#VL9=7E5dPDrHMh}2uJkh`8BT314m70qV2aA^$a1WSObL_5 z1OULvXAtT%_`H(GW4ZkkS#rY zil-C*wD)jI8b`+P0hjKjHq#a+#>~zgHuW?T{QEY}neS!B3eR3MnMJDLmC%8r{evlPv0wY1REn}_*n_JIK3{Yfj0aI*U$d&0hK11cspt9Wvs|ZT*^Y|N@#rS&=?E~GzzDl z7;WOyE8MALbCky+I~G{IM?CPxaeSCx>wB3B5J`@{X+pK+O5SV5f}ndZp* zA%Idr?A_-&v|o=ZEL@_Np7rYmdP9s3`S~;^$U594@P??!Vtu+~uV;I>!PQ14@*S!= zQm;-iRob5mfU!~1S^4Nkaka?$f54b{Ol)Rl!fPrJ?wcq+G zX0-Ku4k{}xq46n!o1~8CR9-pf?@A4E&7lFD`U+w$Y1J}OaROh{cit#Lij0|q2h4cUvS=w`dw z!KzK#xN)!1Ond|rSSp)^5Z)vC#&AVIo899&^FV6z>=xeS2?7!Nhv?`N?@LlT3%4|y zSC|Ij;y#8l=IiNv$D8#6!OjGLrM4ArgCumzL6U2-oETKljwE_0Jj=R(r@J-;Xbd?2 zZhcSo?0A@rVxl+hQ&22GX@t-SU4+)FIPOsxu=JXNqQZfZ zX$Gbh0g*7~Dct8x*lfzQGqh-w#7)oxw%>WkHrZDUYVE_

    UEl0iYBIvnar4UzEbbiUP7=V~9_9DenNdk$2Grh{aQfMR1jZA7A&JM{Y# z@Fna;za61|i~q5KenFMw3~@~Pbg>IVy!F#*1s)aMJEPO|Db_MkJNJd_ZVJY#-rC`9 zyGq~b7O$i%sWvAb-{dR|H)A0GB^{mXqvdep&_*WeaY@+I()RpsX6=D(9d;KOzvydJ z@D+oXU$Y^+1y}ayJ(P?7pO92vbUn+m44o)_T+Y?`I;}!hb5nQ4IAESDV4wrC@aVuP9ijyX2EeIA=L~v3fr<_iXp9H3uJlFU!aGiBPu^` z98EPrkEBwu>(ax)uaJ)njZ^v#pl8(+% zs2Xpa;n++)Ot-bECDAu7i&Mk78q#(3tmVDLW{ZIhG1;kA!lss_#s4#NMDd!)_GO_f zUcf)i8{oD_C_$`7?!^6wj!dtaU z>u8G*rus5|1~<%IOMpBnsOd(r z8htuJx&WzpwwY-;7)GSMT_qkUdNZg`+<0WC5uc)No#*Ig+zDroUf(eXstlf5azr^J zgF>G!UE3^5k|a}#D0uZvgJUzf%*>&=Fj~WKM*FsQ9c@g)B{xETZNZMrU+9V=hjo3- z*4d%CWB&B-qG;)8NN`E4I=F(%0YNM1s*Udnzv#FJi8 z#M-*lrAo5(S$al7XM+~9wVFav(nv7aAg0T%#errd%^40U>6wGepUFRoG;;80U@wA2 z^df2Y48bcvH;O4@f{m#Hs!UKG7o^&ePPIMUINFhke!j@+0qXK5$+DV8s;ZP6)7fMt z5N9Lx`Sx(niCy-a!|@V^8)R3}$=x2QR z;P!Y*k^Fs}qiaE_Of;P1ZO48HKBKf=B$LWLvLjOz8coiK<6-+d|DuP6R9Q}fxg79kx2>`Q~RqcH?)6M6=$K*r}Q3& z-L{x@p=(dHEtpY7Z11ng9r$+0(#&LqPR@1uZ9+; zUu28av4I7d#v$LkE-S7Y!qS0!?}WZ#73SAJt8>I za+B4d?v0$$GQQ+$L$;aZxkKzI^O(&G3s19vp|gw1#`m^BY!o zR(6B7$xqpJDwIWwOjaP{b?$VHNZTfM#ZHeH(X-5=S@m9-;TSi<_@$w3L^Ef{Fs zy5b*!Bcn${G7I6!dn!R#3@HF38&Un;QmQ1`iCzKM@ENfknL+hl>C>FlaDhDFu8qR} zYD^d|K@(11Tf)c;E`ho`uob~TbhB!;tX}AqdeNoyN*Yp}rmp`|`T@hp6-w{Bun%$3 zM}08|Kt^W^b(*`UlVbJcEcV}ShhMnRWQxK>u-9C^o&VLU-@aA|KRg9Q59g?Lnj-q9f>Qk&j109feS(F#3|mK%xKS-2rYTS>_#?mq;RxfKwr@Iw3A z^JTNDYLj>b<+x&1WewvN+4me^@-jJ^^v9Dc6|d!EWRgM?hPRCu1oD}QVl8(;SRTJR z6HS@yFWZX9B1GYsEMo}0>Dt`5f}U0sf!mQ#(UvA>!v!@F0&5|)6y4;b(UL7`Hez~s zUl^=>n0HXmAbyD?OyLw1jmp-U?Q0+uTX}g8&H_6q-d_n-;CMN)Lf2H%^e;3F5M30~ zQ^i3yb8!Gww74~~9;gCu^%vCy5Lyk%jtXl29j&U^O7hO8ELlpR1X0uu-vG(6SB~WqqrHldfbZnOHPchMTBJ9TXA-*|kat%3vl1>~utW5e_ zG&CFP2Gq7xg+D2gXz3ww$HG?yWairv6Rm9V@c9UY;*1J3Fmy?}8S|zoqrC9g^$%Jl z&@A`{P7!g$Q!SNT=GH?g*Hw3Y6Y8P{hT(k^AH2aGF@2h^tOOpn_D9 z-K5Q2OtnhmBv&^85e7vkxk3<8o6^M2)qaUaf8&j&5@ViS*<~BYoQ0l0s+e(}++xE8 z)>j;QD2j*))g(PqS8B9hmG1 zVWg%ENxjJB|L8uu?q~E><8-wcT9d!zXCj>DXoDBF=PCK9MRk0-C~|AIJaXk5&JyO) zdlo$?z4=W+4%=|S^a{pPIK82H0?TIjf#V(Q`wix$MaDdTfJg~<~clA z@zqgRR!}dxa2K3(gY4V!hYt`k{OkN<1eizG=MWYRe@7*B)$zd zAE)bEnfiL&pYN6%`02rCf&5MPIl2gCK?Ea-2f}A9dpEKLShWK9T;y30S+jEZEXpBt zmdILleJC?UVDJ^j8mHAbpF0)>w7&%zsohtGms0ygL?)b;dRPrd`2o*FvFi+JK@lm> zdDv|3?j9b_u}LAr9N?dLAo@Dhox)Ode}*p3mD(t!manLcX^EirLS7aF3Xz(7s$I)= zcVi>3@?AS7bxvy6eFUjM?#*KwPSZt^>7=R|q64g=>w$uc55D>qW`zxq(Il(f2r#GI z4MrLyGMuBdVJLAUm*ub~Kz-51a|O$&fQ(chs}n?8BG?SWMGvDtBXnS`xI_U(CgYBc z2Z(FvH5{ofh|$r;hm^5tu(8Y5Gh{`4A1u(^rJwc}tTppebb4Q!?mq@}I#7B%cgN*c zTw*M%84T=|tY#g374b+(x`-=rnvq75=OqzSw^m}3P4eJMfv#C`vjr?nVK-76RQVbq zg;j0sW+}j>&PsMD0fnWTPubZmDGqgN0M~5hJV^YK zlLGHNUrv-$mgINkjx*%#EH{#Vlsrt}L4Lf#Dbhd(JtcZAVDF3bC1mcoL!%h-Lu!6k zgjz?5OSQ$cEy<@^bO0=v*%{`9m|XJO&$uFaX*ge4^6OL)%K6N|I~rVRZ9g@Z}| ziFqc1JUYdXWh*^i)({Xc=IIayBwWu|llIC1Ve)*{={9P6hra zxx7GsN?VTu6#Zey3`g3-h(|*C+pKC2!*(mJitS(|12dVR-M^2TFsU|3x_ zO%Jz-i@LvS2ILqS@J%;|WnBXU%%a&hfjS_z!n#yPLNC#~4b<5sGE*~0Y4LRmy5s;0 z&)EWrwAm@Hxn?Pe7X6`{6S)wq9BG%BLQ8AWqns+%t6`tXIHuqVZszu76V%diVUhH<1%%!hp}-Ou9rD+;Cq#R# ztL!y~y{_?S2X}kipFcWF_9S7#OOFc{wN2V0+^fLg)B<_{tZfU&G5CqvCn7a`N7SpW zk+?N{Ib+gJbo z6Yi}29+%a=dpG&%=dXVL?wg7J8&3$4MdZ2RvcNy+e~}R}7q8^t+_7;Y>GdK$5<4^bMy5g0ClJ~hy29(mTH2$sHqw#KbtYUdgUpsGj>>p`~BhPT;_9as)72V zrtiginPw_*&2Q*`jmrHzh2Z5m_>og_RdYnZRa>Q6- z9%|KJ2c9(w0f}Vo5K8LhM^H#&8D}+10BR9N;fM-czBl&Y5~Cm=>om$rlW`(a zRf2e`C#pa*`t)VIA zGLAv6)5K;e$okHHNn8o0HgTwth!1=$`77nKiwRQEuni`NzguV<%(U!5&6L+I4+g5` z*W+daqfMh*%CQIw97Djgn$44JN*)up6@Zyb6ri7f-xmR1Mtw>pPEDr4Ric$i^~!Cc z!SLE)642q)m*L{D1IQw9xro@dbD z9J6%~7Ym!&z2aCE=nq^ITmWQO;EYh>`>M5xe&hhD<_avFOjpxI>cPW|J-gGY{In#{ z@+)ai^mZgI?1UsBE)@PeL^Y1+MT~w<$0ru1;D7K6H9z(R4+dq)+398#Y9n5^g?inH z2JYDp6qgySG-hePOzT<&jMZi~gWp*h4*>c0p!A68pz)DYG#}O2Q{8Eb&GF*!ZxgemH&kW6TfHn_&b9scQ+^YRlhI5EEc2YNW$f znj%wWQxUDzJkwm$@EnzkV-w{m6)#qUT0DpzT5QiSnoRO?5tBC&;djB))dMA7FY9q0 zf-oAM#4~y)2}*ZfDxlHDti7#0z#@HB$)_tjmd&DXXOeYM@O*d100<1Z;~1ScBDKA2 zvy4Ze=es!Jl+$#U&3E2d2Q6gr;nn9mP4E=%gydR$jkdh*i01}5NG|GbP{nd7w*}U& zj83Zn8&{?$;B=mrmwet+yJ;p9tEQEjUCgbShtuQB!~6)Jsf6%oF7#+auu|7Op&De5&j~wGvz(eD@Khoxy-r??AbQ6p?Q3pc>@{JhRN| zkE9{f#p)t83~pvF@0|4d4KlpJ$BrS@pzML4dAjlGgSGK~PeHHhdC|nqSxxa_#b)AI z*6c=FDrjFuyBFzvNB5>w^rMP-3saKt_Y8>*{^*lOSv|vus|3xRPJ|TJr>rZqVT%we zi`FZpgqK&u2uk!Ca9UoUmLIq1YNEfkkDguG> zfzQnqQEqXy-FAD#J)m*ZDn&=;$(EfcjN$gyrmU(w9h;>qt;hiP@5yb$S+$2CA-k4D z+aygOsSCF)5M{pTglp?$;FJWWWL{85Fmbk?A_zS+vgKsN+%9k@Fk2Z6({u+a&-Cg< z#+d<{Nv9pbLCzZC_w45azCqO)%oF&AS38L18Vz|x>M2iUc$nstS(e`jW)~~V@{rHFSR6_! zd06f1s1ki4dCZ`zMbYmk?@L`sWK;o8Q5=&Tqq?ed1eD^ULK1(!XSdmhEkZgQTw*`{ zWwTN(o$cP%)AgMHves`hF!>MKKhWzwefzU&2y{T;e?%cNr6|@GjZPc`wrMD?alnG1 zM&t)0AAD1Gl6FXM-R0%!WU3;HdqF0F*vgB1(%N}w9#|!tXw!*qQq#Jv4}DqB3W*6Jg9(j)32_KDy3KbwOU6m$h1_S1&@_+1R_F9hvNa1)C(a~YgTjR-)eJ3 z_HF9tre`k$p0qmr`uPMM7@ET5lL?C=zn0ix( z1SIpdkeeUSuctiSMakS))Cn>*;RJpbZc$g5&|sKI>2&* zkh=7t%K;;yRgfjl@i>Rw=OVRYH^MHoip)c$-cGD^oRC%O)hWs`w}(z-l*i?k-A!_z zmmyIGiY$OLV`IfVu5U{8S`ReNXfQ>Oh(||gQthxyoK?|5?gY5s`fiC!L-re_TJ=B^ zh5LdG+PE!^`Jzz*Q`iFnTBq>lG(p6Ivb=#qA6*`BrEu|(P_MaZ6Se1Z+mabJCMabE zUkY&?JUGF1IMje_V^T(cZd^}1A%6C`EUf918?mdo_Rp|@xH*A~4=Xhwj!FLun);JD z&u+JW+_QD=5@&aKy#GuIrm2bh%`E!>kah}fMDlechj6F`-u|i<7#KA$Lu3({8w%De z{8-e#n1edc(o=wvvPVs}WL;}nwYUeC{YRKz<%7u1!k~V?KxA|#i|wNtV~ulc&C-K( zLlP~pUWuP@OxGgXreqpIF`2E;r86y`|8%WRW>0Zr)8-u^s75)%M$C)h}Zyd+}<|MBhOHj^hpF7@MgGBEoq! zy@?+08!45YgL@_N?ru`{Fj6y(yo(Pj@{VIF4W3?=T*bSbc#=)8K(BGZVNDv%#GwV=@2yOrVX|vrRL5cF4(U{C&;4zNsG9^vC zrXB^iS?^izaPZO>J&2I18O^*dH#wK(%H!;}F;8)Y z>`ws!cJ5IYy*0K*6Cm&FXd-P9vYQ1roFSKCdtzHsm{CxQlaIx_ZPBZj$TIUBxeyOZ zaZ~MVPE&#muFET}tF(al#J<8$o zSSgv69eqGjgMQUJiu=)*bM*U(U#0Wdz&%w7-H}Q91os>>hJc$ED#sz{gIRGB7gYX$ zzXL-QeJsa<)j^7wu|yGvp0{g+DymL<1u}tG2r|vxS(zLn>Q&f+c%&8mL_Oq;Upnb| z2?TqDOHjH9WniKPXNtaXOjt#bLypJY1W3VR*n~J;WZyZ#tUg1P9R$VckrX&INGyCq z*g3asiQvy3zjOV;U36ZsSfPSB`RZAEl>Q95l10L#Nc3Fqq)EBAQn_Z5O1OH}_rDkt zi`?&lK#v&sXBiD9fDjs_f<$T*1ccEtRFS&dY06)a^m0Wc{)A%s*}GX#K~NHagNiv6 z-IVy4LkyOBVV%?*Z@CP0H!cBPA6IU=#+- z5;2$M3ABCv0Ie{yy43tJq?6nN6@7}C@-sk>CV)^|e-CH*Z@YX`B#O(HM@#LywtVgBoSmTTjtKK6 zj&zHgBd7(CC@#PqbgXJ!t3ks-t!h%bRT;it)jiXUqt%o239jtmTH>he07kB*R-c#5 zx&B&pvpS%tl~ zf`&9U4Na_?{Ro@mUI5`aqxcOWQOXAbsvK8j>9q?ZZoB!r@BhxLlyh?r6n(DyDUUO$ z3P%$GtB+H+Vd=>sBiteH^XathcMnV9{*H-emP14*8DRbeb*xIb2Al`=k0?g@yYI1* z{5psa3E5`OJ4@;KW)GzXZdd5CYk{QUkRSypwlP7@fhRNQY05z3>FqnsFfB3d`01$m zrGt<2n`-Qo7v;UJKMF49txZF3I!Z12_#cj+9s)vxertE6k{T28#_wO!QD0g81X-7) zfg!DSvxQqu3}s*qQnIAjdXeg3aNVhr>OrJaqQ@Ds5-5BSdH(Hn;#^b+K-5t)6m3Wz zf$iCN0*otL>#S<=z?eC}7J`yTIMA_3UZ!g{r|S6@Ju{TcJfQD6^^}yIa0?AJCnsbt z7_t-IGe#2KR8Ve8BC7^XYKa(-J{?GxTXVnoA50RRJs9vKY7EOZ01ZR91~;YJYhM&M zn_`Aox@aJW5lIwjTVIsgzm{hlbXbYODq9CfNVT&r&irnG6<)T3j>uorfW}y;Aj>1P zcHqbI^Z^=*6=fcmUDTn1m;*}uB9f`!q&Z8Vm|2r1>}-~wlMHN(HH2Vm z79WiRpraaq{&bJ)vq4NMk(T$8uKc>)*)U7KGwhh}bHD{>+hC})7<(p(YAWca^fstgi zk>B}gg~(V!x3LKgoEx2Lh$n@Y-Uv~Hcj_2fkS`D|kINYV7_=z1428xElVlF_0p_*e z+L7)l7`C!$O;Ki-2relJJ*fO}lG|9YNJ~RB2h!Gb2|B*m^bz)B$x!2dhjUHc1^ZSU zoBwL4b)lhF*YH=<_ij2N7g0J;m?be7C^h}T7vV#IPnn*QC2nd*Go2*TcPs111?wOP zPWl%*?bxB-hwh4%TXWTN&379=D;EGqRGMCB!RV2`J(NHUI(qJ8=o$H%s z8VK<>g&;YsuVX%~zz&N*MWi;$q9RfPtR7W>^*y^x!*w)Bw7HMoQ`uFI`)Q8%Rgfwm zbDZSIQ3eQ>`-TEtyL_4hN3bPCkQF zdm>UI*D9r%af5D6`nhX4^|u7SOk_wDAQ&yfBIs8pX6BH1l4hqPG6QSAER~QZsJFtd z?U9vx@#S2i$k;4>tMb!nQ9`1CntLxC@Zns8C_Nvt9t|R)YJ{sxgl|GGdM{Kn+z9ld z#zs``MA#VOz{PqQ@YwNrhWBEkB&%T3G7?cY4D(8Y+|5d2M(PT+$2nsu7~BTK3MQ1Zq}Uo(J}wT`cN{LAu7};RS9Rjpg1QklngP5k0TZ*jNuGSnfS4aTt)LykyL3 ziHm}?XN0M}sT|TOcip)+tp`epxT?qDSQ3xpJcT1qFR+1d?s~c?o<)ZF*0OJ9j~<(r z3NEoZJZL2D6HV2`s!`u%G3Jo8HM8EU4nU2GhN5`QiYSNObt3|Si9IY_O|2``z0e+W z2FjHcGa?67E+)z4@+WS`m4A?i+`qQ$I)Fq#g-ub8NA-{`)c6W<&+|tTFU6+~*;0;k zRnjg)FWoYp!dtf@|50+)dO)rbQH1Ec+u;hui+Ay#p{~X>+N6jeWux8zyL7lI;OTvU z@^P!)3qRnIDasbe5{A`cwR?~&O`M8}-D+*YcScZPL?Tu2r*UV(5yppFlv5BwdGLk7Pl60ovJCy4cFl4jVD+>8w>w(#t4;PzGgRiYGTjvt3U zb|-+~%ctp?v8R_K+WnX7z)5!N>6SJCiH9*uwx#GLlE?SZ%_3mCthnS9{F6y1xs`sV5G3p`uJWTWbvK_vDm-n2-N6sg&~N6hHcO zg1!r_x&&c+P6nYOk(=xy!4eWAABrbklT|)!A0+AO6@!ns#i?-GpLm-saH`18o};vx zD3Fd%UfbiQL%ksOT1Hd|N$Y%5t+J|vGZOxc%hW)g@>8+C?+*{T;0gdy8)|y1Ep^W9 zZfRD1{H)YrmSISdLGXROhfm>AY7m|ydJqc3 zhLcJ|g zASD!paos%D>M|A_m!Cnou<6ReB-_0JV`Eq!rsCrpQ|SO~<|JIX7-{9Yre432>KfRt zXNNo>E-CqlAF(shf4D?2{Dh4z)^M^?C#zc^La(J|5>&^B)qU=AH5h4VVZ%9iDt*)` za}^@){4r(CfJx#q2lvw4h}r;7I^fRpwf2M{1VgJzwPghOr7ID;@7HK=dX%x5B^@lg z+Q-1#4vaU&g=qkl=@Z0!vqfG>x?V{}ww|Ta3bYwyJ*>*K2e?C%mqU|b=@4~o(EQKB z3nb`-IBD&Dj)OuQpy}543HNAyIN1$sx_pVN@_8?Ji5~$GyQk0cFW}DNuNOu^i7Vu>fmg z20&v%nPEs?>Dx*o!jsqJG1G)4F<}Y$F?9diZWU7&(X_#v8XNC!yK8RTm5Wt&z)SQ3 zlFjp=l0j?(rJ6DLqPn9zjlqh-el366(x-)4BX|@q8;K4CwrMOZW4SO_%^}UA)M`Q{ zF&@JD>9kUPOs^+%sjk|9UTXMWLIXpae0Fs$N96_4Hm?D34@OMjG)EB)uwQ*of1yrG@|B2qKiXf zq{1Chl(Shc<=Bl1mR4p#n)t9}iY@)Wb$7K_CUUvyNourmH4vq{|2G$0V3Iz8WX(GR zOo;05gyV@h&F%U@mu1$DHj3CR=o*85TCMMwB(LbE)ujwQf(>H=oMK?Q$pZk)qqlQ= zSO=tncfL0s%!zw`^$tyM#lC|Vl5sh8^+qxP6=X1LtyPW@vQoG{QTOU zz-*0#l-%Z{tc#uAYOq!)*zJEdd>TuPPB8=M)HKpW?9!*222|Hh{&K^CB4$8DjqEDn zXfD{jG70MXg7sCf_8iiy&FW6YRJ0^ZV99N4VZO{VQ#($kRU)rg14vz6(<5D!fq#;S zi2hTsTcsvV4+}Ni?0G*Jl=E?l@KToM@u)b<^5xof8*#-$dvf_w57hFd8Ylj-D+1#E z`+MkWNb&f`?)_}~es=r*>S}s(+s&@N{Pt!SeKYeJQ-%gIcfMm*ws}efbu{Bs?MEaK zNrsHv=p^cB;}K~!j7&UiFL#FxR#fD{cV_r`@UdXati4uWemP9mOqD`Hn)?l0RHT@Y z*IpP}YSDPul>WwegBQPP=n3Lv&P&#}>oMi9EdNZB@&WZ}!p}O3#+(j^ha8T&`K0$-&)eYc(`SVZV4scRpFr!275BQpp z=UJMh62V>92{*z5s8iq?f%6mYRwIvp9~)xARluvGXx9a5O`p0z8IB26-GP&y_Afxb z(=z0I07DCIuOf3vF_w6GgkczOu=TN-TtRZcm?lAwwyF!(<|RbZ z@`-S($s_VnH8Q0R9R9@F;;Ld#R0TUAl2*gYhj6MQDsk~b!##!iE;&O@!O)&eV8@kf zQ8Owf-;BIk9-NeUlvW~Tm$Z!{k@R;EXBLJ2l`qIc4fLw`IJGxf3ZLewtI}L8yfBAq ziy86;%6;}GB;;HCPJIziGhDVcNwHI17OUyNBQ$B1k*TJq$sT8B?$HIo&Jsa@WQSN5*F|M_@;9TcdjwHO9U*i8 zuZLj^T0bA_bI_#*c9P0Vg_xzXNA!fIu8h+!KX;Zn7!`aMk+{6Dfy#&H6%uhux#qXj zV@OXxar#bQ1K=bSss|d_Gnk@?LzclDE-3}EwlYL_QXo*AfF=@qGO~Q$ggno+)e{|= zTcbk`oskIwBcr|8gCe}2mp8>&a2Q%6)*T%&Fw?v*Aa|twV&UAwT?5q0pz!WWFToe4FF zW9A}eH&1fnvK3G@LD2%p46!e#jo;c43=DQpJ9m7{&$Bf{4%7Etc}Pr?F5D*Nev2;U>|@WnYv}{3mre~o_x%mOCA%Xe@&9ys zp*W)`0G3XCbpfzUa=3tfch}**0?CPm|KAvpHg3ZkkXiJ+n=BAB&={)JP9h@%AyndC zil74f)5$K;H2WyUNc{c4Y|8O5-(+J(+GPqsYke-rNgKc@u9wbud7iqUa5N-!7yMGy z^03|P(cw1pc-F6a#BerG@rYb@UVK=h3GxW@7aVq;IDoa@^-C`O?sRxOJjF{s@lvkL ztYME*l@-abibSyhcB>K~XjP@e-A-e>Jrj>OvXfnXAS@m=a)JvkTvUkKECDiKq}ib0 zE(v{eo!Hd!>3K-Ws0x0Fg8W+(Mi@bJDpzFH->qtk@;(HHwIrbT;)NJEA`w3IcV(jk zSC6^xI_SgWV~(Tk8Cb61K2`4C6mrqWv!Y&n>`x;wi|@z^M`VbGB~|H+C6*yzmdc(1 z)$PGsj`1ylPNV`|C`MP;9EvL(OyG8hnB=K^zI;*D=m2VJ>}l(`i?+ZWfd@Vu!Iw0w zIO36Fv8<#zjm&W2q2k;vB~MUqg1ZYsGd)_Wa>uj?TXercy6fYCnGc84XQTn6>{{-t zMvI(1{7ewhYl(e@BE<-22`*uk?1`2WTIg6gJZ`oROH*`k7bu@|mM0?B;r15P*V&fAgn}Cl3R88@S zAqOG|J;0?JL)O@urOFI>m1=1yZKW5JUXaAIk~_Pz8IExU%o54;gIm%~zth*#Ch#7(2^E-H#IhX>VF&<~ys%pHj(pzA1H9$RyY zo>{EwpgV^%`I+<0wg(AWFz$_Fck+Y=2)NpN+vgC1A5> zwk%mMX>A>c#)z$)#1pRlKsjurUd6A!`}yrx%8SaVQXJOBQTJ8Hs(4W~Fa5d*q`66e z3-<0{MYOC18FCVBO%S}S1cTRcS21CJUEs!e+e?3s8~PSyb_u;btXWoSFwM*B4@0$D znkR1$>Q8DYOg$&nvJORzL&NdR4qSQ`pzxrLjMXGXM@57aa$-<3j}||t_3yW*s&cD6 z$5;^Pl@7&5bDJC@YYh6CII+el0u|6n*$E+dva~F0Fhjp*%6TfOLmEhZsWbY_k{NmSq~*paZh_!JyS!(kDuN@HTkBN`r-0S(~vhi6Y8d)X(;s zJH4Ez_>f5n+Kwm1grln)$%R?JLJSJ;YhNklfG)uEVk@kdQi9Z0C;JHuZ<9#T%U;@& z6HO;2QN!oBVnK20Gd0kgcNdXGk#C6~w}%@% zd1NBN`tHqNkd2JS1wW^Rk{GrgoR3pwoD`|6TX;xLs7vy&lKo3PV#u=C3otv`TH|^! z6w078O-R>Vi^xvta8wJfF;A8lxjYpGF^Og|DFMgPsP}`BY00wJ$es|pUK3<6J%~#v zCLvJ~loJxb0bsAn%HI>u~uf}OrLs5n{#?wKXnp2qm zS6$T<*i!|VuEi7(s0)&>W$9W4>KIkM9Q9rr6iacvkk_J}(0)ixh=F#}7>(MA$Gme1 zfXW@sSPurh#L#cFV>|U!#qGAI4Tv5)}W{oh-l0f zlb~Q)I)DXPk_MIYzNWWx2@N@;OINX`a;czX0(E3wGRTM^As4rfeGwZOzwDUCIf=Bi6^5ZMgW+89@Ab#|7M8zZ5C5qMwh zOcw$Xcd#SzIxrt2ZGtRJkevmR8Ql9SvEP^`*l0_h=MW$L@E{ekl+xVl!W|~_Qj1~F zsVj@mJZoi9WvvW-y{(ztT=M`r;}+95WpuZ|AN7^HfJZ`I5n_?lxy+WeZd!R<_dd={ zDSONM^UBFr4OfVp*g~t&wLsizrmGHfR&-uV^bEH!F4+O+?eQzCodHYWe^t(<_ims* zBs%lycS&*(J-sS0ix^mt_dqD-n-Zk+bGlAu~-Ey_Jx zlLR1!ovu{IrpsmRX8;6v_ojOfo|S@KqPNg{Ce22O)o>R8ilzhbl(+i?j(VU0kiirM z3E||=)ZD-oP-U}(cTRAjJr)t7oDo4Fek4@^_K)xjc%(huA7dH9RISK8huO&B3SgOQ zB!)dbYF^moq*3PilVEV7e!d3%F4a(Om6vf`nSV-~q&lgxSSJZ+{EF9a)OlsH<+KiI2N;Wuvl~foOGn3Qa~79Ew$-3Gx?#kMvw8 z`>I>6o86IOdN6PvFLdLGL12C00*z0nRMDoO@t7*c4OG`0rR$FF?{i=G@E|^h|0P=@ z@rp2MYF#49jnr2Sw>!c*h+&k>j?mqHk~!N?s_6Boy=i_NPo(~ioJnm9DU28f8XNIP z*5j`{?ka3xo%DvpY-n+zXOX%?(IJ-V-p}7?;k2tw*B;D>b#D^R0A8piVmCaHKQcZ7 z-f_5JX)+L+mjINT)d3L|#u2ZBL@C%lpHw^j^k#wxxe$x_(oYnb74@)0S#y}aBWQ>%$mVctpm=>awI zZj#1_4uQcC!;x|))ZvWC91@(t4s3_P+rzybPkaTFT=5zMhDxWbjNuR*=2}Y8#_L~=`uwjAhtZ6=K>HjL{ zRCFPfFAj}7`7*kbBtLXR)(0ssof7aUH0D}E%y&0QqzId41`vBuzDI-ZjQOYxvdUO6 zDXXhp&69@M7;7krtyw&oBC$eT*4cSoROj<(+%r>>h(yj!-CuUM(PlK?7@Mt%+u3tH zwwn*owbB+^gN;2jr{zr~cB7Rt0k79qvSJQHq)a{3&AiolTTD=l;f;kT^V9fV&AkKG zn6fOn1cetfBUUj*pH42#dt6gJ3ggITBjzfO`K=N^logr>f-9hb2*Tk|1AvW53O+J~ z_5E`HK*|idhN>e}NQnQ~8*o4}2ISA6U8~wc1-mtoFLB9|3$u{+#Gp_`z3P!4%u;Y+ z15W!m#DqWP$L)=W@5!^=KJ9MY-xciB1+Pe>X-g=F0HfY5H|e@Yv3@6>6j#&DLoJL% z9n_uF@+tELh@r3vq9G>j(oupMFOQT>{#A+36UMea)H(_>8I0HA#wQ0Ikt-Fmb zUIU&g5@^)2yQoNEzSp)&7->vUgb1=zd$g<$oB8}T5nE2Przj0em{44*V5`V4hgQe+ zp(&5B8@7oExRqIrGfays6)_8N)>nsJ4;h^#tVs3`Lt>8vG^r$VlR28USTWjE_K4u` ztGt0Y;xBA`Q(l!c8pB)h1%_?Yc68Y}yRs^xqtslp8n4zerxs*n3W#K z<+NMw?*-bHhJ_(s+yhwyzhcR8ozLZQJw76R3sgM-q&7YG%v2;Tnb|7<@yszrJ-OVs8W%)Bt~v=$OV zx&ti4&rEyh5b+Rr;qT#?<3e+WU<06rYm^~Dx2OH%2Y}HdzMf7HeZ1yBEeb1B(FmL& zTrtP z;FBmG4mHGaV-lb15!X6p5Uq=zw|=jIJDYc#&8oU$ia1#eJ0hc=b3UW(jatGDw7GtA zHD}OC`}=JUPv}%5)i1CCj82DW4J9_6(yJ>pmMjTV){&v`xW)lT87{s2p5se4ugxn? z7J8k0AD-!zf`_T`PtN8n=C}_eXM?#`U&mX)YoUqO@z$C4b&#^Q;=Y)m4W`r^I8%!` z0ejH;N!^v2vZ2=}#+?2c2ol*%S+QW|x#g%7m)+FaiIy5b3lHMH@Oi36r%aM#iXaq6 z1i~iU!n^ftGR=hM;25$(db@Uy{-Mb9t%YonYttInS1N6H*QwpJT1pEb8BxK#S#`M3 zXj5I;V-o|AwI~rjVPs$cZ@i7BXdd`c$K5QH4b{b1icAOcj5fr`L|qHj^1yy+Gd~{a70j3d;a~usO{^|dqz|nd zTKrE(1SVj32m~2EC4W##^U`0!{)_ZUKnm-_vwpBn)w!k%5Fk zmbn_fC&-gL3uMR1C9_)=ml7&|pN|{ze>67InnaUJ^`O6TKp*~nd9N>5J7*$+^6^8# z?KH)(IZM7T$AcEWCv<%F>vzWbT{l1(6=3fh34A8L?4mZ7eEDv@kB zu7_SYudo_#E3W=r?-Y$2j#FDys^>!2e3c6N>h98|XysXrpN5cb+Cp|wO>gz)?NWZA z9wbL#TLMP1#{jJ4d=;TVtOKsdNvnGp9GwZ(>zm2Vd(nMj3as9VQgn_ka?VEPW=%*J zy_(*7ssajnmz&b=hh!$0mC3F4OLjXGnyqg6BtT*EH@dhtn5>Bm!8qb`qe54ZYqUsL zMk7Tuo*++mf5WmUNVIC!_*v<1h|^(>8j%BD^Eo@0@}}_zq`0F$m1VU?Z$~y(Qs{Qs ziBmbrjSj)gjAIMQ#1)a@PSD^gYGv6(faB133dN^&*x3rK)&z^ zeJ&q7GNpT%wX5{8P$xelHf$>Q`@JN~wlU)P)%>PlSCTq8zya3@0vuPOBj=sI z98M6rs+4H%8ji4pJE}e79@jeAp2(l8dm55y7hEP_NGI1f#F6He^^ihsa@;W;=$$*g|774Bd z9UVovl@-Qj<)9i)(YfR87O?*`R7p z6&%kpDq1hrL_}OE!uh30sRRfOmOQ3_@TZxBK=)EeOLK@822nX%mX)Z4ub?3&1!(Q4 zYMi3W0Gkl}r*_t4Lv(>65fGQmqZzaD4m3Ak-}RbObt~7ibgAktA7rnRu|hi_rK)T;nOYbgWJ{uCIJ$8(83#OzIMA>R22%+8l9#S< zp{SG*1eHg%%*Z#>tO}=+-h^7?fwZbkYuO$Mf&|vcV+0 z$qFD-XMu9d6SDlF$0SIMO=v)5bgDweRI0g_xuA*1K^ROD{Bv+%Ax+J3;~kSZmAn`* zdJ&pOZkrNcBKV{qpy`lyV@k~l7UoSy=0fV)kv^)_oLQP&9%?F=4~MGWt$3(umK=m5 zyUQJ>y^rF0HAy#%54B1JKp}m4$q3e#cu9=pq58GdyJ52gDFAiAEZZ)dV2B++k`z{( zKeFUr?K$~WRHM-XDHRFnaDsWT)&_}L*Nb5RG&42+osQExCBMv*914ydnK1oEH#_Z0Nvt7jLfHpC$8RJK`VjXX2N z95!fq!L3=cv!tO?L|$H~3Po1c7}k?e1zfM~OMVX|Ez&0w-P||qbQ_3O3ow8Yv$9S@ z@slw@Q?@PR4E3Gx&Sc&>9JTcj>0shc7TPC;SRzhufn0?kYtd{24p*5$e56zwm|`O_ zTB2%%tW)4%j=)v;Cy$QWX|{u5N=66kXdiF8tI7++y$`tmmO>vd;xT;-fKGZOnmWkaS)4Nh$>3orMHP!OUQ8}OGq=WG-|w7T+mpG>#T{r zOjFa96rE;x1ecr-qSpGkW4t16j%jmLU}A2aq7W>hEA~QWY@B3yTHm#J$x3=j@F-iw z(a`%whkSMI3BUyb5%eRi1HRx|?!xXN0OP1`DUwV7f({Cnmjc+Cam$y_fl zF6`&i`zE{9pdva+iA9tgJt28L`X6v{$rLyIRH?Yf1DAUe?#ci){)PTCa+6R$N!LXs zi_dNuW(MJn!+2Vo`7)_pFiMiYji={aPq$;UT`G{{mXR`Ik1h;vtSnmINpo|< z+n?lJoN;TpJO)Xxk;m=MpY|JMdV|*mDF{Z0!%z)If2W`$5J~%1(+SHz<*By-*Pp+9 z`4-5DRC=DgaqtLr)M)H(m@`v&(GCZ74?;MLZV@ge$_0B#d%~qeg3zX=Xnsn9Rnvx! zjOBl>*$LMb4vxJ&6*f2@S!47~i9hUG?j$w}keJoO8Z)z=Pz@1?BAv|4o~1@@NO`fe zv@U*F8c@h{%U>`lhbD*(t)2OE+)BeyEx-#%AQyp)ybM`yq9$MAAp?tNcq4)uL0D-$ zS2l}7V@AyS?Jw^psXl}Ma+=q4#1KTgo&ZOLSGt$1olIsk|6}H@T^y_ILksVw# zZl3O{lN2aD-snx4UT=W8Y7aGaLvWKsGx<6mxhV@w)~Tr)Nj!EqEGE?IDq~YDwFhV|h&mzT_;Ki0fr6lLiVIu&`a}I<|L`t`3Se*Qqq`|E zzz!PbsOFofQ;+PmsiswNli^zpd)#VS>IKM%dkeg!;er}EUPeY zVg^YFYa`FUAfkKDO_~QIjRPCb(G$xDsX2fZIVTj!8G=G+ZXrnKZDA8;{AT2TyEorC z8A%cpmJ_aG*RKL_%{!nlT+=D;B>9*8k0jmj<( zuoNq|{fpQ?Ew$!2PcQQw2_*&RsFZY3P@E_K12x{0|1e1g!(WRFp3Wz@f)xFkU@KRK zFyYBA>A0Nx?)Lh+>*sP`2Z=4!`HX4KUgo13M2xbq&Ni!Vt#Jil<&An83AU;$3!@qA z>dr@@DJ~1$<3bMI8LoKeBU2>>PS6aah2Vy`-k5J?cfT=JD6n>%RDI^6^+@M~imodp z%Jcpo&fdH?jw4MU?2l6L00Viq)u@YyFqi@AqR25XSCNuD{}g0NZVRxjh9!GEJNx1H zdEP7Dh>WEBx9YY?WkhC1M!ff_Ys^yB?$sR)IiL+I2JRMjC*IfEAQm*Q4GTugWw{g5 z;qabD^brCHU4v$WhI|Qiv}V1^Js~b1q>5WeDrm7Gl8S64CW+C@i%y;Aeof%UpeV+W zPeP(bW|4U?X8B?*g0J$Jhf-gEBX5(~8K5=rys}53v5#zQfb|9QT=Dg+rx`Ih8(}Y( z2!;yA(;MvYp6)c`x|UugX$MzH@~W?Q9x5vaA+$RMKB{bhxt4PBP;j9K8VybFyOepV z$Atd5Wo@VB{NZP}bC{JrX)n}BUr9FNcsKyYlC)#j9KhNU0WXRplDEOg`%6@(lqTN% zC3bmyN@rW1n5;Xl+}l$y@wwXF5wVCv1Yq)Y4{IVRdmL>P%^ zpHix8EBuV?Vvk57!dFI=f`9x> zW5z0e?e09JB9j;K=F#N}BUqs=V06bL3*>=%f62M}_yi$V9f{Q&E(ZM!p4&~nK>POg zg?IOePePi4HsQtIRkjn9xB(%owP5=>ZfgnkGVe$>Ft`E8yy~L!4OomW>h- zj2Ls2IM_-gcATvy=)y=N93Al!PRRO$hU0o4;obCU^n6IM`_t)43_1Qz(uttjrONH{ zTph-Ey&qxuq@6P^m5i0=-vDZ&)Qy&(fOwJ1@wy1&KeHg&kwmI#B9K5#Q2bGUs&95I zKPlXsnYgzC?IS=c8x3ge@{<$xCGqdq2oCRE_46N&2?$V#NxP116@#T#Iu+RwwxT)^ zM{H3WX)2$HV5JPg1XHlAn8)X55#n8&#^+#?X%+mcHQS=2D?mdj#%3AZ#a_cCK>bJd zCq5v!_sqFBDh1pC0mYahT(yJo?!CQ#)bvZR5SL-oSAv%0-M9o22hDE>I+T7eMd`ch zBGVIhD?o&Ew=&EGjtvQpbfl7 z<5LCrs$u^Ki03tL$WmmPq-&vep-ZR)R@CV!@CUo1Dj}9h**)STEL?{xfbG@c3IgZ^ zGT{02MUmVFN8r-iV4#uU+Hp7Tz`o*#YOxCV>IkI)G(oi$h%5vQ3QP!+RY2qxBp;j2<{*Wlw{nSW6Ulz_396kx7XS;jbB- zX!et!1tLm2v7%&_H%ogu8ug9T#Sz)z_!@%K{)qg+9SSAvcU!Fvv}rQ|qrE{E_L&>T zwnU}SxC%7TR}^VyrLnu(^=3HK>^3kJ)(u3`nq`E!4CfR>#q`Xp*6M3ON_z(})HWNs zAlhN!EW)O!RMI2alw)yTQqM6GY$`_8T21o-Q9)mES*+m%ZcA{&ztJhG4s!+8I;_cS zga}=rIRnkmutFb?M+k1mpFX_(EaKbo{f8eu{_^2HsJY*#(j;@jyZzZII>w__cy!T` z?$7(H?OCxNTx>U{J4~y%CAFziDK0iu5gpB#BR*Fc$brq)gc+-vS^8Yuq$~Bz9F|z~ z$F(EQ&O76R1w@Y!O~nFIQ`6zN5%scswHR518%GfpVphUbKJ8}n2L0@ji6_AJdXGX% zTb5wbp9yutV9!9u?qpeb$UMahrk%L!^^Z;)CqY#Wj~;4R5f3f&hPb@Vvv*%l-if?P z--7ZS5h7BwI2Z(+y%(&n1=}#-NKT!`VF&gswYx_&?Td!e^d`xExZ@fz4Ue!{ZPyJB z4##x|$m&vLMkb;`L)$s}!cJ|JDuT1Obppsq@Ae*TgKm^WnVYqKsXM+nqr7=Sae23_JzzzO_t`#r@ zqqSZV6OB7ZE(g_T{+C&DI1bdKS4~MA`GjDDQ(%BJV>BSDOJPbdfk9zP5@eBJ$!o28 z8GkMED;CxobC!Jzs9bgqF}z379KJ8OMWxk1OB{kg(0vw@S_HvLR^@WeMltWn< zY8=WUtDrkc(b}P6(ftlJZQ8K7q=wcrZL>6}k3B{!xr>KQ)RX}QO^dXWWu~1Ct|_kd z5K}r>;o6O>r*ZEBg_{MXc`1Pk|2Sc zy>Xq6W&5bbn>?cNk3q>)gC`-d@@YmIMN;@v)n`_1Pf6NV7zVI{(O37Oe0rUtz-iNww94(;Z>6gNQ?D5w#Pln)J&Fh zrDUywRTYDYP265ImH@sakLq?fq)_0#fd-9^M!OP3&>a?MLl%1r1RwfXmZ)Ze3M*vkAicx8 zWWDX>lMWdx044;lvU!1}J~`~KADtwtAm@kXTa|HBxr=6JEw2q)HV|V3&soe+)W8m# za^VevM2I`A+j4lggAm=j>I-hibhk8w7j<6%11fDH6Lva5n<$SsK{~6v2^NeC78=8k z%28SnJH;rCQulg}qI4@JLD(tsXJ|MKnR8PE8Hk!11cS9=23MKd9wM49;*&Ilt#-S# zgSr-~RwCk-U_fjXJf4Atr6sZHW|e!>F*NIK0M^dkvj5qTCBhdt93mwKaTNA9`4sM8W-ek-^YBh z-N!W63ed^F(+bgP$f;8;Nc#i^UOS=n{8mEOPE%%|F8gC4JkG#o;WQJOwJazjQt9xS=2EsF(}>9r^L1V6j@)B2+%j4Rk;E_ML&-i>{!DV5tXRl4Eh~KD!thx zr(eF@`3CH6NVDKw+#MipM>7K4sN$qqeutFIfVA0KT!(Y^Y_=5l2CNON)kmfB7`P0| zHm{6WfLQBkh@;Q;t27X>u1bv1OCKhrE2W*&iZ9EDc*;^cqzdyC3M}y>YF$SDNo-WX zlh_WXrx2iO8GU4;Zk$jF2~yBt<6ytbP0-uA$%xw*Q{$1EO62Kc42dOfH6u#Tb@u>G{37UXIgaKF%2|t-1DXtwj zMvS7&(GFC@_nQR%Ib8K7stDImp6T}N3N&q{(CgNFY=OSr!g(_YSMwBKf@;sE5e)}0 zHmY4+tj}YW$11~<_tv0pzj@q8WgSI7W!NTP1JIo#KAxLe%&HMi z09Uan$WCIJxYf1gD56YXG!g%hbJC`$4ICY>3M+HNxLh1;O1S~gDK&yR0*JD@1RYXk z2EYi()gi0Ynm}Wj&P68%!yy6cFr_F2z1oh16_jCx3IK}8aOc>$HvlNo#&Y3!RN(@! zZ4lMLk>zqKg-l7M-O3gjwIS`5m>QVl@i0-ugBU$MtwWUlAZ%8u?`S{=WL@r?0Xpl52!jE0x-tB4tT&dC<47(r^J++zU(B_-40L z39gODbH8K83y|$NNqsvq17eqkL!F)JOw!#DgtIs)q&YIsIG1ke4|iTLGEraRL|1lC zY<^D{s2R>vxTJj7B23ni!t2kSwn)UA&F*es9?N6;Xy<2E6unBACs;*hSr{Y!*~UTq zUhOfYZ_=Ycl#T|yZ7x~pr#a1Lw6ovcr^pK&SP)Nfdy6nj|B0iZ1AyKHgez~a)X)yq z%271++dEx``rsd41*4H*6ys!7C+v(~SZdyZDti`nhz}eNb-u1MNg;`A#e;=lK_cV_ zLx!^Ha&?aqXmVLU!POZdQB@U&#l=pNZv5m!HGtV+*EC=6&(ZU=C8?x?Bv5%d8eI*5 z-eP!U{KTVA>J*DezPh@p?8Yg!aWI8SykK9YmWdx7eeOmBX#RKd`=_7Ye);&*hslp` ze>%SX^6BS~Fiua7_Upe*?9zu{zI^!g`0m$_Up~Hj`_r?3^$B19n}+Hc9DATcEq{n; z)6CFq6FC}I0m!a6QP^Lvwv*>`1~aerH^&PUdwSgOym{enEAWV|27ab;WWn|4%cXLC z1Zq8L(N@Fw=4!J+&jdTGnV0WbfH8o$i{0KU`ibtlrr!^OKTFtSS!ifAb?pGMh=n#D z58Kt{-L<;f;7T`|t8p5HAlkFcqauQg#YH-zbhzm3d?sA9wMU)?It@lT*fgA@$W%Em zBy2xi7rmJNW>A67IYzJ!0dI*T0Ni-&?;}itn0EKbDuqHdq;j&WH;-0_g2H zzoyHiyQf(PewBRjeie$5@h~X#8h?gE0=hC21Un9GY@+)ktDB9l%Y|s!1N_M!H!p{!X=#t>n%65QV&->a#5tR54%# zl#)i8mPErw2S(c&3ZX|tu0wnWnTWm$&wzUftE-Sppki}*oKI+Kq#0&=)!P$T&H44B zIb@|^dd4)+ArUoLCjK;?xy7pn&Jz+RbOz;059ns0d}%tO+vg+%D0%YQRHZzWWz+*~ z)jZ4HebYGOMyK%uLJtw+gH9DACF=V9p<1FTDtUt5={yV;Un_$8djBBVN_a4Q$2IRu zbx_%M<(!R|6y4JK6xes5giq>zQm zk2jlVJq#yS%tTfkjX)BNJH!!K{&Eo$u~&#Qjs@wX^o>DVsWZF1+v8y!`%OK?a8pe? z910kOXfk$tnq#OTbq!#gx`55%))qBOU+8t!g>ZMiacT7-B+hM#kc!9K2ULsYkC8=GgO}IU3Hikj0r#p+4K-s`x*SEH`rl1-D!L}Xr}BAJl5RMV&;dd zip$Y-W(|+m-;<>u6>w5~{BWu)pHDG#mHrGX9ts^@P-2kjf4@RGedcjYpo$^C?*Vv7 zM-GhpOj08lMulER$!>}^mI4f|D5P4tW+marTzX)m@-f1&fmXTJ7w~3$ET4?B^>nv< zUIJ|gya(7_7Y2TsbDXJETa=wL1 z$4|-T+|-*_j9VSrF++4LX-B27)K$KPy5{iEVIlA`g(|ZP$7(ykXMivtCqM`jR4Ge< zTF36T108ZQn4-H12%(Y-ZK%msa5H;*y)h~`!%mwJ*z2td0iTITNp%c{?a2w8sI}a% zu)nzi$eIG16L1OvSW)JyVYeC7Lyu3LrHUQ?nfY4tiD^j0RY5#5`;4jXVuftaA^j2O z<6?gq>YPw#lAV!~`>BWvLGDo`&`X zDN5(Dvy}OQJYXr=4NhnCwT8~7p&)HVx1f#|^wj8CJ=!6u{dqjq+VB8aF@3#fb>OJ( zyFD+NRV!bN4HtSWEg5==#nD;4dPCfsuUvRy_lb1 zwVgiWh!kQ17F2Dj6_(9p7acd-A;B3?+a0}Jr6$r51}UPefsE)CQyM_1Sxog;rJKIz!ImNL}~vrJ!x4_+BLue)IH!qSC`pQx06~=+k-5Fo#m3BAuDz#wv;n<B21 z5Na^eL4)BOMFE-|kP9K)G;$(JWO8@NkG*@ZoV@^D4n2YfRAmZC=+Q#hOaV|ZB^V3( zOcM1a)qx@gGo-tj_z3H3jYz<>MCo_Do-Inb~xy1 z#O4eK%g2f=YYvlf)(U@#*j);JRAV*^I)eIGSj#+LY$;?K1N~6*VO@Pu^T?P%9_pf@ ze95Go&NkU2A?4i_;b7L>nOupGSty3=NMVo~u^B zGxVB59e&d8f+YKkT+0%|3xSvfma||!qg>Ky&z(mcR6BRd*$L-cjc`69w3#G3KG$|s zu{2J$W%ho!?e*q-n_=uL+hLW&Af4Wy;4mrZZ4J5(8gDR&7>g_!j2$G5+_z&%zh z`&|9P9o`X=PG_t`;Cr*U92YX+>-3OI*qm4xCJP!c1S##*SU<)bp{rlrA)G19LO#(~ z&7lWjUrDn^RCf`NtX^L0bykdr@JACNTx z_K2#Fe1@|zXi(}-1ntS5ILy&-&lf?G@U7x~gGco7p{ns?E!NVe0 z9^-W;)%l~iR|#AyZ2{eTP7`?(X$o&dB2Dp|or}5I2|mNJ^y^TZm%EXCcVe@JCBp39 zZt%w5fH8J$gtVY67gCb_5pz=6@%+!AxZcTQwE|^t%Aq;Ut>-8NR~7`Xdb-x;(gPbp zcbrxP((c9+H?yrMn%$t}v+=jV^_J|`vPvcxH?A0T_!X6qvlEdIeG>{K)rzr0@*H@ywK1P$U@X*QL&sa zX!4zFGPK=^nslUcT{|Zq-sCZ7N&UO!%L?uh>LEx)S2?9aLfu|50SYu?Hl5X$yF2u~ zhlx%I#LOeVO&J+VbOiV~vlKj_zgGFwa;(ECx|_;pP}l4Hgz!~}WC`7((v z*!px6F*B~Ynj(KIt>4{TVZ<_DrEK*wZki*=6D;BtbnohRMBk>xOXbm9SQ&@c97Ng? z`Tm6Ti6-(8ReaYHN?^-hQt>2VTcFw-B!LdqY*Z&nYPM)(u&GMSCteBq>Gou;J-oiV zd$`}up?8ecCJ3KMHa}b05G$U`>RoNgx?w?{m?hhp#UQtk-CZ}O zI!7iM5`R0t7&Ry!thSYM{*Q12%hc%j$2x7UH^47hV&Ckdq?V_c0EPEUEiy=@*7kAPV5^-1wq&Ap+eS? zR|Qhf7a}J3(Uik2`-_mpsEG(PsFz#~=~9(oM3#y+YpARM{TX^Udl7-%Q*$=QuLAhyEHe zBds|>W?4+ZNEL7fl{r$x2+c(BU0N3Cb~4w>*Q~UqZfGokk!De8>#wMYNKLew;c|pD zGol=8rjGcj%j11sQ=4Llv!zN#VYbO|kTMEQ2r6!&CMRUc8c^C%J#B&b`@Oh8rtH{> z-%(wlEwi+Njhrd^WUy>rI>_UhS{@NYU9C2{T32r+epCv@vdIB9$`0Q3i3uFX}vqOt! zr^@ZD&SFqTIg0Acxdb!^9)pv_hnQ51^jqkacY8X(>(hE_rtV?_co8p-*Y`JS#t0ZDe|Ejx+a(Nu_l7(&`F9oRZm~p z5@Ui4nGhEsiEtepS|UHNIOwaMEAdsce)^_8P71bSfnD>_rCJFEd z*$SZQY#dEvrUov|tb^~l7gq>)K*8mzAQ6MTqw+!K)fi}Ty1CJ;r^(FLT@}y06w)lM z2+7}mAf+XDBSF2g_P_@gFFP z8yh;0Li&J4F(kUry&Y&aw7n6BlmMJMDc(MTXDrSi#706J9@nUmR(+LJJgSCAKCUxS zztP?;Zu0vzy5zyNgVtLfMYm}O9CSPP3DA;^TNQ+z>MfRSw_a3$RD?qKZ$%f2N_raSg&())1T&73|Q|ql!npP>GfL^y&bsO;SYKP;a%vwutPNgOCgY%fu zLy9dTgjaL{rlyere|=|IR)FmedbD9fLIDyL!YOu;RTazCDca>_mXk;PP2F*M7Xnrx z?(E(iZ%`}Z5we8#s5qc&*Jf8mPJkUFKA3+MyETbUVg{!D$Z}7Mv7cgTK$wZBV5 zkBHx1VB1MAtcC$!Bdu)yQ=W117d4DuBKm_bLCj2$k-!iso6Z5U^FmM39GSgNY~UIWOImgjHpT$6}3CJ6ZE95 zBI|gSj1aI=^N;m6GaAXwW1+A=K2OiK9p^fe9J2*iAR4>B_l?wls!KBV#`WO^%jc*% zORnH>+xSU&syJ7MG!>wUNC@vZSAW?P6ZP#xyJQWn^xbw$?||l|bf{E>)usm$_uU_I znWS^C9Hk50@O-5xEsqnaF4n?!b%WAd{hD+<(+mD@4WC_t&_Fd9f^NS<_n!ek7;>}| zbrWn~^}HgxJ_Ch^vYL6zh?SVS0>8MyC8^eZ`9oEpgq|N&Y4`V3ruCAQS`X8> z?ykN-9;s0|pu3~fd>3&)BzZ@DtY|+_q8bm1b6_SfK1$3YAuR!_kXos2h=PAmQ9AIbU;BGt>NjX_F zr2AMAE5C97=D<;yoOzG4t`w@Yd!^Rg?vQWR@Lt)h!qY6zLD+j7RoFk#FjE|QQ1Y;d z)x#aqOVESn_9gz>e8ct=JL*SZa@VXfc(p|j@6}}v^@m!N0CwnM8-Q%vv%-y01!!Nv zzII%{1lEOVSYRT2gqgP(S5Z}?BWIGLq(MCp?wSONJ^@B*wt!QXfea*?toL#kHvz-Qp>YQJi(HvF`@#TY8eOw#-i3Ltzl89W`L zwr;gxO6=85Da!Wl(=VUD;M(r`Lb9Jg<7C|;?!h^sE@-Q2!wyrDGz(LCVPf2|l20oZ zG&e)EWmpk-Run75m>i*$S{zyufi$*BM{}$4;aL^T-nv4h=zqb{_8c|Q z1SYnScNn)}KLgEsgB>jIPE#buCRI6fD@ujK)H=EB*x249xF`mcXh1p@bb(vcs`V*> zuZUqTJwX5I*c1|aZlQHGgf>~F2P16g^kOG@TQ%*3)ZvY8bN#5T3ehZX_Z^o+5b*36lFW^lt7Gzm6VhmM>*TI~Z%T6$$i?doI}zoCzEX z&`qkhB^E?Na3Wb0Oz~$8%utoJbu~(%G)Ne#I;PeDKp`0`q%u(dsh+OQB>hx<_xwEj zCeG#Yb3}2u%3OzgN{H0N#~39l7PZwY4O?fh4V+q!H^&oZFbm=94F$H4G7csP&SdhY z8V$2JSP@Z)l6%a?=jm5UV-pJCgT^L?G|NI&FSbeneY>=lPW?WT!FpWZL))Y7mAf;A z3jpY6FD5MDnR!O2D<}pgzbp7V*I3O?Lmxm53HKu9i#5-vZcrm<5tQUNfU*|K6FfkW zwY1!=sY013C!id6zY)%ZjPW(9Xi7Ne`nw0DeLXqs2Ru4S-oRr~2hbM9MO)R7JQX2# z++IlT0|Va0^;nRGBpbn|nKm^;y6y(-*rw!_2wMYyEknNc&b_kq=DMK( zr4VAO1pyZn&{k6*B)#DZ1yme-I6O4@)PW;qf_|OLml08=`IT5Dnwa5rCRTPd&%lg` zZ&N~4DxC@EL6Dq=-J_kd@<3*#Vy89QERJHV>Wx_SG&Gn~bk(>EqWk9AA74*In74l@ zAFOgEYD85@LLn-*+R&$BQQRIBBpef`A?At}$R^b#;w4zP8Y(0KLQ6hYR!tBH5T=2% zqBCazBWPrcN>OT#$}mu__aIJ3h?VToaQ#4$T^wLi_Hl@ zm3#)w+o>#h++wq%R0ar3)a@B+a}F=yQV_qoSCPZMInK00?P#hk2xLlL;<9w=Iq&nX z#p~ns!xhr}XVaTQIx5gVSqRh=IVhI8LSkqp42e!Pv#JG4LW5FW2}+a=Y_m-UlN3ex zG3K+n-+ZH4h>ut=ggZoJLz{u+DnyijW^zYj`KNB<7b#KjaL?QQD^*@n(UIU=O-a5u zlQKcSPx!+919GI$I~%ag%3`8Wu@Euw1C|nsAcQKI=Kun{+R%P@6AFqIKi71rKugo_ zeFd~0yyl5KW@LzsB$7v#j}3MpFPigooAFTxt0P8sR zVpo{0S{gt>=}*C{Ow!k?g1eeGI1Mbak(u;9)X;~F_S*1Q{hX}TA-T(;{A!^Hdl<>rJR(JdE+0up`AT9Z~u-^fMAmklnjAjnpkV!*RXONdc4B zvM_#eu>tz`V!viu3`)O25=Ipwqw#>ZsO?;K79tt~pg8U!$dHN-HcSILhnM|HgL~vj z6jc;Un6y#BUNfY-kVTcAvM?Oi`&4k8=a!SSBw|;5UsDr1fB08QeNb@9&zcQ+{V|oCIXjs~R+F*PZ?}D*o`}14N3l*7H^FrHu53kd`VCwY0 zF@a0{1awoWUR=4}>Iuo|#%c^`5%72m*UC$z?C!NiV{Q`Aj?0!%0M7Qbkl8INj<%A` zbk1lQkJvQ20Cfzpac~$++yY)%p(Aja@`|Jd!Ndb1FD6u%m6KRAvn?n-m8@;cm-ZEL z9ddunkDoq&kyJHnL*pUz4IE9iaS7B+&I zPZx4bSPB|GMJr5TzP4|9eNTvk*A`by$fW|@bf_H+DwvY_UmR}i1@;?iD?LKZ(Nt^a~qI#T8e%l}T2ZA3vL%pfD4kV=gc; z_B0P6LY>dWj?Jk;l8iOQ%;bSuTJWa;28D?LjQk=mofA(;*z08+1qWBt)6gphm94oo zPIrKzpg;sc?V6S<+pZ6|vvu>HP1mXP2>k6*eS{&eyH}5sdCKBnqZagN%BBwL;Z}Q0 z2-3jk;|tcRb_IMjI}bMt2)Mgh^2J*5u5NIasA3}w{Rq-mxOG8B*dC z*)qDxLN0MLe7;z3Pj!QJYlhEGGy|Nfu1AFe6DuLQCU|GvLU>$J2rB7qNNkg8Km{$z zwBSMzt&kcAl6wG)ufU5avs9E}oB?XzOh=6*aDOWnH$k9T0O9lS$6`(*dRG*CqL?&n z@~R&8#&K5!qBpH&CRZNRHk+Y z_uFhuqSrysu`VC+P|^VvXUkyc$=zxCcmzwld2?K?ua2l;b+`gjA>=lKwAC=mH>^?P z5(1MeC;}we#~O1Ks_kS+p37mCCL%$>r%hN-z*8ZtQ|qIrG#E+!std-mZ1jt!CUqZk0yP&*3yA~pBL~S8hbWFA}(RX3@OwW+PO;@dx#nJPBw!^7*rG+ z7Q_;%#6uAA6W+`Eah(bJNWy_-mbvH@rl;|-f$#(Y*1V9iCGxtefhCNE+)wqtc7}B| zGEkYiq1`n1)x&9HuI?}d*s`({1(y*Z?cU510hX`T7@VhrJY4RtB=&3&zL4r0lik+M zr68QO0MAgb0(;=hVWAUzkVvo+2(?uoLmS{445!1yD_vk?Ar;|p_yU!c zO(d$AjRfW>%c&*_T*aoKNT3qAyW8#VW`$C}H61c$h7?=H6^o)UBs4G`*2Rr4x*|1G+XO`_=ENKj8l&bGnjKa$)lAzpaJ|pfH-6sw>B0(T#A=XO;*HXz?T=29yWN@CJDpxMW(7`w@^%$o}&!W5-s zp!}omA6STxd=x~yN0NabqMAF}ao>mTEZGWza~$4CxM@AE$5$jcM5eLLE92gVJOf&S zk>`ad@w@#MVsRn9LI_kfUs5KC@~w9N={JT9Frl)HQo|zq8PCw+Xo`22#HgUbPYn7_ z^`^*15ftf@;(rOp5{Bg&3TAWydSPdREnB&!dsB6@c9z^vNk4$ga~%~JPr_17c_-y~ zXCVhtD&JODF=!_6MZ@@yMWC5?wQ!T?~A5=8`*ajLe427Z-hi-O9dumG8^>xWbG z_vC_Gp^D{;?RTUxp$kT}r1rZUd8x9pZptf$GSgnK-_hQtj%sS%fH67?;_HiSxL8hi zG$zN7-GOCR-!(gq`Ik~GTfyP7OJZ!l}=eBmdUQg2`Zld=XN7k5y#gj@hv z7=9>;hltsUgh=eWN;(fhZY4eho~h#-wi+HAadhvF7ksB+PRh=&kP<_MHe-oSRRu>W zaZtRt-h6`^+WwJQ+#O8Q-EsqP9a^94fv~1>m(4}9zFysa!^S39CDT0vhuY9r2fOxq z4Hc_qxHyRiB}PDLW_3Ri7}7}eS8zAKDyyQ%DZXe4bTu zGwLT9EmGl^P>%c8{cwAua<+2ns71FeBIM$tNOr1gUC-$Fx*2N;P*2jMlsLl!;tW6h z@*d%ZSNm@fd@{V4ESX?c);?j`#3+NolGQV9v3;>}-6wAc82A7PQMyg*$GxTI^@snOps@~Yvf_Wj5-{bw~man8w*3Xqt#*EMFaD@ zyBpLoMa?miJ;bBL5s!>_4ti`R*Br{F$gwbL!NLGY;<@Cyzo6!h-mstvOU4^8!Hbnn5BTu&ri0NBYN^NPn7|yDCN9+a}RUsVwyz2S&wE*`eX*9u#%?ZY2dcdF{TXGoVJl|H`A%Zar?P7%`e>sAeph#<9IrDd zlRvc>BVPg2F=MSoU=qdp0wvj?GX9ZjSkI?ctC>NgA?xIe^$sA=q}*U4BVOPPh4vJA zwT6K!A?QZSO@)kvlRbB0H3~~VU)TgD|MLvt-9DiWFB*zl*58xI*U?u zf(5efSKAi?qVtnFdYxc}$min}cvG>9NX$ASGfVI)QbHs;3}wspat$MRJ<|c98V-w} z*?`mS3bt^coE8BD8!_{80v*M2zMP3-iCgU4CyPh|Rw5bSjRPGvZNn#LeioRCF{eR9ZE{h-vID6r*f@3oXPx-+m1XjS{i$;q z1sndre<)lukk4sZV@6+%_7){pC$?$MDXa#Cj(MAPH*^ZXcD>NaH46)}S%%T74B~!C zQN(L$&c3>PNmKgxn8QMMh5&?NGsPR_NNH06mGj+v$*l!QYpw(*$*)Q$`nFO;D(&`! z*fW(Fqvjz{Qzf)#=#a<;^L#kN z)2uQCkecypCvM@+HB8GCeedLZDN^2?J4$}s-QNX`>yCCPU4Nd^JFhW+JY4MMzogy9 z@zZ)Wm>85Q(_hf~E13UDzy_Bc%!h;Ws2))rf~Z#%+dS@3wi`FH{EbD>33!odyZwMr9FBW06V7NSm9(6+-+q1^~423U0s2$zw*|z_3`&^z<*dh+qo9 z*yP!BPh`?Ow&xRo8WAr9Y+oZPu{_)l5wt%~@j+Iv^;98Az?MUOuT+3>DH%gLU%$MB zG2*hf!e#iPhdEXST(w+KRq@Hs$~$2D45@EYSF+&4tdHfZ5J8IZ4 z%o+|m=}Txjm?VqrnX0Ae#K?d@xHl{hOb)99BXtn9b#-Xm&)L+NXe5iTi)@seXv67K zMWVrZb~e)uqsVYvVV=}TY9l?O>#On=PxWN^1^NI_6N0Y19G z-;~W{z^AR8eB{B*0_yw29mpS<$VIq|W4iQkIFJXYo95=p>~mVZy&4&LaXm-hDZA{= zA#&9V*|0F|#RjRQdAQ%w;fd&Jg>jMF+acfbk$Yw1kH?40$D1{>aTpTFnQjLhN_vPO zbb6OH9jzh=kzEE+dC7?(B4AiZ-H4&tjD$}ocxHHGsP8;>H2_q(qP=m2#bEyy@Ahi1 z>>rYW3$C^+tSENBzkwulAoqvp|0ffC_eQ44?h%^YFr#IBQ7lXGrX&YOEt5nSb8tat zraZhT4hA=3%dPyoBU5y5c$gto&=APNm-u{+PR@#cA$+sZ38#yTO^<&`6cDtg0b?uS zL6Ay&!$7bQ{^E^87&FsR_SRee`C(fuiL-RAG25gessVTvB{ZuoaK_>S_;YPe>6}CE zmTMD0i!B%-IBSVi;l7>LK2;60X!vc8vnXW~dy}ZDkmWMlf&V24sl@y|M_|LOkud7^ ztdZ3x$Y#?*RZ0MwWISc!H2m**npYCdyXAcB#=Zitvv#%v{RrWl8; zJj4Zr#Pc{nJ-#1)cyuEJ`uM^QvUC!nT7XpKtqRH+14ZH^7Po)1-m3;B)^wPart?f}!>k1HGAwzrMjUZS0mZ>G z_rwg1&zP~U{;07B0u#gtnpW%qkRu@HoaP`C~L|>G-##3Fc>B}m568E^en|nst`G3qJnXku7swv-4A%9uZXF^L z_5vD;h&xeG$qFZY{_)eVU!;735ifWJH4Pks&CS4`qvp3}j(%f9R`4+;;0`dVa&PkW zC21zhyJ-f`HTgwLK>(6BV9y}I-3mHD<{OO4vnr35dsA_S{p(II2cxx&?4(vZQTTwtd-~9H==Z}B?<->b9RIvrfp`lO+{k@hO6I8dz0<-Bt z$TMLT;6~dU?8~pw)$&zskL*lP2ncmcWEB<}&$h_nsNQvay}4XrXO5SZACBQz=p!g0 zMJh)adB_8PM2Rd!7?-^-iiANLmh9HW`B2l4C@QaB6FulCN-&wv($b(Q6o>{Tx^nJW$fr`2cWq=xWm6M1I91ET0vlQCv125?=iI za<1u@;EuO9S8^(ekW7tpm{-qzL}|tX{3EABK>4N~GRTE+M$H)78?dG)IJL4fG%1C~ ziOoAaKrGDxx5IITk_7z1bcjsWt$`EZaW@)^Cf_|8+fXN?6#8b+MtLnN^COVtiiKlA z`5s^e_+Ri5(>bSq9r+#3RUVRrSVJOg1lBa5ACd)65ci-3&Giocw=)#yeeba=igt(1 z`Hh3JN)yyh>aNtXWvJB%*C%D|)YTVp_1vnqcU2SWpUol>!FWGdd7Nq`I5t!;jYe&b9ZZOXfDf^>9=9ugxpfr2D zmQ;YwxNJ)$AK>h{gN0Gdc3m3UHiU)3Zec95G4e^98$)wb?H6htlj9nH2TzllL>&Um z{)$57Ky=XA`=~!+2ZuwQ?dwd^y_130d)GiwfdDkvh>U8kRe=NQ608KJIAd^(cvAwh z8X)+cDn|=jOGXDMl8f`{1qsL>_wXKCX*D|}yCml#Wzje1B9x`-#h0k$40-@x_ca)vkARfx&zR)Ay*=herQV( z3n~OulROc`UL5_(p_&;^uKM%r{DqPyabP-CyJ@wDrmhvo;DCRm4IfOFHxc8j5F&4B zkb^vta3eYp^E_coWU;05m!onCg&1$<{lR+ z@oe`7aonSgPs+90LJkK_3{ho7Ftb?5!M(JKBtj?jgz+k=jsmW5xZ8knBebza00i10 z-#7rMKiq+#k%OL_OrlwB|>4OH+|2fyIzc#N?c1`;key9-gWtqs_EL zb;l*5A_Bc8QdX-sqh=~&yp$QAWjUcyFcLSRzXs8a%##!2&WQdLa$fkQr-(-)3xarr zn%xL_q6kCMuL2BzORqX3Ws+!!;WT-Z+D|&(K=wdL@&-PvwdBBmFBOIfvOr(wGFY<6 zpw!w>q_oz5pKmG6p7vBE*?#F+B z`|HoYpMHM+^W^#87nA3AnE3h2`+xuYFTdes&wu#gw_o0U`S|IV=bt~w&(G%dUQ9h` zKs;U6Ey5T=CGfKfbUICVFQ0z?`0n`Ahqu3fIKD$GhL702Xa9OU>cH3k21WRIyL-*5NggYA8F2&VYIc~* zOnE`krz}VE;24dk+Dwt80ogUW(FQ;{Ns*pNgYMk@- zM#B;yYzg!AA{uJm2(VK+N&CQgF|;%V+Z>6bw<1+(a7W!^sc`e1cT-=#do3Q{;muB(w2_^2@15cQ;`$^2#iJK~EJZb+{s2E67(god%1dbCtu1WuuI+(6wxi3q%b_L7n8hkkStV$8b1 zNsK)so58`2N#@`WDx6QHh6P=s(A`X%%Gc_{hkwXDsNi14WFi7iie^{@95{KBfTxn< z6XI>ef%Q@DZ$OP9>|`?mjD^C-9@j{d62Nyag)qf@0M$%^HHyE6_Z}l(pI>K! z9-DTuLXiZx)E#6?;M9sOac^2$+m3h8v_cFe+fp8LdC5U zLFPCNJ*#Q-7M5U7Ju7m-@Pj(*fEDxsOx=1Dnf=wRr5$se8^1)DC1M~sq4Fl1lI>m@ z4(o!&lX1O+%WNZmf3rga^Ug&F>2^pCRj{dzD}8;p&t-KX1`HR01d2?m1b(`+YGdHybOWV zt5?1A0##~)A2x7F)_4j$&Vvd~8IoIKN^{u`ifMuabuqnSIY(;t zsvyVt$EZG=U($-h)qS0Dy)$!S;p8j|RM|mIDshTb!oeZFHo?7}1ES3CJwJ+OqP;e{ z(~GsB&i@Ybf+QDfYnCp>MhA zG+TX%)Fqf7US&r%PZ#G<=#a!uxgcsst4?$gSY`M)L-&QYo+9H^9`E-DRE)@0pTHQ` z+jWwGpQ%=A@xJ^HB`dKLVD4(RT9y7nmZgM8N9Yqg2xM!SeHAN#;s@4*u+mO~>Zvq9 zQp2q|PNB38%7u0&=)&Wx+JwX4P*_-hdm z%s`8PL^DrIh*QH{B9G@-ODq+O0)yf)!T7Y7jjnUbOZ}FKmQ0+7*o9(dELiQ(oBDPU z1>tY54}E-|ox3nl)D@&*2r>!M|Fj*9VWSBgNvcIzc^X1iY$+rH8@R0}50t_+YIX&a zfu%@%#t_o3=AXm=aRRibeJB$csN;J7b1c@hM z@EWbE8d9Fmq$Vqdc#*u&7+i_QJ{-19U9j#Hy_@S$Al%#mWda`OQTvAvmRb$+7uPs# z`OoVERF>P9NGh$2S)^UmVYXLDH?hd-Fug;97Xn_6ZIJ`LLDXFLY_7M5R}Yi^xUqwU zZiEO-1s$CJJiPJf5d=ylIaj0u6%kOF()OLwfgE^uq8>o9o>5u{LR>x2kLu4*AtH=N zFtSzC^dP(f$##MImShu23e^V;X2{z`Yg^4z7gsu;L5C}C%Tl>>73yR1B2ncUpAtkd zI*h@Mu)9;4>^y=Vv=NBe|4rB|ArCPsx?T}C>QYTr-czBmCf0$f@9rcs-&3(>(wRmo zE}F%-JUP7Ccef9hc{}w){ps~I+0!yaPJ?P1rQ+3as6+HRllWX$x@L9F2O;t^C|yeb z=hbM~zGkYk>2c3qTpoe{IEHX}qW5*V*5F7Q@-(%Dma1eu7-iiQ%&qW}M&0bTFUcI( zYxjuX(N6x^pGmx?_w3}6RGK6E=;LtdH!~E&z?KH|5b_jKjK;&HwYD-U;OR7_Wg_%cMd3lti#pXA*87|n ztY_0`hk;0F_vz=0HH23;jMcbU{vXu1sIwkPHYGd*0Vp?D2c!_f5r6&gUCr*YjvgWY zN+gq0QacML33dZ{db%jJABsr2e}e)fe5#x~q5W$6h8f4S;iq>)RTS%&u&AYlLFc|W zDF*sn8{;HMDgMU7{by6{ki%&%o&*a|&PeE@6gDBrcobva1Q;q@Zx_sg%NE_Bq zf!ByUXal=j3sP&Wrbk`X4rQejV*EiWFdBf;;VdM=!DuyG6q4xTM7~x7QJ(IIA64km zfvKB^N>F+^EMZ$X!V$UBx#%QdI3(+J!)xV2Rlycp<8njjHUdE|!gP}LZVoW3G_r?E zFGWU_Il5asF*h2%YRZR;=+jJ)C5yERR8a&OMx@inzC6E4Pzi=6P+1iD^sx(jYbA zo6IP4)eZsWGpT~duAM3^&frm03&{PWR_GQB()%6HgZL?PLc+*hNuX(v@*9NSqAJqcCP76*$o@&V9xO1<-ac!pk zcE7!O<0|yiHe{SDsj_nHHboXxadxg+e=AmN9y{9I;$~#>2+71x@eg#0!-zP6{#%}e z;ItE7R9KP0?7qwNaHgUHfu%E1KA2;YVu7sZ%TaP#&5-*@oKkubDVvsG610&ZRV2~P z=aUmdA>hUeXHr(>p z&%zc-Q|BV=JMsi>IHKs_M}4?67vFplW}ZaSctDNIW2Uxr7*r*i7991TN;N)RhUGxL z?|wERrx)WvnNSebTEL^A$JK6gJe{7Lynycui>O1iCSNTPAvgU>QL$1=W~MpLl)b7%Q}6`)4x=@aI$RJ5)S|&a^1>I8S!KcP~g! z$Me3-dH%-fNar4*Bd#BcJOxja1TI3TR`6S>fmG{0(=vPtl~Ow0`F(?Kcl6G%8S=&T z8`X|_si)Y3&a)Cu-c?HtkHMw9fHB($O{+Ca zawg%W7Nf^n1;COt%n?!;B>Bg02nPQ)>l39X+`0DC#h3bb^>e2I>1c=>NyujSHBr=HD z@FM(7D10oa_4xJV|Ajo&-gacUA#z)kErRn1YHel0bP9y#AD|xcg_1l|a&c1i)VjirWjgG>E<>#X)S9sC4$Si9m4HS;qAcl9@}C z+wH2Sg7;<#BKSb<4R+%bX$mcH5~2{lB#S4M2QgLmC(0XCCt1(Vf-Z`$IbyBofF*@) zl-uOMFrl?P05O6tu;z=+A*DCs6|N$ylXCXAvlnNlFBY@K^89qZn4O$`_`lIg=K{L1 zzHNF=?Lpdh6gTZqd#GqOzao%CIgM!OE-SgI6K`M|uQsnjbhsJT5Ofx@$~}`R6QgA) zYJlxjMN69Mix;}O*z80eQyTL5!>{i?{rubKx4(XoSk>qWf|eka6}&sK*a9kOPV0rl zf!=UatlHtW&OFa?g3wGdEs~{N9{2;H&t2+SPx%uP+Ds-)mQ~4d3DL6RCJp(s2$R7y z#XV)Y2pM4-CgS2TO{-u@;Yd76)Z=vNc*HTP(LB`)4#@@()<;rx!1e>*C4gu|Mu~xFCTw7`Z$DQ zPMFvX|2ort*pL$-nm&&u1uHYLnzqCAl-nSP8F^#yXgv^OYgDyEyrP7qP^Hn+Xpjs@ zjWOsP~ymwK4yVGnZ%mxxBg~2 z2r?~nxSFH~)e(FCkA%^fEZCX=nsf*Nt;`ozT@gSXHJLyc#Beaup@G9WO8Uh0AXewf zbeK17&p^GzfEgTHS|K1po02@}luO923q-}~VZMh>Wph>h-@qo}6rZpDi5EB&zrw z?3D@+#uNaH{xmmdmEYgm(CDp#>aRYt#yqh-Fv6^3)X)K;5x_hlS1eKNHV=VXgBG{1 z-R(_r)@2Vzb>Vy#Pg?SGuOIIbo!WIO5)nA8cj?AQK!~;_tU5LHXXxEsx_&@GQ?#JG zd$oa-{bw_LC%W@wHw4r?%Np>l1Q8W0?)Et{mmRr8GpIraMJom}Ws@7q9DC%`b_Zt& z$_8B>kfD(XH$azgAb7Q29WZ^nkK>PE-{tv2PTxKCr5!^pgtJdzkFF_kD^zy@(-7jyy|LH^OM4hiS_97J^tqAal{8)`rd=w^g{f#h&NVB3K zHZtHi)*TicD?)}RMn>HxDWM*Poy1n5{G^`Y?-+TKyrsfq8h&|Uk_dgno3YJc-Cj;=Y!@@zH8HEy)IkX{~L@304d%b{w&1DDqMY6+7QaAXB%MN|MYYL(CtjHnY+=MB?$+EhBEEVFK>zyxc zXXrPYlb%J#qgU{==L>c{;dz68Tg)4Ni_IO3bY3@{qc1c8Pj`%6&)IzOVZXXP&}o50 z?MmlRBgh8VX_+ z!Aj@y`I$&JU8;>e?O*o=4Mt@(gl}^eNv5;;S6F20R72;GRD}#x0l2K32_zW#PG!fd zDe{I;BvkNtg;qs!n@Js&?FUMTaC)~1HBzv7vCKQj;#Z`a=9Rg<1Lhgx^oD#NoP;?ZA2leDnvaV3=5pa18V zchBCII&kd(xVYDIK+CGX&CX7iFP4iFRA`z54o}d=;rv2G%IvR4=U~JZ4gK|c-A{n> zU457A|M75n&&-2o5Y&D_^bM@u`19MxU%nuy`pehP;ujhJdh)NVBhC7y&zayi`H%mY zFi8N8kSy^?p55i4-nPyJ-M66(93*i#)S-o)N&K`**%0AhBwM8UJjg+7@~|Jjlt5QA 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%0ArV0f@!X>)iIQ>yW1b&-I0dO)`zc5NZ6Z&_m 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

    - - -
    - -
    -
    -
    - -
    - - - - -
    - -
    - -
    -
    -
    Overview
    -
    -
    -

    CMSIS-Core (Cortex-M) implements the basic run-time system for a Cortex-M device and gives the user access to the processor core and the device peripherals. In detail it defines:

    -
      -
    • Hardware Abstraction Layer (HAL) for Cortex-M processor registers with standardized definitions for the SysTick, NVIC, System Control Block registers, MPU registers, FPU registers, and core access functions.
    • -
    • System exception names to interface to system exceptions without having compatibility issues.
    • -
    • Methods to organize header files that makes it easy to learn new Cortex-M microcontroller products and improve software portability. This includes naming conventions for device-specific interrupts.
    • -
    • Methods for system initialization to be used by each MCU vendor. For example, the standardized SystemInit() function is essential for configuring the clock system of the device.
    • -
    • Intrinsic functions used to generate CPU instructions that are not supported by standard C functions.
    • -
    • A variable to determine the system clock frequency which simplifies the setup the SysTick timer.
    • -
    -

    The following sections provide details about the CMSIS-Core (Cortex-M):

    - -
    -

    CMSIS-Core (Cortex-M) in ARM::CMSIS Pack

    -

    Files relevant to CMSIS-Core (Cortex-M) are present in the following ARM::CMSIS directories:

    - - - - - - - - - - - -
    File/Folder Content
    CMSIS\Documentation\Core This documentation
    CMSIS\Core\Include CMSIS-Core (Cortex-M) header files (for example core_cm3.h, core_cmInstr.h, etc.)
    Device Arm reference implementations of Cortex-M devices
    Device\_Template_Vendor CMSIS-Core Device Templates for extension by silicon vendors
    -
    -

    -Processor Support

    -

    CMSIS supports the complete range of Cortex-M processors (with exception of Cortex-M1) and the Armv8-M architecture including security extensions.

    -

    -Cortex-M Reference Manuals

    -

    The Cortex-M Device Generic User Guides contain the programmers model and detailed information about the core peripherals and are available for:

    - -

    The Cortex-M23 and Cortex-M33 are described with Technical Reference Manuals that are available here:

    - -

    -Armv8-M Architecture

    -

    Armv8-M introduces two profiles baseline (for power and area constrained applications) and mainline (full-featured with optional SIMD, floating-point, and co-processor extensions). Both Armv8-M profiles are supported by CMSIS.

    -

    The Armv8-M Architecture is described in the Armv8-M Architecture Reference Manual.

    -
    -

    -Tested and Verified Toolchains

    -

    The CMSIS-Core Device Templates supplied by Arm have been tested and verified with the following toolchains:

    -
      -
    • Arm: Arm Compiler 5.06 update 6 (not for Cortex-M23, Cortex-M33, Armv8-M)
    • -
    • Arm: Arm Compiler 6.9
    • -
    • Arm: Arm Compiler 6.6.2 (not for Cortex-M0, Cortex-M23, Cortex-M33, Armv8-M)
    • -
    • GNU: GNU Tools for Arm Embedded 6.3.1 20170620
    • -
    • IAR: IAR ANSI C/C++ Compiler for Arm 8.20.1.14183
    • -
    -
    -
    -
    - - - - diff --git a/software/firmware/oracle_same54n19a/atmel_start.c b/software/firmware/oracle_same54n19a/atmel_start.c deleted file mode 100644 index 79f252a..0000000 --- a/software/firmware/oracle_same54n19a/atmel_start.c +++ /dev/null @@ -1,9 +0,0 @@ -#include - -/** - * Initializes MCU, drivers and middleware in the project - **/ -void atmel_start_init(void) -{ - system_init(); -} diff --git a/software/firmware/oracle_same54n19a/atmel_start.h b/software/firmware/oracle_same54n19a/atmel_start.h deleted file mode 100644 index 0de62f5..0000000 --- a/software/firmware/oracle_same54n19a/atmel_start.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ATMEL_START_H_INCLUDED -#define ATMEL_START_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -#include "driver_init.h" - -/** - * Initializes MCU, drivers and middleware in the project - **/ -void atmel_start_init(void); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/software/firmware/oracle_same54n19a/atmel_start_config.atstart b/software/firmware/oracle_same54n19a/atmel_start_config.atstart deleted file mode 100644 index 00db73c..0000000 --- a/software/firmware/oracle_same54n19a/atmel_start_config.atstart +++ /dev/null @@ -1,1201 +0,0 @@ -format_version: '2' -name: My Project -versions: - api: '1.0' - backend: 1.8.580 - commit: f3d8d96e294de8dee688333bbbe8d8458a4f6b4c - content: unknown - content_pack_name: unknown - format: '2' - frontend: 1.8.580 - packs_version_avr8: 1.0.1463 - packs_version_qtouch: unknown - packs_version_sam: 1.0.1726 - version_backend: 1.8.580 - version_frontend: '' -board: - identifier: CustomBoard - device: SAME54N19A-AF -details: null -application: null -middlewares: {} -drivers: - CMCC: - user_label: CMCC - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::CMCC::driver_config_definition::CMCC::HAL:HPL:CMCC - functionality: System - api: HAL:HPL:CMCC - configuration: - cache_size: 4 KB - cmcc_advanced_configuration: false - cmcc_clock_gating_disable: false - cmcc_data_cache_disable: false - cmcc_enable: false - cmcc_inst_cache_disable: false - optional_signals: [] - variant: null - clocks: - domain_group: null - DMAC: - user_label: DMAC - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::DMAC::driver_config_definition::DMAC::HAL:HPL:DMAC - functionality: System - api: HAL:HPL:DMAC - configuration: - dmac_beatsize_0: 8-bit bus transfer - dmac_beatsize_1: 8-bit bus transfer - dmac_beatsize_10: 8-bit bus transfer - dmac_beatsize_11: 8-bit bus transfer - dmac_beatsize_12: 8-bit bus transfer - dmac_beatsize_13: 8-bit bus transfer - dmac_beatsize_14: 8-bit bus transfer - dmac_beatsize_15: 8-bit bus transfer - dmac_beatsize_16: 8-bit bus transfer - dmac_beatsize_17: 8-bit bus transfer - dmac_beatsize_18: 8-bit bus transfer - dmac_beatsize_19: 8-bit bus transfer - dmac_beatsize_2: 8-bit bus transfer - dmac_beatsize_20: 8-bit bus transfer - dmac_beatsize_21: 8-bit bus transfer - dmac_beatsize_22: 8-bit bus transfer - dmac_beatsize_23: 8-bit bus transfer - dmac_beatsize_24: 8-bit bus transfer - dmac_beatsize_25: 8-bit bus transfer - dmac_beatsize_26: 8-bit bus transfer - dmac_beatsize_27: 8-bit bus transfer - dmac_beatsize_28: 8-bit bus transfer - dmac_beatsize_29: 8-bit bus transfer - dmac_beatsize_3: 8-bit bus transfer - dmac_beatsize_30: 8-bit bus transfer - dmac_beatsize_31: 8-bit bus transfer - dmac_beatsize_4: 8-bit bus transfer - dmac_beatsize_5: 8-bit bus transfer - dmac_beatsize_6: 8-bit bus transfer - dmac_beatsize_7: 8-bit bus transfer - dmac_beatsize_8: 8-bit bus transfer - dmac_beatsize_9: 8-bit bus transfer - dmac_blockact_0: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_1: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_10: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_11: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_12: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_13: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_14: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_15: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_16: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_17: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_18: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_19: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_2: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_20: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_21: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_22: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_23: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_24: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_25: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_26: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_27: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_28: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_29: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_3: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_30: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_31: Channel will be disabled if it is the last block transfer - in the transaction - dmac_blockact_4: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_5: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_6: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_7: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_8: Channel will be disabled if it is the last block transfer in - the transaction - dmac_blockact_9: Channel will be disabled if it is the last block transfer in - the transaction - dmac_channel_0_settings: false - dmac_channel_10_settings: false - dmac_channel_11_settings: false - dmac_channel_12_settings: false - dmac_channel_13_settings: false - dmac_channel_14_settings: false - dmac_channel_15_settings: false - dmac_channel_16_settings: false - dmac_channel_17_settings: false - dmac_channel_18_settings: false - dmac_channel_19_settings: false - dmac_channel_1_settings: false - dmac_channel_20_settings: false - dmac_channel_21_settings: false - dmac_channel_22_settings: false - dmac_channel_23_settings: false - dmac_channel_24_settings: false - dmac_channel_25_settings: false - dmac_channel_26_settings: false - dmac_channel_27_settings: false - dmac_channel_28_settings: false - dmac_channel_29_settings: false - dmac_channel_2_settings: false - dmac_channel_30_settings: false - dmac_channel_31_settings: false - dmac_channel_3_settings: false - dmac_channel_4_settings: false - dmac_channel_5_settings: false - dmac_channel_6_settings: false - dmac_channel_7_settings: false - dmac_channel_8_settings: false - dmac_channel_9_settings: false - dmac_dbgrun: false - dmac_dstinc_0: false - dmac_dstinc_1: false - dmac_dstinc_10: false - dmac_dstinc_11: false - dmac_dstinc_12: false - dmac_dstinc_13: false - dmac_dstinc_14: false - dmac_dstinc_15: false - dmac_dstinc_16: false - dmac_dstinc_17: false - dmac_dstinc_18: false - dmac_dstinc_19: false - dmac_dstinc_2: false - dmac_dstinc_20: false - dmac_dstinc_21: false - dmac_dstinc_22: false - dmac_dstinc_23: false - dmac_dstinc_24: false - dmac_dstinc_25: false - dmac_dstinc_26: false - dmac_dstinc_27: false - dmac_dstinc_28: false - dmac_dstinc_29: false - dmac_dstinc_3: false - dmac_dstinc_30: false - dmac_dstinc_31: false - dmac_dstinc_4: false - dmac_dstinc_5: false - dmac_dstinc_6: false - dmac_dstinc_7: false - dmac_dstinc_8: false - dmac_dstinc_9: false - dmac_enable: false - dmac_evact_0: No action - dmac_evact_1: No action - dmac_evact_10: No action - dmac_evact_11: No action - dmac_evact_12: No action - dmac_evact_13: No action - dmac_evact_14: No action - dmac_evact_15: No action - dmac_evact_16: No action - dmac_evact_17: No action - dmac_evact_18: No action - dmac_evact_19: No action - dmac_evact_2: No action - dmac_evact_20: No action - dmac_evact_21: No action - dmac_evact_22: No action - dmac_evact_23: No action - dmac_evact_24: No action - dmac_evact_25: No action - dmac_evact_26: No action - dmac_evact_27: No action - dmac_evact_28: No action - dmac_evact_29: No action - dmac_evact_3: No action - dmac_evact_30: No action - dmac_evact_31: No action - dmac_evact_4: No action - dmac_evact_5: No action - dmac_evact_6: No action - dmac_evact_7: No action - dmac_evact_8: No action - dmac_evact_9: No action - dmac_evie_0: false - dmac_evie_1: false - dmac_evie_10: false - dmac_evie_11: false - dmac_evie_12: false - dmac_evie_13: false - dmac_evie_14: false - dmac_evie_15: false - dmac_evie_16: false - dmac_evie_17: false - dmac_evie_18: false - dmac_evie_19: false - dmac_evie_2: false - dmac_evie_20: false - dmac_evie_21: false - dmac_evie_22: false - dmac_evie_23: false - dmac_evie_24: false - dmac_evie_25: false - dmac_evie_26: false - dmac_evie_27: false - dmac_evie_28: false - dmac_evie_29: false - dmac_evie_3: false - dmac_evie_30: false - dmac_evie_31: false - dmac_evie_4: false - dmac_evie_5: false - dmac_evie_6: false - dmac_evie_7: false - dmac_evie_8: false - dmac_evie_9: false - dmac_evoe_0: false - dmac_evoe_1: false - dmac_evoe_10: false - dmac_evoe_11: false - dmac_evoe_12: false - dmac_evoe_13: false - dmac_evoe_14: false - dmac_evoe_15: false - dmac_evoe_16: false - dmac_evoe_17: false - dmac_evoe_18: false - dmac_evoe_19: false - dmac_evoe_2: false - dmac_evoe_20: false - dmac_evoe_21: false - dmac_evoe_22: false - dmac_evoe_23: false - dmac_evoe_24: false - dmac_evoe_25: false - dmac_evoe_26: false - dmac_evoe_27: false - dmac_evoe_28: false - dmac_evoe_29: false - dmac_evoe_3: false - dmac_evoe_30: false - dmac_evoe_31: false - dmac_evoe_4: false - dmac_evoe_5: false - dmac_evoe_6: false - dmac_evoe_7: false - dmac_evoe_8: false - dmac_evoe_9: false - dmac_evosel_0: Event generation disabled - dmac_evosel_1: Event generation disabled - dmac_evosel_10: Event generation disabled - dmac_evosel_11: Event generation disabled - dmac_evosel_12: Event generation disabled - dmac_evosel_13: Event generation disabled - dmac_evosel_14: Event generation disabled - dmac_evosel_15: Event generation disabled - dmac_evosel_16: Event generation disabled - dmac_evosel_17: Event generation disabled - dmac_evosel_18: Event generation disabled - dmac_evosel_19: Event generation disabled - dmac_evosel_2: Event generation disabled - dmac_evosel_20: Event generation disabled - dmac_evosel_21: Event generation disabled - dmac_evosel_22: Event generation disabled - dmac_evosel_23: Event generation disabled - dmac_evosel_24: Event generation disabled - dmac_evosel_25: Event generation disabled - dmac_evosel_26: Event generation disabled - dmac_evosel_27: Event generation disabled - dmac_evosel_28: Event generation disabled - dmac_evosel_29: Event generation disabled - dmac_evosel_3: Event generation disabled - dmac_evosel_30: Event generation disabled - dmac_evosel_31: Event generation disabled - dmac_evosel_4: Event generation disabled - dmac_evosel_5: Event generation disabled - dmac_evosel_6: Event generation disabled - dmac_evosel_7: Event generation disabled - dmac_evosel_8: Event generation disabled - dmac_evosel_9: Event generation disabled - dmac_lvl_0: Channel priority 0 - dmac_lvl_1: Channel priority 0 - dmac_lvl_10: Channel priority 0 - dmac_lvl_11: Channel priority 0 - dmac_lvl_12: Channel priority 0 - dmac_lvl_13: Channel priority 0 - dmac_lvl_14: Channel priority 0 - dmac_lvl_15: Channel priority 0 - dmac_lvl_16: Channel priority 0 - dmac_lvl_17: Channel priority 0 - dmac_lvl_18: Channel priority 0 - dmac_lvl_19: Channel priority 0 - dmac_lvl_2: Channel priority 0 - dmac_lvl_20: Channel priority 0 - dmac_lvl_21: Channel priority 0 - dmac_lvl_22: Channel priority 0 - dmac_lvl_23: Channel priority 0 - dmac_lvl_24: Channel priority 0 - dmac_lvl_25: Channel priority 0 - dmac_lvl_26: Channel priority 0 - dmac_lvl_27: Channel priority 0 - dmac_lvl_28: Channel priority 0 - dmac_lvl_29: Channel priority 0 - dmac_lvl_3: Channel priority 0 - dmac_lvl_30: Channel priority 0 - dmac_lvl_31: Channel priority 0 - dmac_lvl_4: Channel priority 0 - dmac_lvl_5: Channel priority 0 - dmac_lvl_6: Channel priority 0 - dmac_lvl_7: Channel priority 0 - dmac_lvl_8: Channel priority 0 - dmac_lvl_9: Channel priority 0 - dmac_lvlen0: true - dmac_lvlen1: true - dmac_lvlen2: true - dmac_lvlen3: true - dmac_lvlpri0: 0 - dmac_lvlpri1: 0 - dmac_lvlpri2: 0 - dmac_lvlpri3: 0 - dmac_rrlvlen0: Static arbitration scheme for channel with priority 0 - dmac_rrlvlen1: Static arbitration scheme for channel with priority 1 - dmac_rrlvlen2: Static arbitration scheme for channel with priority 2 - dmac_rrlvlen3: Static arbitration scheme for channel with priority 3 - dmac_runstdby_0: false - dmac_runstdby_1: false - dmac_runstdby_10: false - dmac_runstdby_11: false - dmac_runstdby_12: false - dmac_runstdby_13: false - dmac_runstdby_14: false - dmac_runstdby_15: false - dmac_runstdby_16: false - dmac_runstdby_17: false - dmac_runstdby_18: false - dmac_runstdby_19: false - dmac_runstdby_2: false - dmac_runstdby_20: false - dmac_runstdby_21: false - dmac_runstdby_22: false - dmac_runstdby_23: false - dmac_runstdby_24: false - dmac_runstdby_25: false - dmac_runstdby_26: false - dmac_runstdby_27: false - dmac_runstdby_28: false - dmac_runstdby_29: false - dmac_runstdby_3: false - dmac_runstdby_30: false - dmac_runstdby_31: false - dmac_runstdby_4: false - dmac_runstdby_5: false - dmac_runstdby_6: false - dmac_runstdby_7: false - dmac_runstdby_8: false - dmac_runstdby_9: false - dmac_srcinc_0: false - dmac_srcinc_1: false - dmac_srcinc_10: false - dmac_srcinc_11: false - dmac_srcinc_12: false - dmac_srcinc_13: false - dmac_srcinc_14: false - dmac_srcinc_15: false - dmac_srcinc_16: false - dmac_srcinc_17: false - dmac_srcinc_18: false - dmac_srcinc_19: false - dmac_srcinc_2: false - dmac_srcinc_20: false - dmac_srcinc_21: false - dmac_srcinc_22: false - dmac_srcinc_23: false - dmac_srcinc_24: false - dmac_srcinc_25: false - dmac_srcinc_26: false - dmac_srcinc_27: false - dmac_srcinc_28: false - dmac_srcinc_29: false - dmac_srcinc_3: false - dmac_srcinc_30: false - dmac_srcinc_31: false - dmac_srcinc_4: false - dmac_srcinc_5: false - dmac_srcinc_6: false - dmac_srcinc_7: false - dmac_srcinc_8: false - dmac_srcinc_9: false - dmac_stepsel_0: Step size settings apply to the destination address - dmac_stepsel_1: Step size settings apply to the destination address - dmac_stepsel_10: Step size settings apply to the destination address - dmac_stepsel_11: Step size settings apply to the destination address - dmac_stepsel_12: Step size settings apply to the destination address - dmac_stepsel_13: Step size settings apply to the destination address - dmac_stepsel_14: Step size settings apply to the destination address - dmac_stepsel_15: Step size settings apply to the destination address - dmac_stepsel_16: Step size settings apply to the destination address - dmac_stepsel_17: Step size settings apply to the destination address - dmac_stepsel_18: Step size settings apply to the destination address - dmac_stepsel_19: Step size settings apply to the destination address - dmac_stepsel_2: Step size settings apply to the destination address - dmac_stepsel_20: Step size settings apply to the destination address - dmac_stepsel_21: Step size settings apply to the destination address - dmac_stepsel_22: Step size settings apply to the destination address - dmac_stepsel_23: Step size settings apply to the destination address - dmac_stepsel_24: Step size settings apply to the destination address - dmac_stepsel_25: Step size settings apply to the destination address - dmac_stepsel_26: Step size settings apply to the destination address - dmac_stepsel_27: Step size settings apply to the destination address - dmac_stepsel_28: Step size settings apply to the destination address - dmac_stepsel_29: Step size settings apply to the destination address - dmac_stepsel_3: Step size settings apply to the destination address - dmac_stepsel_30: Step size settings apply to the destination address - dmac_stepsel_31: Step size settings apply to the destination address - dmac_stepsel_4: Step size settings apply to the destination address - dmac_stepsel_5: Step size settings apply to the destination address - dmac_stepsel_6: Step size settings apply to the destination address - dmac_stepsel_7: Step size settings apply to the destination address - dmac_stepsel_8: Step size settings apply to the destination address - dmac_stepsel_9: Step size settings apply to the destination address - dmac_stepsize_0: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_1: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_10: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_11: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_12: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_13: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_14: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_15: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_16: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_17: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_18: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_19: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_2: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_20: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_21: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_22: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_23: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_24: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_25: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_26: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_27: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_28: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_29: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_3: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_30: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_31: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_4: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_5: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_6: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_7: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_8: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_stepsize_9: Next ADDR = ADDR + (BEATSIZE + 1) * 1 - dmac_trifsrc_0: Only software/event triggers - dmac_trifsrc_1: Only software/event triggers - dmac_trifsrc_10: Only software/event triggers - dmac_trifsrc_11: Only software/event triggers - dmac_trifsrc_12: Only software/event triggers - dmac_trifsrc_13: Only software/event triggers - dmac_trifsrc_14: Only software/event triggers - dmac_trifsrc_15: Only software/event triggers - dmac_trifsrc_16: Only software/event triggers - dmac_trifsrc_17: Only software/event triggers - dmac_trifsrc_18: Only software/event triggers - dmac_trifsrc_19: Only software/event triggers - dmac_trifsrc_2: Only software/event triggers - dmac_trifsrc_20: Only software/event triggers - dmac_trifsrc_21: Only software/event triggers - dmac_trifsrc_22: Only software/event triggers - dmac_trifsrc_23: Only software/event triggers - dmac_trifsrc_24: Only software/event triggers - dmac_trifsrc_25: Only software/event triggers - dmac_trifsrc_26: Only software/event triggers - dmac_trifsrc_27: Only software/event triggers - dmac_trifsrc_28: Only software/event triggers - dmac_trifsrc_29: Only software/event triggers - dmac_trifsrc_3: Only software/event triggers - dmac_trifsrc_30: Only software/event triggers - dmac_trifsrc_31: Only software/event triggers - dmac_trifsrc_4: Only software/event triggers - dmac_trifsrc_5: Only software/event triggers - dmac_trifsrc_6: Only software/event triggers - dmac_trifsrc_7: Only software/event triggers - dmac_trifsrc_8: Only software/event triggers - dmac_trifsrc_9: Only software/event triggers - dmac_trigact_0: One trigger required for each block transfer - dmac_trigact_1: One trigger required for each block transfer - dmac_trigact_10: One trigger required for each block transfer - dmac_trigact_11: One trigger required for each block transfer - dmac_trigact_12: One trigger required for each block transfer - dmac_trigact_13: One trigger required for each block transfer - dmac_trigact_14: One trigger required for each block transfer - dmac_trigact_15: One trigger required for each block transfer - dmac_trigact_16: One trigger required for each block transfer - dmac_trigact_17: One trigger required for each block transfer - dmac_trigact_18: One trigger required for each block transfer - dmac_trigact_19: One trigger required for each block transfer - dmac_trigact_2: One trigger required for each block transfer - dmac_trigact_20: One trigger required for each block transfer - dmac_trigact_21: One trigger required for each block transfer - dmac_trigact_22: One trigger required for each block transfer - dmac_trigact_23: One trigger required for each block transfer - dmac_trigact_24: One trigger required for each block transfer - dmac_trigact_25: One trigger required for each block transfer - dmac_trigact_26: One trigger required for each block transfer - dmac_trigact_27: One trigger required for each block transfer - dmac_trigact_28: One trigger required for each block transfer - dmac_trigact_29: One trigger required for each block transfer - dmac_trigact_3: One trigger required for each block transfer - dmac_trigact_30: One trigger required for each block transfer - dmac_trigact_31: One trigger required for each block transfer - dmac_trigact_4: One trigger required for each block transfer - dmac_trigact_5: One trigger required for each block transfer - dmac_trigact_6: One trigger required for each block transfer - dmac_trigact_7: One trigger required for each block transfer - dmac_trigact_8: One trigger required for each block transfer - dmac_trigact_9: One trigger required for each block transfer - optional_signals: [] - variant: null - clocks: - domain_group: null - EXTERNAL_IRQ_0: - user_label: EXTERNAL_IRQ_0 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::EIC::driver_config_definition::Default::HAL:Driver:Ext.IRQ - functionality: External_IRQ - api: HAL:Driver:Ext_IRQ - configuration: - eic_arch_asynch0: false - eic_arch_asynch1: false - eic_arch_asynch10: false - eic_arch_asynch11: false - eic_arch_asynch12: false - eic_arch_asynch13: false - eic_arch_asynch14: false - eic_arch_asynch15: false - eic_arch_asynch2: false - eic_arch_asynch3: false - eic_arch_asynch4: false - eic_arch_asynch5: false - eic_arch_asynch6: false - eic_arch_asynch7: false - eic_arch_asynch8: false - eic_arch_asynch9: false - eic_arch_cksel: Clocked by GCLK - eic_arch_debounce_enable0: false - eic_arch_debounce_enable1: false - eic_arch_debounce_enable10: false - eic_arch_debounce_enable11: false - eic_arch_debounce_enable12: false - eic_arch_debounce_enable13: false - eic_arch_debounce_enable14: false - eic_arch_debounce_enable15: false - eic_arch_debounce_enable2: false - eic_arch_debounce_enable3: false - eic_arch_debounce_enable4: false - eic_arch_debounce_enable5: false - eic_arch_debounce_enable6: false - eic_arch_debounce_enable7: false - eic_arch_debounce_enable8: false - eic_arch_debounce_enable9: false - eic_arch_enable_irq_setting0: false - eic_arch_enable_irq_setting1: false - eic_arch_enable_irq_setting10: false - eic_arch_enable_irq_setting11: false - eic_arch_enable_irq_setting12: false - eic_arch_enable_irq_setting13: false - eic_arch_enable_irq_setting14: false - eic_arch_enable_irq_setting15: false - eic_arch_enable_irq_setting2: false - eic_arch_enable_irq_setting3: false - eic_arch_enable_irq_setting4: false - eic_arch_enable_irq_setting5: false - eic_arch_enable_irq_setting6: false - eic_arch_enable_irq_setting7: false - eic_arch_enable_irq_setting8: false - eic_arch_enable_irq_setting9: false - eic_arch_extinteo0: false - eic_arch_extinteo1: false - eic_arch_extinteo10: false - eic_arch_extinteo11: false - eic_arch_extinteo12: false - eic_arch_extinteo13: false - eic_arch_extinteo14: false - eic_arch_extinteo15: false - eic_arch_extinteo2: false - eic_arch_extinteo3: false - eic_arch_extinteo4: false - eic_arch_extinteo5: false - eic_arch_extinteo6: false - eic_arch_extinteo7: false - eic_arch_extinteo8: false - eic_arch_extinteo9: false - eic_arch_filten0: false - eic_arch_filten1: false - eic_arch_filten10: false - eic_arch_filten11: false - eic_arch_filten12: false - eic_arch_filten13: false - eic_arch_filten14: false - eic_arch_filten15: false - eic_arch_filten2: false - eic_arch_filten3: false - eic_arch_filten4: false - eic_arch_filten5: false - eic_arch_filten6: false - eic_arch_filten7: false - eic_arch_filten8: false - eic_arch_filten9: false - eic_arch_nmi_ctrl: false - eic_arch_nmiasynch: false - eic_arch_nmifilten: false - eic_arch_nmisense: No detection - eic_arch_prescaler0: Divided by 2 - eic_arch_prescaler1: Divided by 2 - eic_arch_sense0: No detection - eic_arch_sense1: No detection - eic_arch_sense10: No detection - eic_arch_sense11: No detection - eic_arch_sense12: No detection - eic_arch_sense13: No detection - eic_arch_sense14: No detection - eic_arch_sense15: No detection - eic_arch_sense2: No detection - eic_arch_sense3: No detection - eic_arch_sense4: No detection - eic_arch_sense5: No detection - eic_arch_sense6: No detection - eic_arch_sense7: No detection - eic_arch_sense8: No detection - eic_arch_sense9: No detection - eic_arch_states0: '3' - eic_arch_states1: '3' - eic_arch_tickon: The sampling rate is EIC clock - optional_signals: [] - variant: null - clocks: - domain_group: - nodes: - - name: EIC - input: Generic clock generator 0 - external: false - external_frequency: 0 - configuration: - eic_gclk_selection: Generic clock generator 0 - GCLK: - user_label: GCLK - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::GCLK::driver_config_definition::GCLK::HAL:HPL:GCLK - functionality: System - api: HAL:HPL:GCLK - configuration: - $input: 12000000 - $input_id: External Crystal Oscillator 8-48MHz (XOSC1) - RESERVED_InputFreq: 12000000 - RESERVED_InputFreq_id: External Crystal Oscillator 8-48MHz (XOSC1) - _$freq_output_Generic clock generator 0: 119997440 - _$freq_output_Generic clock generator 1: 48000000 - _$freq_output_Generic clock generator 10: 12000000 - _$freq_output_Generic clock generator 11: 12000000 - _$freq_output_Generic clock generator 2: 3000000 - _$freq_output_Generic clock generator 3: 32768 - _$freq_output_Generic clock generator 4: 12000000 - _$freq_output_Generic clock generator 5: 12000000 - _$freq_output_Generic clock generator 6: 12000000 - _$freq_output_Generic clock generator 7: 12000000 - _$freq_output_Generic clock generator 8: 12000000 - _$freq_output_Generic clock generator 9: 12000000 - enable_gclk_gen_0: true - enable_gclk_gen_0__externalclock: 1000000 - enable_gclk_gen_1: false - enable_gclk_gen_10: false - enable_gclk_gen_10__externalclock: 1000000 - enable_gclk_gen_11: false - enable_gclk_gen_11__externalclock: 1000000 - enable_gclk_gen_1__externalclock: 1000000 - enable_gclk_gen_2: false - enable_gclk_gen_2__externalclock: 1000000 - enable_gclk_gen_3: false - enable_gclk_gen_3__externalclock: 1000000 - enable_gclk_gen_4: false - enable_gclk_gen_4__externalclock: 1000000 - enable_gclk_gen_5: false - enable_gclk_gen_5__externalclock: 1000000 - enable_gclk_gen_6: false - enable_gclk_gen_6__externalclock: 1000000 - enable_gclk_gen_7: false - enable_gclk_gen_7__externalclock: 1000000 - enable_gclk_gen_8: false - enable_gclk_gen_8__externalclock: 1000000 - enable_gclk_gen_9: false - enable_gclk_gen_9__externalclock: 1000000 - gclk_arch_gen_0_enable: true - gclk_arch_gen_0_idc: false - gclk_arch_gen_0_oe: false - gclk_arch_gen_0_oov: false - gclk_arch_gen_0_runstdby: false - gclk_arch_gen_10_enable: false - gclk_arch_gen_10_idc: false - gclk_arch_gen_10_oe: false - gclk_arch_gen_10_oov: false - gclk_arch_gen_10_runstdby: false - gclk_arch_gen_11_enable: false - gclk_arch_gen_11_idc: false - gclk_arch_gen_11_oe: false - gclk_arch_gen_11_oov: false - gclk_arch_gen_11_runstdby: false - gclk_arch_gen_1_enable: false - gclk_arch_gen_1_idc: false - gclk_arch_gen_1_oe: false - gclk_arch_gen_1_oov: false - gclk_arch_gen_1_runstdby: false - gclk_arch_gen_2_enable: false - gclk_arch_gen_2_idc: false - gclk_arch_gen_2_oe: false - gclk_arch_gen_2_oov: false - gclk_arch_gen_2_runstdby: false - gclk_arch_gen_3_enable: false - gclk_arch_gen_3_idc: false - gclk_arch_gen_3_oe: false - gclk_arch_gen_3_oov: false - gclk_arch_gen_3_runstdby: false - gclk_arch_gen_4_enable: false - gclk_arch_gen_4_idc: false - gclk_arch_gen_4_oe: false - gclk_arch_gen_4_oov: false - gclk_arch_gen_4_runstdby: false - gclk_arch_gen_5_enable: false - gclk_arch_gen_5_idc: false - gclk_arch_gen_5_oe: false - gclk_arch_gen_5_oov: false - gclk_arch_gen_5_runstdby: false - gclk_arch_gen_6_enable: false - gclk_arch_gen_6_idc: false - gclk_arch_gen_6_oe: false - gclk_arch_gen_6_oov: false - gclk_arch_gen_6_runstdby: false - gclk_arch_gen_7_enable: false - gclk_arch_gen_7_idc: false - gclk_arch_gen_7_oe: false - gclk_arch_gen_7_oov: false - gclk_arch_gen_7_runstdby: false - gclk_arch_gen_8_enable: false - gclk_arch_gen_8_idc: false - gclk_arch_gen_8_oe: false - gclk_arch_gen_8_oov: false - gclk_arch_gen_8_runstdby: false - gclk_arch_gen_9_enable: false - gclk_arch_gen_9_idc: false - gclk_arch_gen_9_oe: false - gclk_arch_gen_9_oov: false - gclk_arch_gen_9_runstdby: false - gclk_gen_0_div: 1 - gclk_gen_0_div_sel: false - gclk_gen_0_oscillator: Digital Phase Locked Loop (DPLL0) - gclk_gen_10_div: 1 - gclk_gen_10_div_sel: false - gclk_gen_10_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_11_div: 1 - gclk_gen_11_div_sel: false - gclk_gen_11_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_1_div: 1 - gclk_gen_1_div_sel: false - gclk_gen_1_oscillator: Digital Frequency Locked Loop (DFLL48M) - gclk_gen_2_div: 1 - gclk_gen_2_div_sel: true - gclk_gen_2_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_3_div: 1 - gclk_gen_3_div_sel: false - gclk_gen_3_oscillator: 32kHz External Crystal Oscillator (XOSC32K) - gclk_gen_4_div: 1 - gclk_gen_4_div_sel: false - gclk_gen_4_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_5_div: 1 - gclk_gen_5_div_sel: false - gclk_gen_5_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_6_div: 1 - gclk_gen_6_div_sel: false - gclk_gen_6_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_7_div: 1 - gclk_gen_7_div_sel: false - gclk_gen_7_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_8_div: 1 - gclk_gen_8_div_sel: false - gclk_gen_8_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - gclk_gen_9_div: 1 - gclk_gen_9_div_sel: false - gclk_gen_9_oscillator: External Crystal Oscillator 8-48MHz (XOSC1) - optional_signals: [] - variant: null - clocks: - domain_group: null - MCLK: - user_label: MCLK - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::MCLK::driver_config_definition::MCLK::HAL:HPL:MCLK - functionality: System - api: HAL:HPL:MCLK - configuration: - $input: 119997440 - $input_id: Generic clock generator 0 - RESERVED_InputFreq: 119997440 - RESERVED_InputFreq_id: Generic clock generator 0 - _$freq_output_CPU: 119997440 - cpu_clock_source: Generic clock generator 0 - cpu_div: '1' - enable_cpu_clock: true - mclk_arch_bupdiv: Divide by 8 - mclk_arch_hsdiv: Divide by 1 - mclk_arch_lpdiv: Divide by 4 - nvm_wait_states: '5' - optional_signals: [] - variant: null - clocks: - domain_group: - nodes: - - name: CPU - input: CPU - external: false - external_frequency: 0 - configuration: {} - OSC32KCTRL: - user_label: OSC32KCTRL - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::OSC32KCTRL::driver_config_definition::OSC32KCTRL::HAL:HPL:OSC32KCTRL - functionality: System - api: HAL:HPL:OSC32KCTRL - configuration: - $input: 32768 - $input_id: 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) - RESERVED_InputFreq: 32768 - RESERVED_InputFreq_id: 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) - _$freq_output_RTC source: 32768 - enable_osculp32k: true - enable_rtc_source: false - enable_xosc32k: true - osculp32k_calib: 0 - osculp32k_calib_enable: false - rtc_1khz_selection: false - rtc_source_oscillator: 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) - xosc32k_arch_cfden: false - xosc32k_arch_cfdeo: false - xosc32k_arch_cgm: Standard mode - xosc32k_arch_en1k: false - xosc32k_arch_en32k: true - xosc32k_arch_enable: true - xosc32k_arch_ondemand: true - xosc32k_arch_runstdby: false - xosc32k_arch_startup: 1000092us - xosc32k_arch_swben: false - xosc32k_arch_xtalen: true - optional_signals: [] - variant: null - clocks: - domain_group: null - OSCCTRL: - user_label: OSCCTRL - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::OSCCTRL::driver_config_definition::OSCCTRL::HAL:HPL:OSCCTRL - functionality: System - api: HAL:HPL:OSCCTRL - configuration: - $input: 32768 - $input_id: 32kHz External Crystal Oscillator (XOSC32K) - RESERVED_InputFreq: 32768 - RESERVED_InputFreq_id: 32kHz External Crystal Oscillator (XOSC32K) - _$freq_output_Digital Frequency Locked Loop (DFLL48M): 48000000 - _$freq_output_Digital Phase Locked Loop (DPLL0): 119997440 - _$freq_output_Digital Phase Locked Loop (DPLL1): 47985664 - _$freq_output_External Crystal Oscillator 8-48MHz (XOSC0): 12000000 - _$freq_output_External Crystal Oscillator 8-48MHz (XOSC1): 12000000 - dfll_arch_bplckc: false - dfll_arch_calibration: false - dfll_arch_ccdis: false - dfll_arch_coarse: 31 - dfll_arch_cstep: 1 - dfll_arch_enable: false - dfll_arch_fine: 128 - dfll_arch_fstep: 1 - dfll_arch_llaw: false - dfll_arch_ondemand: false - dfll_arch_qldis: false - dfll_arch_runstdby: false - dfll_arch_stable: false - dfll_arch_usbcrm: false - dfll_arch_waitlock: true - dfll_mode: Open Loop Mode - dfll_mul: 0 - dfll_ref_clock: Generic clock generator 3 - enable_dfll: false - enable_fdpll0: true - enable_fdpll1: false - enable_xosc0: false - enable_xosc1: false - fdpll0_arch_dcoen: false - fdpll0_arch_enable: true - fdpll0_arch_filter: 0 - fdpll0_arch_lbypass: true - fdpll0_arch_ltime: No time-out, automatic lock - fdpll0_arch_ondemand: false - fdpll0_arch_refclk: XOSC32K clock reference - fdpll0_arch_runstdby: false - fdpll0_arch_wuf: false - fdpll0_clock_dcofilter: 0 - fdpll0_clock_div: 0 - fdpll0_ldr: 3661 - fdpll0_ldrfrac: 1 - fdpll0_ref_clock: 32kHz External Crystal Oscillator (XOSC32K) - fdpll1_arch_dcoen: false - fdpll1_arch_enable: false - fdpll1_arch_filter: 0 - fdpll1_arch_lbypass: false - fdpll1_arch_ltime: No time-out, automatic lock - fdpll1_arch_ondemand: false - fdpll1_arch_refclk: XOSC32K clock reference - fdpll1_arch_runstdby: false - fdpll1_arch_wuf: false - fdpll1_clock_dcofilter: 0 - fdpll1_clock_div: 0 - fdpll1_ldr: 1463 - fdpll1_ldrfrac: 13 - fdpll1_ref_clock: 32kHz External Crystal Oscillator (XOSC32K) - xosc0_arch_cfden: false - xosc0_arch_enable: false - xosc0_arch_enalc: false - xosc0_arch_lowbufgain: false - xosc0_arch_ondemand: false - xosc0_arch_runstdby: false - xosc0_arch_startup: 31us - xosc0_arch_swben: false - xosc0_arch_xtalen: false - xosc0_frequency: 12000000 - xosc1_arch_cfden: false - xosc1_arch_enable: false - xosc1_arch_enalc: false - xosc1_arch_lowbufgain: false - xosc1_arch_ondemand: false - xosc1_arch_runstdby: false - xosc1_arch_startup: 31us - xosc1_arch_swben: false - xosc1_arch_xtalen: true - xosc1_frequency: 12000000 - optional_signals: [] - variant: null - clocks: - domain_group: null - PORT: - user_label: PORT - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::PORT::driver_config_definition::PORT::HAL:HPL:PORT - functionality: System - api: HAL:HPL:PORT - configuration: - enable_port_input_event_0: false - enable_port_input_event_1: false - enable_port_input_event_2: false - enable_port_input_event_3: false - porta_event_action_0: Output register of pin will be set to level of event - porta_event_action_1: Output register of pin will be set to level of event - porta_event_action_2: Output register of pin will be set to level of event - porta_event_action_3: Output register of pin will be set to level of event - porta_event_pin_identifier_0: 0 - porta_event_pin_identifier_1: 0 - porta_event_pin_identifier_2: 0 - porta_event_pin_identifier_3: 0 - porta_input_event_enable_0: false - porta_input_event_enable_1: false - porta_input_event_enable_2: false - porta_input_event_enable_3: false - portb_event_action_0: Output register of pin will be set to level of event - portb_event_action_1: Output register of pin will be set to level of event - portb_event_action_2: Output register of pin will be set to level of event - portb_event_action_3: Output register of pin will be set to level of event - portb_event_pin_identifier_0: 0 - portb_event_pin_identifier_1: 0 - portb_event_pin_identifier_2: 0 - portb_event_pin_identifier_3: 0 - portb_input_event_enable_0: false - portb_input_event_enable_1: false - portb_input_event_enable_2: false - portb_input_event_enable_3: false - portc_event_action_0: Output register of pin will be set to level of event - portc_event_action_1: Output register of pin will be set to level of event - portc_event_action_2: Output register of pin will be set to level of event - portc_event_action_3: Output register of pin will be set to level of event - portc_event_pin_identifier_0: 0 - portc_event_pin_identifier_1: 0 - portc_event_pin_identifier_2: 0 - portc_event_pin_identifier_3: 0 - portc_input_event_enable_0: false - portc_input_event_enable_1: false - portc_input_event_enable_2: false - portc_input_event_enable_3: false - optional_signals: [] - variant: null - clocks: - domain_group: null - RAMECC: - user_label: RAMECC - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::RAMECC::driver_config_definition::RAMECC::HAL:HPL:RAMECC - functionality: System - api: HAL:HPL:RAMECC - configuration: {} - optional_signals: [] - variant: null - clocks: - domain_group: null - USART_0: - user_label: USART_0 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::SERCOM0::driver_config_definition::UART::HAL:Driver:USART.Async - functionality: USART - api: HAL:Driver:USART_Async - configuration: - usart_advanced: false - usart_arch_clock_mode: USART with internal clock - usart_arch_cloden: false - usart_arch_dbgstop: Keep running - usart_arch_dord: LSB is transmitted first - usart_arch_enc: No encoding - usart_arch_fractional: 0 - usart_arch_ibon: false - usart_arch_lin_slave_enable: Disable - usart_arch_runstdby: false - usart_arch_sampa: 7-8-9 (3-4-5 8-bit over-sampling) - usart_arch_sampr: 16x arithmetic - usart_arch_sfde: false - usart_baud_rate: 115200 - usart_character_size: 8 bits - usart_parity: No parity - usart_rx_enable: true - usart_stop_bit: One stop bit - usart_tx_enable: true - optional_signals: [] - variant: - specification: TXPO=0, RXPO=1, CMODE=0 - required_signals: - - name: SERCOM0/PAD/0 - pad: PA04 - label: TX - - name: SERCOM0/PAD/1 - pad: PA05 - label: RX - clocks: - domain_group: - nodes: - - name: Core - input: Generic clock generator 0 - external: false - external_frequency: 0 - - name: Slow - input: Generic clock generator 3 - external: false - external_frequency: 0 - configuration: - core_gclk_selection: Generic clock generator 0 - slow_gclk_selection: Generic clock generator 3 - I2C_0: - user_label: I2C_0 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::SERCOM3::driver_config_definition::I2C.Master.Standard~2FFast-mode::HAL:Driver:I2C.Master.Sync - functionality: I2C - api: HAL:Driver:I2C_Master_Sync - configuration: - i2c_master_advanced: false - i2c_master_arch_dbgstop: Keep running - i2c_master_arch_inactout: Disabled - i2c_master_arch_lowtout: false - i2c_master_arch_mexttoen: false - i2c_master_arch_runstdby: false - i2c_master_arch_sdahold: 300-600ns hold time - i2c_master_arch_sexttoen: false - i2c_master_arch_trise: 215 - i2c_master_baud_rate: 100000 - optional_signals: [] - variant: - specification: SDA=0, SCL=1 - required_signals: - - name: SERCOM3/PAD/0 - pad: PA22 - label: SDA - - name: SERCOM3/PAD/1 - pad: PA23 - label: SCL - clocks: - domain_group: - nodes: - - name: Core - input: Generic clock generator 0 - external: false - external_frequency: 0 - - name: Slow - input: Generic clock generator 3 - external: false - external_frequency: 0 - configuration: - core_gclk_selection: Generic clock generator 0 - slow_gclk_selection: Generic clock generator 3 - TIMER_0: - user_label: TIMER_0 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::TC0::driver_config_definition::Timer::HAL:Driver:Timer - functionality: Timer - api: HAL:Driver:Timer - configuration: - tc_arch_dbgrun: false - tc_arch_evact: Event action disabled - tc_arch_mceo0: false - tc_arch_mceo1: false - tc_arch_ondemand: false - tc_arch_ovfeo: false - tc_arch_presync: Reload or reset counter on next GCLK - tc_arch_runstdby: false - tc_arch_tcei: false - tc_arch_tcinv: false - timer_advanced_configuration: false - timer_event_control: false - timer_prescaler: Divide by 8 - timer_tick: 1000 - optional_signals: [] - variant: null - clocks: - domain_group: - nodes: - - name: TC - input: Generic clock generator 0 - external: false - external_frequency: 0 - configuration: - tc_gclk_selection: Generic clock generator 0 -pads: - PA04: - name: PA04 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA04 - mode: Peripheral IO - user_label: PA04 - configuration: null - PA05: - name: PA05 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA05 - mode: Peripheral IO - user_label: PA05 - configuration: null - PA22: - name: PA22 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA22 - mode: I2C - user_label: PA22 - configuration: null - PA23: - name: PA23 - definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA23 - mode: I2C - user_label: PA23 - configuration: null -toolchain_options: [] -static_files: [] diff --git a/software/firmware/oracle_same54n19a/atmel_start_pins.h b/software/firmware/oracle_same54n19a/atmel_start_pins.h deleted file mode 100644 index 468e099..0000000 --- a/software/firmware/oracle_same54n19a/atmel_start_pins.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Code generated from Atmel Start. - * - * This file will be overwritten when reconfiguring your Atmel Start project. - * Please copy examples or other code you want to keep to a separate file - * to avoid losing it when reconfiguring. - */ -#ifndef ATMEL_START_PINS_H_INCLUDED -#define ATMEL_START_PINS_H_INCLUDED - -#include - -// SAME54 has 14 pin functions - -#define GPIO_PIN_FUNCTION_A 0 -#define GPIO_PIN_FUNCTION_B 1 -#define GPIO_PIN_FUNCTION_C 2 -#define GPIO_PIN_FUNCTION_D 3 -#define GPIO_PIN_FUNCTION_E 4 -#define GPIO_PIN_FUNCTION_F 5 -#define GPIO_PIN_FUNCTION_G 6 -#define GPIO_PIN_FUNCTION_H 7 -#define GPIO_PIN_FUNCTION_I 8 -#define GPIO_PIN_FUNCTION_J 9 -#define GPIO_PIN_FUNCTION_K 10 -#define GPIO_PIN_FUNCTION_L 11 -#define GPIO_PIN_FUNCTION_M 12 -#define GPIO_PIN_FUNCTION_N 13 - -#define PA04 GPIO(GPIO_PORTA, 4) -#define PA05 GPIO(GPIO_PORTA, 5) -#define PA22 GPIO(GPIO_PORTA, 22) -#define PA23 GPIO(GPIO_PORTA, 23) - -#endif // ATMEL_START_PINS_H_INCLUDED diff --git a/software/firmware/oracle_same54n19a/compile_commands.json b/software/firmware/oracle_same54n19a/compile_commands.json deleted file mode 120000 index 1842416..0000000 --- a/software/firmware/oracle_same54n19a/compile_commands.json +++ /dev/null @@ -1 +0,0 @@ -/home/penguin/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc/compile_commands.json \ No newline at end of file diff --git a/software/firmware/oracle_same54n19a/config/hpl_cmcc_config.h b/software/firmware/oracle_same54n19a/config/hpl_cmcc_config.h deleted file mode 100644 index 8590736..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_cmcc_config.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Auto-generated config file hpl_cmcc_config.h */ -#ifndef HPL_CMCC_CONFIG_H -#define HPL_CMCC_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Basic Configuration - -// Cache enable -// Defines the cache should be enabled or not. -// cmcc_enable -#ifndef CONF_CMCC_ENABLE -#define CONF_CMCC_ENABLE 0x0 -#endif - -// Cache Size -// Defines the cache memory size to be configured. -// <0x0=>1 KB -// <0x1=>2 KB -// <0x2=>4 KB -// cache_size -#ifndef CONF_CMCC_CACHE_SIZE -#define CONF_CMCC_CACHE_SIZE 0x2 -#endif - -// Advanced Configuration -// cmcc_advanced_configuration -// Data cache disable -// Defines the data cache should be disabled or not. -// cmcc_data_cache_disable -#ifndef CONF_CMCC_DATA_CACHE_DISABLE -#define CONF_CMCC_DATA_CACHE_DISABLE 0x0 -#endif - -// Instruction cache disable -// Defines the Instruction cache should be disabled or not. -// cmcc_inst_cache_disable -#ifndef CONF_CMCC_INST_CACHE_DISABLE -#define CONF_CMCC_INST_CACHE_DISABLE 0x0 -#endif - -// Clock Gating disable -// Defines the clock gating should be disabled or not. -// cmcc_clock_gating_disable -#ifndef CONF_CMCC_CLK_GATING_DISABLE -#define CONF_CMCC_CLK_GATING_DISABLE 0x0 -#endif - -// -// - -// <<< end of configuration section >>> - -#endif // HPL_CMCC_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_dmac_config.h b/software/firmware/oracle_same54n19a/config/hpl_dmac_config.h deleted file mode 100644 index 90499fc..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_dmac_config.h +++ /dev/null @@ -1,7277 +0,0 @@ -/* Auto-generated config file hpl_dmac_config.h */ -#ifndef HPL_DMAC_CONFIG_H -#define HPL_DMAC_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMAC enable -// Indicates whether dmac is enabled or not -// dmac_enable -#ifndef CONF_DMAC_ENABLE -#define CONF_DMAC_ENABLE 0 -#endif - -// Priority Level 0 -// Indicates whether Priority Level 0 is enabled or not -// dmac_lvlen0 -#ifndef CONF_DMAC_LVLEN0 -#define CONF_DMAC_LVLEN0 1 -#endif - -// Level 0 Round-Robin Arbitration -// <0=> Static arbitration scheme for channel with priority 0 -// <1=> Round-robin arbitration scheme for channel with priority 0 -// Defines Level 0 Arbitration for DMA channels -// dmac_rrlvlen0 -#ifndef CONF_DMAC_RRLVLEN0 -#define CONF_DMAC_RRLVLEN0 0 -#endif - -// Level 0 Channel Priority Number <0x00-0xFF> -// dmac_lvlpri0 -#ifndef CONF_DMAC_LVLPRI0 -#define CONF_DMAC_LVLPRI0 0 -#endif -// Priority Level 1 -// Indicates whether Priority Level 1 is enabled or not -// dmac_lvlen1 -#ifndef CONF_DMAC_LVLEN1 -#define CONF_DMAC_LVLEN1 1 -#endif - -// Level 1 Round-Robin Arbitration -// <0=> Static arbitration scheme for channel with priority 1 -// <1=> Round-robin arbitration scheme for channel with priority 1 -// Defines Level 1 Arbitration for DMA channels -// dmac_rrlvlen1 -#ifndef CONF_DMAC_RRLVLEN1 -#define CONF_DMAC_RRLVLEN1 0 -#endif - -// Level 1 Channel Priority Number <0x00-0xFF> -// dmac_lvlpri1 -#ifndef CONF_DMAC_LVLPRI1 -#define CONF_DMAC_LVLPRI1 0 -#endif -// Priority Level 2 -// Indicates whether Priority Level 2 is enabled or not -// dmac_lvlen2 -#ifndef CONF_DMAC_LVLEN2 -#define CONF_DMAC_LVLEN2 1 -#endif - -// Level 2 Round-Robin Arbitration -// <0=> Static arbitration scheme for channel with priority 2 -// <1=> Round-robin arbitration scheme for channel with priority 2 -// Defines Level 2 Arbitration for DMA channels -// dmac_rrlvlen2 -#ifndef CONF_DMAC_RRLVLEN2 -#define CONF_DMAC_RRLVLEN2 0 -#endif - -// Level 2 Channel Priority Number <0x00-0xFF> -// dmac_lvlpri2 -#ifndef CONF_DMAC_LVLPRI2 -#define CONF_DMAC_LVLPRI2 0 -#endif -// Priority Level 3 -// Indicates whether Priority Level 3 is enabled or not -// dmac_lvlen3 -#ifndef CONF_DMAC_LVLEN3 -#define CONF_DMAC_LVLEN3 1 -#endif - -// Level 3 Round-Robin Arbitration -// <0=> Static arbitration scheme for channel with priority 3 -// <1=> Round-robin arbitration scheme for channel with priority 3 -// Defines Level 3 Arbitration for DMA channels -// dmac_rrlvlen3 -#ifndef CONF_DMAC_RRLVLEN3 -#define CONF_DMAC_RRLVLEN3 0 -#endif - -// Level 3 Channel Priority Number <0x00-0xFF> -// dmac_lvlpri3 -#ifndef CONF_DMAC_LVLPRI3 -#define CONF_DMAC_LVLPRI3 0 -#endif -// Debug Run -// Indicates whether Debug Run is enabled or not -// dmac_dbgrun -#ifndef CONF_DMAC_DBGRUN -#define CONF_DMAC_DBGRUN 0 -#endif - -// Channel 0 settings -// dmac_channel_0_settings -#ifndef CONF_DMAC_CHANNEL_0_SETTINGS -#define CONF_DMAC_CHANNEL_0_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 0 is running in standby mode or not -// dmac_runstdby_0 -#ifndef CONF_DMAC_RUNSTDBY_0 -#define CONF_DMAC_RUNSTDBY_0 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_0 -#ifndef CONF_DMAC_TRIGACT_0 -#define CONF_DMAC_TRIGACT_0 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_0 -#ifndef CONF_DMAC_TRIGSRC_0 -#define CONF_DMAC_TRIGSRC_0 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_0 -#ifndef CONF_DMAC_LVL_0 -#define CONF_DMAC_LVL_0 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_0 -#ifndef CONF_DMAC_EVOE_0 -#define CONF_DMAC_EVOE_0 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_0 -#ifndef CONF_DMAC_EVIE_0 -#define CONF_DMAC_EVIE_0 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_0 -#ifndef CONF_DMAC_EVACT_0 -#define CONF_DMAC_EVACT_0 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_0 -#ifndef CONF_DMAC_STEPSIZE_0 -#define CONF_DMAC_STEPSIZE_0 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_0 -#ifndef CONF_DMAC_STEPSEL_0 -#define CONF_DMAC_STEPSEL_0 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_0 -#ifndef CONF_DMAC_SRCINC_0 -#define CONF_DMAC_SRCINC_0 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_0 -#ifndef CONF_DMAC_DSTINC_0 -#define CONF_DMAC_DSTINC_0 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_0 -#ifndef CONF_DMAC_BEATSIZE_0 -#define CONF_DMAC_BEATSIZE_0 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_0 -#ifndef CONF_DMAC_BLOCKACT_0 -#define CONF_DMAC_BLOCKACT_0 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_0 -#ifndef CONF_DMAC_EVOSEL_0 -#define CONF_DMAC_EVOSEL_0 0 -#endif -// - -// Channel 1 settings -// dmac_channel_1_settings -#ifndef CONF_DMAC_CHANNEL_1_SETTINGS -#define CONF_DMAC_CHANNEL_1_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 1 is running in standby mode or not -// dmac_runstdby_1 -#ifndef CONF_DMAC_RUNSTDBY_1 -#define CONF_DMAC_RUNSTDBY_1 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_1 -#ifndef CONF_DMAC_TRIGACT_1 -#define CONF_DMAC_TRIGACT_1 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_1 -#ifndef CONF_DMAC_TRIGSRC_1 -#define CONF_DMAC_TRIGSRC_1 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_1 -#ifndef CONF_DMAC_LVL_1 -#define CONF_DMAC_LVL_1 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_1 -#ifndef CONF_DMAC_EVOE_1 -#define CONF_DMAC_EVOE_1 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_1 -#ifndef CONF_DMAC_EVIE_1 -#define CONF_DMAC_EVIE_1 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_1 -#ifndef CONF_DMAC_EVACT_1 -#define CONF_DMAC_EVACT_1 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_1 -#ifndef CONF_DMAC_STEPSIZE_1 -#define CONF_DMAC_STEPSIZE_1 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_1 -#ifndef CONF_DMAC_STEPSEL_1 -#define CONF_DMAC_STEPSEL_1 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_1 -#ifndef CONF_DMAC_SRCINC_1 -#define CONF_DMAC_SRCINC_1 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_1 -#ifndef CONF_DMAC_DSTINC_1 -#define CONF_DMAC_DSTINC_1 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_1 -#ifndef CONF_DMAC_BEATSIZE_1 -#define CONF_DMAC_BEATSIZE_1 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_1 -#ifndef CONF_DMAC_BLOCKACT_1 -#define CONF_DMAC_BLOCKACT_1 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_1 -#ifndef CONF_DMAC_EVOSEL_1 -#define CONF_DMAC_EVOSEL_1 0 -#endif -// - -// Channel 2 settings -// dmac_channel_2_settings -#ifndef CONF_DMAC_CHANNEL_2_SETTINGS -#define CONF_DMAC_CHANNEL_2_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 2 is running in standby mode or not -// dmac_runstdby_2 -#ifndef CONF_DMAC_RUNSTDBY_2 -#define CONF_DMAC_RUNSTDBY_2 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_2 -#ifndef CONF_DMAC_TRIGACT_2 -#define CONF_DMAC_TRIGACT_2 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_2 -#ifndef CONF_DMAC_TRIGSRC_2 -#define CONF_DMAC_TRIGSRC_2 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_2 -#ifndef CONF_DMAC_LVL_2 -#define CONF_DMAC_LVL_2 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_2 -#ifndef CONF_DMAC_EVOE_2 -#define CONF_DMAC_EVOE_2 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_2 -#ifndef CONF_DMAC_EVIE_2 -#define CONF_DMAC_EVIE_2 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_2 -#ifndef CONF_DMAC_EVACT_2 -#define CONF_DMAC_EVACT_2 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_2 -#ifndef CONF_DMAC_STEPSIZE_2 -#define CONF_DMAC_STEPSIZE_2 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_2 -#ifndef CONF_DMAC_STEPSEL_2 -#define CONF_DMAC_STEPSEL_2 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_2 -#ifndef CONF_DMAC_SRCINC_2 -#define CONF_DMAC_SRCINC_2 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_2 -#ifndef CONF_DMAC_DSTINC_2 -#define CONF_DMAC_DSTINC_2 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_2 -#ifndef CONF_DMAC_BEATSIZE_2 -#define CONF_DMAC_BEATSIZE_2 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_2 -#ifndef CONF_DMAC_BLOCKACT_2 -#define CONF_DMAC_BLOCKACT_2 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_2 -#ifndef CONF_DMAC_EVOSEL_2 -#define CONF_DMAC_EVOSEL_2 0 -#endif -// - -// Channel 3 settings -// dmac_channel_3_settings -#ifndef CONF_DMAC_CHANNEL_3_SETTINGS -#define CONF_DMAC_CHANNEL_3_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 3 is running in standby mode or not -// dmac_runstdby_3 -#ifndef CONF_DMAC_RUNSTDBY_3 -#define CONF_DMAC_RUNSTDBY_3 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_3 -#ifndef CONF_DMAC_TRIGACT_3 -#define CONF_DMAC_TRIGACT_3 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_3 -#ifndef CONF_DMAC_TRIGSRC_3 -#define CONF_DMAC_TRIGSRC_3 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_3 -#ifndef CONF_DMAC_LVL_3 -#define CONF_DMAC_LVL_3 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_3 -#ifndef CONF_DMAC_EVOE_3 -#define CONF_DMAC_EVOE_3 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_3 -#ifndef CONF_DMAC_EVIE_3 -#define CONF_DMAC_EVIE_3 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_3 -#ifndef CONF_DMAC_EVACT_3 -#define CONF_DMAC_EVACT_3 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_3 -#ifndef CONF_DMAC_STEPSIZE_3 -#define CONF_DMAC_STEPSIZE_3 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_3 -#ifndef CONF_DMAC_STEPSEL_3 -#define CONF_DMAC_STEPSEL_3 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_3 -#ifndef CONF_DMAC_SRCINC_3 -#define CONF_DMAC_SRCINC_3 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_3 -#ifndef CONF_DMAC_DSTINC_3 -#define CONF_DMAC_DSTINC_3 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_3 -#ifndef CONF_DMAC_BEATSIZE_3 -#define CONF_DMAC_BEATSIZE_3 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_3 -#ifndef CONF_DMAC_BLOCKACT_3 -#define CONF_DMAC_BLOCKACT_3 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_3 -#ifndef CONF_DMAC_EVOSEL_3 -#define CONF_DMAC_EVOSEL_3 0 -#endif -// - -// Channel 4 settings -// dmac_channel_4_settings -#ifndef CONF_DMAC_CHANNEL_4_SETTINGS -#define CONF_DMAC_CHANNEL_4_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 4 is running in standby mode or not -// dmac_runstdby_4 -#ifndef CONF_DMAC_RUNSTDBY_4 -#define CONF_DMAC_RUNSTDBY_4 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_4 -#ifndef CONF_DMAC_TRIGACT_4 -#define CONF_DMAC_TRIGACT_4 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_4 -#ifndef CONF_DMAC_TRIGSRC_4 -#define CONF_DMAC_TRIGSRC_4 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_4 -#ifndef CONF_DMAC_LVL_4 -#define CONF_DMAC_LVL_4 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_4 -#ifndef CONF_DMAC_EVOE_4 -#define CONF_DMAC_EVOE_4 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_4 -#ifndef CONF_DMAC_EVIE_4 -#define CONF_DMAC_EVIE_4 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_4 -#ifndef CONF_DMAC_EVACT_4 -#define CONF_DMAC_EVACT_4 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_4 -#ifndef CONF_DMAC_STEPSIZE_4 -#define CONF_DMAC_STEPSIZE_4 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_4 -#ifndef CONF_DMAC_STEPSEL_4 -#define CONF_DMAC_STEPSEL_4 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_4 -#ifndef CONF_DMAC_SRCINC_4 -#define CONF_DMAC_SRCINC_4 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_4 -#ifndef CONF_DMAC_DSTINC_4 -#define CONF_DMAC_DSTINC_4 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_4 -#ifndef CONF_DMAC_BEATSIZE_4 -#define CONF_DMAC_BEATSIZE_4 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_4 -#ifndef CONF_DMAC_BLOCKACT_4 -#define CONF_DMAC_BLOCKACT_4 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_4 -#ifndef CONF_DMAC_EVOSEL_4 -#define CONF_DMAC_EVOSEL_4 0 -#endif -// - -// Channel 5 settings -// dmac_channel_5_settings -#ifndef CONF_DMAC_CHANNEL_5_SETTINGS -#define CONF_DMAC_CHANNEL_5_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 5 is running in standby mode or not -// dmac_runstdby_5 -#ifndef CONF_DMAC_RUNSTDBY_5 -#define CONF_DMAC_RUNSTDBY_5 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_5 -#ifndef CONF_DMAC_TRIGACT_5 -#define CONF_DMAC_TRIGACT_5 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_5 -#ifndef CONF_DMAC_TRIGSRC_5 -#define CONF_DMAC_TRIGSRC_5 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_5 -#ifndef CONF_DMAC_LVL_5 -#define CONF_DMAC_LVL_5 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_5 -#ifndef CONF_DMAC_EVOE_5 -#define CONF_DMAC_EVOE_5 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_5 -#ifndef CONF_DMAC_EVIE_5 -#define CONF_DMAC_EVIE_5 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_5 -#ifndef CONF_DMAC_EVACT_5 -#define CONF_DMAC_EVACT_5 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_5 -#ifndef CONF_DMAC_STEPSIZE_5 -#define CONF_DMAC_STEPSIZE_5 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_5 -#ifndef CONF_DMAC_STEPSEL_5 -#define CONF_DMAC_STEPSEL_5 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_5 -#ifndef CONF_DMAC_SRCINC_5 -#define CONF_DMAC_SRCINC_5 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_5 -#ifndef CONF_DMAC_DSTINC_5 -#define CONF_DMAC_DSTINC_5 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_5 -#ifndef CONF_DMAC_BEATSIZE_5 -#define CONF_DMAC_BEATSIZE_5 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_5 -#ifndef CONF_DMAC_BLOCKACT_5 -#define CONF_DMAC_BLOCKACT_5 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_5 -#ifndef CONF_DMAC_EVOSEL_5 -#define CONF_DMAC_EVOSEL_5 0 -#endif -// - -// Channel 6 settings -// dmac_channel_6_settings -#ifndef CONF_DMAC_CHANNEL_6_SETTINGS -#define CONF_DMAC_CHANNEL_6_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 6 is running in standby mode or not -// dmac_runstdby_6 -#ifndef CONF_DMAC_RUNSTDBY_6 -#define CONF_DMAC_RUNSTDBY_6 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_6 -#ifndef CONF_DMAC_TRIGACT_6 -#define CONF_DMAC_TRIGACT_6 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_6 -#ifndef CONF_DMAC_TRIGSRC_6 -#define CONF_DMAC_TRIGSRC_6 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_6 -#ifndef CONF_DMAC_LVL_6 -#define CONF_DMAC_LVL_6 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_6 -#ifndef CONF_DMAC_EVOE_6 -#define CONF_DMAC_EVOE_6 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_6 -#ifndef CONF_DMAC_EVIE_6 -#define CONF_DMAC_EVIE_6 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_6 -#ifndef CONF_DMAC_EVACT_6 -#define CONF_DMAC_EVACT_6 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_6 -#ifndef CONF_DMAC_STEPSIZE_6 -#define CONF_DMAC_STEPSIZE_6 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_6 -#ifndef CONF_DMAC_STEPSEL_6 -#define CONF_DMAC_STEPSEL_6 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_6 -#ifndef CONF_DMAC_SRCINC_6 -#define CONF_DMAC_SRCINC_6 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_6 -#ifndef CONF_DMAC_DSTINC_6 -#define CONF_DMAC_DSTINC_6 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_6 -#ifndef CONF_DMAC_BEATSIZE_6 -#define CONF_DMAC_BEATSIZE_6 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_6 -#ifndef CONF_DMAC_BLOCKACT_6 -#define CONF_DMAC_BLOCKACT_6 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_6 -#ifndef CONF_DMAC_EVOSEL_6 -#define CONF_DMAC_EVOSEL_6 0 -#endif -// - -// Channel 7 settings -// dmac_channel_7_settings -#ifndef CONF_DMAC_CHANNEL_7_SETTINGS -#define CONF_DMAC_CHANNEL_7_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 7 is running in standby mode or not -// dmac_runstdby_7 -#ifndef CONF_DMAC_RUNSTDBY_7 -#define CONF_DMAC_RUNSTDBY_7 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_7 -#ifndef CONF_DMAC_TRIGACT_7 -#define CONF_DMAC_TRIGACT_7 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_7 -#ifndef CONF_DMAC_TRIGSRC_7 -#define CONF_DMAC_TRIGSRC_7 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_7 -#ifndef CONF_DMAC_LVL_7 -#define CONF_DMAC_LVL_7 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_7 -#ifndef CONF_DMAC_EVOE_7 -#define CONF_DMAC_EVOE_7 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_7 -#ifndef CONF_DMAC_EVIE_7 -#define CONF_DMAC_EVIE_7 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_7 -#ifndef CONF_DMAC_EVACT_7 -#define CONF_DMAC_EVACT_7 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_7 -#ifndef CONF_DMAC_STEPSIZE_7 -#define CONF_DMAC_STEPSIZE_7 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_7 -#ifndef CONF_DMAC_STEPSEL_7 -#define CONF_DMAC_STEPSEL_7 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_7 -#ifndef CONF_DMAC_SRCINC_7 -#define CONF_DMAC_SRCINC_7 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_7 -#ifndef CONF_DMAC_DSTINC_7 -#define CONF_DMAC_DSTINC_7 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_7 -#ifndef CONF_DMAC_BEATSIZE_7 -#define CONF_DMAC_BEATSIZE_7 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_7 -#ifndef CONF_DMAC_BLOCKACT_7 -#define CONF_DMAC_BLOCKACT_7 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_7 -#ifndef CONF_DMAC_EVOSEL_7 -#define CONF_DMAC_EVOSEL_7 0 -#endif -// - -// Channel 8 settings -// dmac_channel_8_settings -#ifndef CONF_DMAC_CHANNEL_8_SETTINGS -#define CONF_DMAC_CHANNEL_8_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 8 is running in standby mode or not -// dmac_runstdby_8 -#ifndef CONF_DMAC_RUNSTDBY_8 -#define CONF_DMAC_RUNSTDBY_8 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_8 -#ifndef CONF_DMAC_TRIGACT_8 -#define CONF_DMAC_TRIGACT_8 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_8 -#ifndef CONF_DMAC_TRIGSRC_8 -#define CONF_DMAC_TRIGSRC_8 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_8 -#ifndef CONF_DMAC_LVL_8 -#define CONF_DMAC_LVL_8 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_8 -#ifndef CONF_DMAC_EVOE_8 -#define CONF_DMAC_EVOE_8 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_8 -#ifndef CONF_DMAC_EVIE_8 -#define CONF_DMAC_EVIE_8 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_8 -#ifndef CONF_DMAC_EVACT_8 -#define CONF_DMAC_EVACT_8 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_8 -#ifndef CONF_DMAC_STEPSIZE_8 -#define CONF_DMAC_STEPSIZE_8 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_8 -#ifndef CONF_DMAC_STEPSEL_8 -#define CONF_DMAC_STEPSEL_8 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_8 -#ifndef CONF_DMAC_SRCINC_8 -#define CONF_DMAC_SRCINC_8 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_8 -#ifndef CONF_DMAC_DSTINC_8 -#define CONF_DMAC_DSTINC_8 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_8 -#ifndef CONF_DMAC_BEATSIZE_8 -#define CONF_DMAC_BEATSIZE_8 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_8 -#ifndef CONF_DMAC_BLOCKACT_8 -#define CONF_DMAC_BLOCKACT_8 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_8 -#ifndef CONF_DMAC_EVOSEL_8 -#define CONF_DMAC_EVOSEL_8 0 -#endif -// - -// Channel 9 settings -// dmac_channel_9_settings -#ifndef CONF_DMAC_CHANNEL_9_SETTINGS -#define CONF_DMAC_CHANNEL_9_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 9 is running in standby mode or not -// dmac_runstdby_9 -#ifndef CONF_DMAC_RUNSTDBY_9 -#define CONF_DMAC_RUNSTDBY_9 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_9 -#ifndef CONF_DMAC_TRIGACT_9 -#define CONF_DMAC_TRIGACT_9 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_9 -#ifndef CONF_DMAC_TRIGSRC_9 -#define CONF_DMAC_TRIGSRC_9 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_9 -#ifndef CONF_DMAC_LVL_9 -#define CONF_DMAC_LVL_9 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_9 -#ifndef CONF_DMAC_EVOE_9 -#define CONF_DMAC_EVOE_9 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_9 -#ifndef CONF_DMAC_EVIE_9 -#define CONF_DMAC_EVIE_9 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_9 -#ifndef CONF_DMAC_EVACT_9 -#define CONF_DMAC_EVACT_9 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_9 -#ifndef CONF_DMAC_STEPSIZE_9 -#define CONF_DMAC_STEPSIZE_9 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_9 -#ifndef CONF_DMAC_STEPSEL_9 -#define CONF_DMAC_STEPSEL_9 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_9 -#ifndef CONF_DMAC_SRCINC_9 -#define CONF_DMAC_SRCINC_9 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_9 -#ifndef CONF_DMAC_DSTINC_9 -#define CONF_DMAC_DSTINC_9 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_9 -#ifndef CONF_DMAC_BEATSIZE_9 -#define CONF_DMAC_BEATSIZE_9 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_9 -#ifndef CONF_DMAC_BLOCKACT_9 -#define CONF_DMAC_BLOCKACT_9 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_9 -#ifndef CONF_DMAC_EVOSEL_9 -#define CONF_DMAC_EVOSEL_9 0 -#endif -// - -// Channel 10 settings -// dmac_channel_10_settings -#ifndef CONF_DMAC_CHANNEL_10_SETTINGS -#define CONF_DMAC_CHANNEL_10_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 10 is running in standby mode or not -// dmac_runstdby_10 -#ifndef CONF_DMAC_RUNSTDBY_10 -#define CONF_DMAC_RUNSTDBY_10 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_10 -#ifndef CONF_DMAC_TRIGACT_10 -#define CONF_DMAC_TRIGACT_10 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_10 -#ifndef CONF_DMAC_TRIGSRC_10 -#define CONF_DMAC_TRIGSRC_10 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_10 -#ifndef CONF_DMAC_LVL_10 -#define CONF_DMAC_LVL_10 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_10 -#ifndef CONF_DMAC_EVOE_10 -#define CONF_DMAC_EVOE_10 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_10 -#ifndef CONF_DMAC_EVIE_10 -#define CONF_DMAC_EVIE_10 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_10 -#ifndef CONF_DMAC_EVACT_10 -#define CONF_DMAC_EVACT_10 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_10 -#ifndef CONF_DMAC_STEPSIZE_10 -#define CONF_DMAC_STEPSIZE_10 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_10 -#ifndef CONF_DMAC_STEPSEL_10 -#define CONF_DMAC_STEPSEL_10 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_10 -#ifndef CONF_DMAC_SRCINC_10 -#define CONF_DMAC_SRCINC_10 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_10 -#ifndef CONF_DMAC_DSTINC_10 -#define CONF_DMAC_DSTINC_10 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_10 -#ifndef CONF_DMAC_BEATSIZE_10 -#define CONF_DMAC_BEATSIZE_10 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_10 -#ifndef CONF_DMAC_BLOCKACT_10 -#define CONF_DMAC_BLOCKACT_10 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_10 -#ifndef CONF_DMAC_EVOSEL_10 -#define CONF_DMAC_EVOSEL_10 0 -#endif -// - -// Channel 11 settings -// dmac_channel_11_settings -#ifndef CONF_DMAC_CHANNEL_11_SETTINGS -#define CONF_DMAC_CHANNEL_11_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 11 is running in standby mode or not -// dmac_runstdby_11 -#ifndef CONF_DMAC_RUNSTDBY_11 -#define CONF_DMAC_RUNSTDBY_11 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_11 -#ifndef CONF_DMAC_TRIGACT_11 -#define CONF_DMAC_TRIGACT_11 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_11 -#ifndef CONF_DMAC_TRIGSRC_11 -#define CONF_DMAC_TRIGSRC_11 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_11 -#ifndef CONF_DMAC_LVL_11 -#define CONF_DMAC_LVL_11 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_11 -#ifndef CONF_DMAC_EVOE_11 -#define CONF_DMAC_EVOE_11 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_11 -#ifndef CONF_DMAC_EVIE_11 -#define CONF_DMAC_EVIE_11 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_11 -#ifndef CONF_DMAC_EVACT_11 -#define CONF_DMAC_EVACT_11 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_11 -#ifndef CONF_DMAC_STEPSIZE_11 -#define CONF_DMAC_STEPSIZE_11 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_11 -#ifndef CONF_DMAC_STEPSEL_11 -#define CONF_DMAC_STEPSEL_11 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_11 -#ifndef CONF_DMAC_SRCINC_11 -#define CONF_DMAC_SRCINC_11 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_11 -#ifndef CONF_DMAC_DSTINC_11 -#define CONF_DMAC_DSTINC_11 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_11 -#ifndef CONF_DMAC_BEATSIZE_11 -#define CONF_DMAC_BEATSIZE_11 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_11 -#ifndef CONF_DMAC_BLOCKACT_11 -#define CONF_DMAC_BLOCKACT_11 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_11 -#ifndef CONF_DMAC_EVOSEL_11 -#define CONF_DMAC_EVOSEL_11 0 -#endif -// - -// Channel 12 settings -// dmac_channel_12_settings -#ifndef CONF_DMAC_CHANNEL_12_SETTINGS -#define CONF_DMAC_CHANNEL_12_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 12 is running in standby mode or not -// dmac_runstdby_12 -#ifndef CONF_DMAC_RUNSTDBY_12 -#define CONF_DMAC_RUNSTDBY_12 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_12 -#ifndef CONF_DMAC_TRIGACT_12 -#define CONF_DMAC_TRIGACT_12 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_12 -#ifndef CONF_DMAC_TRIGSRC_12 -#define CONF_DMAC_TRIGSRC_12 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_12 -#ifndef CONF_DMAC_LVL_12 -#define CONF_DMAC_LVL_12 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_12 -#ifndef CONF_DMAC_EVOE_12 -#define CONF_DMAC_EVOE_12 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_12 -#ifndef CONF_DMAC_EVIE_12 -#define CONF_DMAC_EVIE_12 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_12 -#ifndef CONF_DMAC_EVACT_12 -#define CONF_DMAC_EVACT_12 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_12 -#ifndef CONF_DMAC_STEPSIZE_12 -#define CONF_DMAC_STEPSIZE_12 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_12 -#ifndef CONF_DMAC_STEPSEL_12 -#define CONF_DMAC_STEPSEL_12 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_12 -#ifndef CONF_DMAC_SRCINC_12 -#define CONF_DMAC_SRCINC_12 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_12 -#ifndef CONF_DMAC_DSTINC_12 -#define CONF_DMAC_DSTINC_12 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_12 -#ifndef CONF_DMAC_BEATSIZE_12 -#define CONF_DMAC_BEATSIZE_12 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_12 -#ifndef CONF_DMAC_BLOCKACT_12 -#define CONF_DMAC_BLOCKACT_12 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_12 -#ifndef CONF_DMAC_EVOSEL_12 -#define CONF_DMAC_EVOSEL_12 0 -#endif -// - -// Channel 13 settings -// dmac_channel_13_settings -#ifndef CONF_DMAC_CHANNEL_13_SETTINGS -#define CONF_DMAC_CHANNEL_13_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 13 is running in standby mode or not -// dmac_runstdby_13 -#ifndef CONF_DMAC_RUNSTDBY_13 -#define CONF_DMAC_RUNSTDBY_13 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_13 -#ifndef CONF_DMAC_TRIGACT_13 -#define CONF_DMAC_TRIGACT_13 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_13 -#ifndef CONF_DMAC_TRIGSRC_13 -#define CONF_DMAC_TRIGSRC_13 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_13 -#ifndef CONF_DMAC_LVL_13 -#define CONF_DMAC_LVL_13 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_13 -#ifndef CONF_DMAC_EVOE_13 -#define CONF_DMAC_EVOE_13 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_13 -#ifndef CONF_DMAC_EVIE_13 -#define CONF_DMAC_EVIE_13 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_13 -#ifndef CONF_DMAC_EVACT_13 -#define CONF_DMAC_EVACT_13 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_13 -#ifndef CONF_DMAC_STEPSIZE_13 -#define CONF_DMAC_STEPSIZE_13 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_13 -#ifndef CONF_DMAC_STEPSEL_13 -#define CONF_DMAC_STEPSEL_13 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_13 -#ifndef CONF_DMAC_SRCINC_13 -#define CONF_DMAC_SRCINC_13 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_13 -#ifndef CONF_DMAC_DSTINC_13 -#define CONF_DMAC_DSTINC_13 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_13 -#ifndef CONF_DMAC_BEATSIZE_13 -#define CONF_DMAC_BEATSIZE_13 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_13 -#ifndef CONF_DMAC_BLOCKACT_13 -#define CONF_DMAC_BLOCKACT_13 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_13 -#ifndef CONF_DMAC_EVOSEL_13 -#define CONF_DMAC_EVOSEL_13 0 -#endif -// - -// Channel 14 settings -// dmac_channel_14_settings -#ifndef CONF_DMAC_CHANNEL_14_SETTINGS -#define CONF_DMAC_CHANNEL_14_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 14 is running in standby mode or not -// dmac_runstdby_14 -#ifndef CONF_DMAC_RUNSTDBY_14 -#define CONF_DMAC_RUNSTDBY_14 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_14 -#ifndef CONF_DMAC_TRIGACT_14 -#define CONF_DMAC_TRIGACT_14 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_14 -#ifndef CONF_DMAC_TRIGSRC_14 -#define CONF_DMAC_TRIGSRC_14 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_14 -#ifndef CONF_DMAC_LVL_14 -#define CONF_DMAC_LVL_14 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_14 -#ifndef CONF_DMAC_EVOE_14 -#define CONF_DMAC_EVOE_14 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_14 -#ifndef CONF_DMAC_EVIE_14 -#define CONF_DMAC_EVIE_14 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_14 -#ifndef CONF_DMAC_EVACT_14 -#define CONF_DMAC_EVACT_14 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_14 -#ifndef CONF_DMAC_STEPSIZE_14 -#define CONF_DMAC_STEPSIZE_14 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_14 -#ifndef CONF_DMAC_STEPSEL_14 -#define CONF_DMAC_STEPSEL_14 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_14 -#ifndef CONF_DMAC_SRCINC_14 -#define CONF_DMAC_SRCINC_14 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_14 -#ifndef CONF_DMAC_DSTINC_14 -#define CONF_DMAC_DSTINC_14 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_14 -#ifndef CONF_DMAC_BEATSIZE_14 -#define CONF_DMAC_BEATSIZE_14 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_14 -#ifndef CONF_DMAC_BLOCKACT_14 -#define CONF_DMAC_BLOCKACT_14 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_14 -#ifndef CONF_DMAC_EVOSEL_14 -#define CONF_DMAC_EVOSEL_14 0 -#endif -// - -// Channel 15 settings -// dmac_channel_15_settings -#ifndef CONF_DMAC_CHANNEL_15_SETTINGS -#define CONF_DMAC_CHANNEL_15_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 15 is running in standby mode or not -// dmac_runstdby_15 -#ifndef CONF_DMAC_RUNSTDBY_15 -#define CONF_DMAC_RUNSTDBY_15 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_15 -#ifndef CONF_DMAC_TRIGACT_15 -#define CONF_DMAC_TRIGACT_15 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_15 -#ifndef CONF_DMAC_TRIGSRC_15 -#define CONF_DMAC_TRIGSRC_15 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_15 -#ifndef CONF_DMAC_LVL_15 -#define CONF_DMAC_LVL_15 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_15 -#ifndef CONF_DMAC_EVOE_15 -#define CONF_DMAC_EVOE_15 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_15 -#ifndef CONF_DMAC_EVIE_15 -#define CONF_DMAC_EVIE_15 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_15 -#ifndef CONF_DMAC_EVACT_15 -#define CONF_DMAC_EVACT_15 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_15 -#ifndef CONF_DMAC_STEPSIZE_15 -#define CONF_DMAC_STEPSIZE_15 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_15 -#ifndef CONF_DMAC_STEPSEL_15 -#define CONF_DMAC_STEPSEL_15 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_15 -#ifndef CONF_DMAC_SRCINC_15 -#define CONF_DMAC_SRCINC_15 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_15 -#ifndef CONF_DMAC_DSTINC_15 -#define CONF_DMAC_DSTINC_15 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_15 -#ifndef CONF_DMAC_BEATSIZE_15 -#define CONF_DMAC_BEATSIZE_15 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_15 -#ifndef CONF_DMAC_BLOCKACT_15 -#define CONF_DMAC_BLOCKACT_15 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_15 -#ifndef CONF_DMAC_EVOSEL_15 -#define CONF_DMAC_EVOSEL_15 0 -#endif -// - -// Channel 16 settings -// dmac_channel_16_settings -#ifndef CONF_DMAC_CHANNEL_16_SETTINGS -#define CONF_DMAC_CHANNEL_16_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 16 is running in standby mode or not -// dmac_runstdby_16 -#ifndef CONF_DMAC_RUNSTDBY_16 -#define CONF_DMAC_RUNSTDBY_16 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_16 -#ifndef CONF_DMAC_TRIGACT_16 -#define CONF_DMAC_TRIGACT_16 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_16 -#ifndef CONF_DMAC_TRIGSRC_16 -#define CONF_DMAC_TRIGSRC_16 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_16 -#ifndef CONF_DMAC_LVL_16 -#define CONF_DMAC_LVL_16 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_16 -#ifndef CONF_DMAC_EVOE_16 -#define CONF_DMAC_EVOE_16 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_16 -#ifndef CONF_DMAC_EVIE_16 -#define CONF_DMAC_EVIE_16 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_16 -#ifndef CONF_DMAC_EVACT_16 -#define CONF_DMAC_EVACT_16 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_16 -#ifndef CONF_DMAC_STEPSIZE_16 -#define CONF_DMAC_STEPSIZE_16 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_16 -#ifndef CONF_DMAC_STEPSEL_16 -#define CONF_DMAC_STEPSEL_16 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_16 -#ifndef CONF_DMAC_SRCINC_16 -#define CONF_DMAC_SRCINC_16 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_16 -#ifndef CONF_DMAC_DSTINC_16 -#define CONF_DMAC_DSTINC_16 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_16 -#ifndef CONF_DMAC_BEATSIZE_16 -#define CONF_DMAC_BEATSIZE_16 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_16 -#ifndef CONF_DMAC_BLOCKACT_16 -#define CONF_DMAC_BLOCKACT_16 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_16 -#ifndef CONF_DMAC_EVOSEL_16 -#define CONF_DMAC_EVOSEL_16 0 -#endif -// - -// Channel 17 settings -// dmac_channel_17_settings -#ifndef CONF_DMAC_CHANNEL_17_SETTINGS -#define CONF_DMAC_CHANNEL_17_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 17 is running in standby mode or not -// dmac_runstdby_17 -#ifndef CONF_DMAC_RUNSTDBY_17 -#define CONF_DMAC_RUNSTDBY_17 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_17 -#ifndef CONF_DMAC_TRIGACT_17 -#define CONF_DMAC_TRIGACT_17 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_17 -#ifndef CONF_DMAC_TRIGSRC_17 -#define CONF_DMAC_TRIGSRC_17 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_17 -#ifndef CONF_DMAC_LVL_17 -#define CONF_DMAC_LVL_17 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_17 -#ifndef CONF_DMAC_EVOE_17 -#define CONF_DMAC_EVOE_17 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_17 -#ifndef CONF_DMAC_EVIE_17 -#define CONF_DMAC_EVIE_17 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_17 -#ifndef CONF_DMAC_EVACT_17 -#define CONF_DMAC_EVACT_17 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_17 -#ifndef CONF_DMAC_STEPSIZE_17 -#define CONF_DMAC_STEPSIZE_17 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_17 -#ifndef CONF_DMAC_STEPSEL_17 -#define CONF_DMAC_STEPSEL_17 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_17 -#ifndef CONF_DMAC_SRCINC_17 -#define CONF_DMAC_SRCINC_17 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_17 -#ifndef CONF_DMAC_DSTINC_17 -#define CONF_DMAC_DSTINC_17 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_17 -#ifndef CONF_DMAC_BEATSIZE_17 -#define CONF_DMAC_BEATSIZE_17 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_17 -#ifndef CONF_DMAC_BLOCKACT_17 -#define CONF_DMAC_BLOCKACT_17 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_17 -#ifndef CONF_DMAC_EVOSEL_17 -#define CONF_DMAC_EVOSEL_17 0 -#endif -// - -// Channel 18 settings -// dmac_channel_18_settings -#ifndef CONF_DMAC_CHANNEL_18_SETTINGS -#define CONF_DMAC_CHANNEL_18_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 18 is running in standby mode or not -// dmac_runstdby_18 -#ifndef CONF_DMAC_RUNSTDBY_18 -#define CONF_DMAC_RUNSTDBY_18 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_18 -#ifndef CONF_DMAC_TRIGACT_18 -#define CONF_DMAC_TRIGACT_18 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_18 -#ifndef CONF_DMAC_TRIGSRC_18 -#define CONF_DMAC_TRIGSRC_18 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_18 -#ifndef CONF_DMAC_LVL_18 -#define CONF_DMAC_LVL_18 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_18 -#ifndef CONF_DMAC_EVOE_18 -#define CONF_DMAC_EVOE_18 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_18 -#ifndef CONF_DMAC_EVIE_18 -#define CONF_DMAC_EVIE_18 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_18 -#ifndef CONF_DMAC_EVACT_18 -#define CONF_DMAC_EVACT_18 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_18 -#ifndef CONF_DMAC_STEPSIZE_18 -#define CONF_DMAC_STEPSIZE_18 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_18 -#ifndef CONF_DMAC_STEPSEL_18 -#define CONF_DMAC_STEPSEL_18 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_18 -#ifndef CONF_DMAC_SRCINC_18 -#define CONF_DMAC_SRCINC_18 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_18 -#ifndef CONF_DMAC_DSTINC_18 -#define CONF_DMAC_DSTINC_18 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_18 -#ifndef CONF_DMAC_BEATSIZE_18 -#define CONF_DMAC_BEATSIZE_18 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_18 -#ifndef CONF_DMAC_BLOCKACT_18 -#define CONF_DMAC_BLOCKACT_18 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_18 -#ifndef CONF_DMAC_EVOSEL_18 -#define CONF_DMAC_EVOSEL_18 0 -#endif -// - -// Channel 19 settings -// dmac_channel_19_settings -#ifndef CONF_DMAC_CHANNEL_19_SETTINGS -#define CONF_DMAC_CHANNEL_19_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 19 is running in standby mode or not -// dmac_runstdby_19 -#ifndef CONF_DMAC_RUNSTDBY_19 -#define CONF_DMAC_RUNSTDBY_19 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_19 -#ifndef CONF_DMAC_TRIGACT_19 -#define CONF_DMAC_TRIGACT_19 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_19 -#ifndef CONF_DMAC_TRIGSRC_19 -#define CONF_DMAC_TRIGSRC_19 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_19 -#ifndef CONF_DMAC_LVL_19 -#define CONF_DMAC_LVL_19 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_19 -#ifndef CONF_DMAC_EVOE_19 -#define CONF_DMAC_EVOE_19 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_19 -#ifndef CONF_DMAC_EVIE_19 -#define CONF_DMAC_EVIE_19 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_19 -#ifndef CONF_DMAC_EVACT_19 -#define CONF_DMAC_EVACT_19 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_19 -#ifndef CONF_DMAC_STEPSIZE_19 -#define CONF_DMAC_STEPSIZE_19 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_19 -#ifndef CONF_DMAC_STEPSEL_19 -#define CONF_DMAC_STEPSEL_19 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_19 -#ifndef CONF_DMAC_SRCINC_19 -#define CONF_DMAC_SRCINC_19 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_19 -#ifndef CONF_DMAC_DSTINC_19 -#define CONF_DMAC_DSTINC_19 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_19 -#ifndef CONF_DMAC_BEATSIZE_19 -#define CONF_DMAC_BEATSIZE_19 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_19 -#ifndef CONF_DMAC_BLOCKACT_19 -#define CONF_DMAC_BLOCKACT_19 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_19 -#ifndef CONF_DMAC_EVOSEL_19 -#define CONF_DMAC_EVOSEL_19 0 -#endif -// - -// Channel 20 settings -// dmac_channel_20_settings -#ifndef CONF_DMAC_CHANNEL_20_SETTINGS -#define CONF_DMAC_CHANNEL_20_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 20 is running in standby mode or not -// dmac_runstdby_20 -#ifndef CONF_DMAC_RUNSTDBY_20 -#define CONF_DMAC_RUNSTDBY_20 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_20 -#ifndef CONF_DMAC_TRIGACT_20 -#define CONF_DMAC_TRIGACT_20 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_20 -#ifndef CONF_DMAC_TRIGSRC_20 -#define CONF_DMAC_TRIGSRC_20 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_20 -#ifndef CONF_DMAC_LVL_20 -#define CONF_DMAC_LVL_20 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_20 -#ifndef CONF_DMAC_EVOE_20 -#define CONF_DMAC_EVOE_20 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_20 -#ifndef CONF_DMAC_EVIE_20 -#define CONF_DMAC_EVIE_20 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_20 -#ifndef CONF_DMAC_EVACT_20 -#define CONF_DMAC_EVACT_20 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_20 -#ifndef CONF_DMAC_STEPSIZE_20 -#define CONF_DMAC_STEPSIZE_20 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_20 -#ifndef CONF_DMAC_STEPSEL_20 -#define CONF_DMAC_STEPSEL_20 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_20 -#ifndef CONF_DMAC_SRCINC_20 -#define CONF_DMAC_SRCINC_20 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_20 -#ifndef CONF_DMAC_DSTINC_20 -#define CONF_DMAC_DSTINC_20 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_20 -#ifndef CONF_DMAC_BEATSIZE_20 -#define CONF_DMAC_BEATSIZE_20 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_20 -#ifndef CONF_DMAC_BLOCKACT_20 -#define CONF_DMAC_BLOCKACT_20 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_20 -#ifndef CONF_DMAC_EVOSEL_20 -#define CONF_DMAC_EVOSEL_20 0 -#endif -// - -// Channel 21 settings -// dmac_channel_21_settings -#ifndef CONF_DMAC_CHANNEL_21_SETTINGS -#define CONF_DMAC_CHANNEL_21_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 21 is running in standby mode or not -// dmac_runstdby_21 -#ifndef CONF_DMAC_RUNSTDBY_21 -#define CONF_DMAC_RUNSTDBY_21 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_21 -#ifndef CONF_DMAC_TRIGACT_21 -#define CONF_DMAC_TRIGACT_21 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_21 -#ifndef CONF_DMAC_TRIGSRC_21 -#define CONF_DMAC_TRIGSRC_21 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_21 -#ifndef CONF_DMAC_LVL_21 -#define CONF_DMAC_LVL_21 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_21 -#ifndef CONF_DMAC_EVOE_21 -#define CONF_DMAC_EVOE_21 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_21 -#ifndef CONF_DMAC_EVIE_21 -#define CONF_DMAC_EVIE_21 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_21 -#ifndef CONF_DMAC_EVACT_21 -#define CONF_DMAC_EVACT_21 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_21 -#ifndef CONF_DMAC_STEPSIZE_21 -#define CONF_DMAC_STEPSIZE_21 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_21 -#ifndef CONF_DMAC_STEPSEL_21 -#define CONF_DMAC_STEPSEL_21 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_21 -#ifndef CONF_DMAC_SRCINC_21 -#define CONF_DMAC_SRCINC_21 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_21 -#ifndef CONF_DMAC_DSTINC_21 -#define CONF_DMAC_DSTINC_21 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_21 -#ifndef CONF_DMAC_BEATSIZE_21 -#define CONF_DMAC_BEATSIZE_21 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_21 -#ifndef CONF_DMAC_BLOCKACT_21 -#define CONF_DMAC_BLOCKACT_21 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_21 -#ifndef CONF_DMAC_EVOSEL_21 -#define CONF_DMAC_EVOSEL_21 0 -#endif -// - -// Channel 22 settings -// dmac_channel_22_settings -#ifndef CONF_DMAC_CHANNEL_22_SETTINGS -#define CONF_DMAC_CHANNEL_22_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 22 is running in standby mode or not -// dmac_runstdby_22 -#ifndef CONF_DMAC_RUNSTDBY_22 -#define CONF_DMAC_RUNSTDBY_22 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_22 -#ifndef CONF_DMAC_TRIGACT_22 -#define CONF_DMAC_TRIGACT_22 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_22 -#ifndef CONF_DMAC_TRIGSRC_22 -#define CONF_DMAC_TRIGSRC_22 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_22 -#ifndef CONF_DMAC_LVL_22 -#define CONF_DMAC_LVL_22 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_22 -#ifndef CONF_DMAC_EVOE_22 -#define CONF_DMAC_EVOE_22 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_22 -#ifndef CONF_DMAC_EVIE_22 -#define CONF_DMAC_EVIE_22 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_22 -#ifndef CONF_DMAC_EVACT_22 -#define CONF_DMAC_EVACT_22 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_22 -#ifndef CONF_DMAC_STEPSIZE_22 -#define CONF_DMAC_STEPSIZE_22 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_22 -#ifndef CONF_DMAC_STEPSEL_22 -#define CONF_DMAC_STEPSEL_22 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_22 -#ifndef CONF_DMAC_SRCINC_22 -#define CONF_DMAC_SRCINC_22 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_22 -#ifndef CONF_DMAC_DSTINC_22 -#define CONF_DMAC_DSTINC_22 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_22 -#ifndef CONF_DMAC_BEATSIZE_22 -#define CONF_DMAC_BEATSIZE_22 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_22 -#ifndef CONF_DMAC_BLOCKACT_22 -#define CONF_DMAC_BLOCKACT_22 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_22 -#ifndef CONF_DMAC_EVOSEL_22 -#define CONF_DMAC_EVOSEL_22 0 -#endif -// - -// Channel 23 settings -// dmac_channel_23_settings -#ifndef CONF_DMAC_CHANNEL_23_SETTINGS -#define CONF_DMAC_CHANNEL_23_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 23 is running in standby mode or not -// dmac_runstdby_23 -#ifndef CONF_DMAC_RUNSTDBY_23 -#define CONF_DMAC_RUNSTDBY_23 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_23 -#ifndef CONF_DMAC_TRIGACT_23 -#define CONF_DMAC_TRIGACT_23 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_23 -#ifndef CONF_DMAC_TRIGSRC_23 -#define CONF_DMAC_TRIGSRC_23 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_23 -#ifndef CONF_DMAC_LVL_23 -#define CONF_DMAC_LVL_23 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_23 -#ifndef CONF_DMAC_EVOE_23 -#define CONF_DMAC_EVOE_23 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_23 -#ifndef CONF_DMAC_EVIE_23 -#define CONF_DMAC_EVIE_23 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_23 -#ifndef CONF_DMAC_EVACT_23 -#define CONF_DMAC_EVACT_23 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_23 -#ifndef CONF_DMAC_STEPSIZE_23 -#define CONF_DMAC_STEPSIZE_23 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_23 -#ifndef CONF_DMAC_STEPSEL_23 -#define CONF_DMAC_STEPSEL_23 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_23 -#ifndef CONF_DMAC_SRCINC_23 -#define CONF_DMAC_SRCINC_23 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_23 -#ifndef CONF_DMAC_DSTINC_23 -#define CONF_DMAC_DSTINC_23 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_23 -#ifndef CONF_DMAC_BEATSIZE_23 -#define CONF_DMAC_BEATSIZE_23 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_23 -#ifndef CONF_DMAC_BLOCKACT_23 -#define CONF_DMAC_BLOCKACT_23 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_23 -#ifndef CONF_DMAC_EVOSEL_23 -#define CONF_DMAC_EVOSEL_23 0 -#endif -// - -// Channel 24 settings -// dmac_channel_24_settings -#ifndef CONF_DMAC_CHANNEL_24_SETTINGS -#define CONF_DMAC_CHANNEL_24_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 24 is running in standby mode or not -// dmac_runstdby_24 -#ifndef CONF_DMAC_RUNSTDBY_24 -#define CONF_DMAC_RUNSTDBY_24 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_24 -#ifndef CONF_DMAC_TRIGACT_24 -#define CONF_DMAC_TRIGACT_24 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_24 -#ifndef CONF_DMAC_TRIGSRC_24 -#define CONF_DMAC_TRIGSRC_24 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_24 -#ifndef CONF_DMAC_LVL_24 -#define CONF_DMAC_LVL_24 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_24 -#ifndef CONF_DMAC_EVOE_24 -#define CONF_DMAC_EVOE_24 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_24 -#ifndef CONF_DMAC_EVIE_24 -#define CONF_DMAC_EVIE_24 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_24 -#ifndef CONF_DMAC_EVACT_24 -#define CONF_DMAC_EVACT_24 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_24 -#ifndef CONF_DMAC_STEPSIZE_24 -#define CONF_DMAC_STEPSIZE_24 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_24 -#ifndef CONF_DMAC_STEPSEL_24 -#define CONF_DMAC_STEPSEL_24 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_24 -#ifndef CONF_DMAC_SRCINC_24 -#define CONF_DMAC_SRCINC_24 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_24 -#ifndef CONF_DMAC_DSTINC_24 -#define CONF_DMAC_DSTINC_24 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_24 -#ifndef CONF_DMAC_BEATSIZE_24 -#define CONF_DMAC_BEATSIZE_24 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_24 -#ifndef CONF_DMAC_BLOCKACT_24 -#define CONF_DMAC_BLOCKACT_24 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_24 -#ifndef CONF_DMAC_EVOSEL_24 -#define CONF_DMAC_EVOSEL_24 0 -#endif -// - -// Channel 25 settings -// dmac_channel_25_settings -#ifndef CONF_DMAC_CHANNEL_25_SETTINGS -#define CONF_DMAC_CHANNEL_25_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 25 is running in standby mode or not -// dmac_runstdby_25 -#ifndef CONF_DMAC_RUNSTDBY_25 -#define CONF_DMAC_RUNSTDBY_25 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_25 -#ifndef CONF_DMAC_TRIGACT_25 -#define CONF_DMAC_TRIGACT_25 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_25 -#ifndef CONF_DMAC_TRIGSRC_25 -#define CONF_DMAC_TRIGSRC_25 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_25 -#ifndef CONF_DMAC_LVL_25 -#define CONF_DMAC_LVL_25 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_25 -#ifndef CONF_DMAC_EVOE_25 -#define CONF_DMAC_EVOE_25 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_25 -#ifndef CONF_DMAC_EVIE_25 -#define CONF_DMAC_EVIE_25 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_25 -#ifndef CONF_DMAC_EVACT_25 -#define CONF_DMAC_EVACT_25 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_25 -#ifndef CONF_DMAC_STEPSIZE_25 -#define CONF_DMAC_STEPSIZE_25 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_25 -#ifndef CONF_DMAC_STEPSEL_25 -#define CONF_DMAC_STEPSEL_25 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_25 -#ifndef CONF_DMAC_SRCINC_25 -#define CONF_DMAC_SRCINC_25 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_25 -#ifndef CONF_DMAC_DSTINC_25 -#define CONF_DMAC_DSTINC_25 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_25 -#ifndef CONF_DMAC_BEATSIZE_25 -#define CONF_DMAC_BEATSIZE_25 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_25 -#ifndef CONF_DMAC_BLOCKACT_25 -#define CONF_DMAC_BLOCKACT_25 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_25 -#ifndef CONF_DMAC_EVOSEL_25 -#define CONF_DMAC_EVOSEL_25 0 -#endif -// - -// Channel 26 settings -// dmac_channel_26_settings -#ifndef CONF_DMAC_CHANNEL_26_SETTINGS -#define CONF_DMAC_CHANNEL_26_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 26 is running in standby mode or not -// dmac_runstdby_26 -#ifndef CONF_DMAC_RUNSTDBY_26 -#define CONF_DMAC_RUNSTDBY_26 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_26 -#ifndef CONF_DMAC_TRIGACT_26 -#define CONF_DMAC_TRIGACT_26 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_26 -#ifndef CONF_DMAC_TRIGSRC_26 -#define CONF_DMAC_TRIGSRC_26 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_26 -#ifndef CONF_DMAC_LVL_26 -#define CONF_DMAC_LVL_26 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_26 -#ifndef CONF_DMAC_EVOE_26 -#define CONF_DMAC_EVOE_26 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_26 -#ifndef CONF_DMAC_EVIE_26 -#define CONF_DMAC_EVIE_26 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_26 -#ifndef CONF_DMAC_EVACT_26 -#define CONF_DMAC_EVACT_26 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_26 -#ifndef CONF_DMAC_STEPSIZE_26 -#define CONF_DMAC_STEPSIZE_26 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_26 -#ifndef CONF_DMAC_STEPSEL_26 -#define CONF_DMAC_STEPSEL_26 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_26 -#ifndef CONF_DMAC_SRCINC_26 -#define CONF_DMAC_SRCINC_26 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_26 -#ifndef CONF_DMAC_DSTINC_26 -#define CONF_DMAC_DSTINC_26 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_26 -#ifndef CONF_DMAC_BEATSIZE_26 -#define CONF_DMAC_BEATSIZE_26 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_26 -#ifndef CONF_DMAC_BLOCKACT_26 -#define CONF_DMAC_BLOCKACT_26 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_26 -#ifndef CONF_DMAC_EVOSEL_26 -#define CONF_DMAC_EVOSEL_26 0 -#endif -// - -// Channel 27 settings -// dmac_channel_27_settings -#ifndef CONF_DMAC_CHANNEL_27_SETTINGS -#define CONF_DMAC_CHANNEL_27_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 27 is running in standby mode or not -// dmac_runstdby_27 -#ifndef CONF_DMAC_RUNSTDBY_27 -#define CONF_DMAC_RUNSTDBY_27 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_27 -#ifndef CONF_DMAC_TRIGACT_27 -#define CONF_DMAC_TRIGACT_27 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_27 -#ifndef CONF_DMAC_TRIGSRC_27 -#define CONF_DMAC_TRIGSRC_27 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_27 -#ifndef CONF_DMAC_LVL_27 -#define CONF_DMAC_LVL_27 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_27 -#ifndef CONF_DMAC_EVOE_27 -#define CONF_DMAC_EVOE_27 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_27 -#ifndef CONF_DMAC_EVIE_27 -#define CONF_DMAC_EVIE_27 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_27 -#ifndef CONF_DMAC_EVACT_27 -#define CONF_DMAC_EVACT_27 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_27 -#ifndef CONF_DMAC_STEPSIZE_27 -#define CONF_DMAC_STEPSIZE_27 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_27 -#ifndef CONF_DMAC_STEPSEL_27 -#define CONF_DMAC_STEPSEL_27 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_27 -#ifndef CONF_DMAC_SRCINC_27 -#define CONF_DMAC_SRCINC_27 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_27 -#ifndef CONF_DMAC_DSTINC_27 -#define CONF_DMAC_DSTINC_27 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_27 -#ifndef CONF_DMAC_BEATSIZE_27 -#define CONF_DMAC_BEATSIZE_27 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_27 -#ifndef CONF_DMAC_BLOCKACT_27 -#define CONF_DMAC_BLOCKACT_27 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_27 -#ifndef CONF_DMAC_EVOSEL_27 -#define CONF_DMAC_EVOSEL_27 0 -#endif -// - -// Channel 28 settings -// dmac_channel_28_settings -#ifndef CONF_DMAC_CHANNEL_28_SETTINGS -#define CONF_DMAC_CHANNEL_28_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 28 is running in standby mode or not -// dmac_runstdby_28 -#ifndef CONF_DMAC_RUNSTDBY_28 -#define CONF_DMAC_RUNSTDBY_28 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_28 -#ifndef CONF_DMAC_TRIGACT_28 -#define CONF_DMAC_TRIGACT_28 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_28 -#ifndef CONF_DMAC_TRIGSRC_28 -#define CONF_DMAC_TRIGSRC_28 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_28 -#ifndef CONF_DMAC_LVL_28 -#define CONF_DMAC_LVL_28 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_28 -#ifndef CONF_DMAC_EVOE_28 -#define CONF_DMAC_EVOE_28 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_28 -#ifndef CONF_DMAC_EVIE_28 -#define CONF_DMAC_EVIE_28 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_28 -#ifndef CONF_DMAC_EVACT_28 -#define CONF_DMAC_EVACT_28 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_28 -#ifndef CONF_DMAC_STEPSIZE_28 -#define CONF_DMAC_STEPSIZE_28 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_28 -#ifndef CONF_DMAC_STEPSEL_28 -#define CONF_DMAC_STEPSEL_28 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_28 -#ifndef CONF_DMAC_SRCINC_28 -#define CONF_DMAC_SRCINC_28 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_28 -#ifndef CONF_DMAC_DSTINC_28 -#define CONF_DMAC_DSTINC_28 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_28 -#ifndef CONF_DMAC_BEATSIZE_28 -#define CONF_DMAC_BEATSIZE_28 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_28 -#ifndef CONF_DMAC_BLOCKACT_28 -#define CONF_DMAC_BLOCKACT_28 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_28 -#ifndef CONF_DMAC_EVOSEL_28 -#define CONF_DMAC_EVOSEL_28 0 -#endif -// - -// Channel 29 settings -// dmac_channel_29_settings -#ifndef CONF_DMAC_CHANNEL_29_SETTINGS -#define CONF_DMAC_CHANNEL_29_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 29 is running in standby mode or not -// dmac_runstdby_29 -#ifndef CONF_DMAC_RUNSTDBY_29 -#define CONF_DMAC_RUNSTDBY_29 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_29 -#ifndef CONF_DMAC_TRIGACT_29 -#define CONF_DMAC_TRIGACT_29 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_29 -#ifndef CONF_DMAC_TRIGSRC_29 -#define CONF_DMAC_TRIGSRC_29 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_29 -#ifndef CONF_DMAC_LVL_29 -#define CONF_DMAC_LVL_29 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_29 -#ifndef CONF_DMAC_EVOE_29 -#define CONF_DMAC_EVOE_29 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_29 -#ifndef CONF_DMAC_EVIE_29 -#define CONF_DMAC_EVIE_29 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_29 -#ifndef CONF_DMAC_EVACT_29 -#define CONF_DMAC_EVACT_29 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_29 -#ifndef CONF_DMAC_STEPSIZE_29 -#define CONF_DMAC_STEPSIZE_29 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_29 -#ifndef CONF_DMAC_STEPSEL_29 -#define CONF_DMAC_STEPSEL_29 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_29 -#ifndef CONF_DMAC_SRCINC_29 -#define CONF_DMAC_SRCINC_29 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_29 -#ifndef CONF_DMAC_DSTINC_29 -#define CONF_DMAC_DSTINC_29 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_29 -#ifndef CONF_DMAC_BEATSIZE_29 -#define CONF_DMAC_BEATSIZE_29 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_29 -#ifndef CONF_DMAC_BLOCKACT_29 -#define CONF_DMAC_BLOCKACT_29 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_29 -#ifndef CONF_DMAC_EVOSEL_29 -#define CONF_DMAC_EVOSEL_29 0 -#endif -// - -// Channel 30 settings -// dmac_channel_30_settings -#ifndef CONF_DMAC_CHANNEL_30_SETTINGS -#define CONF_DMAC_CHANNEL_30_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 30 is running in standby mode or not -// dmac_runstdby_30 -#ifndef CONF_DMAC_RUNSTDBY_30 -#define CONF_DMAC_RUNSTDBY_30 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_30 -#ifndef CONF_DMAC_TRIGACT_30 -#define CONF_DMAC_TRIGACT_30 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_30 -#ifndef CONF_DMAC_TRIGSRC_30 -#define CONF_DMAC_TRIGSRC_30 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_30 -#ifndef CONF_DMAC_LVL_30 -#define CONF_DMAC_LVL_30 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_30 -#ifndef CONF_DMAC_EVOE_30 -#define CONF_DMAC_EVOE_30 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_30 -#ifndef CONF_DMAC_EVIE_30 -#define CONF_DMAC_EVIE_30 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_30 -#ifndef CONF_DMAC_EVACT_30 -#define CONF_DMAC_EVACT_30 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_30 -#ifndef CONF_DMAC_STEPSIZE_30 -#define CONF_DMAC_STEPSIZE_30 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_30 -#ifndef CONF_DMAC_STEPSEL_30 -#define CONF_DMAC_STEPSEL_30 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_30 -#ifndef CONF_DMAC_SRCINC_30 -#define CONF_DMAC_SRCINC_30 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_30 -#ifndef CONF_DMAC_DSTINC_30 -#define CONF_DMAC_DSTINC_30 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_30 -#ifndef CONF_DMAC_BEATSIZE_30 -#define CONF_DMAC_BEATSIZE_30 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_30 -#ifndef CONF_DMAC_BLOCKACT_30 -#define CONF_DMAC_BLOCKACT_30 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_30 -#ifndef CONF_DMAC_EVOSEL_30 -#define CONF_DMAC_EVOSEL_30 0 -#endif -// - -// Channel 31 settings -// dmac_channel_31_settings -#ifndef CONF_DMAC_CHANNEL_31_SETTINGS -#define CONF_DMAC_CHANNEL_31_SETTINGS 0 -#endif - -// Channel Run in Standby -// Indicates whether channel 31 is running in standby mode or not -// dmac_runstdby_31 -#ifndef CONF_DMAC_RUNSTDBY_31 -#define CONF_DMAC_RUNSTDBY_31 0 -#endif - -// Trigger action -// <0=> One trigger required for each block transfer -// <2=> One trigger required for each beat transfer -// <3=> One trigger required for each transaction -// Defines the trigger action used for a transfer -// dmac_trigact_31 -#ifndef CONF_DMAC_TRIGACT_31 -#define CONF_DMAC_TRIGACT_31 0 -#endif - -// Trigger source -// <0x00=> Only software/event triggers -// <0x01=> RTC Time Stamp Trigger -// <0x02=> DSU Debug Communication Channel 0 Trigger -// <0x03=> DSU Debug Communication Channel 1 Trigger -// <0x04=> SERCOM0 RX Trigger -// <0x05=> SERCOM0 TX Trigger -// <0x06=> SERCOM1 RX Trigger -// <0x07=> SERCOM1 TX Trigger -// <0x08=> SERCOM2 RX Trigger -// <0x09=> SERCOM2 TX Trigger -// <0x0A=> SERCOM3 RX Trigger -// <0x0B=> SERCOM3 TX Trigger -// <0x0C=> SERCOM4 RX Trigger -// <0x0D=> SERCOM4 TX Trigger -// <0x0E=> SERCOM5 RX Trigger -// <0x0F=> SERCOM5 TX Trigger -// <0x10=> SERCOM6 RX Trigger -// <0x11=> SERCOM6 TX Trigger -// <0x12=> SERCOM7 RX Trigger -// <0x13=> SERCOM7 TX Trigger -// <0x14=> CAN0 DEBUG Trigger -// <0x15=> CAN1 DEBUG Trigger -// <0x16=> TCC0 Overflow Trigger Trigger -// <0x17=> TCC0 Match/Compare 0 Trigger Trigger -// <0x18=> TCC0 Match/Compare 1 Trigger Trigger -// <0x19=> TCC0 Match/Compare 2 Trigger Trigger -// <0x1A=> TCC0 Match/Compare 3 Trigger Trigger -// <0x1B=> TCC0 Match/Compare 4 Trigger Trigger -// <0x1C=> TCC0 Match/Compare 5 Trigger Trigger -// <0x1D=> TCC1 Overflow Trigger Trigger -// <0x1E=> TCC1 Match/Compare 0 Trigger Trigger -// <0x1F=> TCC1 Match/Compare 1 Trigger Trigger -// <0x20=> TCC1 Match/Compare 2 Trigger Trigger -// <0x21=> TCC1 Match/Compare 3 Trigger Trigger -// <0x22=> TCC2 Overflow Trigger Trigger -// <0x23=> TCC2 Match/Compare 0 Trigger Trigger -// <0x24=> TCC2 Match/Compare 1 Trigger Trigger -// <0x25=> TCC2 Match/Compare 2 Trigger Trigger -// <0x26=> TCC3 Overflow Trigger Trigger -// <0x27=> TCC3 Match/Compare 0 Trigger Trigger -// <0x28=> TCC3 Match/Compare 1 Trigger Trigger -// <0x29=> TCC4 Overflow Trigger Trigger -// <0x2A=> TCC4 Match/Compare 0 Trigger Trigger -// <0x2B=> TCC4 Match/Compare 1 Trigger Trigger -// <0x2C=> TC0 Overflow Trigger -// <0x2D=> TC0 Match/Compare 0 Trigger -// <0x2E=> TC0 Match/Compare 1 Trigger -// <0x2F=> TC1 Overflow Trigger -// <0x30=> TC1 Match/Compare 0 Trigger -// <0x31=> TC1 Match/Compare 1 Trigger -// <0x32=> TC2 Overflow Trigger -// <0x33=> TC2 Match/Compare 0 Trigger -// <0x34=> TC2 Match/Compare 1 Trigger -// <0x35=> TC3 Overflow Trigger -// <0x36=> TC3 Match/Compare 0 Trigger -// <0x37=> TC3 Match/Compare 1 Trigger -// <0x38=> TC4 Overflow Trigger -// <0x39=> TC4 Match/Compare 0 Trigger -// <0x3A=> TC4 Match/Compare 1 Trigger -// <0x3B=> TC5 Overflow Trigger -// <0x3C=> TC5 Match/Compare 0 Trigger -// <0x3D=> TC5 Match/Compare 1 Trigger -// <0x3E=> TC6 Overflow Trigger -// <0x3F=> TC6 Match/Compare 0 Trigger -// <0x40=> TC6 Match/Compare 1 Trigger -// <0x41=> TC7 Overflow Trigger -// <0x42=> TC7 Match/Compare 0 Trigger -// <0x43=> TC7 Match/Compare 1 Trigger -// <0x44=> ADC0 Result Ready Trigger -// <0x45=> ADC0 Sequencing Trigger -// <0x46=> ADC1 Result Ready Trigger -// <0x47=> ADC1 Sequencing Trigger -// <0x48=> DAC Empty 0 Trigger -// <0x49=> DAC Empty 1 Trigger -// <0x4A=> DAC Result Ready 0 Trigger -// <0x4B=> DAC Result Ready 1 Trigger -// <0x4C=> I2S Rx 0 Trigger -// <0x4D=> I2S Rx 1 Trigger -// <0x4E=> I2S Tx 0 Trigger -// <0x4F=> I2S Tx 1 Trigger -// <0x50=> PCC RX Trigger -// <0x51=> AES Write Trigger -// <0x52=> AES Read Trigger -// <0x53=> QSPI Rx Trigger -// <0x54=> QSPI Tx Trigger -// Defines the peripheral trigger which is source of the transfer -// dmac_trifsrc_31 -#ifndef CONF_DMAC_TRIGSRC_31 -#define CONF_DMAC_TRIGSRC_31 0 -#endif - -// Channel Arbitration Level -// <0=> Channel priority 0 -// <1=> Channel priority 1 -// <2=> Channel priority 2 -// <3=> Channel priority 3 -// Defines the arbitration level for this channel -// dmac_lvl_31 -#ifndef CONF_DMAC_LVL_31 -#define CONF_DMAC_LVL_31 0 -#endif - -// Channel Event Output -// Indicates whether channel event generation is enabled or not -// dmac_evoe_31 -#ifndef CONF_DMAC_EVOE_31 -#define CONF_DMAC_EVOE_31 0 -#endif - -// Channel Event Input -// Indicates whether channel event reception is enabled or not -// dmac_evie_31 -#ifndef CONF_DMAC_EVIE_31 -#define CONF_DMAC_EVIE_31 0 -#endif - -// Event Input Action -// <0=> No action -// <1=> Normal transfer and conditional transfer on strobe trigger -// <2=> Conditional transfer trigger -// <3=> Conditional block transfer -// <4=> Channel suspend operation -// <5=> Channel resume operation -// <6=> Skip next block suspend action -// Defines the event input action -// dmac_evact_31 -#ifndef CONF_DMAC_EVACT_31 -#define CONF_DMAC_EVACT_31 0 -#endif - -// Address Increment Step Size -// <0=> Next ADDR = ADDR + (BEATSIZE + 1) * 1 -// <1=> Next ADDR = ADDR + (BEATSIZE + 1) * 2 -// <2=> Next ADDR = ADDR + (BEATSIZE + 1) * 4 -// <3=> Next ADDR = ADDR + (BEATSIZE + 1) * 8 -// <4=> Next ADDR = ADDR + (BEATSIZE + 1) * 16 -// <5=> Next ADDR = ADDR + (BEATSIZE + 1) * 32 -// <6=> Next ADDR = ADDR + (BEATSIZE + 1) * 64 -// <7=> Next ADDR = ADDR + (BEATSIZE + 1) * 128 -// Defines the address increment step size, applies to source or destination address -// dmac_stepsize_31 -#ifndef CONF_DMAC_STEPSIZE_31 -#define CONF_DMAC_STEPSIZE_31 0 -#endif - -// Step Selection -// <0=> Step size settings apply to the destination address -// <1=> Step size settings apply to the source address -// Defines whether source or destination addresses are using the step size settings -// dmac_stepsel_31 -#ifndef CONF_DMAC_STEPSEL_31 -#define CONF_DMAC_STEPSEL_31 0 -#endif - -// Source Address Increment -// Indicates whether the source address incrementation is enabled or not -// dmac_srcinc_31 -#ifndef CONF_DMAC_SRCINC_31 -#define CONF_DMAC_SRCINC_31 0 -#endif - -// Destination Address Increment -// Indicates whether the destination address incrementation is enabled or not -// dmac_dstinc_31 -#ifndef CONF_DMAC_DSTINC_31 -#define CONF_DMAC_DSTINC_31 0 -#endif - -// Beat Size -// <0=> 8-bit bus transfer -// <1=> 16-bit bus transfer -// <2=> 32-bit bus transfer -// Defines the size of one beat -// dmac_beatsize_31 -#ifndef CONF_DMAC_BEATSIZE_31 -#define CONF_DMAC_BEATSIZE_31 0 -#endif - -// Block Action -// <0=> Channel will be disabled if it is the last block transfer in the transaction -// <1=> Channel will be disabled if it is the last block transfer in the transaction and block interrupt -// <2=> Channel suspend operation is complete -// <3=> Both channel suspend operation and block interrupt -// Defines the the DMAC should take after a block transfer has completed -// dmac_blockact_31 -#ifndef CONF_DMAC_BLOCKACT_31 -#define CONF_DMAC_BLOCKACT_31 0 -#endif - -// Event Output Selection -// <0=> Event generation disabled -// <1=> Event strobe when block transfer complete -// <3=> Event strobe when beat transfer complete -// Defines the event output selection -// dmac_evosel_31 -#ifndef CONF_DMAC_EVOSEL_31 -#define CONF_DMAC_EVOSEL_31 0 -#endif -// - -// - -// <<< end of configuration section >>> - -#endif // HPL_DMAC_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_eic_config.h b/software/firmware/oracle_same54n19a/config/hpl_eic_config.h deleted file mode 100644 index 12946df..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_eic_config.h +++ /dev/null @@ -1,911 +0,0 @@ -/* Auto-generated config file hpl_eic_config.h */ -#ifndef HPL_EIC_CONFIG_H -#define HPL_EIC_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Basic Settings -// Clock Selection -// Indicates which clock used, The EIC can be clocked either by GCLK_EIC when higher frequency than 32KHz is required for filtering or -// either by CLK_ULP32K when power consumption is the priority. -// <0x0=> Clocked by GCLK -// <0x1=> Clocked by ULPOSC32K -// eic_arch_cksel -#ifndef CONF_EIC_CKSEL -#define CONF_EIC_CKSEL 0 -#endif - -// Pin Sampler frequency selection -// Indicates the sampling rate of the EXTINT pin. -// <0x0=> The sampling rate is EIC clock -// <0x1=> The sampling rate is the prescaled clock -// eic_arch_tickon -#ifndef CONF_EIC_TICKON -#define CONF_EIC_TICKON 0 -#endif - -// - -// Non-Maskable Interrupt Control -// eic_arch_nmi_ctrl -#ifndef CONF_EIC_ENABLE_NMI_CTRL -#define CONF_EIC_ENABLE_NMI_CTRL 0 -#endif - -// Non-Maskable Interrupt Filter Enable -// Indicates whether the mon-maskable interrupt filter is enabled or not -// eic_arch_nmifilten -#ifndef CONF_EIC_NMIFILTEN -#define CONF_EIC_NMIFILTEN 0 -#endif - -// Non-Maskable Interrupt Sense -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines non-maskable interrupt sense -// eic_arch_nmisense -#ifndef CONF_EIC_NMISENSE -#define CONF_EIC_NMISENSE EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// Asynchronous Edge Detection Mode -// Indicates the interrupt detection mode operated synchronously or asynchronousl -// eic_arch_nmiasynch -#ifndef CONF_EIC_NMIASYNCH -#define CONF_EIC_NMIASYNCH 0 -#endif -// - -// Interrupt 0 Settings -// eic_arch_enable_irq_setting0 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING0 -#define CONF_EIC_ENABLE_IRQ_SETTING0 0 -#endif - -// External Interrupt 0 Filter Enable -// Indicates whether the external interrupt 0 filter is enabled or not -// eic_arch_filten0 -#ifndef CONF_EIC_FILTEN0 -#define CONF_EIC_FILTEN0 0 -#endif - -// External Interrupt 0 Debounce Enable -// Indicates whether the external interrupt 0 debounce is enabled or not -// eic_arch_debounce_enable0 -#ifndef CONF_EIC_DEBOUNCE_ENABLE0 -#define CONF_EIC_DEBOUNCE_ENABLE0 0 -#endif - -// External Interrupt 0 Event Output Enable -// Indicates whether the external interrupt 0 event output is enabled or not -// eic_arch_extinteo0 -#ifndef CONF_EIC_EXTINTEO0 -#define CONF_EIC_EXTINTEO0 0 -#endif - -// Input 0 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense0 -#ifndef CONF_EIC_SENSE0 -#define CONF_EIC_SENSE0 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 0 Asynchronous Edge Detection Mode -// Indicates the external interrupt 0 detection mode operated synchronously or asynchronousl -// eic_arch_asynch0 -#ifndef CONF_EIC_ASYNCH0 -#define CONF_EIC_ASYNCH0 0 -#endif - -// - -// Interrupt 1 Settings -// eic_arch_enable_irq_setting1 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING1 -#define CONF_EIC_ENABLE_IRQ_SETTING1 0 -#endif - -// External Interrupt 1 Filter Enable -// Indicates whether the external interrupt 1 filter is enabled or not -// eic_arch_filten1 -#ifndef CONF_EIC_FILTEN1 -#define CONF_EIC_FILTEN1 0 -#endif - -// External Interrupt 1 Debounce Enable -// Indicates whether the external interrupt 1 debounce is enabled or not -// eic_arch_debounce_enable1 -#ifndef CONF_EIC_DEBOUNCE_ENABLE1 -#define CONF_EIC_DEBOUNCE_ENABLE1 0 -#endif - -// External Interrupt 1 Event Output Enable -// Indicates whether the external interrupt 1 event output is enabled or not -// eic_arch_extinteo1 -#ifndef CONF_EIC_EXTINTEO1 -#define CONF_EIC_EXTINTEO1 0 -#endif - -// Input 1 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense1 -#ifndef CONF_EIC_SENSE1 -#define CONF_EIC_SENSE1 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 1 Asynchronous Edge Detection Mode -// Indicates the external interrupt 1 detection mode operated synchronously or asynchronousl -// eic_arch_asynch1 -#ifndef CONF_EIC_ASYNCH1 -#define CONF_EIC_ASYNCH1 0 -#endif - -// - -// Interrupt 2 Settings -// eic_arch_enable_irq_setting2 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING2 -#define CONF_EIC_ENABLE_IRQ_SETTING2 0 -#endif - -// External Interrupt 2 Filter Enable -// Indicates whether the external interrupt 2 filter is enabled or not -// eic_arch_filten2 -#ifndef CONF_EIC_FILTEN2 -#define CONF_EIC_FILTEN2 0 -#endif - -// External Interrupt 2 Debounce Enable -// Indicates whether the external interrupt 2 debounce is enabled or not -// eic_arch_debounce_enable2 -#ifndef CONF_EIC_DEBOUNCE_ENABLE2 -#define CONF_EIC_DEBOUNCE_ENABLE2 0 -#endif - -// External Interrupt 2 Event Output Enable -// Indicates whether the external interrupt 2 event output is enabled or not -// eic_arch_extinteo2 -#ifndef CONF_EIC_EXTINTEO2 -#define CONF_EIC_EXTINTEO2 0 -#endif - -// Input 2 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense2 -#ifndef CONF_EIC_SENSE2 -#define CONF_EIC_SENSE2 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 2 Asynchronous Edge Detection Mode -// Indicates the external interrupt 2 detection mode operated synchronously or asynchronousl -// eic_arch_asynch2 -#ifndef CONF_EIC_ASYNCH2 -#define CONF_EIC_ASYNCH2 0 -#endif - -// - -// Interrupt 3 Settings -// eic_arch_enable_irq_setting3 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING3 -#define CONF_EIC_ENABLE_IRQ_SETTING3 0 -#endif - -// External Interrupt 3 Filter Enable -// Indicates whether the external interrupt 3 filter is enabled or not -// eic_arch_filten3 -#ifndef CONF_EIC_FILTEN3 -#define CONF_EIC_FILTEN3 0 -#endif - -// External Interrupt 3 Debounce Enable -// Indicates whether the external interrupt 3 debounce is enabled or not -// eic_arch_debounce_enable3 -#ifndef CONF_EIC_DEBOUNCE_ENABLE3 -#define CONF_EIC_DEBOUNCE_ENABLE3 0 -#endif - -// External Interrupt 3 Event Output Enable -// Indicates whether the external interrupt 3 event output is enabled or not -// eic_arch_extinteo3 -#ifndef CONF_EIC_EXTINTEO3 -#define CONF_EIC_EXTINTEO3 0 -#endif - -// Input 3 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense3 -#ifndef CONF_EIC_SENSE3 -#define CONF_EIC_SENSE3 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 3 Asynchronous Edge Detection Mode -// Indicates the external interrupt 3 detection mode operated synchronously or asynchronousl -// eic_arch_asynch3 -#ifndef CONF_EIC_ASYNCH3 -#define CONF_EIC_ASYNCH3 0 -#endif - -// - -// Interrupt 4 Settings -// eic_arch_enable_irq_setting4 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING4 -#define CONF_EIC_ENABLE_IRQ_SETTING4 0 -#endif - -// External Interrupt 4 Filter Enable -// Indicates whether the external interrupt 4 filter is enabled or not -// eic_arch_filten4 -#ifndef CONF_EIC_FILTEN4 -#define CONF_EIC_FILTEN4 0 -#endif - -// External Interrupt 4 Debounce Enable -// Indicates whether the external interrupt 4 debounce is enabled or not -// eic_arch_debounce_enable4 -#ifndef CONF_EIC_DEBOUNCE_ENABLE4 -#define CONF_EIC_DEBOUNCE_ENABLE4 0 -#endif - -// External Interrupt 4 Event Output Enable -// Indicates whether the external interrupt 4 event output is enabled or not -// eic_arch_extinteo4 -#ifndef CONF_EIC_EXTINTEO4 -#define CONF_EIC_EXTINTEO4 0 -#endif - -// Input 4 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense4 -#ifndef CONF_EIC_SENSE4 -#define CONF_EIC_SENSE4 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 4 Asynchronous Edge Detection Mode -// Indicates the external interrupt 4 detection mode operated synchronously or asynchronousl -// eic_arch_asynch4 -#ifndef CONF_EIC_ASYNCH4 -#define CONF_EIC_ASYNCH4 0 -#endif - -// - -// Interrupt 5 Settings -// eic_arch_enable_irq_setting5 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING5 -#define CONF_EIC_ENABLE_IRQ_SETTING5 0 -#endif - -// External Interrupt 5 Filter Enable -// Indicates whether the external interrupt 5 filter is enabled or not -// eic_arch_filten5 -#ifndef CONF_EIC_FILTEN5 -#define CONF_EIC_FILTEN5 0 -#endif - -// External Interrupt 5 Debounce Enable -// Indicates whether the external interrupt 5 debounce is enabled or not -// eic_arch_debounce_enable5 -#ifndef CONF_EIC_DEBOUNCE_ENABLE5 -#define CONF_EIC_DEBOUNCE_ENABLE5 0 -#endif - -// External Interrupt 5 Event Output Enable -// Indicates whether the external interrupt 5 event output is enabled or not -// eic_arch_extinteo5 -#ifndef CONF_EIC_EXTINTEO5 -#define CONF_EIC_EXTINTEO5 0 -#endif - -// Input 5 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense5 -#ifndef CONF_EIC_SENSE5 -#define CONF_EIC_SENSE5 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 5 Asynchronous Edge Detection Mode -// Indicates the external interrupt 5 detection mode operated synchronously or asynchronousl -// eic_arch_asynch5 -#ifndef CONF_EIC_ASYNCH5 -#define CONF_EIC_ASYNCH5 0 -#endif - -// - -// Interrupt 6 Settings -// eic_arch_enable_irq_setting6 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING6 -#define CONF_EIC_ENABLE_IRQ_SETTING6 0 -#endif - -// External Interrupt 6 Filter Enable -// Indicates whether the external interrupt 6 filter is enabled or not -// eic_arch_filten6 -#ifndef CONF_EIC_FILTEN6 -#define CONF_EIC_FILTEN6 0 -#endif - -// External Interrupt 6 Debounce Enable -// Indicates whether the external interrupt 6 debounce is enabled or not -// eic_arch_debounce_enable6 -#ifndef CONF_EIC_DEBOUNCE_ENABLE6 -#define CONF_EIC_DEBOUNCE_ENABLE6 0 -#endif - -// External Interrupt 6 Event Output Enable -// Indicates whether the external interrupt 6 event output is enabled or not -// eic_arch_extinteo6 -#ifndef CONF_EIC_EXTINTEO6 -#define CONF_EIC_EXTINTEO6 0 -#endif - -// Input 6 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense6 -#ifndef CONF_EIC_SENSE6 -#define CONF_EIC_SENSE6 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 6 Asynchronous Edge Detection Mode -// Indicates the external interrupt 6 detection mode operated synchronously or asynchronousl -// eic_arch_asynch6 -#ifndef CONF_EIC_ASYNCH6 -#define CONF_EIC_ASYNCH6 0 -#endif - -// - -// Interrupt 7 Settings -// eic_arch_enable_irq_setting7 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING7 -#define CONF_EIC_ENABLE_IRQ_SETTING7 0 -#endif - -// External Interrupt 7 Filter Enable -// Indicates whether the external interrupt 7 filter is enabled or not -// eic_arch_filten7 -#ifndef CONF_EIC_FILTEN7 -#define CONF_EIC_FILTEN7 0 -#endif - -// External Interrupt 7 Debounce Enable -// Indicates whether the external interrupt 7 debounce is enabled or not -// eic_arch_debounce_enable7 -#ifndef CONF_EIC_DEBOUNCE_ENABLE7 -#define CONF_EIC_DEBOUNCE_ENABLE7 0 -#endif - -// External Interrupt 7 Event Output Enable -// Indicates whether the external interrupt 7 event output is enabled or not -// eic_arch_extinteo7 -#ifndef CONF_EIC_EXTINTEO7 -#define CONF_EIC_EXTINTEO7 0 -#endif - -// Input 7 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense7 -#ifndef CONF_EIC_SENSE7 -#define CONF_EIC_SENSE7 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 7 Asynchronous Edge Detection Mode -// Indicates the external interrupt 7 detection mode operated synchronously or asynchronousl -// eic_arch_asynch7 -#ifndef CONF_EIC_ASYNCH7 -#define CONF_EIC_ASYNCH7 0 -#endif - -// - -// Interrupt 8 Settings -// eic_arch_enable_irq_setting8 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING8 -#define CONF_EIC_ENABLE_IRQ_SETTING8 0 -#endif - -// External Interrupt 8 Filter Enable -// Indicates whether the external interrupt 8 filter is enabled or not -// eic_arch_filten8 -#ifndef CONF_EIC_FILTEN8 -#define CONF_EIC_FILTEN8 0 -#endif - -// External Interrupt 8 Debounce Enable -// Indicates whether the external interrupt 8 debounce is enabled or not -// eic_arch_debounce_enable8 -#ifndef CONF_EIC_DEBOUNCE_ENABLE8 -#define CONF_EIC_DEBOUNCE_ENABLE8 0 -#endif - -// External Interrupt 8 Event Output Enable -// Indicates whether the external interrupt 8 event output is enabled or not -// eic_arch_extinteo8 -#ifndef CONF_EIC_EXTINTEO8 -#define CONF_EIC_EXTINTEO8 0 -#endif - -// Input 8 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense8 -#ifndef CONF_EIC_SENSE8 -#define CONF_EIC_SENSE8 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 8 Asynchronous Edge Detection Mode -// Indicates the external interrupt 8 detection mode operated synchronously or asynchronousl -// eic_arch_asynch8 -#ifndef CONF_EIC_ASYNCH8 -#define CONF_EIC_ASYNCH8 0 -#endif - -// - -// Interrupt 9 Settings -// eic_arch_enable_irq_setting9 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING9 -#define CONF_EIC_ENABLE_IRQ_SETTING9 0 -#endif - -// External Interrupt 9 Filter Enable -// Indicates whether the external interrupt 9 filter is enabled or not -// eic_arch_filten9 -#ifndef CONF_EIC_FILTEN9 -#define CONF_EIC_FILTEN9 0 -#endif - -// External Interrupt 9 Debounce Enable -// Indicates whether the external interrupt 9 debounce is enabled or not -// eic_arch_debounce_enable9 -#ifndef CONF_EIC_DEBOUNCE_ENABLE9 -#define CONF_EIC_DEBOUNCE_ENABLE9 0 -#endif - -// External Interrupt 9 Event Output Enable -// Indicates whether the external interrupt 9 event output is enabled or not -// eic_arch_extinteo9 -#ifndef CONF_EIC_EXTINTEO9 -#define CONF_EIC_EXTINTEO9 0 -#endif - -// Input 9 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense9 -#ifndef CONF_EIC_SENSE9 -#define CONF_EIC_SENSE9 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 9 Asynchronous Edge Detection Mode -// Indicates the external interrupt 9 detection mode operated synchronously or asynchronousl -// eic_arch_asynch9 -#ifndef CONF_EIC_ASYNCH9 -#define CONF_EIC_ASYNCH9 0 -#endif - -// - -// Interrupt 10 Settings -// eic_arch_enable_irq_setting10 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING10 -#define CONF_EIC_ENABLE_IRQ_SETTING10 0 -#endif - -// External Interrupt 10 Filter Enable -// Indicates whether the external interrupt 10 filter is enabled or not -// eic_arch_filten10 -#ifndef CONF_EIC_FILTEN10 -#define CONF_EIC_FILTEN10 0 -#endif - -// External Interrupt 10 Debounce Enable -// Indicates whether the external interrupt 10 debounce is enabled or not -// eic_arch_debounce_enable10 -#ifndef CONF_EIC_DEBOUNCE_ENABLE10 -#define CONF_EIC_DEBOUNCE_ENABLE10 0 -#endif - -// External Interrupt 10 Event Output Enable -// Indicates whether the external interrupt 10 event output is enabled or not -// eic_arch_extinteo10 -#ifndef CONF_EIC_EXTINTEO10 -#define CONF_EIC_EXTINTEO10 0 -#endif - -// Input 10 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense10 -#ifndef CONF_EIC_SENSE10 -#define CONF_EIC_SENSE10 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 10 Asynchronous Edge Detection Mode -// Indicates the external interrupt 10 detection mode operated synchronously or asynchronousl -// eic_arch_asynch10 -#ifndef CONF_EIC_ASYNCH10 -#define CONF_EIC_ASYNCH10 0 -#endif - -// - -// Interrupt 11 Settings -// eic_arch_enable_irq_setting11 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING11 -#define CONF_EIC_ENABLE_IRQ_SETTING11 0 -#endif - -// External Interrupt 11 Filter Enable -// Indicates whether the external interrupt 11 filter is enabled or not -// eic_arch_filten11 -#ifndef CONF_EIC_FILTEN11 -#define CONF_EIC_FILTEN11 0 -#endif - -// External Interrupt 11 Debounce Enable -// Indicates whether the external interrupt 11 debounce is enabled or not -// eic_arch_debounce_enable11 -#ifndef CONF_EIC_DEBOUNCE_ENABLE11 -#define CONF_EIC_DEBOUNCE_ENABLE11 0 -#endif - -// External Interrupt 11 Event Output Enable -// Indicates whether the external interrupt 11 event output is enabled or not -// eic_arch_extinteo11 -#ifndef CONF_EIC_EXTINTEO11 -#define CONF_EIC_EXTINTEO11 0 -#endif - -// Input 11 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense11 -#ifndef CONF_EIC_SENSE11 -#define CONF_EIC_SENSE11 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 11 Asynchronous Edge Detection Mode -// Indicates the external interrupt 11 detection mode operated synchronously or asynchronousl -// eic_arch_asynch11 -#ifndef CONF_EIC_ASYNCH11 -#define CONF_EIC_ASYNCH11 0 -#endif - -// - -// Interrupt 12 Settings -// eic_arch_enable_irq_setting12 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING12 -#define CONF_EIC_ENABLE_IRQ_SETTING12 0 -#endif - -// External Interrupt 12 Filter Enable -// Indicates whether the external interrupt 12 filter is enabled or not -// eic_arch_filten12 -#ifndef CONF_EIC_FILTEN12 -#define CONF_EIC_FILTEN12 0 -#endif - -// External Interrupt 12 Debounce Enable -// Indicates whether the external interrupt 12 debounce is enabled or not -// eic_arch_debounce_enable12 -#ifndef CONF_EIC_DEBOUNCE_ENABLE12 -#define CONF_EIC_DEBOUNCE_ENABLE12 0 -#endif - -// External Interrupt 12 Event Output Enable -// Indicates whether the external interrupt 12 event output is enabled or not -// eic_arch_extinteo12 -#ifndef CONF_EIC_EXTINTEO12 -#define CONF_EIC_EXTINTEO12 0 -#endif - -// Input 12 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense12 -#ifndef CONF_EIC_SENSE12 -#define CONF_EIC_SENSE12 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 12 Asynchronous Edge Detection Mode -// Indicates the external interrupt 12 detection mode operated synchronously or asynchronousl -// eic_arch_asynch12 -#ifndef CONF_EIC_ASYNCH12 -#define CONF_EIC_ASYNCH12 0 -#endif - -// - -// Interrupt 13 Settings -// eic_arch_enable_irq_setting13 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING13 -#define CONF_EIC_ENABLE_IRQ_SETTING13 0 -#endif - -// External Interrupt 13 Filter Enable -// Indicates whether the external interrupt 13 filter is enabled or not -// eic_arch_filten13 -#ifndef CONF_EIC_FILTEN13 -#define CONF_EIC_FILTEN13 0 -#endif - -// External Interrupt 13 Debounce Enable -// Indicates whether the external interrupt 13 debounce is enabled or not -// eic_arch_debounce_enable13 -#ifndef CONF_EIC_DEBOUNCE_ENABLE13 -#define CONF_EIC_DEBOUNCE_ENABLE13 0 -#endif - -// External Interrupt 13 Event Output Enable -// Indicates whether the external interrupt 13 event output is enabled or not -// eic_arch_extinteo13 -#ifndef CONF_EIC_EXTINTEO13 -#define CONF_EIC_EXTINTEO13 0 -#endif - -// Input 13 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense13 -#ifndef CONF_EIC_SENSE13 -#define CONF_EIC_SENSE13 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 13 Asynchronous Edge Detection Mode -// Indicates the external interrupt 13 detection mode operated synchronously or asynchronousl -// eic_arch_asynch13 -#ifndef CONF_EIC_ASYNCH13 -#define CONF_EIC_ASYNCH13 0 -#endif - -// - -// Interrupt 14 Settings -// eic_arch_enable_irq_setting14 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING14 -#define CONF_EIC_ENABLE_IRQ_SETTING14 0 -#endif - -// External Interrupt 14 Filter Enable -// Indicates whether the external interrupt 14 filter is enabled or not -// eic_arch_filten14 -#ifndef CONF_EIC_FILTEN14 -#define CONF_EIC_FILTEN14 0 -#endif - -// External Interrupt 14 Debounce Enable -// Indicates whether the external interrupt 14 debounce is enabled or not -// eic_arch_debounce_enable14 -#ifndef CONF_EIC_DEBOUNCE_ENABLE14 -#define CONF_EIC_DEBOUNCE_ENABLE14 0 -#endif - -// External Interrupt 14 Event Output Enable -// Indicates whether the external interrupt 14 event output is enabled or not -// eic_arch_extinteo14 -#ifndef CONF_EIC_EXTINTEO14 -#define CONF_EIC_EXTINTEO14 0 -#endif - -// Input 14 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense14 -#ifndef CONF_EIC_SENSE14 -#define CONF_EIC_SENSE14 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 14 Asynchronous Edge Detection Mode -// Indicates the external interrupt 14 detection mode operated synchronously or asynchronousl -// eic_arch_asynch14 -#ifndef CONF_EIC_ASYNCH14 -#define CONF_EIC_ASYNCH14 0 -#endif - -// - -// Interrupt 15 Settings -// eic_arch_enable_irq_setting15 -#ifndef CONF_EIC_ENABLE_IRQ_SETTING15 -#define CONF_EIC_ENABLE_IRQ_SETTING15 0 -#endif - -// External Interrupt 15 Filter Enable -// Indicates whether the external interrupt 15 filter is enabled or not -// eic_arch_filten15 -#ifndef CONF_EIC_FILTEN15 -#define CONF_EIC_FILTEN15 0 -#endif - -// External Interrupt 15 Debounce Enable -// Indicates whether the external interrupt 15 debounce is enabled or not -// eic_arch_debounce_enable15 -#ifndef CONF_EIC_DEBOUNCE_ENABLE15 -#define CONF_EIC_DEBOUNCE_ENABLE15 0 -#endif - -// External Interrupt 15 Event Output Enable -// Indicates whether the external interrupt 15 event output is enabled or not -// eic_arch_extinteo15 -#ifndef CONF_EIC_EXTINTEO15 -#define CONF_EIC_EXTINTEO15 0 -#endif - -// Input 15 Sense Configuration -// No detection -// Rising-edge detection -// Falling-edge detection -// Both-edges detection -// High-level detection -// Low-level detection -// This defines input sense trigger -// eic_arch_sense15 -#ifndef CONF_EIC_SENSE15 -#define CONF_EIC_SENSE15 EIC_NMICTRL_NMISENSE_NONE_Val -#endif - -// External Interrupt 15 Asynchronous Edge Detection Mode -// Indicates the external interrupt 15 detection mode operated synchronously or asynchronousl -// eic_arch_asynch15 -#ifndef CONF_EIC_ASYNCH15 -#define CONF_EIC_ASYNCH15 0 -#endif - -// - -// Debouncer 0 Settings -// Debouncer Frequency Selection -// <0x0=>Divided by 2 -// <0x1=>Divided by 4 -// <0x2=>Divided by 8 -// <0x3=>Divided by 16 -// <0x4=>Divided by 32 -// <0x5=>Divided by 64 -// <0x6=>Divided by 128 -// <0x7=>Divided by 256 -// Select the debouncer low frequency clock for pins - -// EXTINT[7:0]. - -// eic_arch_prescaler0 -#ifndef CONF_EIC_DPRESCALER0 -#define CONF_EIC_DPRESCALER0 EIC_DPRESCALER_PRESCALER0(0x0) -#endif - -// Low frequency samples -// <0x0=>3 -// <0x1=>7 -// Indicates the number of samples by the debouncer low frequency clock needed to validate a transition from -// current pin state to next pin state in synchronous debouncing mode. -// eic_arch_states0 -#ifndef CONF_EIC_STATES0 -#define CONF_EIC_STATES0 0x0 -#endif - -// - -// Debouncer 1 Settings -// Debouncer Frequency Selection -// <0x0=>Divided by 2 -// <0x1=>Divided by 4 -// <0x2=>Divided by 8 -// <0x3=>Divided by 16 -// <0x4=>Divided by 32 -// <0x5=>Divided by 64 -// <0x6=>Divided by 128 -// <0x7=>Divided by 256 -// Select the debouncer low frequency clock for pins - -// EXTINT[15:8]. - -// eic_arch_prescaler1 -#ifndef CONF_EIC_DPRESCALER1 -#define CONF_EIC_DPRESCALER1 EIC_DPRESCALER_PRESCALER1(0x0) -#endif - -// Low frequency samples -// <0x0=>3 -// <0x1=>7 -// Indicates the number of samples by the debouncer low frequency clock needed to validate a transition from -// current pin state to next pin state in synchronous debouncing mode. -// eic_arch_states1 -#ifndef CONF_EIC_STATES1 -#define CONF_EIC_STATES1 0x0 -#endif - -// - -// <<< end of configuration section >>> - -#endif // HPL_EIC_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_gclk_config.h b/software/firmware/oracle_same54n19a/config/hpl_gclk_config.h deleted file mode 100644 index fbce118..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_gclk_config.h +++ /dev/null @@ -1,920 +0,0 @@ -/* Auto-generated config file hpl_gclk_config.h */ -#ifndef HPL_GCLK_CONFIG_H -#define HPL_GCLK_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Generic clock generator 0 configuration -// Indicates whether generic clock 0 configuration is enabled or not -// enable_gclk_gen_0 -#ifndef CONF_GCLK_GENERATOR_0_CONFIG -#define CONF_GCLK_GENERATOR_0_CONFIG 1 -#endif - -// Generic Clock Generator Control -// Generic clock generator 0 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 0 -// gclk_gen_0_oscillator -#ifndef CONF_GCLK_GEN_0_SOURCE -#define CONF_GCLK_GEN_0_SOURCE GCLK_GENCTRL_SRC_DPLL0 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_0_runstdby -#ifndef CONF_GCLK_GEN_0_RUNSTDBY -#define CONF_GCLK_GEN_0_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_0_div_sel -#ifndef CONF_GCLK_GEN_0_DIVSEL -#define CONF_GCLK_GEN_0_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_0_oe -#ifndef CONF_GCLK_GEN_0_OE -#define CONF_GCLK_GEN_0_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_0_oov -#ifndef CONF_GCLK_GEN_0_OOV -#define CONF_GCLK_GEN_0_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_0_idc -#ifndef CONF_GCLK_GEN_0_IDC -#define CONF_GCLK_GEN_0_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_0_enable -#ifndef CONF_GCLK_GEN_0_GENEN -#define CONF_GCLK_GEN_0_GENEN 1 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 0 division <0x0000-0xFFFF> -// gclk_gen_0_div -#ifndef CONF_GCLK_GEN_0_DIV -#define CONF_GCLK_GEN_0_DIV 1 -#endif -// -// - -// Generic clock generator 1 configuration -// Indicates whether generic clock 1 configuration is enabled or not -// enable_gclk_gen_1 -#ifndef CONF_GCLK_GENERATOR_1_CONFIG -#define CONF_GCLK_GENERATOR_1_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 1 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 1 -// gclk_gen_1_oscillator -#ifndef CONF_GCLK_GEN_1_SOURCE -#define CONF_GCLK_GEN_1_SOURCE GCLK_GENCTRL_SRC_DFLL -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_1_runstdby -#ifndef CONF_GCLK_GEN_1_RUNSTDBY -#define CONF_GCLK_GEN_1_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_1_div_sel -#ifndef CONF_GCLK_GEN_1_DIVSEL -#define CONF_GCLK_GEN_1_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_1_oe -#ifndef CONF_GCLK_GEN_1_OE -#define CONF_GCLK_GEN_1_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_1_oov -#ifndef CONF_GCLK_GEN_1_OOV -#define CONF_GCLK_GEN_1_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_1_idc -#ifndef CONF_GCLK_GEN_1_IDC -#define CONF_GCLK_GEN_1_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_1_enable -#ifndef CONF_GCLK_GEN_1_GENEN -#define CONF_GCLK_GEN_1_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 1 division <0x0000-0xFFFF> -// gclk_gen_1_div -#ifndef CONF_GCLK_GEN_1_DIV -#define CONF_GCLK_GEN_1_DIV 1 -#endif -// -// - -// Generic clock generator 2 configuration -// Indicates whether generic clock 2 configuration is enabled or not -// enable_gclk_gen_2 -#ifndef CONF_GCLK_GENERATOR_2_CONFIG -#define CONF_GCLK_GENERATOR_2_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 2 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 2 -// gclk_gen_2_oscillator -#ifndef CONF_GCLK_GEN_2_SOURCE -#define CONF_GCLK_GEN_2_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_2_runstdby -#ifndef CONF_GCLK_GEN_2_RUNSTDBY -#define CONF_GCLK_GEN_2_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_2_div_sel -#ifndef CONF_GCLK_GEN_2_DIVSEL -#define CONF_GCLK_GEN_2_DIVSEL 1 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_2_oe -#ifndef CONF_GCLK_GEN_2_OE -#define CONF_GCLK_GEN_2_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_2_oov -#ifndef CONF_GCLK_GEN_2_OOV -#define CONF_GCLK_GEN_2_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_2_idc -#ifndef CONF_GCLK_GEN_2_IDC -#define CONF_GCLK_GEN_2_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_2_enable -#ifndef CONF_GCLK_GEN_2_GENEN -#define CONF_GCLK_GEN_2_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 2 division <0x0000-0xFFFF> -// gclk_gen_2_div -#ifndef CONF_GCLK_GEN_2_DIV -#define CONF_GCLK_GEN_2_DIV 1 -#endif -// -// - -// Generic clock generator 3 configuration -// Indicates whether generic clock 3 configuration is enabled or not -// enable_gclk_gen_3 -#ifndef CONF_GCLK_GENERATOR_3_CONFIG -#define CONF_GCLK_GENERATOR_3_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 3 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 3 -// gclk_gen_3_oscillator -#ifndef CONF_GCLK_GEN_3_SOURCE -#define CONF_GCLK_GEN_3_SOURCE GCLK_GENCTRL_SRC_XOSC32K -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_3_runstdby -#ifndef CONF_GCLK_GEN_3_RUNSTDBY -#define CONF_GCLK_GEN_3_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_3_div_sel -#ifndef CONF_GCLK_GEN_3_DIVSEL -#define CONF_GCLK_GEN_3_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_3_oe -#ifndef CONF_GCLK_GEN_3_OE -#define CONF_GCLK_GEN_3_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_3_oov -#ifndef CONF_GCLK_GEN_3_OOV -#define CONF_GCLK_GEN_3_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_3_idc -#ifndef CONF_GCLK_GEN_3_IDC -#define CONF_GCLK_GEN_3_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_3_enable -#ifndef CONF_GCLK_GEN_3_GENEN -#define CONF_GCLK_GEN_3_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 3 division <0x0000-0xFFFF> -// gclk_gen_3_div -#ifndef CONF_GCLK_GEN_3_DIV -#define CONF_GCLK_GEN_3_DIV 1 -#endif -// -// - -// Generic clock generator 4 configuration -// Indicates whether generic clock 4 configuration is enabled or not -// enable_gclk_gen_4 -#ifndef CONF_GCLK_GENERATOR_4_CONFIG -#define CONF_GCLK_GENERATOR_4_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 4 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 4 -// gclk_gen_4_oscillator -#ifndef CONF_GCLK_GEN_4_SOURCE -#define CONF_GCLK_GEN_4_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_4_runstdby -#ifndef CONF_GCLK_GEN_4_RUNSTDBY -#define CONF_GCLK_GEN_4_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_4_div_sel -#ifndef CONF_GCLK_GEN_4_DIVSEL -#define CONF_GCLK_GEN_4_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_4_oe -#ifndef CONF_GCLK_GEN_4_OE -#define CONF_GCLK_GEN_4_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_4_oov -#ifndef CONF_GCLK_GEN_4_OOV -#define CONF_GCLK_GEN_4_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_4_idc -#ifndef CONF_GCLK_GEN_4_IDC -#define CONF_GCLK_GEN_4_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_4_enable -#ifndef CONF_GCLK_GEN_4_GENEN -#define CONF_GCLK_GEN_4_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 4 division <0x0000-0xFFFF> -// gclk_gen_4_div -#ifndef CONF_GCLK_GEN_4_DIV -#define CONF_GCLK_GEN_4_DIV 1 -#endif -// -// - -// Generic clock generator 5 configuration -// Indicates whether generic clock 5 configuration is enabled or not -// enable_gclk_gen_5 -#ifndef CONF_GCLK_GENERATOR_5_CONFIG -#define CONF_GCLK_GENERATOR_5_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 5 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 5 -// gclk_gen_5_oscillator -#ifndef CONF_GCLK_GEN_5_SOURCE -#define CONF_GCLK_GEN_5_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_5_runstdby -#ifndef CONF_GCLK_GEN_5_RUNSTDBY -#define CONF_GCLK_GEN_5_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_5_div_sel -#ifndef CONF_GCLK_GEN_5_DIVSEL -#define CONF_GCLK_GEN_5_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_5_oe -#ifndef CONF_GCLK_GEN_5_OE -#define CONF_GCLK_GEN_5_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_5_oov -#ifndef CONF_GCLK_GEN_5_OOV -#define CONF_GCLK_GEN_5_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_5_idc -#ifndef CONF_GCLK_GEN_5_IDC -#define CONF_GCLK_GEN_5_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_5_enable -#ifndef CONF_GCLK_GEN_5_GENEN -#define CONF_GCLK_GEN_5_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 5 division <0x0000-0xFFFF> -// gclk_gen_5_div -#ifndef CONF_GCLK_GEN_5_DIV -#define CONF_GCLK_GEN_5_DIV 1 -#endif -// -// - -// Generic clock generator 6 configuration -// Indicates whether generic clock 6 configuration is enabled or not -// enable_gclk_gen_6 -#ifndef CONF_GCLK_GENERATOR_6_CONFIG -#define CONF_GCLK_GENERATOR_6_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 6 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 6 -// gclk_gen_6_oscillator -#ifndef CONF_GCLK_GEN_6_SOURCE -#define CONF_GCLK_GEN_6_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_6_runstdby -#ifndef CONF_GCLK_GEN_6_RUNSTDBY -#define CONF_GCLK_GEN_6_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_6_div_sel -#ifndef CONF_GCLK_GEN_6_DIVSEL -#define CONF_GCLK_GEN_6_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_6_oe -#ifndef CONF_GCLK_GEN_6_OE -#define CONF_GCLK_GEN_6_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_6_oov -#ifndef CONF_GCLK_GEN_6_OOV -#define CONF_GCLK_GEN_6_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_6_idc -#ifndef CONF_GCLK_GEN_6_IDC -#define CONF_GCLK_GEN_6_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_6_enable -#ifndef CONF_GCLK_GEN_6_GENEN -#define CONF_GCLK_GEN_6_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 6 division <0x0000-0xFFFF> -// gclk_gen_6_div -#ifndef CONF_GCLK_GEN_6_DIV -#define CONF_GCLK_GEN_6_DIV 1 -#endif -// -// - -// Generic clock generator 7 configuration -// Indicates whether generic clock 7 configuration is enabled or not -// enable_gclk_gen_7 -#ifndef CONF_GCLK_GENERATOR_7_CONFIG -#define CONF_GCLK_GENERATOR_7_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 7 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 7 -// gclk_gen_7_oscillator -#ifndef CONF_GCLK_GEN_7_SOURCE -#define CONF_GCLK_GEN_7_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_7_runstdby -#ifndef CONF_GCLK_GEN_7_RUNSTDBY -#define CONF_GCLK_GEN_7_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_7_div_sel -#ifndef CONF_GCLK_GEN_7_DIVSEL -#define CONF_GCLK_GEN_7_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_7_oe -#ifndef CONF_GCLK_GEN_7_OE -#define CONF_GCLK_GEN_7_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_7_oov -#ifndef CONF_GCLK_GEN_7_OOV -#define CONF_GCLK_GEN_7_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_7_idc -#ifndef CONF_GCLK_GEN_7_IDC -#define CONF_GCLK_GEN_7_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_7_enable -#ifndef CONF_GCLK_GEN_7_GENEN -#define CONF_GCLK_GEN_7_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 7 division <0x0000-0xFFFF> -// gclk_gen_7_div -#ifndef CONF_GCLK_GEN_7_DIV -#define CONF_GCLK_GEN_7_DIV 1 -#endif -// -// - -// Generic clock generator 8 configuration -// Indicates whether generic clock 8 configuration is enabled or not -// enable_gclk_gen_8 -#ifndef CONF_GCLK_GENERATOR_8_CONFIG -#define CONF_GCLK_GENERATOR_8_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 8 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 8 -// gclk_gen_8_oscillator -#ifndef CONF_GCLK_GEN_8_SOURCE -#define CONF_GCLK_GEN_8_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_8_runstdby -#ifndef CONF_GCLK_GEN_8_RUNSTDBY -#define CONF_GCLK_GEN_8_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_8_div_sel -#ifndef CONF_GCLK_GEN_8_DIVSEL -#define CONF_GCLK_GEN_8_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_8_oe -#ifndef CONF_GCLK_GEN_8_OE -#define CONF_GCLK_GEN_8_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_8_oov -#ifndef CONF_GCLK_GEN_8_OOV -#define CONF_GCLK_GEN_8_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_8_idc -#ifndef CONF_GCLK_GEN_8_IDC -#define CONF_GCLK_GEN_8_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_8_enable -#ifndef CONF_GCLK_GEN_8_GENEN -#define CONF_GCLK_GEN_8_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 8 division <0x0000-0xFFFF> -// gclk_gen_8_div -#ifndef CONF_GCLK_GEN_8_DIV -#define CONF_GCLK_GEN_8_DIV 1 -#endif -// -// - -// Generic clock generator 9 configuration -// Indicates whether generic clock 9 configuration is enabled or not -// enable_gclk_gen_9 -#ifndef CONF_GCLK_GENERATOR_9_CONFIG -#define CONF_GCLK_GENERATOR_9_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 9 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 9 -// gclk_gen_9_oscillator -#ifndef CONF_GCLK_GEN_9_SOURCE -#define CONF_GCLK_GEN_9_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_9_runstdby -#ifndef CONF_GCLK_GEN_9_RUNSTDBY -#define CONF_GCLK_GEN_9_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_9_div_sel -#ifndef CONF_GCLK_GEN_9_DIVSEL -#define CONF_GCLK_GEN_9_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_9_oe -#ifndef CONF_GCLK_GEN_9_OE -#define CONF_GCLK_GEN_9_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_9_oov -#ifndef CONF_GCLK_GEN_9_OOV -#define CONF_GCLK_GEN_9_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_9_idc -#ifndef CONF_GCLK_GEN_9_IDC -#define CONF_GCLK_GEN_9_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_9_enable -#ifndef CONF_GCLK_GEN_9_GENEN -#define CONF_GCLK_GEN_9_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 9 division <0x0000-0xFFFF> -// gclk_gen_9_div -#ifndef CONF_GCLK_GEN_9_DIV -#define CONF_GCLK_GEN_9_DIV 1 -#endif -// -// - -// Generic clock generator 10 configuration -// Indicates whether generic clock 10 configuration is enabled or not -// enable_gclk_gen_10 -#ifndef CONF_GCLK_GENERATOR_10_CONFIG -#define CONF_GCLK_GENERATOR_10_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 10 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 10 -// gclk_gen_10_oscillator -#ifndef CONF_GCLK_GEN_10_SOURCE -#define CONF_GCLK_GEN_10_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_10_runstdby -#ifndef CONF_GCLK_GEN_10_RUNSTDBY -#define CONF_GCLK_GEN_10_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_10_div_sel -#ifndef CONF_GCLK_GEN_10_DIVSEL -#define CONF_GCLK_GEN_10_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_10_oe -#ifndef CONF_GCLK_GEN_10_OE -#define CONF_GCLK_GEN_10_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_10_oov -#ifndef CONF_GCLK_GEN_10_OOV -#define CONF_GCLK_GEN_10_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_10_idc -#ifndef CONF_GCLK_GEN_10_IDC -#define CONF_GCLK_GEN_10_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_10_enable -#ifndef CONF_GCLK_GEN_10_GENEN -#define CONF_GCLK_GEN_10_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 10 division <0x0000-0xFFFF> -// gclk_gen_10_div -#ifndef CONF_GCLK_GEN_10_DIV -#define CONF_GCLK_GEN_10_DIV 1 -#endif -// -// - -// Generic clock generator 11 configuration -// Indicates whether generic clock 11 configuration is enabled or not -// enable_gclk_gen_11 -#ifndef CONF_GCLK_GENERATOR_11_CONFIG -#define CONF_GCLK_GENERATOR_11_CONFIG 0 -#endif - -// Generic Clock Generator Control -// Generic clock generator 11 source -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator input pad -// Generic clock generator 1 -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// Digital Frequency Locked Loop (DFLL48M) -// Digital Phase Locked Loop (DPLL0) -// Digital Phase Locked Loop (DPLL1) -// This defines the clock source for generic clock generator 11 -// gclk_gen_11_oscillator -#ifndef CONF_GCLK_GEN_11_SOURCE -#define CONF_GCLK_GEN_11_SOURCE GCLK_GENCTRL_SRC_XOSC1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// gclk_arch_gen_11_runstdby -#ifndef CONF_GCLK_GEN_11_RUNSTDBY -#define CONF_GCLK_GEN_11_RUNSTDBY 0 -#endif - -// Divide Selection -// Indicates whether Divide Selection is enabled or not -// gclk_gen_11_div_sel -#ifndef CONF_GCLK_GEN_11_DIVSEL -#define CONF_GCLK_GEN_11_DIVSEL 0 -#endif - -// Output Enable -// Indicates whether Output Enable is enabled or not -// gclk_arch_gen_11_oe -#ifndef CONF_GCLK_GEN_11_OE -#define CONF_GCLK_GEN_11_OE 0 -#endif - -// Output Off Value -// Indicates whether Output Off Value is enabled or not -// gclk_arch_gen_11_oov -#ifndef CONF_GCLK_GEN_11_OOV -#define CONF_GCLK_GEN_11_OOV 0 -#endif - -// Improve Duty Cycle -// Indicates whether Improve Duty Cycle is enabled or not -// gclk_arch_gen_11_idc -#ifndef CONF_GCLK_GEN_11_IDC -#define CONF_GCLK_GEN_11_IDC 0 -#endif - -// Generic Clock Generator Enable -// Indicates whether Generic Clock Generator Enable is enabled or not -// gclk_arch_gen_11_enable -#ifndef CONF_GCLK_GEN_11_GENEN -#define CONF_GCLK_GEN_11_GENEN 0 -#endif -// - -// Generic Clock Generator Division -// Generic clock generator 11 division <0x0000-0xFFFF> -// gclk_gen_11_div -#ifndef CONF_GCLK_GEN_11_DIV -#define CONF_GCLK_GEN_11_DIV 1 -#endif -// -// - -// <<< end of configuration section >>> - -#endif // HPL_GCLK_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_mclk_config.h b/software/firmware/oracle_same54n19a/config/hpl_mclk_config.h deleted file mode 100644 index 4089d83..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_mclk_config.h +++ /dev/null @@ -1,104 +0,0 @@ -/* Auto-generated config file hpl_mclk_config.h */ -#ifndef HPL_MCLK_CONFIG_H -#define HPL_MCLK_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -#include - -// System Configuration -// Indicates whether configuration for system is enabled or not -// enable_cpu_clock -#ifndef CONF_SYSTEM_CONFIG -#define CONF_SYSTEM_CONFIG 1 -#endif - -// Basic settings -// CPU Clock source -// Generic clock generator 0 -// This defines the clock source for the CPU -// cpu_clock_source -#ifndef CONF_CPU_SRC -#define CONF_CPU_SRC GCLK_PCHCTRL_GEN_GCLK0_Val -#endif - -// CPU Clock Division Factor -// 1 -// 2 -// 4 -// 8 -// 16 -// 32 -// 64 -// 128 -// Prescalar for CPU clock -// cpu_div -#ifndef CONF_MCLK_CPUDIV -#define CONF_MCLK_CPUDIV MCLK_CPUDIV_DIV_DIV1_Val -#endif -// Low Power Clock Division -// Divide by 1 -// Divide by 2 -// Divide by 4 -// Divide by 8 -// Divide by 16 -// Divide by 32 -// Divide by 64 -// Divide by 128 -// mclk_arch_lpdiv -#ifndef CONF_MCLK_LPDIV -#define CONF_MCLK_LPDIV MCLK_LPDIV_LPDIV_DIV4_Val -#endif - -// Backup Clock Division -// Divide by 1 -// Divide by 2 -// Divide by 4 -// Divide by 8 -// Divide by 16 -// Divide by 32 -// Divide by 64 -// Divide by 128 -// mclk_arch_bupdiv -#ifndef CONF_MCLK_BUPDIV -#define CONF_MCLK_BUPDIV MCLK_BUPDIV_BUPDIV_DIV8_Val -#endif -// High-Speed Clock Division -// Divide by 1 -// mclk_arch_hsdiv -#ifndef CONF_MCLK_HSDIV -#define CONF_MCLK_HSDIV MCLK_HSDIV_DIV_DIV1_Val -#endif -// - -// NVM Settings -// NVM Wait States -// These bits select the number of wait states for a read operation. -// <0=> 0 -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 -// <8=> 8 -// <9=> 9 -// <10=> 10 -// <11=> 11 -// <12=> 12 -// <13=> 13 -// <14=> 14 -// <15=> 15 -// nvm_wait_states -#ifndef CONF_NVM_WAIT_STATE -#define CONF_NVM_WAIT_STATE 5 -#endif - -// - -// - -// <<< end of configuration section >>> - -#endif // HPL_MCLK_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_osc32kctrl_config.h b/software/firmware/oracle_same54n19a/config/hpl_osc32kctrl_config.h deleted file mode 100644 index 1126a13..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_osc32kctrl_config.h +++ /dev/null @@ -1,165 +0,0 @@ -/* Auto-generated config file hpl_osc32kctrl_config.h */ -#ifndef HPL_OSC32KCTRL_CONFIG_H -#define HPL_OSC32KCTRL_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RTC Source configuration -// enable_rtc_source -#ifndef CONF_RTCCTRL_CONFIG -#define CONF_RTCCTRL_CONFIG 0 -#endif - -// RTC source control -// RTC Clock Source Selection -// 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) -// 32kHz External Crystal Oscillator (XOSC32K) -// This defines the clock source for RTC -// rtc_source_oscillator -#ifndef CONF_RTCCTRL_SRC -#define CONF_RTCCTRL_SRC GCLK_GENCTRL_SRC_OSCULP32K -#endif - -// Use 1 kHz output -// rtc_1khz_selection -#ifndef CONF_RTCCTRL_1KHZ - -#define CONF_RTCCTRL_1KHZ 0 - -#endif - -#if CONF_RTCCTRL_SRC == GCLK_GENCTRL_SRC_OSCULP32K -#define CONF_RTCCTRL (CONF_RTCCTRL_1KHZ ? OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K_Val : OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K_Val) -#elif CONF_RTCCTRL_SRC == GCLK_GENCTRL_SRC_XOSC32K -#define CONF_RTCCTRL (CONF_RTCCTRL_1KHZ ? OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K_Val : OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K_Val) -#else -#error unexpected CONF_RTCCTRL_SRC -#endif - -// -// - -// 32kHz External Crystal Oscillator Configuration -// Indicates whether configuration for External 32K Osc is enabled or not -// enable_xosc32k -#ifndef CONF_XOSC32K_CONFIG -#define CONF_XOSC32K_CONFIG 1 -#endif - -// 32kHz External Crystal Oscillator Control -// Oscillator enable -// Indicates whether 32kHz External Crystal Oscillator is enabled or not -// xosc32k_arch_enable -#ifndef CONF_XOSC32K_ENABLE -#define CONF_XOSC32K_ENABLE 1 -#endif - -// Start-Up Time -// <0x0=>62592us -// <0x1=>125092us -// <0x2=>500092us -// <0x3=>1000092us -// <0x4=>2000092us -// <0x5=>4000092us -// <0x6=>8000092us -// xosc32k_arch_startup -#ifndef CONF_XOSC32K_STARTUP -#define CONF_XOSC32K_STARTUP 0x3 -#endif - -// On Demand Control -// Indicates whether On Demand Control is enabled or not -// xosc32k_arch_ondemand -#ifndef CONF_XOSC32K_ONDEMAND -#define CONF_XOSC32K_ONDEMAND 1 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// xosc32k_arch_runstdby -#ifndef CONF_XOSC32K_RUNSTDBY -#define CONF_XOSC32K_RUNSTDBY 0 -#endif - -// 1kHz Output Enable -// Indicates whether 1kHz Output is enabled or not -// xosc32k_arch_en1k -#ifndef CONF_XOSC32K_EN1K -#define CONF_XOSC32K_EN1K 0 -#endif - -// 32kHz Output Enable -// Indicates whether 32kHz Output is enabled or not -// xosc32k_arch_en32k -#ifndef CONF_XOSC32K_EN32K -#define CONF_XOSC32K_EN32K 1 -#endif - -// Clock Switch Back -// Indicates whether Clock Switch Back is enabled or not -// xosc32k_arch_swben -#ifndef CONF_XOSC32K_SWBEN -#define CONF_XOSC32K_SWBEN 0 -#endif - -// Clock Failure Detector -// Indicates whether Clock Failure Detector is enabled or not -// xosc32k_arch_cfden -#ifndef CONF_XOSC32K_CFDEN -#define CONF_XOSC32K_CFDEN 0 -#endif - -// Clock Failure Detector Event Out -// Indicates whether Clock Failure Detector Event Out is enabled or not -// xosc32k_arch_cfdeo -#ifndef CONF_XOSC32K_CFDEO -#define CONF_XOSC32K_CFDEO 0 -#endif - -// Crystal connected to XIN32/XOUT32 Enable -// Indicates whether the connections between the I/O pads and the external clock or crystal oscillator is enabled or not -// xosc32k_arch_xtalen -#ifndef CONF_XOSC32K_XTALEN -#define CONF_XOSC32K_XTALEN 1 -#endif - -// Control Gain Mode -// <0x0=>Low Power mode -// <0x1=>Standard mode -// <0x2=>High Speed mode -// xosc32k_arch_cgm -#ifndef CONF_XOSC32K_CGM -#define CONF_XOSC32K_CGM 0x1 -#endif - -// -// - -// 32kHz Ultra Low Power Internal Oscillator Configuration -// Indicates whether configuration for OSCULP32K is enabled or not -// enable_osculp32k -#ifndef CONF_OSCULP32K_CONFIG -#define CONF_OSCULP32K_CONFIG 1 -#endif - -// 32kHz Ultra Low Power Internal Oscillator Control - -// Oscillator Calibration Control -// Indicates whether Oscillator Calibration is enabled or not -// osculp32k_calib_enable -#ifndef CONF_OSCULP32K_CALIB_ENABLE -#define CONF_OSCULP32K_CALIB_ENABLE 0 -#endif - -// Oscillator Calibration <0x0-0x3F> -// osculp32k_calib -#ifndef CONF_OSCULP32K_CALIB -#define CONF_OSCULP32K_CALIB 0x0 -#endif - -// -// - -// <<< end of configuration section >>> - -#endif // HPL_OSC32KCTRL_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_oscctrl_config.h b/software/firmware/oracle_same54n19a/config/hpl_oscctrl_config.h deleted file mode 100644 index 2404d96..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_oscctrl_config.h +++ /dev/null @@ -1,640 +0,0 @@ -/* Auto-generated config file hpl_oscctrl_config.h */ -#ifndef HPL_OSCCTRL_CONFIG_H -#define HPL_OSCCTRL_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// External Multipurpose Crystal Oscillator Configuration -// Indicates whether configuration for XOSC0 is enabled or not -// enable_xosc0 -#ifndef CONF_XOSC0_CONFIG -#define CONF_XOSC0_CONFIG 0 -#endif - -// Frequency <8000000-48000000> -// Oscillation frequency of the resonator connected to the External Multipurpose Crystal Oscillator. -// xosc0_frequency -#ifndef CONF_XOSC_FREQUENCY -#define CONF_XOSC0_FREQUENCY 12000000 -#endif - -// External Multipurpose Crystal Oscillator Control -// Oscillator enable -// Indicates whether External Multipurpose Crystal Oscillator is enabled or not -// xosc0_arch_enable -#ifndef CONF_XOSC0_ENABLE -#define CONF_XOSC0_ENABLE 0 -#endif - -// Start-Up Time -// <0x0=>31us -// <0x1=>61us -// <0x2=>122us -// <0x3=>244us -// <0x4=>488us -// <0x5=>977us -// <0x6=>1953us -// <0x7=>3906us -// <0x8=>7813us -// <0x9=>15625us -// <0xA=>31250us -// <0xB=>62500us -// <0xC=>125000us -// <0xD=>250000us -// <0xE=>500000us -// <0xF=>1000000us -// xosc0_arch_startup -#ifndef CONF_XOSC0_STARTUP -#define CONF_XOSC0_STARTUP 0 -#endif - -// Clock Switch Back -// Indicates whether Clock Switch Back is enabled or not -// xosc0_arch_swben -#ifndef CONF_XOSC0_SWBEN -#define CONF_XOSC0_SWBEN 0 -#endif - -// Clock Failure Detector -// Indicates whether Clock Failure Detector is enabled or not -// xosc0_arch_cfden -#ifndef CONF_XOSC0_CFDEN -#define CONF_XOSC0_CFDEN 0 -#endif - -// Automatic Loop Control Enable -// Indicates whether Automatic Loop Control is enabled or not -// xosc0_arch_enalc -#ifndef CONF_XOSC0_ENALC -#define CONF_XOSC0_ENALC 0 -#endif - -// Low Buffer Gain Enable -// Indicates whether Low Buffer Gain is enabled or not -// xosc0_arch_lowbufgain -#ifndef CONF_XOSC0_LOWBUFGAIN -#define CONF_XOSC0_LOWBUFGAIN 0 -#endif - -// On Demand Control -// Indicates whether On Demand Control is enabled or not -// xosc0_arch_ondemand -#ifndef CONF_XOSC0_ONDEMAND -#define CONF_XOSC0_ONDEMAND 0 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// xosc0_arch_runstdby -#ifndef CONF_XOSC0_RUNSTDBY -#define CONF_XOSC0_RUNSTDBY 0 -#endif - -// Crystal connected to XIN/XOUT Enable -// Indicates whether the connections between the I/O pads and the external clock or crystal oscillator is enabled or not -// xosc0_arch_xtalen -#ifndef CONF_XOSC0_XTALEN -#define CONF_XOSC0_XTALEN 0 -#endif -// -// - -#if CONF_XOSC0_FREQUENCY >= 32000000 -#define CONF_XOSC0_CFDPRESC 0x0 -#define CONF_XOSC0_IMULT 0x7 -#define CONF_XOSC0_IPTAT 0x3 -#elif CONF_XOSC0_FREQUENCY >= 24000000 -#define CONF_XOSC0_CFDPRESC 0x1 -#define CONF_XOSC0_IMULT 0x6 -#define CONF_XOSC0_IPTAT 0x3 -#elif CONF_XOSC0_FREQUENCY >= 16000000 -#define CONF_XOSC0_CFDPRESC 0x2 -#define CONF_XOSC0_IMULT 0x5 -#define CONF_XOSC0_IPTAT 0x3 -#elif CONF_XOSC0_FREQUENCY >= 8000000 -#define CONF_XOSC0_CFDPRESC 0x3 -#define CONF_XOSC0_IMULT 0x4 -#define CONF_XOSC0_IPTAT 0x3 -#endif - -// External Multipurpose Crystal Oscillator Configuration -// Indicates whether configuration for XOSC1 is enabled or not -// enable_xosc1 -#ifndef CONF_XOSC1_CONFIG -#define CONF_XOSC1_CONFIG 0 -#endif - -// Frequency <8000000-48000000> -// Oscillation frequency of the resonator connected to the External Multipurpose Crystal Oscillator. -// xosc1_frequency -#ifndef CONF_XOSC_FREQUENCY -#define CONF_XOSC1_FREQUENCY 12000000 -#endif - -// External Multipurpose Crystal Oscillator Control -// Oscillator enable -// Indicates whether External Multipurpose Crystal Oscillator is enabled or not -// xosc1_arch_enable -#ifndef CONF_XOSC1_ENABLE -#define CONF_XOSC1_ENABLE 0 -#endif - -// Start-Up Time -// <0x0=>31us -// <0x1=>61us -// <0x2=>122us -// <0x3=>244us -// <0x4=>488us -// <0x5=>977us -// <0x6=>1953us -// <0x7=>3906us -// <0x8=>7813us -// <0x9=>15625us -// <0xA=>31250us -// <0xB=>62500us -// <0xC=>125000us -// <0xD=>250000us -// <0xE=>500000us -// <0xF=>1000000us -// xosc1_arch_startup -#ifndef CONF_XOSC1_STARTUP -#define CONF_XOSC1_STARTUP 0 -#endif - -// Clock Switch Back -// Indicates whether Clock Switch Back is enabled or not -// xosc1_arch_swben -#ifndef CONF_XOSC1_SWBEN -#define CONF_XOSC1_SWBEN 0 -#endif - -// Clock Failure Detector -// Indicates whether Clock Failure Detector is enabled or not -// xosc1_arch_cfden -#ifndef CONF_XOSC1_CFDEN -#define CONF_XOSC1_CFDEN 0 -#endif - -// Automatic Loop Control Enable -// Indicates whether Automatic Loop Control is enabled or not -// xosc1_arch_enalc -#ifndef CONF_XOSC1_ENALC -#define CONF_XOSC1_ENALC 0 -#endif - -// Low Buffer Gain Enable -// Indicates whether Low Buffer Gain is enabled or not -// xosc1_arch_lowbufgain -#ifndef CONF_XOSC1_LOWBUFGAIN -#define CONF_XOSC1_LOWBUFGAIN 0 -#endif - -// On Demand Control -// Indicates whether On Demand Control is enabled or not -// xosc1_arch_ondemand -#ifndef CONF_XOSC1_ONDEMAND -#define CONF_XOSC1_ONDEMAND 0 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// xosc1_arch_runstdby -#ifndef CONF_XOSC1_RUNSTDBY -#define CONF_XOSC1_RUNSTDBY 0 -#endif - -// Crystal connected to XIN/XOUT Enable -// Indicates whether the connections between the I/O pads and the external clock or crystal oscillator is enabled or not -// xosc1_arch_xtalen -#ifndef CONF_XOSC1_XTALEN -#define CONF_XOSC1_XTALEN 1 -#endif -// -// - -#if CONF_XOSC1_FREQUENCY >= 32000000 -#define CONF_XOSC1_CFDPRESC 0x0 -#define CONF_XOSC1_IMULT 0x7 -#define CONF_XOSC1_IPTAT 0x3 -#elif CONF_XOSC1_FREQUENCY >= 24000000 -#define CONF_XOSC1_CFDPRESC 0x1 -#define CONF_XOSC1_IMULT 0x6 -#define CONF_XOSC1_IPTAT 0x3 -#elif CONF_XOSC1_FREQUENCY >= 16000000 -#define CONF_XOSC1_CFDPRESC 0x2 -#define CONF_XOSC1_IMULT 0x5 -#define CONF_XOSC1_IPTAT 0x3 -#elif CONF_XOSC1_FREQUENCY >= 8000000 -#define CONF_XOSC1_CFDPRESC 0x3 -#define CONF_XOSC1_IMULT 0x4 -#define CONF_XOSC1_IPTAT 0x3 -#endif - -// DFLL Configuration -// Indicates whether configuration for DFLL is enabled or not -// enable_dfll -#ifndef CONF_DFLL_CONFIG -#define CONF_DFLL_CONFIG 0 -#endif - -// Reference Clock Source -// Generic clock generator 0 -// Generic clock generator 1 -// Generic clock generator 2 -// Generic clock generator 3 -// Generic clock generator 4 -// Generic clock generator 5 -// Generic clock generator 6 -// Generic clock generator 7 -// Generic clock generator 8 -// Generic clock generator 9 -// Generic clock generator 10 -// Generic clock generator 11 -// Select the clock source -// dfll_ref_clock -#ifndef CONF_DFLL_GCLK -#define CONF_DFLL_GCLK GCLK_PCHCTRL_GEN_GCLK3_Val -#endif - -// Digital Frequency Locked Loop Control -// DFLL Enable -// Indicates whether DFLL is enabled or not -// dfll_arch_enable -#ifndef CONF_DFLL_ENABLE -#define CONF_DFLL_ENABLE 0 -#endif - -// On Demand Control -// Indicates whether On Demand Control is enabled or not -// dfll_arch_ondemand -#ifndef CONF_DFLL_ONDEMAND -#define CONF_DFLL_ONDEMAND 0 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// dfll_arch_runstdby -#ifndef CONF_DFLL_RUNSTDBY -#define CONF_DFLL_RUNSTDBY 0 -#endif - -// USB Clock Recovery Mode -// Indicates whether USB Clock Recovery Mode is enabled or not -// dfll_arch_usbcrm -#ifndef CONF_DFLL_USBCRM -#define CONF_DFLL_USBCRM 0 -#endif - -// Wait Lock -// Indicates whether Wait Lock is enabled or not -// dfll_arch_waitlock -#ifndef CONF_DFLL_WAITLOCK -#define CONF_DFLL_WAITLOCK 1 -#endif - -// Bypass Coarse Lock -// Indicates whether Bypass Coarse Lock is enabled or not -// dfll_arch_bplckc -#ifndef CONF_DFLL_BPLCKC -#define CONF_DFLL_BPLCKC 0 -#endif - -// Quick Lock Disable -// Indicates whether Quick Lock Disable is enabled or not -// dfll_arch_qldis -#ifndef CONF_DFLL_QLDIS -#define CONF_DFLL_QLDIS 0 -#endif - -// Chill Cycle Disable -// Indicates whether Chill Cycle Disable is enabled or not -// dfll_arch_ccdis -#ifndef CONF_DFLL_CCDIS -#define CONF_DFLL_CCDIS 0 -#endif - -// Lose Lock After Wake -// Indicates whether Lose Lock After Wake is enabled or not -// dfll_arch_llaw -#ifndef CONF_DFLL_LLAW -#define CONF_DFLL_LLAW 0 -#endif - -// Stable DFLL Frequency -// Indicates whether Stable DFLL Frequency is enabled or not -// dfll_arch_stable -#ifndef CONF_DFLL_STABLE -#define CONF_DFLL_STABLE 0 -#endif - -// Operating Mode Selection -// <0=>Open Loop Mode -// <1=>Closed Loop Mode -// dfll_mode -#ifndef CONF_DFLL_MODE -#define CONF_DFLL_MODE 0x0 -#endif - -// Coarse Maximum Step <0x0-0x1F> -// dfll_arch_cstep -#ifndef CONF_DFLL_CSTEP -#define CONF_DFLL_CSTEP 0x1 -#endif - -// Fine Maximum Step <0x0-0xFF> -// dfll_arch_fstep -#ifndef CONF_DFLL_FSTEP -#define CONF_DFLL_FSTEP 0x1 -#endif - -// DFLL Multiply Factor <0x0-0xFFFF> -// dfll_mul -#ifndef CONF_DFLL_MUL -#define CONF_DFLL_MUL 0x0 -#endif - -// DFLL Calibration Overwrite -// Indicates whether Overwrite Calibration value of DFLL -// dfll_arch_calibration -#ifndef CONF_DFLL_OVERWRITE_CALIBRATION -#define CONF_DFLL_OVERWRITE_CALIBRATION 0 -#endif - -// Coarse Value <0x0-0x3F> -// dfll_arch_coarse -#ifndef CONF_DFLL_COARSE -#define CONF_DFLL_COARSE (0x1f / 4) -#endif - -// Fine Value <0x0-0xFF> -// dfll_arch_fine -#ifndef CONF_DFLL_FINE -#define CONF_DFLL_FINE (0x80) -#endif - -// - -// - -// - -// FDPLL0 Configuration -// Indicates whether configuration for FDPLL0 is enabled or not -// enable_fdpll0 -#ifndef CONF_FDPLL0_CONFIG -#define CONF_FDPLL0_CONFIG 1 -#endif - -// Reference Clock Source -// 32kHz External Crystal Oscillator (XOSC32K) -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator 0 -// Generic clock generator 1 -// Generic clock generator 2 -// Generic clock generator 3 -// Generic clock generator 4 -// Generic clock generator 5 -// Generic clock generator 6 -// Generic clock generator 7 -// Generic clock generator 8 -// Generic clock generator 9 -// Generic clock generator 10 -// Generic clock generator 11 -// Select the clock source. -// fdpll0_ref_clock -#ifndef CONF_FDPLL0_GCLK -#define CONF_FDPLL0_GCLK GCLK_GENCTRL_SRC_XOSC32K -#endif - -// Digital Phase Locked Loop Control -// Enable -// Indicates whether Digital Phase Locked Loop is enabled or not -// fdpll0_arch_enable -#ifndef CONF_FDPLL0_ENABLE -#define CONF_FDPLL0_ENABLE 1 -#endif - -// On Demand Control -// Indicates whether On Demand Control is enabled or not -// fdpll0_arch_ondemand -#ifndef CONF_FDPLL0_ONDEMAND -#define CONF_FDPLL0_ONDEMAND 0 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// fdpll0_arch_runstdby -#ifndef CONF_FDPLL0_RUNSTDBY -#define CONF_FDPLL0_RUNSTDBY 0 -#endif - -// Loop Divider Ratio Fractional Part <0x0-0x1F> -// Value of LDRFRAC is calculated using Fclk_dpll=Fckr*(LDR+1+LDRFRAC/32) formula as given in datasheet. This value is directly written in to DPLLRATIO register -// fdpll0_ldrfrac -#ifndef CONF_FDPLL0_LDRFRAC -#define CONF_FDPLL0_LDRFRAC 0x1 -#endif - -// Loop Divider Ratio Integer Part <0x0-0x1FFF> -// Value of LDR is calculated using Fclk_dpll=Fckr*(LDR+1+LDRFRAC/32) formula as given in datasheet. This value is directly written in to DPLLRATIO register -// fdpll0_ldr -#ifndef CONF_FDPLL0_LDR -#define CONF_FDPLL0_LDR 0xe4d -#endif - -// Clock Divider <0x0-0x7FF> -// This Clock divider is only for XOSC clock input to DPLL -// fdpll0_clock_div -#ifndef CONF_FDPLL0_DIV -#define CONF_FDPLL0_DIV 0x0 -#endif - -// DCO Filter Enable -// Indicates whether DCO Filter Enable is enabled or not -// fdpll0_arch_dcoen -#ifndef CONF_FDPLL0_DCOEN -#define CONF_FDPLL0_DCOEN 0 -#endif - -// Sigma-Delta DCO Filter Selection <0x0-0x7> -// fdpll0_clock_dcofilter -#ifndef CONF_FDPLL0_DCOFILTER -#define CONF_FDPLL0_DCOFILTER 0x0 -#endif - -// Lock Bypass -// Indicates whether Lock Bypass is enabled or not -// fdpll0_arch_lbypass -#ifndef CONF_FDPLL0_LBYPASS -#define CONF_FDPLL0_LBYPASS 1 -#endif - -// Lock Time -// <0x0=>No time-out, automatic lock -// <0x4=>The Time-out if no lock within 800 us -// <0x5=>The Time-out if no lock within 900 us -// <0x6=>The Time-out if no lock within 1 ms -// <0x7=>The Time-out if no lock within 11 ms -// fdpll0_arch_ltime -#ifndef CONF_FDPLL0_LTIME -#define CONF_FDPLL0_LTIME 0x0 -#endif - -// Reference Clock Selection -// <0x0=>GCLK clock reference -// <0x1=>XOSC32K clock reference -// <0x2=>XOSC0 clock reference -// <0x3=>XOSC1 clock reference -// fdpll0_arch_refclk -#ifndef CONF_FDPLL0_REFCLK -#define CONF_FDPLL0_REFCLK 0x1 -#endif - -// Wake Up Fast -// Indicates whether Wake Up Fast is enabled or not -// fdpll0_arch_wuf -#ifndef CONF_FDPLL0_WUF -#define CONF_FDPLL0_WUF 0 -#endif - -// Proportional Integral Filter Selection <0x0-0xF> -// fdpll0_arch_filter -#ifndef CONF_FDPLL0_FILTER -#define CONF_FDPLL0_FILTER 0x0 -#endif - -// -// -// FDPLL1 Configuration -// Indicates whether configuration for FDPLL1 is enabled or not -// enable_fdpll1 -#ifndef CONF_FDPLL1_CONFIG -#define CONF_FDPLL1_CONFIG 0 -#endif - -// Reference Clock Source -// 32kHz External Crystal Oscillator (XOSC32K) -// External Crystal Oscillator 8-48MHz (XOSC0) -// External Crystal Oscillator 8-48MHz (XOSC1) -// Generic clock generator 0 -// Generic clock generator 1 -// Generic clock generator 2 -// Generic clock generator 3 -// Generic clock generator 4 -// Generic clock generator 5 -// Generic clock generator 6 -// Generic clock generator 7 -// Generic clock generator 8 -// Generic clock generator 9 -// Generic clock generator 10 -// Generic clock generator 11 -// Select the clock source. -// fdpll1_ref_clock -#ifndef CONF_FDPLL1_GCLK -#define CONF_FDPLL1_GCLK GCLK_GENCTRL_SRC_XOSC32K -#endif - -// Digital Phase Locked Loop Control -// Enable -// Indicates whether Digital Phase Locked Loop is enabled or not -// fdpll1_arch_enable -#ifndef CONF_FDPLL1_ENABLE -#define CONF_FDPLL1_ENABLE 0 -#endif - -// On Demand Control -// Indicates whether On Demand Control is enabled or not -// fdpll1_arch_ondemand -#ifndef CONF_FDPLL1_ONDEMAND -#define CONF_FDPLL1_ONDEMAND 0 -#endif - -// Run in Standby -// Indicates whether Run in Standby is enabled or not -// fdpll1_arch_runstdby -#ifndef CONF_FDPLL1_RUNSTDBY -#define CONF_FDPLL1_RUNSTDBY 0 -#endif - -// Loop Divider Ratio Fractional Part <0x0-0x1F> -// Value of LDRFRAC is calculated using Fclk_dpll=Fckr*(LDR+1+LDRFRAC/32) formula as given in datasheet. This value is directly written in to DPLLRATIO register -// fdpll1_ldrfrac -#ifndef CONF_FDPLL1_LDRFRAC -#define CONF_FDPLL1_LDRFRAC 0xd -#endif - -// Loop Divider Ratio Integer Part <0x0-0x1FFF> -// Value of LDR is calculated using Fclk_dpll=Fckr*(LDR+1+LDRFRAC/32) formula as given in datasheet. This value is directly written in to DPLLRATIO register -// fdpll1_ldr -#ifndef CONF_FDPLL1_LDR -#define CONF_FDPLL1_LDR 0x5b7 -#endif - -// Clock Divider <0x0-0x7FF> -// This Clock divider is only for XOSC clock input to DPLL -// fdpll1_clock_div -#ifndef CONF_FDPLL1_DIV -#define CONF_FDPLL1_DIV 0x0 -#endif - -// DCO Filter Enable -// Indicates whether DCO Filter Enable is enabled or not -// fdpll1_arch_dcoen -#ifndef CONF_FDPLL1_DCOEN -#define CONF_FDPLL1_DCOEN 0 -#endif - -// Sigma-Delta DCO Filter Selection <0x0-0x7> -// fdpll1_clock_dcofilter -#ifndef CONF_FDPLL1_DCOFILTER -#define CONF_FDPLL1_DCOFILTER 0x0 -#endif - -// Lock Bypass -// Indicates whether Lock Bypass is enabled or not -// fdpll1_arch_lbypass -#ifndef CONF_FDPLL1_LBYPASS -#define CONF_FDPLL1_LBYPASS 0 -#endif - -// Lock Time -// <0x0=>No time-out, automatic lock -// <0x4=>The Time-out if no lock within 800 us -// <0x5=>The Time-out if no lock within 900 us -// <0x6=>The Time-out if no lock within 1 ms -// <0x7=>The Time-out if no lock within 11 ms -// fdpll1_arch_ltime -#ifndef CONF_FDPLL1_LTIME -#define CONF_FDPLL1_LTIME 0x0 -#endif - -// Reference Clock Selection -// <0x0=>GCLK clock reference -// <0x1=>XOSC32K clock reference -// <0x2=>XOSC0 clock reference -// <0x3=>XOSC1 clock reference -// fdpll1_arch_refclk -#ifndef CONF_FDPLL1_REFCLK -#define CONF_FDPLL1_REFCLK 0x1 -#endif - -// Wake Up Fast -// Indicates whether Wake Up Fast is enabled or not -// fdpll1_arch_wuf -#ifndef CONF_FDPLL1_WUF -#define CONF_FDPLL1_WUF 0 -#endif - -// Proportional Integral Filter Selection <0x0-0xF> -// fdpll1_arch_filter -#ifndef CONF_FDPLL1_FILTER -#define CONF_FDPLL1_FILTER 0x0 -#endif - -// -// - -// <<< end of configuration section >>> - -#endif // HPL_OSCCTRL_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_port_config.h b/software/firmware/oracle_same54n19a/config/hpl_port_config.h deleted file mode 100644 index a7bd379..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_port_config.h +++ /dev/null @@ -1,403 +0,0 @@ -/* Auto-generated config file hpl_port_config.h */ -#ifndef HPL_PORT_CONFIG_H -#define HPL_PORT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// PORT Input Event 0 configuration -// enable_port_input_event_0 -#ifndef CONF_PORT_EVCTRL_PORT_0 -#define CONF_PORT_EVCTRL_PORT_0 0 -#endif - -// PORT Input Event 0 configuration on PORT A - -// PORTA Input Event 0 Enable -// The event action will be triggered on any incoming event if PORT A Input Event 0 configuration is enabled -// porta_input_event_enable_0 -#ifndef CONF_PORTA_EVCTRL_PORTEI_0 -#define CONF_PORTA_EVCTRL_PORTEI_0 0x0 -#endif - -// PORTA Event 0 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port A on which the event action will be performed -// porta_event_pin_identifier_0 -#ifndef CONF_PORTA_EVCTRL_PID_0 -#define CONF_PORTA_EVCTRL_PID_0 0x0 -#endif - -// PORTA Event 0 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT A will perform on event input 0 -// porta_event_action_0 -#ifndef CONF_PORTA_EVCTRL_EVACT_0 -#define CONF_PORTA_EVCTRL_EVACT_0 0 -#endif - -// -// PORT Input Event 0 configuration on PORT B - -// PORTB Input Event 0 Enable -// The event action will be triggered on any incoming event if PORT B Input Event 0 configuration is enabled -// portb_input_event_enable_0 -#ifndef CONF_PORTB_EVCTRL_PORTEI_0 -#define CONF_PORTB_EVCTRL_PORTEI_0 0x0 -#endif - -// PORTB Event 0 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port B on which the event action will be performed -// portb_event_pin_identifier_0 -#ifndef CONF_PORTB_EVCTRL_PID_0 -#define CONF_PORTB_EVCTRL_PID_0 0x0 -#endif - -// PORTB Event 0 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT B will perform on event input 0 -// portb_event_action_0 -#ifndef CONF_PORTB_EVCTRL_EVACT_0 -#define CONF_PORTB_EVCTRL_EVACT_0 0 -#endif - -// -// PORT Input Event 0 configuration on PORT C - -// PORTC Input Event 0 Enable -// The event action will be triggered on any incoming event if PORT C Input Event 0 configuration is enabled -// portc_input_event_enable_0 -#ifndef CONF_PORTC_EVCTRL_PORTEI_0 -#define CONF_PORTC_EVCTRL_PORTEI_0 0x0 -#endif - -// PORTC Event 0 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port C on which the event action will be performed -// portc_event_pin_identifier_0 -#ifndef CONF_PORTC_EVCTRL_PID_0 -#define CONF_PORTC_EVCTRL_PID_0 0x0 -#endif - -// PORTC Event 0 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT C will perform on event input 0 -// portc_event_action_0 -#ifndef CONF_PORTC_EVCTRL_EVACT_0 -#define CONF_PORTC_EVCTRL_EVACT_0 0 -#endif - -// - -// - -// PORT Input Event 1 configuration -// enable_port_input_event_1 -#ifndef CONF_PORT_EVCTRL_PORT_1 -#define CONF_PORT_EVCTRL_PORT_1 0 -#endif - -// PORT Input Event 1 configuration on PORT A - -// PORTA Input Event 1 Enable -// The event action will be triggered on any incoming event if PORT A Input Event 1 configuration is enabled -// porta_input_event_enable_1 -#ifndef CONF_PORTA_EVCTRL_PORTEI_1 -#define CONF_PORTA_EVCTRL_PORTEI_1 0x0 -#endif - -// PORTA Event 1 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port A on which the event action will be performed -// porta_event_pin_identifier_1 -#ifndef CONF_PORTA_EVCTRL_PID_1 -#define CONF_PORTA_EVCTRL_PID_1 0x0 -#endif - -// PORTA Event 1 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT A will perform on event input 1 -// porta_event_action_1 -#ifndef CONF_PORTA_EVCTRL_EVACT_1 -#define CONF_PORTA_EVCTRL_EVACT_1 0 -#endif - -// -// PORT Input Event 1 configuration on PORT B - -// PORTB Input Event 1 Enable -// The event action will be triggered on any incoming event if PORT B Input Event 1 configuration is enabled -// portb_input_event_enable_1 -#ifndef CONF_PORTB_EVCTRL_PORTEI_1 -#define CONF_PORTB_EVCTRL_PORTEI_1 0x0 -#endif - -// PORTB Event 1 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port B on which the event action will be performed -// portb_event_pin_identifier_1 -#ifndef CONF_PORTB_EVCTRL_PID_1 -#define CONF_PORTB_EVCTRL_PID_1 0x0 -#endif - -// PORTB Event 1 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT B will perform on event input 1 -// portb_event_action_1 -#ifndef CONF_PORTB_EVCTRL_EVACT_1 -#define CONF_PORTB_EVCTRL_EVACT_1 0 -#endif - -// -// PORT Input Event 1 configuration on PORT C - -// PORTC Input Event 1 Enable -// The event action will be triggered on any incoming event if PORT C Input Event 1 configuration is enabled -// portc_input_event_enable_1 -#ifndef CONF_PORTC_EVCTRL_PORTEI_1 -#define CONF_PORTC_EVCTRL_PORTEI_1 0x0 -#endif - -// PORTC Event 1 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port C on which the event action will be performed -// portc_event_pin_identifier_1 -#ifndef CONF_PORTC_EVCTRL_PID_1 -#define CONF_PORTC_EVCTRL_PID_1 0x0 -#endif - -// PORTC Event 1 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT C will perform on event input 1 -// portc_event_action_1 -#ifndef CONF_PORTC_EVCTRL_EVACT_1 -#define CONF_PORTC_EVCTRL_EVACT_1 0 -#endif - -// - -// - -// PORT Input Event 2 configuration -// enable_port_input_event_2 -#ifndef CONF_PORT_EVCTRL_PORT_2 -#define CONF_PORT_EVCTRL_PORT_2 0 -#endif - -// PORT Input Event 2 configuration on PORT A - -// PORTA Input Event 2 Enable -// The event action will be triggered on any incoming event if PORT A Input Event 2 configuration is enabled -// porta_input_event_enable_2 -#ifndef CONF_PORTA_EVCTRL_PORTEI_2 -#define CONF_PORTA_EVCTRL_PORTEI_2 0x0 -#endif - -// PORTA Event 2 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port A on which the event action will be performed -// porta_event_pin_identifier_2 -#ifndef CONF_PORTA_EVCTRL_PID_2 -#define CONF_PORTA_EVCTRL_PID_2 0x0 -#endif - -// PORTA Event 2 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT A will perform on event input 2 -// porta_event_action_2 -#ifndef CONF_PORTA_EVCTRL_EVACT_2 -#define CONF_PORTA_EVCTRL_EVACT_2 0 -#endif - -// -// PORT Input Event 2 configuration on PORT B - -// PORTB Input Event 2 Enable -// The event action will be triggered on any incoming event if PORT B Input Event 2 configuration is enabled -// portb_input_event_enable_2 -#ifndef CONF_PORTB_EVCTRL_PORTEI_2 -#define CONF_PORTB_EVCTRL_PORTEI_2 0x0 -#endif - -// PORTB Event 2 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port B on which the event action will be performed -// portb_event_pin_identifier_2 -#ifndef CONF_PORTB_EVCTRL_PID_2 -#define CONF_PORTB_EVCTRL_PID_2 0x0 -#endif - -// PORTB Event 2 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT B will perform on event input 2 -// portb_event_action_2 -#ifndef CONF_PORTB_EVCTRL_EVACT_2 -#define CONF_PORTB_EVCTRL_EVACT_2 0 -#endif - -// -// PORT Input Event 2 configuration on PORT C - -// PORTC Input Event 2 Enable -// The event action will be triggered on any incoming event if PORT C Input Event 2 configuration is enabled -// portc_input_event_enable_2 -#ifndef CONF_PORTC_EVCTRL_PORTEI_2 -#define CONF_PORTC_EVCTRL_PORTEI_2 0x0 -#endif - -// PORTC Event 2 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port C on which the event action will be performed -// portc_event_pin_identifier_2 -#ifndef CONF_PORTC_EVCTRL_PID_2 -#define CONF_PORTC_EVCTRL_PID_2 0x0 -#endif - -// PORTC Event 2 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT C will perform on event input 2 -// portc_event_action_2 -#ifndef CONF_PORTC_EVCTRL_EVACT_2 -#define CONF_PORTC_EVCTRL_EVACT_2 0 -#endif - -// - -// - -// PORT Input Event 3 configuration -// enable_port_input_event_3 -#ifndef CONF_PORT_EVCTRL_PORT_3 -#define CONF_PORT_EVCTRL_PORT_3 0 -#endif - -// PORT Input Event 3 configuration on PORT A - -// PORTA Input Event 3 Enable -// The event action will be triggered on any incoming event if PORT A Input Event 3 configuration is enabled -// porta_input_event_enable_3 -#ifndef CONF_PORTA_EVCTRL_PORTEI_3 -#define CONF_PORTA_EVCTRL_PORTEI_3 0x0 -#endif - -// PORTA Event 3 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port A on which the event action will be performed -// porta_event_pin_identifier_3 -#ifndef CONF_PORTA_EVCTRL_PID_3 -#define CONF_PORTA_EVCTRL_PID_3 0x0 -#endif - -// PORTA Event 3 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT A will perform on event input 3 -// porta_event_action_3 -#ifndef CONF_PORTA_EVCTRL_EVACT_3 -#define CONF_PORTA_EVCTRL_EVACT_3 0 -#endif - -// -// PORT Input Event 3 configuration on PORT B - -// PORTB Input Event 3 Enable -// The event action will be triggered on any incoming event if PORT B Input Event 3 configuration is enabled -// portb_input_event_enable_3 -#ifndef CONF_PORTB_EVCTRL_PORTEI_3 -#define CONF_PORTB_EVCTRL_PORTEI_3 0x0 -#endif - -// PORTB Event 3 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port B on which the event action will be performed -// portb_event_pin_identifier_3 -#ifndef CONF_PORTB_EVCTRL_PID_3 -#define CONF_PORTB_EVCTRL_PID_3 0x0 -#endif - -// PORTB Event 3 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT B will perform on event input 3 -// portb_event_action_3 -#ifndef CONF_PORTB_EVCTRL_EVACT_3 -#define CONF_PORTB_EVCTRL_EVACT_3 0 -#endif - -// -// PORT Input Event 3 configuration on PORT C - -// PORTC Input Event 3 Enable -// The event action will be triggered on any incoming event if PORT C Input Event 3 configuration is enabled -// portc_input_event_enable_3 -#ifndef CONF_PORTC_EVCTRL_PORTEI_3 -#define CONF_PORTC_EVCTRL_PORTEI_3 0x0 -#endif - -// PORTC Event 3 Pin Identifier <0x00-0x1F> -// These bits define the I/O pin from port C on which the event action will be performed -// portc_event_pin_identifier_3 -#ifndef CONF_PORTC_EVCTRL_PID_3 -#define CONF_PORTC_EVCTRL_PID_3 0x0 -#endif - -// PORTC Event 3 Action -// <0=> Output register of pin will be set to level of event -// <1=> Set output register of pin on event -// <2=> Clear output register of pin on event -// <3=> Toggle output register of pin on event -// These bits define the event action the PORT C will perform on event input 3 -// portc_event_action_3 -#ifndef CONF_PORTC_EVCTRL_EVACT_3 -#define CONF_PORTC_EVCTRL_EVACT_3 0 -#endif - -// - -// - -#define CONF_PORTA_EVCTRL \ - (0 | PORT_EVCTRL_EVACT0(CONF_PORTA_EVCTRL_EVACT_0) | CONF_PORTA_EVCTRL_PORTEI_0 << PORT_EVCTRL_PORTEI0_Pos \ - | PORT_EVCTRL_PID0(CONF_PORTA_EVCTRL_PID_0) | PORT_EVCTRL_EVACT1(CONF_PORTA_EVCTRL_EVACT_1) \ - | CONF_PORTA_EVCTRL_PORTEI_1 << PORT_EVCTRL_PORTEI1_Pos | PORT_EVCTRL_PID1(CONF_PORTA_EVCTRL_PID_1) \ - | PORT_EVCTRL_EVACT2(CONF_PORTA_EVCTRL_EVACT_2) | CONF_PORTA_EVCTRL_PORTEI_2 << PORT_EVCTRL_PORTEI2_Pos \ - | PORT_EVCTRL_PID2(CONF_PORTA_EVCTRL_PID_2) | PORT_EVCTRL_EVACT3(CONF_PORTA_EVCTRL_EVACT_3) \ - | CONF_PORTA_EVCTRL_PORTEI_3 << PORT_EVCTRL_PORTEI3_Pos | PORT_EVCTRL_PID3(CONF_PORTA_EVCTRL_PID_3)) -#define CONF_PORTB_EVCTRL \ - (0 | PORT_EVCTRL_EVACT0(CONF_PORTB_EVCTRL_EVACT_0) | CONF_PORTB_EVCTRL_PORTEI_0 << PORT_EVCTRL_PORTEI0_Pos \ - | PORT_EVCTRL_PID0(CONF_PORTB_EVCTRL_PID_0) | PORT_EVCTRL_EVACT1(CONF_PORTB_EVCTRL_EVACT_1) \ - | CONF_PORTB_EVCTRL_PORTEI_1 << PORT_EVCTRL_PORTEI1_Pos | PORT_EVCTRL_PID1(CONF_PORTB_EVCTRL_PID_1) \ - | PORT_EVCTRL_EVACT2(CONF_PORTB_EVCTRL_EVACT_2) | CONF_PORTB_EVCTRL_PORTEI_2 << PORT_EVCTRL_PORTEI2_Pos \ - | PORT_EVCTRL_PID2(CONF_PORTB_EVCTRL_PID_2) | PORT_EVCTRL_EVACT3(CONF_PORTB_EVCTRL_EVACT_3) \ - | CONF_PORTB_EVCTRL_PORTEI_3 << PORT_EVCTRL_PORTEI3_Pos | PORT_EVCTRL_PID3(CONF_PORTB_EVCTRL_PID_3)) -#define CONF_PORTC_EVCTRL \ - (0 | PORT_EVCTRL_EVACT0(CONF_PORTC_EVCTRL_EVACT_0) | CONF_PORTC_EVCTRL_PORTEI_0 << PORT_EVCTRL_PORTEI0_Pos \ - | PORT_EVCTRL_PID0(CONF_PORTC_EVCTRL_PID_0) | PORT_EVCTRL_EVACT1(CONF_PORTC_EVCTRL_EVACT_1) \ - | CONF_PORTC_EVCTRL_PORTEI_1 << PORT_EVCTRL_PORTEI1_Pos | PORT_EVCTRL_PID1(CONF_PORTC_EVCTRL_PID_1) \ - | PORT_EVCTRL_EVACT2(CONF_PORTC_EVCTRL_EVACT_2) | CONF_PORTC_EVCTRL_PORTEI_2 << PORT_EVCTRL_PORTEI2_Pos \ - | PORT_EVCTRL_PID2(CONF_PORTC_EVCTRL_PID_2) | PORT_EVCTRL_EVACT3(CONF_PORTC_EVCTRL_EVACT_3) \ - | CONF_PORTC_EVCTRL_PORTEI_3 << PORT_EVCTRL_PORTEI3_Pos | PORT_EVCTRL_PID3(CONF_PORTC_EVCTRL_PID_3)) - -// <<< end of configuration section >>> - -#endif // HPL_PORT_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_sercom_config.h b/software/firmware/oracle_same54n19a/config/hpl_sercom_config.h deleted file mode 100644 index 5188fed..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_sercom_config.h +++ /dev/null @@ -1,413 +0,0 @@ -/* Auto-generated config file hpl_sercom_config.h */ -#ifndef HPL_SERCOM_CONFIG_H -#define HPL_SERCOM_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -#include - -#ifndef CONF_SERCOM_0_USART_ENABLE -#define CONF_SERCOM_0_USART_ENABLE 1 -#endif - -// Basic Configuration - -// Receive buffer enable -// Enable input buffer in SERCOM module -// usart_rx_enable -#ifndef CONF_SERCOM_0_USART_RXEN -#define CONF_SERCOM_0_USART_RXEN 1 -#endif - -// Transmitt buffer enable -// Enable output buffer in SERCOM module -// usart_tx_enable -#ifndef CONF_SERCOM_0_USART_TXEN -#define CONF_SERCOM_0_USART_TXEN 1 -#endif - -// Frame parity -// <0x0=>No parity -// <0x1=>Even parity -// <0x2=>Odd parity -// Parity bit mode for USART frame -// usart_parity -#ifndef CONF_SERCOM_0_USART_PARITY -#define CONF_SERCOM_0_USART_PARITY 0x0 -#endif - -// Character Size -// <0x0=>8 bits -// <0x1=>9 bits -// <0x5=>5 bits -// <0x6=>6 bits -// <0x7=>7 bits -// Data character size in USART frame -// usart_character_size -#ifndef CONF_SERCOM_0_USART_CHSIZE -#define CONF_SERCOM_0_USART_CHSIZE 0x0 -#endif - -// Stop Bit -// <0=>One stop bit -// <1=>Two stop bits -// Number of stop bits in USART frame -// usart_stop_bit -#ifndef CONF_SERCOM_0_USART_SBMODE -#define CONF_SERCOM_0_USART_SBMODE 0 -#endif - -// Baud rate <1-6250000> -// USART baud rate setting -// usart_baud_rate -#ifndef CONF_SERCOM_0_USART_BAUD -#define CONF_SERCOM_0_USART_BAUD 115200 -#endif - -// - -// Advanced configuration -// usart_advanced -#ifndef CONF_SERCOM_0_USART_ADVANCED_CONFIG -#define CONF_SERCOM_0_USART_ADVANCED_CONFIG 0 -#endif - -// Run in stand-by -// Keep the module running in standby sleep mode -// usart_arch_runstdby -#ifndef CONF_SERCOM_0_USART_RUNSTDBY -#define CONF_SERCOM_0_USART_RUNSTDBY 0 -#endif - -// Immediate Buffer Overflow Notification -// Controls when the BUFOVF status bit is asserted -// usart_arch_ibon -#ifndef CONF_SERCOM_0_USART_IBON -#define CONF_SERCOM_0_USART_IBON 0 -#endif - -// Start of Frame Detection Enable -// Will wake the device from any sleep mode if usart_init and usart_enable was run priort to going to sleep. (receive buffer must be enabled) -// usart_arch_sfde -#ifndef CONF_SERCOM_0_USART_SFDE -#define CONF_SERCOM_0_USART_SFDE 0 -#endif - -// Collision Detection Enable -// Collision detection enable -// usart_arch_cloden -#ifndef CONF_SERCOM_0_USART_CLODEN -#define CONF_SERCOM_0_USART_CLODEN 0 -#endif - -// Operating Mode -// <0x0=>USART with external clock -// <0x1=>USART with internal clock -// Drive the shift register by an internal clock generated by the baud rate generator or an external clock supplied on the XCK pin. -// usart_arch_clock_mode -#ifndef CONF_SERCOM_0_USART_MODE -#define CONF_SERCOM_0_USART_MODE 0x1 -#endif - -// Sample Rate -// <0x0=>16x arithmetic -// <0x1=>16x fractional -// <0x2=>8x arithmetic -// <0x3=>8x fractional -// <0x4=>3x arithmetic -// How many over-sampling bits used when sampling data state -// usart_arch_sampr -#ifndef CONF_SERCOM_0_USART_SAMPR -#define CONF_SERCOM_0_USART_SAMPR 0x0 -#endif - -// Sample Adjustment -// <0x0=>7-8-9 (3-4-5 8-bit over-sampling) -// <0x1=>9-10-11 (4-5-6 8-bit over-sampling) -// <0x2=>11-12-13 (5-6-7 8-bit over-sampling) -// <0x3=>13-14-15 (6-7-8 8-bit over-sampling) -// Adjust which samples to use for data sampling in asynchronous mode -// usart_arch_sampa -#ifndef CONF_SERCOM_0_USART_SAMPA -#define CONF_SERCOM_0_USART_SAMPA 0x0 -#endif - -// Fractional Part <0-7> -// Fractional part of the baud rate if baud rate generator is in fractional mode -// usart_arch_fractional -#ifndef CONF_SERCOM_0_USART_FRACTIONAL -#define CONF_SERCOM_0_USART_FRACTIONAL 0x0 -#endif - -// Data Order -// <0=>MSB is transmitted first -// <1=>LSB is transmitted first -// Data order of the data bits in the frame -// usart_arch_dord -#ifndef CONF_SERCOM_0_USART_DORD -#define CONF_SERCOM_0_USART_DORD 1 -#endif - -// Does not do anything in UART mode -#define CONF_SERCOM_0_USART_CPOL 0 - -// Encoding Format -// <0=>No encoding -// <1=>IrDA encoded -// usart_arch_enc -#ifndef CONF_SERCOM_0_USART_ENC -#define CONF_SERCOM_0_USART_ENC 0 -#endif - -// LIN Slave Enable -// Break Character Detection and Auto-Baud/LIN Slave Enable. -// Additional setting needed: 16x sample rate using fractional baud rate generation (CTRLA.SAMPR = 1). -// <0=>Disable -// <1=>Enable -// usart_arch_lin_slave_enable -#ifndef CONF_SERCOM_0_USART_LIN_SLAVE_ENABLE -#define CONF_SERCOM_0_USART_LIN_SLAVE_ENABLE 0 -#endif - -// Debug Stop Mode -// Behavior of the baud-rate generator when CPU is halted by external debugger. -// <0=>Keep running -// <1=>Halt -// usart_arch_dbgstop -#ifndef CONF_SERCOM_0_USART_DEBUG_STOP_MODE -#define CONF_SERCOM_0_USART_DEBUG_STOP_MODE 0 -#endif - -// - -#ifndef CONF_SERCOM_0_USART_INACK -#define CONF_SERCOM_0_USART_INACK 0x0 -#endif - -#ifndef CONF_SERCOM_0_USART_DSNACK -#define CONF_SERCOM_0_USART_DSNACK 0x0 -#endif - -#ifndef CONF_SERCOM_0_USART_MAXITER -#define CONF_SERCOM_0_USART_MAXITER 0x7 -#endif - -#ifndef CONF_SERCOM_0_USART_GTIME -#define CONF_SERCOM_0_USART_GTIME 0x2 -#endif - -#define CONF_SERCOM_0_USART_RXINV 0x0 -#define CONF_SERCOM_0_USART_TXINV 0x0 - -#ifndef CONF_SERCOM_0_USART_CMODE -#define CONF_SERCOM_0_USART_CMODE 0 -#endif - -#ifndef CONF_SERCOM_0_USART_RXPO -#define CONF_SERCOM_0_USART_RXPO 1 /* RX is on PIN_PA05 */ -#endif - -#ifndef CONF_SERCOM_0_USART_TXPO -#define CONF_SERCOM_0_USART_TXPO 0 /* TX is on PIN_PA04 */ -#endif - -/* Set correct parity settings in register interface based on PARITY setting */ -#if CONF_SERCOM_0_USART_LIN_SLAVE_ENABLE == 1 -#if CONF_SERCOM_0_USART_PARITY == 0 -#define CONF_SERCOM_0_USART_PMODE 0 -#define CONF_SERCOM_0_USART_FORM 4 -#else -#define CONF_SERCOM_0_USART_PMODE CONF_SERCOM_0_USART_PARITY - 1 -#define CONF_SERCOM_0_USART_FORM 5 -#endif -#else /* #if CONF_SERCOM_0_USART_LIN_SLAVE_ENABLE == 0 */ -#if CONF_SERCOM_0_USART_PARITY == 0 -#define CONF_SERCOM_0_USART_PMODE 0 -#define CONF_SERCOM_0_USART_FORM 0 -#else -#define CONF_SERCOM_0_USART_PMODE CONF_SERCOM_0_USART_PARITY - 1 -#define CONF_SERCOM_0_USART_FORM 1 -#endif -#endif - -// Calculate BAUD register value in UART mode -#if CONF_SERCOM_0_USART_SAMPR == 0 -#ifndef CONF_SERCOM_0_USART_BAUD_RATE -#define CONF_SERCOM_0_USART_BAUD_RATE \ - 65536 - ((65536 * 16.0f * CONF_SERCOM_0_USART_BAUD) / CONF_GCLK_SERCOM0_CORE_FREQUENCY) -#endif -#ifndef CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH -#define CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH 0 -#endif -#elif CONF_SERCOM_0_USART_SAMPR == 1 -#ifndef CONF_SERCOM_0_USART_BAUD_RATE -#define CONF_SERCOM_0_USART_BAUD_RATE \ - ((CONF_GCLK_SERCOM0_CORE_FREQUENCY) / (CONF_SERCOM_0_USART_BAUD * 16)) - (CONF_SERCOM_0_USART_FRACTIONAL / 8) -#endif -#ifndef CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH -#define CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH 0 -#endif -#elif CONF_SERCOM_0_USART_SAMPR == 2 -#ifndef CONF_SERCOM_0_USART_BAUD_RATE -#define CONF_SERCOM_0_USART_BAUD_RATE \ - 65536 - ((65536 * 8.0f * CONF_SERCOM_0_USART_BAUD) / CONF_GCLK_SERCOM0_CORE_FREQUENCY) -#endif -#ifndef CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH -#define CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH 0 -#endif -#elif CONF_SERCOM_0_USART_SAMPR == 3 -#ifndef CONF_SERCOM_0_USART_BAUD_RATE -#define CONF_SERCOM_0_USART_BAUD_RATE \ - ((CONF_GCLK_SERCOM0_CORE_FREQUENCY) / (CONF_SERCOM_0_USART_BAUD * 8)) - (CONF_SERCOM_0_USART_FRACTIONAL / 8) -#endif -#ifndef CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH -#define CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH 0 -#endif -#elif CONF_SERCOM_0_USART_SAMPR == 4 -#ifndef CONF_SERCOM_0_USART_BAUD_RATE -#define CONF_SERCOM_0_USART_BAUD_RATE \ - 65536 - ((65536 * 3.0f * CONF_SERCOM_0_USART_BAUD) / CONF_GCLK_SERCOM0_CORE_FREQUENCY) -#endif -#ifndef CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH -#define CONF_SERCOM_0_USART_RECEIVE_PULSE_LENGTH 0 -#endif -#endif - -#include - -#ifndef SERCOM_I2CM_CTRLA_MODE_I2C_MASTER -#define SERCOM_I2CM_CTRLA_MODE_I2C_MASTER (5 << 2) -#endif - -#ifndef CONF_SERCOM_3_I2CM_ENABLE -#define CONF_SERCOM_3_I2CM_ENABLE 1 -#endif - -// Basic - -// I2C Bus clock speed (Hz) <1-400000> -// I2C Bus clock (SCL) speed measured in Hz -// i2c_master_baud_rate -#ifndef CONF_SERCOM_3_I2CM_BAUD -#define CONF_SERCOM_3_I2CM_BAUD 400000 -#endif - -// - -// Advanced -// i2c_master_advanced -#ifndef CONF_SERCOM_3_I2CM_ADVANCED_CONFIG -#define CONF_SERCOM_3_I2CM_ADVANCED_CONFIG 0 -#endif - -// TRise (ns) <0-300> -// Determined by the bus impedance, check electric characteristics in the datasheet -// Standard Fast Mode: typical 215ns, max 300ns -// Fast Mode +: typical 60ns, max 100ns -// High Speed Mode: typical 20ns, max 40ns -// i2c_master_arch_trise - -#ifndef CONF_SERCOM_3_I2CM_TRISE -#define CONF_SERCOM_3_I2CM_TRISE 215 -#endif - -// Master SCL Low Extended Time-Out (MEXTTOEN) -// This enables the master SCL low extend time-out -// i2c_master_arch_mexttoen -#ifndef CONF_SERCOM_3_I2CM_MEXTTOEN -#define CONF_SERCOM_3_I2CM_MEXTTOEN 0 -#endif - -// Slave SCL Low Extend Time-Out (SEXTTOEN) -// Enables the slave SCL low extend time-out. If SCL is cumulatively held low for greater than 25ms from the initial START to a STOP, the slave will release its clock hold if enabled and reset the internal state machine -// i2c_master_arch_sexttoen -#ifndef CONF_SERCOM_3_I2CM_SEXTTOEN -#define CONF_SERCOM_3_I2CM_SEXTTOEN 0 -#endif - -// SCL Low Time-Out (LOWTOUT) -// Enables SCL low time-out. If SCL is held low for 25ms-35ms, the master will release it's clock hold -// i2c_master_arch_lowtout -#ifndef CONF_SERCOM_3_I2CM_LOWTOUT -#define CONF_SERCOM_3_I2CM_LOWTOUT 0 -#endif - -// Inactive Time-Out (INACTOUT) -// <0x0=>Disabled -// <0x1=>5-6 SCL cycle time-out(50-60us) -// <0x2=>10-11 SCL cycle time-out(100-110us) -// <0x3=>20-21 SCL cycle time-out(200-210us) -// Defines if inactivity time-out should be enabled, and how long the time-out should be -// i2c_master_arch_inactout -#ifndef CONF_SERCOM_3_I2CM_INACTOUT -#define CONF_SERCOM_3_I2CM_INACTOUT 0x0 -#endif - -// SDA Hold Time (SDAHOLD) -// <0=>Disabled -// <1=>50-100ns hold time -// <2=>300-600ns hold time -// <3=>400-800ns hold time -// Defines the SDA hold time with respect to the negative edge of SCL -// i2c_master_arch_sdahold -#ifndef CONF_SERCOM_3_I2CM_SDAHOLD -#define CONF_SERCOM_3_I2CM_SDAHOLD 0x2 -#endif - -// Run in stand-by -// Determine if the module shall run in standby sleep mode -// i2c_master_arch_runstdby -#ifndef CONF_SERCOM_3_I2CM_RUNSTDBY -#define CONF_SERCOM_3_I2CM_RUNSTDBY 0 -#endif - -// Debug Stop Mode -// Behavior of the baud-rate generator when CPU is halted by external debugger. -// <0=>Keep running -// <1=>Halt -// i2c_master_arch_dbgstop -#ifndef CONF_SERCOM_3_I2CM_DEBUG_STOP_MODE -#define CONF_SERCOM_3_I2CM_DEBUG_STOP_MODE 0 -#endif - -// - -#ifndef CONF_SERCOM_3_I2CM_SPEED -#define CONF_SERCOM_3_I2CM_SPEED 0x00 // Speed: Standard/Fast mode -#endif -#if CONF_SERCOM_3_I2CM_TRISE < 215 || CONF_SERCOM_3_I2CM_TRISE > 300 -#warning Bad I2C Rise time for Standard/Fast mode, reset to 215ns -#undef CONF_SERCOM_3_I2CM_TRISE -#define CONF_SERCOM_3_I2CM_TRISE 215U -#endif - -// gclk_freq - (i2c_scl_freq * 10) - (gclk_freq * i2c_scl_freq * Trise) -// BAUD + BAUDLOW = -------------------------------------------------------------------- -// i2c_scl_freq -// BAUD: register value low [7:0] -// BAUDLOW: register value high [15:8], only used for odd BAUD + BAUDLOW -#define CONF_SERCOM_3_I2CM_BAUD_BAUDLOW \ - (((CONF_GCLK_SERCOM3_CORE_FREQUENCY - (CONF_SERCOM_3_I2CM_BAUD * 10U) \ - - (CONF_SERCOM_3_I2CM_TRISE * (CONF_SERCOM_3_I2CM_BAUD / 100U) * (CONF_GCLK_SERCOM3_CORE_FREQUENCY / 10000U) \ - / 1000U)) \ - * 10U \ - + 5U) \ - / (CONF_SERCOM_3_I2CM_BAUD * 10U)) -#ifndef CONF_SERCOM_3_I2CM_BAUD_RATE -#if CONF_SERCOM_3_I2CM_BAUD_BAUDLOW > (0xFF * 2) -#warning Requested I2C baudrate too low, please check -#define CONF_SERCOM_3_I2CM_BAUD_RATE 0xFF -#elif CONF_SERCOM_3_I2CM_BAUD_BAUDLOW <= 1 -#warning Requested I2C baudrate too high, please check -#define CONF_SERCOM_3_I2CM_BAUD_RATE 1 -#else -#define CONF_SERCOM_3_I2CM_BAUD_RATE \ - ((CONF_SERCOM_3_I2CM_BAUD_BAUDLOW & 0x1) \ - ? (CONF_SERCOM_3_I2CM_BAUD_BAUDLOW / 2) + ((CONF_SERCOM_3_I2CM_BAUD_BAUDLOW / 2 + 1) << 8) \ - : (CONF_SERCOM_3_I2CM_BAUD_BAUDLOW / 2)) -#endif -#endif - -// <<< end of configuration section >>> - -#endif // HPL_SERCOM_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/hpl_tc_config.h b/software/firmware/oracle_same54n19a/config/hpl_tc_config.h deleted file mode 100644 index ae5921c..0000000 --- a/software/firmware/oracle_same54n19a/config/hpl_tc_config.h +++ /dev/null @@ -1,180 +0,0 @@ -/* Auto-generated config file hpl_tc_config.h */ -#ifndef HPL_TC_CONFIG_H -#define HPL_TC_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -#ifndef CONF_TC0_ENABLE -#define CONF_TC0_ENABLE 1 -#endif - -#include "peripheral_clk_config.h" - -// Basic configuration - -// Prescaler -// <0x0=> No division -// <0x1=> Divide by 2 -// <0x2=> Divide by 4 -// <0x3=> Divide by 8 -// <0x4=> Divide by 16 -// <0x5=> Divide by 64 -// <0x6=> Divide by 256 -// <0x7=> Divide by 1024 -// This defines the prescaler value -// timer_prescaler -#ifndef CONF_TC0_PRESCALER -#define CONF_TC0_PRESCALER 0x3 -#endif - -// Length of one timer tick in uS <0-4294967295> -// timer_tick -#ifndef CONF_TC0_TIMER_TICK -#define CONF_TC0_TIMER_TICK 1000 -#endif -// - -// Advanced configuration -// timer_advanced_configuration -#ifndef CONF_TC0__ADVANCED_CONFIGURATION_ENABLE -#define CONF_TC0__ADVANCED_CONFIGURATION_ENABLE 0 -#endif - -// Prescaler and Counter Synchronization Selection -// Reload or reset counter on next GCLK -// Reload or reset counter on next prescaler clock -// Reload or reset counter on next GCLK and reset prescaler counter -// These bits select if on retrigger event, the Counter should be cleared or reloaded on the next GCLK_TCx clock or on the next prescaled GCLK_TCx clock. -// tc_arch_presync -#ifndef CONF_TC0_PRESCSYNC -#define CONF_TC0_PRESCSYNC TC_CTRLA_PRESCSYNC_GCLK_Val -#endif - -// Run in standby -// Indicates whether the module will continue to run in standby sleep mode -// tc_arch_runstdby -#ifndef CONF_TC0_RUNSTDBY -#define CONF_TC0_RUNSTDBY 0 -#endif - -// Run in debug mode -// Indicates whether the module will run in debug mode -// tc_arch_dbgrun -#ifndef CONF_TC0_DBGRUN -#define CONF_TC0_DBGRUN 0 -#endif - -// Run on demand -// Run if requested by some other peripheral in the device -// tc_arch_ondemand -#ifndef CONF_TC0_ONDEMAND -#define CONF_TC0_ONDEMAND 0 -#endif - -// - -// Event control -// timer_event_control -#ifndef CONF_TC0_EVENT_CONTROL_ENABLE -#define CONF_TC0_EVENT_CONTROL_ENABLE 0 -#endif - -// Output Event On Match or Capture on Channel 0 -// Enable output of event on timer tick -// tc_arch_mceo0 -#ifndef CONF_TC0_MCEO0 -#define CONF_TC0_MCEO0 0 -#endif - -// Output Event On Match or Capture on Channel 1 -// Enable output of event on timer tick -// tc_arch_mceo1 -#ifndef CONF_TC0_MCEO1 -#define CONF_TC0_MCEO1 0 -#endif - -// Output Event On Timer Tick -// Enable output of event on timer tick -// tc_arch_ovfeo -#ifndef CONF_TC0_OVFEO -#define CONF_TC0_OVFEO 0 -#endif - -// Event Input -// Enable asynchronous input events -// tc_arch_tcei -#ifndef CONF_TC0_TCEI -#define CONF_TC0_TCEI 0 -#endif - -// Inverted Event Input -// Invert the asynchronous input events -// tc_arch_tcinv -#ifndef CONF_TC0_TCINV -#define CONF_TC0_TCINV 0 -#endif - -// Event action -// <0=> Event action disabled -// <1=> Start, restart or re-trigger TC on event -// <2=> Count on event -// <3=> Start on event -// <4=> Time stamp capture -// <5=> Period captured in CC0, pulse width in CC1 -// <6=> Period captured in CC1, pulse width in CC0 -// <7=> Pulse width capture -// Event which will be performed on an event -// tc_arch_evact -#ifndef CONF_TC0_EVACT -#define CONF_TC0_EVACT 0 -#endif -// - -// Default values which the driver needs in order to work correctly - -// Mode set to 32-bit -#ifndef CONF_TC0_MODE -#define CONF_TC0_MODE TC_CTRLA_MODE_COUNT32_Val -#endif - -// CC 1 register set to 0 -#ifndef CONF_TC0_CC1 -#define CONF_TC0_CC1 0 -#endif - -#ifndef CONF_TC0_ALOCK -#define CONF_TC0_ALOCK 0 -#endif - -// Not used in 32-bit mode -#define CONF_TC0_PER 0 - -// Calculating correct top value based on requested tick interval. -#define CONF_TC0_PRESCALE (1 << CONF_TC0_PRESCALER) - -// Prescaler set to 64 -#if CONF_TC0_PRESCALER > 0x4 -#undef CONF_TC0_PRESCALE -#define CONF_TC0_PRESCALE 64 -#endif - -// Prescaler set to 256 -#if CONF_TC0_PRESCALER > 0x5 -#undef CONF_TC0_PRESCALE -#define CONF_TC0_PRESCALE 256 -#endif - -// Prescaler set to 1024 -#if CONF_TC0_PRESCALER > 0x6 -#undef CONF_TC0_PRESCALE -#define CONF_TC0_PRESCALE 1024 -#endif - -#ifndef CONF_TC0_CC0 -#define CONF_TC0_CC0 \ - (uint32_t)(((float)CONF_TC0_TIMER_TICK / 1000000.f) / (1.f / (CONF_GCLK_TC0_FREQUENCY / CONF_TC0_PRESCALE))) -#endif - -// <<< end of configuration section >>> - -#endif // HPL_TC_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/config/lv_conf.h b/software/firmware/oracle_same54n19a/config/lv_conf.h deleted file mode 100644 index e3a4414..0000000 --- a/software/firmware/oracle_same54n19a/config/lv_conf.h +++ /dev/null @@ -1,699 +0,0 @@ -/** - * @file lv_conf.h - * - */ - -/* - * COPY THIS FILE AS `lv_conf.h` NEXT TO the `lvgl` FOLDER - */ - -#if 1 /*Set it to "1" to enable content*/ - -#ifndef LV_CONF_H -#define LV_CONF_H -/* clang-format off */ - -#include - -/*==================== - Graphical settings - *====================*/ - -/* Maximal horizontal and vertical resolution to support by the library.*/ -#define LV_HOR_RES_MAX (480) -#define LV_VER_RES_MAX (272) - -/* Color depth: - * - 1: 1 byte per pixel - * - 8: RGB233 - * - 16: RGB565 - * - 32: ARGB8888 - */ -#define LV_COLOR_DEPTH 16 - -/* Swap the 2 bytes of RGB565 color. - * Useful if the display has a 8 bit interface (e.g. SPI)*/ -#define LV_COLOR_16_SWAP 0 - -/* 1: Enable screen transparency. - * Useful for OSD or other overlapping GUIs. - * Requires `LV_COLOR_DEPTH = 32` colors and the screen's style should be modified: `style.body.opa = ...`*/ -#define LV_COLOR_SCREEN_TRANSP 0 - -/*Images pixels with this color will not be drawn (with chroma keying)*/ -#define LV_COLOR_TRANSP LV_COLOR_LIME /*LV_COLOR_LIME: pure green*/ - -/* Enable anti-aliasing (lines, and radiuses will be smoothed) */ -#define LV_ANTIALIAS 1 - -/* Default display refresh period. - * Can be changed in the display driver (`lv_disp_drv_t`).*/ -#define LV_DISP_DEF_REFR_PERIOD 30 /*[ms]*/ - -/* Dot Per Inch: used to initialize default sizes. - * E.g. a button with width = LV_DPI / 2 -> half inch wide - * (Not so important, you can adjust it to modify default sizes and spaces)*/ -#define LV_DPI 130 /*[px]*/ - -/* The the real width of the display changes some default values: - * default object sizes, layout of examples, etc. - * According to the width of the display (hor. res. / dpi) - * the displays fall in 4 categories. - * The 4th is extra large which has no upper limit so not listed here - * The upper limit of the categories are set below in 0.1 inch unit. - */ -#define LV_DISP_SMALL_LIMIT 30 -#define LV_DISP_MEDIUM_LIMIT 50 -#define LV_DISP_LARGE_LIMIT 70 - -/* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */ -typedef int16_t lv_coord_t; - -/*========================= - Memory manager settings - *=========================*/ - -/* LittelvGL's internal memory manager's settings. - * The graphical objects and other related data are stored here. */ - -/* 1: use custom malloc/free, 0: use the built-in `lv_mem_alloc` and `lv_mem_free` */ -#define LV_MEM_CUSTOM 0 -#if LV_MEM_CUSTOM == 0 -/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/ -# define LV_MEM_SIZE (16U * 1024U) - -/* Complier prefix for a big array declaration */ -# define LV_MEM_ATTR - -/* Set an address for the memory pool instead of allocating it as an array. - * Can be in external SRAM too. */ -# define LV_MEM_ADR 0 - -/* Automatically defrag. on free. Defrag. means joining the adjacent free cells. */ -# define LV_MEM_AUTO_DEFRAG 1 -#else /*LV_MEM_CUSTOM*/ -# define LV_MEM_CUSTOM_INCLUDE /*Header for the dynamic memory function*/ -# define LV_MEM_CUSTOM_ALLOC malloc /*Wrapper to malloc*/ -# define LV_MEM_CUSTOM_FREE free /*Wrapper to free*/ -#endif /*LV_MEM_CUSTOM*/ - -/* Garbage Collector settings - * Used if lvgl is binded to higher level language and the memory is managed by that language */ -#define LV_ENABLE_GC 0 -#if LV_ENABLE_GC != 0 -# define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/ -# define LV_MEM_CUSTOM_REALLOC your_realloc /*Wrapper to realloc*/ -# define LV_MEM_CUSTOM_GET_SIZE your_mem_get_size /*Wrapper to lv_mem_get_size*/ -#endif /* LV_ENABLE_GC */ - -/*======================= - Input device settings - *=======================*/ - -/* Input device default settings. - * Can be changed in the Input device driver (`lv_indev_drv_t`)*/ - -/* Input device read period in milliseconds */ -#define LV_INDEV_DEF_READ_PERIOD 30 - -/* Drag threshold in pixels */ -#define LV_INDEV_DEF_DRAG_LIMIT 10 - -/* Drag throw slow-down in [%]. Greater value -> faster slow-down */ -#define LV_INDEV_DEF_DRAG_THROW 10 - -/* Long press time in milliseconds. - * Time to send `LV_EVENT_LONG_PRESSSED`) */ -#define LV_INDEV_DEF_LONG_PRESS_TIME 400 - -/* Repeated trigger period in long press [ms] - * Time between `LV_EVENT_LONG_PRESSED_REPEAT */ -#define LV_INDEV_DEF_LONG_PRESS_REP_TIME 100 - - -/* Gesture threshold in pixels */ -#define LV_INDEV_DEF_GESTURE_LIMIT 50 - -/* Gesture min velocity at release before swipe (pixels)*/ -#define LV_INDEV_DEF_GESTURE_MIN_VELOCITY 3 - -/*================== - * Feature usage - *==================*/ - -/*1: Enable the Animations */ -#define LV_USE_ANIMATION 1 -#if LV_USE_ANIMATION - -/*Declare the type of the user data of animations (can be e.g. `void *`, `int`, `struct`)*/ -typedef void * lv_anim_user_data_t; - -#endif - -/* 1: Enable shadow drawing*/ -#define LV_USE_SHADOW 1 -#if LV_USE_SHADOW -/* Allow buffering some shadow calculation - * LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, - * where shadow size is `shadow_width + radius` - * Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost*/ -#define LV_SHADOW_CACHE_SIZE 0 -#endif - -/* 1: Use other blend modes than normal (`LV_BLEND_MODE_...`)*/ -#define LV_USE_BLEND_MODES 1 - -/* 1: Use the `opa_scale` style property to set the opacity of an object and its children at once*/ -#define LV_USE_OPA_SCALE 1 - -/* 1: Use image zoom and rotation*/ -#define LV_USE_IMG_TRANSFORM 1 - -/* 1: Enable object groups (for keyboard/encoder navigation) */ -#define LV_USE_GROUP 1 -#if LV_USE_GROUP -typedef void * lv_group_user_data_t; -#endif /*LV_USE_GROUP*/ - -/* 1: Enable GPU interface*/ -#define LV_USE_GPU 1 /*Only enables `gpu_fill_cb` and `gpu_blend_cb` in the disp. drv- */ -#define LV_USE_GPU_STM32_DMA2D 0 - -/* 1: Enable file system (might be required for images */ -#define LV_USE_FILESYSTEM 1 -#if LV_USE_FILESYSTEM -/*Declare the type of the user data of file system drivers (can be e.g. `void *`, `int`, `struct`)*/ -typedef void * lv_fs_drv_user_data_t; -#endif - -/*1: Add a `user_data` to drivers and objects*/ -#define LV_USE_USER_DATA 0 - -/*1: Show CPU usage and FPS count in the right bottom corner*/ -#define LV_USE_PERF_MONITOR 0 - -/*1: Use the functions and types from the older API if possible */ -#define LV_USE_API_EXTENSION_V6 1 - -/*======================== - * Image decoder and cache - *========================*/ - -/* 1: Enable indexed (palette) images */ -#define LV_IMG_CF_INDEXED 1 - -/* 1: Enable alpha indexed images */ -#define LV_IMG_CF_ALPHA 1 - -/* Default image cache size. Image caching keeps the images opened. - * If only the built-in image formats are used there is no real advantage of caching. - * (I.e. no new image decoder is added) - * With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images. - * However the opened images might consume additional RAM. - * LV_IMG_CACHE_DEF_SIZE must be >= 1 */ -#define LV_IMG_CACHE_DEF_SIZE 1 - -/*Declare the type of the user data of image decoder (can be e.g. `void *`, `int`, `struct`)*/ -typedef void * lv_img_decoder_user_data_t; - -/*===================== - * Compiler settings - *====================*/ -/* Define a custom attribute to `lv_tick_inc` function */ -#define LV_ATTRIBUTE_TICK_INC - -/* Define a custom attribute to `lv_task_handler` function */ -#define LV_ATTRIBUTE_TASK_HANDLER - -/* Define a custom attribute to `lv_disp_flush_ready` function */ -#define LV_ATTRIBUTE_FLUSH_READY - -/* With size optimization (-Os) the compiler might not align data to - * 4 or 8 byte boundary. This alignment will be explicitly applied where needed. - * E.g. __attribute__((aligned(4))) */ -#define LV_ATTRIBUTE_MEM_ALIGN - -/* Attribute to mark large constant arrays for example - * font's bitmaps */ -#define LV_ATTRIBUTE_LARGE_CONST - -/* Prefix performance critical functions to place them into a faster memory (e.g RAM) - * Uses 15-20 kB extra memory */ -#define LV_ATTRIBUTE_FAST_MEM - -/* Export integer constant to binding. - * This macro is used with constants in the form of LV_ that - * should also appear on lvgl binding API such as Micropython - * - * The default value just prevents a GCC warning. - */ -#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning - -/*=================== - * HAL settings - *==================*/ - -/* 1: use a custom tick source. - * It removes the need to manually update the tick with `lv_tick_inc`) */ -#define LV_TICK_CUSTOM 0 -#if LV_TICK_CUSTOM == 1 -#define LV_TICK_CUSTOM_INCLUDE "something.h" /*Header for the sys time function*/ -#define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current systime in ms*/ -#endif /*LV_TICK_CUSTOM*/ - -typedef void * lv_disp_drv_user_data_t; /*Type of user data in the display driver*/ -typedef void * lv_indev_drv_user_data_t; /*Type of user data in the input device driver*/ - -/*================ - * Log settings - *===============*/ - -/*1: Enable the log module*/ -#define LV_USE_LOG 1 -#if LV_USE_LOG -/* How important log should be added: - * LV_LOG_LEVEL_TRACE A lot of logs to give detailed information - * LV_LOG_LEVEL_INFO Log important events - * LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem - * LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail - * LV_LOG_LEVEL_NONE Do not log anything - */ -#define LV_LOG_LEVEL LV_LOG_LEVEL_INFO - -/* 1: Print the log with 'printf'; - * 0: user need to register a callback with `lv_log_register_print_cb`*/ -#define LV_LOG_PRINTF 0 -#endif /*LV_USE_LOG*/ - -/*================= - * Debug settings - *================*/ - -/* If Debug is enabled LittelvGL validates the parameters of the functions. - * If an invalid parameter is found an error log message is printed and - * the MCU halts at the error. (`LV_USE_LOG` should be enabled) - * If you are debugging the MCU you can pause - * the debugger to see exactly where the issue is. - * - * The behavior of asserts can be overwritten by redefining them here. - * E.g. #define LV_ASSERT_MEM(p) - */ -#define LV_USE_DEBUG 1 -#if LV_USE_DEBUG - -/*Check if the parameter is NULL. (Quite fast) */ -#define LV_USE_ASSERT_NULL 1 - -/*Checks is the memory is successfully allocated or no. (Quite fast)*/ -#define LV_USE_ASSERT_MEM 1 - -/*Check the integrity of `lv_mem` after critical operations. (Slow)*/ -#define LV_USE_ASSERT_MEM_INTEGRITY 0 - -/* Check the strings. - * Search for NULL, very long strings, invalid characters, and unnatural repetitions. (Slow) - * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */ -#define LV_USE_ASSERT_STR 0 - -/* Check NULL, the object's type and existence (e.g. not deleted). (Quite slow) - * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */ -#define LV_USE_ASSERT_OBJ 0 - -/*Check if the styles are properly initialized. (Fast)*/ -#define LV_USE_ASSERT_STYLE 0 - -#endif /*LV_USE_DEBUG*/ - -/*================== - * FONT USAGE - *===================*/ - -/* The built-in fonts contains the ASCII range and some Symbols with 4 bit-per-pixel. - * The symbols are available via `LV_SYMBOL_...` defines - * More info about fonts: https://docs.lvgl.com/#Fonts - * To create a new font go to: https://lvgl.com/ttf-font-to-c-array - */ - -/* Montserrat fonts with bpp = 4 - * https://fonts.google.com/specimen/Montserrat */ -#define LV_FONT_MONTSERRAT_12 0 -#define LV_FONT_MONTSERRAT_14 1 -#define LV_FONT_MONTSERRAT_16 1 -#define LV_FONT_MONTSERRAT_18 0 -#define LV_FONT_MONTSERRAT_20 0 -#define LV_FONT_MONTSERRAT_22 0 -#define LV_FONT_MONTSERRAT_24 0 -#define LV_FONT_MONTSERRAT_26 0 -#define LV_FONT_MONTSERRAT_28 0 -#define LV_FONT_MONTSERRAT_30 0 -#define LV_FONT_MONTSERRAT_32 0 -#define LV_FONT_MONTSERRAT_34 0 -#define LV_FONT_MONTSERRAT_36 0 -#define LV_FONT_MONTSERRAT_38 0 -#define LV_FONT_MONTSERRAT_40 0 -#define LV_FONT_MONTSERRAT_42 0 -#define LV_FONT_MONTSERRAT_44 0 -#define LV_FONT_MONTSERRAT_46 0 -#define LV_FONT_MONTSERRAT_48 0 - -/* Demonstrate special features */ -#define LV_FONT_MONTSERRAT_12_SUBPX 0 -#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/ -#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /*Hebrew, Arabic, PErisan letters and all their forms*/ -#define LV_FONT_SIMSUN_16_CJK 0 /*1000 most common CJK radicals*/ - -/*Pixel perfect monospace font - * http://pelulamu.net/unscii/ */ -#define LV_FONT_UNSCII_8 0 - -/* Optionally declare your custom fonts here. - * You can use these fonts as default font too - * and they will be available globally. E.g. - * #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) \ - * LV_FONT_DECLARE(my_font_2) - */ -#define LV_FONT_CUSTOM_DECLARE - -/* Enable it if you have fonts with a lot of characters. - * The limit depends on the font size, font face and bpp - * but with > 10,000 characters if you see issues probably you need to enable it.*/ -#define LV_FONT_FMT_TXT_LARGE 0 - -/* Set the pixel order of the display. - * Important only if "subpx fonts" are used. - * With "normal" font it doesn't matter. - */ -#define LV_FONT_SUBPX_BGR 0 - -/*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/ -typedef void * lv_font_user_data_t; - -/*================ - * THEME USAGE - *================*/ - -/*Always enable at least on theme*/ - -/* No theme, you can apply your styles as you need - * No flags. Set LV_THEME_DEFAULT_FLAG 0 */ - #define LV_USE_THEME_EMPTY 1 - -/*Simple to the create your theme based on it - * No flags. Set LV_THEME_DEFAULT_FLAG 0 */ - #define LV_USE_THEME_TEMPLATE 1 - -/* A fast and impressive theme. - * Flags: - * LV_THEME_MATERIAL_FLAG_LIGHT: light theme - * LV_THEME_MATERIAL_FLAG_DARK: dark theme*/ - #define LV_USE_THEME_MATERIAL 1 - -/* Mono-color theme for monochrome displays. - * If LV_THEME_DEFAULT_COLOR_PRIMARY is LV_COLOR_BLACK the - * texts and borders will be black and the background will be - * white. Else the colors are inverted. - * No flags. Set LV_THEME_DEFAULT_FLAG 0 */ - #define LV_USE_THEME_MONO 1 - -#define LV_THEME_DEFAULT_INCLUDE /*Include a header for the init. function*/ -#define LV_THEME_DEFAULT_INIT lv_theme_material_init -#define LV_THEME_DEFAULT_COLOR_PRIMARY LV_COLOR_RED -#define LV_THEME_DEFAULT_COLOR_SECONDARY LV_COLOR_BLUE -#define LV_THEME_DEFAULT_FLAG LV_THEME_MATERIAL_FLAG_LIGHT -#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_16 -#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_16 -#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_16 -#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_16 - -/*================= - * Text settings - *=================*/ - -/* Select a character encoding for strings. - * Your IDE or editor should have the same character encoding - * - LV_TXT_ENC_UTF8 - * - LV_TXT_ENC_ASCII - * */ -#define LV_TXT_ENC LV_TXT_ENC_UTF8 - - /*Can break (wrap) texts on these chars*/ -#define LV_TXT_BREAK_CHARS " ,.;:-_" - -/* If a word is at least this long, will break wherever "prettiest" - * To disable, set to a value <= 0 */ -#define LV_TXT_LINE_BREAK_LONG_LEN 0 - -/* Minimum number of characters in a long word to put on a line before a break. - * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */ -#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 - -/* Minimum number of characters in a long word to put on a line after a break. - * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */ -#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 - -/* The control character to use for signalling text recoloring. */ -#define LV_TXT_COLOR_CMD "#" - -/* Support bidirectional texts. - * Allows mixing Left-to-Right and Right-to-Left texts. - * The direction will be processed according to the Unicode Bidirectioanl Algorithm: - * https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ -#define LV_USE_BIDI 0 -#if LV_USE_BIDI -/* Set the default direction. Supported values: - * `LV_BIDI_DIR_LTR` Left-to-Right - * `LV_BIDI_DIR_RTL` Right-to-Left - * `LV_BIDI_DIR_AUTO` detect texts base direction */ -#define LV_BIDI_BASE_DIR_DEF LV_BIDI_DIR_AUTO -#endif - -/* Enable Arabic/Persian processing - * In these languages characters should be replaced with - * an other form based on their position in the text */ -#define LV_USE_ARABIC_PERSIAN_CHARS 0 - -/*Change the built in (v)snprintf functions*/ -#define LV_SPRINTF_CUSTOM 0 -#if LV_SPRINTF_CUSTOM -# define LV_SPRINTF_INCLUDE -# define lv_snprintf snprintf -# define lv_vsnprintf vsnprintf -#endif /*LV_SPRINTF_CUSTOM*/ - -/*=================== - * LV_OBJ SETTINGS - *==================*/ - -#if LV_USE_USER_DATA -/*Declare the type of the user data of object (can be e.g. `void *`, `int`, `struct`)*/ -typedef void * lv_obj_user_data_t; -/*Provide a function to free user data*/ -#define LV_USE_USER_DATA_FREE 0 -#if LV_USE_USER_DATA_FREE -# define LV_USER_DATA_FREE_INCLUDE "something.h" /*Header for user data free function*/ -/* Function prototype : void user_data_free(lv_obj_t * obj); */ -# define LV_USER_DATA_FREE (user_data_free) /*Invoking for user data free function*/ -#endif -#endif - -/*1: enable `lv_obj_realaign()` based on `lv_obj_align()` parameters*/ -#define LV_USE_OBJ_REALIGN 1 - -/* Enable to make the object clickable on a larger area. - * LV_EXT_CLICK_AREA_OFF or 0: Disable this feature - * LV_EXT_CLICK_AREA_TINY: The extra area can be adjusted horizontally and vertically (0..255 px) - * LV_EXT_CLICK_AREA_FULL: The extra area can be adjusted in all 4 directions (-32k..+32k px) - */ -#define LV_USE_EXT_CLICK_AREA LV_EXT_CLICK_AREA_TINY - -/*================== - * LV OBJ X USAGE - *================*/ -/* - * Documentation of the object types: https://docs.lvgl.com/#Object-types - */ - -/*Arc (dependencies: -)*/ -#define LV_USE_ARC 1 - -/*Bar (dependencies: -)*/ -#define LV_USE_BAR 1 - -/*Button (dependencies: lv_cont*/ -#define LV_USE_BTN 1 - -/*Button matrix (dependencies: -)*/ -#define LV_USE_BTNMATRIX 1 - -/*Calendar (dependencies: -)*/ -#define LV_USE_CALENDAR 1 - -/*Canvas (dependencies: lv_img)*/ -#define LV_USE_CANVAS 1 - -/*Check box (dependencies: lv_btn, lv_label)*/ -#define LV_USE_CHECKBOX 1 - -/*Chart (dependencies: -)*/ -#define LV_USE_CHART 1 -#if LV_USE_CHART -# define LV_CHART_AXIS_TICK_LABEL_MAX_LEN 256 -#endif - -/*Container (dependencies: -*/ -#define LV_USE_CONT 1 - -/*Color picker (dependencies: -*/ -#define LV_USE_CPICKER 1 - -/*Drop down list (dependencies: lv_page, lv_label, lv_symbol_def.h)*/ -#define LV_USE_DROPDOWN 1 -#if LV_USE_DROPDOWN != 0 -/*Open and close default animation time [ms] (0: no animation)*/ -# define LV_DROPDOWN_DEF_ANIM_TIME 200 -#endif - -/*Gauge (dependencies:lv_bar, lv_linemeter)*/ -#define LV_USE_GAUGE 1 - -/*Image (dependencies: lv_label*/ -#define LV_USE_IMG 1 - -/*Image Button (dependencies: lv_btn*/ -#define LV_USE_IMGBTN 1 -#if LV_USE_IMGBTN -/*1: The imgbtn requires left, mid and right parts and the width can be set freely*/ -# define LV_IMGBTN_TILED 0 -#endif - -/*Keyboard (dependencies: lv_btnm)*/ -#define LV_USE_KEYBOARD 1 - -/*Label (dependencies: -*/ -#define LV_USE_LABEL 1 -#if LV_USE_LABEL != 0 -/*Hor, or ver. scroll speed [px/sec] in 'LV_LABEL_LONG_ROLL/ROLL_CIRC' mode*/ -# define LV_LABEL_DEF_SCROLL_SPEED 25 - -/* Waiting period at beginning/end of animation cycle */ -# define LV_LABEL_WAIT_CHAR_COUNT 3 - -/*Enable selecting text of the label */ -# define LV_LABEL_TEXT_SEL 0 - -/*Store extra some info in labels (12 bytes) to speed up drawing of very long texts*/ -# define LV_LABEL_LONG_TXT_HINT 0 -#endif - -/*LED (dependencies: -)*/ -#define LV_USE_LED 1 -#if LV_USE_LED -# define LV_LED_BRIGHT_MIN 120 /*Minimal brightness*/ -# define LV_LED_BRIGHT_MAX 255 /*Maximal brightness*/ -#endif - -/*Line (dependencies: -*/ -#define LV_USE_LINE 1 - -/*List (dependencies: lv_page, lv_btn, lv_label, (lv_img optionally for icons ))*/ -#define LV_USE_LIST 1 -#if LV_USE_LIST != 0 -/*Default animation time of focusing to a list element [ms] (0: no animation) */ -# define LV_LIST_DEF_ANIM_TIME 100 -#endif - -/*Line meter (dependencies: *;)*/ -#define LV_USE_LINEMETER 1 -#if LV_USE_LINEMETER -/* Draw line more precisely at cost of performance. - * Useful if there are lot of lines any minor are visible - * 0: No extra precision - * 1: Some extra precision - * 2: Best precision - */ -# define LV_LINEMETER_PRECISE 0 -#endif - -/*Mask (dependencies: -)*/ -#define LV_USE_OBJMASK 1 - -/*Message box (dependencies: lv_rect, lv_btnm, lv_label)*/ -#define LV_USE_MSGBOX 1 - -/*Page (dependencies: lv_cont)*/ -#define LV_USE_PAGE 1 -#if LV_USE_PAGE != 0 -/*Focus default animation time [ms] (0: no animation)*/ -# define LV_PAGE_DEF_ANIM_TIME 400 -#endif - -/*Preload (dependencies: lv_arc, lv_anim)*/ -#define LV_USE_SPINNER 1 -#if LV_USE_SPINNER != 0 -# define LV_SPINNER_DEF_ARC_LENGTH 60 /*[deg]*/ -# define LV_SPINNER_DEF_SPIN_TIME 1000 /*[ms]*/ -# define LV_SPINNER_DEF_ANIM LV_SPINNER_TYPE_SPINNING_ARC -#endif - -/*Roller (dependencies: lv_ddlist)*/ -#define LV_USE_ROLLER 1 -#if LV_USE_ROLLER != 0 -/*Focus animation time [ms] (0: no animation)*/ -# define LV_ROLLER_DEF_ANIM_TIME 200 - -/*Number of extra "pages" when the roller is infinite*/ -# define LV_ROLLER_INF_PAGES 7 -#endif - -/*Slider (dependencies: lv_bar)*/ -#define LV_USE_SLIDER 1 - -/*Spinbox (dependencies: lv_ta)*/ -#define LV_USE_SPINBOX 1 - -/*Switch (dependencies: lv_slider)*/ -#define LV_USE_SWITCH 1 - -/*Text area (dependencies: lv_label, lv_page)*/ -#define LV_USE_TEXTAREA 1 -#if LV_USE_TEXTAREA != 0 -# define LV_TEXTAREA_DEF_CURSOR_BLINK_TIME 400 /*ms*/ -# define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/ -#endif - -/*Table (dependencies: lv_label)*/ -#define LV_USE_TABLE 1 -#if LV_USE_TABLE -# define LV_TABLE_COL_MAX 12 -#endif - -/*Tab (dependencies: lv_page, lv_btnm)*/ -#define LV_USE_TABVIEW 1 -# if LV_USE_TABVIEW != 0 -/*Time of slide animation [ms] (0: no animation)*/ -# define LV_TABVIEW_DEF_ANIM_TIME 300 -#endif - -/*Tileview (dependencies: lv_page) */ -#define LV_USE_TILEVIEW 1 -#if LV_USE_TILEVIEW -/*Time of slide animation [ms] (0: no animation)*/ -# define LV_TILEVIEW_DEF_ANIM_TIME 300 -#endif - -/*Window (dependencies: lv_cont, lv_btn, lv_label, lv_img, lv_page)*/ -#define LV_USE_WIN 1 - -/*================== - * Non-user section - *==================*/ - -#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) /* Disable warnings for Visual Studio*/ -# define _CRT_SECURE_NO_WARNINGS -#endif - -/*--END OF LV_CONF_H--*/ - -#endif /*LV_CONF_H*/ - -#endif /*End of "Content enable"*/ diff --git a/software/firmware/oracle_same54n19a/config/lv_demo_conf.h b/software/firmware/oracle_same54n19a/config/lv_demo_conf.h deleted file mode 100644 index c39f812..0000000 --- a/software/firmware/oracle_same54n19a/config/lv_demo_conf.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * @file lv_demo_conf.h - * Configuration file for v8.1.1-dev - * - */ -/* - * COPY THIS FILE AS lv_demo_conf.h - */ - -/* clang-format off */ -#if 0 /*Set it to "1" to enable the content*/ - -#ifndef LV_DEMO_CONF_H -#define LV_DEMO_CONF_H - - -/******************* - * GENERAL SETTING - *******************/ -#define LV_EX_PRINTF 0 /*Enable printf-ing data in demoes and examples*/ -#define LV_EX_KEYBOARD 0 /*Add PC keyboard support to some examples (`lv_drivers` repository is required)*/ -#define LV_EX_MOUSEWHEEL 0 /*Add 'encoder' (mouse wheel) support to some examples (`lv_drivers` repository is required)*/ - -/********************* - * DEMO USAGE - *********************/ - -/*Show some widget*/ -#define LV_USE_DEMO_WIDGETS 0 -#if LV_USE_DEMO_WIDGETS -#define LV_DEMO_WIDGETS_SLIDESHOW 0 -#endif - -/*Printer demo, optimized for 800x480*/ -#define LV_USE_DEMO_PRINTER 0 - -/*Demonstrate the usage of encoder and keyboard*/ -#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0 - -/*Benchmark your system*/ -#define LV_USE_DEMO_BENCHMARK 1 - -/*Stress test for LVGL*/ -#define LV_USE_DEMO_STRESS 0 - -/*Music player demo*/ -#define LV_USE_DEMO_MUSIC 1 -#if LV_USE_DEMO_MUSIC -# define LV_DEMO_MUSIC_SQUARE 0 -# define LV_DEMO_MUSIC_LANDSCAPE 0 -# define LV_DEMO_MUSIC_ROUND 0 -# define LV_DEMO_MUSIC_LARGE 0 -# define LV_DEMO_MUSIC_AUTO_PLAY 0 -#endif - -#endif /*LV_DEMO_CONF_H*/ - -#endif /*End of "Content enable"*/ - diff --git a/software/firmware/oracle_same54n19a/config/lv_ex_conf.h b/software/firmware/oracle_same54n19a/config/lv_ex_conf.h deleted file mode 100644 index c2c1a14..0000000 --- a/software/firmware/oracle_same54n19a/config/lv_ex_conf.h +++ /dev/null @@ -1,47 +0,0 @@ -/** - * @file lv_ex_conf.h - * - */ -/* - * COPY THIS FILE AS lv_ex_conf.h - */ - -#if 1 /*Set it to "1" to enable the content*/ - -#ifndef LV_EX_CONF_H -#define LV_EX_CONF_H - - -/******************* - * GENERAL SETTING - *******************/ -#define LV_EX_PRINTF 0 /*Enable printf-ing data in demoes and examples*/ -#define LV_EX_KEYBOARD 0 /*Add PC keyboard support to some examples (`lv_drivers` repository is required)*/ -#define LV_EX_MOUSEWHEEL 0 /*Add 'encoder' (mouse wheel) support to some examples (`lv_drivers` repository is required)*/ - -/********************* - * DEMO USAGE - *********************/ - -/*Show some widget*/ -#define LV_USE_DEMO_WIDGETS 0 -#if LV_USE_DEMO_WIDGETS -#define LV_DEMO_WIDGETS_SLIDESHOW 0 -#endif - -/*Printer demo, optimized for 800x480*/ -#define LV_USE_DEMO_PRINTER 0 - -/*Demonstrate the usage of encoder and keyboard*/ -#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0 - -/*Benchmark your system*/ -#define LV_USE_DEMO_BENCHMARK 1 - -/*Stress test for LVGL*/ -#define LV_USE_DEMO_STRESS 0 - -#endif /*LV_EX_CONF_H*/ - -#endif /*End of "Content enable"*/ - diff --git a/software/firmware/oracle_same54n19a/config/pc_board.h b/software/firmware/oracle_same54n19a/config/pc_board.h deleted file mode 100644 index a2263ab..0000000 --- a/software/firmware/oracle_same54n19a/config/pc_board.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * pc_board.h - * - * Created: 5/3/2020 6:47:40 PM - * Author: Penguin - */ -#ifndef _PC_BOARD_H_ -#define _PC_BOARD_H_ - -#include - -// SAME54 has 14 pin functions -#define GPIO_PIN_FUNCTION_A 0 -#define GPIO_PIN_FUNCTION_B 1 -#define GPIO_PIN_FUNCTION_C 2 -#define GPIO_PIN_FUNCTION_D 3 -#define GPIO_PIN_FUNCTION_E 4 -#define GPIO_PIN_FUNCTION_F 5 -#define GPIO_PIN_FUNCTION_G 6 -#define GPIO_PIN_FUNCTION_H 7 -#define GPIO_PIN_FUNCTION_I 8 -#define GPIO_PIN_FUNCTION_J 9 -#define GPIO_PIN_FUNCTION_K 10 -#define GPIO_PIN_FUNCTION_L 11 -#define GPIO_PIN_FUNCTION_M 12 -#define GPIO_PIN_FUNCTION_N 13 - -// I2C Config -#define I2C_MASTER_SDA (GPIO_PORTA, 22) -#define I2C_MASTER_SDA_MUX PINMUX_PA22C_SERCOM3_PAD0 - -#define I2C_MASTER_SCL (GPIO_PORTA, 23) -#define I2C_MASTER_SCL_MUX PINMUX_PA23C_SERCOM3_PAD1 -#define I2C_MASTER_SERCOM SERCOM3 - -// Debug USART Config -#define USART_DEBUG_RX GPIO(GPIO_PORTA, 5) -#define USART_DEBUG_RX_MUX PINMUX_PA05D_SERCOM0_PAD1 - -#define USART_DEBUG_TX GPIO(GPIO_PORTA, 4) -#define USART_DEBUG_TX_MUX PINMUX_PA04D_SERCOM0_PAD0 - -#define USART_DEBUG_SERCOM SERCOM0 - -//SSD1963 HW Config -#define SSD1963_TFT_DATA_MASK (0x0000FFFF) -#define SSD1963_TFT_DATA_GROUP ((PortGroup*)&PORT->Group[1]) -#define SSD1963_TFT_DATA_PORT GPIO_PORTB -#define SSD1963_TFT_DATA_PORT_GROUP (&PORT->Group[1]) -#define SSD1963_TFT_DATA_DIRECTION GPIO_DIRECTION_OUT -#define SSD1963_TFT_DATA_PULL_MODE GPIO_PULL_OFF -#define SSD1963_TFT_DATA_FUNCTION GPIO_PIN_FUNCTION_OFF - -#define SSD1963_TFT_nRST_PIN PIN_PC28 -#define SSD1963_TFT_nRST_PORT_PIN 28 -#define SSD1963_TFT_nRST_PORT GPIO_PORTC -#define SSD1963_TFT_nRST_FUNCTION GPIO_PIN_FUNCTION_OFF -#define SSD1963_TFT_nRST_DIRECTION GPIO_DIRECTION_OUT -#define SSD1963_TFT_nRST_PULL_MODE GPIO_PULL_UP -#define SSD1963_TFT_nRST GPIO(SSD1963_TFT_nRST_PORT, SSD1963_TFT_nRST_PORT_PIN) - -#define SSD1963_TFT_RSDC_PIN PIN_PA09 -#define SSD1963_TFT_RSDC_PORT_PIN 9 -#define SSD1963_TFT_RSDC_PORT GPIO_PORTA -#define SSD1963_TFT_RSDC_FUNCTION GPIO_PIN_FUNCTION_OFF -#define SSD1963_TFT_RSDC_DIRECTION GPIO_DIRECTION_OUT -#define SSD1963_TFT_RSDC_PULL_MODE GPIO_PULL_DOWN -#define SSD1963_TFT_RSDC GPIO(SSD1963_TFT_RSDC_PORT, SSD1963_TFT_RSDC_PORT_PIN) - -#define SSD1963_TFT_CS_PIN PIN_PA08 -#define SSD1963_TFT_CS_PORT_PIN 8 -#define SSD1963_TFT_CS_PORT GPIO_PORTA -#define SSD1963_TFT_CS_FUNCTION GPIO_PIN_FUNCTION_OFF -#define SSD1963_TFT_CS_DIRECTION GPIO_DIRECTION_OUT -#define SSD1963_TFT_CS_PULL_MODE GPIO_PULL_DOWN -#define SSD1963_TFT_CS GPIO(SSD1963_TFT_CS_PORT, SSD1963_TFT_CS_PORT_PIN) - -#define SSD1963_TFT_WR_PIN PIN_PB24 -#define SSD1963_TFT_WR_PORT_PIN 24 -#define SSD1963_TFT_WR_PORT GPIO_PORTB -#define SSD1963_TFT_WR_FUNCTION GPIO_PIN_FUNCTION_OFF -#define SSD1963_TFT_WR_DIRECTION GPIO_DIRECTION_OUT -#define SSD1963_TFT_WR_PULL_MODE GPIO_PULL_DOWN -#define SSD1963_TFT_WR GPIO(SSD1963_TFT_WR_PORT, SSD1963_TFT_WR_PORT_PIN) - -#define SSD1963_TFT_RD_PIN PIN_PB25 -#define SSD1963_TFT_RD_PORT_PIN 25 -#define SSD1963_TFT_RD_PORT GPIO_PORTB -#define SSD1963_TFT_RD_FUNCTION GPIO_PIN_FUNCTION_OFF -#define SSD1963_TFT_RD_DIRECTION GPIO_DIRECTION_OUT -#define SSD1963_TFT_RD_PULL_MODE GPIO_PULL_DOWN -#define SSD1963_TFT_RD GPIO(SSD1963_TFT_RD_PORT, SSD1963_TFT_RD_PORT_PIN) - -#define SSD1963_TFT_TE_PIN PIN_PA03 -#define SSD1963_TFT_TE_PORT_PIN 3 -#define SSD1963_TFT_TE_PORT GPIO_PORTA -#define SSD1963_TFT_TE_FUNCTION GPIO_PIN_FUNCTION_OFF -#define SSD1963_TFT_TE_DIRECTION GPIO_DIRECTION_IN -#define SSD1963_TFT_TE_PULL_MODE GPIO_PULL_DOWN -#define SSD1963_TFT_TE GPIO(SSD1963_TFT_TE_PORT, SSD1963_TFT_TE_PORT_PIN) - - -#endif diff --git a/software/firmware/oracle_same54n19a/config/pc_master.h b/software/firmware/oracle_same54n19a/config/pc_master.h deleted file mode 100644 index f3e7915..0000000 --- a/software/firmware/oracle_same54n19a/config/pc_master.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * pc_master.h - * - * Created: 5/3/2020 6:47:27 PM - * Author: Penguin - */ -#ifndef _PC_MASTER_H_ -#define _PC_MASTER_H_ - -// usart debug settings -#define DEBUG_MAX_BUFFER_SIZE (256) - - -#endif diff --git a/software/firmware/oracle_same54n19a/config/peripheral_clk_config.h b/software/firmware/oracle_same54n19a/config/peripheral_clk_config.h deleted file mode 100644 index c8359e7..0000000 --- a/software/firmware/oracle_same54n19a/config/peripheral_clk_config.h +++ /dev/null @@ -1,257 +0,0 @@ -/* Auto-generated config file peripheral_clk_config.h */ -#ifndef PERIPHERAL_CLK_CONFIG_H -#define PERIPHERAL_CLK_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// EIC Clock Source -// eic_gclk_selection - -// Generic clock generator 0 - -// Generic clock generator 1 - -// Generic clock generator 2 - -// Generic clock generator 3 - -// Generic clock generator 4 - -// Generic clock generator 5 - -// Generic clock generator 6 - -// Generic clock generator 7 - -// Generic clock generator 8 - -// Generic clock generator 9 - -// Generic clock generator 10 - -// Generic clock generator 11 - -// Select the clock source for EIC. -#ifndef CONF_GCLK_EIC_SRC -#define CONF_GCLK_EIC_SRC GCLK_PCHCTRL_GEN_GCLK0_Val -#endif - -/** - * \def CONF_GCLK_EIC_FREQUENCY - * \brief EIC's Clock frequency - */ -#ifndef CONF_GCLK_EIC_FREQUENCY -#define CONF_GCLK_EIC_FREQUENCY 119997440 -#endif - -/** - * \def CONF_CPU_FREQUENCY - * \brief CPU's Clock frequency - */ -#ifndef CONF_CPU_FREQUENCY -#define CONF_CPU_FREQUENCY 119997440 -#endif - -// Core Clock Source -// core_gclk_selection - -// Generic clock generator 0 - -// Generic clock generator 1 - -// Generic clock generator 2 - -// Generic clock generator 3 - -// Generic clock generator 4 - -// Generic clock generator 5 - -// Generic clock generator 6 - -// Generic clock generator 7 - -// Generic clock generator 8 - -// Generic clock generator 9 - -// Generic clock generator 10 - -// Generic clock generator 11 - -// Select the clock source for CORE. -#ifndef CONF_GCLK_SERCOM0_CORE_SRC -#define CONF_GCLK_SERCOM0_CORE_SRC GCLK_PCHCTRL_GEN_GCLK0_Val -#endif - -// Slow Clock Source -// slow_gclk_selection - -// Generic clock generator 0 - -// Generic clock generator 1 - -// Generic clock generator 2 - -// Generic clock generator 3 - -// Generic clock generator 4 - -// Generic clock generator 5 - -// Generic clock generator 6 - -// Generic clock generator 7 - -// Generic clock generator 8 - -// Generic clock generator 9 - -// Generic clock generator 10 - -// Generic clock generator 11 - -// Select the slow clock source. -#ifndef CONF_GCLK_SERCOM0_SLOW_SRC -#define CONF_GCLK_SERCOM0_SLOW_SRC GCLK_PCHCTRL_GEN_GCLK3_Val -#endif - -/** - * \def CONF_GCLK_SERCOM0_CORE_FREQUENCY - * \brief SERCOM0's Core Clock frequency - */ -#ifndef CONF_GCLK_SERCOM0_CORE_FREQUENCY -#define CONF_GCLK_SERCOM0_CORE_FREQUENCY 119997440 -#endif - -/** - * \def CONF_GCLK_SERCOM0_SLOW_FREQUENCY - * \brief SERCOM0's Slow Clock frequency - */ -#ifndef CONF_GCLK_SERCOM0_SLOW_FREQUENCY -#define CONF_GCLK_SERCOM0_SLOW_FREQUENCY 32768 -#endif - -// Core Clock Source -// core_gclk_selection - -// Generic clock generator 0 - -// Generic clock generator 1 - -// Generic clock generator 2 - -// Generic clock generator 3 - -// Generic clock generator 4 - -// Generic clock generator 5 - -// Generic clock generator 6 - -// Generic clock generator 7 - -// Generic clock generator 8 - -// Generic clock generator 9 - -// Generic clock generator 10 - -// Generic clock generator 11 - -// Select the clock source for CORE. -#ifndef CONF_GCLK_SERCOM3_CORE_SRC -#define CONF_GCLK_SERCOM3_CORE_SRC GCLK_PCHCTRL_GEN_GCLK0_Val -#endif - -// Slow Clock Source -// slow_gclk_selection - -// Generic clock generator 0 - -// Generic clock generator 1 - -// Generic clock generator 2 - -// Generic clock generator 3 - -// Generic clock generator 4 - -// Generic clock generator 5 - -// Generic clock generator 6 - -// Generic clock generator 7 - -// Generic clock generator 8 - -// Generic clock generator 9 - -// Generic clock generator 10 - -// Generic clock generator 11 - -// Select the slow clock source. -#ifndef CONF_GCLK_SERCOM3_SLOW_SRC -#define CONF_GCLK_SERCOM3_SLOW_SRC GCLK_PCHCTRL_GEN_GCLK3_Val -#endif - -/** - * \def CONF_GCLK_SERCOM3_CORE_FREQUENCY - * \brief SERCOM3's Core Clock frequency - */ -#ifndef CONF_GCLK_SERCOM3_CORE_FREQUENCY -#define CONF_GCLK_SERCOM3_CORE_FREQUENCY 119997440 -#endif - -/** - * \def CONF_GCLK_SERCOM3_SLOW_FREQUENCY - * \brief SERCOM3's Slow Clock frequency - */ -#ifndef CONF_GCLK_SERCOM3_SLOW_FREQUENCY -#define CONF_GCLK_SERCOM3_SLOW_FREQUENCY 32768 -#endif - -// TC Clock Source -// tc_gclk_selection - -// Generic clock generator 0 - -// Generic clock generator 1 - -// Generic clock generator 2 - -// Generic clock generator 3 - -// Generic clock generator 4 - -// Generic clock generator 5 - -// Generic clock generator 6 - -// Generic clock generator 7 - -// Generic clock generator 8 - -// Generic clock generator 9 - -// Generic clock generator 10 - -// Generic clock generator 11 - -// Select the clock source for TC. -#ifndef CONF_GCLK_TC0_SRC -#define CONF_GCLK_TC0_SRC GCLK_PCHCTRL_GEN_GCLK0_Val -#endif - -/** - * \def CONF_GCLK_TC0_FREQUENCY - * \brief TC0's Clock frequency - */ -#ifndef CONF_GCLK_TC0_FREQUENCY -#define CONF_GCLK_TC0_FREQUENCY 119997440 -#endif - -// <<< end of configuration section >>> - -#endif // PERIPHERAL_CLK_CONFIG_H diff --git a/software/firmware/oracle_same54n19a/driver_init.c b/software/firmware/oracle_same54n19a/driver_init.c deleted file mode 100644 index fd77cda..0000000 --- a/software/firmware/oracle_same54n19a/driver_init.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Code generated from Atmel Start. - * - * This file will be overwritten when reconfiguring your Atmel Start project. - * Please copy examples or other code you want to keep to a separate file - * to avoid losing it when reconfiguring. - */ - -#include "driver_init.h" -#include -#include -#include - -/*! The buffer size for USART */ -#define USART_0_BUFFER_SIZE 16 - -struct usart_async_descriptor USART_0; -struct timer_descriptor TIMER_0; - -static uint8_t USART_0_buffer[USART_0_BUFFER_SIZE]; - -struct i2c_m_sync_desc I2C_0; - -void EXTERNAL_IRQ_0_init(void) -{ - hri_gclk_write_PCHCTRL_reg(GCLK, EIC_GCLK_ID, CONF_GCLK_EIC_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - hri_mclk_set_APBAMASK_EIC_bit(MCLK); - - ext_irq_init(); -} - -/** - * \brief USART Clock initialization function - * - * Enables register interface and peripheral clock - */ -void USART_0_CLOCK_init() -{ - - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM0_GCLK_ID_CORE, CONF_GCLK_SERCOM0_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM0_GCLK_ID_SLOW, CONF_GCLK_SERCOM0_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - - hri_mclk_set_APBAMASK_SERCOM0_bit(MCLK); -} - -/** - * \brief USART pinmux initialization function - * - * Set each required pin to USART functionality - */ -void USART_0_PORT_init() -{ - - gpio_set_pin_function(PA04, PINMUX_PA04D_SERCOM0_PAD0); - - gpio_set_pin_function(PA05, PINMUX_PA05D_SERCOM0_PAD1); -} - -/** - * \brief USART initialization function - * - * Enables USART peripheral, clocks and initializes USART driver - */ -void USART_0_init(void) -{ - USART_0_CLOCK_init(); - usart_async_init(&USART_0, SERCOM0, USART_0_buffer, USART_0_BUFFER_SIZE, (void *)NULL); - USART_0_PORT_init(); -} - -void I2C_0_PORT_init(void) -{ - - gpio_set_pin_pull_mode(PA22, - // Pull configuration - // pad_pull_config - // Off - // Pull-up - // Pull-down - GPIO_PULL_OFF); - - gpio_set_pin_function(PA22, PINMUX_PA22C_SERCOM3_PAD0); - - gpio_set_pin_pull_mode(PA23, - // Pull configuration - // pad_pull_config - // Off - // Pull-up - // Pull-down - GPIO_PULL_OFF); - - gpio_set_pin_function(PA23, PINMUX_PA23C_SERCOM3_PAD1); -} - -void I2C_0_CLOCK_init(void) -{ - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_CORE, CONF_GCLK_SERCOM3_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_SLOW, CONF_GCLK_SERCOM3_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - - hri_mclk_set_APBBMASK_SERCOM3_bit(MCLK); -} - -void I2C_0_init(void) -{ - I2C_0_CLOCK_init(); - i2c_m_sync_init(&I2C_0, SERCOM3); - I2C_0_PORT_init(); -} - -/** - * \brief Timer initialization function - * - * Enables Timer peripheral, clocks and initializes Timer driver - */ -static void TIMER_0_init(void) -{ - hri_mclk_set_APBAMASK_TC0_bit(MCLK); - hri_gclk_write_PCHCTRL_reg(GCLK, TC0_GCLK_ID, CONF_GCLK_TC0_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - - timer_init(&TIMER_0, TC0, _tc_get_timer()); -} - -void system_init(void) -{ - init_mcu(); - - EXTERNAL_IRQ_0_init(); - - USART_0_init(); - - I2C_0_init(); - - TIMER_0_init(); -} diff --git a/software/firmware/oracle_same54n19a/driver_init.h b/software/firmware/oracle_same54n19a/driver_init.h deleted file mode 100644 index 16d4f9f..0000000 --- a/software/firmware/oracle_same54n19a/driver_init.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Code generated from Atmel Start. - * - * This file will be overwritten when reconfiguring your Atmel Start project. - * Please copy examples or other code you want to keep to a separate file - * to avoid losing it when reconfiguring. - */ -#ifndef DRIVER_INIT_INCLUDED -#define DRIVER_INIT_INCLUDED - -#include "atmel_start_pins.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include -#include -#include - -extern struct usart_async_descriptor USART_0; - -extern struct i2c_m_sync_desc I2C_0; -extern struct timer_descriptor TIMER_0; - -void USART_0_PORT_init(void); -void USART_0_CLOCK_init(void); -void USART_0_init(void); - -void I2C_0_CLOCK_init(void); -void I2C_0_init(void); -void I2C_0_PORT_init(void); - -/** - * \brief Perform system initialization, initialize pins and clocks for - * peripherals - */ -void system_init(void); - -#ifdef __cplusplus -} -#endif -#endif // DRIVER_INIT_INCLUDED diff --git a/software/firmware/oracle_same54n19a/examples/driver_examples.c b/software/firmware/oracle_same54n19a/examples/driver_examples.c deleted file mode 100644 index 7cf9ca8..0000000 --- a/software/firmware/oracle_same54n19a/examples/driver_examples.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Code generated from Atmel Start. - * - * This file will be overwritten when reconfiguring your Atmel Start project. - * Please copy examples or other code you want to keep to a separate file - * to avoid losing it when reconfiguring. - */ - -#include "driver_examples.h" -#include "driver_init.h" -#include "utils.h" - -/** - * Example of using EXTERNAL_IRQ_0 - */ -void EXTERNAL_IRQ_0_example(void) -{ -} - -/** - * Example of using USART_0 to write "Hello World" using the IO abstraction. - * - * Since the driver is asynchronous we need to use statically allocated memory for string - * because driver initiates transfer and then returns before the transmission is completed. - * - * Once transfer has been completed the tx_cb function will be called. - */ - -static uint8_t example_USART_0[12] = "Hello World!"; - -static void tx_cb_USART_0(const struct usart_async_descriptor *const io_descr) -{ - /* Transfer completed */ -} - -void USART_0_example(void) -{ - struct io_descriptor *io; - - usart_async_register_callback(&USART_0, USART_ASYNC_TXC_CB, tx_cb_USART_0); - /*usart_async_register_callback(&USART_0, USART_ASYNC_RXC_CB, rx_cb); - usart_async_register_callback(&USART_0, USART_ASYNC_ERROR_CB, err_cb);*/ - usart_async_get_io_descriptor(&USART_0, &io); - usart_async_enable(&USART_0); - - io_write(io, example_USART_0, 12); -} - -void I2C_0_example(void) -{ - struct io_descriptor *I2C_0_io; - - i2c_m_sync_get_io_descriptor(&I2C_0, &I2C_0_io); - i2c_m_sync_enable(&I2C_0); - i2c_m_sync_set_slaveaddr(&I2C_0, 0x12, I2C_M_SEVEN); - io_write(I2C_0_io, (uint8_t *)"Hello World!", 12); -} - -static struct timer_task TIMER_0_task1, TIMER_0_task2; - -/** - * Example of using TIMER_0. - */ -static void TIMER_0_task1_cb(const struct timer_task *const timer_task) -{ -} - -static void TIMER_0_task2_cb(const struct timer_task *const timer_task) -{ -} - -void TIMER_0_example(void) -{ - TIMER_0_task1.interval = 100; - TIMER_0_task1.cb = TIMER_0_task1_cb; - TIMER_0_task1.mode = TIMER_TASK_REPEAT; - TIMER_0_task2.interval = 200; - TIMER_0_task2.cb = TIMER_0_task2_cb; - TIMER_0_task2.mode = TIMER_TASK_REPEAT; - - timer_add_task(&TIMER_0, &TIMER_0_task1); - timer_add_task(&TIMER_0, &TIMER_0_task2); - timer_start(&TIMER_0); -} diff --git a/software/firmware/oracle_same54n19a/examples/driver_examples.h b/software/firmware/oracle_same54n19a/examples/driver_examples.h deleted file mode 100644 index 8e0cea1..0000000 --- a/software/firmware/oracle_same54n19a/examples/driver_examples.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Code generated from Atmel Start. - * - * This file will be overwritten when reconfiguring your Atmel Start project. - * Please copy examples or other code you want to keep to a separate file - * to avoid losing it when reconfiguring. - */ -#ifndef DRIVER_EXAMPLES_H_INCLUDED -#define DRIVER_EXAMPLES_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -void EXTERNAL_IRQ_0_example(void); - -void USART_0_example(void); - -void I2C_0_example(void); - -void TIMER_0_example(void); - -#ifdef __cplusplus -} -#endif -#endif // DRIVER_EXAMPLES_H_INCLUDED diff --git a/software/firmware/oracle_same54n19a/gcc/.gdb_history b/software/firmware/oracle_same54n19a/gcc/.gdb_history deleted file mode 100644 index e78c129..0000000 --- a/software/firmware/oracle_same54n19a/gcc/.gdb_history +++ /dev/null @@ -1,256 +0,0 @@ -tar extended-remote /dev/ttyBmpGdb -mon s -att 1 -load -r -r -load -q -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -att 1 -b main -r -load -b main -r -n -c -tar extended-remote /dev/ttyBmpGdb -mon s -att 1 -load -r -c -make -j20 -load -del -r -q -q -mon s -mon s -mon s -mon s -mon s -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -mon s -mon s -mon s -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -mon s -mon s -mon s -mon s -mon s -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -q -q -tar extended-remote /dev/ttyBmpGdb -mon s -mon s -mon s -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -mon s -tar extended-remote /dev/ttyBmpGdb -mon s -att 1 -load -r -r -load -q -q -tar extended-remote /dev/ttyBmpGdb -mon s -att 1 -load -r -q -s -n -n -n -n -s -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -q -s -n -n -n -n -s -n -n -n -p SSD1963_TFT_DATA_PORT -p SSD1963_TFT_DATA_MASK -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -n -s -q -tar ext /dev/ttyGdbBmp -tar ext /dev/ttyBmpGdb -mon s -att 1 -load -r -qq -q -tar ext /dev/ttyBmpGdb -mon s -att 1 -load AtmelStart.elf -r -q -mon s -mon s -mon s -mon s -att 1 -load -r -w -q diff --git a/software/firmware/oracle_same54n19a/gcc/Makefile b/software/firmware/oracle_same54n19a/gcc/Makefile deleted file mode 100644 index ab1fef7..0000000 --- a/software/firmware/oracle_same54n19a/gcc/Makefile +++ /dev/null @@ -1,695 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -TOOLCHAIN=/storage/Shared/Documents/ARM_Toolchain/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi- -#GCC=$(TOOLCHAIN)gcc -GCC=arm-none-eabi-gcc -GDB=arm-none-eabi-gdb -SIZE=arm-none-eabi-size -ifdef SystemRoot - SHELL = cmd.exe - MK_DIR = mkdir -else - ifeq ($(shell uname), Linux) - MK_DIR = mkdir -p - endif - - ifeq ($(shell uname | cut -d _ -f 1), CYGWIN) - MK_DIR = mkdir -p - endif - - ifeq ($(shell uname | cut -d _ -f 1), MINGW32) - MK_DIR = mkdir -p - endif - - ifeq ($(shell uname | cut -d _ -f 1), MINGW64) - MK_DIR = mkdir -p - endif - - ifeq ($(shell uname | cut -d _ -f 1), DARWIN) - MK_DIR = mkdir -p - endif -endif - -print-% : ; @echo $* = $($*) -# List the subdirectories for creating object files -SUB_DIRS += \ - \ -hpl/pm \ -hpl/tc \ -hpl/osc32kctrl \ -hpl/ramecc \ -hpl/dmac \ -hal/src \ -gcc \ -hpl/mclk \ -hpl/eic \ -hpl/sercom \ -hpl/gclk \ -hpl/oscctrl \ -hal/utils/src \ -gcc/gcc \ -hpl/core \ -hpl/cmcc \ -shared/drivers \ -shared/devices \ -shared/devices/display \ -shared/thirdparty/lvgl/porting \ -shared/thirdparty/lvgl/src/lv_core \ -shared/thirdparty/lvgl/src/lv_draw \ -shared/thirdparty/lvgl/src/lv_font \ -shared/thirdparty/lvgl/src/lv_gpu \ -shared/thirdparty/lvgl/src/lv_hal \ -shared/thirdparty/lvgl/src/lv_misc \ -shared/thirdparty/lvgl/src/lv_themes \ -shared/thirdparty/lvgl/src/lv_widgets \ -shared/thirdparty/lvgl/tests \ -shared/thirdparty/lvgl/tests/lv_test_core \ -shared/thirdparty/lvgl/tests/lv_test_objx \ -shared/thirdparty/lv_examples/src/lv_demo_benchmark \ -shared/thirdparty/lv_examples/assets - -# List the object files -OBJS += \ -hal/src/hal_io.o \ -hpl/eic/hpl_eic.o \ -hpl/core/hpl_core_m4.o \ -hal/utils/src/utils_syscalls.o \ -hal/src/hal_timer.o \ -gcc/system_same54.o \ -hal/src/hal_i2c_m_sync.o \ -hal/src/hal_delay.o \ -hpl/pm/hpl_pm.o \ -hpl/core/hpl_init.o \ -hpl/ramecc/hpl_ramecc.o \ -hal/utils/src/utils_list.o \ -hal/utils/src/utils_assert.o \ -hpl/dmac/hpl_dmac.o \ -hpl/oscctrl/hpl_oscctrl.o \ -hpl/mclk/hpl_mclk.o \ -hpl/sercom/hpl_sercom.o \ -hpl/gclk/hpl_gclk.o \ -hal/src/hal_init.o \ -gcc/gcc/startup_same54.o \ -main.o \ -oracle.o \ -hpl/osc32kctrl/hpl_osc32kctrl.o \ -driver_init.o \ -hal/src/hal_usart_async.o \ -hal/src/hal_ext_irq.o \ -hal/utils/src/utils_ringbuffer.o \ -hal/src/hal_gpio.o \ -hal/utils/src/utils_event.o \ -hal/src/hal_sleep.o \ -hal/src/hal_cache.o \ -hpl/cmcc/hpl_cmcc.o \ -atmel_start.o \ -hpl/tc/hpl_tc.o \ -hal/src/hal_atomic.o \ -shared/drivers/p_gpio.o \ -shared/drivers/p_i2c.o \ -shared/drivers/p_tcc.o \ -shared/drivers/p_usart.o \ -shared/devices/p_screen.o \ -shared/devices/display/p_ssd1963.o \ -shared/thirdparty/lvgl/porting/lv_port_disp_template.o \ -shared/thirdparty/lvgl/porting/lv_port_fs_template.o \ -shared/thirdparty/lvgl/porting/lv_port_indev_template.o \ -shared/thirdparty/lvgl/src/lv_core/lv_debug.o \ -shared/thirdparty/lvgl/src/lv_core/lv_disp.o \ -shared/thirdparty/lvgl/src/lv_core/lv_group.o \ -shared/thirdparty/lvgl/src/lv_core/lv_indev.o \ -shared/thirdparty/lvgl/src/lv_core/lv_obj.o \ -shared/thirdparty/lvgl/src/lv_core/lv_refr.o \ -shared/thirdparty/lvgl/src/lv_core/lv_style.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.o \ -shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.o \ -shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.o \ -shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.o \ -shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o \ -shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o \ -shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_anim.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_area.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_async.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_bidi.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_color.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_fs.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_gc.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_ll.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_log.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_math.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_mem.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_printf.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_task.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_templ.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_txt.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.o \ -shared/thirdparty/lvgl/src/lv_misc/lv_utils.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.o \ -shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_arc.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_bar.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_btn.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_chart.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_cont.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_img.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_label.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_led.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_line.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_list.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_page.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_roller.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_slider.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_switch.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_table.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.o \ -shared/thirdparty/lvgl/src/lv_widgets/lv_win.o \ -shared/thirdparty/lvgl/tests/lv_test_assert.o \ -shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.o \ -shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.o \ -shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.o \ -shared/thirdparty/lvgl/tests/lv_test_main.o \ -shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o \ -shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.o \ -shared/thirdparty/lv_examples/assets/img_cogwheel_argb.o \ -shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.o \ -shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.o \ -shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.o \ -shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.o \ -shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.o \ -shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.o \ -shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.o - -OBJS_AS_ARGS += \ -"hal/src/hal_io.o" \ -"hpl/eic/hpl_eic.o" \ -"hpl/core/hpl_core_m4.o" \ -"hal/utils/src/utils_syscalls.o" \ -"hal/src/hal_timer.o" \ -"gcc/system_same54.o" \ -"hal/src/hal_i2c_m_sync.o" \ -"hal/src/hal_delay.o" \ -"hpl/pm/hpl_pm.o" \ -"hpl/core/hpl_init.o" \ -"hpl/ramecc/hpl_ramecc.o" \ -"hal/utils/src/utils_list.o" \ -"hal/utils/src/utils_assert.o" \ -"hpl/dmac/hpl_dmac.o" \ -"hpl/oscctrl/hpl_oscctrl.o" \ -"hpl/mclk/hpl_mclk.o" \ -"hpl/sercom/hpl_sercom.o" \ -"hpl/gclk/hpl_gclk.o" \ -"hal/src/hal_init.o" \ -"gcc/gcc/startup_same54.o" \ -"main.o" \ -"oracle.o" \ -"hpl/osc32kctrl/hpl_osc32kctrl.o" \ -"driver_init.o" \ -"hal/src/hal_usart_async.o" \ -"hal/src/hal_ext_irq.o" \ -"hal/utils/src/utils_ringbuffer.o" \ -"hal/src/hal_gpio.o" \ -"hal/utils/src/utils_event.o" \ -"hal/src/hal_sleep.o" \ -"hal/src/hal_cache.o" \ -"hpl/cmcc/hpl_cmcc.o" \ -"atmel_start.o" \ -"hpl/tc/hpl_tc.o" \ -"hal/src/hal_atomic.o" \ -"shared/drivers/p_gpio.o" \ -"shared/drivers/p_i2c.o" \ -"shared/drivers/p_tcc.o" \ -"shared/drivers/p_usart.o" \ -"shared/devices/p_screen.o" \ -"shared/devices/display/p_ssd1963.o" \ -"shared/thirdparty/lvgl/porting/lv_port_disp_template.o" \ -"shared/thirdparty/lvgl/porting/lv_port_fs_template.o" \ -"shared/thirdparty/lvgl/porting/lv_port_indev_template.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_debug.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_disp.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_group.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_indev.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_obj.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_refr.o" \ -"shared/thirdparty/lvgl/src/lv_core/lv_style.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.o" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.o" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.o" \ -"shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.o" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_anim.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_area.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_async.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_bidi.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_color.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_fs.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_gc.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_ll.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_log.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_math.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_mem.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_printf.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_task.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_templ.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_txt.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.o" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_utils.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.o" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_arc.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_bar.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_btn.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_chart.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_cont.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_img.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_label.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_led.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_line.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_list.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_page.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_roller.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_slider.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_switch.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_table.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.o" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_win.o" \ -"shared/thirdparty/lvgl/tests/lv_test_assert.o" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.o" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.o" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.o" \ -"shared/thirdparty/lvgl/tests/lv_test_main.o" \ -"shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o" \ -"shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.o" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_argb.o" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.o" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.o" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.o" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.o" \ -"shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.o" \ -"shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.o" \ -"shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.o" - -# List the directories containing header files -DIR_INCLUDES += \ --I"../" \ --I"../config" \ --I"../hal/include" \ --I"../hal/utils/include" \ --I"../hpl/cmcc" \ --I"../hpl/core" \ --I"../hpl/dmac" \ --I"../hpl/eic" \ --I"../hpl/gclk" \ --I"../hpl/mclk" \ --I"../hpl/osc32kctrl" \ --I"../hpl/oscctrl" \ --I"../hpl/pm" \ --I"../hpl/port" \ --I"../hpl/ramecc" \ --I"../hpl/sercom" \ --I"../hpl/tc" \ --I"../hri" \ --I"../CMSIS/Core/Include" \ --I"../include" \ --I"../shared/thirdparty" \ --I"../shared/thirdparty/lvgl" \ --I"../shared/drivers" \ --I"../shared/devices" \ --I"../shared/devices/display" - -# List the dependency files -DEPS := $(OBJS:%.o=%.d) - -DEPS_AS_ARGS += \ -"hal/utils/src/utils_event.d" \ -"hal/src/hal_io.d" \ -"hpl/ramecc/hpl_ramecc.d" \ -"hpl/core/hpl_core_m4.d" \ -"hpl/eic/hpl_eic.d" \ -"hal/utils/src/utils_syscalls.d" \ -"hal/src/hal_i2c_m_sync.d" \ -"hal/src/hal_timer.d" \ -"hal/utils/src/utils_list.d" \ -"hpl/cmcc/hpl_cmcc.d" \ -"hpl/dmac/hpl_dmac.d" \ -"hal/utils/src/utils_assert.d" \ -"hal/src/hal_delay.d" \ -"hpl/core/hpl_init.d" \ -"hpl/pm/hpl_pm.d" \ -"hpl/gclk/hpl_gclk.d" \ -"hpl/sercom/hpl_sercom.d" \ -"gcc/gcc/startup_same54.d" \ -"hal/src/hal_init.d" \ -"hpl/mclk/hpl_mclk.d" \ -"driver_init.d" \ -"hal/src/hal_usart_async.d" \ -"hpl/osc32kctrl/hpl_osc32kctrl.d" \ -"main.d" \ -"hal/src/hal_cache.d" \ -"hal/src/hal_sleep.d" \ -"hal/utils/src/utils_ringbuffer.d" \ -"hal/src/hal_ext_irq.d" \ -"hal/src/hal_gpio.d" \ -"hal/src/hal_atomic.d" \ -"hpl/tc/hpl_tc.d" \ -"hpl/oscctrl/hpl_oscctrl.d" \ -"gcc/system_same54.d" \ -"atmel_start.d" \ -"shared/drivers/p_gpio.d" \ -"shared/drivers/p_i2c.d" \ -"shared/drivers/p_tcc.d" \ -"shared/drivers/p_usart.d" \ -"shared/devices/p_screen.d" \ -"shared/devices/display/p_ssd1963.d" \ -"shared/thirdparty/lvgl/porting/lv_port_disp_template.d" \ -"shared/thirdparty/lvgl/porting/lv_port_fs_template.d" \ -"shared/thirdparty/lvgl/porting/lv_port_indev_template.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_debug.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_disp.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_group.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_indev.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_obj.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_refr.d" \ -"shared/thirdparty/lvgl/src/lv_core/lv_style.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.d" \ -"shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.d" \ -"shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.d" \ -"shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.d" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.d" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.d" \ -"shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_anim.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_area.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_async.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_bidi.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_color.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_fs.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_gc.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_ll.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_log.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_math.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_mem.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_printf.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_task.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_templ.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_txt.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.d" \ -"shared/thirdparty/lvgl/src/lv_misc/lv_utils.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.d" \ -"shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_arc.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_bar.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_btn.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_chart.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_cont.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_img.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_label.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_led.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_line.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_list.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_page.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_roller.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_slider.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_switch.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_table.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.d" \ -"shared/thirdparty/lvgl/src/lv_widgets/lv_win.d" \ -"shared/thirdparty/lvgl/tests/lv_test_assert.d" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.d" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.d" \ -"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.d" \ -"shared/thirdparty/lvgl/tests/lv_test_main.d" \ -"shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.d" \ -"shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.d" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_argb.d" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.d" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.d" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.d" \ -"shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.d" \ -"shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.d" \ -"shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.d" \ -"shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.d" - -OUTPUT_FILE_NAME :=AtmelStart -QUOTE := " -OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf -OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf - -vpath %.c ../ -vpath %.s ../ -vpath %.S ../ - -# All Target -all: $(SUB_DIRS) $(OUTPUT_FILE_PATH) - -# Linker target - -$(OUTPUT_FILE_PATH): $(OBJS) - @echo Building target: $@ - @echo Invoking: ARM/GNU Linker - $(QUOTE)$(GCC)$(QUOTE) -o $(OUTPUT_FILE_NAME).elf $(OBJS_AS_ARGS) -Wl,--start-group -lm -Wl,--end-group -mthumb \ --Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nosys.specs -Wl,--gc-sections -mcpu=cortex-m4 \ - \ --T"../gcc/gcc/same54n19a_flash.ld" \ --L"../gcc/gcc" - @echo Finished building target: $@ - - "arm-none-eabi-objcopy" -O binary "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).bin" - "arm-none-eabi-objcopy" -O ihex -R .eeprom -R .fuse -R .lock -R .signature \ - "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).hex" - "arm-none-eabi-objcopy" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma \ - .eeprom=0 --no-change-warnings -O binary "$(OUTPUT_FILE_NAME).elf" \ - "$(OUTPUT_FILE_NAME).eep" || exit 0 - "arm-none-eabi-objdump" -h -S "$(OUTPUT_FILE_NAME).elf" > "$(OUTPUT_FILE_NAME).lss" - "arm-none-eabi-size" "$(OUTPUT_FILE_NAME).elf" - - - -# Compiler targets - - - - -%.o: %.c - @echo Building file: $< - @echo ARM/GNU C Compiler - $(QUOTE)$(GCC)$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -DLV_EX_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ --D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -$(DIR_INCLUDES) \ --MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" - @echo Finished building: $< - -%.o: %.s - @echo Building file: $< - @echo ARM/GNU Assembler - $(QUOTE)arm-none-eabi-as$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -DLV_EX_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ --D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -$(DIR_INCLUDES) \ --MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" - @echo Finished building: $< - -%.o: %.S - @echo Building file: $< - @echo ARM/GNU Preprocessing Assembler - $(QUOTE)$(GCC)$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -DLV_EX_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ --D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ -$(DIR_INCLUDES) \ --MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" - @echo Finished building: $< - -# Detect changes in the dependent files and recompile the respective object files. -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(strip $(DEPS)),) --include $(DEPS) -endif -endif - -$(SUB_DIRS): - $(MK_DIR) "$@" - -clean: - rm -f $(OBJS_AS_ARGS) - rm -f $(OUTPUT_FILE_PATH) - rm -f $(DEPS) - rm -f $(DEPS_AS_ARGS) - rm -f $(OUTPUT_FILE_NAME).a $(OUTPUT_FILE_NAME).hex $(OUTPUT_FILE_NAME).bin \ - $(OUTPUT_FILE_NAME).lss $(OUTPUT_FILE_NAME).eep $(OUTPUT_FILE_NAME).map \ - $(OUTPUT_FILE_NAME).srec - -push:\ -all - @echo $(QUOTE)$(QUOTE) - @echo $(QUOTE)Uploading $(OUTPUT_FILE_NAME).elf...$(QUOTE) - @$(GDB) $(OUTPUT_FILE_NAME).elf -x $(QUOTE)../scripts/push.gdb$(QUOTE) >/dev/null - @echo $(QUOTE)$(QUOTE)$(OUTPUT_FILE_NAME).elf $(QUOTE) uploaded!$(QUOTE) - @$(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(OUTPUT_FILE_NAME).elf$(QUOTE) - -debug:\ -all - @$(GDB) $(OUTPUT_FILE_NAME).elf -x $(QUOTE)../scripts/debug.gdb$(QUOTE) diff --git a/software/firmware/oracle_same54n19a/gcc/compile_commands.json b/software/firmware/oracle_same54n19a/gcc/compile_commands.json deleted file mode 100644 index f0326a6..0000000 --- a/software/firmware/oracle_same54n19a/gcc/compile_commands.json +++ /dev/null @@ -1,8804 +0,0 @@ -[ - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.d", - "-MTshared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.o", - "-o", - "shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.o", - "../shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_debug.d", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_debug.o", - "-o", - "shared/thirdparty/lvgl/src/lv_core/lv_debug.o", - "../shared/thirdparty/lvgl/src/lv_core/lv_debug.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_core/lv_debug.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/pm/hpl_pm.d", - "-MThpl/pm/hpl_pm.o", - "-o", - "hpl/pm/hpl_pm.o", - "../hpl/pm/hpl_pm.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/pm/hpl_pm.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_chart.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_chart.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_chart.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_chart.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_chart.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_usart_async.d", - "-MThal/src/hal_usart_async.o", - "-o", - "hal/src/hal_usart_async.o", - "../hal/src/hal_usart_async.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_usart_async.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme_material.d", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme_material.o", - "-o", - "shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.o", - "../shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_themes/lv_theme_material.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/dmac/hpl_dmac.d", - "-MThpl/dmac/hpl_dmac.o", - "-o", - "hpl/dmac/hpl_dmac.o", - "../hpl/dmac/hpl_dmac.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/dmac/hpl_dmac.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_textarea.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_textarea.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_textarea.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_mem.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_mem.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_mem.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_mem.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_mem.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_page.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_page.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_page.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_page.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_page.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_timer.d", - "-MThal/src/hal_timer.o", - "-o", - "hal/src/hal_timer.o", - "../hal/src/hal_timer.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_timer.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_tabview.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_tabview.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_tabview.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_argb.d", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_argb.o", - "-o", - "shared/thirdparty/lv_examples/assets/img_cogwheel_argb.o", - "../shared/thirdparty/lv_examples/assets/img_cogwheel_argb.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/assets/img_cogwheel_argb.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTgcc/gcc/startup_same54.d", - "-MTgcc/gcc/startup_same54.o", - "-o", - "gcc/gcc/startup_same54.o", - "gcc/startup_same54.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "gcc/startup_same54.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_btn.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_btn.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_btn.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_btn.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_btn.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/ramecc/hpl_ramecc.d", - "-MThpl/ramecc/hpl_ramecc.o", - "-o", - "hpl/ramecc/hpl_ramecc.o", - "../hpl/ramecc/hpl_ramecc.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/ramecc/hpl_ramecc.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/porting/lv_port_indev_template.d", - "-MTshared/thirdparty/lvgl/porting/lv_port_indev_template.o", - "-o", - "shared/thirdparty/lvgl/porting/lv_port_indev_template.o", - "../shared/thirdparty/lvgl/porting/lv_port_indev_template.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/porting/lv_port_indev_template.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_log.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_log.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_log.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_log.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_log.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/devices/display/p_ssd1963.d", - "-MTshared/devices/display/p_ssd1963.o", - "-o", - "shared/devices/display/p_ssd1963.o", - "../shared/devices/display/p_ssd1963.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/devices/display/p_ssd1963.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/drivers/p_gpio.d", - "-MTshared/drivers/p_gpio.o", - "-o", - "shared/drivers/p_gpio.o", - "../shared/drivers/p_gpio.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/drivers/p_gpio.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_delay.d", - "-MThal/src/hal_delay.o", - "-o", - "hal/src/hal_delay.o", - "../hal/src/hal_delay.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_delay.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_slider.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_slider.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_slider.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_slider.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_slider.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_templ.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_templ.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_templ.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_templ.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_templ.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_cache.d", - "-MThal/src/hal_cache.o", - "-o", - "hal/src/hal_cache.o", - "../hal/src/hal_cache.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_cache.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_async.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_async.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_async.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_async.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_async.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/core/hpl_init.d", - "-MThpl/core/hpl_init.o", - "-o", - "hpl/core/hpl_init.o", - "../hpl/core/hpl_init.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/core/hpl_init.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.d", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.o", - "-o", - "shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.o", - "../shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/osc32kctrl/hpl_osc32kctrl.d", - "-MThpl/osc32kctrl/hpl_osc32kctrl.o", - "-o", - "hpl/osc32kctrl/hpl_osc32kctrl.o", - "../hpl/osc32kctrl/hpl_osc32kctrl.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/osc32kctrl/hpl_osc32kctrl.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_bar.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_bar.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_bar.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_bar.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_bar.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_math.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_math.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_math.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_math.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_math.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_rect.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_dropdown.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/tests/lv_test_assert.d", - "-MTshared/thirdparty/lvgl/tests/lv_test_assert.o", - "-o", - "shared/thirdparty/lvgl/tests/lv_test_assert.o", - "../shared/thirdparty/lvgl/tests/lv_test_assert.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/tests/lv_test_assert.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.d", - "-MTshared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.o", - "-o", - "shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.o", - "../shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/utils/src/utils_ringbuffer.d", - "-MThal/utils/src/utils_ringbuffer.o", - "-o", - "hal/utils/src/utils_ringbuffer.o", - "../hal/utils/src/utils_ringbuffer.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/utils/src/utils_ringbuffer.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_switch.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_switch.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_switch.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_switch.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_switch.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_label.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_label.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_label.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_img_cache.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_img_cache.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_img_cache.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_bidi.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_bidi.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_bidi.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_bidi.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_bidi.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.d", - "-MTshared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o", - "-o", - "shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o", - "../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_cont.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_cont.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_cont.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_cont.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_cont.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTatmel_start.d", - "-MTatmel_start.o", - "-o", - "atmel_start.o", - "../atmel_start.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../atmel_start.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_obj.d", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_obj.o", - "-o", - "shared/thirdparty/lvgl/src/lv_core/lv_obj.o", - "../shared/thirdparty/lvgl/src/lv_core/lv_obj.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_core/lv_obj.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/gclk/hpl_gclk.d", - "-MThpl/gclk/hpl_gclk.o", - "-o", - "hpl/gclk/hpl_gclk.o", - "../hpl/gclk/hpl_gclk.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/gclk/hpl_gclk.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme.d", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme.o", - "-o", - "shared/thirdparty/lvgl/src/lv_themes/lv_theme.o", - "../shared/thirdparty/lvgl/src/lv_themes/lv_theme.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_themes/lv_theme.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/porting/lv_port_fs_template.d", - "-MTshared/thirdparty/lvgl/porting/lv_port_fs_template.o", - "-o", - "shared/thirdparty/lvgl/porting/lv_port_fs_template.o", - "../shared/thirdparty/lvgl/porting/lv_port_fs_template.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/porting/lv_port_fs_template.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_win.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_win.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_win.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_win.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_win.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_table.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_table.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_table.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_table.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_table.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_msgbox.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/cmcc/hpl_cmcc.d", - "-MThpl/cmcc/hpl_cmcc.o", - "-o", - "hpl/cmcc/hpl_cmcc.o", - "../hpl/cmcc/hpl_cmcc.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/cmcc/hpl_cmcc.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_gauge.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_gauge.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_gauge.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/drivers/p_usart.d", - "-MTshared/drivers/p_usart.o", - "-o", - "shared/drivers/p_usart.o", - "../shared/drivers/p_usart.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/drivers/p_usart.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.d", - "-MTshared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.o", - "-o", - "shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.o", - "../shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_indev.d", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_indev.o", - "-o", - "shared/thirdparty/lvgl/src/lv_core/lv_indev.o", - "../shared/thirdparty/lvgl/src/lv_core/lv_indev.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_core/lv_indev.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_checkbox.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTdriver_init.d", - "-MTdriver_init.o", - "-o", - "driver_init.o", - "../driver_init.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../driver_init.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_canvas.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_canvas.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_canvas.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.d", - "-MTshared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.o", - "-o", - "shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.o", - "../shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_fs.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_fs.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_fs.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_fs.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_fs.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/devices/p_screen.d", - "-MTshared/devices/p_screen.o", - "-o", - "shared/devices/p_screen.o", - "../shared/devices/p_screen.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/devices/p_screen.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_ext_irq.d", - "-MThal/src/hal_ext_irq.o", - "-o", - "hal/src/hal_ext_irq.o", - "../hal/src/hal_ext_irq.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_ext_irq.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_rgb.d", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_rgb.o", - "-o", - "shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.o", - "../shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_disp.d", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_disp.o", - "-o", - "shared/thirdparty/lvgl/src/lv_core/lv_disp.o", - "../shared/thirdparty/lvgl/src/lv_core/lv_disp.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_core/lv_disp.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.d", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.o", - "-o", - "shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.o", - "../shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_themes/lv_theme_empty.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_ll.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_ll.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_ll.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_gc.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_gc.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_gc.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_gc.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_gc.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_printf.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_printf.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_printf.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_printf.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_printf.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_cpicker.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_list.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_list.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_list.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_list.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_list.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/drivers/p_i2c.d", - "-MTshared/drivers/p_i2c.o", - "-o", - "shared/drivers/p_i2c.o", - "../shared/drivers/p_i2c.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/drivers/p_i2c.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_calendar.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_calendar.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_calendar.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.d", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.o", - "-o", - "shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.o", - "../shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/mclk/hpl_mclk.d", - "-MThpl/mclk/hpl_mclk.o", - "-o", - "hpl/mclk/hpl_mclk.o", - "../hpl/mclk/hpl_mclk.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/mclk/hpl_mclk.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MToracle.d", - "-MToracle.o", - "-o", - "oracle.o", - "../oracle.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../oracle.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/utils/src/utils_event.d", - "-MThal/utils/src/utils_event.o", - "-o", - "hal/utils/src/utils_event.o", - "../hal/utils/src/utils_event.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/utils/src/utils_event.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_tileview.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_tileview.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_tileview.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/sercom/hpl_sercom.d", - "-MThpl/sercom/hpl_sercom.o", - "-o", - "hpl/sercom/hpl_sercom.o", - "../hpl/sercom/hpl_sercom.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/sercom/hpl_sercom.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_line.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_line.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_line.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_line.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_line.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/oscctrl/hpl_oscctrl.d", - "-MThpl/oscctrl/hpl_oscctrl.o", - "-o", - "hpl/oscctrl/hpl_oscctrl.o", - "../hpl/oscctrl/hpl_oscctrl.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/oscctrl/hpl_oscctrl.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.d", - "-MTshared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o", - "-o", - "shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o", - "../shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_sleep.d", - "-MThal/src/hal_sleep.o", - "-o", - "hal/src/hal_sleep.o", - "../hal/src/hal_sleep.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_sleep.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/tc/hpl_tc.d", - "-MThpl/tc/hpl_tc.o", - "-o", - "hpl/tc/hpl_tc.o", - "../hpl/tc/hpl_tc.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/tc/hpl_tc.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/drivers/p_tcc.d", - "-MTshared/drivers/p_tcc.o", - "-o", - "shared/drivers/p_tcc.o", - "../shared/drivers/p_tcc.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/drivers/p_tcc.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_objmask.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_objmask.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_objmask.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_i2c_m_sync.d", - "-MThal/src/hal_i2c_m_sync.o", - "-o", - "hal/src/hal_i2c_m_sync.o", - "../hal/src/hal_i2c_m_sync.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_i2c_m_sync.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_img_buf.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_img_buf.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_img_buf.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme_template.d", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme_template.o", - "-o", - "shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.o", - "../shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_themes/lv_theme_template.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/utils/src/utils_syscalls.d", - "-MThal/utils/src/utils_syscalls.o", - "-o", - "hal/utils/src/utils_syscalls.o", - "../hal/utils/src/utils_syscalls.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/utils/src/utils_syscalls.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_atomic.d", - "-MThal/src/hal_atomic.o", - "-o", - "hal/src/hal_atomic.o", - "../hal/src/hal_atomic.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_atomic.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTmain.d", - "-MTmain.o", - "-o", - "main.o", - "../main.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../main.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.d", - "-MTshared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.o", - "-o", - "shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.o", - "../shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/utils/src/utils_assert.d", - "-MThal/utils/src/utils_assert.o", - "-o", - "hal/utils/src/utils_assert.o", - "../hal/utils/src/utils_assert.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/utils/src/utils_assert.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_blend.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.d", - "-MTshared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.o", - "-o", - "shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.o", - "../shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_txt.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_txt.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_txt.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_txt.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_txt.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_color.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_color.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_color.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_color.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_color.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_img.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_img.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_img.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_utils.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_utils.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_utils.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_utils.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_utils.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_style.d", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_style.o", - "-o", - "shared/thirdparty/lvgl/src/lv_core/lv_style.o", - "../shared/thirdparty/lvgl/src/lv_core/lv_style.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_core/lv_style.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_spinner.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_spinner.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_spinner.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.d", - "-MTshared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o", - "-o", - "shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o", - "../shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_hal/lv_hal_disp.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_led.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_led.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_led.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_led.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_led.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/tests/lv_test_main.d", - "-MTshared/thirdparty/lvgl/tests/lv_test_main.o", - "-o", - "shared/thirdparty/lvgl/tests/lv_test_main.o", - "../shared/thirdparty/lvgl/tests/lv_test_main.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/tests/lv_test_main.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.d", - "-MTshared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.o", - "-o", - "shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.o", - "../shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_refr.d", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_refr.o", - "-o", - "shared/thirdparty/lvgl/src/lv_core/lv_refr.o", - "../shared/thirdparty/lvgl/src/lv_core/lv_refr.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_core/lv_refr.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/utils/src/utils_list.d", - "-MThal/utils/src/utils_list.o", - "-o", - "hal/utils/src/utils_list.o", - "../hal/utils/src/utils_list.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/utils/src/utils_list.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_gpio.d", - "-MThal/src/hal_gpio.o", - "-o", - "hal/src/hal_gpio.o", - "../hal/src/hal_gpio.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_gpio.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_area.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_area.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_area.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_area.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_area.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_mask.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_img.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_img.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_img.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_img.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_img.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTgcc/system_same54.d", - "-MTgcc/system_same54.o", - "-o", - "gcc/system_same54.o", - "system_same54.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "system_same54.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/core/hpl_core_m4.d", - "-MThpl/core/hpl_core_m4.o", - "-o", - "hpl/core/hpl_core_m4.o", - "../hpl/core/hpl_core_m4.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/core/hpl_core_m4.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_linemeter.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThpl/eic/hpl_eic.d", - "-MThpl/eic/hpl_eic.o", - "-o", - "hpl/eic/hpl_eic.o", - "../hpl/eic/hpl_eic.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hpl/eic/hpl_eic.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_init.d", - "-MThal/src/hal_init.o", - "-o", - "hal/src/hal_init.o", - "../hal/src/hal_init.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_init.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/porting/lv_port_disp_template.d", - "-MTshared/thirdparty/lvgl/porting/lv_port_disp_template.o", - "-o", - "shared/thirdparty/lvgl/porting/lv_port_disp_template.o", - "../shared/thirdparty/lvgl/porting/lv_port_disp_template.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/porting/lv_port_disp_template.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_txt_ap.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_spinbox.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MThal/src/hal_io.d", - "-MThal/src/hal_io.o", - "-o", - "hal/src/hal_io.o", - "../hal/src/hal_io.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../hal/src/hal_io.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_line.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_line.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_line.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.d", - "-MTshared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o", - "-o", - "shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o", - "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_task.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_task.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_task.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_task.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_task.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_label.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_label.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_label.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_label.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_label.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_roller.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_roller.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_roller.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_roller.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_roller.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.d", - "-MTshared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.o", - "-o", - "shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.o", - "../shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_themes/lv_theme_mono.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.d", - "-MTshared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o", - "-o", - "shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o", - "../shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_hal/lv_hal_indev.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.d", - "-MTshared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.o", - "-o", - "shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.o", - "../shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_draw_arc.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_arc.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_arc.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_arc.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_arc.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_arc.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_keyboard.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.d", - "-MTshared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.o", - "-o", - "shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.o", - "../shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_group.d", - "-MTshared/thirdparty/lvgl/src/lv_core/lv_group.o", - "-o", - "shared/thirdparty/lvgl/src/lv_core/lv_group.o", - "../shared/thirdparty/lvgl/src/lv_core/lv_group.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_core/lv_group.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_anim.d", - "-MTshared/thirdparty/lvgl/src/lv_misc/lv_anim.o", - "-o", - "shared/thirdparty/lvgl/src/lv_misc/lv_anim.o", - "../shared/thirdparty/lvgl/src/lv_misc/lv_anim.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_misc/lv_anim.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.d", - "-MTshared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.o", - "-o", - "shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.o", - "../shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.c" - }, - { - "arguments": [ - "arm-none-eabi-gcc", - "-c", - "-x", - "c", - "-mthumb", - "-DDEBUG", - "-DLV_CONF_INCLUDE_SIMPLE", - "-DLV_EX_CONF_INCLUDE_SIMPLE", - "-Os", - "-ffunction-sections", - "-mlong-calls", - "-g3", - "-Wall", - "-std=gnu99", - "-D__SAME54N19A__", - "-mcpu=cortex-m4", - "-mfloat-abi=softfp", - "-mfpu=fpv4-sp-d16", - "-I../", - "-I../config", - "-I../hal/include", - "-I../hal/utils/include", - "-I../hpl/cmcc", - "-I../hpl/core", - "-I../hpl/dmac", - "-I../hpl/eic", - "-I../hpl/gclk", - "-I../hpl/mclk", - "-I../hpl/osc32kctrl", - "-I../hpl/oscctrl", - "-I../hpl/pm", - "-I../hpl/port", - "-I../hpl/ramecc", - "-I../hpl/sercom", - "-I../hpl/tc", - "-I../hri", - "-I../CMSIS/Core/Include", - "-I../include", - "-I../shared/thirdparty", - "-I../shared/thirdparty/lvgl", - "-I../shared/drivers", - "-I../shared/devices", - "-I../shared/devices/display", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.d", - "-MTshared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o", - "-o", - "shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o", - "../shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.c" - ], - "directory": "/storage/Shared/Projects/Embedded-Graphics-Learning/software/firmware/oracle_same54n19a/gcc", - "file": "../shared/thirdparty/lvgl/src/lv_draw/lv_img_decoder.c" - } -] \ No newline at end of file diff --git a/software/firmware/oracle_same54n19a/gcc/gcc/gcc/startup_same54.d b/software/firmware/oracle_same54n19a/gcc/gcc/gcc/startup_same54.d deleted file mode 100644 index 8d7bd23..0000000 --- a/software/firmware/oracle_same54n19a/gcc/gcc/gcc/startup_same54.d +++ /dev/null @@ -1,176 +0,0 @@ -gcc/gcc/startup_same54.d gcc/gcc/startup_same54.o: \ - ../gcc/gcc/startup_same54.c ../include/same54.h ../include/same54n19a.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ - /usr/arm-none-eabi/include/stdint.h \ - /usr/arm-none-eabi/include/machine/_default_types.h \ - /usr/arm-none-eabi/include/sys/features.h \ - /usr/arm-none-eabi/include/_newlib_version.h \ - /usr/arm-none-eabi/include/sys/_intsup.h \ - /usr/arm-none-eabi/include/sys/_stdint.h \ - ../CMSIS/Core/Include/core_cm4.h ../CMSIS/Core/Include/cmsis_version.h \ - ../CMSIS/Core/Include/cmsis_compiler.h ../CMSIS/Core/Include/cmsis_gcc.h \ - ../CMSIS/Core/Include/mpu_armv7.h ../include/system_same54.h \ - ../include/component/ac.h ../include/component/adc.h \ - ../include/component/aes.h ../include/component/can.h \ - ../include/component/ccl.h ../include/component/cmcc.h \ - ../include/component/dac.h ../include/component/dmac.h \ - ../include/component/dsu.h ../include/component/eic.h \ - ../include/component/evsys.h ../include/component/freqm.h \ - ../include/component/gclk.h ../include/component/gmac.h \ - ../include/component/hmatrixb.h ../include/component/icm.h \ - ../include/component/i2s.h ../include/component/mclk.h \ - ../include/component/nvmctrl.h ../include/component/oscctrl.h \ - ../include/component/osc32kctrl.h ../include/component/pac.h \ - ../include/component/pcc.h ../include/component/pdec.h \ - ../include/component/pm.h ../include/component/port.h \ - ../include/component/qspi.h ../include/component/ramecc.h \ - ../include/component/rstc.h ../include/component/rtc.h \ - ../include/component/sdhc.h ../include/component/sercom.h \ - ../include/component/supc.h ../include/component/tc.h \ - ../include/component/tcc.h ../include/component/trng.h \ - ../include/component/usb.h ../include/component/wdt.h \ - ../include/instance/ac.h ../include/instance/adc0.h \ - ../include/instance/adc1.h ../include/instance/aes.h \ - ../include/instance/can0.h ../include/instance/can1.h \ - ../include/instance/ccl.h ../include/instance/cmcc.h \ - ../include/instance/dac.h ../include/instance/dmac.h \ - ../include/instance/dsu.h ../include/instance/eic.h \ - ../include/instance/evsys.h ../include/instance/freqm.h \ - ../include/instance/gclk.h ../include/instance/gmac.h \ - ../include/instance/hmatrix.h ../include/instance/icm.h \ - ../include/instance/i2s.h ../include/instance/mclk.h \ - ../include/instance/nvmctrl.h ../include/instance/oscctrl.h \ - ../include/instance/osc32kctrl.h ../include/instance/pac.h \ - ../include/instance/pcc.h ../include/instance/pdec.h \ - ../include/instance/pm.h ../include/instance/port.h \ - ../include/instance/pukcc.h ../include/instance/qspi.h \ - ../include/instance/ramecc.h ../include/instance/rstc.h \ - ../include/instance/rtc.h ../include/instance/sdhc0.h \ - ../include/instance/sdhc1.h ../include/instance/sercom0.h \ - ../include/instance/sercom1.h ../include/instance/sercom2.h \ - ../include/instance/sercom3.h ../include/instance/sercom4.h \ - ../include/instance/sercom5.h ../include/instance/sercom6.h \ - ../include/instance/sercom7.h ../include/instance/supc.h \ - ../include/instance/tc0.h ../include/instance/tc1.h \ - ../include/instance/tc2.h ../include/instance/tc3.h \ - ../include/instance/tc4.h ../include/instance/tc5.h \ - ../include/instance/tc6.h ../include/instance/tc7.h \ - ../include/instance/tcc0.h ../include/instance/tcc1.h \ - ../include/instance/tcc2.h ../include/instance/tcc3.h \ - ../include/instance/tcc4.h ../include/instance/trng.h \ - ../include/instance/usb.h ../include/instance/wdt.h \ - ../include/pio/same54n19a.h -../include/same54.h: -../include/same54n19a.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: -/usr/arm-none-eabi/include/stdint.h: -/usr/arm-none-eabi/include/machine/_default_types.h: -/usr/arm-none-eabi/include/sys/features.h: -/usr/arm-none-eabi/include/_newlib_version.h: -/usr/arm-none-eabi/include/sys/_intsup.h: -/usr/arm-none-eabi/include/sys/_stdint.h: -../CMSIS/Core/Include/core_cm4.h: -../CMSIS/Core/Include/cmsis_version.h: -../CMSIS/Core/Include/cmsis_compiler.h: -../CMSIS/Core/Include/cmsis_gcc.h: -../CMSIS/Core/Include/mpu_armv7.h: -../include/system_same54.h: -../include/component/ac.h: -../include/component/adc.h: -../include/component/aes.h: -../include/component/can.h: -../include/component/ccl.h: -../include/component/cmcc.h: -../include/component/dac.h: -../include/component/dmac.h: -../include/component/dsu.h: -../include/component/eic.h: -../include/component/evsys.h: -../include/component/freqm.h: -../include/component/gclk.h: -../include/component/gmac.h: -../include/component/hmatrixb.h: -../include/component/icm.h: -../include/component/i2s.h: -../include/component/mclk.h: -../include/component/nvmctrl.h: -../include/component/oscctrl.h: -../include/component/osc32kctrl.h: -../include/component/pac.h: -../include/component/pcc.h: -../include/component/pdec.h: -../include/component/pm.h: -../include/component/port.h: -../include/component/qspi.h: -../include/component/ramecc.h: -../include/component/rstc.h: -../include/component/rtc.h: -../include/component/sdhc.h: -../include/component/sercom.h: -../include/component/supc.h: -../include/component/tc.h: -../include/component/tcc.h: -../include/component/trng.h: -../include/component/usb.h: -../include/component/wdt.h: -../include/instance/ac.h: -../include/instance/adc0.h: -../include/instance/adc1.h: -../include/instance/aes.h: -../include/instance/can0.h: -../include/instance/can1.h: -../include/instance/ccl.h: -../include/instance/cmcc.h: -../include/instance/dac.h: -../include/instance/dmac.h: -../include/instance/dsu.h: -../include/instance/eic.h: -../include/instance/evsys.h: -../include/instance/freqm.h: -../include/instance/gclk.h: -../include/instance/gmac.h: -../include/instance/hmatrix.h: -../include/instance/icm.h: -../include/instance/i2s.h: -../include/instance/mclk.h: -../include/instance/nvmctrl.h: -../include/instance/oscctrl.h: -../include/instance/osc32kctrl.h: -../include/instance/pac.h: -../include/instance/pcc.h: -../include/instance/pdec.h: -../include/instance/pm.h: -../include/instance/port.h: -../include/instance/pukcc.h: -../include/instance/qspi.h: -../include/instance/ramecc.h: -../include/instance/rstc.h: -../include/instance/rtc.h: -../include/instance/sdhc0.h: -../include/instance/sdhc1.h: -../include/instance/sercom0.h: -../include/instance/sercom1.h: -../include/instance/sercom2.h: -../include/instance/sercom3.h: -../include/instance/sercom4.h: -../include/instance/sercom5.h: -../include/instance/sercom6.h: -../include/instance/sercom7.h: -../include/instance/supc.h: -../include/instance/tc0.h: -../include/instance/tc1.h: -../include/instance/tc2.h: -../include/instance/tc3.h: -../include/instance/tc4.h: -../include/instance/tc5.h: -../include/instance/tc6.h: -../include/instance/tc7.h: -../include/instance/tcc0.h: -../include/instance/tcc1.h: -../include/instance/tcc2.h: -../include/instance/tcc3.h: -../include/instance/tcc4.h: -../include/instance/trng.h: -../include/instance/usb.h: -../include/instance/wdt.h: -../include/pio/same54n19a.h: diff --git a/software/firmware/oracle_same54n19a/gcc/gcc/gcc/startup_same54.o b/software/firmware/oracle_same54n19a/gcc/gcc/gcc/startup_same54.o deleted file mode 100644 index 61abb57cd1f85c15dbcc187f6916acd98d100aa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1343100 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 PbNN(XEj^K@>8Jk(6P_&L diff --git a/software/firmware/oracle_same54n19a/gcc/gcc/same54n19a_flash.ld b/software/firmware/oracle_same54n19a/gcc/gcc/same54n19a_flash.ld deleted file mode 100644 index 33b8ed9..0000000 --- a/software/firmware/oracle_same54n19a/gcc/gcc/same54n19a_flash.ld +++ /dev/null @@ -1,163 +0,0 @@ -/** - * \file - * - * \brief Linker script for running in internal FLASH on the SAME54N19A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000 - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000 - bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 - qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 -} - -/* The stack size used by the application. NOTE: you need to adjust according to your application. */ -STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0xC000; - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > rom - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > rom - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - .bkupram (NOLOAD): - { - . = ALIGN(8); - _sbkupram = .; - *(.bkupram .bkupram.*); - . = ALIGN(8); - _ebkupram = .; - } > bkupram - - .qspi (NOLOAD): - { - . = ALIGN(8); - _sqspi = .; - *(.qspi .qspi.*); - . = ALIGN(8); - _eqspi = .; - } > qspi - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - _sstack = .; - . = . + STACK_SIZE; - . = ALIGN(8); - _estack = .; - } > ram - - . = ALIGN(4); - _end = . ; -} diff --git a/software/firmware/oracle_same54n19a/gcc/gcc/same54n19a_sram.ld b/software/firmware/oracle_same54n19a/gcc/gcc/same54n19a_sram.ld deleted file mode 100644 index c770c7c..0000000 --- a/software/firmware/oracle_same54n19a/gcc/gcc/same54n19a_sram.ld +++ /dev/null @@ -1,162 +0,0 @@ -/** - * \file - * - * \brief Linker script for running in internal SRAM on the SAME54N19A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000 - bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 - qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 -} - -/* The stack size used by the application. NOTE: you need to adjust according to your application. */ -STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0xC000; - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > ram - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ram - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - .bkupram (NOLOAD): - { - . = ALIGN(8); - _sbkupram = .; - *(.bkupram .bkupram.*); - . = ALIGN(8); - _ebkupram = .; - } > bkupram - - .qspi (NOLOAD): - { - . = ALIGN(8); - _sqspi = .; - *(.qspi .qspi.*); - . = ALIGN(8); - _eqspi = .; - } > qspi - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - _sstack = .; - . = . + STACK_SIZE; - . = ALIGN(8); - _estack = .; - } > ram - - . = ALIGN(4); - _end = . ; -} diff --git a/software/firmware/oracle_same54n19a/gcc/gcc/startup_same54.c b/software/firmware/oracle_same54n19a/gcc/gcc/startup_same54.c deleted file mode 100644 index 097a1c4..0000000 --- a/software/firmware/oracle_same54n19a/gcc/gcc/startup_same54.c +++ /dev/null @@ -1,678 +0,0 @@ -/** - * \file - * - * \brief gcc starttup file for SAME54 - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#include "same54.h" - -/* Initialize segments */ -extern uint32_t _sfixed; -extern uint32_t _efixed; -extern uint32_t _etext; -extern uint32_t _srelocate; -extern uint32_t _erelocate; -extern uint32_t _szero; -extern uint32_t _ezero; -extern uint32_t _sstack; -extern uint32_t _estack; - -/** \cond DOXYGEN_SHOULD_SKIP_THIS */ -int main(void); -/** \endcond */ - -void __libc_init_array(void); - -/* Default empty handler */ -void Dummy_Handler(void); - -/* Cortex-M4 core handlers */ -void NonMaskableInt_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void HardFault_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void MemManagement_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void BusFault_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void UsageFault_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void SVCall_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void DebugMonitor_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void PendSV_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void SysTick_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); - -/* Peripherals handlers */ -void PM_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void MCLK_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void OSCCTRL_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ -void OSCCTRL_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ -void OSCCTRL_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, - OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, - OSCCTRL_DFLLRDY */ -void OSCCTRL_3_Handler(void) __attribute__(( - weak, alias("Dummy_Handler"))); /* OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ -void OSCCTRL_4_Handler(void) __attribute__(( - weak, alias("Dummy_Handler"))); /* OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ -void OSC32KCTRL_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void SUPC_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, - SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY - */ -void SUPC_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SUPC_BOD12DET, SUPC_BOD33DET */ -void WDT_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void RTC_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void EIC_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_0 */ -void EIC_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_1 */ -void EIC_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_2 */ -void EIC_3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_3 */ -void EIC_4_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_4 */ -void EIC_5_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_5 */ -void EIC_6_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_6 */ -void EIC_7_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_7 */ -void EIC_8_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_8 */ -void EIC_9_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_9 */ -void EIC_10_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_10 */ -void EIC_11_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_11 */ -void EIC_12_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_12 */ -void EIC_13_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_13 */ -void EIC_14_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_14 */ -void EIC_15_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_15 */ -void FREQM_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void NVMCTRL_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, - NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, - NVMCTRL_6, NVMCTRL_7 */ -void NVMCTRL_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ -void DMAC_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ -void DMAC_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ -void DMAC_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ -void DMAC_3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ -void DMAC_4_Handler(void) - __attribute__((weak, - alias("Dummy_Handler"))); /* DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, - DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, - DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, - DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, - DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, - DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, - DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, - DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, - DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, - DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, - DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, - DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, - DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, - DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, - DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, - DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, - DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, - DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ -void EVSYS_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_0, EVSYS_OVR_0 */ -void EVSYS_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_1, EVSYS_OVR_1 */ -void EVSYS_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_2, EVSYS_OVR_2 */ -void EVSYS_3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_3, EVSYS_OVR_3 */ -void EVSYS_4_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, - EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, - EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, - EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, - EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, - EVSYS_OVR_9 */ -void PAC_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void RAMECC_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void SERCOM0_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM0_0 */ -void SERCOM0_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM0_1 */ -void SERCOM0_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM0_2 */ -void SERCOM0_3_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ -void SERCOM1_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM1_0 */ -void SERCOM1_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM1_1 */ -void SERCOM1_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM1_2 */ -void SERCOM1_3_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ -void SERCOM2_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM2_0 */ -void SERCOM2_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM2_1 */ -void SERCOM2_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM2_2 */ -void SERCOM2_3_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ -void SERCOM3_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM3_0 */ -void SERCOM3_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM3_1 */ -void SERCOM3_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM3_2 */ -void SERCOM3_3_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ -#ifdef ID_SERCOM4 -void SERCOM4_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM4_0 */ -void SERCOM4_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM4_1 */ -void SERCOM4_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM4_2 */ -void SERCOM4_3_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ -#endif -#ifdef ID_SERCOM5 -void SERCOM5_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM5_0 */ -void SERCOM5_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM5_1 */ -void SERCOM5_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM5_2 */ -void SERCOM5_3_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ -#endif -#ifdef ID_SERCOM6 -void SERCOM6_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM6_0 */ -void SERCOM6_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM6_1 */ -void SERCOM6_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM6_2 */ -void SERCOM6_3_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ -#endif -#ifdef ID_SERCOM7 -void SERCOM7_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM7_0 */ -void SERCOM7_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM7_1 */ -void SERCOM7_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM7_2 */ -void SERCOM7_3_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ -#endif -#ifdef ID_CAN0 -void CAN0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -#ifdef ID_CAN1 -void CAN1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -#ifdef ID_USB -void USB_0_Handler(void) - __attribute__((weak, - alias("Dummy_Handler"))); /* USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, - USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, - USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, - USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, - USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, - USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, - USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, - USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, - USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, - USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, - USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, - USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, - USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, - USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ -void USB_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* USB_SOF_HSOF */ -void USB_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, - USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, - USB_TRCPT0_6, USB_TRCPT0_7 */ -void USB_3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, - USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, - USB_TRCPT1_6, USB_TRCPT1_7 */ -#endif -#ifdef ID_GMAC -void GMAC_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -void TCC0_0_Handler(void) - __attribute__((weak, - alias("Dummy_Handler"))); /* TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, - TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ -void TCC0_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC0_MC_0 */ -void TCC0_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC0_MC_1 */ -void TCC0_3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC0_MC_2 */ -void TCC0_4_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC0_MC_3 */ -void TCC0_5_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC0_MC_4 */ -void TCC0_6_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC0_MC_5 */ -void TCC1_0_Handler(void) - __attribute__((weak, - alias("Dummy_Handler"))); /* TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, - TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ -void TCC1_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC1_MC_0 */ -void TCC1_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC1_MC_1 */ -void TCC1_3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC1_MC_2 */ -void TCC1_4_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC1_MC_3 */ -void TCC2_0_Handler(void) - __attribute__((weak, - alias("Dummy_Handler"))); /* TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, - TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ -void TCC2_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC2_MC_0 */ -void TCC2_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC2_MC_1 */ -void TCC2_3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC2_MC_2 */ -#ifdef ID_TCC3 -void TCC3_0_Handler(void) - __attribute__((weak, - alias("Dummy_Handler"))); /* TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, - TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ -void TCC3_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC3_MC_0 */ -void TCC3_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC3_MC_1 */ -#endif -#ifdef ID_TCC4 -void TCC4_0_Handler(void) - __attribute__((weak, - alias("Dummy_Handler"))); /* TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, - TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ -void TCC4_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC4_MC_0 */ -void TCC4_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* TCC4_MC_1 */ -#endif -void TC0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void TC1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void TC2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void TC3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#ifdef ID_TC4 -void TC4_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -#ifdef ID_TC5 -void TC5_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -#ifdef ID_TC6 -void TC6_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -#ifdef ID_TC7 -void TC7_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -void PDEC_0_Handler(void) - __attribute__((weak, alias("Dummy_Handler"))); /* PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ -void PDEC_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* PDEC_MC_0 */ -void PDEC_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* PDEC_MC_1 */ -void ADC0_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* ADC0_OVERRUN, ADC0_WINMON */ -void ADC0_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* ADC0_RESRDY */ -void ADC1_0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* ADC1_OVERRUN, ADC1_WINMON */ -void ADC1_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* ADC1_RESRDY */ -void AC_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void DAC_0_Handler(void) - __attribute__((weak, - alias("Dummy_Handler"))); /* DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ -void DAC_1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* DAC_EMPTY_0 */ -void DAC_2_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* DAC_EMPTY_1 */ -void DAC_3_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* DAC_RESRDY_0 */ -void DAC_4_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); /* DAC_RESRDY_1 */ -#ifdef ID_I2S -void I2S_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -void PCC_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void AES_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -void TRNG_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#ifdef ID_ICM -void ICM_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -#ifdef ID_PUKCC -void PUKCC_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -void QSPI_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#ifdef ID_SDHC0 -void SDHC0_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif -#ifdef ID_SDHC1 -void SDHC1_Handler(void) __attribute__((weak, alias("Dummy_Handler"))); -#endif - -/* Exception Table */ -__attribute__((section(".vectors"))) const DeviceVectors exception_table - = { - - /* Configure Initial Stack Pointer, using linker-generated symbols */ - .pvStack = (void *)(&_estack), - - .pfnReset_Handler = (void *)Reset_Handler, - .pfnNonMaskableInt_Handler = (void *)NonMaskableInt_Handler, - .pfnHardFault_Handler = (void *)HardFault_Handler, - .pfnMemManagement_Handler = (void *)MemManagement_Handler, - .pfnBusFault_Handler = (void *)BusFault_Handler, - .pfnUsageFault_Handler = (void *)UsageFault_Handler, - .pvReservedM9 = (void *)(0UL), /* Reserved */ - .pvReservedM8 = (void *)(0UL), /* Reserved */ - .pvReservedM7 = (void *)(0UL), /* Reserved */ - .pvReservedM6 = (void *)(0UL), /* Reserved */ - .pfnSVCall_Handler = (void *)SVCall_Handler, - .pfnDebugMonitor_Handler = (void *)DebugMonitor_Handler, - .pvReservedM3 = (void *)(0UL), /* Reserved */ - .pfnPendSV_Handler = (void *)PendSV_Handler, - .pfnSysTick_Handler = (void *)SysTick_Handler, - - /* Configurable interrupts */ - .pfnPM_Handler = (void *)PM_Handler, /* 0 Power Manager */ - .pfnMCLK_Handler = (void *)MCLK_Handler, /* 1 Main Clock */ - .pfnOSCCTRL_0_Handler = (void *)OSCCTRL_0_Handler, /* 2 OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ - .pfnOSCCTRL_1_Handler = (void *)OSCCTRL_1_Handler, /* 3 OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ - .pfnOSCCTRL_2_Handler - = (void *)OSCCTRL_2_Handler, /* 4 OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, - OSCCTRL_DFLLRDY */ - .pfnOSCCTRL_3_Handler = (void *) - OSCCTRL_3_Handler, /* 5 OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ - .pfnOSCCTRL_4_Handler = (void *) - OSCCTRL_4_Handler, /* 6 OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ - .pfnOSC32KCTRL_Handler = (void *)OSC32KCTRL_Handler, /* 7 32kHz Oscillators Control */ - .pfnSUPC_0_Handler = (void *)SUPC_0_Handler, /* 8 SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, - SUPC_VCORERDY, SUPC_VREGRDY */ - .pfnSUPC_1_Handler = (void *)SUPC_1_Handler, /* 9 SUPC_BOD12DET, SUPC_BOD33DET */ - .pfnWDT_Handler = (void *)WDT_Handler, /* 10 Watchdog Timer */ - .pfnRTC_Handler = (void *)RTC_Handler, /* 11 Real-Time Counter */ - .pfnEIC_0_Handler = (void *)EIC_0_Handler, /* 12 EIC_EXTINT_0 */ - .pfnEIC_1_Handler = (void *)EIC_1_Handler, /* 13 EIC_EXTINT_1 */ - .pfnEIC_2_Handler = (void *)EIC_2_Handler, /* 14 EIC_EXTINT_2 */ - .pfnEIC_3_Handler = (void *)EIC_3_Handler, /* 15 EIC_EXTINT_3 */ - .pfnEIC_4_Handler = (void *)EIC_4_Handler, /* 16 EIC_EXTINT_4 */ - .pfnEIC_5_Handler = (void *)EIC_5_Handler, /* 17 EIC_EXTINT_5 */ - .pfnEIC_6_Handler = (void *)EIC_6_Handler, /* 18 EIC_EXTINT_6 */ - .pfnEIC_7_Handler = (void *)EIC_7_Handler, /* 19 EIC_EXTINT_7 */ - .pfnEIC_8_Handler = (void *)EIC_8_Handler, /* 20 EIC_EXTINT_8 */ - .pfnEIC_9_Handler = (void *)EIC_9_Handler, /* 21 EIC_EXTINT_9 */ - .pfnEIC_10_Handler = (void *)EIC_10_Handler, /* 22 EIC_EXTINT_10 */ - .pfnEIC_11_Handler = (void *)EIC_11_Handler, /* 23 EIC_EXTINT_11 */ - .pfnEIC_12_Handler = (void *)EIC_12_Handler, /* 24 EIC_EXTINT_12 */ - .pfnEIC_13_Handler = (void *)EIC_13_Handler, /* 25 EIC_EXTINT_13 */ - .pfnEIC_14_Handler = (void *)EIC_14_Handler, /* 26 EIC_EXTINT_14 */ - .pfnEIC_15_Handler = (void *)EIC_15_Handler, /* 27 EIC_EXTINT_15 */ - .pfnFREQM_Handler = (void *)FREQM_Handler, /* 28 Frequency Meter */ - .pfnNVMCTRL_0_Handler = (void *) - NVMCTRL_0_Handler, /* 29 NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, - NVMCTRL_7 */ - .pfnNVMCTRL_1_Handler = (void *)NVMCTRL_1_Handler, /* 30 NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ - .pfnDMAC_0_Handler = (void *)DMAC_0_Handler, /* 31 DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ - .pfnDMAC_1_Handler = (void *)DMAC_1_Handler, /* 32 DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ - .pfnDMAC_2_Handler = (void *)DMAC_2_Handler, /* 33 DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ - .pfnDMAC_3_Handler = (void *)DMAC_3_Handler, /* 34 DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ - .pfnDMAC_4_Handler = (void *)DMAC_4_Handler, /* 35 DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, - DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, - DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, - DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, - DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, - DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, - DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, - DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, - DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, - DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, - DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, - DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, - DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, - DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, - DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, - DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, - DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, - DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, - DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, - DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, - DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ - .pfnEVSYS_0_Handler = (void *)EVSYS_0_Handler, /* 36 EVSYS_EVD_0, EVSYS_OVR_0 */ - .pfnEVSYS_1_Handler = (void *)EVSYS_1_Handler, /* 37 EVSYS_EVD_1, EVSYS_OVR_1 */ - .pfnEVSYS_2_Handler = (void *)EVSYS_2_Handler, /* 38 EVSYS_EVD_2, EVSYS_OVR_2 */ - .pfnEVSYS_3_Handler = (void *)EVSYS_3_Handler, /* 39 EVSYS_EVD_3, EVSYS_OVR_3 */ - .pfnEVSYS_4_Handler = (void *)EVSYS_4_Handler, /* 40 EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, - EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, - EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, - EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ - .pfnPAC_Handler = (void *)PAC_Handler, /* 41 Peripheral Access Controller */ - .pvReserved42 = (void *)(0UL), /* 42 Reserved */ - .pvReserved43 = (void *)(0UL), /* 43 Reserved */ - .pvReserved44 = (void *)(0UL), /* 44 Reserved */ - .pfnRAMECC_Handler = (void *)RAMECC_Handler, /* 45 RAM ECC */ - .pfnSERCOM0_0_Handler = (void *)SERCOM0_0_Handler, /* 46 SERCOM0_0 */ - .pfnSERCOM0_1_Handler = (void *)SERCOM0_1_Handler, /* 47 SERCOM0_1 */ - .pfnSERCOM0_2_Handler = (void *)SERCOM0_2_Handler, /* 48 SERCOM0_2 */ - .pfnSERCOM0_3_Handler = (void *)SERCOM0_3_Handler, /* 49 SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ - .pfnSERCOM1_0_Handler = (void *)SERCOM1_0_Handler, /* 50 SERCOM1_0 */ - .pfnSERCOM1_1_Handler = (void *)SERCOM1_1_Handler, /* 51 SERCOM1_1 */ - .pfnSERCOM1_2_Handler = (void *)SERCOM1_2_Handler, /* 52 SERCOM1_2 */ - .pfnSERCOM1_3_Handler = (void *)SERCOM1_3_Handler, /* 53 SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ - .pfnSERCOM2_0_Handler = (void *)SERCOM2_0_Handler, /* 54 SERCOM2_0 */ - .pfnSERCOM2_1_Handler = (void *)SERCOM2_1_Handler, /* 55 SERCOM2_1 */ - .pfnSERCOM2_2_Handler = (void *)SERCOM2_2_Handler, /* 56 SERCOM2_2 */ - .pfnSERCOM2_3_Handler = (void *)SERCOM2_3_Handler, /* 57 SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ - .pfnSERCOM3_0_Handler = (void *)SERCOM3_0_Handler, /* 58 SERCOM3_0 */ - .pfnSERCOM3_1_Handler = (void *)SERCOM3_1_Handler, /* 59 SERCOM3_1 */ - .pfnSERCOM3_2_Handler = (void *)SERCOM3_2_Handler, /* 60 SERCOM3_2 */ - .pfnSERCOM3_3_Handler = (void *)SERCOM3_3_Handler, /* 61 SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ -#ifdef ID_SERCOM4 - .pfnSERCOM4_0_Handler = (void *)SERCOM4_0_Handler, /* 62 SERCOM4_0 */ - .pfnSERCOM4_1_Handler = (void *)SERCOM4_1_Handler, /* 63 SERCOM4_1 */ - .pfnSERCOM4_2_Handler = (void *)SERCOM4_2_Handler, /* 64 SERCOM4_2 */ - .pfnSERCOM4_3_Handler = (void *)SERCOM4_3_Handler, /* 65 SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ -#else - .pvReserved62 = (void *)(0UL), /* 62 Reserved */ - .pvReserved63 = (void *)(0UL), /* 63 Reserved */ - .pvReserved64 = (void *)(0UL), /* 64 Reserved */ - .pvReserved65 = (void *)(0UL), /* 65 Reserved */ -#endif -#ifdef ID_SERCOM5 - .pfnSERCOM5_0_Handler = (void *)SERCOM5_0_Handler, /* 66 SERCOM5_0 */ - .pfnSERCOM5_1_Handler = (void *)SERCOM5_1_Handler, /* 67 SERCOM5_1 */ - .pfnSERCOM5_2_Handler = (void *)SERCOM5_2_Handler, /* 68 SERCOM5_2 */ - .pfnSERCOM5_3_Handler = (void *)SERCOM5_3_Handler, /* 69 SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ -#else - .pvReserved66 = (void *)(0UL), /* 66 Reserved */ - .pvReserved67 = (void *)(0UL), /* 67 Reserved */ - .pvReserved68 = (void *)(0UL), /* 68 Reserved */ - .pvReserved69 = (void *)(0UL), /* 69 Reserved */ -#endif -#ifdef ID_SERCOM6 - .pfnSERCOM6_0_Handler = (void *)SERCOM6_0_Handler, /* 70 SERCOM6_0 */ - .pfnSERCOM6_1_Handler = (void *)SERCOM6_1_Handler, /* 71 SERCOM6_1 */ - .pfnSERCOM6_2_Handler = (void *)SERCOM6_2_Handler, /* 72 SERCOM6_2 */ - .pfnSERCOM6_3_Handler = (void *)SERCOM6_3_Handler, /* 73 SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ -#else - .pvReserved70 = (void *)(0UL), /* 70 Reserved */ - .pvReserved71 = (void *)(0UL), /* 71 Reserved */ - .pvReserved72 = (void *)(0UL), /* 72 Reserved */ - .pvReserved73 = (void *)(0UL), /* 73 Reserved */ -#endif -#ifdef ID_SERCOM7 - .pfnSERCOM7_0_Handler = (void *)SERCOM7_0_Handler, /* 74 SERCOM7_0 */ - .pfnSERCOM7_1_Handler = (void *)SERCOM7_1_Handler, /* 75 SERCOM7_1 */ - .pfnSERCOM7_2_Handler = (void *)SERCOM7_2_Handler, /* 76 SERCOM7_2 */ - .pfnSERCOM7_3_Handler = (void *)SERCOM7_3_Handler, /* 77 SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ -#else - .pvReserved74 = (void *)(0UL), /* 74 Reserved */ - .pvReserved75 = (void *)(0UL), /* 75 Reserved */ - .pvReserved76 = (void *)(0UL), /* 76 Reserved */ - .pvReserved77 = (void *)(0UL), /* 77 Reserved */ -#endif -#ifdef ID_CAN0 - .pfnCAN0_Handler = (void *)CAN0_Handler, /* 78 Control Area Network 0 */ -#else - .pvReserved78 = (void *)(0UL), /* 78 Reserved */ -#endif -#ifdef ID_CAN1 - .pfnCAN1_Handler = (void *)CAN1_Handler, /* 79 Control Area Network 1 */ -#else - .pvReserved79 = (void *)(0UL), /* 79 Reserved */ -#endif -#ifdef ID_USB - .pfnUSB_0_Handler = (void *) - USB_0_Handler, /* 80 USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, - USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, - USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, - USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, - USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, - USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, - USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, - USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, - USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, - USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, - USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ - .pfnUSB_1_Handler = (void *)USB_1_Handler, /* 81 USB_SOF_HSOF */ - .pfnUSB_2_Handler = (void *)USB_2_Handler, /* 82 USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, - USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ - .pfnUSB_3_Handler = (void *)USB_3_Handler, /* 83 USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, - USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ -#else - .pvReserved80 = (void *)(0UL), /* 80 Reserved */ - .pvReserved81 = (void *)(0UL), /* 81 Reserved */ - .pvReserved82 = (void *)(0UL), /* 82 Reserved */ - .pvReserved83 = (void *)(0UL), /* 83 Reserved */ -#endif -#ifdef ID_GMAC - .pfnGMAC_Handler = (void *)GMAC_Handler, /* 84 Ethernet MAC */ -#else - .pvReserved84 = (void *)(0UL), /* 84 Reserved */ -#endif - .pfnTCC0_0_Handler = (void *) - TCC0_0_Handler, /* 85 TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, - TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ - .pfnTCC0_1_Handler = (void *)TCC0_1_Handler, /* 86 TCC0_MC_0 */ - .pfnTCC0_2_Handler = (void *)TCC0_2_Handler, /* 87 TCC0_MC_1 */ - .pfnTCC0_3_Handler = (void *)TCC0_3_Handler, /* 88 TCC0_MC_2 */ - .pfnTCC0_4_Handler = (void *)TCC0_4_Handler, /* 89 TCC0_MC_3 */ - .pfnTCC0_5_Handler = (void *)TCC0_5_Handler, /* 90 TCC0_MC_4 */ - .pfnTCC0_6_Handler = (void *)TCC0_6_Handler, /* 91 TCC0_MC_5 */ - .pfnTCC1_0_Handler = (void *) - TCC1_0_Handler, /* 92 TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, - TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ - .pfnTCC1_1_Handler = (void *)TCC1_1_Handler, /* 93 TCC1_MC_0 */ - .pfnTCC1_2_Handler = (void *)TCC1_2_Handler, /* 94 TCC1_MC_1 */ - .pfnTCC1_3_Handler = (void *)TCC1_3_Handler, /* 95 TCC1_MC_2 */ - .pfnTCC1_4_Handler = (void *)TCC1_4_Handler, /* 96 TCC1_MC_3 */ - .pfnTCC2_0_Handler = (void *) - TCC2_0_Handler, /* 97 TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, - TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ - .pfnTCC2_1_Handler = (void *)TCC2_1_Handler, /* 98 TCC2_MC_0 */ - .pfnTCC2_2_Handler = (void *)TCC2_2_Handler, /* 99 TCC2_MC_1 */ - .pfnTCC2_3_Handler = (void *)TCC2_3_Handler, /* 100 TCC2_MC_2 */ -#ifdef ID_TCC3 - .pfnTCC3_0_Handler - = (void *)TCC3_0_Handler, /* 101 TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, - TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ - .pfnTCC3_1_Handler = (void *)TCC3_1_Handler, /* 102 TCC3_MC_0 */ - .pfnTCC3_2_Handler = (void *)TCC3_2_Handler, /* 103 TCC3_MC_1 */ -#else - .pvReserved101 = (void *)(0UL), /* 101 Reserved */ - .pvReserved102 = (void *)(0UL), /* 102 Reserved */ - .pvReserved103 = (void *)(0UL), /* 103 Reserved */ -#endif -#ifdef ID_TCC4 - .pfnTCC4_0_Handler - = (void *)TCC4_0_Handler, /* 104 TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, - TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ - .pfnTCC4_1_Handler = (void *)TCC4_1_Handler, /* 105 TCC4_MC_0 */ - .pfnTCC4_2_Handler = (void *)TCC4_2_Handler, /* 106 TCC4_MC_1 */ -#else - .pvReserved104 = (void *)(0UL), /* 104 Reserved */ - .pvReserved105 = (void *)(0UL), /* 105 Reserved */ - .pvReserved106 = (void *)(0UL), /* 106 Reserved */ -#endif - .pfnTC0_Handler = (void *)TC0_Handler, /* 107 Basic Timer Counter 0 */ - .pfnTC1_Handler = (void *)TC1_Handler, /* 108 Basic Timer Counter 1 */ - .pfnTC2_Handler = (void *)TC2_Handler, /* 109 Basic Timer Counter 2 */ - .pfnTC3_Handler = (void *)TC3_Handler, /* 110 Basic Timer Counter 3 */ -#ifdef ID_TC4 - .pfnTC4_Handler = (void *)TC4_Handler, /* 111 Basic Timer Counter 4 */ -#else - .pvReserved111 = (void *)(0UL), /* 111 Reserved */ -#endif -#ifdef ID_TC5 - .pfnTC5_Handler = (void *)TC5_Handler, /* 112 Basic Timer Counter 5 */ -#else - .pvReserved112 = (void *)(0UL), /* 112 Reserved */ -#endif -#ifdef ID_TC6 - .pfnTC6_Handler = (void *)TC6_Handler, /* 113 Basic Timer Counter 6 */ -#else - .pvReserved113 = (void *)(0UL), /* 113 Reserved */ -#endif -#ifdef ID_TC7 - .pfnTC7_Handler = (void *)TC7_Handler, /* 114 Basic Timer Counter 7 */ -#else - .pvReserved114 = (void *)(0UL), /* 114 Reserved */ -#endif - .pfnPDEC_0_Handler = (void *)PDEC_0_Handler, /* 115 PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ - .pfnPDEC_1_Handler = (void *)PDEC_1_Handler, /* 116 PDEC_MC_0 */ - .pfnPDEC_2_Handler = (void *)PDEC_2_Handler, /* 117 PDEC_MC_1 */ - .pfnADC0_0_Handler = (void *)ADC0_0_Handler, /* 118 ADC0_OVERRUN, ADC0_WINMON */ - .pfnADC0_1_Handler = (void *)ADC0_1_Handler, /* 119 ADC0_RESRDY */ - .pfnADC1_0_Handler = (void *)ADC1_0_Handler, /* 120 ADC1_OVERRUN, ADC1_WINMON */ - .pfnADC1_1_Handler = (void *)ADC1_1_Handler, /* 121 ADC1_RESRDY */ - .pfnAC_Handler = (void *)AC_Handler, /* 122 Analog Comparators */ - .pfnDAC_0_Handler - = (void *)DAC_0_Handler, /* 123 DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ - .pfnDAC_1_Handler = (void *)DAC_1_Handler, /* 124 DAC_EMPTY_0 */ - .pfnDAC_2_Handler = (void *)DAC_2_Handler, /* 125 DAC_EMPTY_1 */ - .pfnDAC_3_Handler = (void *)DAC_3_Handler, /* 126 DAC_RESRDY_0 */ - .pfnDAC_4_Handler = (void *)DAC_4_Handler, /* 127 DAC_RESRDY_1 */ -#ifdef ID_I2S - .pfnI2S_Handler = (void *)I2S_Handler, /* 128 Inter-IC Sound Interface */ -#else - .pvReserved128 = (void *)(0UL), /* 128 Reserved */ -#endif - .pfnPCC_Handler = (void *)PCC_Handler, /* 129 Parallel Capture Controller */ - .pfnAES_Handler = (void *)AES_Handler, /* 130 Advanced Encryption Standard */ - .pfnTRNG_Handler = (void *)TRNG_Handler, /* 131 True Random Generator */ -#ifdef ID_ICM - .pfnICM_Handler = (void *)ICM_Handler, /* 132 Integrity Check Monitor */ -#else - .pvReserved132 = (void *)(0UL), /* 132 Reserved */ -#endif -#ifdef ID_PUKCC - .pfnPUKCC_Handler = (void *)PUKCC_Handler, /* 133 PUblic-Key Cryptography Controller */ -#else - .pvReserved133 = (void *)(0UL), /* 133 Reserved */ -#endif - .pfnQSPI_Handler = (void *)QSPI_Handler, /* 134 Quad SPI interface */ -#ifdef ID_SDHC0 - .pfnSDHC0_Handler = (void *)SDHC0_Handler, /* 135 SD/MMC Host Controller 0 */ -#else - .pvReserved135 = (void *)(0UL), /* 135 Reserved */ -#endif -#ifdef ID_SDHC1 - .pfnSDHC1_Handler = (void *)SDHC1_Handler /* 136 SD/MMC Host Controller 1 */ -#else - .pvReserved136 = (void *)(0UL) /* 136 Reserved */ -#endif -}; - -/** - * \brief This is the code that gets called on processor reset. - * To initialize the device, and call the main() routine. - */ -void Reset_Handler(void) -{ - uint32_t *pSrc, *pDest; - - /* Initialize the relocate segment */ - pSrc = &_etext; - pDest = &_srelocate; - - if (pSrc != pDest) { - for (; pDest < &_erelocate;) { - *pDest++ = *pSrc++; - } - } - - /* Clear the zero segment */ - for (pDest = &_szero; pDest < &_ezero;) { - *pDest++ = 0; - } - - /* Set the vector table base address */ - pSrc = (uint32_t *)&_sfixed; - SCB->VTOR = ((uint32_t)pSrc & SCB_VTOR_TBLOFF_Msk); - -#if __FPU_USED - /* Enable FPU */ - SCB->CPACR |= (0xFu << 20); - __DSB(); - __ISB(); -#endif - - /* Initialize the C library */ - __libc_init_array(); - - /* Branch to main function */ - main(); - - /* Infinite loop */ - while (1) - ; -} - -/** - * \brief Default interrupt handler for unused IRQs. - */ -void Dummy_Handler(void) -{ - while (1) { - } -} diff --git a/software/firmware/oracle_same54n19a/gcc/gcc/system_same54.d b/software/firmware/oracle_same54n19a/gcc/gcc/system_same54.d deleted file mode 100644 index d43d215..0000000 --- a/software/firmware/oracle_same54n19a/gcc/gcc/system_same54.d +++ /dev/null @@ -1,176 +0,0 @@ -gcc/system_same54.d gcc/system_same54.o: ../gcc/system_same54.c \ - ../include/same54.h ../include/same54n19a.h \ - /usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h \ - /usr/arm-none-eabi/include/stdint.h \ - /usr/arm-none-eabi/include/machine/_default_types.h \ - /usr/arm-none-eabi/include/sys/features.h \ - /usr/arm-none-eabi/include/_newlib_version.h \ - /usr/arm-none-eabi/include/sys/_intsup.h \ - /usr/arm-none-eabi/include/sys/_stdint.h \ - ../CMSIS/Core/Include/core_cm4.h ../CMSIS/Core/Include/cmsis_version.h \ - ../CMSIS/Core/Include/cmsis_compiler.h ../CMSIS/Core/Include/cmsis_gcc.h \ - ../CMSIS/Core/Include/mpu_armv7.h ../include/system_same54.h \ - ../include/component/ac.h ../include/component/adc.h \ - ../include/component/aes.h ../include/component/can.h \ - ../include/component/ccl.h ../include/component/cmcc.h \ - ../include/component/dac.h ../include/component/dmac.h \ - ../include/component/dsu.h ../include/component/eic.h \ - ../include/component/evsys.h ../include/component/freqm.h \ - ../include/component/gclk.h ../include/component/gmac.h \ - ../include/component/hmatrixb.h ../include/component/icm.h \ - ../include/component/i2s.h ../include/component/mclk.h \ - ../include/component/nvmctrl.h ../include/component/oscctrl.h \ - ../include/component/osc32kctrl.h ../include/component/pac.h \ - ../include/component/pcc.h ../include/component/pdec.h \ - ../include/component/pm.h ../include/component/port.h \ - ../include/component/qspi.h ../include/component/ramecc.h \ - ../include/component/rstc.h ../include/component/rtc.h \ - ../include/component/sdhc.h ../include/component/sercom.h \ - ../include/component/supc.h ../include/component/tc.h \ - ../include/component/tcc.h ../include/component/trng.h \ - ../include/component/usb.h ../include/component/wdt.h \ - ../include/instance/ac.h ../include/instance/adc0.h \ - ../include/instance/adc1.h ../include/instance/aes.h \ - ../include/instance/can0.h ../include/instance/can1.h \ - ../include/instance/ccl.h ../include/instance/cmcc.h \ - ../include/instance/dac.h ../include/instance/dmac.h \ - ../include/instance/dsu.h ../include/instance/eic.h \ - ../include/instance/evsys.h ../include/instance/freqm.h \ - ../include/instance/gclk.h ../include/instance/gmac.h \ - ../include/instance/hmatrix.h ../include/instance/icm.h \ - ../include/instance/i2s.h ../include/instance/mclk.h \ - ../include/instance/nvmctrl.h ../include/instance/oscctrl.h \ - ../include/instance/osc32kctrl.h ../include/instance/pac.h \ - ../include/instance/pcc.h ../include/instance/pdec.h \ - ../include/instance/pm.h ../include/instance/port.h \ - ../include/instance/pukcc.h ../include/instance/qspi.h \ - ../include/instance/ramecc.h ../include/instance/rstc.h \ - ../include/instance/rtc.h ../include/instance/sdhc0.h \ - ../include/instance/sdhc1.h ../include/instance/sercom0.h \ - ../include/instance/sercom1.h ../include/instance/sercom2.h \ - ../include/instance/sercom3.h ../include/instance/sercom4.h \ - ../include/instance/sercom5.h ../include/instance/sercom6.h \ - ../include/instance/sercom7.h ../include/instance/supc.h \ - ../include/instance/tc0.h ../include/instance/tc1.h \ - ../include/instance/tc2.h ../include/instance/tc3.h \ - ../include/instance/tc4.h ../include/instance/tc5.h \ - ../include/instance/tc6.h ../include/instance/tc7.h \ - ../include/instance/tcc0.h ../include/instance/tcc1.h \ - ../include/instance/tcc2.h ../include/instance/tcc3.h \ - ../include/instance/tcc4.h ../include/instance/trng.h \ - ../include/instance/usb.h ../include/instance/wdt.h \ - ../include/pio/same54n19a.h -../include/same54.h: -../include/same54n19a.h: -/usr/lib/gcc/arm-none-eabi/11.2.1/include/stdint.h: -/usr/arm-none-eabi/include/stdint.h: -/usr/arm-none-eabi/include/machine/_default_types.h: -/usr/arm-none-eabi/include/sys/features.h: -/usr/arm-none-eabi/include/_newlib_version.h: -/usr/arm-none-eabi/include/sys/_intsup.h: -/usr/arm-none-eabi/include/sys/_stdint.h: -../CMSIS/Core/Include/core_cm4.h: -../CMSIS/Core/Include/cmsis_version.h: -../CMSIS/Core/Include/cmsis_compiler.h: -../CMSIS/Core/Include/cmsis_gcc.h: -../CMSIS/Core/Include/mpu_armv7.h: -../include/system_same54.h: -../include/component/ac.h: -../include/component/adc.h: -../include/component/aes.h: -../include/component/can.h: -../include/component/ccl.h: -../include/component/cmcc.h: -../include/component/dac.h: -../include/component/dmac.h: -../include/component/dsu.h: -../include/component/eic.h: -../include/component/evsys.h: -../include/component/freqm.h: -../include/component/gclk.h: -../include/component/gmac.h: -../include/component/hmatrixb.h: -../include/component/icm.h: -../include/component/i2s.h: -../include/component/mclk.h: -../include/component/nvmctrl.h: -../include/component/oscctrl.h: -../include/component/osc32kctrl.h: -../include/component/pac.h: -../include/component/pcc.h: -../include/component/pdec.h: -../include/component/pm.h: -../include/component/port.h: -../include/component/qspi.h: -../include/component/ramecc.h: -../include/component/rstc.h: -../include/component/rtc.h: -../include/component/sdhc.h: -../include/component/sercom.h: -../include/component/supc.h: -../include/component/tc.h: -../include/component/tcc.h: -../include/component/trng.h: -../include/component/usb.h: -../include/component/wdt.h: -../include/instance/ac.h: -../include/instance/adc0.h: -../include/instance/adc1.h: -../include/instance/aes.h: -../include/instance/can0.h: -../include/instance/can1.h: -../include/instance/ccl.h: -../include/instance/cmcc.h: -../include/instance/dac.h: -../include/instance/dmac.h: -../include/instance/dsu.h: -../include/instance/eic.h: -../include/instance/evsys.h: -../include/instance/freqm.h: -../include/instance/gclk.h: -../include/instance/gmac.h: -../include/instance/hmatrix.h: -../include/instance/icm.h: -../include/instance/i2s.h: -../include/instance/mclk.h: -../include/instance/nvmctrl.h: -../include/instance/oscctrl.h: -../include/instance/osc32kctrl.h: -../include/instance/pac.h: -../include/instance/pcc.h: -../include/instance/pdec.h: -../include/instance/pm.h: -../include/instance/port.h: -../include/instance/pukcc.h: -../include/instance/qspi.h: -../include/instance/ramecc.h: -../include/instance/rstc.h: -../include/instance/rtc.h: -../include/instance/sdhc0.h: -../include/instance/sdhc1.h: -../include/instance/sercom0.h: -../include/instance/sercom1.h: -../include/instance/sercom2.h: -../include/instance/sercom3.h: -../include/instance/sercom4.h: -../include/instance/sercom5.h: -../include/instance/sercom6.h: -../include/instance/sercom7.h: -../include/instance/supc.h: -../include/instance/tc0.h: -../include/instance/tc1.h: -../include/instance/tc2.h: -../include/instance/tc3.h: -../include/instance/tc4.h: -../include/instance/tc5.h: -../include/instance/tc6.h: -../include/instance/tc7.h: -../include/instance/tcc0.h: -../include/instance/tcc1.h: -../include/instance/tcc2.h: -../include/instance/tcc3.h: -../include/instance/tcc4.h: -../include/instance/trng.h: -../include/instance/usb.h: -../include/instance/wdt.h: -../include/pio/same54n19a.h: diff --git a/software/firmware/oracle_same54n19a/gcc/gcc/system_same54.o b/software/firmware/oracle_same54n19a/gcc/gcc/system_same54.o deleted file mode 100644 index 8a1441159cbaf330278c14d50dc4f1ad4982085c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1328456 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

    eCKUg!~t39Jji{jmV%;1C*lc>d(J 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

    Dc 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ಌhlhvxXO6clTFc50uk-HhMpeBKo7}&#%!R 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 diff --git a/software/firmware/oracle_same54n19a/gcc/gdb.txt b/software/firmware/oracle_same54n19a/gcc/gdb.txt deleted file mode 100644 index 437df17..0000000 --- a/software/firmware/oracle_same54n19a/gcc/gdb.txt +++ /dev/null @@ -1,1872 +0,0 @@ -0x0001702a in memset () -### Assembly ################################################################### - 0x0001702a ? adds r2, #16 - 0x0001702c ? cmp r2, lr - 0x0001702e ? bne.n 0x17022 - 0x00017030 ? add.w r2, r12, #1 - 0x00017034 ? tst.w r4, #12 - 0x00017038 ? add.w r2, r3, r2, lsl #4 - 0x0001703c ? and.w r12, r4, #15 - 0x00017040 ? beq.n 0x1706a - 0x00017042 ? sub.w r3, r12, #4 - 0x00017046 ? bic.w r3, r3, #3 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x20018f30 r8 0x0000158d xpsr 0x810b0000 - r1 0x00000000 r9 0x20019070 fpscr 0x00000000 - r2 0x20019020 r10 0x200184e1 msp 0x20018f14 - r3 0x20018f30 r11 0x00000002 psp 0xfdff277c - r4 0x00000100 r12 0x0000000f primask 0x00 - r5 0x00000000 sp 0x20018f14 basepri 0x00 - r6 0x0000004a lr 0x20019040 faultmask 0x00 - r7 0x0002bd69 pc 0x0001702a control 0x04 -### Source ##################################################################### -### Stack ###################################################################### -[0] from 0x0001702a in memset -[1] from 0x20019040 in _sstack -### Threads #################################################################### -[1] id 0 from 0x0001702a in memset -### Variables ################################################################## -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c700 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c700 -Loading section .relocate, size 0xa04 lma 0x2c708 -Start address 0x00000000, load size 184588 -Transfer rate: 57 KB/sec, 971 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #16] ; (0xaa0 ) - 0x00000a90 main+4 ldr r4, [pc, #16] ; (0xaa4 ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 ldr r0, [pc, #16] ; (0xaa8 ) -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c708 r8 0x0000158d xpsr 0x61000000 - r1 0x00000000 r9 0x20019070 fpscr 0x00000000 - r2 0x00f00000 r10 0x200184e1 msp 0x200191d0 - r3 0x00000a8d r11 0x00000002 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200191d0 basepri 0x00 - r6 0x0000004a lr 0x00000a5d faultmask 0x00 - r7 0x0002bd69 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 PDEBUG("Hello world\n"); - 9 for(;;) - 10 { - 11 oracle_service(); - 12 } - 13 } -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -0x0000145e in hri_gclk_write_PCHCTRL_reg (data=67, index=3 '\003', hw=0x40001c00) at ../hri/hri_gclk_e54.h:777 -777 ((Gclk *)hw)->PCHCTRL[index].reg = data; -### Assembly ################################################################### -~ -~ -~ - 0x0000145a hri_gclk_write_PCHCTRL_reg+0 blx r3 - 0x0000145c hri_gclk_write_PCHCTRL_reg+2 ldrb r3, [r4, #0] - 0x0000145e hri_gclk_write_PCHCTRL_reg+4 cmp r3, #0 -~ -~ -~ -~ -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x00000065 r8 0x000015b1 xpsr 0x61010000 - r1 0x0001de2a r9 0x20019070 fpscr 0x00000000 - r2 0x00000001 r10 0x200184e1 msp 0x20018f18 - r3 0x00000000 r11 0x00000002 psp 0xfdff277c - r4 0x20000000 r12 0xffffffff primask 0x00 - r5 0x00018989 sp 0x20018f18 basepri 0x00 - r6 0x0000004a lr 0x00000b8d faultmask 0x00 - r7 0x0002bd69 pc 0x0000145e control 0x04 -### Source ##################################################################### - 767 { - 768 uint32_t tmp; - 769 tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - 770 tmp &= mask; - 771 return tmp; - 772 } - 773 - 774 static inline void hri_gclk_write_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data) - 775 { - 776 GCLK_CRITICAL_SECTION_ENTER(); - 777 ((Gclk *)hw)->PCHCTRL[index].reg = data; - 778 GCLK_CRITICAL_SECTION_LEAVE(); - 779 } - 780 - 781 static inline void hri_gclk_clear_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask) - 782 { - 783 GCLK_CRITICAL_SECTION_ENTER(); - 784 ((Gclk *)hw)->PCHCTRL[index].reg &= ~mask; - 785 GCLK_CRITICAL_SECTION_LEAVE(); - 786 } -### Stack ###################################################################### -[0] from 0x0000145e in hri_gclk_write_PCHCTRL_reg+4 at ../hri/hri_gclk_e54.h:777 -[1] from 0x0000145e in p_usart_init+14 at ../shared/drivers/p_usart.c:43 -[2] from 0x20019044 in _sstack -### Threads #################################################################### -[1] id 0 from 0x0000145e in hri_gclk_write_PCHCTRL_reg+4 at ../hri/hri_gclk_e54.h:777 -### Variables ################################################################## -arg data = 67, index = 3 '\003', hw = 0x40001c00 -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c498 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c498 -Loading section .relocate, size 0xa04 lma 0x2c4a0 -Start address 0x00000000, load size 183972 -Transfer rate: 57 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #16] ; (0xaa0 ) - 0x00000a90 main+4 ldr r4, [pc, #16] ; (0xaa4 ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 ldr r0, [pc, #16] ; (0xaa8 ) -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c4a0 r8 0x000015b1 xpsr 0x61000000 - r1 0x00000000 r9 0x20019070 fpscr 0x00000000 - r2 0x00f00000 r10 0x200184e1 msp 0x200191d0 - r3 0x00000a8d r11 0x00000002 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200191d0 basepri 0x00 - r6 0x0000004a lr 0x00000a5d faultmask 0x00 - r7 0x0002bd69 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 PDEBUG("Hello world\n"); - 9 for(;;) - 10 { - 11 oracle_service(); - 12 } - 13 } -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -0x0000fd4e in lv_task_time_remaining (task=0x200099d4 ) at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:426 -426 return task->period - elp; -### Assembly ################################################################### - 0x0000fd44 lv_task_time_remaining+0 ldr r4, [r5, #0] - 0x0000fd46 lv_task_time_remaining+2 b.n 0xfc78 - 0x0000fd48 lv_task_time_remaining+4 movs r4, #0 - 0x0000fd4a lv_task_time_remaining+6 str r6, [r5, #0] - 0x0000fd4c lv_task_time_remaining+8 b.n 0xfc8c - 0x0000fd4e lv_task_time_remaining+10 ldrb r2, [r5, #20] - 0x0000fd50 lv_task_time_remaining+12 lsls r3, r2, #29 - 0x0000fd52 lv_task_time_remaining+14 beq.n 0xfd70 - 0x0000fd54 lv_task_time_remaining+16 ldr r0, [r5, #4] - 0x0000fd56 lv_task_time_remaining+18 blx r4 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x200099d4 r8 0x0000dc85 xpsr 0x81010000 - r1 0x00000001 r9 0x0000e8e5 fpscr 0x00000000 - r2 0xffffffff r10 0x20008f9c msp 0x200191a0 - r3 0x20008f88 r11 0x2000d150 psp 0xfdff277c - r4 0x0000dc99 r12 0x00000004 primask 0x00 - r5 0x200099d4 sp 0x200191a0 basepri 0x00 - r6 0x20008f9c lr 0x0000fd0d faultmask 0x00 - r7 0x0000e8f1 pc 0x0000fd4e control 0x04 -### Source ##################################################################### - 416 * Find out how much time remains before a task must be run. - 417 * @param task pointer to lv_task - 418 * @return the time remaining, or 0 if it needs to be run again - 419 */ - 420 static uint32_t lv_task_time_remaining(lv_task_t * task) - 421 { - 422 /*Check if at least 'period' time elapsed*/ - 423 uint32_t elp = lv_tick_elaps(task->last_run); - 424 if(elp >= task->period) - 425 return 0; - 426 return task->period - elp; - 427 } -~ -~ -~ -~ -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x0000fd4e in lv_task_time_remaining+10 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:426 -[1] from 0x0000fd4e in lv_task_handler+282 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:182 -[2] from 0x00000a9c in main+16 at ../main.c:8 -### Threads #################################################################### -[1] id 0 from 0x0000fd4e in lv_task_time_remaining+10 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:426 -### Variables ################################################################## -arg task = 0x200099d4 : {period = 30,last_run = 917,task_cb = 0x5231 <_lv_disp_refr… -loc elp = 536910292, delay = , already_running = true, idle_period_start = 41608, handler_start = 41957, busy_time = 94, time_till_next = 4294967295, task_interrupter = , next = 0x200099d4 : {period = 30,last_run = 917,task_cb = 0x5231 <_lv_disp_refr…, end_flag = true, idle_period_time = -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c488 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c488 -Loading section .relocate, size 0xa04 lma 0x2c490 -Start address 0x00000000, load size 183956 -Transfer rate: 57 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c490 r8 0x0000dc85 xpsr 0x61000000 - r1 0x00000000 r9 0x0000e8e5 fpscr 0x00000000 - r2 0x00f00000 r10 0x20008f9c msp 0x200191d0 - r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200191d0 basepri 0x00 - r6 0x20008f9c lr 0x00000a5d faultmask 0x00 - r7 0x0000e8f1 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -lv_tick_get () at ../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:57 -57 { -### Assembly ################################################################### -~ -~ -~ -~ -~ - 0x0000dc74 lv_tick_get+0 ldr r3, [pc, #12] ; (0xdc84 ) - 0x0000dc76 lv_tick_get+2 ldr r0, [r3, #4] - 0x0000dc78 lv_tick_get+4 movs r1, #1 - 0x0000dc7a lv_tick_get+6 strb r1, [r3, #0] - 0x0000dc7c lv_tick_get+8 ldrb r2, [r3, #0] -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x00004aa3 r8 0x0000dc75 xpsr 0x61010000 - r1 0x00000001 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00000015 r10 0x20008f9c msp 0x20019198 - r3 0x0000dc75 r11 0x2000d150 psp 0xfdff277c - r4 0x00004aa3 r12 0x00000004 primask 0x00 - r5 0x2000900c sp 0x20019198 basepri 0x00 - r6 0x20009134 lr 0x0000dc91 faultmask 0x00 - r7 0x0000fbd9 pc 0x0000dc74 control 0x04 -### Source ##################################################################### - 47 { - 48 tick_irq_flag = 0; - 49 sys_time += tick_period; - 50 } - 51 - 52 /** - 53 * Get the elapsed milliseconds since start up - 54 * @return the elapsed milliseconds - 55 */ - 56 uint32_t lv_tick_get(void) - 57 { - 58 #if LV_TICK_CUSTOM == 0 - 59 uint32_t result; - 60 do { - 61 tick_irq_flag = 1; - 62 result = sys_time; - 63 } while(!tick_irq_flag); /*'lv_tick_inc()' clears this flag which can be in an interrupt. - 64 Continue until make a non interrupted cycle */ - 65 - 66 return result; -### Stack ###################################################################### -[0] from 0x0000dc74 in lv_tick_get+0 at ../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:57 -[1] from 0x0000dc90 in lv_tick_elaps+8 at ../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:79 -[2] from 0x0000fcbc in lv_task_handler+136 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:169 -[3] from 0x00001680 in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[4] from 0x00000adc in oracle_service+4 at ../oracle.c:35 -[5] from 0x00000a96 in main+10 at ../main.c:10 -### Threads #################################################################### -[1] id 0 from 0x0000dc74 in lv_tick_get+0 at ../shared/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c:57 -### Variables ################################################################## -loc result = -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c488 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c488 -Loading section .relocate, size 0xa04 lma 0x2c490 -Start address 0x00000000, load size 183956 -Transfer rate: 57 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000 - r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00f00000 r10 0x20008f9c msp 0x200191d0 - r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200191d0 basepri 0x00 - r6 0x20009134 lr 0x00000a5d faultmask 0x00 - r7 0x0000fbd9 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -_lv_ll_get_next (ll_p=ll_p@entry=0x20008f9c <_lv_task_ll>, n_act=n_act@entry=0x200099d4 ) at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:300 -300 if(ll_p != NULL) { -### Assembly ################################################################### -~ -~ - 0x0000e8e0 _lv_ll_get_next+0 push {r0, r1, r2, lr} - 0x0000e8e2 _lv_ll_get_next+2 movs r3, #0 - 0x0000e8e4 _lv_ll_get_next+4 str r3, [sp, #4] - 0x0000e8e6 _lv_ll_get_next+6 cbz r0, 0xe8f4 <_lv_ll_get_next+20> - 0x0000e8e8 _lv_ll_get_next+8 ldr r3, [r0, #0] - 0x0000e8ea _lv_ll_get_next+10 adds r3, #4 - 0x0000e8ec _lv_ll_get_next+12 add r1, r3 - 0x0000e8ee _lv_ll_get_next+14 add r0, sp, #4 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x20008f9c r8 0x0000dc75 xpsr 0x61010000 - r1 0x200099d4 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00000028 r10 0x20008f9c msp 0x20019190 - r3 0x00000000 r11 0x2000d150 psp 0xfdff277c - r4 0x0000dc89 r12 0x00000004 primask 0x00 - r5 0x200099d4 sp 0x20019190 basepri 0x00 - r6 0x20008f9c lr 0x0000fd67 faultmask 0x00 - r7 0x0000e8e1 pc 0x0000e8e6 control 0x04 -### Source ##################################################################### - 290 /** - 291 * Return with the pointer of the next node after 'n_act' - 292 * @param ll_p pointer to linked list - 293 * @param n_act pointer a node - 294 * @return pointer to the next node - 295 */ - 296 void * _lv_ll_get_next(const lv_ll_t * ll_p, const void * n_act) - 297 { - 298 void * next = NULL; - 299 - 300 if(ll_p != NULL) { - 301 const lv_ll_node_t * n_act_d = n_act; - 302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *)); - 303 } - 304 - 305 return next; - 306 } - 307 - 308 /** - 309 * Return with the pointer of the previous node after 'n_act' -### Stack ###################################################################### -[0] from 0x0000e8e6 in _lv_ll_get_next+6 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:300 -[1] from 0x0000fd66 in lv_task_handler+306 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:187 -[2] from 0x00001680 in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[3] from 0x00000adc in oracle_service+4 at ../oracle.c:35 -[4] from 0x00000a96 in main+10 at ../main.c:10 -### Threads #################################################################### -[1] id 0 from 0x0000e8e6 in _lv_ll_get_next+6 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:300 -### Variables ################################################################## -arg ll_p = 0x20008f9c <_lv_task_ll>: {n_size = 24,head = 0x200099d4 "\036",tail = …, n_act = 0x200099d4 -loc next = 0x0 -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c488 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c488 -Loading section .relocate, size 0xa04 lma 0x2c490 -Start address 0x00000000, load size 183956 -Transfer rate: 57 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000 - r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00f00000 r10 0x20008f9c msp 0x200191d0 - r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200191d0 basepri 0x00 - r6 0x20008f9c lr 0x00000a5d faultmask 0x00 - r7 0x0000e8e1 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -lv_task_handler () at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:91 -91 handler_start = lv_tick_get(); -### Assembly ################################################################### - 0x0000fc42 lv_task_handler+18 cbnz r4, 0xfc52 - 0x0000fc44 lv_task_handler+20 ldrb.w r2, [r11, #1] - 0x0000fc48 lv_task_handler+24 strb.w r0, [r11, #4] - 0x0000fc4c lv_task_handler+28 cbnz r2, 0xfc56 - 0x0000fc4e lv_task_handler+30 strb.w r2, [r11, #4] - 0x0000fc52 lv_task_handler+34 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - 0x0000fc56 lv_task_handler+38 ldr.w r8, [pc, #324] ; 0xfd9c - 0x0000fc5a lv_task_handler+42 ldr.w r10, [pc, #312] ; 0xfd94 - 0x0000fc5e lv_task_handler+46 ldr.w r9, [pc, #320] ; 0xfda0 - 0x0000fc62 lv_task_handler+50 blx r8 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0xffffffff r8 0x0000dc75 xpsr 0x61010000 - r1 0x20009153 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00000000 r10 0x20008f9c msp 0x200191a0 - r3 0x20019198 r11 0x2000d150 psp 0xfdff277c - r4 0x0000dc89 r12 0x00000004 primask 0x00 - r5 0x00000000 sp 0x200191a0 basepri 0x00 - r6 0x20008f9c lr 0x0000e8f5 faultmask 0x00 - r7 0x0000e8e1 pc 0x0000fc52 control 0x04 -### Source ##################################################################### - 81 static uint32_t idle_period_start = 0; - 82 static uint32_t handler_start = 0; - 83 static uint32_t busy_time = 0; - 84 static uint32_t time_till_next; - 85 - 86 if(lv_task_run == false) { - 87 already_running = false; /*Release mutex*/ - 88 return 1; - 89 } - 90 - 91 handler_start = lv_tick_get(); - 92 - 93 /* Run all task from the highest to the lowest priority - 94 * If a lower priority task is executed check task again from the highest priority - 95 * but on the priority of executed tasks don't run tasks before the executed*/ - 96 lv_task_t * task_interrupter = NULL; - 97 lv_task_t * next; - 98 bool end_flag; - 99 do { - 100 end_flag = true; -### Stack ###################################################################### -[0] from 0x0000fc52 in lv_task_handler+34 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:91 -[1] from 0x0000167c in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[2] from 0x00000adc in oracle_service+4 at ../oracle.c:35 -[3] from 0x00000a96 in main+10 at ../main.c:10 -### Threads #################################################################### -[1] id 0 from 0x0000fc52 in lv_task_handler+34 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:91 -### Variables ################################################################## -loc already_running = false, idle_period_start = 470607, handler_start = 470690, busy_time = 20, time_till_next = 4294967295, task_interrupter = , next = , end_flag = , idle_period_time = -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c488 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c488 -Loading section .relocate, size 0xa04 lma 0x2c490 -Start address 0x00000000, load size 183956 -Transfer rate: 57 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000 - r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00f00000 r10 0x20008f9c msp 0x200191d0 - r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200191d0 basepri 0x00 - r6 0x20008f9c lr 0x00000a5d faultmask 0x00 - r7 0x0000e8e1 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -0x0000e8ee in _lv_ll_get_next (ll_p=ll_p@entry=0x20008f9c <_lv_task_ll>, n_act=n_act@entry=0x200099d4 ) at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302 -302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *)); -### Assembly ################################################################### - 0x0000e8e4 _lv_ll_get_next+8 ldr r3, [r0, #0] - 0x0000e8e6 _lv_ll_get_next+10 adds r3, #4 - 0x0000e8e8 _lv_ll_get_next+12 add r1, r3 - 0x0000e8ea _lv_ll_get_next+14 add r0, sp, #4 - 0x0000e8ec _lv_ll_get_next+16 ldr r3, [pc, #8] ; (0xe8f8 <_lv_ll_get_next+28>) - 0x0000e8ee _lv_ll_get_next+18 blx r3 - 0x0000e8f0 _lv_ll_get_next+20 ldr r0, [sp, #4] - 0x0000e8f2 _lv_ll_get_next+22 add sp, #12 - 0x0000e8f4 _lv_ll_get_next+24 ldr.w pc, [sp], #4 - 0x0000e8f8 _lv_ll_get_next+28 b.n 0xe886 <_lv_ll_ins_head+70> -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x20019194 r8 0x0000dc71 xpsr 0x01010000 - r1 0x200099f0 r9 0x0000e8d1 fpscr 0x00000000 - r2 0x00000028 r10 0x20008f9c msp 0x20019190 - r3 0x0000e7c5 r11 0x2000d150 psp 0xfdff277c - r4 0x0000dc85 r12 0x00000004 primask 0x00 - r5 0x200099d4 sp 0x20019190 basepri 0x00 - r6 0x20008f9c lr 0x0000fd63 faultmask 0x00 - r7 0x0000e8dd pc 0x0000e8ee control 0x04 -### Source ##################################################################### - 292 * @param ll_p pointer to linked list - 293 * @param n_act pointer a node - 294 * @return pointer to the next node - 295 */ - 296 void * _lv_ll_get_next(const lv_ll_t * ll_p, const void * n_act) - 297 { - 298 void * next = NULL; - 299 - 300 if(ll_p != NULL) { - 301 const lv_ll_node_t * n_act_d = n_act; - 302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *)); - 303 } - 304 - 305 return next; - 306 } - 307 - 308 /** - 309 * Return with the pointer of the previous node after 'n_act' - 310 * @param ll_p pointer to linked list - 311 * @param n_act pointer a node -### Stack ###################################################################### -[0] from 0x0000e8ee in _lv_ll_get_next+18 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302 -[1] from 0x0000fd62 in lv_task_handler+306 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:187 -[2] from 0x0000167c in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[3] from 0x00000adc in oracle_service+4 at ../oracle.c:35 -[4] from 0x00000a96 in main+10 at ../main.c:10 -### Threads #################################################################### -[1] id 0 from 0x0000e8ee in _lv_ll_get_next+18 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302 -### Variables ################################################################## -arg ll_p = 0x20008f9c <_lv_task_ll>: {n_size = 24,head = 0x200099d4 "\036",tail = …, n_act = 0x200099d4 -loc n_act_d = 0x200099d4 "\036": 30 '\036', next = 0x0 -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c488 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c488 -Loading section .relocate, size 0xa04 lma 0x2c490 -Start address 0x00000000, load size 183956 -Transfer rate: 57 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c490 r8 0x0000dc71 xpsr 0x61000000 - r1 0x00000000 r9 0x0000e8d1 fpscr 0x00000000 - r2 0x00f00000 r10 0x20008f9c msp 0x200191d0 - r3 0x00000a8d r11 0x2000d150 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200191d0 basepri 0x00 - r6 0x20008f9c lr 0x00000a5d faultmask 0x00 - r7 0x0000e8dd pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -../scripts/push.gdb:6: Error in sourced command file: -Attaching to Remote target failed -quit -../scripts/push.gdb:5: Error in sourced command file: -/dev/ttyBmpGdb: No such file or directory. -Quit -quit -../scripts/push.gdb:6: Error in sourced command file: -Attaching to Remote target failed -quit -0x0000fcac in lv_task_handler () at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168 -168 busy_time += lv_tick_elaps(handler_start); -### Assembly ################################################################### - 0x0000fca0 lv_task_handler+108 cmp r2, #0 - 0x0000fca2 lv_task_handler+110 beq.n 0xfd6a - 0x0000fca4 lv_task_handler+112 ldr r4, [pc, #232] ; (0xfd90 ) - 0x0000fca6 lv_task_handler+114 ldr.w r0, [r11, #8] - 0x0000fcaa lv_task_handler+118 blx r4 - 0x0000fcac lv_task_handler+120 ldr.w r2, [r11, #12] - 0x0000fcb0 lv_task_handler+124 add r0, r2 - 0x0000fcb2 lv_task_handler+126 str.w r0, [r11, #12] - 0x0000fcb6 lv_task_handler+130 ldr.w r0, [r11, #20] - 0x0000fcba lv_task_handler+134 blx r4 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x00000000 r8 0x0000dc75 xpsr 0x61010000 - r1 0x00000001 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00000001 r10 0x2000359c msp 0x200137a0 - r3 0x20003588 r11 0x20007750 psp 0xfdff277c - r4 0x0000dc89 r12 0x00000004 primask 0x00 - r5 0x2000360c sp 0x200137a0 basepri 0x00 - r6 0x20003734 lr 0x0000dc91 faultmask 0x00 - r7 0x0000fbd9 pc 0x0000fcac control 0x04 -### Source ##################################################################### - 158 task_interrupter = NULL; - 159 end_flag = false; - 160 task_list_changed = false; - 161 break; - 162 } - 163 - 164 LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/ - 165 } - 166 } while(!end_flag); - 167 - 168 busy_time += lv_tick_elaps(handler_start); - 169 uint32_t idle_period_time = lv_tick_elaps(idle_period_start); - 170 if(idle_period_time >= IDLE_MEAS_PERIOD) { - 171 - 172 idle_last = (uint32_t)((uint32_t)busy_time * 100) / IDLE_MEAS_PERIOD; /*Calculate the busy percentage*/ - 173 idle_last = idle_last > 100 ? 0 : 100 - idle_last; /*But we need idle time*/ - 174 busy_time = 0; - 175 idle_period_start = lv_tick_get(); - 176 } - 177 -### Stack ###################################################################### -[0] from 0x0000fcac in lv_task_handler+120 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168 -[1] from 0x00001680 in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[2] from 0x00000adc in oracle_service+4 at ../oracle.c:35 -[3] from 0x00000a96 in main+10 at ../main.c:10 -### Threads #################################################################### -[1] id 0 from 0x0000fcac in lv_task_handler+120 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168 -### Variables ################################################################## -loc already_running = false, idle_period_start = 0, handler_start = 0, busy_time = 0, time_till_next = 0, task_interrupter = , next = , end_flag = true, idle_period_time = -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c488 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c488 -Loading section .relocate, size 0xa04 lma 0x2c490 -Start address 0x00000000, load size 183956 -Transfer rate: 56 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000 - r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00f00000 r10 0x2000359c msp 0x200117d0 - r3 0x00000a8d r11 0x20007750 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200117d0 basepri 0x00 - r6 0x20003734 lr 0x00000a5d faultmask 0x00 - r7 0x0000fbd9 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -lv_task_handler () at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168 -168 busy_time += lv_tick_elaps(handler_start); -### Assembly ################################################################### - 0x0000fc98 lv_task_handler+100 bne.n 0xfd0e - 0x0000fc9a lv_task_handler+102 blx r7 - 0x0000fc9c lv_task_handler+104 ldrb.w r2, [r11, #2] - 0x0000fca0 lv_task_handler+108 cmp r2, #0 - 0x0000fca2 lv_task_handler+110 beq.n 0xfd6a - 0x0000fca4 lv_task_handler+112 ldr r4, [pc, #232] ; (0xfd90 ) - 0x0000fca6 lv_task_handler+114 ldr.w r0, [r11, #8] - 0x0000fcaa lv_task_handler+118 blx r4 - 0x0000fcac lv_task_handler+120 ldr.w r2, [r11, #12] - 0x0000fcb0 lv_task_handler+124 add r0, r2 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x20003fd4 r8 0x0000dc75 xpsr 0x61010000 - r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00000028 r10 0x2000359c msp 0x200117a0 - r3 0x20011798 r11 0x20005750 psp 0xfdff277c - r4 0x00000000 r12 0x00000004 primask 0x00 - r5 0x2000360c sp 0x200117a0 basepri 0x00 - r6 0x20003734 lr 0x0000e8f5 faultmask 0x00 - r7 0x0000fbd9 pc 0x0000fca4 control 0x04 -### Source ##################################################################### - 158 task_interrupter = NULL; - 159 end_flag = false; - 160 task_list_changed = false; - 161 break; - 162 } - 163 - 164 LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/ - 165 } - 166 } while(!end_flag); - 167 - 168 busy_time += lv_tick_elaps(handler_start); - 169 uint32_t idle_period_time = lv_tick_elaps(idle_period_start); - 170 if(idle_period_time >= IDLE_MEAS_PERIOD) { - 171 - 172 idle_last = (uint32_t)((uint32_t)busy_time * 100) / IDLE_MEAS_PERIOD; /*Calculate the busy percentage*/ - 173 idle_last = idle_last > 100 ? 0 : 100 - idle_last; /*But we need idle time*/ - 174 busy_time = 0; - 175 idle_period_start = lv_tick_get(); - 176 } - 177 -### Stack ###################################################################### -[0] from 0x0000fca4 in lv_task_handler+112 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168 -[1] from 0x00001680 in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[2] from 0x00000adc in oracle_service+4 at ../oracle.c:35 -[3] from 0x00000a96 in main+10 at ../main.c:10 -### Threads #################################################################### -[1] id 0 from 0x0000fca4 in lv_task_handler+112 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:168 -### Variables ################################################################## -loc already_running = true, idle_period_start = 104116, handler_start = 104206, busy_time = 20, time_till_next = 4294967295, task_interrupter = , next = , end_flag = true, idle_period_time = -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c488 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c488 -Loading section .relocate, size 0xa04 lma 0x2c490 -Start address 0x00000000, load size 183956 -Transfer rate: 56 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c490 r8 0x0000dc75 xpsr 0x61000000 - r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00f00000 r10 0x2000359c msp 0x200117d0 - r3 0x00000a8d r11 0x20005750 psp 0xfdff277c - r4 0x1ffffffd r12 0x0000000c primask 0x00 - r5 0x00000000 sp 0x200117d0 basepri 0x00 - r6 0x20003734 lr 0x00000a5d faultmask 0x00 - r7 0x0000fbd9 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -_lv_ll_ins_head (ll_p=0x0 ) at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:84 -84 node_set_next(ll_p, n_new, ll_p->head); /*After new comes the old head*/ -### Assembly ################################################################### - 0x0000e8dc _lv_ll_ins_head+16 ldr r0, [r0, #8] - 0x0000e8de _lv_ll_ins_head+18 bx lr - 0x0000e8e0 _lv_ll_ins_head+20 push {r0, r1, r2, lr} - 0x0000e8e2 _lv_ll_ins_head+22 movs r3, #0 - 0x0000e8e4 _lv_ll_ins_head+24 str r3, [sp, #4] - 0x0000e8e6 _lv_ll_ins_head+26 cbz r0, 0xe8f4 <_lv_ll_ins_head+40> - 0x0000e8e8 _lv_ll_ins_head+28 ldr r3, [r0, #0] - 0x0000e8ea _lv_ll_ins_head+30 adds r3, #4 - 0x0000e8ec _lv_ll_ins_head+32 add r1, r3 - 0x0000e8ee _lv_ll_ins_head+34 add r0, sp, #4 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x2000359c r8 0x0000dc75 xpsr 0x61010000 - r1 0x20003fd4 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00000000 r10 0x2000359c msp 0x20011790 - r3 0x00000000 r11 0x20005750 psp 0xfdff277c - r4 0x00000000 r12 0x00000004 primask 0x00 - r5 0x2000360c sp 0x20011790 basepri 0x00 - r6 0x20003734 lr 0x0000fc87 faultmask 0x00 - r7 0x0000fbd9 pc 0x0000e8e6 control 0x04 -### Source ##################################################################### - 74 * @return pointer to the new head - 75 */ - 76 void * _lv_ll_ins_head(lv_ll_t * ll_p) - 77 { - 78 lv_ll_node_t * n_new; - 79 - 80 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 81 - 82 if(n_new != NULL) { - 83 node_set_prev(ll_p, n_new, NULL); /*No prev. before the new head*/ - 84 node_set_next(ll_p, n_new, ll_p->head); /*After new comes the old head*/ - 85 - 86 if(ll_p->head != NULL) { /*If there is old head then before it goes the new*/ - 87 node_set_prev(ll_p, ll_p->head, n_new); - 88 } - 89 - 90 ll_p->head = n_new; /*Set the new head in the dsc.*/ - 91 if(ll_p->tail == NULL) { /*If there is no tail (1. node) set the tail too*/ - 92 ll_p->tail = n_new; - 93 } -### Stack ###################################################################### -[0] from 0x0000e8e6 in _lv_ll_ins_head+26 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:84 -[1] from 0x0000fc86 in lv_task_exec+4 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:402 -[2] from 0x0000fc86 in lv_task_exec+38 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:390 -[3] from 0x20003734 in _lv_draw_mask_list -### Threads #################################################################### -[1] id 0 from 0x0000e8e6 in _lv_ll_ins_head+26 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:84 -### Variables ################################################################## -arg ll_p = 0x0 : {n_size = 536942552,head = 0x9fd "I\031H\201B\020\265\n\320\… -loc n_new = 0x2000360c <_lv_anim_ll> "\324?": 212 '\324' -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c590 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c590 -Loading section .relocate, size 0xa04 lma 0x2c598 -Start address 0x00000000, load size 184220 -Transfer rate: 57 KB/sec, 969 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c598 r8 0x0000dc75 xpsr 0x61000000 - r1 0x00000000 r9 0x0000e8d5 fpscr 0x00000000 - r2 0x00f00000 r10 0x2000359c msp 0x20011800 - r3 0x00000a8d r11 0x20005750 psp 0xfdff277c - r4 0x1ffffffd r12 0x00000004 primask 0x00 - r5 0x00000000 sp 0x20011800 basepri 0x00 - r6 0x20003734 lr 0x00000a5d faultmask 0x00 - r7 0x0000fbd9 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -0x0000dd10 in lv_anim_path_linear (path=, a=0x0 ) at ../shared/thirdparty/lvgl/src/lv_misc/lv_anim.c:246 -246 } -### Assembly ################################################################### - 0x0000dd06 lv_anim_path_linear+22 cmp r2, #0 - 0x0000dd08 lv_anim_path_linear+24 beq.n 0xdd02 - 0x0000dd0a lv_anim_path_linear+26 bx lr - 0x0000dd0c lv_anim_path_linear+28 adds r5, #188 ; 0xbc - 0x0000dd0e lv_anim_path_linear+30 movs r0, #0 - 0x0000dd10 lv_anim_path_linear+32 push {r4, lr} - 0x0000dd12 lv_anim_path_linear+34 ldr r3, [pc, #8] ; (0xdd1c ) -~ -~ -~ -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x000380a0 r8 0x0000dcfd xpsr 0x61010000 - r1 0x00000000 r9 0x0000e95d fpscr 0x00000000 - r2 0x00000028 r10 0x200035d0 msp 0x200117d0 - r3 0x200117c8 r11 0x20005784 psp 0xfdff277c - r4 0x0000dd11 r12 0x00000004 primask 0x00 - r5 0x20003640 sp 0x200117d0 basepri 0x00 - r6 0x20003768 lr 0x0000fd35 faultmask 0x00 - r7 0x0000fc61 pc 0x0000dd10 control 0x04 -### Source ##################################################################### - 236 } - 237 - 238 /* Get the new value which will be proportional to `step` - 239 * and the `start` and `end` values*/ - 240 int32_t new_value; - 241 new_value = (int32_t)step * (a->end - a->start); - 242 new_value = new_value >> LV_ANIM_RES_SHIFT; - 243 new_value += a->start; - 244 - 245 return (lv_anim_value_t)new_value; - 246 } - 247 - 248 /** - 249 * Calculate the current value of an animation slowing down the start phase - 250 * @param a pointer to an animation - 251 * @return the current value to set - 252 */ - 253 lv_anim_value_t lv_anim_path_ease_in(const lv_anim_path_t * path, const lv_anim_t * a) - 254 { - 255 LV_UNUSED(path); -### Stack ###################################################################### -[0] from 0x0000dd10 in lv_anim_path_linear+32 at ../shared/thirdparty/lvgl/src/lv_misc/lv_anim.c:246 -[1] from 0x0000fd34 in lv_task_handler+168 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:173 -[2] from 0x000016d8 in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[3] from 0x00000adc in oracle_service+4 at ../oracle.c:35 -[4] from 0x00000a96 in main+10 at ../main.c:10 -### Threads #################################################################### -[1] id 0 from 0x0000dd10 in lv_anim_path_linear+32 at ../shared/thirdparty/lvgl/src/lv_misc/lv_anim.c:246 -### Variables ################################################################## -arg path = , a = 0x0 : {var = 0x20011808,exec_cb = 0x9fd ,start_cb = 0x9f9 , new_value = 229536 -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c590 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c590 -Loading section .relocate, size 0xa04 lma 0x2c598 -Start address 0x00000000, load size 184220 -Transfer rate: 57 KB/sec, 969 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c598 r8 0x0000dcfd xpsr 0x61000000 - r1 0x00000000 r9 0x0000e95d fpscr 0x00000000 - r2 0x00f00000 r10 0x200035d0 msp 0x20011800 - r3 0x00000a8d r11 0x20005784 psp 0xfdff277c - r4 0x1ffffffd r12 0x00000004 primask 0x00 - r5 0x00000000 sp 0x20011800 basepri 0x00 - r6 0x20003768 lr 0x00000a5d faultmask 0x00 - r7 0x0000fc61 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -lv_task_handler () at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:104 -104 while(LV_GC_ROOT(_lv_task_act)) { -### Assembly ################################################################### - 0x0000fcc8 lv_task_handler+60 strb.w r2, [r11, #2] - 0x0000fccc lv_task_handler+64 blx r9 - 0x0000fcce lv_task_handler+66 ldr r5, [pc, #268] ; (0xfddc ) - 0x0000fcd0 lv_task_handler+68 ldr r7, [pc, #268] ; (0xfde0 ) - 0x0000fcd2 lv_task_handler+70 str r0, [r5, #0] - 0x0000fcd4 lv_task_handler+72 ldr r1, [r5, #0] - 0x0000fcd6 lv_task_handler+74 cbz r1, 0xfcfc - 0x0000fcd8 lv_task_handler+76 ldr r3, [pc, #264] ; (0xfde4 ) - 0x0000fcda lv_task_handler+78 mov r0, r10 - 0x0000fcdc lv_task_handler+80 blx r3 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x20004008 r8 0x0000dccd xpsr 0x61010000 - r1 0x00000001 r9 0x0000e92d fpscr 0x00000000 - r2 0x00000000 r10 0x200035d0 msp 0x200117d0 - r3 0x200035bc r11 0x20005784 psp 0xfdff277c - r4 0x00000000 r12 0x00000004 primask 0x00 - r5 0x20003640 sp 0x200117d0 basepri 0x00 - r6 0x20003768 lr 0x0000fccf faultmask 0x00 - r7 0x0000fc31 pc 0x0000fcd4 control 0x04 -### Source ##################################################################### - 94 * If a lower priority task is executed check task again from the highest priority - 95 * but on the priority of executed tasks don't run tasks before the executed*/ - 96 lv_task_t * task_interrupter = NULL; - 97 lv_task_t * next; - 98 bool end_flag; - 99 do { - 100 end_flag = true; - 101 task_deleted = false; - 102 task_created = false; - 103 LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 104 while(LV_GC_ROOT(_lv_task_act)) { - 105 /* The task might be deleted if it runs only once ('once = 1') - 106 * So get next element until the current is surely valid*/ - 107 next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act)); - 108 - 109 /*We reach priority of the turned off task. There is nothing more to do.*/ - 110 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_OFF) { - 111 break; - 112 } - 113 -### Stack ###################################################################### -[0] from 0x0000fcd4 in lv_task_handler+72 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:104 -[1] from 0x000016d8 in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[2] from 0x00000adc in oracle_service+4 at ../oracle.c:35 -[3] from 0x00000a96 in main+10 at ../main.c:10 -### Threads #################################################################### -[1] id 0 from 0x0000fcd4 in lv_task_handler+72 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:104 -### Variables ################################################################## -loc already_running = true, idle_period_start = 43067, handler_start = 43169, busy_time = 30, time_till_next = 4294967295, task_interrupter = 0x0 : {period = 536942600,last_run = 2557,task_cb = 0x9f9 ,user_dat…, next = , end_flag = true, idle_period_time = -################################################################################ -Breakpoint 1 at 0xa8c: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2c590 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2c590 -Loading section .relocate, size 0xa04 lma 0x2c598 -Start address 0x00000000, load size 184220 -Transfer rate: 57 KB/sec, 969 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000a8c main+0 push {r3, lr} - 0x00000a8e main+2 ldr r3, [pc, #8] ; (0xa98 ) - 0x00000a90 main+4 ldr r4, [pc, #8] ; (0xa9c ) - 0x00000a92 main+6 blx r3 - 0x00000a94 main+8 blx r4 -### Breakpoints ################################################################ -[1] break at 0x00000a8c in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002c598 r8 0x0000dccd xpsr 0x61000000 - r1 0x00000000 r9 0x0000e92d fpscr 0x00000000 - r2 0x00f00000 r10 0x200035d0 msp 0x20011800 - r3 0x00000a8d r11 0x20005784 psp 0xfdff277c - r4 0x1ffffffd r12 0x00000004 primask 0x00 - r5 0x00000000 sp 0x20011800 basepri 0x00 - r6 0x20003768 lr 0x00000a5d faultmask 0x00 - r7 0x0000fc31 pc 0x00000a8c control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 for(;;) - 9 { - 10 oracle_service(); - 11 } - 12 } -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000a8c in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000a8c in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -../scripts/push.gdb:6: Error in sourced command file: -Attaching to Remote target failed -quit -0x0000ef92 in _lv_ll_get_next (ll_p=ll_p@entry=0x200035f0 <_lv_task_ll>, n_act=0x20004028 ) at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302 -302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *)); -### Assembly ################################################################### - 0x0000ef88 _lv_ll_get_next+0 push {r0, r1, r2, lr} - 0x0000ef8a _lv_ll_get_next+2 movs r3, #0 - 0x0000ef8c _lv_ll_get_next+4 str r3, [sp, #4] - 0x0000ef8e _lv_ll_get_next+6 cbz r0, 0xef9c <_lv_ll_get_next+20> - 0x0000ef90 _lv_ll_get_next+8 ldr r3, [r0, #0] - 0x0000ef92 _lv_ll_get_next+10 adds r3, #4 - 0x0000ef94 _lv_ll_get_next+12 add r1, r3 - 0x0000ef96 _lv_ll_get_next+14 add r0, sp, #4 - 0x0000ef98 _lv_ll_get_next+16 ldr r3, [pc, #8] ; (0xefa4 <_lv_ll_get_next+28>) - 0x0000ef9a _lv_ll_get_next+18 blx r3 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x200035f0 r8 0x0000e31d xpsr 0x61010000 - r1 0x20004028 r9 0x0000ef7d fpscr 0x00000000 - r2 0x00000000 r10 0x200035f0 msp 0x200117e0 - r3 0x00000018 r11 0x200057a4 psp 0xfdff277c - r4 0x00000000 r12 0x00000004 primask 0x00 - r5 0x20003660 sp 0x200117e0 basepri 0x00 - r6 0x200035f0 lr 0x0001032f faultmask 0x00 - r7 0x00010281 pc 0x0000ef92 control 0x04 -### Source ##################################################################### - 292 * @param ll_p pointer to linked list - 293 * @param n_act pointer a node - 294 * @return pointer to the next node - 295 */ - 296 void * _lv_ll_get_next(const lv_ll_t * ll_p, const void * n_act) - 297 { - 298 void * next = NULL; - 299 - 300 if(ll_p != NULL) { - 301 const lv_ll_node_t * n_act_d = n_act; - 302 _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *)); - 303 } - 304 - 305 return next; - 306 } - 307 - 308 /** - 309 * Return with the pointer of the previous node after 'n_act' - 310 * @param ll_p pointer to linked list - 311 * @param n_act pointer a node -### Stack ###################################################################### -[0] from 0x0000ef92 in _lv_ll_get_next+10 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302 -[1] from 0x0001032e in lv_task_handler+82 at ../shared/thirdparty/lvgl/src/lv_misc/lv_task.c:107 -[2] from 0x00001d28 in p_screen_service+4 at ../shared/devices/p_screen.c:43 -[3] from 0x00000fec in oracle_service+4 at ../oracle.c:35 -[4] from 0x00000fa2 in main+14 at ../main.c:12 -### Threads #################################################################### -[1] id -1 from 0x0000ef92 in _lv_ll_get_next+10 at ../shared/thirdparty/lvgl/src/lv_misc/lv_ll.c:302 -### Variables ################################################################## -arg ll_p = 0x200035f0 <_lv_task_ll>: {n_size = 24,head = 0x20004028 "\036",tail = …, n_act = 0x20004028 -loc n_act_d = 0x20004028 "\036": 30 '\036', next = 0x0 -################################################################################ -A program is being debugged already. Kill it? (y or n) [answered Y; input not from terminal] -0x000175ea in memset () -### Assembly ################################################################### - 0x000175ea ? strd r5, r5, [r2, #-8] - 0x000175ee ? adds r2, #16 - 0x000175f0 ? cmp r2, lr - 0x000175f2 ? bne.n 0x175e6 - 0x000175f4 ? add.w r2, r12, #1 - 0x000175f8 ? tst.w r4, #12 - 0x000175fc ? add.w r2, r3, r2, lsl #4 - 0x00017600 ? and.w r12, r4, #15 - 0x00017604 ? beq.n 0x1762e - 0x00017606 ? sub.w r3, r12, #4 -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x20000a04 r8 0x0000e31d xpsr 0x81000000 - r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000 - r2 0x200027e4 r10 0x200035f0 msp 0x20011814 - r3 0x20000a04 r11 0x200057a4 psp 0xfdff277c - r4 0x00004e24 r12 0x000004e1 primask 0x00 - r5 0x00000000 sp 0x20011814 basepri 0x00 - r6 0x200035f0 lr 0x20005834 faultmask 0x00 - r7 0x00010281 pc 0x000175ea control 0x00 -### Source ##################################################################### -### Stack ###################################################################### -[0] from 0x000175ea in memset -[1] from 0x00000f3e in Reset_Handler+58 at ../gcc/gcc/startup_same54.c:646 -[2] from 0xfffffffe -### Threads #################################################################### -[1] id 0 from 0x000175ea in memset -### Variables ################################################################## -################################################################################ -Breakpoint 1 at 0xf94: file ../main.c, line 8. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x2cc00 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x2cc00 -Loading section .relocate, size 0xa04 lma 0x2cc08 -Start address 0x00000000, load size 185868 -Transfer rate: 56 KB/sec, 968 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:8 -8 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000f94 main+0 push {r3, lr} - 0x00000f96 main+2 ldr r3, [pc, #12] ; (0xfa4 ) - 0x00000f98 main+4 ldr r4, [pc, #12] ; (0xfa8 ) - 0x00000f9a main+6 blx r3 - 0x00000f9c main+8 ldr r3, [pc, #12] ; (0xfac ) -### Breakpoints ################################################################ -[1] break at 0x00000f94 in ../main.c:8 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x0002cc08 r8 0x0000e31d xpsr 0x61000000 - r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000 - r2 0x00f00000 r10 0x200035f0 msp 0x20011820 - r3 0x00000f95 r11 0x200057a4 psp 0xfdff277c - r4 0x1ffffffd r12 0x00000004 primask 0x00 - r5 0x00000000 sp 0x20011820 basepri 0x00 - r6 0x200035f0 lr 0x00000f65 faultmask 0x00 - r7 0x00010281 pc 0x00000f94 control 0x00 -### Source ##################################################################### -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 #include "p_i2c.h" - 4 - 5 - 6 int main(void) - 7 { -! 8 oracle_init(); - 9 p_i2c_detect(); - 10 for(;;) - 11 { - 12 oracle_service(); - 13 } - 14 } -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000f94 in main+0 at ../main.c:8 -### Threads #################################################################### -[1] id -1 from 0x00000f94 in main+0 at ../main.c:8 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -../scripts/push.gdb:6: Error in sourced command file: -Attaching to Remote target failed -Quit -quit -Dummy_Handler () at ../gcc/gcc/startup_same54.c:676 -676 while (1) { -### Assembly ################################################################### -~ -~ -~ -~ -~ - 0x00000f00 Dummy_Handler+0 b.n 0xf00 -~ -~ -~ -~ -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x81481949 r8 0x0000393d xpsr 0x31000003 - r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000 - r2 0x2000195c r10 0x200035f0 msp 0x2000fb68 - r3 0x20001960 r11 0x200057a4 psp 0xfdff277c - r4 0x81481949 r12 0xffffffff primask 0x00 - r5 0x00000f05 sp 0x2000fb68 basepri 0x00 - r6 0x00000000 lr 0xffffffe9 faultmask 0x00 - r7 0x00003489 pc 0x00000f00 control 0x00 -### Source ##################################################################### - 666 /* Infinite loop */ - 667 while (1) - 668 ; - 669 } - 670 - 671 /** - 672 * \brief Default interrupt handler for unused IRQs. - 673 */ - 674 void Dummy_Handler(void) - 675 { - 676 while (1) { - 677 } - 678 } -~ -~ -~ -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000f00 in Dummy_Handler+0 at ../gcc/gcc/startup_same54.c:676 -[1] from 0xffffffe9 -[2] from 0x0000fc1a in lv_mem_free+0 at ../shared/thirdparty/lvgl/src/lv_misc/lv_mem.c:230 -[3] from 0x0000fc1a in lv_mem_free+14 at ../shared/thirdparty/lvgl/src/lv_misc/lv_mem.c:218 -[4] from 0x00005e5e in lv_style_reset+10 at ../shared/thirdparty/lvgl/src/lv_core/lv_style.c:323 -[5] from 0x000063a0 in _lv_style_list_reset+24 at ../shared/thirdparty/lvgl/src/lv_core/lv_style.c:291 -[6] from 0x00002fae in lv_obj_clean_style_list+38 at ../shared/thirdparty/lvgl/src/lv_core/lv_obj.c:1174 -[7] from 0x00003944 in lv_obj_reset_style_list+8 at ../shared/thirdparty/lvgl/src/lv_core/lv_obj.c:1190 -[8] from 0x0001d266 in lv_demo_benchmark+34 at ../shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c:634 -[9] from 0x00001c6a in p_screen_init+18 at ../shared/devices/p_screen.c:40 -[+] -### Threads #################################################################### -[1] id 0 from 0x00000f00 in Dummy_Handler+0 at ../gcc/gcc/startup_same54.c:676 -### Variables ################################################################## -################################################################################ -Breakpoint 1 at 0xf94: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x40ba8 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x40ba8 -Loading section .relocate, size 0x118c lma 0x40bb0 -Start address 0x00000000, load size 269628 -Transfer rate: 56 KB/sec, 976 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000f94 main+0 push {r3, lr} - 0x00000f96 main+2 ldr r3, [pc, #12] ; (0xfa4 ) - 0x00000f98 main+4 ldr r4, [pc, #12] ; (0xfa8 ) - 0x00000f9a main+6 blx r3 - 0x00000f9c main+8 ldr r3, [pc, #12] ; (0xfac ) -### Breakpoints ################################################################ -[1] break at 0x00000f94 in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x00040bb0 r8 0x0000393d xpsr 0x61000000 - r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000 - r2 0x00f00000 r10 0x200035f0 msp 0x2000fc48 - r3 0x00000f95 r11 0x200057a4 psp 0xfdff277c - r4 0x1ffffffd r12 0x00000004 primask 0x00 - r5 0x00000f05 sp 0x2000fc48 basepri 0x00 - r6 0x00000000 lr 0x00000f65 faultmask 0x00 - r7 0x00003489 pc 0x00000f94 control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 #include "p_i2c.h" - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 p_i2c_detect(); - 9 for(;;) - 10 { - 11 oracle_service(); - 12 } - 13 } -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000f94 in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000f94 in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -Dummy_Handler () at ../gcc/gcc/startup_same54.c:676 -676 while (1) { -### Assembly ################################################################### -~ -~ -~ -~ -~ - 0x00000f00 Dummy_Handler+0 b.n 0xf00 -~ -~ -~ -~ -### Breakpoints ################################################################ -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x81481949 r8 0x0000393d xpsr 0x31000003 - r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000 - r2 0x2000195c r10 0x200035f0 msp 0x2000fb68 - r3 0x20001960 r11 0x200057a4 psp 0xfdff277c - r4 0x81481949 r12 0xffffffff primask 0x00 - r5 0x00000f05 sp 0x2000fb68 basepri 0x00 - r6 0x00000000 lr 0xffffffe9 faultmask 0x00 - r7 0x00003489 pc 0x00000f00 control 0x00 -### Source ##################################################################### - 666 /* Infinite loop */ - 667 while (1) - 668 ; - 669 } - 670 - 671 /** - 672 * \brief Default interrupt handler for unused IRQs. - 673 */ - 674 void Dummy_Handler(void) - 675 { - 676 while (1) { - 677 } - 678 } -~ -~ -~ -~ -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000f00 in Dummy_Handler+0 at ../gcc/gcc/startup_same54.c:676 -[1] from 0xffffffe9 -[2] from 0x0000fc1a in _lv_area_is_point_on+102 at ../shared/thirdparty/lvgl/src/lv_misc/lv_area.c:165 -[3] from 0x00003944 in lv_obj_realign+100 at ../shared/thirdparty/lvgl/src/lv_core/lv_obj.c:1077 -[4] from 0x0000fffe in lv_color_mix+34 at ../shared/thirdparty/lvgl/src/lv_misc/lv_color.h:443 -[5] from 0x0000fffe in lv_color_lighten+36 at ../shared/thirdparty/lvgl/src/lv_misc/lv_color.c:133 -[6] from 0x00000fe8 in oracle_init+56 at ../oracle.c:30 -### Threads #################################################################### -[1] id 0 from 0x00000f00 in Dummy_Handler+0 at ../gcc/gcc/startup_same54.c:676 -### Variables ################################################################## -################################################################################ -Breakpoint 1 at 0xf94: file ../main.c, line 7. -Note: automatically using hardware breakpoints for read-only addresses. -Loading section .text, size 0x41880 lma 0x0 -Loading section .ARM.exidx, size 0x8 lma 0x41880 -Loading section .relocate, size 0x118c lma 0x41888 -Start address 0x00000000, load size 272916 -Transfer rate: 56 KB/sec, 978 bytes/write. -### Output/messages ############################################################ - -Breakpoint 1, main () at ../main.c:7 -7 oracle_init(); -### Assembly ################################################################### -~ -~ -~ -~ -~ -!0x00000f94 main+0 push {r3, lr} - 0x00000f96 main+2 ldr r3, [pc, #12] ; (0xfa4 ) - 0x00000f98 main+4 ldr r4, [pc, #12] ; (0xfa8 ) - 0x00000f9a main+6 blx r3 - 0x00000f9c main+8 ldr r3, [pc, #12] ; (0xfac ) -### Breakpoints ################################################################ -[1] break at 0x00000f94 in ../main.c:7 for main hit 1 time -### Expressions ################################################################ -### History #################################################################### -### Memory ##################################################################### -### Registers ################################################################## - r0 0x00041888 r8 0x0000393d xpsr 0x61000000 - r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000 - r2 0x00f00000 r10 0x200035f0 msp 0x200121f0 - r3 0x00000f95 r11 0x200057a4 psp 0xfdff277c - r4 0x1ffffffd r12 0x00000008 primask 0x00 - r5 0x00000f05 sp 0x200121f0 basepri 0x00 - r6 0x00000000 lr 0x00000f65 faultmask 0x00 - r7 0x00003489 pc 0x00000f94 control 0x00 -### Source ##################################################################### -~ -~ -~ -~ - 1 #include "oracle.h" - 2 #include "p_usart.h" - 3 #include "p_i2c.h" - 4 - 5 int main(void) - 6 { -! 7 oracle_init(); - 8 p_i2c_detect(); - 9 for(;;) - 10 { - 11 oracle_service(); - 12 } - 13 } -~ -~ -~ -### Stack ###################################################################### -[0] from 0x00000f94 in main+0 at ../main.c:7 -### Threads #################################################################### -[1] id -1 from 0x00000f94 in main+0 at ../main.c:7 -### Variables ################################################################## -################################################################################ -[Inferior 1 (Remote target) detached] -../scripts/push.gdb:6: Error in sourced command file: -Attaching to Remote target failed -quit -../scripts/push.gdb:6: Error in sourced command file: -Attaching to Remote target failed -Quit -quit -../scripts/push.gdb:6: Error in sourced command file: -Attaching to Remote target failed -Quit -quit diff --git a/software/firmware/oracle_same54n19a/gcc/system_same54.c b/software/firmware/oracle_same54n19a/gcc/system_same54.c deleted file mode 100644 index 468990e..0000000 --- a/software/firmware/oracle_same54n19a/gcc/system_same54.c +++ /dev/null @@ -1,64 +0,0 @@ -/** - * \file - * - * \brief Low-level initialization functions called upon chip startup. - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#include "same54.h" - -/** - * Initial system clock frequency. The System RC Oscillator (RCSYS) provides - * the source for the main clock at chip startup. - */ -#define __SYSTEM_CLOCK (48000000) - -uint32_t SystemCoreClock = __SYSTEM_CLOCK; /*!< System Clock Frequency (Core Clock)*/ - -/** - * Initialize the system - * - * @brief Setup the microcontroller system. - * Initialize the System and update the SystemCoreClock variable. - */ -void SystemInit(void) -{ - // Keep the default device state after reset - SystemCoreClock = __SYSTEM_CLOCK; - return; -} - -/** - * Update SystemCoreClock variable - * - * @brief Updates the SystemCoreClock with current core Clock - * retrieved from cpu registers. - */ -void SystemCoreClockUpdate(void) -{ - // Not implemented - SystemCoreClock = __SYSTEM_CLOCK; - return; -} diff --git a/software/firmware/oracle_same54n19a/hal/documentation/ext_irq.rst b/software/firmware/oracle_same54n19a/hal/documentation/ext_irq.rst deleted file mode 100644 index 7dcdc7c..0000000 --- a/software/firmware/oracle_same54n19a/hal/documentation/ext_irq.rst +++ /dev/null @@ -1,39 +0,0 @@ -============== -EXT IRQ driver -============== - -The External Interrupt driver allows external pins to be -configured as interrupt lines. Each interrupt line can be -individually masked and can generate an interrupt on rising, -falling or both edges, or on high or low levels. Some of -external pin can also be configured to wake up the device -from sleep modes where all clocks have been disabled. -External pins can also generate an event. - -Features --------- -* Initialization and de-initialization -* Enabling and disabling -* Detect external pins interrupt - -Applications ------------- -* Generate an interrupt on rising, falling or both edges, - or on high or low levels. - -Dependencies ------------- -* GPIO hardware - -Concurrency ------------ -N/A - -Limitations ------------ -N/A - -Knows issues and workarounds ----------------------------- -N/A - diff --git a/software/firmware/oracle_same54n19a/hal/documentation/i2c_master_sync.rst b/software/firmware/oracle_same54n19a/hal/documentation/i2c_master_sync.rst deleted file mode 100644 index 77b4f6e..0000000 --- a/software/firmware/oracle_same54n19a/hal/documentation/i2c_master_sync.rst +++ /dev/null @@ -1,87 +0,0 @@ -============================= -I2C Master synchronous driver -============================= - -I2C (Inter-Integrated Circuit) is a two wire serial interface usually used -for on-board low-speed bi-directional communication between controllers and -peripherals. The master device is responsible for initiating and controlling -all transfers on the I2C bus. Only one master device can be active on the I2C -bus at the time, but the master role can be transferred between devices on the -same I2C bus. I2C uses only two bidirectional open-drain lines, usually -designated SDA (Serial Data Line) and SCL (Serial Clock Line), with pull up -resistors. - -The stop condition is automatically controlled by the driver if the I/O write and -read functions are used, but can be manually controlled by using the -i2c_m_sync_transfer function. - -Often a master accesses different information in the slave by accessing -different registers in the slave. This is done by first sending a message to -the target slave containing the register address, followed by a repeated start -condition (no stop condition between) ending with transferring register data. -This scheme is supported by the i2c_m_sync_cmd_write and i2c_m_sync_cmd_read -function, but limited to 8-bit register addresses. - -I2C Modes (standard mode/fastmode+/highspeed mode) can only be selected in -Atmel Start. If the SCL frequency (baudrate) has changed run-time, make sure to -stick within the SCL clock frequency range supported by the selected mode. -The requested SCL clock frequency is not validated by the -i2c_m_sync_set_baudrate function against the selected I2C mode. - -Features --------- - - * I2C Master support - * Initialization and de-initialization - * Enabling and disabling - * Run-time bus speed configuration - * Write and read I2C messages - * Slave register access functions (limited to 8-bit address) - * Manual or automatic stop condition generation - * 10- and 7- bit addressing - * I2C Modes supported - +----------------------+-------------------+ - |* Standard/Fast mode | (SCL: 1 - 400kHz) | - +----------------------+-------------------+ - |* Fastmode+ | (SCL: 1 - 1000kHz)| - +----------------------+-------------------+ - |* Highspeed mode | (SCL: 1 - 3400kHz)| - +----------------------+-------------------+ - -Applications ------------- - -* Transfer data to and from one or multiple I2C slaves like I2C connected sensors, data storage or other I2C capable peripherals -* Data communication between micro controllers -* Controlling displays - -Dependencies ------------- - -* I2C Master capable hardware - -Concurrency ------------ - -N/A - -Limitations ------------ - -General -^^^^^^^ - - * System Managmenet Bus (SMBus) not supported. - * Power Management Bus (PMBus) not supported. - -Clock considerations -^^^^^^^^^^^^^^^^^^^^ - -The register value for the requested I2C speed is calculated and placed in the correct register, but not validated if it works correctly with the clock/prescaler settings used for the module. To validate the I2C speed setting use the formula found in the configuration file for the module. Selectable speed is automatically limited within the speed range defined by the I2C mode selected. - -Known issues and workarounds ----------------------------- - -N/A - - diff --git a/software/firmware/oracle_same54n19a/hal/documentation/timer.rst b/software/firmware/oracle_same54n19a/hal/documentation/timer.rst deleted file mode 100644 index c5ca63d..0000000 --- a/software/firmware/oracle_same54n19a/hal/documentation/timer.rst +++ /dev/null @@ -1,52 +0,0 @@ -============================ -The Timer driver (bare-bone) -============================ - -The Timer driver provides means for delayed and periodical function invocation. - -A timer task is a piece of code (function) executed at a specific time or periodically by the timer after the task has -been added to the timers task queue. The execution delay or period is set in ticks, where one tick is defined as a -configurable number of clock cycles in the hardware timer. Changing the number of clock cycles in a tick automatically -changes execution delays and periods for all tasks in the timers task queue. - -A task has two operation modes, single-shot or repeating mode. In single-shot mode the task is removed from the task queue -and then is executed once, in repeating mode the task reschedules itself automatically after it has executed based on -the period set in the task configuration. -In single-shot mode a task is removed from the task queue before its callback is invoked. It allows an application to -reuse the memory of expired task in the callback. - -Each instance of the Timer driver supports infinite amount of timer tasks, only limited by the amount of RAM available. - -Features --------- -* Initialization and de-initialization -* Starting and stopping -* Timer tasks - periodical invocation of functions -* Changing and obtaining of the period of a timer - -Applications ------------- -* Delayed and periodical function execution for middle-ware stacks and applications. - -Dependencies ------------- -* Each instance of the driver requires separate hardware timer capable of generating periodic interrupt. - -Concurrency ------------ -The Timer driver is an interrupt driven driver.This means that the interrupt that triggers a task may occur during -the process of adding or removing a task via the driver's API. In such case the interrupt processing is postponed -until the task adding or removing is complete. - -The task queue is not protected from the access by interrupts not used by the driver. Due to this -it is not recommended to add or remove a task from such interrupts: in case if a higher priority interrupt supersedes -the driver's interrupt, adding or removing a task may cause unpredictable behavior of the driver. - -Limitations ------------ -* The driver is designed to work outside of an operating system environment, the task queue is therefore processed in interrupt context which may delay execution of other interrupts. -* If there are a lot of frequently called interrupts with the priority higher than the driver's one, it may cause delay for triggering of a task. - -Knows issues and workarounds ----------------------------- -Not applicable diff --git a/software/firmware/oracle_same54n19a/hal/documentation/usart_async.rst b/software/firmware/oracle_same54n19a/hal/documentation/usart_async.rst deleted file mode 100644 index 6bf4a23..0000000 --- a/software/firmware/oracle_same54n19a/hal/documentation/usart_async.rst +++ /dev/null @@ -1,72 +0,0 @@ -The USART Asynchronous Driver -============================= - -The universal synchronous and asynchronous receiver and transmitter -(USART) is usually used to transfer data from one device to the other. - -The USART driver use a ring buffer to store received data. When the USART -raise the data received interrupt, this data will be stored in the ring buffer -at the next free location. When the ring buffer is full, the next reception -will overwrite the oldest data stored in the ring buffer. There is one -USART_BUFFER_SIZE macro per used hardware instance, e.g. for SERCOM0 the macro -is called SERCOM0_USART_BUFFER_SIZE. - -On the other hand, when sending data over USART, the data is not copied to an -internal buffer, but the data buffer supplied by the user is used. The callback -will only be generated at the end of the buffer and not for each byte. - -User can set action for flow control pins by function usart_set_flow_control, -if the flow control is enabled. All the available states are defined in union -usart_flow_control_state. - -Note that user can set state of flow control pins only if automatic support of -the flow control is not supported by the hardware. - -Features --------- - -* Initialization/de-initialization -* Enabling/disabling -* Control of the following settings: - - * Baudrate - * UART or USRT communication mode - * Character size - * Data order - * Flow control -* Data transfer: transmission, reception -* Notifications about transfer done or error case via callbacks -* Status information with busy state and transfer count - -Applications ------------- - -They are commonly used in a terminal application or low-speed communication -between devices. - -Dependencies ------------- - -USART capable hardware, with interrupt on each character is sent or -received. - -Concurrency ------------ - -Write buffer should not be changed while data is being sent. - - -Limitations ------------ - -* The driver does not support 9-bit character size. -* The "USART with ISO7816" mode can be only used in ISO7816 capable devices. - And the SCK pin can't be set directly. Application can use a GCLK output PIN - to generate SCK. For example to communicate with a SMARTCARD with ISO7816 - (F = 372 ; D = 1), and baudrate=9600, the SCK pin output frequency should be - config as 372*9600=3571200Hz. More information can be refer to ISO7816 Specification. - -Known issues and workarounds ----------------------------- - -N/A diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_atomic.h b/software/firmware/oracle_same54n19a/hal/include/hal_atomic.h deleted file mode 100644 index 82151fc..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_atomic.h +++ /dev/null @@ -1,120 +0,0 @@ -/** - * \file - * - * \brief Critical sections related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HAL_ATOMIC_H_INCLUDED -#define _HAL_ATOMIC_H_INCLUDED - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_helper_atomic - * - *@{ - */ - -/** - * \brief Type for the register holding global interrupt enable flag - */ -typedef uint32_t hal_atomic_t; - -/** - * \brief Helper macro for entering critical sections - * - * This macro is recommended to be used instead of a direct call - * hal_enterCritical() function to enter critical - * sections. No semicolon is required after the macro. - * - * \section atomic_usage Usage Example - * \code - * CRITICAL_SECTION_ENTER() - * Critical code - * CRITICAL_SECTION_LEAVE() - * \endcode - */ -#define CRITICAL_SECTION_ENTER() \ - { \ - volatile hal_atomic_t __atomic; \ - atomic_enter_critical(&__atomic); - -/** - * \brief Helper macro for leaving critical sections - * - * This macro is recommended to be used instead of a direct call - * hal_leaveCritical() function to leave critical - * sections. No semicolon is required after the macro. - */ -#define CRITICAL_SECTION_LEAVE() \ - atomic_leave_critical(&__atomic); \ - } - -/** - * \brief Disable interrupts, enter critical section - * - * Disables global interrupts. Supports nested critical sections, - * so that global interrupts are only re-enabled - * upon leaving the outermost nested critical section. - * - * \param[out] atomic The pointer to a variable to store the value of global - * interrupt enable flag - */ -void atomic_enter_critical(hal_atomic_t volatile *atomic); - -/** - * \brief Exit atomic section - * - * Enables global interrupts. Supports nested critical sections, - * so that global interrupts are only re-enabled - * upon leaving the outermost nested critical section. - * - * \param[in] atomic The pointer to a variable, which stores the latest stored - * value of the global interrupt enable flag - */ -void atomic_leave_critical(hal_atomic_t volatile *atomic); - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version. - */ -uint32_t atomic_get_version(void); -/**@}*/ - -#ifdef __cplusplus -} -#endif - -#endif /* _HAL_ATOMIC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_cache.h b/software/firmware/oracle_same54n19a/hal/include/hal_cache.h deleted file mode 100644 index 071486b..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_cache.h +++ /dev/null @@ -1,96 +0,0 @@ -/** - * \file - * - * \brief HAL cache functionality implementation. - * - * Copyright (c)2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit Microchip Support - */ - -#ifndef HAL_CACHE_H_ -#define HAL_CACHE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief Enable cache module - * - * \param[in] pointer pointing to the starting address of cache module - * - * \return status of operation - */ -int32_t cache_enable(const void *hw); - -/** - * \brief Disable cache module - * - * \param[in] pointer pointing to the starting address of cache module - * - * \return status of operation - */ -int32_t cache_disable(const void *hw); - -/** - * \brief Initialize cache module - * - * This function initialize cache module configuration. - * - * \return status of operation - */ -int32_t cache_init(void); - -/** - * \brief Configure cache module - * - * \param[in] pointer pointing to the starting address of cache module - * \param[in] cache configuration structure pointer - * - * \return status of operation - */ -int32_t cache_configure(const void *hw, struct _cache_cfg *cache); - -/** - * \brief Invalidate entire cache entries - * - * \param[in] pointer pointing to the starting address of cache module - * - * \return status of operation - */ -int32_t cache_invalidate_all(const void *hw); - -#ifdef __cplusplus -} -#endif - -#endif /* HAL_CACHE_H_ */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_delay.h b/software/firmware/oracle_same54n19a/hal/include/hal_delay.h deleted file mode 100644 index 9d4aa5c..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_delay.h +++ /dev/null @@ -1,89 +0,0 @@ -/** - * \file - * - * \brief HAL delay related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include - -#ifndef _HAL_DELAY_H_INCLUDED -#define _HAL_DELAY_H_INCLUDED - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_delay Delay Driver - * - *@{ - */ - -/** - * \brief Initialize Delay driver - * - * \param[in] hw The pointer to hardware instance - */ -void delay_init(void *const hw); - -/** - * \brief Perform delay in us - * - * This function performs delay for the given amount of microseconds. - * - * \param[in] us The amount delay in us - */ -void delay_us(const uint16_t us); - -/** - * \brief Perform delay in ms - * - * This function performs delay for the given amount of milliseconds. - * - * \param[in] ms The amount delay in ms - */ -void delay_ms(const uint16_t ms); - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version. - */ -uint32_t delay_get_version(void); - -/**@}*/ -#ifdef __cplusplus -} -#endif -#endif /* _HAL_DELAY_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_ext_irq.h b/software/firmware/oracle_same54n19a/hal/include/hal_ext_irq.h deleted file mode 100644 index a7c2600..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_ext_irq.h +++ /dev/null @@ -1,118 +0,0 @@ -/** - * \file - * - * \brief External interrupt functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HAL_EXT_IRQ_H_INCLUDED -#define _HAL_EXT_IRQ_H_INCLUDED - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_ext_irq - * - * @{ - */ - -/** - * \brief External IRQ callback type - */ -typedef void (*ext_irq_cb_t)(void); - -/** - * \brief Initialize external IRQ component, if any - * - * \return Initialization status. - * \retval -1 External IRQ module is already initialized - * \retval 0 The initialization is completed successfully - */ -int32_t ext_irq_init(void); - -/** - * \brief Deinitialize external IRQ, if any - * - * \return De-initialization status. - * \retval -1 External IRQ module is already deinitialized - * \retval 0 The de-initialization is completed successfully - */ -int32_t ext_irq_deinit(void); - -/** - * \brief Register callback for the given external interrupt - * - * \param[in] pin Pin to enable external IRQ on - * \param[in] cb Callback function - * - * \return Registration status. - * \retval -1 Passed parameters were invalid - * \retval 0 The callback registration is completed successfully - */ -int32_t ext_irq_register(const uint32_t pin, ext_irq_cb_t cb); - -/** - * \brief Enable external IRQ - * - * \param[in] pin Pin to enable external IRQ on - * - * \return Enabling status. - * \retval -1 Passed parameters were invalid - * \retval 0 The enabling is completed successfully - */ -int32_t ext_irq_enable(const uint32_t pin); - -/** - * \brief Disable external IRQ - * - * \param[in] pin Pin to enable external IRQ on - * - * \return Disabling status. - * \retval -1 Passed parameters were invalid - * \retval 0 The disabling is completed successfully - */ -int32_t ext_irq_disable(const uint32_t pin); - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version. - */ -uint32_t ext_irq_get_version(void); -/**@}*/ - -#ifdef __cplusplus -} -#endif - -#endif /* _HAL_EXT_IRQ_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_gpio.h b/software/firmware/oracle_same54n19a/hal/include/hal_gpio.h deleted file mode 100644 index fbfa2d4..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_gpio.h +++ /dev/null @@ -1,201 +0,0 @@ -/** - * \file - * - * \brief Port - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - */ -#ifndef _HAL_GPIO_INCLUDED_ -#define _HAL_GPIO_INCLUDED_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief Set gpio pull mode - * - * Set pin pull mode, non existing pull modes throws an fatal assert - * - * \param[in] pin The pin number for device - * \param[in] pull_mode GPIO_PULL_DOWN = Pull pin low with internal resistor - * GPIO_PULL_UP = Pull pin high with internal resistor - * GPIO_PULL_OFF = Disable pin pull mode - */ -static inline void gpio_set_pin_pull_mode(const uint8_t pin, const enum gpio_pull_mode pull_mode) -{ - _gpio_set_pin_pull_mode((enum gpio_port)GPIO_PORT(pin), pin & 0x1F, pull_mode); -} - -/** - * \brief Set pin function - * - * Select which function a pin will be used for - * - * \param[in] pin The pin number for device - * \param[in] function The pin function is given by a 32-bit wide bitfield - * found in the header files for the device - * - */ -static inline void gpio_set_pin_function(const uint32_t pin, uint32_t function) -{ - _gpio_set_pin_function(pin, function); -} - -/** - * \brief Set port data direction - * - * Select if the pin data direction is input, output or disabled. - * If disabled state is not possible, this function throws an assert. - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - * \param[in] mask Bit mask where 1 means apply direction setting to the - * corresponding pin - * \param[in] direction GPIO_DIRECTION_IN = Data direction in - * GPIO_DIRECTION_OUT = Data direction out - * GPIO_DIRECTION_OFF = Disables the pin - * (low power state) - */ -static inline void gpio_set_port_direction(const enum gpio_port port, const uint32_t mask, - const enum gpio_direction direction) -{ - _gpio_set_direction(port, mask, direction); -} - -/** - * \brief Set gpio data direction - * - * Select if the pin data direction is input, output or disabled. - * If disabled state is not possible, this function throws an assert. - * - * \param[in] pin The pin number for device - * \param[in] direction GPIO_DIRECTION_IN = Data direction in - * GPIO_DIRECTION_OUT = Data direction out - * GPIO_DIRECTION_OFF = Disables the pin - * (low power state) - */ -static inline void gpio_set_pin_direction(const uint8_t pin, const enum gpio_direction direction) -{ - _gpio_set_direction((enum gpio_port)GPIO_PORT(pin), 1U << GPIO_PIN(pin), direction); -} - -/** - * \brief Set port level - * - * Sets output level on the pins defined by the bit mask - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - * \param[in] mask Bit mask where 1 means apply port level to the corresponding - * pin - * \param[in] level true = Pin levels set to "high" state - * false = Pin levels set to "low" state - */ -static inline void gpio_set_port_level(const enum gpio_port port, const uint32_t mask, const bool level) -{ - _gpio_set_level(port, mask, level); -} - -/** - * \brief Set gpio level - * - * Sets output level on a pin - * - * \param[in] pin The pin number for device - * \param[in] level true = Pin level set to "high" state - * false = Pin level set to "low" state - */ -static inline void gpio_set_pin_level(const uint8_t pin, const bool level) -{ - _gpio_set_level((enum gpio_port)GPIO_PORT(pin), 1U << GPIO_PIN(pin), level); -} - -/** - * \brief Toggle out level on pins - * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - * \param[in] mask Bit mask where 1 means toggle pin level to the corresponding - * pin - */ -static inline void gpio_toggle_port_level(const enum gpio_port port, const uint32_t mask) -{ - _gpio_toggle_level(port, mask); -} - -/** - * \brief Toggle output level on pin - * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] pin The pin number for device - */ -static inline void gpio_toggle_pin_level(const uint8_t pin) -{ - _gpio_toggle_level((enum gpio_port)GPIO_PORT(pin), 1U << GPIO_PIN(pin)); -} - -/** - * \brief Get input level on pins - * - * Read the input level on pins connected to a port - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - */ -static inline uint32_t gpio_get_port_level(const enum gpio_port port) -{ - return _gpio_get_level(port); -} - -/** - * \brief Get level on pin - * - * Reads the level on pins connected to a port - * - * \param[in] pin The pin number for device - */ -static inline bool gpio_get_pin_level(const uint8_t pin) -{ - return (bool)(_gpio_get_level((enum gpio_port)GPIO_PORT(pin)) & (0x01U << GPIO_PIN(pin))); -} -/** - * \brief Get current driver version - */ -uint32_t gpio_get_version(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_i2c_m_sync.h b/software/firmware/oracle_same54n19a/hal/include/hal_i2c_m_sync.h deleted file mode 100644 index 24afd63..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_i2c_m_sync.h +++ /dev/null @@ -1,244 +0,0 @@ -/** - * \file - * - * \brief Sync I2C Hardware Abstraction Layer(HAL) declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HAL_I2C_M_SYNC_H_INCLUDED -#define _HAL_I2C_M_SYNC_H_INCLUDED - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_i2c_master_sync - * - * @{ - */ - -#define I2C_M_MAX_RETRY 1 - -/** - * \brief I2C descriptor structure, embed i2c_device & i2c_interface - */ -struct i2c_m_sync_desc { - struct _i2c_m_sync_device device; - struct io_descriptor io; - uint16_t slave_addr; -}; - -/** - * \brief Initialize synchronous I2C interface - * - * This function initializes the given I/O descriptor to be used as a - * synchronous I2C interface descriptor. - * It checks if the given hardware is not initialized and if the given hardware - * is permitted to be initialized. - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * \param[in] hw The pointer to hardware instance - * - * \return Initialization status. - * \retval -1 The passed parameters were invalid or the interface is already initialized - * \retval 0 The initialization is completed successfully - */ -int32_t i2c_m_sync_init(struct i2c_m_sync_desc *i2c, void *hw); - -/** - * \brief Deinitialize I2C interface - * - * This function deinitializes the given I/O descriptor. - * It checks if the given hardware is initialized and if the given hardware is permitted to be deinitialized. - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * - * \return Uninitialization status. - * \retval -1 The passed parameters were invalid or the interface is already deinitialized - * \retval 0 The de-initialization is completed successfully - */ -int32_t i2c_m_sync_deinit(struct i2c_m_sync_desc *i2c); - -/** - * \brief Set the slave device address - * - * This function sets the next transfer target slave I2C device address. - * It takes no effect to any already started access. - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * \param[in] addr The slave address to access - * \param[in] addr_len The slave address length, can be I2C_M_TEN or I2C_M_SEVEN - * - * \return Masked slave address. The mask is a maximum 10-bit address, and 10th - * bit is set if a 10-bit address is used - */ -int32_t i2c_m_sync_set_slaveaddr(struct i2c_m_sync_desc *i2c, int16_t addr, int32_t addr_len); - -/** - * \brief Set baudrate - * - * This function sets the I2C device to the specified baudrate. - * It only takes effect when the hardware is disabled. - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * \param[in] clkrate Unused parameter. Should always be 0 - * \param[in] baudrate The baudrate value set to master - * - * \return Whether successfully set the baudrate - * \retval -1 The passed parameters were invalid or the device is already enabled - * \retval 0 The baudrate set is completed successfully - */ -int32_t i2c_m_sync_set_baudrate(struct i2c_m_sync_desc *i2c, uint32_t clkrate, uint32_t baudrate); - -/** - * \brief Sync version of enable hardware - * - * This function enables the I2C device, and then waits for this enabling operation to be done - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * - * \return Whether successfully enable the device - * \retval -1 The passed parameters were invalid or the device enable failed - * \retval 0 The hardware enabling is completed successfully - */ -int32_t i2c_m_sync_enable(struct i2c_m_sync_desc *i2c); - -/** - * \brief Sync version of disable hardware - * - * This function disables the I2C device and then waits for this disabling operation to be done - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * - * \return Whether successfully disable the device - * \retval -1 The passed parameters were invalid or the device disable failed - * \retval 0 The hardware disabling is completed successfully - */ -int32_t i2c_m_sync_disable(struct i2c_m_sync_desc *i2c); - -/** - * \brief Sync version of write command to I2C slave - * - * This function will write the value to a specified register in the I2C slave device and - * then wait for this operation to be done. - * - * The sequence of this routine is - * sta->address(write)->ack->reg address->ack->resta->address(write)->ack->reg value->nack->stt - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * \param[in] reg The internal address/register of the I2C slave device - * \param[in] buffer The buffer holding data to write to the I2C slave device - * \param[in] length The length (in bytes) to write to the I2C slave device - * - * \return Whether successfully write to the device - * \retval <0 The passed parameters were invalid or write fail - * \retval 0 Writing to register is completed successfully - */ -int32_t i2c_m_sync_cmd_write(struct i2c_m_sync_desc *i2c, uint8_t reg, uint8_t *buffer, uint8_t length); - -/** - * \brief Sync version of read register value from I2C slave - * - * This function will read a byte value from a specified register in the I2C slave device and - * then wait for this operation to be done. - * - * The sequence of this routine is - * sta->address(write)->ack->reg address->ack->resta->address(read)->ack->reg value->nack->stt - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * \param[in] reg The internal address/register of the I2C slave device - * \param[in] buffer The buffer to hold the read data from the I2C slave device - * \param[in] length The length (in bytes) to read from the I2C slave device - * - * \return Whether successfully read from the device - * \retval <0 The passed parameters were invalid or read fail - * \retval 0 Reading from register is completed successfully - */ -int32_t i2c_m_sync_cmd_read(struct i2c_m_sync_desc *i2c, uint8_t reg, uint8_t *buffer, uint8_t length); - -/** - * \brief Sync version of transfer message to/from the I2C slave - * - * This function will transfer a message between the I2C slave and the master. This function will wait for the operation - * to be done. - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * \param[in] msg An i2c_m_msg struct - * - * \return The status of the operation - * \retval 0 Operation completed successfully - * \retval <0 Operation failed - */ -int32_t i2c_m_sync_transfer(struct i2c_m_sync_desc *const i2c, struct _i2c_m_msg *msg); - -/** - * \brief Sync version of send stop condition on the i2c bus - * - * This function will create a stop condition on the i2c bus to release the bus - * - * \param[in] i2c An I2C descriptor, which is used to communicate through I2C - * - * \return The status of the operation - * \retval 0 Operation completed successfully - * \retval <0 Operation failed - */ -int32_t i2c_m_sync_send_stop(struct i2c_m_sync_desc *const i2c); - -/** - * \brief Return I/O descriptor for this I2C instance - * - * This function will return a I/O instance for this I2C driver instance - * - * \param[in] i2c_m_sync_desc An I2C descriptor, which is used to communicate through I2C - * \param[in] io_descriptor A pointer to an I/O descriptor pointer type - * - * \return Error code - * \retval 0 No error detected - * \retval <0 Error code - */ -int32_t i2c_m_sync_get_io_descriptor(struct i2c_m_sync_desc *const i2c, struct io_descriptor **io); - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version. - */ -uint32_t i2c_m_sync_get_version(void); - -/**@}*/ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_init.h b/software/firmware/oracle_same54n19a/hal/include/hal_init.h deleted file mode 100644 index d7bc6fe..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_init.h +++ /dev/null @@ -1,72 +0,0 @@ -/** - * \file - * - * \brief HAL initialization related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HAL_INIT_H_INCLUDED -#define _HAL_INIT_H_INCLUDED - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_helper_init Init Driver - * - *@{ - */ - -/** - * \brief Initialize the hardware abstraction layer - * - * This function calls the various initialization functions. - * Currently the following initialization functions are supported: - * - System clock initialization - */ -static inline void init_mcu(void) -{ - _init_chip(); -} - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version. - */ -uint32_t init_get_version(void); - -/**@}*/ -#ifdef __cplusplus -} -#endif -#endif /* _HAL_INIT_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_io.h b/software/firmware/oracle_same54n19a/hal/include/hal_io.h deleted file mode 100644 index f50401d..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_io.h +++ /dev/null @@ -1,110 +0,0 @@ -/** - * \file - * - * \brief I/O related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HAL_IO_INCLUDED -#define _HAL_IO_INCLUDED - -/** - * \addtogroup doc_driver_hal_helper_io I/O Driver - * - *@{ - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief I/O descriptor - * - * The I/O descriptor forward declaration. - */ -struct io_descriptor; - -/** - * \brief I/O write function pointer type - */ -typedef int32_t (*io_write_t)(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length); - -/** - * \brief I/O read function pointer type - */ -typedef int32_t (*io_read_t)(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length); - -/** - * \brief I/O descriptor - */ -struct io_descriptor { - io_write_t write; /*! The write function pointer. */ - io_read_t read; /*! The read function pointer. */ -}; - -/** - * \brief I/O write interface - * - * This function writes up to \p length of bytes to a given I/O descriptor. - * It returns the number of bytes actually write. - * - * \param[in] descr An I/O descriptor to write - * \param[in] buf The buffer pointer to story the write data - * \param[in] length The number of bytes to write - * - * \return The number of bytes written - */ -int32_t io_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length); - -/** - * \brief I/O read interface - * - * This function reads up to \p length bytes from a given I/O descriptor, and - * stores it in the buffer pointed to by \p buf. It returns the number of bytes - * actually read. - * - * \param[in] descr An I/O descriptor to read - * \param[in] buf The buffer pointer to story the read data - * \param[in] length The number of bytes to read - * - * \return The number of bytes actually read. This number can be less than the - * requested length. E.g., in a driver that uses ring buffer for - * reception, it may depend on the availability of data in the - * ring buffer. - */ -int32_t io_read(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length); - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HAL_IO_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_sleep.h b/software/firmware/oracle_same54n19a/hal/include/hal_sleep.h deleted file mode 100644 index b90ef6a..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_sleep.h +++ /dev/null @@ -1,74 +0,0 @@ -/** - * \file - * - * \brief Sleep related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HAL_SLEEP_H_INCLUDED -#define _HAL_SLEEP_H_INCLUDED - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_helper_sleep - * - *@{ - */ - -/** - * \brief Set the sleep mode of the device and put the MCU to sleep - * - * For an overview of which systems are disabled in sleep for the different - * sleep modes, see the data sheet. - * - * \param[in] mode Sleep mode to use - * - * \return The status of a sleep request - * \retval -1 The requested sleep mode was invalid or not available - * \retval 0 The operation completed successfully, returned after leaving the - * sleep - */ -int sleep(const uint8_t mode); - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version. - */ -uint32_t sleep_get_version(void); -/**@}*/ -#ifdef __cplusplus -} -#endif -#endif /* _HAL_SLEEP_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_timer.h b/software/firmware/oracle_same54n19a/hal/include/hal_timer.h deleted file mode 100644 index 43a1ff4..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_timer.h +++ /dev/null @@ -1,206 +0,0 @@ -/** - * \file - * - * \brief Timer task functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HAL_TIMER_H_INCLUDED -#define _HAL_TIMER_H_INCLUDED - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_timer - * - * @{ - */ - -/** - * \brief Timer mode type - */ -enum timer_task_mode { TIMER_TASK_ONE_SHOT, TIMER_TASK_REPEAT }; - -/** - * \brief Timer task descriptor - * - * The timer task descriptor forward declaration. - */ -struct timer_task; - -/** - * \brief Timer task callback function type - */ -typedef void (*timer_cb_t)(const struct timer_task *const timer_task); - -/** - * \brief Timer task structure - */ -struct timer_task { - struct list_element elem; /*! List element. */ - uint32_t time_label; /*! Absolute timer start time. */ - - uint32_t interval; /*! Number of timer ticks before calling the task. */ - timer_cb_t cb; /*! Function pointer to the task. */ - enum timer_task_mode mode; /*! Task mode: one shot or repeat. */ -}; - -/** - * \brief Timer structure - */ -struct timer_descriptor { - struct _timer_device device; - uint32_t time; - struct list_descriptor tasks; /*! Timer tasks list. */ - volatile uint8_t flags; -}; - -/** - * \brief Initialize timer - * - * This function initializes the given timer. - * It checks if the given hardware is not initialized and if the given hardware - * is permitted to be initialized. - * - * \param[out] descr A timer descriptor to initialize - * \param[in] hw The pointer to the hardware instance - * \param[in] func The pointer to a set of function pointers - * - * \return Initialization status. - */ -int32_t timer_init(struct timer_descriptor *const descr, void *const hw, struct _timer_hpl_interface *const func); - -/** - * \brief Deinitialize timer - * - * This function deinitializes the given timer. - * It checks if the given hardware is initialized and if the given hardware is - * permitted to be deinitialized. - * - * \param[in] descr A timer descriptor to deinitialize - * - * \return De-initialization status. - */ -int32_t timer_deinit(struct timer_descriptor *const descr); - -/** - * \brief Start timer - * - * This function starts the given timer. - * It checks if the given hardware is initialized. - * - * \param[in] descr The timer descriptor of a timer to start - * - * \return Timer starting status. - */ -int32_t timer_start(struct timer_descriptor *const descr); - -/** - * \brief Stop timer - * - * This function stops the given timer. - * It checks if the given hardware is initialized. - * - * \param[in] descr The timer descriptor of a timer to stop - * - * \return Timer stopping status. - */ -int32_t timer_stop(struct timer_descriptor *const descr); - -/** - * \brief Set amount of clock cycles per timer tick - * - * This function sets the amount of clock cycles per timer tick for the given timer. - * It checks if the given hardware is initialized. - * - * \param[in] descr The timer descriptor of a timer to stop - * \param[in] clock_cycles The amount of clock cycles per tick to set - * - * \return Setting clock cycles amount status. - */ -int32_t timer_set_clock_cycles_per_tick(struct timer_descriptor *const descr, const uint32_t clock_cycles); - -/** - * \brief Retrieve the amount of clock cycles in a tick - * - * This function retrieves how many clock cycles there are in a single timer tick. - * It checks if the given hardware is initialized. - * - * \param[in] descr The timer descriptor of a timer to convert ticks to - * clock cycles - * \param[out] cycles The amount of clock cycles - * - * \return The status of clock cycles retrieving. - */ -int32_t timer_get_clock_cycles_in_tick(const struct timer_descriptor *const descr, uint32_t *const cycles); - -/** - * \brief Add timer task - * - * This function adds the given timer task to the given timer. - * It checks if the given hardware is initialized. - * - * \param[in] descr The timer descriptor of a timer to add task to - * \param[in] task A task to add - * - * \return Timer's task adding status. - */ -int32_t timer_add_task(struct timer_descriptor *const descr, struct timer_task *const task); - -/** - * \brief Remove timer task - * - * This function removes the given timer task from the given timer. - * It checks if the given hardware is initialized. - * - * \param[in] descr The timer descriptor of a timer to remove task from - * \param[in] task A task to remove - * - * \return Timer's task removing status. - */ -int32_t timer_remove_task(struct timer_descriptor *const descr, const struct timer_task *const task); - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version. - */ -uint32_t timer_get_version(void); -/**@}*/ - -#ifdef __cplusplus -} -#endif - -#endif /* _HAL_TIMER_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hal_usart_async.h b/software/firmware/oracle_same54n19a/hal/include/hal_usart_async.h deleted file mode 100644 index 3a6de39..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hal_usart_async.h +++ /dev/null @@ -1,339 +0,0 @@ -/** - * \file - * - * \brief USART related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HAL_USART_ASYNC_H_INCLUDED -#define _HAL_USART_ASYNC_H_INCLUDED - -#include "hal_io.h" -#include -#include - -/** - * \addtogroup doc_driver_hal_usart_async - * - * @{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief USART descriptor - * - * The USART descriptor forward declaration. - */ -struct usart_async_descriptor; - -/** - * \brief USART callback type - */ -typedef void (*usart_cb_t)(const struct usart_async_descriptor *const descr); - -/** - * \brief USART callback types - */ -enum usart_async_callback_type { USART_ASYNC_RXC_CB, USART_ASYNC_TXC_CB, USART_ASYNC_ERROR_CB }; - -/** - * \brief USART callbacks - */ -struct usart_async_callbacks { - usart_cb_t tx_done; - usart_cb_t rx_done; - usart_cb_t error; -}; - -/** \brief USART status - * Status descriptor holds the current status of transfer. - */ -struct usart_async_status { - /** Status flags */ - uint32_t flags; - /** Number of characters transmitted */ - uint16_t txcnt; - /** Number of characters receviced */ - uint16_t rxcnt; -}; - -/** - * \brief Asynchronous USART descriptor structure - */ -struct usart_async_descriptor { - struct io_descriptor io; - struct _usart_async_device device; - struct usart_async_callbacks usart_cb; - uint32_t stat; - - struct ringbuffer rx; - uint16_t tx_por; - uint8_t * tx_buffer; - uint16_t tx_buffer_length; -}; - -/** USART write busy */ -#define USART_ASYNC_STATUS_BUSY 0x0001 - -/** - * \brief Initialize USART interface - * - * This function initializes the given I/O descriptor to be used as USART - * interface descriptor. - * It checks if the given hardware is not initialized and if the given hardware - * is permitted to be initialized. - * - * \param[out] descr A USART descriptor which is used to communicate via the USART - * \param[in] hw The pointer to the hardware instance - * \param[in] rx_buffer An RX buffer - * \param[in] rx_buffer_length The length of the buffer above - * \param[in] func The pointer to a set of function pointers - * - * \return Initialization status. - * \retval -1 Passed parameters were invalid or the interface is already - * initialized - * \retval 0 The initialization is completed successfully - */ -int32_t usart_async_init(struct usart_async_descriptor *const descr, void *const hw, uint8_t *const rx_buffer, - const uint16_t rx_buffer_length, void *const func); - -/** - * \brief Deinitialize USART interface - * - * This function deinitializes the given I/O descriptor. - * It checks if the given hardware is initialized and if the given hardware - * is permitted to be deinitialized. - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * - * \return De-initialization status. - */ -int32_t usart_async_deinit(struct usart_async_descriptor *const descr); - -/** - * \brief Enable USART interface - * - * Enables the USART interface - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * - * \return Enabling status. - */ -int32_t usart_async_enable(struct usart_async_descriptor *const descr); - -/** - * \brief Disable USART interface - * - * Disables the USART interface - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * - * \return Disabling status. - */ -int32_t usart_async_disable(struct usart_async_descriptor *const descr); - -/** - * \brief Retrieve I/O descriptor - * - * This function retrieves the I/O descriptor of the given USART descriptor. - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[out] io An I/O descriptor to retrieve - * - * \return The status of I/O descriptor retrieving. - */ -int32_t usart_async_get_io_descriptor(struct usart_async_descriptor *const descr, struct io_descriptor **io); - -/** - * \brief Register USART callback - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[in] type Callback type - * \param[in] cb A callback function - * - * \return The status of callback assignment. - * \retval -1 Passed parameters were invalid or the interface is not initialized - * \retval 0 A callback is registered successfully - */ -int32_t usart_async_register_callback(struct usart_async_descriptor *const descr, - const enum usart_async_callback_type type, usart_cb_t cb); - -/** - * \brief Specify action for flow control pins - * - * This function sets action (or state) for flow control pins if - * the flow control is enabled. - * It sets state of flow control pins only if automatic support of - * the flow control is not supported by the hardware. - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[in] state A state to set the flow control pins - * - * \return The status of flow control action setup. - */ -int32_t usart_async_set_flow_control(struct usart_async_descriptor *const descr, - const union usart_flow_control_state state); - -/** - * \brief Set USART baud rate - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[in] baud_rate A baud rate to set - * - * \return The status of baud rate setting. - */ -int32_t usart_async_set_baud_rate(struct usart_async_descriptor *const descr, const uint32_t baud_rate); - -/** - * \brief Set USART data order - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[in] data_order A data order to set - * - * \return The status of data order setting. - */ -int32_t usart_async_set_data_order(struct usart_async_descriptor *const descr, const enum usart_data_order data_order); - -/** - * \brief Set USART mode - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[in] mode A mode to set - * - * \return The status of mode setting. - */ -int32_t usart_async_set_mode(struct usart_async_descriptor *const descr, const enum usart_mode mode); - -/** - * \brief Set USART parity - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[in] parity A parity to set - * - * \return The status of parity setting. - */ -int32_t usart_async_set_parity(struct usart_async_descriptor *const descr, const enum usart_parity parity); - -/** - * \brief Set USART stop bits - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[in] stop_bits Stop bits to set - * - * \return The status of stop bits setting. - */ -int32_t usart_async_set_stopbits(struct usart_async_descriptor *const descr, const enum usart_stop_bits stop_bits); - -/** - * \brief Set USART character size - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[in] size A character size to set - * - * \return The status of character size setting. - */ -int32_t usart_async_set_character_size(struct usart_async_descriptor *const descr, - const enum usart_character_size size); - -/** - * \brief Retrieve the state of flow control pins - * - * This function retrieves the flow control pins - * if the flow control is enabled. - * - * The function can return USART_FLOW_CONTROL_STATE_UNAVAILABLE in case - * if the flow control is done by the hardware - * and the pins state cannot be read out. - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[out] state The state of flow control pins - * - * \return The status of flow control state reading. - */ -int32_t usart_async_flow_control_status(const struct usart_async_descriptor *const descr, - union usart_flow_control_state *const state); - -/** - * \brief Check if the USART transmitter is empty - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * - * \return The status of USART TX empty checking. - * \retval 0 The USART transmitter is not empty - * \retval 1 The USART transmitter is empty - */ -int32_t usart_async_is_tx_empty(const struct usart_async_descriptor *const descr); - -/** - * \brief Check if the USART receiver is not empty - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * - * \return The status of the USART RX empty checking. - * \retval 1 The USART receiver is not empty - * \retval 0 The USART receiver is empty - */ -int32_t usart_async_is_rx_not_empty(const struct usart_async_descriptor *const descr); - -/** - * \brief Retrieve the current interface status - * - * \param[in] descr A USART descriptor which is used to communicate via USART - * \param[out] status The state of USART - * - * \return The status of USART status retrieving. - */ -int32_t usart_async_get_status(struct usart_async_descriptor *const descr, struct usart_async_status *const status); - -/** - * \brief flush USART ringbuf - * - * This function flush USART RX ringbuf. - * - * \param[in] descr The pointer to USART descriptor - * - * \return ERR_NONE - */ -int32_t usart_async_flush_rx_buffer(struct usart_async_descriptor *const descr); - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version. - */ -uint32_t usart_async_get_version(void); - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HAL_USART_ASYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_cmcc.h b/software/firmware/oracle_same54n19a/hal/include/hpl_cmcc.h deleted file mode 100644 index cb26091..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_cmcc.h +++ /dev/null @@ -1,277 +0,0 @@ -/** - * \file - * - * \brief Generic CMCC(Cortex M Cache Controller) related functionality. - * - * Copyright (c)2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit Microchip Support - */ - -#ifndef HPL_CMCC_H_ -#define HPL_CMCC_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -/** - * \Cache driver MACROS - */ -#define CMCC_DISABLE 0U -#define CMCC_ENABLE 1U -#define IS_CMCC_DISABLED 0U -#define IS_CMCC_ENABLED 1U -#define CMCC_WAY_NOS 4U -#define CMCC_LINE_NOS 64U -#define CMCC_MONITOR_DISABLE 0U - -/** - * \brief Cache size configurations - */ -enum conf_cache_size { CONF_CSIZE_1KB = 0u, CONF_CSIZE_2KB, CONF_CSIZE_4KB }; - -/** - * \brief Way Numbers - */ -enum way_num_index { WAY0 = 1u, WAY1 = 2u, WAY2 = 4u, WAY3 = 8 }; - -/** - * \brief Cache monitor configurations - */ -enum conf_cache_monitor { CYCLE_COUNT = 0u, IHIT_COUNT, DHIT_COUNT }; - -/** - * \brief Cache configuration structure - */ -struct _cache_cfg { - enum conf_cache_size cache_size; - bool data_cache_disable; - bool inst_cache_disable; - bool gclk_gate_disable; -}; - -/** - * \brief Cache enable status - */ -static inline bool _is_cache_enabled(const void *hw) -{ - return (hri_cmcc_get_SR_CSTS_bit(hw) == IS_CMCC_ENABLED ? true : false); -} - -/** - * \brief Cache disable status - */ -static inline bool _is_cache_disabled(const void *hw) -{ - return (hri_cmcc_get_SR_CSTS_bit(hw) == IS_CMCC_DISABLED ? true : false); -} - -/** - * \brief Cache enable - */ -static inline int32_t _cmcc_enable(const void *hw) -{ - int32_t return_value; - - if (_is_cache_disabled(hw)) { - hri_cmcc_write_CTRL_reg(hw, CMCC_CTRL_CEN); - return_value = _is_cache_enabled(hw) == true ? ERR_NONE : ERR_FAILURE; - } else { - return_value = ERR_NO_CHANGE; - } - - return return_value; -} - -/** - * \brief Cache disable - */ -static inline int32_t _cmcc_disable(const void *hw) -{ - hri_cmcc_write_CTRL_reg(hw, (CMCC_DISABLE << CMCC_CTRL_CEN_Pos)); - while (!(_is_cache_disabled(hw))) - ; - - return ERR_NONE; -} - -/** - * \brief Initialize Cache Module - * - * This function initialize low level cmcc module configuration. - * - * \return initialize status - */ -int32_t _cmcc_init(void); - -/** - * \brief Configure CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] cache configuration structure pointer - * - * \return status of operation - */ -int32_t _cmcc_configure(const void *hw, struct _cache_cfg *cache_ctrl); - -/** - * \brief Enable data cache in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] boolean 1 -> Enable the data cache, 0 -> disable the data cache - * - * \return status of operation - */ -int32_t _cmcc_enable_data_cache(const void *hw, bool value); - -/** - * \brief Enable instruction cache in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] boolean 1 -> Enable the inst cache, 0 -> disable the inst cache - * - * \return status of operation - */ -int32_t _cmcc_enable_inst_cache(const void *hw, bool value); - -/** - * \brief Enable clock gating in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] boolean 1 -> Enable the clock gate, 0 -> disable the clock gate - * - * \return status of operation - */ -int32_t _cmcc_enable_clock_gating(const void *hw, bool value); - -/** - * \brief Configure the cache size in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from cache size configuration enumerator - * 0->1K, 1->2K, 2->4K(default) - * - * \return status of operation - */ -int32_t _cmcc_configure_cache_size(const void *hw, enum conf_cache_size size); - -/** - * \brief Lock the mentioned WAY in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from "way_num_index" enumerator - * - * \return status of operation - */ -int32_t _cmcc_lock_way(const void *hw, enum way_num_index); - -/** - * \brief Unlock the mentioned WAY in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from "way_num_index" enumerator - * - * \return status of operation - */ -int32_t _cmcc_unlock_way(const void *hw, enum way_num_index); - -/** - * \brief Invalidate the mentioned cache line in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from "way_num" enumerator (valid arg is 0-3) - * \param[in] line number (valid arg is 0-63 as each way will have 64 lines) - * - * \return status of operation - */ -int32_t _cmcc_invalidate_by_line(const void *hw, uint8_t way_num, uint8_t line_num); - -/** - * \brief Invalidate entire cache entries in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return status of operation - */ -int32_t _cmcc_invalidate_all(const void *hw); - -/** - * \brief Configure cache monitor in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from cache monitor configurations enumerator - * - * \return status of operation - */ -int32_t _cmcc_configure_monitor(const void *hw, enum conf_cache_monitor monitor_cfg); - -/** - * \brief Enable cache monitor in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return status of operation - */ -int32_t _cmcc_enable_monitor(const void *hw); - -/** - * \brief Disable cache monitor in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return status of operation - */ -int32_t _cmcc_disable_monitor(const void *hw); - -/** - * \brief Reset cache monitor in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return status of operation - */ -int32_t _cmcc_reset_monitor(const void *hw); - -/** - * \brief Get cache monitor event counter value from CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return event counter value - */ -uint32_t _cmcc_get_monitor_event_count(const void *hw); - -#ifdef __cplusplus -} -#endif -#endif /* HPL_CMCC_H_ */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_core.h b/software/firmware/oracle_same54n19a/hal/include/hpl_core.h deleted file mode 100644 index 9324c43..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_core.h +++ /dev/null @@ -1,56 +0,0 @@ -/** - * \file - * - * \brief CPU core related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_CORE_H_INCLUDED -#define _HPL_CORE_H_INCLUDED - -/** - * \addtogroup HPL Core - * - * \section hpl_core_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include "hpl_core_port.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_CORE_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_delay.h b/software/firmware/oracle_same54n19a/hal/include/hpl_delay.h deleted file mode 100644 index a0f1ac8..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_delay.h +++ /dev/null @@ -1,97 +0,0 @@ -/** - * \file - * - * \brief Delay related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_DELAY_H_INCLUDED -#define _HPL_DELAY_H_INCLUDED - -/** - * \addtogroup HPL Delay - * - * \section hpl_delay_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#ifndef _UNIT_TEST_ -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \name HPL functions - */ -//@{ - -/** - * \brief Initialize delay functionality - * - * \param[in] hw The pointer to hardware instance - */ -void _delay_init(void *const hw); - -/** - * \brief Retrieve the amount of cycles to delay for the given amount of us - * - * \param[in] us The amount of us to delay for - * - * \return The amount of cycles - */ -uint32_t _get_cycles_for_us(const uint16_t us); - -/** - * \brief Retrieve the amount of cycles to delay for the given amount of ms - * - * \param[in] ms The amount of ms to delay for - * - * \return The amount of cycles - */ -uint32_t _get_cycles_for_ms(const uint16_t ms); - -/** - * \brief Delay loop to delay n number of cycles - * - * \param[in] hw The pointer to hardware instance - * \param[in] cycles The amount of cycles to delay for - */ -void _delay_cycles(void *const hw, uint32_t cycles); -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_DELAY_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_dma.h b/software/firmware/oracle_same54n19a/hal/include/hpl_dma.h deleted file mode 100644 index 1e08434..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_dma.h +++ /dev/null @@ -1,176 +0,0 @@ -/** - * \file - * - * \brief DMA related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_DMA_H_INCLUDED -#define _HPL_DMA_H_INCLUDED - -/** - * \addtogroup HPL DMA - * - * \section hpl_dma_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct _dma_resource; - -/** - * \brief DMA callback types - */ -enum _dma_callback_type { DMA_TRANSFER_COMPLETE_CB, DMA_TRANSFER_ERROR_CB }; - -/** - * \brief DMA interrupt callbacks - */ -struct _dma_callbacks { - void (*transfer_done)(struct _dma_resource *resource); - void (*error)(struct _dma_resource *resource); -}; - -/** - * \brief DMA resource structure - */ -struct _dma_resource { - struct _dma_callbacks dma_cb; - void * back; -}; - -/** - * \brief Initialize DMA - * - * This function does low level DMA configuration. - * - * \return initialize status - */ -int32_t _dma_init(void); - -/** - * \brief Set destination address - * - * \param[in] channel DMA channel to set destination address for - * \param[in] dst Destination address - * - * \return setting status - */ -int32_t _dma_set_destination_address(const uint8_t channel, const void *const dst); - -/** - * \brief Set source address - * - * \param[in] channel DMA channel to set source address for - * \param[in] src Source address - * - * \return setting status - */ -int32_t _dma_set_source_address(const uint8_t channel, const void *const src); - -/** - * \brief Set next descriptor address - * - * \param[in] current_channel Current DMA channel to set next descriptor address - * \param[in] next_channel Next DMA channel used as next descriptor - * - * \return setting status - */ -int32_t _dma_set_next_descriptor(const uint8_t current_channel, const uint8_t next_channel); - -/** - * \brief Enable/disable source address incrementation during DMA transaction - * - * \param[in] channel DMA channel to set source address for - * \param[in] enable True to enable, false to disable - * - * \return status of operation - */ -int32_t _dma_srcinc_enable(const uint8_t channel, const bool enable); - -/** - * \brief Enable/disable Destination address incrementation during DMA transaction - * - * \param[in] channel DMA channel to set destination address for - * \param[in] enable True to enable, false to disable - * - * \return status of operation - */ -int32_t _dma_dstinc_enable(const uint8_t channel, const bool enable); -/** - * \brief Set the amount of data to be transfered per transaction - * - * \param[in] channel DMA channel to set data amount for - * \param[in] amount Data amount - * - * \return status of operation - */ -int32_t _dma_set_data_amount(const uint8_t channel, const uint32_t amount); - -/** - * \brief Trigger DMA transaction on the given channel - * - * \param[in] channel DMA channel to trigger transaction on - * - * \return status of operation - */ -int32_t _dma_enable_transaction(const uint8_t channel, const bool software_trigger); - -/** - * \brief Retrieves DMA resource structure - * - * \param[out] resource The resource to be retrieved - * \param[in] channel DMA channel to retrieve structure for - * - * \return status of operation - */ -int32_t _dma_get_channel_resource(struct _dma_resource **resource, const uint8_t channel); - -/** - * \brief Enable/disable DMA interrupt - * - * \param[in] channel DMA channel to enable/disable interrupt for - * \param[in] type The type of interrupt to disable/enable if applicable - * \param[in] state Enable or disable - */ -void _dma_set_irq_state(const uint8_t channel, const enum _dma_callback_type type, const bool state); - -#ifdef __cplusplus -} -#endif - -#endif /* HPL_DMA_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_ext_irq.h b/software/firmware/oracle_same54n19a/hal/include/hpl_ext_irq.h deleted file mode 100644 index 3a169b6..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_ext_irq.h +++ /dev/null @@ -1,95 +0,0 @@ -/** - * \file - * - * \brief External IRQ related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_EXT_IRQ_H_INCLUDED -#define _HPL_EXT_IRQ_H_INCLUDED - -/** - * \addtogroup HPL EXT IRQ - * - * \section hpl_ext_irq_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initialize external interrupt module - * - * This function does low level external interrupt configuration. - * - * \param[in] cb The pointer to callback function from external interrupt - * - * \return Initialization status. - * \retval -1 External irq module is already initialized - * \retval 0 The initialization is completed successfully - */ -int32_t _ext_irq_init(void (*cb)(const uint32_t pin)); - -/** - * \brief Deinitialize external interrupt module - * - * \return Initialization status. - * \retval -1 External irq module is already deinitialized - * \retval 0 The de-initialization is completed successfully - */ -int32_t _ext_irq_deinit(void); - -/** - * \brief Enable / disable external irq - * - * \param[in] pin Pin to enable external irq on - * \param[in] enable True to enable, false to disable - * - * \return Status of external irq enabling / disabling - * \retval -1 External irq module can't be enabled / disabled - * \retval 0 External irq module is enabled / disabled successfully - */ -int32_t _ext_irq_enable(const uint32_t pin, const bool enable); -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_EXT_IRQ_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_gpio.h b/software/firmware/oracle_same54n19a/hal/include/hpl_gpio.h deleted file mode 100644 index 5cdd387..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_gpio.h +++ /dev/null @@ -1,185 +0,0 @@ -/** - * \file - * - * \brief Port related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_GPIO_H_INCLUDED -#define _HPL_GPIO_H_INCLUDED - -/** - * \addtogroup HPL Port - * - * \section hpl_port_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif -/** - * \brief Macros for the pin and port group, lower 5 - * bits stands for pin number in the group, higher 3 - * bits stands for port group - */ -#define GPIO_PIN(n) (((n)&0x1Fu) << 0) -#define GPIO_PORT(n) ((n) >> 5) -#define GPIO(port, pin) ((((port)&0x7u) << 5) + ((pin)&0x1Fu)) -#define GPIO_PIN_FUNCTION_OFF 0xffffffff - -/** - * \brief PORT pull mode settings - */ -enum gpio_pull_mode { GPIO_PULL_OFF, GPIO_PULL_UP, GPIO_PULL_DOWN }; - -/** - * \brief PORT direction settins - */ -enum gpio_direction { GPIO_DIRECTION_OFF, GPIO_DIRECTION_IN, GPIO_DIRECTION_OUT }; - -/** - * \brief PORT group abstraction - */ - -enum gpio_port { GPIO_PORTA, GPIO_PORTB, GPIO_PORTC, GPIO_PORTD, GPIO_PORTE }; - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Port initialization function - * - * Port initialization function should setup the port module based - * on a static configuration file, this function should normally - * not be called directly, but is a part of hal_init() - */ -void _gpio_init(void); - -/** - * \brief Set direction on port with mask - * - * Set data direction for each pin, or disable the pin - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - * \param[in] mask Bit mask where 1 means apply direction setting to the - * corresponding pin - * \param[in] direction GPIO_DIRECTION_OFF = set pin direction to input - * and disable input buffer to disable the pin - * GPIO_DIRECTION_IN = set pin direction to input - * and enable input buffer to enable the pin - * GPIO_DIRECTION_OUT = set pin direction to output - * and disable input buffer - */ -static inline void _gpio_set_direction(const enum gpio_port port, const uint32_t mask, - const enum gpio_direction direction); - -/** - * \brief Set output level on port with mask - * - * Sets output state on pin to high or low with pin masking - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - * \param[in] mask Bit mask where 1 means apply direction setting to - * the corresponding pin - * \param[in] level true = pin level is set to 1 - * false = pin level is set to 0 - */ -static inline void _gpio_set_level(const enum gpio_port port, const uint32_t mask, const bool level); - -/** - * \brief Change output level to the opposite with mask - * - * Change pin output level to the opposite with pin masking - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - * \param[in] mask Bit mask where 1 means apply direction setting to - * the corresponding pin - */ -static inline void _gpio_toggle_level(const enum gpio_port port, const uint32_t mask); - -/** - * \brief Get input levels on all port pins - * - * Get input level on all port pins, will read IN register if configured to - * input and OUT register if configured as output - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - */ -static inline uint32_t _gpio_get_level(const enum gpio_port port); - -/** - * \brief Set pin pull mode - * - * Set pull mode on a single pin - * - * \notice This function will automatically change pin direction to input - * - * \param[in] port Ports are grouped into groups of maximum 32 pins, - * GPIO_PORTA = group 0, GPIO_PORTB = group 1, etc - * \param[in] pin The pin in the group that pull mode should be selected - * for - * \param[in] pull_mode GPIO_PULL_OFF = pull resistor on pin is disabled - * GPIO_PULL_DOWN = pull resistor on pin will pull pin - * level to ground level - * GPIO_PULL_UP = pull resistor on pin will pull pin - * level to VCC - */ -static inline void _gpio_set_pin_pull_mode(const enum gpio_port port, const uint8_t pin, - const enum gpio_pull_mode pull_mode); - -/** - * \brief Set gpio function - * - * Select which function a gpio is used for - * - * \param[in] gpio The gpio to set function for - * \param[in] function The gpio function is given by a 32-bit wide bitfield - * found in the header files for the device - * - */ -static inline void _gpio_set_pin_function(const uint32_t gpio, const uint32_t function); - -#include -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_GPIO_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_m_async.h b/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_m_async.h deleted file mode 100644 index 8a9491d..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_m_async.h +++ /dev/null @@ -1,205 +0,0 @@ -/** - * \file - * - * \brief I2C Master Hardware Proxy Layer(HPL) declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#ifndef _HPL_I2C_M_ASYNC_H_INCLUDED -#define _HPL_I2C_M_ASYNC_H_INCLUDED - -#include "hpl_i2c_m_sync.h" -#include "hpl_irq.h" -#include "utils.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief i2c master callback names - */ -enum _i2c_m_async_callback_type { - I2C_M_ASYNC_DEVICE_ERROR, - I2C_M_ASYNC_DEVICE_TX_COMPLETE, - I2C_M_ASYNC_DEVICE_RX_COMPLETE -}; - -struct _i2c_m_async_device; - -typedef void (*_i2c_complete_cb_t)(struct _i2c_m_async_device *i2c_dev); -typedef void (*_i2c_error_cb_t)(struct _i2c_m_async_device *i2c_dev, int32_t errcode); - -/** - * \brief i2c callback pointers structure - */ -struct _i2c_m_async_callback { - _i2c_error_cb_t error; - _i2c_complete_cb_t tx_complete; - _i2c_complete_cb_t rx_complete; -}; - -/** - * \brief i2c device structure - */ -struct _i2c_m_async_device { - struct _i2c_m_service service; - void * hw; - struct _i2c_m_async_callback cb; - struct _irq_descriptor irq; -}; - -/** - * \name HPL functions - */ - -/** - * \brief Initialize I2C in interrupt mode - * - * This function does low level I2C configuration. - * - * \param[in] i2c_dev The pointer to i2c interrupt device structure - * \param[in] hw The pointer to hardware instance - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_async_init(struct _i2c_m_async_device *const i2c_dev, void *const hw); - -/** - * \brief Deinitialize I2C in interrupt mode - * - * \param[in] i2c_dev The pointer to i2c device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_async_deinit(struct _i2c_m_async_device *const i2c_dev); - -/** - * \brief Enable I2C module - * - * This function does low level I2C enable. - * - * \param[in] i2c_dev The pointer to i2c device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_async_enable(struct _i2c_m_async_device *const i2c_dev); - -/** - * \brief Disable I2C module - * - * This function does low level I2C disable. - * - * \param[in] i2c_dev The pointer to i2c device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_async_disable(struct _i2c_m_async_device *const i2c_dev); - -/** - * \brief Transfer data by I2C - * - * This function does low level I2C data transfer. - * - * \param[in] i2c_dev The pointer to i2c device structure - * \param[in] msg The pointer to i2c msg structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_async_transfer(struct _i2c_m_async_device *const i2c_dev, struct _i2c_m_msg *msg); - -/** - * \brief Set baud rate of I2C - * - * This function does low level I2C set baud rate. - * - * \param[in] i2c_dev The pointer to i2c device structure - * \param[in] clkrate The clock rate(KHz) input to i2c module - * \param[in] baudrate The demand baud rate(KHz) of i2c module - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_async_set_baudrate(struct _i2c_m_async_device *const i2c_dev, uint32_t clkrate, uint32_t baudrate); - -/** - * \brief Register callback to I2C - * - * This function does low level I2C callback register. - * - * \param[in] i2c_dev The pointer to i2c device structure - * \param[in] cb_type The callback type request - * \param[in] func The callback function pointer - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_async_register_callback(struct _i2c_m_async_device *i2c_dev, enum _i2c_m_async_callback_type cb_type, - FUNC_PTR func); - -/** - * \brief Generate stop condition on the I2C bus - * - * This function will generate a stop condition on the I2C bus - * - * \param[in] i2c_m_async_descriptor An i2c descriptor which is used to communicate through I2C - * - * \return Operation status - * \retval 0 Operation executed successfully - * \retval <0 Operation failed - */ -int32_t _i2c_m_async_send_stop(struct _i2c_m_async_device *const i2c_dev); - -/** - * \brief Returns the number of bytes left or not used in the I2C message buffer - * - * This function will return the number of bytes left (not written to the bus) or still free - * (not received from the bus) in the message buffer, depending on direction of transmission. - * - * \param[in] i2c_m_async_descriptor An i2c descriptor which is used to communicate through I2C - * - * \return Number of bytes or error code - * \retval >0 Positive number indicating bytes left - * \retval 0 Buffer is full/empty depending on direction - * \retval <0 Error code - */ -int32_t _i2c_m_async_get_bytes_left(struct _i2c_m_async_device *const i2c_dev); - -/** - * \brief Enable/disable I2C master interrupt - * - * param[in] device The pointer to I2C master device instance - * param[in] type The type of interrupt to disable/enable if applicable - * param[in] state Enable or disable - */ -void _i2c_m_async_set_irq_state(struct _i2c_m_async_device *const device, const enum _i2c_m_async_callback_type type, - const bool state); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_m_sync.h b/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_m_sync.h deleted file mode 100644 index ce173ae..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_m_sync.h +++ /dev/null @@ -1,185 +0,0 @@ -/** - * \file - * - * \brief I2C Master Hardware Proxy Layer(HPL) declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#ifndef _HPL_I2C_M_SYNC_H_INCLUDED -#define _HPL_I2C_M_SYNC_H_INCLUDED - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief i2c flags - */ -#define I2C_M_RD 0x0001 /* read data, from slave to master */ -#define I2C_M_BUSY 0x0100 -#define I2C_M_TEN 0x0400 /* this is a ten bit chip address */ -#define I2C_M_SEVEN 0x0800 /* this is a seven bit chip address */ -#define I2C_M_FAIL 0x1000 -#define I2C_M_STOP 0x8000 /* if I2C_FUNC_PROTOCOL_MANGLING */ - -/** - * \brief i2c Return codes - */ -#define I2C_OK 0 /* Operation successful */ -#define I2C_ACK -1 /* Received ACK from device on I2C bus */ -#define I2C_NACK -2 /* Received NACK from device on I2C bus */ -#define I2C_ERR_ARBLOST -3 /* Arbitration lost */ -#define I2C_ERR_BAD_ADDRESS -4 /* Bad address */ -#define I2C_ERR_BUS -5 /* Bus error */ -#define I2C_ERR_BUSY -6 /* Device busy */ -#define I2c_ERR_PACKAGE_COLLISION -7 /* Package collision */ - -/** - * \brief i2c I2C Modes - */ -#define I2C_STANDARD_MODE 0x00 -#define I2C_FASTMODE 0x01 -#define I2C_HIGHSPEED_MODE 0x02 - -/** - * \brief i2c master message structure - */ -struct _i2c_m_msg { - uint16_t addr; - volatile uint16_t flags; - int32_t len; - uint8_t * buffer; -}; - -/** - * \brief i2c master service - */ -struct _i2c_m_service { - struct _i2c_m_msg msg; - uint16_t mode; - uint16_t trise; -}; - -/** - * \brief i2c sync master device structure - */ -struct _i2c_m_sync_device { - struct _i2c_m_service service; - void * hw; -}; - -/** - * \name HPL functions - */ - -/** - * \brief Initialize I2C - * - * This function does low level I2C configuration. - * - * \param[in] i2c_dev The pointer to i2c device structure - * \param[in] hw The pointer to hardware instance - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_sync_init(struct _i2c_m_sync_device *const i2c_dev, void *const hw); - -/** - * \brief Deinitialize I2C - * - * \param[in] i2c_dev The pointer to i2c device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_sync_deinit(struct _i2c_m_sync_device *const i2c_dev); - -/** - * \brief Enable I2C module - * - * This function does low level I2C enable. - * - * \param[in] i2c_dev The pointer to i2c device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_sync_enable(struct _i2c_m_sync_device *const i2c_dev); - -/** - * \brief Disable I2C module - * - * This function does low level I2C disable. - * - * \param[in] i2c_dev The pointer to i2c device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_sync_disable(struct _i2c_m_sync_device *const i2c_dev); - -/** - * \brief Transfer data by I2C - * - * This function does low level I2C data transfer. - * - * \param[in] i2c_dev The pointer to i2c device structure - * \param[in] msg The pointer to i2c msg structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_sync_transfer(struct _i2c_m_sync_device *const i2c_dev, struct _i2c_m_msg *msg); - -/** - * \brief Set baud rate of I2C - * - * This function does low level I2C set baud rate. - * - * \param[in] i2c_dev The pointer to i2c device structure - * \param[in] clkrate The clock rate(KHz) input to i2c module - * \param[in] baudrate The demand baud rate(KHz) of i2c module - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_sync_set_baudrate(struct _i2c_m_sync_device *const i2c_dev, uint32_t clkrate, uint32_t baudrate); - -/** - * \brief Send send condition on the I2C bus - * - * This function will generate a stop condition on the I2C bus - * - * \param[in] i2c_dev The pointer to i2c device struct - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_m_sync_send_stop(struct _i2c_m_sync_device *const i2c_dev); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_s_async.h b/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_s_async.h deleted file mode 100644 index 92a5765..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_s_async.h +++ /dev/null @@ -1,184 +0,0 @@ -/** - * \file - * - * \brief I2C Slave Hardware Proxy Layer(HPL) declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#ifndef _HPL_I2C_S_ASYNC_H_INCLUDED -#define _HPL_I2C_S_ASYNC_H_INCLUDED - -#include "hpl_i2c_s_sync.h" -#include "hpl_irq.h" -#include "utils.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief i2c callback types - */ -enum _i2c_s_async_callback_type { I2C_S_DEVICE_ERROR, I2C_S_DEVICE_TX, I2C_S_DEVICE_RX_COMPLETE }; - -/** - * \brief Forward declaration of I2C Slave device - */ -struct _i2c_s_async_device; - -/** - * \brief i2c slave callback function type - */ -typedef void (*_i2c_s_async_cb_t)(struct _i2c_s_async_device *device); - -/** - * \brief i2c slave callback pointers structure - */ -struct _i2c_s_async_callback { - void (*error)(struct _i2c_s_async_device *const device); - void (*tx)(struct _i2c_s_async_device *const device); - void (*rx_done)(struct _i2c_s_async_device *const device, const uint8_t data); -}; - -/** - * \brief i2c slave device structure - */ -struct _i2c_s_async_device { - void * hw; - struct _i2c_s_async_callback cb; - struct _irq_descriptor irq; -}; - -/** - * \name HPL functions - */ - -/** - * \brief Initialize asynchronous I2C slave - * - * This function does low level I2C configuration. - * - * \param[in] device The pointer to i2c interrupt device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_async_init(struct _i2c_s_async_device *const device, void *const hw); - -/** - * \brief Deinitialize asynchronous I2C in interrupt mode - * - * \param[in] device The pointer to i2c device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_async_deinit(struct _i2c_s_async_device *const device); - -/** - * \brief Enable I2C module - * - * This function does low level I2C enable. - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_async_enable(struct _i2c_s_async_device *const device); - -/** - * \brief Disable I2C module - * - * This function does low level I2C disable. - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_async_disable(struct _i2c_s_async_device *const device); - -/** - * \brief Check if 10-bit addressing mode is on - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Cheking status - * \retval 1 10-bit addressing mode is on - * \retval 0 10-bit addressing mode is off - */ -int32_t _i2c_s_async_is_10bit_addressing_on(const struct _i2c_s_async_device *const device); - -/** - * \brief Set I2C slave address - * - * \param[in] device The pointer to i2c slave device structure - * \param[in] address Address to set - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_async_set_address(struct _i2c_s_async_device *const device, const uint16_t address); - -/** - * \brief Write a byte to the given I2C instance - * - * \param[in] device The pointer to i2c slave device structure - * \param[in] data Data to write - */ -void _i2c_s_async_write_byte(struct _i2c_s_async_device *const device, const uint8_t data); - -/** - * \brief Retrieve I2C slave status - * - * \param[in] device The pointer to i2c slave device structure - * - *\return I2C slave status - */ -i2c_s_status_t _i2c_s_async_get_status(const struct _i2c_s_async_device *const device); - -/** - * \brief Abort data transmission - * - * \param[in] device The pointer to i2c device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_async_abort_transmission(const struct _i2c_s_async_device *const device); - -/** - * \brief Enable/disable I2C slave interrupt - * - * param[in] device The pointer to I2C slave device instance - * param[in] type The type of interrupt to disable/enable if applicable - * param[in] disable Enable or disable - */ -int32_t _i2c_s_async_set_irq_state(struct _i2c_s_async_device *const device, const enum _i2c_s_async_callback_type type, - const bool disable); - -#ifdef __cplusplus -} -#endif - -#endif /* _HPL_I2C_S_ASYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_s_sync.h b/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_s_sync.h deleted file mode 100644 index 93b5934..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_i2c_s_sync.h +++ /dev/null @@ -1,184 +0,0 @@ -/** - * \file - * - * \brief I2C Slave Hardware Proxy Layer(HPL) declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#ifndef _HPL_I2C_S_SYNC_H_INCLUDED -#define _HPL_I2C_S_SYNC_H_INCLUDED - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief I2C Slave status type - */ -typedef uint32_t i2c_s_status_t; - -/** - * \brief i2c slave device structure - */ -struct _i2c_s_sync_device { - void *hw; -}; - -#include - -/** - * \name HPL functions - */ - -/** - * \brief Initialize synchronous I2C slave - * - * This function does low level I2C configuration. - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_sync_init(struct _i2c_s_sync_device *const device, void *const hw); - -/** - * \brief Deinitialize synchronous I2C slave - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_sync_deinit(struct _i2c_s_sync_device *const device); - -/** - * \brief Enable I2C module - * - * This function does low level I2C enable. - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_sync_enable(struct _i2c_s_sync_device *const device); - -/** - * \brief Disable I2C module - * - * This function does low level I2C disable. - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_sync_disable(struct _i2c_s_sync_device *const device); - -/** - * \brief Check if 10-bit addressing mode is on - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Cheking status - * \retval 1 10-bit addressing mode is on - * \retval 0 10-bit addressing mode is off - */ -int32_t _i2c_s_sync_is_10bit_addressing_on(const struct _i2c_s_sync_device *const device); - -/** - * \brief Set I2C slave address - * - * \param[in] device The pointer to i2c slave device structure - * \param[in] address Address to set - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_sync_set_address(struct _i2c_s_sync_device *const device, const uint16_t address); - -/** - * \brief Write a byte to the given I2C instance - * - * \param[in] device The pointer to i2c slave device structure - * \param[in] data Data to write - */ -void _i2c_s_sync_write_byte(struct _i2c_s_sync_device *const device, const uint8_t data); - -/** - * \brief Retrieve I2C slave status - * - * \param[in] device The pointer to i2c slave device structure - * - *\return I2C slave status - */ -i2c_s_status_t _i2c_s_sync_get_status(const struct _i2c_s_sync_device *const device); - -/** - * \brief Clear the Data Ready interrupt flag - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Return 0 for success and negative value for error - */ -int32_t _i2c_s_sync_clear_data_ready_flag(const struct _i2c_s_sync_device *const device); - -/** - * \brief Read a byte from the given I2C instance - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Data received via I2C interface. - */ -uint8_t _i2c_s_sync_read_byte(const struct _i2c_s_sync_device *const device); - -/** - * \brief Check if I2C is ready to send next byte - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Status of the ready check. - * \retval true if the I2C is ready to send next byte - * \retval false if the I2C is not ready to send next byte - */ -bool _i2c_s_sync_is_byte_sent(const struct _i2c_s_sync_device *const device); - -/** - * \brief Check if there is data received by I2C - * - * \param[in] device The pointer to i2c slave device structure - * - * \return Status of the data received check. - * \retval true if the I2C has received a byte - * \retval false if the I2C has not received a byte - */ -bool _i2c_s_sync_is_byte_received(const struct _i2c_s_sync_device *const device); - -#ifdef __cplusplus -} -#endif - -#endif /* _HPL_I2C_S_SYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_init.h b/software/firmware/oracle_same54n19a/hal/include/hpl_init.h deleted file mode 100644 index 71bf49c..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_init.h +++ /dev/null @@ -1,124 +0,0 @@ -/** - * \file - * - * \brief Init related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_INIT_H_INCLUDED -#define _HPL_INIT_H_INCLUDED - -/** - * \addtogroup HPL Init - * - * \section hpl_init_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initializes clock sources - */ -void _sysctrl_init_sources(void); - -/** - * \brief Initializes Power Manager - */ -void _pm_init(void); - -/** - * \brief Initialize generators - */ -void _gclk_init_generators(void); - -/** - * \brief Initialize 32 kHz clock sources - */ -void _osc32kctrl_init_sources(void); - -/** - * \brief Initialize clock sources - */ -void _oscctrl_init_sources(void); - -/** - * \brief Initialize clock sources that need input reference clocks - */ -void _sysctrl_init_referenced_generators(void); - -/** - * \brief Initialize clock sources that need input reference clocks - */ -void _oscctrl_init_referenced_generators(void); - -/** - * \brief Initialize master clock generator - */ -void _mclk_init(void); - -/** - * \brief Initialize clock generator - */ -void _lpmcu_misc_regs_init(void); - -/** - * \brief Initialize clock generator - */ -void _pmc_init(void); - -/** - * \brief Set performance level - * - * \param[in] level The performance level to set - */ -void _set_performance_level(const uint8_t level); - -/** - * \brief Initialize the chip - */ -void _init_chip(void); - -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_INIT_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_irq.h b/software/firmware/oracle_same54n19a/hal/include/hpl_irq.h deleted file mode 100644 index 2894944..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_irq.h +++ /dev/null @@ -1,116 +0,0 @@ -/** - * \file - * - * \brief IRQ related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_IRQ_H_INCLUDED -#define _HPL_IRQ_H_INCLUDED - -/** - * \addtogroup HPL IRQ - * - * \section hpl_irq_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief IRQ descriptor - */ -struct _irq_descriptor { - void (*handler)(void *parameter); - void *parameter; -}; - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Retrieve current IRQ number - * - * \return The current IRQ number - */ -uint8_t _irq_get_current(void); - -/** - * \brief Disable the given IRQ - * - * \param[in] n The number of IRQ to disable - */ -void _irq_disable(uint8_t n); - -/** - * \brief Set the given IRQ - * - * \param[in] n The number of IRQ to set - */ -void _irq_set(uint8_t n); - -/** - * \brief Clear the given IRQ - * - * \param[in] n The number of IRQ to clear - */ -void _irq_clear(uint8_t n); - -/** - * \brief Enable the given IRQ - * - * \param[in] n The number of IRQ to enable - */ -void _irq_enable(uint8_t n); - -/** - * \brief Register IRQ handler - * - * \param[in] number The number registered IRQ - * \param[in] irq The pointer to irq handler to register - * - * \return The status of IRQ handler registering - * \retval -1 Passed parameters were invalid - * \retval 0 The registering is completed successfully - */ -void _irq_register(const uint8_t number, struct _irq_descriptor *const irq); -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_IRQ_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_missing_features.h b/software/firmware/oracle_same54n19a/hal/include/hpl_missing_features.h deleted file mode 100644 index 7071db2..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_missing_features.h +++ /dev/null @@ -1,37 +0,0 @@ -/** - * \file - * - * \brief Family-dependent missing features expected by HAL - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_MISSING_FEATURES -#define _HPL_MISSING_FEATURES - -#endif /* _HPL_MISSING_FEATURES */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_pwm.h b/software/firmware/oracle_same54n19a/hal/include/hpl_pwm.h deleted file mode 100644 index ff87052..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_pwm.h +++ /dev/null @@ -1,193 +0,0 @@ -/** - * \file - * - * \brief PWM related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#ifndef _HPL_PWM_H_INCLUDED -#define _HPL_PWM_H_INCLUDED - -/** - * \addtogroup HPL PWM - * - * \section hpl_pwm_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include -#include "hpl_irq.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief PWM callback types - */ -enum _pwm_callback_type { PWM_DEVICE_PERIOD_CB, PWM_DEVICE_ERROR_CB }; - -/** - * \brief PWM pulse-width period - */ -typedef uint32_t pwm_period_t; - -/** - * \brief PWM device structure - * - * The PWM device structure forward declaration. - */ -struct _pwm_device; - -/** - * \brief PWM interrupt callbacks - */ -struct _pwm_callback { - void (*pwm_period_cb)(struct _pwm_device *device); - void (*pwm_error_cb)(struct _pwm_device *device); -}; - -/** - * \brief PWM descriptor device structure - */ -struct _pwm_device { - struct _pwm_callback callback; - struct _irq_descriptor irq; - void * hw; -}; - -/** - * \brief PWM functions, pointers to low-level functions - */ -struct _pwm_hpl_interface { - int32_t (*init)(struct _pwm_device *const device, void *const hw); - void (*deinit)(struct _pwm_device *const device); - void (*start_pwm)(struct _pwm_device *const device); - void (*stop_pwm)(struct _pwm_device *const device); - void (*set_pwm_param)(struct _pwm_device *const device, const pwm_period_t period, const pwm_period_t duty_cycle); - bool (*is_pwm_enabled)(const struct _pwm_device *const device); - pwm_period_t (*pwm_get_period)(const struct _pwm_device *const device); - uint32_t (*pwm_get_duty)(const struct _pwm_device *const device); - void (*set_irq_state)(struct _pwm_device *const device, const enum _pwm_callback_type type, const bool disable); -}; -/** - * \brief Initialize TC - * - * This function does low level TC configuration. - * - * \param[in] device The pointer to PWM device instance - * \param[in] hw The pointer to hardware instance - * - * \return Initialization status. - */ -int32_t _pwm_init(struct _pwm_device *const device, void *const hw); - -/** - * \brief Deinitialize TC - * - * \param[in] device The pointer to PWM device instance - */ -void _pwm_deinit(struct _pwm_device *const device); - -/** - * \brief Retrieve offset of the given tc hardware instance - * - * \param[in] device The pointer to PWM device instance - * - * \return The offset of the given tc hardware instance - */ -uint8_t _pwm_get_hardware_offset(const struct _pwm_device *const device); - -/** - * \brief Start hardware pwm - * - * \param[in] device The pointer to PWM device instance - */ -void _pwm_enable(struct _pwm_device *const device); - -/** - * \brief Stop hardware pwm - * - * \param[in] device The pointer to PWM device instance - */ -void _pwm_disable(struct _pwm_device *const device); - -/** - * \brief Set pwm parameter - * - * \param[in] device The pointer to PWM device instance - * \param[in] period Total period of one PWM cycle. - * \param[in] duty_cycle Period of PWM first half during one cycle. - */ -void _pwm_set_param(struct _pwm_device *const device, const pwm_period_t period, const pwm_period_t duty_cycle); - -/** - * \brief Check if pwm is working - * - * \param[in] device The pointer to PWM device instance - * - * \return Check status. - * \retval true The given pwm is working - * \retval false The given pwm is not working - */ -bool _pwm_is_enabled(const struct _pwm_device *const device); - -/** - * \brief Get pwm waveform period value - * - * \param[in] device The pointer to PWM device instance - * - * \return Period value. - */ -pwm_period_t _pwm_get_period(const struct _pwm_device *const device); - -/** - * \brief Get pwm waveform duty cycle value - * - * \param[in] device The pointer to PWM device instance - * - * \return Duty cycle value - */ -uint32_t _pwm_get_duty(const struct _pwm_device *const device); - -/** - * \brief Enable/disable PWM interrupt - * - * param[in] device The pointer to PWM device instance - * param[in] type The type of interrupt to disable/enable if applicable - * param[in] disable Enable or disable - */ -void _pwm_set_irq_state(struct _pwm_device *const device, const enum _pwm_callback_type type, const bool disable); - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_PWM_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_ramecc.h b/software/firmware/oracle_same54n19a/hal/include/hpl_ramecc.h deleted file mode 100644 index d79d514..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_ramecc.h +++ /dev/null @@ -1,100 +0,0 @@ -/** - * \file - * - * \brief RAMECC related functionality declaration. - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_RAMECC_H_INCLUDED -#define _HPL_RAMECC_H_INCLUDED - -/** - * \addtogroup HPL RAMECC - * - * \section hpl_ramecc_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief RAMECC callback type - */ -typedef void (*ramecc_cb_t)(const uint32_t data); - -/** - * \brief RAMECC callback types - */ -enum _ramecc_callback_type { RAMECC_DUAL_ERROR_CB, RAMECC_SINGLE_ERROR_CB }; - -/** - * \brief RAMECC interrupt callbacks - */ -struct _ramecc_callbacks { - ramecc_cb_t dual_bit_err; - ramecc_cb_t single_bit_err; -}; - -/** - * \brief RAMECC device structure - */ -struct _ramecc_device { - struct _ramecc_callbacks ramecc_cb; - struct _irq_descriptor irq; -}; - -/** - * \brief Initialize RAMECC - * - * This function does low level RAMECC configuration. - * - * \return initialize status - */ -int32_t _ramecc_init(void); - -/** - * \brief Register RAMECC callback - * - * \param[in] type The type of callback - * \param[in] cb A callback function - */ -void _ramecc_register_callback(const enum _ramecc_callback_type type, ramecc_cb_t cb); - -#ifdef __cplusplus -} -#endif - -#endif /* _HPL_RAMECC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_reset.h b/software/firmware/oracle_same54n19a/hal/include/hpl_reset.h deleted file mode 100644 index d627ea6..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_reset.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - * \file - * - * \brief Reset related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_RESET_H_INCLUDED -#define _HPL_RESET_H_INCLUDED - -/** - * \addtogroup HPL Reset - * - * \section hpl_reset_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#ifndef _UNIT_TEST_ -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief Reset reason enumeration - * - * The list of possible reset reasons. - */ -enum reset_reason { - RESET_REASON_POR = 1, - RESET_REASON_BOD12 = 2, - RESET_REASON_BOD33 = 4, - RESET_REASON_NVM = 8, - RESET_REASON_EXT = 16, - RESET_REASON_WDT = 32, - RESET_REASON_SYST = 64, - RESET_REASON_BACKUP = 128 -}; - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Retrieve the reset reason - * - * Retrieves the reset reason of the last MCU reset. - * - *\return An enum value indicating the reason of the last reset. - */ -enum reset_reason _get_reset_reason(void); - -/** - * \brief Reset MCU - */ -void _reset_mcu(void); -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_RESET_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_sleep.h b/software/firmware/oracle_same54n19a/hal/include/hpl_sleep.h deleted file mode 100644 index 6731ec3..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_sleep.h +++ /dev/null @@ -1,88 +0,0 @@ -/** - * \file - * - * \brief Sleep related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SLEEP_H_INCLUDED -#define _HPL_SLEEP_H_INCLUDED - -/** - * \addtogroup HPL Sleep - * - * \section hpl_sleep_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#ifndef _UNIT_TEST_ -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Set the sleep mode for the device - * - * This function sets the sleep mode for the device. - * For an overview of which systems are disabled in sleep for the different - * sleep modes see datasheet. - * - * \param[in] mode Sleep mode to use - * - * \return the status of a sleep request - * \retval -1 The requested sleep mode was invalid - * \retval 0 The operation completed successfully, sleep mode is set - */ -int32_t _set_sleep_mode(const uint8_t mode); - -/** - * \brief Reset MCU - */ -void _reset_mcu(void); - -/** - * \brief Put MCU to sleep - */ -void _go_to_sleep(void); -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_SLEEP_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_spi.h b/software/firmware/oracle_same54n19a/hal/include/hpl_spi.h deleted file mode 100644 index a5652e5..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_spi.h +++ /dev/null @@ -1,163 +0,0 @@ -/** - * \file - * - * \brief SPI related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SPI_H_INCLUDED -#define _HPL_SPI_H_INCLUDED - -#include -#include - -/** - * \addtogroup hpl_spi HPL SPI - * - *@{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief SPI Dummy char is used when reading data from the SPI slave - */ -#define SPI_DUMMY_CHAR 0x1ff - -/** - * \brief SPI message to let driver to process - */ -//@{ -struct spi_msg { - /** Pointer to the output data buffer */ - uint8_t *txbuf; - /** Pointer to the input data buffer */ - uint8_t *rxbuf; - /** Size of the message data in SPI characters */ - uint32_t size; -}; -//@} - -/** - * \brief SPI transfer modes - * SPI transfer mode controls clock polarity and clock phase. - * Mode 0: leading edge is rising edge, data sample on leading edge. - * Mode 1: leading edge is rising edge, data sample on trailing edge. - * Mode 2: leading edge is falling edge, data sample on leading edge. - * Mode 3: leading edge is falling edge, data sample on trailing edge. - */ -enum spi_transfer_mode { - /** Leading edge is rising edge, data sample on leading edge. */ - SPI_MODE_0, - /** Leading edge is rising edge, data sample on trailing edge. */ - SPI_MODE_1, - /** Leading edge is falling edge, data sample on leading edge. */ - SPI_MODE_2, - /** Leading edge is falling edge, data sample on trailing edge. */ - SPI_MODE_3 -}; - -/** - * \brief SPI character sizes - * The character size influence the way the data is sent/received. - * For char size <= 8 data is stored byte by byte. - * For char size between 9 ~ 16 data is stored in 2-byte length. - * Note that the default and recommended char size is 8 bit since it's - * supported by all system. - */ -enum spi_char_size { - /** Character size is 8 bit. */ - SPI_CHAR_SIZE_8 = 0, - /** Character size is 9 bit. */ - SPI_CHAR_SIZE_9 = 1, - /** Character size is 10 bit. */ - SPI_CHAR_SIZE_10 = 2, - /** Character size is 11 bit. */ - SPI_CHAR_SIZE_11 = 3, - /** Character size is 12 bit. */ - SPI_CHAR_SIZE_12 = 4, - /** Character size is 13 bit. */ - SPI_CHAR_SIZE_13 = 5, - /** Character size is 14 bit. */ - SPI_CHAR_SIZE_14 = 6, - /** Character size is 15 bit. */ - SPI_CHAR_SIZE_15 = 7, - /** Character size is 16 bit. */ - SPI_CHAR_SIZE_16 = 8 -}; - -/** - * \brief SPI data order - */ -enum spi_data_order { - /** MSB goes first. */ - SPI_DATA_ORDER_MSB_1ST = 0, - /** LSB goes first. */ - SPI_DATA_ORDER_LSB_1ST = 1 -}; - -/** \brief Transfer descriptor for SPI - * Transfer descriptor holds TX and RX buffers - */ -struct spi_xfer { - /** Pointer to data buffer to TX */ - uint8_t *txbuf; - /** Pointer to data buffer to RX */ - uint8_t *rxbuf; - /** Size of data characters to TX & RX */ - uint32_t size; -}; - -/** SPI generic driver. */ -struct spi_dev { - /** Pointer to the hardware base or private data for special device. */ - void *prvt; - /** Reference start of sync/async variables */ - uint32_t sync_async_misc[1]; -}; - -/** - * \brief Calculate the baudrate value for hardware to use to set baudrate - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] clk Clock frequency (Hz) for baudrate generation. - * \param[in] baud Target baudrate (bps). - * \return Error or baudrate value. - * \retval >0 Baudrate value. - * \retval ERR_INVALID_ARG Calculation fail. - */ -int32_t _spi_calc_baud_val(struct spi_dev *dev, const uint32_t clk, const uint32_t baud); - -#ifdef __cplusplus -} -#endif - -/**@}*/ -#endif /* ifndef _HPL_SPI_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_async.h b/software/firmware/oracle_same54n19a/hal/include/hpl_spi_async.h deleted file mode 100644 index 8e5a848..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_async.h +++ /dev/null @@ -1,131 +0,0 @@ -/** - * \file - * - * \brief Common SPI related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SPI_ASYNC_H_INCLUDED -#define _HPL_SPI_ASYNC_H_INCLUDED - -#include -#include - -/** - * \addtogroup hpl_spi HPL SPI - * - *@{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief Callbacks the SPI driver must offer in async mode - */ -//@{ -/** The callback types */ -enum _spi_async_dev_cb_type { - /** Callback type for transmit, see \ref _spi_async_dev_cb_xfer_t. */ - SPI_DEV_CB_TX, - /** Callback type for receive, see \ref _spi_async_dev_cb_xfer_t. */ - SPI_DEV_CB_RX, - /** Callback type for \ref _spi_async_dev_cb_complete_t. */ - SPI_DEV_CB_COMPLETE, - /** Callback type for error */ - SPI_DEV_CB_ERROR, - /** Number of callbacks. */ - SPI_DEV_CB_N -}; - -struct _spi_async_dev; - -/** \brief The prototype for callback on SPI transfer error. - * If status code is zero, it indicates the normal completion, that is, - * SS deactivation. - * If status code belows zero, it indicates complete. - */ -typedef void (*_spi_async_dev_cb_error_t)(struct _spi_async_dev *dev, int32_t status); - -/** \brief The prototype for callback on SPI transmit/receive event - * For TX, the callback is invoked when transmit is done or ready to start - * transmit. - * For RX, the callback is invoked when receive is done or ready to read data, - * see \ref _spi_async_dev_read_one_t on data reading. - * Without DMA enabled, the callback is invoked on each character event. - * With DMA enabled, the callback is invoked on DMA buffer done. - */ -typedef void (*_spi_async_dev_cb_xfer_t)(struct _spi_async_dev *dev); - -/** - * \brief The callbacks offered by SPI driver - */ -struct _spi_async_dev_callbacks { - /** TX callback, see \ref _spi_async_dev_cb_xfer_t. */ - _spi_async_dev_cb_xfer_t tx; - /** RX callback, see \ref _spi_async_dev_cb_xfer_t. */ - _spi_async_dev_cb_xfer_t rx; - /** Complete or complete callback, see \ref _spi_async_dev_cb_complete_t. */ - _spi_async_dev_cb_xfer_t complete; - /** Error callback, see \ref */ - _spi_async_dev_cb_error_t err; -}; -//@} - -/** - * \brief SPI async driver - */ -//@{ - -/** SPI driver to support async HAL */ -struct _spi_async_dev { - /** Pointer to the hardware base or private data for special device. */ - void *prvt; - /** Data size, number of bytes for each character */ - uint8_t char_size; - /** Dummy byte used in master mode when reading the slave */ - uint16_t dummy_byte; - - /** \brief Pointer to callback functions, ignored for polling mode - * Pointer to the callback functions so that initialize the driver to - * handle interrupts. - */ - struct _spi_async_dev_callbacks callbacks; - /** IRQ instance for SPI device. */ - struct _irq_descriptor irq; -}; -//@} - -#ifdef __cplusplus -} -#endif - -/**@}*/ -#endif /* ifndef _HPL_SPI_ASYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_async.h b/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_async.h deleted file mode 100644 index 8d3555e..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_async.h +++ /dev/null @@ -1,243 +0,0 @@ -/** - * \file - * - * \brief SPI Slave Async related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SPI_M_ASYNC_H_INCLUDED -#define _HPL_SPI_M_ASYNC_H_INCLUDED - -#include -#include - -/** - * \addtogroup hpl_spi HPL SPI - * - * - *@{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** Uses common SPI async device driver. */ -#define _spi_m_async_dev _spi_async_dev - -#define _spi_m_async_dev_cb_type _spi_async_dev_cb_type - -/** Uses common SPI async device driver complete callback type. */ -#define _spi_m_async_dev_cb_error_t _spi_async_dev_cb_error_t - -/** Uses common SPI async device driver transfer callback type. */ -#define _spi_m_async_dev_cb_xfer_t _spi_async_dev_cb_xfer_t - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initialize SPI for access with interrupts - * It will load default hardware configuration and software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] hw Pointer to the hardware base. - * \retval ERR_INVALID_ARG Input parameter problem. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval ERR_DENIED SPI has been enabled. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_async_init(struct _spi_m_async_dev *dev, void *const hw); - -/** - * \brief Initialize SPI for access with interrupts - * Disable, reset the hardware and the software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_async_deinit(struct _spi_m_async_dev *dev); - -/** - * \brief Enable SPI for access with interrupts - * Enable the SPI and enable callback generation of receive and error - * interrupts. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval ERR_INVALID_ARG Input parameter problem. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_async_enable(struct _spi_m_async_dev *dev); - -/** - * \brief Disable SPI for access without interrupts - * Disable SPI and interrupts. Deactivate all CS pins if works as master. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_async_disable(struct _spi_m_async_dev *dev); - -/** - * \brief Set SPI transfer mode - * Set SPI transfer mode (\ref spi_transfer_mode), - * which controls clock polarity and clock phase. - * Mode 0: leading edge is rising edge, data sample on leading edge. - * Mode 1: leading edge is rising edge, data sample on trailing edge. - * Mode 2: leading edge is falling edge, data sample on leading edge. - * Mode 3: leading edge is falling edge, data sample on trailing edge. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] mode The SPI transfer mode. - * \return Operation status. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_async_set_mode(struct _spi_m_async_dev *dev, const enum spi_transfer_mode mode); - -/** - * \brief Set SPI baudrate - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] baud_val The SPI baudrate value, see \ref _spi_calc_baud_val() on - * how it's generated. - * \return Operation status. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_async_set_baudrate(struct _spi_m_async_dev *dev, const uint32_t baud_val); - -/** - * \brief Set SPI baudrate - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] char_size The character size, see \ref spi_char_size. - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_async_set_char_size(struct _spi_m_async_dev *dev, const enum spi_char_size char_size); - -/** - * \brief Set SPI data order - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] dord SPI data order (LSB/MSB first). - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_async_set_data_order(struct _spi_m_async_dev *dev, const enum spi_data_order dord); - -/** - * \brief Enable interrupt on character output - * - * Enable interrupt when a new character can be written - * to the SPI device. - * - * \param[in] dev Pointer to the SPI device instance - * \param[in] state true = enable output interrupt - * false = disable output interrupt - * - * \return Status code - * \retval 0 Ok status - */ -int32_t _spi_m_async_enable_tx(struct _spi_m_async_dev *dev, bool state); - -/** - * \brief Enable interrupt on character input - * - * Enable interrupt when a new character is ready to be - * read from the SPI device. - * - * \param[in] dev Pointer to the SPI device instance - * \param[in] state true = enable input interrupts - * false = disable input interrupt - * - * \return Status code - * \retvat 0 OK Status - */ -int32_t _spi_m_async_enable_rx(struct _spi_m_async_dev *dev, bool state); - -/** - * \brief Enable interrupt on after data transmission complate - * - * \param[in] dev Pointer to the SPI device instance - * \param[in] state true = enable input interrupts - * false = disable input interrupt - * - * \return Status code - * \retvat 0 OK Status - */ -int32_t _spi_m_async_enable_tx_complete(struct _spi_m_async_dev *dev, bool state); - -/** - * \brief Read one character to SPI device instance - * \param[in, out] dev Pointer to the SPI device instance. - * - * \return Character read from SPI module - */ -uint16_t _spi_m_async_read_one(struct _spi_m_async_dev *dev); - -/** - * \brief Write one character to assigned buffer - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] data - * - * \return Status code of write operation - * \retval 0 Write operation OK - */ -int32_t _spi_m_async_write_one(struct _spi_m_async_dev *dev, uint16_t data); - -/** - * \brief Register the SPI device callback - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] cb_type The callback type. - * \param[in] func The callback function to register. NULL to disable callback. - * \return Always 0. - */ -int32_t _spi_m_async_register_callback(struct _spi_m_async_dev *dev, const enum _spi_m_async_dev_cb_type cb_type, - const FUNC_PTR func); - -/** - * \brief Enable/disable SPI master interrupt - * - * param[in] device The pointer to SPI master device instance - * param[in] type The type of interrupt to disable/enable if applicable - * param[in] state Enable or disable - */ -void _spi_m_async_set_irq_state(struct _spi_m_async_dev *const device, const enum _spi_m_async_dev_cb_type type, - const bool state); -//@} - -#ifdef __cplusplus -} -#endif - -/**@}*/ -#endif /* ifndef _HPL_SPI_M_ASYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_dma.h b/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_dma.h deleted file mode 100644 index 2b48300..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_dma.h +++ /dev/null @@ -1,182 +0,0 @@ -/** - * \file - * - * \brief SPI Master DMA related functionality declaration. - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SPI_M_DMA_H_INCLUDED -#define _HPL_SPI_M_DMA_H_INCLUDED - -#include -#include - -/** - * \addtogroup hpl_spi HPL SPI - * - * - *@{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** Uses common SPI dma device driver. */ -#define _spi_m_dma_dev _spi_dma_dev - -#define _spi_m_dma_dev_cb_type _spi_dma_dev_cb_type - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initialize SPI for access with interrupts - * It will load default hardware configuration and software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] hw Pointer to the hardware base. - * \return Operation status. - * \retval ERR_INVALID_ARG Input parameter problem. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval ERR_DENIED SPI has been enabled. - * \retval 0 ERR_NONE is operation done successfully. - */ -int32_t _spi_m_dma_init(struct _spi_m_dma_dev *dev, void *const hw); - -/** - * \brief Initialize SPI for access with interrupts - * Disable, reset the hardware and the software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 ERR_NONE is operation done successfully. - */ -int32_t _spi_m_dma_deinit(struct _spi_m_dma_dev *dev); - -/** - * \brief Enable SPI for access with interrupts - * Enable the SPI and enable callback generation of receive and error - * interrupts. - * \param[in] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval ERR_INVALID_ARG Input parameter problem. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval 0 ERR_NONE is operation done successfully. - */ -int32_t _spi_m_dma_enable(struct _spi_m_dma_dev *dev); - -/** - * \brief Disable SPI for access without interrupts - * Disable SPI and interrupts. Deactivate all CS pins if works as master. - * \param[in] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 ERR_NONE is operation done successfully. - */ -int32_t _spi_m_dma_disable(struct _spi_m_dma_dev *dev); - -/** - * \brief Set SPI transfer mode - * Set SPI transfer mode (\ref spi_transfer_mode), - * which controls clock polarity and clock phase. - * Mode 0: leading edge is rising edge, data sample on leading edge. - * Mode 1: leading edge is rising edge, data sample on trailing edge. - * Mode 2: leading edge is falling edge, data sample on leading edge. - * Mode 3: leading edge is falling edge, data sample on trailing edge. - * \param[in] dev Pointer to the SPI device instance. - * \param[in] mode The SPI transfer mode. - * \return Operation status. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 ERR_NONE is operation done successfully. - */ -int32_t _spi_m_dma_set_mode(struct _spi_m_dma_dev *dev, const enum spi_transfer_mode mode); - -/** - * \brief Set SPI baudrate - * \param[in] dev Pointer to the SPI device instance. - * \param[in] baud_val The SPI baudrate value, see \ref _spi_calc_baud_val() on - * how it's generated. - * \return Operation status. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_dma_set_baudrate(struct _spi_m_dma_dev *dev, const uint32_t baud_val); - -/** - * \brief Set SPI baudrate - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] char_size The character size, see \ref spi_char_size. - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_dma_set_char_size(struct _spi_m_dma_dev *dev, const enum spi_char_size char_size); - -/** - * \brief Set SPI data order - * \param[in] dev Pointer to the SPI device instance. - * \param[in] dord SPI data order (LSB/MSB first). - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_dma_set_data_order(struct _spi_m_dma_dev *dev, const enum spi_data_order dord); - -/** - * \brief Register the SPI device callback - * \param[in] dev Pointer to the SPI device instance. - * \param[in] cb_type The callback type. - * \param[in] func The callback function to register. NULL to disable callback. - * \return Always 0. - */ -void _spi_m_dma_register_callback(struct _spi_m_dma_dev *dev, enum _spi_dma_dev_cb_type, _spi_dma_cb_t func); - -/** \brief Do SPI data transfer (TX & RX) with DMA - * Log the TX & RX buffers and transfer them in background. It never blocks. - * - * \param[in] dev Pointer to the SPI device instance. - * \param[in] txbuf Pointer to the transfer information (\ref spi_transfer). - * \param[out] rxbuf Pointer to the receiver information (\ref spi_receive). - * \param[in] length spi transfer data length. - * - * \return Operation status. - * \retval ERR_NONE Success. - * \retval ERR_BUSY Busy. - */ -int32_t _spi_m_dma_transfer(struct _spi_m_dma_dev *dev, uint8_t const *txbuf, uint8_t *const rxbuf, - const uint16_t length); -//@} - -#ifdef __cplusplus -} -#endif - -/**@}*/ -#endif /* ifndef _HPL_SPI_M_DMA_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_sync.h b/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_sync.h deleted file mode 100644 index 38df15b..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_m_sync.h +++ /dev/null @@ -1,166 +0,0 @@ -/** - * \file - * - * \brief SPI related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SPI_M_SYNC_H_INCLUDED -#define _HPL_SPI_M_SYNC_H_INCLUDED - -#include -#include - -/** - * \addtogroup hpl_spi HPL SPI - * - *@{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** Uses common SPI sync device driver. */ -#define _spi_m_sync_dev _spi_sync_dev - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initialize SPI for access without interrupts - * It will load default hardware configuration and software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] hw Pointer to the hardware base. - * \return Operation status. - * \retval ERR_INVALID_ARG Input parameter problem. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval ERR_DENIED SPI has been enabled. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_sync_init(struct _spi_m_sync_dev *dev, void *const hw); - -/** - * \brief Deinitialize SPI - * Disable, reset the hardware and the software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_sync_deinit(struct _spi_m_sync_dev *dev); - -/** - * \brief Enable SPI for access without interrupts - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_sync_enable(struct _spi_m_sync_dev *dev); - -/** - * \brief Disable SPI for access without interrupts - * Disable SPI. Deactivate all CS pins if works as master. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_sync_disable(struct _spi_m_sync_dev *dev); - -/** - * \brief Set SPI transfer mode - * Set SPI transfer mode (\ref spi_transfer_mode), - * which controls clock polarity and clock phase. - * Mode 0: leading edge is rising edge, data sample on leading edge. - * Mode 1: leading edge is rising edge, data sample on trailing edge. - * Mode 2: leading edge is falling edge, data sample on leading edge. - * Mode 3: leading edge is falling edge, data sample on trailing edge. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] mode The SPI transfer mode. - * \return Operation status. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_sync_set_mode(struct _spi_m_sync_dev *dev, const enum spi_transfer_mode mode); - -/** - * \brief Set SPI baudrate - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] baud_val The SPI baudrate value, see \ref _spi_calc_baud_val() on - * how it's generated. - * \return Operation status. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_sync_set_baudrate(struct _spi_m_sync_dev *dev, const uint32_t baud_val); - -/** - * \brief Set SPI char size - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] char_size The character size, see \ref spi_char_size. - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_sync_set_char_size(struct _spi_m_sync_dev *dev, const enum spi_char_size char_size); - -/** - * \brief Set SPI data order - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] dord SPI data order (LSB/MSB first). - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_m_sync_set_data_order(struct _spi_m_sync_dev *dev, const enum spi_data_order dord); - -/** - * \brief Transfer the whole message without interrupt - * Transfer the message, it will keep waiting until the message finish or - * error. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] msg Pointer to the message instance to process. - * \return Error or number of characters transferred. - * \retval ERR_BUSY SPI hardware is not ready to start transfer (not - * enabled, busy applying settings, ...). - * \retval SPI_ERR_OVERFLOW Overflow error. - * \retval >=0 Number of characters transferred. - */ -int32_t _spi_m_sync_trans(struct _spi_m_sync_dev *dev, const struct spi_msg *msg); -//@} - -#ifdef __cplusplus -} -#endif - -/**@}*/ -#endif /* ifndef _HPL_SPI_M_SYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_s_async.h b/software/firmware/oracle_same54n19a/hal/include/hpl_spi_s_async.h deleted file mode 100644 index 5647243..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_s_async.h +++ /dev/null @@ -1,232 +0,0 @@ -/** - * \file - * - * \brief SPI Slave Async related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SPI_S_ASYNC_H_INCLUDED -#define _HPL_SPI_S_ASYNC_H_INCLUDED - -#include - -/** - * \addtogroup hpl_spi HPL SPI - * - * - *@{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** Uses common SPI async device driver. */ -#define _spi_s_async_dev _spi_async_dev - -#define _spi_s_async_dev_cb_type _spi_async_dev_cb_type - -/** Uses common SPI async device driver complete callback type. */ -#define _spi_m_async_dev_cb_error_t _spi_async_dev_cb_error_t - -/** Uses common SPI async device driver transfer callback type. */ -#define _spi_s_async_dev_cb_xfer_t _spi_async_dev_cb_xfer_t - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initialize SPI for access with interrupts - * It will load default hardware configuration and software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] hw Pointer to the hardware base. - * \return Operation status. - * \retval ERR_INVALID_ARG Input parameter problem. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval ERR_DENIED SPI has been enabled. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_async_init(struct _spi_s_async_dev *dev, void *const hw); - -/** - * \brief Initialize SPI for access with interrupts - * Disable, reset the hardware and the software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_async_deinit(struct _spi_s_async_dev *dev); - -/** - * \brief Enable SPI for access with interrupts - * Enable the SPI and enable callback generation of receive and error - * interrupts. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval ERR_INVALID_ARG Input parameter problem. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_async_enable(struct _spi_s_async_dev *dev); - -/** - * \brief Disable SPI for access without interrupts - * Disable SPI and interrupts. Deactivate all CS pins if works as master. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_async_disable(struct _spi_s_async_dev *dev); - -/** - * \brief Set SPI transfer mode - * Set SPI transfer mode (\ref spi_transfer_mode), - * which controls clock polarity and clock phase. - * Mode 0: leading edge is rising edge, data sample on leading edge. - * Mode 1: leading edge is rising edge, data sample on trailing edge. - * Mode 2: leading edge is falling edge, data sample on leading edge. - * Mode 3: leading edge is falling edge, data sample on trailing edge. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] mode The SPI transfer mode. - * \return Operation status. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_async_set_mode(struct _spi_s_async_dev *dev, const enum spi_transfer_mode mode); - -/** - * \brief Set SPI baudrate - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] char_size The character size, see \ref spi_char_size. - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_async_set_char_size(struct _spi_s_async_dev *dev, const enum spi_char_size char_size); - -/** - * \brief Set SPI data order - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] dord SPI data order (LSB/MSB first). - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_async_set_data_order(struct _spi_s_async_dev *dev, const enum spi_data_order dord); - -/** - * \brief Enable interrupt on character output - * - * Enable interrupt when a new character can be written - * to the SPI device. - * - * \param[in] dev Pointer to the SPI device instance - * \param[in] state true = enable output interrupt - * false = disable output interrupt - * - * \return Status code - * \retval 0 Ok status - */ -int32_t _spi_s_async_enable_tx(struct _spi_s_async_dev *dev, bool state); - -/** - * \brief Enable interrupt on character input - * - * Enable interrupt when a new character is ready to be - * read from the SPI device. - * - * \param[in] dev Pointer to the SPI device instance - * \param[in] state true = enable input interrupts - * false = disable input interrupt - * - * \return Status code - * \retvat 0 OK Status - */ -int32_t _spi_s_async_enable_rx(struct _spi_s_async_dev *dev, bool state); - -/** - * \brief Enable interrupt on Slave Select (SS) rising - * - * \param[in] dev Pointer to the SPI device instance - * \param[in] state true = enable input interrupts - * false = disable input interrupt - * - * \return Status code - * \retvat 0 OK Status - */ -int32_t _spi_s_async_enable_ss_detect(struct _spi_s_async_dev *dev, bool state); - -/** - * \brief Read one character to SPI device instance - * \param[in, out] dev Pointer to the SPI device instance. - * - * \return Character read from SPI module - */ -uint16_t _spi_s_async_read_one(struct _spi_s_async_dev *dev); - -/** - * \brief Write one character to assigned buffer - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] data - * - * \return Status code of write operation - * \retval 0 Write operation OK - */ -int32_t _spi_s_async_write_one(struct _spi_s_async_dev *dev, uint16_t data); - -/** - * \brief Register the SPI device callback - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] cb_type The callback type. - * \param[in] func The callback function to register. NULL to disable callback. - * \return Always 0. - */ -int32_t _spi_s_async_register_callback(struct _spi_s_async_dev *dev, const enum _spi_s_async_dev_cb_type cb_type, - const FUNC_PTR func); - -/** - * \brief Enable/disable SPI slave interrupt - * - * param[in] device The pointer to SPI slave device instance - * param[in] type The type of interrupt to disable/enable if applicable - * param[in] state Enable or disable - */ -void _spi_s_async_set_irq_state(struct _spi_s_async_dev *const device, const enum _spi_async_dev_cb_type type, - const bool state); -//@} - -#ifdef __cplusplus -} -#endif - -/**@}*/ -#endif /* ifndef _HPL_SPI_S_ASYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_s_sync.h b/software/firmware/oracle_same54n19a/hal/include/hpl_spi_s_sync.h deleted file mode 100644 index ff4c811..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_s_sync.h +++ /dev/null @@ -1,232 +0,0 @@ -/** - * \file - * - * \brief SPI related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SPI_S_SYNC_H_INCLUDED -#define _HPL_SPI_S_SYNC_H_INCLUDED - -#include - -/** - * \addtogroup hpl_spi HPL SPI - * - *@{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** Uses common SPI sync device driver. */ -#define _spi_s_sync_dev _spi_sync_dev - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initialize SPI for access without interrupts - * It will load default hardware configuration and software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] hw Pointer to the hardware base. - * \return Operation status. - * \retval ERR_INVALID_ARG Input parameter problem. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval ERR_DENIED SPI has been enabled. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_sync_init(struct _spi_s_sync_dev *dev, void *const hw); - -/** - * \brief Initialize SPI for access with interrupts - * Disable, reset the hardware and the software struct. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_sync_deinit(struct _spi_s_sync_dev *dev); - -/** - * \brief Enable SPI for access without interrupts - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval ERR_BUSY SPI hardware not ready (resetting). - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_sync_enable(struct _spi_s_sync_dev *dev); - -/** - * \brief Disable SPI for access without interrupts - * Disable SPI. Deactivate all CS pins if works as master. - * \param[in, out] dev Pointer to the SPI device instance. - * \return Operation status. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_sync_disable(struct _spi_s_sync_dev *dev); - -/** - * \brief Set SPI transfer mode - * Set SPI transfer mode (\ref spi_transfer_mode), - * which controls clock polarity and clock phase. - * Mode 0: leading edge is rising edge, data sample on leading edge. - * Mode 1: leading edge is rising edge, data sample on trailing edge. - * Mode 2: leading edge is falling edge, data sample on leading edge. - * Mode 3: leading edge is falling edge, data sample on trailing edge. - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] mode The SPI transfer mode. - * \return Operation status. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_sync_set_mode(struct _spi_s_sync_dev *dev, const enum spi_transfer_mode mode); - -/** - * \brief Set SPI baudrate - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] char_size The character size, see \ref spi_char_size. - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_sync_set_char_size(struct _spi_s_sync_dev *dev, const enum spi_char_size char_size); - -/** - * \brief Set SPI data order - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] dord SPI data order (LSB/MSB first). - * \return Operation status. - * \retval ERR_INVALID_ARG The character size is not supported. - * \retval ERR_BUSY SPI is not ready to accept new setting. - * \retval 0 Operation done successfully. - */ -int32_t _spi_s_sync_set_data_order(struct _spi_s_sync_dev *dev, const enum spi_data_order dord); - -/** - * \brief Enable interrupt on character output - * - * Enable interrupt when a new character can be written - * to the SPI device. - * - * \param[in] dev Pointer to the SPI device instance - * \param[in] state true = enable output interrupt - * false = disable output interrupt - * - * \return Status code - * \retval 0 Ok status - */ -int32_t _spi_s_sync_enable_tx(struct _spi_s_sync_dev *dev, bool state); - -/** - * \brief Enable interrupt on character input - * - * Enable interrupt when a new character is ready to be - * read from the SPI device. - * - * \param[in] dev Pointer to the SPI device instance - * \param[in] state true = enable input interrupts - * false = disable input interrupt - * - * \return Status code - * \retval 0 OK Status - */ -int32_t _spi_s_sync_enable_rx(struct _spi_s_sync_dev *dev, bool state); - -/** - * \brief Read one character to SPI device instance - * \param[in, out] dev Pointer to the SPI device instance. - * - * \return Character read from SPI module - */ -uint16_t _spi_s_sync_read_one(struct _spi_s_sync_dev *dev); - -/** - * \brief Write one character to assigned buffer - * \param[in, out] dev Pointer to the SPI device instance. - * \param[in] data - * - * \return Status code of write operation - * \retval 0 Write operation OK - */ -int32_t _spi_s_sync_write_one(struct _spi_s_sync_dev *dev, uint16_t data); - -/** - * \brief Check if TX ready - * - * \param[in] dev Pointer to the SPI device instance - * - * \return TX ready state - * \retval true TX ready - * \retval false TX not ready - */ -bool _spi_s_sync_is_tx_ready(struct _spi_s_sync_dev *dev); - -/** - * \brief Check if RX character ready - * - * \param[in] dev Pointer to the SPI device instance - * - * \return RX character ready state - * \retval true RX character ready - * \retval false RX character not ready - */ -bool _spi_s_sync_is_rx_ready(struct _spi_s_sync_dev *dev); - -/** - * \brief Check if SS deactiviation detected - * - * \param[in] dev Pointer to the SPI device instance - * - * \return SS deactiviation state - * \retval true SS deactiviation detected - * \retval false SS deactiviation not detected - */ -bool _spi_s_sync_is_ss_deactivated(struct _spi_s_sync_dev *dev); - -/** - * \brief Check if error is detected - * - * \param[in] dev Pointer to the SPI device instance - * - * \return Error detection state - * \retval true Error detected - * \retval false Error not detected - */ -bool _spi_s_sync_is_error(struct _spi_s_sync_dev *dev); -//@} - -#ifdef __cplusplus -} -#endif - -/**@}*/ -#endif /* ifndef _HPL_SPI_S_SYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_sync.h b/software/firmware/oracle_same54n19a/hal/include/hpl_spi_sync.h deleted file mode 100644 index dc88648..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_spi_sync.h +++ /dev/null @@ -1,70 +0,0 @@ -/** - * \file - * - * \brief Common SPI related functionality declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SPI_SYNC_H_INCLUDED -#define _HPL_SPI_SYNC_H_INCLUDED - -#include -#include - -#include - -/** - * \addtogroup hpl_spi HPL SPI - * - * \section hpl_spi_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** SPI driver to support sync HAL */ -struct _spi_sync_dev { - /** Pointer to the hardware base or private data for special device. */ - void *prvt; - /** Data size, number of bytes for each character */ - uint8_t char_size; - /** Dummy byte used in master mode when reading the slave */ - uint16_t dummy_byte; -}; - -#ifdef __cplusplus -} -#endif - -/**@}*/ -#endif /* ifndef _HPL_SPI_SYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_timer.h b/software/firmware/oracle_same54n19a/hal/include/hpl_timer.h deleted file mode 100644 index 9bdfbb7..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_timer.h +++ /dev/null @@ -1,160 +0,0 @@ -/** - * \file - * - * \brief Timer related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_TIMER_H_INCLUDED -#define _HPL_TIMER_H_INCLUDED - -/** - * \addtogroup HPL Timer - * - * \section hpl_timer_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief Timer device structure - * - * The Timer device structure forward declaration. - */ -struct _timer_device; - -/** - * \brief Timer interrupt callbacks - */ -struct _timer_callbacks { - void (*period_expired)(struct _timer_device *device); -}; - -/** - * \brief Timer device structure - */ -struct _timer_device { - struct _timer_callbacks timer_cb; - struct _irq_descriptor irq; - void * hw; -}; - -/** - * \brief Timer functions, pointers to low-level functions - */ -struct _timer_hpl_interface { - int32_t (*init)(struct _timer_device *const device, void *const hw); - void (*deinit)(struct _timer_device *const device); - void (*start_timer)(struct _timer_device *const device); - void (*stop_timer)(struct _timer_device *const device); - void (*set_timer_period)(struct _timer_device *const device, const uint32_t clock_cycles); - uint32_t (*get_period)(const struct _timer_device *const device); - bool (*is_timer_started)(const struct _timer_device *const device); - void (*set_timer_irq)(struct _timer_device *const device); -}; -/** - * \brief Initialize TCC - * - * This function does low level TCC configuration. - * - * \param[in] device The pointer to timer device instance - * \param[in] hw The pointer to hardware instance - * - * \return Initialization status. - */ -int32_t _timer_init(struct _timer_device *const device, void *const hw); - -/** - * \brief Deinitialize TCC - * - * \param[in] device The pointer to timer device instance - */ -void _timer_deinit(struct _timer_device *const device); - -/** - * \brief Start hardware timer - * - * \param[in] device The pointer to timer device instance - */ -void _timer_start(struct _timer_device *const device); - -/** - * \brief Stop hardware timer - * - * \param[in] device The pointer to timer device instance - */ -void _timer_stop(struct _timer_device *const device); - -/** - * \brief Set timer period - * - * \param[in] device The pointer to timer device instance - */ -void _timer_set_period(struct _timer_device *const device, const uint32_t clock_cycles); - -/** - * \brief Retrieve timer period - * - * \param[in] device The pointer to timer device instance - * - * \return Timer period - */ -uint32_t _timer_get_period(const struct _timer_device *const device); - -/** - * \brief Check if timer is running - * - * \param[in] device The pointer to timer device instance - * - * \return Check status. - * \retval true The given timer is running - * \retval false The given timer is not running - */ -bool _timer_is_started(const struct _timer_device *const device); - -/** - * \brief Set timer IRQ - * - * \param[in] device The pointer to timer device instance - */ -void _timer_set_irq(struct _timer_device *const device); - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_TIMER_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_usart.h b/software/firmware/oracle_same54n19a/hal/include/hpl_usart.h deleted file mode 100644 index 0e09501..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_usart.h +++ /dev/null @@ -1,113 +0,0 @@ -/** - * \file - * - * \brief USART related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_USART_H_INCLUDED -#define _HPL_USART_H_INCLUDED - -/** - * \addtogroup HPL USART SYNC - * - * \section hpl_usart_sync_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief USART flow control state - */ -union usart_flow_control_state { - struct { - uint8_t cts : 1; - uint8_t rts : 1; - uint8_t unavailable : 1; - uint8_t reserved : 5; - } bit; - uint8_t value; -}; - -/** - * \brief USART baud rate mode - */ -enum usart_baud_rate_mode { USART_BAUDRATE_ASYNCH_ARITHMETIC, USART_BAUDRATE_ASYNCH_FRACTIONAL, USART_BAUDRATE_SYNCH }; - -/** - * \brief USART data order - */ -enum usart_data_order { USART_DATA_ORDER_MSB = 0, USART_DATA_ORDER_LSB = 1 }; - -/** - * \brief USART mode - */ -enum usart_mode { USART_MODE_ASYNCHRONOUS = 0, USART_MODE_SYNCHRONOUS = 1 }; - -/** - * \brief USART parity - */ -enum usart_parity { - USART_PARITY_EVEN = 0, - USART_PARITY_ODD = 1, - USART_PARITY_NONE = 2, - USART_PARITY_SPACE = 3, - USART_PARITY_MARK = 4 -}; - -/** - * \brief USART stop bits mode - */ -enum usart_stop_bits { USART_STOP_BITS_ONE = 0, USART_STOP_BITS_TWO = 1, USART_STOP_BITS_ONE_P_FIVE = 2 }; - -/** - * \brief USART character size - */ -enum usart_character_size { - USART_CHARACTER_SIZE_8BITS = 0, - USART_CHARACTER_SIZE_9BITS = 1, - USART_CHARACTER_SIZE_5BITS = 5, - USART_CHARACTER_SIZE_6BITS = 6, - USART_CHARACTER_SIZE_7BITS = 7 -}; - -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_USART_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_usart_async.h b/software/firmware/oracle_same54n19a/hal/include/hpl_usart_async.h deleted file mode 100644 index 3f833d1..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_usart_async.h +++ /dev/null @@ -1,270 +0,0 @@ -/** - * \file - * - * \brief USART related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_USART_ASYNC_H_INCLUDED -#define _HPL_USART_ASYNC_H_INCLUDED - -/** - * \addtogroup HPL USART - * - * \section hpl_usart_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include "hpl_usart.h" -#include "hpl_irq.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief USART callback types - */ -enum _usart_async_callback_type { USART_ASYNC_BYTE_SENT, USART_ASYNC_RX_DONE, USART_ASYNC_TX_DONE, USART_ASYNC_ERROR }; - -/** - * \brief USART device structure - * - * The USART device structure forward declaration. - */ -struct _usart_async_device; - -/** - * \brief USART interrupt callbacks - */ -struct _usart_async_callbacks { - void (*tx_byte_sent)(struct _usart_async_device *device); - void (*rx_done_cb)(struct _usart_async_device *device, uint8_t data); - void (*tx_done_cb)(struct _usart_async_device *device); - void (*error_cb)(struct _usart_async_device *device); -}; - -/** - * \brief USART descriptor device structure - */ -struct _usart_async_device { - struct _usart_async_callbacks usart_cb; - struct _irq_descriptor irq; - void * hw; -}; -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initialize asynchronous USART - * - * This function does low level USART configuration. - * - * \param[in] device The pointer to USART device instance - * \param[in] hw The pointer to hardware instance - * - * \return Initialization status - */ -int32_t _usart_async_init(struct _usart_async_device *const device, void *const hw); - -/** - * \brief Deinitialize USART - * - * This function closes the given USART by disabling its clock. - * - * \param[in] device The pointer to USART device instance - */ -void _usart_async_deinit(struct _usart_async_device *const device); - -/** - * \brief Enable usart module - * - * This function will enable the usart module - * - * \param[in] device The pointer to USART device instance - */ -void _usart_async_enable(struct _usart_async_device *const device); - -/** - * \brief Disable usart module - * - * This function will disable the usart module - * - * \param[in] device The pointer to USART device instance - */ -void _usart_async_disable(struct _usart_async_device *const device); - -/** - * \brief Calculate baud rate register value - * - * \param[in] baud Required baud rate - * \param[in] clock_rate clock frequency - * \param[in] samples The number of samples - * \param[in] mode USART mode - * \param[in] fraction A fraction value - * - * \return Calculated baud rate register value - */ -uint16_t _usart_async_calculate_baud_rate(const uint32_t baud, const uint32_t clock_rate, const uint8_t samples, - const enum usart_baud_rate_mode mode, const uint8_t fraction); - -/** - * \brief Set baud rate - * - * \param[in] device The pointer to USART device instance - * \param[in] baud_rate A baud rate to set - */ -void _usart_async_set_baud_rate(struct _usart_async_device *const device, const uint32_t baud_rate); - -/** - * \brief Set data order - * - * \param[in] device The pointer to USART device instance - * \param[in] order A data order to set - */ -void _usart_async_set_data_order(struct _usart_async_device *const device, const enum usart_data_order order); - -/** - * \brief Set mode - * - * \param[in] device The pointer to USART device instance - * \param[in] mode A mode to set - */ -void _usart_async_set_mode(struct _usart_async_device *const device, const enum usart_mode mode); - -/** - * \brief Set parity - * - * \param[in] device The pointer to USART device instance - * \param[in] parity A parity to set - */ -void _usart_async_set_parity(struct _usart_async_device *const device, const enum usart_parity parity); - -/** - * \brief Set stop bits mode - * - * \param[in] device The pointer to USART device instance - * \param[in] stop_bits A stop bits mode to set - */ -void _usart_async_set_stop_bits(struct _usart_async_device *const device, const enum usart_stop_bits stop_bits); - -/** - * \brief Set character size - * - * \param[in] device The pointer to USART device instance - * \param[in] size A character size to set - */ -void _usart_async_set_character_size(struct _usart_async_device *const device, const enum usart_character_size size); - -/** - * \brief Retrieve usart status - * - * \param[in] device The pointer to USART device instance - */ -uint32_t _usart_async_get_status(const struct _usart_async_device *const device); - -/** - * \brief Write a byte to the given USART instance - * - * \param[in] device The pointer to USART device instance - * \param[in] data Data to write - */ -void _usart_async_write_byte(struct _usart_async_device *const device, uint8_t data); - -/** - * \brief Check if USART is ready to send next byte - * - * \param[in] device The pointer to USART device instance - * - * \return Status of the ready check. - * \retval true if the USART is ready to send next byte - * \retval false if the USART is not ready to send next byte - */ -bool _usart_async_is_byte_sent(const struct _usart_async_device *const device); - -/** - * \brief Set the state of flow control pins - * - * \param[in] device The pointer to USART device instance - * \param[in] state - A state of flow control pins to set - */ -void _usart_async_set_flow_control_state(struct _usart_async_device *const device, - const union usart_flow_control_state state); - -/** - * \brief Retrieve the state of flow control pins - * - * This function retrieves the of flow control pins. - * - * \return USART_FLOW_CONTROL_STATE_UNAVAILABLE. - */ -union usart_flow_control_state _usart_async_get_flow_control_state(const struct _usart_async_device *const device); - -/** - * \brief Enable data register empty interrupt - * - * \param[in] device The pointer to USART device instance - */ -void _usart_async_enable_byte_sent_irq(struct _usart_async_device *const device); - -/** - * \brief Enable transmission complete interrupt - * - * \param[in] device The pointer to USART device instance - */ -void _usart_async_enable_tx_done_irq(struct _usart_async_device *const device); - -/** - * \brief Retrieve ordinal number of the given USART hardware instance - * - * \param[in] device The pointer to USART device instance - * - * \return The ordinal number of the given USART hardware instance - */ -uint8_t _usart_async_get_hardware_index(const struct _usart_async_device *const device); - -/** - * \brief Enable/disable USART interrupt - * - * param[in] device The pointer to USART device instance - * param[in] type The type of interrupt to disable/enable if applicable - * param[in] state Enable or disable - */ -void _usart_async_set_irq_state(struct _usart_async_device *const device, const enum _usart_async_callback_type type, - const bool state); -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_USART_ASYNC_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/include/hpl_usart_sync.h b/software/firmware/oracle_same54n19a/hal/include/hpl_usart_sync.h deleted file mode 100644 index abc7264..0000000 --- a/software/firmware/oracle_same54n19a/hal/include/hpl_usart_sync.h +++ /dev/null @@ -1,254 +0,0 @@ -/** - * \file - * - * \brief USART related functionality declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_SYNC_USART_H_INCLUDED -#define _HPL_SYNC_USART_H_INCLUDED - -/** - * \addtogroup HPL USART SYNC - * - * \section hpl_usart_sync_rev Revision History - * - v1.0.0 Initial Release - * - *@{ - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief USART descriptor device structure - */ -struct _usart_sync_device { - void *hw; -}; - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Initialize synchronous USART - * - * This function does low level USART configuration. - * - * \param[in] device The pointer to USART device instance - * \param[in] hw The pointer to hardware instance - * - * \return Initialization status - */ -int32_t _usart_sync_init(struct _usart_sync_device *const device, void *const hw); - -/** - * \brief Deinitialize USART - * - * This function closes the given USART by disabling its clock. - * - * \param[in] device The pointer to USART device instance - */ -void _usart_sync_deinit(struct _usart_sync_device *const device); - -/** - * \brief Enable usart module - * - * This function will enable the usart module - * - * \param[in] device The pointer to USART device instance - */ -void _usart_sync_enable(struct _usart_sync_device *const device); - -/** - * \brief Disable usart module - * - * This function will disable the usart module - * - * \param[in] device The pointer to USART device instance - */ -void _usart_sync_disable(struct _usart_sync_device *const device); - -/** - * \brief Calculate baud rate register value - * - * \param[in] baud Required baud rate - * \param[in] clock_rate clock frequency - * \param[in] samples The number of samples - * \param[in] mode USART mode - * \param[in] fraction A fraction value - * - * \return Calculated baud rate register value - */ -uint16_t _usart_sync_calculate_baud_rate(const uint32_t baud, const uint32_t clock_rate, const uint8_t samples, - const enum usart_baud_rate_mode mode, const uint8_t fraction); - -/** - * \brief Set baud rate - * - * \param[in] device The pointer to USART device instance - * \param[in] baud_rate A baud rate to set - */ -void _usart_sync_set_baud_rate(struct _usart_sync_device *const device, const uint32_t baud_rate); - -/** - * \brief Set data order - * - * \param[in] device The pointer to USART device instance - * \param[in] order A data order to set - */ -void _usart_sync_set_data_order(struct _usart_sync_device *const device, const enum usart_data_order order); - -/** - * \brief Set mode - * - * \param[in] device The pointer to USART device instance - * \param[in] mode A mode to set - */ -void _usart_sync_set_mode(struct _usart_sync_device *const device, const enum usart_mode mode); - -/** - * \brief Set parity - * - * \param[in] device The pointer to USART device instance - * \param[in] parity A parity to set - */ -void _usart_sync_set_parity(struct _usart_sync_device *const device, const enum usart_parity parity); - -/** - * \brief Set stop bits mode - * - * \param[in] device The pointer to USART device instance - * \param[in] stop_bits A stop bits mode to set - */ -void _usart_sync_set_stop_bits(struct _usart_sync_device *const device, const enum usart_stop_bits stop_bits); - -/** - * \brief Set character size - * - * \param[in] device The pointer to USART device instance - * \param[in] size A character size to set - */ -void _usart_sync_set_character_size(struct _usart_sync_device *const device, const enum usart_character_size size); - -/** - * \brief Retrieve usart status - * - * \param[in] device The pointer to USART device instance - */ -uint32_t _usart_sync_get_status(const struct _usart_sync_device *const device); - -/** - * \brief Write a byte to the given USART instance - * - * \param[in] device The pointer to USART device instance - * \param[in] data Data to write - */ -void _usart_sync_write_byte(struct _usart_sync_device *const device, uint8_t data); - -/** - * \brief Read a byte from the given USART instance - * - * \param[in] device The pointer to USART device instance - * \param[in] data Data to write - * - * \return Data received via USART interface. - */ -uint8_t _usart_sync_read_byte(const struct _usart_sync_device *const device); - -/** - * \brief Check if USART is ready to send next byte - * - * \param[in] device The pointer to USART device instance - * - * \return Status of the ready check. - * \retval true if the USART is ready to send next byte - * \retval false if the USART is not ready to send next byte - */ -bool _usart_sync_is_ready_to_send(const struct _usart_sync_device *const device); - -/** - * \brief Check if USART transmitter has sent the byte - * - * \param[in] device The pointer to USART device instance - * - * \return Status of the ready check. - * \retval true if the USART transmitter has sent the byte - * \retval false if the USART transmitter has not send the byte - */ -bool _usart_sync_is_transmit_done(const struct _usart_sync_device *const device); - -/** - * \brief Check if there is data received by USART - * - * \param[in] device The pointer to USART device instance - * - * \return Status of the data received check. - * \retval true if the USART has received a byte - * \retval false if the USART has not received a byte - */ -bool _usart_sync_is_byte_received(const struct _usart_sync_device *const device); - -/** - * \brief Set the state of flow control pins - * - * \param[in] device The pointer to USART device instance - * \param[in] state - A state of flow control pins to set - */ -void _usart_sync_set_flow_control_state(struct _usart_sync_device *const device, - const union usart_flow_control_state state); - -/** - * \brief Retrieve the state of flow control pins - * - * This function retrieves the of flow control pins. - * - * \return USART_FLOW_CONTROL_STATE_UNAVAILABLE. - */ -union usart_flow_control_state _usart_sync_get_flow_control_state(const struct _usart_sync_device *const device); - -/** - * \brief Retrieve ordinal number of the given USART hardware instance - * - * \param[in] device The pointer to USART device instance - * - * \return The ordinal number of the given USART hardware instance - */ -uint8_t _usart_sync_get_hardware_index(const struct _usart_sync_device *const device); -//@} - -#ifdef __cplusplus -} -#endif -/**@}*/ -#endif /* _HPL_SYNC_USART_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_atomic.c b/software/firmware/oracle_same54n19a/hal/src/hal_atomic.c deleted file mode 100644 index f56418e..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_atomic.c +++ /dev/null @@ -1,66 +0,0 @@ -/** - * \file - * - * \brief Critical sections related functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include "hal_atomic.h" - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -/** - * \brief Disable interrupts, enter critical section - */ -void atomic_enter_critical(hal_atomic_t volatile *atomic) -{ - *atomic = __get_PRIMASK(); - __disable_irq(); - __DMB(); -} - -/** - * \brief Exit atomic section - */ -void atomic_leave_critical(hal_atomic_t volatile *atomic) -{ - __DMB(); - __set_PRIMASK(*atomic); -} - -/** - * \brief Retrieve the current driver version - */ -uint32_t atomic_get_version(void) -{ - return DRIVER_VERSION; -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_cache.c b/software/firmware/oracle_same54n19a/hal/src/hal_cache.c deleted file mode 100644 index b2e75aa..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_cache.c +++ /dev/null @@ -1,78 +0,0 @@ -/** - * \file - * - * \brief HAL cache functionality implementation. - * - * Copyright (c)2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit Microchip Support - */ - -#include -#include - -/** - * \brief Initialize cache module - */ -int32_t cache_init(void) -{ - return _cmcc_init(); -} - -/** - * \brief Enable cache module - */ -int32_t cache_enable(const void *hw) -{ - return _cmcc_enable(hw); -} - -/** - * \brief Disable cache module - */ -int32_t cache_disable(const void *hw) -{ - return _cmcc_disable(hw); -} - -/** - * \brief Configure cache module - */ -int32_t cache_configure(const void *hw, struct _cache_cfg *cache) -{ - return _cmcc_configure(hw, cache); -} - -/** - * \brief Invalidate entire cache entries - */ -int32_t cache_invalidate_all(const void *hw) -{ - return _cmcc_invalidate_all(hw); -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_delay.c b/software/firmware/oracle_same54n19a/hal/src/hal_delay.c deleted file mode 100644 index 6f77cc7..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_delay.c +++ /dev/null @@ -1,80 +0,0 @@ -/** - * \file - * - * \brief HAL delay related functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include -#include "hal_delay.h" -#include - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -/** - * \brief The pointer to a hardware instance used by the driver. - */ -static void *hardware; - -/** - * \brief Initialize Delay driver - */ -void delay_init(void *const hw) -{ - _delay_init(hardware = hw); -} - -/** - * \brief Perform delay in us - */ -void delay_us(const uint16_t us) -{ - _delay_cycles(hardware, _get_cycles_for_us(us)); -} - -/** - * \brief Perform delay in ms - */ -void delay_ms(const uint16_t ms) -{ - _delay_cycles(hardware, _get_cycles_for_ms(ms)); -} - -/** - * \brief Retrieve the current driver version - */ -uint32_t delay_get_version(void) -{ - return DRIVER_VERSION; -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_ext_irq.c b/software/firmware/oracle_same54n19a/hal/src/hal_ext_irq.c deleted file mode 100644 index 2c1608c..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_ext_irq.c +++ /dev/null @@ -1,188 +0,0 @@ -/** - * \file - * - * \brief External interrupt functionality imkplementation. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include "hal_ext_irq.h" - -#define EXT_IRQ_AMOUNT 0 - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -/** - * \brief External IRQ struct - */ -struct ext_irq { - ext_irq_cb_t cb; - uint32_t pin; -}; - -/* Remove KEIL compiling error in case no IRQ line selected */ -#if EXT_IRQ_AMOUNT == 0 -#undef EXT_IRQ_AMOUNT -#define EXT_IRQ_AMOUNT 1 -#endif - -/** - * \brief Array of external IRQs callbacks - */ -static struct ext_irq ext_irqs[EXT_IRQ_AMOUNT]; - -static void process_ext_irq(const uint32_t pin); - -/** - * \brief Initialize external irq component if any - */ -int32_t ext_irq_init(void) -{ - uint16_t i; - - for (i = 0; i < EXT_IRQ_AMOUNT; i++) { - ext_irqs[i].pin = 0xFFFFFFFF; - ext_irqs[i].cb = NULL; - } - - return _ext_irq_init(process_ext_irq); -} - -/** - * \brief Deinitialize external irq if any - */ -int32_t ext_irq_deinit(void) -{ - return _ext_irq_deinit(); -} - -/** - * \brief Register callback for the given external interrupt - */ -int32_t ext_irq_register(const uint32_t pin, ext_irq_cb_t cb) -{ - uint8_t i = 0, j = 0; - bool found = false; - - for (; i < EXT_IRQ_AMOUNT; i++) { - if (ext_irqs[i].pin == pin) { - ext_irqs[i].cb = cb; - found = true; - break; - } - } - - if (NULL == cb) { - if (!found) { - return ERR_INVALID_ARG; - } - return _ext_irq_enable(pin, false); - } - - if (!found) { - for (i = 0; i < EXT_IRQ_AMOUNT; i++) { - if (NULL == ext_irqs[i].cb) { - ext_irqs[i].cb = cb; - ext_irqs[i].pin = pin; - found = true; - break; - } - } - for (; (j < EXT_IRQ_AMOUNT) && (i < EXT_IRQ_AMOUNT); j++) { - if ((ext_irqs[i].pin < ext_irqs[j].pin) && (ext_irqs[j].pin != 0xFFFFFFFF)) { - struct ext_irq tmp = ext_irqs[j]; - - ext_irqs[j] = ext_irqs[i]; - ext_irqs[i] = tmp; - } - } - } - - if (!found) { - return ERR_INVALID_ARG; - } - - return _ext_irq_enable(pin, true); -} - -/** - * \brief Enable external irq - */ -int32_t ext_irq_enable(const uint32_t pin) -{ - return _ext_irq_enable(pin, true); -} - -/** - * \brief Disable external irq - */ -int32_t ext_irq_disable(const uint32_t pin) -{ - return _ext_irq_enable(pin, false); -} - -/** - * \brief Retrieve the current driver version - */ -uint32_t ext_irq_get_version(void) -{ - return DRIVER_VERSION; -} - -/** - * \brief Interrupt processing routine - * - * \param[in] pin The pin which triggered the interrupt - */ -static void process_ext_irq(const uint32_t pin) -{ - uint8_t lower = 0, middle, upper = EXT_IRQ_AMOUNT; - - while (upper >= lower) { - middle = (upper + lower) >> 1; - if (middle >= EXT_IRQ_AMOUNT) { - return; - } - - if (ext_irqs[middle].pin == pin) { - if (ext_irqs[middle].cb) { - ext_irqs[middle].cb(); - } - return; - } - - if (ext_irqs[middle].pin < pin) { - lower = middle + 1; - } else { - upper = middle - 1; - } - } -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_gpio.c b/software/firmware/oracle_same54n19a/hal/src/hal_gpio.c deleted file mode 100644 index 00dfea6..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_gpio.c +++ /dev/null @@ -1,44 +0,0 @@ -/** - * \file - * - * \brief Port - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include "hal_gpio.h" - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -uint32_t gpio_get_version(void) -{ - return DRIVER_VERSION; -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_i2c_m_sync.c b/software/firmware/oracle_same54n19a/hal/src/hal_i2c_m_sync.c deleted file mode 100644 index 30821a2..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_i2c_m_sync.c +++ /dev/null @@ -1,258 +0,0 @@ -/** - * \file - * - * \brief I/O I2C related functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#include -#include -#include - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -/** - * \brief Sync version of I2C I/O read - */ -static int32_t i2c_m_sync_read(struct io_descriptor *io, uint8_t *buf, const uint16_t n) -{ - struct i2c_m_sync_desc *i2c = CONTAINER_OF(io, struct i2c_m_sync_desc, io); - struct _i2c_m_msg msg; - int32_t ret; - - msg.addr = i2c->slave_addr; - msg.len = n; - msg.flags = I2C_M_STOP | I2C_M_RD; - msg.buffer = buf; - - ret = _i2c_m_sync_transfer(&i2c->device, &msg); - - if (ret) { - return ret; - } - - return n; -} - -/** - * \brief Sync version of I2C I/O write - */ -static int32_t i2c_m_sync_write(struct io_descriptor *io, const uint8_t *buf, const uint16_t n) -{ - struct i2c_m_sync_desc *i2c = CONTAINER_OF(io, struct i2c_m_sync_desc, io); - struct _i2c_m_msg msg; - int32_t ret; - - msg.addr = i2c->slave_addr; - msg.len = n; - msg.flags = I2C_M_STOP; - msg.buffer = (uint8_t *)buf; - - ret = _i2c_m_sync_transfer(&i2c->device, &msg); - - if (ret) { - return ret; - } - - return n; -} - -/** - * \brief Sync version of i2c initialize - */ -int32_t i2c_m_sync_init(struct i2c_m_sync_desc *i2c, void *hw) -{ - int32_t init_status; - ASSERT(i2c); - - init_status = _i2c_m_sync_init(&i2c->device, hw); - if (init_status) { - return init_status; - } - - /* Init I/O */ - i2c->io.read = i2c_m_sync_read; - i2c->io.write = i2c_m_sync_write; - - return ERR_NONE; -} - -/** - * \brief deinitialize - */ -int32_t i2c_m_sync_deinit(struct i2c_m_sync_desc *i2c) -{ - int32_t status; - ASSERT(i2c); - - status = _i2c_m_sync_deinit(&i2c->device); - if (status) { - return status; - } - - i2c->io.read = NULL; - i2c->io.write = NULL; - - return ERR_NONE; -} - -/** - * \brief Sync version of i2c enable - */ -int32_t i2c_m_sync_enable(struct i2c_m_sync_desc *i2c) -{ - return _i2c_m_sync_enable(&i2c->device); -} - -/** - * \brief Sync version of i2c disable - */ -int32_t i2c_m_sync_disable(struct i2c_m_sync_desc *i2c) -{ - return _i2c_m_sync_disable(&i2c->device); -} - -/** - * \brief Sync version of i2c set slave address - */ -int32_t i2c_m_sync_set_slaveaddr(struct i2c_m_sync_desc *i2c, int16_t addr, int32_t addr_len) -{ - return i2c->slave_addr = (addr & 0x3ff) | (addr_len & I2C_M_TEN); -} - -/** - * \brief Sync version of i2c set baudrate - */ -int32_t i2c_m_sync_set_baudrate(struct i2c_m_sync_desc *i2c, uint32_t clkrate, uint32_t baudrate) -{ - return _i2c_m_sync_set_baudrate(&i2c->device, clkrate, baudrate); -} - -/** - * \brief Sync version of i2c write command - */ -int32_t i2c_m_sync_cmd_write(struct i2c_m_sync_desc *i2c, uint8_t reg, uint8_t *buffer, uint8_t length) -{ - struct _i2c_m_msg msg; - int32_t ret; - - msg.addr = i2c->slave_addr; - msg.len = 1; - msg.flags = 0; - msg.buffer = ® - - ret = _i2c_m_sync_transfer(&i2c->device, &msg); - - if (ret != 0) { - /* error occurred */ - return ret; - } - - msg.flags = I2C_M_STOP; - msg.buffer = buffer; - msg.len = length; - - ret = _i2c_m_sync_transfer(&i2c->device, &msg); - - if (ret != 0) { - /* error occurred */ - return ret; - } - - return ERR_NONE; -} - -/** - * \brief Sync version of i2c read command - */ -int32_t i2c_m_sync_cmd_read(struct i2c_m_sync_desc *i2c, uint8_t reg, uint8_t *buffer, uint8_t length) -{ - struct _i2c_m_msg msg; - int32_t ret; - - msg.addr = i2c->slave_addr; - msg.len = 1; - msg.flags = 0; - msg.buffer = ® - - ret = _i2c_m_sync_transfer(&i2c->device, &msg); - - if (ret != 0) { - /* error occurred */ - return ret; - } - - msg.flags = I2C_M_STOP | I2C_M_RD; - msg.buffer = buffer; - msg.len = length; - - ret = _i2c_m_sync_transfer(&i2c->device, &msg); - - if (ret != 0) { - /* error occurred */ - return ret; - } - - return ERR_NONE; -} - -/** - * \brief Sync version of i2c transfer command - */ -int32_t i2c_m_sync_transfer(struct i2c_m_sync_desc *const i2c, struct _i2c_m_msg *msg) -{ - return _i2c_m_sync_transfer(&i2c->device, msg); -} - -/** - * \brief Sync version of i2c send stop condition command - */ -int32_t i2c_m_sync_send_stop(struct i2c_m_sync_desc *const i2c) -{ - return _i2c_m_sync_send_stop(&i2c->device); -} - -/** - * \brief Retrieve I/O descriptor - */ -int32_t i2c_m_sync_get_io_descriptor(struct i2c_m_sync_desc *const i2c, struct io_descriptor **io) -{ - *io = &i2c->io; - return ERR_NONE; -} - -/** - * \brief Retrieve the current driver version - */ -uint32_t i2c_m_sync_get_version(void) -{ - return DRIVER_VERSION; -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_init.c b/software/firmware/oracle_same54n19a/hal/src/hal_init.c deleted file mode 100644 index fb65341..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_init.c +++ /dev/null @@ -1,47 +0,0 @@ -/** - * \file - * - * \brief HAL initialization related functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include "hal_init.h" - -/** - * \brief Driver version - */ -#define HAL_INIT_VERSION 0x00000001u - -/** - * \brief Retrieve the current driver version - */ -uint32_t init_get_version(void) -{ - return HAL_INIT_VERSION; -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_io.c b/software/firmware/oracle_same54n19a/hal/src/hal_io.c deleted file mode 100644 index 7e8feb0..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_io.c +++ /dev/null @@ -1,63 +0,0 @@ -/** - * \file - * - * \brief I/O functionality implementation. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -uint32_t io_get_version(void) -{ - return DRIVER_VERSION; -} - -/** - * \brief I/O write interface - */ -int32_t io_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length) -{ - ASSERT(io_descr && buf); - return io_descr->write(io_descr, buf, length); -} - -/** - * \brief I/O read interface - */ -int32_t io_read(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length) -{ - ASSERT(io_descr && buf); - return io_descr->read(io_descr, buf, length); -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_sleep.c b/software/firmware/oracle_same54n19a/hal/src/hal_sleep.c deleted file mode 100644 index 89472f1..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_sleep.c +++ /dev/null @@ -1,73 +0,0 @@ -/** - * \file - * - * \brief Sleep related functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include "hal_sleep.h" -#include - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -/** - * \brief Set the sleep mode of the device and put the MCU to sleep - * - * For an overview of which systems are disabled in sleep for the different - * sleep modes, see the data sheet. - * - * \param[in] mode Sleep mode to use - * - * \return The status of a sleep request - * \retval -1 The requested sleep mode was invalid or not available - * \retval 0 The operation completed successfully, returned after leaving the - * sleep - */ -int sleep(const uint8_t mode) -{ - if (ERR_NONE != _set_sleep_mode(mode)) - return ERR_INVALID_ARG; - - _go_to_sleep(); - - return ERR_NONE; -} - -/** - * \brief Retrieve the current driver version - * - * \return Current driver version - */ -uint32_t sleep_get_version(void) -{ - return DRIVER_VERSION; -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_timer.c b/software/firmware/oracle_same54n19a/hal/src/hal_timer.c deleted file mode 100644 index 565c6db..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_timer.c +++ /dev/null @@ -1,250 +0,0 @@ -/** - * \file - * - * \brief Timer functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include "hal_timer.h" -#include -#include -#include -#include - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -/** - * \brief Timer flags - */ -#define TIMER_FLAG_QUEUE_IS_TAKEN 1 -#define TIMER_FLAG_INTERRUPT_TRIGERRED 2 - -static void timer_add_timer_task(struct list_descriptor *list, struct timer_task *const new_task, const uint32_t time); -static void timer_process_counted(struct _timer_device *device); - -/** - * \brief Initialize timer - */ -int32_t timer_init(struct timer_descriptor *const descr, void *const hw, struct _timer_hpl_interface *const func) -{ - ASSERT(descr && hw); - _timer_init(&descr->device, hw); - descr->time = 0; - descr->device.timer_cb.period_expired = timer_process_counted; - - return ERR_NONE; -} - -/** - * \brief Deinitialize timer - */ -int32_t timer_deinit(struct timer_descriptor *const descr) -{ - ASSERT(descr); - _timer_deinit(&descr->device); - - return ERR_NONE; -} - -/** - * \brief Start timer - */ -int32_t timer_start(struct timer_descriptor *const descr) -{ - ASSERT(descr); - if (_timer_is_started(&descr->device)) { - return ERR_DENIED; - } - _timer_start(&descr->device); - - return ERR_NONE; -} - -/** - * \brief Stop timer - */ -int32_t timer_stop(struct timer_descriptor *const descr) -{ - ASSERT(descr); - if (!_timer_is_started(&descr->device)) { - return ERR_DENIED; - } - _timer_stop(&descr->device); - - return ERR_NONE; -} - -/** - * \brief Set amount of clock cycler per timer tick - */ -int32_t timer_set_clock_cycles_per_tick(struct timer_descriptor *const descr, const uint32_t clock_cycles) -{ - ASSERT(descr); - _timer_set_period(&descr->device, clock_cycles); - - return ERR_NONE; -} - -/** - * \brief Add timer task - */ -int32_t timer_add_task(struct timer_descriptor *const descr, struct timer_task *const task) -{ - ASSERT(descr && task); - - descr->flags |= TIMER_FLAG_QUEUE_IS_TAKEN; - if (is_list_element(&descr->tasks, task)) { - descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN; - ASSERT(false); - return ERR_ALREADY_INITIALIZED; - } - task->time_label = descr->time; - timer_add_timer_task(&descr->tasks, task, descr->time); - - descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN; - if (descr->flags & TIMER_FLAG_INTERRUPT_TRIGERRED) { - CRITICAL_SECTION_ENTER() - descr->flags &= ~TIMER_FLAG_INTERRUPT_TRIGERRED; - _timer_set_irq(&descr->device); - CRITICAL_SECTION_LEAVE() - } - - return ERR_NONE; -} - -/** - * \brief Remove timer task - */ -int32_t timer_remove_task(struct timer_descriptor *const descr, const struct timer_task *const task) -{ - ASSERT(descr && task); - - descr->flags |= TIMER_FLAG_QUEUE_IS_TAKEN; - if (!is_list_element(&descr->tasks, task)) { - descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN; - ASSERT(false); - return ERR_NOT_FOUND; - } - list_delete_element(&descr->tasks, task); - - descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN; - if (descr->flags & TIMER_FLAG_INTERRUPT_TRIGERRED) { - CRITICAL_SECTION_ENTER() - descr->flags &= ~TIMER_FLAG_INTERRUPT_TRIGERRED; - _timer_set_irq(&descr->device); - CRITICAL_SECTION_LEAVE() - } - - return ERR_NONE; -} - -/** - * \brief Retrieve the amount of clock cycles in a tick - */ -int32_t timer_get_clock_cycles_in_tick(const struct timer_descriptor *const descr, uint32_t *const cycles) -{ - ASSERT(descr && cycles); - *cycles = _timer_get_period(&descr->device); - return ERR_NONE; -} - -/** - * \brief Retrieve the current driver version - */ -uint32_t timer_get_version(void) -{ - return DRIVER_VERSION; -} - -/** - * \internal Insert a timer task into sorted timer's list - * - * \param[in] head The pointer to the head of timer task list - * \param[in] task The pointer to task to add - * \param[in] time Current timer time - */ -static void timer_add_timer_task(struct list_descriptor *list, struct timer_task *const new_task, const uint32_t time) -{ - struct timer_task *it, *prev = NULL, *head = (struct timer_task *)list_get_head(list); - - if (!head) { - list_insert_as_head(list, new_task); - return; - } - - for (it = head; it; it = (struct timer_task *)list_get_next_element(it)) { - uint32_t time_left; - - if (it->time_label <= time) { - time_left = it->interval - (time - it->time_label); - } else { - time_left = it->interval - (0xFFFFFFFF - it->time_label) - time; - } - if (time_left >= new_task->interval) - break; - prev = it; - } - - if (it == head) { - list_insert_as_head(list, new_task); - } else { - list_insert_after(prev, new_task); - } -} - -/** - * \internal Process interrupts - */ -static void timer_process_counted(struct _timer_device *device) -{ - struct timer_descriptor *timer = CONTAINER_OF(device, struct timer_descriptor, device); - struct timer_task * it = (struct timer_task *)list_get_head(&timer->tasks); - uint32_t time = ++timer->time; - - if ((timer->flags & TIMER_FLAG_QUEUE_IS_TAKEN) || (timer->flags & TIMER_FLAG_INTERRUPT_TRIGERRED)) { - timer->flags |= TIMER_FLAG_INTERRUPT_TRIGERRED; - return; - } - - while (it && ((time - it->time_label) >= it->interval)) { - struct timer_task *tmp = it; - - list_remove_head(&timer->tasks); - if (TIMER_TASK_REPEAT == tmp->mode) { - tmp->time_label = time; - timer_add_timer_task(&timer->tasks, tmp, time); - } - it = (struct timer_task *)list_get_head(&timer->tasks); - - tmp->cb(tmp); - } -} diff --git a/software/firmware/oracle_same54n19a/hal/src/hal_usart_async.c b/software/firmware/oracle_same54n19a/hal/src/hal_usart_async.c deleted file mode 100644 index f07b266..0000000 --- a/software/firmware/oracle_same54n19a/hal/src/hal_usart_async.c +++ /dev/null @@ -1,420 +0,0 @@ -/** - * \file - * - * \brief I/O USART related functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include "hal_usart_async.h" -#include -#include -#include - -/** - * \brief Driver version - */ -#define DRIVER_VERSION 0x00000001u - -static int32_t usart_async_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length); -static int32_t usart_async_read(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length); -static void usart_process_byte_sent(struct _usart_async_device *device); -static void usart_transmission_complete(struct _usart_async_device *device); -static void usart_error(struct _usart_async_device *device); -static void usart_fill_rx_buffer(struct _usart_async_device *device, uint8_t data); - -/** - * \brief Initialize usart interface - */ -int32_t usart_async_init(struct usart_async_descriptor *const descr, void *const hw, uint8_t *rx_buffer, - uint16_t rx_buffer_length, void *const func) -{ - int32_t init_status; - ASSERT(descr && hw && rx_buffer && rx_buffer_length); - - if (ERR_NONE != ringbuffer_init(&descr->rx, rx_buffer, rx_buffer_length)) { - return ERR_INVALID_ARG; - } - init_status = _usart_async_init(&descr->device, hw); - if (init_status) { - return init_status; - } - - descr->io.read = usart_async_read; - descr->io.write = usart_async_write; - - descr->device.usart_cb.tx_byte_sent = usart_process_byte_sent; - descr->device.usart_cb.rx_done_cb = usart_fill_rx_buffer; - descr->device.usart_cb.tx_done_cb = usart_transmission_complete; - descr->device.usart_cb.error_cb = usart_error; - - return ERR_NONE; -} - -/** - * \brief Deinitialize usart interface - */ -int32_t usart_async_deinit(struct usart_async_descriptor *const descr) -{ - ASSERT(descr); - _usart_async_deinit(&descr->device); - descr->io.read = NULL; - descr->io.write = NULL; - - return ERR_NONE; -} - -/** - * \brief Enable usart interface - */ -int32_t usart_async_enable(struct usart_async_descriptor *const descr) -{ - ASSERT(descr); - _usart_async_enable(&descr->device); - - return ERR_NONE; -} - -/** - * \brief Disable usart interface - */ -int32_t usart_async_disable(struct usart_async_descriptor *const descr) -{ - ASSERT(descr); - _usart_async_disable(&descr->device); - - return ERR_NONE; -} - -/** - * \brief Retrieve I/O descriptor - */ -int32_t usart_async_get_io_descriptor(struct usart_async_descriptor *const descr, struct io_descriptor **io) -{ - ASSERT(descr && io); - - *io = &descr->io; - return ERR_NONE; -} - -/** - * \brief Register usart callback - */ -int32_t usart_async_register_callback(struct usart_async_descriptor *const descr, - const enum usart_async_callback_type type, usart_cb_t cb) -{ - ASSERT(descr); - - switch (type) { - case USART_ASYNC_RXC_CB: - descr->usart_cb.rx_done = cb; - _usart_async_set_irq_state(&descr->device, USART_ASYNC_RX_DONE, NULL != cb); - break; - case USART_ASYNC_TXC_CB: - descr->usart_cb.tx_done = cb; - _usart_async_set_irq_state(&descr->device, USART_ASYNC_TX_DONE, NULL != cb); - break; - case USART_ASYNC_ERROR_CB: - descr->usart_cb.error = cb; - _usart_async_set_irq_state(&descr->device, USART_ASYNC_ERROR, NULL != cb); - break; - default: - return ERR_INVALID_ARG; - } - - return ERR_NONE; -} - -/** - * \brief Specify action for flow control pins - */ -int32_t usart_async_set_flow_control(struct usart_async_descriptor *const descr, - const union usart_flow_control_state state) -{ - ASSERT(descr); - _usart_async_set_flow_control_state(&descr->device, state); - - return ERR_NONE; -} - -/** - * \brief Set usart baud rate - */ -int32_t usart_async_set_baud_rate(struct usart_async_descriptor *const descr, const uint32_t baud_rate) -{ - ASSERT(descr); - _usart_async_set_baud_rate(&descr->device, baud_rate); - - return ERR_NONE; -} - -/** - * \brief Set usart data order - */ -int32_t usart_async_set_data_order(struct usart_async_descriptor *const descr, const enum usart_data_order data_order) -{ - ASSERT(descr); - _usart_async_set_data_order(&descr->device, data_order); - - return ERR_NONE; -} - -/** - * \brief Set usart mode - */ -int32_t usart_async_set_mode(struct usart_async_descriptor *const descr, const enum usart_mode mode) -{ - ASSERT(descr); - _usart_async_set_mode(&descr->device, mode); - - return ERR_NONE; -} - -/** - * \brief Set usart parity - */ -int32_t usart_async_set_parity(struct usart_async_descriptor *const descr, const enum usart_parity parity) -{ - ASSERT(descr); - _usart_async_set_parity(&descr->device, parity); - - return ERR_NONE; -} - -/** - * \brief Set usart stop bits - */ -int32_t usart_async_set_stopbits(struct usart_async_descriptor *const descr, const enum usart_stop_bits stop_bits) -{ - ASSERT(descr); - _usart_async_set_stop_bits(&descr->device, stop_bits); - - return ERR_NONE; -} - -/** - * \brief Set usart character size - */ -int32_t usart_async_set_character_size(struct usart_async_descriptor *const descr, const enum usart_character_size size) -{ - ASSERT(descr); - _usart_async_set_character_size(&descr->device, size); - - return ERR_NONE; -} - -/** - * \brief Retrieve the state of flow control pins - */ -int32_t usart_async_flow_control_status(const struct usart_async_descriptor *const descr, - union usart_flow_control_state *const state) -{ - ASSERT(descr && state); - *state = _usart_async_get_flow_control_state(&descr->device); - - return ERR_NONE; -} - -/** - * \brief Check if the usart transmitter is empty - */ -int32_t usart_async_is_tx_empty(const struct usart_async_descriptor *const descr) -{ - ASSERT(descr); - return _usart_async_is_byte_sent(&descr->device); -} - -/** - * \brief Check if the usart receiver is not empty - */ -int32_t usart_async_is_rx_not_empty(const struct usart_async_descriptor *const descr) -{ - ASSERT(descr); - - return ringbuffer_num(&descr->rx) > 0; -} - -/** - * \brief Retrieve the current interface status - */ -int32_t usart_async_get_status(struct usart_async_descriptor *const descr, struct usart_async_status *const status) -{ - ASSERT(descr); - - volatile uint32_t *tmp_stat = &(descr->stat); - volatile uint16_t *tmp_txcnt = &(descr->tx_por); - - if (status) { - status->flags = *tmp_stat; - status->txcnt = *tmp_txcnt; - status->rxcnt = ringbuffer_num(&descr->rx); - } - if (*tmp_stat & USART_ASYNC_STATUS_BUSY) { - return ERR_BUSY; - } - - return ERR_NONE; -} - -/** - * \brief flush usart rx ringbuf - */ -int32_t usart_async_flush_rx_buffer(struct usart_async_descriptor *const descr) -{ - ASSERT(descr); - - return ringbuffer_flush(&descr->rx); -} - -/** - * \brief Retrieve the current driver version - */ -uint32_t usart_async_get_version(void) -{ - return DRIVER_VERSION; -} - -/* - * \internal Write the given data to usart interface - * - * \param[in] descr The pointer to an io descriptor - * \param[in] buf Data to write to usart - * \param[in] length The number of bytes to write - * - * \return The number of bytes written. - */ -static int32_t usart_async_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length) -{ - struct usart_async_descriptor *descr = CONTAINER_OF(io_descr, struct usart_async_descriptor, io); - - ASSERT(descr && buf && length); - - if (descr->tx_por != descr->tx_buffer_length) { - return ERR_NO_RESOURCE; - } - descr->tx_buffer = (uint8_t *)buf; - descr->tx_buffer_length = length; - descr->tx_por = 0; - descr->stat = USART_ASYNC_STATUS_BUSY; - _usart_async_enable_byte_sent_irq(&descr->device); - - return (int32_t)length; -} - -/* - * \internal Read data from usart interface - * - * \param[in] descr The pointer to an io descriptor - * \param[in] buf A buffer to read data to - * \param[in] length The size of a buffer - * - * \return The number of bytes read. - */ -static int32_t usart_async_read(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length) -{ - uint16_t was_read = 0; - uint32_t num; - struct usart_async_descriptor *descr = CONTAINER_OF(io_descr, struct usart_async_descriptor, io); - - ASSERT(descr && buf && length); - - CRITICAL_SECTION_ENTER() - num = ringbuffer_num(&descr->rx); - CRITICAL_SECTION_LEAVE() - - while ((was_read < num) && (was_read < length)) { - ringbuffer_get(&descr->rx, &buf[was_read++]); - } - - return (int32_t)was_read; -} - -/** - * \brief Process "byte is sent" interrupt - * - * \param[in] device The pointer to device structure - */ -static void usart_process_byte_sent(struct _usart_async_device *device) -{ - struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); - if (descr->tx_por != descr->tx_buffer_length) { - _usart_async_write_byte(&descr->device, descr->tx_buffer[descr->tx_por++]); - _usart_async_enable_byte_sent_irq(&descr->device); - } else { - _usart_async_enable_tx_done_irq(&descr->device); - } -} - -/** - * \brief Process completion of data sending - * - * \param[in] device The pointer to device structure - */ -static void usart_transmission_complete(struct _usart_async_device *device) -{ - struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); - - descr->stat = 0; - if (descr->usart_cb.tx_done) { - descr->usart_cb.tx_done(descr); - } -} - -/** - * \brief Process byte reception - * - * \param[in] device The pointer to device structure - * \param[in] data Data read - */ -static void usart_fill_rx_buffer(struct _usart_async_device *device, uint8_t data) -{ - struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); - - ringbuffer_put(&descr->rx, data); - - if (descr->usart_cb.rx_done) { - descr->usart_cb.rx_done(descr); - } -} - -/** - * \brief Process error interrupt - * - * \param[in] device The pointer to device structure - */ -static void usart_error(struct _usart_async_device *device) -{ - struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); - - descr->stat = 0; - if (descr->usart_cb.error) { - descr->usart_cb.error(descr); - } -} - -//@} diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/compiler.h b/software/firmware/oracle_same54n19a/hal/utils/include/compiler.h deleted file mode 100644 index f35db3d..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/compiler.h +++ /dev/null @@ -1,64 +0,0 @@ -/** - * \file - * - * \brief Header - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit Microchip Support - */ - -/****************************************************************************** - * compiler.h - * - * Created: 05.05.2014 - * Author: N. Fomin - ******************************************************************************/ - -#ifndef _COMPILER_H -#define _COMPILER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -#ifndef _UNIT_TEST_ -#include "parts.h" -#endif -#include "err_codes.h" - -#ifdef __cplusplus -} -#endif - -#endif /* _COMPILER_H */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/err_codes.h b/software/firmware/oracle_same54n19a/hal/utils/include/err_codes.h deleted file mode 100644 index a7aff01..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/err_codes.h +++ /dev/null @@ -1,73 +0,0 @@ -/** - * \file - * - * \brief Error code definitions. - * - * This file defines various status codes returned by functions, - * indicating success or failure as well as what kind of failure. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef ERROR_CODES_H_INCLUDED -#define ERROR_CODES_H_INCLUDED - -#define ERR_NONE 0 -#define ERR_INVALID_DATA -1 -#define ERR_NO_CHANGE -2 -#define ERR_ABORTED -3 -#define ERR_BUSY -4 -#define ERR_SUSPEND -5 -#define ERR_IO -6 -#define ERR_REQ_FLUSHED -7 -#define ERR_TIMEOUT -8 -#define ERR_BAD_DATA -9 -#define ERR_NOT_FOUND -10 -#define ERR_UNSUPPORTED_DEV -11 -#define ERR_NO_MEMORY -12 -#define ERR_INVALID_ARG -13 -#define ERR_BAD_ADDRESS -14 -#define ERR_BAD_FORMAT -15 -#define ERR_BAD_FRQ -16 -#define ERR_DENIED -17 -#define ERR_ALREADY_INITIALIZED -18 -#define ERR_OVERFLOW -19 -#define ERR_NOT_INITIALIZED -20 -#define ERR_SAMPLERATE_UNAVAILABLE -21 -#define ERR_RESOLUTION_UNAVAILABLE -22 -#define ERR_BAUDRATE_UNAVAILABLE -23 -#define ERR_PACKET_COLLISION -24 -#define ERR_PROTOCOL -25 -#define ERR_PIN_MUX_INVALID -26 -#define ERR_UNSUPPORTED_OP -27 -#define ERR_NO_RESOURCE -28 -#define ERR_NOT_READY -29 -#define ERR_FAILURE -30 -#define ERR_WRONG_LENGTH -31 - -#endif diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/events.h b/software/firmware/oracle_same54n19a/hal/utils/include/events.h deleted file mode 100644 index 3ee891a..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/events.h +++ /dev/null @@ -1,54 +0,0 @@ -/** - * \file - * - * \brief Events declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _EVENTS_H_INCLUDED -#define _EVENTS_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - * \brief List of events. Must start with 0, be unique and follow numerical order. - */ -#define EVENT_IS_READY_TO_SLEEP_ID 0 -#define EVENT_PREPARE_TO_SLEEP_ID 1 -#define EVENT_WOKEN_UP_ID 2 - -#ifdef __cplusplus -} -#endif - -#endif /* _EVENTS_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/parts.h b/software/firmware/oracle_same54n19a/hal/utils/include/parts.h deleted file mode 100644 index 98bb969..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/parts.h +++ /dev/null @@ -1,41 +0,0 @@ -/** - * \file - * - * \brief Atmel part identification macros - * - * Copyright (c) 2015-2019 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef ATMEL_PARTS_H -#define ATMEL_PARTS_H - -#include "same54.h" - -#include "hri_e54.h" - -#endif /* ATMEL_PARTS_H */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/utils.h b/software/firmware/oracle_same54n19a/hal/utils/include/utils.h deleted file mode 100644 index 1cf2699..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/utils.h +++ /dev/null @@ -1,368 +0,0 @@ -/** - * \file - * - * \brief Different macros. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef UTILS_H_INCLUDED -#define UTILS_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_utils_macro - * - * @{ - */ - -/** - * \brief Retrieve pointer to parent structure - */ -#define CONTAINER_OF(ptr, type, field_name) ((type *)(((uint8_t *)ptr) - offsetof(type, field_name))) - -/** - * \brief Retrieve array size - */ -#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) - -/** - * \brief Emit the compiler pragma \a arg. - * - * \param[in] arg The pragma directive as it would appear after \e \#pragma - * (i.e. not stringified). - */ -#define COMPILER_PRAGMA(arg) _Pragma(#arg) - -/** - * \def COMPILER_PACK_SET(alignment) - * \brief Set maximum alignment for subsequent struct and union definitions to \a alignment. - */ -#define COMPILER_PACK_SET(alignment) COMPILER_PRAGMA(pack(alignment)) - -/** - * \def COMPILER_PACK_RESET() - * \brief Set default alignment for subsequent struct and union definitions. - */ -#define COMPILER_PACK_RESET() COMPILER_PRAGMA(pack()) - -/** - * \brief Set aligned boundary. - */ -#if defined __GNUC__ -#define COMPILER_ALIGNED(a) __attribute__((__aligned__(a))) -#elif defined __ICCARM__ -#define COMPILER_ALIGNED(a) COMPILER_PRAGMA(data_alignment = a) -#elif defined __CC_ARM -#define COMPILER_ALIGNED(a) __attribute__((__aligned__(a))) -#endif - -/** - * \brief Flash located data macros - */ -#if defined __GNUC__ -#define PROGMEM_DECLARE(type, name) const type name -#define PROGMEM_T const -#define PROGMEM_READ_BYTE(x) *((uint8_t *)(x)) -#define PROGMEM_PTR_T const * -#define PROGMEM_STRING_T const uint8_t * -#elif defined __ICCARM__ -#define PROGMEM_DECLARE(type, name) const type name -#define PROGMEM_T const -#define PROGMEM_READ_BYTE(x) *((uint8_t *)(x)) -#define PROGMEM_PTR_T const * -#define PROGMEM_STRING_T const uint8_t * -#elif defined __CC_ARM -#define PROGMEM_DECLARE(type, name) const type name -#define PROGMEM_T const -#define PROGMEM_READ_BYTE(x) *((uint8_t *)(x)) -#define PROGMEM_PTR_T const * -#define PROGMEM_STRING_T const uint8_t * -#endif - -/** - * \brief Optimization - */ -#if defined __GNUC__ -#define OPTIMIZE_HIGH __attribute__((optimize(s))) -#elif defined __CC_ARM -#define OPTIMIZE_HIGH _Pragma("O3") -#elif defined __ICCARM__ -#define OPTIMIZE_HIGH _Pragma("optimize=high") -#endif - -/** - * \brief RAM located function attribute - */ -#if defined(__CC_ARM) /* Keil ?Vision 4 */ -#define RAMFUNC __attribute__((section(".ramfunc"))) -#elif defined(__ICCARM__) /* IAR Ewarm 5.41+ */ -#define RAMFUNC __ramfunc -#elif defined(__GNUC__) /* GCC CS3 2009q3-68 */ -#define RAMFUNC __attribute__((section(".ramfunc"))) -#endif - -/** - * \brief No-init section. - * Place a data object or a function in a no-init section. - */ -#if defined(__CC_ARM) -#define NO_INIT(a) __attribute__((zero_init)) -#elif defined(__ICCARM__) -#define NO_INIT(a) __no_init -#elif defined(__GNUC__) -#define NO_INIT(a) __attribute__((section(".no_init"))) -#endif - -/** - * \brief Set user-defined section. - * Place a data object or a function in a user-defined section. - */ -#if defined(__CC_ARM) -#define COMPILER_SECTION(a) __attribute__((__section__(a))) -#elif defined(__ICCARM__) -#define COMPILER_SECTION(a) COMPILER_PRAGMA(location = a) -#elif defined(__GNUC__) -#define COMPILER_SECTION(a) __attribute__((__section__(a))) -#endif - -/** - * \brief Define WEAK attribute. - */ -#if defined(__CC_ARM) /* Keil ?Vision 4 */ -#define WEAK __attribute__((weak)) -#elif defined(__ICCARM__) /* IAR Ewarm 5.41+ */ -#define WEAK __weak -#elif defined(__GNUC__) /* GCC CS3 2009q3-68 */ -#define WEAK __attribute__((weak)) -#endif - -/** - * \brief Pointer to function - */ -typedef void (*FUNC_PTR)(void); - -#define LE_BYTE0(a) ((uint8_t)(a)) -#define LE_BYTE1(a) ((uint8_t)((a) >> 8)) -#define LE_BYTE2(a) ((uint8_t)((a) >> 16)) -#define LE_BYTE3(a) ((uint8_t)((a) >> 24)) - -#define LE_2_U16(p) ((p)[0] + ((p)[1] << 8)) -#define LE_2_U32(p) ((p)[0] + ((p)[1] << 8) + ((p)[2] << 16) + ((p)[3] << 24)) - -/** \name Zero-Bit Counting - * - * Under GCC, __builtin_clz and __builtin_ctz behave like macros when - * applied to constant expressions (values known at compile time), so they are - * more optimized than the use of the corresponding assembly instructions and - * they can be used as constant expressions e.g. to initialize objects having - * static storage duration, and like the corresponding assembly instructions - * when applied to non-constant expressions (values unknown at compile time), so - * they are more optimized than an assembly periphrasis. Hence, clz and ctz - * ensure a possible and optimized behavior for both constant and non-constant - * expressions. - * - * @{ */ - -/** \brief Counts the leading zero bits of the given value considered as a 32-bit integer. - * - * \param[in] u Value of which to count the leading zero bits. - * - * \return The count of leading zero bits in \a u. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -#define clz(u) __builtin_clz(u) -#else -#define clz(u) \ - ( \ - ((u) == 0) \ - ? 32 \ - : ((u) & (1ul << 31)) \ - ? 0 \ - : ((u) & (1ul << 30)) \ - ? 1 \ - : ((u) & (1ul << 29)) \ - ? 2 \ - : ((u) & (1ul << 28)) \ - ? 3 \ - : ((u) & (1ul << 27)) \ - ? 4 \ - : ((u) & (1ul << 26)) \ - ? 5 \ - : ((u) & (1ul << 25)) \ - ? 6 \ - : ((u) & (1ul << 24)) \ - ? 7 \ - : ((u) & (1ul << 23)) \ - ? 8 \ - : ((u) & (1ul << 22)) \ - ? 9 \ - : ((u) & (1ul << 21)) \ - ? 10 \ - : ((u) & (1ul << 20)) \ - ? 11 \ - : ((u) & (1ul << 19)) \ - ? 12 \ - : ((u) & (1ul << 18)) \ - ? 13 \ - : ((u) & (1ul << 17)) ? 14 \ - : ((u) & (1ul << 16)) ? 15 \ - : ((u) & (1ul << 15)) ? 16 \ - : ((u) & (1ul << 14)) ? 17 \ - : ((u) & (1ul << 13)) ? 18 \ - : ((u) & (1ul << 12)) ? 19 \ - : ((u) \ - & (1ul \ - << 11)) \ - ? 20 \ - : ((u) \ - & (1ul \ - << 10)) \ - ? 21 \ - : ((u) \ - & (1ul \ - << 9)) \ - ? 22 \ - : ((u) \ - & (1ul \ - << 8)) \ - ? 23 \ - : ((u) & (1ul << 7)) ? 24 \ - : ((u) & (1ul << 6)) ? 25 \ - : ((u) \ - & (1ul \ - << 5)) \ - ? 26 \ - : ((u) & (1ul << 4)) ? 27 \ - : ((u) & (1ul << 3)) ? 28 \ - : ((u) & (1ul << 2)) ? 29 \ - : ( \ - (u) & (1ul << 1)) \ - ? 30 \ - : 31) -#endif - -/** \brief Counts the trailing zero bits of the given value considered as a 32-bit integer. - * - * \param[in] u Value of which to count the trailing zero bits. - * - * \return The count of trailing zero bits in \a u. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -#define ctz(u) __builtin_ctz(u) -#else -#define ctz(u) \ - ( \ - (u) & (1ul << 0) \ - ? 0 \ - : (u) & (1ul << 1) \ - ? 1 \ - : (u) & (1ul << 2) \ - ? 2 \ - : (u) & (1ul << 3) \ - ? 3 \ - : (u) & (1ul << 4) \ - ? 4 \ - : (u) & (1ul << 5) \ - ? 5 \ - : (u) & (1ul << 6) \ - ? 6 \ - : (u) & (1ul << 7) \ - ? 7 \ - : (u) & (1ul << 8) \ - ? 8 \ - : (u) & (1ul << 9) \ - ? 9 \ - : (u) & (1ul << 10) \ - ? 10 \ - : (u) & (1ul << 11) \ - ? 11 \ - : (u) & (1ul << 12) \ - ? 12 \ - : (u) & (1ul << 13) \ - ? 13 \ - : (u) & (1ul << 14) \ - ? 14 \ - : (u) & (1ul << 15) \ - ? 15 \ - : (u) & (1ul << 16) \ - ? 16 \ - : (u) & (1ul << 17) \ - ? 17 \ - : (u) & (1ul << 18) \ - ? 18 \ - : (u) & (1ul << 19) ? 19 \ - : (u) & (1ul << 20) ? 20 \ - : (u) & (1ul << 21) ? 21 \ - : (u) & (1ul << 22) ? 22 \ - : (u) & (1ul << 23) ? 23 \ - : (u) & (1ul << 24) ? 24 \ - : (u) & (1ul << 25) ? 25 \ - : (u) & (1ul << 26) ? 26 \ - : (u) & (1ul << 27) ? 27 \ - : (u) & (1ul << 28) ? 28 : (u) & (1ul << 29) ? 29 : (u) & (1ul << 30) ? 30 : (u) & (1ul << 31) ? 31 : 32) -#endif -/** @} */ - -/** - * \brief Counts the number of bits in a mask (no more than 32 bits) - * \param[in] mask Mask of which to count the bits. - */ -#define size_of_mask(mask) (32 - clz(mask) - ctz(mask)) - -/** - * \brief Retrieve the start position of bits mask (no more than 32 bits) - * \param[in] mask Mask of which to retrieve the start position. - */ -#define pos_of_mask(mask) ctz(mask) - -/** - * \brief Return division result of a/b and round up the result to the closest - * number divisible by "b" - */ -#define round_up(a, b) (((a)-1) / (b) + 1) - -/** - * \brief Get the minimum of x and y - */ -#define min(x, y) ((x) > (y) ? (y) : (x)) - -/** - * \brief Get the maximum of x and y - */ -#define max(x, y) ((x) > (y) ? (x) : (y)) - -/**@}*/ - -#ifdef __cplusplus -} -#endif -#endif /* UTILS_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/utils_assert.h b/software/firmware/oracle_same54n19a/hal/utils/include/utils_assert.h deleted file mode 100644 index c2328d6..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/utils_assert.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - * \file - * - * \brief Asserts related functionality. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _ASSERT_H_INCLUDED -#define _ASSERT_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#ifndef USE_SIMPLE_ASSERT -//# define USE_SIMPLE_ASSERT -#endif - -/** - * \brief Assert macro - * - * This macro is used to throw asserts. It can be mapped to different function - * based on debug level. - * - * \param[in] condition A condition to be checked; - * assert is thrown if the given condition is false - */ -#define ASSERT(condition) ASSERT_IMPL((condition), __FILE__, __LINE__) - -#ifdef DEBUG - -#ifdef USE_SIMPLE_ASSERT -#define ASSERT_IMPL(condition, file, line) \ - if (!(condition)) \ - __asm("BKPT #0"); -#else -#define ASSERT_IMPL(condition, file, line) assert((condition), file, line) -#endif - -#else /* DEBUG */ - -#ifdef USE_SIMPLE_ASSERT -#define ASSERT_IMPL(condition, file, line) ((void)0) -#else -#define ASSERT_IMPL(condition, file, line) ((void)0) -#endif - -#endif /* DEBUG */ - -/** - * \brief Assert function - * - * This function is used to throw asserts. - * - * \param[in] condition A condition to be checked; assert is thrown if the given - * condition is false - * \param[in] file File name - * \param[in] line Line number - */ -void assert(const bool condition, const char *const file, const int line); - -#ifdef __cplusplus -} -#endif -#endif /* _ASSERT_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/utils_event.h b/software/firmware/oracle_same54n19a/hal/utils/include/utils_event.h deleted file mode 100644 index 13067c4..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/utils_event.h +++ /dev/null @@ -1,115 +0,0 @@ -/** - * \file - * - * \brief Events declaration. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _UTILS_EVENT_H_INCLUDED -#define _UTILS_EVENT_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -/** - * \brief The maximum amount of events - */ -#define EVENT_MAX_AMOUNT 8 - -/** - * \brief The size of event mask used, it is EVENT_MAX_AMOUNT rounded up to the - * closest number divisible by 8. - */ -#define EVENT_MASK_SIZE (round_up(EVENT_MAX_AMOUNT, 8)) - -/** - * \brief The type of event ID. IDs should start with 0 and be in numerical order. - */ -typedef uint8_t event_id_t; - -/** - * \brief The type of returned parameter. This type is big enough to contain - * pointer to data on any platform. - */ -typedef uintptr_t event_data_t; - -/** - * \brief The type of returned parameter. This type is big enough to contain - * pointer to data on any platform. - */ -typedef void (*event_cb_t)(event_id_t id, event_data_t data); - -/** - * \brief Event structure - */ -struct event { - struct list_element elem; /*! The pointer to next event */ - uint8_t mask[EVENT_MASK_SIZE]; /*! Mask of event IDs callback is called for */ - event_cb_t cb; /*! Callback to be called when an event occurs */ -}; - -/** - * \brief Subscribe to event - * - * \param[in] event The pointer to event structure - * \param[in] id The event ID to subscribe to - * \param[in] cb The callback function to call when the given event occurs - * - * \return The status of subscription - */ -int32_t event_subscribe(struct event *const event, const event_id_t id, event_cb_t cb); - -/** - * \brief Remove event from subscription - * - * \param[in] event The pointer to event structure - * \param[in] id The event ID to remove subscription from - * - * \return The status of subscription removing - */ -int32_t event_unsubscribe(struct event *const event, const event_id_t id); - -/** - * \brief Post event - * - * \param[in] id The event ID to post - * \param[in] data The event data to be passed to event subscribers - */ -void event_post(const event_id_t id, const event_data_t data); - -#ifdef __cplusplus -} -#endif - -#endif /* _UTILS_EVENT_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/utils_increment_macro.h b/software/firmware/oracle_same54n19a/hal/utils/include/utils_increment_macro.h deleted file mode 100644 index 464c6cb..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/utils_increment_macro.h +++ /dev/null @@ -1,308 +0,0 @@ -/** - * \file - * - * \brief Increment macro. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _UTILS_INCREMENT_MACRO_H -#define _UTILS_INCREMENT_MACRO_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \brief Compile time increment, result value is entire integer literal - * - * \param[in] val - value to be incremented (254 max) - */ -#define INC_VALUE(val) SP_INC_##val - -// Preprocessor increment implementation -#define SP_INC_0 1 -#define SP_INC_1 2 -#define SP_INC_2 3 -#define SP_INC_3 4 -#define SP_INC_4 5 -#define SP_INC_5 6 -#define SP_INC_6 7 -#define SP_INC_7 8 -#define SP_INC_8 9 -#define SP_INC_9 10 -#define SP_INC_10 11 -#define SP_INC_11 12 -#define SP_INC_12 13 -#define SP_INC_13 14 -#define SP_INC_14 15 -#define SP_INC_15 16 -#define SP_INC_16 17 -#define SP_INC_17 18 -#define SP_INC_18 19 -#define SP_INC_19 20 -#define SP_INC_20 21 -#define SP_INC_21 22 -#define SP_INC_22 23 -#define SP_INC_23 24 -#define SP_INC_24 25 -#define SP_INC_25 26 -#define SP_INC_26 27 -#define SP_INC_27 28 -#define SP_INC_28 29 -#define SP_INC_29 30 -#define SP_INC_30 31 -#define SP_INC_31 32 -#define SP_INC_32 33 -#define SP_INC_33 34 -#define SP_INC_34 35 -#define SP_INC_35 36 -#define SP_INC_36 37 -#define SP_INC_37 38 -#define SP_INC_38 39 -#define SP_INC_39 40 -#define SP_INC_40 41 -#define SP_INC_41 42 -#define SP_INC_42 43 -#define SP_INC_43 44 -#define SP_INC_44 45 -#define SP_INC_45 46 -#define SP_INC_46 47 -#define SP_INC_47 48 -#define SP_INC_48 49 -#define SP_INC_49 50 -#define SP_INC_50 51 -#define SP_INC_51 52 -#define SP_INC_52 53 -#define SP_INC_53 54 -#define SP_INC_54 55 -#define SP_INC_55 56 -#define SP_INC_56 57 -#define SP_INC_57 58 -#define SP_INC_58 59 -#define SP_INC_59 60 -#define SP_INC_60 61 -#define SP_INC_61 62 -#define SP_INC_62 63 -#define SP_INC_63 64 -#define SP_INC_64 65 -#define SP_INC_65 66 -#define SP_INC_66 67 -#define SP_INC_67 68 -#define SP_INC_68 69 -#define SP_INC_69 70 -#define SP_INC_70 71 -#define SP_INC_71 72 -#define SP_INC_72 73 -#define SP_INC_73 74 -#define SP_INC_74 75 -#define SP_INC_75 76 -#define SP_INC_76 77 -#define SP_INC_77 78 -#define SP_INC_78 79 -#define SP_INC_79 80 -#define SP_INC_80 81 -#define SP_INC_81 82 -#define SP_INC_82 83 -#define SP_INC_83 84 -#define SP_INC_84 85 -#define SP_INC_85 86 -#define SP_INC_86 87 -#define SP_INC_87 88 -#define SP_INC_88 89 -#define SP_INC_89 90 -#define SP_INC_90 91 -#define SP_INC_91 92 -#define SP_INC_92 93 -#define SP_INC_93 94 -#define SP_INC_94 95 -#define SP_INC_95 96 -#define SP_INC_96 97 -#define SP_INC_97 98 -#define SP_INC_98 99 -#define SP_INC_99 100 -#define SP_INC_100 101 -#define SP_INC_101 102 -#define SP_INC_102 103 -#define SP_INC_103 104 -#define SP_INC_104 105 -#define SP_INC_105 106 -#define SP_INC_106 107 -#define SP_INC_107 108 -#define SP_INC_108 109 -#define SP_INC_109 110 -#define SP_INC_110 111 -#define SP_INC_111 112 -#define SP_INC_112 113 -#define SP_INC_113 114 -#define SP_INC_114 115 -#define SP_INC_115 116 -#define SP_INC_116 117 -#define SP_INC_117 118 -#define SP_INC_118 119 -#define SP_INC_119 120 -#define SP_INC_120 121 -#define SP_INC_121 122 -#define SP_INC_122 123 -#define SP_INC_123 124 -#define SP_INC_124 125 -#define SP_INC_125 126 -#define SP_INC_126 127 -#define SP_INC_127 128 -#define SP_INC_128 129 -#define SP_INC_129 130 -#define SP_INC_130 131 -#define SP_INC_131 132 -#define SP_INC_132 133 -#define SP_INC_133 134 -#define SP_INC_134 135 -#define SP_INC_135 136 -#define SP_INC_136 137 -#define SP_INC_137 138 -#define SP_INC_138 139 -#define SP_INC_139 140 -#define SP_INC_140 141 -#define SP_INC_141 142 -#define SP_INC_142 143 -#define SP_INC_143 144 -#define SP_INC_144 145 -#define SP_INC_145 146 -#define SP_INC_146 147 -#define SP_INC_147 148 -#define SP_INC_148 149 -#define SP_INC_149 150 -#define SP_INC_150 151 -#define SP_INC_151 152 -#define SP_INC_152 153 -#define SP_INC_153 154 -#define SP_INC_154 155 -#define SP_INC_155 156 -#define SP_INC_156 157 -#define SP_INC_157 158 -#define SP_INC_158 159 -#define SP_INC_159 160 -#define SP_INC_160 161 -#define SP_INC_161 162 -#define SP_INC_162 163 -#define SP_INC_163 164 -#define SP_INC_164 165 -#define SP_INC_165 166 -#define SP_INC_166 167 -#define SP_INC_167 168 -#define SP_INC_168 169 -#define SP_INC_169 170 -#define SP_INC_170 171 -#define SP_INC_171 172 -#define SP_INC_172 173 -#define SP_INC_173 174 -#define SP_INC_174 175 -#define SP_INC_175 176 -#define SP_INC_176 177 -#define SP_INC_177 178 -#define SP_INC_178 179 -#define SP_INC_179 180 -#define SP_INC_180 181 -#define SP_INC_181 182 -#define SP_INC_182 183 -#define SP_INC_183 184 -#define SP_INC_184 185 -#define SP_INC_185 186 -#define SP_INC_186 187 -#define SP_INC_187 188 -#define SP_INC_188 189 -#define SP_INC_189 190 -#define SP_INC_190 191 -#define SP_INC_191 192 -#define SP_INC_192 193 -#define SP_INC_193 194 -#define SP_INC_194 195 -#define SP_INC_195 196 -#define SP_INC_196 197 -#define SP_INC_197 198 -#define SP_INC_198 199 -#define SP_INC_199 200 -#define SP_INC_200 201 -#define SP_INC_201 202 -#define SP_INC_202 203 -#define SP_INC_203 204 -#define SP_INC_204 205 -#define SP_INC_205 206 -#define SP_INC_206 207 -#define SP_INC_207 208 -#define SP_INC_208 209 -#define SP_INC_209 210 -#define SP_INC_210 211 -#define SP_INC_211 212 -#define SP_INC_212 213 -#define SP_INC_213 214 -#define SP_INC_214 215 -#define SP_INC_215 216 -#define SP_INC_216 217 -#define SP_INC_217 218 -#define SP_INC_218 219 -#define SP_INC_219 220 -#define SP_INC_220 221 -#define SP_INC_221 222 -#define SP_INC_222 223 -#define SP_INC_223 224 -#define SP_INC_224 225 -#define SP_INC_225 226 -#define SP_INC_226 227 -#define SP_INC_227 228 -#define SP_INC_228 229 -#define SP_INC_229 230 -#define SP_INC_230 231 -#define SP_INC_231 232 -#define SP_INC_232 233 -#define SP_INC_233 234 -#define SP_INC_234 235 -#define SP_INC_235 236 -#define SP_INC_236 237 -#define SP_INC_237 238 -#define SP_INC_238 239 -#define SP_INC_239 240 -#define SP_INC_240 241 -#define SP_INC_241 242 -#define SP_INC_242 243 -#define SP_INC_243 244 -#define SP_INC_244 245 -#define SP_INC_245 246 -#define SP_INC_246 247 -#define SP_INC_247 248 -#define SP_INC_248 249 -#define SP_INC_249 250 -#define SP_INC_250 251 -#define SP_INC_251 252 -#define SP_INC_252 253 -#define SP_INC_253 254 -#define SP_INC_254 255 - -#ifdef __cplusplus -} -#endif -#endif /* _UTILS_INCREMENT_MACRO_H */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/utils_list.h b/software/firmware/oracle_same54n19a/hal/utils/include/utils_list.h deleted file mode 100644 index 977e8cc..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/utils_list.h +++ /dev/null @@ -1,164 +0,0 @@ -/** - * \file - * - * \brief List declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _UTILS_LIST_H_INCLUDED -#define _UTILS_LIST_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_utils_list - * - * @{ - */ - -#include - -/** - * \brief List element type - */ -struct list_element { - struct list_element *next; -}; - -/** - * \brief List head type - */ -struct list_descriptor { - struct list_element *head; -}; - -/** - * \brief Reset list - * - * \param[in] list The pointer to a list descriptor - */ -static inline void list_reset(struct list_descriptor *const list) -{ - list->head = NULL; -} - -/** - * \brief Retrieve list head - * - * \param[in] list The pointer to a list descriptor - * - * \return A pointer to the head of the given list or NULL if the list is - * empty - */ -static inline void *list_get_head(const struct list_descriptor *const list) -{ - return (void *)list->head; -} - -/** - * \brief Retrieve next list head - * - * \param[in] list The pointer to a list element - * - * \return A pointer to the next list element or NULL if there is not next - * element - */ -static inline void *list_get_next_element(const void *const element) -{ - return element ? ((struct list_element *)element)->next : NULL; -} - -/** - * \brief Insert an element as list head - * - * \param[in] list The pointer to a list element - * \param[in] element An element to insert to the given list - */ -void list_insert_as_head(struct list_descriptor *const list, void *const element); - -/** - * \brief Insert an element after the given list element - * - * \param[in] after An element to insert after - * \param[in] element Element to insert to the given list - */ -void list_insert_after(void *const after, void *const element); - -/** - * \brief Insert an element at list end - * - * \param[in] after An element to insert after - * \param[in] element Element to insert to the given list - */ -void list_insert_at_end(struct list_descriptor *const list, void *const element); - -/** - * \brief Check whether an element belongs to a list - * - * \param[in] list The pointer to a list - * \param[in] element An element to check - * - * \return The result of checking - * \retval true If the given element is an element of the given list - * \retval false Otherwise - */ -bool is_list_element(const struct list_descriptor *const list, const void *const element); - -/** - * \brief Removes list head - * - * This function removes the list head and sets the next element after the list - * head as a new list head. - * - * \param[in] list The pointer to a list - * - * \return The pointer to the new list head of NULL if the list head is NULL - */ -void *list_remove_head(struct list_descriptor *const list); - -/** - * \brief Removes the list element - * - * \param[in] list The pointer to a list - * \param[in] element An element to remove - * - * \return The result of element removing - * \retval true The given element is removed from the given list - * \retval false The given element is not an element of the given list - */ -bool list_delete_element(struct list_descriptor *const list, const void *const element); - -/**@}*/ - -#ifdef __cplusplus -} -#endif -#endif /* _UTILS_LIST_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/utils_repeat_macro.h b/software/firmware/oracle_same54n19a/hal/utils/include/utils_repeat_macro.h deleted file mode 100644 index 89e6f52..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/utils_repeat_macro.h +++ /dev/null @@ -1,322 +0,0 @@ -/** - * \file - * - * \brief Repeat macro. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _UTILS_REPEAT_MACRO_H -#define _UTILS_REPEAT_MACRO_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * \brief Sequently repeates specified macro for n times (255 max). - * - * Specified macro shall have two arguments: macro(arg, i) - * arg - user defined argument, which have the same value for all iterations. - * i - iteration number; numbering begins from zero and increments on each - * iteration. - * - * \param[in] macro - macro to be repeated - * \param[in] arg - user defined argument for repeated macro - * \param[in] n - total number of iterations (255 max) - */ -#define REPEAT_MACRO(macro, arg, n) REPEAT_MACRO_I(macro, arg, n) - -/* - * \brief Second level is needed to get integer literal from "n" if it is - * defined as macro - */ -#define REPEAT_MACRO_I(macro, arg, n) REPEAT##n(macro, arg, 0) - -#define REPEAT1(macro, arg, n) macro(arg, n) -#define REPEAT2(macro, arg, n) macro(arg, n) REPEAT1(macro, arg, INC_VALUE(n)) -#define REPEAT3(macro, arg, n) macro(arg, n) REPEAT2(macro, arg, INC_VALUE(n)) -#define REPEAT4(macro, arg, n) macro(arg, n) REPEAT3(macro, arg, INC_VALUE(n)) -#define REPEAT5(macro, arg, n) macro(arg, n) REPEAT4(macro, arg, INC_VALUE(n)) -#define REPEAT6(macro, arg, n) macro(arg, n) REPEAT5(macro, arg, INC_VALUE(n)) -#define REPEAT7(macro, arg, n) macro(arg, n) REPEAT6(macro, arg, INC_VALUE(n)) -#define REPEAT8(macro, arg, n) macro(arg, n) REPEAT7(macro, arg, INC_VALUE(n)) -#define REPEAT9(macro, arg, n) macro(arg, n) REPEAT8(macro, arg, INC_VALUE(n)) -#define REPEAT10(macro, arg, n) macro(arg, n) REPEAT9(macro, arg, INC_VALUE(n)) -#define REPEAT11(macro, arg, n) macro(arg, n) REPEAT10(macro, arg, INC_VALUE(n)) -#define REPEAT12(macro, arg, n) macro(arg, n) REPEAT11(macro, arg, INC_VALUE(n)) -#define REPEAT13(macro, arg, n) macro(arg, n) REPEAT12(macro, arg, INC_VALUE(n)) -#define REPEAT14(macro, arg, n) macro(arg, n) REPEAT13(macro, arg, INC_VALUE(n)) -#define REPEAT15(macro, arg, n) macro(arg, n) REPEAT14(macro, arg, INC_VALUE(n)) -#define REPEAT16(macro, arg, n) macro(arg, n) REPEAT15(macro, arg, INC_VALUE(n)) -#define REPEAT17(macro, arg, n) macro(arg, n) REPEAT16(macro, arg, INC_VALUE(n)) -#define REPEAT18(macro, arg, n) macro(arg, n) REPEAT17(macro, arg, INC_VALUE(n)) -#define REPEAT19(macro, arg, n) macro(arg, n) REPEAT18(macro, arg, INC_VALUE(n)) -#define REPEAT20(macro, arg, n) macro(arg, n) REPEAT19(macro, arg, INC_VALUE(n)) -#define REPEAT21(macro, arg, n) macro(arg, n) REPEAT20(macro, arg, INC_VALUE(n)) -#define REPEAT22(macro, arg, n) macro(arg, n) REPEAT21(macro, arg, INC_VALUE(n)) -#define REPEAT23(macro, arg, n) macro(arg, n) REPEAT22(macro, arg, INC_VALUE(n)) -#define REPEAT24(macro, arg, n) macro(arg, n) REPEAT23(macro, arg, INC_VALUE(n)) -#define REPEAT25(macro, arg, n) macro(arg, n) REPEAT24(macro, arg, INC_VALUE(n)) -#define REPEAT26(macro, arg, n) macro(arg, n) REPEAT25(macro, arg, INC_VALUE(n)) -#define REPEAT27(macro, arg, n) macro(arg, n) REPEAT26(macro, arg, INC_VALUE(n)) -#define REPEAT28(macro, arg, n) macro(arg, n) REPEAT27(macro, arg, INC_VALUE(n)) -#define REPEAT29(macro, arg, n) macro(arg, n) REPEAT28(macro, arg, INC_VALUE(n)) -#define REPEAT30(macro, arg, n) macro(arg, n) REPEAT29(macro, arg, INC_VALUE(n)) -#define REPEAT31(macro, arg, n) macro(arg, n) REPEAT30(macro, arg, INC_VALUE(n)) -#define REPEAT32(macro, arg, n) macro(arg, n) REPEAT31(macro, arg, INC_VALUE(n)) -#define REPEAT33(macro, arg, n) macro(arg, n) REPEAT32(macro, arg, INC_VALUE(n)) -#define REPEAT34(macro, arg, n) macro(arg, n) REPEAT33(macro, arg, INC_VALUE(n)) -#define REPEAT35(macro, arg, n) macro(arg, n) REPEAT34(macro, arg, INC_VALUE(n)) -#define REPEAT36(macro, arg, n) macro(arg, n) REPEAT35(macro, arg, INC_VALUE(n)) -#define REPEAT37(macro, arg, n) macro(arg, n) REPEAT36(macro, arg, INC_VALUE(n)) -#define REPEAT38(macro, arg, n) macro(arg, n) REPEAT37(macro, arg, INC_VALUE(n)) -#define REPEAT39(macro, arg, n) macro(arg, n) REPEAT38(macro, arg, INC_VALUE(n)) -#define REPEAT40(macro, arg, n) macro(arg, n) REPEAT39(macro, arg, INC_VALUE(n)) -#define REPEAT41(macro, arg, n) macro(arg, n) REPEAT40(macro, arg, INC_VALUE(n)) -#define REPEAT42(macro, arg, n) macro(arg, n) REPEAT41(macro, arg, INC_VALUE(n)) -#define REPEAT43(macro, arg, n) macro(arg, n) REPEAT42(macro, arg, INC_VALUE(n)) -#define REPEAT44(macro, arg, n) macro(arg, n) REPEAT43(macro, arg, INC_VALUE(n)) -#define REPEAT45(macro, arg, n) macro(arg, n) REPEAT44(macro, arg, INC_VALUE(n)) -#define REPEAT46(macro, arg, n) macro(arg, n) REPEAT45(macro, arg, INC_VALUE(n)) -#define REPEAT47(macro, arg, n) macro(arg, n) REPEAT46(macro, arg, INC_VALUE(n)) -#define REPEAT48(macro, arg, n) macro(arg, n) REPEAT47(macro, arg, INC_VALUE(n)) -#define REPEAT49(macro, arg, n) macro(arg, n) REPEAT48(macro, arg, INC_VALUE(n)) -#define REPEAT50(macro, arg, n) macro(arg, n) REPEAT49(macro, arg, INC_VALUE(n)) -#define REPEAT51(macro, arg, n) macro(arg, n) REPEAT50(macro, arg, INC_VALUE(n)) -#define REPEAT52(macro, arg, n) macro(arg, n) REPEAT51(macro, arg, INC_VALUE(n)) -#define REPEAT53(macro, arg, n) macro(arg, n) REPEAT52(macro, arg, INC_VALUE(n)) -#define REPEAT54(macro, arg, n) macro(arg, n) REPEAT53(macro, arg, INC_VALUE(n)) -#define REPEAT55(macro, arg, n) macro(arg, n) REPEAT54(macro, arg, INC_VALUE(n)) -#define REPEAT56(macro, arg, n) macro(arg, n) REPEAT55(macro, arg, INC_VALUE(n)) -#define REPEAT57(macro, arg, n) macro(arg, n) REPEAT56(macro, arg, INC_VALUE(n)) -#define REPEAT58(macro, arg, n) macro(arg, n) REPEAT57(macro, arg, INC_VALUE(n)) -#define REPEAT59(macro, arg, n) macro(arg, n) REPEAT58(macro, arg, INC_VALUE(n)) -#define REPEAT60(macro, arg, n) macro(arg, n) REPEAT59(macro, arg, INC_VALUE(n)) -#define REPEAT61(macro, arg, n) macro(arg, n) REPEAT60(macro, arg, INC_VALUE(n)) -#define REPEAT62(macro, arg, n) macro(arg, n) REPEAT61(macro, arg, INC_VALUE(n)) -#define REPEAT63(macro, arg, n) macro(arg, n) REPEAT62(macro, arg, INC_VALUE(n)) -#define REPEAT64(macro, arg, n) macro(arg, n) REPEAT63(macro, arg, INC_VALUE(n)) -#define REPEAT65(macro, arg, n) macro(arg, n) REPEAT64(macro, arg, INC_VALUE(n)) -#define REPEAT66(macro, arg, n) macro(arg, n) REPEAT65(macro, arg, INC_VALUE(n)) -#define REPEAT67(macro, arg, n) macro(arg, n) REPEAT66(macro, arg, INC_VALUE(n)) -#define REPEAT68(macro, arg, n) macro(arg, n) REPEAT67(macro, arg, INC_VALUE(n)) -#define REPEAT69(macro, arg, n) macro(arg, n) REPEAT68(macro, arg, INC_VALUE(n)) -#define REPEAT70(macro, arg, n) macro(arg, n) REPEAT69(macro, arg, INC_VALUE(n)) -#define REPEAT71(macro, arg, n) macro(arg, n) REPEAT70(macro, arg, INC_VALUE(n)) -#define REPEAT72(macro, arg, n) macro(arg, n) REPEAT71(macro, arg, INC_VALUE(n)) -#define REPEAT73(macro, arg, n) macro(arg, n) REPEAT72(macro, arg, INC_VALUE(n)) -#define REPEAT74(macro, arg, n) macro(arg, n) REPEAT73(macro, arg, INC_VALUE(n)) -#define REPEAT75(macro, arg, n) macro(arg, n) REPEAT74(macro, arg, INC_VALUE(n)) -#define REPEAT76(macro, arg, n) macro(arg, n) REPEAT75(macro, arg, INC_VALUE(n)) -#define REPEAT77(macro, arg, n) macro(arg, n) REPEAT76(macro, arg, INC_VALUE(n)) -#define REPEAT78(macro, arg, n) macro(arg, n) REPEAT77(macro, arg, INC_VALUE(n)) -#define REPEAT79(macro, arg, n) macro(arg, n) REPEAT78(macro, arg, INC_VALUE(n)) -#define REPEAT80(macro, arg, n) macro(arg, n) REPEAT79(macro, arg, INC_VALUE(n)) -#define REPEAT81(macro, arg, n) macro(arg, n) REPEAT80(macro, arg, INC_VALUE(n)) -#define REPEAT82(macro, arg, n) macro(arg, n) REPEAT81(macro, arg, INC_VALUE(n)) -#define REPEAT83(macro, arg, n) macro(arg, n) REPEAT82(macro, arg, INC_VALUE(n)) -#define REPEAT84(macro, arg, n) macro(arg, n) REPEAT83(macro, arg, INC_VALUE(n)) -#define REPEAT85(macro, arg, n) macro(arg, n) REPEAT84(macro, arg, INC_VALUE(n)) -#define REPEAT86(macro, arg, n) macro(arg, n) REPEAT85(macro, arg, INC_VALUE(n)) -#define REPEAT87(macro, arg, n) macro(arg, n) REPEAT86(macro, arg, INC_VALUE(n)) -#define REPEAT88(macro, arg, n) macro(arg, n) REPEAT87(macro, arg, INC_VALUE(n)) -#define REPEAT89(macro, arg, n) macro(arg, n) REPEAT88(macro, arg, INC_VALUE(n)) -#define REPEAT90(macro, arg, n) macro(arg, n) REPEAT89(macro, arg, INC_VALUE(n)) -#define REPEAT91(macro, arg, n) macro(arg, n) REPEAT90(macro, arg, INC_VALUE(n)) -#define REPEAT92(macro, arg, n) macro(arg, n) REPEAT91(macro, arg, INC_VALUE(n)) -#define REPEAT93(macro, arg, n) macro(arg, n) REPEAT92(macro, arg, INC_VALUE(n)) -#define REPEAT94(macro, arg, n) macro(arg, n) REPEAT93(macro, arg, INC_VALUE(n)) -#define REPEAT95(macro, arg, n) macro(arg, n) REPEAT94(macro, arg, INC_VALUE(n)) -#define REPEAT96(macro, arg, n) macro(arg, n) REPEAT95(macro, arg, INC_VALUE(n)) -#define REPEAT97(macro, arg, n) macro(arg, n) REPEAT96(macro, arg, INC_VALUE(n)) -#define REPEAT98(macro, arg, n) macro(arg, n) REPEAT97(macro, arg, INC_VALUE(n)) -#define REPEAT99(macro, arg, n) macro(arg, n) REPEAT98(macro, arg, INC_VALUE(n)) -#define REPEAT100(macro, arg, n) macro(arg, n) REPEAT99(macro, arg, INC_VALUE(n)) -#define REPEAT101(macro, arg, n) macro(arg, n) REPEAT100(macro, arg, INC_VALUE(n)) -#define REPEAT102(macro, arg, n) macro(arg, n) REPEAT101(macro, arg, INC_VALUE(n)) -#define REPEAT103(macro, arg, n) macro(arg, n) REPEAT102(macro, arg, INC_VALUE(n)) -#define REPEAT104(macro, arg, n) macro(arg, n) REPEAT103(macro, arg, INC_VALUE(n)) -#define REPEAT105(macro, arg, n) macro(arg, n) REPEAT104(macro, arg, INC_VALUE(n)) -#define REPEAT106(macro, arg, n) macro(arg, n) REPEAT105(macro, arg, INC_VALUE(n)) -#define REPEAT107(macro, arg, n) macro(arg, n) REPEAT106(macro, arg, INC_VALUE(n)) -#define REPEAT108(macro, arg, n) macro(arg, n) REPEAT107(macro, arg, INC_VALUE(n)) -#define REPEAT109(macro, arg, n) macro(arg, n) REPEAT108(macro, arg, INC_VALUE(n)) -#define REPEAT110(macro, arg, n) macro(arg, n) REPEAT109(macro, arg, INC_VALUE(n)) -#define REPEAT111(macro, arg, n) macro(arg, n) REPEAT110(macro, arg, INC_VALUE(n)) -#define REPEAT112(macro, arg, n) macro(arg, n) REPEAT111(macro, arg, INC_VALUE(n)) -#define REPEAT113(macro, arg, n) macro(arg, n) REPEAT112(macro, arg, INC_VALUE(n)) -#define REPEAT114(macro, arg, n) macro(arg, n) REPEAT113(macro, arg, INC_VALUE(n)) -#define REPEAT115(macro, arg, n) macro(arg, n) REPEAT114(macro, arg, INC_VALUE(n)) -#define REPEAT116(macro, arg, n) macro(arg, n) REPEAT115(macro, arg, INC_VALUE(n)) -#define REPEAT117(macro, arg, n) macro(arg, n) REPEAT116(macro, arg, INC_VALUE(n)) -#define REPEAT118(macro, arg, n) macro(arg, n) REPEAT117(macro, arg, INC_VALUE(n)) -#define REPEAT119(macro, arg, n) macro(arg, n) REPEAT118(macro, arg, INC_VALUE(n)) -#define REPEAT120(macro, arg, n) macro(arg, n) REPEAT119(macro, arg, INC_VALUE(n)) -#define REPEAT121(macro, arg, n) macro(arg, n) REPEAT120(macro, arg, INC_VALUE(n)) -#define REPEAT122(macro, arg, n) macro(arg, n) REPEAT121(macro, arg, INC_VALUE(n)) -#define REPEAT123(macro, arg, n) macro(arg, n) REPEAT122(macro, arg, INC_VALUE(n)) -#define REPEAT124(macro, arg, n) macro(arg, n) REPEAT123(macro, arg, INC_VALUE(n)) -#define REPEAT125(macro, arg, n) macro(arg, n) REPEAT124(macro, arg, INC_VALUE(n)) -#define REPEAT126(macro, arg, n) macro(arg, n) REPEAT125(macro, arg, INC_VALUE(n)) -#define REPEAT127(macro, arg, n) macro(arg, n) REPEAT126(macro, arg, INC_VALUE(n)) -#define REPEAT128(macro, arg, n) macro(arg, n) REPEAT127(macro, arg, INC_VALUE(n)) -#define REPEAT129(macro, arg, n) macro(arg, n) REPEAT128(macro, arg, INC_VALUE(n)) -#define REPEAT130(macro, arg, n) macro(arg, n) REPEAT129(macro, arg, INC_VALUE(n)) -#define REPEAT131(macro, arg, n) macro(arg, n) REPEAT130(macro, arg, INC_VALUE(n)) -#define REPEAT132(macro, arg, n) macro(arg, n) REPEAT131(macro, arg, INC_VALUE(n)) -#define REPEAT133(macro, arg, n) macro(arg, n) REPEAT132(macro, arg, INC_VALUE(n)) -#define REPEAT134(macro, arg, n) macro(arg, n) REPEAT133(macro, arg, INC_VALUE(n)) -#define REPEAT135(macro, arg, n) macro(arg, n) REPEAT134(macro, arg, INC_VALUE(n)) -#define REPEAT136(macro, arg, n) macro(arg, n) REPEAT135(macro, arg, INC_VALUE(n)) -#define REPEAT137(macro, arg, n) macro(arg, n) REPEAT136(macro, arg, INC_VALUE(n)) -#define REPEAT138(macro, arg, n) macro(arg, n) REPEAT137(macro, arg, INC_VALUE(n)) -#define REPEAT139(macro, arg, n) macro(arg, n) REPEAT138(macro, arg, INC_VALUE(n)) -#define REPEAT140(macro, arg, n) macro(arg, n) REPEAT139(macro, arg, INC_VALUE(n)) -#define REPEAT141(macro, arg, n) macro(arg, n) REPEAT140(macro, arg, INC_VALUE(n)) -#define REPEAT142(macro, arg, n) macro(arg, n) REPEAT141(macro, arg, INC_VALUE(n)) -#define REPEAT143(macro, arg, n) macro(arg, n) REPEAT142(macro, arg, INC_VALUE(n)) -#define REPEAT144(macro, arg, n) macro(arg, n) REPEAT143(macro, arg, INC_VALUE(n)) -#define REPEAT145(macro, arg, n) macro(arg, n) REPEAT144(macro, arg, INC_VALUE(n)) -#define REPEAT146(macro, arg, n) macro(arg, n) REPEAT145(macro, arg, INC_VALUE(n)) -#define REPEAT147(macro, arg, n) macro(arg, n) REPEAT146(macro, arg, INC_VALUE(n)) -#define REPEAT148(macro, arg, n) macro(arg, n) REPEAT147(macro, arg, INC_VALUE(n)) -#define REPEAT149(macro, arg, n) macro(arg, n) REPEAT148(macro, arg, INC_VALUE(n)) -#define REPEAT150(macro, arg, n) macro(arg, n) REPEAT149(macro, arg, INC_VALUE(n)) -#define REPEAT151(macro, arg, n) macro(arg, n) REPEAT150(macro, arg, INC_VALUE(n)) -#define REPEAT152(macro, arg, n) macro(arg, n) REPEAT151(macro, arg, INC_VALUE(n)) -#define REPEAT153(macro, arg, n) macro(arg, n) REPEAT152(macro, arg, INC_VALUE(n)) -#define REPEAT154(macro, arg, n) macro(arg, n) REPEAT153(macro, arg, INC_VALUE(n)) -#define REPEAT155(macro, arg, n) macro(arg, n) REPEAT154(macro, arg, INC_VALUE(n)) -#define REPEAT156(macro, arg, n) macro(arg, n) REPEAT155(macro, arg, INC_VALUE(n)) -#define REPEAT157(macro, arg, n) macro(arg, n) REPEAT156(macro, arg, INC_VALUE(n)) -#define REPEAT158(macro, arg, n) macro(arg, n) REPEAT157(macro, arg, INC_VALUE(n)) -#define REPEAT159(macro, arg, n) macro(arg, n) REPEAT158(macro, arg, INC_VALUE(n)) -#define REPEAT160(macro, arg, n) macro(arg, n) REPEAT159(macro, arg, INC_VALUE(n)) -#define REPEAT161(macro, arg, n) macro(arg, n) REPEAT160(macro, arg, INC_VALUE(n)) -#define REPEAT162(macro, arg, n) macro(arg, n) REPEAT161(macro, arg, INC_VALUE(n)) -#define REPEAT163(macro, arg, n) macro(arg, n) REPEAT162(macro, arg, INC_VALUE(n)) -#define REPEAT164(macro, arg, n) macro(arg, n) REPEAT163(macro, arg, INC_VALUE(n)) -#define REPEAT165(macro, arg, n) macro(arg, n) REPEAT164(macro, arg, INC_VALUE(n)) -#define REPEAT166(macro, arg, n) macro(arg, n) REPEAT165(macro, arg, INC_VALUE(n)) -#define REPEAT167(macro, arg, n) macro(arg, n) REPEAT166(macro, arg, INC_VALUE(n)) -#define REPEAT168(macro, arg, n) macro(arg, n) REPEAT167(macro, arg, INC_VALUE(n)) -#define REPEAT169(macro, arg, n) macro(arg, n) REPEAT168(macro, arg, INC_VALUE(n)) -#define REPEAT170(macro, arg, n) macro(arg, n) REPEAT169(macro, arg, INC_VALUE(n)) -#define REPEAT171(macro, arg, n) macro(arg, n) REPEAT170(macro, arg, INC_VALUE(n)) -#define REPEAT172(macro, arg, n) macro(arg, n) REPEAT171(macro, arg, INC_VALUE(n)) -#define REPEAT173(macro, arg, n) macro(arg, n) REPEAT172(macro, arg, INC_VALUE(n)) -#define REPEAT174(macro, arg, n) macro(arg, n) REPEAT173(macro, arg, INC_VALUE(n)) -#define REPEAT175(macro, arg, n) macro(arg, n) REPEAT174(macro, arg, INC_VALUE(n)) -#define REPEAT176(macro, arg, n) macro(arg, n) REPEAT175(macro, arg, INC_VALUE(n)) -#define REPEAT177(macro, arg, n) macro(arg, n) REPEAT176(macro, arg, INC_VALUE(n)) -#define REPEAT178(macro, arg, n) macro(arg, n) REPEAT177(macro, arg, INC_VALUE(n)) -#define REPEAT179(macro, arg, n) macro(arg, n) REPEAT178(macro, arg, INC_VALUE(n)) -#define REPEAT180(macro, arg, n) macro(arg, n) REPEAT179(macro, arg, INC_VALUE(n)) -#define REPEAT181(macro, arg, n) macro(arg, n) REPEAT180(macro, arg, INC_VALUE(n)) -#define REPEAT182(macro, arg, n) macro(arg, n) REPEAT181(macro, arg, INC_VALUE(n)) -#define REPEAT183(macro, arg, n) macro(arg, n) REPEAT182(macro, arg, INC_VALUE(n)) -#define REPEAT184(macro, arg, n) macro(arg, n) REPEAT183(macro, arg, INC_VALUE(n)) -#define REPEAT185(macro, arg, n) macro(arg, n) REPEAT184(macro, arg, INC_VALUE(n)) -#define REPEAT186(macro, arg, n) macro(arg, n) REPEAT185(macro, arg, INC_VALUE(n)) -#define REPEAT187(macro, arg, n) macro(arg, n) REPEAT186(macro, arg, INC_VALUE(n)) -#define REPEAT188(macro, arg, n) macro(arg, n) REPEAT187(macro, arg, INC_VALUE(n)) -#define REPEAT189(macro, arg, n) macro(arg, n) REPEAT188(macro, arg, INC_VALUE(n)) -#define REPEAT190(macro, arg, n) macro(arg, n) REPEAT189(macro, arg, INC_VALUE(n)) -#define REPEAT191(macro, arg, n) macro(arg, n) REPEAT190(macro, arg, INC_VALUE(n)) -#define REPEAT192(macro, arg, n) macro(arg, n) REPEAT191(macro, arg, INC_VALUE(n)) -#define REPEAT193(macro, arg, n) macro(arg, n) REPEAT192(macro, arg, INC_VALUE(n)) -#define REPEAT194(macro, arg, n) macro(arg, n) REPEAT193(macro, arg, INC_VALUE(n)) -#define REPEAT195(macro, arg, n) macro(arg, n) REPEAT194(macro, arg, INC_VALUE(n)) -#define REPEAT196(macro, arg, n) macro(arg, n) REPEAT195(macro, arg, INC_VALUE(n)) -#define REPEAT197(macro, arg, n) macro(arg, n) REPEAT196(macro, arg, INC_VALUE(n)) -#define REPEAT198(macro, arg, n) macro(arg, n) REPEAT197(macro, arg, INC_VALUE(n)) -#define REPEAT199(macro, arg, n) macro(arg, n) REPEAT198(macro, arg, INC_VALUE(n)) -#define REPEAT200(macro, arg, n) macro(arg, n) REPEAT199(macro, arg, INC_VALUE(n)) -#define REPEAT201(macro, arg, n) macro(arg, n) REPEAT200(macro, arg, INC_VALUE(n)) -#define REPEAT202(macro, arg, n) macro(arg, n) REPEAT201(macro, arg, INC_VALUE(n)) -#define REPEAT203(macro, arg, n) macro(arg, n) REPEAT202(macro, arg, INC_VALUE(n)) -#define REPEAT204(macro, arg, n) macro(arg, n) REPEAT203(macro, arg, INC_VALUE(n)) -#define REPEAT205(macro, arg, n) macro(arg, n) REPEAT204(macro, arg, INC_VALUE(n)) -#define REPEAT206(macro, arg, n) macro(arg, n) REPEAT205(macro, arg, INC_VALUE(n)) -#define REPEAT207(macro, arg, n) macro(arg, n) REPEAT206(macro, arg, INC_VALUE(n)) -#define REPEAT208(macro, arg, n) macro(arg, n) REPEAT207(macro, arg, INC_VALUE(n)) -#define REPEAT209(macro, arg, n) macro(arg, n) REPEAT208(macro, arg, INC_VALUE(n)) -#define REPEAT210(macro, arg, n) macro(arg, n) REPEAT209(macro, arg, INC_VALUE(n)) -#define REPEAT211(macro, arg, n) macro(arg, n) REPEAT210(macro, arg, INC_VALUE(n)) -#define REPEAT212(macro, arg, n) macro(arg, n) REPEAT211(macro, arg, INC_VALUE(n)) -#define REPEAT213(macro, arg, n) macro(arg, n) REPEAT212(macro, arg, INC_VALUE(n)) -#define REPEAT214(macro, arg, n) macro(arg, n) REPEAT213(macro, arg, INC_VALUE(n)) -#define REPEAT215(macro, arg, n) macro(arg, n) REPEAT214(macro, arg, INC_VALUE(n)) -#define REPEAT216(macro, arg, n) macro(arg, n) REPEAT215(macro, arg, INC_VALUE(n)) -#define REPEAT217(macro, arg, n) macro(arg, n) REPEAT216(macro, arg, INC_VALUE(n)) -#define REPEAT218(macro, arg, n) macro(arg, n) REPEAT217(macro, arg, INC_VALUE(n)) -#define REPEAT219(macro, arg, n) macro(arg, n) REPEAT218(macro, arg, INC_VALUE(n)) -#define REPEAT220(macro, arg, n) macro(arg, n) REPEAT219(macro, arg, INC_VALUE(n)) -#define REPEAT221(macro, arg, n) macro(arg, n) REPEAT220(macro, arg, INC_VALUE(n)) -#define REPEAT222(macro, arg, n) macro(arg, n) REPEAT221(macro, arg, INC_VALUE(n)) -#define REPEAT223(macro, arg, n) macro(arg, n) REPEAT222(macro, arg, INC_VALUE(n)) -#define REPEAT224(macro, arg, n) macro(arg, n) REPEAT223(macro, arg, INC_VALUE(n)) -#define REPEAT225(macro, arg, n) macro(arg, n) REPEAT224(macro, arg, INC_VALUE(n)) -#define REPEAT226(macro, arg, n) macro(arg, n) REPEAT225(macro, arg, INC_VALUE(n)) -#define REPEAT227(macro, arg, n) macro(arg, n) REPEAT226(macro, arg, INC_VALUE(n)) -#define REPEAT228(macro, arg, n) macro(arg, n) REPEAT227(macro, arg, INC_VALUE(n)) -#define REPEAT229(macro, arg, n) macro(arg, n) REPEAT228(macro, arg, INC_VALUE(n)) -#define REPEAT230(macro, arg, n) macro(arg, n) REPEAT229(macro, arg, INC_VALUE(n)) -#define REPEAT231(macro, arg, n) macro(arg, n) REPEAT230(macro, arg, INC_VALUE(n)) -#define REPEAT232(macro, arg, n) macro(arg, n) REPEAT231(macro, arg, INC_VALUE(n)) -#define REPEAT233(macro, arg, n) macro(arg, n) REPEAT232(macro, arg, INC_VALUE(n)) -#define REPEAT234(macro, arg, n) macro(arg, n) REPEAT233(macro, arg, INC_VALUE(n)) -#define REPEAT235(macro, arg, n) macro(arg, n) REPEAT234(macro, arg, INC_VALUE(n)) -#define REPEAT236(macro, arg, n) macro(arg, n) REPEAT235(macro, arg, INC_VALUE(n)) -#define REPEAT237(macro, arg, n) macro(arg, n) REPEAT236(macro, arg, INC_VALUE(n)) -#define REPEAT238(macro, arg, n) macro(arg, n) REPEAT237(macro, arg, INC_VALUE(n)) -#define REPEAT239(macro, arg, n) macro(arg, n) REPEAT238(macro, arg, INC_VALUE(n)) -#define REPEAT240(macro, arg, n) macro(arg, n) REPEAT239(macro, arg, INC_VALUE(n)) -#define REPEAT241(macro, arg, n) macro(arg, n) REPEAT240(macro, arg, INC_VALUE(n)) -#define REPEAT242(macro, arg, n) macro(arg, n) REPEAT241(macro, arg, INC_VALUE(n)) -#define REPEAT243(macro, arg, n) macro(arg, n) REPEAT242(macro, arg, INC_VALUE(n)) -#define REPEAT244(macro, arg, n) macro(arg, n) REPEAT243(macro, arg, INC_VALUE(n)) -#define REPEAT245(macro, arg, n) macro(arg, n) REPEAT244(macro, arg, INC_VALUE(n)) -#define REPEAT246(macro, arg, n) macro(arg, n) REPEAT245(macro, arg, INC_VALUE(n)) -#define REPEAT247(macro, arg, n) macro(arg, n) REPEAT246(macro, arg, INC_VALUE(n)) -#define REPEAT248(macro, arg, n) macro(arg, n) REPEAT247(macro, arg, INC_VALUE(n)) -#define REPEAT249(macro, arg, n) macro(arg, n) REPEAT248(macro, arg, INC_VALUE(n)) -#define REPEAT250(macro, arg, n) macro(arg, n) REPEAT249(macro, arg, INC_VALUE(n)) -#define REPEAT251(macro, arg, n) macro(arg, n) REPEAT250(macro, arg, INC_VALUE(n)) -#define REPEAT252(macro, arg, n) macro(arg, n) REPEAT251(macro, arg, INC_VALUE(n)) -#define REPEAT253(macro, arg, n) macro(arg, n) REPEAT252(macro, arg, INC_VALUE(n)) -#define REPEAT254(macro, arg, n) macro(arg, n) REPEAT253(macro, arg, INC_VALUE(n)) -#define REPEAT255(macro, arg, n) macro(arg, n) REPEAT254(macro, arg, INC_VALUE(n)) - -#ifdef __cplusplus -} -#endif - -#include -#endif /* _UTILS_REPEAT_MACRO_H */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/include/utils_ringbuffer.h b/software/firmware/oracle_same54n19a/hal/utils/include/utils_ringbuffer.h deleted file mode 100644 index 401d557..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/include/utils_ringbuffer.h +++ /dev/null @@ -1,116 +0,0 @@ -/** - * \file - * - * \brief Ringbuffer declaration. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#ifndef _UTILS_RINGBUFFER_H_INCLUDED -#define _UTILS_RINGBUFFER_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup doc_driver_hal_utils_ringbuffer - * - * @{ - */ - -#include "compiler.h" -#include "utils_assert.h" - -/** - * \brief Ring buffer element type - */ -struct ringbuffer { - uint8_t *buf; /** Buffer base address */ - uint32_t size; /** Buffer size */ - uint32_t read_index; /** Buffer read index */ - uint32_t write_index; /** Buffer write index */ -}; - -/** - * \brief Ring buffer init - * - * \param[in] rb The pointer to a ring buffer structure instance - * \param[in] buf Space to store the data - * \param[in] size The buffer length, must be aligned with power of 2 - * - * \return ERR_NONE on success, or an error code on failure. - */ -int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size); - -/** - * \brief Get one byte from ring buffer, the user needs to handle the concurrent - * access on buffer via put/get/flush - * - * \param[in] rb The pointer to a ring buffer structure instance - * \param[in] data One byte space to store the read data - * - * \return ERR_NONE on success, or an error code on failure. - */ -int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data); - -/** - * \brief Put one byte to ring buffer, the user needs to handle the concurrent access - * on buffer via put/get/flush - * - * \param[in] rb The pointer to a ring buffer structure instance - * \param[in] data One byte data to be put into ring buffer - * - * \return ERR_NONE on success, or an error code on failure. - */ -int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data); - -/** - * \brief Return the element number of ring buffer - * - * \param[in] rb The pointer to a ring buffer structure instance - * - * \return The number of elements in ring buffer [0, rb->size] - */ -uint32_t ringbuffer_num(const struct ringbuffer *const rb); - -/** - * \brief Flush ring buffer, the user needs to handle the concurrent access on buffer - * via put/get/flush - * - * \param[in] rb The pointer to a ring buffer structure instance - * - * \return ERR_NONE on success, or an error code on failure. - */ -uint32_t ringbuffer_flush(struct ringbuffer *const rb); - -/**@}*/ - -#ifdef __cplusplus -} -#endif -#endif /* _UTILS_RINGBUFFER_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hal/utils/src/utils_assert.c b/software/firmware/oracle_same54n19a/hal/utils/src/utils_assert.c deleted file mode 100644 index b376c97..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/src/utils_assert.c +++ /dev/null @@ -1,46 +0,0 @@ -/** - * \file - * - * \brief Asserts related functionality. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include - -/** - * \brief Assert function - */ -void assert(const bool condition, const char *const file, const int line) -{ - if (!(condition)) { - __asm("BKPT #0"); - } - (void)file; - (void)line; -} diff --git a/software/firmware/oracle_same54n19a/hal/utils/src/utils_event.c b/software/firmware/oracle_same54n19a/hal/utils/src/utils_event.c deleted file mode 100644 index d1af9d0..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/src/utils_event.c +++ /dev/null @@ -1,125 +0,0 @@ -/** - * \file - * - * \brief Events implementation. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include - -#define EVENT_WORD_BITS (sizeof(event_word_t) * 8) - -static struct list_descriptor events; -static uint8_t subscribed[EVENT_MASK_SIZE]; - -int32_t event_subscribe(struct event *const event, const event_id_t id, event_cb_t cb) -{ - /* get byte and bit number of the given event in the event mask */ - const uint8_t position = id >> 3; - const uint8_t mask = 1 << (id & 0x7); - - ASSERT(event && cb && (id < EVENT_MAX_AMOUNT)); - - if (event->mask[position] & mask) { - return ERR_NO_CHANGE; /* Already subscribed */ - } - - if (!is_list_element(&events, event)) { - memset(event->mask, 0, EVENT_MASK_SIZE); - list_insert_as_head(&events, event); - } - event->cb = cb; - event->mask[position] |= mask; - - subscribed[position] |= mask; - - return ERR_NONE; -} - -int32_t event_unsubscribe(struct event *const event, const event_id_t id) -{ - /* get byte and bit number of the given event in the event mask */ - const uint8_t position = id >> 3; - const uint8_t mask = 1 << (id & 0x7); - const struct event *current; - uint8_t i; - - ASSERT(event && (id < EVENT_MAX_AMOUNT)); - - if (!(event->mask[position] & mask)) { - return ERR_NO_CHANGE; /* Already unsubscribed */ - } - - event->mask[position] &= ~mask; - - /* Check if there are more subscribers */ - for ((current = (const struct event *)list_get_head(&events)); current; - current = (const struct event *)list_get_next_element(current)) { - if (current->mask[position] & mask) { - break; - } - } - if (!current) { - subscribed[position] &= ~mask; - } - - /* Remove event from the list. Can be unsave, document it! */ - for (i = 0; i < ARRAY_SIZE(event->mask); i++) { - if (event->mask[i]) { - return ERR_NONE; - } - } - list_delete_element(&events, event); - - return ERR_NONE; -} - -void event_post(const event_id_t id, const event_data_t data) -{ - /* get byte and bit number of the given event in the event mask */ - const uint8_t position = id >> 3; - const uint8_t mask = 1 << (id & 0x7); - const struct event *current; - - ASSERT((id < EVENT_MAX_AMOUNT)); - - if (!(subscribed[position] & mask)) { - return; /* No subscribers */ - } - - /* Find all subscribers */ - for ((current = (const struct event *)list_get_head(&events)); current; - current = (const struct event *)list_get_next_element(current)) { - if (current->mask[position] & mask) { - current->cb(id, data); - } - } -} diff --git a/software/firmware/oracle_same54n19a/hal/utils/src/utils_list.c b/software/firmware/oracle_same54n19a/hal/utils/src/utils_list.c deleted file mode 100644 index 4006a01..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/src/utils_list.c +++ /dev/null @@ -1,136 +0,0 @@ -/** - * \file - * - * \brief List functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include - -/** - * \brief Check whether element belongs to list - */ -bool is_list_element(const struct list_descriptor *const list, const void *const element) -{ - struct list_element *it; - for (it = list->head; it; it = it->next) { - if (it == element) { - return true; - } - } - - return false; -} - -/** - * \brief Insert an element as list head - */ -void list_insert_as_head(struct list_descriptor *const list, void *const element) -{ - ASSERT(!is_list_element(list, element)); - - ((struct list_element *)element)->next = list->head; - list->head = (struct list_element *)element; -} - -/** - * \brief Insert an element after the given list element - */ -void list_insert_after(void *const after, void *const element) -{ - ((struct list_element *)element)->next = ((struct list_element *)after)->next; - ((struct list_element *)after)->next = (struct list_element *)element; -} - -/** - * \brief Insert an element at list end - */ -void list_insert_at_end(struct list_descriptor *const list, void *const element) -{ - struct list_element *it = list->head; - - ASSERT(!is_list_element(list, element)); - - if (!list->head) { - list->head = (struct list_element *)element; - ((struct list_element *)element)->next = NULL; - return; - } - - while (it->next) { - it = it->next; - } - it->next = (struct list_element *)element; - ((struct list_element *)element)->next = NULL; -} - -/** - * \brief Removes list head - */ -void *list_remove_head(struct list_descriptor *const list) -{ - if (list->head) { - struct list_element *tmp = list->head; - - list->head = list->head->next; - return (void *)tmp; - } - - return NULL; -} - -/** - * \brief Removes list element - */ -bool list_delete_element(struct list_descriptor *const list, const void *const element) -{ - if (!element) { - return false; - } - - if (list->head == element) { - list->head = list->head->next; - return true; - } else { - struct list_element *it = list->head; - - while (it && it->next != element) { - it = it->next; - } - if (it) { - it->next = ((struct list_element *)element)->next; - return true; - } - } - - return false; -} - -//@} diff --git a/software/firmware/oracle_same54n19a/hal/utils/src/utils_ringbuffer.c b/software/firmware/oracle_same54n19a/hal/utils/src/utils_ringbuffer.c deleted file mode 100644 index 45cac83..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/src/utils_ringbuffer.c +++ /dev/null @@ -1,118 +0,0 @@ -/** - * \file - * - * \brief Ringbuffer functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#include "utils_ringbuffer.h" - -/** - * \brief Ringbuffer init - */ -int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size) -{ - ASSERT(rb && buf && size); - - /* - * buf size must be aligned to power of 2 - */ - if ((size & (size - 1)) != 0) { - return ERR_INVALID_ARG; - } - - /* size - 1 is faster in calculation */ - rb->size = size - 1; - rb->read_index = 0; - rb->write_index = rb->read_index; - rb->buf = (uint8_t *)buf; - - return ERR_NONE; -} - -/** - * \brief Get one byte from ringbuffer - * - */ -int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data) -{ - ASSERT(rb && data); - - if (rb->write_index != rb->read_index) { - *data = rb->buf[rb->read_index & rb->size]; - rb->read_index++; - return ERR_NONE; - } - - return ERR_NOT_FOUND; -} - -/** - * \brief Put one byte to ringbuffer - * - */ -int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data) -{ - ASSERT(rb); - - rb->buf[rb->write_index & rb->size] = data; - - /* - * buffer full strategy: new data will overwrite the oldest data in - * the buffer - */ - if ((rb->write_index - rb->read_index) > rb->size) { - rb->read_index = rb->write_index - rb->size; - } - - rb->write_index++; - - return ERR_NONE; -} - -/** - * \brief Return the element number of ringbuffer - */ -uint32_t ringbuffer_num(const struct ringbuffer *const rb) -{ - ASSERT(rb); - - return rb->write_index - rb->read_index; -} - -/** - * \brief Flush ringbuffer - */ -uint32_t ringbuffer_flush(struct ringbuffer *const rb) -{ - ASSERT(rb); - - rb->read_index = rb->write_index; - - return ERR_NONE; -} diff --git a/software/firmware/oracle_same54n19a/hal/utils/src/utils_syscalls.c b/software/firmware/oracle_same54n19a/hal/utils/src/utils_syscalls.c deleted file mode 100644 index 79e2f1f..0000000 --- a/software/firmware/oracle_same54n19a/hal/utils/src/utils_syscalls.c +++ /dev/null @@ -1,152 +0,0 @@ -/** - * \file - * - * \brief Syscalls for SAM0 (GCC). - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#undef errno -extern int errno; -extern int _end; - -extern caddr_t _sbrk(int incr); -extern int link(char *old, char *_new); -extern int _close(int file); -extern int _fstat(int file, struct stat *st); -extern int _isatty(int file); -extern int _lseek(int file, int ptr, int dir); -extern void _exit(int status); -extern void _kill(int pid, int sig); -extern int _getpid(void); - -/** - * \brief Replacement of C library of _sbrk - */ -extern caddr_t _sbrk(int incr) -{ - static unsigned char *heap = NULL; - unsigned char * prev_heap; - - if (heap == NULL) { - heap = (unsigned char *)&_end; - } - prev_heap = heap; - - heap += incr; - - return (caddr_t)prev_heap; -} - -/** - * \brief Replacement of C library of link - */ -extern int link(char *old, char *_new) -{ - (void)old, (void)_new; - return -1; -} - -/** - * \brief Replacement of C library of _close - */ -extern int _close(int file) -{ - (void)file; - return -1; -} - -/** - * \brief Replacement of C library of _fstat - */ -extern int _fstat(int file, struct stat *st) -{ - (void)file; - st->st_mode = S_IFCHR; - - return 0; -} - -/** - * \brief Replacement of C library of _isatty - */ -extern int _isatty(int file) -{ - (void)file; - return 1; -} - -/** - * \brief Replacement of C library of _lseek - */ -extern int _lseek(int file, int ptr, int dir) -{ - (void)file, (void)ptr, (void)dir; - return 0; -} - -/** - * \brief Replacement of C library of _exit - */ -extern void _exit(int status) -{ - printf("Exiting with status %d.\n", status); - - for (;;) - ; -} - -/** - * \brief Replacement of C library of _kill - */ -extern void _kill(int pid, int sig) -{ - (void)pid, (void)sig; - return; -} - -/** - * \brief Replacement of C library of _getpid - */ -extern int _getpid(void) -{ - return -1; -} - -#ifdef __cplusplus -} -#endif diff --git a/software/firmware/oracle_same54n19a/hpl/cmcc/hpl_cmcc.c b/software/firmware/oracle_same54n19a/hpl/cmcc/hpl_cmcc.c deleted file mode 100644 index bddf0e1..0000000 --- a/software/firmware/oracle_same54n19a/hpl/cmcc/hpl_cmcc.c +++ /dev/null @@ -1,354 +0,0 @@ -/** - * \file - * - * \brief Generic CMCC(Cortex M Cache Controller) related functionality. - * - * Copyright (c)2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit Microchip Support - */ - -#include -#include -#include - -/** - * \brief Initialize Cache Module - * - * This function does low level cache configuration. - * - * \return initialize status - */ -int32_t _cmcc_init(void) -{ - int32_t return_value; - - _cmcc_disable(CMCC); - - if (_is_cache_disabled(CMCC)) { - hri_cmcc_write_CFG_reg( - CMCC, - (CMCC_CFG_CSIZESW(CONF_CMCC_CACHE_SIZE) | (CONF_CMCC_DATA_CACHE_DISABLE << CMCC_CFG_DCDIS_Pos) - | (CONF_CMCC_INST_CACHE_DISABLE << CMCC_CFG_ICDIS_Pos) | (CONF_CMCC_CLK_GATING_DISABLE))); - - _cmcc_enable(CMCC); - return_value = _is_cache_enabled(CMCC) == true ? ERR_NONE : ERR_FAILURE; - } else { - return_value = ERR_NOT_INITIALIZED; - } - - return return_value; -} - -/** - * \brief Configure CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] cache configuration structure pointer - * - * \return status of operation - */ -int32_t _cmcc_configure(const void *hw, struct _cache_cfg *cache_ctrl) -{ - int32_t return_value; - - _cmcc_disable(hw); - - if (_is_cache_disabled(hw)) { - hri_cmcc_write_CFG_reg( - hw, - (CMCC_CFG_CSIZESW(cache_ctrl->cache_size) | (cache_ctrl->data_cache_disable << CMCC_CFG_DCDIS_Pos) - | (cache_ctrl->inst_cache_disable << CMCC_CFG_ICDIS_Pos) | (cache_ctrl->gclk_gate_disable))); - - return_value = ERR_NONE; - } else { - return_value = ERR_NOT_INITIALIZED; - } - - return return_value; -} - -/** - * \brief Enable data cache in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] boolean 1 -> Enable the data cache, 0 -> disable the data cache - * - * \return status of operation - */ -int32_t _cmcc_enable_data_cache(const void *hw, bool value) -{ - uint32_t tmp; - int32_t ret; - - tmp = hri_cmcc_read_CFG_reg(hw); - tmp &= ~CMCC_CFG_DCDIS; - tmp |= ((!value) << CMCC_CFG_DCDIS_Pos); - - ret = _cmcc_disable(hw); - hri_cmcc_write_CFG_reg(hw, tmp); - ret = _cmcc_enable(hw); - - return ret; -} - -/** - * \brief Enable instruction cache in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] boolean 1 -> Enable the inst cache, 0 -> disable the inst cache - * - * \return status of operation - */ -int32_t _cmcc_enable_inst_cache(const void *hw, bool value) -{ - uint32_t tmp; - int32_t ret; - - tmp = hri_cmcc_read_CFG_reg(hw); - tmp &= ~CMCC_CFG_ICDIS; - tmp |= ((!value) << CMCC_CFG_ICDIS_Pos); - - ret = _cmcc_disable(hw); - hri_cmcc_write_CFG_reg(hw, tmp); - ret = _cmcc_enable(hw); - - return ret; -} - -/** - * \brief Enable clock gating in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] boolean 1 -> Enable the clock gate, 0 -> disable the clock gate - * - * \return status of operation - */ -int32_t _cmcc_enable_clock_gating(const void *hw, bool value) -{ - uint32_t tmp; - int32_t ret; - - tmp = hri_cmcc_read_CFG_reg(hw); - tmp |= value; - - ret = _cmcc_disable(hw); - hri_cmcc_write_CFG_reg(hw, tmp); - ret = _cmcc_enable(hw); - - return ret; -} - -/** - * \brief Configure the cache size in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from cache size configuration enumerator - * 0->1K, 1->2K, 2->4K(default) - * - * \return status of operation - */ -int32_t _cmcc_configure_cache_size(const void *hw, enum conf_cache_size size) -{ - uint32_t tmp; - int32_t ret; - - tmp = hri_cmcc_read_CFG_reg(hw); - tmp &= (~CMCC_CFG_CSIZESW_Msk); - tmp |= (size << CMCC_CFG_CSIZESW_Pos); - - ret = _cmcc_disable(hw); - hri_cmcc_write_CFG_reg(hw, tmp); - ret = _cmcc_enable(hw); - - return ret; -} - -/** - * \brief Lock the mentioned WAY in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from "way_num_index" enumerator - * - * \return status of operation - */ -int32_t _cmcc_lock_way(const void *hw, enum way_num_index num) -{ - uint32_t tmp; - int32_t ret; - - tmp = hri_cmcc_read_LCKWAY_reg(hw); - tmp |= CMCC_LCKWAY_LCKWAY(num); - - ret = _cmcc_disable(hw); - hri_cmcc_write_LCKWAY_reg(hw, tmp); - ret = _cmcc_enable(hw); - - return ret; -} - -/** - * \brief Unlock the mentioned WAY in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from "way_num_index" enumerator - * - * \return status of operation - */ -int32_t _cmcc_unlock_way(const void *hw, enum way_num_index num) -{ - uint32_t tmp; - int32_t ret; - - tmp = hri_cmcc_read_LCKWAY_reg(hw); - tmp &= (~CMCC_LCKWAY_LCKWAY(num)); - - ret = _cmcc_disable(hw); - hri_cmcc_write_LCKWAY_reg(hw, tmp); - ret = _cmcc_enable(hw); - - return ret; -} - -/** - * \brief Invalidate the mentioned cache line in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from "way_num" enumerator (valid arg is 0-3) - * \param[in] line number (valid arg is 0-63 as each way will have 64 lines) - * - * \return status of operation - */ -int32_t _cmcc_invalidate_by_line(const void *hw, uint8_t way_num, uint8_t line_num) -{ - int32_t return_value; - - if ((way_num < CMCC_WAY_NOS) && (line_num < CMCC_LINE_NOS)) { - _cmcc_disable(hw); - while (!(_is_cache_disabled(hw))) - ; - hri_cmcc_write_MAINT1_reg(hw, (CMCC_MAINT1_INDEX(line_num) | CMCC_MAINT1_WAY(way_num))); - return_value = ERR_NONE; - } else { - return_value = ERR_INVALID_ARG; - } - - return return_value; -} - -/** - * \brief Invalidate entire cache entries in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return status of operation - */ -int32_t _cmcc_invalidate_all(const void *hw) -{ - int32_t return_value; - - _cmcc_disable(hw); - if (_is_cache_disabled(hw)) { - hri_cmcc_write_MAINT0_reg(hw, CMCC_MAINT0_INVALL); - return_value = ERR_NONE; - } else { - return_value = ERR_FAILURE; - } - - return return_value; -} - -/** - * \brief Configure cache monitor in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * \param[in] element from cache monitor configurations enumerator - * - * \return status of operation - */ -int32_t _cmcc_configure_monitor(const void *hw, enum conf_cache_monitor monitor_cfg) -{ - hri_cmcc_write_MCFG_reg(hw, CMCC_MCFG_MODE(monitor_cfg)); - - return ERR_NONE; -} - -/** - * \brief Enable cache monitor in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return status of operation - */ -int32_t _cmcc_enable_monitor(const void *hw) -{ - hri_cmcc_write_MEN_reg(hw, CMCC_MEN_MENABLE); - - return ERR_NONE; -} - -/** - * \brief Disable cache monitor in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return status of operation - */ -int32_t _cmcc_disable_monitor(const void *hw) -{ - hri_cmcc_write_MEN_reg(hw, (CMCC_MONITOR_DISABLE << CMCC_MEN_MENABLE_Pos)); - - return ERR_NONE; -} - -/** - * \brief Reset cache monitor in CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return status of operation - */ -int32_t _cmcc_reset_monitor(const void *hw) -{ - hri_cmcc_write_MCTRL_reg(hw, CMCC_MCTRL_SWRST); - - return ERR_NONE; -} - -/** - * \brief Get cache monitor event counter value from CMCC module - * - * \param[in] pointer pointing to the starting address of CMCC module - * - * \return event counter value - */ -uint32_t _cmcc_get_monitor_event_count(const void *hw) -{ - return hri_cmcc_read_MSR_reg(hw); -} diff --git a/software/firmware/oracle_same54n19a/hpl/core/hpl_core_m4.c b/software/firmware/oracle_same54n19a/hpl/core/hpl_core_m4.c deleted file mode 100644 index 4680ec3..0000000 --- a/software/firmware/oracle_same54n19a/hpl/core/hpl_core_m4.c +++ /dev/null @@ -1,241 +0,0 @@ -/** - * \file - * - * \brief Core related functionality implementation. - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#ifndef _UNIT_TEST_ -#include -#endif -#include -#include - -#ifndef CONF_CPU_FREQUENCY -#define CONF_CPU_FREQUENCY 1000000 -#endif - -#if CONF_CPU_FREQUENCY < 1000 -#define CPU_FREQ_POWER 3 -#elif CONF_CPU_FREQUENCY < 10000 -#define CPU_FREQ_POWER 4 -#elif CONF_CPU_FREQUENCY < 100000 -#define CPU_FREQ_POWER 5 -#elif CONF_CPU_FREQUENCY < 1000000 -#define CPU_FREQ_POWER 6 -#elif CONF_CPU_FREQUENCY < 10000000 -#define CPU_FREQ_POWER 7 -#elif CONF_CPU_FREQUENCY < 100000000 -#define CPU_FREQ_POWER 8 -#elif CONF_CPU_FREQUENCY < 1000000000 -#define CPU_FREQ_POWER 9 -#endif - -/** - * \brief The array of interrupt handlers - */ -struct _irq_descriptor *_irq_table[PERIPH_COUNT_IRQn]; - -/** - * \brief Reset MCU - */ -void _reset_mcu(void) -{ - NVIC_SystemReset(); -} - -/** - * \brief Put MCU to sleep - */ -void _go_to_sleep(void) -{ - __DSB(); - __WFI(); -} - -/** - * \brief Retrieve current IRQ number - */ -uint8_t _irq_get_current(void) -{ - return (uint8_t)__get_IPSR() - 16; -} - -/** - * \brief Disable the given IRQ - */ -void _irq_disable(uint8_t n) -{ - NVIC_DisableIRQ((IRQn_Type)n); -} - -/** - * \brief Set the given IRQ - */ -void _irq_set(uint8_t n) -{ - NVIC_SetPendingIRQ((IRQn_Type)n); -} - -/** - * \brief Clear the given IRQ - */ -void _irq_clear(uint8_t n) -{ - NVIC_ClearPendingIRQ((IRQn_Type)n); -} - -/** - * \brief Enable the given IRQ - */ -void _irq_enable(uint8_t n) -{ - NVIC_EnableIRQ((IRQn_Type)n); -} - -/** - * \brief Register IRQ handler - */ -void _irq_register(const uint8_t n, struct _irq_descriptor *const irq) -{ - ASSERT(n < PERIPH_COUNT_IRQn); - - _irq_table[n] = irq; -} - -/** - * \brief Default interrupt handler for unused IRQs. - */ -void Default_Handler(void) -{ - while (1) { - } -} - -/** - * \brief Retrieve the amount of cycles to delay for the given amount of us - */ -static inline uint32_t _get_cycles_for_us_internal(const uint16_t us, const uint32_t freq, const uint8_t power) -{ - switch (power) { - case 9: - return (us * (freq / 1000000) + 2) / 3; - case 8: - return (us * (freq / 100000) + 29) / 30; - case 7: - return (us * (freq / 10000) + 299) / 300; - case 6: - return (us * (freq / 1000) + 2999) / 3000; - case 5: - return (us * (freq / 100) + 29999) / 30000; - case 4: - return (us * (freq / 10) + 299999) / 300000; - default: - return (us * freq + 2999999) / 3000000; - } -} - -/** - * \brief Retrieve the amount of cycles to delay for the given amount of us - */ -uint32_t _get_cycles_for_us(const uint16_t us) -{ - return _get_cycles_for_us_internal(us, CONF_CPU_FREQUENCY, CPU_FREQ_POWER); -} - -/** - * \brief Retrieve the amount of cycles to delay for the given amount of ms - */ -static inline uint32_t _get_cycles_for_ms_internal(const uint16_t ms, const uint32_t freq, const uint8_t power) -{ - switch (power) { - case 9: - return (ms * (freq / 1000000) + 2) / 3 * 1000; - case 8: - return (ms * (freq / 100000) + 2) / 3 * 100; - case 7: - return (ms * (freq / 10000) + 2) / 3 * 10; - case 6: - return (ms * (freq / 1000) + 2) / 3; - case 5: - return (ms * (freq / 100) + 29) / 30; - case 4: - return (ms * (freq / 10) + 299) / 300; - default: - return (ms * (freq / 1) + 2999) / 3000; - } -} - -/** - * \brief Retrieve the amount of cycles to delay for the given amount of ms - */ -uint32_t _get_cycles_for_ms(const uint16_t ms) -{ - return _get_cycles_for_ms_internal(ms, CONF_CPU_FREQUENCY, CPU_FREQ_POWER); -} -/** - * \brief Initialize delay functionality - */ -void _delay_init(void *const hw) -{ - (void)hw; -} -/** - * \brief Delay loop to delay n number of cycles - */ -void _delay_cycles(void *const hw, uint32_t cycles) -{ -#ifndef _UNIT_TEST_ - (void)hw; - (void)cycles; -#if defined(__GNUC__) && (__ARMCOMPILER_VERSION > 6000000) /* Keil MDK with ARM Compiler 6 */ - __asm(".align 3 \n" - "__delay:\n" - "subs r1, r1, #1\n" - "bhi __delay\n"); -#elif defined __GNUC__ - __asm(".syntax unified\n" - ".align 3 \n" - "__delay:\n" - "subs r1, r1, #1\n" - "bhi __delay\n" - ".syntax divided"); -#elif defined __CC_ARM - __asm("__delay:\n" - "subs cycles, cycles, #1\n" - "bhi __delay\n"); -#elif defined __ICCARM__ - __asm("__delay:\n" - "subs r1, r1, #1\n" - "bhi.n __delay\n"); -#endif -#endif -} diff --git a/software/firmware/oracle_same54n19a/hpl/core/hpl_core_port.h b/software/firmware/oracle_same54n19a/hpl/core/hpl_core_port.h deleted file mode 100644 index 3f3e8f2..0000000 --- a/software/firmware/oracle_same54n19a/hpl/core/hpl_core_port.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - * \file - * - * \brief Core related functionality implementation. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_CORE_PORT_H_INCLUDED -#define _HPL_CORE_PORT_H_INCLUDED - -#include - -/* It's possible to include this file in ARM ASM files (e.g., in FreeRTOS IAR - * portable implement, portasm.s -> FreeRTOSConfig.h -> hpl_core_port.h), - * there will be assembling errors. - * So the following things are not included for assembling. - */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - -#ifndef _UNIT_TEST_ -#include -#endif - -/** - * \brief Check if it's in ISR handling - * \return \c true if it's in ISR - */ -static inline bool _is_in_isr(void) -{ - return (SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk); -} - -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _HPL_CORE_PORT_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hpl/core/hpl_init.c b/software/firmware/oracle_same54n19a/hpl/core/hpl_init.c deleted file mode 100644 index be0db93..0000000 --- a/software/firmware/oracle_same54n19a/hpl/core/hpl_init.c +++ /dev/null @@ -1,78 +0,0 @@ -/** - * \file - * - * \brief HPL initialization related functionality implementation. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include -#include - -#include -#include -#include -#include - -/* Referenced GCLKs (out of 0~11), should be initialized firstly - */ -#define _GCLK_INIT_1ST 0x00000000 -/* Not referenced GCLKs, initialized last */ -#define _GCLK_INIT_LAST 0x00000FFF - -/** - * \brief Initialize the hardware abstraction layer - */ -void _init_chip(void) -{ - hri_nvmctrl_set_CTRLA_RWS_bf(NVMCTRL, CONF_NVM_WAIT_STATE); - - _osc32kctrl_init_sources(); - _oscctrl_init_sources(); - _mclk_init(); -#if _GCLK_INIT_1ST - _gclk_init_generators_by_fref(_GCLK_INIT_1ST); -#endif - _oscctrl_init_referenced_generators(); - _gclk_init_generators_by_fref(_GCLK_INIT_LAST); - -#if CONF_DMAC_ENABLE - hri_mclk_set_AHBMASK_DMAC_bit(MCLK); - _dma_init(); -#endif - -#if (CONF_PORT_EVCTRL_PORT_0 | CONF_PORT_EVCTRL_PORT_1 | CONF_PORT_EVCTRL_PORT_2 | CONF_PORT_EVCTRL_PORT_3) - _port_event_init(); -#endif - -#if CONF_CMCC_ENABLE - cache_init(); -#endif -} diff --git a/software/firmware/oracle_same54n19a/hpl/dmac/hpl_dmac.c b/software/firmware/oracle_same54n19a/hpl/dmac/hpl_dmac.c deleted file mode 100644 index c7b03b0..0000000 --- a/software/firmware/oracle_same54n19a/hpl/dmac/hpl_dmac.c +++ /dev/null @@ -1,263 +0,0 @@ - -/** - * \file - * - * \brief Generic DMAC related functionality. - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#include -#include -#include -#include -#include - -#if CONF_DMAC_ENABLE -/* Section containing first descriptors for all DMAC channels */ -COMPILER_ALIGNED(16) -DmacDescriptor _descriptor_section[DMAC_CH_NUM]; - -/* Section containing current descriptors for all DMAC channels */ -COMPILER_ALIGNED(16) -DmacDescriptor _write_back_section[DMAC_CH_NUM]; - -/* Array containing callbacks for DMAC channels */ -static struct _dma_resource _resources[DMAC_CH_NUM]; - -/* DMAC interrupt handler */ -static void _dmac_handler(void); - -/* This macro DMAC configuration */ -#define DMAC_CHANNEL_CFG(i, n) \ - {(CONF_DMAC_RUNSTDBY_##n << DMAC_CHCTRLA_RUNSTDBY_Pos) | DMAC_CHCTRLA_TRIGACT(CONF_DMAC_TRIGACT_##n) \ - | DMAC_CHCTRLA_TRIGSRC(CONF_DMAC_TRIGSRC_##n), \ - DMAC_CHPRILVL_PRILVL(CONF_DMAC_LVL_##n), \ - (CONF_DMAC_EVIE_##n << DMAC_CHEVCTRL_EVIE_Pos) | (CONF_DMAC_EVOE_##n << DMAC_CHEVCTRL_EVOE_Pos) \ - | (CONF_DMAC_EVACT_##n << DMAC_CHEVCTRL_EVACT_Pos), \ - DMAC_BTCTRL_STEPSIZE(CONF_DMAC_STEPSIZE_##n) | (CONF_DMAC_STEPSEL_##n << DMAC_BTCTRL_STEPSEL_Pos) \ - | (CONF_DMAC_DSTINC_##n << DMAC_BTCTRL_DSTINC_Pos) | (CONF_DMAC_SRCINC_##n << DMAC_BTCTRL_SRCINC_Pos) \ - | DMAC_BTCTRL_BEATSIZE(CONF_DMAC_BEATSIZE_##n) | DMAC_BTCTRL_BLOCKACT(CONF_DMAC_BLOCKACT_##n) \ - | DMAC_BTCTRL_EVOSEL(CONF_DMAC_EVOSEL_##n)}, - -/* DMAC channel configuration */ -struct dmac_channel_cfg { - uint32_t ctrla; - uint8_t prilvl; - uint8_t evctrl; - uint16_t btctrl; -}; - -/* DMAC channel configurations */ -const static struct dmac_channel_cfg _cfgs[] = {REPEAT_MACRO(DMAC_CHANNEL_CFG, i, DMAC_CH_NUM)}; - -/** - * \brief Initialize DMAC - */ -int32_t _dma_init(void) -{ - uint8_t i; - - hri_dmac_clear_CTRL_DMAENABLE_bit(DMAC); - hri_dmac_clear_CRCCTRL_reg(DMAC, DMAC_CRCCTRL_CRCSRC_Msk); - hri_dmac_set_CTRL_SWRST_bit(DMAC); - while (hri_dmac_get_CTRL_SWRST_bit(DMAC)) - ; - - hri_dmac_write_CTRL_reg(DMAC, - (CONF_DMAC_LVLEN0 << DMAC_CTRL_LVLEN0_Pos) | (CONF_DMAC_LVLEN1 << DMAC_CTRL_LVLEN1_Pos) - | (CONF_DMAC_LVLEN2 << DMAC_CTRL_LVLEN2_Pos) - | (CONF_DMAC_LVLEN3 << DMAC_CTRL_LVLEN3_Pos)); - hri_dmac_write_DBGCTRL_DBGRUN_bit(DMAC, CONF_DMAC_DBGRUN); - - hri_dmac_write_PRICTRL0_reg( - DMAC, - DMAC_PRICTRL0_LVLPRI0(CONF_DMAC_LVLPRI0) | DMAC_PRICTRL0_LVLPRI1(CONF_DMAC_LVLPRI1) - | DMAC_PRICTRL0_LVLPRI2(CONF_DMAC_LVLPRI2) | DMAC_PRICTRL0_LVLPRI3(CONF_DMAC_LVLPRI3) - | (CONF_DMAC_RRLVLEN0 << DMAC_PRICTRL0_RRLVLEN0_Pos) | (CONF_DMAC_RRLVLEN1 << DMAC_PRICTRL0_RRLVLEN1_Pos) - | (CONF_DMAC_RRLVLEN2 << DMAC_PRICTRL0_RRLVLEN2_Pos) | (CONF_DMAC_RRLVLEN3 << DMAC_PRICTRL0_RRLVLEN3_Pos)); - hri_dmac_write_BASEADDR_reg(DMAC, (uint32_t)_descriptor_section); - hri_dmac_write_WRBADDR_reg(DMAC, (uint32_t)_write_back_section); - - for (i = 0; i < DMAC_CH_NUM; i++) { - hri_dmac_write_CHCTRLA_reg(DMAC, i, _cfgs[i].ctrla); - hri_dmac_write_CHPRILVL_reg(DMAC, i, _cfgs[i].prilvl); - hri_dmac_write_CHEVCTRL_reg(DMAC, i, _cfgs[i].evctrl); - hri_dmacdescriptor_write_BTCTRL_reg(&_descriptor_section[i], _cfgs[i].btctrl); - hri_dmacdescriptor_write_DESCADDR_reg(&_descriptor_section[i], 0x0); - } - - for (i = 0; i < 5; i++) { - NVIC_DisableIRQ(DMAC_0_IRQn + i); - NVIC_ClearPendingIRQ(DMAC_0_IRQn + i); - NVIC_EnableIRQ(DMAC_0_IRQn + i); - } - - hri_dmac_set_CTRL_DMAENABLE_bit(DMAC); - - return ERR_NONE; -} - -/** - * \brief Enable/disable DMA interrupt - */ -void _dma_set_irq_state(const uint8_t channel, const enum _dma_callback_type type, const bool state) -{ - if (DMA_TRANSFER_COMPLETE_CB == type) { - hri_dmac_write_CHINTEN_TCMPL_bit(DMAC, channel, state); - } else if (DMA_TRANSFER_ERROR_CB == type) { - hri_dmac_write_CHINTEN_TERR_bit(DMAC, channel, state); - } -} - -int32_t _dma_set_destination_address(const uint8_t channel, const void *const dst) -{ - hri_dmacdescriptor_write_DSTADDR_reg(&_descriptor_section[channel], (uint32_t)dst); - - return ERR_NONE; -} - -int32_t _dma_set_source_address(const uint8_t channel, const void *const src) -{ - hri_dmacdescriptor_write_SRCADDR_reg(&_descriptor_section[channel], (uint32_t)src); - - return ERR_NONE; -} - -int32_t _dma_set_next_descriptor(const uint8_t current_channel, const uint8_t next_channel) -{ - hri_dmacdescriptor_write_DESCADDR_reg(&_descriptor_section[current_channel], - (uint32_t)&_descriptor_section[next_channel]); - - return ERR_NONE; -} - -int32_t _dma_srcinc_enable(const uint8_t channel, const bool enable) -{ - hri_dmacdescriptor_write_BTCTRL_SRCINC_bit(&_descriptor_section[channel], enable); - - return ERR_NONE; -} - -int32_t _dma_set_data_amount(const uint8_t channel, const uint32_t amount) -{ - uint32_t address = hri_dmacdescriptor_read_DSTADDR_reg(&_descriptor_section[channel]); - uint8_t beat_size = hri_dmacdescriptor_read_BTCTRL_BEATSIZE_bf(&_descriptor_section[channel]); - - if (hri_dmacdescriptor_get_BTCTRL_DSTINC_bit(&_descriptor_section[channel])) { - hri_dmacdescriptor_write_DSTADDR_reg(&_descriptor_section[channel], address + amount * (1 << beat_size)); - } - - address = hri_dmacdescriptor_read_SRCADDR_reg(&_descriptor_section[channel]); - - if (hri_dmacdescriptor_get_BTCTRL_SRCINC_bit(&_descriptor_section[channel])) { - hri_dmacdescriptor_write_SRCADDR_reg(&_descriptor_section[channel], address + amount * (1 << beat_size)); - } - - hri_dmacdescriptor_write_BTCNT_reg(&_descriptor_section[channel], amount); - - return ERR_NONE; -} - -int32_t _dma_enable_transaction(const uint8_t channel, const bool software_trigger) -{ - hri_dmacdescriptor_set_BTCTRL_VALID_bit(&_descriptor_section[channel]); - hri_dmac_set_CHCTRLA_ENABLE_bit(DMAC, channel); - - if (software_trigger) { - hri_dmac_set_SWTRIGCTRL_reg(DMAC, 1 << channel); - } - - return ERR_NONE; -} - -int32_t _dma_get_channel_resource(struct _dma_resource **resource, const uint8_t channel) -{ - *resource = &_resources[channel]; - - return ERR_NONE; -} - -int32_t _dma_dstinc_enable(const uint8_t channel, const bool enable) -{ - hri_dmacdescriptor_write_BTCTRL_DSTINC_bit(&_descriptor_section[channel], enable); - - return ERR_NONE; -} -/** - * \internal DMAC interrupt handler - */ -static void _dmac_handler(void) -{ - uint8_t channel = hri_dmac_get_INTPEND_reg(DMAC, DMAC_INTPEND_ID_Msk); - struct _dma_resource *tmp_resource = &_resources[channel]; - - if (hri_dmac_get_INTPEND_TERR_bit(DMAC)) { - hri_dmac_clear_CHINTFLAG_TERR_bit(DMAC, channel); - tmp_resource->dma_cb.error(tmp_resource); - } else if (hri_dmac_get_INTPEND_TCMPL_bit(DMAC)) { - hri_dmac_clear_CHINTFLAG_TCMPL_bit(DMAC, channel); - tmp_resource->dma_cb.transfer_done(tmp_resource); - } -} -/** - * \brief DMAC interrupt handler - */ -void DMAC_0_Handler(void) -{ - _dmac_handler(); -} -/** - * \brief DMAC interrupt handler - */ -void DMAC_1_Handler(void) -{ - _dmac_handler(); -} -/** - * \brief DMAC interrupt handler - */ -void DMAC_2_Handler(void) -{ - _dmac_handler(); -} -/** - * \brief DMAC interrupt handler - */ -void DMAC_3_Handler(void) -{ - _dmac_handler(); -} -/** - * \brief DMAC interrupt handler - */ -void DMAC_4_Handler(void) -{ - _dmac_handler(); -} - -#endif /* CONF_DMAC_ENABLE */ diff --git a/software/firmware/oracle_same54n19a/hpl/eic/hpl_eic.c b/software/firmware/oracle_same54n19a/hpl/eic/hpl_eic.c deleted file mode 100644 index b691409..0000000 --- a/software/firmware/oracle_same54n19a/hpl/eic/hpl_eic.c +++ /dev/null @@ -1,258 +0,0 @@ - -/** - * \file - * - * \brief EIC related functionality implementation. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#include -#include -#include -#include -#include -#include - -#ifdef __MINGW32__ -#define ffs __builtin_ffs -#endif -#if defined(__CC_ARM) || defined(__ICCARM__) -/* Find the first bit set */ -static int ffs(int v) -{ - int i, bit = 1; - for (i = 0; i < sizeof(int) * 8; i++) { - if (v & bit) { - return i + 1; - } - bit <<= 1; - } - return 0; -} -#endif - -/** - * \brief Invalid external interrupt and pin numbers - */ -#define INVALID_EXTINT_NUMBER 0xFF -#define INVALID_PIN_NUMBER 0xFFFFFFFF - -#ifndef CONFIG_EIC_EXTINT_MAP -/** Dummy mapping to pass compiling. */ -#define CONFIG_EIC_EXTINT_MAP \ - { \ - INVALID_EXTINT_NUMBER, INVALID_PIN_NUMBER \ - } -#endif - -#define EXT_IRQ_AMOUNT 0 - -/** - * \brief EXTINTx and pin number map - */ -struct _eic_map { - uint8_t extint; - uint32_t pin; -}; - -/** - * \brief PIN and EXTINT map for enabled external interrupts - */ -static const struct _eic_map _map[] = {CONFIG_EIC_EXTINT_MAP}; - -/** - * \brief The callback to upper layer's interrupt processing routine - */ -static void (*callback)(const uint32_t pin); - -static void _ext_irq_handler(void); - -/** - * \brief Initialize external interrupt module - */ -int32_t _ext_irq_init(void (*cb)(const uint32_t pin)) -{ - if (!hri_eic_is_syncing(EIC, EIC_SYNCBUSY_SWRST)) { - if (hri_eic_get_CTRLA_reg(EIC, EIC_CTRLA_ENABLE)) { - hri_eic_clear_CTRLA_ENABLE_bit(EIC); - hri_eic_wait_for_sync(EIC, EIC_SYNCBUSY_ENABLE); - } - hri_eic_write_CTRLA_reg(EIC, EIC_CTRLA_SWRST); - } - hri_eic_wait_for_sync(EIC, EIC_SYNCBUSY_SWRST); - - hri_eic_write_CTRLA_CKSEL_bit(EIC, CONF_EIC_CKSEL); - - hri_eic_write_NMICTRL_reg(EIC, - (CONF_EIC_NMIFILTEN << EIC_NMICTRL_NMIFILTEN_Pos) - | EIC_NMICTRL_NMISENSE(CONF_EIC_NMISENSE) | EIC_ASYNCH_ASYNCH(CONF_EIC_NMIASYNCH) - | 0); - - hri_eic_write_EVCTRL_reg(EIC, - (CONF_EIC_EXTINTEO0 << 0) | (CONF_EIC_EXTINTEO1 << 1) | (CONF_EIC_EXTINTEO2 << 2) - | (CONF_EIC_EXTINTEO3 << 3) | (CONF_EIC_EXTINTEO4 << 4) | (CONF_EIC_EXTINTEO5 << 5) - | (CONF_EIC_EXTINTEO6 << 6) | (CONF_EIC_EXTINTEO7 << 7) | (CONF_EIC_EXTINTEO8 << 8) - | (CONF_EIC_EXTINTEO9 << 9) | (CONF_EIC_EXTINTEO10 << 10) | (CONF_EIC_EXTINTEO11 << 11) - | (CONF_EIC_EXTINTEO12 << 12) | (CONF_EIC_EXTINTEO13 << 13) - | (CONF_EIC_EXTINTEO14 << 14) | (CONF_EIC_EXTINTEO15 << 15) | 0); - hri_eic_write_ASYNCH_reg(EIC, - (CONF_EIC_ASYNCH0 << 0) | (CONF_EIC_ASYNCH1 << 1) | (CONF_EIC_ASYNCH2 << 2) - | (CONF_EIC_ASYNCH3 << 3) | (CONF_EIC_ASYNCH4 << 4) | (CONF_EIC_ASYNCH5 << 5) - | (CONF_EIC_ASYNCH6 << 6) | (CONF_EIC_ASYNCH7 << 7) | (CONF_EIC_ASYNCH8 << 8) - | (CONF_EIC_ASYNCH9 << 9) | (CONF_EIC_ASYNCH10 << 10) | (CONF_EIC_ASYNCH11 << 11) - | (CONF_EIC_ASYNCH12 << 12) | (CONF_EIC_ASYNCH13 << 13) | (CONF_EIC_ASYNCH14 << 14) - | (CONF_EIC_ASYNCH15 << 15) | 0); - hri_eic_write_DEBOUNCEN_reg( - EIC, - (CONF_EIC_DEBOUNCE_ENABLE0 << 0) | (CONF_EIC_DEBOUNCE_ENABLE1 << 1) | (CONF_EIC_DEBOUNCE_ENABLE2 << 2) - | (CONF_EIC_DEBOUNCE_ENABLE3 << 3) | (CONF_EIC_DEBOUNCE_ENABLE4 << 4) | (CONF_EIC_DEBOUNCE_ENABLE5 << 5) - | (CONF_EIC_DEBOUNCE_ENABLE6 << 6) | (CONF_EIC_DEBOUNCE_ENABLE7 << 7) | (CONF_EIC_DEBOUNCE_ENABLE8 << 8) - | (CONF_EIC_DEBOUNCE_ENABLE9 << 9) | (CONF_EIC_DEBOUNCE_ENABLE10 << 10) | (CONF_EIC_DEBOUNCE_ENABLE11 << 11) - | (CONF_EIC_DEBOUNCE_ENABLE12 << 12) | (CONF_EIC_DEBOUNCE_ENABLE13 << 13) - | (CONF_EIC_DEBOUNCE_ENABLE14 << 14) | (CONF_EIC_DEBOUNCE_ENABLE15 << 15) | 0); - - hri_eic_write_DPRESCALER_reg( - EIC, - (EIC_DPRESCALER_PRESCALER0(CONF_EIC_DPRESCALER0)) | (CONF_EIC_STATES0 << EIC_DPRESCALER_STATES0_Pos) - | (EIC_DPRESCALER_PRESCALER1(CONF_EIC_DPRESCALER1)) | (CONF_EIC_STATES1 << EIC_DPRESCALER_STATES1_Pos) - | CONF_EIC_TICKON << EIC_DPRESCALER_TICKON_Pos | 0); - - hri_eic_write_CONFIG_reg(EIC, - 0, - (CONF_EIC_FILTEN0 << EIC_CONFIG_FILTEN0_Pos) | EIC_CONFIG_SENSE0(CONF_EIC_SENSE0) - | (CONF_EIC_FILTEN1 << EIC_CONFIG_FILTEN1_Pos) | EIC_CONFIG_SENSE1(CONF_EIC_SENSE1) - | (CONF_EIC_FILTEN2 << EIC_CONFIG_FILTEN2_Pos) | EIC_CONFIG_SENSE2(CONF_EIC_SENSE2) - | (CONF_EIC_FILTEN3 << EIC_CONFIG_FILTEN3_Pos) | EIC_CONFIG_SENSE3(CONF_EIC_SENSE3) - | (CONF_EIC_FILTEN4 << EIC_CONFIG_FILTEN4_Pos) | EIC_CONFIG_SENSE4(CONF_EIC_SENSE4) - | (CONF_EIC_FILTEN5 << EIC_CONFIG_FILTEN5_Pos) | EIC_CONFIG_SENSE5(CONF_EIC_SENSE5) - | (CONF_EIC_FILTEN6 << EIC_CONFIG_FILTEN6_Pos) | EIC_CONFIG_SENSE6(CONF_EIC_SENSE6) - | (CONF_EIC_FILTEN7 << EIC_CONFIG_FILTEN7_Pos) | EIC_CONFIG_SENSE7(CONF_EIC_SENSE7) - | 0); - - hri_eic_write_CONFIG_reg(EIC, - 1, - (CONF_EIC_FILTEN8 << EIC_CONFIG_FILTEN0_Pos) | EIC_CONFIG_SENSE0(CONF_EIC_SENSE8) - | (CONF_EIC_FILTEN9 << EIC_CONFIG_FILTEN1_Pos) | EIC_CONFIG_SENSE1(CONF_EIC_SENSE9) - | (CONF_EIC_FILTEN10 << EIC_CONFIG_FILTEN2_Pos) | EIC_CONFIG_SENSE2(CONF_EIC_SENSE10) - | (CONF_EIC_FILTEN11 << EIC_CONFIG_FILTEN3_Pos) | EIC_CONFIG_SENSE3(CONF_EIC_SENSE11) - | (CONF_EIC_FILTEN12 << EIC_CONFIG_FILTEN4_Pos) | EIC_CONFIG_SENSE4(CONF_EIC_SENSE12) - | (CONF_EIC_FILTEN13 << EIC_CONFIG_FILTEN5_Pos) | EIC_CONFIG_SENSE5(CONF_EIC_SENSE13) - | (CONF_EIC_FILTEN14 << EIC_CONFIG_FILTEN6_Pos) | EIC_CONFIG_SENSE6(CONF_EIC_SENSE14) - | (CONF_EIC_FILTEN15 << EIC_CONFIG_FILTEN7_Pos) | EIC_CONFIG_SENSE7(CONF_EIC_SENSE15) - | 0); - - hri_eic_set_CTRLA_ENABLE_bit(EIC); - - callback = cb; - - return ERR_NONE; -} - -/** - * \brief De-initialize external interrupt module - */ -int32_t _ext_irq_deinit(void) -{ - - callback = NULL; - - hri_eic_clear_CTRLA_ENABLE_bit(EIC); - hri_eic_set_CTRLA_SWRST_bit(EIC); - - return ERR_NONE; -} - -/** - * \brief Enable / disable external irq - */ -int32_t _ext_irq_enable(const uint32_t pin, const bool enable) -{ - uint8_t extint = INVALID_EXTINT_NUMBER; - uint8_t i = 0; - - for (; i < ARRAY_SIZE(_map); i++) { - if (_map[i].pin == pin) { - extint = _map[i].extint; - break; - } - } - if (INVALID_EXTINT_NUMBER == extint) { - return -1; - } - - if (enable) { - hri_eic_set_INTEN_reg(EIC, 1ul << extint); - } else { - hri_eic_clear_INTEN_reg(EIC, 1ul << extint); - hri_eic_clear_INTFLAG_reg(EIC, 1ul << extint); - } - - return ERR_NONE; -} - -/** - * \brief Inter EIC interrupt handler - */ -static void _ext_irq_handler(void) -{ - volatile uint32_t flags = hri_eic_read_INTFLAG_reg(EIC); - int8_t pos; - uint32_t pin = INVALID_PIN_NUMBER; - - hri_eic_clear_INTFLAG_reg(EIC, flags); - - ASSERT(callback); - - while (flags) { - pos = ffs(flags) - 1; - while (-1 != pos) { - uint8_t lower = 0, middle, upper = EXT_IRQ_AMOUNT; - - while (upper >= lower) { - middle = (upper + lower) >> 1; - if (_map[middle].extint == pos) { - pin = _map[middle].pin; - break; - } - if (_map[middle].extint < pos) { - lower = middle + 1; - } else { - upper = middle - 1; - } - } - - if (INVALID_PIN_NUMBER != pin) { - callback(pin); - } - flags &= ~(1ul << pos); - pos = ffs(flags) - 1; - } - flags = hri_eic_read_INTFLAG_reg(EIC); - hri_eic_clear_INTFLAG_reg(EIC, flags); - } -} diff --git a/software/firmware/oracle_same54n19a/hpl/gclk/hpl_gclk.c b/software/firmware/oracle_same54n19a/hpl/gclk/hpl_gclk.c deleted file mode 100644 index 211ccc3..0000000 --- a/software/firmware/oracle_same54n19a/hpl/gclk/hpl_gclk.c +++ /dev/null @@ -1,312 +0,0 @@ - -/** - * \file - * - * \brief Generic Clock Controller related functionality. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include - -/** - * \brief Initializes generators - */ -void _gclk_init_generators(void) -{ - -#if CONF_GCLK_GENERATOR_0_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 0, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_0_DIV) | (CONF_GCLK_GEN_0_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_0_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_0_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_0_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_0_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_0_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_0_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_1_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 1, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_1_DIV) | (CONF_GCLK_GEN_1_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_1_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_1_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_1_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_1_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_1_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_1_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_2_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 2, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_2_DIV) | (CONF_GCLK_GEN_2_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_2_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_2_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_2_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_2_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_2_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_2_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_3_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 3, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_3_DIV) | (CONF_GCLK_GEN_3_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_3_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_3_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_3_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_3_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_3_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_3_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_4_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 4, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_4_DIV) | (CONF_GCLK_GEN_4_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_4_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_4_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_4_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_4_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_4_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_4_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_5_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 5, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_5_DIV) | (CONF_GCLK_GEN_5_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_5_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_5_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_5_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_5_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_5_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_5_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_6_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 6, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_6_DIV) | (CONF_GCLK_GEN_6_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_6_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_6_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_6_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_6_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_6_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_6_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_7_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 7, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_7_DIV) | (CONF_GCLK_GEN_7_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_7_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_7_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_7_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_7_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_7_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_7_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_8_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 8, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_8_DIV) | (CONF_GCLK_GEN_8_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_8_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_8_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_8_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_8_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_8_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_8_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_9_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 9, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_9_DIV) | (CONF_GCLK_GEN_9_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_9_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_9_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_9_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_9_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_9_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_9_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_10_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 10, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_10_DIV) | (CONF_GCLK_GEN_10_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_10_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_10_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_10_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_10_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_10_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_10_SOURCE); -#endif - -#if CONF_GCLK_GENERATOR_11_CONFIG == 1 - hri_gclk_write_GENCTRL_reg( - GCLK, - 11, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_11_DIV) | (CONF_GCLK_GEN_11_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_11_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_11_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_11_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_11_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_11_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_11_SOURCE); -#endif -} - -void _gclk_init_generators_by_fref(uint32_t bm) -{ - -#if CONF_GCLK_GENERATOR_0_CONFIG == 1 - if (bm & (1ul << 0)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 0, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_0_DIV) | (CONF_GCLK_GEN_0_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_0_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_0_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_0_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_0_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_0_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_0_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_1_CONFIG == 1 - if (bm & (1ul << 1)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 1, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_1_DIV) | (CONF_GCLK_GEN_1_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_1_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_1_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_1_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_1_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_1_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_1_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_2_CONFIG == 1 - if (bm & (1ul << 2)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 2, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_2_DIV) | (CONF_GCLK_GEN_2_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_2_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_2_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_2_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_2_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_2_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_2_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_3_CONFIG == 1 - if (bm & (1ul << 3)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 3, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_3_DIV) | (CONF_GCLK_GEN_3_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_3_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_3_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_3_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_3_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_3_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_3_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_4_CONFIG == 1 - if (bm & (1ul << 4)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 4, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_4_DIV) | (CONF_GCLK_GEN_4_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_4_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_4_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_4_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_4_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_4_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_4_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_5_CONFIG == 1 - if (bm & (1ul << 5)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 5, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_5_DIV) | (CONF_GCLK_GEN_5_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_5_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_5_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_5_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_5_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_5_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_5_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_6_CONFIG == 1 - if (bm & (1ul << 6)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 6, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_6_DIV) | (CONF_GCLK_GEN_6_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_6_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_6_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_6_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_6_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_6_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_6_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_7_CONFIG == 1 - if (bm & (1ul << 7)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 7, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_7_DIV) | (CONF_GCLK_GEN_7_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_7_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_7_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_7_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_7_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_7_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_7_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_8_CONFIG == 1 - if (bm & (1ul << 8)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 8, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_8_DIV) | (CONF_GCLK_GEN_8_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_8_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_8_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_8_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_8_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_8_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_8_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_9_CONFIG == 1 - if (bm & (1ul << 9)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 9, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_9_DIV) | (CONF_GCLK_GEN_9_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_9_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_9_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_9_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_9_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_9_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_9_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_10_CONFIG == 1 - if (bm & (1ul << 10)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 10, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_10_DIV) | (CONF_GCLK_GEN_10_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_10_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_10_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_10_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_10_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_10_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_10_SOURCE); - } -#endif - -#if CONF_GCLK_GENERATOR_11_CONFIG == 1 - if (bm & (1ul << 11)) { - hri_gclk_write_GENCTRL_reg( - GCLK, - 11, - GCLK_GENCTRL_DIV(CONF_GCLK_GEN_11_DIV) | (CONF_GCLK_GEN_11_RUNSTDBY << GCLK_GENCTRL_RUNSTDBY_Pos) - | (CONF_GCLK_GEN_11_DIVSEL << GCLK_GENCTRL_DIVSEL_Pos) | (CONF_GCLK_GEN_11_OE << GCLK_GENCTRL_OE_Pos) - | (CONF_GCLK_GEN_11_OOV << GCLK_GENCTRL_OOV_Pos) | (CONF_GCLK_GEN_11_IDC << GCLK_GENCTRL_IDC_Pos) - | (CONF_GCLK_GENERATOR_11_CONFIG << GCLK_GENCTRL_GENEN_Pos) | CONF_GCLK_GEN_11_SOURCE); - } -#endif -} diff --git a/software/firmware/oracle_same54n19a/hpl/gclk/hpl_gclk_base.h b/software/firmware/oracle_same54n19a/hpl/gclk/hpl_gclk_base.h deleted file mode 100644 index 3e7d282..0000000 --- a/software/firmware/oracle_same54n19a/hpl/gclk/hpl_gclk_base.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - * \file - * - * \brief Generic Clock Controller. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifndef _HPL_GCLK_H_INCLUDED -#define _HPL_GCLK_H_INCLUDED - -#include -#ifdef _UNIT_TEST_ -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup gclk_group GCLK Hardware Proxy Layer - * - * \section gclk_hpl_rev Revision History - * - v0.0.0.1 Initial Commit - * - *@{ - */ - -/** - * \name HPL functions - */ -//@{ -/** - * \brief Enable clock on the given channel with the given clock source - * - * This function maps the given clock source to the given clock channel - * and enables channel. - * - * \param[in] channel The channel to enable clock for - * \param[in] source The clock source for the given channel - */ -static inline void _gclk_enable_channel(const uint8_t channel, const uint8_t source) -{ - - hri_gclk_write_PCHCTRL_reg(GCLK, channel, source | GCLK_PCHCTRL_CHEN); -} - -/** - * \brief Initialize GCLK generators by function references - * \param[in] bm Bit mapping for referenced generators, - * a bit 1 in position triggers generator initialization. - */ -void _gclk_init_generators_by_fref(uint32_t bm); - -//@} -/**@}*/ -#ifdef __cplusplus -} -#endif - -#endif /* _HPL_GCLK_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hpl/mclk/hpl_mclk.c b/software/firmware/oracle_same54n19a/hpl/mclk/hpl_mclk.c deleted file mode 100644 index 6684320..0000000 --- a/software/firmware/oracle_same54n19a/hpl/mclk/hpl_mclk.c +++ /dev/null @@ -1,44 +0,0 @@ -/** - * \file - * - * \brief SAM Main Clock. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include - -/** - * \brief Initialize master clock generator - */ -void _mclk_init(void) -{ - void *hw = (void *)MCLK; - hri_mclk_write_CPUDIV_reg(hw, MCLK_CPUDIV_DIV(CONF_MCLK_CPUDIV)); -} diff --git a/software/firmware/oracle_same54n19a/hpl/osc32kctrl/hpl_osc32kctrl.c b/software/firmware/oracle_same54n19a/hpl/osc32kctrl/hpl_osc32kctrl.c deleted file mode 100644 index 8859b42..0000000 --- a/software/firmware/oracle_same54n19a/hpl/osc32kctrl/hpl_osc32kctrl.c +++ /dev/null @@ -1,82 +0,0 @@ - -/** - * \file - * - * \brief SAM 32k Oscillators Controller. - * - * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#include -#include - -/** - * \brief Initialize 32 kHz clock sources - */ -void _osc32kctrl_init_sources(void) -{ - void * hw = (void *)OSC32KCTRL; - uint16_t calib = 0; - -#if CONF_XOSC32K_CONFIG == 1 - hri_osc32kctrl_write_XOSC32K_reg( - hw, - OSC32KCTRL_XOSC32K_STARTUP(CONF_XOSC32K_STARTUP) | (CONF_XOSC32K_ONDEMAND << OSC32KCTRL_XOSC32K_ONDEMAND_Pos) - | (CONF_XOSC32K_RUNSTDBY << OSC32KCTRL_XOSC32K_RUNSTDBY_Pos) - | (CONF_XOSC32K_EN1K << OSC32KCTRL_XOSC32K_EN1K_Pos) | (CONF_XOSC32K_EN32K << OSC32KCTRL_XOSC32K_EN32K_Pos) - | (CONF_XOSC32K_XTALEN << OSC32KCTRL_XOSC32K_XTALEN_Pos) | -#ifdef CONF_XOSC32K_CGM - OSC32KCTRL_XOSC32K_CGM(CONF_XOSC32K_CGM) | -#endif - (CONF_XOSC32K_ENABLE << OSC32KCTRL_XOSC32K_ENABLE_Pos)); - - hri_osc32kctrl_write_CFDCTRL_reg(hw, (CONF_XOSC32K_CFDEN << OSC32KCTRL_CFDCTRL_CFDEN_Pos)); - - hri_osc32kctrl_write_EVCTRL_reg(hw, (CONF_XOSC32K_CFDEO << OSC32KCTRL_EVCTRL_CFDEO_Pos)); -#endif - -#if CONF_OSCULP32K_CONFIG == 1 - calib = hri_osc32kctrl_read_OSCULP32K_CALIB_bf(hw); - hri_osc32kctrl_write_OSCULP32K_reg(hw, -#if CONF_OSCULP32K_CALIB_ENABLE == 1 - OSC32KCTRL_OSCULP32K_CALIB(CONF_OSCULP32K_CALIB) -#else - OSC32KCTRL_OSCULP32K_CALIB(calib) -#endif - ); -#endif - -#if CONF_XOSC32K_CONFIG -#if CONF_XOSC32K_ENABLE == 1 && CONF_XOSC32K_ONDEMAND == 0 - while (!hri_osc32kctrl_get_STATUS_XOSC32KRDY_bit(hw)) - ; -#endif -#endif - - hri_osc32kctrl_write_RTCCTRL_reg(hw, OSC32KCTRL_RTCCTRL_RTCSEL(CONF_RTCCTRL)); - (void)calib; -} diff --git a/software/firmware/oracle_same54n19a/hpl/oscctrl/hpl_oscctrl.c b/software/firmware/oracle_same54n19a/hpl/oscctrl/hpl_oscctrl.c deleted file mode 100644 index 9f55076..0000000 --- a/software/firmware/oracle_same54n19a/hpl/oscctrl/hpl_oscctrl.c +++ /dev/null @@ -1,230 +0,0 @@ - -/** - * \file - * - * \brief SAM Oscillators Controller. - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include - -/** - * \brief Initialize clock sources - */ -void _oscctrl_init_sources(void) -{ - void *hw = (void *)OSCCTRL; - -#if CONF_XOSC0_CONFIG == 1 - hri_oscctrl_write_XOSCCTRL_reg( - hw, - 0, - OSCCTRL_XOSCCTRL_CFDPRESC(CONF_XOSC0_CFDPRESC) | OSCCTRL_XOSCCTRL_STARTUP(CONF_XOSC0_STARTUP) - | (CONF_XOSC0_SWBEN << OSCCTRL_XOSCCTRL_SWBEN_Pos) | (CONF_XOSC0_CFDEN << OSCCTRL_XOSCCTRL_CFDEN_Pos) - | (0 << OSCCTRL_XOSCCTRL_ENALC_Pos) | OSCCTRL_XOSCCTRL_IMULT(CONF_XOSC0_IMULT) - | OSCCTRL_XOSCCTRL_IPTAT(CONF_XOSC0_IPTAT) | (CONF_XOSC0_LOWBUFGAIN << OSCCTRL_XOSCCTRL_LOWBUFGAIN_Pos) - | (0 << OSCCTRL_XOSCCTRL_ONDEMAND_Pos) | (CONF_XOSC0_RUNSTDBY << OSCCTRL_XOSCCTRL_RUNSTDBY_Pos) - | (CONF_XOSC0_XTALEN << OSCCTRL_XOSCCTRL_XTALEN_Pos) | (CONF_XOSC0_ENABLE << OSCCTRL_XOSCCTRL_ENABLE_Pos)); -#endif - -#if CONF_XOSC0_CONFIG == 1 -#if CONF_XOSC0_ENABLE == 1 - while (!hri_oscctrl_get_STATUS_XOSCRDY0_bit(hw)) - ; -#endif -#if CONF_XOSC0_ENALC == 1 - hri_oscctrl_set_XOSCCTRL_ENALC_bit(hw, 0); -#endif -#if CONF_XOSC0_ONDEMAND == 1 - hri_oscctrl_set_XOSCCTRL_ONDEMAND_bit(hw, 0); -#endif -#endif - -#if CONF_XOSC1_CONFIG == 1 - hri_oscctrl_write_XOSCCTRL_reg( - hw, - 1, - OSCCTRL_XOSCCTRL_CFDPRESC(CONF_XOSC1_CFDPRESC) | OSCCTRL_XOSCCTRL_STARTUP(CONF_XOSC1_STARTUP) - | (CONF_XOSC1_SWBEN << OSCCTRL_XOSCCTRL_SWBEN_Pos) | (CONF_XOSC1_CFDEN << OSCCTRL_XOSCCTRL_CFDEN_Pos) - | (0 << OSCCTRL_XOSCCTRL_ENALC_Pos) | OSCCTRL_XOSCCTRL_IMULT(CONF_XOSC1_IMULT) - | OSCCTRL_XOSCCTRL_IPTAT(CONF_XOSC1_IPTAT) | (CONF_XOSC1_LOWBUFGAIN << OSCCTRL_XOSCCTRL_LOWBUFGAIN_Pos) - | (0 << OSCCTRL_XOSCCTRL_ONDEMAND_Pos) | (CONF_XOSC1_RUNSTDBY << OSCCTRL_XOSCCTRL_RUNSTDBY_Pos) - | (CONF_XOSC1_XTALEN << OSCCTRL_XOSCCTRL_XTALEN_Pos) | (CONF_XOSC1_ENABLE << OSCCTRL_XOSCCTRL_ENABLE_Pos)); -#endif - -#if CONF_XOSC1_CONFIG == 1 -#if CONF_XOSC1_ENABLE == 1 - while (!hri_oscctrl_get_STATUS_XOSCRDY1_bit(hw)) - ; -#endif -#if CONF_XOSC1_ENALC == 1 - hri_oscctrl_set_XOSCCTRL_ENALC_bit(hw, 1); -#endif -#if CONF_XOSC1_ONDEMAND == 1 - hri_oscctrl_set_XOSCCTRL_ONDEMAND_bit(hw, 1); -#endif -#endif - - (void)hw; -} - -void _oscctrl_init_referenced_generators(void) -{ - void *hw = (void *)OSCCTRL; - -#if CONF_DFLL_CONFIG == 1 - hri_gclk_write_GENCTRL_SRC_bf(GCLK, 0, GCLK_GENCTRL_SRC_OSCULP32K); - while (hri_gclk_get_SYNCBUSY_GENCTRL0_bit(GCLK)) - ; - uint8_t tmp; - hri_oscctrl_write_DFLLCTRLA_reg(hw, 0); -#if CONF_DFLL_USBCRM != 1 && CONF_DFLL_MODE != 0 - hri_gclk_write_PCHCTRL_reg( - GCLK, OSCCTRL_GCLK_ID_DFLL48, (1 << GCLK_PCHCTRL_CHEN_Pos) | GCLK_PCHCTRL_GEN(CONF_DFLL_GCLK)); -#endif - - hri_oscctrl_write_DFLLMUL_reg(hw, - OSCCTRL_DFLLMUL_CSTEP(CONF_DFLL_CSTEP) | OSCCTRL_DFLLMUL_FSTEP(CONF_DFLL_FSTEP) - | OSCCTRL_DFLLMUL_MUL(CONF_DFLL_MUL)); - while (hri_oscctrl_get_DFLLSYNC_DFLLMUL_bit(hw)) - ; - - hri_oscctrl_write_DFLLCTRLB_reg(hw, 0); - while (hri_oscctrl_get_DFLLSYNC_DFLLCTRLB_bit(hw)) - ; - - tmp = (CONF_DFLL_RUNSTDBY << OSCCTRL_DFLLCTRLA_RUNSTDBY_Pos) | OSCCTRL_DFLLCTRLA_ENABLE; - hri_oscctrl_write_DFLLCTRLA_reg(hw, tmp); - while (hri_oscctrl_get_DFLLSYNC_ENABLE_bit(hw)) - ; - -#if CONF_DFLL_OVERWRITE_CALIBRATION == 1 - hri_oscctrl_write_DFLLVAL_reg(hw, OSCCTRL_DFLLVAL_COARSE(CONF_DFLL_COARSE) | OSCCTRL_DFLLVAL_FINE(CONF_DFLL_FINE)); -#endif - hri_oscctrl_write_DFLLVAL_reg(hw, hri_oscctrl_read_DFLLVAL_reg(hw)); - while (hri_oscctrl_get_DFLLSYNC_DFLLVAL_bit(hw)) - ; - - tmp = (CONF_DFLL_WAITLOCK << OSCCTRL_DFLLCTRLB_WAITLOCK_Pos) | (CONF_DFLL_BPLCKC << OSCCTRL_DFLLCTRLB_BPLCKC_Pos) - | (CONF_DFLL_QLDIS << OSCCTRL_DFLLCTRLB_QLDIS_Pos) | (CONF_DFLL_CCDIS << OSCCTRL_DFLLCTRLB_CCDIS_Pos) - | (CONF_DFLL_USBCRM << OSCCTRL_DFLLCTRLB_USBCRM_Pos) | (CONF_DFLL_LLAW << OSCCTRL_DFLLCTRLB_LLAW_Pos) - | (CONF_DFLL_STABLE << OSCCTRL_DFLLCTRLB_STABLE_Pos) | (CONF_DFLL_MODE << OSCCTRL_DFLLCTRLB_MODE_Pos) | 0; - hri_oscctrl_write_DFLLCTRLB_reg(hw, tmp); - while (hri_oscctrl_get_DFLLSYNC_DFLLCTRLB_bit(hw)) - ; -#endif - -#if CONF_FDPLL0_CONFIG == 1 -#if CONF_FDPLL0_REFCLK == 0 - hri_gclk_write_PCHCTRL_reg( - GCLK, OSCCTRL_GCLK_ID_FDPLL0, (1 << GCLK_PCHCTRL_CHEN_Pos) | GCLK_PCHCTRL_GEN(CONF_FDPLL0_GCLK)); -#endif - hri_oscctrl_write_DPLLRATIO_reg( - hw, 0, OSCCTRL_DPLLRATIO_LDRFRAC(CONF_FDPLL0_LDRFRAC) | OSCCTRL_DPLLRATIO_LDR(CONF_FDPLL0_LDR)); - hri_oscctrl_write_DPLLCTRLB_reg( - hw, - 0, - OSCCTRL_DPLLCTRLB_DIV(CONF_FDPLL0_DIV) | (CONF_FDPLL0_DCOEN << OSCCTRL_DPLLCTRLB_DCOEN_Pos) - | OSCCTRL_DPLLCTRLB_DCOFILTER(CONF_FDPLL0_DCOFILTER) - | (CONF_FDPLL0_LBYPASS << OSCCTRL_DPLLCTRLB_LBYPASS_Pos) | OSCCTRL_DPLLCTRLB_LTIME(CONF_FDPLL0_LTIME) - | OSCCTRL_DPLLCTRLB_REFCLK(CONF_FDPLL0_REFCLK) | (CONF_FDPLL0_WUF << OSCCTRL_DPLLCTRLB_WUF_Pos) - | OSCCTRL_DPLLCTRLB_FILTER(CONF_FDPLL0_FILTER)); - hri_oscctrl_write_DPLLCTRLA_reg(hw, - 0, - (CONF_FDPLL0_RUNSTDBY << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos) - | (CONF_FDPLL0_ENABLE << OSCCTRL_DPLLCTRLA_ENABLE_Pos)); -#endif - -#if CONF_FDPLL1_CONFIG == 1 -#if CONF_FDPLL1_REFCLK == 0 - hri_gclk_write_PCHCTRL_reg( - GCLK, OSCCTRL_GCLK_ID_FDPLL1, (1 << GCLK_PCHCTRL_CHEN_Pos) | GCLK_PCHCTRL_GEN(CONF_FDPLL1_GCLK)); -#endif - hri_oscctrl_write_DPLLRATIO_reg( - hw, 1, OSCCTRL_DPLLRATIO_LDRFRAC(CONF_FDPLL1_LDRFRAC) | OSCCTRL_DPLLRATIO_LDR(CONF_FDPLL1_LDR)); - hri_oscctrl_write_DPLLCTRLB_reg( - hw, - 1, - OSCCTRL_DPLLCTRLB_DIV(CONF_FDPLL1_DIV) | (CONF_FDPLL1_DCOEN << OSCCTRL_DPLLCTRLB_DCOEN_Pos) - | OSCCTRL_DPLLCTRLB_DCOFILTER(CONF_FDPLL1_DCOFILTER) - | (CONF_FDPLL1_LBYPASS << OSCCTRL_DPLLCTRLB_LBYPASS_Pos) | OSCCTRL_DPLLCTRLB_LTIME(CONF_FDPLL1_LTIME) - | OSCCTRL_DPLLCTRLB_REFCLK(CONF_FDPLL1_REFCLK) | (CONF_FDPLL1_WUF << OSCCTRL_DPLLCTRLB_WUF_Pos) - | OSCCTRL_DPLLCTRLB_FILTER(CONF_FDPLL1_FILTER)); - hri_oscctrl_write_DPLLCTRLA_reg(hw, - 1, - (CONF_FDPLL1_RUNSTDBY << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos) - | (CONF_FDPLL1_ENABLE << OSCCTRL_DPLLCTRLA_ENABLE_Pos)); -#endif - -#if CONF_DFLL_CONFIG == 1 - if (hri_oscctrl_get_DFLLCTRLB_MODE_bit(hw)) { - hri_oscctrl_status_reg_t status_mask = OSCCTRL_STATUS_DFLLRDY | OSCCTRL_STATUS_DFLLLCKC; - - while (hri_oscctrl_get_STATUS_reg(hw, status_mask) != status_mask) - ; - } else { - while (!hri_oscctrl_get_STATUS_DFLLRDY_bit(hw)) - ; - } -#if CONF_DFLL_ONDEMAND == 1 - hri_oscctrl_set_DFLLCTRLA_ONDEMAND_bit(hw); -#endif -#endif - -#if CONF_FDPLL0_CONFIG == 1 -#if CONF_FDPLL0_ENABLE == 1 - while (!(hri_oscctrl_get_DPLLSTATUS_LOCK_bit(hw, 0) || hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(hw, 0))) - ; -#endif -#if CONF_FDPLL0_ONDEMAND == 1 - hri_oscctrl_set_DPLLCTRLA_ONDEMAND_bit(hw, 0); -#endif -#endif - -#if CONF_FDPLL1_CONFIG == 1 -#if CONF_FDPLL1_ENABLE == 1 - while (!(hri_oscctrl_get_DPLLSTATUS_LOCK_bit(hw, 1) || hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(hw, 1))) - ; -#endif -#if CONF_FDPLL1_ONDEMAND == 1 - hri_oscctrl_set_DPLLCTRLA_ONDEMAND_bit(hw, 1); -#endif -#endif - -#if CONF_DFLL_CONFIG == 1 - while (hri_gclk_read_SYNCBUSY_reg(GCLK)) - ; - hri_gclk_write_GENCTRL_SRC_bf(GCLK, 0, CONF_GCLK_GEN_0_SOURCE); - while (hri_gclk_get_SYNCBUSY_GENCTRL0_bit(GCLK)) - ; -#endif - (void)hw; -} diff --git a/software/firmware/oracle_same54n19a/hpl/pm/hpl_pm.c b/software/firmware/oracle_same54n19a/hpl/pm/hpl_pm.c deleted file mode 100644 index 55dc4db..0000000 --- a/software/firmware/oracle_same54n19a/hpl/pm/hpl_pm.c +++ /dev/null @@ -1,68 +0,0 @@ - -/** - * \file - * - * \brief SAM Power manager - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include - -/** - * \brief Set the sleep mode for the device - */ -int32_t _set_sleep_mode(const uint8_t mode) -{ - uint8_t delay = 10; - - switch (mode) { - case 2: - case 4: - case 5: - case 6: - case 7: - hri_pm_write_SLEEPCFG_reg(PM, mode); - /* A small latency happens between the store instruction and actual - * writing of the SLEEPCFG register due to bridges. Software has to make - * sure the SLEEPCFG register reads the wanted value before issuing WFI - * instruction. - */ - do { - if (hri_pm_read_SLEEPCFG_reg(PM) == mode) { - break; - } - } while (--delay); - break; - default: - return ERR_INVALID_ARG; - } - - return ERR_NONE; -} diff --git a/software/firmware/oracle_same54n19a/hpl/pm/hpl_pm_base.h b/software/firmware/oracle_same54n19a/hpl/pm/hpl_pm_base.h deleted file mode 100644 index 5a50a91..0000000 --- a/software/firmware/oracle_same54n19a/hpl/pm/hpl_pm_base.h +++ /dev/null @@ -1,45 +0,0 @@ -/** - * \file - * - * \brief SAM Power manager - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - */ - -#ifndef _HPL_PM_BASE_H_INCLUDED -#define _HPL_PM_BASE_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#ifdef __cplusplus -} -#endif -#endif /* _HPL_PM_BASE_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hpl/port/hpl_gpio_base.h b/software/firmware/oracle_same54n19a/hpl/port/hpl_gpio_base.h deleted file mode 100644 index 12ff6f7..0000000 --- a/software/firmware/oracle_same54n19a/hpl/port/hpl_gpio_base.h +++ /dev/null @@ -1,171 +0,0 @@ - -/** - * \file - * - * \brief SAM PORT. - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#include -#include -#include -#include - -/** - * \brief Set direction on port with mask - */ -static inline void _gpio_set_direction(const enum gpio_port port, const uint32_t mask, - const enum gpio_direction direction) -{ - switch (direction) { - case GPIO_DIRECTION_OFF: - hri_port_clear_DIR_reg(PORT, port, mask); - hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | (mask & 0xffff)); - hri_port_write_WRCONFIG_reg( - PORT, port, PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | ((mask & 0xffff0000) >> 16)); - break; - - case GPIO_DIRECTION_IN: - hri_port_clear_DIR_reg(PORT, port, mask); - hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | PORT_WRCONFIG_INEN | (mask & 0xffff)); - hri_port_write_WRCONFIG_reg(PORT, - port, - PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | PORT_WRCONFIG_INEN - | ((mask & 0xffff0000) >> 16)); - break; - - case GPIO_DIRECTION_OUT: - hri_port_set_DIR_reg(PORT, port, mask); - hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | (mask & 0xffff)); - hri_port_write_WRCONFIG_reg( - PORT, port, PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | ((mask & 0xffff0000) >> 16)); - break; - - default: - ASSERT(false); - } -} - -/** - * \brief Set output level on port with mask - */ -static inline void _gpio_set_level(const enum gpio_port port, const uint32_t mask, const bool level) -{ - if (level) { - hri_port_set_OUT_reg(PORT, port, mask); - } else { - hri_port_clear_OUT_reg(PORT, port, mask); - } -} - -/** - * \brief Change output level to the opposite with mask - */ -static inline void _gpio_toggle_level(const enum gpio_port port, const uint32_t mask) -{ - hri_port_toggle_OUT_reg(PORT, port, mask); -} - -/** - * \brief Get input levels on all port pins - */ -static inline uint32_t _gpio_get_level(const enum gpio_port port) -{ - uint32_t tmp; - - CRITICAL_SECTION_ENTER(); - - uint32_t dir_tmp = hri_port_read_DIR_reg(PORT, port); - - tmp = hri_port_read_IN_reg(PORT, port) & ~dir_tmp; - tmp |= hri_port_read_OUT_reg(PORT, port) & dir_tmp; - - CRITICAL_SECTION_LEAVE(); - - return tmp; -} - -/** - * \brief Set pin pull mode - */ -static inline void _gpio_set_pin_pull_mode(const enum gpio_port port, const uint8_t pin, - const enum gpio_pull_mode pull_mode) -{ - switch (pull_mode) { - case GPIO_PULL_OFF: - hri_port_clear_PINCFG_PULLEN_bit(PORT, port, pin); - break; - - case GPIO_PULL_UP: - hri_port_clear_DIR_reg(PORT, port, 1U << pin); - hri_port_set_PINCFG_PULLEN_bit(PORT, port, pin); - hri_port_set_OUT_reg(PORT, port, 1U << pin); - break; - - case GPIO_PULL_DOWN: - hri_port_clear_DIR_reg(PORT, port, 1U << pin); - hri_port_set_PINCFG_PULLEN_bit(PORT, port, pin); - hri_port_clear_OUT_reg(PORT, port, 1U << pin); - break; - - default: - ASSERT(false); - break; - } -} - -/** - * \brief Set gpio pin function - */ -static inline void _gpio_set_pin_function(const uint32_t gpio, const uint32_t function) -{ - uint8_t port = GPIO_PORT(gpio); - uint8_t pin = GPIO_PIN(gpio); - - if (function == GPIO_PIN_FUNCTION_OFF) { - hri_port_write_PINCFG_PMUXEN_bit(PORT, port, pin, false); - - } else { - hri_port_write_PINCFG_PMUXEN_bit(PORT, port, pin, true); - - if (pin & 1) { - // Odd numbered pin - hri_port_write_PMUX_PMUXO_bf(PORT, port, pin >> 1, function & 0xffff); - } else { - // Even numbered pin - hri_port_write_PMUX_PMUXE_bf(PORT, port, pin >> 1, function & 0xffff); - } - } -} - -static inline void _port_event_init() -{ - hri_port_set_EVCTRL_reg(PORT, 0, CONF_PORTA_EVCTRL); - hri_port_set_EVCTRL_reg(PORT, 1, CONF_PORTB_EVCTRL); - hri_port_set_EVCTRL_reg(PORT, 2, CONF_PORTC_EVCTRL); -} diff --git a/software/firmware/oracle_same54n19a/hpl/ramecc/hpl_ramecc.c b/software/firmware/oracle_same54n19a/hpl/ramecc/hpl_ramecc.c deleted file mode 100644 index 4c158b2..0000000 --- a/software/firmware/oracle_same54n19a/hpl/ramecc/hpl_ramecc.c +++ /dev/null @@ -1,83 +0,0 @@ -/** - * \file - * - * \brief Generic RAMECC related functionality. - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include - -/* RAMECC device descriptor */ -struct _ramecc_device device; - -/** - * \brief Initialize RAMECC - */ -int32_t _ramecc_init(void) -{ - if (hri_ramecc_get_STATUS_ECCDIS_bit(RAMECC)) { - return ERR_ABORTED; - } - - NVIC_DisableIRQ(RAMECC_IRQn); - NVIC_ClearPendingIRQ(RAMECC_IRQn); - NVIC_EnableIRQ(RAMECC_IRQn); - - return ERR_NONE; -} - -void _ramecc_register_callback(const enum _ramecc_callback_type type, ramecc_cb_t cb) -{ - if (RAMECC_DUAL_ERROR_CB == type) { - device.ramecc_cb.dual_bit_err = cb; - hri_ramecc_write_INTEN_DUALE_bit(RAMECC, NULL != cb); - } else if (RAMECC_SINGLE_ERROR_CB == type) { - device.ramecc_cb.single_bit_err = cb; - hri_ramecc_write_INTEN_SINGLEE_bit(RAMECC, NULL != cb); - } -} - -/** - * \internal RAMECC interrupt handler - */ -void RAMECC_Handler(void) -{ - struct _ramecc_device *dev = (struct _ramecc_device *)&device; - volatile uint32_t int_mask = hri_ramecc_read_INTFLAG_reg(RAMECC); - - if (int_mask & RAMECC_INTFLAG_DUALE && dev->ramecc_cb.dual_bit_err) { - dev->ramecc_cb.dual_bit_err((uint32_t)hri_ramecc_read_ERRADDR_reg(RAMECC)); - } else if (int_mask & RAMECC_INTFLAG_SINGLEE && dev->ramecc_cb.single_bit_err) { - dev->ramecc_cb.single_bit_err((uint32_t)hri_ramecc_read_ERRADDR_reg(RAMECC)); - } else { - return; - } -} diff --git a/software/firmware/oracle_same54n19a/hpl/sercom/hpl_sercom.c b/software/firmware/oracle_same54n19a/hpl/sercom/hpl_sercom.c deleted file mode 100644 index 47f3d37..0000000 --- a/software/firmware/oracle_same54n19a/hpl/sercom/hpl_sercom.c +++ /dev/null @@ -1,3028 +0,0 @@ - -/** - * \file - * - * \brief SAM Serial Communication Interface - * - * Copyright (c) 2014-2019 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef CONF_SERCOM_0_USART_ENABLE -#define CONF_SERCOM_0_USART_ENABLE 0 -#endif -#ifndef CONF_SERCOM_1_USART_ENABLE -#define CONF_SERCOM_1_USART_ENABLE 0 -#endif -#ifndef CONF_SERCOM_2_USART_ENABLE -#define CONF_SERCOM_2_USART_ENABLE 0 -#endif -#ifndef CONF_SERCOM_3_USART_ENABLE -#define CONF_SERCOM_3_USART_ENABLE 0 -#endif -#ifndef CONF_SERCOM_4_USART_ENABLE -#define CONF_SERCOM_4_USART_ENABLE 0 -#endif -#ifndef CONF_SERCOM_5_USART_ENABLE -#define CONF_SERCOM_5_USART_ENABLE 0 -#endif -#ifndef CONF_SERCOM_6_USART_ENABLE -#define CONF_SERCOM_6_USART_ENABLE 0 -#endif -#ifndef CONF_SERCOM_7_USART_ENABLE -#define CONF_SERCOM_7_USART_ENABLE 0 -#endif - -/** Amount of SERCOM that is used as USART. */ -#define SERCOM_USART_AMOUNT \ - (CONF_SERCOM_0_USART_ENABLE + CONF_SERCOM_1_USART_ENABLE + CONF_SERCOM_2_USART_ENABLE + CONF_SERCOM_3_USART_ENABLE \ - + CONF_SERCOM_4_USART_ENABLE + CONF_SERCOM_5_USART_ENABLE + CONF_SERCOM_6_USART_ENABLE \ - + CONF_SERCOM_7_USART_ENABLE) - -/** - * \brief Macro is used to fill usart configuration structure based on - * its number - * - * \param[in] n The number of structures - */ -#define SERCOM_CONFIGURATION(n) \ - { \ - n, \ - SERCOM_USART_CTRLA_MODE(CONF_SERCOM_##n##_USART_MODE) \ - | (CONF_SERCOM_##n##_USART_RUNSTDBY << SERCOM_USART_CTRLA_RUNSTDBY_Pos) \ - | (CONF_SERCOM_##n##_USART_IBON << SERCOM_USART_CTRLA_IBON_Pos) \ - | (CONF_SERCOM_##n##_USART_TXINV << SERCOM_USART_CTRLA_TXINV_Pos) \ - | (CONF_SERCOM_##n##_USART_RXINV << SERCOM_USART_CTRLA_RXINV_Pos) \ - | SERCOM_USART_CTRLA_SAMPR(CONF_SERCOM_##n##_USART_SAMPR) \ - | SERCOM_USART_CTRLA_TXPO(CONF_SERCOM_##n##_USART_TXPO) \ - | SERCOM_USART_CTRLA_RXPO(CONF_SERCOM_##n##_USART_RXPO) \ - | SERCOM_USART_CTRLA_SAMPA(CONF_SERCOM_##n##_USART_SAMPA) \ - | SERCOM_USART_CTRLA_FORM(CONF_SERCOM_##n##_USART_FORM) \ - | (CONF_SERCOM_##n##_USART_CMODE << SERCOM_USART_CTRLA_CMODE_Pos) \ - | (CONF_SERCOM_##n##_USART_CPOL << SERCOM_USART_CTRLA_CPOL_Pos) \ - | (CONF_SERCOM_##n##_USART_DORD << SERCOM_USART_CTRLA_DORD_Pos), \ - SERCOM_USART_CTRLB_CHSIZE(CONF_SERCOM_##n##_USART_CHSIZE) \ - | (CONF_SERCOM_##n##_USART_SBMODE << SERCOM_USART_CTRLB_SBMODE_Pos) \ - | (CONF_SERCOM_##n##_USART_CLODEN << SERCOM_USART_CTRLB_COLDEN_Pos) \ - | (CONF_SERCOM_##n##_USART_SFDE << SERCOM_USART_CTRLB_SFDE_Pos) \ - | (CONF_SERCOM_##n##_USART_ENC << SERCOM_USART_CTRLB_ENC_Pos) \ - | (CONF_SERCOM_##n##_USART_PMODE << SERCOM_USART_CTRLB_PMODE_Pos) \ - | (CONF_SERCOM_##n##_USART_TXEN << SERCOM_USART_CTRLB_TXEN_Pos) \ - | (CONF_SERCOM_##n##_USART_RXEN << SERCOM_USART_CTRLB_RXEN_Pos), \ - SERCOM_USART_CTRLC_GTIME(CONF_SERCOM_##n##_USART_GTIME) \ - | (CONF_SERCOM_##n##_USART_DSNACK << SERCOM_USART_CTRLC_DSNACK_Pos) \ - | (CONF_SERCOM_##n##_USART_INACK << SERCOM_USART_CTRLC_INACK_Pos) \ - | SERCOM_USART_CTRLC_MAXITER(CONF_SERCOM_##n##_USART_MAXITER), \ - (uint16_t)(CONF_SERCOM_##n##_USART_BAUD_RATE), CONF_SERCOM_##n##_USART_FRACTIONAL, \ - CONF_SERCOM_##n##_USART_RECEIVE_PULSE_LENGTH, CONF_SERCOM_##n##_USART_DEBUG_STOP_MODE, \ - } - -/** - * \brief SERCOM USART configuration type - */ -struct usart_configuration { - uint8_t number; - hri_sercomusart_ctrla_reg_t ctrl_a; - hri_sercomusart_ctrlb_reg_t ctrl_b; - hri_sercomusart_ctrlc_reg_t ctrl_c; - hri_sercomusart_baud_reg_t baud; - uint8_t fractional; - hri_sercomusart_rxpl_reg_t rxpl; - hri_sercomusart_dbgctrl_reg_t debug_ctrl; -}; - -#if SERCOM_USART_AMOUNT < 1 -/** Dummy array to pass compiling. */ -static struct usart_configuration _usarts[1] = {{0}}; -#else -/** - * \brief Array of SERCOM USART configurations - */ -static struct usart_configuration _usarts[] = { -#if CONF_SERCOM_0_USART_ENABLE == 1 - SERCOM_CONFIGURATION(0), -#endif -#if CONF_SERCOM_1_USART_ENABLE == 1 - SERCOM_CONFIGURATION(1), -#endif -#if CONF_SERCOM_2_USART_ENABLE == 1 - SERCOM_CONFIGURATION(2), -#endif -#if CONF_SERCOM_3_USART_ENABLE == 1 - SERCOM_CONFIGURATION(3), -#endif -#if CONF_SERCOM_4_USART_ENABLE == 1 - SERCOM_CONFIGURATION(4), -#endif -#if CONF_SERCOM_5_USART_ENABLE == 1 - SERCOM_CONFIGURATION(5), -#endif -#if CONF_SERCOM_6_USART_ENABLE == 1 - SERCOM_CONFIGURATION(6), -#endif -#if CONF_SERCOM_7_USART_ENABLE == 1 - SERCOM_CONFIGURATION(7), -#endif -}; -#endif - -static struct _usart_async_device *_sercom0_dev = NULL; - -static uint8_t _get_sercom_index(const void *const hw); -static uint8_t _sercom_get_irq_num(const void *const hw); -static void _sercom_init_irq_param(const void *const hw, void *dev); -static uint8_t _sercom_get_hardware_index(const void *const hw); - -static int32_t _usart_init(void *const hw); -static inline void _usart_deinit(void *const hw); -static uint16_t _usart_calculate_baud_rate(const uint32_t baud, const uint32_t clock_rate, const uint8_t samples, - const enum usart_baud_rate_mode mode, const uint8_t fraction); -static void _usart_set_baud_rate(void *const hw, const uint32_t baud_rate); -static void _usart_set_data_order(void *const hw, const enum usart_data_order order); -static void _usart_set_mode(void *const hw, const enum usart_mode mode); -static void _usart_set_parity(void *const hw, const enum usart_parity parity); -static void _usart_set_stop_bits(void *const hw, const enum usart_stop_bits stop_bits); -static void _usart_set_character_size(void *const hw, const enum usart_character_size size); - -/** - * \brief Initialize synchronous SERCOM USART - */ -int32_t _usart_sync_init(struct _usart_sync_device *const device, void *const hw) -{ - ASSERT(device); - - device->hw = hw; - - return _usart_init(hw); -} - -/** - * \brief Initialize asynchronous SERCOM USART - */ -int32_t _usart_async_init(struct _usart_async_device *const device, void *const hw) -{ - int32_t init_status; - - ASSERT(device); - - init_status = _usart_init(hw); - if (init_status) { - return init_status; - } - device->hw = hw; - _sercom_init_irq_param(hw, (void *)device); - uint8_t irq = _sercom_get_irq_num(hw); - for (uint32_t i = 0; i < 4; i++) { - NVIC_DisableIRQ((IRQn_Type)irq); - NVIC_ClearPendingIRQ((IRQn_Type)irq); - NVIC_EnableIRQ((IRQn_Type)irq); - irq++; - } - return ERR_NONE; -} - -/** - * \brief De-initialize SERCOM USART - */ -void _usart_sync_deinit(struct _usart_sync_device *const device) -{ - _usart_deinit(device->hw); -} - -/** - * \brief De-initialize SERCOM USART - */ -void _usart_async_deinit(struct _usart_async_device *const device) -{ - NVIC_DisableIRQ((IRQn_Type)_sercom_get_irq_num(device->hw)); - _usart_deinit(device->hw); -} - -/** - * \brief Calculate baud rate register value - */ -uint16_t _usart_sync_calculate_baud_rate(const uint32_t baud, const uint32_t clock_rate, const uint8_t samples, - const enum usart_baud_rate_mode mode, const uint8_t fraction) -{ - return _usart_calculate_baud_rate(baud, clock_rate, samples, mode, fraction); -} - -/** - * \brief Calculate baud rate register value - */ -uint16_t _usart_async_calculate_baud_rate(const uint32_t baud, const uint32_t clock_rate, const uint8_t samples, - const enum usart_baud_rate_mode mode, const uint8_t fraction) -{ - return _usart_calculate_baud_rate(baud, clock_rate, samples, mode, fraction); -} - -/** - * \brief Enable SERCOM module - */ -void _usart_sync_enable(struct _usart_sync_device *const device) -{ - hri_sercomusart_set_CTRLA_ENABLE_bit(device->hw); -} - -/** - * \brief Enable SERCOM module - */ -void _usart_async_enable(struct _usart_async_device *const device) -{ - hri_sercomusart_set_CTRLA_ENABLE_bit(device->hw); -} - -/** - * \brief Disable SERCOM module - */ -void _usart_sync_disable(struct _usart_sync_device *const device) -{ - hri_sercomusart_clear_CTRLA_ENABLE_bit(device->hw); -} - -/** - * \brief Disable SERCOM module - */ -void _usart_async_disable(struct _usart_async_device *const device) -{ - hri_sercomusart_clear_CTRLA_ENABLE_bit(device->hw); -} - -/** - * \brief Set baud rate - */ -void _usart_sync_set_baud_rate(struct _usart_sync_device *const device, const uint32_t baud_rate) -{ - _usart_set_baud_rate(device->hw, baud_rate); -} - -/** - * \brief Set baud rate - */ -void _usart_async_set_baud_rate(struct _usart_async_device *const device, const uint32_t baud_rate) -{ - _usart_set_baud_rate(device->hw, baud_rate); -} - -/** - * \brief Set data order - */ -void _usart_sync_set_data_order(struct _usart_sync_device *const device, const enum usart_data_order order) -{ - _usart_set_data_order(device->hw, order); -} - -/** - * \brief Set data order - */ -void _usart_async_set_data_order(struct _usart_async_device *const device, const enum usart_data_order order) -{ - _usart_set_data_order(device->hw, order); -} - -/** - * \brief Set mode - */ -void _usart_sync_set_mode(struct _usart_sync_device *const device, const enum usart_mode mode) -{ - _usart_set_mode(device->hw, mode); -} - -/** - * \brief Set mode - */ -void _usart_async_set_mode(struct _usart_async_device *const device, const enum usart_mode mode) -{ - _usart_set_mode(device->hw, mode); -} - -/** - * \brief Set parity - */ -void _usart_sync_set_parity(struct _usart_sync_device *const device, const enum usart_parity parity) -{ - _usart_set_parity(device->hw, parity); -} - -/** - * \brief Set parity - */ -void _usart_async_set_parity(struct _usart_async_device *const device, const enum usart_parity parity) -{ - _usart_set_parity(device->hw, parity); -} - -/** - * \brief Set stop bits mode - */ -void _usart_sync_set_stop_bits(struct _usart_sync_device *const device, const enum usart_stop_bits stop_bits) -{ - _usart_set_stop_bits(device->hw, stop_bits); -} - -/** - * \brief Set stop bits mode - */ -void _usart_async_set_stop_bits(struct _usart_async_device *const device, const enum usart_stop_bits stop_bits) -{ - _usart_set_stop_bits(device->hw, stop_bits); -} - -/** - * \brief Set character size - */ -void _usart_sync_set_character_size(struct _usart_sync_device *const device, const enum usart_character_size size) -{ - _usart_set_character_size(device->hw, size); -} - -/** - * \brief Set character size - */ -void _usart_async_set_character_size(struct _usart_async_device *const device, const enum usart_character_size size) -{ - _usart_set_character_size(device->hw, size); -} - -/** - * \brief Retrieve SERCOM usart status - */ -uint32_t _usart_sync_get_status(const struct _usart_sync_device *const device) -{ - return hri_sercomusart_read_STATUS_reg(device->hw); -} - -/** - * \brief Retrieve SERCOM usart status - */ -uint32_t _usart_async_get_status(const struct _usart_async_device *const device) -{ - return hri_sercomusart_read_STATUS_reg(device->hw); -} - -/** - * \brief Write a byte to the given SERCOM USART instance - */ -void _usart_sync_write_byte(struct _usart_sync_device *const device, uint8_t data) -{ - hri_sercomusart_write_DATA_reg(device->hw, data); -} - -/** - * \brief Write a byte to the given SERCOM USART instance - */ -void _usart_async_write_byte(struct _usart_async_device *const device, uint8_t data) -{ - hri_sercomusart_write_DATA_reg(device->hw, data); -} - -/** - * \brief Read a byte from the given SERCOM USART instance - */ -uint8_t _usart_sync_read_byte(const struct _usart_sync_device *const device) -{ - return hri_sercomusart_read_DATA_reg(device->hw); -} - -/** - * \brief Check if USART is ready to send next byte - */ -bool _usart_sync_is_ready_to_send(const struct _usart_sync_device *const device) -{ - return hri_sercomusart_get_interrupt_DRE_bit(device->hw); -} - -/** - * \brief Check if USART transmission complete - */ -bool _usart_sync_is_transmit_done(const struct _usart_sync_device *const device) -{ - return hri_sercomusart_get_interrupt_TXC_bit(device->hw); -} - -/** - * \brief Check if USART is ready to send next byte - */ -bool _usart_async_is_byte_sent(const struct _usart_async_device *const device) -{ - return hri_sercomusart_get_interrupt_DRE_bit(device->hw); -} - -/** - * \brief Check if there is data received by USART - */ -bool _usart_sync_is_byte_received(const struct _usart_sync_device *const device) -{ - return hri_sercomusart_get_interrupt_RXC_bit(device->hw); -} - -/** - * \brief Set the state of flow control pins - */ -void _usart_sync_set_flow_control_state(struct _usart_sync_device *const device, - const union usart_flow_control_state state) -{ - (void)device; - (void)state; -} - -/** - * \brief Set the state of flow control pins - */ -void _usart_async_set_flow_control_state(struct _usart_async_device *const device, - const union usart_flow_control_state state) -{ - (void)device; - (void)state; -} - -/** - * \brief Retrieve the state of flow control pins - */ -union usart_flow_control_state _usart_sync_get_flow_control_state(const struct _usart_sync_device *const device) -{ - (void)device; - union usart_flow_control_state state; - - state.value = 0; - state.bit.unavailable = 1; - return state; -} - -/** - * \brief Retrieve the state of flow control pins - */ -union usart_flow_control_state _usart_async_get_flow_control_state(const struct _usart_async_device *const device) -{ - (void)device; - union usart_flow_control_state state; - - state.value = 0; - state.bit.unavailable = 1; - return state; -} - -/** - * \brief Enable data register empty interrupt - */ -void _usart_async_enable_byte_sent_irq(struct _usart_async_device *const device) -{ - hri_sercomusart_set_INTEN_DRE_bit(device->hw); -} - -/** - * \brief Enable transmission complete interrupt - */ -void _usart_async_enable_tx_done_irq(struct _usart_async_device *const device) -{ - hri_sercomusart_set_INTEN_TXC_bit(device->hw); -} - -/** - * \brief Retrieve ordinal number of the given sercom hardware instance - */ -static uint8_t _sercom_get_hardware_index(const void *const hw) -{ - Sercom *const sercom_modules[] = SERCOM_INSTS; - /* Find index for SERCOM instance. */ - for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - if ((uint32_t)hw == (uint32_t)sercom_modules[i]) { - return i; - } - } - return 0; -} - -/** - * \brief Retrieve ordinal number of the given SERCOM USART hardware instance - */ -uint8_t _usart_sync_get_hardware_index(const struct _usart_sync_device *const device) -{ - return _sercom_get_hardware_index(device->hw); -} - -/** - * \brief Retrieve ordinal number of the given SERCOM USART hardware instance - */ -uint8_t _usart_async_get_hardware_index(const struct _usart_async_device *const device) -{ - return _sercom_get_hardware_index(device->hw); -} - -/** - * \brief Enable/disable USART interrupt - */ -void _usart_async_set_irq_state(struct _usart_async_device *const device, const enum _usart_async_callback_type type, - const bool state) -{ - ASSERT(device); - - if (USART_ASYNC_BYTE_SENT == type || USART_ASYNC_TX_DONE == type) { - hri_sercomusart_write_INTEN_DRE_bit(device->hw, state); - hri_sercomusart_write_INTEN_TXC_bit(device->hw, state); - } else if (USART_ASYNC_RX_DONE == type) { - hri_sercomusart_write_INTEN_RXC_bit(device->hw, state); - } else if (USART_ASYNC_ERROR == type) { - hri_sercomusart_write_INTEN_ERROR_bit(device->hw, state); - } -} - -/** - * \internal Sercom interrupt handler - * - * \param[in] p The pointer to interrupt parameter - */ -static void _sercom_usart_interrupt_handler(struct _usart_async_device *device) -{ - void *hw = device->hw; - - if (hri_sercomusart_get_interrupt_DRE_bit(hw) && hri_sercomusart_get_INTEN_DRE_bit(hw)) { - hri_sercomusart_clear_INTEN_DRE_bit(hw); - device->usart_cb.tx_byte_sent(device); - } else if (hri_sercomusart_get_interrupt_TXC_bit(hw) && hri_sercomusart_get_INTEN_TXC_bit(hw)) { - hri_sercomusart_clear_INTEN_TXC_bit(hw); - device->usart_cb.tx_done_cb(device); - } else if (hri_sercomusart_get_interrupt_RXC_bit(hw)) { - if (hri_sercomusart_read_STATUS_reg(hw) - & (SERCOM_USART_STATUS_PERR | SERCOM_USART_STATUS_FERR | SERCOM_USART_STATUS_BUFOVF - | SERCOM_USART_STATUS_ISF | SERCOM_USART_STATUS_COLL)) { - hri_sercomusart_clear_STATUS_reg(hw, SERCOM_USART_STATUS_MASK); - return; - } - - device->usart_cb.rx_done_cb(device, hri_sercomusart_read_DATA_reg(hw)); - } else if (hri_sercomusart_get_interrupt_ERROR_bit(hw)) { - uint32_t status; - - hri_sercomusart_clear_interrupt_ERROR_bit(hw); - device->usart_cb.error_cb(device); - status = hri_sercomusart_read_STATUS_reg(hw); - hri_sercomusart_clear_STATUS_reg(hw, status); - } -} - -/** - * \internal Retrieve ordinal number of the given sercom hardware instance - * - * \param[in] hw The pointer to hardware instance - - * \return The ordinal number of the given sercom hardware instance - */ -static uint8_t _get_sercom_index(const void *const hw) -{ - uint8_t sercom_offset = _sercom_get_hardware_index(hw); - uint8_t i; - - for (i = 0; i < ARRAY_SIZE(_usarts); i++) { - if (_usarts[i].number == sercom_offset) { - return i; - } - } - - ASSERT(false); - return 0; -} - -/** - * \brief Init irq param with the given sercom hardware instance - */ -static void _sercom_init_irq_param(const void *const hw, void *dev) -{ - - if (hw == SERCOM0) { - _sercom0_dev = (struct _usart_async_device *)dev; - } -} - -/** - * \internal Initialize SERCOM USART - * - * \param[in] hw The pointer to hardware instance - * - * \return The status of initialization - */ -static int32_t _usart_init(void *const hw) -{ - uint8_t i = _get_sercom_index(hw); - - if (!hri_sercomusart_is_syncing(hw, SERCOM_USART_SYNCBUSY_SWRST)) { - uint32_t mode = _usarts[i].ctrl_a & SERCOM_USART_CTRLA_MODE_Msk; - if (hri_sercomusart_get_CTRLA_reg(hw, SERCOM_USART_CTRLA_ENABLE)) { - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_ENABLE); - } - hri_sercomusart_write_CTRLA_reg(hw, SERCOM_USART_CTRLA_SWRST | mode); - } - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST); - - hri_sercomusart_write_CTRLA_reg(hw, _usarts[i].ctrl_a); - hri_sercomusart_write_CTRLB_reg(hw, _usarts[i].ctrl_b); - hri_sercomusart_write_CTRLC_reg(hw, _usarts[i].ctrl_c); - if ((_usarts[i].ctrl_a & SERCOM_USART_CTRLA_SAMPR(0x1)) || (_usarts[i].ctrl_a & SERCOM_USART_CTRLA_SAMPR(0x3))) { - ((Sercom *)hw)->USART.BAUD.FRAC.BAUD = _usarts[i].baud; - ((Sercom *)hw)->USART.BAUD.FRAC.FP = _usarts[i].fractional; - } else { - hri_sercomusart_write_BAUD_reg(hw, _usarts[i].baud); - } - - hri_sercomusart_write_RXPL_reg(hw, _usarts[i].rxpl); - hri_sercomusart_write_DBGCTRL_reg(hw, _usarts[i].debug_ctrl); - - return ERR_NONE; -} - -/** - * \internal De-initialize SERCOM USART - * - * \param[in] hw The pointer to hardware instance - */ -static inline void _usart_deinit(void *const hw) -{ - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - hri_sercomusart_set_CTRLA_SWRST_bit(hw); -} - -/** - * \internal Calculate baud rate register value - * - * \param[in] baud Required baud rate - * \param[in] clock_rate SERCOM clock frequency - * \param[in] samples The number of samples - * \param[in] mode USART mode - * \param[in] fraction A fraction value - * - * \return Calculated baud rate register value - */ -static uint16_t _usart_calculate_baud_rate(const uint32_t baud, const uint32_t clock_rate, const uint8_t samples, - const enum usart_baud_rate_mode mode, const uint8_t fraction) -{ - if (USART_BAUDRATE_ASYNCH_ARITHMETIC == mode) { - return 65536 - ((uint64_t)65536 * samples * baud) / clock_rate; - } - - if (USART_BAUDRATE_ASYNCH_FRACTIONAL == mode) { - return clock_rate / baud / samples + SERCOM_USART_BAUD_FRACFP_FP(fraction); - } - - if (USART_BAUDRATE_SYNCH == mode) { - return clock_rate / baud / 2 - 1; - } - - return 0; -} - -/** - * \internal Set baud rate - * - * \param[in] device The pointer to USART device instance - * \param[in] baud_rate A baud rate to set - */ -static void _usart_set_baud_rate(void *const hw, const uint32_t baud_rate) -{ - bool enabled = hri_sercomusart_get_CTRLA_ENABLE_bit(hw); - - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - - CRITICAL_SECTION_ENTER() - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_ENABLE); - hri_sercomusart_write_BAUD_reg(hw, baud_rate); - CRITICAL_SECTION_LEAVE() - - hri_sercomusart_write_CTRLA_ENABLE_bit(hw, enabled); -} - -/** - * \internal Set data order - * - * \param[in] device The pointer to USART device instance - * \param[in] order A data order to set - */ -static void _usart_set_data_order(void *const hw, const enum usart_data_order order) -{ - bool enabled = hri_sercomusart_get_CTRLA_ENABLE_bit(hw); - - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - - CRITICAL_SECTION_ENTER() - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_ENABLE); - hri_sercomusart_write_CTRLA_DORD_bit(hw, order); - CRITICAL_SECTION_LEAVE() - - hri_sercomusart_write_CTRLA_ENABLE_bit(hw, enabled); -} - -/** - * \internal Set mode - * - * \param[in] device The pointer to USART device instance - * \param[in] mode A mode to set - */ -static void _usart_set_mode(void *const hw, const enum usart_mode mode) -{ - bool enabled = hri_sercomusart_get_CTRLA_ENABLE_bit(hw); - - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - - CRITICAL_SECTION_ENTER() - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_ENABLE); - hri_sercomusart_write_CTRLA_CMODE_bit(hw, mode); - CRITICAL_SECTION_LEAVE() - - hri_sercomusart_write_CTRLA_ENABLE_bit(hw, enabled); -} - -/** - * \internal Set parity - * - * \param[in] device The pointer to USART device instance - * \param[in] parity A parity to set - */ -static void _usart_set_parity(void *const hw, const enum usart_parity parity) -{ - bool enabled = hri_sercomusart_get_CTRLA_ENABLE_bit(hw); - - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - - CRITICAL_SECTION_ENTER() - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_ENABLE); - - if (USART_PARITY_NONE != parity) { - hri_sercomusart_set_CTRLA_FORM_bf(hw, 1); - } else { - hri_sercomusart_clear_CTRLA_FORM_bf(hw, 1); - } - - hri_sercomusart_write_CTRLB_PMODE_bit(hw, parity); - CRITICAL_SECTION_LEAVE() - - hri_sercomusart_write_CTRLA_ENABLE_bit(hw, enabled); -} - -/** - * \internal Set stop bits mode - * - * \param[in] device The pointer to USART device instance - * \param[in] stop_bits A stop bits mode to set - */ -static void _usart_set_stop_bits(void *const hw, const enum usart_stop_bits stop_bits) -{ - bool enabled = hri_sercomusart_get_CTRLA_ENABLE_bit(hw); - - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - - CRITICAL_SECTION_ENTER() - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_ENABLE); - hri_sercomusart_write_CTRLB_SBMODE_bit(hw, stop_bits); - CRITICAL_SECTION_LEAVE() - - hri_sercomusart_write_CTRLA_ENABLE_bit(hw, enabled); -} - -/** - * \internal Set character size - * - * \param[in] device The pointer to USART device instance - * \param[in] size A character size to set - */ -static void _usart_set_character_size(void *const hw, const enum usart_character_size size) -{ - bool enabled = hri_sercomusart_get_CTRLA_ENABLE_bit(hw); - - hri_sercomusart_clear_CTRLA_ENABLE_bit(hw); - - CRITICAL_SECTION_ENTER() - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_ENABLE); - hri_sercomusart_write_CTRLB_CHSIZE_bf(hw, size); - CRITICAL_SECTION_LEAVE() - - if (enabled) { - hri_sercomusart_set_CTRLA_ENABLE_bit(hw); - } -} - - /* Sercom I2C implementation */ - -#ifndef CONF_SERCOM_0_I2CM_ENABLE -#define CONF_SERCOM_0_I2CM_ENABLE 0 -#endif -#ifndef CONF_SERCOM_1_I2CM_ENABLE -#define CONF_SERCOM_1_I2CM_ENABLE 0 -#endif -#ifndef CONF_SERCOM_2_I2CM_ENABLE -#define CONF_SERCOM_2_I2CM_ENABLE 0 -#endif -#ifndef CONF_SERCOM_3_I2CM_ENABLE -#define CONF_SERCOM_3_I2CM_ENABLE 0 -#endif -#ifndef CONF_SERCOM_4_I2CM_ENABLE -#define CONF_SERCOM_4_I2CM_ENABLE 0 -#endif -#ifndef CONF_SERCOM_5_I2CM_ENABLE -#define CONF_SERCOM_5_I2CM_ENABLE 0 -#endif -#ifndef CONF_SERCOM_6_I2CM_ENABLE -#define CONF_SERCOM_6_I2CM_ENABLE 0 -#endif -#ifndef CONF_SERCOM_7_I2CM_ENABLE -#define CONF_SERCOM_7_I2CM_ENABLE 0 -#endif - -/** Amount of SERCOM that is used as I2C Master. */ -#define SERCOM_I2CM_AMOUNT \ - (CONF_SERCOM_0_I2CM_ENABLE + CONF_SERCOM_1_I2CM_ENABLE + CONF_SERCOM_2_I2CM_ENABLE + CONF_SERCOM_3_I2CM_ENABLE \ - + CONF_SERCOM_4_I2CM_ENABLE + CONF_SERCOM_5_I2CM_ENABLE + CONF_SERCOM_6_I2CM_ENABLE + CONF_SERCOM_7_I2CM_ENABLE) - -/** - * \brief Macro is used to fill i2cm configuration structure based on - * its number - * - * \param[in] n The number of structures - */ -#define I2CM_CONFIGURATION(n) \ - { \ - (n), \ - (SERCOM_I2CM_CTRLA_MODE_I2C_MASTER) | (CONF_SERCOM_##n##_I2CM_RUNSTDBY << SERCOM_I2CM_CTRLA_RUNSTDBY_Pos) \ - | (CONF_SERCOM_##n##_I2CM_SPEED << SERCOM_I2CM_CTRLA_SPEED_Pos) \ - | (CONF_SERCOM_##n##_I2CM_MEXTTOEN << SERCOM_I2CM_CTRLA_MEXTTOEN_Pos) \ - | (CONF_SERCOM_##n##_I2CM_SEXTTOEN << SERCOM_I2CM_CTRLA_SEXTTOEN_Pos) \ - | (CONF_SERCOM_##n##_I2CM_INACTOUT << SERCOM_I2CM_CTRLA_INACTOUT_Pos) \ - | (CONF_SERCOM_##n##_I2CM_LOWTOUT << SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos) \ - | (CONF_SERCOM_##n##_I2CM_SDAHOLD << SERCOM_I2CM_CTRLA_SDAHOLD_Pos), \ - SERCOM_I2CM_CTRLB_SMEN, (uint32_t)(CONF_SERCOM_##n##_I2CM_BAUD_RATE), \ - CONF_SERCOM_##n##_I2CM_DEBUG_STOP_MODE, CONF_SERCOM_##n##_I2CM_TRISE, CONF_GCLK_SERCOM##n##_CORE_FREQUENCY \ - } - -#define ERROR_FLAG (1 << 7) -#define SB_FLAG (1 << 1) -#define MB_FLAG (1 << 0) - -#define CMD_STOP 0x3 -#define I2C_IDLE 0x1 -#define I2C_SM 0x0 -#define I2C_FM 0x1 -#define I2C_HS 0x2 -#define TEN_ADDR_FRAME 0x78 -#define TEN_ADDR_MASK 0x3ff -#define SEVEN_ADDR_MASK 0x7f - -/** - * \brief SERCOM I2CM configuration type - */ -struct i2cm_configuration { - uint8_t number; - hri_sercomi2cm_ctrla_reg_t ctrl_a; - hri_sercomi2cm_ctrlb_reg_t ctrl_b; - hri_sercomi2cm_baud_reg_t baud; - hri_sercomi2cm_dbgctrl_reg_t dbgctrl; - uint16_t trise; - uint32_t clk; /* SERCOM peripheral clock frequency */ -}; - -static inline int32_t _i2c_m_enable_implementation(void *hw); -static int32_t _i2c_m_sync_init_impl(struct _i2c_m_service *const service, void *const hw); - -#if SERCOM_I2CM_AMOUNT < 1 -/** Dummy array to pass compiling. */ -static struct i2cm_configuration _i2cms[1] = {{0}}; -#else -/** - * \brief Array of SERCOM I2CM configurations - */ -static struct i2cm_configuration _i2cms[] = { -#if CONF_SERCOM_0_I2CM_ENABLE == 1 - I2CM_CONFIGURATION(0), -#endif -#if CONF_SERCOM_1_I2CM_ENABLE == 1 - I2CM_CONFIGURATION(1), -#endif -#if CONF_SERCOM_2_I2CM_ENABLE == 1 - I2CM_CONFIGURATION(2), -#endif -#if CONF_SERCOM_3_I2CM_ENABLE == 1 - I2CM_CONFIGURATION(3), -#endif -#if CONF_SERCOM_4_I2CM_ENABLE == 1 - I2CM_CONFIGURATION(4), -#endif -#if CONF_SERCOM_5_I2CM_ENABLE == 1 - I2CM_CONFIGURATION(5), -#endif -#if CONF_SERCOM_6_I2CM_ENABLE == 1 - I2CM_CONFIGURATION(6), -#endif -#if CONF_SERCOM_7_I2CM_ENABLE == 1 - I2CM_CONFIGURATION(7), -#endif -}; -#endif - -/** - * \internal Retrieve ordinal number of the given sercom hardware instance - * - * \param[in] hw The pointer to hardware instance - - * \return The ordinal number of the given sercom hardware instance - */ -static int8_t _get_i2cm_index(const void *const hw) -{ - uint8_t sercom_offset = _sercom_get_hardware_index(hw); - uint8_t i; - - for (i = 0; i < ARRAY_SIZE(_i2cms); i++) { - if (_i2cms[i].number == sercom_offset) { - return i; - } - } - - ASSERT(false); - return -1; -} - -static inline void _sercom_i2c_send_stop(void *const hw) -{ - hri_sercomi2cm_set_CTRLB_CMD_bf(hw, CMD_STOP); -} - -/** - * \brief SERCOM I2CM analyze hardware status and transfer next byte - */ -static inline int32_t _sercom_i2c_sync_analyse_flags(void *const hw, uint32_t flags, struct _i2c_m_msg *const msg) -{ - int sclsm = hri_sercomi2cm_get_CTRLA_SCLSM_bit(hw); - uint16_t status = hri_sercomi2cm_read_STATUS_reg(hw); - - if (flags & MB_FLAG) { - /* tx error */ - if (status & SERCOM_I2CM_STATUS_ARBLOST) { - hri_sercomi2cm_clear_interrupt_MB_bit(hw); - msg->flags |= I2C_M_FAIL; - msg->flags &= ~I2C_M_BUSY; - - if (status & SERCOM_I2CM_STATUS_BUSERR) { - return I2C_ERR_BUS; - } - - return I2C_ERR_BAD_ADDRESS; - } else { - if (status & SERCOM_I2CM_STATUS_RXNACK) { - - /* Slave rejects to receive more data */ - if (msg->len > 0) { - msg->flags |= I2C_M_FAIL; - } - - if (msg->flags & I2C_M_STOP) { - _sercom_i2c_send_stop(hw); - } - - msg->flags &= ~I2C_M_BUSY; - - return I2C_NACK; - } - - if (msg->flags & I2C_M_TEN) { - hri_sercomi2cm_write_ADDR_reg(hw, - ((((msg->addr & TEN_ADDR_MASK) >> 8) | TEN_ADDR_FRAME) << 1) | I2C_M_RD - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - msg->flags &= ~I2C_M_TEN; - - return I2C_OK; - } - - if (msg->len == 0) { - if (msg->flags & I2C_M_STOP) { - _sercom_i2c_send_stop(hw); - } - - msg->flags &= ~I2C_M_BUSY; - } else { - hri_sercomi2cm_write_DATA_reg(hw, *msg->buffer); - msg->buffer++; - msg->len--; - } - - return I2C_OK; - } - } else if (flags & SB_FLAG) { - if ((msg->len) && !(status & SERCOM_I2CM_STATUS_RXNACK)) { - msg->len--; - - /* last byte, send nack */ - if ((msg->len == 0 && !sclsm) || (msg->len == 1 && sclsm)) { - hri_sercomi2cm_set_CTRLB_ACKACT_bit(hw); - } - - if (msg->len == 0) { - if (msg->flags & I2C_M_STOP) { - hri_sercomi2cm_clear_CTRLB_SMEN_bit(hw); - _sercom_i2c_send_stop(hw); - } - - msg->flags &= ~I2C_M_BUSY; - } - - /* Accessing DATA.DATA auto-triggers I2C bus operations. - * The operation performed depends on the state of - * CTRLB.ACKACT, CTRLB.SMEN - **/ - *msg->buffer++ = hri_sercomi2cm_read_DATA_reg(hw); - } else { - hri_sercomi2cm_clear_interrupt_SB_bit(hw); - return I2C_NACK; - } - - hri_sercomi2cm_clear_interrupt_SB_bit(hw); - } - - return I2C_OK; -} - -/** - * \brief Enable the i2c master module - * - * \param[in] i2c_dev The pointer to i2c device - */ -int32_t _i2c_m_async_enable(struct _i2c_m_async_device *const i2c_dev) -{ - ASSERT(i2c_dev); - - return _i2c_m_enable_implementation(i2c_dev->hw); -} - -/** - * \brief Disable the i2c master module - * - * \param[in] i2c_dev The pointer to i2c device - */ -int32_t _i2c_m_async_disable(struct _i2c_m_async_device *const i2c_dev) -{ - void *hw = i2c_dev->hw; - - ASSERT(i2c_dev); - ASSERT(i2c_dev->hw); - - NVIC_DisableIRQ((IRQn_Type)_sercom_get_irq_num(hw)); - hri_sercomi2cm_clear_CTRLA_ENABLE_bit(hw); - - return ERR_NONE; -} - -/** - * \brief Set baudrate of master - * - * \param[in] i2c_dev The pointer to i2c device - * \param[in] clkrate The clock rate of i2c master, in KHz - * \param[in] baudrate The baud rate desired for i2c master, in KHz - */ -int32_t _i2c_m_async_set_baudrate(struct _i2c_m_async_device *const i2c_dev, uint32_t clkrate, uint32_t baudrate) -{ - uint32_t tmp; - void * hw = i2c_dev->hw; - - if (hri_sercomi2cm_get_CTRLA_ENABLE_bit(hw)) { - return ERR_DENIED; - } - - tmp = _get_i2cm_index(hw); - clkrate = _i2cms[tmp].clk / 1000; - - if (i2c_dev->service.mode == I2C_STANDARD_MODE) { - tmp = (uint32_t)((clkrate - 10 * baudrate - baudrate * clkrate * (i2c_dev->service.trise * 0.000000001)) - / (2 * baudrate)); - hri_sercomi2cm_write_BAUD_BAUD_bf(hw, tmp); - } else if (i2c_dev->service.mode == I2C_FASTMODE) { - tmp = (uint32_t)((clkrate - 10 * baudrate - baudrate * clkrate * (i2c_dev->service.trise * 0.000000001)) - / (2 * baudrate)); - hri_sercomi2cm_write_BAUD_BAUD_bf(hw, tmp); - } else if (i2c_dev->service.mode == I2C_HIGHSPEED_MODE) { - tmp = (clkrate - 2 * baudrate) / (2 * baudrate); - hri_sercomi2cm_write_BAUD_HSBAUD_bf(hw, tmp); - } else { - /* error baudrate */ - return ERR_INVALID_ARG; - } - - return ERR_NONE; -} - -/** - * \brief Retrieve IRQ number for the given hardware instance - */ -static uint8_t _sercom_get_irq_num(const void *const hw) -{ - return SERCOM0_0_IRQn + (_sercom_get_hardware_index(hw) << 2); -} - -/** - * \brief Initialize sercom i2c module to use in async mode - * - * \param[in] i2c_dev The pointer to i2c device - */ -int32_t _i2c_m_async_init(struct _i2c_m_async_device *const i2c_dev, void *const hw) -{ - int32_t init_status; - - ASSERT(i2c_dev); - - i2c_dev->hw = hw; - - init_status = _i2c_m_sync_init_impl(&i2c_dev->service, hw); - if (init_status) { - return init_status; - } - - _sercom_init_irq_param(hw, (void *)i2c_dev); - uint8_t irq = _sercom_get_irq_num(hw); - for (uint32_t i = 0; i < 4; i++) { - NVIC_DisableIRQ((IRQn_Type)irq); - NVIC_ClearPendingIRQ((IRQn_Type)irq); - NVIC_EnableIRQ((IRQn_Type)irq); - irq++; - } - return ERR_NONE; -} - -/** - * \brief Deinitialize sercom i2c module - * - * \param[in] i2c_dev The pointer to i2c device - */ -int32_t _i2c_m_async_deinit(struct _i2c_m_async_device *const i2c_dev) -{ - ASSERT(i2c_dev); - - hri_sercomi2cm_clear_CTRLA_ENABLE_bit(i2c_dev->hw); - hri_sercomi2cm_set_CTRLA_SWRST_bit(i2c_dev->hw); - - return ERR_NONE; -} - -/** - * \brief Transfer the slave address to bus, which will start the transfer - * - * \param[in] i2c_dev The pointer to i2c device - */ -static int32_t _sercom_i2c_send_address(struct _i2c_m_async_device *const i2c_dev) -{ - void * hw = i2c_dev->hw; - struct _i2c_m_msg *msg = &i2c_dev->service.msg; - int sclsm = hri_sercomi2cm_get_CTRLA_SCLSM_bit(hw); - - ASSERT(i2c_dev); - - if (msg->len == 1 && sclsm) { - hri_sercomi2cm_set_CTRLB_ACKACT_bit(hw); - } else { - hri_sercomi2cm_clear_CTRLB_ACKACT_bit(hw); - } - - /* ten bit address */ - if (msg->addr & I2C_M_TEN) { - if (msg->flags & I2C_M_RD) { - msg->flags |= I2C_M_TEN; - } - - hri_sercomi2cm_write_ADDR_reg(hw, - ((msg->addr & TEN_ADDR_MASK) << 1) | SERCOM_I2CM_ADDR_TENBITEN - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - } else { - hri_sercomi2cm_write_ADDR_reg(hw, - ((msg->addr & SEVEN_ADDR_MASK) << 1) | (msg->flags & I2C_M_RD ? I2C_M_RD : 0x0) - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - } - - return ERR_NONE; -} - -/** - * \brief Transfer data specified by msg - * - * \param[in] i2c_dev The pointer to i2c device - * \param[in] msg The pointer to i2c message - * - * \return Transfer status. - * \retval 0 Transfer success - * \retval <0 Transfer fail, return the error code - */ -int32_t _i2c_m_async_transfer(struct _i2c_m_async_device *i2c_dev, struct _i2c_m_msg *msg) -{ - int ret; - - ASSERT(i2c_dev); - ASSERT(i2c_dev->hw); - ASSERT(msg); - - if (msg->len == 0) { - return ERR_NONE; - } - - if (i2c_dev->service.msg.flags & I2C_M_BUSY) { - return ERR_BUSY; - } - - msg->flags |= I2C_M_BUSY; - i2c_dev->service.msg = *msg; - hri_sercomi2cm_set_CTRLB_SMEN_bit(i2c_dev->hw); - - ret = _sercom_i2c_send_address(i2c_dev); - - if (ret) { - i2c_dev->service.msg.flags &= ~I2C_M_BUSY; - - return ret; - } - - return ERR_NONE; -} - -/** - * \brief Set callback to be called in interrupt handler - * - * \param[in] i2c_dev The pointer to master i2c device - * \param[in] type The callback type - * \param[in] func The callback function pointer - */ -int32_t _i2c_m_async_register_callback(struct _i2c_m_async_device *const i2c_dev, enum _i2c_m_async_callback_type type, - FUNC_PTR func) -{ - switch (type) { - case I2C_M_ASYNC_DEVICE_ERROR: - i2c_dev->cb.error = (_i2c_error_cb_t)func; - break; - case I2C_M_ASYNC_DEVICE_TX_COMPLETE: - i2c_dev->cb.tx_complete = (_i2c_complete_cb_t)func; - break; - case I2C_M_ASYNC_DEVICE_RX_COMPLETE: - i2c_dev->cb.rx_complete = (_i2c_complete_cb_t)func; - break; - default: - /* error */ - break; - } - - return ERR_NONE; -} - -/** - * \brief Set stop condition on I2C - * - * \param i2c_dev Pointer to master i2c device - * - * \return Operation status - * \retval I2C_OK Operation was successfull - */ -int32_t _i2c_m_async_send_stop(struct _i2c_m_async_device *const i2c_dev) -{ - void *hw = i2c_dev->hw; - - _sercom_i2c_send_stop(hw); - - return I2C_OK; -} - -/** - * \brief Get number of bytes left in transfer buffer - * - * \param i2c_dev Pointer to i2c master device - * - * \return Bytes left in buffer - * \retval =>0 Bytes left in buffer - */ -int32_t _i2c_m_async_get_bytes_left(struct _i2c_m_async_device *const i2c_dev) -{ - if (i2c_dev->service.msg.flags & I2C_M_BUSY) { - return i2c_dev->service.msg.len; - } - - return 0; -} - -/** - * \brief Initialize sercom i2c module to use in sync mode - * - * \param[in] i2c_dev The pointer to i2c device - */ -int32_t _i2c_m_sync_init(struct _i2c_m_sync_device *const i2c_dev, void *const hw) -{ - ASSERT(i2c_dev); - - i2c_dev->hw = hw; - - return _i2c_m_sync_init_impl(&i2c_dev->service, hw); -} - -/** - * \brief Deinitialize sercom i2c module - * - * \param[in] i2c_dev The pointer to i2c device - */ -int32_t _i2c_m_sync_deinit(struct _i2c_m_sync_device *const i2c_dev) -{ - ASSERT(i2c_dev); - - hri_sercomi2cm_clear_CTRLA_ENABLE_bit(i2c_dev->hw); - hri_sercomi2cm_set_CTRLA_SWRST_bit(i2c_dev->hw); - - return ERR_NONE; -} - -/** - * \brief Enable the i2c master module - * - * \param[in] i2c_dev The pointer to i2c device - */ -int32_t _i2c_m_sync_enable(struct _i2c_m_sync_device *const i2c_dev) -{ - ASSERT(i2c_dev); - - return _i2c_m_enable_implementation(i2c_dev->hw); -} - -/** - * \brief Disable the i2c master module - * - * \param[in] i2c_dev The pointer to i2c device - */ -int32_t _i2c_m_sync_disable(struct _i2c_m_sync_device *const i2c_dev) -{ - void *hw = i2c_dev->hw; - - ASSERT(i2c_dev); - ASSERT(i2c_dev->hw); - - hri_sercomi2cm_clear_CTRLA_ENABLE_bit(hw); - - return ERR_NONE; -} - -/** - * \brief Set baudrate of master - * - * \param[in] i2c_dev The pointer to i2c device - * \param[in] clkrate The clock rate of i2c master, in KHz - * \param[in] baudrate The baud rate desired for i2c master, in KHz - */ -int32_t _i2c_m_sync_set_baudrate(struct _i2c_m_sync_device *const i2c_dev, uint32_t clkrate, uint32_t baudrate) -{ - uint32_t tmp; - void * hw = i2c_dev->hw; - - if (hri_sercomi2cm_get_CTRLA_ENABLE_bit(hw)) { - return ERR_DENIED; - } - - tmp = _get_i2cm_index(hw); - clkrate = _i2cms[tmp].clk / 1000; - - if (i2c_dev->service.mode == I2C_STANDARD_MODE) { - tmp = (uint32_t)((clkrate - 10 * baudrate - baudrate * clkrate * (i2c_dev->service.trise * 0.000000001)) - / (2 * baudrate)); - hri_sercomi2cm_write_BAUD_BAUD_bf(hw, tmp); - } else if (i2c_dev->service.mode == I2C_FASTMODE) { - tmp = (uint32_t)((clkrate - 10 * baudrate - baudrate * clkrate * (i2c_dev->service.trise * 0.000000001)) - / (2 * baudrate)); - hri_sercomi2cm_write_BAUD_BAUD_bf(hw, tmp); - } else if (i2c_dev->service.mode == I2C_HIGHSPEED_MODE) { - tmp = (clkrate - 2 * baudrate) / (2 * baudrate); - hri_sercomi2cm_write_BAUD_HSBAUD_bf(hw, tmp); - } else { - /* error baudrate */ - return ERR_INVALID_ARG; - } - - return ERR_NONE; -} - -/** - * \brief Enable/disable I2C master interrupt - */ -void _i2c_m_async_set_irq_state(struct _i2c_m_async_device *const device, const enum _i2c_m_async_callback_type type, - const bool state) -{ - if (I2C_M_ASYNC_DEVICE_TX_COMPLETE == type || I2C_M_ASYNC_DEVICE_RX_COMPLETE == type) { - hri_sercomi2cm_write_INTEN_SB_bit(device->hw, state); - hri_sercomi2cm_write_INTEN_MB_bit(device->hw, state); - } else if (I2C_M_ASYNC_DEVICE_ERROR == type) { - hri_sercomi2cm_write_INTEN_ERROR_bit(device->hw, state); - } -} - -/** - * \brief Wait for bus response - * - * \param[in] i2c_dev The pointer to i2c device - * \param[in] flags Store the hardware response - * - * \return Bus response status. - * \retval 0 Bus response status OK - * \retval <0 Bus response fail - */ -inline static int32_t _sercom_i2c_sync_wait_bus(struct _i2c_m_sync_device *const i2c_dev, uint32_t *flags) -{ - uint32_t timeout = 65535; - void * hw = i2c_dev->hw; - - do { - *flags = hri_sercomi2cm_read_INTFLAG_reg(hw); - - if (timeout-- == 0) { - return I2C_ERR_BUS; - } - } while (!(*flags & MB_FLAG) && !(*flags & SB_FLAG)); - - return I2C_OK; -} - -/** - * \brief Send the slave address to bus, which will start the transfer - * - * \param[in] i2c_dev The pointer to i2c device - */ -static int32_t _sercom_i2c_sync_send_address(struct _i2c_m_sync_device *const i2c_dev) -{ - void * hw = i2c_dev->hw; - struct _i2c_m_msg *msg = &i2c_dev->service.msg; - int sclsm = hri_sercomi2cm_get_CTRLA_SCLSM_bit(hw); - uint32_t flags; - - ASSERT(i2c_dev); - - if (msg->len == 1 && sclsm) { - hri_sercomi2cm_set_CTRLB_ACKACT_bit(hw); - } else { - hri_sercomi2cm_clear_CTRLB_ACKACT_bit(hw); - } - - /* ten bit address */ - if (msg->addr & I2C_M_TEN) { - if (msg->flags & I2C_M_RD) { - msg->flags |= I2C_M_TEN; - } - - hri_sercomi2cm_write_ADDR_reg(hw, - ((msg->addr & TEN_ADDR_MASK) << 1) | SERCOM_I2CM_ADDR_TENBITEN - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - } else { - hri_sercomi2cm_write_ADDR_reg(hw, - ((msg->addr & SEVEN_ADDR_MASK) << 1) | (msg->flags & I2C_M_RD ? I2C_M_RD : 0x0) - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - } - - _sercom_i2c_sync_wait_bus(i2c_dev, &flags); - return _sercom_i2c_sync_analyse_flags(hw, flags, msg); -} - -/** - * \brief Transfer data specified by msg - * - * \param[in] i2c_dev The pointer to i2c device - * \param[in] msg The pointer to i2c message - * - * \return Transfer status. - * \retval 0 Transfer success - * \retval <0 Transfer fail or partial fail, return the error code - */ -int32_t _i2c_m_sync_transfer(struct _i2c_m_sync_device *const i2c_dev, struct _i2c_m_msg *msg) -{ - uint32_t flags; - int ret; - void * hw = i2c_dev->hw; - - ASSERT(i2c_dev); - ASSERT(i2c_dev->hw); - ASSERT(msg); - - if (i2c_dev->service.msg.flags & I2C_M_BUSY) { - return I2C_ERR_BUSY; - } - - msg->flags |= I2C_M_BUSY; - i2c_dev->service.msg = *msg; - hri_sercomi2cm_set_CTRLB_SMEN_bit(hw); - - ret = _sercom_i2c_sync_send_address(i2c_dev); - - if (ret) { - i2c_dev->service.msg.flags &= ~I2C_M_BUSY; - - return ret; - } - - while (i2c_dev->service.msg.flags & I2C_M_BUSY) { - ret = _sercom_i2c_sync_wait_bus(i2c_dev, &flags); - - if (ret) { - if (msg->flags & I2C_M_STOP) { - _sercom_i2c_send_stop(hw); - } - - i2c_dev->service.msg.flags &= ~I2C_M_BUSY; - - return ret; - } - - ret = _sercom_i2c_sync_analyse_flags(hw, flags, &i2c_dev->service.msg); - } - - return ret; -} - -int32_t _i2c_m_sync_send_stop(struct _i2c_m_sync_device *const i2c_dev) -{ - void *hw = i2c_dev->hw; - - _sercom_i2c_send_stop(hw); - - return I2C_OK; -} - -static inline int32_t _i2c_m_enable_implementation(void *const hw) -{ - int timeout = 65535; - int timeout_attempt = 4; - - ASSERT(hw); - - /* Enable interrupts */ - hri_sercomi2cm_set_CTRLA_ENABLE_bit(hw); - - while (hri_sercomi2cm_read_STATUS_BUSSTATE_bf(hw) != I2C_IDLE) { - timeout--; - - if (timeout <= 0) { - if (--timeout_attempt) - timeout = 65535; - else - return I2C_ERR_BUSY; - hri_sercomi2cm_clear_STATUS_reg(hw, SERCOM_I2CM_STATUS_BUSSTATE(I2C_IDLE)); - } - } - return ERR_NONE; -} - -static int32_t _i2c_m_sync_init_impl(struct _i2c_m_service *const service, void *const hw) -{ - uint8_t i = _get_i2cm_index(hw); - - if (!hri_sercomi2cm_is_syncing(hw, SERCOM_I2CM_SYNCBUSY_SWRST)) { - uint32_t mode = _i2cms[i].ctrl_a & SERCOM_I2CM_CTRLA_MODE_Msk; - if (hri_sercomi2cm_get_CTRLA_reg(hw, SERCOM_I2CM_CTRLA_ENABLE)) { - hri_sercomi2cm_clear_CTRLA_ENABLE_bit(hw); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_ENABLE); - } - hri_sercomi2cm_write_CTRLA_reg(hw, SERCOM_I2CM_CTRLA_SWRST | mode); - } - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST); - - hri_sercomi2cm_write_CTRLA_reg(hw, _i2cms[i].ctrl_a); - hri_sercomi2cm_write_CTRLB_reg(hw, _i2cms[i].ctrl_b); - hri_sercomi2cm_write_BAUD_reg(hw, _i2cms[i].baud); - - service->mode = (_i2cms[i].ctrl_a & SERCOM_I2CM_CTRLA_SPEED_Msk) >> SERCOM_I2CM_CTRLA_SPEED_Pos; - hri_sercomi2cm_write_ADDR_HS_bit(hw, service->mode < I2C_HS ? 0 : 1); - - service->trise = _i2cms[i].trise; - - return ERR_NONE; -} - - /* SERCOM I2C slave */ - -#ifndef CONF_SERCOM_0_I2CS_ENABLE -#define CONF_SERCOM_0_I2CS_ENABLE 0 -#endif -#ifndef CONF_SERCOM_1_I2CS_ENABLE -#define CONF_SERCOM_1_I2CS_ENABLE 0 -#endif -#ifndef CONF_SERCOM_2_I2CS_ENABLE -#define CONF_SERCOM_2_I2CS_ENABLE 0 -#endif -#ifndef CONF_SERCOM_3_I2CS_ENABLE -#define CONF_SERCOM_3_I2CS_ENABLE 0 -#endif -#ifndef CONF_SERCOM_4_I2CS_ENABLE -#define CONF_SERCOM_4_I2CS_ENABLE 0 -#endif -#ifndef CONF_SERCOM_5_I2CS_ENABLE -#define CONF_SERCOM_5_I2CS_ENABLE 0 -#endif -#ifndef CONF_SERCOM_6_I2CS_ENABLE -#define CONF_SERCOM_6_I2CS_ENABLE 0 -#endif -#ifndef CONF_SERCOM_7_I2CS_ENABLE -#define CONF_SERCOM_7_I2CS_ENABLE 0 -#endif - -/** Amount of SERCOM that is used as I2C Slave. */ -#define SERCOM_I2CS_AMOUNT \ - (CONF_SERCOM_0_I2CS_ENABLE + CONF_SERCOM_1_I2CS_ENABLE + CONF_SERCOM_2_I2CS_ENABLE + CONF_SERCOM_3_I2CS_ENABLE \ - + CONF_SERCOM_4_I2CS_ENABLE + CONF_SERCOM_5_I2CS_ENABLE + CONF_SERCOM_6_I2CS_ENABLE + CONF_SERCOM_7_I2CS_ENABLE) - -/** - * \brief Macro is used to fill I2C slave configuration structure based on - * its number - * - * \param[in] n The number of structures - */ -#define I2CS_CONFIGURATION(n) \ - { \ - n, \ - SERCOM_I2CM_CTRLA_MODE_I2C_SLAVE | (CONF_SERCOM_##n##_I2CS_RUNSTDBY << SERCOM_I2CS_CTRLA_RUNSTDBY_Pos) \ - | SERCOM_I2CS_CTRLA_SDAHOLD(CONF_SERCOM_##n##_I2CS_SDAHOLD) \ - | (CONF_SERCOM_##n##_I2CS_SEXTTOEN << SERCOM_I2CS_CTRLA_SEXTTOEN_Pos) \ - | (CONF_SERCOM_##n##_I2CS_SPEED << SERCOM_I2CS_CTRLA_SPEED_Pos) \ - | (CONF_SERCOM_##n##_I2CS_SCLSM << SERCOM_I2CS_CTRLA_SCLSM_Pos) \ - | (CONF_SERCOM_##n##_I2CS_LOWTOUT << SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos), \ - SERCOM_I2CS_CTRLB_SMEN | SERCOM_I2CS_CTRLB_AACKEN | SERCOM_I2CS_CTRLB_AMODE(CONF_SERCOM_##n##_I2CS_AMODE), \ - (CONF_SERCOM_##n##_I2CS_GENCEN << SERCOM_I2CS_ADDR_GENCEN_Pos) \ - | SERCOM_I2CS_ADDR_ADDR(CONF_SERCOM_##n##_I2CS_ADDRESS) \ - | (CONF_SERCOM_##n##_I2CS_TENBITEN << SERCOM_I2CS_ADDR_TENBITEN_Pos) \ - | SERCOM_I2CS_ADDR_ADDRMASK(CONF_SERCOM_##n##_I2CS_ADDRESS_MASK) \ - } - -/** - * \brief Macro to check 10-bit addressing - */ -#define I2CS_7BIT_ADDRESSING_MASK 0x7F - -static int32_t _i2c_s_init(void *const hw); -static int8_t _get_i2c_s_index(const void *const hw); -static inline void _i2c_s_deinit(void *const hw); -static int32_t _i2c_s_set_address(void *const hw, const uint16_t address); - -/** - * \brief SERCOM I2C slave configuration type - */ -struct i2cs_configuration { - uint8_t number; - hri_sercomi2cs_ctrla_reg_t ctrl_a; - hri_sercomi2cs_ctrlb_reg_t ctrl_b; - hri_sercomi2cs_addr_reg_t address; -}; - -#if SERCOM_I2CS_AMOUNT < 1 -/** Dummy array for compiling. */ -static struct i2cs_configuration _i2css[1] = {{0}}; -#else -/** - * \brief Array of SERCOM I2C slave configurations - */ -static struct i2cs_configuration _i2css[] = { -#if CONF_SERCOM_0_I2CS_ENABLE == 1 - I2CS_CONFIGURATION(0), -#endif -#if CONF_SERCOM_1_I2CS_ENABLE == 1 - I2CS_CONFIGURATION(1), -#endif -#if CONF_SERCOM_2_I2CS_ENABLE == 1 - I2CS_CONFIGURATION(2), -#endif -#if CONF_SERCOM_3_I2CS_ENABLE == 1 - I2CS_CONFIGURATION(3), -#endif -#if CONF_SERCOM_4_I2CS_ENABLE == 1 - I2CS_CONFIGURATION(4), -#endif -#if CONF_SERCOM_5_I2CS_ENABLE == 1 - I2CS_CONFIGURATION(5), -#endif -#if CONF_SERCOM_6_I2CS_ENABLE == 1 - I2CS_CONFIGURATION(6), -#endif -#if CONF_SERCOM_7_I2CS_ENABLE == 1 - I2CS_CONFIGURATION(7), -#endif -}; -#endif - -/** - * \brief Initialize synchronous I2C slave - */ -int32_t _i2c_s_sync_init(struct _i2c_s_sync_device *const device, void *const hw) -{ - int32_t status; - - ASSERT(device); - - status = _i2c_s_init(hw); - if (status) { - return status; - } - device->hw = hw; - - return ERR_NONE; -} - -/** - * \brief Initialize asynchronous I2C slave - */ -int32_t _i2c_s_async_init(struct _i2c_s_async_device *const device, void *const hw) -{ - int32_t init_status; - - ASSERT(device); - - init_status = _i2c_s_init(hw); - if (init_status) { - return init_status; - } - - device->hw = hw; - _sercom_init_irq_param(hw, (void *)device); - uint8_t irq = _sercom_get_irq_num(hw); - for (uint32_t i = 0; i < 4; i++) { - NVIC_DisableIRQ((IRQn_Type)irq); - NVIC_ClearPendingIRQ((IRQn_Type)irq); - NVIC_EnableIRQ((IRQn_Type)irq); - irq++; - } - // Enable Address Match and PREC interrupt by default. - hri_sercomi2cs_set_INTEN_AMATCH_bit(hw); - hri_sercomi2cs_set_INTEN_PREC_bit(hw); - - return ERR_NONE; -} - -/** - * \brief Deinitialize synchronous I2C - */ -int32_t _i2c_s_sync_deinit(struct _i2c_s_sync_device *const device) -{ - _i2c_s_deinit(device->hw); - - return ERR_NONE; -} - -/** - * \brief Deinitialize asynchronous I2C - */ -int32_t _i2c_s_async_deinit(struct _i2c_s_async_device *const device) -{ - NVIC_DisableIRQ((IRQn_Type)_sercom_get_irq_num(device->hw)); - _i2c_s_deinit(device->hw); - - return ERR_NONE; -} - -/** - * \brief Enable I2C module - */ -int32_t _i2c_s_sync_enable(struct _i2c_s_sync_device *const device) -{ - hri_sercomi2cs_set_CTRLA_ENABLE_bit(device->hw); - - return ERR_NONE; -} - -/** - * \brief Enable I2C module - */ -int32_t _i2c_s_async_enable(struct _i2c_s_async_device *const device) -{ - hri_sercomi2cs_set_CTRLA_ENABLE_bit(device->hw); - - return ERR_NONE; -} - -/** - * \brief Disable I2C module - */ -int32_t _i2c_s_sync_disable(struct _i2c_s_sync_device *const device) -{ - hri_sercomi2cs_clear_CTRLA_ENABLE_bit(device->hw); - - return ERR_NONE; -} - -/** - * \brief Disable I2C module - */ -int32_t _i2c_s_async_disable(struct _i2c_s_async_device *const device) -{ - hri_sercomi2cs_clear_CTRLA_ENABLE_bit(device->hw); - - return ERR_NONE; -} - -/** - * \brief Check if 10-bit addressing mode is on - */ -int32_t _i2c_s_sync_is_10bit_addressing_on(const struct _i2c_s_sync_device *const device) -{ - return hri_sercomi2cs_get_ADDR_TENBITEN_bit(device->hw); -} - -/** - * \brief Check if 10-bit addressing mode is on - */ -int32_t _i2c_s_async_is_10bit_addressing_on(const struct _i2c_s_async_device *const device) -{ - return hri_sercomi2cs_get_ADDR_TENBITEN_bit(device->hw); -} - -/** - * \brief Set I2C slave address - */ -int32_t _i2c_s_sync_set_address(struct _i2c_s_sync_device *const device, const uint16_t address) -{ - return _i2c_s_set_address(device->hw, address); -} - -/** - * \brief Set I2C slave address - */ -int32_t _i2c_s_async_set_address(struct _i2c_s_async_device *const device, const uint16_t address) -{ - return _i2c_s_set_address(device->hw, address); -} - -/** - * \brief Write a byte to the given I2C instance - */ -void _i2c_s_sync_write_byte(struct _i2c_s_sync_device *const device, const uint8_t data) -{ - hri_sercomi2cs_write_DATA_reg(device->hw, data); -} - -/** - * \brief Write a byte to the given I2C instance - */ -void _i2c_s_async_write_byte(struct _i2c_s_async_device *const device, const uint8_t data) -{ - hri_sercomi2cs_write_DATA_reg(device->hw, data); -} - -/** - * \brief Read a byte from the given I2C instance - */ -uint8_t _i2c_s_sync_read_byte(const struct _i2c_s_sync_device *const device) -{ - return hri_sercomi2cs_read_DATA_reg(device->hw); -} - -/** - * \brief Check if I2C is ready to send next byt - */ -bool _i2c_s_sync_is_byte_sent(const struct _i2c_s_sync_device *const device) -{ - return hri_sercomi2cs_get_interrupt_DRDY_bit(device->hw); -} - -/** - * \brief Check if there is data received by I2C - */ -bool _i2c_s_sync_is_byte_received(const struct _i2c_s_sync_device *const device) -{ - return hri_sercomi2cs_get_interrupt_DRDY_bit(device->hw); -} - -/** - * \brief Retrieve I2C slave status - */ -i2c_s_status_t _i2c_s_sync_get_status(const struct _i2c_s_sync_device *const device) -{ - return hri_sercomi2cs_read_STATUS_reg(device->hw); -} - -/** - * \brief Clear the Data Ready interrupt flag - */ -int32_t _i2c_s_sync_clear_data_ready_flag(const struct _i2c_s_sync_device *const device) -{ - hri_sercomi2cs_clear_INTFLAG_DRDY_bit(device->hw); - - return ERR_NONE; -} - -/** - * \brief Retrieve I2C slave status - */ -i2c_s_status_t _i2c_s_async_get_status(const struct _i2c_s_async_device *const device) -{ - return hri_sercomi2cs_read_STATUS_reg(device->hw); -} - -/** - * \brief Abort data transmission - */ -int32_t _i2c_s_async_abort_transmission(const struct _i2c_s_async_device *const device) -{ - hri_sercomi2cs_clear_INTEN_DRDY_bit(device->hw); - - return ERR_NONE; -} - -/** - * \brief Enable/disable I2C slave interrupt - */ -int32_t _i2c_s_async_set_irq_state(struct _i2c_s_async_device *const device, const enum _i2c_s_async_callback_type type, - const bool state) -{ - ASSERT(device); - - if (I2C_S_DEVICE_TX == type || I2C_S_DEVICE_RX_COMPLETE == type) { - hri_sercomi2cs_write_INTEN_DRDY_bit(device->hw, state); - } else if (I2C_S_DEVICE_ERROR == type) { - hri_sercomi2cs_write_INTEN_ERROR_bit(device->hw, state); - } - - return ERR_NONE; -} - -/** - * \internal Initalize i2c slave hardware - * - * \param[in] p The pointer to hardware instance - * - *\ return status of initialization - */ -static int32_t _i2c_s_init(void *const hw) -{ - int8_t i = _get_i2c_s_index(hw); - if (i == -1) { - return ERR_INVALID_ARG; - } - - if (!hri_sercomi2cs_is_syncing(hw, SERCOM_I2CS_CTRLA_SWRST)) { - uint32_t mode = _i2css[i].ctrl_a & SERCOM_I2CS_CTRLA_MODE_Msk; - if (hri_sercomi2cs_get_CTRLA_reg(hw, SERCOM_I2CS_CTRLA_ENABLE)) { - hri_sercomi2cs_clear_CTRLA_ENABLE_bit(hw); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_ENABLE); - } - hri_sercomi2cs_write_CTRLA_reg(hw, SERCOM_I2CS_CTRLA_SWRST | mode); - } - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST); - - hri_sercomi2cs_write_CTRLA_reg(hw, _i2css[i].ctrl_a); - hri_sercomi2cs_write_CTRLB_reg(hw, _i2css[i].ctrl_b); - hri_sercomi2cs_write_ADDR_reg(hw, _i2css[i].address); - - return ERR_NONE; -} - -/** - * \internal Retrieve ordinal number of the given sercom hardware instance - * - * \param[in] hw The pointer to hardware instance - * - * \return The ordinal number of the given sercom hardware instance - */ -static int8_t _get_i2c_s_index(const void *const hw) -{ - uint8_t sercom_offset = _sercom_get_hardware_index(hw); - uint8_t i; - - for (i = 0; i < ARRAY_SIZE(_i2css); i++) { - if (_i2css[i].number == sercom_offset) { - return i; - } - } - - ASSERT(false); - return -1; -} - -/** - * \internal De-initialize i2c slave - * - * \param[in] hw The pointer to hardware instance - */ -static inline void _i2c_s_deinit(void *const hw) -{ - hri_sercomi2cs_clear_CTRLA_ENABLE_bit(hw); - hri_sercomi2cs_set_CTRLA_SWRST_bit(hw); -} - -/** - * \internal De-initialize i2c slave - * - * \param[in] hw The pointer to hardware instance - * \param[in] address Address to set - */ -static int32_t _i2c_s_set_address(void *const hw, const uint16_t address) -{ - bool enabled; - - enabled = hri_sercomi2cs_get_CTRLA_ENABLE_bit(hw); - - CRITICAL_SECTION_ENTER() - hri_sercomi2cs_clear_CTRLA_ENABLE_bit(hw); - hri_sercomi2cs_write_ADDR_ADDR_bf(hw, address); - CRITICAL_SECTION_LEAVE() - - if (enabled) { - hri_sercomi2cs_set_CTRLA_ENABLE_bit(hw); - } - - return ERR_NONE; -} - - /* Sercom SPI implementation */ - -#ifndef SERCOM_USART_CTRLA_MODE_SPI_SLAVE -#define SERCOM_USART_CTRLA_MODE_SPI_SLAVE (2 << 2) -#endif - -#define SPI_DEV_IRQ_MODE 0x8000 - -#define _SPI_CS_PORT_EXTRACT(cs) (((cs) >> 0) & 0xFF) -#define _SPI_CS_PIN_EXTRACT(cs) (((cs) >> 8) & 0xFF) - -COMPILER_PACK_SET(1) -/** Initialization configuration of registers. */ -struct sercomspi_regs_cfg { - uint32_t ctrla; - uint32_t ctrlb; - uint32_t addr; - uint8_t baud; - uint8_t dbgctrl; - uint16_t dummy_byte; - uint8_t n; -}; -COMPILER_PACK_RESET() - -/** Build configuration from header macros. */ -#define SERCOMSPI_REGS(n) \ - { \ - (((CONF_SERCOM_##n##_SPI_DORD) << SERCOM_SPI_CTRLA_DORD_Pos) \ - | (CONF_SERCOM_##n##_SPI_CPOL << SERCOM_SPI_CTRLA_CPOL_Pos) \ - | (CONF_SERCOM_##n##_SPI_CPHA << SERCOM_SPI_CTRLA_CPHA_Pos) \ - | (CONF_SERCOM_##n##_SPI_AMODE_EN ? SERCOM_SPI_CTRLA_FORM(2) : SERCOM_SPI_CTRLA_FORM(0)) \ - | SERCOM_SPI_CTRLA_DOPO(CONF_SERCOM_##n##_SPI_TXPO) | SERCOM_SPI_CTRLA_DIPO(CONF_SERCOM_##n##_SPI_RXPO) \ - | (CONF_SERCOM_##n##_SPI_IBON << SERCOM_SPI_CTRLA_IBON_Pos) \ - | (CONF_SERCOM_##n##_SPI_RUNSTDBY << SERCOM_SPI_CTRLA_RUNSTDBY_Pos) \ - | SERCOM_SPI_CTRLA_MODE(CONF_SERCOM_##n##_SPI_MODE)), /* ctrla */ \ - ((CONF_SERCOM_##n##_SPI_RXEN << SERCOM_SPI_CTRLB_RXEN_Pos) \ - | (CONF_SERCOM_##n##_SPI_MSSEN << SERCOM_SPI_CTRLB_MSSEN_Pos) \ - | (CONF_SERCOM_##n##_SPI_SSDE << SERCOM_SPI_CTRLB_SSDE_Pos) \ - | (CONF_SERCOM_##n##_SPI_PLOADEN << SERCOM_SPI_CTRLB_PLOADEN_Pos) \ - | SERCOM_SPI_CTRLB_AMODE(CONF_SERCOM_##n##_SPI_AMODE) \ - | SERCOM_SPI_CTRLB_CHSIZE(CONF_SERCOM_##n##_SPI_CHSIZE)), /* ctrlb */ \ - (SERCOM_SPI_ADDR_ADDR(CONF_SERCOM_##n##_SPI_ADDR) \ - | SERCOM_SPI_ADDR_ADDRMASK(CONF_SERCOM_##n##_SPI_ADDRMASK)), /* addr */ \ - ((uint8_t)CONF_SERCOM_##n##_SPI_BAUD_RATE), /* baud */ \ - (CONF_SERCOM_##n##_SPI_DBGSTOP << SERCOM_SPI_DBGCTRL_DBGSTOP_Pos), /* dbgctrl */ \ - CONF_SERCOM_##n##_SPI_DUMMYBYTE, /* Dummy byte for SPI master mode */ \ - n /* sercom number */ \ - } - -#ifndef CONF_SERCOM_0_SPI_ENABLE -#define CONF_SERCOM_0_SPI_ENABLE 0 -#endif -#ifndef CONF_SERCOM_1_SPI_ENABLE -#define CONF_SERCOM_1_SPI_ENABLE 0 -#endif -#ifndef CONF_SERCOM_2_SPI_ENABLE -#define CONF_SERCOM_2_SPI_ENABLE 0 -#endif -#ifndef CONF_SERCOM_3_SPI_ENABLE -#define CONF_SERCOM_3_SPI_ENABLE 0 -#endif -#ifndef CONF_SERCOM_4_SPI_ENABLE -#define CONF_SERCOM_4_SPI_ENABLE 0 -#endif -#ifndef CONF_SERCOM_5_SPI_ENABLE -#define CONF_SERCOM_5_SPI_ENABLE 0 -#endif -#ifndef CONF_SERCOM_6_SPI_ENABLE -#define CONF_SERCOM_6_SPI_ENABLE 0 -#endif -#ifndef CONF_SERCOM_7_SPI_ENABLE -#define CONF_SERCOM_7_SPI_ENABLE 0 -#endif - -/** Amount of SERCOM that is used as SPI */ -#define SERCOM_SPI_AMOUNT \ - (CONF_SERCOM_0_SPI_ENABLE + CONF_SERCOM_1_SPI_ENABLE + CONF_SERCOM_2_SPI_ENABLE + CONF_SERCOM_3_SPI_ENABLE \ - + CONF_SERCOM_4_SPI_ENABLE + CONF_SERCOM_5_SPI_ENABLE + CONF_SERCOM_6_SPI_ENABLE + CONF_SERCOM_7_SPI_ENABLE) - -#if SERCOM_SPI_AMOUNT < 1 -/** Dummy array for compiling. */ -static const struct sercomspi_regs_cfg sercomspi_regs[1] = {{0}}; -#else -/** The SERCOM SPI configurations of SERCOM that is used as SPI. */ -static const struct sercomspi_regs_cfg sercomspi_regs[] = { -#if CONF_SERCOM_0_SPI_ENABLE - SERCOMSPI_REGS(0), -#endif -#if CONF_SERCOM_1_SPI_ENABLE - SERCOMSPI_REGS(1), -#endif -#if CONF_SERCOM_2_SPI_ENABLE - SERCOMSPI_REGS(2), -#endif -#if CONF_SERCOM_3_SPI_ENABLE - SERCOMSPI_REGS(3), -#endif -#if CONF_SERCOM_4_SPI_ENABLE - SERCOMSPI_REGS(4), -#endif -#if CONF_SERCOM_5_SPI_ENABLE - SERCOMSPI_REGS(5), -#endif -#if CONF_SERCOM_6_SPI_ENABLE - SERCOMSPI_REGS(6), -#endif -#if CONF_SERCOM_7_SPI_ENABLE - SERCOMSPI_REGS(7), -#endif -}; -#endif - -/** \internal De-initialize SERCOM SPI - * - * \param[in] hw Pointer to the hardware register base. - * - * \return De-initialization status - */ -static int32_t _spi_deinit(void *const hw) -{ - hri_sercomspi_clear_CTRLA_ENABLE_bit(hw); - hri_sercomspi_set_CTRLA_SWRST_bit(hw); - - return ERR_NONE; -} - -/** \internal Enable SERCOM SPI - * - * \param[in] hw Pointer to the hardware register base. - * - * \return Enabling status - */ -static int32_t _spi_sync_enable(void *const hw) -{ - if (hri_sercomspi_is_syncing(hw, SERCOM_SPI_SYNCBUSY_SWRST)) { - return ERR_BUSY; - } - - hri_sercomspi_set_CTRLA_ENABLE_bit(hw); - - return ERR_NONE; -} - -/** \internal Enable SERCOM SPI - * - * \param[in] hw Pointer to the hardware register base. - * - * \return Enabling status - */ -static int32_t _spi_async_enable(void *const hw) -{ - _spi_sync_enable(hw); - uint8_t irq = _sercom_get_irq_num(hw); - for (uint32_t i = 0; i < 4; i++) { - NVIC_EnableIRQ((IRQn_Type)irq++); - } - - return ERR_NONE; -} - -/** \internal Disable SERCOM SPI - * - * \param[in] hw Pointer to the hardware register base. - * - * \return Disabling status - */ -static int32_t _spi_sync_disable(void *const hw) -{ - if (hri_sercomspi_is_syncing(hw, SERCOM_SPI_SYNCBUSY_SWRST)) { - return ERR_BUSY; - } - hri_sercomspi_clear_CTRLA_ENABLE_bit(hw); - - return ERR_NONE; -} - -/** \internal Disable SERCOM SPI - * - * \param[in] hw Pointer to the hardware register base. - * - * \return Disabling status - */ -static int32_t _spi_async_disable(void *const hw) -{ - _spi_sync_disable(hw); - hri_sercomspi_clear_INTEN_reg( - hw, SERCOM_SPI_INTFLAG_ERROR | SERCOM_SPI_INTFLAG_RXC | SERCOM_SPI_INTFLAG_TXC | SERCOM_SPI_INTFLAG_DRE); - uint8_t irq = _sercom_get_irq_num(hw); - for (uint32_t i = 0; i < 4; i++) { - NVIC_DisableIRQ((IRQn_Type)irq++); - } - - return ERR_NONE; -} - -/** \internal Set SERCOM SPI mode - * - * \param[in] hw Pointer to the hardware register base. - * \param[in] mode The mode to set - * - * \return Setting mode status - */ -static int32_t _spi_set_mode(void *const hw, const enum spi_transfer_mode mode) -{ - uint32_t ctrla; - - if (hri_sercomspi_is_syncing(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE)) { - return ERR_BUSY; - } - - ctrla = hri_sercomspi_read_CTRLA_reg(hw); - ctrla &= ~(SERCOM_SPI_CTRLA_CPOL | SERCOM_SPI_CTRLA_CPHA); - ctrla |= (mode & 0x3u) << SERCOM_SPI_CTRLA_CPHA_Pos; - hri_sercomspi_write_CTRLA_reg(hw, ctrla); - - return ERR_NONE; -} - -/** \internal Set SERCOM SPI baudrate - * - * \param[in] hw Pointer to the hardware register base. - * \param[in] baud_val The baudrate to set - * - * \return Setting baudrate status - */ -static int32_t _spi_set_baudrate(void *const hw, const uint32_t baud_val) -{ - if (hri_sercomspi_is_syncing(hw, SERCOM_SPI_SYNCBUSY_SWRST)) { - return ERR_BUSY; - } - - hri_sercomspi_write_BAUD_reg(hw, baud_val); - - return ERR_NONE; -} - -/** \internal Set SERCOM SPI char size - * - * \param[in] hw Pointer to the hardware register base. - * \param[in] baud_val The baudrate to set - * \param[out] size Stored char size - * - * \return Setting char size status - */ -static int32_t _spi_set_char_size(void *const hw, const enum spi_char_size char_size, uint8_t *const size) -{ - /* Only 8-bit or 9-bit accepted */ - if (!(char_size == SPI_CHAR_SIZE_8 || char_size == SPI_CHAR_SIZE_9)) { - return ERR_INVALID_ARG; - } - - if (hri_sercomspi_is_syncing(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_CTRLB)) { - return ERR_BUSY; - } - - hri_sercomspi_write_CTRLB_CHSIZE_bf(hw, char_size); - *size = (char_size == SPI_CHAR_SIZE_8) ? 1 : 2; - - return ERR_NONE; -} - -/** \internal Set SERCOM SPI data order - * - * \param[in] hw Pointer to the hardware register base. - * \param[in] baud_val The baudrate to set - * - * \return Setting data order status - */ -static int32_t _spi_set_data_order(void *const hw, const enum spi_data_order dord) -{ - uint32_t ctrla; - - if (hri_sercomspi_is_syncing(hw, SERCOM_SPI_SYNCBUSY_SWRST)) { - return ERR_BUSY; - } - - ctrla = hri_sercomspi_read_CTRLA_reg(hw); - - if (dord == SPI_DATA_ORDER_LSB_1ST) { - ctrla |= SERCOM_SPI_CTRLA_DORD; - } else { - ctrla &= ~SERCOM_SPI_CTRLA_DORD; - } - hri_sercomspi_write_CTRLA_reg(hw, ctrla); - - return ERR_NONE; -} - -/** \brief Load SERCOM registers to init for SPI master mode - * The settings will be applied with default master mode, unsupported things - * are ignored. - * \param[in, out] hw Pointer to the hardware register base. - * \param[in] regs Pointer to register configuration values. - */ -static inline void _spi_load_regs_master(void *const hw, const struct sercomspi_regs_cfg *regs) -{ - ASSERT(hw && regs); - hri_sercomspi_write_CTRLA_reg( - hw, regs->ctrla & ~(SERCOM_SPI_CTRLA_IBON | SERCOM_SPI_CTRLA_ENABLE | SERCOM_SPI_CTRLA_SWRST)); - hri_sercomspi_write_CTRLB_reg( - hw, - (regs->ctrlb - & ~(SERCOM_SPI_CTRLB_MSSEN | SERCOM_SPI_CTRLB_AMODE_Msk | SERCOM_SPI_CTRLB_SSDE | SERCOM_SPI_CTRLB_PLOADEN)) - | (SERCOM_SPI_CTRLB_RXEN)); - hri_sercomspi_write_BAUD_reg(hw, regs->baud); - hri_sercomspi_write_DBGCTRL_reg(hw, regs->dbgctrl); -} - -/** \brief Load SERCOM registers to init for SPI slave mode - * The settings will be applied with default slave mode, unsupported things - * are ignored. - * \param[in, out] hw Pointer to the hardware register base. - * \param[in] regs Pointer to register configuration values. - */ -static inline void _spi_load_regs_slave(void *const hw, const struct sercomspi_regs_cfg *regs) -{ - ASSERT(hw && regs); - hri_sercomspi_write_CTRLA_reg( - hw, regs->ctrla & ~(SERCOM_SPI_CTRLA_IBON | SERCOM_SPI_CTRLA_ENABLE | SERCOM_SPI_CTRLA_SWRST)); - hri_sercomspi_write_CTRLB_reg(hw, - (regs->ctrlb & ~(SERCOM_SPI_CTRLB_MSSEN)) - | (SERCOM_SPI_CTRLB_RXEN | SERCOM_SPI_CTRLB_SSDE | SERCOM_SPI_CTRLB_PLOADEN)); - hri_sercomspi_write_ADDR_reg(hw, regs->addr); - hri_sercomspi_write_DBGCTRL_reg(hw, regs->dbgctrl); - while (hri_sercomspi_is_syncing(hw, 0xFFFFFFFF)) - ; -} - -/** \brief Return the pointer to register settings of specific SERCOM - * \param[in] hw_addr The hardware register base address. - * \return Pointer to register settings of specific SERCOM. - */ -static inline const struct sercomspi_regs_cfg *_spi_get_regs(const uint32_t hw_addr) -{ - uint8_t n = _sercom_get_hardware_index((const void *)hw_addr); - uint8_t i; - - for (i = 0; i < sizeof(sercomspi_regs) / sizeof(struct sercomspi_regs_cfg); i++) { - if (sercomspi_regs[i].n == n) { - return &sercomspi_regs[i]; - } - } - - return NULL; -} - -/** - * \internal Sercom interrupt handler - */ -void SERCOM0_0_Handler(void) -{ - _sercom_usart_interrupt_handler(_sercom0_dev); -} -/** - * \internal Sercom interrupt handler - */ -void SERCOM0_1_Handler(void) -{ - _sercom_usart_interrupt_handler(_sercom0_dev); -} -/** - * \internal Sercom interrupt handler - */ -void SERCOM0_2_Handler(void) -{ - _sercom_usart_interrupt_handler(_sercom0_dev); -} -/** - * \internal Sercom interrupt handler - */ -void SERCOM0_3_Handler(void) -{ - _sercom_usart_interrupt_handler(_sercom0_dev); -} - -int32_t _spi_m_sync_init(struct _spi_m_sync_dev *dev, void *const hw) -{ - const struct sercomspi_regs_cfg *regs = _spi_get_regs((uint32_t)hw); - - ASSERT(dev && hw); - - if (regs == NULL) { - return ERR_INVALID_ARG; - } - - if (!hri_sercomspi_is_syncing(hw, SERCOM_SPI_SYNCBUSY_SWRST)) { - uint32_t mode = regs->ctrla & SERCOM_SPI_CTRLA_MODE_Msk; - if (hri_sercomspi_get_CTRLA_reg(hw, SERCOM_SPI_CTRLA_ENABLE)) { - hri_sercomspi_clear_CTRLA_ENABLE_bit(hw); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_ENABLE); - } - hri_sercomspi_write_CTRLA_reg(hw, SERCOM_SPI_CTRLA_SWRST | mode); - } - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST); - - dev->prvt = hw; - - if ((regs->ctrla & SERCOM_SPI_CTRLA_MODE_Msk) == SERCOM_USART_CTRLA_MODE_SPI_SLAVE) { - _spi_load_regs_slave(hw, regs); - } else { - _spi_load_regs_master(hw, regs); - } - - /* Load character size from default hardware configuration */ - dev->char_size = ((regs->ctrlb & SERCOM_SPI_CTRLB_CHSIZE_Msk) == 0) ? 1 : 2; - - dev->dummy_byte = regs->dummy_byte; - - return ERR_NONE; -} - -int32_t _spi_s_sync_init(struct _spi_s_sync_dev *dev, void *const hw) -{ - return _spi_m_sync_init(dev, hw); -} - -int32_t _spi_m_async_init(struct _spi_async_dev *dev, void *const hw) -{ - struct _spi_async_dev *spid = dev; - /* Do hardware initialize. */ - int32_t rc = _spi_m_sync_init((struct _spi_m_sync_dev *)dev, hw); - - if (rc < 0) { - return rc; - } - - _sercom_init_irq_param(hw, (void *)dev); - /* Initialize callbacks: must use them */ - spid->callbacks.complete = NULL; - spid->callbacks.rx = NULL; - spid->callbacks.tx = NULL; - uint8_t irq = _sercom_get_irq_num(hw); - for (uint32_t i = 0; i < 4; i++) { - NVIC_DisableIRQ((IRQn_Type)irq); - NVIC_ClearPendingIRQ((IRQn_Type)irq); - irq++; - } - - return ERR_NONE; -} - -int32_t _spi_s_async_init(struct _spi_s_async_dev *dev, void *const hw) -{ - return _spi_m_async_init(dev, hw); -} - -int32_t _spi_m_async_deinit(struct _spi_async_dev *dev) -{ - NVIC_DisableIRQ((IRQn_Type)_sercom_get_irq_num(dev->prvt)); - NVIC_ClearPendingIRQ((IRQn_Type)_sercom_get_irq_num(dev->prvt)); - - return _spi_deinit(dev->prvt); -} - -int32_t _spi_s_async_deinit(struct _spi_s_async_dev *dev) -{ - NVIC_DisableIRQ((IRQn_Type)_sercom_get_irq_num(dev->prvt)); - NVIC_ClearPendingIRQ((IRQn_Type)_sercom_get_irq_num(dev->prvt)); - - return _spi_deinit(dev->prvt); -} - -int32_t _spi_m_sync_deinit(struct _spi_m_sync_dev *dev) -{ - return _spi_deinit(dev->prvt); -} - -int32_t _spi_s_sync_deinit(struct _spi_s_sync_dev *dev) -{ - return _spi_deinit(dev->prvt); -} - -int32_t _spi_m_sync_enable(struct _spi_m_sync_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return _spi_sync_enable(dev->prvt); -} - -int32_t _spi_s_sync_enable(struct _spi_s_sync_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return _spi_sync_enable(dev->prvt); -} - -int32_t _spi_m_async_enable(struct _spi_async_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return _spi_async_enable(dev->prvt); -} - -int32_t _spi_s_async_enable(struct _spi_s_async_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return _spi_async_enable(dev->prvt); -} - -int32_t _spi_m_sync_disable(struct _spi_m_sync_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return _spi_sync_disable(dev->prvt); -} - -int32_t _spi_s_sync_disable(struct _spi_s_sync_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return _spi_sync_disable(dev->prvt); -} - -int32_t _spi_m_async_disable(struct _spi_async_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return _spi_async_disable(dev->prvt); -} - -int32_t _spi_s_async_disable(struct _spi_s_async_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return _spi_async_disable(dev->prvt); -} - -int32_t _spi_m_sync_set_mode(struct _spi_m_sync_dev *dev, const enum spi_transfer_mode mode) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_mode(dev->prvt, mode); -} - -int32_t _spi_m_async_set_mode(struct _spi_async_dev *dev, const enum spi_transfer_mode mode) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_mode(dev->prvt, mode); -} - -int32_t _spi_s_async_set_mode(struct _spi_s_async_dev *dev, const enum spi_transfer_mode mode) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_mode(dev->prvt, mode); -} - -int32_t _spi_s_sync_set_mode(struct _spi_s_sync_dev *dev, const enum spi_transfer_mode mode) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_mode(dev->prvt, mode); -} - -int32_t _spi_calc_baud_val(struct spi_dev *dev, const uint32_t clk, const uint32_t baud) -{ - int32_t rc; - ASSERT(dev); - - /* Not accept 0es */ - if (clk == 0 || baud == 0) { - return ERR_INVALID_ARG; - } - - /* Check baudrate range of current assigned clock */ - if (!(baud <= (clk >> 1) && baud >= (clk >> 8))) { - return ERR_INVALID_ARG; - } - - rc = ((clk >> 1) / baud) - 1; - return rc; -} - -int32_t _spi_m_sync_set_baudrate(struct _spi_m_sync_dev *dev, const uint32_t baud_val) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_baudrate(dev->prvt, baud_val); -} - -int32_t _spi_m_async_set_baudrate(struct _spi_async_dev *dev, const uint32_t baud_val) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_baudrate(dev->prvt, baud_val); -} - -int32_t _spi_m_sync_set_char_size(struct _spi_m_sync_dev *dev, const enum spi_char_size char_size) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_char_size(dev->prvt, char_size, &dev->char_size); -} - -int32_t _spi_m_async_set_char_size(struct _spi_async_dev *dev, const enum spi_char_size char_size) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_char_size(dev->prvt, char_size, &dev->char_size); -} - -int32_t _spi_s_async_set_char_size(struct _spi_s_async_dev *dev, const enum spi_char_size char_size) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_char_size(dev->prvt, char_size, &dev->char_size); -} - -int32_t _spi_s_sync_set_char_size(struct _spi_s_sync_dev *dev, const enum spi_char_size char_size) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_char_size(dev->prvt, char_size, &dev->char_size); -} - -int32_t _spi_m_sync_set_data_order(struct _spi_m_sync_dev *dev, const enum spi_data_order dord) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_data_order(dev->prvt, dord); -} - -int32_t _spi_m_async_set_data_order(struct _spi_async_dev *dev, const enum spi_data_order dord) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_data_order(dev->prvt, dord); -} - -int32_t _spi_s_async_set_data_order(struct _spi_s_async_dev *dev, const enum spi_data_order dord) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_data_order(dev->prvt, dord); -} - -int32_t _spi_s_sync_set_data_order(struct _spi_s_sync_dev *dev, const enum spi_data_order dord) -{ - ASSERT(dev && dev->prvt); - - return _spi_set_data_order(dev->prvt, dord); -} - -/** Wait until SPI bus idle. */ -static inline void _spi_wait_bus_idle(void *const hw) -{ - while (!(hri_sercomspi_get_INTFLAG_reg(hw, SERCOM_SPI_INTFLAG_TXC | SERCOM_SPI_INTFLAG_DRE))) { - ; - } - hri_sercomspi_clear_INTFLAG_reg(hw, SERCOM_SPI_INTFLAG_TXC | SERCOM_SPI_INTFLAG_DRE); -} - -/** Holds run time information for message sync transaction. */ -struct _spi_trans_ctrl { - /** Pointer to transmitting data buffer. */ - uint8_t *txbuf; - /** Pointer to receiving data buffer. */ - uint8_t *rxbuf; - /** Count number of data transmitted. */ - uint32_t txcnt; - /** Count number of data received. */ - uint32_t rxcnt; - /** Data character size. */ - uint8_t char_size; -}; - -/** Check interrupt flag of RXC and update transaction runtime information. */ -static inline bool _spi_rx_check_and_receive(void *const hw, const uint32_t iflag, struct _spi_trans_ctrl *ctrl) -{ - uint32_t data; - - if (!(iflag & SERCOM_SPI_INTFLAG_RXC)) { - return false; - } - - data = hri_sercomspi_read_DATA_reg(hw); - - if (ctrl->rxbuf) { - *ctrl->rxbuf++ = (uint8_t)data; - - if (ctrl->char_size > 1) { - *ctrl->rxbuf++ = (uint8_t)(data >> 8); - } - } - - ctrl->rxcnt++; - - return true; -} - -/** Check interrupt flag of DRE and update transaction runtime information. */ -static inline void _spi_tx_check_and_send(void *const hw, const uint32_t iflag, struct _spi_trans_ctrl *ctrl, - uint16_t dummy) -{ - uint32_t data; - - if (!(SERCOM_SPI_INTFLAG_DRE & iflag)) { - return; - } - - if (ctrl->txbuf) { - data = *ctrl->txbuf++; - - if (ctrl->char_size > 1) { - data |= (*ctrl->txbuf) << 8; - ctrl->txbuf++; - } - } else { - data = dummy; - } - - ctrl->txcnt++; - hri_sercomspi_write_DATA_reg(hw, data); -} - -/** Check interrupt flag of ERROR and update transaction runtime information. */ -static inline int32_t _spi_err_check(const uint32_t iflag, void *const hw) -{ - if (SERCOM_SPI_INTFLAG_ERROR & iflag) { - hri_sercomspi_clear_STATUS_reg(hw, ~0); - hri_sercomspi_clear_INTFLAG_reg(hw, SERCOM_SPI_INTFLAG_ERROR); - return ERR_OVERFLOW; - } - - return ERR_NONE; -} - -int32_t _spi_m_sync_trans(struct _spi_m_sync_dev *dev, const struct spi_msg *msg) -{ - void * hw = dev->prvt; - int32_t rc = 0; - struct _spi_trans_ctrl ctrl = {msg->txbuf, msg->rxbuf, 0, 0, dev->char_size}; - - ASSERT(dev && hw); - - /* If settings are not applied (pending), we can not go on */ - if (hri_sercomspi_is_syncing( - hw, (SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE | SERCOM_SPI_SYNCBUSY_CTRLB))) { - return ERR_BUSY; - } - - /* SPI must be enabled to start synchronous transfer */ - if (!hri_sercomspi_get_CTRLA_ENABLE_bit(hw)) { - return ERR_NOT_INITIALIZED; - } - - for (;;) { - uint32_t iflag = hri_sercomspi_read_INTFLAG_reg(hw); - - if (!_spi_rx_check_and_receive(hw, iflag, &ctrl)) { - /* In master mode, do not start next byte before previous byte received - * to make better output waveform */ - if (ctrl.rxcnt >= ctrl.txcnt) { - _spi_tx_check_and_send(hw, iflag, &ctrl, dev->dummy_byte); - } - } - - rc = _spi_err_check(iflag, hw); - - if (rc < 0) { - break; - } - if (ctrl.txcnt >= msg->size && ctrl.rxcnt >= msg->size) { - rc = ctrl.txcnt; - break; - } - } - /* Wait until SPI bus idle */ - _spi_wait_bus_idle(hw); - - return rc; -} - -int32_t _spi_m_async_enable_tx(struct _spi_async_dev *dev, bool state) -{ - void *hw = dev->prvt; - - ASSERT(dev && hw); - - if (state) { - hri_sercomspi_set_INTEN_DRE_bit(hw); - } else { - hri_sercomspi_clear_INTEN_DRE_bit(hw); - } - - return ERR_NONE; -} - -int32_t _spi_s_async_enable_tx(struct _spi_s_async_dev *dev, bool state) -{ - return _spi_m_async_enable_tx(dev, state); -} - -int32_t _spi_m_async_enable_rx(struct _spi_async_dev *dev, bool state) -{ - void *hw = dev->prvt; - - ASSERT(dev); - ASSERT(hw); - - if (state) { - hri_sercomspi_set_INTEN_RXC_bit(hw); - } else { - hri_sercomspi_clear_INTEN_RXC_bit(hw); - } - - return ERR_NONE; -} - -int32_t _spi_s_async_enable_rx(struct _spi_s_async_dev *dev, bool state) -{ - return _spi_m_async_enable_rx(dev, state); -} - -int32_t _spi_m_async_enable_tx_complete(struct _spi_async_dev *dev, bool state) -{ - ASSERT(dev && dev->prvt); - - if (state) { - hri_sercomspi_set_INTEN_TXC_bit(dev->prvt); - } else { - hri_sercomspi_clear_INTEN_TXC_bit(dev->prvt); - } - - return ERR_NONE; -} - -int32_t _spi_s_async_enable_ss_detect(struct _spi_s_async_dev *dev, bool state) -{ - return _spi_m_async_enable_tx_complete(dev, state); -} - -int32_t _spi_m_async_write_one(struct _spi_async_dev *dev, uint16_t data) -{ - ASSERT(dev && dev->prvt); - - hri_sercomspi_write_DATA_reg(dev->prvt, data); - - return ERR_NONE; -} - -int32_t _spi_s_async_write_one(struct _spi_s_async_dev *dev, uint16_t data) -{ - ASSERT(dev && dev->prvt); - - hri_sercomspi_write_DATA_reg(dev->prvt, data); - - return ERR_NONE; -} - -int32_t _spi_s_sync_write_one(struct _spi_s_sync_dev *dev, uint16_t data) -{ - ASSERT(dev && dev->prvt); - - hri_sercomspi_write_DATA_reg(dev->prvt, data); - - return ERR_NONE; -} - -uint16_t _spi_m_async_read_one(struct _spi_async_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return hri_sercomspi_read_DATA_reg(dev->prvt); -} - -uint16_t _spi_s_async_read_one(struct _spi_s_async_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return hri_sercomspi_read_DATA_reg(dev->prvt); -} - -uint16_t _spi_s_sync_read_one(struct _spi_s_sync_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return hri_sercomspi_read_DATA_reg(dev->prvt); -} - -int32_t _spi_m_async_register_callback(struct _spi_async_dev *dev, const enum _spi_async_dev_cb_type cb_type, - const FUNC_PTR func) -{ - typedef void (*func_t)(void); - struct _spi_async_dev *spid = dev; - - ASSERT(dev && (cb_type < SPI_DEV_CB_N)); - - func_t *p_ls = (func_t *)&spid->callbacks; - p_ls[cb_type] = (func_t)func; - - return ERR_NONE; -} - -int32_t _spi_s_async_register_callback(struct _spi_s_async_dev *dev, const enum _spi_s_async_dev_cb_type cb_type, - const FUNC_PTR func) -{ - return _spi_m_async_register_callback(dev, cb_type, func); -} - -bool _spi_s_sync_is_tx_ready(struct _spi_s_sync_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return hri_sercomi2cm_get_INTFLAG_reg(dev->prvt, SERCOM_SPI_INTFLAG_DRE); -} - -bool _spi_s_sync_is_rx_ready(struct _spi_s_sync_dev *dev) -{ - ASSERT(dev && dev->prvt); - - return hri_sercomi2cm_get_INTFLAG_reg(dev->prvt, SERCOM_SPI_INTFLAG_RXC); -} - -bool _spi_s_sync_is_ss_deactivated(struct _spi_s_sync_dev *dev) -{ - void *hw = dev->prvt; - - ASSERT(dev && hw); - - if (hri_sercomi2cm_get_INTFLAG_reg(hw, SERCOM_SPI_INTFLAG_TXC)) { - hri_sercomspi_clear_INTFLAG_reg(hw, SERCOM_SPI_INTFLAG_TXC); - return true; - } - return false; -} - -bool _spi_s_sync_is_error(struct _spi_s_sync_dev *dev) -{ - void *hw = dev->prvt; - - ASSERT(dev && hw); - - if (hri_sercomi2cm_get_INTFLAG_reg(hw, SERCOM_SPI_INTFLAG_ERROR)) { - hri_sercomspi_clear_STATUS_reg(hw, SERCOM_SPI_STATUS_BUFOVF); - hri_sercomspi_clear_INTFLAG_reg(hw, SERCOM_SPI_INTFLAG_ERROR); - return true; - } - return false; -} - -/** - * \brief Enable/disable SPI master interrupt - * - * param[in] device The pointer to SPI master device instance - * param[in] type The type of interrupt to disable/enable if applicable - * param[in] state Enable or disable - */ -void _spi_m_async_set_irq_state(struct _spi_async_dev *const device, const enum _spi_async_dev_cb_type type, - const bool state) -{ - ASSERT(device); - - if (SPI_DEV_CB_ERROR == type) { - hri_sercomspi_write_INTEN_ERROR_bit(device->prvt, state); - } -} - -/** - * \brief Enable/disable SPI slave interrupt - * - * param[in] device The pointer to SPI slave device instance - * param[in] type The type of interrupt to disable/enable if applicable - * param[in] state Enable or disable - */ -void _spi_s_async_set_irq_state(struct _spi_async_dev *const device, const enum _spi_async_dev_cb_type type, - const bool state) -{ - _spi_m_async_set_irq_state(device, type, state); -} diff --git a/software/firmware/oracle_same54n19a/hpl/tc/hpl_tc.c b/software/firmware/oracle_same54n19a/hpl/tc/hpl_tc.c deleted file mode 100644 index c50f65d..0000000 --- a/software/firmware/oracle_same54n19a/hpl/tc/hpl_tc.c +++ /dev/null @@ -1,347 +0,0 @@ - -/** - * \file - * - * \brief SAM TC - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#include -#include -#include -#include -#include -#include - -#ifndef CONF_TC0_ENABLE -#define CONF_TC0_ENABLE 0 -#endif -#ifndef CONF_TC1_ENABLE -#define CONF_TC1_ENABLE 0 -#endif -#ifndef CONF_TC2_ENABLE -#define CONF_TC2_ENABLE 0 -#endif -#ifndef CONF_TC3_ENABLE -#define CONF_TC3_ENABLE 0 -#endif -#ifndef CONF_TC4_ENABLE -#define CONF_TC4_ENABLE 0 -#endif -#ifndef CONF_TC5_ENABLE -#define CONF_TC5_ENABLE 0 -#endif -#ifndef CONF_TC6_ENABLE -#define CONF_TC6_ENABLE 0 -#endif -#ifndef CONF_TC7_ENABLE -#define CONF_TC7_ENABLE 0 -#endif - -/** - * \brief Macro is used to fill usart configuration structure based on its - * number - * - * \param[in] n The number of structures - */ -#define TC_CONFIGURATION(n) \ - { \ - n, TC##n##_IRQn, \ - TC_CTRLA_MODE(CONF_TC##n##_MODE) | TC_CTRLA_PRESCSYNC(CONF_TC##n##_PRESCSYNC) \ - | (CONF_TC##n##_RUNSTDBY << TC_CTRLA_RUNSTDBY_Pos) | (CONF_TC##n##_ONDEMAND << TC_CTRLA_ONDEMAND_Pos) \ - | TC_CTRLA_PRESCALER(CONF_TC##n##_PRESCALER) | (CONF_TC##n##_ALOCK << TC_CTRLA_ALOCK_Pos), \ - (CONF_TC##n##_OVFEO << TC_EVCTRL_OVFEO_Pos) | (CONF_TC##n##_TCEI << TC_EVCTRL_TCEI_Pos) \ - | (CONF_TC##n##_TCINV << TC_EVCTRL_TCINV_Pos) | (CONF_TC##n##_EVACT << TC_EVCTRL_EVACT_Pos) \ - | (CONF_TC##n##_MCEO0 << TC_EVCTRL_MCEO0_Pos) | (CONF_TC##n##_MCEO1 << TC_EVCTRL_MCEO1_Pos), \ - (CONF_TC##n##_DBGRUN << TC_DBGCTRL_DBGRUN_Pos), CONF_TC##n##_PER, CONF_TC##n##_CC0, CONF_TC##n##_CC1, \ - } -/** - * \brief TC configuration type - */ -struct tc_configuration { - uint8_t number; - IRQn_Type irq; - hri_tc_ctrla_reg_t ctrl_a; - hri_tc_evctrl_reg_t event_ctrl; - hri_tc_dbgctrl_reg_t dbg_ctrl; - hri_tccount8_per_reg_t per; - hri_tccount32_cc_reg_t cc0; - hri_tccount32_cc_reg_t cc1; -}; - -/** - * \brief Array of TC configurations - */ -static struct tc_configuration _tcs[] = { -#if CONF_TC0_ENABLE == 1 - TC_CONFIGURATION(0), -#endif -#if CONF_TC1_ENABLE == 1 - TC_CONFIGURATION(1), -#endif -#if CONF_TC2_ENABLE == 1 - TC_CONFIGURATION(2), -#endif -#if CONF_TC3_ENABLE == 1 - TC_CONFIGURATION(3), -#endif -#if CONF_TC4_ENABLE == 1 - TC_CONFIGURATION(4), -#endif -#if CONF_TC5_ENABLE == 1 - TC_CONFIGURATION(5), -#endif -#if CONF_TC6_ENABLE == 1 - TC_CONFIGURATION(6), -#endif -#if CONF_TC7_ENABLE == 1 - TC_CONFIGURATION(7), -#endif -}; - -static struct _timer_device *_tc0_dev = NULL; - -static int8_t get_tc_index(const void *const hw); -static void _tc_init_irq_param(const void *const hw, void *dev); -static inline uint8_t _get_hardware_offset(const void *const hw); -/** - * \brief Initialize TC - */ -int32_t _timer_init(struct _timer_device *const device, void *const hw) -{ - int8_t i = get_tc_index(hw); - - device->hw = hw; - ASSERT(ARRAY_SIZE(_tcs)); - - if (!hri_tc_is_syncing(hw, TC_SYNCBUSY_SWRST)) { - if (hri_tc_get_CTRLA_reg(hw, TC_CTRLA_ENABLE)) { - hri_tc_clear_CTRLA_ENABLE_bit(hw); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_ENABLE); - } - hri_tc_write_CTRLA_reg(hw, TC_CTRLA_SWRST); - } - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST); - - hri_tc_write_CTRLA_reg(hw, _tcs[i].ctrl_a); - hri_tc_write_DBGCTRL_reg(hw, _tcs[i].dbg_ctrl); - hri_tc_write_EVCTRL_reg(hw, _tcs[i].event_ctrl); - hri_tc_write_WAVE_reg(hw, TC_WAVE_WAVEGEN_MFRQ); - - if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT32) { - hri_tccount32_write_CC_reg(hw, 0, _tcs[i].cc0); - hri_tccount32_write_CC_reg(hw, 1, _tcs[i].cc1); - - } else if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT16) { - hri_tccount16_write_CC_reg(hw, 0, (uint16_t)_tcs[i].cc0); - hri_tccount16_write_CC_reg(hw, 1, (uint16_t)_tcs[i].cc1); - - } else if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT8) { - hri_tccount8_write_CC_reg(hw, 0, (uint8_t)_tcs[i].cc0); - hri_tccount8_write_CC_reg(hw, 1, (uint8_t)_tcs[i].cc1); - hri_tccount8_write_PER_reg(hw, _tcs[i].per); - } - hri_tc_set_INTEN_OVF_bit(hw); - - _tc_init_irq_param(hw, (void *)device); - NVIC_DisableIRQ(_tcs[i].irq); - NVIC_ClearPendingIRQ(_tcs[i].irq); - NVIC_EnableIRQ(_tcs[i].irq); - - return ERR_NONE; -} -/** - * \brief De-initialize TC - */ -void _timer_deinit(struct _timer_device *const device) -{ - void *const hw = device->hw; - int8_t i = get_tc_index(hw); - ASSERT(ARRAY_SIZE(_tcs)); - - NVIC_DisableIRQ(_tcs[i].irq); - - hri_tc_clear_CTRLA_ENABLE_bit(hw); - hri_tc_set_CTRLA_SWRST_bit(hw); -} -/** - * \brief Start hardware timer - */ -void _timer_start(struct _timer_device *const device) -{ - hri_tc_set_CTRLA_ENABLE_bit(device->hw); -} -/** - * \brief Stop hardware timer - */ -void _timer_stop(struct _timer_device *const device) -{ - hri_tc_clear_CTRLA_ENABLE_bit(device->hw); -} -/** - * \brief Set timer period - */ -void _timer_set_period(struct _timer_device *const device, const uint32_t clock_cycles) -{ - void *const hw = device->hw; - - if (TC_CTRLA_MODE_COUNT32_Val == hri_tc_read_CTRLA_MODE_bf(hw)) { - hri_tccount32_write_CC_reg(hw, 0, clock_cycles); - } else if (TC_CTRLA_MODE_COUNT16_Val == hri_tc_read_CTRLA_MODE_bf(hw)) { - hri_tccount16_write_CC_reg(hw, 0, (uint16_t)clock_cycles); - } else if (TC_CTRLA_MODE_COUNT8_Val == hri_tc_read_CTRLA_MODE_bf(hw)) { - hri_tccount8_write_PER_reg(hw, clock_cycles); - } -} -/** - * \brief Retrieve timer period - */ -uint32_t _timer_get_period(const struct _timer_device *const device) -{ - void *const hw = device->hw; - - if (TC_CTRLA_MODE_COUNT32_Val == hri_tc_read_CTRLA_MODE_bf(hw)) { - return hri_tccount32_read_CC_reg(hw, 0); - } else if (TC_CTRLA_MODE_COUNT16_Val == hri_tc_read_CTRLA_MODE_bf(hw)) { - return hri_tccount16_read_CC_reg(hw, 0); - } else if (TC_CTRLA_MODE_COUNT8_Val == hri_tc_read_CTRLA_MODE_bf(hw)) { - return hri_tccount8_read_PER_reg(hw); - } - - return 0; -} -/** - * \brief Check if timer is running - */ -bool _timer_is_started(const struct _timer_device *const device) -{ - return hri_tc_get_CTRLA_ENABLE_bit(device->hw); -} - -/** - * \brief Retrieve timer helper functions - */ -struct _timer_hpl_interface *_tc_get_timer(void) -{ - return NULL; -} - -/** - * \brief Retrieve pwm helper functions - */ -struct _pwm_hpl_interface *_tc_get_pwm(void) -{ - return NULL; -} -/** - * \brief Set timer IRQ - * - * \param[in] hw The pointer to hardware instance - */ -void _timer_set_irq(struct _timer_device *const device) -{ - void *const hw = device->hw; - int8_t i = get_tc_index(hw); - ASSERT(ARRAY_SIZE(_tcs)); - - _irq_set(_tcs[i].irq); -} -/** - * \internal TC interrupt handler for Timer - * - * \param[in] instance TC instance number - */ -static void tc_interrupt_handler(struct _timer_device *device) -{ - void *const hw = device->hw; - - if (hri_tc_get_interrupt_OVF_bit(hw)) { - hri_tc_clear_interrupt_OVF_bit(hw); - device->timer_cb.period_expired(device); - } -} - -/** - * \brief TC interrupt handler - */ -void TC0_Handler(void) -{ - tc_interrupt_handler(_tc0_dev); -} - -/** - * \internal Retrieve TC index - * - * \param[in] hw The pointer to hardware instance - * - * \return The index of TC configuration - */ -static int8_t get_tc_index(const void *const hw) -{ - uint8_t index = _get_hardware_offset(hw); - uint8_t i; - - for (i = 0; i < ARRAY_SIZE(_tcs); i++) { - if (_tcs[i].number == index) { - return i; - } - } - - ASSERT(false); - return -1; -} - -/** - * \brief Init irq param with the given tc hardware instance - */ -static void _tc_init_irq_param(const void *const hw, void *dev) -{ - if (hw == TC0) { - _tc0_dev = (struct _timer_device *)dev; - } -} - -/** - * \internal Retrieve TC hardware index - * - * \param[in] hw The pointer to hardware instance - */ -static inline uint8_t _get_hardware_offset(const void *const hw) -{ - /* List of available TC modules. */ - Tc *const tc_modules[TC_INST_NUM] = TC_INSTS; - - /* Find index for TC instance. */ - for (uint32_t i = 0; i < TC_INST_NUM; i++) { - if ((uint32_t)hw == (uint32_t)tc_modules[i]) { - return i; - } - } - return 0; -} diff --git a/software/firmware/oracle_same54n19a/hpl/tc/hpl_tc_base.h b/software/firmware/oracle_same54n19a/hpl/tc/hpl_tc_base.h deleted file mode 100644 index ae77c90..0000000 --- a/software/firmware/oracle_same54n19a/hpl/tc/hpl_tc_base.h +++ /dev/null @@ -1,77 +0,0 @@ -/** - * \file - * - * \brief SAM Timer/Counter - * - * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - */ - -#ifndef _HPL_TC_BASE_H_INCLUDED -#define _HPL_TC_BASE_H_INCLUDED - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \addtogroup tc_group TC Hardware Proxy Layer - * - * \section tc_hpl_rev Revision History - * - v0.0.0.1 Initial Commit - * - *@{ - */ - -/** - * \name HPL functions - */ -//@{ - -/** - * \brief Retrieve timer helper functions - * - * \return A pointer to set of timer helper functions - */ -struct _timer_hpl_interface *_tc_get_timer(void); - -/** - * \brief Retrieve pwm helper functions - * - * \return A pointer to set of pwm helper functions - */ -struct _pwm_hpl_interface *_tc_get_pwm(void); - -//@} -/**@}*/ - -#ifdef __cplusplus -} -#endif -#endif /* _HPL_TC_BASE_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_ac_e54.h b/software/firmware/oracle_same54n19a/hri/hri_ac_e54.h deleted file mode 100644 index 588499e..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_ac_e54.h +++ /dev/null @@ -1,1836 +0,0 @@ -/** - * \file - * - * \brief SAM AC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_AC_COMPONENT_ -#ifndef _HRI_AC_E54_H_INCLUDED_ -#define _HRI_AC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_AC_CRITICAL_SECTIONS) -#define AC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define AC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define AC_CRITICAL_SECTION_ENTER() -#define AC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_ac_calib_reg_t; -typedef uint16_t hri_ac_evctrl_reg_t; -typedef uint32_t hri_ac_compctrl_reg_t; -typedef uint32_t hri_ac_syncbusy_reg_t; -typedef uint8_t hri_ac_ctrla_reg_t; -typedef uint8_t hri_ac_ctrlb_reg_t; -typedef uint8_t hri_ac_dbgctrl_reg_t; -typedef uint8_t hri_ac_intenset_reg_t; -typedef uint8_t hri_ac_intflag_reg_t; -typedef uint8_t hri_ac_scaler_reg_t; -typedef uint8_t hri_ac_statusa_reg_t; -typedef uint8_t hri_ac_statusb_reg_t; -typedef uint8_t hri_ac_winctrl_reg_t; - -static inline void hri_ac_wait_for_sync(const void *const hw, hri_ac_syncbusy_reg_t reg) -{ - while (((Ac *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_ac_is_syncing(const void *const hw, hri_ac_syncbusy_reg_t reg) -{ - return ((Ac *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_ac_get_INTFLAG_COMP0_bit(const void *const hw) -{ - return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP0) >> AC_INTFLAG_COMP0_Pos; -} - -static inline void hri_ac_clear_INTFLAG_COMP0_bit(const void *const hw) -{ - ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP0; -} - -static inline bool hri_ac_get_INTFLAG_COMP1_bit(const void *const hw) -{ - return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP1) >> AC_INTFLAG_COMP1_Pos; -} - -static inline void hri_ac_clear_INTFLAG_COMP1_bit(const void *const hw) -{ - ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP1; -} - -static inline bool hri_ac_get_INTFLAG_WIN0_bit(const void *const hw) -{ - return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_WIN0) >> AC_INTFLAG_WIN0_Pos; -} - -static inline void hri_ac_clear_INTFLAG_WIN0_bit(const void *const hw) -{ - ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_WIN0; -} - -static inline bool hri_ac_get_interrupt_COMP0_bit(const void *const hw) -{ - return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP0) >> AC_INTFLAG_COMP0_Pos; -} - -static inline void hri_ac_clear_interrupt_COMP0_bit(const void *const hw) -{ - ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP0; -} - -static inline bool hri_ac_get_interrupt_COMP1_bit(const void *const hw) -{ - return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP1) >> AC_INTFLAG_COMP1_Pos; -} - -static inline void hri_ac_clear_interrupt_COMP1_bit(const void *const hw) -{ - ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP1; -} - -static inline bool hri_ac_get_interrupt_WIN0_bit(const void *const hw) -{ - return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_WIN0) >> AC_INTFLAG_WIN0_Pos; -} - -static inline void hri_ac_clear_interrupt_WIN0_bit(const void *const hw) -{ - ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_WIN0; -} - -static inline hri_ac_intflag_reg_t hri_ac_get_INTFLAG_reg(const void *const hw, hri_ac_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ac_intflag_reg_t hri_ac_read_INTFLAG_reg(const void *const hw) -{ - return ((Ac *)hw)->INTFLAG.reg; -} - -static inline void hri_ac_clear_INTFLAG_reg(const void *const hw, hri_ac_intflag_reg_t mask) -{ - ((Ac *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_ac_set_INTEN_COMP0_bit(const void *const hw) -{ - ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP0; -} - -static inline bool hri_ac_get_INTEN_COMP0_bit(const void *const hw) -{ - return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_COMP0) >> AC_INTENSET_COMP0_Pos; -} - -static inline void hri_ac_write_INTEN_COMP0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP0; - } else { - ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP0; - } -} - -static inline void hri_ac_clear_INTEN_COMP0_bit(const void *const hw) -{ - ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP0; -} - -static inline void hri_ac_set_INTEN_COMP1_bit(const void *const hw) -{ - ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP1; -} - -static inline bool hri_ac_get_INTEN_COMP1_bit(const void *const hw) -{ - return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_COMP1) >> AC_INTENSET_COMP1_Pos; -} - -static inline void hri_ac_write_INTEN_COMP1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP1; - } else { - ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP1; - } -} - -static inline void hri_ac_clear_INTEN_COMP1_bit(const void *const hw) -{ - ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP1; -} - -static inline void hri_ac_set_INTEN_WIN0_bit(const void *const hw) -{ - ((Ac *)hw)->INTENSET.reg = AC_INTENSET_WIN0; -} - -static inline bool hri_ac_get_INTEN_WIN0_bit(const void *const hw) -{ - return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_WIN0) >> AC_INTENSET_WIN0_Pos; -} - -static inline void hri_ac_write_INTEN_WIN0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_WIN0; - } else { - ((Ac *)hw)->INTENSET.reg = AC_INTENSET_WIN0; - } -} - -static inline void hri_ac_clear_INTEN_WIN0_bit(const void *const hw) -{ - ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_WIN0; -} - -static inline void hri_ac_set_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask) -{ - ((Ac *)hw)->INTENSET.reg = mask; -} - -static inline hri_ac_intenset_reg_t hri_ac_get_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ac_intenset_reg_t hri_ac_read_INTEN_reg(const void *const hw) -{ - return ((Ac *)hw)->INTENSET.reg; -} - -static inline void hri_ac_write_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t data) -{ - ((Ac *)hw)->INTENSET.reg = data; - ((Ac *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_ac_clear_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask) -{ - ((Ac *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_ac_get_STATUSA_STATE0_bit(const void *const hw) -{ - return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_STATE0) >> AC_STATUSA_STATE0_Pos; -} - -static inline bool hri_ac_get_STATUSA_STATE1_bit(const void *const hw) -{ - return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_STATE1) >> AC_STATUSA_STATE1_Pos; -} - -static inline hri_ac_statusa_reg_t hri_ac_get_STATUSA_WSTATE0_bf(const void *const hw, hri_ac_statusa_reg_t mask) -{ - return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_WSTATE0(mask)) >> AC_STATUSA_WSTATE0_Pos; -} - -static inline hri_ac_statusa_reg_t hri_ac_read_STATUSA_WSTATE0_bf(const void *const hw) -{ - return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_WSTATE0_Msk) >> AC_STATUSA_WSTATE0_Pos; -} - -static inline hri_ac_statusa_reg_t hri_ac_get_STATUSA_reg(const void *const hw, hri_ac_statusa_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->STATUSA.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ac_statusa_reg_t hri_ac_read_STATUSA_reg(const void *const hw) -{ - return ((Ac *)hw)->STATUSA.reg; -} - -static inline bool hri_ac_get_STATUSB_READY0_bit(const void *const hw) -{ - return (((Ac *)hw)->STATUSB.reg & AC_STATUSB_READY0) >> AC_STATUSB_READY0_Pos; -} - -static inline bool hri_ac_get_STATUSB_READY1_bit(const void *const hw) -{ - return (((Ac *)hw)->STATUSB.reg & AC_STATUSB_READY1) >> AC_STATUSB_READY1_Pos; -} - -static inline hri_ac_statusb_reg_t hri_ac_get_STATUSB_reg(const void *const hw, hri_ac_statusb_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->STATUSB.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ac_statusb_reg_t hri_ac_read_STATUSB_reg(const void *const hw) -{ - return ((Ac *)hw)->STATUSB.reg; -} - -static inline bool hri_ac_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_SWRST) >> AC_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_ac_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_ENABLE) >> AC_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_ac_get_SYNCBUSY_WINCTRL_bit(const void *const hw) -{ - return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_WINCTRL) >> AC_SYNCBUSY_WINCTRL_Pos; -} - -static inline bool hri_ac_get_SYNCBUSY_COMPCTRL0_bit(const void *const hw) -{ - return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_COMPCTRL0) >> AC_SYNCBUSY_COMPCTRL0_Pos; -} - -static inline bool hri_ac_get_SYNCBUSY_COMPCTRL1_bit(const void *const hw) -{ - return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_COMPCTRL1) >> AC_SYNCBUSY_COMPCTRL1_Pos; -} - -static inline hri_ac_syncbusy_reg_t hri_ac_get_SYNCBUSY_reg(const void *const hw, hri_ac_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ac_syncbusy_reg_t hri_ac_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Ac *)hw)->SYNCBUSY.reg; -} - -static inline void hri_ac_set_CTRLA_SWRST_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLA.reg |= AC_CTRLA_SWRST; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST); - tmp = ((Ac *)hw)->CTRLA.reg; - tmp = (tmp & AC_CTRLA_SWRST) >> AC_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_ac_set_CTRLA_ENABLE_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLA.reg |= AC_CTRLA_ENABLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - tmp = ((Ac *)hw)->CTRLA.reg; - tmp = (tmp & AC_CTRLA_ENABLE) >> AC_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->CTRLA.reg; - tmp &= ~AC_CTRLA_ENABLE; - tmp |= value << AC_CTRLA_ENABLE_Pos; - ((Ac *)hw)->CTRLA.reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLA.reg &= ~AC_CTRLA_ENABLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLA.reg ^= AC_CTRLA_ENABLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLA.reg |= mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_ctrla_reg_t hri_ac_get_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask) -{ - uint8_t tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - tmp = ((Ac *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ac_write_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t data) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLA.reg = data; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLA.reg &= ~mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLA.reg ^= mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_ctrla_reg_t hri_ac_read_CTRLA_reg(const void *const hw) -{ - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE); - return ((Ac *)hw)->CTRLA.reg; -} - -static inline void hri_ac_set_EVCTRL_COMPEO0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEO0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_EVCTRL_COMPEO0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp = (tmp & AC_EVCTRL_COMPEO0) >> AC_EVCTRL_COMPEO0_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_EVCTRL_COMPEO0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp &= ~AC_EVCTRL_COMPEO0; - tmp |= value << AC_EVCTRL_COMPEO0_Pos; - ((Ac *)hw)->EVCTRL.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_EVCTRL_COMPEO0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEO0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_EVCTRL_COMPEO0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEO0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_EVCTRL_COMPEO1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEO1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_EVCTRL_COMPEO1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp = (tmp & AC_EVCTRL_COMPEO1) >> AC_EVCTRL_COMPEO1_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_EVCTRL_COMPEO1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp &= ~AC_EVCTRL_COMPEO1; - tmp |= value << AC_EVCTRL_COMPEO1_Pos; - ((Ac *)hw)->EVCTRL.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_EVCTRL_COMPEO1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEO1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_EVCTRL_COMPEO1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEO1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_EVCTRL_WINEO0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_WINEO0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_EVCTRL_WINEO0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp = (tmp & AC_EVCTRL_WINEO0) >> AC_EVCTRL_WINEO0_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_EVCTRL_WINEO0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp &= ~AC_EVCTRL_WINEO0; - tmp |= value << AC_EVCTRL_WINEO0_Pos; - ((Ac *)hw)->EVCTRL.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_EVCTRL_WINEO0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_WINEO0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_EVCTRL_WINEO0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_WINEO0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_EVCTRL_COMPEI0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEI0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_EVCTRL_COMPEI0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp = (tmp & AC_EVCTRL_COMPEI0) >> AC_EVCTRL_COMPEI0_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_EVCTRL_COMPEI0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp &= ~AC_EVCTRL_COMPEI0; - tmp |= value << AC_EVCTRL_COMPEI0_Pos; - ((Ac *)hw)->EVCTRL.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_EVCTRL_COMPEI0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEI0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_EVCTRL_COMPEI0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEI0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_EVCTRL_COMPEI1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEI1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_EVCTRL_COMPEI1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp = (tmp & AC_EVCTRL_COMPEI1) >> AC_EVCTRL_COMPEI1_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_EVCTRL_COMPEI1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp &= ~AC_EVCTRL_COMPEI1; - tmp |= value << AC_EVCTRL_COMPEI1_Pos; - ((Ac *)hw)->EVCTRL.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_EVCTRL_COMPEI1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEI1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_EVCTRL_COMPEI1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEI1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_EVCTRL_INVEI0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_INVEI0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_EVCTRL_INVEI0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp = (tmp & AC_EVCTRL_INVEI0) >> AC_EVCTRL_INVEI0_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_EVCTRL_INVEI0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp &= ~AC_EVCTRL_INVEI0; - tmp |= value << AC_EVCTRL_INVEI0_Pos; - ((Ac *)hw)->EVCTRL.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_EVCTRL_INVEI0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_INVEI0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_EVCTRL_INVEI0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_INVEI0; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_EVCTRL_INVEI1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_INVEI1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_EVCTRL_INVEI1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp = (tmp & AC_EVCTRL_INVEI1) >> AC_EVCTRL_INVEI1_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_EVCTRL_INVEI1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp &= ~AC_EVCTRL_INVEI1; - tmp |= value << AC_EVCTRL_INVEI1_Pos; - ((Ac *)hw)->EVCTRL.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_EVCTRL_INVEI1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_INVEI1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_EVCTRL_INVEI1_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_INVEI1; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg |= mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_evctrl_reg_t hri_ac_get_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ac_write_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t data) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg = data; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg &= ~mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->EVCTRL.reg ^= mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_evctrl_reg_t hri_ac_read_EVCTRL_reg(const void *const hw) -{ - return ((Ac *)hw)->EVCTRL.reg; -} - -static inline void hri_ac_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->DBGCTRL.reg |= AC_DBGCTRL_DBGRUN; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->DBGCTRL.reg; - tmp = (tmp & AC_DBGCTRL_DBGRUN) >> AC_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->DBGCTRL.reg; - tmp &= ~AC_DBGCTRL_DBGRUN; - tmp |= value << AC_DBGCTRL_DBGRUN_Pos; - ((Ac *)hw)->DBGCTRL.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->DBGCTRL.reg &= ~AC_DBGCTRL_DBGRUN; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->DBGCTRL.reg ^= AC_DBGCTRL_DBGRUN; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->DBGCTRL.reg |= mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_dbgctrl_reg_t hri_ac_get_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ac_write_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t data) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->DBGCTRL.reg = data; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->DBGCTRL.reg &= ~mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->DBGCTRL.reg ^= mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_dbgctrl_reg_t hri_ac_read_DBGCTRL_reg(const void *const hw) -{ - return ((Ac *)hw)->DBGCTRL.reg; -} - -static inline void hri_ac_set_WINCTRL_WEN0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg |= AC_WINCTRL_WEN0; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_WINCTRL_WEN0_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->WINCTRL.reg; - tmp = (tmp & AC_WINCTRL_WEN0) >> AC_WINCTRL_WEN0_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_WINCTRL_WEN0_bit(const void *const hw, bool value) -{ - uint8_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->WINCTRL.reg; - tmp &= ~AC_WINCTRL_WEN0; - tmp |= value << AC_WINCTRL_WEN0_Pos; - ((Ac *)hw)->WINCTRL.reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_WINCTRL_WEN0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg &= ~AC_WINCTRL_WEN0; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_WINCTRL_WEN0_bit(const void *const hw) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg ^= AC_WINCTRL_WEN0; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg |= AC_WINCTRL_WINTSEL0(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_winctrl_reg_t hri_ac_get_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->WINCTRL.reg; - tmp = (tmp & AC_WINCTRL_WINTSEL0(mask)) >> AC_WINCTRL_WINTSEL0_Pos; - return tmp; -} - -static inline void hri_ac_write_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t data) -{ - uint8_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->WINCTRL.reg; - tmp &= ~AC_WINCTRL_WINTSEL0_Msk; - tmp |= AC_WINCTRL_WINTSEL0(data); - ((Ac *)hw)->WINCTRL.reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg &= ~AC_WINCTRL_WINTSEL0(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg ^= AC_WINCTRL_WINTSEL0(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_winctrl_reg_t hri_ac_read_WINCTRL_WINTSEL0_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->WINCTRL.reg; - tmp = (tmp & AC_WINCTRL_WINTSEL0_Msk) >> AC_WINCTRL_WINTSEL0_Pos; - return tmp; -} - -static inline void hri_ac_set_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg |= mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_winctrl_reg_t hri_ac_get_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask) -{ - uint8_t tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - tmp = ((Ac *)hw)->WINCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ac_write_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t data) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg = data; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg &= ~mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->WINCTRL.reg ^= mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_winctrl_reg_t hri_ac_read_WINCTRL_reg(const void *const hw) -{ - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - return ((Ac *)hw)->WINCTRL.reg; -} - -static inline void hri_ac_set_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->SCALER[index].reg |= AC_SCALER_VALUE(mask); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_scaler_reg_t hri_ac_get_SCALER_VALUE_bf(const void *const hw, uint8_t index, - hri_ac_scaler_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->SCALER[index].reg; - tmp = (tmp & AC_SCALER_VALUE(mask)) >> AC_SCALER_VALUE_Pos; - return tmp; -} - -static inline void hri_ac_write_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t data) -{ - uint8_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->SCALER[index].reg; - tmp &= ~AC_SCALER_VALUE_Msk; - tmp |= AC_SCALER_VALUE(data); - ((Ac *)hw)->SCALER[index].reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->SCALER[index].reg &= ~AC_SCALER_VALUE(mask); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->SCALER[index].reg ^= AC_SCALER_VALUE(mask); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_scaler_reg_t hri_ac_read_SCALER_VALUE_bf(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->SCALER[index].reg; - tmp = (tmp & AC_SCALER_VALUE_Msk) >> AC_SCALER_VALUE_Pos; - return tmp; -} - -static inline void hri_ac_set_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->SCALER[index].reg |= mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_scaler_reg_t hri_ac_get_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ac *)hw)->SCALER[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ac_write_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t data) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->SCALER[index].reg = data; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->SCALER[index].reg &= ~mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->SCALER[index].reg ^= mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_scaler_reg_t hri_ac_read_SCALER_reg(const void *const hw, uint8_t index) -{ - return ((Ac *)hw)->SCALER[index].reg; -} - -static inline void hri_ac_set_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_ENABLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_ENABLE) >> AC_COMPCTRL_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_ENABLE; - tmp |= value << AC_COMPCTRL_ENABLE_Pos; - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_ENABLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_ENABLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SINGLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_SINGLE) >> AC_COMPCTRL_SINGLE_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_SINGLE; - tmp |= value << AC_COMPCTRL_SINGLE_Pos; - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SINGLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SINGLE; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_RUNSTDBY; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_RUNSTDBY) >> AC_COMPCTRL_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_RUNSTDBY; - tmp |= value << AC_COMPCTRL_RUNSTDBY_Pos; - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_RUNSTDBY; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_RUNSTDBY; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SWAP; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_SWAP) >> AC_COMPCTRL_SWAP_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_SWAP; - tmp |= value << AC_COMPCTRL_SWAP_Pos; - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SWAP; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SWAP; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_HYSTEN; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ac_get_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_HYSTEN) >> AC_COMPCTRL_HYSTEN_Pos; - return (bool)tmp; -} - -static inline void hri_ac_write_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_HYSTEN; - tmp |= value << AC_COMPCTRL_HYSTEN_Pos; - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_HYSTEN; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_HYSTEN; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_set_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_INTSEL(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, - hri_ac_compctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_INTSEL(mask)) >> AC_COMPCTRL_INTSEL_Pos; - return tmp; -} - -static inline void hri_ac_write_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_INTSEL_Msk; - tmp |= AC_COMPCTRL_INTSEL(data); - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_INTSEL(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_INTSEL(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_INTSEL_Msk) >> AC_COMPCTRL_INTSEL_Pos; - return tmp; -} - -static inline void hri_ac_set_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_MUXNEG(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, - hri_ac_compctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_MUXNEG(mask)) >> AC_COMPCTRL_MUXNEG_Pos; - return tmp; -} - -static inline void hri_ac_write_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_MUXNEG_Msk; - tmp |= AC_COMPCTRL_MUXNEG(data); - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_MUXNEG(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_MUXNEG(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_MUXNEG_Msk) >> AC_COMPCTRL_MUXNEG_Pos; - return tmp; -} - -static inline void hri_ac_set_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_MUXPOS(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, - hri_ac_compctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_MUXPOS(mask)) >> AC_COMPCTRL_MUXPOS_Pos; - return tmp; -} - -static inline void hri_ac_write_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_MUXPOS_Msk; - tmp |= AC_COMPCTRL_MUXPOS(data); - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_MUXPOS(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_MUXPOS(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_MUXPOS_Msk) >> AC_COMPCTRL_MUXPOS_Pos; - return tmp; -} - -static inline void hri_ac_set_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SPEED(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, - hri_ac_compctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_SPEED(mask)) >> AC_COMPCTRL_SPEED_Pos; - return tmp; -} - -static inline void hri_ac_write_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_SPEED_Msk; - tmp |= AC_COMPCTRL_SPEED(data); - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SPEED(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SPEED(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_SPEED_Msk) >> AC_COMPCTRL_SPEED_Pos; - return tmp; -} - -static inline void hri_ac_set_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_HYST(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, - hri_ac_compctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_HYST(mask)) >> AC_COMPCTRL_HYST_Pos; - return tmp; -} - -static inline void hri_ac_write_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_HYST_Msk; - tmp |= AC_COMPCTRL_HYST(data); - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_HYST(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_HYST(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_HYST_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_HYST_Msk) >> AC_COMPCTRL_HYST_Pos; - return tmp; -} - -static inline void hri_ac_set_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_FLEN(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, - hri_ac_compctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_FLEN(mask)) >> AC_COMPCTRL_FLEN_Pos; - return tmp; -} - -static inline void hri_ac_write_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_FLEN_Msk; - tmp |= AC_COMPCTRL_FLEN(data); - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_FLEN(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_FLEN(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_FLEN_Msk) >> AC_COMPCTRL_FLEN_Pos; - return tmp; -} - -static inline void hri_ac_set_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_OUT(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, - hri_ac_compctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_OUT(mask)) >> AC_COMPCTRL_OUT_Pos; - return tmp; -} - -static inline void hri_ac_write_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data) -{ - uint32_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= ~AC_COMPCTRL_OUT_Msk; - tmp |= AC_COMPCTRL_OUT(data); - ((Ac *)hw)->COMPCTRL[index].reg = tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_OUT(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_OUT(mask); - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_OUT_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp = (tmp & AC_COMPCTRL_OUT_Msk) >> AC_COMPCTRL_OUT_Pos; - return tmp; -} - -static inline void hri_ac_set_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg |= mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_reg(const void *const hw, uint8_t index, - hri_ac_compctrl_reg_t mask) -{ - uint32_t tmp; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - tmp = ((Ac *)hw)->COMPCTRL[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ac_write_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg = data; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg &= ~mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->COMPCTRL[index].reg ^= mask; - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_reg(const void *const hw, uint8_t index) -{ - hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE); - return ((Ac *)hw)->COMPCTRL[index].reg; -} - -static inline void hri_ac_set_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CALIB.reg |= AC_CALIB_BIAS0(mask); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_calib_reg_t hri_ac_get_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t mask) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->CALIB.reg; - tmp = (tmp & AC_CALIB_BIAS0(mask)) >> AC_CALIB_BIAS0_Pos; - return tmp; -} - -static inline void hri_ac_write_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t data) -{ - uint16_t tmp; - AC_CRITICAL_SECTION_ENTER(); - tmp = ((Ac *)hw)->CALIB.reg; - tmp &= ~AC_CALIB_BIAS0_Msk; - tmp |= AC_CALIB_BIAS0(data); - ((Ac *)hw)->CALIB.reg = tmp; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CALIB.reg &= ~AC_CALIB_BIAS0(mask); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CALIB.reg ^= AC_CALIB_BIAS0(mask); - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_calib_reg_t hri_ac_read_CALIB_BIAS0_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->CALIB.reg; - tmp = (tmp & AC_CALIB_BIAS0_Msk) >> AC_CALIB_BIAS0_Pos; - return tmp; -} - -static inline void hri_ac_set_CALIB_reg(const void *const hw, hri_ac_calib_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CALIB.reg |= mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_calib_reg_t hri_ac_get_CALIB_reg(const void *const hw, hri_ac_calib_reg_t mask) -{ - uint16_t tmp; - tmp = ((Ac *)hw)->CALIB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ac_write_CALIB_reg(const void *const hw, hri_ac_calib_reg_t data) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CALIB.reg = data; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_clear_CALIB_reg(const void *const hw, hri_ac_calib_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CALIB.reg &= ~mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ac_toggle_CALIB_reg(const void *const hw, hri_ac_calib_reg_t mask) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CALIB.reg ^= mask; - AC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ac_calib_reg_t hri_ac_read_CALIB_reg(const void *const hw) -{ - return ((Ac *)hw)->CALIB.reg; -} - -static inline void hri_ac_write_CTRLB_reg(const void *const hw, hri_ac_ctrlb_reg_t data) -{ - AC_CRITICAL_SECTION_ENTER(); - ((Ac *)hw)->CTRLB.reg = data; - AC_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_AC_E54_H_INCLUDED */ -#endif /* _SAME54_AC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_adc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_adc_e54.h deleted file mode 100644 index 7bb7e6f..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_adc_e54.h +++ /dev/null @@ -1,3663 +0,0 @@ -/** - * \file - * - * \brief SAM ADC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_ADC_COMPONENT_ -#ifndef _HRI_ADC_E54_H_INCLUDED_ -#define _HRI_ADC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_ADC_CRITICAL_SECTIONS) -#define ADC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define ADC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define ADC_CRITICAL_SECTION_ENTER() -#define ADC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_adc_calib_reg_t; -typedef uint16_t hri_adc_ctrla_reg_t; -typedef uint16_t hri_adc_ctrlb_reg_t; -typedef uint16_t hri_adc_gaincorr_reg_t; -typedef uint16_t hri_adc_inputctrl_reg_t; -typedef uint16_t hri_adc_offsetcorr_reg_t; -typedef uint16_t hri_adc_ress_reg_t; -typedef uint16_t hri_adc_result_reg_t; -typedef uint16_t hri_adc_winlt_reg_t; -typedef uint16_t hri_adc_winut_reg_t; -typedef uint32_t hri_adc_dseqctrl_reg_t; -typedef uint32_t hri_adc_dseqdata_reg_t; -typedef uint32_t hri_adc_dseqstat_reg_t; -typedef uint32_t hri_adc_syncbusy_reg_t; -typedef uint8_t hri_adc_avgctrl_reg_t; -typedef uint8_t hri_adc_dbgctrl_reg_t; -typedef uint8_t hri_adc_evctrl_reg_t; -typedef uint8_t hri_adc_intenset_reg_t; -typedef uint8_t hri_adc_intflag_reg_t; -typedef uint8_t hri_adc_refctrl_reg_t; -typedef uint8_t hri_adc_sampctrl_reg_t; -typedef uint8_t hri_adc_status_reg_t; -typedef uint8_t hri_adc_swtrig_reg_t; - -static inline void hri_adc_wait_for_sync(const void *const hw, hri_adc_syncbusy_reg_t reg) -{ - while (((Adc *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_adc_is_syncing(const void *const hw, hri_adc_syncbusy_reg_t reg) -{ - return ((Adc *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_adc_get_INTFLAG_RESRDY_bit(const void *const hw) -{ - return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_RESRDY) >> ADC_INTFLAG_RESRDY_Pos; -} - -static inline void hri_adc_clear_INTFLAG_RESRDY_bit(const void *const hw) -{ - ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_RESRDY; -} - -static inline bool hri_adc_get_INTFLAG_OVERRUN_bit(const void *const hw) -{ - return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_OVERRUN) >> ADC_INTFLAG_OVERRUN_Pos; -} - -static inline void hri_adc_clear_INTFLAG_OVERRUN_bit(const void *const hw) -{ - ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_OVERRUN; -} - -static inline bool hri_adc_get_INTFLAG_WINMON_bit(const void *const hw) -{ - return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_WINMON) >> ADC_INTFLAG_WINMON_Pos; -} - -static inline void hri_adc_clear_INTFLAG_WINMON_bit(const void *const hw) -{ - ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_WINMON; -} - -static inline bool hri_adc_get_interrupt_RESRDY_bit(const void *const hw) -{ - return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_RESRDY) >> ADC_INTFLAG_RESRDY_Pos; -} - -static inline void hri_adc_clear_interrupt_RESRDY_bit(const void *const hw) -{ - ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_RESRDY; -} - -static inline bool hri_adc_get_interrupt_OVERRUN_bit(const void *const hw) -{ - return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_OVERRUN) >> ADC_INTFLAG_OVERRUN_Pos; -} - -static inline void hri_adc_clear_interrupt_OVERRUN_bit(const void *const hw) -{ - ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_OVERRUN; -} - -static inline bool hri_adc_get_interrupt_WINMON_bit(const void *const hw) -{ - return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_WINMON) >> ADC_INTFLAG_WINMON_Pos; -} - -static inline void hri_adc_clear_interrupt_WINMON_bit(const void *const hw) -{ - ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_WINMON; -} - -static inline hri_adc_intflag_reg_t hri_adc_get_INTFLAG_reg(const void *const hw, hri_adc_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_adc_intflag_reg_t hri_adc_read_INTFLAG_reg(const void *const hw) -{ - return ((Adc *)hw)->INTFLAG.reg; -} - -static inline void hri_adc_clear_INTFLAG_reg(const void *const hw, hri_adc_intflag_reg_t mask) -{ - ((Adc *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_adc_set_INTEN_RESRDY_bit(const void *const hw) -{ - ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_RESRDY; -} - -static inline bool hri_adc_get_INTEN_RESRDY_bit(const void *const hw) -{ - return (((Adc *)hw)->INTENSET.reg & ADC_INTENSET_RESRDY) >> ADC_INTENSET_RESRDY_Pos; -} - -static inline void hri_adc_write_INTEN_RESRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_RESRDY; - } else { - ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_RESRDY; - } -} - -static inline void hri_adc_clear_INTEN_RESRDY_bit(const void *const hw) -{ - ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_RESRDY; -} - -static inline void hri_adc_set_INTEN_OVERRUN_bit(const void *const hw) -{ - ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_OVERRUN; -} - -static inline bool hri_adc_get_INTEN_OVERRUN_bit(const void *const hw) -{ - return (((Adc *)hw)->INTENSET.reg & ADC_INTENSET_OVERRUN) >> ADC_INTENSET_OVERRUN_Pos; -} - -static inline void hri_adc_write_INTEN_OVERRUN_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_OVERRUN; - } else { - ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_OVERRUN; - } -} - -static inline void hri_adc_clear_INTEN_OVERRUN_bit(const void *const hw) -{ - ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_OVERRUN; -} - -static inline void hri_adc_set_INTEN_WINMON_bit(const void *const hw) -{ - ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_WINMON; -} - -static inline bool hri_adc_get_INTEN_WINMON_bit(const void *const hw) -{ - return (((Adc *)hw)->INTENSET.reg & ADC_INTENSET_WINMON) >> ADC_INTENSET_WINMON_Pos; -} - -static inline void hri_adc_write_INTEN_WINMON_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_WINMON; - } else { - ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_WINMON; - } -} - -static inline void hri_adc_clear_INTEN_WINMON_bit(const void *const hw) -{ - ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_WINMON; -} - -static inline void hri_adc_set_INTEN_reg(const void *const hw, hri_adc_intenset_reg_t mask) -{ - ((Adc *)hw)->INTENSET.reg = mask; -} - -static inline hri_adc_intenset_reg_t hri_adc_get_INTEN_reg(const void *const hw, hri_adc_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_adc_intenset_reg_t hri_adc_read_INTEN_reg(const void *const hw) -{ - return ((Adc *)hw)->INTENSET.reg; -} - -static inline void hri_adc_write_INTEN_reg(const void *const hw, hri_adc_intenset_reg_t data) -{ - ((Adc *)hw)->INTENSET.reg = data; - ((Adc *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_adc_clear_INTEN_reg(const void *const hw, hri_adc_intenset_reg_t mask) -{ - ((Adc *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_adc_get_STATUS_ADCBUSY_bit(const void *const hw) -{ - return (((Adc *)hw)->STATUS.reg & ADC_STATUS_ADCBUSY) >> ADC_STATUS_ADCBUSY_Pos; -} - -static inline hri_adc_status_reg_t hri_adc_get_STATUS_WCC_bf(const void *const hw, hri_adc_status_reg_t mask) -{ - return (((Adc *)hw)->STATUS.reg & ADC_STATUS_WCC(mask)) >> ADC_STATUS_WCC_Pos; -} - -static inline hri_adc_status_reg_t hri_adc_read_STATUS_WCC_bf(const void *const hw) -{ - return (((Adc *)hw)->STATUS.reg & ADC_STATUS_WCC_Msk) >> ADC_STATUS_WCC_Pos; -} - -static inline hri_adc_status_reg_t hri_adc_get_STATUS_reg(const void *const hw, hri_adc_status_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_adc_status_reg_t hri_adc_read_STATUS_reg(const void *const hw) -{ - return ((Adc *)hw)->STATUS.reg; -} - -static inline bool hri_adc_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_SWRST) >> ADC_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_ENABLE) >> ADC_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_INPUTCTRL_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_INPUTCTRL) >> ADC_SYNCBUSY_INPUTCTRL_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_CTRLB_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_CTRLB) >> ADC_SYNCBUSY_CTRLB_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_REFCTRL_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_REFCTRL) >> ADC_SYNCBUSY_REFCTRL_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_AVGCTRL_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_AVGCTRL) >> ADC_SYNCBUSY_AVGCTRL_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_SAMPCTRL_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_SAMPCTRL) >> ADC_SYNCBUSY_SAMPCTRL_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_WINLT_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_WINLT) >> ADC_SYNCBUSY_WINLT_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_WINUT_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_WINUT) >> ADC_SYNCBUSY_WINUT_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_GAINCORR_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_GAINCORR) >> ADC_SYNCBUSY_GAINCORR_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_OFFSETCORR_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_OFFSETCORR) >> ADC_SYNCBUSY_OFFSETCORR_Pos; -} - -static inline bool hri_adc_get_SYNCBUSY_SWTRIG_bit(const void *const hw) -{ - return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_SWTRIG) >> ADC_SYNCBUSY_SWTRIG_Pos; -} - -static inline hri_adc_syncbusy_reg_t hri_adc_get_SYNCBUSY_reg(const void *const hw, hri_adc_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Adc *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_adc_syncbusy_reg_t hri_adc_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Adc *)hw)->SYNCBUSY.reg; -} - -static inline bool hri_adc_get_DSEQSTAT_INPUTCTRL_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_INPUTCTRL) >> ADC_DSEQSTAT_INPUTCTRL_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_CTRLB_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_CTRLB) >> ADC_DSEQSTAT_CTRLB_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_REFCTRL_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_REFCTRL) >> ADC_DSEQSTAT_REFCTRL_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_AVGCTRL_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_AVGCTRL) >> ADC_DSEQSTAT_AVGCTRL_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_SAMPCTRL_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_SAMPCTRL) >> ADC_DSEQSTAT_SAMPCTRL_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_WINLT_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_WINLT) >> ADC_DSEQSTAT_WINLT_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_WINUT_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_WINUT) >> ADC_DSEQSTAT_WINUT_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_GAINCORR_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_GAINCORR) >> ADC_DSEQSTAT_GAINCORR_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_OFFSETCORR_bit(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_OFFSETCORR) >> ADC_DSEQSTAT_OFFSETCORR_Pos; -} - -static inline bool hri_adc_get_DSEQSTAT_BUSY_bit(const void *const hw) -{ - return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_BUSY) >> ADC_DSEQSTAT_BUSY_Pos; -} - -static inline hri_adc_dseqstat_reg_t hri_adc_get_DSEQSTAT_reg(const void *const hw, hri_adc_dseqstat_reg_t mask) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQSTAT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_adc_dseqstat_reg_t hri_adc_read_DSEQSTAT_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return ((Adc *)hw)->DSEQSTAT.reg; -} - -static inline hri_adc_result_reg_t hri_adc_get_RESULT_RESULT_bf(const void *const hw, hri_adc_result_reg_t mask) -{ - return (((Adc *)hw)->RESULT.reg & ADC_RESULT_RESULT(mask)) >> ADC_RESULT_RESULT_Pos; -} - -static inline hri_adc_result_reg_t hri_adc_read_RESULT_RESULT_bf(const void *const hw) -{ - return (((Adc *)hw)->RESULT.reg & ADC_RESULT_RESULT_Msk) >> ADC_RESULT_RESULT_Pos; -} - -static inline hri_adc_result_reg_t hri_adc_get_RESULT_reg(const void *const hw, hri_adc_result_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->RESULT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_adc_result_reg_t hri_adc_read_RESULT_reg(const void *const hw) -{ - return ((Adc *)hw)->RESULT.reg; -} - -static inline hri_adc_ress_reg_t hri_adc_get_RESS_RESS_bf(const void *const hw, hri_adc_ress_reg_t mask) -{ - return (((Adc *)hw)->RESS.reg & ADC_RESS_RESS(mask)) >> ADC_RESS_RESS_Pos; -} - -static inline hri_adc_ress_reg_t hri_adc_read_RESS_RESS_bf(const void *const hw) -{ - return (((Adc *)hw)->RESS.reg & ADC_RESS_RESS_Msk) >> ADC_RESS_RESS_Pos; -} - -static inline hri_adc_ress_reg_t hri_adc_get_RESS_reg(const void *const hw, hri_adc_ress_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->RESS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_adc_ress_reg_t hri_adc_read_RESS_reg(const void *const hw) -{ - return ((Adc *)hw)->RESS.reg; -} - -static inline void hri_adc_set_CTRLA_SWRST_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_SWRST; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_SWRST) >> ADC_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_adc_set_CTRLA_ENABLE_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_ENABLE; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_ENABLE) >> ADC_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp &= ~ADC_CTRLA_ENABLE; - tmp |= value << ADC_CTRLA_ENABLE_Pos; - ((Adc *)hw)->CTRLA.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_ENABLE; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_ENABLE; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLA_SLAVEEN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_SLAVEEN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLA_SLAVEEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_SLAVEEN) >> ADC_CTRLA_SLAVEEN_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLA_SLAVEEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp &= ~ADC_CTRLA_SLAVEEN; - tmp |= value << ADC_CTRLA_SLAVEEN_Pos; - ((Adc *)hw)->CTRLA.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLA_SLAVEEN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_SLAVEEN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLA_SLAVEEN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_SLAVEEN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_RUNSTDBY; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_RUNSTDBY) >> ADC_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp &= ~ADC_CTRLA_RUNSTDBY; - tmp |= value << ADC_CTRLA_RUNSTDBY_Pos; - ((Adc *)hw)->CTRLA.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_RUNSTDBY; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_RUNSTDBY; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLA_ONDEMAND_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_ONDEMAND; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLA_ONDEMAND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_ONDEMAND) >> ADC_CTRLA_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLA_ONDEMAND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp &= ~ADC_CTRLA_ONDEMAND; - tmp |= value << ADC_CTRLA_ONDEMAND_Pos; - ((Adc *)hw)->CTRLA.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLA_ONDEMAND_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_ONDEMAND; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLA_ONDEMAND_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_ONDEMAND; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLA_R2R_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_R2R; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLA_R2R_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_R2R) >> ADC_CTRLA_R2R_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLA_R2R_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp &= ~ADC_CTRLA_R2R; - tmp |= value << ADC_CTRLA_R2R_Pos; - ((Adc *)hw)->CTRLA.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLA_R2R_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_R2R; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLA_R2R_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_R2R; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_DUALSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrla_reg_t hri_adc_get_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_DUALSEL(mask)) >> ADC_CTRLA_DUALSEL_Pos; - return tmp; -} - -static inline void hri_adc_write_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp &= ~ADC_CTRLA_DUALSEL_Msk; - tmp |= ADC_CTRLA_DUALSEL(data); - ((Adc *)hw)->CTRLA.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_DUALSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_DUALSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrla_reg_t hri_adc_read_CTRLA_DUALSEL_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_DUALSEL_Msk) >> ADC_CTRLA_DUALSEL_Pos; - return tmp; -} - -static inline void hri_adc_set_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_PRESCALER(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrla_reg_t hri_adc_get_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_PRESCALER(mask)) >> ADC_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_adc_write_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp &= ~ADC_CTRLA_PRESCALER_Msk; - tmp |= ADC_CTRLA_PRESCALER(data); - ((Adc *)hw)->CTRLA.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_PRESCALER(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_PRESCALER(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrla_reg_t hri_adc_read_CTRLA_PRESCALER_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLA.reg; - tmp = (tmp & ADC_CTRLA_PRESCALER_Msk) >> ADC_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_adc_set_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrla_reg_t hri_adc_get_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - tmp = ((Adc *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLA.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrla_reg_t hri_adc_read_CTRLA_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE); - return ((Adc *)hw)->CTRLA.reg; -} - -static inline void hri_adc_set_EVCTRL_FLUSHEI_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_FLUSHEI; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_EVCTRL_FLUSHEI_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp = (tmp & ADC_EVCTRL_FLUSHEI) >> ADC_EVCTRL_FLUSHEI_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_EVCTRL_FLUSHEI_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp &= ~ADC_EVCTRL_FLUSHEI; - tmp |= value << ADC_EVCTRL_FLUSHEI_Pos; - ((Adc *)hw)->EVCTRL.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_EVCTRL_FLUSHEI_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_FLUSHEI; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_EVCTRL_FLUSHEI_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_FLUSHEI; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_EVCTRL_STARTEI_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_STARTEI; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_EVCTRL_STARTEI_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp = (tmp & ADC_EVCTRL_STARTEI) >> ADC_EVCTRL_STARTEI_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_EVCTRL_STARTEI_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp &= ~ADC_EVCTRL_STARTEI; - tmp |= value << ADC_EVCTRL_STARTEI_Pos; - ((Adc *)hw)->EVCTRL.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_EVCTRL_STARTEI_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_STARTEI; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_EVCTRL_STARTEI_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_STARTEI; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_EVCTRL_FLUSHINV_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_FLUSHINV; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_EVCTRL_FLUSHINV_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp = (tmp & ADC_EVCTRL_FLUSHINV) >> ADC_EVCTRL_FLUSHINV_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_EVCTRL_FLUSHINV_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp &= ~ADC_EVCTRL_FLUSHINV; - tmp |= value << ADC_EVCTRL_FLUSHINV_Pos; - ((Adc *)hw)->EVCTRL.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_EVCTRL_FLUSHINV_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_FLUSHINV; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_EVCTRL_FLUSHINV_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_FLUSHINV; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_EVCTRL_STARTINV_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_STARTINV; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_EVCTRL_STARTINV_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp = (tmp & ADC_EVCTRL_STARTINV) >> ADC_EVCTRL_STARTINV_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_EVCTRL_STARTINV_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp &= ~ADC_EVCTRL_STARTINV; - tmp |= value << ADC_EVCTRL_STARTINV_Pos; - ((Adc *)hw)->EVCTRL.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_EVCTRL_STARTINV_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_STARTINV; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_EVCTRL_STARTINV_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_STARTINV; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_EVCTRL_RESRDYEO_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_RESRDYEO; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_EVCTRL_RESRDYEO_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp = (tmp & ADC_EVCTRL_RESRDYEO) >> ADC_EVCTRL_RESRDYEO_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_EVCTRL_RESRDYEO_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp &= ~ADC_EVCTRL_RESRDYEO; - tmp |= value << ADC_EVCTRL_RESRDYEO_Pos; - ((Adc *)hw)->EVCTRL.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_EVCTRL_RESRDYEO_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_RESRDYEO; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_EVCTRL_RESRDYEO_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_RESRDYEO; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_EVCTRL_WINMONEO_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_WINMONEO; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_EVCTRL_WINMONEO_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp = (tmp & ADC_EVCTRL_WINMONEO) >> ADC_EVCTRL_WINMONEO_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_EVCTRL_WINMONEO_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp &= ~ADC_EVCTRL_WINMONEO; - tmp |= value << ADC_EVCTRL_WINMONEO_Pos; - ((Adc *)hw)->EVCTRL.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_EVCTRL_WINMONEO_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_WINMONEO; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_EVCTRL_WINMONEO_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_WINMONEO; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg |= mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_evctrl_reg_t hri_adc_get_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg = data; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg &= ~mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->EVCTRL.reg ^= mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_evctrl_reg_t hri_adc_read_EVCTRL_reg(const void *const hw) -{ - return ((Adc *)hw)->EVCTRL.reg; -} - -static inline void hri_adc_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DBGCTRL.reg |= ADC_DBGCTRL_DBGRUN; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->DBGCTRL.reg; - tmp = (tmp & ADC_DBGCTRL_DBGRUN) >> ADC_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DBGCTRL.reg; - tmp &= ~ADC_DBGCTRL_DBGRUN; - tmp |= value << ADC_DBGCTRL_DBGRUN_Pos; - ((Adc *)hw)->DBGCTRL.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DBGCTRL.reg &= ~ADC_DBGCTRL_DBGRUN; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DBGCTRL.reg ^= ADC_DBGCTRL_DBGRUN; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DBGCTRL.reg |= mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_dbgctrl_reg_t hri_adc_get_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DBGCTRL.reg = data; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DBGCTRL.reg &= ~mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DBGCTRL.reg ^= mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_dbgctrl_reg_t hri_adc_read_DBGCTRL_reg(const void *const hw) -{ - return ((Adc *)hw)->DBGCTRL.reg; -} - -static inline void hri_adc_set_INPUTCTRL_DIFFMODE_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg |= ADC_INPUTCTRL_DIFFMODE; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_INPUTCTRL_DIFFMODE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp = (tmp & ADC_INPUTCTRL_DIFFMODE) >> ADC_INPUTCTRL_DIFFMODE_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_INPUTCTRL_DIFFMODE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp &= ~ADC_INPUTCTRL_DIFFMODE; - tmp |= value << ADC_INPUTCTRL_DIFFMODE_Pos; - ((Adc *)hw)->INPUTCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_INPUTCTRL_DIFFMODE_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg &= ~ADC_INPUTCTRL_DIFFMODE; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_INPUTCTRL_DIFFMODE_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg ^= ADC_INPUTCTRL_DIFFMODE; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_INPUTCTRL_DSEQSTOP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg |= ADC_INPUTCTRL_DSEQSTOP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_INPUTCTRL_DSEQSTOP_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp = (tmp & ADC_INPUTCTRL_DSEQSTOP) >> ADC_INPUTCTRL_DSEQSTOP_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_INPUTCTRL_DSEQSTOP_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp &= ~ADC_INPUTCTRL_DSEQSTOP; - tmp |= value << ADC_INPUTCTRL_DSEQSTOP_Pos; - ((Adc *)hw)->INPUTCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_INPUTCTRL_DSEQSTOP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg &= ~ADC_INPUTCTRL_DSEQSTOP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_INPUTCTRL_DSEQSTOP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg ^= ADC_INPUTCTRL_DSEQSTOP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_INPUTCTRL_MUXPOS_bf(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg |= ADC_INPUTCTRL_MUXPOS(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_inputctrl_reg_t hri_adc_get_INPUTCTRL_MUXPOS_bf(const void *const hw, - hri_adc_inputctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp = (tmp & ADC_INPUTCTRL_MUXPOS(mask)) >> ADC_INPUTCTRL_MUXPOS_Pos; - return tmp; -} - -static inline void hri_adc_write_INPUTCTRL_MUXPOS_bf(const void *const hw, hri_adc_inputctrl_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp &= ~ADC_INPUTCTRL_MUXPOS_Msk; - tmp |= ADC_INPUTCTRL_MUXPOS(data); - ((Adc *)hw)->INPUTCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_INPUTCTRL_MUXPOS_bf(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg &= ~ADC_INPUTCTRL_MUXPOS(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_INPUTCTRL_MUXPOS_bf(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg ^= ADC_INPUTCTRL_MUXPOS(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_inputctrl_reg_t hri_adc_read_INPUTCTRL_MUXPOS_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp = (tmp & ADC_INPUTCTRL_MUXPOS_Msk) >> ADC_INPUTCTRL_MUXPOS_Pos; - return tmp; -} - -static inline void hri_adc_set_INPUTCTRL_MUXNEG_bf(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg |= ADC_INPUTCTRL_MUXNEG(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_inputctrl_reg_t hri_adc_get_INPUTCTRL_MUXNEG_bf(const void *const hw, - hri_adc_inputctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp = (tmp & ADC_INPUTCTRL_MUXNEG(mask)) >> ADC_INPUTCTRL_MUXNEG_Pos; - return tmp; -} - -static inline void hri_adc_write_INPUTCTRL_MUXNEG_bf(const void *const hw, hri_adc_inputctrl_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp &= ~ADC_INPUTCTRL_MUXNEG_Msk; - tmp |= ADC_INPUTCTRL_MUXNEG(data); - ((Adc *)hw)->INPUTCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_INPUTCTRL_MUXNEG_bf(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg &= ~ADC_INPUTCTRL_MUXNEG(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_INPUTCTRL_MUXNEG_bf(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg ^= ADC_INPUTCTRL_MUXNEG(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_inputctrl_reg_t hri_adc_read_INPUTCTRL_MUXNEG_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp = (tmp & ADC_INPUTCTRL_MUXNEG_Msk) >> ADC_INPUTCTRL_MUXNEG_Pos; - return tmp; -} - -static inline void hri_adc_set_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_inputctrl_reg_t hri_adc_get_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - tmp = ((Adc *)hw)->INPUTCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->INPUTCTRL.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_inputctrl_reg_t hri_adc_read_INPUTCTRL_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - return ((Adc *)hw)->INPUTCTRL.reg; -} - -static inline void hri_adc_set_CTRLB_LEFTADJ_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_LEFTADJ; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLB_LEFTADJ_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLB.reg; - tmp = (tmp & ADC_CTRLB_LEFTADJ) >> ADC_CTRLB_LEFTADJ_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLB_LEFTADJ_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLB.reg; - tmp &= ~ADC_CTRLB_LEFTADJ; - tmp |= value << ADC_CTRLB_LEFTADJ_Pos; - ((Adc *)hw)->CTRLB.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLB_LEFTADJ_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_LEFTADJ; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLB_LEFTADJ_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_LEFTADJ; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLB_FREERUN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_FREERUN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLB_FREERUN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLB.reg; - tmp = (tmp & ADC_CTRLB_FREERUN) >> ADC_CTRLB_FREERUN_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLB_FREERUN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLB.reg; - tmp &= ~ADC_CTRLB_FREERUN; - tmp |= value << ADC_CTRLB_FREERUN_Pos; - ((Adc *)hw)->CTRLB.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLB_FREERUN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_FREERUN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLB_FREERUN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_FREERUN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLB_CORREN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_CORREN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLB_CORREN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLB.reg; - tmp = (tmp & ADC_CTRLB_CORREN) >> ADC_CTRLB_CORREN_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLB_CORREN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLB.reg; - tmp &= ~ADC_CTRLB_CORREN; - tmp |= value << ADC_CTRLB_CORREN_Pos; - ((Adc *)hw)->CTRLB.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLB_CORREN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_CORREN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLB_CORREN_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_CORREN; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLB_WINSS_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_WINSS; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_CTRLB_WINSS_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLB.reg; - tmp = (tmp & ADC_CTRLB_WINSS) >> ADC_CTRLB_WINSS_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_CTRLB_WINSS_bit(const void *const hw, bool value) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLB.reg; - tmp &= ~ADC_CTRLB_WINSS; - tmp |= value << ADC_CTRLB_WINSS_Pos; - ((Adc *)hw)->CTRLB.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLB_WINSS_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_WINSS; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLB_WINSS_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_WINSS; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_RESSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrlb_reg_t hri_adc_get_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLB.reg; - tmp = (tmp & ADC_CTRLB_RESSEL(mask)) >> ADC_CTRLB_RESSEL_Pos; - return tmp; -} - -static inline void hri_adc_write_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLB.reg; - tmp &= ~ADC_CTRLB_RESSEL_Msk; - tmp |= ADC_CTRLB_RESSEL(data); - ((Adc *)hw)->CTRLB.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_RESSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_RESSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrlb_reg_t hri_adc_read_CTRLB_RESSEL_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLB.reg; - tmp = (tmp & ADC_CTRLB_RESSEL_Msk) >> ADC_CTRLB_RESSEL_Pos; - return tmp; -} - -static inline void hri_adc_set_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_WINMODE(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrlb_reg_t hri_adc_get_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLB.reg; - tmp = (tmp & ADC_CTRLB_WINMODE(mask)) >> ADC_CTRLB_WINMODE_Pos; - return tmp; -} - -static inline void hri_adc_write_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CTRLB.reg; - tmp &= ~ADC_CTRLB_WINMODE_Msk; - tmp |= ADC_CTRLB_WINMODE(data); - ((Adc *)hw)->CTRLB.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_WINMODE(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_WINMODE(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrlb_reg_t hri_adc_read_CTRLB_WINMODE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CTRLB.reg; - tmp = (tmp & ADC_CTRLB_WINMODE_Msk) >> ADC_CTRLB_WINMODE_Pos; - return tmp; -} - -static inline void hri_adc_set_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrlb_reg_t hri_adc_get_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - tmp = ((Adc *)hw)->CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CTRLB.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_ctrlb_reg_t hri_adc_read_CTRLB_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - return ((Adc *)hw)->CTRLB.reg; -} - -static inline void hri_adc_set_REFCTRL_REFCOMP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg |= ADC_REFCTRL_REFCOMP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_REFCTRL_REFCOMP_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->REFCTRL.reg; - tmp = (tmp & ADC_REFCTRL_REFCOMP) >> ADC_REFCTRL_REFCOMP_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_REFCTRL_REFCOMP_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->REFCTRL.reg; - tmp &= ~ADC_REFCTRL_REFCOMP; - tmp |= value << ADC_REFCTRL_REFCOMP_Pos; - ((Adc *)hw)->REFCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_REFCTRL_REFCOMP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg &= ~ADC_REFCTRL_REFCOMP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_REFCTRL_REFCOMP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg ^= ADC_REFCTRL_REFCOMP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg |= ADC_REFCTRL_REFSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_refctrl_reg_t hri_adc_get_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->REFCTRL.reg; - tmp = (tmp & ADC_REFCTRL_REFSEL(mask)) >> ADC_REFCTRL_REFSEL_Pos; - return tmp; -} - -static inline void hri_adc_write_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t data) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->REFCTRL.reg; - tmp &= ~ADC_REFCTRL_REFSEL_Msk; - tmp |= ADC_REFCTRL_REFSEL(data); - ((Adc *)hw)->REFCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg &= ~ADC_REFCTRL_REFSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg ^= ADC_REFCTRL_REFSEL(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_refctrl_reg_t hri_adc_read_REFCTRL_REFSEL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->REFCTRL.reg; - tmp = (tmp & ADC_REFCTRL_REFSEL_Msk) >> ADC_REFCTRL_REFSEL_Pos; - return tmp; -} - -static inline void hri_adc_set_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_refctrl_reg_t hri_adc_get_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t mask) -{ - uint8_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - tmp = ((Adc *)hw)->REFCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->REFCTRL.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_refctrl_reg_t hri_adc_read_REFCTRL_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - return ((Adc *)hw)->REFCTRL.reg; -} - -static inline void hri_adc_set_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg |= ADC_AVGCTRL_SAMPLENUM(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_avgctrl_reg_t hri_adc_get_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->AVGCTRL.reg; - tmp = (tmp & ADC_AVGCTRL_SAMPLENUM(mask)) >> ADC_AVGCTRL_SAMPLENUM_Pos; - return tmp; -} - -static inline void hri_adc_write_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t data) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->AVGCTRL.reg; - tmp &= ~ADC_AVGCTRL_SAMPLENUM_Msk; - tmp |= ADC_AVGCTRL_SAMPLENUM(data); - ((Adc *)hw)->AVGCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg &= ~ADC_AVGCTRL_SAMPLENUM(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg ^= ADC_AVGCTRL_SAMPLENUM(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_avgctrl_reg_t hri_adc_read_AVGCTRL_SAMPLENUM_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->AVGCTRL.reg; - tmp = (tmp & ADC_AVGCTRL_SAMPLENUM_Msk) >> ADC_AVGCTRL_SAMPLENUM_Pos; - return tmp; -} - -static inline void hri_adc_set_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg |= ADC_AVGCTRL_ADJRES(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_avgctrl_reg_t hri_adc_get_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->AVGCTRL.reg; - tmp = (tmp & ADC_AVGCTRL_ADJRES(mask)) >> ADC_AVGCTRL_ADJRES_Pos; - return tmp; -} - -static inline void hri_adc_write_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t data) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->AVGCTRL.reg; - tmp &= ~ADC_AVGCTRL_ADJRES_Msk; - tmp |= ADC_AVGCTRL_ADJRES(data); - ((Adc *)hw)->AVGCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg &= ~ADC_AVGCTRL_ADJRES(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg ^= ADC_AVGCTRL_ADJRES(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_avgctrl_reg_t hri_adc_read_AVGCTRL_ADJRES_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->AVGCTRL.reg; - tmp = (tmp & ADC_AVGCTRL_ADJRES_Msk) >> ADC_AVGCTRL_ADJRES_Pos; - return tmp; -} - -static inline void hri_adc_set_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_avgctrl_reg_t hri_adc_get_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - uint8_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - tmp = ((Adc *)hw)->AVGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->AVGCTRL.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_avgctrl_reg_t hri_adc_read_AVGCTRL_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - return ((Adc *)hw)->AVGCTRL.reg; -} - -static inline void hri_adc_set_SAMPCTRL_OFFCOMP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg |= ADC_SAMPCTRL_OFFCOMP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_SAMPCTRL_OFFCOMP_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->SAMPCTRL.reg; - tmp = (tmp & ADC_SAMPCTRL_OFFCOMP) >> ADC_SAMPCTRL_OFFCOMP_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_SAMPCTRL_OFFCOMP_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->SAMPCTRL.reg; - tmp &= ~ADC_SAMPCTRL_OFFCOMP; - tmp |= value << ADC_SAMPCTRL_OFFCOMP_Pos; - ((Adc *)hw)->SAMPCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_SAMPCTRL_OFFCOMP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg &= ~ADC_SAMPCTRL_OFFCOMP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_SAMPCTRL_OFFCOMP_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg ^= ADC_SAMPCTRL_OFFCOMP; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg |= ADC_SAMPCTRL_SAMPLEN(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_sampctrl_reg_t hri_adc_get_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->SAMPCTRL.reg; - tmp = (tmp & ADC_SAMPCTRL_SAMPLEN(mask)) >> ADC_SAMPCTRL_SAMPLEN_Pos; - return tmp; -} - -static inline void hri_adc_write_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t data) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->SAMPCTRL.reg; - tmp &= ~ADC_SAMPCTRL_SAMPLEN_Msk; - tmp |= ADC_SAMPCTRL_SAMPLEN(data); - ((Adc *)hw)->SAMPCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg &= ~ADC_SAMPCTRL_SAMPLEN(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg ^= ADC_SAMPCTRL_SAMPLEN(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_sampctrl_reg_t hri_adc_read_SAMPCTRL_SAMPLEN_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->SAMPCTRL.reg; - tmp = (tmp & ADC_SAMPCTRL_SAMPLEN_Msk) >> ADC_SAMPCTRL_SAMPLEN_Pos; - return tmp; -} - -static inline void hri_adc_set_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_sampctrl_reg_t hri_adc_get_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t mask) -{ - uint8_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - tmp = ((Adc *)hw)->SAMPCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SAMPCTRL.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_sampctrl_reg_t hri_adc_read_SAMPCTRL_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - return ((Adc *)hw)->SAMPCTRL.reg; -} - -static inline void hri_adc_set_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINLT.reg |= ADC_WINLT_WINLT(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_winlt_reg_t hri_adc_get_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - tmp = ((Adc *)hw)->WINLT.reg; - tmp = (tmp & ADC_WINLT_WINLT(mask)) >> ADC_WINLT_WINLT_Pos; - return tmp; -} - -static inline void hri_adc_write_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->WINLT.reg; - tmp &= ~ADC_WINLT_WINLT_Msk; - tmp |= ADC_WINLT_WINLT(data); - ((Adc *)hw)->WINLT.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINLT.reg &= ~ADC_WINLT_WINLT(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINLT.reg ^= ADC_WINLT_WINLT(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_winlt_reg_t hri_adc_read_WINLT_WINLT_bf(const void *const hw) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - tmp = ((Adc *)hw)->WINLT.reg; - tmp = (tmp & ADC_WINLT_WINLT_Msk) >> ADC_WINLT_WINLT_Pos; - return tmp; -} - -static inline void hri_adc_set_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINLT.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_winlt_reg_t hri_adc_get_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - tmp = ((Adc *)hw)->WINLT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINLT.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINLT.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINLT.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_winlt_reg_t hri_adc_read_WINLT_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT); - return ((Adc *)hw)->WINLT.reg; -} - -static inline void hri_adc_set_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINUT.reg |= ADC_WINUT_WINUT(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_winut_reg_t hri_adc_get_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - tmp = ((Adc *)hw)->WINUT.reg; - tmp = (tmp & ADC_WINUT_WINUT(mask)) >> ADC_WINUT_WINUT_Pos; - return tmp; -} - -static inline void hri_adc_write_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->WINUT.reg; - tmp &= ~ADC_WINUT_WINUT_Msk; - tmp |= ADC_WINUT_WINUT(data); - ((Adc *)hw)->WINUT.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINUT.reg &= ~ADC_WINUT_WINUT(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINUT.reg ^= ADC_WINUT_WINUT(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_winut_reg_t hri_adc_read_WINUT_WINUT_bf(const void *const hw) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - tmp = ((Adc *)hw)->WINUT.reg; - tmp = (tmp & ADC_WINUT_WINUT_Msk) >> ADC_WINUT_WINUT_Pos; - return tmp; -} - -static inline void hri_adc_set_WINUT_reg(const void *const hw, hri_adc_winut_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINUT.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_winut_reg_t hri_adc_get_WINUT_reg(const void *const hw, hri_adc_winut_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - tmp = ((Adc *)hw)->WINUT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_WINUT_reg(const void *const hw, hri_adc_winut_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINUT.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_WINUT_reg(const void *const hw, hri_adc_winut_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINUT.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_WINUT_reg(const void *const hw, hri_adc_winut_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->WINUT.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_winut_reg_t hri_adc_read_WINUT_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT); - return ((Adc *)hw)->WINUT.reg; -} - -static inline void hri_adc_set_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->GAINCORR.reg |= ADC_GAINCORR_GAINCORR(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_gaincorr_reg_t hri_adc_get_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - tmp = ((Adc *)hw)->GAINCORR.reg; - tmp = (tmp & ADC_GAINCORR_GAINCORR(mask)) >> ADC_GAINCORR_GAINCORR_Pos; - return tmp; -} - -static inline void hri_adc_write_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->GAINCORR.reg; - tmp &= ~ADC_GAINCORR_GAINCORR_Msk; - tmp |= ADC_GAINCORR_GAINCORR(data); - ((Adc *)hw)->GAINCORR.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->GAINCORR.reg &= ~ADC_GAINCORR_GAINCORR(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->GAINCORR.reg ^= ADC_GAINCORR_GAINCORR(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_gaincorr_reg_t hri_adc_read_GAINCORR_GAINCORR_bf(const void *const hw) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - tmp = ((Adc *)hw)->GAINCORR.reg; - tmp = (tmp & ADC_GAINCORR_GAINCORR_Msk) >> ADC_GAINCORR_GAINCORR_Pos; - return tmp; -} - -static inline void hri_adc_set_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->GAINCORR.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_gaincorr_reg_t hri_adc_get_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - tmp = ((Adc *)hw)->GAINCORR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->GAINCORR.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->GAINCORR.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->GAINCORR.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_gaincorr_reg_t hri_adc_read_GAINCORR_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR); - return ((Adc *)hw)->GAINCORR.reg; -} - -static inline void hri_adc_set_OFFSETCORR_OFFSETCORR_bf(const void *const hw, hri_adc_offsetcorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->OFFSETCORR.reg |= ADC_OFFSETCORR_OFFSETCORR(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_offsetcorr_reg_t hri_adc_get_OFFSETCORR_OFFSETCORR_bf(const void *const hw, - hri_adc_offsetcorr_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->OFFSETCORR.reg; - tmp = (tmp & ADC_OFFSETCORR_OFFSETCORR(mask)) >> ADC_OFFSETCORR_OFFSETCORR_Pos; - return tmp; -} - -static inline void hri_adc_write_OFFSETCORR_OFFSETCORR_bf(const void *const hw, hri_adc_offsetcorr_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->OFFSETCORR.reg; - tmp &= ~ADC_OFFSETCORR_OFFSETCORR_Msk; - tmp |= ADC_OFFSETCORR_OFFSETCORR(data); - ((Adc *)hw)->OFFSETCORR.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_OFFSETCORR_OFFSETCORR_bf(const void *const hw, hri_adc_offsetcorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->OFFSETCORR.reg &= ~ADC_OFFSETCORR_OFFSETCORR(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_OFFSETCORR_OFFSETCORR_bf(const void *const hw, hri_adc_offsetcorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->OFFSETCORR.reg ^= ADC_OFFSETCORR_OFFSETCORR(mask); - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_offsetcorr_reg_t hri_adc_read_OFFSETCORR_OFFSETCORR_bf(const void *const hw) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->OFFSETCORR.reg; - tmp = (tmp & ADC_OFFSETCORR_OFFSETCORR_Msk) >> ADC_OFFSETCORR_OFFSETCORR_Pos; - return tmp; -} - -static inline void hri_adc_set_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->OFFSETCORR.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_offsetcorr_reg_t hri_adc_get_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t mask) -{ - uint16_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->OFFSETCORR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->OFFSETCORR.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->OFFSETCORR.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->OFFSETCORR.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_offsetcorr_reg_t hri_adc_read_OFFSETCORR_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR); - return ((Adc *)hw)->OFFSETCORR.reg; -} - -static inline void hri_adc_set_SWTRIG_FLUSH_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg |= ADC_SWTRIG_FLUSH; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_SWTRIG_FLUSH_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->SWTRIG.reg; - tmp = (tmp & ADC_SWTRIG_FLUSH) >> ADC_SWTRIG_FLUSH_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_SWTRIG_FLUSH_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->SWTRIG.reg; - tmp &= ~ADC_SWTRIG_FLUSH; - tmp |= value << ADC_SWTRIG_FLUSH_Pos; - ((Adc *)hw)->SWTRIG.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_SWTRIG_FLUSH_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg &= ~ADC_SWTRIG_FLUSH; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_SWTRIG_FLUSH_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg ^= ADC_SWTRIG_FLUSH; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_SWTRIG_START_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg |= ADC_SWTRIG_START; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_SWTRIG_START_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Adc *)hw)->SWTRIG.reg; - tmp = (tmp & ADC_SWTRIG_START) >> ADC_SWTRIG_START_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_SWTRIG_START_bit(const void *const hw, bool value) -{ - uint8_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->SWTRIG.reg; - tmp &= ~ADC_SWTRIG_START; - tmp |= value << ADC_SWTRIG_START_Pos; - ((Adc *)hw)->SWTRIG.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_SWTRIG_START_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg &= ~ADC_SWTRIG_START; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_SWTRIG_START_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg ^= ADC_SWTRIG_START; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg |= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_swtrig_reg_t hri_adc_get_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t mask) -{ - uint8_t tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - tmp = ((Adc *)hw)->SWTRIG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg = data; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg &= ~mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->SWTRIG.reg ^= mask; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_swtrig_reg_t hri_adc_read_SWTRIG_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - return ((Adc *)hw)->SWTRIG.reg; -} - -static inline void hri_adc_set_DSEQCTRL_INPUTCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_INPUTCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_INPUTCTRL_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_INPUTCTRL) >> ADC_DSEQCTRL_INPUTCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_INPUTCTRL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_INPUTCTRL; - tmp |= value << ADC_DSEQCTRL_INPUTCTRL_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_INPUTCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_INPUTCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_INPUTCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_INPUTCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_CTRLB_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_CTRLB; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_CTRLB_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_CTRLB) >> ADC_DSEQCTRL_CTRLB_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_CTRLB_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_CTRLB; - tmp |= value << ADC_DSEQCTRL_CTRLB_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_CTRLB_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_CTRLB; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_CTRLB_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_CTRLB; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_REFCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_REFCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_REFCTRL_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_REFCTRL) >> ADC_DSEQCTRL_REFCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_REFCTRL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_REFCTRL; - tmp |= value << ADC_DSEQCTRL_REFCTRL_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_REFCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_REFCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_REFCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_REFCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_AVGCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_AVGCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_AVGCTRL_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_AVGCTRL) >> ADC_DSEQCTRL_AVGCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_AVGCTRL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_AVGCTRL; - tmp |= value << ADC_DSEQCTRL_AVGCTRL_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_AVGCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_AVGCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_AVGCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_AVGCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_SAMPCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_SAMPCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_SAMPCTRL_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_SAMPCTRL) >> ADC_DSEQCTRL_SAMPCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_SAMPCTRL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_SAMPCTRL; - tmp |= value << ADC_DSEQCTRL_SAMPCTRL_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_SAMPCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_SAMPCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_SAMPCTRL_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_SAMPCTRL; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_WINLT_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_WINLT; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_WINLT_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_WINLT) >> ADC_DSEQCTRL_WINLT_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_WINLT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_WINLT; - tmp |= value << ADC_DSEQCTRL_WINLT_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_WINLT_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_WINLT; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_WINLT_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_WINLT; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_WINUT_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_WINUT; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_WINUT_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_WINUT) >> ADC_DSEQCTRL_WINUT_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_WINUT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_WINUT; - tmp |= value << ADC_DSEQCTRL_WINUT_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_WINUT_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_WINUT; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_WINUT_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_WINUT; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_GAINCORR_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_GAINCORR; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_GAINCORR_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_GAINCORR) >> ADC_DSEQCTRL_GAINCORR_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_GAINCORR_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_GAINCORR; - tmp |= value << ADC_DSEQCTRL_GAINCORR_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_GAINCORR_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_GAINCORR; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_GAINCORR_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_GAINCORR; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_OFFSETCORR_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_OFFSETCORR; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_OFFSETCORR_bit(const void *const hw) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_OFFSETCORR) >> ADC_DSEQCTRL_OFFSETCORR_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_OFFSETCORR_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_OFFSETCORR; - tmp |= value << ADC_DSEQCTRL_OFFSETCORR_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_OFFSETCORR_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_OFFSETCORR; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_OFFSETCORR_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_OFFSETCORR; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_AUTOSTART_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_AUTOSTART; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_adc_get_DSEQCTRL_AUTOSTART_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp = (tmp & ADC_DSEQCTRL_AUTOSTART) >> ADC_DSEQCTRL_AUTOSTART_Pos; - return (bool)tmp; -} - -static inline void hri_adc_write_DSEQCTRL_AUTOSTART_bit(const void *const hw, bool value) -{ - uint32_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= ~ADC_DSEQCTRL_AUTOSTART; - tmp |= value << ADC_DSEQCTRL_AUTOSTART_Pos; - ((Adc *)hw)->DSEQCTRL.reg = tmp; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_AUTOSTART_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_AUTOSTART; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_AUTOSTART_bit(const void *const hw) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_AUTOSTART; - hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_set_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg |= mask; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_dseqctrl_reg_t hri_adc_get_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t mask) -{ - uint32_t tmp; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - tmp = ((Adc *)hw)->DSEQCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg = data; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg &= ~mask; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQCTRL.reg ^= mask; - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_dseqctrl_reg_t hri_adc_read_DSEQCTRL_reg(const void *const hw) -{ - hri_adc_wait_for_sync(hw, - ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL - | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR - | ADC_SYNCBUSY_OFFSETCORR); - return ((Adc *)hw)->DSEQCTRL.reg; -} - -static inline void hri_adc_set_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg |= ADC_CALIB_BIASCOMP(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_calib_reg_t hri_adc_get_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CALIB.reg; - tmp = (tmp & ADC_CALIB_BIASCOMP(mask)) >> ADC_CALIB_BIASCOMP_Pos; - return tmp; -} - -static inline void hri_adc_write_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CALIB.reg; - tmp &= ~ADC_CALIB_BIASCOMP_Msk; - tmp |= ADC_CALIB_BIASCOMP(data); - ((Adc *)hw)->CALIB.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg &= ~ADC_CALIB_BIASCOMP(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg ^= ADC_CALIB_BIASCOMP(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_calib_reg_t hri_adc_read_CALIB_BIASCOMP_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CALIB.reg; - tmp = (tmp & ADC_CALIB_BIASCOMP_Msk) >> ADC_CALIB_BIASCOMP_Pos; - return tmp; -} - -static inline void hri_adc_set_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg |= ADC_CALIB_BIASR2R(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_calib_reg_t hri_adc_get_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CALIB.reg; - tmp = (tmp & ADC_CALIB_BIASR2R(mask)) >> ADC_CALIB_BIASR2R_Pos; - return tmp; -} - -static inline void hri_adc_write_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CALIB.reg; - tmp &= ~ADC_CALIB_BIASR2R_Msk; - tmp |= ADC_CALIB_BIASR2R(data); - ((Adc *)hw)->CALIB.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg &= ~ADC_CALIB_BIASR2R(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg ^= ADC_CALIB_BIASR2R(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_calib_reg_t hri_adc_read_CALIB_BIASR2R_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CALIB.reg; - tmp = (tmp & ADC_CALIB_BIASR2R_Msk) >> ADC_CALIB_BIASR2R_Pos; - return tmp; -} - -static inline void hri_adc_set_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg |= ADC_CALIB_BIASREFBUF(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_calib_reg_t hri_adc_get_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CALIB.reg; - tmp = (tmp & ADC_CALIB_BIASREFBUF(mask)) >> ADC_CALIB_BIASREFBUF_Pos; - return tmp; -} - -static inline void hri_adc_write_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t data) -{ - uint16_t tmp; - ADC_CRITICAL_SECTION_ENTER(); - tmp = ((Adc *)hw)->CALIB.reg; - tmp &= ~ADC_CALIB_BIASREFBUF_Msk; - tmp |= ADC_CALIB_BIASREFBUF(data); - ((Adc *)hw)->CALIB.reg = tmp; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg &= ~ADC_CALIB_BIASREFBUF(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg ^= ADC_CALIB_BIASREFBUF(mask); - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_calib_reg_t hri_adc_read_CALIB_BIASREFBUF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CALIB.reg; - tmp = (tmp & ADC_CALIB_BIASREFBUF_Msk) >> ADC_CALIB_BIASREFBUF_Pos; - return tmp; -} - -static inline void hri_adc_set_CALIB_reg(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg |= mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_calib_reg_t hri_adc_get_CALIB_reg(const void *const hw, hri_adc_calib_reg_t mask) -{ - uint16_t tmp; - tmp = ((Adc *)hw)->CALIB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_adc_write_CALIB_reg(const void *const hw, hri_adc_calib_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg = data; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_clear_CALIB_reg(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg &= ~mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_adc_toggle_CALIB_reg(const void *const hw, hri_adc_calib_reg_t mask) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->CALIB.reg ^= mask; - ADC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_adc_calib_reg_t hri_adc_read_CALIB_reg(const void *const hw) -{ - return ((Adc *)hw)->CALIB.reg; -} - -static inline void hri_adc_write_DSEQDATA_reg(const void *const hw, hri_adc_dseqdata_reg_t data) -{ - ADC_CRITICAL_SECTION_ENTER(); - ((Adc *)hw)->DSEQDATA.reg = data; - ADC_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_ADC_E54_H_INCLUDED */ -#endif /* _SAME54_ADC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_aes_e54.h b/software/firmware/oracle_same54n19a/hri/hri_aes_e54.h deleted file mode 100644 index c1070e2..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_aes_e54.h +++ /dev/null @@ -1,1287 +0,0 @@ -/** - * \file - * - * \brief SAM AES - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_AES_COMPONENT_ -#ifndef _HRI_AES_E54_H_INCLUDED_ -#define _HRI_AES_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_AES_CRITICAL_SECTIONS) -#define AES_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define AES_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define AES_CRITICAL_SECTION_ENTER() -#define AES_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_aes_ciplen_reg_t; -typedef uint32_t hri_aes_ctrla_reg_t; -typedef uint32_t hri_aes_ghash_reg_t; -typedef uint32_t hri_aes_hashkey_reg_t; -typedef uint32_t hri_aes_indata_reg_t; -typedef uint32_t hri_aes_intvectv_reg_t; -typedef uint32_t hri_aes_keyword_reg_t; -typedef uint32_t hri_aes_randseed_reg_t; -typedef uint8_t hri_aes_ctrlb_reg_t; -typedef uint8_t hri_aes_databufptr_reg_t; -typedef uint8_t hri_aes_dbgctrl_reg_t; -typedef uint8_t hri_aes_intenset_reg_t; -typedef uint8_t hri_aes_intflag_reg_t; - -static inline bool hri_aes_get_INTFLAG_ENCCMP_bit(const void *const hw) -{ - return (((Aes *)hw)->INTFLAG.reg & AES_INTFLAG_ENCCMP) >> AES_INTFLAG_ENCCMP_Pos; -} - -static inline void hri_aes_clear_INTFLAG_ENCCMP_bit(const void *const hw) -{ - ((Aes *)hw)->INTFLAG.reg = AES_INTFLAG_ENCCMP; -} - -static inline bool hri_aes_get_INTFLAG_GFMCMP_bit(const void *const hw) -{ - return (((Aes *)hw)->INTFLAG.reg & AES_INTFLAG_GFMCMP) >> AES_INTFLAG_GFMCMP_Pos; -} - -static inline void hri_aes_clear_INTFLAG_GFMCMP_bit(const void *const hw) -{ - ((Aes *)hw)->INTFLAG.reg = AES_INTFLAG_GFMCMP; -} - -static inline bool hri_aes_get_interrupt_ENCCMP_bit(const void *const hw) -{ - return (((Aes *)hw)->INTFLAG.reg & AES_INTFLAG_ENCCMP) >> AES_INTFLAG_ENCCMP_Pos; -} - -static inline void hri_aes_clear_interrupt_ENCCMP_bit(const void *const hw) -{ - ((Aes *)hw)->INTFLAG.reg = AES_INTFLAG_ENCCMP; -} - -static inline bool hri_aes_get_interrupt_GFMCMP_bit(const void *const hw) -{ - return (((Aes *)hw)->INTFLAG.reg & AES_INTFLAG_GFMCMP) >> AES_INTFLAG_GFMCMP_Pos; -} - -static inline void hri_aes_clear_interrupt_GFMCMP_bit(const void *const hw) -{ - ((Aes *)hw)->INTFLAG.reg = AES_INTFLAG_GFMCMP; -} - -static inline hri_aes_intflag_reg_t hri_aes_get_INTFLAG_reg(const void *const hw, hri_aes_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_aes_intflag_reg_t hri_aes_read_INTFLAG_reg(const void *const hw) -{ - return ((Aes *)hw)->INTFLAG.reg; -} - -static inline void hri_aes_clear_INTFLAG_reg(const void *const hw, hri_aes_intflag_reg_t mask) -{ - ((Aes *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_aes_set_INTEN_ENCCMP_bit(const void *const hw) -{ - ((Aes *)hw)->INTENSET.reg = AES_INTENSET_ENCCMP; -} - -static inline bool hri_aes_get_INTEN_ENCCMP_bit(const void *const hw) -{ - return (((Aes *)hw)->INTENSET.reg & AES_INTENSET_ENCCMP) >> AES_INTENSET_ENCCMP_Pos; -} - -static inline void hri_aes_write_INTEN_ENCCMP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Aes *)hw)->INTENCLR.reg = AES_INTENSET_ENCCMP; - } else { - ((Aes *)hw)->INTENSET.reg = AES_INTENSET_ENCCMP; - } -} - -static inline void hri_aes_clear_INTEN_ENCCMP_bit(const void *const hw) -{ - ((Aes *)hw)->INTENCLR.reg = AES_INTENSET_ENCCMP; -} - -static inline void hri_aes_set_INTEN_GFMCMP_bit(const void *const hw) -{ - ((Aes *)hw)->INTENSET.reg = AES_INTENSET_GFMCMP; -} - -static inline bool hri_aes_get_INTEN_GFMCMP_bit(const void *const hw) -{ - return (((Aes *)hw)->INTENSET.reg & AES_INTENSET_GFMCMP) >> AES_INTENSET_GFMCMP_Pos; -} - -static inline void hri_aes_write_INTEN_GFMCMP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Aes *)hw)->INTENCLR.reg = AES_INTENSET_GFMCMP; - } else { - ((Aes *)hw)->INTENSET.reg = AES_INTENSET_GFMCMP; - } -} - -static inline void hri_aes_clear_INTEN_GFMCMP_bit(const void *const hw) -{ - ((Aes *)hw)->INTENCLR.reg = AES_INTENSET_GFMCMP; -} - -static inline void hri_aes_set_INTEN_reg(const void *const hw, hri_aes_intenset_reg_t mask) -{ - ((Aes *)hw)->INTENSET.reg = mask; -} - -static inline hri_aes_intenset_reg_t hri_aes_get_INTEN_reg(const void *const hw, hri_aes_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_aes_intenset_reg_t hri_aes_read_INTEN_reg(const void *const hw) -{ - return ((Aes *)hw)->INTENSET.reg; -} - -static inline void hri_aes_write_INTEN_reg(const void *const hw, hri_aes_intenset_reg_t data) -{ - ((Aes *)hw)->INTENSET.reg = data; - ((Aes *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_aes_clear_INTEN_reg(const void *const hw, hri_aes_intenset_reg_t mask) -{ - ((Aes *)hw)->INTENCLR.reg = mask; -} - -static inline void hri_aes_set_CTRLA_SWRST_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_SWRST; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_SWRST) >> AES_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_aes_set_CTRLA_ENABLE_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_ENABLE; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_ENABLE) >> AES_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_ENABLE; - tmp |= value << AES_CTRLA_ENABLE_Pos; - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_ENABLE; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_ENABLE; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLA_CIPHER_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_CIPHER; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLA_CIPHER_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_CIPHER) >> AES_CTRLA_CIPHER_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLA_CIPHER_bit(const void *const hw, bool value) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_CIPHER; - tmp |= value << AES_CTRLA_CIPHER_Pos; - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_CIPHER_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_CIPHER; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_CIPHER_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_CIPHER; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLA_STARTMODE_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_STARTMODE; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLA_STARTMODE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_STARTMODE) >> AES_CTRLA_STARTMODE_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLA_STARTMODE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_STARTMODE; - tmp |= value << AES_CTRLA_STARTMODE_Pos; - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_STARTMODE_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_STARTMODE; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_STARTMODE_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_STARTMODE; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLA_LOD_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_LOD; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLA_LOD_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_LOD) >> AES_CTRLA_LOD_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLA_LOD_bit(const void *const hw, bool value) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_LOD; - tmp |= value << AES_CTRLA_LOD_Pos; - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_LOD_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_LOD; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_LOD_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_LOD; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLA_KEYGEN_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_KEYGEN; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLA_KEYGEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_KEYGEN) >> AES_CTRLA_KEYGEN_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLA_KEYGEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_KEYGEN; - tmp |= value << AES_CTRLA_KEYGEN_Pos; - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_KEYGEN_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_KEYGEN; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_KEYGEN_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_KEYGEN; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLA_XORKEY_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_XORKEY; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLA_XORKEY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_XORKEY) >> AES_CTRLA_XORKEY_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLA_XORKEY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_XORKEY; - tmp |= value << AES_CTRLA_XORKEY_Pos; - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_XORKEY_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_XORKEY; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_XORKEY_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_XORKEY; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_AESMODE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_AESMODE(mask)) >> AES_CTRLA_AESMODE_Pos; - return tmp; -} - -static inline void hri_aes_write_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t data) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_AESMODE_Msk; - tmp |= AES_CTRLA_AESMODE(data); - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_AESMODE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_AESMODE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_AESMODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_AESMODE_Msk) >> AES_CTRLA_AESMODE_Pos; - return tmp; -} - -static inline void hri_aes_set_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_CFBS(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_CFBS(mask)) >> AES_CTRLA_CFBS_Pos; - return tmp; -} - -static inline void hri_aes_write_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t data) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_CFBS_Msk; - tmp |= AES_CTRLA_CFBS(data); - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_CFBS(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_CFBS(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_CFBS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_CFBS_Msk) >> AES_CTRLA_CFBS_Pos; - return tmp; -} - -static inline void hri_aes_set_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_KEYSIZE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_KEYSIZE(mask)) >> AES_CTRLA_KEYSIZE_Pos; - return tmp; -} - -static inline void hri_aes_write_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t data) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_KEYSIZE_Msk; - tmp |= AES_CTRLA_KEYSIZE(data); - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_KEYSIZE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_KEYSIZE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_KEYSIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_KEYSIZE_Msk) >> AES_CTRLA_KEYSIZE_Pos; - return tmp; -} - -static inline void hri_aes_set_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_CTYPE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_CTYPE(mask)) >> AES_CTRLA_CTYPE_Pos; - return tmp; -} - -static inline void hri_aes_write_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t data) -{ - uint32_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= ~AES_CTRLA_CTYPE_Msk; - tmp |= AES_CTRLA_CTYPE(data); - ((Aes *)hw)->CTRLA.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_CTYPE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_CTYPE(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_CTYPE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp = (tmp & AES_CTRLA_CTYPE_Msk) >> AES_CTRLA_CTYPE_Pos; - return tmp; -} - -static inline void hri_aes_set_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLA.reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_reg(const void *const hw) -{ - return ((Aes *)hw)->CTRLA.reg; -} - -static inline void hri_aes_set_CTRLB_START_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg |= AES_CTRLB_START; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLB_START_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->CTRLB.reg; - tmp = (tmp & AES_CTRLB_START) >> AES_CTRLB_START_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLB_START_bit(const void *const hw, bool value) -{ - uint8_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLB.reg; - tmp &= ~AES_CTRLB_START; - tmp |= value << AES_CTRLB_START_Pos; - ((Aes *)hw)->CTRLB.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLB_START_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg &= ~AES_CTRLB_START; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLB_START_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg ^= AES_CTRLB_START; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLB_NEWMSG_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg |= AES_CTRLB_NEWMSG; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLB_NEWMSG_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->CTRLB.reg; - tmp = (tmp & AES_CTRLB_NEWMSG) >> AES_CTRLB_NEWMSG_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLB_NEWMSG_bit(const void *const hw, bool value) -{ - uint8_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLB.reg; - tmp &= ~AES_CTRLB_NEWMSG; - tmp |= value << AES_CTRLB_NEWMSG_Pos; - ((Aes *)hw)->CTRLB.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLB_NEWMSG_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg &= ~AES_CTRLB_NEWMSG; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLB_NEWMSG_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg ^= AES_CTRLB_NEWMSG; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLB_EOM_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg |= AES_CTRLB_EOM; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLB_EOM_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->CTRLB.reg; - tmp = (tmp & AES_CTRLB_EOM) >> AES_CTRLB_EOM_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLB_EOM_bit(const void *const hw, bool value) -{ - uint8_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLB.reg; - tmp &= ~AES_CTRLB_EOM; - tmp |= value << AES_CTRLB_EOM_Pos; - ((Aes *)hw)->CTRLB.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLB_EOM_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg &= ~AES_CTRLB_EOM; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLB_EOM_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg ^= AES_CTRLB_EOM; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLB_GFMUL_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg |= AES_CTRLB_GFMUL; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_CTRLB_GFMUL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->CTRLB.reg; - tmp = (tmp & AES_CTRLB_GFMUL) >> AES_CTRLB_GFMUL_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_CTRLB_GFMUL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->CTRLB.reg; - tmp &= ~AES_CTRLB_GFMUL; - tmp |= value << AES_CTRLB_GFMUL_Pos; - ((Aes *)hw)->CTRLB.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLB_GFMUL_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg &= ~AES_CTRLB_GFMUL; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLB_GFMUL_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg ^= AES_CTRLB_GFMUL; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrlb_reg_t hri_aes_get_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t mask) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CTRLB.reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ctrlb_reg_t hri_aes_read_CTRLB_reg(const void *const hw) -{ - return ((Aes *)hw)->CTRLB.reg; -} - -static inline void hri_aes_set_DATABUFPTR_INDATAPTR_bf(const void *const hw, hri_aes_databufptr_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DATABUFPTR.reg |= AES_DATABUFPTR_INDATAPTR(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_databufptr_reg_t hri_aes_get_DATABUFPTR_INDATAPTR_bf(const void *const hw, - hri_aes_databufptr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->DATABUFPTR.reg; - tmp = (tmp & AES_DATABUFPTR_INDATAPTR(mask)) >> AES_DATABUFPTR_INDATAPTR_Pos; - return tmp; -} - -static inline void hri_aes_write_DATABUFPTR_INDATAPTR_bf(const void *const hw, hri_aes_databufptr_reg_t data) -{ - uint8_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->DATABUFPTR.reg; - tmp &= ~AES_DATABUFPTR_INDATAPTR_Msk; - tmp |= AES_DATABUFPTR_INDATAPTR(data); - ((Aes *)hw)->DATABUFPTR.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_DATABUFPTR_INDATAPTR_bf(const void *const hw, hri_aes_databufptr_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DATABUFPTR.reg &= ~AES_DATABUFPTR_INDATAPTR(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_DATABUFPTR_INDATAPTR_bf(const void *const hw, hri_aes_databufptr_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DATABUFPTR.reg ^= AES_DATABUFPTR_INDATAPTR(mask); - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_databufptr_reg_t hri_aes_read_DATABUFPTR_INDATAPTR_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->DATABUFPTR.reg; - tmp = (tmp & AES_DATABUFPTR_INDATAPTR_Msk) >> AES_DATABUFPTR_INDATAPTR_Pos; - return tmp; -} - -static inline void hri_aes_set_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DATABUFPTR.reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_databufptr_reg_t hri_aes_get_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->DATABUFPTR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DATABUFPTR.reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DATABUFPTR.reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DATABUFPTR.reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_databufptr_reg_t hri_aes_read_DATABUFPTR_reg(const void *const hw) -{ - return ((Aes *)hw)->DATABUFPTR.reg; -} - -static inline void hri_aes_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DBGCTRL.reg |= AES_DBGCTRL_DBGRUN; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_aes_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->DBGCTRL.reg; - tmp = (tmp & AES_DBGCTRL_DBGRUN) >> AES_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_aes_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - AES_CRITICAL_SECTION_ENTER(); - tmp = ((Aes *)hw)->DBGCTRL.reg; - tmp &= ~AES_DBGCTRL_DBGRUN; - tmp |= value << AES_DBGCTRL_DBGRUN_Pos; - ((Aes *)hw)->DBGCTRL.reg = tmp; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DBGCTRL.reg &= ~AES_DBGCTRL_DBGRUN; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DBGCTRL.reg ^= AES_DBGCTRL_DBGRUN; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_set_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DBGCTRL.reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_dbgctrl_reg_t hri_aes_get_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Aes *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DBGCTRL.reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DBGCTRL.reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->DBGCTRL.reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_dbgctrl_reg_t hri_aes_read_DBGCTRL_reg(const void *const hw) -{ - return ((Aes *)hw)->DBGCTRL.reg; -} - -static inline void hri_aes_set_INDATA_reg(const void *const hw, hri_aes_indata_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->INDATA.reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_indata_reg_t hri_aes_get_INDATA_reg(const void *const hw, hri_aes_indata_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->INDATA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_INDATA_reg(const void *const hw, hri_aes_indata_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->INDATA.reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_INDATA_reg(const void *const hw, hri_aes_indata_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->INDATA.reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_INDATA_reg(const void *const hw, hri_aes_indata_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->INDATA.reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_indata_reg_t hri_aes_read_INDATA_reg(const void *const hw) -{ - return ((Aes *)hw)->INDATA.reg; -} - -static inline void hri_aes_set_HASHKEY_reg(const void *const hw, uint8_t index, hri_aes_hashkey_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->HASHKEY[index].reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_hashkey_reg_t hri_aes_get_HASHKEY_reg(const void *const hw, uint8_t index, - hri_aes_hashkey_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->HASHKEY[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_HASHKEY_reg(const void *const hw, uint8_t index, hri_aes_hashkey_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->HASHKEY[index].reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_HASHKEY_reg(const void *const hw, uint8_t index, hri_aes_hashkey_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->HASHKEY[index].reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_HASHKEY_reg(const void *const hw, uint8_t index, hri_aes_hashkey_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->HASHKEY[index].reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_hashkey_reg_t hri_aes_read_HASHKEY_reg(const void *const hw, uint8_t index) -{ - return ((Aes *)hw)->HASHKEY[index].reg; -} - -static inline void hri_aes_set_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->GHASH[index].reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ghash_reg_t hri_aes_get_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->GHASH[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->GHASH[index].reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->GHASH[index].reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->GHASH[index].reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ghash_reg_t hri_aes_read_GHASH_reg(const void *const hw, uint8_t index) -{ - return ((Aes *)hw)->GHASH[index].reg; -} - -static inline void hri_aes_set_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CIPLEN.reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ciplen_reg_t hri_aes_get_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->CIPLEN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CIPLEN.reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CIPLEN.reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->CIPLEN.reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_ciplen_reg_t hri_aes_read_CIPLEN_reg(const void *const hw) -{ - return ((Aes *)hw)->CIPLEN.reg; -} - -static inline void hri_aes_set_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->RANDSEED.reg |= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_randseed_reg_t hri_aes_get_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t mask) -{ - uint32_t tmp; - tmp = ((Aes *)hw)->RANDSEED.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_aes_write_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->RANDSEED.reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_clear_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->RANDSEED.reg &= ~mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_toggle_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t mask) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->RANDSEED.reg ^= mask; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_aes_randseed_reg_t hri_aes_read_RANDSEED_reg(const void *const hw) -{ - return ((Aes *)hw)->RANDSEED.reg; -} - -static inline void hri_aes_write_KEYWORD_reg(const void *const hw, uint8_t index, hri_aes_keyword_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->KEYWORD[index].reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_aes_write_INTVECTV_reg(const void *const hw, uint8_t index, hri_aes_intvectv_reg_t data) -{ - AES_CRITICAL_SECTION_ENTER(); - ((Aes *)hw)->INTVECTV[index].reg = data; - AES_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_AES_E54_H_INCLUDED */ -#endif /* _SAME54_AES_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_can_e54.h b/software/firmware/oracle_same54n19a/hri/hri_can_e54.h deleted file mode 100644 index 2c02884..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_can_e54.h +++ /dev/null @@ -1,16997 +0,0 @@ -/** - * \file - * - * \brief SAM CAN - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_CAN_COMPONENT_ -#ifndef _HRI_CAN_E54_H_INCLUDED_ -#define _HRI_CAN_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_CAN_CRITICAL_SECTIONS) -#define CAN_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define CAN_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define CAN_CRITICAL_SECTION_ENTER() -#define CAN_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_can_cccr_reg_t; -typedef uint32_t hri_can_crel_reg_t; -typedef uint32_t hri_can_dbtp_reg_t; -typedef uint32_t hri_can_ecr_reg_t; -typedef uint32_t hri_can_endn_reg_t; -typedef uint32_t hri_can_gfc_reg_t; -typedef uint32_t hri_can_hpms_reg_t; -typedef uint32_t hri_can_ie_reg_t; -typedef uint32_t hri_can_ile_reg_t; -typedef uint32_t hri_can_ils_reg_t; -typedef uint32_t hri_can_ir_reg_t; -typedef uint32_t hri_can_mrcfg_reg_t; -typedef uint32_t hri_can_nbtp_reg_t; -typedef uint32_t hri_can_ndat1_reg_t; -typedef uint32_t hri_can_ndat2_reg_t; -typedef uint32_t hri_can_psr_reg_t; -typedef uint32_t hri_can_rwd_reg_t; -typedef uint32_t hri_can_rxbc_reg_t; -typedef uint32_t hri_can_rxesc_reg_t; -typedef uint32_t hri_can_rxf0a_reg_t; -typedef uint32_t hri_can_rxf0c_reg_t; -typedef uint32_t hri_can_rxf0s_reg_t; -typedef uint32_t hri_can_rxf1a_reg_t; -typedef uint32_t hri_can_rxf1c_reg_t; -typedef uint32_t hri_can_rxf1s_reg_t; -typedef uint32_t hri_can_sidfc_reg_t; -typedef uint32_t hri_can_tdcr_reg_t; -typedef uint32_t hri_can_test_reg_t; -typedef uint32_t hri_can_tocc_reg_t; -typedef uint32_t hri_can_tocv_reg_t; -typedef uint32_t hri_can_tscc_reg_t; -typedef uint32_t hri_can_tscv_reg_t; -typedef uint32_t hri_can_txbar_reg_t; -typedef uint32_t hri_can_txbc_reg_t; -typedef uint32_t hri_can_txbcf_reg_t; -typedef uint32_t hri_can_txbcie_reg_t; -typedef uint32_t hri_can_txbcr_reg_t; -typedef uint32_t hri_can_txbrp_reg_t; -typedef uint32_t hri_can_txbtie_reg_t; -typedef uint32_t hri_can_txbto_reg_t; -typedef uint32_t hri_can_txefa_reg_t; -typedef uint32_t hri_can_txefc_reg_t; -typedef uint32_t hri_can_txefs_reg_t; -typedef uint32_t hri_can_txesc_reg_t; -typedef uint32_t hri_can_txfqs_reg_t; -typedef uint32_t hri_can_xidam_reg_t; -typedef uint32_t hri_can_xidfc_reg_t; - -static inline hri_can_crel_reg_t hri_can_get_CREL_SUBSTEP_bf(const void *const hw, hri_can_crel_reg_t mask) -{ - return (((Can *)hw)->CREL.reg & CAN_CREL_SUBSTEP(mask)) >> CAN_CREL_SUBSTEP_Pos; -} - -static inline hri_can_crel_reg_t hri_can_read_CREL_SUBSTEP_bf(const void *const hw) -{ - return (((Can *)hw)->CREL.reg & CAN_CREL_SUBSTEP_Msk) >> CAN_CREL_SUBSTEP_Pos; -} - -static inline hri_can_crel_reg_t hri_can_get_CREL_STEP_bf(const void *const hw, hri_can_crel_reg_t mask) -{ - return (((Can *)hw)->CREL.reg & CAN_CREL_STEP(mask)) >> CAN_CREL_STEP_Pos; -} - -static inline hri_can_crel_reg_t hri_can_read_CREL_STEP_bf(const void *const hw) -{ - return (((Can *)hw)->CREL.reg & CAN_CREL_STEP_Msk) >> CAN_CREL_STEP_Pos; -} - -static inline hri_can_crel_reg_t hri_can_get_CREL_REL_bf(const void *const hw, hri_can_crel_reg_t mask) -{ - return (((Can *)hw)->CREL.reg & CAN_CREL_REL(mask)) >> CAN_CREL_REL_Pos; -} - -static inline hri_can_crel_reg_t hri_can_read_CREL_REL_bf(const void *const hw) -{ - return (((Can *)hw)->CREL.reg & CAN_CREL_REL_Msk) >> CAN_CREL_REL_Pos; -} - -static inline hri_can_crel_reg_t hri_can_get_CREL_reg(const void *const hw, hri_can_crel_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CREL.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_crel_reg_t hri_can_read_CREL_reg(const void *const hw) -{ - return ((Can *)hw)->CREL.reg; -} - -static inline hri_can_endn_reg_t hri_can_get_ENDN_ETV_bf(const void *const hw, hri_can_endn_reg_t mask) -{ - return (((Can *)hw)->ENDN.reg & CAN_ENDN_ETV(mask)) >> CAN_ENDN_ETV_Pos; -} - -static inline hri_can_endn_reg_t hri_can_read_ENDN_ETV_bf(const void *const hw) -{ - return (((Can *)hw)->ENDN.reg & CAN_ENDN_ETV_Msk) >> CAN_ENDN_ETV_Pos; -} - -static inline hri_can_endn_reg_t hri_can_get_ENDN_reg(const void *const hw, hri_can_endn_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ENDN.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_endn_reg_t hri_can_read_ENDN_reg(const void *const hw) -{ - return ((Can *)hw)->ENDN.reg; -} - -static inline hri_can_tscv_reg_t hri_can_get_TSCV_TSC_bf(const void *const hw, hri_can_tscv_reg_t mask) -{ - return (((Can *)hw)->TSCV.reg & CAN_TSCV_TSC(mask)) >> CAN_TSCV_TSC_Pos; -} - -static inline hri_can_tscv_reg_t hri_can_read_TSCV_TSC_bf(const void *const hw) -{ - return (((Can *)hw)->TSCV.reg & CAN_TSCV_TSC_Msk) >> CAN_TSCV_TSC_Pos; -} - -static inline hri_can_tscv_reg_t hri_can_get_TSCV_reg(const void *const hw, hri_can_tscv_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TSCV.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_tscv_reg_t hri_can_read_TSCV_reg(const void *const hw) -{ - return ((Can *)hw)->TSCV.reg; -} - -static inline bool hri_can_get_ECR_RP_bit(const void *const hw) -{ - return (((Can *)hw)->ECR.reg & CAN_ECR_RP) >> CAN_ECR_RP_Pos; -} - -static inline hri_can_ecr_reg_t hri_can_get_ECR_TEC_bf(const void *const hw, hri_can_ecr_reg_t mask) -{ - return (((Can *)hw)->ECR.reg & CAN_ECR_TEC(mask)) >> CAN_ECR_TEC_Pos; -} - -static inline hri_can_ecr_reg_t hri_can_read_ECR_TEC_bf(const void *const hw) -{ - return (((Can *)hw)->ECR.reg & CAN_ECR_TEC_Msk) >> CAN_ECR_TEC_Pos; -} - -static inline hri_can_ecr_reg_t hri_can_get_ECR_REC_bf(const void *const hw, hri_can_ecr_reg_t mask) -{ - return (((Can *)hw)->ECR.reg & CAN_ECR_REC(mask)) >> CAN_ECR_REC_Pos; -} - -static inline hri_can_ecr_reg_t hri_can_read_ECR_REC_bf(const void *const hw) -{ - return (((Can *)hw)->ECR.reg & CAN_ECR_REC_Msk) >> CAN_ECR_REC_Pos; -} - -static inline hri_can_ecr_reg_t hri_can_get_ECR_CEL_bf(const void *const hw, hri_can_ecr_reg_t mask) -{ - return (((Can *)hw)->ECR.reg & CAN_ECR_CEL(mask)) >> CAN_ECR_CEL_Pos; -} - -static inline hri_can_ecr_reg_t hri_can_read_ECR_CEL_bf(const void *const hw) -{ - return (((Can *)hw)->ECR.reg & CAN_ECR_CEL_Msk) >> CAN_ECR_CEL_Pos; -} - -static inline hri_can_ecr_reg_t hri_can_get_ECR_reg(const void *const hw, hri_can_ecr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ECR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_ecr_reg_t hri_can_read_ECR_reg(const void *const hw) -{ - return ((Can *)hw)->ECR.reg; -} - -static inline bool hri_can_get_PSR_EP_bit(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_EP) >> CAN_PSR_EP_Pos; -} - -static inline bool hri_can_get_PSR_EW_bit(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_EW) >> CAN_PSR_EW_Pos; -} - -static inline bool hri_can_get_PSR_BO_bit(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_BO) >> CAN_PSR_BO_Pos; -} - -static inline bool hri_can_get_PSR_RESI_bit(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_RESI) >> CAN_PSR_RESI_Pos; -} - -static inline bool hri_can_get_PSR_RBRS_bit(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_RBRS) >> CAN_PSR_RBRS_Pos; -} - -static inline bool hri_can_get_PSR_RFDF_bit(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_RFDF) >> CAN_PSR_RFDF_Pos; -} - -static inline bool hri_can_get_PSR_PXE_bit(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_PXE) >> CAN_PSR_PXE_Pos; -} - -static inline hri_can_psr_reg_t hri_can_get_PSR_LEC_bf(const void *const hw, hri_can_psr_reg_t mask) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_LEC(mask)) >> CAN_PSR_LEC_Pos; -} - -static inline hri_can_psr_reg_t hri_can_read_PSR_LEC_bf(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_LEC_Msk) >> CAN_PSR_LEC_Pos; -} - -static inline hri_can_psr_reg_t hri_can_get_PSR_ACT_bf(const void *const hw, hri_can_psr_reg_t mask) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_ACT(mask)) >> CAN_PSR_ACT_Pos; -} - -static inline hri_can_psr_reg_t hri_can_read_PSR_ACT_bf(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_ACT_Msk) >> CAN_PSR_ACT_Pos; -} - -static inline hri_can_psr_reg_t hri_can_get_PSR_DLEC_bf(const void *const hw, hri_can_psr_reg_t mask) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_DLEC(mask)) >> CAN_PSR_DLEC_Pos; -} - -static inline hri_can_psr_reg_t hri_can_read_PSR_DLEC_bf(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_DLEC_Msk) >> CAN_PSR_DLEC_Pos; -} - -static inline hri_can_psr_reg_t hri_can_get_PSR_TDCV_bf(const void *const hw, hri_can_psr_reg_t mask) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_TDCV(mask)) >> CAN_PSR_TDCV_Pos; -} - -static inline hri_can_psr_reg_t hri_can_read_PSR_TDCV_bf(const void *const hw) -{ - return (((Can *)hw)->PSR.reg & CAN_PSR_TDCV_Msk) >> CAN_PSR_TDCV_Pos; -} - -static inline hri_can_psr_reg_t hri_can_get_PSR_reg(const void *const hw, hri_can_psr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->PSR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_psr_reg_t hri_can_read_PSR_reg(const void *const hw) -{ - return ((Can *)hw)->PSR.reg; -} - -static inline bool hri_can_get_HPMS_FLST_bit(const void *const hw) -{ - return (((Can *)hw)->HPMS.reg & CAN_HPMS_FLST) >> CAN_HPMS_FLST_Pos; -} - -static inline hri_can_hpms_reg_t hri_can_get_HPMS_BIDX_bf(const void *const hw, hri_can_hpms_reg_t mask) -{ - return (((Can *)hw)->HPMS.reg & CAN_HPMS_BIDX(mask)) >> CAN_HPMS_BIDX_Pos; -} - -static inline hri_can_hpms_reg_t hri_can_read_HPMS_BIDX_bf(const void *const hw) -{ - return (((Can *)hw)->HPMS.reg & CAN_HPMS_BIDX_Msk) >> CAN_HPMS_BIDX_Pos; -} - -static inline hri_can_hpms_reg_t hri_can_get_HPMS_MSI_bf(const void *const hw, hri_can_hpms_reg_t mask) -{ - return (((Can *)hw)->HPMS.reg & CAN_HPMS_MSI(mask)) >> CAN_HPMS_MSI_Pos; -} - -static inline hri_can_hpms_reg_t hri_can_read_HPMS_MSI_bf(const void *const hw) -{ - return (((Can *)hw)->HPMS.reg & CAN_HPMS_MSI_Msk) >> CAN_HPMS_MSI_Pos; -} - -static inline hri_can_hpms_reg_t hri_can_get_HPMS_FIDX_bf(const void *const hw, hri_can_hpms_reg_t mask) -{ - return (((Can *)hw)->HPMS.reg & CAN_HPMS_FIDX(mask)) >> CAN_HPMS_FIDX_Pos; -} - -static inline hri_can_hpms_reg_t hri_can_read_HPMS_FIDX_bf(const void *const hw) -{ - return (((Can *)hw)->HPMS.reg & CAN_HPMS_FIDX_Msk) >> CAN_HPMS_FIDX_Pos; -} - -static inline hri_can_hpms_reg_t hri_can_get_HPMS_reg(const void *const hw, hri_can_hpms_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->HPMS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_hpms_reg_t hri_can_read_HPMS_reg(const void *const hw) -{ - return ((Can *)hw)->HPMS.reg; -} - -static inline bool hri_can_get_RXF0S_F0F_bit(const void *const hw) -{ - return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0F) >> CAN_RXF0S_F0F_Pos; -} - -static inline bool hri_can_get_RXF0S_RF0L_bit(const void *const hw) -{ - return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_RF0L) >> CAN_RXF0S_RF0L_Pos; -} - -static inline hri_can_rxf0s_reg_t hri_can_get_RXF0S_F0FL_bf(const void *const hw, hri_can_rxf0s_reg_t mask) -{ - return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0FL(mask)) >> CAN_RXF0S_F0FL_Pos; -} - -static inline hri_can_rxf0s_reg_t hri_can_read_RXF0S_F0FL_bf(const void *const hw) -{ - return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0FL_Msk) >> CAN_RXF0S_F0FL_Pos; -} - -static inline hri_can_rxf0s_reg_t hri_can_get_RXF0S_F0GI_bf(const void *const hw, hri_can_rxf0s_reg_t mask) -{ - return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0GI(mask)) >> CAN_RXF0S_F0GI_Pos; -} - -static inline hri_can_rxf0s_reg_t hri_can_read_RXF0S_F0GI_bf(const void *const hw) -{ - return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0GI_Msk) >> CAN_RXF0S_F0GI_Pos; -} - -static inline hri_can_rxf0s_reg_t hri_can_get_RXF0S_F0PI_bf(const void *const hw, hri_can_rxf0s_reg_t mask) -{ - return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0PI(mask)) >> CAN_RXF0S_F0PI_Pos; -} - -static inline hri_can_rxf0s_reg_t hri_can_read_RXF0S_F0PI_bf(const void *const hw) -{ - return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0PI_Msk) >> CAN_RXF0S_F0PI_Pos; -} - -static inline hri_can_rxf0s_reg_t hri_can_get_RXF0S_reg(const void *const hw, hri_can_rxf0s_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0S.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_rxf0s_reg_t hri_can_read_RXF0S_reg(const void *const hw) -{ - return ((Can *)hw)->RXF0S.reg; -} - -static inline bool hri_can_get_RXF1S_F1F_bit(const void *const hw) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1F) >> CAN_RXF1S_F1F_Pos; -} - -static inline bool hri_can_get_RXF1S_RF1L_bit(const void *const hw) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_RF1L) >> CAN_RXF1S_RF1L_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_F1FL_bf(const void *const hw, hri_can_rxf1s_reg_t mask) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1FL(mask)) >> CAN_RXF1S_F1FL_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_F1FL_bf(const void *const hw) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1FL_Msk) >> CAN_RXF1S_F1FL_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_F1GI_bf(const void *const hw, hri_can_rxf1s_reg_t mask) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1GI(mask)) >> CAN_RXF1S_F1GI_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_F1GI_bf(const void *const hw) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1GI_Msk) >> CAN_RXF1S_F1GI_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_F1PI_bf(const void *const hw, hri_can_rxf1s_reg_t mask) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1PI(mask)) >> CAN_RXF1S_F1PI_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_F1PI_bf(const void *const hw) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1PI_Msk) >> CAN_RXF1S_F1PI_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_DMS_bf(const void *const hw, hri_can_rxf1s_reg_t mask) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_DMS(mask)) >> CAN_RXF1S_DMS_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_DMS_bf(const void *const hw) -{ - return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_DMS_Msk) >> CAN_RXF1S_DMS_Pos; -} - -static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_reg(const void *const hw, hri_can_rxf1s_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1S.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_reg(const void *const hw) -{ - return ((Can *)hw)->RXF1S.reg; -} - -static inline bool hri_can_get_TXFQS_TFQF_bit(const void *const hw) -{ - return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFQF) >> CAN_TXFQS_TFQF_Pos; -} - -static inline hri_can_txfqs_reg_t hri_can_get_TXFQS_TFFL_bf(const void *const hw, hri_can_txfqs_reg_t mask) -{ - return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFFL(mask)) >> CAN_TXFQS_TFFL_Pos; -} - -static inline hri_can_txfqs_reg_t hri_can_read_TXFQS_TFFL_bf(const void *const hw) -{ - return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFFL_Msk) >> CAN_TXFQS_TFFL_Pos; -} - -static inline hri_can_txfqs_reg_t hri_can_get_TXFQS_TFGI_bf(const void *const hw, hri_can_txfqs_reg_t mask) -{ - return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFGI(mask)) >> CAN_TXFQS_TFGI_Pos; -} - -static inline hri_can_txfqs_reg_t hri_can_read_TXFQS_TFGI_bf(const void *const hw) -{ - return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFGI_Msk) >> CAN_TXFQS_TFGI_Pos; -} - -static inline hri_can_txfqs_reg_t hri_can_get_TXFQS_TFQPI_bf(const void *const hw, hri_can_txfqs_reg_t mask) -{ - return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFQPI(mask)) >> CAN_TXFQS_TFQPI_Pos; -} - -static inline hri_can_txfqs_reg_t hri_can_read_TXFQS_TFQPI_bf(const void *const hw) -{ - return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFQPI_Msk) >> CAN_TXFQS_TFQPI_Pos; -} - -static inline hri_can_txfqs_reg_t hri_can_get_TXFQS_reg(const void *const hw, hri_can_txfqs_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXFQS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_txfqs_reg_t hri_can_read_TXFQS_reg(const void *const hw) -{ - return ((Can *)hw)->TXFQS.reg; -} - -static inline bool hri_can_get_TXBRP_TRP0_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP0) >> CAN_TXBRP_TRP0_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP1_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP1) >> CAN_TXBRP_TRP1_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP2_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP2) >> CAN_TXBRP_TRP2_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP3_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP3) >> CAN_TXBRP_TRP3_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP4_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP4) >> CAN_TXBRP_TRP4_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP5_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP5) >> CAN_TXBRP_TRP5_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP6_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP6) >> CAN_TXBRP_TRP6_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP7_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP7) >> CAN_TXBRP_TRP7_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP8_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP8) >> CAN_TXBRP_TRP8_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP9_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP9) >> CAN_TXBRP_TRP9_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP10_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP10) >> CAN_TXBRP_TRP10_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP11_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP11) >> CAN_TXBRP_TRP11_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP12_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP12) >> CAN_TXBRP_TRP12_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP13_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP13) >> CAN_TXBRP_TRP13_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP14_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP14) >> CAN_TXBRP_TRP14_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP15_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP15) >> CAN_TXBRP_TRP15_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP16_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP16) >> CAN_TXBRP_TRP16_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP17_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP17) >> CAN_TXBRP_TRP17_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP18_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP18) >> CAN_TXBRP_TRP18_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP19_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP19) >> CAN_TXBRP_TRP19_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP20_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP20) >> CAN_TXBRP_TRP20_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP21_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP21) >> CAN_TXBRP_TRP21_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP22_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP22) >> CAN_TXBRP_TRP22_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP23_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP23) >> CAN_TXBRP_TRP23_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP24_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP24) >> CAN_TXBRP_TRP24_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP25_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP25) >> CAN_TXBRP_TRP25_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP26_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP26) >> CAN_TXBRP_TRP26_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP27_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP27) >> CAN_TXBRP_TRP27_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP28_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP28) >> CAN_TXBRP_TRP28_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP29_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP29) >> CAN_TXBRP_TRP29_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP30_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP30) >> CAN_TXBRP_TRP30_Pos; -} - -static inline bool hri_can_get_TXBRP_TRP31_bit(const void *const hw) -{ - return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP31) >> CAN_TXBRP_TRP31_Pos; -} - -static inline hri_can_txbrp_reg_t hri_can_get_TXBRP_reg(const void *const hw, hri_can_txbrp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBRP.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_txbrp_reg_t hri_can_read_TXBRP_reg(const void *const hw) -{ - return ((Can *)hw)->TXBRP.reg; -} - -static inline bool hri_can_get_TXBTO_TO0_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO0) >> CAN_TXBTO_TO0_Pos; -} - -static inline bool hri_can_get_TXBTO_TO1_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO1) >> CAN_TXBTO_TO1_Pos; -} - -static inline bool hri_can_get_TXBTO_TO2_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO2) >> CAN_TXBTO_TO2_Pos; -} - -static inline bool hri_can_get_TXBTO_TO3_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO3) >> CAN_TXBTO_TO3_Pos; -} - -static inline bool hri_can_get_TXBTO_TO4_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO4) >> CAN_TXBTO_TO4_Pos; -} - -static inline bool hri_can_get_TXBTO_TO5_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO5) >> CAN_TXBTO_TO5_Pos; -} - -static inline bool hri_can_get_TXBTO_TO6_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO6) >> CAN_TXBTO_TO6_Pos; -} - -static inline bool hri_can_get_TXBTO_TO7_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO7) >> CAN_TXBTO_TO7_Pos; -} - -static inline bool hri_can_get_TXBTO_TO8_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO8) >> CAN_TXBTO_TO8_Pos; -} - -static inline bool hri_can_get_TXBTO_TO9_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO9) >> CAN_TXBTO_TO9_Pos; -} - -static inline bool hri_can_get_TXBTO_TO10_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO10) >> CAN_TXBTO_TO10_Pos; -} - -static inline bool hri_can_get_TXBTO_TO11_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO11) >> CAN_TXBTO_TO11_Pos; -} - -static inline bool hri_can_get_TXBTO_TO12_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO12) >> CAN_TXBTO_TO12_Pos; -} - -static inline bool hri_can_get_TXBTO_TO13_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO13) >> CAN_TXBTO_TO13_Pos; -} - -static inline bool hri_can_get_TXBTO_TO14_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO14) >> CAN_TXBTO_TO14_Pos; -} - -static inline bool hri_can_get_TXBTO_TO15_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO15) >> CAN_TXBTO_TO15_Pos; -} - -static inline bool hri_can_get_TXBTO_TO16_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO16) >> CAN_TXBTO_TO16_Pos; -} - -static inline bool hri_can_get_TXBTO_TO17_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO17) >> CAN_TXBTO_TO17_Pos; -} - -static inline bool hri_can_get_TXBTO_TO18_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO18) >> CAN_TXBTO_TO18_Pos; -} - -static inline bool hri_can_get_TXBTO_TO19_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO19) >> CAN_TXBTO_TO19_Pos; -} - -static inline bool hri_can_get_TXBTO_TO20_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO20) >> CAN_TXBTO_TO20_Pos; -} - -static inline bool hri_can_get_TXBTO_TO21_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO21) >> CAN_TXBTO_TO21_Pos; -} - -static inline bool hri_can_get_TXBTO_TO22_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO22) >> CAN_TXBTO_TO22_Pos; -} - -static inline bool hri_can_get_TXBTO_TO23_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO23) >> CAN_TXBTO_TO23_Pos; -} - -static inline bool hri_can_get_TXBTO_TO24_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO24) >> CAN_TXBTO_TO24_Pos; -} - -static inline bool hri_can_get_TXBTO_TO25_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO25) >> CAN_TXBTO_TO25_Pos; -} - -static inline bool hri_can_get_TXBTO_TO26_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO26) >> CAN_TXBTO_TO26_Pos; -} - -static inline bool hri_can_get_TXBTO_TO27_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO27) >> CAN_TXBTO_TO27_Pos; -} - -static inline bool hri_can_get_TXBTO_TO28_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO28) >> CAN_TXBTO_TO28_Pos; -} - -static inline bool hri_can_get_TXBTO_TO29_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO29) >> CAN_TXBTO_TO29_Pos; -} - -static inline bool hri_can_get_TXBTO_TO30_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO30) >> CAN_TXBTO_TO30_Pos; -} - -static inline bool hri_can_get_TXBTO_TO31_bit(const void *const hw) -{ - return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO31) >> CAN_TXBTO_TO31_Pos; -} - -static inline hri_can_txbto_reg_t hri_can_get_TXBTO_reg(const void *const hw, hri_can_txbto_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTO.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_txbto_reg_t hri_can_read_TXBTO_reg(const void *const hw) -{ - return ((Can *)hw)->TXBTO.reg; -} - -static inline bool hri_can_get_TXBCF_CF0_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF0) >> CAN_TXBCF_CF0_Pos; -} - -static inline bool hri_can_get_TXBCF_CF1_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF1) >> CAN_TXBCF_CF1_Pos; -} - -static inline bool hri_can_get_TXBCF_CF2_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF2) >> CAN_TXBCF_CF2_Pos; -} - -static inline bool hri_can_get_TXBCF_CF3_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF3) >> CAN_TXBCF_CF3_Pos; -} - -static inline bool hri_can_get_TXBCF_CF4_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF4) >> CAN_TXBCF_CF4_Pos; -} - -static inline bool hri_can_get_TXBCF_CF5_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF5) >> CAN_TXBCF_CF5_Pos; -} - -static inline bool hri_can_get_TXBCF_CF6_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF6) >> CAN_TXBCF_CF6_Pos; -} - -static inline bool hri_can_get_TXBCF_CF7_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF7) >> CAN_TXBCF_CF7_Pos; -} - -static inline bool hri_can_get_TXBCF_CF8_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF8) >> CAN_TXBCF_CF8_Pos; -} - -static inline bool hri_can_get_TXBCF_CF9_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF9) >> CAN_TXBCF_CF9_Pos; -} - -static inline bool hri_can_get_TXBCF_CF10_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF10) >> CAN_TXBCF_CF10_Pos; -} - -static inline bool hri_can_get_TXBCF_CF11_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF11) >> CAN_TXBCF_CF11_Pos; -} - -static inline bool hri_can_get_TXBCF_CF12_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF12) >> CAN_TXBCF_CF12_Pos; -} - -static inline bool hri_can_get_TXBCF_CF13_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF13) >> CAN_TXBCF_CF13_Pos; -} - -static inline bool hri_can_get_TXBCF_CF14_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF14) >> CAN_TXBCF_CF14_Pos; -} - -static inline bool hri_can_get_TXBCF_CF15_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF15) >> CAN_TXBCF_CF15_Pos; -} - -static inline bool hri_can_get_TXBCF_CF16_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF16) >> CAN_TXBCF_CF16_Pos; -} - -static inline bool hri_can_get_TXBCF_CF17_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF17) >> CAN_TXBCF_CF17_Pos; -} - -static inline bool hri_can_get_TXBCF_CF18_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF18) >> CAN_TXBCF_CF18_Pos; -} - -static inline bool hri_can_get_TXBCF_CF19_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF19) >> CAN_TXBCF_CF19_Pos; -} - -static inline bool hri_can_get_TXBCF_CF20_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF20) >> CAN_TXBCF_CF20_Pos; -} - -static inline bool hri_can_get_TXBCF_CF21_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF21) >> CAN_TXBCF_CF21_Pos; -} - -static inline bool hri_can_get_TXBCF_CF22_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF22) >> CAN_TXBCF_CF22_Pos; -} - -static inline bool hri_can_get_TXBCF_CF23_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF23) >> CAN_TXBCF_CF23_Pos; -} - -static inline bool hri_can_get_TXBCF_CF24_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF24) >> CAN_TXBCF_CF24_Pos; -} - -static inline bool hri_can_get_TXBCF_CF25_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF25) >> CAN_TXBCF_CF25_Pos; -} - -static inline bool hri_can_get_TXBCF_CF26_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF26) >> CAN_TXBCF_CF26_Pos; -} - -static inline bool hri_can_get_TXBCF_CF27_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF27) >> CAN_TXBCF_CF27_Pos; -} - -static inline bool hri_can_get_TXBCF_CF28_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF28) >> CAN_TXBCF_CF28_Pos; -} - -static inline bool hri_can_get_TXBCF_CF29_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF29) >> CAN_TXBCF_CF29_Pos; -} - -static inline bool hri_can_get_TXBCF_CF30_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF30) >> CAN_TXBCF_CF30_Pos; -} - -static inline bool hri_can_get_TXBCF_CF31_bit(const void *const hw) -{ - return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF31) >> CAN_TXBCF_CF31_Pos; -} - -static inline hri_can_txbcf_reg_t hri_can_get_TXBCF_reg(const void *const hw, hri_can_txbcf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCF.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_txbcf_reg_t hri_can_read_TXBCF_reg(const void *const hw) -{ - return ((Can *)hw)->TXBCF.reg; -} - -static inline bool hri_can_get_TXEFS_EFF_bit(const void *const hw) -{ - return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFF) >> CAN_TXEFS_EFF_Pos; -} - -static inline bool hri_can_get_TXEFS_TEFL_bit(const void *const hw) -{ - return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_TEFL) >> CAN_TXEFS_TEFL_Pos; -} - -static inline hri_can_txefs_reg_t hri_can_get_TXEFS_EFFL_bf(const void *const hw, hri_can_txefs_reg_t mask) -{ - return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFFL(mask)) >> CAN_TXEFS_EFFL_Pos; -} - -static inline hri_can_txefs_reg_t hri_can_read_TXEFS_EFFL_bf(const void *const hw) -{ - return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFFL_Msk) >> CAN_TXEFS_EFFL_Pos; -} - -static inline hri_can_txefs_reg_t hri_can_get_TXEFS_EFGI_bf(const void *const hw, hri_can_txefs_reg_t mask) -{ - return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFGI(mask)) >> CAN_TXEFS_EFGI_Pos; -} - -static inline hri_can_txefs_reg_t hri_can_read_TXEFS_EFGI_bf(const void *const hw) -{ - return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFGI_Msk) >> CAN_TXEFS_EFGI_Pos; -} - -static inline hri_can_txefs_reg_t hri_can_get_TXEFS_EFPI_bf(const void *const hw, hri_can_txefs_reg_t mask) -{ - return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFPI(mask)) >> CAN_TXEFS_EFPI_Pos; -} - -static inline hri_can_txefs_reg_t hri_can_read_TXEFS_EFPI_bf(const void *const hw) -{ - return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFPI_Msk) >> CAN_TXEFS_EFPI_Pos; -} - -static inline hri_can_txefs_reg_t hri_can_get_TXEFS_reg(const void *const hw, hri_can_txefs_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_can_txefs_reg_t hri_can_read_TXEFS_reg(const void *const hw) -{ - return ((Can *)hw)->TXEFS.reg; -} - -static inline void hri_can_set_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->MRCFG.reg |= CAN_MRCFG_QOS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_mrcfg_reg_t hri_can_get_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->MRCFG.reg; - tmp = (tmp & CAN_MRCFG_QOS(mask)) >> CAN_MRCFG_QOS_Pos; - return tmp; -} - -static inline void hri_can_write_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->MRCFG.reg; - tmp &= ~CAN_MRCFG_QOS_Msk; - tmp |= CAN_MRCFG_QOS(data); - ((Can *)hw)->MRCFG.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->MRCFG.reg &= ~CAN_MRCFG_QOS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->MRCFG.reg ^= CAN_MRCFG_QOS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_mrcfg_reg_t hri_can_read_MRCFG_QOS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->MRCFG.reg; - tmp = (tmp & CAN_MRCFG_QOS_Msk) >> CAN_MRCFG_QOS_Pos; - return tmp; -} - -static inline void hri_can_set_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->MRCFG.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_mrcfg_reg_t hri_can_get_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->MRCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->MRCFG.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->MRCFG.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->MRCFG.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_mrcfg_reg_t hri_can_read_MRCFG_reg(const void *const hw) -{ - return ((Can *)hw)->MRCFG.reg; -} - -static inline void hri_can_set_DBTP_TDC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg |= CAN_DBTP_TDC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_DBTP_TDC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_TDC) >> CAN_DBTP_TDC_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_DBTP_TDC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->DBTP.reg; - tmp &= ~CAN_DBTP_TDC; - tmp |= value << CAN_DBTP_TDC_Pos; - ((Can *)hw)->DBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_DBTP_TDC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_TDC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_DBTP_TDC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg ^= CAN_DBTP_TDC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg |= CAN_DBTP_DSJW(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_get_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_DSJW(mask)) >> CAN_DBTP_DSJW_Pos; - return tmp; -} - -static inline void hri_can_write_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->DBTP.reg; - tmp &= ~CAN_DBTP_DSJW_Msk; - tmp |= CAN_DBTP_DSJW(data); - ((Can *)hw)->DBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_DSJW(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg ^= CAN_DBTP_DSJW(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_read_DBTP_DSJW_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_DSJW_Msk) >> CAN_DBTP_DSJW_Pos; - return tmp; -} - -static inline void hri_can_set_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg |= CAN_DBTP_DTSEG2(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_get_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_DTSEG2(mask)) >> CAN_DBTP_DTSEG2_Pos; - return tmp; -} - -static inline void hri_can_write_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->DBTP.reg; - tmp &= ~CAN_DBTP_DTSEG2_Msk; - tmp |= CAN_DBTP_DTSEG2(data); - ((Can *)hw)->DBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_DTSEG2(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg ^= CAN_DBTP_DTSEG2(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_read_DBTP_DTSEG2_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_DTSEG2_Msk) >> CAN_DBTP_DTSEG2_Pos; - return tmp; -} - -static inline void hri_can_set_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg |= CAN_DBTP_DTSEG1(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_get_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_DTSEG1(mask)) >> CAN_DBTP_DTSEG1_Pos; - return tmp; -} - -static inline void hri_can_write_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->DBTP.reg; - tmp &= ~CAN_DBTP_DTSEG1_Msk; - tmp |= CAN_DBTP_DTSEG1(data); - ((Can *)hw)->DBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_DTSEG1(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg ^= CAN_DBTP_DTSEG1(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_read_DBTP_DTSEG1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_DTSEG1_Msk) >> CAN_DBTP_DTSEG1_Pos; - return tmp; -} - -static inline void hri_can_set_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg |= CAN_DBTP_DBRP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_get_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_DBRP(mask)) >> CAN_DBTP_DBRP_Pos; - return tmp; -} - -static inline void hri_can_write_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->DBTP.reg; - tmp &= ~CAN_DBTP_DBRP_Msk; - tmp |= CAN_DBTP_DBRP(data); - ((Can *)hw)->DBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_DBRP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg ^= CAN_DBTP_DBRP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_read_DBTP_DBRP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp = (tmp & CAN_DBTP_DBRP_Msk) >> CAN_DBTP_DBRP_Pos; - return tmp; -} - -static inline void hri_can_set_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_get_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->DBTP.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->DBTP.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_dbtp_reg_t hri_can_read_DBTP_reg(const void *const hw) -{ - return ((Can *)hw)->DBTP.reg; -} - -static inline void hri_can_set_TEST_LBCK_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg |= CAN_TEST_LBCK; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TEST_LBCK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TEST.reg; - tmp = (tmp & CAN_TEST_LBCK) >> CAN_TEST_LBCK_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TEST_LBCK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TEST.reg; - tmp &= ~CAN_TEST_LBCK; - tmp |= value << CAN_TEST_LBCK_Pos; - ((Can *)hw)->TEST.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TEST_LBCK_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg &= ~CAN_TEST_LBCK; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TEST_LBCK_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg ^= CAN_TEST_LBCK; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TEST_RX_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg |= CAN_TEST_RX; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TEST_RX_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TEST.reg; - tmp = (tmp & CAN_TEST_RX) >> CAN_TEST_RX_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TEST_RX_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TEST.reg; - tmp &= ~CAN_TEST_RX; - tmp |= value << CAN_TEST_RX_Pos; - ((Can *)hw)->TEST.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TEST_RX_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg &= ~CAN_TEST_RX; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TEST_RX_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg ^= CAN_TEST_RX; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TEST_TX_bf(const void *const hw, hri_can_test_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg |= CAN_TEST_TX(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_test_reg_t hri_can_get_TEST_TX_bf(const void *const hw, hri_can_test_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TEST.reg; - tmp = (tmp & CAN_TEST_TX(mask)) >> CAN_TEST_TX_Pos; - return tmp; -} - -static inline void hri_can_write_TEST_TX_bf(const void *const hw, hri_can_test_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TEST.reg; - tmp &= ~CAN_TEST_TX_Msk; - tmp |= CAN_TEST_TX(data); - ((Can *)hw)->TEST.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TEST_TX_bf(const void *const hw, hri_can_test_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg &= ~CAN_TEST_TX(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TEST_TX_bf(const void *const hw, hri_can_test_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg ^= CAN_TEST_TX(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_test_reg_t hri_can_read_TEST_TX_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TEST.reg; - tmp = (tmp & CAN_TEST_TX_Msk) >> CAN_TEST_TX_Pos; - return tmp; -} - -static inline void hri_can_set_TEST_reg(const void *const hw, hri_can_test_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_test_reg_t hri_can_get_TEST_reg(const void *const hw, hri_can_test_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TEST.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TEST_reg(const void *const hw, hri_can_test_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TEST_reg(const void *const hw, hri_can_test_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TEST_reg(const void *const hw, hri_can_test_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TEST.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_test_reg_t hri_can_read_TEST_reg(const void *const hw) -{ - return ((Can *)hw)->TEST.reg; -} - -static inline void hri_can_set_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg |= CAN_RWD_WDC(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rwd_reg_t hri_can_get_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RWD.reg; - tmp = (tmp & CAN_RWD_WDC(mask)) >> CAN_RWD_WDC_Pos; - return tmp; -} - -static inline void hri_can_write_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RWD.reg; - tmp &= ~CAN_RWD_WDC_Msk; - tmp |= CAN_RWD_WDC(data); - ((Can *)hw)->RWD.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg &= ~CAN_RWD_WDC(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg ^= CAN_RWD_WDC(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rwd_reg_t hri_can_read_RWD_WDC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RWD.reg; - tmp = (tmp & CAN_RWD_WDC_Msk) >> CAN_RWD_WDC_Pos; - return tmp; -} - -static inline void hri_can_set_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg |= CAN_RWD_WDV(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rwd_reg_t hri_can_get_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RWD.reg; - tmp = (tmp & CAN_RWD_WDV(mask)) >> CAN_RWD_WDV_Pos; - return tmp; -} - -static inline void hri_can_write_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RWD.reg; - tmp &= ~CAN_RWD_WDV_Msk; - tmp |= CAN_RWD_WDV(data); - ((Can *)hw)->RWD.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg &= ~CAN_RWD_WDV(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg ^= CAN_RWD_WDV(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rwd_reg_t hri_can_read_RWD_WDV_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RWD.reg; - tmp = (tmp & CAN_RWD_WDV_Msk) >> CAN_RWD_WDV_Pos; - return tmp; -} - -static inline void hri_can_set_RWD_reg(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rwd_reg_t hri_can_get_RWD_reg(const void *const hw, hri_can_rwd_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RWD.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_RWD_reg(const void *const hw, hri_can_rwd_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RWD_reg(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RWD_reg(const void *const hw, hri_can_rwd_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RWD.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rwd_reg_t hri_can_read_RWD_reg(const void *const hw) -{ - return ((Can *)hw)->RWD.reg; -} - -static inline void hri_can_set_CCCR_INIT_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_INIT; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_INIT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_INIT) >> CAN_CCCR_INIT_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_INIT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_INIT; - tmp |= value << CAN_CCCR_INIT_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_INIT_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_INIT; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_INIT_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_INIT; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_CCE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_CCE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_CCE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_CCE) >> CAN_CCCR_CCE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_CCE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_CCE; - tmp |= value << CAN_CCCR_CCE_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_CCE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_CCE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_CCE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_CCE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_ASM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_ASM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_ASM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_ASM) >> CAN_CCCR_ASM_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_ASM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_ASM; - tmp |= value << CAN_CCCR_ASM_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_ASM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_ASM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_ASM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_ASM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_CSA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_CSA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_CSA_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_CSA) >> CAN_CCCR_CSA_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_CSA_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_CSA; - tmp |= value << CAN_CCCR_CSA_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_CSA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_CSA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_CSA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_CSA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_CSR_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_CSR; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_CSR_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_CSR) >> CAN_CCCR_CSR_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_CSR_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_CSR; - tmp |= value << CAN_CCCR_CSR_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_CSR_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_CSR; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_CSR_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_CSR; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_MON_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_MON; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_MON_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_MON) >> CAN_CCCR_MON_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_MON_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_MON; - tmp |= value << CAN_CCCR_MON_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_MON_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_MON; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_MON_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_MON; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_DAR_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_DAR; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_DAR_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_DAR) >> CAN_CCCR_DAR_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_DAR_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_DAR; - tmp |= value << CAN_CCCR_DAR_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_DAR_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_DAR; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_DAR_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_DAR; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_TEST_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_TEST; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_TEST_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_TEST) >> CAN_CCCR_TEST_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_TEST_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_TEST; - tmp |= value << CAN_CCCR_TEST_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_TEST_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_TEST; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_TEST_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_TEST; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_FDOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_FDOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_FDOE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_FDOE) >> CAN_CCCR_FDOE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_FDOE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_FDOE; - tmp |= value << CAN_CCCR_FDOE_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_FDOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_FDOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_FDOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_FDOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_BRSE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_BRSE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_BRSE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_BRSE) >> CAN_CCCR_BRSE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_BRSE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_BRSE; - tmp |= value << CAN_CCCR_BRSE_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_BRSE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_BRSE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_BRSE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_BRSE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_PXHD_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_PXHD; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_PXHD_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_PXHD) >> CAN_CCCR_PXHD_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_PXHD_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_PXHD; - tmp |= value << CAN_CCCR_PXHD_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_PXHD_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_PXHD; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_PXHD_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_PXHD; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_EFBI_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_EFBI; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_EFBI_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_EFBI) >> CAN_CCCR_EFBI_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_EFBI_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_EFBI; - tmp |= value << CAN_CCCR_EFBI_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_EFBI_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_EFBI; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_EFBI_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_EFBI; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_TXP_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_TXP; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_TXP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_TXP) >> CAN_CCCR_TXP_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_TXP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_TXP; - tmp |= value << CAN_CCCR_TXP_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_TXP_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_TXP; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_TXP_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_TXP; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_NISO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= CAN_CCCR_NISO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_CCCR_NISO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp = (tmp & CAN_CCCR_NISO) >> CAN_CCCR_NISO_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_CCCR_NISO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->CCCR.reg; - tmp &= ~CAN_CCCR_NISO; - tmp |= value << CAN_CCCR_NISO_Pos; - ((Can *)hw)->CCCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_NISO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_NISO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_NISO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= CAN_CCCR_NISO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_CCCR_reg(const void *const hw, hri_can_cccr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_cccr_reg_t hri_can_get_CCCR_reg(const void *const hw, hri_can_cccr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->CCCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_CCCR_reg(const void *const hw, hri_can_cccr_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_CCCR_reg(const void *const hw, hri_can_cccr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_CCCR_reg(const void *const hw, hri_can_cccr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->CCCR.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_cccr_reg_t hri_can_read_CCCR_reg(const void *const hw) -{ - return ((Can *)hw)->CCCR.reg; -} - -static inline void hri_can_set_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg |= CAN_NBTP_NTSEG2(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_get_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp = (tmp & CAN_NBTP_NTSEG2(mask)) >> CAN_NBTP_NTSEG2_Pos; - return tmp; -} - -static inline void hri_can_write_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NBTP.reg; - tmp &= ~CAN_NBTP_NTSEG2_Msk; - tmp |= CAN_NBTP_NTSEG2(data); - ((Can *)hw)->NBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg &= ~CAN_NBTP_NTSEG2(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg ^= CAN_NBTP_NTSEG2(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_read_NBTP_NTSEG2_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp = (tmp & CAN_NBTP_NTSEG2_Msk) >> CAN_NBTP_NTSEG2_Pos; - return tmp; -} - -static inline void hri_can_set_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg |= CAN_NBTP_NTSEG1(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_get_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp = (tmp & CAN_NBTP_NTSEG1(mask)) >> CAN_NBTP_NTSEG1_Pos; - return tmp; -} - -static inline void hri_can_write_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NBTP.reg; - tmp &= ~CAN_NBTP_NTSEG1_Msk; - tmp |= CAN_NBTP_NTSEG1(data); - ((Can *)hw)->NBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg &= ~CAN_NBTP_NTSEG1(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg ^= CAN_NBTP_NTSEG1(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_read_NBTP_NTSEG1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp = (tmp & CAN_NBTP_NTSEG1_Msk) >> CAN_NBTP_NTSEG1_Pos; - return tmp; -} - -static inline void hri_can_set_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg |= CAN_NBTP_NBRP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_get_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp = (tmp & CAN_NBTP_NBRP(mask)) >> CAN_NBTP_NBRP_Pos; - return tmp; -} - -static inline void hri_can_write_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NBTP.reg; - tmp &= ~CAN_NBTP_NBRP_Msk; - tmp |= CAN_NBTP_NBRP(data); - ((Can *)hw)->NBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg &= ~CAN_NBTP_NBRP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg ^= CAN_NBTP_NBRP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_read_NBTP_NBRP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp = (tmp & CAN_NBTP_NBRP_Msk) >> CAN_NBTP_NBRP_Pos; - return tmp; -} - -static inline void hri_can_set_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg |= CAN_NBTP_NSJW(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_get_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp = (tmp & CAN_NBTP_NSJW(mask)) >> CAN_NBTP_NSJW_Pos; - return tmp; -} - -static inline void hri_can_write_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NBTP.reg; - tmp &= ~CAN_NBTP_NSJW_Msk; - tmp |= CAN_NBTP_NSJW(data); - ((Can *)hw)->NBTP.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg &= ~CAN_NBTP_NSJW(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg ^= CAN_NBTP_NSJW(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_read_NBTP_NSJW_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp = (tmp & CAN_NBTP_NSJW_Msk) >> CAN_NBTP_NSJW_Pos; - return tmp; -} - -static inline void hri_can_set_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_get_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NBTP.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NBTP.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_nbtp_reg_t hri_can_read_NBTP_reg(const void *const hw) -{ - return ((Can *)hw)->NBTP.reg; -} - -static inline void hri_can_set_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg |= CAN_TSCC_TSS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tscc_reg_t hri_can_get_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TSCC.reg; - tmp = (tmp & CAN_TSCC_TSS(mask)) >> CAN_TSCC_TSS_Pos; - return tmp; -} - -static inline void hri_can_write_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TSCC.reg; - tmp &= ~CAN_TSCC_TSS_Msk; - tmp |= CAN_TSCC_TSS(data); - ((Can *)hw)->TSCC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg &= ~CAN_TSCC_TSS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg ^= CAN_TSCC_TSS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tscc_reg_t hri_can_read_TSCC_TSS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TSCC.reg; - tmp = (tmp & CAN_TSCC_TSS_Msk) >> CAN_TSCC_TSS_Pos; - return tmp; -} - -static inline void hri_can_set_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg |= CAN_TSCC_TCP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tscc_reg_t hri_can_get_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TSCC.reg; - tmp = (tmp & CAN_TSCC_TCP(mask)) >> CAN_TSCC_TCP_Pos; - return tmp; -} - -static inline void hri_can_write_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TSCC.reg; - tmp &= ~CAN_TSCC_TCP_Msk; - tmp |= CAN_TSCC_TCP(data); - ((Can *)hw)->TSCC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg &= ~CAN_TSCC_TCP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg ^= CAN_TSCC_TCP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tscc_reg_t hri_can_read_TSCC_TCP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TSCC.reg; - tmp = (tmp & CAN_TSCC_TCP_Msk) >> CAN_TSCC_TCP_Pos; - return tmp; -} - -static inline void hri_can_set_TSCC_reg(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tscc_reg_t hri_can_get_TSCC_reg(const void *const hw, hri_can_tscc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TSCC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TSCC_reg(const void *const hw, hri_can_tscc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TSCC_reg(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TSCC_reg(const void *const hw, hri_can_tscc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TSCC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tscc_reg_t hri_can_read_TSCC_reg(const void *const hw) -{ - return ((Can *)hw)->TSCC.reg; -} - -static inline void hri_can_set_TOCC_ETOC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg |= CAN_TOCC_ETOC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TOCC_ETOC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCC.reg; - tmp = (tmp & CAN_TOCC_ETOC) >> CAN_TOCC_ETOC_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TOCC_ETOC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TOCC.reg; - tmp &= ~CAN_TOCC_ETOC; - tmp |= value << CAN_TOCC_ETOC_Pos; - ((Can *)hw)->TOCC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TOCC_ETOC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg &= ~CAN_TOCC_ETOC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TOCC_ETOC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg ^= CAN_TOCC_ETOC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg |= CAN_TOCC_TOS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocc_reg_t hri_can_get_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCC.reg; - tmp = (tmp & CAN_TOCC_TOS(mask)) >> CAN_TOCC_TOS_Pos; - return tmp; -} - -static inline void hri_can_write_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TOCC.reg; - tmp &= ~CAN_TOCC_TOS_Msk; - tmp |= CAN_TOCC_TOS(data); - ((Can *)hw)->TOCC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg &= ~CAN_TOCC_TOS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg ^= CAN_TOCC_TOS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocc_reg_t hri_can_read_TOCC_TOS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCC.reg; - tmp = (tmp & CAN_TOCC_TOS_Msk) >> CAN_TOCC_TOS_Pos; - return tmp; -} - -static inline void hri_can_set_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg |= CAN_TOCC_TOP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocc_reg_t hri_can_get_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCC.reg; - tmp = (tmp & CAN_TOCC_TOP(mask)) >> CAN_TOCC_TOP_Pos; - return tmp; -} - -static inline void hri_can_write_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TOCC.reg; - tmp &= ~CAN_TOCC_TOP_Msk; - tmp |= CAN_TOCC_TOP(data); - ((Can *)hw)->TOCC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg &= ~CAN_TOCC_TOP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg ^= CAN_TOCC_TOP(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocc_reg_t hri_can_read_TOCC_TOP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCC.reg; - tmp = (tmp & CAN_TOCC_TOP_Msk) >> CAN_TOCC_TOP_Pos; - return tmp; -} - -static inline void hri_can_set_TOCC_reg(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocc_reg_t hri_can_get_TOCC_reg(const void *const hw, hri_can_tocc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TOCC_reg(const void *const hw, hri_can_tocc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TOCC_reg(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TOCC_reg(const void *const hw, hri_can_tocc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocc_reg_t hri_can_read_TOCC_reg(const void *const hw) -{ - return ((Can *)hw)->TOCC.reg; -} - -static inline void hri_can_set_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCV.reg |= CAN_TOCV_TOC(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocv_reg_t hri_can_get_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCV.reg; - tmp = (tmp & CAN_TOCV_TOC(mask)) >> CAN_TOCV_TOC_Pos; - return tmp; -} - -static inline void hri_can_write_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TOCV.reg; - tmp &= ~CAN_TOCV_TOC_Msk; - tmp |= CAN_TOCV_TOC(data); - ((Can *)hw)->TOCV.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCV.reg &= ~CAN_TOCV_TOC(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCV.reg ^= CAN_TOCV_TOC(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocv_reg_t hri_can_read_TOCV_TOC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCV.reg; - tmp = (tmp & CAN_TOCV_TOC_Msk) >> CAN_TOCV_TOC_Pos; - return tmp; -} - -static inline void hri_can_set_TOCV_reg(const void *const hw, hri_can_tocv_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCV.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocv_reg_t hri_can_get_TOCV_reg(const void *const hw, hri_can_tocv_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TOCV.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TOCV_reg(const void *const hw, hri_can_tocv_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCV.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TOCV_reg(const void *const hw, hri_can_tocv_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCV.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TOCV_reg(const void *const hw, hri_can_tocv_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TOCV.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tocv_reg_t hri_can_read_TOCV_reg(const void *const hw) -{ - return ((Can *)hw)->TOCV.reg; -} - -static inline void hri_can_set_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg |= CAN_TDCR_TDCF(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tdcr_reg_t hri_can_get_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TDCR.reg; - tmp = (tmp & CAN_TDCR_TDCF(mask)) >> CAN_TDCR_TDCF_Pos; - return tmp; -} - -static inline void hri_can_write_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TDCR.reg; - tmp &= ~CAN_TDCR_TDCF_Msk; - tmp |= CAN_TDCR_TDCF(data); - ((Can *)hw)->TDCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg &= ~CAN_TDCR_TDCF(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg ^= CAN_TDCR_TDCF(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tdcr_reg_t hri_can_read_TDCR_TDCF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TDCR.reg; - tmp = (tmp & CAN_TDCR_TDCF_Msk) >> CAN_TDCR_TDCF_Pos; - return tmp; -} - -static inline void hri_can_set_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg |= CAN_TDCR_TDCO(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tdcr_reg_t hri_can_get_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TDCR.reg; - tmp = (tmp & CAN_TDCR_TDCO(mask)) >> CAN_TDCR_TDCO_Pos; - return tmp; -} - -static inline void hri_can_write_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TDCR.reg; - tmp &= ~CAN_TDCR_TDCO_Msk; - tmp |= CAN_TDCR_TDCO(data); - ((Can *)hw)->TDCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg &= ~CAN_TDCR_TDCO(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg ^= CAN_TDCR_TDCO(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tdcr_reg_t hri_can_read_TDCR_TDCO_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TDCR.reg; - tmp = (tmp & CAN_TDCR_TDCO_Msk) >> CAN_TDCR_TDCO_Pos; - return tmp; -} - -static inline void hri_can_set_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tdcr_reg_t hri_can_get_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TDCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TDCR.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_tdcr_reg_t hri_can_read_TDCR_reg(const void *const hw) -{ - return ((Can *)hw)->TDCR.reg; -} - -static inline void hri_can_set_IR_RF0N_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_RF0N; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_RF0N_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_RF0N) >> CAN_IR_RF0N_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_RF0N_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_RF0N; - tmp |= value << CAN_IR_RF0N_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_RF0N_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_RF0N; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_RF0N_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_RF0N; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_RF0W_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_RF0W; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_RF0W_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_RF0W) >> CAN_IR_RF0W_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_RF0W_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_RF0W; - tmp |= value << CAN_IR_RF0W_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_RF0W_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_RF0W; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_RF0W_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_RF0W; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_RF0F_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_RF0F; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_RF0F_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_RF0F) >> CAN_IR_RF0F_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_RF0F_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_RF0F; - tmp |= value << CAN_IR_RF0F_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_RF0F_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_RF0F; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_RF0F_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_RF0F; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_RF0L_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_RF0L; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_RF0L_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_RF0L) >> CAN_IR_RF0L_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_RF0L_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_RF0L; - tmp |= value << CAN_IR_RF0L_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_RF0L_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_RF0L; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_RF0L_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_RF0L; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_RF1N_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_RF1N; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_RF1N_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_RF1N) >> CAN_IR_RF1N_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_RF1N_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_RF1N; - tmp |= value << CAN_IR_RF1N_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_RF1N_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_RF1N; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_RF1N_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_RF1N; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_RF1W_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_RF1W; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_RF1W_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_RF1W) >> CAN_IR_RF1W_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_RF1W_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_RF1W; - tmp |= value << CAN_IR_RF1W_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_RF1W_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_RF1W; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_RF1W_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_RF1W; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_RF1F_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_RF1F; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_RF1F_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_RF1F) >> CAN_IR_RF1F_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_RF1F_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_RF1F; - tmp |= value << CAN_IR_RF1F_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_RF1F_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_RF1F; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_RF1F_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_RF1F; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_RF1L_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_RF1L; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_RF1L_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_RF1L) >> CAN_IR_RF1L_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_RF1L_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_RF1L; - tmp |= value << CAN_IR_RF1L_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_RF1L_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_RF1L; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_RF1L_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_RF1L; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_HPM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_HPM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_HPM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_HPM) >> CAN_IR_HPM_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_HPM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_HPM; - tmp |= value << CAN_IR_HPM_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_HPM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_HPM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_HPM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_HPM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TC) >> CAN_IR_TC_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TC; - tmp |= value << CAN_IR_TC_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TCF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TCF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TCF_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TCF) >> CAN_IR_TCF_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TCF_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TCF; - tmp |= value << CAN_IR_TCF_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TCF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TCF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TCF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TCF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TFE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TFE) >> CAN_IR_TFE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TFE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TFE; - tmp |= value << CAN_IR_TFE_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TEFN_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TEFN; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TEFN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TEFN) >> CAN_IR_TEFN_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TEFN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TEFN; - tmp |= value << CAN_IR_TEFN_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TEFN_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TEFN; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TEFN_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TEFN; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TEFW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TEFW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TEFW_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TEFW) >> CAN_IR_TEFW_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TEFW_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TEFW; - tmp |= value << CAN_IR_TEFW_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TEFW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TEFW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TEFW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TEFW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TEFF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TEFF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TEFF_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TEFF) >> CAN_IR_TEFF_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TEFF_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TEFF; - tmp |= value << CAN_IR_TEFF_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TEFF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TEFF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TEFF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TEFF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TEFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TEFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TEFL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TEFL) >> CAN_IR_TEFL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TEFL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TEFL; - tmp |= value << CAN_IR_TEFL_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TEFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TEFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TEFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TEFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TSW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TSW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TSW_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TSW) >> CAN_IR_TSW_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TSW_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TSW; - tmp |= value << CAN_IR_TSW_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TSW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TSW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TSW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TSW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_MRAF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_MRAF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_MRAF_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_MRAF) >> CAN_IR_MRAF_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_MRAF_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_MRAF; - tmp |= value << CAN_IR_MRAF_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_MRAF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_MRAF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_MRAF_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_MRAF; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_TOO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_TOO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_TOO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_TOO) >> CAN_IR_TOO_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_TOO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_TOO; - tmp |= value << CAN_IR_TOO_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_TOO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_TOO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_TOO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_TOO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_DRX_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_DRX; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_DRX_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_DRX) >> CAN_IR_DRX_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_DRX_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_DRX; - tmp |= value << CAN_IR_DRX_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_DRX_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_DRX; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_DRX_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_DRX; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_BEC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_BEC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_BEC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_BEC) >> CAN_IR_BEC_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_BEC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_BEC; - tmp |= value << CAN_IR_BEC_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_BEC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_BEC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_BEC_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_BEC; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_BEU_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_BEU; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_BEU_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_BEU) >> CAN_IR_BEU_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_BEU_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_BEU; - tmp |= value << CAN_IR_BEU_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_BEU_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_BEU; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_BEU_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_BEU; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_ELO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_ELO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_ELO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_ELO) >> CAN_IR_ELO_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_ELO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_ELO; - tmp |= value << CAN_IR_ELO_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_ELO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_ELO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_ELO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_ELO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_EP_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_EP; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_EP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_EP) >> CAN_IR_EP_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_EP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_EP; - tmp |= value << CAN_IR_EP_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_EP_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_EP; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_EP_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_EP; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_EW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_EW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_EW_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_EW) >> CAN_IR_EW_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_EW_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_EW; - tmp |= value << CAN_IR_EW_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_EW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_EW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_EW_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_EW; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_BO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_BO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_BO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_BO) >> CAN_IR_BO_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_BO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_BO; - tmp |= value << CAN_IR_BO_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_BO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_BO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_BO_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_BO; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_WDI_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_WDI; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_WDI_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_WDI) >> CAN_IR_WDI_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_WDI_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_WDI; - tmp |= value << CAN_IR_WDI_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_WDI_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_WDI; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_WDI_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_WDI; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_PEA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_PEA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_PEA_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_PEA) >> CAN_IR_PEA_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_PEA_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_PEA; - tmp |= value << CAN_IR_PEA_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_PEA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_PEA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_PEA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_PEA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_PED_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_PED; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_PED_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_PED) >> CAN_IR_PED_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_PED_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_PED; - tmp |= value << CAN_IR_PED_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_PED_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_PED; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_PED_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_PED; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_ARA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= CAN_IR_ARA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IR_ARA_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp = (tmp & CAN_IR_ARA) >> CAN_IR_ARA_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IR_ARA_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IR.reg; - tmp &= ~CAN_IR_ARA; - tmp |= value << CAN_IR_ARA_Pos; - ((Can *)hw)->IR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_ARA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~CAN_IR_ARA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_ARA_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= CAN_IR_ARA; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IR_reg(const void *const hw, hri_can_ir_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ir_reg_t hri_can_get_IR_reg(const void *const hw, hri_can_ir_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_IR_reg(const void *const hw, hri_can_ir_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IR_reg(const void *const hw, hri_can_ir_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IR_reg(const void *const hw, hri_can_ir_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IR.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ir_reg_t hri_can_read_IR_reg(const void *const hw) -{ - return ((Can *)hw)->IR.reg; -} - -static inline void hri_can_set_IE_RF0NE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_RF0NE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_RF0NE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_RF0NE) >> CAN_IE_RF0NE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_RF0NE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_RF0NE; - tmp |= value << CAN_IE_RF0NE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_RF0NE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_RF0NE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_RF0NE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_RF0NE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_RF0WE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_RF0WE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_RF0WE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_RF0WE) >> CAN_IE_RF0WE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_RF0WE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_RF0WE; - tmp |= value << CAN_IE_RF0WE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_RF0WE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_RF0WE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_RF0WE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_RF0WE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_RF0FE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_RF0FE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_RF0FE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_RF0FE) >> CAN_IE_RF0FE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_RF0FE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_RF0FE; - tmp |= value << CAN_IE_RF0FE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_RF0FE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_RF0FE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_RF0FE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_RF0FE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_RF0LE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_RF0LE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_RF0LE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_RF0LE) >> CAN_IE_RF0LE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_RF0LE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_RF0LE; - tmp |= value << CAN_IE_RF0LE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_RF0LE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_RF0LE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_RF0LE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_RF0LE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_RF1NE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_RF1NE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_RF1NE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_RF1NE) >> CAN_IE_RF1NE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_RF1NE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_RF1NE; - tmp |= value << CAN_IE_RF1NE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_RF1NE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_RF1NE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_RF1NE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_RF1NE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_RF1WE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_RF1WE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_RF1WE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_RF1WE) >> CAN_IE_RF1WE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_RF1WE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_RF1WE; - tmp |= value << CAN_IE_RF1WE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_RF1WE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_RF1WE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_RF1WE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_RF1WE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_RF1FE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_RF1FE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_RF1FE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_RF1FE) >> CAN_IE_RF1FE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_RF1FE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_RF1FE; - tmp |= value << CAN_IE_RF1FE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_RF1FE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_RF1FE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_RF1FE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_RF1FE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_RF1LE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_RF1LE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_RF1LE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_RF1LE) >> CAN_IE_RF1LE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_RF1LE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_RF1LE; - tmp |= value << CAN_IE_RF1LE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_RF1LE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_RF1LE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_RF1LE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_RF1LE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_HPME_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_HPME; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_HPME_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_HPME) >> CAN_IE_HPME_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_HPME_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_HPME; - tmp |= value << CAN_IE_HPME_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_HPME_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_HPME; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_HPME_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_HPME; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TCE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TCE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TCE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TCE) >> CAN_IE_TCE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TCE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TCE; - tmp |= value << CAN_IE_TCE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TCE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TCE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TCE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TCE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TCFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TCFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TCFE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TCFE) >> CAN_IE_TCFE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TCFE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TCFE; - tmp |= value << CAN_IE_TCFE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TCFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TCFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TCFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TCFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TFEE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TFEE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TFEE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TFEE) >> CAN_IE_TFEE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TFEE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TFEE; - tmp |= value << CAN_IE_TFEE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TFEE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TFEE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TFEE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TFEE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TEFNE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TEFNE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TEFNE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TEFNE) >> CAN_IE_TEFNE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TEFNE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TEFNE; - tmp |= value << CAN_IE_TEFNE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TEFNE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TEFNE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TEFNE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TEFNE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TEFWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TEFWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TEFWE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TEFWE) >> CAN_IE_TEFWE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TEFWE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TEFWE; - tmp |= value << CAN_IE_TEFWE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TEFWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TEFWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TEFWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TEFWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TEFFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TEFFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TEFFE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TEFFE) >> CAN_IE_TEFFE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TEFFE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TEFFE; - tmp |= value << CAN_IE_TEFFE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TEFFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TEFFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TEFFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TEFFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TEFLE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TEFLE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TEFLE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TEFLE) >> CAN_IE_TEFLE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TEFLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TEFLE; - tmp |= value << CAN_IE_TEFLE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TEFLE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TEFLE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TEFLE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TEFLE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TSWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TSWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TSWE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TSWE) >> CAN_IE_TSWE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TSWE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TSWE; - tmp |= value << CAN_IE_TSWE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TSWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TSWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TSWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TSWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_MRAFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_MRAFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_MRAFE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_MRAFE) >> CAN_IE_MRAFE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_MRAFE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_MRAFE; - tmp |= value << CAN_IE_MRAFE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_MRAFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_MRAFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_MRAFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_MRAFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_TOOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_TOOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_TOOE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_TOOE) >> CAN_IE_TOOE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_TOOE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_TOOE; - tmp |= value << CAN_IE_TOOE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_TOOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_TOOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_TOOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_TOOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_DRXE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_DRXE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_DRXE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_DRXE) >> CAN_IE_DRXE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_DRXE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_DRXE; - tmp |= value << CAN_IE_DRXE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_DRXE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_DRXE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_DRXE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_DRXE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_BECE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_BECE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_BECE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_BECE) >> CAN_IE_BECE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_BECE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_BECE; - tmp |= value << CAN_IE_BECE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_BECE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_BECE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_BECE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_BECE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_BEUE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_BEUE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_BEUE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_BEUE) >> CAN_IE_BEUE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_BEUE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_BEUE; - tmp |= value << CAN_IE_BEUE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_BEUE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_BEUE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_BEUE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_BEUE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_ELOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_ELOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_ELOE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_ELOE) >> CAN_IE_ELOE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_ELOE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_ELOE; - tmp |= value << CAN_IE_ELOE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_ELOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_ELOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_ELOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_ELOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_EPE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_EPE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_EPE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_EPE) >> CAN_IE_EPE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_EPE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_EPE; - tmp |= value << CAN_IE_EPE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_EPE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_EPE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_EPE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_EPE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_EWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_EWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_EWE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_EWE) >> CAN_IE_EWE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_EWE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_EWE; - tmp |= value << CAN_IE_EWE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_EWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_EWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_EWE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_EWE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_BOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_BOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_BOE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_BOE) >> CAN_IE_BOE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_BOE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_BOE; - tmp |= value << CAN_IE_BOE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_BOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_BOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_BOE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_BOE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_WDIE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_WDIE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_WDIE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_WDIE) >> CAN_IE_WDIE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_WDIE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_WDIE; - tmp |= value << CAN_IE_WDIE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_WDIE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_WDIE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_WDIE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_WDIE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_PEAE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_PEAE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_PEAE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_PEAE) >> CAN_IE_PEAE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_PEAE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_PEAE; - tmp |= value << CAN_IE_PEAE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_PEAE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_PEAE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_PEAE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_PEAE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_PEDE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_PEDE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_PEDE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_PEDE) >> CAN_IE_PEDE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_PEDE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_PEDE; - tmp |= value << CAN_IE_PEDE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_PEDE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_PEDE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_PEDE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_PEDE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_ARAE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= CAN_IE_ARAE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_IE_ARAE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp = (tmp & CAN_IE_ARAE) >> CAN_IE_ARAE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_IE_ARAE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->IE.reg; - tmp &= ~CAN_IE_ARAE; - tmp |= value << CAN_IE_ARAE_Pos; - ((Can *)hw)->IE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_ARAE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~CAN_IE_ARAE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_ARAE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= CAN_IE_ARAE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_IE_reg(const void *const hw, hri_can_ie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ie_reg_t hri_can_get_IE_reg(const void *const hw, hri_can_ie_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->IE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_IE_reg(const void *const hw, hri_can_ie_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_IE_reg(const void *const hw, hri_can_ie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_IE_reg(const void *const hw, hri_can_ie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->IE.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ie_reg_t hri_can_read_IE_reg(const void *const hw) -{ - return ((Can *)hw)->IE.reg; -} - -static inline void hri_can_set_ILS_RF0NL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_RF0NL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_RF0NL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_RF0NL) >> CAN_ILS_RF0NL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_RF0NL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_RF0NL; - tmp |= value << CAN_ILS_RF0NL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_RF0NL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF0NL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_RF0NL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_RF0NL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_RF0WL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_RF0WL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_RF0WL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_RF0WL) >> CAN_ILS_RF0WL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_RF0WL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_RF0WL; - tmp |= value << CAN_ILS_RF0WL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_RF0WL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF0WL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_RF0WL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_RF0WL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_RF0FL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_RF0FL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_RF0FL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_RF0FL) >> CAN_ILS_RF0FL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_RF0FL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_RF0FL; - tmp |= value << CAN_ILS_RF0FL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_RF0FL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF0FL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_RF0FL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_RF0FL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_RF0LL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_RF0LL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_RF0LL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_RF0LL) >> CAN_ILS_RF0LL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_RF0LL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_RF0LL; - tmp |= value << CAN_ILS_RF0LL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_RF0LL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF0LL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_RF0LL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_RF0LL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_RF1NL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_RF1NL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_RF1NL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_RF1NL) >> CAN_ILS_RF1NL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_RF1NL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_RF1NL; - tmp |= value << CAN_ILS_RF1NL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_RF1NL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF1NL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_RF1NL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_RF1NL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_RF1WL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_RF1WL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_RF1WL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_RF1WL) >> CAN_ILS_RF1WL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_RF1WL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_RF1WL; - tmp |= value << CAN_ILS_RF1WL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_RF1WL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF1WL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_RF1WL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_RF1WL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_RF1FL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_RF1FL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_RF1FL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_RF1FL) >> CAN_ILS_RF1FL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_RF1FL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_RF1FL; - tmp |= value << CAN_ILS_RF1FL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_RF1FL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF1FL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_RF1FL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_RF1FL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_RF1LL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_RF1LL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_RF1LL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_RF1LL) >> CAN_ILS_RF1LL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_RF1LL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_RF1LL; - tmp |= value << CAN_ILS_RF1LL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_RF1LL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF1LL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_RF1LL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_RF1LL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_HPML_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_HPML; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_HPML_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_HPML) >> CAN_ILS_HPML_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_HPML_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_HPML; - tmp |= value << CAN_ILS_HPML_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_HPML_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_HPML; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_HPML_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_HPML; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TCL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TCL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TCL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TCL) >> CAN_ILS_TCL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TCL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TCL; - tmp |= value << CAN_ILS_TCL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TCL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TCL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TCL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TCL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TCFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TCFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TCFL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TCFL) >> CAN_ILS_TCFL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TCFL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TCFL; - tmp |= value << CAN_ILS_TCFL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TCFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TCFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TCFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TCFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TFEL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TFEL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TFEL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TFEL) >> CAN_ILS_TFEL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TFEL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TFEL; - tmp |= value << CAN_ILS_TFEL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TFEL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TFEL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TFEL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TFEL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TEFNL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TEFNL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TEFNL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TEFNL) >> CAN_ILS_TEFNL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TEFNL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TEFNL; - tmp |= value << CAN_ILS_TEFNL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TEFNL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TEFNL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TEFNL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TEFNL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TEFWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TEFWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TEFWL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TEFWL) >> CAN_ILS_TEFWL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TEFWL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TEFWL; - tmp |= value << CAN_ILS_TEFWL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TEFWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TEFWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TEFWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TEFWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TEFFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TEFFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TEFFL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TEFFL) >> CAN_ILS_TEFFL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TEFFL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TEFFL; - tmp |= value << CAN_ILS_TEFFL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TEFFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TEFFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TEFFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TEFFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TEFLL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TEFLL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TEFLL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TEFLL) >> CAN_ILS_TEFLL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TEFLL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TEFLL; - tmp |= value << CAN_ILS_TEFLL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TEFLL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TEFLL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TEFLL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TEFLL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TSWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TSWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TSWL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TSWL) >> CAN_ILS_TSWL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TSWL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TSWL; - tmp |= value << CAN_ILS_TSWL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TSWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TSWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TSWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TSWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_MRAFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_MRAFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_MRAFL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_MRAFL) >> CAN_ILS_MRAFL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_MRAFL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_MRAFL; - tmp |= value << CAN_ILS_MRAFL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_MRAFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_MRAFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_MRAFL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_MRAFL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_TOOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_TOOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_TOOL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_TOOL) >> CAN_ILS_TOOL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_TOOL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_TOOL; - tmp |= value << CAN_ILS_TOOL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_TOOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_TOOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_TOOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_TOOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_DRXL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_DRXL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_DRXL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_DRXL) >> CAN_ILS_DRXL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_DRXL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_DRXL; - tmp |= value << CAN_ILS_DRXL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_DRXL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_DRXL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_DRXL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_DRXL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_BECL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_BECL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_BECL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_BECL) >> CAN_ILS_BECL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_BECL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_BECL; - tmp |= value << CAN_ILS_BECL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_BECL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_BECL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_BECL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_BECL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_BEUL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_BEUL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_BEUL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_BEUL) >> CAN_ILS_BEUL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_BEUL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_BEUL; - tmp |= value << CAN_ILS_BEUL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_BEUL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_BEUL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_BEUL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_BEUL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_ELOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_ELOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_ELOL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_ELOL) >> CAN_ILS_ELOL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_ELOL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_ELOL; - tmp |= value << CAN_ILS_ELOL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_ELOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_ELOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_ELOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_ELOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_EPL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_EPL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_EPL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_EPL) >> CAN_ILS_EPL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_EPL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_EPL; - tmp |= value << CAN_ILS_EPL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_EPL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_EPL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_EPL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_EPL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_EWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_EWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_EWL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_EWL) >> CAN_ILS_EWL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_EWL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_EWL; - tmp |= value << CAN_ILS_EWL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_EWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_EWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_EWL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_EWL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_BOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_BOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_BOL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_BOL) >> CAN_ILS_BOL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_BOL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_BOL; - tmp |= value << CAN_ILS_BOL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_BOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_BOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_BOL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_BOL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_WDIL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_WDIL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_WDIL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_WDIL) >> CAN_ILS_WDIL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_WDIL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_WDIL; - tmp |= value << CAN_ILS_WDIL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_WDIL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_WDIL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_WDIL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_WDIL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_PEAL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_PEAL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_PEAL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_PEAL) >> CAN_ILS_PEAL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_PEAL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_PEAL; - tmp |= value << CAN_ILS_PEAL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_PEAL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_PEAL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_PEAL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_PEAL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_PEDL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_PEDL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_PEDL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_PEDL) >> CAN_ILS_PEDL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_PEDL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_PEDL; - tmp |= value << CAN_ILS_PEDL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_PEDL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_PEDL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_PEDL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_PEDL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_ARAL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= CAN_ILS_ARAL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILS_ARAL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp = (tmp & CAN_ILS_ARAL) >> CAN_ILS_ARAL_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILS_ARAL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILS.reg; - tmp &= ~CAN_ILS_ARAL; - tmp |= value << CAN_ILS_ARAL_Pos; - ((Can *)hw)->ILS.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_ARAL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~CAN_ILS_ARAL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_ARAL_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= CAN_ILS_ARAL; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILS_reg(const void *const hw, hri_can_ils_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ils_reg_t hri_can_get_ILS_reg(const void *const hw, hri_can_ils_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_ILS_reg(const void *const hw, hri_can_ils_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILS_reg(const void *const hw, hri_can_ils_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILS_reg(const void *const hw, hri_can_ils_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILS.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ils_reg_t hri_can_read_ILS_reg(const void *const hw) -{ - return ((Can *)hw)->ILS.reg; -} - -static inline void hri_can_set_ILE_EINT0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg |= CAN_ILE_EINT0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILE_EINT0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILE.reg; - tmp = (tmp & CAN_ILE_EINT0) >> CAN_ILE_EINT0_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILE_EINT0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILE.reg; - tmp &= ~CAN_ILE_EINT0; - tmp |= value << CAN_ILE_EINT0_Pos; - ((Can *)hw)->ILE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILE_EINT0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg &= ~CAN_ILE_EINT0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILE_EINT0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg ^= CAN_ILE_EINT0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILE_EINT1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg |= CAN_ILE_EINT1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_ILE_EINT1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILE.reg; - tmp = (tmp & CAN_ILE_EINT1) >> CAN_ILE_EINT1_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_ILE_EINT1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->ILE.reg; - tmp &= ~CAN_ILE_EINT1; - tmp |= value << CAN_ILE_EINT1_Pos; - ((Can *)hw)->ILE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILE_EINT1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg &= ~CAN_ILE_EINT1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILE_EINT1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg ^= CAN_ILE_EINT1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_ILE_reg(const void *const hw, hri_can_ile_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ile_reg_t hri_can_get_ILE_reg(const void *const hw, hri_can_ile_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->ILE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_ILE_reg(const void *const hw, hri_can_ile_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_ILE_reg(const void *const hw, hri_can_ile_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_ILE_reg(const void *const hw, hri_can_ile_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->ILE.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ile_reg_t hri_can_read_ILE_reg(const void *const hw) -{ - return ((Can *)hw)->ILE.reg; -} - -static inline void hri_can_set_GFC_RRFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg |= CAN_GFC_RRFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_GFC_RRFE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->GFC.reg; - tmp = (tmp & CAN_GFC_RRFE) >> CAN_GFC_RRFE_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_GFC_RRFE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->GFC.reg; - tmp &= ~CAN_GFC_RRFE; - tmp |= value << CAN_GFC_RRFE_Pos; - ((Can *)hw)->GFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_GFC_RRFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg &= ~CAN_GFC_RRFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_GFC_RRFE_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg ^= CAN_GFC_RRFE; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_GFC_RRFS_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg |= CAN_GFC_RRFS; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_GFC_RRFS_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->GFC.reg; - tmp = (tmp & CAN_GFC_RRFS) >> CAN_GFC_RRFS_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_GFC_RRFS_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->GFC.reg; - tmp &= ~CAN_GFC_RRFS; - tmp |= value << CAN_GFC_RRFS_Pos; - ((Can *)hw)->GFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_GFC_RRFS_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg &= ~CAN_GFC_RRFS; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_GFC_RRFS_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg ^= CAN_GFC_RRFS; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg |= CAN_GFC_ANFE(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_gfc_reg_t hri_can_get_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->GFC.reg; - tmp = (tmp & CAN_GFC_ANFE(mask)) >> CAN_GFC_ANFE_Pos; - return tmp; -} - -static inline void hri_can_write_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->GFC.reg; - tmp &= ~CAN_GFC_ANFE_Msk; - tmp |= CAN_GFC_ANFE(data); - ((Can *)hw)->GFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg &= ~CAN_GFC_ANFE(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg ^= CAN_GFC_ANFE(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_gfc_reg_t hri_can_read_GFC_ANFE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->GFC.reg; - tmp = (tmp & CAN_GFC_ANFE_Msk) >> CAN_GFC_ANFE_Pos; - return tmp; -} - -static inline void hri_can_set_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg |= CAN_GFC_ANFS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_gfc_reg_t hri_can_get_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->GFC.reg; - tmp = (tmp & CAN_GFC_ANFS(mask)) >> CAN_GFC_ANFS_Pos; - return tmp; -} - -static inline void hri_can_write_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->GFC.reg; - tmp &= ~CAN_GFC_ANFS_Msk; - tmp |= CAN_GFC_ANFS(data); - ((Can *)hw)->GFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg &= ~CAN_GFC_ANFS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg ^= CAN_GFC_ANFS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_gfc_reg_t hri_can_read_GFC_ANFS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->GFC.reg; - tmp = (tmp & CAN_GFC_ANFS_Msk) >> CAN_GFC_ANFS_Pos; - return tmp; -} - -static inline void hri_can_set_GFC_reg(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_gfc_reg_t hri_can_get_GFC_reg(const void *const hw, hri_can_gfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->GFC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_GFC_reg(const void *const hw, hri_can_gfc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_GFC_reg(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_GFC_reg(const void *const hw, hri_can_gfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->GFC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_gfc_reg_t hri_can_read_GFC_reg(const void *const hw) -{ - return ((Can *)hw)->GFC.reg; -} - -static inline void hri_can_set_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg |= CAN_SIDFC_FLSSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_sidfc_reg_t hri_can_get_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->SIDFC.reg; - tmp = (tmp & CAN_SIDFC_FLSSA(mask)) >> CAN_SIDFC_FLSSA_Pos; - return tmp; -} - -static inline void hri_can_write_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->SIDFC.reg; - tmp &= ~CAN_SIDFC_FLSSA_Msk; - tmp |= CAN_SIDFC_FLSSA(data); - ((Can *)hw)->SIDFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg &= ~CAN_SIDFC_FLSSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg ^= CAN_SIDFC_FLSSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_sidfc_reg_t hri_can_read_SIDFC_FLSSA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->SIDFC.reg; - tmp = (tmp & CAN_SIDFC_FLSSA_Msk) >> CAN_SIDFC_FLSSA_Pos; - return tmp; -} - -static inline void hri_can_set_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg |= CAN_SIDFC_LSS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_sidfc_reg_t hri_can_get_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->SIDFC.reg; - tmp = (tmp & CAN_SIDFC_LSS(mask)) >> CAN_SIDFC_LSS_Pos; - return tmp; -} - -static inline void hri_can_write_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->SIDFC.reg; - tmp &= ~CAN_SIDFC_LSS_Msk; - tmp |= CAN_SIDFC_LSS(data); - ((Can *)hw)->SIDFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg &= ~CAN_SIDFC_LSS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg ^= CAN_SIDFC_LSS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_sidfc_reg_t hri_can_read_SIDFC_LSS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->SIDFC.reg; - tmp = (tmp & CAN_SIDFC_LSS_Msk) >> CAN_SIDFC_LSS_Pos; - return tmp; -} - -static inline void hri_can_set_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_sidfc_reg_t hri_can_get_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->SIDFC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->SIDFC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_sidfc_reg_t hri_can_read_SIDFC_reg(const void *const hw) -{ - return ((Can *)hw)->SIDFC.reg; -} - -static inline void hri_can_set_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg |= CAN_XIDFC_FLESA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidfc_reg_t hri_can_get_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->XIDFC.reg; - tmp = (tmp & CAN_XIDFC_FLESA(mask)) >> CAN_XIDFC_FLESA_Pos; - return tmp; -} - -static inline void hri_can_write_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->XIDFC.reg; - tmp &= ~CAN_XIDFC_FLESA_Msk; - tmp |= CAN_XIDFC_FLESA(data); - ((Can *)hw)->XIDFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg &= ~CAN_XIDFC_FLESA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg ^= CAN_XIDFC_FLESA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidfc_reg_t hri_can_read_XIDFC_FLESA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->XIDFC.reg; - tmp = (tmp & CAN_XIDFC_FLESA_Msk) >> CAN_XIDFC_FLESA_Pos; - return tmp; -} - -static inline void hri_can_set_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg |= CAN_XIDFC_LSE(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidfc_reg_t hri_can_get_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->XIDFC.reg; - tmp = (tmp & CAN_XIDFC_LSE(mask)) >> CAN_XIDFC_LSE_Pos; - return tmp; -} - -static inline void hri_can_write_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->XIDFC.reg; - tmp &= ~CAN_XIDFC_LSE_Msk; - tmp |= CAN_XIDFC_LSE(data); - ((Can *)hw)->XIDFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg &= ~CAN_XIDFC_LSE(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg ^= CAN_XIDFC_LSE(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidfc_reg_t hri_can_read_XIDFC_LSE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->XIDFC.reg; - tmp = (tmp & CAN_XIDFC_LSE_Msk) >> CAN_XIDFC_LSE_Pos; - return tmp; -} - -static inline void hri_can_set_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidfc_reg_t hri_can_get_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->XIDFC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDFC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidfc_reg_t hri_can_read_XIDFC_reg(const void *const hw) -{ - return ((Can *)hw)->XIDFC.reg; -} - -static inline void hri_can_set_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDAM.reg |= CAN_XIDAM_EIDM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidam_reg_t hri_can_get_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->XIDAM.reg; - tmp = (tmp & CAN_XIDAM_EIDM(mask)) >> CAN_XIDAM_EIDM_Pos; - return tmp; -} - -static inline void hri_can_write_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->XIDAM.reg; - tmp &= ~CAN_XIDAM_EIDM_Msk; - tmp |= CAN_XIDAM_EIDM(data); - ((Can *)hw)->XIDAM.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDAM.reg &= ~CAN_XIDAM_EIDM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDAM.reg ^= CAN_XIDAM_EIDM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidam_reg_t hri_can_read_XIDAM_EIDM_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->XIDAM.reg; - tmp = (tmp & CAN_XIDAM_EIDM_Msk) >> CAN_XIDAM_EIDM_Pos; - return tmp; -} - -static inline void hri_can_set_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDAM.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidam_reg_t hri_can_get_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->XIDAM.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDAM.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDAM.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->XIDAM.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_xidam_reg_t hri_can_read_XIDAM_reg(const void *const hw) -{ - return ((Can *)hw)->XIDAM.reg; -} - -static inline void hri_can_set_NDAT1_ND0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND0) >> CAN_NDAT1_ND0_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND0; - tmp |= value << CAN_NDAT1_ND0_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND1) >> CAN_NDAT1_ND1_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND1; - tmp |= value << CAN_NDAT1_ND1_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND2) >> CAN_NDAT1_ND2_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND2; - tmp |= value << CAN_NDAT1_ND2_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND3) >> CAN_NDAT1_ND3_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND3; - tmp |= value << CAN_NDAT1_ND3_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND4) >> CAN_NDAT1_ND4_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND4; - tmp |= value << CAN_NDAT1_ND4_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND5) >> CAN_NDAT1_ND5_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND5; - tmp |= value << CAN_NDAT1_ND5_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND6) >> CAN_NDAT1_ND6_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND6; - tmp |= value << CAN_NDAT1_ND6_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND7) >> CAN_NDAT1_ND7_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND7; - tmp |= value << CAN_NDAT1_ND7_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND8_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND8) >> CAN_NDAT1_ND8_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND8_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND8; - tmp |= value << CAN_NDAT1_ND8_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND9_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND9) >> CAN_NDAT1_ND9_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND9_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND9; - tmp |= value << CAN_NDAT1_ND9_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND10_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND10) >> CAN_NDAT1_ND10_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND10_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND10; - tmp |= value << CAN_NDAT1_ND10_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND11_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND11) >> CAN_NDAT1_ND11_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND11_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND11; - tmp |= value << CAN_NDAT1_ND11_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND12_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND12) >> CAN_NDAT1_ND12_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND12_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND12; - tmp |= value << CAN_NDAT1_ND12_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND13_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND13) >> CAN_NDAT1_ND13_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND13_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND13; - tmp |= value << CAN_NDAT1_ND13_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND14_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND14) >> CAN_NDAT1_ND14_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND14_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND14; - tmp |= value << CAN_NDAT1_ND14_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND15_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND15) >> CAN_NDAT1_ND15_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND15_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND15; - tmp |= value << CAN_NDAT1_ND15_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND16_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND16) >> CAN_NDAT1_ND16_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND16_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND16; - tmp |= value << CAN_NDAT1_ND16_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND17_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND17) >> CAN_NDAT1_ND17_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND17_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND17; - tmp |= value << CAN_NDAT1_ND17_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND18_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND18) >> CAN_NDAT1_ND18_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND18_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND18; - tmp |= value << CAN_NDAT1_ND18_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND19_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND19) >> CAN_NDAT1_ND19_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND19_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND19; - tmp |= value << CAN_NDAT1_ND19_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND20_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND20) >> CAN_NDAT1_ND20_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND20_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND20; - tmp |= value << CAN_NDAT1_ND20_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND21_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND21) >> CAN_NDAT1_ND21_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND21_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND21; - tmp |= value << CAN_NDAT1_ND21_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND22_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND22) >> CAN_NDAT1_ND22_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND22_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND22; - tmp |= value << CAN_NDAT1_ND22_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND23_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND23) >> CAN_NDAT1_ND23_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND23_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND23; - tmp |= value << CAN_NDAT1_ND23_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND24_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND24) >> CAN_NDAT1_ND24_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND24_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND24; - tmp |= value << CAN_NDAT1_ND24_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND25_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND25) >> CAN_NDAT1_ND25_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND25_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND25; - tmp |= value << CAN_NDAT1_ND25_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND26_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND26) >> CAN_NDAT1_ND26_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND26_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND26; - tmp |= value << CAN_NDAT1_ND26_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND27_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND27) >> CAN_NDAT1_ND27_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND27_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND27; - tmp |= value << CAN_NDAT1_ND27_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND28_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND28) >> CAN_NDAT1_ND28_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND28_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND28; - tmp |= value << CAN_NDAT1_ND28_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND29_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND29) >> CAN_NDAT1_ND29_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND29_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND29; - tmp |= value << CAN_NDAT1_ND29_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND30_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND30) >> CAN_NDAT1_ND30_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND30_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND30; - tmp |= value << CAN_NDAT1_ND30_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_ND31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT1_ND31_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp = (tmp & CAN_NDAT1_ND31) >> CAN_NDAT1_ND31_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT1_ND31_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= ~CAN_NDAT1_ND31; - tmp |= value << CAN_NDAT1_ND31_Pos; - ((Can *)hw)->NDAT1.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_ND31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_ND31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ndat1_reg_t hri_can_get_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT1.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ndat1_reg_t hri_can_read_NDAT1_reg(const void *const hw) -{ - return ((Can *)hw)->NDAT1.reg; -} - -static inline void hri_can_set_NDAT2_ND32_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND32; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND32_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND32) >> CAN_NDAT2_ND32_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND32_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND32; - tmp |= value << CAN_NDAT2_ND32_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND32_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND32; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND32_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND32; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND33_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND33; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND33_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND33) >> CAN_NDAT2_ND33_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND33_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND33; - tmp |= value << CAN_NDAT2_ND33_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND33_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND33; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND33_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND33; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND34_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND34; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND34_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND34) >> CAN_NDAT2_ND34_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND34_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND34; - tmp |= value << CAN_NDAT2_ND34_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND34_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND34; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND34_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND34; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND35_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND35; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND35_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND35) >> CAN_NDAT2_ND35_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND35_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND35; - tmp |= value << CAN_NDAT2_ND35_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND35_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND35; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND35_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND35; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND36_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND36; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND36_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND36) >> CAN_NDAT2_ND36_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND36_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND36; - tmp |= value << CAN_NDAT2_ND36_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND36_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND36; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND36_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND36; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND37_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND37; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND37_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND37) >> CAN_NDAT2_ND37_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND37_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND37; - tmp |= value << CAN_NDAT2_ND37_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND37_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND37; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND37_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND37; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND38_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND38; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND38_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND38) >> CAN_NDAT2_ND38_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND38_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND38; - tmp |= value << CAN_NDAT2_ND38_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND38_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND38; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND38_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND38; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND39_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND39; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND39_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND39) >> CAN_NDAT2_ND39_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND39_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND39; - tmp |= value << CAN_NDAT2_ND39_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND39_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND39; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND39_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND39; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND40_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND40; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND40_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND40) >> CAN_NDAT2_ND40_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND40_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND40; - tmp |= value << CAN_NDAT2_ND40_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND40_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND40; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND40_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND40; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND41_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND41; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND41_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND41) >> CAN_NDAT2_ND41_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND41_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND41; - tmp |= value << CAN_NDAT2_ND41_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND41_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND41; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND41_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND41; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND42_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND42; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND42_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND42) >> CAN_NDAT2_ND42_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND42_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND42; - tmp |= value << CAN_NDAT2_ND42_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND42_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND42; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND42_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND42; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND43_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND43; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND43_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND43) >> CAN_NDAT2_ND43_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND43_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND43; - tmp |= value << CAN_NDAT2_ND43_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND43_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND43; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND43_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND43; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND44_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND44; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND44_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND44) >> CAN_NDAT2_ND44_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND44_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND44; - tmp |= value << CAN_NDAT2_ND44_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND44_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND44; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND44_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND44; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND45_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND45; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND45_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND45) >> CAN_NDAT2_ND45_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND45_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND45; - tmp |= value << CAN_NDAT2_ND45_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND45_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND45; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND45_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND45; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND46_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND46; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND46_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND46) >> CAN_NDAT2_ND46_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND46_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND46; - tmp |= value << CAN_NDAT2_ND46_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND46_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND46; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND46_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND46; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND47_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND47; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND47_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND47) >> CAN_NDAT2_ND47_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND47_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND47; - tmp |= value << CAN_NDAT2_ND47_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND47_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND47; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND47_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND47; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND48_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND48; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND48_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND48) >> CAN_NDAT2_ND48_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND48_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND48; - tmp |= value << CAN_NDAT2_ND48_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND48_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND48; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND48_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND48; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND49_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND49; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND49_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND49) >> CAN_NDAT2_ND49_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND49_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND49; - tmp |= value << CAN_NDAT2_ND49_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND49_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND49; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND49_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND49; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND50_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND50; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND50_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND50) >> CAN_NDAT2_ND50_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND50_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND50; - tmp |= value << CAN_NDAT2_ND50_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND50_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND50; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND50_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND50; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND51_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND51; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND51_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND51) >> CAN_NDAT2_ND51_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND51_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND51; - tmp |= value << CAN_NDAT2_ND51_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND51_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND51; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND51_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND51; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND52_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND52; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND52_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND52) >> CAN_NDAT2_ND52_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND52_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND52; - tmp |= value << CAN_NDAT2_ND52_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND52_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND52; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND52_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND52; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND53_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND53; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND53_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND53) >> CAN_NDAT2_ND53_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND53_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND53; - tmp |= value << CAN_NDAT2_ND53_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND53_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND53; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND53_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND53; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND54_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND54; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND54_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND54) >> CAN_NDAT2_ND54_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND54_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND54; - tmp |= value << CAN_NDAT2_ND54_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND54_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND54; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND54_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND54; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND55_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND55; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND55_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND55) >> CAN_NDAT2_ND55_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND55_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND55; - tmp |= value << CAN_NDAT2_ND55_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND55_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND55; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND55_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND55; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND56_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND56; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND56_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND56) >> CAN_NDAT2_ND56_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND56_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND56; - tmp |= value << CAN_NDAT2_ND56_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND56_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND56; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND56_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND56; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND57_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND57; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND57_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND57) >> CAN_NDAT2_ND57_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND57_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND57; - tmp |= value << CAN_NDAT2_ND57_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND57_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND57; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND57_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND57; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND58_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND58; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND58_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND58) >> CAN_NDAT2_ND58_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND58_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND58; - tmp |= value << CAN_NDAT2_ND58_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND58_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND58; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND58_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND58; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND59_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND59; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND59_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND59) >> CAN_NDAT2_ND59_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND59_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND59; - tmp |= value << CAN_NDAT2_ND59_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND59_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND59; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND59_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND59; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND60_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND60; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND60_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND60) >> CAN_NDAT2_ND60_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND60_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND60; - tmp |= value << CAN_NDAT2_ND60_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND60_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND60; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND60_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND60; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND61_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND61; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND61_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND61) >> CAN_NDAT2_ND61_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND61_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND61; - tmp |= value << CAN_NDAT2_ND61_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND61_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND61; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND61_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND61; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND62_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND62; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND62_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND62) >> CAN_NDAT2_ND62_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND62_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND62; - tmp |= value << CAN_NDAT2_ND62_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND62_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND62; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND62_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND62; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_ND63_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND63; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_NDAT2_ND63_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp = (tmp & CAN_NDAT2_ND63) >> CAN_NDAT2_ND63_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_NDAT2_ND63_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= ~CAN_NDAT2_ND63; - tmp |= value << CAN_NDAT2_ND63_Pos; - ((Can *)hw)->NDAT2.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_ND63_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND63; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_ND63_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND63; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ndat2_reg_t hri_can_get_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->NDAT2.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->NDAT2.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_ndat2_reg_t hri_can_read_NDAT2_reg(const void *const hw) -{ - return ((Can *)hw)->NDAT2.reg; -} - -static inline void hri_can_set_RXF0C_F0OM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg |= CAN_RXF0C_F0OM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_RXF0C_F0OM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0C.reg; - tmp = (tmp & CAN_RXF0C_F0OM) >> CAN_RXF0C_F0OM_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_RXF0C_F0OM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF0C.reg; - tmp &= ~CAN_RXF0C_F0OM; - tmp |= value << CAN_RXF0C_F0OM_Pos; - ((Can *)hw)->RXF0C.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF0C_F0OM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg &= ~CAN_RXF0C_F0OM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF0C_F0OM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg ^= CAN_RXF0C_F0OM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg |= CAN_RXF0C_F0SA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0c_reg_t hri_can_get_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0C.reg; - tmp = (tmp & CAN_RXF0C_F0SA(mask)) >> CAN_RXF0C_F0SA_Pos; - return tmp; -} - -static inline void hri_can_write_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF0C.reg; - tmp &= ~CAN_RXF0C_F0SA_Msk; - tmp |= CAN_RXF0C_F0SA(data); - ((Can *)hw)->RXF0C.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg &= ~CAN_RXF0C_F0SA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg ^= CAN_RXF0C_F0SA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0c_reg_t hri_can_read_RXF0C_F0SA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0C.reg; - tmp = (tmp & CAN_RXF0C_F0SA_Msk) >> CAN_RXF0C_F0SA_Pos; - return tmp; -} - -static inline void hri_can_set_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg |= CAN_RXF0C_F0S(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0c_reg_t hri_can_get_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0C.reg; - tmp = (tmp & CAN_RXF0C_F0S(mask)) >> CAN_RXF0C_F0S_Pos; - return tmp; -} - -static inline void hri_can_write_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF0C.reg; - tmp &= ~CAN_RXF0C_F0S_Msk; - tmp |= CAN_RXF0C_F0S(data); - ((Can *)hw)->RXF0C.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg &= ~CAN_RXF0C_F0S(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg ^= CAN_RXF0C_F0S(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0c_reg_t hri_can_read_RXF0C_F0S_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0C.reg; - tmp = (tmp & CAN_RXF0C_F0S_Msk) >> CAN_RXF0C_F0S_Pos; - return tmp; -} - -static inline void hri_can_set_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg |= CAN_RXF0C_F0WM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0c_reg_t hri_can_get_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0C.reg; - tmp = (tmp & CAN_RXF0C_F0WM(mask)) >> CAN_RXF0C_F0WM_Pos; - return tmp; -} - -static inline void hri_can_write_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF0C.reg; - tmp &= ~CAN_RXF0C_F0WM_Msk; - tmp |= CAN_RXF0C_F0WM(data); - ((Can *)hw)->RXF0C.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg &= ~CAN_RXF0C_F0WM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg ^= CAN_RXF0C_F0WM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0c_reg_t hri_can_read_RXF0C_F0WM_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0C.reg; - tmp = (tmp & CAN_RXF0C_F0WM_Msk) >> CAN_RXF0C_F0WM_Pos; - return tmp; -} - -static inline void hri_can_set_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0c_reg_t hri_can_get_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0C.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0C.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0c_reg_t hri_can_read_RXF0C_reg(const void *const hw) -{ - return ((Can *)hw)->RXF0C.reg; -} - -static inline void hri_can_set_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0A.reg |= CAN_RXF0A_F0AI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0a_reg_t hri_can_get_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0A.reg; - tmp = (tmp & CAN_RXF0A_F0AI(mask)) >> CAN_RXF0A_F0AI_Pos; - return tmp; -} - -static inline void hri_can_write_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF0A.reg; - tmp &= ~CAN_RXF0A_F0AI_Msk; - tmp |= CAN_RXF0A_F0AI(data); - ((Can *)hw)->RXF0A.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0A.reg &= ~CAN_RXF0A_F0AI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0A.reg ^= CAN_RXF0A_F0AI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0a_reg_t hri_can_read_RXF0A_F0AI_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0A.reg; - tmp = (tmp & CAN_RXF0A_F0AI_Msk) >> CAN_RXF0A_F0AI_Pos; - return tmp; -} - -static inline void hri_can_set_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0A.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0a_reg_t hri_can_get_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF0A.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0A.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0A.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF0A.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf0a_reg_t hri_can_read_RXF0A_reg(const void *const hw) -{ - return ((Can *)hw)->RXF0A.reg; -} - -static inline void hri_can_set_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXBC.reg |= CAN_RXBC_RBSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxbc_reg_t hri_can_get_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXBC.reg; - tmp = (tmp & CAN_RXBC_RBSA(mask)) >> CAN_RXBC_RBSA_Pos; - return tmp; -} - -static inline void hri_can_write_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXBC.reg; - tmp &= ~CAN_RXBC_RBSA_Msk; - tmp |= CAN_RXBC_RBSA(data); - ((Can *)hw)->RXBC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXBC.reg &= ~CAN_RXBC_RBSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXBC.reg ^= CAN_RXBC_RBSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxbc_reg_t hri_can_read_RXBC_RBSA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXBC.reg; - tmp = (tmp & CAN_RXBC_RBSA_Msk) >> CAN_RXBC_RBSA_Pos; - return tmp; -} - -static inline void hri_can_set_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXBC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxbc_reg_t hri_can_get_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXBC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXBC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXBC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXBC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxbc_reg_t hri_can_read_RXBC_reg(const void *const hw) -{ - return ((Can *)hw)->RXBC.reg; -} - -static inline void hri_can_set_RXF1C_F1OM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg |= CAN_RXF1C_F1OM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_RXF1C_F1OM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1C.reg; - tmp = (tmp & CAN_RXF1C_F1OM) >> CAN_RXF1C_F1OM_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_RXF1C_F1OM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF1C.reg; - tmp &= ~CAN_RXF1C_F1OM; - tmp |= value << CAN_RXF1C_F1OM_Pos; - ((Can *)hw)->RXF1C.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF1C_F1OM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg &= ~CAN_RXF1C_F1OM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF1C_F1OM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg ^= CAN_RXF1C_F1OM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg |= CAN_RXF1C_F1SA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1c_reg_t hri_can_get_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1C.reg; - tmp = (tmp & CAN_RXF1C_F1SA(mask)) >> CAN_RXF1C_F1SA_Pos; - return tmp; -} - -static inline void hri_can_write_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF1C.reg; - tmp &= ~CAN_RXF1C_F1SA_Msk; - tmp |= CAN_RXF1C_F1SA(data); - ((Can *)hw)->RXF1C.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg &= ~CAN_RXF1C_F1SA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg ^= CAN_RXF1C_F1SA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1c_reg_t hri_can_read_RXF1C_F1SA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1C.reg; - tmp = (tmp & CAN_RXF1C_F1SA_Msk) >> CAN_RXF1C_F1SA_Pos; - return tmp; -} - -static inline void hri_can_set_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg |= CAN_RXF1C_F1S(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1c_reg_t hri_can_get_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1C.reg; - tmp = (tmp & CAN_RXF1C_F1S(mask)) >> CAN_RXF1C_F1S_Pos; - return tmp; -} - -static inline void hri_can_write_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF1C.reg; - tmp &= ~CAN_RXF1C_F1S_Msk; - tmp |= CAN_RXF1C_F1S(data); - ((Can *)hw)->RXF1C.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg &= ~CAN_RXF1C_F1S(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg ^= CAN_RXF1C_F1S(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1c_reg_t hri_can_read_RXF1C_F1S_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1C.reg; - tmp = (tmp & CAN_RXF1C_F1S_Msk) >> CAN_RXF1C_F1S_Pos; - return tmp; -} - -static inline void hri_can_set_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg |= CAN_RXF1C_F1WM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1c_reg_t hri_can_get_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1C.reg; - tmp = (tmp & CAN_RXF1C_F1WM(mask)) >> CAN_RXF1C_F1WM_Pos; - return tmp; -} - -static inline void hri_can_write_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF1C.reg; - tmp &= ~CAN_RXF1C_F1WM_Msk; - tmp |= CAN_RXF1C_F1WM(data); - ((Can *)hw)->RXF1C.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg &= ~CAN_RXF1C_F1WM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg ^= CAN_RXF1C_F1WM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1c_reg_t hri_can_read_RXF1C_F1WM_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1C.reg; - tmp = (tmp & CAN_RXF1C_F1WM_Msk) >> CAN_RXF1C_F1WM_Pos; - return tmp; -} - -static inline void hri_can_set_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1c_reg_t hri_can_get_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1C.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1C.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1c_reg_t hri_can_read_RXF1C_reg(const void *const hw) -{ - return ((Can *)hw)->RXF1C.reg; -} - -static inline void hri_can_set_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1A.reg |= CAN_RXF1A_F1AI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1a_reg_t hri_can_get_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1A.reg; - tmp = (tmp & CAN_RXF1A_F1AI(mask)) >> CAN_RXF1A_F1AI_Pos; - return tmp; -} - -static inline void hri_can_write_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXF1A.reg; - tmp &= ~CAN_RXF1A_F1AI_Msk; - tmp |= CAN_RXF1A_F1AI(data); - ((Can *)hw)->RXF1A.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1A.reg &= ~CAN_RXF1A_F1AI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1A.reg ^= CAN_RXF1A_F1AI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1a_reg_t hri_can_read_RXF1A_F1AI_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1A.reg; - tmp = (tmp & CAN_RXF1A_F1AI_Msk) >> CAN_RXF1A_F1AI_Pos; - return tmp; -} - -static inline void hri_can_set_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1A.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1a_reg_t hri_can_get_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXF1A.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1A.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1A.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXF1A.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxf1a_reg_t hri_can_read_RXF1A_reg(const void *const hw) -{ - return ((Can *)hw)->RXF1A.reg; -} - -static inline void hri_can_set_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg |= CAN_RXESC_F0DS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxesc_reg_t hri_can_get_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXESC.reg; - tmp = (tmp & CAN_RXESC_F0DS(mask)) >> CAN_RXESC_F0DS_Pos; - return tmp; -} - -static inline void hri_can_write_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXESC.reg; - tmp &= ~CAN_RXESC_F0DS_Msk; - tmp |= CAN_RXESC_F0DS(data); - ((Can *)hw)->RXESC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg &= ~CAN_RXESC_F0DS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg ^= CAN_RXESC_F0DS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxesc_reg_t hri_can_read_RXESC_F0DS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXESC.reg; - tmp = (tmp & CAN_RXESC_F0DS_Msk) >> CAN_RXESC_F0DS_Pos; - return tmp; -} - -static inline void hri_can_set_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg |= CAN_RXESC_F1DS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxesc_reg_t hri_can_get_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXESC.reg; - tmp = (tmp & CAN_RXESC_F1DS(mask)) >> CAN_RXESC_F1DS_Pos; - return tmp; -} - -static inline void hri_can_write_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXESC.reg; - tmp &= ~CAN_RXESC_F1DS_Msk; - tmp |= CAN_RXESC_F1DS(data); - ((Can *)hw)->RXESC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg &= ~CAN_RXESC_F1DS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg ^= CAN_RXESC_F1DS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxesc_reg_t hri_can_read_RXESC_F1DS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXESC.reg; - tmp = (tmp & CAN_RXESC_F1DS_Msk) >> CAN_RXESC_F1DS_Pos; - return tmp; -} - -static inline void hri_can_set_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg |= CAN_RXESC_RBDS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxesc_reg_t hri_can_get_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXESC.reg; - tmp = (tmp & CAN_RXESC_RBDS(mask)) >> CAN_RXESC_RBDS_Pos; - return tmp; -} - -static inline void hri_can_write_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->RXESC.reg; - tmp &= ~CAN_RXESC_RBDS_Msk; - tmp |= CAN_RXESC_RBDS(data); - ((Can *)hw)->RXESC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg &= ~CAN_RXESC_RBDS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg ^= CAN_RXESC_RBDS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxesc_reg_t hri_can_read_RXESC_RBDS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXESC.reg; - tmp = (tmp & CAN_RXESC_RBDS_Msk) >> CAN_RXESC_RBDS_Pos; - return tmp; -} - -static inline void hri_can_set_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxesc_reg_t hri_can_get_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->RXESC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->RXESC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_rxesc_reg_t hri_can_read_RXESC_reg(const void *const hw) -{ - return ((Can *)hw)->RXESC.reg; -} - -static inline void hri_can_set_TXBC_TFQM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg |= CAN_TXBC_TFQM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBC_TFQM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBC.reg; - tmp = (tmp & CAN_TXBC_TFQM) >> CAN_TXBC_TFQM_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBC_TFQM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBC.reg; - tmp &= ~CAN_TXBC_TFQM; - tmp |= value << CAN_TXBC_TFQM_Pos; - ((Can *)hw)->TXBC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBC_TFQM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg &= ~CAN_TXBC_TFQM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBC_TFQM_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg ^= CAN_TXBC_TFQM; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg |= CAN_TXBC_TBSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbc_reg_t hri_can_get_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBC.reg; - tmp = (tmp & CAN_TXBC_TBSA(mask)) >> CAN_TXBC_TBSA_Pos; - return tmp; -} - -static inline void hri_can_write_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBC.reg; - tmp &= ~CAN_TXBC_TBSA_Msk; - tmp |= CAN_TXBC_TBSA(data); - ((Can *)hw)->TXBC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg &= ~CAN_TXBC_TBSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg ^= CAN_TXBC_TBSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbc_reg_t hri_can_read_TXBC_TBSA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBC.reg; - tmp = (tmp & CAN_TXBC_TBSA_Msk) >> CAN_TXBC_TBSA_Pos; - return tmp; -} - -static inline void hri_can_set_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg |= CAN_TXBC_NDTB(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbc_reg_t hri_can_get_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBC.reg; - tmp = (tmp & CAN_TXBC_NDTB(mask)) >> CAN_TXBC_NDTB_Pos; - return tmp; -} - -static inline void hri_can_write_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBC.reg; - tmp &= ~CAN_TXBC_NDTB_Msk; - tmp |= CAN_TXBC_NDTB(data); - ((Can *)hw)->TXBC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg &= ~CAN_TXBC_NDTB(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg ^= CAN_TXBC_NDTB(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbc_reg_t hri_can_read_TXBC_NDTB_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBC.reg; - tmp = (tmp & CAN_TXBC_NDTB_Msk) >> CAN_TXBC_NDTB_Pos; - return tmp; -} - -static inline void hri_can_set_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg |= CAN_TXBC_TFQS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbc_reg_t hri_can_get_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBC.reg; - tmp = (tmp & CAN_TXBC_TFQS(mask)) >> CAN_TXBC_TFQS_Pos; - return tmp; -} - -static inline void hri_can_write_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBC.reg; - tmp &= ~CAN_TXBC_TFQS_Msk; - tmp |= CAN_TXBC_TFQS(data); - ((Can *)hw)->TXBC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg &= ~CAN_TXBC_TFQS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg ^= CAN_TXBC_TFQS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbc_reg_t hri_can_read_TXBC_TFQS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBC.reg; - tmp = (tmp & CAN_TXBC_TFQS_Msk) >> CAN_TXBC_TFQS_Pos; - return tmp; -} - -static inline void hri_can_set_TXBC_reg(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbc_reg_t hri_can_get_TXBC_reg(const void *const hw, hri_can_txbc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TXBC_reg(const void *const hw, hri_can_txbc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBC_reg(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBC_reg(const void *const hw, hri_can_txbc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbc_reg_t hri_can_read_TXBC_reg(const void *const hw) -{ - return ((Can *)hw)->TXBC.reg; -} - -static inline void hri_can_set_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXESC.reg |= CAN_TXESC_TBDS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txesc_reg_t hri_can_get_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXESC.reg; - tmp = (tmp & CAN_TXESC_TBDS(mask)) >> CAN_TXESC_TBDS_Pos; - return tmp; -} - -static inline void hri_can_write_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXESC.reg; - tmp &= ~CAN_TXESC_TBDS_Msk; - tmp |= CAN_TXESC_TBDS(data); - ((Can *)hw)->TXESC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXESC.reg &= ~CAN_TXESC_TBDS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXESC.reg ^= CAN_TXESC_TBDS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txesc_reg_t hri_can_read_TXESC_TBDS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXESC.reg; - tmp = (tmp & CAN_TXESC_TBDS_Msk) >> CAN_TXESC_TBDS_Pos; - return tmp; -} - -static inline void hri_can_set_TXESC_reg(const void *const hw, hri_can_txesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXESC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txesc_reg_t hri_can_get_TXESC_reg(const void *const hw, hri_can_txesc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXESC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TXESC_reg(const void *const hw, hri_can_txesc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXESC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXESC_reg(const void *const hw, hri_can_txesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXESC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXESC_reg(const void *const hw, hri_can_txesc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXESC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txesc_reg_t hri_can_read_TXESC_reg(const void *const hw) -{ - return ((Can *)hw)->TXESC.reg; -} - -static inline void hri_can_set_TXBAR_AR0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR0) >> CAN_TXBAR_AR0_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR0; - tmp |= value << CAN_TXBAR_AR0_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR1) >> CAN_TXBAR_AR1_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR1; - tmp |= value << CAN_TXBAR_AR1_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR2) >> CAN_TXBAR_AR2_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR2; - tmp |= value << CAN_TXBAR_AR2_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR3) >> CAN_TXBAR_AR3_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR3; - tmp |= value << CAN_TXBAR_AR3_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR4) >> CAN_TXBAR_AR4_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR4; - tmp |= value << CAN_TXBAR_AR4_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR5) >> CAN_TXBAR_AR5_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR5; - tmp |= value << CAN_TXBAR_AR5_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR6) >> CAN_TXBAR_AR6_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR6; - tmp |= value << CAN_TXBAR_AR6_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR7) >> CAN_TXBAR_AR7_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR7; - tmp |= value << CAN_TXBAR_AR7_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR8_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR8) >> CAN_TXBAR_AR8_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR8_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR8; - tmp |= value << CAN_TXBAR_AR8_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR9_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR9) >> CAN_TXBAR_AR9_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR9_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR9; - tmp |= value << CAN_TXBAR_AR9_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR10_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR10) >> CAN_TXBAR_AR10_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR10_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR10; - tmp |= value << CAN_TXBAR_AR10_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR11_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR11) >> CAN_TXBAR_AR11_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR11_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR11; - tmp |= value << CAN_TXBAR_AR11_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR12_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR12) >> CAN_TXBAR_AR12_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR12_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR12; - tmp |= value << CAN_TXBAR_AR12_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR13_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR13) >> CAN_TXBAR_AR13_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR13_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR13; - tmp |= value << CAN_TXBAR_AR13_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR14_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR14) >> CAN_TXBAR_AR14_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR14_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR14; - tmp |= value << CAN_TXBAR_AR14_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR15_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR15) >> CAN_TXBAR_AR15_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR15_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR15; - tmp |= value << CAN_TXBAR_AR15_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR16_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR16) >> CAN_TXBAR_AR16_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR16_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR16; - tmp |= value << CAN_TXBAR_AR16_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR17_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR17) >> CAN_TXBAR_AR17_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR17_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR17; - tmp |= value << CAN_TXBAR_AR17_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR18_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR18) >> CAN_TXBAR_AR18_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR18_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR18; - tmp |= value << CAN_TXBAR_AR18_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR19_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR19) >> CAN_TXBAR_AR19_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR19_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR19; - tmp |= value << CAN_TXBAR_AR19_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR20_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR20) >> CAN_TXBAR_AR20_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR20_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR20; - tmp |= value << CAN_TXBAR_AR20_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR21_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR21) >> CAN_TXBAR_AR21_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR21_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR21; - tmp |= value << CAN_TXBAR_AR21_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR22_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR22) >> CAN_TXBAR_AR22_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR22_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR22; - tmp |= value << CAN_TXBAR_AR22_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR23_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR23) >> CAN_TXBAR_AR23_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR23_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR23; - tmp |= value << CAN_TXBAR_AR23_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR24_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR24) >> CAN_TXBAR_AR24_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR24_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR24; - tmp |= value << CAN_TXBAR_AR24_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR25_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR25) >> CAN_TXBAR_AR25_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR25_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR25; - tmp |= value << CAN_TXBAR_AR25_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR26_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR26) >> CAN_TXBAR_AR26_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR26_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR26; - tmp |= value << CAN_TXBAR_AR26_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR27_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR27) >> CAN_TXBAR_AR27_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR27_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR27; - tmp |= value << CAN_TXBAR_AR27_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR28_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR28) >> CAN_TXBAR_AR28_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR28_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR28; - tmp |= value << CAN_TXBAR_AR28_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR29_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR29) >> CAN_TXBAR_AR29_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR29_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR29; - tmp |= value << CAN_TXBAR_AR29_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR30_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR30) >> CAN_TXBAR_AR30_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR30_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR30; - tmp |= value << CAN_TXBAR_AR30_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_AR31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBAR_AR31_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp = (tmp & CAN_TXBAR_AR31) >> CAN_TXBAR_AR31_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBAR_AR31_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= ~CAN_TXBAR_AR31; - tmp |= value << CAN_TXBAR_AR31_Pos; - ((Can *)hw)->TXBAR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_AR31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_AR31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbar_reg_t hri_can_get_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBAR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBAR.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbar_reg_t hri_can_read_TXBAR_reg(const void *const hw) -{ - return ((Can *)hw)->TXBAR.reg; -} - -static inline void hri_can_set_TXBCR_CR0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR0) >> CAN_TXBCR_CR0_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR0; - tmp |= value << CAN_TXBCR_CR0_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR1) >> CAN_TXBCR_CR1_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR1; - tmp |= value << CAN_TXBCR_CR1_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR2) >> CAN_TXBCR_CR2_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR2; - tmp |= value << CAN_TXBCR_CR2_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR3) >> CAN_TXBCR_CR3_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR3; - tmp |= value << CAN_TXBCR_CR3_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR4) >> CAN_TXBCR_CR4_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR4; - tmp |= value << CAN_TXBCR_CR4_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR5) >> CAN_TXBCR_CR5_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR5; - tmp |= value << CAN_TXBCR_CR5_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR6) >> CAN_TXBCR_CR6_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR6; - tmp |= value << CAN_TXBCR_CR6_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR7) >> CAN_TXBCR_CR7_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR7; - tmp |= value << CAN_TXBCR_CR7_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR8_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR8) >> CAN_TXBCR_CR8_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR8_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR8; - tmp |= value << CAN_TXBCR_CR8_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR9_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR9) >> CAN_TXBCR_CR9_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR9_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR9; - tmp |= value << CAN_TXBCR_CR9_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR10_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR10) >> CAN_TXBCR_CR10_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR10_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR10; - tmp |= value << CAN_TXBCR_CR10_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR11_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR11) >> CAN_TXBCR_CR11_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR11_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR11; - tmp |= value << CAN_TXBCR_CR11_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR12_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR12) >> CAN_TXBCR_CR12_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR12_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR12; - tmp |= value << CAN_TXBCR_CR12_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR13_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR13) >> CAN_TXBCR_CR13_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR13_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR13; - tmp |= value << CAN_TXBCR_CR13_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR14_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR14) >> CAN_TXBCR_CR14_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR14_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR14; - tmp |= value << CAN_TXBCR_CR14_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR15_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR15) >> CAN_TXBCR_CR15_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR15_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR15; - tmp |= value << CAN_TXBCR_CR15_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR16_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR16) >> CAN_TXBCR_CR16_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR16_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR16; - tmp |= value << CAN_TXBCR_CR16_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR17_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR17) >> CAN_TXBCR_CR17_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR17_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR17; - tmp |= value << CAN_TXBCR_CR17_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR18_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR18) >> CAN_TXBCR_CR18_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR18_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR18; - tmp |= value << CAN_TXBCR_CR18_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR19_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR19) >> CAN_TXBCR_CR19_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR19_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR19; - tmp |= value << CAN_TXBCR_CR19_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR20_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR20) >> CAN_TXBCR_CR20_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR20_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR20; - tmp |= value << CAN_TXBCR_CR20_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR21_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR21) >> CAN_TXBCR_CR21_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR21_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR21; - tmp |= value << CAN_TXBCR_CR21_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR22_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR22) >> CAN_TXBCR_CR22_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR22_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR22; - tmp |= value << CAN_TXBCR_CR22_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR23_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR23) >> CAN_TXBCR_CR23_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR23_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR23; - tmp |= value << CAN_TXBCR_CR23_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR24_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR24) >> CAN_TXBCR_CR24_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR24_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR24; - tmp |= value << CAN_TXBCR_CR24_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR25_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR25) >> CAN_TXBCR_CR25_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR25_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR25; - tmp |= value << CAN_TXBCR_CR25_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR26_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR26) >> CAN_TXBCR_CR26_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR26_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR26; - tmp |= value << CAN_TXBCR_CR26_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR27_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR27) >> CAN_TXBCR_CR27_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR27_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR27; - tmp |= value << CAN_TXBCR_CR27_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR28_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR28) >> CAN_TXBCR_CR28_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR28_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR28; - tmp |= value << CAN_TXBCR_CR28_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR29_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR29) >> CAN_TXBCR_CR29_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR29_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR29; - tmp |= value << CAN_TXBCR_CR29_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR30_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR30) >> CAN_TXBCR_CR30_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR30_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR30; - tmp |= value << CAN_TXBCR_CR30_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_CR31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCR_CR31_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp = (tmp & CAN_TXBCR_CR31) >> CAN_TXBCR_CR31_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCR_CR31_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= ~CAN_TXBCR_CR31; - tmp |= value << CAN_TXBCR_CR31_Pos; - ((Can *)hw)->TXBCR.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_CR31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_CR31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbcr_reg_t hri_can_get_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCR.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbcr_reg_t hri_can_read_TXBCR_reg(const void *const hw) -{ - return ((Can *)hw)->TXBCR.reg; -} - -static inline void hri_can_set_TXBTIE_TIE0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE0) >> CAN_TXBTIE_TIE0_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE0; - tmp |= value << CAN_TXBTIE_TIE0_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE1) >> CAN_TXBTIE_TIE1_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE1; - tmp |= value << CAN_TXBTIE_TIE1_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE2) >> CAN_TXBTIE_TIE2_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE2; - tmp |= value << CAN_TXBTIE_TIE2_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE3) >> CAN_TXBTIE_TIE3_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE3; - tmp |= value << CAN_TXBTIE_TIE3_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE4) >> CAN_TXBTIE_TIE4_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE4; - tmp |= value << CAN_TXBTIE_TIE4_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE5) >> CAN_TXBTIE_TIE5_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE5; - tmp |= value << CAN_TXBTIE_TIE5_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE6) >> CAN_TXBTIE_TIE6_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE6; - tmp |= value << CAN_TXBTIE_TIE6_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE7) >> CAN_TXBTIE_TIE7_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE7; - tmp |= value << CAN_TXBTIE_TIE7_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE8_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE8) >> CAN_TXBTIE_TIE8_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE8_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE8; - tmp |= value << CAN_TXBTIE_TIE8_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE9_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE9) >> CAN_TXBTIE_TIE9_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE9_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE9; - tmp |= value << CAN_TXBTIE_TIE9_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE10_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE10) >> CAN_TXBTIE_TIE10_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE10_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE10; - tmp |= value << CAN_TXBTIE_TIE10_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE11_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE11) >> CAN_TXBTIE_TIE11_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE11_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE11; - tmp |= value << CAN_TXBTIE_TIE11_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE12_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE12) >> CAN_TXBTIE_TIE12_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE12_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE12; - tmp |= value << CAN_TXBTIE_TIE12_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE13_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE13) >> CAN_TXBTIE_TIE13_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE13_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE13; - tmp |= value << CAN_TXBTIE_TIE13_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE14_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE14) >> CAN_TXBTIE_TIE14_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE14_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE14; - tmp |= value << CAN_TXBTIE_TIE14_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE15_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE15) >> CAN_TXBTIE_TIE15_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE15_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE15; - tmp |= value << CAN_TXBTIE_TIE15_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE16_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE16) >> CAN_TXBTIE_TIE16_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE16_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE16; - tmp |= value << CAN_TXBTIE_TIE16_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE17_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE17) >> CAN_TXBTIE_TIE17_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE17_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE17; - tmp |= value << CAN_TXBTIE_TIE17_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE18_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE18) >> CAN_TXBTIE_TIE18_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE18_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE18; - tmp |= value << CAN_TXBTIE_TIE18_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE19_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE19) >> CAN_TXBTIE_TIE19_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE19_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE19; - tmp |= value << CAN_TXBTIE_TIE19_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE20_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE20) >> CAN_TXBTIE_TIE20_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE20_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE20; - tmp |= value << CAN_TXBTIE_TIE20_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE21_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE21) >> CAN_TXBTIE_TIE21_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE21_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE21; - tmp |= value << CAN_TXBTIE_TIE21_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE22_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE22) >> CAN_TXBTIE_TIE22_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE22_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE22; - tmp |= value << CAN_TXBTIE_TIE22_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE23_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE23) >> CAN_TXBTIE_TIE23_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE23_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE23; - tmp |= value << CAN_TXBTIE_TIE23_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE24_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE24) >> CAN_TXBTIE_TIE24_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE24_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE24; - tmp |= value << CAN_TXBTIE_TIE24_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE25_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE25) >> CAN_TXBTIE_TIE25_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE25_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE25; - tmp |= value << CAN_TXBTIE_TIE25_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE26_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE26) >> CAN_TXBTIE_TIE26_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE26_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE26; - tmp |= value << CAN_TXBTIE_TIE26_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE27_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE27) >> CAN_TXBTIE_TIE27_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE27_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE27; - tmp |= value << CAN_TXBTIE_TIE27_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE28_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE28) >> CAN_TXBTIE_TIE28_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE28_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE28; - tmp |= value << CAN_TXBTIE_TIE28_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE29_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE29) >> CAN_TXBTIE_TIE29_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE29_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE29; - tmp |= value << CAN_TXBTIE_TIE29_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE30_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE30) >> CAN_TXBTIE_TIE30_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE30_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE30; - tmp |= value << CAN_TXBTIE_TIE30_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_TIE31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBTIE_TIE31_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp = (tmp & CAN_TXBTIE_TIE31) >> CAN_TXBTIE_TIE31_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBTIE_TIE31_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= ~CAN_TXBTIE_TIE31; - tmp |= value << CAN_TXBTIE_TIE31_Pos; - ((Can *)hw)->TXBTIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_TIE31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_TIE31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbtie_reg_t hri_can_get_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBTIE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBTIE.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbtie_reg_t hri_can_read_TXBTIE_reg(const void *const hw) -{ - return ((Can *)hw)->TXBTIE.reg; -} - -static inline void hri_can_set_TXBCIE_CFIE0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE0) >> CAN_TXBCIE_CFIE0_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE0; - tmp |= value << CAN_TXBCIE_CFIE0_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE0_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE0; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE1) >> CAN_TXBCIE_CFIE1_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE1; - tmp |= value << CAN_TXBCIE_CFIE1_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE1_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE1; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE2) >> CAN_TXBCIE_CFIE2_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE2; - tmp |= value << CAN_TXBCIE_CFIE2_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE2_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE2; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE3) >> CAN_TXBCIE_CFIE3_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE3; - tmp |= value << CAN_TXBCIE_CFIE3_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE3_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE3; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE4) >> CAN_TXBCIE_CFIE4_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE4; - tmp |= value << CAN_TXBCIE_CFIE4_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE4_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE4; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE5) >> CAN_TXBCIE_CFIE5_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE5; - tmp |= value << CAN_TXBCIE_CFIE5_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE5_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE5; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE6) >> CAN_TXBCIE_CFIE6_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE6; - tmp |= value << CAN_TXBCIE_CFIE6_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE6_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE6; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE7) >> CAN_TXBCIE_CFIE7_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE7; - tmp |= value << CAN_TXBCIE_CFIE7_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE7_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE7; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE8_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE8) >> CAN_TXBCIE_CFIE8_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE8_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE8; - tmp |= value << CAN_TXBCIE_CFIE8_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE8_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE8; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE9_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE9) >> CAN_TXBCIE_CFIE9_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE9_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE9; - tmp |= value << CAN_TXBCIE_CFIE9_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE9_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE9; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE10_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE10) >> CAN_TXBCIE_CFIE10_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE10_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE10; - tmp |= value << CAN_TXBCIE_CFIE10_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE10_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE10; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE11_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE11) >> CAN_TXBCIE_CFIE11_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE11_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE11; - tmp |= value << CAN_TXBCIE_CFIE11_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE11_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE11; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE12_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE12) >> CAN_TXBCIE_CFIE12_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE12_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE12; - tmp |= value << CAN_TXBCIE_CFIE12_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE12_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE12; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE13_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE13) >> CAN_TXBCIE_CFIE13_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE13_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE13; - tmp |= value << CAN_TXBCIE_CFIE13_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE13_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE13; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE14_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE14) >> CAN_TXBCIE_CFIE14_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE14_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE14; - tmp |= value << CAN_TXBCIE_CFIE14_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE14_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE14; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE15_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE15) >> CAN_TXBCIE_CFIE15_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE15_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE15; - tmp |= value << CAN_TXBCIE_CFIE15_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE15_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE15; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE16_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE16) >> CAN_TXBCIE_CFIE16_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE16_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE16; - tmp |= value << CAN_TXBCIE_CFIE16_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE16_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE16; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE17_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE17) >> CAN_TXBCIE_CFIE17_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE17_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE17; - tmp |= value << CAN_TXBCIE_CFIE17_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE17_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE17; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE18_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE18) >> CAN_TXBCIE_CFIE18_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE18_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE18; - tmp |= value << CAN_TXBCIE_CFIE18_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE18_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE18; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE19_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE19) >> CAN_TXBCIE_CFIE19_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE19_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE19; - tmp |= value << CAN_TXBCIE_CFIE19_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE19_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE19; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE20_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE20) >> CAN_TXBCIE_CFIE20_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE20_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE20; - tmp |= value << CAN_TXBCIE_CFIE20_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE20_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE20; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE21_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE21) >> CAN_TXBCIE_CFIE21_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE21_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE21; - tmp |= value << CAN_TXBCIE_CFIE21_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE21_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE21; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE22_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE22) >> CAN_TXBCIE_CFIE22_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE22_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE22; - tmp |= value << CAN_TXBCIE_CFIE22_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE22_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE22; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE23_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE23) >> CAN_TXBCIE_CFIE23_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE23_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE23; - tmp |= value << CAN_TXBCIE_CFIE23_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE23_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE23; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE24_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE24) >> CAN_TXBCIE_CFIE24_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE24_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE24; - tmp |= value << CAN_TXBCIE_CFIE24_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE24_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE24; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE25_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE25) >> CAN_TXBCIE_CFIE25_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE25_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE25; - tmp |= value << CAN_TXBCIE_CFIE25_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE25_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE25; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE26_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE26) >> CAN_TXBCIE_CFIE26_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE26_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE26; - tmp |= value << CAN_TXBCIE_CFIE26_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE26_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE26; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE27_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE27) >> CAN_TXBCIE_CFIE27_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE27_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE27; - tmp |= value << CAN_TXBCIE_CFIE27_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE27_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE27; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE28_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE28) >> CAN_TXBCIE_CFIE28_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE28_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE28; - tmp |= value << CAN_TXBCIE_CFIE28_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE28_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE28; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE29_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE29) >> CAN_TXBCIE_CFIE29_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE29_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE29; - tmp |= value << CAN_TXBCIE_CFIE29_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE29_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE29; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE30_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE30) >> CAN_TXBCIE_CFIE30_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE30_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE30; - tmp |= value << CAN_TXBCIE_CFIE30_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE30_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE30; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_CFIE31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_can_get_TXBCIE_CFIE31_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp = (tmp & CAN_TXBCIE_CFIE31) >> CAN_TXBCIE_CFIE31_Pos; - return (bool)tmp; -} - -static inline void hri_can_write_TXBCIE_CFIE31_bit(const void *const hw, bool value) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= ~CAN_TXBCIE_CFIE31; - tmp |= value << CAN_TXBCIE_CFIE31_Pos; - ((Can *)hw)->TXBCIE.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_CFIE31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_CFIE31_bit(const void *const hw) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE31; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_set_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbcie_reg_t hri_can_get_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXBCIE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXBCIE.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txbcie_reg_t hri_can_read_TXBCIE_reg(const void *const hw) -{ - return ((Can *)hw)->TXBCIE.reg; -} - -static inline void hri_can_set_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg |= CAN_TXEFC_EFSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefc_reg_t hri_can_get_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFC.reg; - tmp = (tmp & CAN_TXEFC_EFSA(mask)) >> CAN_TXEFC_EFSA_Pos; - return tmp; -} - -static inline void hri_can_write_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXEFC.reg; - tmp &= ~CAN_TXEFC_EFSA_Msk; - tmp |= CAN_TXEFC_EFSA(data); - ((Can *)hw)->TXEFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg &= ~CAN_TXEFC_EFSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg ^= CAN_TXEFC_EFSA(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefc_reg_t hri_can_read_TXEFC_EFSA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFC.reg; - tmp = (tmp & CAN_TXEFC_EFSA_Msk) >> CAN_TXEFC_EFSA_Pos; - return tmp; -} - -static inline void hri_can_set_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg |= CAN_TXEFC_EFS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefc_reg_t hri_can_get_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFC.reg; - tmp = (tmp & CAN_TXEFC_EFS(mask)) >> CAN_TXEFC_EFS_Pos; - return tmp; -} - -static inline void hri_can_write_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXEFC.reg; - tmp &= ~CAN_TXEFC_EFS_Msk; - tmp |= CAN_TXEFC_EFS(data); - ((Can *)hw)->TXEFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg &= ~CAN_TXEFC_EFS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg ^= CAN_TXEFC_EFS(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefc_reg_t hri_can_read_TXEFC_EFS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFC.reg; - tmp = (tmp & CAN_TXEFC_EFS_Msk) >> CAN_TXEFC_EFS_Pos; - return tmp; -} - -static inline void hri_can_set_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg |= CAN_TXEFC_EFWM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefc_reg_t hri_can_get_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFC.reg; - tmp = (tmp & CAN_TXEFC_EFWM(mask)) >> CAN_TXEFC_EFWM_Pos; - return tmp; -} - -static inline void hri_can_write_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXEFC.reg; - tmp &= ~CAN_TXEFC_EFWM_Msk; - tmp |= CAN_TXEFC_EFWM(data); - ((Can *)hw)->TXEFC.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg &= ~CAN_TXEFC_EFWM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg ^= CAN_TXEFC_EFWM(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefc_reg_t hri_can_read_TXEFC_EFWM_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFC.reg; - tmp = (tmp & CAN_TXEFC_EFWM_Msk) >> CAN_TXEFC_EFWM_Pos; - return tmp; -} - -static inline void hri_can_set_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefc_reg_t hri_can_get_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFC.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefc_reg_t hri_can_read_TXEFC_reg(const void *const hw) -{ - return ((Can *)hw)->TXEFC.reg; -} - -static inline void hri_can_set_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFA.reg |= CAN_TXEFA_EFAI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefa_reg_t hri_can_get_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFA.reg; - tmp = (tmp & CAN_TXEFA_EFAI(mask)) >> CAN_TXEFA_EFAI_Pos; - return tmp; -} - -static inline void hri_can_write_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t data) -{ - uint32_t tmp; - CAN_CRITICAL_SECTION_ENTER(); - tmp = ((Can *)hw)->TXEFA.reg; - tmp &= ~CAN_TXEFA_EFAI_Msk; - tmp |= CAN_TXEFA_EFAI(data); - ((Can *)hw)->TXEFA.reg = tmp; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFA.reg &= ~CAN_TXEFA_EFAI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFA.reg ^= CAN_TXEFA_EFAI(mask); - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefa_reg_t hri_can_read_TXEFA_EFAI_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFA.reg; - tmp = (tmp & CAN_TXEFA_EFAI_Msk) >> CAN_TXEFA_EFAI_Pos; - return tmp; -} - -static inline void hri_can_set_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFA.reg |= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefa_reg_t hri_can_get_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t mask) -{ - uint32_t tmp; - tmp = ((Can *)hw)->TXEFA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_can_write_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t data) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFA.reg = data; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_clear_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFA.reg &= ~mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_can_toggle_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t mask) -{ - CAN_CRITICAL_SECTION_ENTER(); - ((Can *)hw)->TXEFA.reg ^= mask; - CAN_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_can_txefa_reg_t hri_can_read_TXEFA_reg(const void *const hw) -{ - return ((Can *)hw)->TXEFA.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_CAN_E54_H_INCLUDED */ -#endif /* _SAME54_CAN_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_ccl_e54.h b/software/firmware/oracle_same54n19a/hri/hri_ccl_e54.h deleted file mode 100644 index c5c4867..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_ccl_e54.h +++ /dev/null @@ -1,776 +0,0 @@ -/** - * \file - * - * \brief SAM CCL - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_CCL_COMPONENT_ -#ifndef _HRI_CCL_E54_H_INCLUDED_ -#define _HRI_CCL_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_CCL_CRITICAL_SECTIONS) -#define CCL_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define CCL_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define CCL_CRITICAL_SECTION_ENTER() -#define CCL_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_ccl_lutctrl_reg_t; -typedef uint8_t hri_ccl_ctrl_reg_t; -typedef uint8_t hri_ccl_seqctrl_reg_t; - -static inline void hri_ccl_set_CTRL_SWRST_bit(const void *const hw) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg |= CCL_CTRL_SWRST; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ccl_get_CTRL_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Ccl *)hw)->CTRL.reg; - tmp = (tmp & CCL_CTRL_SWRST) >> CCL_CTRL_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_ccl_set_CTRL_ENABLE_bit(const void *const hw) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg |= CCL_CTRL_ENABLE; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ccl_get_CTRL_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Ccl *)hw)->CTRL.reg; - tmp = (tmp & CCL_CTRL_ENABLE) >> CCL_CTRL_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_ccl_write_CTRL_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->CTRL.reg; - tmp &= ~CCL_CTRL_ENABLE; - tmp |= value << CCL_CTRL_ENABLE_Pos; - ((Ccl *)hw)->CTRL.reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_CTRL_ENABLE_bit(const void *const hw) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg &= ~CCL_CTRL_ENABLE; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_CTRL_ENABLE_bit(const void *const hw) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg ^= CCL_CTRL_ENABLE; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_set_CTRL_RUNSTDBY_bit(const void *const hw) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg |= CCL_CTRL_RUNSTDBY; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ccl_get_CTRL_RUNSTDBY_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Ccl *)hw)->CTRL.reg; - tmp = (tmp & CCL_CTRL_RUNSTDBY) >> CCL_CTRL_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_ccl_write_CTRL_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint8_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->CTRL.reg; - tmp &= ~CCL_CTRL_RUNSTDBY; - tmp |= value << CCL_CTRL_RUNSTDBY_Pos; - ((Ccl *)hw)->CTRL.reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_CTRL_RUNSTDBY_bit(const void *const hw) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg &= ~CCL_CTRL_RUNSTDBY; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_CTRL_RUNSTDBY_bit(const void *const hw) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg ^= CCL_CTRL_RUNSTDBY; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_set_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg |= mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_ctrl_reg_t hri_ccl_get_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ccl *)hw)->CTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ccl_write_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t data) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg = data; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg &= ~mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->CTRL.reg ^= mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_ctrl_reg_t hri_ccl_read_CTRL_reg(const void *const hw) -{ - return ((Ccl *)hw)->CTRL.reg; -} - -static inline void hri_ccl_set_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->SEQCTRL[index].reg |= CCL_SEQCTRL_SEQSEL(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_seqctrl_reg_t hri_ccl_get_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, - hri_ccl_seqctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ccl *)hw)->SEQCTRL[index].reg; - tmp = (tmp & CCL_SEQCTRL_SEQSEL(mask)) >> CCL_SEQCTRL_SEQSEL_Pos; - return tmp; -} - -static inline void hri_ccl_write_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t data) -{ - uint8_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->SEQCTRL[index].reg; - tmp &= ~CCL_SEQCTRL_SEQSEL_Msk; - tmp |= CCL_SEQCTRL_SEQSEL(data); - ((Ccl *)hw)->SEQCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->SEQCTRL[index].reg &= ~CCL_SEQCTRL_SEQSEL(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->SEQCTRL[index].reg ^= CCL_SEQCTRL_SEQSEL(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_seqctrl_reg_t hri_ccl_read_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((Ccl *)hw)->SEQCTRL[index].reg; - tmp = (tmp & CCL_SEQCTRL_SEQSEL_Msk) >> CCL_SEQCTRL_SEQSEL_Pos; - return tmp; -} - -static inline void hri_ccl_set_SEQCTRL_reg(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->SEQCTRL[index].reg |= mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_seqctrl_reg_t hri_ccl_get_SEQCTRL_reg(const void *const hw, uint8_t index, - hri_ccl_seqctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ccl *)hw)->SEQCTRL[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ccl_write_SEQCTRL_reg(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t data) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->SEQCTRL[index].reg = data; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_SEQCTRL_reg(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->SEQCTRL[index].reg &= ~mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_SEQCTRL_reg(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->SEQCTRL[index].reg ^= mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_seqctrl_reg_t hri_ccl_read_SEQCTRL_reg(const void *const hw, uint8_t index) -{ - return ((Ccl *)hw)->SEQCTRL[index].reg; -} - -static inline void hri_ccl_set_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_ENABLE; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ccl_get_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_ENABLE) >> CCL_LUTCTRL_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_ccl_write_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_ENABLE; - tmp |= value << CCL_LUTCTRL_ENABLE_Pos; - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_ENABLE; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_ENABLE; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_set_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_EDGESEL; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ccl_get_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_EDGESEL) >> CCL_LUTCTRL_EDGESEL_Pos; - return (bool)tmp; -} - -static inline void hri_ccl_write_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_EDGESEL; - tmp |= value << CCL_LUTCTRL_EDGESEL_Pos; - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_EDGESEL; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_EDGESEL; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_set_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_INVEI; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ccl_get_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_INVEI) >> CCL_LUTCTRL_INVEI_Pos; - return (bool)tmp; -} - -static inline void hri_ccl_write_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_INVEI; - tmp |= value << CCL_LUTCTRL_INVEI_Pos; - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_INVEI; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_INVEI; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_set_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_LUTEI; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ccl_get_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_LUTEI) >> CCL_LUTCTRL_LUTEI_Pos; - return (bool)tmp; -} - -static inline void hri_ccl_write_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_LUTEI; - tmp |= value << CCL_LUTCTRL_LUTEI_Pos; - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_LUTEI; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_LUTEI; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_set_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_LUTEO; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ccl_get_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_LUTEO) >> CCL_LUTCTRL_LUTEO_Pos; - return (bool)tmp; -} - -static inline void hri_ccl_write_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_LUTEO; - tmp |= value << CCL_LUTCTRL_LUTEO_Pos; - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_LUTEO; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_LUTEO; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_set_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_FILTSEL(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, - hri_ccl_lutctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_FILTSEL(mask)) >> CCL_LUTCTRL_FILTSEL_Pos; - return tmp; -} - -static inline void hri_ccl_write_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_FILTSEL_Msk; - tmp |= CCL_LUTCTRL_FILTSEL(data); - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_FILTSEL(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_FILTSEL(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_FILTSEL_Msk) >> CCL_LUTCTRL_FILTSEL_Pos; - return tmp; -} - -static inline void hri_ccl_set_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_INSEL0(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, - hri_ccl_lutctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_INSEL0(mask)) >> CCL_LUTCTRL_INSEL0_Pos; - return tmp; -} - -static inline void hri_ccl_write_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_INSEL0_Msk; - tmp |= CCL_LUTCTRL_INSEL0(data); - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_INSEL0(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_INSEL0(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_INSEL0_Msk) >> CCL_LUTCTRL_INSEL0_Pos; - return tmp; -} - -static inline void hri_ccl_set_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_INSEL1(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, - hri_ccl_lutctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_INSEL1(mask)) >> CCL_LUTCTRL_INSEL1_Pos; - return tmp; -} - -static inline void hri_ccl_write_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_INSEL1_Msk; - tmp |= CCL_LUTCTRL_INSEL1(data); - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_INSEL1(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_INSEL1(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_INSEL1_Msk) >> CCL_LUTCTRL_INSEL1_Pos; - return tmp; -} - -static inline void hri_ccl_set_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_INSEL2(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, - hri_ccl_lutctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_INSEL2(mask)) >> CCL_LUTCTRL_INSEL2_Pos; - return tmp; -} - -static inline void hri_ccl_write_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_INSEL2_Msk; - tmp |= CCL_LUTCTRL_INSEL2(data); - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_INSEL2(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_INSEL2(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_INSEL2_Msk) >> CCL_LUTCTRL_INSEL2_Pos; - return tmp; -} - -static inline void hri_ccl_set_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_TRUTH(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, - hri_ccl_lutctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_TRUTH(mask)) >> CCL_LUTCTRL_TRUTH_Pos; - return tmp; -} - -static inline void hri_ccl_write_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data) -{ - uint32_t tmp; - CCL_CRITICAL_SECTION_ENTER(); - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= ~CCL_LUTCTRL_TRUTH_Msk; - tmp |= CCL_LUTCTRL_TRUTH(data); - ((Ccl *)hw)->LUTCTRL[index].reg = tmp; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_TRUTH(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_TRUTH(mask); - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp = (tmp & CCL_LUTCTRL_TRUTH_Msk) >> CCL_LUTCTRL_TRUTH_Pos; - return tmp; -} - -static inline void hri_ccl_set_LUTCTRL_reg(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg |= mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_reg(const void *const hw, uint8_t index, - hri_ccl_lutctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ccl *)hw)->LUTCTRL[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ccl_write_LUTCTRL_reg(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg = data; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_clear_LUTCTRL_reg(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg &= ~mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ccl_toggle_LUTCTRL_reg(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask) -{ - CCL_CRITICAL_SECTION_ENTER(); - ((Ccl *)hw)->LUTCTRL[index].reg ^= mask; - CCL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_reg(const void *const hw, uint8_t index) -{ - return ((Ccl *)hw)->LUTCTRL[index].reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_CCL_E54_H_INCLUDED */ -#endif /* _SAME54_CCL_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_cmcc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_cmcc_e54.h deleted file mode 100644 index c973d35..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_cmcc_e54.h +++ /dev/null @@ -1,361 +0,0 @@ -/** - * \file - * - * \brief SAM CMCC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_CMCC_COMPONENT_ -#ifndef _HRI_CMCC_E54_H_INCLUDED_ -#define _HRI_CMCC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_CMCC_CRITICAL_SECTIONS) -#define CMCC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define CMCC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define CMCC_CRITICAL_SECTION_ENTER() -#define CMCC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_cmcc_cfg_reg_t; -typedef uint32_t hri_cmcc_ctrl_reg_t; -typedef uint32_t hri_cmcc_lckway_reg_t; -typedef uint32_t hri_cmcc_maint0_reg_t; -typedef uint32_t hri_cmcc_maint1_reg_t; -typedef uint32_t hri_cmcc_mcfg_reg_t; -typedef uint32_t hri_cmcc_mctrl_reg_t; -typedef uint32_t hri_cmcc_men_reg_t; -typedef uint32_t hri_cmcc_msr_reg_t; -typedef uint32_t hri_cmcc_sr_reg_t; -typedef uint32_t hri_cmcc_type_reg_t; - -static inline bool hri_cmcc_get_TYPE_GCLK_bit(const void *const hw) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_GCLK) >> CMCC_TYPE_GCLK_Pos; -} - -static inline bool hri_cmcc_get_TYPE_RRP_bit(const void *const hw) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_RRP) >> CMCC_TYPE_RRP_Pos; -} - -static inline bool hri_cmcc_get_TYPE_LCKDOWN_bit(const void *const hw) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_LCKDOWN) >> CMCC_TYPE_LCKDOWN_Pos; -} - -static inline hri_cmcc_type_reg_t hri_cmcc_get_TYPE_WAYNUM_bf(const void *const hw, hri_cmcc_type_reg_t mask) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_WAYNUM(mask)) >> CMCC_TYPE_WAYNUM_Pos; -} - -static inline hri_cmcc_type_reg_t hri_cmcc_read_TYPE_WAYNUM_bf(const void *const hw) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_WAYNUM_Msk) >> CMCC_TYPE_WAYNUM_Pos; -} - -static inline hri_cmcc_type_reg_t hri_cmcc_get_TYPE_CSIZE_bf(const void *const hw, hri_cmcc_type_reg_t mask) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_CSIZE(mask)) >> CMCC_TYPE_CSIZE_Pos; -} - -static inline hri_cmcc_type_reg_t hri_cmcc_read_TYPE_CSIZE_bf(const void *const hw) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_CSIZE_Msk) >> CMCC_TYPE_CSIZE_Pos; -} - -static inline hri_cmcc_type_reg_t hri_cmcc_get_TYPE_CLSIZE_bf(const void *const hw, hri_cmcc_type_reg_t mask) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_CLSIZE(mask)) >> CMCC_TYPE_CLSIZE_Pos; -} - -static inline hri_cmcc_type_reg_t hri_cmcc_read_TYPE_CLSIZE_bf(const void *const hw) -{ - return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_CLSIZE_Msk) >> CMCC_TYPE_CLSIZE_Pos; -} - -static inline hri_cmcc_type_reg_t hri_cmcc_get_TYPE_reg(const void *const hw, hri_cmcc_type_reg_t mask) -{ - uint32_t tmp; - tmp = ((Cmcc *)hw)->TYPE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_cmcc_type_reg_t hri_cmcc_read_TYPE_reg(const void *const hw) -{ - return ((Cmcc *)hw)->TYPE.reg; -} - -static inline bool hri_cmcc_get_SR_CSTS_bit(const void *const hw) -{ - return (((Cmcc *)hw)->SR.reg & CMCC_SR_CSTS) >> CMCC_SR_CSTS_Pos; -} - -static inline hri_cmcc_sr_reg_t hri_cmcc_get_SR_reg(const void *const hw, hri_cmcc_sr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Cmcc *)hw)->SR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_cmcc_sr_reg_t hri_cmcc_read_SR_reg(const void *const hw) -{ - return ((Cmcc *)hw)->SR.reg; -} - -static inline hri_cmcc_msr_reg_t hri_cmcc_get_MSR_EVENT_CNT_bf(const void *const hw, hri_cmcc_msr_reg_t mask) -{ - return (((Cmcc *)hw)->MSR.reg & CMCC_MSR_EVENT_CNT(mask)) >> CMCC_MSR_EVENT_CNT_Pos; -} - -static inline hri_cmcc_msr_reg_t hri_cmcc_read_MSR_EVENT_CNT_bf(const void *const hw) -{ - return (((Cmcc *)hw)->MSR.reg & CMCC_MSR_EVENT_CNT_Msk) >> CMCC_MSR_EVENT_CNT_Pos; -} - -static inline hri_cmcc_msr_reg_t hri_cmcc_get_MSR_reg(const void *const hw, hri_cmcc_msr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Cmcc *)hw)->MSR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_cmcc_msr_reg_t hri_cmcc_read_MSR_reg(const void *const hw) -{ - return ((Cmcc *)hw)->MSR.reg; -} - -static inline void hri_cmcc_set_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->CFG.reg |= mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_cmcc_cfg_reg_t hri_cmcc_get_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Cmcc *)hw)->CFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_cmcc_write_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t data) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->CFG.reg = data; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_clear_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->CFG.reg &= ~mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_toggle_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->CFG.reg ^= mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_cmcc_cfg_reg_t hri_cmcc_read_CFG_reg(const void *const hw) -{ - return ((Cmcc *)hw)->CFG.reg; -} - -static inline void hri_cmcc_set_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->LCKWAY.reg |= mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_cmcc_lckway_reg_t hri_cmcc_get_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t mask) -{ - uint32_t tmp; - tmp = ((Cmcc *)hw)->LCKWAY.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_cmcc_write_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t data) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->LCKWAY.reg = data; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_clear_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->LCKWAY.reg &= ~mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_toggle_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->LCKWAY.reg ^= mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_cmcc_lckway_reg_t hri_cmcc_read_LCKWAY_reg(const void *const hw) -{ - return ((Cmcc *)hw)->LCKWAY.reg; -} - -static inline void hri_cmcc_set_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MCFG.reg |= mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_cmcc_mcfg_reg_t hri_cmcc_get_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Cmcc *)hw)->MCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_cmcc_write_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t data) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MCFG.reg = data; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_clear_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MCFG.reg &= ~mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_toggle_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MCFG.reg ^= mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_cmcc_mcfg_reg_t hri_cmcc_read_MCFG_reg(const void *const hw) -{ - return ((Cmcc *)hw)->MCFG.reg; -} - -static inline void hri_cmcc_set_MEN_reg(const void *const hw, hri_cmcc_men_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MEN.reg |= mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_cmcc_men_reg_t hri_cmcc_get_MEN_reg(const void *const hw, hri_cmcc_men_reg_t mask) -{ - uint32_t tmp; - tmp = ((Cmcc *)hw)->MEN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_cmcc_write_MEN_reg(const void *const hw, hri_cmcc_men_reg_t data) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MEN.reg = data; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_clear_MEN_reg(const void *const hw, hri_cmcc_men_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MEN.reg &= ~mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_toggle_MEN_reg(const void *const hw, hri_cmcc_men_reg_t mask) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MEN.reg ^= mask; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_cmcc_men_reg_t hri_cmcc_read_MEN_reg(const void *const hw) -{ - return ((Cmcc *)hw)->MEN.reg; -} - -static inline void hri_cmcc_write_CTRL_reg(const void *const hw, hri_cmcc_ctrl_reg_t data) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->CTRL.reg = data; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_write_MAINT0_reg(const void *const hw, hri_cmcc_maint0_reg_t data) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MAINT0.reg = data; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_write_MAINT1_reg(const void *const hw, hri_cmcc_maint1_reg_t data) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MAINT1.reg = data; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_cmcc_write_MCTRL_reg(const void *const hw, hri_cmcc_mctrl_reg_t data) -{ - CMCC_CRITICAL_SECTION_ENTER(); - ((Cmcc *)hw)->MCTRL.reg = data; - CMCC_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_CMCC_E54_H_INCLUDED */ -#endif /* _SAME54_CMCC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_dac_e54.h b/software/firmware/oracle_same54n19a/hri/hri_dac_e54.h deleted file mode 100644 index 911dd52..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_dac_e54.h +++ /dev/null @@ -1,1706 +0,0 @@ -/** - * \file - * - * \brief SAM DAC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_DAC_COMPONENT_ -#ifndef _HRI_DAC_E54_H_INCLUDED_ -#define _HRI_DAC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_DAC_CRITICAL_SECTIONS) -#define DAC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define DAC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define DAC_CRITICAL_SECTION_ENTER() -#define DAC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_dac_dacctrl_reg_t; -typedef uint16_t hri_dac_data_reg_t; -typedef uint16_t hri_dac_databuf_reg_t; -typedef uint16_t hri_dac_result_reg_t; -typedef uint32_t hri_dac_syncbusy_reg_t; -typedef uint8_t hri_dac_ctrla_reg_t; -typedef uint8_t hri_dac_ctrlb_reg_t; -typedef uint8_t hri_dac_dbgctrl_reg_t; -typedef uint8_t hri_dac_evctrl_reg_t; -typedef uint8_t hri_dac_intenset_reg_t; -typedef uint8_t hri_dac_intflag_reg_t; -typedef uint8_t hri_dac_status_reg_t; - -static inline void hri_dac_wait_for_sync(const void *const hw, hri_dac_syncbusy_reg_t reg) -{ - while (((Dac *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_dac_is_syncing(const void *const hw, hri_dac_syncbusy_reg_t reg) -{ - return ((Dac *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_dac_get_INTFLAG_UNDERRUN0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_UNDERRUN0) >> DAC_INTFLAG_UNDERRUN0_Pos; -} - -static inline void hri_dac_clear_INTFLAG_UNDERRUN0_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_UNDERRUN0; -} - -static inline bool hri_dac_get_INTFLAG_UNDERRUN1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_UNDERRUN1) >> DAC_INTFLAG_UNDERRUN1_Pos; -} - -static inline void hri_dac_clear_INTFLAG_UNDERRUN1_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_UNDERRUN1; -} - -static inline bool hri_dac_get_INTFLAG_EMPTY0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_EMPTY0) >> DAC_INTFLAG_EMPTY0_Pos; -} - -static inline void hri_dac_clear_INTFLAG_EMPTY0_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_EMPTY0; -} - -static inline bool hri_dac_get_INTFLAG_EMPTY1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_EMPTY1) >> DAC_INTFLAG_EMPTY1_Pos; -} - -static inline void hri_dac_clear_INTFLAG_EMPTY1_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_EMPTY1; -} - -static inline bool hri_dac_get_INTFLAG_RESRDY0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_RESRDY0) >> DAC_INTFLAG_RESRDY0_Pos; -} - -static inline void hri_dac_clear_INTFLAG_RESRDY0_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_RESRDY0; -} - -static inline bool hri_dac_get_INTFLAG_RESRDY1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_RESRDY1) >> DAC_INTFLAG_RESRDY1_Pos; -} - -static inline void hri_dac_clear_INTFLAG_RESRDY1_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_RESRDY1; -} - -static inline bool hri_dac_get_INTFLAG_OVERRUN0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_OVERRUN0) >> DAC_INTFLAG_OVERRUN0_Pos; -} - -static inline void hri_dac_clear_INTFLAG_OVERRUN0_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_OVERRUN0; -} - -static inline bool hri_dac_get_INTFLAG_OVERRUN1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_OVERRUN1) >> DAC_INTFLAG_OVERRUN1_Pos; -} - -static inline void hri_dac_clear_INTFLAG_OVERRUN1_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_OVERRUN1; -} - -static inline bool hri_dac_get_interrupt_UNDERRUN0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_UNDERRUN0) >> DAC_INTFLAG_UNDERRUN0_Pos; -} - -static inline void hri_dac_clear_interrupt_UNDERRUN0_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_UNDERRUN0; -} - -static inline bool hri_dac_get_interrupt_UNDERRUN1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_UNDERRUN1) >> DAC_INTFLAG_UNDERRUN1_Pos; -} - -static inline void hri_dac_clear_interrupt_UNDERRUN1_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_UNDERRUN1; -} - -static inline bool hri_dac_get_interrupt_EMPTY0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_EMPTY0) >> DAC_INTFLAG_EMPTY0_Pos; -} - -static inline void hri_dac_clear_interrupt_EMPTY0_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_EMPTY0; -} - -static inline bool hri_dac_get_interrupt_EMPTY1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_EMPTY1) >> DAC_INTFLAG_EMPTY1_Pos; -} - -static inline void hri_dac_clear_interrupt_EMPTY1_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_EMPTY1; -} - -static inline bool hri_dac_get_interrupt_RESRDY0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_RESRDY0) >> DAC_INTFLAG_RESRDY0_Pos; -} - -static inline void hri_dac_clear_interrupt_RESRDY0_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_RESRDY0; -} - -static inline bool hri_dac_get_interrupt_RESRDY1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_RESRDY1) >> DAC_INTFLAG_RESRDY1_Pos; -} - -static inline void hri_dac_clear_interrupt_RESRDY1_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_RESRDY1; -} - -static inline bool hri_dac_get_interrupt_OVERRUN0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_OVERRUN0) >> DAC_INTFLAG_OVERRUN0_Pos; -} - -static inline void hri_dac_clear_interrupt_OVERRUN0_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_OVERRUN0; -} - -static inline bool hri_dac_get_interrupt_OVERRUN1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_OVERRUN1) >> DAC_INTFLAG_OVERRUN1_Pos; -} - -static inline void hri_dac_clear_interrupt_OVERRUN1_bit(const void *const hw) -{ - ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_OVERRUN1; -} - -static inline hri_dac_intflag_reg_t hri_dac_get_INTFLAG_reg(const void *const hw, hri_dac_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dac_intflag_reg_t hri_dac_read_INTFLAG_reg(const void *const hw) -{ - return ((Dac *)hw)->INTFLAG.reg; -} - -static inline void hri_dac_clear_INTFLAG_reg(const void *const hw, hri_dac_intflag_reg_t mask) -{ - ((Dac *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_dac_set_INTEN_UNDERRUN0_bit(const void *const hw) -{ - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_UNDERRUN0; -} - -static inline bool hri_dac_get_INTEN_UNDERRUN0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_UNDERRUN0) >> DAC_INTENSET_UNDERRUN0_Pos; -} - -static inline void hri_dac_write_INTEN_UNDERRUN0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_UNDERRUN0; - } else { - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_UNDERRUN0; - } -} - -static inline void hri_dac_clear_INTEN_UNDERRUN0_bit(const void *const hw) -{ - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_UNDERRUN0; -} - -static inline void hri_dac_set_INTEN_UNDERRUN1_bit(const void *const hw) -{ - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_UNDERRUN1; -} - -static inline bool hri_dac_get_INTEN_UNDERRUN1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_UNDERRUN1) >> DAC_INTENSET_UNDERRUN1_Pos; -} - -static inline void hri_dac_write_INTEN_UNDERRUN1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_UNDERRUN1; - } else { - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_UNDERRUN1; - } -} - -static inline void hri_dac_clear_INTEN_UNDERRUN1_bit(const void *const hw) -{ - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_UNDERRUN1; -} - -static inline void hri_dac_set_INTEN_EMPTY0_bit(const void *const hw) -{ - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_EMPTY0; -} - -static inline bool hri_dac_get_INTEN_EMPTY0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_EMPTY0) >> DAC_INTENSET_EMPTY0_Pos; -} - -static inline void hri_dac_write_INTEN_EMPTY0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_EMPTY0; - } else { - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_EMPTY0; - } -} - -static inline void hri_dac_clear_INTEN_EMPTY0_bit(const void *const hw) -{ - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_EMPTY0; -} - -static inline void hri_dac_set_INTEN_EMPTY1_bit(const void *const hw) -{ - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_EMPTY1; -} - -static inline bool hri_dac_get_INTEN_EMPTY1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_EMPTY1) >> DAC_INTENSET_EMPTY1_Pos; -} - -static inline void hri_dac_write_INTEN_EMPTY1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_EMPTY1; - } else { - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_EMPTY1; - } -} - -static inline void hri_dac_clear_INTEN_EMPTY1_bit(const void *const hw) -{ - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_EMPTY1; -} - -static inline void hri_dac_set_INTEN_RESRDY0_bit(const void *const hw) -{ - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_RESRDY0; -} - -static inline bool hri_dac_get_INTEN_RESRDY0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_RESRDY0) >> DAC_INTENSET_RESRDY0_Pos; -} - -static inline void hri_dac_write_INTEN_RESRDY0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_RESRDY0; - } else { - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_RESRDY0; - } -} - -static inline void hri_dac_clear_INTEN_RESRDY0_bit(const void *const hw) -{ - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_RESRDY0; -} - -static inline void hri_dac_set_INTEN_RESRDY1_bit(const void *const hw) -{ - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_RESRDY1; -} - -static inline bool hri_dac_get_INTEN_RESRDY1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_RESRDY1) >> DAC_INTENSET_RESRDY1_Pos; -} - -static inline void hri_dac_write_INTEN_RESRDY1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_RESRDY1; - } else { - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_RESRDY1; - } -} - -static inline void hri_dac_clear_INTEN_RESRDY1_bit(const void *const hw) -{ - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_RESRDY1; -} - -static inline void hri_dac_set_INTEN_OVERRUN0_bit(const void *const hw) -{ - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_OVERRUN0; -} - -static inline bool hri_dac_get_INTEN_OVERRUN0_bit(const void *const hw) -{ - return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_OVERRUN0) >> DAC_INTENSET_OVERRUN0_Pos; -} - -static inline void hri_dac_write_INTEN_OVERRUN0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_OVERRUN0; - } else { - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_OVERRUN0; - } -} - -static inline void hri_dac_clear_INTEN_OVERRUN0_bit(const void *const hw) -{ - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_OVERRUN0; -} - -static inline void hri_dac_set_INTEN_OVERRUN1_bit(const void *const hw) -{ - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_OVERRUN1; -} - -static inline bool hri_dac_get_INTEN_OVERRUN1_bit(const void *const hw) -{ - return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_OVERRUN1) >> DAC_INTENSET_OVERRUN1_Pos; -} - -static inline void hri_dac_write_INTEN_OVERRUN1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_OVERRUN1; - } else { - ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_OVERRUN1; - } -} - -static inline void hri_dac_clear_INTEN_OVERRUN1_bit(const void *const hw) -{ - ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_OVERRUN1; -} - -static inline void hri_dac_set_INTEN_reg(const void *const hw, hri_dac_intenset_reg_t mask) -{ - ((Dac *)hw)->INTENSET.reg = mask; -} - -static inline hri_dac_intenset_reg_t hri_dac_get_INTEN_reg(const void *const hw, hri_dac_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dac_intenset_reg_t hri_dac_read_INTEN_reg(const void *const hw) -{ - return ((Dac *)hw)->INTENSET.reg; -} - -static inline void hri_dac_write_INTEN_reg(const void *const hw, hri_dac_intenset_reg_t data) -{ - ((Dac *)hw)->INTENSET.reg = data; - ((Dac *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_dac_clear_INTEN_reg(const void *const hw, hri_dac_intenset_reg_t mask) -{ - ((Dac *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_dac_get_STATUS_READY0_bit(const void *const hw) -{ - return (((Dac *)hw)->STATUS.reg & DAC_STATUS_READY0) >> DAC_STATUS_READY0_Pos; -} - -static inline bool hri_dac_get_STATUS_READY1_bit(const void *const hw) -{ - return (((Dac *)hw)->STATUS.reg & DAC_STATUS_READY1) >> DAC_STATUS_READY1_Pos; -} - -static inline bool hri_dac_get_STATUS_EOC0_bit(const void *const hw) -{ - return (((Dac *)hw)->STATUS.reg & DAC_STATUS_EOC0) >> DAC_STATUS_EOC0_Pos; -} - -static inline bool hri_dac_get_STATUS_EOC1_bit(const void *const hw) -{ - return (((Dac *)hw)->STATUS.reg & DAC_STATUS_EOC1) >> DAC_STATUS_EOC1_Pos; -} - -static inline hri_dac_status_reg_t hri_dac_get_STATUS_reg(const void *const hw, hri_dac_status_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dac_status_reg_t hri_dac_read_STATUS_reg(const void *const hw) -{ - return ((Dac *)hw)->STATUS.reg; -} - -static inline bool hri_dac_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_SWRST) >> DAC_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_dac_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_ENABLE) >> DAC_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_dac_get_SYNCBUSY_DATA0_bit(const void *const hw) -{ - return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_DATA0) >> DAC_SYNCBUSY_DATA0_Pos; -} - -static inline bool hri_dac_get_SYNCBUSY_DATA1_bit(const void *const hw) -{ - return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_DATA1) >> DAC_SYNCBUSY_DATA1_Pos; -} - -static inline bool hri_dac_get_SYNCBUSY_DATABUF0_bit(const void *const hw) -{ - return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_DATABUF0) >> DAC_SYNCBUSY_DATABUF0_Pos; -} - -static inline bool hri_dac_get_SYNCBUSY_DATABUF1_bit(const void *const hw) -{ - return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_DATABUF1) >> DAC_SYNCBUSY_DATABUF1_Pos; -} - -static inline hri_dac_syncbusy_reg_t hri_dac_get_SYNCBUSY_reg(const void *const hw, hri_dac_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dac *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dac_syncbusy_reg_t hri_dac_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Dac *)hw)->SYNCBUSY.reg; -} - -static inline hri_dac_result_reg_t hri_dac_get_RESULT_RESULT_bf(const void *const hw, uint8_t index, - hri_dac_result_reg_t mask) -{ - return (((Dac *)hw)->RESULT[index].reg & DAC_RESULT_RESULT(mask)) >> DAC_RESULT_RESULT_Pos; -} - -static inline hri_dac_result_reg_t hri_dac_read_RESULT_RESULT_bf(const void *const hw, uint8_t index) -{ - return (((Dac *)hw)->RESULT[index].reg & DAC_RESULT_RESULT_Msk) >> DAC_RESULT_RESULT_Pos; -} - -static inline hri_dac_result_reg_t hri_dac_get_RESULT_reg(const void *const hw, uint8_t index, - hri_dac_result_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->RESULT[index].reg; - tmp &= mask; - return tmp; -} - -static inline hri_dac_result_reg_t hri_dac_read_RESULT_reg(const void *const hw, uint8_t index) -{ - return ((Dac *)hw)->RESULT[index].reg; -} - -static inline void hri_dac_set_CTRLA_SWRST_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLA.reg |= DAC_CTRLA_SWRST; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST); - tmp = ((Dac *)hw)->CTRLA.reg; - tmp = (tmp & DAC_CTRLA_SWRST) >> DAC_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_dac_set_CTRLA_ENABLE_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLA.reg |= DAC_CTRLA_ENABLE; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - tmp = ((Dac *)hw)->CTRLA.reg; - tmp = (tmp & DAC_CTRLA_ENABLE) >> DAC_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->CTRLA.reg; - tmp &= ~DAC_CTRLA_ENABLE; - tmp |= value << DAC_CTRLA_ENABLE_Pos; - ((Dac *)hw)->CTRLA.reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLA.reg &= ~DAC_CTRLA_ENABLE; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLA.reg ^= DAC_CTRLA_ENABLE; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLA.reg |= mask; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_ctrla_reg_t hri_dac_get_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t mask) -{ - uint8_t tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - tmp = ((Dac *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dac_write_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t data) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLA.reg = data; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLA.reg &= ~mask; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLA.reg ^= mask; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_ctrla_reg_t hri_dac_read_CTRLA_reg(const void *const hw) -{ - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE); - return ((Dac *)hw)->CTRLA.reg; -} - -static inline void hri_dac_set_CTRLB_DIFF_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg |= DAC_CTRLB_DIFF; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_CTRLB_DIFF_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->CTRLB.reg; - tmp = (tmp & DAC_CTRLB_DIFF) >> DAC_CTRLB_DIFF_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_CTRLB_DIFF_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->CTRLB.reg; - tmp &= ~DAC_CTRLB_DIFF; - tmp |= value << DAC_CTRLB_DIFF_Pos; - ((Dac *)hw)->CTRLB.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_CTRLB_DIFF_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg &= ~DAC_CTRLB_DIFF; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_CTRLB_DIFF_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg ^= DAC_CTRLB_DIFF; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg |= DAC_CTRLB_REFSEL(mask); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_ctrlb_reg_t hri_dac_get_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->CTRLB.reg; - tmp = (tmp & DAC_CTRLB_REFSEL(mask)) >> DAC_CTRLB_REFSEL_Pos; - return tmp; -} - -static inline void hri_dac_write_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t data) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->CTRLB.reg; - tmp &= ~DAC_CTRLB_REFSEL_Msk; - tmp |= DAC_CTRLB_REFSEL(data); - ((Dac *)hw)->CTRLB.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg &= ~DAC_CTRLB_REFSEL(mask); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg ^= DAC_CTRLB_REFSEL(mask); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_ctrlb_reg_t hri_dac_read_CTRLB_REFSEL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->CTRLB.reg; - tmp = (tmp & DAC_CTRLB_REFSEL_Msk) >> DAC_CTRLB_REFSEL_Pos; - return tmp; -} - -static inline void hri_dac_set_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg |= mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_ctrlb_reg_t hri_dac_get_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dac_write_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t data) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg = data; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg &= ~mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->CTRLB.reg ^= mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_ctrlb_reg_t hri_dac_read_CTRLB_reg(const void *const hw) -{ - return ((Dac *)hw)->CTRLB.reg; -} - -static inline void hri_dac_set_EVCTRL_STARTEI0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_STARTEI0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_EVCTRL_STARTEI0_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp = (tmp & DAC_EVCTRL_STARTEI0) >> DAC_EVCTRL_STARTEI0_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_EVCTRL_STARTEI0_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= ~DAC_EVCTRL_STARTEI0; - tmp |= value << DAC_EVCTRL_STARTEI0_Pos; - ((Dac *)hw)->EVCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_STARTEI0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_STARTEI0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_STARTEI0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_STARTEI0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_EVCTRL_STARTEI1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_STARTEI1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_EVCTRL_STARTEI1_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp = (tmp & DAC_EVCTRL_STARTEI1) >> DAC_EVCTRL_STARTEI1_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_EVCTRL_STARTEI1_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= ~DAC_EVCTRL_STARTEI1; - tmp |= value << DAC_EVCTRL_STARTEI1_Pos; - ((Dac *)hw)->EVCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_STARTEI1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_STARTEI1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_STARTEI1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_STARTEI1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_EVCTRL_EMPTYEO0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_EMPTYEO0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_EVCTRL_EMPTYEO0_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp = (tmp & DAC_EVCTRL_EMPTYEO0) >> DAC_EVCTRL_EMPTYEO0_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_EVCTRL_EMPTYEO0_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= ~DAC_EVCTRL_EMPTYEO0; - tmp |= value << DAC_EVCTRL_EMPTYEO0_Pos; - ((Dac *)hw)->EVCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_EMPTYEO0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_EMPTYEO0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_EMPTYEO0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_EMPTYEO0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_EVCTRL_EMPTYEO1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_EMPTYEO1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_EVCTRL_EMPTYEO1_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp = (tmp & DAC_EVCTRL_EMPTYEO1) >> DAC_EVCTRL_EMPTYEO1_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_EVCTRL_EMPTYEO1_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= ~DAC_EVCTRL_EMPTYEO1; - tmp |= value << DAC_EVCTRL_EMPTYEO1_Pos; - ((Dac *)hw)->EVCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_EMPTYEO1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_EMPTYEO1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_EMPTYEO1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_EMPTYEO1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_EVCTRL_INVEI0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_INVEI0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_EVCTRL_INVEI0_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp = (tmp & DAC_EVCTRL_INVEI0) >> DAC_EVCTRL_INVEI0_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_EVCTRL_INVEI0_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= ~DAC_EVCTRL_INVEI0; - tmp |= value << DAC_EVCTRL_INVEI0_Pos; - ((Dac *)hw)->EVCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_INVEI0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_INVEI0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_INVEI0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_INVEI0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_EVCTRL_INVEI1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_INVEI1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_EVCTRL_INVEI1_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp = (tmp & DAC_EVCTRL_INVEI1) >> DAC_EVCTRL_INVEI1_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_EVCTRL_INVEI1_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= ~DAC_EVCTRL_INVEI1; - tmp |= value << DAC_EVCTRL_INVEI1_Pos; - ((Dac *)hw)->EVCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_INVEI1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_INVEI1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_INVEI1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_INVEI1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_EVCTRL_RESRDYEO0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_RESRDYEO0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_EVCTRL_RESRDYEO0_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp = (tmp & DAC_EVCTRL_RESRDYEO0) >> DAC_EVCTRL_RESRDYEO0_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_EVCTRL_RESRDYEO0_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= ~DAC_EVCTRL_RESRDYEO0; - tmp |= value << DAC_EVCTRL_RESRDYEO0_Pos; - ((Dac *)hw)->EVCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_RESRDYEO0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_RESRDYEO0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_RESRDYEO0_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_RESRDYEO0; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_EVCTRL_RESRDYEO1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_RESRDYEO1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_EVCTRL_RESRDYEO1_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp = (tmp & DAC_EVCTRL_RESRDYEO1) >> DAC_EVCTRL_RESRDYEO1_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_EVCTRL_RESRDYEO1_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= ~DAC_EVCTRL_RESRDYEO1; - tmp |= value << DAC_EVCTRL_RESRDYEO1_Pos; - ((Dac *)hw)->EVCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_RESRDYEO1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_RESRDYEO1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_RESRDYEO1_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_RESRDYEO1; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg |= mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_evctrl_reg_t hri_dac_get_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dac_write_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t data) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg = data; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg &= ~mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->EVCTRL.reg ^= mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_evctrl_reg_t hri_dac_read_EVCTRL_reg(const void *const hw) -{ - return ((Dac *)hw)->EVCTRL.reg; -} - -static inline void hri_dac_set_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_LEFTADJ; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_LEFTADJ) >> DAC_DACCTRL_LEFTADJ_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index, bool value) -{ - uint16_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= ~DAC_DACCTRL_LEFTADJ; - tmp |= value << DAC_DACCTRL_LEFTADJ_Pos; - ((Dac *)hw)->DACCTRL[index].reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_LEFTADJ; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_LEFTADJ; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_ENABLE; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - uint16_t tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_ENABLE) >> DAC_DACCTRL_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value) -{ - uint16_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= ~DAC_DACCTRL_ENABLE; - tmp |= value << DAC_DACCTRL_ENABLE_Pos; - ((Dac *)hw)->DACCTRL[index].reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_ENABLE; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_ENABLE; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_DACCTRL_FEXT_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_FEXT; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_DACCTRL_FEXT_bit(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_FEXT) >> DAC_DACCTRL_FEXT_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_DACCTRL_FEXT_bit(const void *const hw, uint8_t index, bool value) -{ - uint16_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= ~DAC_DACCTRL_FEXT; - tmp |= value << DAC_DACCTRL_FEXT_Pos; - ((Dac *)hw)->DACCTRL[index].reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_FEXT_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_FEXT; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_FEXT_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_FEXT; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_RUNSTDBY; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_RUNSTDBY) >> DAC_DACCTRL_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value) -{ - uint16_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= ~DAC_DACCTRL_RUNSTDBY; - tmp |= value << DAC_DACCTRL_RUNSTDBY_Pos; - ((Dac *)hw)->DACCTRL[index].reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_RUNSTDBY; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_RUNSTDBY; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_DACCTRL_DITHER_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_DITHER; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_DACCTRL_DITHER_bit(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_DITHER) >> DAC_DACCTRL_DITHER_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_DACCTRL_DITHER_bit(const void *const hw, uint8_t index, bool value) -{ - uint16_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= ~DAC_DACCTRL_DITHER; - tmp |= value << DAC_DACCTRL_DITHER_Pos; - ((Dac *)hw)->DACCTRL[index].reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_DITHER_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_DITHER; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_DITHER_bit(const void *const hw, uint8_t index) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_DITHER; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_CCTRL(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dacctrl_reg_t hri_dac_get_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, - hri_dac_dacctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_CCTRL(mask)) >> DAC_DACCTRL_CCTRL_Pos; - return tmp; -} - -static inline void hri_dac_write_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t data) -{ - uint16_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= ~DAC_DACCTRL_CCTRL_Msk; - tmp |= DAC_DACCTRL_CCTRL(data); - ((Dac *)hw)->DACCTRL[index].reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_CCTRL(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_CCTRL(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dacctrl_reg_t hri_dac_read_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_CCTRL_Msk) >> DAC_DACCTRL_CCTRL_Pos; - return tmp; -} - -static inline void hri_dac_set_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_REFRESH(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dacctrl_reg_t hri_dac_get_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, - hri_dac_dacctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_REFRESH(mask)) >> DAC_DACCTRL_REFRESH_Pos; - return tmp; -} - -static inline void hri_dac_write_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t data) -{ - uint16_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= ~DAC_DACCTRL_REFRESH_Msk; - tmp |= DAC_DACCTRL_REFRESH(data); - ((Dac *)hw)->DACCTRL[index].reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_REFRESH(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_REFRESH(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dacctrl_reg_t hri_dac_read_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_REFRESH_Msk) >> DAC_DACCTRL_REFRESH_Pos; - return tmp; -} - -static inline void hri_dac_set_DACCTRL_OSR_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_OSR(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dacctrl_reg_t hri_dac_get_DACCTRL_OSR_bf(const void *const hw, uint8_t index, - hri_dac_dacctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_OSR(mask)) >> DAC_DACCTRL_OSR_Pos; - return tmp; -} - -static inline void hri_dac_write_DACCTRL_OSR_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t data) -{ - uint16_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= ~DAC_DACCTRL_OSR_Msk; - tmp |= DAC_DACCTRL_OSR(data); - ((Dac *)hw)->DACCTRL[index].reg = tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_OSR_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_OSR(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_OSR_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_OSR(mask); - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dacctrl_reg_t hri_dac_read_DACCTRL_OSR_bf(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp = (tmp & DAC_DACCTRL_OSR_Msk) >> DAC_DACCTRL_OSR_Pos; - return tmp; -} - -static inline void hri_dac_set_DACCTRL_reg(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg |= mask; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dacctrl_reg_t hri_dac_get_DACCTRL_reg(const void *const hw, uint8_t index, - hri_dac_dacctrl_reg_t mask) -{ - uint16_t tmp; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - tmp = ((Dac *)hw)->DACCTRL[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dac_write_DACCTRL_reg(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t data) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg = data; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DACCTRL_reg(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg &= ~mask; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DACCTRL_reg(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DACCTRL[index].reg ^= mask; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dacctrl_reg_t hri_dac_read_DACCTRL_reg(const void *const hw, uint8_t index) -{ - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE); - return ((Dac *)hw)->DACCTRL[index].reg; -} - -static inline void hri_dac_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DBGCTRL.reg |= DAC_DBGCTRL_DBGRUN; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dac_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->DBGCTRL.reg; - tmp = (tmp & DAC_DBGCTRL_DBGRUN) >> DAC_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_dac_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dac *)hw)->DBGCTRL.reg; - tmp &= ~DAC_DBGCTRL_DBGRUN; - tmp |= value << DAC_DBGCTRL_DBGRUN_Pos; - ((Dac *)hw)->DBGCTRL.reg = tmp; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DBGCTRL.reg &= ~DAC_DBGCTRL_DBGRUN; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DBGCTRL.reg ^= DAC_DBGCTRL_DBGRUN; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_set_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DBGCTRL.reg |= mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dbgctrl_reg_t hri_dac_get_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dac *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dac_write_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t data) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DBGCTRL.reg = data; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_clear_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DBGCTRL.reg &= ~mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_toggle_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t mask) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DBGCTRL.reg ^= mask; - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dac_dbgctrl_reg_t hri_dac_read_DBGCTRL_reg(const void *const hw) -{ - return ((Dac *)hw)->DBGCTRL.reg; -} - -static inline void hri_dac_write_DATA_reg(const void *const hw, uint8_t index, hri_dac_data_reg_t data) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DATA[index].reg = data; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_DATA0 | DAC_SYNCBUSY_DATA1); - DAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dac_write_DATABUF_reg(const void *const hw, uint8_t index, hri_dac_databuf_reg_t data) -{ - DAC_CRITICAL_SECTION_ENTER(); - ((Dac *)hw)->DATABUF[index].reg = data; - hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_DATABUF0 | DAC_SYNCBUSY_DATABUF1); - DAC_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_DAC_E54_H_INCLUDED */ -#endif /* _SAME54_DAC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_dmac_e54.h b/software/firmware/oracle_same54n19a/hri/hri_dmac_e54.h deleted file mode 100644 index b4a6ba1..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_dmac_e54.h +++ /dev/null @@ -1,6800 +0,0 @@ -/** - * \file - * - * \brief SAM DMAC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_DMAC_COMPONENT_ -#ifndef _HRI_DMAC_E54_H_INCLUDED_ -#define _HRI_DMAC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_DMAC_CRITICAL_SECTIONS) -#define DMAC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define DMAC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define DMAC_CRITICAL_SECTION_ENTER() -#define DMAC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_dmac_crcctrl_reg_t; -typedef uint16_t hri_dmac_ctrl_reg_t; -typedef uint16_t hri_dmac_intpend_reg_t; -typedef uint16_t hri_dmacdescriptor_btcnt_reg_t; -typedef uint16_t hri_dmacdescriptor_btctrl_reg_t; -typedef uint32_t hri_dmac_active_reg_t; -typedef uint32_t hri_dmac_baseaddr_reg_t; -typedef uint32_t hri_dmac_busych_reg_t; -typedef uint32_t hri_dmac_chctrla_reg_t; -typedef uint32_t hri_dmac_crcchksum_reg_t; -typedef uint32_t hri_dmac_crcdatain_reg_t; -typedef uint32_t hri_dmac_intstatus_reg_t; -typedef uint32_t hri_dmac_pendch_reg_t; -typedef uint32_t hri_dmac_prictrl0_reg_t; -typedef uint32_t hri_dmac_swtrigctrl_reg_t; -typedef uint32_t hri_dmac_wrbaddr_reg_t; -typedef uint32_t hri_dmacchannel_chctrla_reg_t; -typedef uint32_t hri_dmacdescriptor_descaddr_reg_t; -typedef uint32_t hri_dmacdescriptor_dstaddr_reg_t; -typedef uint32_t hri_dmacdescriptor_srcaddr_reg_t; -typedef uint8_t hri_dmac_chctrlb_reg_t; -typedef uint8_t hri_dmac_chevctrl_reg_t; -typedef uint8_t hri_dmac_chintenset_reg_t; -typedef uint8_t hri_dmac_chintflag_reg_t; -typedef uint8_t hri_dmac_chprilvl_reg_t; -typedef uint8_t hri_dmac_chstatus_reg_t; -typedef uint8_t hri_dmac_crcstatus_reg_t; -typedef uint8_t hri_dmac_dbgctrl_reg_t; -typedef uint8_t hri_dmacchannel_chctrlb_reg_t; -typedef uint8_t hri_dmacchannel_chevctrl_reg_t; -typedef uint8_t hri_dmacchannel_chintenset_reg_t; -typedef uint8_t hri_dmacchannel_chintflag_reg_t; -typedef uint8_t hri_dmacchannel_chprilvl_reg_t; -typedef uint8_t hri_dmacchannel_chstatus_reg_t; - -static inline bool hri_dmac_get_INTSTATUS_CHINT0_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT0) >> DMAC_INTSTATUS_CHINT0_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT1_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT1) >> DMAC_INTSTATUS_CHINT1_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT2_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT2) >> DMAC_INTSTATUS_CHINT2_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT3_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT3) >> DMAC_INTSTATUS_CHINT3_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT4_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT4) >> DMAC_INTSTATUS_CHINT4_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT5_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT5) >> DMAC_INTSTATUS_CHINT5_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT6_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT6) >> DMAC_INTSTATUS_CHINT6_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT7_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT7) >> DMAC_INTSTATUS_CHINT7_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT8_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT8) >> DMAC_INTSTATUS_CHINT8_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT9_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT9) >> DMAC_INTSTATUS_CHINT9_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT10_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT10) >> DMAC_INTSTATUS_CHINT10_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT11_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT11) >> DMAC_INTSTATUS_CHINT11_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT12_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT12) >> DMAC_INTSTATUS_CHINT12_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT13_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT13) >> DMAC_INTSTATUS_CHINT13_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT14_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT14) >> DMAC_INTSTATUS_CHINT14_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT15_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT15) >> DMAC_INTSTATUS_CHINT15_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT16_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT16) >> DMAC_INTSTATUS_CHINT16_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT17_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT17) >> DMAC_INTSTATUS_CHINT17_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT18_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT18) >> DMAC_INTSTATUS_CHINT18_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT19_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT19) >> DMAC_INTSTATUS_CHINT19_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT20_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT20) >> DMAC_INTSTATUS_CHINT20_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT21_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT21) >> DMAC_INTSTATUS_CHINT21_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT22_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT22) >> DMAC_INTSTATUS_CHINT22_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT23_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT23) >> DMAC_INTSTATUS_CHINT23_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT24_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT24) >> DMAC_INTSTATUS_CHINT24_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT25_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT25) >> DMAC_INTSTATUS_CHINT25_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT26_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT26) >> DMAC_INTSTATUS_CHINT26_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT27_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT27) >> DMAC_INTSTATUS_CHINT27_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT28_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT28) >> DMAC_INTSTATUS_CHINT28_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT29_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT29) >> DMAC_INTSTATUS_CHINT29_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT30_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT30) >> DMAC_INTSTATUS_CHINT30_Pos; -} - -static inline bool hri_dmac_get_INTSTATUS_CHINT31_bit(const void *const hw) -{ - return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT31) >> DMAC_INTSTATUS_CHINT31_Pos; -} - -static inline hri_dmac_intstatus_reg_t hri_dmac_get_INTSTATUS_reg(const void *const hw, hri_dmac_intstatus_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->INTSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dmac_intstatus_reg_t hri_dmac_read_INTSTATUS_reg(const void *const hw) -{ - return ((Dmac *)hw)->INTSTATUS.reg; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH0_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH0) >> DMAC_BUSYCH_BUSYCH0_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH1_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH1) >> DMAC_BUSYCH_BUSYCH1_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH2_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH2) >> DMAC_BUSYCH_BUSYCH2_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH3_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH3) >> DMAC_BUSYCH_BUSYCH3_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH4_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH4) >> DMAC_BUSYCH_BUSYCH4_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH5_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH5) >> DMAC_BUSYCH_BUSYCH5_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH6_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH6) >> DMAC_BUSYCH_BUSYCH6_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH7_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH7) >> DMAC_BUSYCH_BUSYCH7_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH8_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH8) >> DMAC_BUSYCH_BUSYCH8_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH9_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH9) >> DMAC_BUSYCH_BUSYCH9_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH10_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH10) >> DMAC_BUSYCH_BUSYCH10_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH11_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH11) >> DMAC_BUSYCH_BUSYCH11_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH12_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH12) >> DMAC_BUSYCH_BUSYCH12_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH13_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH13) >> DMAC_BUSYCH_BUSYCH13_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH14_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH14) >> DMAC_BUSYCH_BUSYCH14_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH15_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH15) >> DMAC_BUSYCH_BUSYCH15_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH16_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH16) >> DMAC_BUSYCH_BUSYCH16_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH17_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH17) >> DMAC_BUSYCH_BUSYCH17_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH18_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH18) >> DMAC_BUSYCH_BUSYCH18_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH19_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH19) >> DMAC_BUSYCH_BUSYCH19_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH20_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH20) >> DMAC_BUSYCH_BUSYCH20_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH21_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH21) >> DMAC_BUSYCH_BUSYCH21_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH22_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH22) >> DMAC_BUSYCH_BUSYCH22_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH23_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH23) >> DMAC_BUSYCH_BUSYCH23_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH24_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH24) >> DMAC_BUSYCH_BUSYCH24_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH25_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH25) >> DMAC_BUSYCH_BUSYCH25_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH26_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH26) >> DMAC_BUSYCH_BUSYCH26_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH27_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH27) >> DMAC_BUSYCH_BUSYCH27_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH28_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH28) >> DMAC_BUSYCH_BUSYCH28_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH29_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH29) >> DMAC_BUSYCH_BUSYCH29_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH30_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH30) >> DMAC_BUSYCH_BUSYCH30_Pos; -} - -static inline bool hri_dmac_get_BUSYCH_BUSYCH31_bit(const void *const hw) -{ - return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH31) >> DMAC_BUSYCH_BUSYCH31_Pos; -} - -static inline hri_dmac_busych_reg_t hri_dmac_get_BUSYCH_reg(const void *const hw, hri_dmac_busych_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->BUSYCH.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dmac_busych_reg_t hri_dmac_read_BUSYCH_reg(const void *const hw) -{ - return ((Dmac *)hw)->BUSYCH.reg; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH0_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH0) >> DMAC_PENDCH_PENDCH0_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH1_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH1) >> DMAC_PENDCH_PENDCH1_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH2_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH2) >> DMAC_PENDCH_PENDCH2_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH3_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH3) >> DMAC_PENDCH_PENDCH3_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH4_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH4) >> DMAC_PENDCH_PENDCH4_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH5_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH5) >> DMAC_PENDCH_PENDCH5_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH6_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH6) >> DMAC_PENDCH_PENDCH6_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH7_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH7) >> DMAC_PENDCH_PENDCH7_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH8_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH8) >> DMAC_PENDCH_PENDCH8_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH9_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH9) >> DMAC_PENDCH_PENDCH9_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH10_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH10) >> DMAC_PENDCH_PENDCH10_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH11_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH11) >> DMAC_PENDCH_PENDCH11_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH12_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH12) >> DMAC_PENDCH_PENDCH12_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH13_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH13) >> DMAC_PENDCH_PENDCH13_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH14_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH14) >> DMAC_PENDCH_PENDCH14_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH15_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH15) >> DMAC_PENDCH_PENDCH15_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH16_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH16) >> DMAC_PENDCH_PENDCH16_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH17_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH17) >> DMAC_PENDCH_PENDCH17_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH18_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH18) >> DMAC_PENDCH_PENDCH18_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH19_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH19) >> DMAC_PENDCH_PENDCH19_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH20_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH20) >> DMAC_PENDCH_PENDCH20_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH21_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH21) >> DMAC_PENDCH_PENDCH21_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH22_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH22) >> DMAC_PENDCH_PENDCH22_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH23_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH23) >> DMAC_PENDCH_PENDCH23_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH24_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH24) >> DMAC_PENDCH_PENDCH24_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH25_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH25) >> DMAC_PENDCH_PENDCH25_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH26_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH26) >> DMAC_PENDCH_PENDCH26_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH27_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH27) >> DMAC_PENDCH_PENDCH27_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH28_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH28) >> DMAC_PENDCH_PENDCH28_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH29_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH29) >> DMAC_PENDCH_PENDCH29_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH30_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH30) >> DMAC_PENDCH_PENDCH30_Pos; -} - -static inline bool hri_dmac_get_PENDCH_PENDCH31_bit(const void *const hw) -{ - return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH31) >> DMAC_PENDCH_PENDCH31_Pos; -} - -static inline hri_dmac_pendch_reg_t hri_dmac_get_PENDCH_reg(const void *const hw, hri_dmac_pendch_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PENDCH.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dmac_pendch_reg_t hri_dmac_read_PENDCH_reg(const void *const hw) -{ - return ((Dmac *)hw)->PENDCH.reg; -} - -static inline bool hri_dmac_get_ACTIVE_LVLEX0_bit(const void *const hw) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_LVLEX0) >> DMAC_ACTIVE_LVLEX0_Pos; -} - -static inline bool hri_dmac_get_ACTIVE_LVLEX1_bit(const void *const hw) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_LVLEX1) >> DMAC_ACTIVE_LVLEX1_Pos; -} - -static inline bool hri_dmac_get_ACTIVE_LVLEX2_bit(const void *const hw) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_LVLEX2) >> DMAC_ACTIVE_LVLEX2_Pos; -} - -static inline bool hri_dmac_get_ACTIVE_LVLEX3_bit(const void *const hw) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_LVLEX3) >> DMAC_ACTIVE_LVLEX3_Pos; -} - -static inline bool hri_dmac_get_ACTIVE_ABUSY_bit(const void *const hw) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_ABUSY) >> DMAC_ACTIVE_ABUSY_Pos; -} - -static inline hri_dmac_active_reg_t hri_dmac_get_ACTIVE_ID_bf(const void *const hw, hri_dmac_active_reg_t mask) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_ID(mask)) >> DMAC_ACTIVE_ID_Pos; -} - -static inline hri_dmac_active_reg_t hri_dmac_read_ACTIVE_ID_bf(const void *const hw) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_ID_Msk) >> DMAC_ACTIVE_ID_Pos; -} - -static inline hri_dmac_active_reg_t hri_dmac_get_ACTIVE_BTCNT_bf(const void *const hw, hri_dmac_active_reg_t mask) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_BTCNT(mask)) >> DMAC_ACTIVE_BTCNT_Pos; -} - -static inline hri_dmac_active_reg_t hri_dmac_read_ACTIVE_BTCNT_bf(const void *const hw) -{ - return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_BTCNT_Msk) >> DMAC_ACTIVE_BTCNT_Pos; -} - -static inline hri_dmac_active_reg_t hri_dmac_get_ACTIVE_reg(const void *const hw, hri_dmac_active_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->ACTIVE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dmac_active_reg_t hri_dmac_read_ACTIVE_reg(const void *const hw) -{ - return ((Dmac *)hw)->ACTIVE.reg; -} - -static inline void hri_dmac_set_CTRL_SWRST_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_SWRST; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CTRL_SWRST_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CTRL.reg; - tmp = (tmp & DMAC_CTRL_SWRST) >> DMAC_CTRL_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_set_CTRL_DMAENABLE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_DMAENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CTRL_DMAENABLE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CTRL.reg; - tmp = (tmp & DMAC_CTRL_DMAENABLE) >> DMAC_CTRL_DMAENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CTRL_DMAENABLE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CTRL.reg; - tmp &= ~DMAC_CTRL_DMAENABLE; - tmp |= value << DMAC_CTRL_DMAENABLE_Pos; - ((Dmac *)hw)->CTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CTRL_DMAENABLE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_DMAENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CTRL_DMAENABLE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_DMAENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CTRL_LVLEN0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_LVLEN0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CTRL_LVLEN0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CTRL.reg; - tmp = (tmp & DMAC_CTRL_LVLEN0) >> DMAC_CTRL_LVLEN0_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CTRL_LVLEN0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CTRL.reg; - tmp &= ~DMAC_CTRL_LVLEN0; - tmp |= value << DMAC_CTRL_LVLEN0_Pos; - ((Dmac *)hw)->CTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CTRL_LVLEN0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_LVLEN0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CTRL_LVLEN0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_LVLEN0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CTRL_LVLEN1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_LVLEN1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CTRL_LVLEN1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CTRL.reg; - tmp = (tmp & DMAC_CTRL_LVLEN1) >> DMAC_CTRL_LVLEN1_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CTRL_LVLEN1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CTRL.reg; - tmp &= ~DMAC_CTRL_LVLEN1; - tmp |= value << DMAC_CTRL_LVLEN1_Pos; - ((Dmac *)hw)->CTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CTRL_LVLEN1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_LVLEN1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CTRL_LVLEN1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_LVLEN1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CTRL_LVLEN2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_LVLEN2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CTRL_LVLEN2_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CTRL.reg; - tmp = (tmp & DMAC_CTRL_LVLEN2) >> DMAC_CTRL_LVLEN2_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CTRL_LVLEN2_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CTRL.reg; - tmp &= ~DMAC_CTRL_LVLEN2; - tmp |= value << DMAC_CTRL_LVLEN2_Pos; - ((Dmac *)hw)->CTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CTRL_LVLEN2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_LVLEN2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CTRL_LVLEN2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_LVLEN2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CTRL_LVLEN3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_LVLEN3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CTRL_LVLEN3_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CTRL.reg; - tmp = (tmp & DMAC_CTRL_LVLEN3) >> DMAC_CTRL_LVLEN3_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CTRL_LVLEN3_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CTRL.reg; - tmp &= ~DMAC_CTRL_LVLEN3; - tmp |= value << DMAC_CTRL_LVLEN3_Pos; - ((Dmac *)hw)->CTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CTRL_LVLEN3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_LVLEN3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CTRL_LVLEN3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_LVLEN3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_ctrl_reg_t hri_dmac_get_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CTRL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_ctrl_reg_t hri_dmac_read_CTRL_reg(const void *const hw) -{ - return ((Dmac *)hw)->CTRL.reg; -} - -static inline void hri_dmac_set_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg |= DMAC_CRCCTRL_CRCBEATSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, - hri_dmac_crcctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp = (tmp & DMAC_CRCCTRL_CRCBEATSIZE(mask)) >> DMAC_CRCCTRL_CRCBEATSIZE_Pos; - return tmp; -} - -static inline void hri_dmac_write_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, hri_dmac_crcctrl_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp &= ~DMAC_CRCCTRL_CRCBEATSIZE_Msk; - tmp |= DMAC_CRCCTRL_CRCBEATSIZE(data); - ((Dmac *)hw)->CRCCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg &= ~DMAC_CRCCTRL_CRCBEATSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg ^= DMAC_CRCCTRL_CRCBEATSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_CRCBEATSIZE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp = (tmp & DMAC_CRCCTRL_CRCBEATSIZE_Msk) >> DMAC_CRCCTRL_CRCBEATSIZE_Pos; - return tmp; -} - -static inline void hri_dmac_set_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg |= DMAC_CRCCTRL_CRCPOLY(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp = (tmp & DMAC_CRCCTRL_CRCPOLY(mask)) >> DMAC_CRCCTRL_CRCPOLY_Pos; - return tmp; -} - -static inline void hri_dmac_write_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp &= ~DMAC_CRCCTRL_CRCPOLY_Msk; - tmp |= DMAC_CRCCTRL_CRCPOLY(data); - ((Dmac *)hw)->CRCCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg &= ~DMAC_CRCCTRL_CRCPOLY(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg ^= DMAC_CRCCTRL_CRCPOLY(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_CRCPOLY_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp = (tmp & DMAC_CRCCTRL_CRCPOLY_Msk) >> DMAC_CRCCTRL_CRCPOLY_Pos; - return tmp; -} - -static inline void hri_dmac_set_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg |= DMAC_CRCCTRL_CRCSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp = (tmp & DMAC_CRCCTRL_CRCSRC(mask)) >> DMAC_CRCCTRL_CRCSRC_Pos; - return tmp; -} - -static inline void hri_dmac_write_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp &= ~DMAC_CRCCTRL_CRCSRC_Msk; - tmp |= DMAC_CRCCTRL_CRCSRC(data); - ((Dmac *)hw)->CRCCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg &= ~DMAC_CRCCTRL_CRCSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg ^= DMAC_CRCCTRL_CRCSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_CRCSRC_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp = (tmp & DMAC_CRCCTRL_CRCSRC_Msk) >> DMAC_CRCCTRL_CRCSRC_Pos; - return tmp; -} - -static inline void hri_dmac_set_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg |= DMAC_CRCCTRL_CRCMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp = (tmp & DMAC_CRCCTRL_CRCMODE(mask)) >> DMAC_CRCCTRL_CRCMODE_Pos; - return tmp; -} - -static inline void hri_dmac_write_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp &= ~DMAC_CRCCTRL_CRCMODE_Msk; - tmp |= DMAC_CRCCTRL_CRCMODE(data); - ((Dmac *)hw)->CRCCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg &= ~DMAC_CRCCTRL_CRCMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg ^= DMAC_CRCCTRL_CRCMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_CRCMODE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp = (tmp & DMAC_CRCCTRL_CRCMODE_Msk) >> DMAC_CRCCTRL_CRCMODE_Pos; - return tmp; -} - -static inline void hri_dmac_set_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->CRCCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCTRL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_reg(const void *const hw) -{ - return ((Dmac *)hw)->CRCCTRL.reg; -} - -static inline void hri_dmac_set_CRCDATAIN_CRCDATAIN_bf(const void *const hw, hri_dmac_crcdatain_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCDATAIN.reg |= DMAC_CRCDATAIN_CRCDATAIN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcdatain_reg_t hri_dmac_get_CRCDATAIN_CRCDATAIN_bf(const void *const hw, - hri_dmac_crcdatain_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->CRCDATAIN.reg; - tmp = (tmp & DMAC_CRCDATAIN_CRCDATAIN(mask)) >> DMAC_CRCDATAIN_CRCDATAIN_Pos; - return tmp; -} - -static inline void hri_dmac_write_CRCDATAIN_CRCDATAIN_bf(const void *const hw, hri_dmac_crcdatain_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CRCDATAIN.reg; - tmp &= ~DMAC_CRCDATAIN_CRCDATAIN_Msk; - tmp |= DMAC_CRCDATAIN_CRCDATAIN(data); - ((Dmac *)hw)->CRCDATAIN.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCDATAIN_CRCDATAIN_bf(const void *const hw, hri_dmac_crcdatain_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCDATAIN.reg &= ~DMAC_CRCDATAIN_CRCDATAIN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCDATAIN_CRCDATAIN_bf(const void *const hw, hri_dmac_crcdatain_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCDATAIN.reg ^= DMAC_CRCDATAIN_CRCDATAIN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcdatain_reg_t hri_dmac_read_CRCDATAIN_CRCDATAIN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->CRCDATAIN.reg; - tmp = (tmp & DMAC_CRCDATAIN_CRCDATAIN_Msk) >> DMAC_CRCDATAIN_CRCDATAIN_Pos; - return tmp; -} - -static inline void hri_dmac_set_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCDATAIN.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcdatain_reg_t hri_dmac_get_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->CRCDATAIN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCDATAIN.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCDATAIN.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCDATAIN.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcdatain_reg_t hri_dmac_read_CRCDATAIN_reg(const void *const hw) -{ - return ((Dmac *)hw)->CRCDATAIN.reg; -} - -static inline void hri_dmac_set_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, hri_dmac_crcchksum_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCHKSUM.reg |= DMAC_CRCCHKSUM_CRCCHKSUM(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcchksum_reg_t hri_dmac_get_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, - hri_dmac_crcchksum_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->CRCCHKSUM.reg; - tmp = (tmp & DMAC_CRCCHKSUM_CRCCHKSUM(mask)) >> DMAC_CRCCHKSUM_CRCCHKSUM_Pos; - return tmp; -} - -static inline void hri_dmac_write_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, hri_dmac_crcchksum_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->CRCCHKSUM.reg; - tmp &= ~DMAC_CRCCHKSUM_CRCCHKSUM_Msk; - tmp |= DMAC_CRCCHKSUM_CRCCHKSUM(data); - ((Dmac *)hw)->CRCCHKSUM.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, hri_dmac_crcchksum_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCHKSUM.reg &= ~DMAC_CRCCHKSUM_CRCCHKSUM(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, hri_dmac_crcchksum_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCHKSUM.reg ^= DMAC_CRCCHKSUM_CRCCHKSUM(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcchksum_reg_t hri_dmac_read_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->CRCCHKSUM.reg; - tmp = (tmp & DMAC_CRCCHKSUM_CRCCHKSUM_Msk) >> DMAC_CRCCHKSUM_CRCCHKSUM_Pos; - return tmp; -} - -static inline void hri_dmac_set_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCHKSUM.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcchksum_reg_t hri_dmac_get_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->CRCCHKSUM.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCHKSUM.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCHKSUM.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCCHKSUM.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcchksum_reg_t hri_dmac_read_CRCCHKSUM_reg(const void *const hw) -{ - return ((Dmac *)hw)->CRCCHKSUM.reg; -} - -static inline void hri_dmac_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->DBGCTRL.reg |= DMAC_DBGCTRL_DBGRUN; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->DBGCTRL.reg; - tmp = (tmp & DMAC_DBGCTRL_DBGRUN) >> DMAC_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->DBGCTRL.reg; - tmp &= ~DMAC_DBGCTRL_DBGRUN; - tmp |= value << DMAC_DBGCTRL_DBGRUN_Pos; - ((Dmac *)hw)->DBGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->DBGCTRL.reg &= ~DMAC_DBGCTRL_DBGRUN; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->DBGCTRL.reg ^= DMAC_DBGCTRL_DBGRUN; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->DBGCTRL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_dbgctrl_reg_t hri_dmac_get_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->DBGCTRL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->DBGCTRL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->DBGCTRL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_dbgctrl_reg_t hri_dmac_read_DBGCTRL_reg(const void *const hw) -{ - return ((Dmac *)hw)->DBGCTRL.reg; -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG0) >> DMAC_SWTRIGCTRL_SWTRIG0_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG0; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG0_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG1) >> DMAC_SWTRIGCTRL_SWTRIG1_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG1; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG1_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG2) >> DMAC_SWTRIGCTRL_SWTRIG2_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG2; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG2_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG3) >> DMAC_SWTRIGCTRL_SWTRIG3_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG3; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG3_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG4_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG4; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG4) >> DMAC_SWTRIGCTRL_SWTRIG4_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG4; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG4_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG4_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG4; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG4_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG4; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG5_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG5; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG5) >> DMAC_SWTRIGCTRL_SWTRIG5_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG5; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG5_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG5_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG5; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG5_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG5; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG6_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG6; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG6) >> DMAC_SWTRIGCTRL_SWTRIG6_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG6; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG6_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG6_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG6; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG6_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG6; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG7_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG7; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG7) >> DMAC_SWTRIGCTRL_SWTRIG7_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG7; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG7_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG7_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG7; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG7_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG7; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG8_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG8; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG8_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG8) >> DMAC_SWTRIGCTRL_SWTRIG8_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG8_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG8; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG8_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG8_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG8; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG8_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG8; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG9_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG9; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG9_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG9) >> DMAC_SWTRIGCTRL_SWTRIG9_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG9_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG9; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG9_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG9_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG9; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG9_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG9; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG10_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG10; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG10_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG10) >> DMAC_SWTRIGCTRL_SWTRIG10_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG10_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG10; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG10_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG10_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG10; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG10_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG10; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG11_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG11; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG11_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG11) >> DMAC_SWTRIGCTRL_SWTRIG11_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG11_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG11; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG11_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG11_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG11; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG11_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG11; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG12_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG12; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG12_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG12) >> DMAC_SWTRIGCTRL_SWTRIG12_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG12_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG12; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG12_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG12_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG12; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG12_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG12; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG13_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG13; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG13_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG13) >> DMAC_SWTRIGCTRL_SWTRIG13_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG13_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG13; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG13_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG13_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG13; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG13_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG13; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG14_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG14; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG14_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG14) >> DMAC_SWTRIGCTRL_SWTRIG14_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG14_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG14; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG14_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG14_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG14; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG14_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG14; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG15_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG15; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG15_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG15) >> DMAC_SWTRIGCTRL_SWTRIG15_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG15_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG15; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG15_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG15_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG15; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG15_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG15; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG16_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG16; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG16_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG16) >> DMAC_SWTRIGCTRL_SWTRIG16_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG16_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG16; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG16_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG16_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG16; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG16_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG16; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG17_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG17; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG17_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG17) >> DMAC_SWTRIGCTRL_SWTRIG17_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG17_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG17; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG17_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG17_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG17; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG17_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG17; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG18_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG18; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG18_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG18) >> DMAC_SWTRIGCTRL_SWTRIG18_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG18_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG18; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG18_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG18_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG18; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG18_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG18; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG19_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG19; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG19_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG19) >> DMAC_SWTRIGCTRL_SWTRIG19_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG19_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG19; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG19_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG19_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG19; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG19_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG19; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG20_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG20; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG20_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG20) >> DMAC_SWTRIGCTRL_SWTRIG20_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG20_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG20; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG20_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG20_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG20; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG20_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG20; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG21_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG21; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG21_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG21) >> DMAC_SWTRIGCTRL_SWTRIG21_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG21_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG21; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG21_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG21_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG21; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG21_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG21; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG22_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG22; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG22_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG22) >> DMAC_SWTRIGCTRL_SWTRIG22_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG22_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG22; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG22_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG22_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG22; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG22_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG22; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG23_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG23; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG23_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG23) >> DMAC_SWTRIGCTRL_SWTRIG23_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG23_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG23; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG23_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG23_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG23; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG23_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG23; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG24_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG24; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG24_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG24) >> DMAC_SWTRIGCTRL_SWTRIG24_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG24_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG24; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG24_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG24_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG24; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG24_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG24; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG25_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG25; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG25_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG25) >> DMAC_SWTRIGCTRL_SWTRIG25_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG25_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG25; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG25_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG25_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG25; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG25_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG25; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG26_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG26; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG26_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG26) >> DMAC_SWTRIGCTRL_SWTRIG26_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG26_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG26; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG26_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG26_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG26; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG26_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG26; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG27_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG27; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG27_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG27) >> DMAC_SWTRIGCTRL_SWTRIG27_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG27_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG27; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG27_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG27_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG27; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG27_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG27; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG28_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG28; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG28_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG28) >> DMAC_SWTRIGCTRL_SWTRIG28_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG28_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG28; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG28_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG28_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG28; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG28_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG28; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG29_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG29; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG29_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG29) >> DMAC_SWTRIGCTRL_SWTRIG29_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG29_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG29; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG29_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG29_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG29; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG29_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG29; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG30_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG30; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG30_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG30) >> DMAC_SWTRIGCTRL_SWTRIG30_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG30_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG30; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG30_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG30_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG30; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG30_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG30; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG31_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG31; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG31_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG31) >> DMAC_SWTRIGCTRL_SWTRIG31_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG31_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= ~DMAC_SWTRIGCTRL_SWTRIG31; - tmp |= value << DMAC_SWTRIGCTRL_SWTRIG31_Pos; - ((Dmac *)hw)->SWTRIGCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG31_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG31; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG31_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG31; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_SWTRIGCTRL_reg(const void *const hw, hri_dmac_swtrigctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_swtrigctrl_reg_t hri_dmac_get_SWTRIGCTRL_reg(const void *const hw, - hri_dmac_swtrigctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->SWTRIGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_SWTRIGCTRL_reg(const void *const hw, hri_dmac_swtrigctrl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_SWTRIGCTRL_reg(const void *const hw, hri_dmac_swtrigctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_SWTRIGCTRL_reg(const void *const hw, hri_dmac_swtrigctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->SWTRIGCTRL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_swtrigctrl_reg_t hri_dmac_read_SWTRIGCTRL_reg(const void *const hw) -{ - return ((Dmac *)hw)->SWTRIGCTRL.reg; -} - -static inline void hri_dmac_set_PRICTRL0_RRLVLEN0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_RRLVLEN0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_PRICTRL0_RRLVLEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_RRLVLEN0) >> DMAC_PRICTRL0_RRLVLEN0_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_PRICTRL0_RRLVLEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_RRLVLEN0; - tmp |= value << DMAC_PRICTRL0_RRLVLEN0_Pos; - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_RRLVLEN0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_RRLVLEN0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_RRLVLEN0_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_RRLVLEN0; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_PRICTRL0_RRLVLEN1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_RRLVLEN1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_PRICTRL0_RRLVLEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_RRLVLEN1) >> DMAC_PRICTRL0_RRLVLEN1_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_PRICTRL0_RRLVLEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_RRLVLEN1; - tmp |= value << DMAC_PRICTRL0_RRLVLEN1_Pos; - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_RRLVLEN1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_RRLVLEN1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_RRLVLEN1_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_RRLVLEN1; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_PRICTRL0_RRLVLEN2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_RRLVLEN2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_PRICTRL0_RRLVLEN2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_RRLVLEN2) >> DMAC_PRICTRL0_RRLVLEN2_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_PRICTRL0_RRLVLEN2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_RRLVLEN2; - tmp |= value << DMAC_PRICTRL0_RRLVLEN2_Pos; - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_RRLVLEN2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_RRLVLEN2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_RRLVLEN2_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_RRLVLEN2; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_PRICTRL0_RRLVLEN3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_RRLVLEN3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_PRICTRL0_RRLVLEN3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_RRLVLEN3) >> DMAC_PRICTRL0_RRLVLEN3_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_PRICTRL0_RRLVLEN3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_RRLVLEN3; - tmp |= value << DMAC_PRICTRL0_RRLVLEN3_Pos; - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_RRLVLEN3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_RRLVLEN3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_RRLVLEN3_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_RRLVLEN3; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_PRICTRL0_LVLPRI0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_LVLPRI0(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_LVLPRI0_bf(const void *const hw, - hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_LVLPRI0(mask)) >> DMAC_PRICTRL0_LVLPRI0_Pos; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_LVLPRI0_bf(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_LVLPRI0_Msk; - tmp |= DMAC_PRICTRL0_LVLPRI0(data); - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_LVLPRI0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_LVLPRI0(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_LVLPRI0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_LVLPRI0(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_LVLPRI0_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_LVLPRI0_Msk) >> DMAC_PRICTRL0_LVLPRI0_Pos; - return tmp; -} - -static inline void hri_dmac_set_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_QOS0(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_QOS0(mask)) >> DMAC_PRICTRL0_QOS0_Pos; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_QOS0_Msk; - tmp |= DMAC_PRICTRL0_QOS0(data); - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_QOS0(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_QOS0(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_QOS0_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_QOS0_Msk) >> DMAC_PRICTRL0_QOS0_Pos; - return tmp; -} - -static inline void hri_dmac_set_PRICTRL0_LVLPRI1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_LVLPRI1(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_LVLPRI1_bf(const void *const hw, - hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_LVLPRI1(mask)) >> DMAC_PRICTRL0_LVLPRI1_Pos; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_LVLPRI1_bf(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_LVLPRI1_Msk; - tmp |= DMAC_PRICTRL0_LVLPRI1(data); - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_LVLPRI1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_LVLPRI1(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_LVLPRI1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_LVLPRI1(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_LVLPRI1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_LVLPRI1_Msk) >> DMAC_PRICTRL0_LVLPRI1_Pos; - return tmp; -} - -static inline void hri_dmac_set_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_QOS1(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_QOS1(mask)) >> DMAC_PRICTRL0_QOS1_Pos; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_QOS1_Msk; - tmp |= DMAC_PRICTRL0_QOS1(data); - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_QOS1(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_QOS1(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_QOS1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_QOS1_Msk) >> DMAC_PRICTRL0_QOS1_Pos; - return tmp; -} - -static inline void hri_dmac_set_PRICTRL0_LVLPRI2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_LVLPRI2(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_LVLPRI2_bf(const void *const hw, - hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_LVLPRI2(mask)) >> DMAC_PRICTRL0_LVLPRI2_Pos; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_LVLPRI2_bf(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_LVLPRI2_Msk; - tmp |= DMAC_PRICTRL0_LVLPRI2(data); - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_LVLPRI2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_LVLPRI2(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_LVLPRI2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_LVLPRI2(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_LVLPRI2_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_LVLPRI2_Msk) >> DMAC_PRICTRL0_LVLPRI2_Pos; - return tmp; -} - -static inline void hri_dmac_set_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_QOS2(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_QOS2(mask)) >> DMAC_PRICTRL0_QOS2_Pos; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_QOS2_Msk; - tmp |= DMAC_PRICTRL0_QOS2(data); - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_QOS2(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_QOS2(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_QOS2_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_QOS2_Msk) >> DMAC_PRICTRL0_QOS2_Pos; - return tmp; -} - -static inline void hri_dmac_set_PRICTRL0_LVLPRI3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_LVLPRI3(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_LVLPRI3_bf(const void *const hw, - hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_LVLPRI3(mask)) >> DMAC_PRICTRL0_LVLPRI3_Pos; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_LVLPRI3_bf(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_LVLPRI3_Msk; - tmp |= DMAC_PRICTRL0_LVLPRI3(data); - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_LVLPRI3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_LVLPRI3(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_LVLPRI3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_LVLPRI3(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_LVLPRI3_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_LVLPRI3_Msk) >> DMAC_PRICTRL0_LVLPRI3_Pos; - return tmp; -} - -static inline void hri_dmac_set_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_QOS3(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_QOS3(mask)) >> DMAC_PRICTRL0_QOS3_Pos; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= ~DMAC_PRICTRL0_QOS3_Msk; - tmp |= DMAC_PRICTRL0_QOS3(data); - ((Dmac *)hw)->PRICTRL0.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_QOS3(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_QOS3(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_QOS3_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp = (tmp & DMAC_PRICTRL0_QOS3_Msk) >> DMAC_PRICTRL0_QOS3_Pos; - return tmp; -} - -static inline void hri_dmac_set_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->PRICTRL0.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->PRICTRL0.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_reg(const void *const hw) -{ - return ((Dmac *)hw)->PRICTRL0.reg; -} - -static inline void hri_dmac_set_INTPEND_TERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_TERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_INTPEND_TERR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_TERR) >> DMAC_INTPEND_TERR_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_INTPEND_TERR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= ~DMAC_INTPEND_TERR; - tmp |= value << DMAC_INTPEND_TERR_Pos; - ((Dmac *)hw)->INTPEND.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_TERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_TERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_TERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_TERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_INTPEND_TCMPL_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_TCMPL; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_INTPEND_TCMPL_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_TCMPL) >> DMAC_INTPEND_TCMPL_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_INTPEND_TCMPL_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= ~DMAC_INTPEND_TCMPL; - tmp |= value << DMAC_INTPEND_TCMPL_Pos; - ((Dmac *)hw)->INTPEND.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_TCMPL_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_TCMPL; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_TCMPL_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_TCMPL; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_INTPEND_SUSP_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_SUSP; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_INTPEND_SUSP_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_SUSP) >> DMAC_INTPEND_SUSP_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_INTPEND_SUSP_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= ~DMAC_INTPEND_SUSP; - tmp |= value << DMAC_INTPEND_SUSP_Pos; - ((Dmac *)hw)->INTPEND.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_SUSP_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_SUSP; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_SUSP_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_SUSP; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_INTPEND_CRCERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_CRCERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_INTPEND_CRCERR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_CRCERR) >> DMAC_INTPEND_CRCERR_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_INTPEND_CRCERR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= ~DMAC_INTPEND_CRCERR; - tmp |= value << DMAC_INTPEND_CRCERR_Pos; - ((Dmac *)hw)->INTPEND.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_CRCERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_CRCERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_CRCERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_CRCERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_INTPEND_FERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_FERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_INTPEND_FERR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_FERR) >> DMAC_INTPEND_FERR_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_INTPEND_FERR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= ~DMAC_INTPEND_FERR; - tmp |= value << DMAC_INTPEND_FERR_Pos; - ((Dmac *)hw)->INTPEND.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_FERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_FERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_FERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_FERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_INTPEND_BUSY_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_BUSY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_INTPEND_BUSY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_BUSY) >> DMAC_INTPEND_BUSY_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_INTPEND_BUSY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= ~DMAC_INTPEND_BUSY; - tmp |= value << DMAC_INTPEND_BUSY_Pos; - ((Dmac *)hw)->INTPEND.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_BUSY_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_BUSY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_BUSY_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_BUSY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_INTPEND_PEND_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_PEND; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_INTPEND_PEND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_PEND) >> DMAC_INTPEND_PEND_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_INTPEND_PEND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= ~DMAC_INTPEND_PEND; - tmp |= value << DMAC_INTPEND_PEND_Pos; - ((Dmac *)hw)->INTPEND.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_PEND_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_PEND; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_PEND_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_PEND; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_ID(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_intpend_reg_t hri_dmac_get_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_ID(mask)) >> DMAC_INTPEND_ID_Pos; - return tmp; -} - -static inline void hri_dmac_write_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= ~DMAC_INTPEND_ID_Msk; - tmp |= DMAC_INTPEND_ID(data); - ((Dmac *)hw)->INTPEND.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_ID(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_ID(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_intpend_reg_t hri_dmac_read_INTPEND_ID_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp = (tmp & DMAC_INTPEND_ID_Msk) >> DMAC_INTPEND_ID_Pos; - return tmp; -} - -static inline void hri_dmac_set_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_intpend_reg_t hri_dmac_get_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t mask) -{ - uint16_t tmp; - tmp = ((Dmac *)hw)->INTPEND.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->INTPEND.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_intpend_reg_t hri_dmac_read_INTPEND_reg(const void *const hw) -{ - return ((Dmac *)hw)->INTPEND.reg; -} - -static inline void hri_dmac_set_BASEADDR_BASEADDR_bf(const void *const hw, hri_dmac_baseaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->BASEADDR.reg |= DMAC_BASEADDR_BASEADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_baseaddr_reg_t hri_dmac_get_BASEADDR_BASEADDR_bf(const void *const hw, - hri_dmac_baseaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->BASEADDR.reg; - tmp = (tmp & DMAC_BASEADDR_BASEADDR(mask)) >> DMAC_BASEADDR_BASEADDR_Pos; - return tmp; -} - -static inline void hri_dmac_write_BASEADDR_BASEADDR_bf(const void *const hw, hri_dmac_baseaddr_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->BASEADDR.reg; - tmp &= ~DMAC_BASEADDR_BASEADDR_Msk; - tmp |= DMAC_BASEADDR_BASEADDR(data); - ((Dmac *)hw)->BASEADDR.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_BASEADDR_BASEADDR_bf(const void *const hw, hri_dmac_baseaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->BASEADDR.reg &= ~DMAC_BASEADDR_BASEADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_BASEADDR_BASEADDR_bf(const void *const hw, hri_dmac_baseaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->BASEADDR.reg ^= DMAC_BASEADDR_BASEADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_baseaddr_reg_t hri_dmac_read_BASEADDR_BASEADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->BASEADDR.reg; - tmp = (tmp & DMAC_BASEADDR_BASEADDR_Msk) >> DMAC_BASEADDR_BASEADDR_Pos; - return tmp; -} - -static inline void hri_dmac_set_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->BASEADDR.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_baseaddr_reg_t hri_dmac_get_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->BASEADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->BASEADDR.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->BASEADDR.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->BASEADDR.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_baseaddr_reg_t hri_dmac_read_BASEADDR_reg(const void *const hw) -{ - return ((Dmac *)hw)->BASEADDR.reg; -} - -static inline void hri_dmac_set_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->WRBADDR.reg |= DMAC_WRBADDR_WRBADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_wrbaddr_reg_t hri_dmac_get_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->WRBADDR.reg; - tmp = (tmp & DMAC_WRBADDR_WRBADDR(mask)) >> DMAC_WRBADDR_WRBADDR_Pos; - return tmp; -} - -static inline void hri_dmac_write_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->WRBADDR.reg; - tmp &= ~DMAC_WRBADDR_WRBADDR_Msk; - tmp |= DMAC_WRBADDR_WRBADDR(data); - ((Dmac *)hw)->WRBADDR.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->WRBADDR.reg &= ~DMAC_WRBADDR_WRBADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->WRBADDR.reg ^= DMAC_WRBADDR_WRBADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_wrbaddr_reg_t hri_dmac_read_WRBADDR_WRBADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->WRBADDR.reg; - tmp = (tmp & DMAC_WRBADDR_WRBADDR_Msk) >> DMAC_WRBADDR_WRBADDR_Pos; - return tmp; -} - -static inline void hri_dmac_set_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->WRBADDR.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_wrbaddr_reg_t hri_dmac_get_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->WRBADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->WRBADDR.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->WRBADDR.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->WRBADDR.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_wrbaddr_reg_t hri_dmac_read_WRBADDR_reg(const void *const hw) -{ - return ((Dmac *)hw)->WRBADDR.reg; -} - -static inline bool hri_dmac_get_CRCSTATUS_CRCBUSY_bit(const void *const hw) -{ - return (((Dmac *)hw)->CRCSTATUS.reg & DMAC_CRCSTATUS_CRCBUSY) >> DMAC_CRCSTATUS_CRCBUSY_Pos; -} - -static inline void hri_dmac_clear_CRCSTATUS_CRCBUSY_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCSTATUS.reg = DMAC_CRCSTATUS_CRCBUSY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CRCSTATUS_CRCZERO_bit(const void *const hw) -{ - return (((Dmac *)hw)->CRCSTATUS.reg & DMAC_CRCSTATUS_CRCZERO) >> DMAC_CRCSTATUS_CRCZERO_Pos; -} - -static inline void hri_dmac_clear_CRCSTATUS_CRCZERO_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCSTATUS.reg = DMAC_CRCSTATUS_CRCZERO; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CRCSTATUS_CRCERR_bit(const void *const hw) -{ - return (((Dmac *)hw)->CRCSTATUS.reg & DMAC_CRCSTATUS_CRCERR) >> DMAC_CRCSTATUS_CRCERR_Pos; -} - -static inline void hri_dmac_clear_CRCSTATUS_CRCERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCSTATUS.reg = DMAC_CRCSTATUS_CRCERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcstatus_reg_t hri_dmac_get_CRCSTATUS_reg(const void *const hw, hri_dmac_crcstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->CRCSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_clear_CRCSTATUS_reg(const void *const hw, hri_dmac_crcstatus_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->CRCSTATUS.reg = mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_crcstatus_reg_t hri_dmac_read_CRCSTATUS_reg(const void *const hw) -{ - return ((Dmac *)hw)->CRCSTATUS.reg; -} - -static inline void hri_dmacdescriptor_set_BTCTRL_VALID_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_VALID; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacdescriptor_get_BTCTRL_VALID_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_VALID) >> DMAC_BTCTRL_VALID_Pos; - return (bool)tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_VALID_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= ~DMAC_BTCTRL_VALID; - tmp |= value << DMAC_BTCTRL_VALID_Pos; - ((DmacDescriptor *)hw)->BTCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_VALID_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_VALID; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_VALID_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_VALID; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_set_BTCTRL_SRCINC_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_SRCINC; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacdescriptor_get_BTCTRL_SRCINC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_SRCINC) >> DMAC_BTCTRL_SRCINC_Pos; - return (bool)tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_SRCINC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= ~DMAC_BTCTRL_SRCINC; - tmp |= value << DMAC_BTCTRL_SRCINC_Pos; - ((DmacDescriptor *)hw)->BTCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_SRCINC_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_SRCINC; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_SRCINC_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_SRCINC; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_set_BTCTRL_DSTINC_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_DSTINC; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacdescriptor_get_BTCTRL_DSTINC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_DSTINC) >> DMAC_BTCTRL_DSTINC_Pos; - return (bool)tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_DSTINC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= ~DMAC_BTCTRL_DSTINC; - tmp |= value << DMAC_BTCTRL_DSTINC_Pos; - ((DmacDescriptor *)hw)->BTCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_DSTINC_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_DSTINC; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_DSTINC_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_DSTINC; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_set_BTCTRL_STEPSEL_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_STEPSEL; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacdescriptor_get_BTCTRL_STEPSEL_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_STEPSEL) >> DMAC_BTCTRL_STEPSEL_Pos; - return (bool)tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_STEPSEL_bit(const void *const hw, bool value) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= ~DMAC_BTCTRL_STEPSEL; - tmp |= value << DMAC_BTCTRL_STEPSEL_Pos; - ((DmacDescriptor *)hw)->BTCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_STEPSEL_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_STEPSEL; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_STEPSEL_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_STEPSEL; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_set_BTCTRL_EVOSEL_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_EVOSEL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t -hri_dmacdescriptor_get_BTCTRL_EVOSEL_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_EVOSEL(mask)) >> DMAC_BTCTRL_EVOSEL_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_EVOSEL_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= ~DMAC_BTCTRL_EVOSEL_Msk; - tmp |= DMAC_BTCTRL_EVOSEL(data); - ((DmacDescriptor *)hw)->BTCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_EVOSEL_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_EVOSEL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_EVOSEL_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_EVOSEL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_EVOSEL_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_EVOSEL_Msk) >> DMAC_BTCTRL_EVOSEL_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_BTCTRL_BLOCKACT_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_BLOCKACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t -hri_dmacdescriptor_get_BTCTRL_BLOCKACT_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_BLOCKACT(mask)) >> DMAC_BTCTRL_BLOCKACT_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_BLOCKACT_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= ~DMAC_BTCTRL_BLOCKACT_Msk; - tmp |= DMAC_BTCTRL_BLOCKACT(data); - ((DmacDescriptor *)hw)->BTCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_BLOCKACT_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_BLOCKACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_BLOCKACT_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_BLOCKACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_BLOCKACT_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_BLOCKACT_Msk) >> DMAC_BTCTRL_BLOCKACT_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_BTCTRL_BEATSIZE_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_BEATSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t -hri_dmacdescriptor_get_BTCTRL_BEATSIZE_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_BEATSIZE(mask)) >> DMAC_BTCTRL_BEATSIZE_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_BEATSIZE_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= ~DMAC_BTCTRL_BEATSIZE_Msk; - tmp |= DMAC_BTCTRL_BEATSIZE(data); - ((DmacDescriptor *)hw)->BTCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_BEATSIZE_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_BEATSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_BEATSIZE_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_BEATSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_BEATSIZE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_BEATSIZE_Msk) >> DMAC_BTCTRL_BEATSIZE_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_BTCTRL_STEPSIZE_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_STEPSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t -hri_dmacdescriptor_get_BTCTRL_STEPSIZE_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_STEPSIZE(mask)) >> DMAC_BTCTRL_STEPSIZE_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_STEPSIZE_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= ~DMAC_BTCTRL_STEPSIZE_Msk; - tmp |= DMAC_BTCTRL_STEPSIZE(data); - ((DmacDescriptor *)hw)->BTCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_STEPSIZE_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_STEPSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_STEPSIZE_bf(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_STEPSIZE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_STEPSIZE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp = (tmp & DMAC_BTCTRL_STEPSIZE_Msk) >> DMAC_BTCTRL_STEPSIZE_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_BTCTRL_reg(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_get_BTCTRL_reg(const void *const hw, - hri_dmacdescriptor_btctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacdescriptor_write_BTCTRL_reg(const void *const hw, hri_dmacdescriptor_btctrl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCTRL_reg(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCTRL_reg(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCTRL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_reg(const void *const hw) -{ - return ((DmacDescriptor *)hw)->BTCTRL.reg; -} - -static inline void hri_dmacdescriptor_set_BTCNT_BTCNT_bf(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCNT.reg |= DMAC_BTCNT_BTCNT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btcnt_reg_t hri_dmacdescriptor_get_BTCNT_BTCNT_bf(const void *const hw, - hri_dmacdescriptor_btcnt_reg_t mask) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCNT.reg; - tmp = (tmp & DMAC_BTCNT_BTCNT(mask)) >> DMAC_BTCNT_BTCNT_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_BTCNT_BTCNT_bf(const void *const hw, hri_dmacdescriptor_btcnt_reg_t data) -{ - uint16_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->BTCNT.reg; - tmp &= ~DMAC_BTCNT_BTCNT_Msk; - tmp |= DMAC_BTCNT_BTCNT(data); - ((DmacDescriptor *)hw)->BTCNT.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCNT_BTCNT_bf(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCNT.reg &= ~DMAC_BTCNT_BTCNT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCNT_BTCNT_bf(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCNT.reg ^= DMAC_BTCNT_BTCNT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btcnt_reg_t hri_dmacdescriptor_read_BTCNT_BTCNT_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCNT.reg; - tmp = (tmp & DMAC_BTCNT_BTCNT_Msk) >> DMAC_BTCNT_BTCNT_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_BTCNT_reg(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCNT.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btcnt_reg_t hri_dmacdescriptor_get_BTCNT_reg(const void *const hw, - hri_dmacdescriptor_btcnt_reg_t mask) -{ - uint16_t tmp; - tmp = ((DmacDescriptor *)hw)->BTCNT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacdescriptor_write_BTCNT_reg(const void *const hw, hri_dmacdescriptor_btcnt_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCNT.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_BTCNT_reg(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCNT.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_BTCNT_reg(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->BTCNT.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_btcnt_reg_t hri_dmacdescriptor_read_BTCNT_reg(const void *const hw) -{ - return ((DmacDescriptor *)hw)->BTCNT.reg; -} - -static inline void hri_dmacdescriptor_set_SRCADDR_SRCADDR_bf(const void *const hw, - hri_dmacdescriptor_srcaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->SRCADDR.reg |= DMAC_SRCADDR_SRCADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_srcaddr_reg_t -hri_dmacdescriptor_get_SRCADDR_SRCADDR_bf(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->SRCADDR.reg; - tmp = (tmp & DMAC_SRCADDR_SRCADDR(mask)) >> DMAC_SRCADDR_SRCADDR_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_SRCADDR_SRCADDR_bf(const void *const hw, - hri_dmacdescriptor_srcaddr_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->SRCADDR.reg; - tmp &= ~DMAC_SRCADDR_SRCADDR_Msk; - tmp |= DMAC_SRCADDR_SRCADDR(data); - ((DmacDescriptor *)hw)->SRCADDR.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_SRCADDR_SRCADDR_bf(const void *const hw, - hri_dmacdescriptor_srcaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->SRCADDR.reg &= ~DMAC_SRCADDR_SRCADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_SRCADDR_SRCADDR_bf(const void *const hw, - hri_dmacdescriptor_srcaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->SRCADDR.reg ^= DMAC_SRCADDR_SRCADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_srcaddr_reg_t hri_dmacdescriptor_read_SRCADDR_SRCADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->SRCADDR.reg; - tmp = (tmp & DMAC_SRCADDR_SRCADDR_Msk) >> DMAC_SRCADDR_SRCADDR_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_SRCADDR_reg(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->SRCADDR.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_srcaddr_reg_t hri_dmacdescriptor_get_SRCADDR_reg(const void *const hw, - hri_dmacdescriptor_srcaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->SRCADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacdescriptor_write_SRCADDR_reg(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->SRCADDR.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_SRCADDR_reg(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->SRCADDR.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_SRCADDR_reg(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->SRCADDR.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_srcaddr_reg_t hri_dmacdescriptor_read_SRCADDR_reg(const void *const hw) -{ - return ((DmacDescriptor *)hw)->SRCADDR.reg; -} - -static inline void hri_dmacdescriptor_set_DSTADDR_CRC_CHKINIT_bf(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg |= DMAC_DSTADDR_CRC_CHKINIT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_dstaddr_reg_t -hri_dmacdescriptor_get_DSTADDR_CRC_CHKINIT_bf(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->DSTADDR.reg; - tmp = (tmp & DMAC_DSTADDR_CRC_CHKINIT(mask)) >> DMAC_DSTADDR_CRC_CHKINIT_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_DSTADDR_CRC_CHKINIT_bf(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->DSTADDR.reg; - tmp &= ~DMAC_DSTADDR_CRC_CHKINIT_Msk; - tmp |= DMAC_DSTADDR_CRC_CHKINIT(data); - ((DmacDescriptor *)hw)->DSTADDR.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_DSTADDR_CRC_CHKINIT_bf(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg &= ~DMAC_DSTADDR_CRC_CHKINIT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_DSTADDR_CRC_CHKINIT_bf(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg ^= DMAC_DSTADDR_CRC_CHKINIT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_dstaddr_reg_t hri_dmacdescriptor_read_DSTADDR_CRC_CHKINIT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->DSTADDR.reg; - tmp = (tmp & DMAC_DSTADDR_CRC_CHKINIT_Msk) >> DMAC_DSTADDR_CRC_CHKINIT_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_DSTADDR_DSTADDR_bf(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg |= DMAC_DSTADDR_DSTADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_dstaddr_reg_t -hri_dmacdescriptor_get_DSTADDR_DSTADDR_bf(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->DSTADDR.reg; - tmp = (tmp & DMAC_DSTADDR_DSTADDR(mask)) >> DMAC_DSTADDR_DSTADDR_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_DSTADDR_DSTADDR_bf(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->DSTADDR.reg; - tmp &= ~DMAC_DSTADDR_DSTADDR_Msk; - tmp |= DMAC_DSTADDR_DSTADDR(data); - ((DmacDescriptor *)hw)->DSTADDR.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_DSTADDR_DSTADDR_bf(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg &= ~DMAC_DSTADDR_DSTADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_DSTADDR_DSTADDR_bf(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg ^= DMAC_DSTADDR_DSTADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_dstaddr_reg_t hri_dmacdescriptor_read_DSTADDR_DSTADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->DSTADDR.reg; - tmp = (tmp & DMAC_DSTADDR_DSTADDR_Msk) >> DMAC_DSTADDR_DSTADDR_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_DSTADDR_reg(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_dstaddr_reg_t hri_dmacdescriptor_get_DSTADDR_reg(const void *const hw, - hri_dmacdescriptor_dstaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->DSTADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacdescriptor_write_DSTADDR_reg(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_DSTADDR_reg(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_DSTADDR_reg(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DSTADDR.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_dstaddr_reg_t hri_dmacdescriptor_read_DSTADDR_reg(const void *const hw) -{ - return ((DmacDescriptor *)hw)->DSTADDR.reg; -} - -static inline void hri_dmacdescriptor_set_DESCADDR_DESCADDR_bf(const void *const hw, - hri_dmacdescriptor_descaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DESCADDR.reg |= DMAC_DESCADDR_DESCADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_descaddr_reg_t -hri_dmacdescriptor_get_DESCADDR_DESCADDR_bf(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->DESCADDR.reg; - tmp = (tmp & DMAC_DESCADDR_DESCADDR(mask)) >> DMAC_DESCADDR_DESCADDR_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_write_DESCADDR_DESCADDR_bf(const void *const hw, - hri_dmacdescriptor_descaddr_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacDescriptor *)hw)->DESCADDR.reg; - tmp &= ~DMAC_DESCADDR_DESCADDR_Msk; - tmp |= DMAC_DESCADDR_DESCADDR(data); - ((DmacDescriptor *)hw)->DESCADDR.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_DESCADDR_DESCADDR_bf(const void *const hw, - hri_dmacdescriptor_descaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DESCADDR.reg &= ~DMAC_DESCADDR_DESCADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_DESCADDR_DESCADDR_bf(const void *const hw, - hri_dmacdescriptor_descaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DESCADDR.reg ^= DMAC_DESCADDR_DESCADDR(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_descaddr_reg_t hri_dmacdescriptor_read_DESCADDR_DESCADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->DESCADDR.reg; - tmp = (tmp & DMAC_DESCADDR_DESCADDR_Msk) >> DMAC_DESCADDR_DESCADDR_Pos; - return tmp; -} - -static inline void hri_dmacdescriptor_set_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DESCADDR.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_descaddr_reg_t -hri_dmacdescriptor_get_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacDescriptor *)hw)->DESCADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacdescriptor_write_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DESCADDR.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_clear_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DESCADDR.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacdescriptor_toggle_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacDescriptor *)hw)->DESCADDR.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmacdescriptor_descaddr_reg_t hri_dmacdescriptor_read_DESCADDR_reg(const void *const hw) -{ - return ((DmacDescriptor *)hw)->DESCADDR.reg; -} - -static inline bool hri_dmacchannel_get_CHINTFLAG_TERR_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_TERR) >> DMAC_CHINTFLAG_TERR_Pos; -} - -static inline void hri_dmacchannel_clear_CHINTFLAG_TERR_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_TERR; -} - -static inline bool hri_dmacchannel_get_CHINTFLAG_TCMPL_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_TCMPL) >> DMAC_CHINTFLAG_TCMPL_Pos; -} - -static inline void hri_dmacchannel_clear_CHINTFLAG_TCMPL_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_TCMPL; -} - -static inline bool hri_dmacchannel_get_CHINTFLAG_SUSP_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_SUSP) >> DMAC_CHINTFLAG_SUSP_Pos; -} - -static inline void hri_dmacchannel_clear_CHINTFLAG_SUSP_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_SUSP; -} - -static inline bool hri_dmacchannel_get_interrupt_TERR_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_TERR) >> DMAC_CHINTFLAG_TERR_Pos; -} - -static inline void hri_dmacchannel_clear_interrupt_TERR_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_TERR; -} - -static inline bool hri_dmacchannel_get_interrupt_TCMPL_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_TCMPL) >> DMAC_CHINTFLAG_TCMPL_Pos; -} - -static inline void hri_dmacchannel_clear_interrupt_TCMPL_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_TCMPL; -} - -static inline bool hri_dmacchannel_get_interrupt_SUSP_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_SUSP) >> DMAC_CHINTFLAG_SUSP_Pos; -} - -static inline void hri_dmacchannel_clear_interrupt_SUSP_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_SUSP; -} - -static inline hri_dmac_chintflag_reg_t hri_dmacchannel_get_CHINTFLAG_reg(const void *const hw, - hri_dmac_chintflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHINTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dmac_chintflag_reg_t hri_dmacchannel_read_CHINTFLAG_reg(const void *const hw) -{ - return ((DmacChannel *)hw)->CHINTFLAG.reg; -} - -static inline void hri_dmacchannel_clear_CHINTFLAG_reg(const void *const hw, hri_dmac_chintflag_reg_t mask) -{ - ((DmacChannel *)hw)->CHINTFLAG.reg = mask; -} - -static inline void hri_dmacchannel_set_CHINTEN_TERR_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_TERR; -} - -static inline bool hri_dmacchannel_get_CHINTEN_TERR_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTENSET.reg & DMAC_CHINTENSET_TERR) >> DMAC_CHINTENSET_TERR_Pos; -} - -static inline void hri_dmacchannel_write_CHINTEN_TERR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_TERR; - } else { - ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_TERR; - } -} - -static inline void hri_dmacchannel_clear_CHINTEN_TERR_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_TERR; -} - -static inline void hri_dmacchannel_set_CHINTEN_TCMPL_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_TCMPL; -} - -static inline bool hri_dmacchannel_get_CHINTEN_TCMPL_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTENSET.reg & DMAC_CHINTENSET_TCMPL) >> DMAC_CHINTENSET_TCMPL_Pos; -} - -static inline void hri_dmacchannel_write_CHINTEN_TCMPL_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_TCMPL; - } else { - ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_TCMPL; - } -} - -static inline void hri_dmacchannel_clear_CHINTEN_TCMPL_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_TCMPL; -} - -static inline void hri_dmacchannel_set_CHINTEN_SUSP_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_SUSP; -} - -static inline bool hri_dmacchannel_get_CHINTEN_SUSP_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHINTENSET.reg & DMAC_CHINTENSET_SUSP) >> DMAC_CHINTENSET_SUSP_Pos; -} - -static inline void hri_dmacchannel_write_CHINTEN_SUSP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_SUSP; - } else { - ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_SUSP; - } -} - -static inline void hri_dmacchannel_clear_CHINTEN_SUSP_bit(const void *const hw) -{ - ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_SUSP; -} - -static inline void hri_dmacchannel_set_CHINTEN_reg(const void *const hw, hri_dmac_chintenset_reg_t mask) -{ - ((DmacChannel *)hw)->CHINTENSET.reg = mask; -} - -static inline hri_dmac_chintenset_reg_t hri_dmacchannel_get_CHINTEN_reg(const void *const hw, - hri_dmac_chintenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHINTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dmac_chintenset_reg_t hri_dmacchannel_read_CHINTEN_reg(const void *const hw) -{ - return ((DmacChannel *)hw)->CHINTENSET.reg; -} - -static inline void hri_dmacchannel_write_CHINTEN_reg(const void *const hw, hri_dmac_chintenset_reg_t data) -{ - ((DmacChannel *)hw)->CHINTENSET.reg = data; - ((DmacChannel *)hw)->CHINTENCLR.reg = ~data; -} - -static inline void hri_dmacchannel_clear_CHINTEN_reg(const void *const hw, hri_dmac_chintenset_reg_t mask) -{ - ((DmacChannel *)hw)->CHINTENCLR.reg = mask; -} - -static inline void hri_dmacchannel_set_CHCTRLA_SWRST_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_SWRST; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacchannel_get_CHCTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_SWRST) >> DMAC_CHCTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_dmacchannel_set_CHCTRLA_ENABLE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacchannel_get_CHCTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_ENABLE) >> DMAC_CHCTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_ENABLE; - tmp |= value << DMAC_CHCTRLA_ENABLE_Pos; - ((DmacChannel *)hw)->CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLA_ENABLE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_ENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLA_ENABLE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_ENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_set_CHCTRLA_RUNSTDBY_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_RUNSTDBY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacchannel_get_CHCTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_RUNSTDBY) >> DMAC_CHCTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_RUNSTDBY; - tmp |= value << DMAC_CHCTRLA_RUNSTDBY_Pos; - ((DmacChannel *)hw)->CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLA_RUNSTDBY_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_RUNSTDBY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLA_RUNSTDBY_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_RUNSTDBY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_set_CHCTRLA_TRIGSRC_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_TRIGSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_TRIGSRC_bf(const void *const hw, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_TRIGSRC(mask)) >> DMAC_CHCTRLA_TRIGSRC_Pos; - return tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLA_TRIGSRC_bf(const void *const hw, hri_dmac_chctrla_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_TRIGSRC_Msk; - tmp |= DMAC_CHCTRLA_TRIGSRC(data); - ((DmacChannel *)hw)->CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLA_TRIGSRC_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_TRIGSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLA_TRIGSRC_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_TRIGSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_TRIGSRC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_TRIGSRC_Msk) >> DMAC_CHCTRLA_TRIGSRC_Pos; - return tmp; -} - -static inline void hri_dmacchannel_set_CHCTRLA_TRIGACT_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_TRIGACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_TRIGACT_bf(const void *const hw, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_TRIGACT(mask)) >> DMAC_CHCTRLA_TRIGACT_Pos; - return tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLA_TRIGACT_bf(const void *const hw, hri_dmac_chctrla_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_TRIGACT_Msk; - tmp |= DMAC_CHCTRLA_TRIGACT(data); - ((DmacChannel *)hw)->CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLA_TRIGACT_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_TRIGACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLA_TRIGACT_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_TRIGACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_TRIGACT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_TRIGACT_Msk) >> DMAC_CHCTRLA_TRIGACT_Pos; - return tmp; -} - -static inline void hri_dmacchannel_set_CHCTRLA_BURSTLEN_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_BURSTLEN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_BURSTLEN_bf(const void *const hw, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_BURSTLEN(mask)) >> DMAC_CHCTRLA_BURSTLEN_Pos; - return tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLA_BURSTLEN_bf(const void *const hw, hri_dmac_chctrla_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_BURSTLEN_Msk; - tmp |= DMAC_CHCTRLA_BURSTLEN(data); - ((DmacChannel *)hw)->CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLA_BURSTLEN_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_BURSTLEN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLA_BURSTLEN_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_BURSTLEN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_BURSTLEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_BURSTLEN_Msk) >> DMAC_CHCTRLA_BURSTLEN_Pos; - return tmp; -} - -static inline void hri_dmacchannel_set_CHCTRLA_THRESHOLD_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_THRESHOLD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_THRESHOLD_bf(const void *const hw, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_THRESHOLD(mask)) >> DMAC_CHCTRLA_THRESHOLD_Pos; - return tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLA_THRESHOLD_bf(const void *const hw, hri_dmac_chctrla_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_THRESHOLD_Msk; - tmp |= DMAC_CHCTRLA_THRESHOLD(data); - ((DmacChannel *)hw)->CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLA_THRESHOLD_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_THRESHOLD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLA_THRESHOLD_bf(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_THRESHOLD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_THRESHOLD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_THRESHOLD_Msk) >> DMAC_CHCTRLA_THRESHOLD_Pos; - return tmp; -} - -static inline void hri_dmacchannel_set_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLA.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_reg(const void *const hw) -{ - return ((DmacChannel *)hw)->CHCTRLA.reg; -} - -static inline void hri_dmacchannel_set_CHCTRLB_CMD_bf(const void *const hw, hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLB.reg |= DMAC_CHCTRLB_CMD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrlb_reg_t hri_dmacchannel_get_CHCTRLB_CMD_bf(const void *const hw, - hri_dmac_chctrlb_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLB.reg; - tmp = (tmp & DMAC_CHCTRLB_CMD(mask)) >> DMAC_CHCTRLB_CMD_Pos; - return tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLB_CMD_bf(const void *const hw, hri_dmac_chctrlb_reg_t data) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHCTRLB.reg; - tmp &= ~DMAC_CHCTRLB_CMD_Msk; - tmp |= DMAC_CHCTRLB_CMD(data); - ((DmacChannel *)hw)->CHCTRLB.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLB_CMD_bf(const void *const hw, hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLB.reg &= ~DMAC_CHCTRLB_CMD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLB_CMD_bf(const void *const hw, hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLB.reg ^= DMAC_CHCTRLB_CMD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrlb_reg_t hri_dmacchannel_read_CHCTRLB_CMD_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLB.reg; - tmp = (tmp & DMAC_CHCTRLB_CMD_Msk) >> DMAC_CHCTRLB_CMD_Pos; - return tmp; -} - -static inline void hri_dmacchannel_set_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLB.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrlb_reg_t hri_dmacchannel_get_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHCTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacchannel_write_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLB.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLB.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHCTRLB.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrlb_reg_t hri_dmacchannel_read_CHCTRLB_reg(const void *const hw) -{ - return ((DmacChannel *)hw)->CHCTRLB.reg; -} - -static inline void hri_dmacchannel_set_CHPRILVL_PRILVL_bf(const void *const hw, hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHPRILVL.reg |= DMAC_CHPRILVL_PRILVL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chprilvl_reg_t hri_dmacchannel_get_CHPRILVL_PRILVL_bf(const void *const hw, - hri_dmac_chprilvl_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHPRILVL.reg; - tmp = (tmp & DMAC_CHPRILVL_PRILVL(mask)) >> DMAC_CHPRILVL_PRILVL_Pos; - return tmp; -} - -static inline void hri_dmacchannel_write_CHPRILVL_PRILVL_bf(const void *const hw, hri_dmac_chprilvl_reg_t data) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHPRILVL.reg; - tmp &= ~DMAC_CHPRILVL_PRILVL_Msk; - tmp |= DMAC_CHPRILVL_PRILVL(data); - ((DmacChannel *)hw)->CHPRILVL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHPRILVL_PRILVL_bf(const void *const hw, hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHPRILVL.reg &= ~DMAC_CHPRILVL_PRILVL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHPRILVL_PRILVL_bf(const void *const hw, hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHPRILVL.reg ^= DMAC_CHPRILVL_PRILVL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chprilvl_reg_t hri_dmacchannel_read_CHPRILVL_PRILVL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHPRILVL.reg; - tmp = (tmp & DMAC_CHPRILVL_PRILVL_Msk) >> DMAC_CHPRILVL_PRILVL_Pos; - return tmp; -} - -static inline void hri_dmacchannel_set_CHPRILVL_reg(const void *const hw, hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHPRILVL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chprilvl_reg_t hri_dmacchannel_get_CHPRILVL_reg(const void *const hw, - hri_dmac_chprilvl_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHPRILVL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacchannel_write_CHPRILVL_reg(const void *const hw, hri_dmac_chprilvl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHPRILVL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHPRILVL_reg(const void *const hw, hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHPRILVL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHPRILVL_reg(const void *const hw, hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHPRILVL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chprilvl_reg_t hri_dmacchannel_read_CHPRILVL_reg(const void *const hw) -{ - return ((DmacChannel *)hw)->CHPRILVL.reg; -} - -static inline void hri_dmacchannel_set_CHEVCTRL_EVIE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg |= DMAC_CHEVCTRL_EVIE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacchannel_get_CHEVCTRL_EVIE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVIE) >> DMAC_CHEVCTRL_EVIE_Pos; - return (bool)tmp; -} - -static inline void hri_dmacchannel_write_CHEVCTRL_EVIE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp &= ~DMAC_CHEVCTRL_EVIE; - tmp |= value << DMAC_CHEVCTRL_EVIE_Pos; - ((DmacChannel *)hw)->CHEVCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHEVCTRL_EVIE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVIE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHEVCTRL_EVIE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVIE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_set_CHEVCTRL_EVOE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg |= DMAC_CHEVCTRL_EVOE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacchannel_get_CHEVCTRL_EVOE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVOE) >> DMAC_CHEVCTRL_EVOE_Pos; - return (bool)tmp; -} - -static inline void hri_dmacchannel_write_CHEVCTRL_EVOE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp &= ~DMAC_CHEVCTRL_EVOE; - tmp |= value << DMAC_CHEVCTRL_EVOE_Pos; - ((DmacChannel *)hw)->CHEVCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHEVCTRL_EVOE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVOE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHEVCTRL_EVOE_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVOE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_set_CHEVCTRL_EVACT_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg |= DMAC_CHEVCTRL_EVACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_get_CHEVCTRL_EVACT_bf(const void *const hw, - hri_dmac_chevctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVACT(mask)) >> DMAC_CHEVCTRL_EVACT_Pos; - return tmp; -} - -static inline void hri_dmacchannel_write_CHEVCTRL_EVACT_bf(const void *const hw, hri_dmac_chevctrl_reg_t data) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp &= ~DMAC_CHEVCTRL_EVACT_Msk; - tmp |= DMAC_CHEVCTRL_EVACT(data); - ((DmacChannel *)hw)->CHEVCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHEVCTRL_EVACT_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHEVCTRL_EVACT_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_read_CHEVCTRL_EVACT_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVACT_Msk) >> DMAC_CHEVCTRL_EVACT_Pos; - return tmp; -} - -static inline void hri_dmacchannel_set_CHEVCTRL_EVOMODE_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg |= DMAC_CHEVCTRL_EVOMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_get_CHEVCTRL_EVOMODE_bf(const void *const hw, - hri_dmac_chevctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVOMODE(mask)) >> DMAC_CHEVCTRL_EVOMODE_Pos; - return tmp; -} - -static inline void hri_dmacchannel_write_CHEVCTRL_EVOMODE_bf(const void *const hw, hri_dmac_chevctrl_reg_t data) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp &= ~DMAC_CHEVCTRL_EVOMODE_Msk; - tmp |= DMAC_CHEVCTRL_EVOMODE(data); - ((DmacChannel *)hw)->CHEVCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHEVCTRL_EVOMODE_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVOMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHEVCTRL_EVOMODE_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVOMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_read_CHEVCTRL_EVOMODE_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVOMODE_Msk) >> DMAC_CHEVCTRL_EVOMODE_Pos; - return tmp; -} - -static inline void hri_dmacchannel_set_CHEVCTRL_reg(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_get_CHEVCTRL_reg(const void *const hw, - hri_dmac_chevctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHEVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacchannel_write_CHEVCTRL_reg(const void *const hw, hri_dmac_chevctrl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_clear_CHEVCTRL_reg(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmacchannel_toggle_CHEVCTRL_reg(const void *const hw, hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHEVCTRL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_read_CHEVCTRL_reg(const void *const hw) -{ - return ((DmacChannel *)hw)->CHEVCTRL.reg; -} - -static inline bool hri_dmacchannel_get_CHSTATUS_PEND_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHSTATUS.reg & DMAC_CHSTATUS_PEND) >> DMAC_CHSTATUS_PEND_Pos; -} - -static inline void hri_dmacchannel_clear_CHSTATUS_PEND_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHSTATUS.reg = DMAC_CHSTATUS_PEND; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacchannel_get_CHSTATUS_BUSY_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHSTATUS.reg & DMAC_CHSTATUS_BUSY) >> DMAC_CHSTATUS_BUSY_Pos; -} - -static inline void hri_dmacchannel_clear_CHSTATUS_BUSY_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHSTATUS.reg = DMAC_CHSTATUS_BUSY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacchannel_get_CHSTATUS_FERR_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHSTATUS.reg & DMAC_CHSTATUS_FERR) >> DMAC_CHSTATUS_FERR_Pos; -} - -static inline void hri_dmacchannel_clear_CHSTATUS_FERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHSTATUS.reg = DMAC_CHSTATUS_FERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmacchannel_get_CHSTATUS_CRCERR_bit(const void *const hw) -{ - return (((DmacChannel *)hw)->CHSTATUS.reg & DMAC_CHSTATUS_CRCERR) >> DMAC_CHSTATUS_CRCERR_Pos; -} - -static inline void hri_dmacchannel_clear_CHSTATUS_CRCERR_bit(const void *const hw) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHSTATUS.reg = DMAC_CHSTATUS_CRCERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chstatus_reg_t hri_dmacchannel_get_CHSTATUS_reg(const void *const hw, - hri_dmac_chstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((DmacChannel *)hw)->CHSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmacchannel_clear_CHSTATUS_reg(const void *const hw, hri_dmac_chstatus_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((DmacChannel *)hw)->CHSTATUS.reg = mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chstatus_reg_t hri_dmacchannel_read_CHSTATUS_reg(const void *const hw) -{ - return ((DmacChannel *)hw)->CHSTATUS.reg; -} - -static inline bool hri_dmac_get_CHINTFLAG_TERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_TERR) >> DMAC_CHINTFLAG_TERR_Pos; -} - -static inline void hri_dmac_clear_CHINTFLAG_TERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_TERR; -} - -static inline bool hri_dmac_get_CHINTFLAG_TCMPL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_TCMPL) >> DMAC_CHINTFLAG_TCMPL_Pos; -} - -static inline void hri_dmac_clear_CHINTFLAG_TCMPL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_TCMPL; -} - -static inline bool hri_dmac_get_CHINTFLAG_SUSP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_SUSP) >> DMAC_CHINTFLAG_SUSP_Pos; -} - -static inline void hri_dmac_clear_CHINTFLAG_SUSP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_SUSP; -} - -static inline bool hri_dmac_get_interrupt_TERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_TERR) >> DMAC_CHINTFLAG_TERR_Pos; -} - -static inline void hri_dmac_clear_interrupt_TERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_TERR; -} - -static inline bool hri_dmac_get_interrupt_TCMPL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_TCMPL) >> DMAC_CHINTFLAG_TCMPL_Pos; -} - -static inline void hri_dmac_clear_interrupt_TCMPL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_TCMPL; -} - -static inline bool hri_dmac_get_interrupt_SUSP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_SUSP) >> DMAC_CHINTFLAG_SUSP_Pos; -} - -static inline void hri_dmac_clear_interrupt_SUSP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_SUSP; -} - -static inline hri_dmac_chintflag_reg_t hri_dmac_get_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chintflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dmac_chintflag_reg_t hri_dmac_read_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg; -} - -static inline void hri_dmac_clear_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chintflag_reg_t mask) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = mask; -} - -static inline void hri_dmac_set_CHINTEN_TERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_TERR; -} - -static inline bool hri_dmac_get_CHINTEN_TERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg & DMAC_CHINTENSET_TERR) >> DMAC_CHINTENSET_TERR_Pos; -} - -static inline void hri_dmac_write_CHINTEN_TERR_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_TERR; - } else { - ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_TERR; - } -} - -static inline void hri_dmac_clear_CHINTEN_TERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_TERR; -} - -static inline void hri_dmac_set_CHINTEN_TCMPL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_TCMPL; -} - -static inline bool hri_dmac_get_CHINTEN_TCMPL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg & DMAC_CHINTENSET_TCMPL) >> DMAC_CHINTENSET_TCMPL_Pos; -} - -static inline void hri_dmac_write_CHINTEN_TCMPL_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_TCMPL; - } else { - ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_TCMPL; - } -} - -static inline void hri_dmac_clear_CHINTEN_TCMPL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_TCMPL; -} - -static inline void hri_dmac_set_CHINTEN_SUSP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_SUSP; -} - -static inline bool hri_dmac_get_CHINTEN_SUSP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg & DMAC_CHINTENSET_SUSP) >> DMAC_CHINTENSET_SUSP_Pos; -} - -static inline void hri_dmac_write_CHINTEN_SUSP_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_SUSP; - } else { - ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_SUSP; - } -} - -static inline void hri_dmac_clear_CHINTEN_SUSP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_SUSP; -} - -static inline void hri_dmac_set_CHINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chintenset_reg_t mask) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = mask; -} - -static inline hri_dmac_chintenset_reg_t hri_dmac_get_CHINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chintenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dmac_chintenset_reg_t hri_dmac_read_CHINTEN_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg; -} - -static inline void hri_dmac_write_CHINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chintenset_reg_t data) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = data; - ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = ~data; -} - -static inline void hri_dmac_clear_CHINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chintenset_reg_t mask) -{ - ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = mask; -} - -static inline void hri_dmac_set_CHCTRLA_SWRST_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_SWRST; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CHCTRLA_SWRST_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_SWRST) >> DMAC_CHCTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_set_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_ENABLE) >> DMAC_CHCTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_ENABLE; - tmp |= value << DMAC_CHCTRLA_ENABLE_Pos; - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_ENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_ENABLE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_RUNSTDBY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_RUNSTDBY) >> DMAC_CHCTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_RUNSTDBY; - tmp |= value << DMAC_CHCTRLA_RUNSTDBY_Pos; - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_RUNSTDBY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_RUNSTDBY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_TRIGSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_TRIGSRC(mask)) >> DMAC_CHCTRLA_TRIGSRC_Pos; - return tmp; -} - -static inline void hri_dmac_write_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_TRIGSRC_Msk; - tmp |= DMAC_CHCTRLA_TRIGSRC(data); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_TRIGSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_TRIGSRC(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_TRIGSRC_Msk) >> DMAC_CHCTRLA_TRIGSRC_Pos; - return tmp; -} - -static inline void hri_dmac_set_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_TRIGACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_TRIGACT(mask)) >> DMAC_CHCTRLA_TRIGACT_Pos; - return tmp; -} - -static inline void hri_dmac_write_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_TRIGACT_Msk; - tmp |= DMAC_CHCTRLA_TRIGACT(data); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_TRIGACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_TRIGACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_TRIGACT_Msk) >> DMAC_CHCTRLA_TRIGACT_Pos; - return tmp; -} - -static inline void hri_dmac_set_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_BURSTLEN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_BURSTLEN(mask)) >> DMAC_CHCTRLA_BURSTLEN_Pos; - return tmp; -} - -static inline void hri_dmac_write_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_BURSTLEN_Msk; - tmp |= DMAC_CHCTRLA_BURSTLEN(data); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_BURSTLEN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_BURSTLEN(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_BURSTLEN_Msk) >> DMAC_CHCTRLA_BURSTLEN_Pos; - return tmp; -} - -static inline void hri_dmac_set_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_THRESHOLD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_THRESHOLD(mask)) >> DMAC_CHCTRLA_THRESHOLD_Pos; - return tmp; -} - -static inline void hri_dmac_write_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t data) -{ - uint32_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp &= ~DMAC_CHCTRLA_THRESHOLD_Msk; - tmp |= DMAC_CHCTRLA_THRESHOLD(data); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_THRESHOLD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_THRESHOLD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp = (tmp & DMAC_CHCTRLA_THRESHOLD_Msk) >> DMAC_CHCTRLA_THRESHOLD_Pos; - return tmp; -} - -static inline void hri_dmac_set_CHCTRLA_reg(const void *const hw, uint8_t submodule_index, hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_CHCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrla_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg; -} - -static inline void hri_dmac_set_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg |= DMAC_CHCTRLB_CMD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrlb_reg_t hri_dmac_get_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg; - tmp = (tmp & DMAC_CHCTRLB_CMD(mask)) >> DMAC_CHCTRLB_CMD_Pos; - return tmp; -} - -static inline void hri_dmac_write_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t data) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg; - tmp &= ~DMAC_CHCTRLB_CMD_Msk; - tmp |= DMAC_CHCTRLB_CMD(data); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg &= ~DMAC_CHCTRLB_CMD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg ^= DMAC_CHCTRLB_CMD(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrlb_reg_t hri_dmac_read_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg; - tmp = (tmp & DMAC_CHCTRLB_CMD_Msk) >> DMAC_CHCTRLB_CMD_Pos; - return tmp; -} - -static inline void hri_dmac_set_CHCTRLB_reg(const void *const hw, uint8_t submodule_index, hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrlb_reg_t hri_dmac_get_CHCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_CHCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chctrlb_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chctrlb_reg_t hri_dmac_read_CHCTRLB_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg; -} - -static inline void hri_dmac_set_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg |= DMAC_CHPRILVL_PRILVL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chprilvl_reg_t hri_dmac_get_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg; - tmp = (tmp & DMAC_CHPRILVL_PRILVL(mask)) >> DMAC_CHPRILVL_PRILVL_Pos; - return tmp; -} - -static inline void hri_dmac_write_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t data) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg; - tmp &= ~DMAC_CHPRILVL_PRILVL_Msk; - tmp |= DMAC_CHPRILVL_PRILVL(data); - ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg &= ~DMAC_CHPRILVL_PRILVL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg ^= DMAC_CHPRILVL_PRILVL(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chprilvl_reg_t hri_dmac_read_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg; - tmp = (tmp & DMAC_CHPRILVL_PRILVL_Msk) >> DMAC_CHPRILVL_PRILVL_Pos; - return tmp; -} - -static inline void hri_dmac_set_CHPRILVL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chprilvl_reg_t hri_dmac_get_CHPRILVL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_CHPRILVL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHPRILVL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHPRILVL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chprilvl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chprilvl_reg_t hri_dmac_read_CHPRILVL_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg; -} - -static inline void hri_dmac_set_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= DMAC_CHEVCTRL_EVIE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVIE) >> DMAC_CHEVCTRL_EVIE_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp &= ~DMAC_CHEVCTRL_EVIE; - tmp |= value << DMAC_CHEVCTRL_EVIE_Pos; - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVIE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVIE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= DMAC_CHEVCTRL_EVOE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVOE) >> DMAC_CHEVCTRL_EVOE_Pos; - return (bool)tmp; -} - -static inline void hri_dmac_write_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp &= ~DMAC_CHEVCTRL_EVOE; - tmp |= value << DMAC_CHEVCTRL_EVOE_Pos; - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVOE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVOE; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_set_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= DMAC_CHEVCTRL_EVACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmac_get_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVACT(mask)) >> DMAC_CHEVCTRL_EVACT_Pos; - return tmp; -} - -static inline void hri_dmac_write_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t data) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp &= ~DMAC_CHEVCTRL_EVACT_Msk; - tmp |= DMAC_CHEVCTRL_EVACT(data); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVACT(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmac_read_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVACT_Msk) >> DMAC_CHEVCTRL_EVACT_Pos; - return tmp; -} - -static inline void hri_dmac_set_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= DMAC_CHEVCTRL_EVOMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmac_get_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVOMODE(mask)) >> DMAC_CHEVCTRL_EVOMODE_Pos; - return tmp; -} - -static inline void hri_dmac_write_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t data) -{ - uint8_t tmp; - DMAC_CRITICAL_SECTION_ENTER(); - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp &= ~DMAC_CHEVCTRL_EVOMODE_Msk; - tmp |= DMAC_CHEVCTRL_EVOMODE(data); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = tmp; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVOMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVOMODE(mask); - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmac_read_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp = (tmp & DMAC_CHEVCTRL_EVOMODE_Msk) >> DMAC_CHEVCTRL_EVOMODE_Pos; - return tmp; -} - -static inline void hri_dmac_set_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmac_get_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_write_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t data) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = data; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_clear_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dmac_toggle_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chevctrl_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chevctrl_reg_t hri_dmac_read_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg; -} - -static inline bool hri_dmac_get_CHSTATUS_PEND_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg & DMAC_CHSTATUS_PEND) >> DMAC_CHSTATUS_PEND_Pos; -} - -static inline void hri_dmac_clear_CHSTATUS_PEND_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = DMAC_CHSTATUS_PEND; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CHSTATUS_BUSY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg & DMAC_CHSTATUS_BUSY) >> DMAC_CHSTATUS_BUSY_Pos; -} - -static inline void hri_dmac_clear_CHSTATUS_BUSY_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = DMAC_CHSTATUS_BUSY; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CHSTATUS_FERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg & DMAC_CHSTATUS_FERR) >> DMAC_CHSTATUS_FERR_Pos; -} - -static inline void hri_dmac_clear_CHSTATUS_FERR_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = DMAC_CHSTATUS_FERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dmac_get_CHSTATUS_CRCERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg & DMAC_CHSTATUS_CRCERR) >> DMAC_CHSTATUS_CRCERR_Pos; -} - -static inline void hri_dmac_clear_CHSTATUS_CRCERR_bit(const void *const hw, uint8_t submodule_index) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = DMAC_CHSTATUS_CRCERR; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chstatus_reg_t hri_dmac_get_CHSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dmac_clear_CHSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_dmac_chstatus_reg_t mask) -{ - DMAC_CRITICAL_SECTION_ENTER(); - ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = mask; - DMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dmac_chstatus_reg_t hri_dmac_read_CHSTATUS_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg; -} - -/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */ -#define hri_dmacdescriptor_set_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_set_DSTADDR_reg(a, b) -#define hri_dmacdescriptor_get_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_get_DSTADDR_reg(a, b) -#define hri_dmacdescriptor_write_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_write_DSTADDR_reg(a, b) -#define hri_dmacdescriptor_clear_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_clear_DSTADDR_reg(a, b) -#define hri_dmacdescriptor_toggle_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_toggle_DSTADDR_reg(a, b) -#define hri_dmacdescriptor_read_DSTADDR_CRC_reg(a) hri_dmacdescriptor_read_DSTADDR_reg(a) - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_DMAC_E54_H_INCLUDED */ -#endif /* _SAME54_DMAC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_dsu_e54.h b/software/firmware/oracle_same54n19a/hri/hri_dsu_e54.h deleted file mode 100644 index b192276..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_dsu_e54.h +++ /dev/null @@ -1,1256 +0,0 @@ -/** - * \file - * - * \brief SAM DSU - * - * Copyright (c) 2017-2019 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_DSU_COMPONENT_ -#ifndef _HRI_DSU_E54_H_INCLUDED_ -#define _HRI_DSU_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_DSU_CRITICAL_SECTIONS) -#define DSU_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define DSU_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define DSU_CRITICAL_SECTION_ENTER() -#define DSU_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_dsu_addr_reg_t; -typedef uint32_t hri_dsu_cfg_reg_t; -typedef uint32_t hri_dsu_cid0_reg_t; -typedef uint32_t hri_dsu_cid1_reg_t; -typedef uint32_t hri_dsu_cid2_reg_t; -typedef uint32_t hri_dsu_cid3_reg_t; -typedef uint32_t hri_dsu_data_reg_t; -typedef uint32_t hri_dsu_dcc_reg_t; -typedef uint32_t hri_dsu_did_reg_t; -typedef uint32_t hri_dsu_end_reg_t; -typedef uint32_t hri_dsu_entry0_reg_t; -typedef uint32_t hri_dsu_entry1_reg_t; -typedef uint32_t hri_dsu_length_reg_t; -typedef uint32_t hri_dsu_memtype_reg_t; -typedef uint32_t hri_dsu_pid0_reg_t; -typedef uint32_t hri_dsu_pid1_reg_t; -typedef uint32_t hri_dsu_pid2_reg_t; -typedef uint32_t hri_dsu_pid3_reg_t; -typedef uint32_t hri_dsu_pid4_reg_t; -typedef uint32_t hri_dsu_pid5_reg_t; -typedef uint32_t hri_dsu_pid6_reg_t; -typedef uint32_t hri_dsu_pid7_reg_t; -typedef uint8_t hri_dsu_ctrl_reg_t; -typedef uint8_t hri_dsu_statusa_reg_t; -typedef uint8_t hri_dsu_statusb_reg_t; - -static inline bool hri_dsu_get_STATUSB_PROT_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_PROT) >> DSU_STATUSB_PROT_Pos; -} - -static inline bool hri_dsu_get_STATUSB_DBGPRES_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_DBGPRES) >> DSU_STATUSB_DBGPRES_Pos; -} - -static inline bool hri_dsu_get_STATUSB_DCCD0_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_DCCD0) >> DSU_STATUSB_DCCD0_Pos; -} - -static inline bool hri_dsu_get_STATUSB_DCCD1_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_DCCD1) >> DSU_STATUSB_DCCD1_Pos; -} - -static inline bool hri_dsu_get_STATUSB_HPE_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_HPE) >> DSU_STATUSB_HPE_Pos; -} - -static inline bool hri_dsu_get_STATUSB_CELCK_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_CELCK) >> DSU_STATUSB_CELCK_Pos; -} - -static inline hri_dsu_statusb_reg_t hri_dsu_get_STATUSB_reg(const void *const hw, hri_dsu_statusb_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dsu *)hw)->STATUSB.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_statusb_reg_t hri_dsu_read_STATUSB_reg(const void *const hw) -{ - return ((Dsu *)hw)->STATUSB.reg; -} - -static inline hri_dsu_did_reg_t hri_dsu_get_DID_DEVSEL_bf(const void *const hw, hri_dsu_did_reg_t mask) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_DEVSEL(mask)) >> DSU_DID_DEVSEL_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_read_DID_DEVSEL_bf(const void *const hw) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_DEVSEL_Msk) >> DSU_DID_DEVSEL_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_get_DID_REVISION_bf(const void *const hw, hri_dsu_did_reg_t mask) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_REVISION(mask)) >> DSU_DID_REVISION_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_read_DID_REVISION_bf(const void *const hw) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_REVISION_Msk) >> DSU_DID_REVISION_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_get_DID_DIE_bf(const void *const hw, hri_dsu_did_reg_t mask) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_DIE(mask)) >> DSU_DID_DIE_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_read_DID_DIE_bf(const void *const hw) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_DIE_Msk) >> DSU_DID_DIE_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_get_DID_SERIES_bf(const void *const hw, hri_dsu_did_reg_t mask) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_SERIES(mask)) >> DSU_DID_SERIES_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_read_DID_SERIES_bf(const void *const hw) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_SERIES_Msk) >> DSU_DID_SERIES_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_get_DID_FAMILY_bf(const void *const hw, hri_dsu_did_reg_t mask) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_FAMILY(mask)) >> DSU_DID_FAMILY_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_read_DID_FAMILY_bf(const void *const hw) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_FAMILY_Msk) >> DSU_DID_FAMILY_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_get_DID_PROCESSOR_bf(const void *const hw, hri_dsu_did_reg_t mask) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_PROCESSOR(mask)) >> DSU_DID_PROCESSOR_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_read_DID_PROCESSOR_bf(const void *const hw) -{ - return (((Dsu *)hw)->DID.reg & DSU_DID_PROCESSOR_Msk) >> DSU_DID_PROCESSOR_Pos; -} - -static inline hri_dsu_did_reg_t hri_dsu_get_DID_reg(const void *const hw, hri_dsu_did_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->DID.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_did_reg_t hri_dsu_read_DID_reg(const void *const hw) -{ - return ((Dsu *)hw)->DID.reg; -} - -static inline bool hri_dsu_get_ENTRY0_EPRES_bit(const void *const hw) -{ - return (((Dsu *)hw)->ENTRY0.reg & DSU_ENTRY0_EPRES) >> DSU_ENTRY0_EPRES_Pos; -} - -static inline bool hri_dsu_get_ENTRY0_FMT_bit(const void *const hw) -{ - return (((Dsu *)hw)->ENTRY0.reg & DSU_ENTRY0_FMT) >> DSU_ENTRY0_FMT_Pos; -} - -static inline hri_dsu_entry0_reg_t hri_dsu_get_ENTRY0_ADDOFF_bf(const void *const hw, hri_dsu_entry0_reg_t mask) -{ - return (((Dsu *)hw)->ENTRY0.reg & DSU_ENTRY0_ADDOFF(mask)) >> DSU_ENTRY0_ADDOFF_Pos; -} - -static inline hri_dsu_entry0_reg_t hri_dsu_read_ENTRY0_ADDOFF_bf(const void *const hw) -{ - return (((Dsu *)hw)->ENTRY0.reg & DSU_ENTRY0_ADDOFF_Msk) >> DSU_ENTRY0_ADDOFF_Pos; -} - -static inline hri_dsu_entry0_reg_t hri_dsu_get_ENTRY0_reg(const void *const hw, hri_dsu_entry0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->ENTRY0.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_entry0_reg_t hri_dsu_read_ENTRY0_reg(const void *const hw) -{ - return ((Dsu *)hw)->ENTRY0.reg; -} - -static inline hri_dsu_entry1_reg_t hri_dsu_get_ENTRY1_reg(const void *const hw, hri_dsu_entry1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->ENTRY1.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_entry1_reg_t hri_dsu_read_ENTRY1_reg(const void *const hw) -{ - return ((Dsu *)hw)->ENTRY1.reg; -} - -static inline hri_dsu_end_reg_t hri_dsu_get_END_END_bf(const void *const hw, hri_dsu_end_reg_t mask) -{ - return (((Dsu *)hw)->END.reg & DSU_END_END(mask)) >> DSU_END_END_Pos; -} - -static inline hri_dsu_end_reg_t hri_dsu_read_END_END_bf(const void *const hw) -{ - return (((Dsu *)hw)->END.reg & DSU_END_END_Msk) >> DSU_END_END_Pos; -} - -static inline hri_dsu_end_reg_t hri_dsu_get_END_reg(const void *const hw, hri_dsu_end_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->END.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_end_reg_t hri_dsu_read_END_reg(const void *const hw) -{ - return ((Dsu *)hw)->END.reg; -} - -static inline bool hri_dsu_get_MEMTYPE_SMEMP_bit(const void *const hw) -{ - return (((Dsu *)hw)->MEMTYPE.reg & DSU_MEMTYPE_SMEMP) >> DSU_MEMTYPE_SMEMP_Pos; -} - -static inline hri_dsu_memtype_reg_t hri_dsu_get_MEMTYPE_reg(const void *const hw, hri_dsu_memtype_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->MEMTYPE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_memtype_reg_t hri_dsu_read_MEMTYPE_reg(const void *const hw) -{ - return ((Dsu *)hw)->MEMTYPE.reg; -} - -static inline hri_dsu_pid4_reg_t hri_dsu_get_PID4_JEPCC_bf(const void *const hw, hri_dsu_pid4_reg_t mask) -{ - return (((Dsu *)hw)->PID4.reg & DSU_PID4_JEPCC(mask)) >> DSU_PID4_JEPCC_Pos; -} - -static inline hri_dsu_pid4_reg_t hri_dsu_read_PID4_JEPCC_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID4.reg & DSU_PID4_JEPCC_Msk) >> DSU_PID4_JEPCC_Pos; -} - -static inline hri_dsu_pid4_reg_t hri_dsu_get_PID4_FKBC_bf(const void *const hw, hri_dsu_pid4_reg_t mask) -{ - return (((Dsu *)hw)->PID4.reg & DSU_PID4_FKBC(mask)) >> DSU_PID4_FKBC_Pos; -} - -static inline hri_dsu_pid4_reg_t hri_dsu_read_PID4_FKBC_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID4.reg & DSU_PID4_FKBC_Msk) >> DSU_PID4_FKBC_Pos; -} - -static inline hri_dsu_pid4_reg_t hri_dsu_get_PID4_reg(const void *const hw, hri_dsu_pid4_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->PID4.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_pid4_reg_t hri_dsu_read_PID4_reg(const void *const hw) -{ - return ((Dsu *)hw)->PID4.reg; -} - -static inline hri_dsu_pid5_reg_t hri_dsu_get_PID5_reg(const void *const hw, hri_dsu_pid5_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->PID5.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_pid5_reg_t hri_dsu_read_PID5_reg(const void *const hw) -{ - return ((Dsu *)hw)->PID5.reg; -} - -static inline hri_dsu_pid6_reg_t hri_dsu_get_PID6_reg(const void *const hw, hri_dsu_pid6_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->PID6.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_pid6_reg_t hri_dsu_read_PID6_reg(const void *const hw) -{ - return ((Dsu *)hw)->PID6.reg; -} - -static inline hri_dsu_pid7_reg_t hri_dsu_get_PID7_reg(const void *const hw, hri_dsu_pid7_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->PID7.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_pid7_reg_t hri_dsu_read_PID7_reg(const void *const hw) -{ - return ((Dsu *)hw)->PID7.reg; -} - -static inline hri_dsu_pid0_reg_t hri_dsu_get_PID0_PARTNBL_bf(const void *const hw, hri_dsu_pid0_reg_t mask) -{ - return (((Dsu *)hw)->PID0.reg & DSU_PID0_PARTNBL(mask)) >> DSU_PID0_PARTNBL_Pos; -} - -static inline hri_dsu_pid0_reg_t hri_dsu_read_PID0_PARTNBL_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID0.reg & DSU_PID0_PARTNBL_Msk) >> DSU_PID0_PARTNBL_Pos; -} - -static inline hri_dsu_pid0_reg_t hri_dsu_get_PID0_reg(const void *const hw, hri_dsu_pid0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->PID0.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_pid0_reg_t hri_dsu_read_PID0_reg(const void *const hw) -{ - return ((Dsu *)hw)->PID0.reg; -} - -static inline hri_dsu_pid1_reg_t hri_dsu_get_PID1_PARTNBH_bf(const void *const hw, hri_dsu_pid1_reg_t mask) -{ - return (((Dsu *)hw)->PID1.reg & DSU_PID1_PARTNBH(mask)) >> DSU_PID1_PARTNBH_Pos; -} - -static inline hri_dsu_pid1_reg_t hri_dsu_read_PID1_PARTNBH_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID1.reg & DSU_PID1_PARTNBH_Msk) >> DSU_PID1_PARTNBH_Pos; -} - -static inline hri_dsu_pid1_reg_t hri_dsu_get_PID1_JEPIDCL_bf(const void *const hw, hri_dsu_pid1_reg_t mask) -{ - return (((Dsu *)hw)->PID1.reg & DSU_PID1_JEPIDCL(mask)) >> DSU_PID1_JEPIDCL_Pos; -} - -static inline hri_dsu_pid1_reg_t hri_dsu_read_PID1_JEPIDCL_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID1.reg & DSU_PID1_JEPIDCL_Msk) >> DSU_PID1_JEPIDCL_Pos; -} - -static inline hri_dsu_pid1_reg_t hri_dsu_get_PID1_reg(const void *const hw, hri_dsu_pid1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->PID1.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_pid1_reg_t hri_dsu_read_PID1_reg(const void *const hw) -{ - return ((Dsu *)hw)->PID1.reg; -} - -static inline bool hri_dsu_get_PID2_JEPU_bit(const void *const hw) -{ - return (((Dsu *)hw)->PID2.reg & DSU_PID2_JEPU) >> DSU_PID2_JEPU_Pos; -} - -static inline hri_dsu_pid2_reg_t hri_dsu_get_PID2_JEPIDCH_bf(const void *const hw, hri_dsu_pid2_reg_t mask) -{ - return (((Dsu *)hw)->PID2.reg & DSU_PID2_JEPIDCH(mask)) >> DSU_PID2_JEPIDCH_Pos; -} - -static inline hri_dsu_pid2_reg_t hri_dsu_read_PID2_JEPIDCH_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID2.reg & DSU_PID2_JEPIDCH_Msk) >> DSU_PID2_JEPIDCH_Pos; -} - -static inline hri_dsu_pid2_reg_t hri_dsu_get_PID2_REVISION_bf(const void *const hw, hri_dsu_pid2_reg_t mask) -{ - return (((Dsu *)hw)->PID2.reg & DSU_PID2_REVISION(mask)) >> DSU_PID2_REVISION_Pos; -} - -static inline hri_dsu_pid2_reg_t hri_dsu_read_PID2_REVISION_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID2.reg & DSU_PID2_REVISION_Msk) >> DSU_PID2_REVISION_Pos; -} - -static inline hri_dsu_pid2_reg_t hri_dsu_get_PID2_reg(const void *const hw, hri_dsu_pid2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->PID2.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_pid2_reg_t hri_dsu_read_PID2_reg(const void *const hw) -{ - return ((Dsu *)hw)->PID2.reg; -} - -static inline hri_dsu_pid3_reg_t hri_dsu_get_PID3_CUSMOD_bf(const void *const hw, hri_dsu_pid3_reg_t mask) -{ - return (((Dsu *)hw)->PID3.reg & DSU_PID3_CUSMOD(mask)) >> DSU_PID3_CUSMOD_Pos; -} - -static inline hri_dsu_pid3_reg_t hri_dsu_read_PID3_CUSMOD_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID3.reg & DSU_PID3_CUSMOD_Msk) >> DSU_PID3_CUSMOD_Pos; -} - -static inline hri_dsu_pid3_reg_t hri_dsu_get_PID3_REVAND_bf(const void *const hw, hri_dsu_pid3_reg_t mask) -{ - return (((Dsu *)hw)->PID3.reg & DSU_PID3_REVAND(mask)) >> DSU_PID3_REVAND_Pos; -} - -static inline hri_dsu_pid3_reg_t hri_dsu_read_PID3_REVAND_bf(const void *const hw) -{ - return (((Dsu *)hw)->PID3.reg & DSU_PID3_REVAND_Msk) >> DSU_PID3_REVAND_Pos; -} - -static inline hri_dsu_pid3_reg_t hri_dsu_get_PID3_reg(const void *const hw, hri_dsu_pid3_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->PID3.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_pid3_reg_t hri_dsu_read_PID3_reg(const void *const hw) -{ - return ((Dsu *)hw)->PID3.reg; -} - -static inline hri_dsu_cid0_reg_t hri_dsu_get_CID0_PREAMBLEB0_bf(const void *const hw, hri_dsu_cid0_reg_t mask) -{ - return (((Dsu *)hw)->CID0.reg & DSU_CID0_PREAMBLEB0(mask)) >> DSU_CID0_PREAMBLEB0_Pos; -} - -static inline hri_dsu_cid0_reg_t hri_dsu_read_CID0_PREAMBLEB0_bf(const void *const hw) -{ - return (((Dsu *)hw)->CID0.reg & DSU_CID0_PREAMBLEB0_Msk) >> DSU_CID0_PREAMBLEB0_Pos; -} - -static inline hri_dsu_cid0_reg_t hri_dsu_get_CID0_reg(const void *const hw, hri_dsu_cid0_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CID0.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_cid0_reg_t hri_dsu_read_CID0_reg(const void *const hw) -{ - return ((Dsu *)hw)->CID0.reg; -} - -static inline hri_dsu_cid1_reg_t hri_dsu_get_CID1_PREAMBLE_bf(const void *const hw, hri_dsu_cid1_reg_t mask) -{ - return (((Dsu *)hw)->CID1.reg & DSU_CID1_PREAMBLE(mask)) >> DSU_CID1_PREAMBLE_Pos; -} - -static inline hri_dsu_cid1_reg_t hri_dsu_read_CID1_PREAMBLE_bf(const void *const hw) -{ - return (((Dsu *)hw)->CID1.reg & DSU_CID1_PREAMBLE_Msk) >> DSU_CID1_PREAMBLE_Pos; -} - -static inline hri_dsu_cid1_reg_t hri_dsu_get_CID1_CCLASS_bf(const void *const hw, hri_dsu_cid1_reg_t mask) -{ - return (((Dsu *)hw)->CID1.reg & DSU_CID1_CCLASS(mask)) >> DSU_CID1_CCLASS_Pos; -} - -static inline hri_dsu_cid1_reg_t hri_dsu_read_CID1_CCLASS_bf(const void *const hw) -{ - return (((Dsu *)hw)->CID1.reg & DSU_CID1_CCLASS_Msk) >> DSU_CID1_CCLASS_Pos; -} - -static inline hri_dsu_cid1_reg_t hri_dsu_get_CID1_reg(const void *const hw, hri_dsu_cid1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CID1.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_cid1_reg_t hri_dsu_read_CID1_reg(const void *const hw) -{ - return ((Dsu *)hw)->CID1.reg; -} - -static inline hri_dsu_cid2_reg_t hri_dsu_get_CID2_PREAMBLEB2_bf(const void *const hw, hri_dsu_cid2_reg_t mask) -{ - return (((Dsu *)hw)->CID2.reg & DSU_CID2_PREAMBLEB2(mask)) >> DSU_CID2_PREAMBLEB2_Pos; -} - -static inline hri_dsu_cid2_reg_t hri_dsu_read_CID2_PREAMBLEB2_bf(const void *const hw) -{ - return (((Dsu *)hw)->CID2.reg & DSU_CID2_PREAMBLEB2_Msk) >> DSU_CID2_PREAMBLEB2_Pos; -} - -static inline hri_dsu_cid2_reg_t hri_dsu_get_CID2_reg(const void *const hw, hri_dsu_cid2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CID2.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_cid2_reg_t hri_dsu_read_CID2_reg(const void *const hw) -{ - return ((Dsu *)hw)->CID2.reg; -} - -static inline hri_dsu_cid3_reg_t hri_dsu_get_CID3_PREAMBLEB3_bf(const void *const hw, hri_dsu_cid3_reg_t mask) -{ - return (((Dsu *)hw)->CID3.reg & DSU_CID3_PREAMBLEB3(mask)) >> DSU_CID3_PREAMBLEB3_Pos; -} - -static inline hri_dsu_cid3_reg_t hri_dsu_read_CID3_PREAMBLEB3_bf(const void *const hw) -{ - return (((Dsu *)hw)->CID3.reg & DSU_CID3_PREAMBLEB3_Msk) >> DSU_CID3_PREAMBLEB3_Pos; -} - -static inline hri_dsu_cid3_reg_t hri_dsu_get_CID3_reg(const void *const hw, hri_dsu_cid3_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CID3.reg; - tmp &= mask; - return tmp; -} - -static inline hri_dsu_cid3_reg_t hri_dsu_read_CID3_reg(const void *const hw) -{ - return ((Dsu *)hw)->CID3.reg; -} - -static inline void hri_dsu_set_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg |= DSU_ADDR_AMOD(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_addr_reg_t hri_dsu_get_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->ADDR.reg; - tmp = (tmp & DSU_ADDR_AMOD(mask)) >> DSU_ADDR_AMOD_Pos; - return tmp; -} - -static inline void hri_dsu_write_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t data) -{ - uint32_t tmp; - DSU_CRITICAL_SECTION_ENTER(); - tmp = ((Dsu *)hw)->ADDR.reg; - tmp &= ~DSU_ADDR_AMOD_Msk; - tmp |= DSU_ADDR_AMOD(data); - ((Dsu *)hw)->ADDR.reg = tmp; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg &= ~DSU_ADDR_AMOD(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg ^= DSU_ADDR_AMOD(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_addr_reg_t hri_dsu_read_ADDR_AMOD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->ADDR.reg; - tmp = (tmp & DSU_ADDR_AMOD_Msk) >> DSU_ADDR_AMOD_Pos; - return tmp; -} - -static inline void hri_dsu_set_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg |= DSU_ADDR_ADDR(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_addr_reg_t hri_dsu_get_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->ADDR.reg; - tmp = (tmp & DSU_ADDR_ADDR(mask)) >> DSU_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_dsu_write_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t data) -{ - uint32_t tmp; - DSU_CRITICAL_SECTION_ENTER(); - tmp = ((Dsu *)hw)->ADDR.reg; - tmp &= ~DSU_ADDR_ADDR_Msk; - tmp |= DSU_ADDR_ADDR(data); - ((Dsu *)hw)->ADDR.reg = tmp; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg &= ~DSU_ADDR_ADDR(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg ^= DSU_ADDR_ADDR(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_addr_reg_t hri_dsu_read_ADDR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->ADDR.reg; - tmp = (tmp & DSU_ADDR_ADDR_Msk) >> DSU_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_dsu_set_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg |= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_addr_reg_t hri_dsu_get_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dsu_write_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t data) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg = data; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg &= ~mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->ADDR.reg ^= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_addr_reg_t hri_dsu_read_ADDR_reg(const void *const hw) -{ - return ((Dsu *)hw)->ADDR.reg; -} - -static inline void hri_dsu_set_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->LENGTH.reg |= DSU_LENGTH_LENGTH(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_length_reg_t hri_dsu_get_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->LENGTH.reg; - tmp = (tmp & DSU_LENGTH_LENGTH(mask)) >> DSU_LENGTH_LENGTH_Pos; - return tmp; -} - -static inline void hri_dsu_write_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t data) -{ - uint32_t tmp; - DSU_CRITICAL_SECTION_ENTER(); - tmp = ((Dsu *)hw)->LENGTH.reg; - tmp &= ~DSU_LENGTH_LENGTH_Msk; - tmp |= DSU_LENGTH_LENGTH(data); - ((Dsu *)hw)->LENGTH.reg = tmp; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->LENGTH.reg &= ~DSU_LENGTH_LENGTH(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->LENGTH.reg ^= DSU_LENGTH_LENGTH(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_length_reg_t hri_dsu_read_LENGTH_LENGTH_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->LENGTH.reg; - tmp = (tmp & DSU_LENGTH_LENGTH_Msk) >> DSU_LENGTH_LENGTH_Pos; - return tmp; -} - -static inline void hri_dsu_set_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->LENGTH.reg |= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_length_reg_t hri_dsu_get_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->LENGTH.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dsu_write_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t data) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->LENGTH.reg = data; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->LENGTH.reg &= ~mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->LENGTH.reg ^= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_length_reg_t hri_dsu_read_LENGTH_reg(const void *const hw) -{ - return ((Dsu *)hw)->LENGTH.reg; -} - -static inline void hri_dsu_set_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DATA.reg |= DSU_DATA_DATA(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_data_reg_t hri_dsu_get_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->DATA.reg; - tmp = (tmp & DSU_DATA_DATA(mask)) >> DSU_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_dsu_write_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t data) -{ - uint32_t tmp; - DSU_CRITICAL_SECTION_ENTER(); - tmp = ((Dsu *)hw)->DATA.reg; - tmp &= ~DSU_DATA_DATA_Msk; - tmp |= DSU_DATA_DATA(data); - ((Dsu *)hw)->DATA.reg = tmp; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DATA.reg &= ~DSU_DATA_DATA(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DATA.reg ^= DSU_DATA_DATA(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_data_reg_t hri_dsu_read_DATA_DATA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->DATA.reg; - tmp = (tmp & DSU_DATA_DATA_Msk) >> DSU_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_dsu_set_DATA_reg(const void *const hw, hri_dsu_data_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DATA.reg |= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_data_reg_t hri_dsu_get_DATA_reg(const void *const hw, hri_dsu_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->DATA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dsu_write_DATA_reg(const void *const hw, hri_dsu_data_reg_t data) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DATA.reg = data; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_DATA_reg(const void *const hw, hri_dsu_data_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DATA.reg &= ~mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_DATA_reg(const void *const hw, hri_dsu_data_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DATA.reg ^= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_data_reg_t hri_dsu_read_DATA_reg(const void *const hw) -{ - return ((Dsu *)hw)->DATA.reg; -} - -static inline void hri_dsu_set_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DCC[index].reg |= DSU_DCC_DATA(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_dcc_reg_t hri_dsu_get_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->DCC[index].reg; - tmp = (tmp & DSU_DCC_DATA(mask)) >> DSU_DCC_DATA_Pos; - return tmp; -} - -static inline void hri_dsu_write_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t data) -{ - uint32_t tmp; - DSU_CRITICAL_SECTION_ENTER(); - tmp = ((Dsu *)hw)->DCC[index].reg; - tmp &= ~DSU_DCC_DATA_Msk; - tmp |= DSU_DCC_DATA(data); - ((Dsu *)hw)->DCC[index].reg = tmp; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DCC[index].reg &= ~DSU_DCC_DATA(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DCC[index].reg ^= DSU_DCC_DATA(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_dcc_reg_t hri_dsu_read_DCC_DATA_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->DCC[index].reg; - tmp = (tmp & DSU_DCC_DATA_Msk) >> DSU_DCC_DATA_Pos; - return tmp; -} - -static inline void hri_dsu_set_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DCC[index].reg |= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_dcc_reg_t hri_dsu_get_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->DCC[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dsu_write_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t data) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DCC[index].reg = data; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DCC[index].reg &= ~mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->DCC[index].reg ^= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_dcc_reg_t hri_dsu_read_DCC_reg(const void *const hw, uint8_t index) -{ - return ((Dsu *)hw)->DCC[index].reg; -} - -static inline void hri_dsu_set_CFG_ETBRAMEN_bit(const void *const hw) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg |= DSU_CFG_ETBRAMEN; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dsu_get_CFG_ETBRAMEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CFG.reg; - tmp = (tmp & DSU_CFG_ETBRAMEN) >> DSU_CFG_ETBRAMEN_Pos; - return (bool)tmp; -} - -static inline void hri_dsu_write_CFG_ETBRAMEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - DSU_CRITICAL_SECTION_ENTER(); - tmp = ((Dsu *)hw)->CFG.reg; - tmp &= ~DSU_CFG_ETBRAMEN; - tmp |= value << DSU_CFG_ETBRAMEN_Pos; - ((Dsu *)hw)->CFG.reg = tmp; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_CFG_ETBRAMEN_bit(const void *const hw) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg &= ~DSU_CFG_ETBRAMEN; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_CFG_ETBRAMEN_bit(const void *const hw) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg ^= DSU_CFG_ETBRAMEN; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_set_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg |= DSU_CFG_LQOS(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_cfg_reg_t hri_dsu_get_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CFG.reg; - tmp = (tmp & DSU_CFG_LQOS(mask)) >> DSU_CFG_LQOS_Pos; - return tmp; -} - -static inline void hri_dsu_write_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t data) -{ - uint32_t tmp; - DSU_CRITICAL_SECTION_ENTER(); - tmp = ((Dsu *)hw)->CFG.reg; - tmp &= ~DSU_CFG_LQOS_Msk; - tmp |= DSU_CFG_LQOS(data); - ((Dsu *)hw)->CFG.reg = tmp; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg &= ~DSU_CFG_LQOS(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg ^= DSU_CFG_LQOS(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_cfg_reg_t hri_dsu_read_CFG_LQOS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CFG.reg; - tmp = (tmp & DSU_CFG_LQOS_Msk) >> DSU_CFG_LQOS_Pos; - return tmp; -} - -static inline void hri_dsu_set_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg |= DSU_CFG_DCCDMALEVEL(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_cfg_reg_t hri_dsu_get_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CFG.reg; - tmp = (tmp & DSU_CFG_DCCDMALEVEL(mask)) >> DSU_CFG_DCCDMALEVEL_Pos; - return tmp; -} - -static inline void hri_dsu_write_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t data) -{ - uint32_t tmp; - DSU_CRITICAL_SECTION_ENTER(); - tmp = ((Dsu *)hw)->CFG.reg; - tmp &= ~DSU_CFG_DCCDMALEVEL_Msk; - tmp |= DSU_CFG_DCCDMALEVEL(data); - ((Dsu *)hw)->CFG.reg = tmp; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg &= ~DSU_CFG_DCCDMALEVEL(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg ^= DSU_CFG_DCCDMALEVEL(mask); - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_cfg_reg_t hri_dsu_read_CFG_DCCDMALEVEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CFG.reg; - tmp = (tmp & DSU_CFG_DCCDMALEVEL_Msk) >> DSU_CFG_DCCDMALEVEL_Pos; - return tmp; -} - -static inline void hri_dsu_set_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg |= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_cfg_reg_t hri_dsu_get_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Dsu *)hw)->CFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dsu_write_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t data) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg = data; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_clear_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg &= ~mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_dsu_toggle_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CFG.reg ^= mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_cfg_reg_t hri_dsu_read_CFG_reg(const void *const hw) -{ - return ((Dsu *)hw)->CFG.reg; -} - -static inline bool hri_dsu_get_STATUSA_DONE_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_DONE) >> DSU_STATUSA_DONE_Pos; -} - -static inline void hri_dsu_clear_STATUSA_DONE_bit(const void *const hw) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_DONE; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dsu_get_STATUSA_CRSTEXT_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_CRSTEXT) >> DSU_STATUSA_CRSTEXT_Pos; -} - -static inline void hri_dsu_clear_STATUSA_CRSTEXT_bit(const void *const hw) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_CRSTEXT; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dsu_get_STATUSA_BERR_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_BERR) >> DSU_STATUSA_BERR_Pos; -} - -static inline void hri_dsu_clear_STATUSA_BERR_bit(const void *const hw) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_BERR; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dsu_get_STATUSA_FAIL_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_FAIL) >> DSU_STATUSA_FAIL_Pos; -} - -static inline void hri_dsu_clear_STATUSA_FAIL_bit(const void *const hw) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_FAIL; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_dsu_get_STATUSA_PERR_bit(const void *const hw) -{ - return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_PERR) >> DSU_STATUSA_PERR_Pos; -} - -static inline void hri_dsu_clear_STATUSA_PERR_bit(const void *const hw) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_PERR; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_statusa_reg_t hri_dsu_get_STATUSA_reg(const void *const hw, hri_dsu_statusa_reg_t mask) -{ - uint8_t tmp; - tmp = ((Dsu *)hw)->STATUSA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_dsu_clear_STATUSA_reg(const void *const hw, hri_dsu_statusa_reg_t mask) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->STATUSA.reg = mask; - DSU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_dsu_statusa_reg_t hri_dsu_read_STATUSA_reg(const void *const hw) -{ - return ((Dsu *)hw)->STATUSA.reg; -} - -static inline void hri_dsu_write_CTRL_reg(const void *const hw, hri_dsu_ctrl_reg_t data) -{ - DSU_CRITICAL_SECTION_ENTER(); - ((Dsu *)hw)->CTRL.reg = data; - DSU_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_DSU_E54_H_INCLUDED */ -#endif /* _SAME54_DSU_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_e54.h b/software/firmware/oracle_same54n19a/hri/hri_e54.h deleted file mode 100644 index 46e77ca..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_e54.h +++ /dev/null @@ -1,76 +0,0 @@ -/** - * \file - * - * \brief SAM E54 HRI top-level header file - * - * Copyright (c) 2016-2019 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - */ - -#ifndef _HRI_E54_H_INCLUDED_ -#define _HRI_E54_H_INCLUDED_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif /* _HRI_E54_H_INCLUDED_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_eic_e54.h b/software/firmware/oracle_same54n19a/hri/hri_eic_e54.h deleted file mode 100644 index f86e452..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_eic_e54.h +++ /dev/null @@ -1,1838 +0,0 @@ -/** - * \file - * - * \brief SAM EIC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_EIC_COMPONENT_ -#ifndef _HRI_EIC_E54_H_INCLUDED_ -#define _HRI_EIC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_EIC_CRITICAL_SECTIONS) -#define EIC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define EIC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define EIC_CRITICAL_SECTION_ENTER() -#define EIC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_eic_nmiflag_reg_t; -typedef uint32_t hri_eic_asynch_reg_t; -typedef uint32_t hri_eic_config_reg_t; -typedef uint32_t hri_eic_debouncen_reg_t; -typedef uint32_t hri_eic_dprescaler_reg_t; -typedef uint32_t hri_eic_evctrl_reg_t; -typedef uint32_t hri_eic_intenset_reg_t; -typedef uint32_t hri_eic_intflag_reg_t; -typedef uint32_t hri_eic_pinstate_reg_t; -typedef uint32_t hri_eic_syncbusy_reg_t; -typedef uint8_t hri_eic_ctrla_reg_t; -typedef uint8_t hri_eic_nmictrl_reg_t; - -static inline void hri_eic_wait_for_sync(const void *const hw, hri_eic_syncbusy_reg_t reg) -{ - while (((Eic *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_eic_is_syncing(const void *const hw, hri_eic_syncbusy_reg_t reg) -{ - return ((Eic *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_eic_get_NMIFLAG_NMI_bit(const void *const hw) -{ - return (((Eic *)hw)->NMIFLAG.reg & EIC_NMIFLAG_NMI) >> EIC_NMIFLAG_NMI_Pos; -} - -static inline void hri_eic_clear_NMIFLAG_NMI_bit(const void *const hw) -{ - ((Eic *)hw)->NMIFLAG.reg = EIC_NMIFLAG_NMI; -} - -static inline hri_eic_nmiflag_reg_t hri_eic_get_NMIFLAG_reg(const void *const hw, hri_eic_nmiflag_reg_t mask) -{ - uint16_t tmp; - tmp = ((Eic *)hw)->NMIFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_eic_nmiflag_reg_t hri_eic_read_NMIFLAG_reg(const void *const hw) -{ - return ((Eic *)hw)->NMIFLAG.reg; -} - -static inline void hri_eic_clear_NMIFLAG_reg(const void *const hw, hri_eic_nmiflag_reg_t mask) -{ - ((Eic *)hw)->NMIFLAG.reg = mask; -} - -static inline hri_eic_intflag_reg_t hri_eic_get_INTFLAG_reg(const void *const hw, hri_eic_intflag_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_eic_intflag_reg_t hri_eic_read_INTFLAG_reg(const void *const hw) -{ - return ((Eic *)hw)->INTFLAG.reg; -} - -static inline void hri_eic_clear_INTFLAG_reg(const void *const hw, hri_eic_intflag_reg_t mask) -{ - ((Eic *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_eic_set_INTEN_EXTINT_bf(const void *const hw, hri_eic_intenset_reg_t mask) -{ - ((Eic *)hw)->INTENSET.reg = EIC_INTENSET_EXTINT(mask); -} - -static inline hri_eic_intenset_reg_t hri_eic_get_INTEN_EXTINT_bf(const void *const hw, hri_eic_intenset_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->INTENSET.reg; - tmp = (tmp & EIC_INTENSET_EXTINT(mask)) >> EIC_INTENSET_EXTINT_Pos; - return tmp; -} - -static inline hri_eic_intenset_reg_t hri_eic_read_INTEN_EXTINT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->INTENSET.reg; - tmp = (tmp & EIC_INTENSET_EXTINT_Msk) >> EIC_INTENSET_EXTINT_Pos; - return tmp; -} - -static inline void hri_eic_write_INTEN_EXTINT_bf(const void *const hw, hri_eic_intenset_reg_t data) -{ - ((Eic *)hw)->INTENSET.reg = EIC_INTENSET_EXTINT(data); - ((Eic *)hw)->INTENCLR.reg = ~EIC_INTENSET_EXTINT(data); -} - -static inline void hri_eic_clear_INTEN_EXTINT_bf(const void *const hw, hri_eic_intenset_reg_t mask) -{ - ((Eic *)hw)->INTENCLR.reg = EIC_INTENSET_EXTINT(mask); -} - -static inline void hri_eic_set_INTEN_reg(const void *const hw, hri_eic_intenset_reg_t mask) -{ - ((Eic *)hw)->INTENSET.reg = mask; -} - -static inline hri_eic_intenset_reg_t hri_eic_get_INTEN_reg(const void *const hw, hri_eic_intenset_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_eic_intenset_reg_t hri_eic_read_INTEN_reg(const void *const hw) -{ - return ((Eic *)hw)->INTENSET.reg; -} - -static inline void hri_eic_write_INTEN_reg(const void *const hw, hri_eic_intenset_reg_t data) -{ - ((Eic *)hw)->INTENSET.reg = data; - ((Eic *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_eic_clear_INTEN_reg(const void *const hw, hri_eic_intenset_reg_t mask) -{ - ((Eic *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_eic_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Eic *)hw)->SYNCBUSY.reg & EIC_SYNCBUSY_SWRST) >> EIC_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_eic_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Eic *)hw)->SYNCBUSY.reg & EIC_SYNCBUSY_ENABLE) >> EIC_SYNCBUSY_ENABLE_Pos; -} - -static inline hri_eic_syncbusy_reg_t hri_eic_get_SYNCBUSY_reg(const void *const hw, hri_eic_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_eic_syncbusy_reg_t hri_eic_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Eic *)hw)->SYNCBUSY.reg; -} - -static inline hri_eic_pinstate_reg_t hri_eic_get_PINSTATE_PINSTATE_bf(const void *const hw, hri_eic_pinstate_reg_t mask) -{ - return (((Eic *)hw)->PINSTATE.reg & EIC_PINSTATE_PINSTATE(mask)) >> EIC_PINSTATE_PINSTATE_Pos; -} - -static inline hri_eic_pinstate_reg_t hri_eic_read_PINSTATE_PINSTATE_bf(const void *const hw) -{ - return (((Eic *)hw)->PINSTATE.reg & EIC_PINSTATE_PINSTATE_Msk) >> EIC_PINSTATE_PINSTATE_Pos; -} - -static inline hri_eic_pinstate_reg_t hri_eic_get_PINSTATE_reg(const void *const hw, hri_eic_pinstate_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->PINSTATE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_eic_pinstate_reg_t hri_eic_read_PINSTATE_reg(const void *const hw) -{ - return ((Eic *)hw)->PINSTATE.reg; -} - -static inline void hri_eic_set_CTRLA_SWRST_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg |= EIC_CTRLA_SWRST; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST); - tmp = ((Eic *)hw)->CTRLA.reg; - tmp = (tmp & EIC_CTRLA_SWRST) >> EIC_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_eic_set_CTRLA_ENABLE_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg |= EIC_CTRLA_ENABLE; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE); - tmp = ((Eic *)hw)->CTRLA.reg; - tmp = (tmp & EIC_CTRLA_ENABLE) >> EIC_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CTRLA.reg; - tmp &= ~EIC_CTRLA_ENABLE; - tmp |= value << EIC_CTRLA_ENABLE_Pos; - ((Eic *)hw)->CTRLA.reg = tmp; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg &= ~EIC_CTRLA_ENABLE; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg ^= EIC_CTRLA_ENABLE; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CTRLA_CKSEL_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg |= EIC_CTRLA_CKSEL; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CTRLA_CKSEL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Eic *)hw)->CTRLA.reg; - tmp = (tmp & EIC_CTRLA_CKSEL) >> EIC_CTRLA_CKSEL_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CTRLA_CKSEL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CTRLA.reg; - tmp &= ~EIC_CTRLA_CKSEL; - tmp |= value << EIC_CTRLA_CKSEL_Pos; - ((Eic *)hw)->CTRLA.reg = tmp; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CTRLA_CKSEL_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg &= ~EIC_CTRLA_CKSEL; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CTRLA_CKSEL_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg ^= EIC_CTRLA_CKSEL; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg |= mask; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_ctrla_reg_t hri_eic_get_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t mask) -{ - uint8_t tmp; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - tmp = ((Eic *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_eic_write_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t data) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg = data; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg &= ~mask; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CTRLA.reg ^= mask; - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_ctrla_reg_t hri_eic_read_CTRLA_reg(const void *const hw) -{ - hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK); - return ((Eic *)hw)->CTRLA.reg; -} - -static inline void hri_eic_set_NMICTRL_NMIFILTEN_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg |= EIC_NMICTRL_NMIFILTEN; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_NMICTRL_NMIFILTEN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Eic *)hw)->NMICTRL.reg; - tmp = (tmp & EIC_NMICTRL_NMIFILTEN) >> EIC_NMICTRL_NMIFILTEN_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_NMICTRL_NMIFILTEN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->NMICTRL.reg; - tmp &= ~EIC_NMICTRL_NMIFILTEN; - tmp |= value << EIC_NMICTRL_NMIFILTEN_Pos; - ((Eic *)hw)->NMICTRL.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_NMICTRL_NMIFILTEN_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg &= ~EIC_NMICTRL_NMIFILTEN; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_NMICTRL_NMIFILTEN_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg ^= EIC_NMICTRL_NMIFILTEN; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_NMICTRL_NMIASYNCH_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg |= EIC_NMICTRL_NMIASYNCH; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_NMICTRL_NMIASYNCH_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Eic *)hw)->NMICTRL.reg; - tmp = (tmp & EIC_NMICTRL_NMIASYNCH) >> EIC_NMICTRL_NMIASYNCH_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_NMICTRL_NMIASYNCH_bit(const void *const hw, bool value) -{ - uint8_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->NMICTRL.reg; - tmp &= ~EIC_NMICTRL_NMIASYNCH; - tmp |= value << EIC_NMICTRL_NMIASYNCH_Pos; - ((Eic *)hw)->NMICTRL.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_NMICTRL_NMIASYNCH_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg &= ~EIC_NMICTRL_NMIASYNCH; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_NMICTRL_NMIASYNCH_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg ^= EIC_NMICTRL_NMIASYNCH; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg |= EIC_NMICTRL_NMISENSE(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_nmictrl_reg_t hri_eic_get_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Eic *)hw)->NMICTRL.reg; - tmp = (tmp & EIC_NMICTRL_NMISENSE(mask)) >> EIC_NMICTRL_NMISENSE_Pos; - return tmp; -} - -static inline void hri_eic_write_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t data) -{ - uint8_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->NMICTRL.reg; - tmp &= ~EIC_NMICTRL_NMISENSE_Msk; - tmp |= EIC_NMICTRL_NMISENSE(data); - ((Eic *)hw)->NMICTRL.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg &= ~EIC_NMICTRL_NMISENSE(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg ^= EIC_NMICTRL_NMISENSE(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_nmictrl_reg_t hri_eic_read_NMICTRL_NMISENSE_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Eic *)hw)->NMICTRL.reg; - tmp = (tmp & EIC_NMICTRL_NMISENSE_Msk) >> EIC_NMICTRL_NMISENSE_Pos; - return tmp; -} - -static inline void hri_eic_set_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg |= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_nmictrl_reg_t hri_eic_get_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Eic *)hw)->NMICTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_eic_write_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t data) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg = data; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg &= ~mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->NMICTRL.reg ^= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_nmictrl_reg_t hri_eic_read_NMICTRL_reg(const void *const hw) -{ - return ((Eic *)hw)->NMICTRL.reg; -} - -static inline void hri_eic_set_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->EVCTRL.reg |= EIC_EVCTRL_EXTINTEO(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_evctrl_reg_t hri_eic_get_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->EVCTRL.reg; - tmp = (tmp & EIC_EVCTRL_EXTINTEO(mask)) >> EIC_EVCTRL_EXTINTEO_Pos; - return tmp; -} - -static inline void hri_eic_write_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->EVCTRL.reg; - tmp &= ~EIC_EVCTRL_EXTINTEO_Msk; - tmp |= EIC_EVCTRL_EXTINTEO(data); - ((Eic *)hw)->EVCTRL.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->EVCTRL.reg &= ~EIC_EVCTRL_EXTINTEO(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->EVCTRL.reg ^= EIC_EVCTRL_EXTINTEO(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_evctrl_reg_t hri_eic_read_EVCTRL_EXTINTEO_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->EVCTRL.reg; - tmp = (tmp & EIC_EVCTRL_EXTINTEO_Msk) >> EIC_EVCTRL_EXTINTEO_Pos; - return tmp; -} - -static inline void hri_eic_set_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->EVCTRL.reg |= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_evctrl_reg_t hri_eic_get_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_eic_write_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t data) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->EVCTRL.reg = data; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->EVCTRL.reg &= ~mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->EVCTRL.reg ^= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_evctrl_reg_t hri_eic_read_EVCTRL_reg(const void *const hw) -{ - return ((Eic *)hw)->EVCTRL.reg; -} - -static inline void hri_eic_set_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->ASYNCH.reg |= EIC_ASYNCH_ASYNCH(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_asynch_reg_t hri_eic_get_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->ASYNCH.reg; - tmp = (tmp & EIC_ASYNCH_ASYNCH(mask)) >> EIC_ASYNCH_ASYNCH_Pos; - return tmp; -} - -static inline void hri_eic_write_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->ASYNCH.reg; - tmp &= ~EIC_ASYNCH_ASYNCH_Msk; - tmp |= EIC_ASYNCH_ASYNCH(data); - ((Eic *)hw)->ASYNCH.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->ASYNCH.reg &= ~EIC_ASYNCH_ASYNCH(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->ASYNCH.reg ^= EIC_ASYNCH_ASYNCH(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_asynch_reg_t hri_eic_read_ASYNCH_ASYNCH_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->ASYNCH.reg; - tmp = (tmp & EIC_ASYNCH_ASYNCH_Msk) >> EIC_ASYNCH_ASYNCH_Pos; - return tmp; -} - -static inline void hri_eic_set_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->ASYNCH.reg |= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_asynch_reg_t hri_eic_get_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->ASYNCH.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_eic_write_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t data) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->ASYNCH.reg = data; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->ASYNCH.reg &= ~mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->ASYNCH.reg ^= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_asynch_reg_t hri_eic_read_ASYNCH_reg(const void *const hw) -{ - return ((Eic *)hw)->ASYNCH.reg; -} - -static inline void hri_eic_set_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN0; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_FILTEN0) >> EIC_CONFIG_FILTEN0_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_FILTEN0; - tmp |= value << EIC_CONFIG_FILTEN0_Pos; - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN0; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN0; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN1; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_FILTEN1) >> EIC_CONFIG_FILTEN1_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_FILTEN1; - tmp |= value << EIC_CONFIG_FILTEN1_Pos; - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN1; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN1; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN2; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_FILTEN2) >> EIC_CONFIG_FILTEN2_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_FILTEN2; - tmp |= value << EIC_CONFIG_FILTEN2_Pos; - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN2; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN2; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN3; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_FILTEN3) >> EIC_CONFIG_FILTEN3_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_FILTEN3; - tmp |= value << EIC_CONFIG_FILTEN3_Pos; - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN3; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN3; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN4; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_FILTEN4) >> EIC_CONFIG_FILTEN4_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_FILTEN4; - tmp |= value << EIC_CONFIG_FILTEN4_Pos; - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN4; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN4; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN5; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_FILTEN5) >> EIC_CONFIG_FILTEN5_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_FILTEN5; - tmp |= value << EIC_CONFIG_FILTEN5_Pos; - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN5; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN5; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN6; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_FILTEN6) >> EIC_CONFIG_FILTEN6_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_FILTEN6; - tmp |= value << EIC_CONFIG_FILTEN6_Pos; - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN6; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN6; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN7; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_FILTEN7) >> EIC_CONFIG_FILTEN7_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_FILTEN7; - tmp |= value << EIC_CONFIG_FILTEN7_Pos; - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN7; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN7; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE0(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE0(mask)) >> EIC_CONFIG_SENSE0_Pos; - return tmp; -} - -static inline void hri_eic_write_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_SENSE0_Msk; - tmp |= EIC_CONFIG_SENSE0(data); - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE0(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE0(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE0_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE0_Msk) >> EIC_CONFIG_SENSE0_Pos; - return tmp; -} - -static inline void hri_eic_set_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE1(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE1(mask)) >> EIC_CONFIG_SENSE1_Pos; - return tmp; -} - -static inline void hri_eic_write_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_SENSE1_Msk; - tmp |= EIC_CONFIG_SENSE1(data); - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE1(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE1(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE1_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE1_Msk) >> EIC_CONFIG_SENSE1_Pos; - return tmp; -} - -static inline void hri_eic_set_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE2(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE2(mask)) >> EIC_CONFIG_SENSE2_Pos; - return tmp; -} - -static inline void hri_eic_write_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_SENSE2_Msk; - tmp |= EIC_CONFIG_SENSE2(data); - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE2(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE2(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE2_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE2_Msk) >> EIC_CONFIG_SENSE2_Pos; - return tmp; -} - -static inline void hri_eic_set_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE3(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE3(mask)) >> EIC_CONFIG_SENSE3_Pos; - return tmp; -} - -static inline void hri_eic_write_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_SENSE3_Msk; - tmp |= EIC_CONFIG_SENSE3(data); - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE3(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE3(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE3_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE3_Msk) >> EIC_CONFIG_SENSE3_Pos; - return tmp; -} - -static inline void hri_eic_set_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE4(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE4(mask)) >> EIC_CONFIG_SENSE4_Pos; - return tmp; -} - -static inline void hri_eic_write_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_SENSE4_Msk; - tmp |= EIC_CONFIG_SENSE4(data); - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE4(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE4(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE4_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE4_Msk) >> EIC_CONFIG_SENSE4_Pos; - return tmp; -} - -static inline void hri_eic_set_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE5(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE5(mask)) >> EIC_CONFIG_SENSE5_Pos; - return tmp; -} - -static inline void hri_eic_write_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_SENSE5_Msk; - tmp |= EIC_CONFIG_SENSE5(data); - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE5(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE5(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE5_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE5_Msk) >> EIC_CONFIG_SENSE5_Pos; - return tmp; -} - -static inline void hri_eic_set_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE6(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE6(mask)) >> EIC_CONFIG_SENSE6_Pos; - return tmp; -} - -static inline void hri_eic_write_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_SENSE6_Msk; - tmp |= EIC_CONFIG_SENSE6(data); - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE6(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE6(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE6_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE6_Msk) >> EIC_CONFIG_SENSE6_Pos; - return tmp; -} - -static inline void hri_eic_set_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE7(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE7(mask)) >> EIC_CONFIG_SENSE7_Pos; - return tmp; -} - -static inline void hri_eic_write_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= ~EIC_CONFIG_SENSE7_Msk; - tmp |= EIC_CONFIG_SENSE7(data); - ((Eic *)hw)->CONFIG[index].reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE7(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE7(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE7_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp = (tmp & EIC_CONFIG_SENSE7_Msk) >> EIC_CONFIG_SENSE7_Pos; - return tmp; -} - -static inline void hri_eic_set_CONFIG_reg(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg |= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_get_CONFIG_reg(const void *const hw, uint8_t index, - hri_eic_config_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->CONFIG[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_eic_write_CONFIG_reg(const void *const hw, uint8_t index, hri_eic_config_reg_t data) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg = data; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_CONFIG_reg(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg &= ~mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_CONFIG_reg(const void *const hw, uint8_t index, hri_eic_config_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->CONFIG[index].reg ^= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_config_reg_t hri_eic_read_CONFIG_reg(const void *const hw, uint8_t index) -{ - return ((Eic *)hw)->CONFIG[index].reg; -} - -static inline void hri_eic_set_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, hri_eic_debouncen_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DEBOUNCEN.reg |= EIC_DEBOUNCEN_DEBOUNCEN(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_debouncen_reg_t hri_eic_get_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, - hri_eic_debouncen_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DEBOUNCEN.reg; - tmp = (tmp & EIC_DEBOUNCEN_DEBOUNCEN(mask)) >> EIC_DEBOUNCEN_DEBOUNCEN_Pos; - return tmp; -} - -static inline void hri_eic_write_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, hri_eic_debouncen_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->DEBOUNCEN.reg; - tmp &= ~EIC_DEBOUNCEN_DEBOUNCEN_Msk; - tmp |= EIC_DEBOUNCEN_DEBOUNCEN(data); - ((Eic *)hw)->DEBOUNCEN.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, hri_eic_debouncen_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DEBOUNCEN.reg &= ~EIC_DEBOUNCEN_DEBOUNCEN(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, hri_eic_debouncen_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DEBOUNCEN.reg ^= EIC_DEBOUNCEN_DEBOUNCEN(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_debouncen_reg_t hri_eic_read_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DEBOUNCEN.reg; - tmp = (tmp & EIC_DEBOUNCEN_DEBOUNCEN_Msk) >> EIC_DEBOUNCEN_DEBOUNCEN_Pos; - return tmp; -} - -static inline void hri_eic_set_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DEBOUNCEN.reg |= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_debouncen_reg_t hri_eic_get_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DEBOUNCEN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_eic_write_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t data) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DEBOUNCEN.reg = data; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DEBOUNCEN.reg &= ~mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DEBOUNCEN.reg ^= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_debouncen_reg_t hri_eic_read_DEBOUNCEN_reg(const void *const hw) -{ - return ((Eic *)hw)->DEBOUNCEN.reg; -} - -static inline void hri_eic_set_DPRESCALER_STATES0_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_STATES0; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_DPRESCALER_STATES0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp = (tmp & EIC_DPRESCALER_STATES0) >> EIC_DPRESCALER_STATES0_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_DPRESCALER_STATES0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp &= ~EIC_DPRESCALER_STATES0; - tmp |= value << EIC_DPRESCALER_STATES0_Pos; - ((Eic *)hw)->DPRESCALER.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_DPRESCALER_STATES0_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_STATES0; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_DPRESCALER_STATES0_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_STATES0; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_DPRESCALER_STATES1_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_STATES1; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_DPRESCALER_STATES1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp = (tmp & EIC_DPRESCALER_STATES1) >> EIC_DPRESCALER_STATES1_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_DPRESCALER_STATES1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp &= ~EIC_DPRESCALER_STATES1; - tmp |= value << EIC_DPRESCALER_STATES1_Pos; - ((Eic *)hw)->DPRESCALER.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_DPRESCALER_STATES1_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_STATES1; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_DPRESCALER_STATES1_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_STATES1; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_DPRESCALER_TICKON_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_TICKON; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_eic_get_DPRESCALER_TICKON_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp = (tmp & EIC_DPRESCALER_TICKON) >> EIC_DPRESCALER_TICKON_Pos; - return (bool)tmp; -} - -static inline void hri_eic_write_DPRESCALER_TICKON_bit(const void *const hw, bool value) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp &= ~EIC_DPRESCALER_TICKON; - tmp |= value << EIC_DPRESCALER_TICKON_Pos; - ((Eic *)hw)->DPRESCALER.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_DPRESCALER_TICKON_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_TICKON; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_DPRESCALER_TICKON_bit(const void *const hw) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_TICKON; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_set_DPRESCALER_PRESCALER0_bf(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_PRESCALER0(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_dprescaler_reg_t hri_eic_get_DPRESCALER_PRESCALER0_bf(const void *const hw, - hri_eic_dprescaler_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp = (tmp & EIC_DPRESCALER_PRESCALER0(mask)) >> EIC_DPRESCALER_PRESCALER0_Pos; - return tmp; -} - -static inline void hri_eic_write_DPRESCALER_PRESCALER0_bf(const void *const hw, hri_eic_dprescaler_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp &= ~EIC_DPRESCALER_PRESCALER0_Msk; - tmp |= EIC_DPRESCALER_PRESCALER0(data); - ((Eic *)hw)->DPRESCALER.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_DPRESCALER_PRESCALER0_bf(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_PRESCALER0(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_DPRESCALER_PRESCALER0_bf(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_PRESCALER0(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_dprescaler_reg_t hri_eic_read_DPRESCALER_PRESCALER0_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp = (tmp & EIC_DPRESCALER_PRESCALER0_Msk) >> EIC_DPRESCALER_PRESCALER0_Pos; - return tmp; -} - -static inline void hri_eic_set_DPRESCALER_PRESCALER1_bf(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_PRESCALER1(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_dprescaler_reg_t hri_eic_get_DPRESCALER_PRESCALER1_bf(const void *const hw, - hri_eic_dprescaler_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp = (tmp & EIC_DPRESCALER_PRESCALER1(mask)) >> EIC_DPRESCALER_PRESCALER1_Pos; - return tmp; -} - -static inline void hri_eic_write_DPRESCALER_PRESCALER1_bf(const void *const hw, hri_eic_dprescaler_reg_t data) -{ - uint32_t tmp; - EIC_CRITICAL_SECTION_ENTER(); - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp &= ~EIC_DPRESCALER_PRESCALER1_Msk; - tmp |= EIC_DPRESCALER_PRESCALER1(data); - ((Eic *)hw)->DPRESCALER.reg = tmp; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_DPRESCALER_PRESCALER1_bf(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_PRESCALER1(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_DPRESCALER_PRESCALER1_bf(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_PRESCALER1(mask); - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_dprescaler_reg_t hri_eic_read_DPRESCALER_PRESCALER1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp = (tmp & EIC_DPRESCALER_PRESCALER1_Msk) >> EIC_DPRESCALER_PRESCALER1_Pos; - return tmp; -} - -static inline void hri_eic_set_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg |= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_dprescaler_reg_t hri_eic_get_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - uint32_t tmp; - tmp = ((Eic *)hw)->DPRESCALER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_eic_write_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t data) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg = data; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_clear_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg &= ~mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_eic_toggle_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t mask) -{ - EIC_CRITICAL_SECTION_ENTER(); - ((Eic *)hw)->DPRESCALER.reg ^= mask; - EIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_eic_dprescaler_reg_t hri_eic_read_DPRESCALER_reg(const void *const hw) -{ - return ((Eic *)hw)->DPRESCALER.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_EIC_E54_H_INCLUDED */ -#endif /* _SAME54_EIC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_evsys_e54.h b/software/firmware/oracle_same54n19a/hri/hri_evsys_e54.h deleted file mode 100644 index cd4a98a..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_evsys_e54.h +++ /dev/null @@ -1,1707 +0,0 @@ -/** - * \file - * - * \brief SAM EVSYS - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_EVSYS_COMPONENT_ -#ifndef _HRI_EVSYS_E54_H_INCLUDED_ -#define _HRI_EVSYS_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_EVSYS_CRITICAL_SECTIONS) -#define EVSYS_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define EVSYS_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define EVSYS_CRITICAL_SECTION_ENTER() -#define EVSYS_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_evsys_intpend_reg_t; -typedef uint32_t hri_evsys_busych_reg_t; -typedef uint32_t hri_evsys_channel_reg_t; -typedef uint32_t hri_evsys_intstatus_reg_t; -typedef uint32_t hri_evsys_readyusr_reg_t; -typedef uint32_t hri_evsys_swevt_reg_t; -typedef uint32_t hri_evsys_user_reg_t; -typedef uint32_t hri_evsyschannel_channel_reg_t; -typedef uint8_t hri_evsys_chintenset_reg_t; -typedef uint8_t hri_evsys_chintflag_reg_t; -typedef uint8_t hri_evsys_chstatus_reg_t; -typedef uint8_t hri_evsys_ctrla_reg_t; -typedef uint8_t hri_evsys_prictrl_reg_t; -typedef uint8_t hri_evsyschannel_chintenset_reg_t; -typedef uint8_t hri_evsyschannel_chintflag_reg_t; -typedef uint8_t hri_evsyschannel_chstatus_reg_t; - -static inline bool hri_evsys_get_INTSTATUS_CHINT0_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT0) >> EVSYS_INTSTATUS_CHINT0_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT1_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT1) >> EVSYS_INTSTATUS_CHINT1_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT2_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT2) >> EVSYS_INTSTATUS_CHINT2_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT3_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT3) >> EVSYS_INTSTATUS_CHINT3_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT4_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT4) >> EVSYS_INTSTATUS_CHINT4_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT5_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT5) >> EVSYS_INTSTATUS_CHINT5_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT6_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT6) >> EVSYS_INTSTATUS_CHINT6_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT7_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT7) >> EVSYS_INTSTATUS_CHINT7_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT8_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT8) >> EVSYS_INTSTATUS_CHINT8_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT9_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT9) >> EVSYS_INTSTATUS_CHINT9_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT10_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT10) >> EVSYS_INTSTATUS_CHINT10_Pos; -} - -static inline bool hri_evsys_get_INTSTATUS_CHINT11_bit(const void *const hw) -{ - return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT11) >> EVSYS_INTSTATUS_CHINT11_Pos; -} - -static inline hri_evsys_intstatus_reg_t hri_evsys_get_INTSTATUS_reg(const void *const hw, - hri_evsys_intstatus_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->INTSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_intstatus_reg_t hri_evsys_read_INTSTATUS_reg(const void *const hw) -{ - return ((Evsys *)hw)->INTSTATUS.reg; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH0_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH0) >> EVSYS_BUSYCH_BUSYCH0_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH1_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH1) >> EVSYS_BUSYCH_BUSYCH1_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH2_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH2) >> EVSYS_BUSYCH_BUSYCH2_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH3_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH3) >> EVSYS_BUSYCH_BUSYCH3_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH4_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH4) >> EVSYS_BUSYCH_BUSYCH4_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH5_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH5) >> EVSYS_BUSYCH_BUSYCH5_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH6_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH6) >> EVSYS_BUSYCH_BUSYCH6_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH7_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH7) >> EVSYS_BUSYCH_BUSYCH7_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH8_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH8) >> EVSYS_BUSYCH_BUSYCH8_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH9_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH9) >> EVSYS_BUSYCH_BUSYCH9_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH10_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH10) >> EVSYS_BUSYCH_BUSYCH10_Pos; -} - -static inline bool hri_evsys_get_BUSYCH_BUSYCH11_bit(const void *const hw) -{ - return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH11) >> EVSYS_BUSYCH_BUSYCH11_Pos; -} - -static inline hri_evsys_busych_reg_t hri_evsys_get_BUSYCH_reg(const void *const hw, hri_evsys_busych_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->BUSYCH.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_busych_reg_t hri_evsys_read_BUSYCH_reg(const void *const hw) -{ - return ((Evsys *)hw)->BUSYCH.reg; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR0_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR0) >> EVSYS_READYUSR_READYUSR0_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR1_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR1) >> EVSYS_READYUSR_READYUSR1_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR2_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR2) >> EVSYS_READYUSR_READYUSR2_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR3_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR3) >> EVSYS_READYUSR_READYUSR3_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR4_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR4) >> EVSYS_READYUSR_READYUSR4_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR5_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR5) >> EVSYS_READYUSR_READYUSR5_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR6_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR6) >> EVSYS_READYUSR_READYUSR6_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR7_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR7) >> EVSYS_READYUSR_READYUSR7_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR8_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR8) >> EVSYS_READYUSR_READYUSR8_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR9_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR9) >> EVSYS_READYUSR_READYUSR9_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR10_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR10) >> EVSYS_READYUSR_READYUSR10_Pos; -} - -static inline bool hri_evsys_get_READYUSR_READYUSR11_bit(const void *const hw) -{ - return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR11) >> EVSYS_READYUSR_READYUSR11_Pos; -} - -static inline hri_evsys_readyusr_reg_t hri_evsys_get_READYUSR_reg(const void *const hw, hri_evsys_readyusr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->READYUSR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_readyusr_reg_t hri_evsys_read_READYUSR_reg(const void *const hw) -{ - return ((Evsys *)hw)->READYUSR.reg; -} - -static inline void hri_evsys_set_CTRLA_SWRST_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->CTRLA.reg |= EVSYS_CTRLA_SWRST; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsys_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->CTRLA.reg; - tmp = (tmp & EVSYS_CTRLA_SWRST) >> EVSYS_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_evsys_set_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->CTRLA.reg |= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_ctrla_reg_t hri_evsys_get_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t mask) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_evsys_write_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t data) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->CTRLA.reg = data; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->CTRLA.reg &= ~mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->CTRLA.reg ^= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_ctrla_reg_t hri_evsys_read_CTRLA_reg(const void *const hw) -{ - return ((Evsys *)hw)->CTRLA.reg; -} - -static inline void hri_evsys_set_PRICTRL_RREN_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg |= EVSYS_PRICTRL_RREN; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsys_get_PRICTRL_RREN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->PRICTRL.reg; - tmp = (tmp & EVSYS_PRICTRL_RREN) >> EVSYS_PRICTRL_RREN_Pos; - return (bool)tmp; -} - -static inline void hri_evsys_write_PRICTRL_RREN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->PRICTRL.reg; - tmp &= ~EVSYS_PRICTRL_RREN; - tmp |= value << EVSYS_PRICTRL_RREN_Pos; - ((Evsys *)hw)->PRICTRL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_PRICTRL_RREN_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg &= ~EVSYS_PRICTRL_RREN; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_PRICTRL_RREN_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg ^= EVSYS_PRICTRL_RREN; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_set_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg |= EVSYS_PRICTRL_PRI(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_prictrl_reg_t hri_evsys_get_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->PRICTRL.reg; - tmp = (tmp & EVSYS_PRICTRL_PRI(mask)) >> EVSYS_PRICTRL_PRI_Pos; - return tmp; -} - -static inline void hri_evsys_write_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t data) -{ - uint8_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->PRICTRL.reg; - tmp &= ~EVSYS_PRICTRL_PRI_Msk; - tmp |= EVSYS_PRICTRL_PRI(data); - ((Evsys *)hw)->PRICTRL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg &= ~EVSYS_PRICTRL_PRI(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg ^= EVSYS_PRICTRL_PRI(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_prictrl_reg_t hri_evsys_read_PRICTRL_PRI_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->PRICTRL.reg; - tmp = (tmp & EVSYS_PRICTRL_PRI_Msk) >> EVSYS_PRICTRL_PRI_Pos; - return tmp; -} - -static inline void hri_evsys_set_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg |= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_prictrl_reg_t hri_evsys_get_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->PRICTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_evsys_write_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t data) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg = data; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg &= ~mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->PRICTRL.reg ^= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_prictrl_reg_t hri_evsys_read_PRICTRL_reg(const void *const hw) -{ - return ((Evsys *)hw)->PRICTRL.reg; -} - -static inline void hri_evsys_set_INTPEND_OVR_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_OVR; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsys_get_INTPEND_OVR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp = (tmp & EVSYS_INTPEND_OVR) >> EVSYS_INTPEND_OVR_Pos; - return (bool)tmp; -} - -static inline void hri_evsys_write_INTPEND_OVR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp &= ~EVSYS_INTPEND_OVR; - tmp |= value << EVSYS_INTPEND_OVR_Pos; - ((Evsys *)hw)->INTPEND.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_INTPEND_OVR_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_OVR; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_INTPEND_OVR_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_OVR; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_set_INTPEND_EVD_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_EVD; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsys_get_INTPEND_EVD_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp = (tmp & EVSYS_INTPEND_EVD) >> EVSYS_INTPEND_EVD_Pos; - return (bool)tmp; -} - -static inline void hri_evsys_write_INTPEND_EVD_bit(const void *const hw, bool value) -{ - uint16_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp &= ~EVSYS_INTPEND_EVD; - tmp |= value << EVSYS_INTPEND_EVD_Pos; - ((Evsys *)hw)->INTPEND.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_INTPEND_EVD_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_EVD; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_INTPEND_EVD_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_EVD; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_set_INTPEND_READY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_READY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsys_get_INTPEND_READY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp = (tmp & EVSYS_INTPEND_READY) >> EVSYS_INTPEND_READY_Pos; - return (bool)tmp; -} - -static inline void hri_evsys_write_INTPEND_READY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp &= ~EVSYS_INTPEND_READY; - tmp |= value << EVSYS_INTPEND_READY_Pos; - ((Evsys *)hw)->INTPEND.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_INTPEND_READY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_READY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_INTPEND_READY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_READY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_set_INTPEND_BUSY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_BUSY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsys_get_INTPEND_BUSY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp = (tmp & EVSYS_INTPEND_BUSY) >> EVSYS_INTPEND_BUSY_Pos; - return (bool)tmp; -} - -static inline void hri_evsys_write_INTPEND_BUSY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp &= ~EVSYS_INTPEND_BUSY; - tmp |= value << EVSYS_INTPEND_BUSY_Pos; - ((Evsys *)hw)->INTPEND.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_INTPEND_BUSY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_BUSY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_INTPEND_BUSY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_BUSY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_set_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_ID(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_intpend_reg_t hri_evsys_get_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t mask) -{ - uint16_t tmp; - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp = (tmp & EVSYS_INTPEND_ID(mask)) >> EVSYS_INTPEND_ID_Pos; - return tmp; -} - -static inline void hri_evsys_write_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t data) -{ - uint16_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp &= ~EVSYS_INTPEND_ID_Msk; - tmp |= EVSYS_INTPEND_ID(data); - ((Evsys *)hw)->INTPEND.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_ID(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_ID(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_intpend_reg_t hri_evsys_read_INTPEND_ID_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp = (tmp & EVSYS_INTPEND_ID_Msk) >> EVSYS_INTPEND_ID_Pos; - return tmp; -} - -static inline void hri_evsys_set_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg |= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_intpend_reg_t hri_evsys_get_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t mask) -{ - uint16_t tmp; - tmp = ((Evsys *)hw)->INTPEND.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_evsys_write_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t data) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg = data; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg &= ~mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->INTPEND.reg ^= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_intpend_reg_t hri_evsys_read_INTPEND_reg(const void *const hw) -{ - return ((Evsys *)hw)->INTPEND.reg; -} - -static inline void hri_evsys_set_USER_CHANNEL_bf(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->USER[index].reg |= EVSYS_USER_CHANNEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_user_reg_t hri_evsys_get_USER_CHANNEL_bf(const void *const hw, uint8_t index, - hri_evsys_user_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->USER[index].reg; - tmp = (tmp & EVSYS_USER_CHANNEL(mask)) >> EVSYS_USER_CHANNEL_Pos; - return tmp; -} - -static inline void hri_evsys_write_USER_CHANNEL_bf(const void *const hw, uint8_t index, hri_evsys_user_reg_t data) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->USER[index].reg; - tmp &= ~EVSYS_USER_CHANNEL_Msk; - tmp |= EVSYS_USER_CHANNEL(data); - ((Evsys *)hw)->USER[index].reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_USER_CHANNEL_bf(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->USER[index].reg &= ~EVSYS_USER_CHANNEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_USER_CHANNEL_bf(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->USER[index].reg ^= EVSYS_USER_CHANNEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_user_reg_t hri_evsys_read_USER_CHANNEL_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->USER[index].reg; - tmp = (tmp & EVSYS_USER_CHANNEL_Msk) >> EVSYS_USER_CHANNEL_Pos; - return tmp; -} - -static inline void hri_evsys_set_USER_reg(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->USER[index].reg |= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_user_reg_t hri_evsys_get_USER_reg(const void *const hw, uint8_t index, - hri_evsys_user_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->USER[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_evsys_write_USER_reg(const void *const hw, uint8_t index, hri_evsys_user_reg_t data) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->USER[index].reg = data; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_USER_reg(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->USER[index].reg &= ~mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_USER_reg(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->USER[index].reg ^= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_user_reg_t hri_evsys_read_USER_reg(const void *const hw, uint8_t index) -{ - return ((Evsys *)hw)->USER[index].reg; -} - -static inline void hri_evsys_write_SWEVT_reg(const void *const hw, hri_evsys_swevt_reg_t data) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->SWEVT.reg = data; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsyschannel_get_CHINTFLAG_OVR_bit(const void *const hw) -{ - return (((EvsysChannel *)hw)->CHINTFLAG.reg & EVSYS_CHINTFLAG_OVR) >> EVSYS_CHINTFLAG_OVR_Pos; -} - -static inline void hri_evsyschannel_clear_CHINTFLAG_OVR_bit(const void *const hw) -{ - ((EvsysChannel *)hw)->CHINTFLAG.reg = EVSYS_CHINTFLAG_OVR; -} - -static inline bool hri_evsyschannel_get_CHINTFLAG_EVD_bit(const void *const hw) -{ - return (((EvsysChannel *)hw)->CHINTFLAG.reg & EVSYS_CHINTFLAG_EVD) >> EVSYS_CHINTFLAG_EVD_Pos; -} - -static inline void hri_evsyschannel_clear_CHINTFLAG_EVD_bit(const void *const hw) -{ - ((EvsysChannel *)hw)->CHINTFLAG.reg = EVSYS_CHINTFLAG_EVD; -} - -static inline bool hri_evsyschannel_get_interrupt_OVR_bit(const void *const hw) -{ - return (((EvsysChannel *)hw)->CHINTFLAG.reg & EVSYS_CHINTFLAG_OVR) >> EVSYS_CHINTFLAG_OVR_Pos; -} - -static inline void hri_evsyschannel_clear_interrupt_OVR_bit(const void *const hw) -{ - ((EvsysChannel *)hw)->CHINTFLAG.reg = EVSYS_CHINTFLAG_OVR; -} - -static inline bool hri_evsyschannel_get_interrupt_EVD_bit(const void *const hw) -{ - return (((EvsysChannel *)hw)->CHINTFLAG.reg & EVSYS_CHINTFLAG_EVD) >> EVSYS_CHINTFLAG_EVD_Pos; -} - -static inline void hri_evsyschannel_clear_interrupt_EVD_bit(const void *const hw) -{ - ((EvsysChannel *)hw)->CHINTFLAG.reg = EVSYS_CHINTFLAG_EVD; -} - -static inline hri_evsys_chintflag_reg_t hri_evsyschannel_get_CHINTFLAG_reg(const void *const hw, - hri_evsys_chintflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((EvsysChannel *)hw)->CHINTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_chintflag_reg_t hri_evsyschannel_read_CHINTFLAG_reg(const void *const hw) -{ - return ((EvsysChannel *)hw)->CHINTFLAG.reg; -} - -static inline void hri_evsyschannel_clear_CHINTFLAG_reg(const void *const hw, hri_evsys_chintflag_reg_t mask) -{ - ((EvsysChannel *)hw)->CHINTFLAG.reg = mask; -} - -static inline void hri_evsyschannel_set_CHINTEN_OVR_bit(const void *const hw) -{ - ((EvsysChannel *)hw)->CHINTENSET.reg = EVSYS_CHINTENSET_OVR; -} - -static inline bool hri_evsyschannel_get_CHINTEN_OVR_bit(const void *const hw) -{ - return (((EvsysChannel *)hw)->CHINTENSET.reg & EVSYS_CHINTENSET_OVR) >> EVSYS_CHINTENSET_OVR_Pos; -} - -static inline void hri_evsyschannel_write_CHINTEN_OVR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((EvsysChannel *)hw)->CHINTENCLR.reg = EVSYS_CHINTENSET_OVR; - } else { - ((EvsysChannel *)hw)->CHINTENSET.reg = EVSYS_CHINTENSET_OVR; - } -} - -static inline void hri_evsyschannel_clear_CHINTEN_OVR_bit(const void *const hw) -{ - ((EvsysChannel *)hw)->CHINTENCLR.reg = EVSYS_CHINTENSET_OVR; -} - -static inline void hri_evsyschannel_set_CHINTEN_EVD_bit(const void *const hw) -{ - ((EvsysChannel *)hw)->CHINTENSET.reg = EVSYS_CHINTENSET_EVD; -} - -static inline bool hri_evsyschannel_get_CHINTEN_EVD_bit(const void *const hw) -{ - return (((EvsysChannel *)hw)->CHINTENSET.reg & EVSYS_CHINTENSET_EVD) >> EVSYS_CHINTENSET_EVD_Pos; -} - -static inline void hri_evsyschannel_write_CHINTEN_EVD_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((EvsysChannel *)hw)->CHINTENCLR.reg = EVSYS_CHINTENSET_EVD; - } else { - ((EvsysChannel *)hw)->CHINTENSET.reg = EVSYS_CHINTENSET_EVD; - } -} - -static inline void hri_evsyschannel_clear_CHINTEN_EVD_bit(const void *const hw) -{ - ((EvsysChannel *)hw)->CHINTENCLR.reg = EVSYS_CHINTENSET_EVD; -} - -static inline void hri_evsyschannel_set_CHINTEN_reg(const void *const hw, hri_evsys_chintenset_reg_t mask) -{ - ((EvsysChannel *)hw)->CHINTENSET.reg = mask; -} - -static inline hri_evsys_chintenset_reg_t hri_evsyschannel_get_CHINTEN_reg(const void *const hw, - hri_evsys_chintenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((EvsysChannel *)hw)->CHINTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_chintenset_reg_t hri_evsyschannel_read_CHINTEN_reg(const void *const hw) -{ - return ((EvsysChannel *)hw)->CHINTENSET.reg; -} - -static inline void hri_evsyschannel_write_CHINTEN_reg(const void *const hw, hri_evsys_chintenset_reg_t data) -{ - ((EvsysChannel *)hw)->CHINTENSET.reg = data; - ((EvsysChannel *)hw)->CHINTENCLR.reg = ~data; -} - -static inline void hri_evsyschannel_clear_CHINTEN_reg(const void *const hw, hri_evsys_chintenset_reg_t mask) -{ - ((EvsysChannel *)hw)->CHINTENCLR.reg = mask; -} - -static inline bool hri_evsyschannel_get_CHSTATUS_RDYUSR_bit(const void *const hw) -{ - return (((EvsysChannel *)hw)->CHSTATUS.reg & EVSYS_CHSTATUS_RDYUSR) >> EVSYS_CHSTATUS_RDYUSR_Pos; -} - -static inline bool hri_evsyschannel_get_CHSTATUS_BUSYCH_bit(const void *const hw) -{ - return (((EvsysChannel *)hw)->CHSTATUS.reg & EVSYS_CHSTATUS_BUSYCH) >> EVSYS_CHSTATUS_BUSYCH_Pos; -} - -static inline hri_evsys_chstatus_reg_t hri_evsyschannel_get_CHSTATUS_reg(const void *const hw, - hri_evsys_chstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((EvsysChannel *)hw)->CHSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_chstatus_reg_t hri_evsyschannel_read_CHSTATUS_reg(const void *const hw) -{ - return ((EvsysChannel *)hw)->CHSTATUS.reg; -} - -static inline void hri_evsyschannel_set_CHANNEL_RUNSTDBY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_RUNSTDBY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsyschannel_get_CHANNEL_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_RUNSTDBY) >> EVSYS_CHANNEL_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_evsyschannel_write_CHANNEL_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_RUNSTDBY; - tmp |= value << EVSYS_CHANNEL_RUNSTDBY_Pos; - ((EvsysChannel *)hw)->CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_clear_CHANNEL_RUNSTDBY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_RUNSTDBY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_toggle_CHANNEL_RUNSTDBY_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_RUNSTDBY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_set_CHANNEL_ONDEMAND_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_ONDEMAND; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsyschannel_get_CHANNEL_ONDEMAND_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_ONDEMAND) >> EVSYS_CHANNEL_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_evsyschannel_write_CHANNEL_ONDEMAND_bit(const void *const hw, bool value) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_ONDEMAND; - tmp |= value << EVSYS_CHANNEL_ONDEMAND_Pos; - ((EvsysChannel *)hw)->CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_clear_CHANNEL_ONDEMAND_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_ONDEMAND; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_toggle_CHANNEL_ONDEMAND_bit(const void *const hw) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_ONDEMAND; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_set_CHANNEL_EVGEN_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_EVGEN(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsyschannel_get_CHANNEL_EVGEN_bf(const void *const hw, - hri_evsys_channel_reg_t mask) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_EVGEN(mask)) >> EVSYS_CHANNEL_EVGEN_Pos; - return tmp; -} - -static inline void hri_evsyschannel_write_CHANNEL_EVGEN_bf(const void *const hw, hri_evsys_channel_reg_t data) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_EVGEN_Msk; - tmp |= EVSYS_CHANNEL_EVGEN(data); - ((EvsysChannel *)hw)->CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_clear_CHANNEL_EVGEN_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_EVGEN(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_toggle_CHANNEL_EVGEN_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_EVGEN(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsyschannel_read_CHANNEL_EVGEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_EVGEN_Msk) >> EVSYS_CHANNEL_EVGEN_Pos; - return tmp; -} - -static inline void hri_evsyschannel_set_CHANNEL_PATH_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_PATH(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsyschannel_get_CHANNEL_PATH_bf(const void *const hw, - hri_evsys_channel_reg_t mask) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_PATH(mask)) >> EVSYS_CHANNEL_PATH_Pos; - return tmp; -} - -static inline void hri_evsyschannel_write_CHANNEL_PATH_bf(const void *const hw, hri_evsys_channel_reg_t data) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_PATH_Msk; - tmp |= EVSYS_CHANNEL_PATH(data); - ((EvsysChannel *)hw)->CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_clear_CHANNEL_PATH_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_PATH(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_toggle_CHANNEL_PATH_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_PATH(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsyschannel_read_CHANNEL_PATH_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_PATH_Msk) >> EVSYS_CHANNEL_PATH_Pos; - return tmp; -} - -static inline void hri_evsyschannel_set_CHANNEL_EDGSEL_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_EDGSEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsyschannel_get_CHANNEL_EDGSEL_bf(const void *const hw, - hri_evsys_channel_reg_t mask) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_EDGSEL(mask)) >> EVSYS_CHANNEL_EDGSEL_Pos; - return tmp; -} - -static inline void hri_evsyschannel_write_CHANNEL_EDGSEL_bf(const void *const hw, hri_evsys_channel_reg_t data) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_EDGSEL_Msk; - tmp |= EVSYS_CHANNEL_EDGSEL(data); - ((EvsysChannel *)hw)->CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_clear_CHANNEL_EDGSEL_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_EDGSEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_toggle_CHANNEL_EDGSEL_bf(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_EDGSEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsyschannel_read_CHANNEL_EDGSEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_EDGSEL_Msk) >> EVSYS_CHANNEL_EDGSEL_Pos; - return tmp; -} - -static inline void hri_evsyschannel_set_CHANNEL_reg(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg |= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsyschannel_get_CHANNEL_reg(const void *const hw, - hri_evsys_channel_reg_t mask) -{ - uint32_t tmp; - tmp = ((EvsysChannel *)hw)->CHANNEL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_evsyschannel_write_CHANNEL_reg(const void *const hw, hri_evsys_channel_reg_t data) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg = data; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_clear_CHANNEL_reg(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg &= ~mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsyschannel_toggle_CHANNEL_reg(const void *const hw, hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((EvsysChannel *)hw)->CHANNEL.reg ^= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsyschannel_read_CHANNEL_reg(const void *const hw) -{ - return ((EvsysChannel *)hw)->CHANNEL.reg; -} - -static inline bool hri_evsys_get_CHINTFLAG_OVR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg & EVSYS_CHINTFLAG_OVR) >> EVSYS_CHINTFLAG_OVR_Pos; -} - -static inline void hri_evsys_clear_CHINTFLAG_OVR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = EVSYS_CHINTFLAG_OVR; -} - -static inline bool hri_evsys_get_CHINTFLAG_EVD_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg & EVSYS_CHINTFLAG_EVD) >> EVSYS_CHINTFLAG_EVD_Pos; -} - -static inline void hri_evsys_clear_CHINTFLAG_EVD_bit(const void *const hw, uint8_t submodule_index) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = EVSYS_CHINTFLAG_EVD; -} - -static inline bool hri_evsys_get_interrupt_OVR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg & EVSYS_CHINTFLAG_OVR) >> EVSYS_CHINTFLAG_OVR_Pos; -} - -static inline void hri_evsys_clear_interrupt_OVR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = EVSYS_CHINTFLAG_OVR; -} - -static inline bool hri_evsys_get_interrupt_EVD_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg & EVSYS_CHINTFLAG_EVD) >> EVSYS_CHINTFLAG_EVD_Pos; -} - -static inline void hri_evsys_clear_interrupt_EVD_bit(const void *const hw, uint8_t submodule_index) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = EVSYS_CHINTFLAG_EVD; -} - -static inline hri_evsys_chintflag_reg_t hri_evsys_get_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_chintflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_chintflag_reg_t hri_evsys_read_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg; -} - -static inline void hri_evsys_clear_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_chintflag_reg_t mask) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = mask; -} - -static inline void hri_evsys_set_CHINTEN_OVR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = EVSYS_CHINTENSET_OVR; -} - -static inline bool hri_evsys_get_CHINTEN_OVR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg & EVSYS_CHINTENSET_OVR) >> EVSYS_CHINTENSET_OVR_Pos; -} - -static inline void hri_evsys_write_CHINTEN_OVR_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = EVSYS_CHINTENSET_OVR; - } else { - ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = EVSYS_CHINTENSET_OVR; - } -} - -static inline void hri_evsys_clear_CHINTEN_OVR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = EVSYS_CHINTENSET_OVR; -} - -static inline void hri_evsys_set_CHINTEN_EVD_bit(const void *const hw, uint8_t submodule_index) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = EVSYS_CHINTENSET_EVD; -} - -static inline bool hri_evsys_get_CHINTEN_EVD_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg & EVSYS_CHINTENSET_EVD) >> EVSYS_CHINTENSET_EVD_Pos; -} - -static inline void hri_evsys_write_CHINTEN_EVD_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = EVSYS_CHINTENSET_EVD; - } else { - ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = EVSYS_CHINTENSET_EVD; - } -} - -static inline void hri_evsys_clear_CHINTEN_EVD_bit(const void *const hw, uint8_t submodule_index) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = EVSYS_CHINTENSET_EVD; -} - -static inline void hri_evsys_set_CHINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_chintenset_reg_t mask) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = mask; -} - -static inline hri_evsys_chintenset_reg_t hri_evsys_get_CHINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_chintenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_chintenset_reg_t hri_evsys_read_CHINTEN_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg; -} - -static inline void hri_evsys_write_CHINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_chintenset_reg_t data) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = data; - ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = ~data; -} - -static inline void hri_evsys_clear_CHINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_chintenset_reg_t mask) -{ - ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = mask; -} - -static inline bool hri_evsys_get_CHSTATUS_RDYUSR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Evsys *)hw)->Channel[submodule_index].CHSTATUS.reg & EVSYS_CHSTATUS_RDYUSR) >> EVSYS_CHSTATUS_RDYUSR_Pos; -} - -static inline bool hri_evsys_get_CHSTATUS_BUSYCH_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Evsys *)hw)->Channel[submodule_index].CHSTATUS.reg & EVSYS_CHSTATUS_BUSYCH) >> EVSYS_CHSTATUS_BUSYCH_Pos; -} - -static inline hri_evsys_chstatus_reg_t hri_evsys_get_CHSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_chstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_evsys_chstatus_reg_t hri_evsys_read_CHSTATUS_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Evsys *)hw)->Channel[submodule_index].CHSTATUS.reg; -} - -static inline void hri_evsys_set_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_RUNSTDBY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsys_get_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_RUNSTDBY) >> EVSYS_CHANNEL_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_evsys_write_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_RUNSTDBY; - tmp |= value << EVSYS_CHANNEL_RUNSTDBY_Pos; - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_RUNSTDBY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_RUNSTDBY; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_set_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_ONDEMAND; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_evsys_get_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_ONDEMAND) >> EVSYS_CHANNEL_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_evsys_write_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_ONDEMAND; - tmp |= value << EVSYS_CHANNEL_ONDEMAND_Pos; - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_ONDEMAND; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_ONDEMAND; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_set_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_EVGEN(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsys_get_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_EVGEN(mask)) >> EVSYS_CHANNEL_EVGEN_Pos; - return tmp; -} - -static inline void hri_evsys_write_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t data) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_EVGEN_Msk; - tmp |= EVSYS_CHANNEL_EVGEN(data); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_EVGEN(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_EVGEN(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsys_read_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_EVGEN_Msk) >> EVSYS_CHANNEL_EVGEN_Pos; - return tmp; -} - -static inline void hri_evsys_set_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_PATH(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsys_get_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_PATH(mask)) >> EVSYS_CHANNEL_PATH_Pos; - return tmp; -} - -static inline void hri_evsys_write_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t data) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_PATH_Msk; - tmp |= EVSYS_CHANNEL_PATH(data); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_PATH(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_PATH(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsys_read_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_PATH_Msk) >> EVSYS_CHANNEL_PATH_Pos; - return tmp; -} - -static inline void hri_evsys_set_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_EDGSEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsys_get_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_EDGSEL(mask)) >> EVSYS_CHANNEL_EDGSEL_Pos; - return tmp; -} - -static inline void hri_evsys_write_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t data) -{ - uint32_t tmp; - EVSYS_CRITICAL_SECTION_ENTER(); - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp &= ~EVSYS_CHANNEL_EDGSEL_Msk; - tmp |= EVSYS_CHANNEL_EDGSEL(data); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_EDGSEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_EDGSEL(mask); - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsys_read_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp = (tmp & EVSYS_CHANNEL_EDGSEL_Msk) >> EVSYS_CHANNEL_EDGSEL_Pos; - return tmp; -} - -static inline void hri_evsys_set_CHANNEL_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsys_get_CHANNEL_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - uint32_t tmp; - tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_evsys_write_CHANNEL_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t data) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = data; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_clear_CHANNEL_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_evsys_toggle_CHANNEL_reg(const void *const hw, uint8_t submodule_index, - hri_evsys_channel_reg_t mask) -{ - EVSYS_CRITICAL_SECTION_ENTER(); - ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= mask; - EVSYS_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_evsys_channel_reg_t hri_evsys_read_CHANNEL_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_EVSYS_E54_H_INCLUDED */ -#endif /* _SAME54_EVSYS_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_freqm_e54.h b/software/firmware/oracle_same54n19a/hri/hri_freqm_e54.h deleted file mode 100644 index 8cbc484..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_freqm_e54.h +++ /dev/null @@ -1,464 +0,0 @@ -/** - * \file - * - * \brief SAM FREQM - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_FREQM_COMPONENT_ -#ifndef _HRI_FREQM_E54_H_INCLUDED_ -#define _HRI_FREQM_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_FREQM_CRITICAL_SECTIONS) -#define FREQM_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define FREQM_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define FREQM_CRITICAL_SECTION_ENTER() -#define FREQM_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_freqm_cfga_reg_t; -typedef uint32_t hri_freqm_syncbusy_reg_t; -typedef uint32_t hri_freqm_value_reg_t; -typedef uint8_t hri_freqm_ctrla_reg_t; -typedef uint8_t hri_freqm_ctrlb_reg_t; -typedef uint8_t hri_freqm_intenset_reg_t; -typedef uint8_t hri_freqm_intflag_reg_t; -typedef uint8_t hri_freqm_status_reg_t; - -static inline void hri_freqm_wait_for_sync(const void *const hw, hri_freqm_syncbusy_reg_t reg) -{ - while (((Freqm *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_freqm_is_syncing(const void *const hw, hri_freqm_syncbusy_reg_t reg) -{ - return ((Freqm *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_freqm_get_INTFLAG_DONE_bit(const void *const hw) -{ - return (((Freqm *)hw)->INTFLAG.reg & FREQM_INTFLAG_DONE) >> FREQM_INTFLAG_DONE_Pos; -} - -static inline void hri_freqm_clear_INTFLAG_DONE_bit(const void *const hw) -{ - ((Freqm *)hw)->INTFLAG.reg = FREQM_INTFLAG_DONE; -} - -static inline bool hri_freqm_get_interrupt_DONE_bit(const void *const hw) -{ - return (((Freqm *)hw)->INTFLAG.reg & FREQM_INTFLAG_DONE) >> FREQM_INTFLAG_DONE_Pos; -} - -static inline void hri_freqm_clear_interrupt_DONE_bit(const void *const hw) -{ - ((Freqm *)hw)->INTFLAG.reg = FREQM_INTFLAG_DONE; -} - -static inline hri_freqm_intflag_reg_t hri_freqm_get_INTFLAG_reg(const void *const hw, hri_freqm_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Freqm *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_freqm_intflag_reg_t hri_freqm_read_INTFLAG_reg(const void *const hw) -{ - return ((Freqm *)hw)->INTFLAG.reg; -} - -static inline void hri_freqm_clear_INTFLAG_reg(const void *const hw, hri_freqm_intflag_reg_t mask) -{ - ((Freqm *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_freqm_set_INTEN_DONE_bit(const void *const hw) -{ - ((Freqm *)hw)->INTENSET.reg = FREQM_INTENSET_DONE; -} - -static inline bool hri_freqm_get_INTEN_DONE_bit(const void *const hw) -{ - return (((Freqm *)hw)->INTENSET.reg & FREQM_INTENSET_DONE) >> FREQM_INTENSET_DONE_Pos; -} - -static inline void hri_freqm_write_INTEN_DONE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Freqm *)hw)->INTENCLR.reg = FREQM_INTENSET_DONE; - } else { - ((Freqm *)hw)->INTENSET.reg = FREQM_INTENSET_DONE; - } -} - -static inline void hri_freqm_clear_INTEN_DONE_bit(const void *const hw) -{ - ((Freqm *)hw)->INTENCLR.reg = FREQM_INTENSET_DONE; -} - -static inline void hri_freqm_set_INTEN_reg(const void *const hw, hri_freqm_intenset_reg_t mask) -{ - ((Freqm *)hw)->INTENSET.reg = mask; -} - -static inline hri_freqm_intenset_reg_t hri_freqm_get_INTEN_reg(const void *const hw, hri_freqm_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Freqm *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_freqm_intenset_reg_t hri_freqm_read_INTEN_reg(const void *const hw) -{ - return ((Freqm *)hw)->INTENSET.reg; -} - -static inline void hri_freqm_write_INTEN_reg(const void *const hw, hri_freqm_intenset_reg_t data) -{ - ((Freqm *)hw)->INTENSET.reg = data; - ((Freqm *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_freqm_clear_INTEN_reg(const void *const hw, hri_freqm_intenset_reg_t mask) -{ - ((Freqm *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_freqm_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Freqm *)hw)->SYNCBUSY.reg & FREQM_SYNCBUSY_SWRST) >> FREQM_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_freqm_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Freqm *)hw)->SYNCBUSY.reg & FREQM_SYNCBUSY_ENABLE) >> FREQM_SYNCBUSY_ENABLE_Pos; -} - -static inline hri_freqm_syncbusy_reg_t hri_freqm_get_SYNCBUSY_reg(const void *const hw, hri_freqm_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Freqm *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_freqm_syncbusy_reg_t hri_freqm_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Freqm *)hw)->SYNCBUSY.reg; -} - -static inline hri_freqm_value_reg_t hri_freqm_get_VALUE_VALUE_bf(const void *const hw, hri_freqm_value_reg_t mask) -{ - return (((Freqm *)hw)->VALUE.reg & FREQM_VALUE_VALUE(mask)) >> FREQM_VALUE_VALUE_Pos; -} - -static inline hri_freqm_value_reg_t hri_freqm_read_VALUE_VALUE_bf(const void *const hw) -{ - return (((Freqm *)hw)->VALUE.reg & FREQM_VALUE_VALUE_Msk) >> FREQM_VALUE_VALUE_Pos; -} - -static inline hri_freqm_value_reg_t hri_freqm_get_VALUE_reg(const void *const hw, hri_freqm_value_reg_t mask) -{ - uint32_t tmp; - tmp = ((Freqm *)hw)->VALUE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_freqm_value_reg_t hri_freqm_read_VALUE_reg(const void *const hw) -{ - return ((Freqm *)hw)->VALUE.reg; -} - -static inline void hri_freqm_set_CTRLA_SWRST_bit(const void *const hw) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLA.reg |= FREQM_CTRLA_SWRST; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_freqm_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST); - tmp = ((Freqm *)hw)->CTRLA.reg; - tmp = (tmp & FREQM_CTRLA_SWRST) >> FREQM_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_freqm_set_CTRLA_ENABLE_bit(const void *const hw) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLA.reg |= FREQM_CTRLA_ENABLE; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_freqm_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE); - tmp = ((Freqm *)hw)->CTRLA.reg; - tmp = (tmp & FREQM_CTRLA_ENABLE) >> FREQM_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_freqm_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - FREQM_CRITICAL_SECTION_ENTER(); - tmp = ((Freqm *)hw)->CTRLA.reg; - tmp &= ~FREQM_CTRLA_ENABLE; - tmp |= value << FREQM_CTRLA_ENABLE_Pos; - ((Freqm *)hw)->CTRLA.reg = tmp; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLA.reg &= ~FREQM_CTRLA_ENABLE; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLA.reg ^= FREQM_CTRLA_ENABLE; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_set_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLA.reg |= mask; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_freqm_ctrla_reg_t hri_freqm_get_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t mask) -{ - uint8_t tmp; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK); - tmp = ((Freqm *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_freqm_write_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t data) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLA.reg = data; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_clear_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLA.reg &= ~mask; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_toggle_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLA.reg ^= mask; - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_freqm_ctrla_reg_t hri_freqm_read_CTRLA_reg(const void *const hw) -{ - hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK); - return ((Freqm *)hw)->CTRLA.reg; -} - -static inline void hri_freqm_set_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CFGA.reg |= FREQM_CFGA_REFNUM(mask); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_freqm_cfga_reg_t hri_freqm_get_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t mask) -{ - uint16_t tmp; - tmp = ((Freqm *)hw)->CFGA.reg; - tmp = (tmp & FREQM_CFGA_REFNUM(mask)) >> FREQM_CFGA_REFNUM_Pos; - return tmp; -} - -static inline void hri_freqm_write_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t data) -{ - uint16_t tmp; - FREQM_CRITICAL_SECTION_ENTER(); - tmp = ((Freqm *)hw)->CFGA.reg; - tmp &= ~FREQM_CFGA_REFNUM_Msk; - tmp |= FREQM_CFGA_REFNUM(data); - ((Freqm *)hw)->CFGA.reg = tmp; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_clear_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CFGA.reg &= ~FREQM_CFGA_REFNUM(mask); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_toggle_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CFGA.reg ^= FREQM_CFGA_REFNUM(mask); - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_freqm_cfga_reg_t hri_freqm_read_CFGA_REFNUM_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Freqm *)hw)->CFGA.reg; - tmp = (tmp & FREQM_CFGA_REFNUM_Msk) >> FREQM_CFGA_REFNUM_Pos; - return tmp; -} - -static inline void hri_freqm_set_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CFGA.reg |= mask; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_freqm_cfga_reg_t hri_freqm_get_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t mask) -{ - uint16_t tmp; - tmp = ((Freqm *)hw)->CFGA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_freqm_write_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t data) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CFGA.reg = data; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_clear_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CFGA.reg &= ~mask; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_freqm_toggle_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CFGA.reg ^= mask; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_freqm_cfga_reg_t hri_freqm_read_CFGA_reg(const void *const hw) -{ - return ((Freqm *)hw)->CFGA.reg; -} - -static inline bool hri_freqm_get_STATUS_BUSY_bit(const void *const hw) -{ - return (((Freqm *)hw)->STATUS.reg & FREQM_STATUS_BUSY) >> FREQM_STATUS_BUSY_Pos; -} - -static inline void hri_freqm_clear_STATUS_BUSY_bit(const void *const hw) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->STATUS.reg = FREQM_STATUS_BUSY; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_freqm_get_STATUS_OVF_bit(const void *const hw) -{ - return (((Freqm *)hw)->STATUS.reg & FREQM_STATUS_OVF) >> FREQM_STATUS_OVF_Pos; -} - -static inline void hri_freqm_clear_STATUS_OVF_bit(const void *const hw) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->STATUS.reg = FREQM_STATUS_OVF; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_freqm_status_reg_t hri_freqm_get_STATUS_reg(const void *const hw, hri_freqm_status_reg_t mask) -{ - uint8_t tmp; - tmp = ((Freqm *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_freqm_clear_STATUS_reg(const void *const hw, hri_freqm_status_reg_t mask) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->STATUS.reg = mask; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_freqm_status_reg_t hri_freqm_read_STATUS_reg(const void *const hw) -{ - return ((Freqm *)hw)->STATUS.reg; -} - -static inline void hri_freqm_write_CTRLB_reg(const void *const hw, hri_freqm_ctrlb_reg_t data) -{ - FREQM_CRITICAL_SECTION_ENTER(); - ((Freqm *)hw)->CTRLB.reg = data; - FREQM_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_FREQM_E54_H_INCLUDED */ -#endif /* _SAME54_FREQM_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_gclk_e54.h b/software/firmware/oracle_same54n19a/hri/hri_gclk_e54.h deleted file mode 100644 index f83af2a..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_gclk_e54.h +++ /dev/null @@ -1,805 +0,0 @@ -/** - * \file - * - * \brief SAM GCLK - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_GCLK_COMPONENT_ -#ifndef _HRI_GCLK_E54_H_INCLUDED_ -#define _HRI_GCLK_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_GCLK_CRITICAL_SECTIONS) -#define GCLK_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define GCLK_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define GCLK_CRITICAL_SECTION_ENTER() -#define GCLK_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_gclk_genctrl_reg_t; -typedef uint32_t hri_gclk_pchctrl_reg_t; -typedef uint32_t hri_gclk_syncbusy_reg_t; -typedef uint8_t hri_gclk_ctrla_reg_t; - -static inline void hri_gclk_wait_for_sync(const void *const hw, hri_gclk_syncbusy_reg_t reg) -{ - while (((Gclk *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_gclk_is_syncing(const void *const hw, hri_gclk_syncbusy_reg_t reg) -{ - return ((Gclk *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_gclk_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_SWRST) >> GCLK_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL0_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL0) >> GCLK_SYNCBUSY_GENCTRL0_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL1_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL1) >> GCLK_SYNCBUSY_GENCTRL1_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL2_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL2) >> GCLK_SYNCBUSY_GENCTRL2_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL3_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL3) >> GCLK_SYNCBUSY_GENCTRL3_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL4_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL4) >> GCLK_SYNCBUSY_GENCTRL4_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL5_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL5) >> GCLK_SYNCBUSY_GENCTRL5_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL6_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL6) >> GCLK_SYNCBUSY_GENCTRL6_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL7_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL7) >> GCLK_SYNCBUSY_GENCTRL7_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL8_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL8) >> GCLK_SYNCBUSY_GENCTRL8_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL9_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL9) >> GCLK_SYNCBUSY_GENCTRL9_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL10_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL10) >> GCLK_SYNCBUSY_GENCTRL10_Pos; -} - -static inline bool hri_gclk_get_SYNCBUSY_GENCTRL11_bit(const void *const hw) -{ - return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL11) >> GCLK_SYNCBUSY_GENCTRL11_Pos; -} - -static inline hri_gclk_syncbusy_reg_t hri_gclk_get_SYNCBUSY_reg(const void *const hw, hri_gclk_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gclk_syncbusy_reg_t hri_gclk_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Gclk *)hw)->SYNCBUSY.reg; -} - -static inline void hri_gclk_set_CTRLA_SWRST_bit(const void *const hw) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->CTRLA.reg |= GCLK_CTRLA_SWRST; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST); - tmp = ((Gclk *)hw)->CTRLA.reg; - tmp = (tmp & GCLK_CTRLA_SWRST) >> GCLK_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_set_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->CTRLA.reg |= mask; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_ctrla_reg_t hri_gclk_get_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t mask) -{ - uint8_t tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST); - tmp = ((Gclk *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gclk_write_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t data) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->CTRLA.reg = data; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->CTRLA.reg &= ~mask; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->CTRLA.reg ^= mask; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_ctrla_reg_t hri_gclk_read_CTRLA_reg(const void *const hw) -{ - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST); - return ((Gclk *)hw)->CTRLA.reg; -} - -static inline void hri_gclk_set_GENCTRL_GENEN_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_GENEN; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_GENCTRL_GENEN_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_GENEN) >> GCLK_GENCTRL_GENEN_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_write_GENCTRL_GENEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= ~GCLK_GENCTRL_GENEN; - tmp |= value << GCLK_GENCTRL_GENEN_Pos; - ((Gclk *)hw)->GENCTRL[index].reg = tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_GENEN_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_GENEN; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_GENEN_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_GENEN; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_set_GENCTRL_IDC_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_IDC; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_GENCTRL_IDC_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_IDC) >> GCLK_GENCTRL_IDC_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_write_GENCTRL_IDC_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= ~GCLK_GENCTRL_IDC; - tmp |= value << GCLK_GENCTRL_IDC_Pos; - ((Gclk *)hw)->GENCTRL[index].reg = tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_IDC_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_IDC; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_IDC_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_IDC; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_set_GENCTRL_OOV_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_OOV; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_GENCTRL_OOV_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_OOV) >> GCLK_GENCTRL_OOV_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_write_GENCTRL_OOV_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= ~GCLK_GENCTRL_OOV; - tmp |= value << GCLK_GENCTRL_OOV_Pos; - ((Gclk *)hw)->GENCTRL[index].reg = tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_OOV_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_OOV; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_OOV_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_OOV; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_set_GENCTRL_OE_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_OE; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_GENCTRL_OE_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_OE) >> GCLK_GENCTRL_OE_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_write_GENCTRL_OE_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= ~GCLK_GENCTRL_OE; - tmp |= value << GCLK_GENCTRL_OE_Pos; - ((Gclk *)hw)->GENCTRL[index].reg = tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_OE_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_OE; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_OE_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_OE; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_set_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_DIVSEL; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_DIVSEL) >> GCLK_GENCTRL_DIVSEL_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_write_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= ~GCLK_GENCTRL_DIVSEL; - tmp |= value << GCLK_GENCTRL_DIVSEL_Pos; - ((Gclk *)hw)->GENCTRL[index].reg = tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_DIVSEL; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_DIVSEL; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_set_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_RUNSTDBY; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_RUNSTDBY) >> GCLK_GENCTRL_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_write_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= ~GCLK_GENCTRL_RUNSTDBY; - tmp |= value << GCLK_GENCTRL_RUNSTDBY_Pos; - ((Gclk *)hw)->GENCTRL[index].reg = tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_RUNSTDBY; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_RUNSTDBY; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_set_GENCTRL_SRC_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_SRC(mask); - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_genctrl_reg_t hri_gclk_get_GENCTRL_SRC_bf(const void *const hw, uint8_t index, - hri_gclk_genctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_SRC(mask)) >> GCLK_GENCTRL_SRC_Pos; - return tmp; -} - -static inline void hri_gclk_write_GENCTRL_SRC_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t data) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= ~GCLK_GENCTRL_SRC_Msk; - tmp |= GCLK_GENCTRL_SRC(data); - ((Gclk *)hw)->GENCTRL[index].reg = tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_SRC_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_SRC(mask); - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_SRC_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_SRC(mask); - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_genctrl_reg_t hri_gclk_read_GENCTRL_SRC_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_SRC_Msk) >> GCLK_GENCTRL_SRC_Pos; - return tmp; -} - -static inline void hri_gclk_set_GENCTRL_DIV_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_DIV(mask); - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_genctrl_reg_t hri_gclk_get_GENCTRL_DIV_bf(const void *const hw, uint8_t index, - hri_gclk_genctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_DIV(mask)) >> GCLK_GENCTRL_DIV_Pos; - return tmp; -} - -static inline void hri_gclk_write_GENCTRL_DIV_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t data) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= ~GCLK_GENCTRL_DIV_Msk; - tmp |= GCLK_GENCTRL_DIV(data); - ((Gclk *)hw)->GENCTRL[index].reg = tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_DIV_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_DIV(mask); - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_DIV_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_DIV(mask); - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_genctrl_reg_t hri_gclk_read_GENCTRL_DIV_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp = (tmp & GCLK_GENCTRL_DIV_Msk) >> GCLK_GENCTRL_DIV_Pos; - return tmp; -} - -static inline void hri_gclk_set_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg |= mask; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_genctrl_reg_t hri_gclk_get_GENCTRL_reg(const void *const hw, uint8_t index, - hri_gclk_genctrl_reg_t mask) -{ - uint32_t tmp; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - tmp = ((Gclk *)hw)->GENCTRL[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gclk_write_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t data) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg = data; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg &= ~mask; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->GENCTRL[index].reg ^= mask; - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_genctrl_reg_t hri_gclk_read_GENCTRL_reg(const void *const hw, uint8_t index) -{ - hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK); - return ((Gclk *)hw)->GENCTRL[index].reg; -} - -static inline void hri_gclk_set_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg |= GCLK_PCHCTRL_CHEN; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - tmp = (tmp & GCLK_PCHCTRL_CHEN) >> GCLK_PCHCTRL_CHEN_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_write_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - tmp &= ~GCLK_PCHCTRL_CHEN; - tmp |= value << GCLK_PCHCTRL_CHEN_Pos; - ((Gclk *)hw)->PCHCTRL[index].reg = tmp; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg &= ~GCLK_PCHCTRL_CHEN; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg ^= GCLK_PCHCTRL_CHEN; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_set_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg |= GCLK_PCHCTRL_WRTLOCK; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_gclk_get_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - tmp = (tmp & GCLK_PCHCTRL_WRTLOCK) >> GCLK_PCHCTRL_WRTLOCK_Pos; - return (bool)tmp; -} - -static inline void hri_gclk_write_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - tmp &= ~GCLK_PCHCTRL_WRTLOCK; - tmp |= value << GCLK_PCHCTRL_WRTLOCK_Pos; - ((Gclk *)hw)->PCHCTRL[index].reg = tmp; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg &= ~GCLK_PCHCTRL_WRTLOCK; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg ^= GCLK_PCHCTRL_WRTLOCK; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_set_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg |= GCLK_PCHCTRL_GEN(mask); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_pchctrl_reg_t hri_gclk_get_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, - hri_gclk_pchctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - tmp = (tmp & GCLK_PCHCTRL_GEN(mask)) >> GCLK_PCHCTRL_GEN_Pos; - return tmp; -} - -static inline void hri_gclk_write_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data) -{ - uint32_t tmp; - GCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - tmp &= ~GCLK_PCHCTRL_GEN_Msk; - tmp |= GCLK_PCHCTRL_GEN(data); - ((Gclk *)hw)->PCHCTRL[index].reg = tmp; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg &= ~GCLK_PCHCTRL_GEN(mask); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg ^= GCLK_PCHCTRL_GEN(mask); - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_pchctrl_reg_t hri_gclk_read_PCHCTRL_GEN_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - tmp = (tmp & GCLK_PCHCTRL_GEN_Msk) >> GCLK_PCHCTRL_GEN_Pos; - return tmp; -} - -static inline void hri_gclk_set_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg |= mask; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_pchctrl_reg_t hri_gclk_get_PCHCTRL_reg(const void *const hw, uint8_t index, - hri_gclk_pchctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gclk *)hw)->PCHCTRL[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gclk_write_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg = data; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_clear_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg &= ~mask; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gclk_toggle_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg ^= mask; - GCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gclk_pchctrl_reg_t hri_gclk_read_PCHCTRL_reg(const void *const hw, uint8_t index) -{ - return ((Gclk *)hw)->PCHCTRL[index].reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_GCLK_E54_H_INCLUDED */ -#endif /* _SAME54_GCLK_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_gmac_e54.h b/software/firmware/oracle_same54n19a/hri/hri_gmac_e54.h deleted file mode 100644 index 2875061..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_gmac_e54.h +++ /dev/null @@ -1,3766 +0,0 @@ -/** - * \file - * - * \brief SAM GMAC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_GMAC_COMPONENT_ -#ifndef _HRI_GMAC_E54_H_INCLUDED_ -#define _HRI_GMAC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_GMAC_CRITICAL_SECTIONS) -#define GMAC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define GMAC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define GMAC_CRITICAL_SECTION_ENTER() -#define GMAC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_gmac_ae_reg_t; -typedef uint32_t hri_gmac_bcfr_reg_t; -typedef uint32_t hri_gmac_bcft_reg_t; -typedef uint32_t hri_gmac_bfr64_reg_t; -typedef uint32_t hri_gmac_bft64_reg_t; -typedef uint32_t hri_gmac_cse_reg_t; -typedef uint32_t hri_gmac_dcfgr_reg_t; -typedef uint32_t hri_gmac_dtf_reg_t; -typedef uint32_t hri_gmac_ec_reg_t; -typedef uint32_t hri_gmac_efrn_reg_t; -typedef uint32_t hri_gmac_efrsh_reg_t; -typedef uint32_t hri_gmac_efrsl_reg_t; -typedef uint32_t hri_gmac_eftn_reg_t; -typedef uint32_t hri_gmac_eftsh_reg_t; -typedef uint32_t hri_gmac_eftsl_reg_t; -typedef uint32_t hri_gmac_fcse_reg_t; -typedef uint32_t hri_gmac_fr_reg_t; -typedef uint32_t hri_gmac_ft_reg_t; -typedef uint32_t hri_gmac_gtbft1518_reg_t; -typedef uint32_t hri_gmac_hrb_reg_t; -typedef uint32_t hri_gmac_hrt_reg_t; -typedef uint32_t hri_gmac_ihce_reg_t; -typedef uint32_t hri_gmac_imr_reg_t; -typedef uint32_t hri_gmac_ipgs_reg_t; -typedef uint32_t hri_gmac_isr_reg_t; -typedef uint32_t hri_gmac_jr_reg_t; -typedef uint32_t hri_gmac_lc_reg_t; -typedef uint32_t hri_gmac_lffe_reg_t; -typedef uint32_t hri_gmac_man_reg_t; -typedef uint32_t hri_gmac_mcf_reg_t; -typedef uint32_t hri_gmac_mfr_reg_t; -typedef uint32_t hri_gmac_mft_reg_t; -typedef uint32_t hri_gmac_ncfgr_reg_t; -typedef uint32_t hri_gmac_ncr_reg_t; -typedef uint32_t hri_gmac_nsc_reg_t; -typedef uint32_t hri_gmac_nsr_reg_t; -typedef uint32_t hri_gmac_ofr_reg_t; -typedef uint32_t hri_gmac_orhi_reg_t; -typedef uint32_t hri_gmac_orlo_reg_t; -typedef uint32_t hri_gmac_othi_reg_t; -typedef uint32_t hri_gmac_otlo_reg_t; -typedef uint32_t hri_gmac_pefrn_reg_t; -typedef uint32_t hri_gmac_pefrsh_reg_t; -typedef uint32_t hri_gmac_pefrsl_reg_t; -typedef uint32_t hri_gmac_peftn_reg_t; -typedef uint32_t hri_gmac_peftsh_reg_t; -typedef uint32_t hri_gmac_peftsl_reg_t; -typedef uint32_t hri_gmac_pfr_reg_t; -typedef uint32_t hri_gmac_pft_reg_t; -typedef uint32_t hri_gmac_rbqb_reg_t; -typedef uint32_t hri_gmac_rjfml_reg_t; -typedef uint32_t hri_gmac_rlpiti_reg_t; -typedef uint32_t hri_gmac_rlpitr_reg_t; -typedef uint32_t hri_gmac_roe_reg_t; -typedef uint32_t hri_gmac_rpq_reg_t; -typedef uint32_t hri_gmac_rpsf_reg_t; -typedef uint32_t hri_gmac_rre_reg_t; -typedef uint32_t hri_gmac_rse_reg_t; -typedef uint32_t hri_gmac_rsr_reg_t; -typedef uint32_t hri_gmac_sab_reg_t; -typedef uint32_t hri_gmac_samb1_reg_t; -typedef uint32_t hri_gmac_samt1_reg_t; -typedef uint32_t hri_gmac_sat_reg_t; -typedef uint32_t hri_gmac_scf_reg_t; -typedef uint32_t hri_gmac_sch_reg_t; -typedef uint32_t hri_gmac_scl_reg_t; -typedef uint32_t hri_gmac_svlan_reg_t; -typedef uint32_t hri_gmac_ta_reg_t; -typedef uint32_t hri_gmac_tbfr1023_reg_t; -typedef uint32_t hri_gmac_tbfr127_reg_t; -typedef uint32_t hri_gmac_tbfr1518_reg_t; -typedef uint32_t hri_gmac_tbfr255_reg_t; -typedef uint32_t hri_gmac_tbfr511_reg_t; -typedef uint32_t hri_gmac_tbft1023_reg_t; -typedef uint32_t hri_gmac_tbft127_reg_t; -typedef uint32_t hri_gmac_tbft1518_reg_t; -typedef uint32_t hri_gmac_tbft255_reg_t; -typedef uint32_t hri_gmac_tbft511_reg_t; -typedef uint32_t hri_gmac_tbqb_reg_t; -typedef uint32_t hri_gmac_tce_reg_t; -typedef uint32_t hri_gmac_ti_reg_t; -typedef uint32_t hri_gmac_tidm_reg_t; -typedef uint32_t hri_gmac_tisubn_reg_t; -typedef uint32_t hri_gmac_tlpiti_reg_t; -typedef uint32_t hri_gmac_tlpitr_reg_t; -typedef uint32_t hri_gmac_tmxbfr_reg_t; -typedef uint32_t hri_gmac_tn_reg_t; -typedef uint32_t hri_gmac_tpfcp_reg_t; -typedef uint32_t hri_gmac_tpq_reg_t; -typedef uint32_t hri_gmac_tpsf_reg_t; -typedef uint32_t hri_gmac_tsh_reg_t; -typedef uint32_t hri_gmac_tsl_reg_t; -typedef uint32_t hri_gmac_tsr_reg_t; -typedef uint32_t hri_gmac_tssn_reg_t; -typedef uint32_t hri_gmac_tsssl_reg_t; -typedef uint32_t hri_gmac_tur_reg_t; -typedef uint32_t hri_gmac_uce_reg_t; -typedef uint32_t hri_gmac_ufr_reg_t; -typedef uint32_t hri_gmac_ur_reg_t; -typedef uint32_t hri_gmac_wol_reg_t; -typedef uint32_t hri_gmacsa_sab_reg_t; -typedef uint32_t hri_gmacsa_sat_reg_t; - -static inline void hri_gmacsa_set_SAB_reg(const void *const hw, hri_gmac_sab_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((GmacSa *)hw)->SAB.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sab_reg_t hri_gmacsa_get_SAB_reg(const void *const hw, hri_gmac_sab_reg_t mask) -{ - uint32_t tmp; - tmp = ((GmacSa *)hw)->SAB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmacsa_write_SAB_reg(const void *const hw, hri_gmac_sab_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((GmacSa *)hw)->SAB.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmacsa_clear_SAB_reg(const void *const hw, hri_gmac_sab_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((GmacSa *)hw)->SAB.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmacsa_toggle_SAB_reg(const void *const hw, hri_gmac_sab_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((GmacSa *)hw)->SAB.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sab_reg_t hri_gmacsa_read_SAB_reg(const void *const hw) -{ - return ((GmacSa *)hw)->SAB.reg; -} - -static inline void hri_gmacsa_set_SAT_reg(const void *const hw, hri_gmac_sat_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((GmacSa *)hw)->SAT.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sat_reg_t hri_gmacsa_get_SAT_reg(const void *const hw, hri_gmac_sat_reg_t mask) -{ - uint32_t tmp; - tmp = ((GmacSa *)hw)->SAT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmacsa_write_SAT_reg(const void *const hw, hri_gmac_sat_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((GmacSa *)hw)->SAT.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmacsa_clear_SAT_reg(const void *const hw, hri_gmac_sat_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((GmacSa *)hw)->SAT.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmacsa_toggle_SAT_reg(const void *const hw, hri_gmac_sat_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((GmacSa *)hw)->SAT.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sat_reg_t hri_gmacsa_read_SAT_reg(const void *const hw) -{ - return ((GmacSa *)hw)->SAT.reg; -} - -static inline void hri_gmac_set_SAB_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sab_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->Sa[submodule_index].SAB.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sab_reg_t hri_gmac_get_SAB_reg(const void *const hw, uint8_t submodule_index, - hri_gmac_sab_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->Sa[submodule_index].SAB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_SAB_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sab_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->Sa[submodule_index].SAB.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_SAB_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sab_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->Sa[submodule_index].SAB.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_SAB_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sab_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->Sa[submodule_index].SAB.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sab_reg_t hri_gmac_read_SAB_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Gmac *)hw)->Sa[submodule_index].SAB.reg; -} - -static inline void hri_gmac_set_SAT_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sat_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->Sa[submodule_index].SAT.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sat_reg_t hri_gmac_get_SAT_reg(const void *const hw, uint8_t submodule_index, - hri_gmac_sat_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->Sa[submodule_index].SAT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_SAT_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sat_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->Sa[submodule_index].SAT.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_SAT_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sat_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->Sa[submodule_index].SAT.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_SAT_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sat_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->Sa[submodule_index].SAT.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sat_reg_t hri_gmac_read_SAT_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Gmac *)hw)->Sa[submodule_index].SAT.reg; -} - -static inline void hri_gmac_set_IMR_MFS_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_MFS; -} - -static inline bool hri_gmac_get_IMR_MFS_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_MFS) >> GMAC_IMR_MFS_Pos; -} - -static inline void hri_gmac_write_IMR_MFS_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_MFS; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_MFS; - } -} - -static inline void hri_gmac_clear_IMR_MFS_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_MFS; -} - -static inline void hri_gmac_set_IMR_RCOMP_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_RCOMP; -} - -static inline bool hri_gmac_get_IMR_RCOMP_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_RCOMP) >> GMAC_IMR_RCOMP_Pos; -} - -static inline void hri_gmac_write_IMR_RCOMP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_RCOMP; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_RCOMP; - } -} - -static inline void hri_gmac_clear_IMR_RCOMP_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_RCOMP; -} - -static inline void hri_gmac_set_IMR_RXUBR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_RXUBR; -} - -static inline bool hri_gmac_get_IMR_RXUBR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_RXUBR) >> GMAC_IMR_RXUBR_Pos; -} - -static inline void hri_gmac_write_IMR_RXUBR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_RXUBR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_RXUBR; - } -} - -static inline void hri_gmac_clear_IMR_RXUBR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_RXUBR; -} - -static inline void hri_gmac_set_IMR_TXUBR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_TXUBR; -} - -static inline bool hri_gmac_get_IMR_TXUBR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TXUBR) >> GMAC_IMR_TXUBR_Pos; -} - -static inline void hri_gmac_write_IMR_TXUBR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TXUBR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_TXUBR; - } -} - -static inline void hri_gmac_clear_IMR_TXUBR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TXUBR; -} - -static inline void hri_gmac_set_IMR_TUR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_TUR; -} - -static inline bool hri_gmac_get_IMR_TUR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TUR) >> GMAC_IMR_TUR_Pos; -} - -static inline void hri_gmac_write_IMR_TUR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TUR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_TUR; - } -} - -static inline void hri_gmac_clear_IMR_TUR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TUR; -} - -static inline void hri_gmac_set_IMR_RLEX_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_RLEX; -} - -static inline bool hri_gmac_get_IMR_RLEX_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_RLEX) >> GMAC_IMR_RLEX_Pos; -} - -static inline void hri_gmac_write_IMR_RLEX_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_RLEX; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_RLEX; - } -} - -static inline void hri_gmac_clear_IMR_RLEX_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_RLEX; -} - -static inline void hri_gmac_set_IMR_TFC_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_TFC; -} - -static inline bool hri_gmac_get_IMR_TFC_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TFC) >> GMAC_IMR_TFC_Pos; -} - -static inline void hri_gmac_write_IMR_TFC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TFC; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_TFC; - } -} - -static inline void hri_gmac_clear_IMR_TFC_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TFC; -} - -static inline void hri_gmac_set_IMR_TCOMP_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_TCOMP; -} - -static inline bool hri_gmac_get_IMR_TCOMP_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TCOMP) >> GMAC_IMR_TCOMP_Pos; -} - -static inline void hri_gmac_write_IMR_TCOMP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TCOMP; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_TCOMP; - } -} - -static inline void hri_gmac_clear_IMR_TCOMP_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TCOMP; -} - -static inline void hri_gmac_set_IMR_ROVR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_ROVR; -} - -static inline bool hri_gmac_get_IMR_ROVR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_ROVR) >> GMAC_IMR_ROVR_Pos; -} - -static inline void hri_gmac_write_IMR_ROVR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_ROVR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_ROVR; - } -} - -static inline void hri_gmac_clear_IMR_ROVR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_ROVR; -} - -static inline void hri_gmac_set_IMR_HRESP_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_HRESP; -} - -static inline bool hri_gmac_get_IMR_HRESP_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_HRESP) >> GMAC_IMR_HRESP_Pos; -} - -static inline void hri_gmac_write_IMR_HRESP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_HRESP; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_HRESP; - } -} - -static inline void hri_gmac_clear_IMR_HRESP_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_HRESP; -} - -static inline void hri_gmac_set_IMR_PFNZ_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_PFNZ; -} - -static inline bool hri_gmac_get_IMR_PFNZ_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PFNZ) >> GMAC_IMR_PFNZ_Pos; -} - -static inline void hri_gmac_write_IMR_PFNZ_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PFNZ; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_PFNZ; - } -} - -static inline void hri_gmac_clear_IMR_PFNZ_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PFNZ; -} - -static inline void hri_gmac_set_IMR_PTZ_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_PTZ; -} - -static inline bool hri_gmac_get_IMR_PTZ_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PTZ) >> GMAC_IMR_PTZ_Pos; -} - -static inline void hri_gmac_write_IMR_PTZ_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PTZ; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_PTZ; - } -} - -static inline void hri_gmac_clear_IMR_PTZ_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PTZ; -} - -static inline void hri_gmac_set_IMR_PFTR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_PFTR; -} - -static inline bool hri_gmac_get_IMR_PFTR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PFTR) >> GMAC_IMR_PFTR_Pos; -} - -static inline void hri_gmac_write_IMR_PFTR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PFTR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_PFTR; - } -} - -static inline void hri_gmac_clear_IMR_PFTR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PFTR; -} - -static inline void hri_gmac_set_IMR_EXINT_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_EXINT; -} - -static inline bool hri_gmac_get_IMR_EXINT_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_EXINT) >> GMAC_IMR_EXINT_Pos; -} - -static inline void hri_gmac_write_IMR_EXINT_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_EXINT; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_EXINT; - } -} - -static inline void hri_gmac_clear_IMR_EXINT_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_EXINT; -} - -static inline void hri_gmac_set_IMR_DRQFR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_DRQFR; -} - -static inline bool hri_gmac_get_IMR_DRQFR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_DRQFR) >> GMAC_IMR_DRQFR_Pos; -} - -static inline void hri_gmac_write_IMR_DRQFR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_DRQFR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_DRQFR; - } -} - -static inline void hri_gmac_clear_IMR_DRQFR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_DRQFR; -} - -static inline void hri_gmac_set_IMR_SFR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_SFR; -} - -static inline bool hri_gmac_get_IMR_SFR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_SFR) >> GMAC_IMR_SFR_Pos; -} - -static inline void hri_gmac_write_IMR_SFR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_SFR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_SFR; - } -} - -static inline void hri_gmac_clear_IMR_SFR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_SFR; -} - -static inline void hri_gmac_set_IMR_DRQFT_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_DRQFT; -} - -static inline bool hri_gmac_get_IMR_DRQFT_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_DRQFT) >> GMAC_IMR_DRQFT_Pos; -} - -static inline void hri_gmac_write_IMR_DRQFT_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_DRQFT; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_DRQFT; - } -} - -static inline void hri_gmac_clear_IMR_DRQFT_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_DRQFT; -} - -static inline void hri_gmac_set_IMR_SFT_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_SFT; -} - -static inline bool hri_gmac_get_IMR_SFT_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_SFT) >> GMAC_IMR_SFT_Pos; -} - -static inline void hri_gmac_write_IMR_SFT_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_SFT; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_SFT; - } -} - -static inline void hri_gmac_clear_IMR_SFT_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_SFT; -} - -static inline void hri_gmac_set_IMR_PDRQFR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRQFR; -} - -static inline bool hri_gmac_get_IMR_PDRQFR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PDRQFR) >> GMAC_IMR_PDRQFR_Pos; -} - -static inline void hri_gmac_write_IMR_PDRQFR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRQFR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRQFR; - } -} - -static inline void hri_gmac_clear_IMR_PDRQFR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRQFR; -} - -static inline void hri_gmac_set_IMR_PDRSFR_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRSFR; -} - -static inline bool hri_gmac_get_IMR_PDRSFR_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PDRSFR) >> GMAC_IMR_PDRSFR_Pos; -} - -static inline void hri_gmac_write_IMR_PDRSFR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRSFR; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRSFR; - } -} - -static inline void hri_gmac_clear_IMR_PDRSFR_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRSFR; -} - -static inline void hri_gmac_set_IMR_PDRQFT_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRQFT; -} - -static inline bool hri_gmac_get_IMR_PDRQFT_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PDRQFT) >> GMAC_IMR_PDRQFT_Pos; -} - -static inline void hri_gmac_write_IMR_PDRQFT_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRQFT; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRQFT; - } -} - -static inline void hri_gmac_clear_IMR_PDRQFT_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRQFT; -} - -static inline void hri_gmac_set_IMR_PDRSFT_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRSFT; -} - -static inline bool hri_gmac_get_IMR_PDRSFT_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PDRSFT) >> GMAC_IMR_PDRSFT_Pos; -} - -static inline void hri_gmac_write_IMR_PDRSFT_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRSFT; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRSFT; - } -} - -static inline void hri_gmac_clear_IMR_PDRSFT_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRSFT; -} - -static inline void hri_gmac_set_IMR_SRI_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_SRI; -} - -static inline bool hri_gmac_get_IMR_SRI_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_SRI) >> GMAC_IMR_SRI_Pos; -} - -static inline void hri_gmac_write_IMR_SRI_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_SRI; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_SRI; - } -} - -static inline void hri_gmac_clear_IMR_SRI_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_SRI; -} - -static inline void hri_gmac_set_IMR_WOL_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_WOL; -} - -static inline bool hri_gmac_get_IMR_WOL_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_WOL) >> GMAC_IMR_WOL_Pos; -} - -static inline void hri_gmac_write_IMR_WOL_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_WOL; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_WOL; - } -} - -static inline void hri_gmac_clear_IMR_WOL_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_WOL; -} - -static inline void hri_gmac_set_IMR_TSUCMP_bit(const void *const hw) -{ - ((Gmac *)hw)->IER.reg = GMAC_IMR_TSUCMP; -} - -static inline bool hri_gmac_get_IMR_TSUCMP_bit(const void *const hw) -{ - return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TSUCMP) >> GMAC_IMR_TSUCMP_Pos; -} - -static inline void hri_gmac_write_IMR_TSUCMP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TSUCMP; - } else { - ((Gmac *)hw)->IER.reg = GMAC_IMR_TSUCMP; - } -} - -static inline void hri_gmac_clear_IMR_TSUCMP_bit(const void *const hw) -{ - ((Gmac *)hw)->IDR.reg = GMAC_IMR_TSUCMP; -} - -static inline void hri_gmac_set_IMR_reg(const void *const hw, hri_gmac_imr_reg_t mask) -{ - ((Gmac *)hw)->IER.reg = mask; -} - -static inline hri_gmac_imr_reg_t hri_gmac_get_IMR_reg(const void *const hw, hri_gmac_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->IMR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_imr_reg_t hri_gmac_read_IMR_reg(const void *const hw) -{ - return ((Gmac *)hw)->IMR.reg; -} - -static inline void hri_gmac_write_IMR_reg(const void *const hw, hri_gmac_imr_reg_t data) -{ - ((Gmac *)hw)->IER.reg = data; - ((Gmac *)hw)->IDR.reg = ~data; -} - -static inline void hri_gmac_clear_IMR_reg(const void *const hw, hri_gmac_imr_reg_t mask) -{ - ((Gmac *)hw)->IDR.reg = mask; -} - -static inline bool hri_gmac_get_NSR_MDIO_bit(const void *const hw) -{ - return (((Gmac *)hw)->NSR.reg & GMAC_NSR_MDIO) >> GMAC_NSR_MDIO_Pos; -} - -static inline bool hri_gmac_get_NSR_IDLE_bit(const void *const hw) -{ - return (((Gmac *)hw)->NSR.reg & GMAC_NSR_IDLE) >> GMAC_NSR_IDLE_Pos; -} - -static inline hri_gmac_nsr_reg_t hri_gmac_get_NSR_reg(const void *const hw, hri_gmac_nsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->NSR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_nsr_reg_t hri_gmac_read_NSR_reg(const void *const hw) -{ - return ((Gmac *)hw)->NSR.reg; -} - -static inline hri_gmac_rpq_reg_t hri_gmac_get_RPQ_RPQ_bf(const void *const hw, hri_gmac_rpq_reg_t mask) -{ - return (((Gmac *)hw)->RPQ.reg & GMAC_RPQ_RPQ(mask)) >> GMAC_RPQ_RPQ_Pos; -} - -static inline hri_gmac_rpq_reg_t hri_gmac_read_RPQ_RPQ_bf(const void *const hw) -{ - return (((Gmac *)hw)->RPQ.reg & GMAC_RPQ_RPQ_Msk) >> GMAC_RPQ_RPQ_Pos; -} - -static inline hri_gmac_rpq_reg_t hri_gmac_get_RPQ_reg(const void *const hw, hri_gmac_rpq_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RPQ.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_rpq_reg_t hri_gmac_read_RPQ_reg(const void *const hw) -{ - return ((Gmac *)hw)->RPQ.reg; -} - -static inline hri_gmac_eftsh_reg_t hri_gmac_get_EFTSH_RUD_bf(const void *const hw, hri_gmac_eftsh_reg_t mask) -{ - return (((Gmac *)hw)->EFTSH.reg & GMAC_EFTSH_RUD(mask)) >> GMAC_EFTSH_RUD_Pos; -} - -static inline hri_gmac_eftsh_reg_t hri_gmac_read_EFTSH_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->EFTSH.reg & GMAC_EFTSH_RUD_Msk) >> GMAC_EFTSH_RUD_Pos; -} - -static inline hri_gmac_eftsh_reg_t hri_gmac_get_EFTSH_reg(const void *const hw, hri_gmac_eftsh_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->EFTSH.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_eftsh_reg_t hri_gmac_read_EFTSH_reg(const void *const hw) -{ - return ((Gmac *)hw)->EFTSH.reg; -} - -static inline hri_gmac_efrsh_reg_t hri_gmac_get_EFRSH_RUD_bf(const void *const hw, hri_gmac_efrsh_reg_t mask) -{ - return (((Gmac *)hw)->EFRSH.reg & GMAC_EFRSH_RUD(mask)) >> GMAC_EFRSH_RUD_Pos; -} - -static inline hri_gmac_efrsh_reg_t hri_gmac_read_EFRSH_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->EFRSH.reg & GMAC_EFRSH_RUD_Msk) >> GMAC_EFRSH_RUD_Pos; -} - -static inline hri_gmac_efrsh_reg_t hri_gmac_get_EFRSH_reg(const void *const hw, hri_gmac_efrsh_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->EFRSH.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_efrsh_reg_t hri_gmac_read_EFRSH_reg(const void *const hw) -{ - return ((Gmac *)hw)->EFRSH.reg; -} - -static inline hri_gmac_peftsh_reg_t hri_gmac_get_PEFTSH_RUD_bf(const void *const hw, hri_gmac_peftsh_reg_t mask) -{ - return (((Gmac *)hw)->PEFTSH.reg & GMAC_PEFTSH_RUD(mask)) >> GMAC_PEFTSH_RUD_Pos; -} - -static inline hri_gmac_peftsh_reg_t hri_gmac_read_PEFTSH_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->PEFTSH.reg & GMAC_PEFTSH_RUD_Msk) >> GMAC_PEFTSH_RUD_Pos; -} - -static inline hri_gmac_peftsh_reg_t hri_gmac_get_PEFTSH_reg(const void *const hw, hri_gmac_peftsh_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->PEFTSH.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_peftsh_reg_t hri_gmac_read_PEFTSH_reg(const void *const hw) -{ - return ((Gmac *)hw)->PEFTSH.reg; -} - -static inline hri_gmac_pefrsh_reg_t hri_gmac_get_PEFRSH_RUD_bf(const void *const hw, hri_gmac_pefrsh_reg_t mask) -{ - return (((Gmac *)hw)->PEFRSH.reg & GMAC_PEFRSH_RUD(mask)) >> GMAC_PEFRSH_RUD_Pos; -} - -static inline hri_gmac_pefrsh_reg_t hri_gmac_read_PEFRSH_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->PEFRSH.reg & GMAC_PEFRSH_RUD_Msk) >> GMAC_PEFRSH_RUD_Pos; -} - -static inline hri_gmac_pefrsh_reg_t hri_gmac_get_PEFRSH_reg(const void *const hw, hri_gmac_pefrsh_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->PEFRSH.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_pefrsh_reg_t hri_gmac_read_PEFRSH_reg(const void *const hw) -{ - return ((Gmac *)hw)->PEFRSH.reg; -} - -static inline hri_gmac_otlo_reg_t hri_gmac_get_OTLO_TXO_bf(const void *const hw, hri_gmac_otlo_reg_t mask) -{ - return (((Gmac *)hw)->OTLO.reg & GMAC_OTLO_TXO(mask)) >> GMAC_OTLO_TXO_Pos; -} - -static inline hri_gmac_otlo_reg_t hri_gmac_read_OTLO_TXO_bf(const void *const hw) -{ - return (((Gmac *)hw)->OTLO.reg & GMAC_OTLO_TXO_Msk) >> GMAC_OTLO_TXO_Pos; -} - -static inline hri_gmac_otlo_reg_t hri_gmac_get_OTLO_reg(const void *const hw, hri_gmac_otlo_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->OTLO.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_otlo_reg_t hri_gmac_read_OTLO_reg(const void *const hw) -{ - return ((Gmac *)hw)->OTLO.reg; -} - -static inline hri_gmac_othi_reg_t hri_gmac_get_OTHI_TXO_bf(const void *const hw, hri_gmac_othi_reg_t mask) -{ - return (((Gmac *)hw)->OTHI.reg & GMAC_OTHI_TXO(mask)) >> GMAC_OTHI_TXO_Pos; -} - -static inline hri_gmac_othi_reg_t hri_gmac_read_OTHI_TXO_bf(const void *const hw) -{ - return (((Gmac *)hw)->OTHI.reg & GMAC_OTHI_TXO_Msk) >> GMAC_OTHI_TXO_Pos; -} - -static inline hri_gmac_othi_reg_t hri_gmac_get_OTHI_reg(const void *const hw, hri_gmac_othi_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->OTHI.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_othi_reg_t hri_gmac_read_OTHI_reg(const void *const hw) -{ - return ((Gmac *)hw)->OTHI.reg; -} - -static inline hri_gmac_ft_reg_t hri_gmac_get_FT_FTX_bf(const void *const hw, hri_gmac_ft_reg_t mask) -{ - return (((Gmac *)hw)->FT.reg & GMAC_FT_FTX(mask)) >> GMAC_FT_FTX_Pos; -} - -static inline hri_gmac_ft_reg_t hri_gmac_read_FT_FTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->FT.reg & GMAC_FT_FTX_Msk) >> GMAC_FT_FTX_Pos; -} - -static inline hri_gmac_ft_reg_t hri_gmac_get_FT_reg(const void *const hw, hri_gmac_ft_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->FT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_ft_reg_t hri_gmac_read_FT_reg(const void *const hw) -{ - return ((Gmac *)hw)->FT.reg; -} - -static inline hri_gmac_bcft_reg_t hri_gmac_get_BCFT_BFTX_bf(const void *const hw, hri_gmac_bcft_reg_t mask) -{ - return (((Gmac *)hw)->BCFT.reg & GMAC_BCFT_BFTX(mask)) >> GMAC_BCFT_BFTX_Pos; -} - -static inline hri_gmac_bcft_reg_t hri_gmac_read_BCFT_BFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->BCFT.reg & GMAC_BCFT_BFTX_Msk) >> GMAC_BCFT_BFTX_Pos; -} - -static inline hri_gmac_bcft_reg_t hri_gmac_get_BCFT_reg(const void *const hw, hri_gmac_bcft_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->BCFT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_bcft_reg_t hri_gmac_read_BCFT_reg(const void *const hw) -{ - return ((Gmac *)hw)->BCFT.reg; -} - -static inline hri_gmac_mft_reg_t hri_gmac_get_MFT_MFTX_bf(const void *const hw, hri_gmac_mft_reg_t mask) -{ - return (((Gmac *)hw)->MFT.reg & GMAC_MFT_MFTX(mask)) >> GMAC_MFT_MFTX_Pos; -} - -static inline hri_gmac_mft_reg_t hri_gmac_read_MFT_MFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->MFT.reg & GMAC_MFT_MFTX_Msk) >> GMAC_MFT_MFTX_Pos; -} - -static inline hri_gmac_mft_reg_t hri_gmac_get_MFT_reg(const void *const hw, hri_gmac_mft_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->MFT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_mft_reg_t hri_gmac_read_MFT_reg(const void *const hw) -{ - return ((Gmac *)hw)->MFT.reg; -} - -static inline hri_gmac_pft_reg_t hri_gmac_get_PFT_PFTX_bf(const void *const hw, hri_gmac_pft_reg_t mask) -{ - return (((Gmac *)hw)->PFT.reg & GMAC_PFT_PFTX(mask)) >> GMAC_PFT_PFTX_Pos; -} - -static inline hri_gmac_pft_reg_t hri_gmac_read_PFT_PFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->PFT.reg & GMAC_PFT_PFTX_Msk) >> GMAC_PFT_PFTX_Pos; -} - -static inline hri_gmac_pft_reg_t hri_gmac_get_PFT_reg(const void *const hw, hri_gmac_pft_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->PFT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_pft_reg_t hri_gmac_read_PFT_reg(const void *const hw) -{ - return ((Gmac *)hw)->PFT.reg; -} - -static inline hri_gmac_bft64_reg_t hri_gmac_get_BFT64_NFTX_bf(const void *const hw, hri_gmac_bft64_reg_t mask) -{ - return (((Gmac *)hw)->BFT64.reg & GMAC_BFT64_NFTX(mask)) >> GMAC_BFT64_NFTX_Pos; -} - -static inline hri_gmac_bft64_reg_t hri_gmac_read_BFT64_NFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->BFT64.reg & GMAC_BFT64_NFTX_Msk) >> GMAC_BFT64_NFTX_Pos; -} - -static inline hri_gmac_bft64_reg_t hri_gmac_get_BFT64_reg(const void *const hw, hri_gmac_bft64_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->BFT64.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_bft64_reg_t hri_gmac_read_BFT64_reg(const void *const hw) -{ - return ((Gmac *)hw)->BFT64.reg; -} - -static inline hri_gmac_tbft127_reg_t hri_gmac_get_TBFT127_NFTX_bf(const void *const hw, hri_gmac_tbft127_reg_t mask) -{ - return (((Gmac *)hw)->TBFT127.reg & GMAC_TBFT127_NFTX(mask)) >> GMAC_TBFT127_NFTX_Pos; -} - -static inline hri_gmac_tbft127_reg_t hri_gmac_read_TBFT127_NFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFT127.reg & GMAC_TBFT127_NFTX_Msk) >> GMAC_TBFT127_NFTX_Pos; -} - -static inline hri_gmac_tbft127_reg_t hri_gmac_get_TBFT127_reg(const void *const hw, hri_gmac_tbft127_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFT127.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbft127_reg_t hri_gmac_read_TBFT127_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFT127.reg; -} - -static inline hri_gmac_tbft255_reg_t hri_gmac_get_TBFT255_NFTX_bf(const void *const hw, hri_gmac_tbft255_reg_t mask) -{ - return (((Gmac *)hw)->TBFT255.reg & GMAC_TBFT255_NFTX(mask)) >> GMAC_TBFT255_NFTX_Pos; -} - -static inline hri_gmac_tbft255_reg_t hri_gmac_read_TBFT255_NFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFT255.reg & GMAC_TBFT255_NFTX_Msk) >> GMAC_TBFT255_NFTX_Pos; -} - -static inline hri_gmac_tbft255_reg_t hri_gmac_get_TBFT255_reg(const void *const hw, hri_gmac_tbft255_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFT255.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbft255_reg_t hri_gmac_read_TBFT255_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFT255.reg; -} - -static inline hri_gmac_tbft511_reg_t hri_gmac_get_TBFT511_NFTX_bf(const void *const hw, hri_gmac_tbft511_reg_t mask) -{ - return (((Gmac *)hw)->TBFT511.reg & GMAC_TBFT511_NFTX(mask)) >> GMAC_TBFT511_NFTX_Pos; -} - -static inline hri_gmac_tbft511_reg_t hri_gmac_read_TBFT511_NFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFT511.reg & GMAC_TBFT511_NFTX_Msk) >> GMAC_TBFT511_NFTX_Pos; -} - -static inline hri_gmac_tbft511_reg_t hri_gmac_get_TBFT511_reg(const void *const hw, hri_gmac_tbft511_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFT511.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbft511_reg_t hri_gmac_read_TBFT511_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFT511.reg; -} - -static inline hri_gmac_tbft1023_reg_t hri_gmac_get_TBFT1023_NFTX_bf(const void *const hw, hri_gmac_tbft1023_reg_t mask) -{ - return (((Gmac *)hw)->TBFT1023.reg & GMAC_TBFT1023_NFTX(mask)) >> GMAC_TBFT1023_NFTX_Pos; -} - -static inline hri_gmac_tbft1023_reg_t hri_gmac_read_TBFT1023_NFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFT1023.reg & GMAC_TBFT1023_NFTX_Msk) >> GMAC_TBFT1023_NFTX_Pos; -} - -static inline hri_gmac_tbft1023_reg_t hri_gmac_get_TBFT1023_reg(const void *const hw, hri_gmac_tbft1023_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFT1023.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbft1023_reg_t hri_gmac_read_TBFT1023_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFT1023.reg; -} - -static inline hri_gmac_tbft1518_reg_t hri_gmac_get_TBFT1518_NFTX_bf(const void *const hw, hri_gmac_tbft1518_reg_t mask) -{ - return (((Gmac *)hw)->TBFT1518.reg & GMAC_TBFT1518_NFTX(mask)) >> GMAC_TBFT1518_NFTX_Pos; -} - -static inline hri_gmac_tbft1518_reg_t hri_gmac_read_TBFT1518_NFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFT1518.reg & GMAC_TBFT1518_NFTX_Msk) >> GMAC_TBFT1518_NFTX_Pos; -} - -static inline hri_gmac_tbft1518_reg_t hri_gmac_get_TBFT1518_reg(const void *const hw, hri_gmac_tbft1518_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFT1518.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbft1518_reg_t hri_gmac_read_TBFT1518_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFT1518.reg; -} - -static inline hri_gmac_gtbft1518_reg_t hri_gmac_get_GTBFT1518_NFTX_bf(const void *const hw, - hri_gmac_gtbft1518_reg_t mask) -{ - return (((Gmac *)hw)->GTBFT1518.reg & GMAC_GTBFT1518_NFTX(mask)) >> GMAC_GTBFT1518_NFTX_Pos; -} - -static inline hri_gmac_gtbft1518_reg_t hri_gmac_read_GTBFT1518_NFTX_bf(const void *const hw) -{ - return (((Gmac *)hw)->GTBFT1518.reg & GMAC_GTBFT1518_NFTX_Msk) >> GMAC_GTBFT1518_NFTX_Pos; -} - -static inline hri_gmac_gtbft1518_reg_t hri_gmac_get_GTBFT1518_reg(const void *const hw, hri_gmac_gtbft1518_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->GTBFT1518.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_gtbft1518_reg_t hri_gmac_read_GTBFT1518_reg(const void *const hw) -{ - return ((Gmac *)hw)->GTBFT1518.reg; -} - -static inline hri_gmac_tur_reg_t hri_gmac_get_TUR_TXUNR_bf(const void *const hw, hri_gmac_tur_reg_t mask) -{ - return (((Gmac *)hw)->TUR.reg & GMAC_TUR_TXUNR(mask)) >> GMAC_TUR_TXUNR_Pos; -} - -static inline hri_gmac_tur_reg_t hri_gmac_read_TUR_TXUNR_bf(const void *const hw) -{ - return (((Gmac *)hw)->TUR.reg & GMAC_TUR_TXUNR_Msk) >> GMAC_TUR_TXUNR_Pos; -} - -static inline hri_gmac_tur_reg_t hri_gmac_get_TUR_reg(const void *const hw, hri_gmac_tur_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TUR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tur_reg_t hri_gmac_read_TUR_reg(const void *const hw) -{ - return ((Gmac *)hw)->TUR.reg; -} - -static inline hri_gmac_scf_reg_t hri_gmac_get_SCF_SCOL_bf(const void *const hw, hri_gmac_scf_reg_t mask) -{ - return (((Gmac *)hw)->SCF.reg & GMAC_SCF_SCOL(mask)) >> GMAC_SCF_SCOL_Pos; -} - -static inline hri_gmac_scf_reg_t hri_gmac_read_SCF_SCOL_bf(const void *const hw) -{ - return (((Gmac *)hw)->SCF.reg & GMAC_SCF_SCOL_Msk) >> GMAC_SCF_SCOL_Pos; -} - -static inline hri_gmac_scf_reg_t hri_gmac_get_SCF_reg(const void *const hw, hri_gmac_scf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->SCF.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_scf_reg_t hri_gmac_read_SCF_reg(const void *const hw) -{ - return ((Gmac *)hw)->SCF.reg; -} - -static inline hri_gmac_mcf_reg_t hri_gmac_get_MCF_MCOL_bf(const void *const hw, hri_gmac_mcf_reg_t mask) -{ - return (((Gmac *)hw)->MCF.reg & GMAC_MCF_MCOL(mask)) >> GMAC_MCF_MCOL_Pos; -} - -static inline hri_gmac_mcf_reg_t hri_gmac_read_MCF_MCOL_bf(const void *const hw) -{ - return (((Gmac *)hw)->MCF.reg & GMAC_MCF_MCOL_Msk) >> GMAC_MCF_MCOL_Pos; -} - -static inline hri_gmac_mcf_reg_t hri_gmac_get_MCF_reg(const void *const hw, hri_gmac_mcf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->MCF.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_mcf_reg_t hri_gmac_read_MCF_reg(const void *const hw) -{ - return ((Gmac *)hw)->MCF.reg; -} - -static inline hri_gmac_ec_reg_t hri_gmac_get_EC_XCOL_bf(const void *const hw, hri_gmac_ec_reg_t mask) -{ - return (((Gmac *)hw)->EC.reg & GMAC_EC_XCOL(mask)) >> GMAC_EC_XCOL_Pos; -} - -static inline hri_gmac_ec_reg_t hri_gmac_read_EC_XCOL_bf(const void *const hw) -{ - return (((Gmac *)hw)->EC.reg & GMAC_EC_XCOL_Msk) >> GMAC_EC_XCOL_Pos; -} - -static inline hri_gmac_ec_reg_t hri_gmac_get_EC_reg(const void *const hw, hri_gmac_ec_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->EC.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_ec_reg_t hri_gmac_read_EC_reg(const void *const hw) -{ - return ((Gmac *)hw)->EC.reg; -} - -static inline hri_gmac_lc_reg_t hri_gmac_get_LC_LCOL_bf(const void *const hw, hri_gmac_lc_reg_t mask) -{ - return (((Gmac *)hw)->LC.reg & GMAC_LC_LCOL(mask)) >> GMAC_LC_LCOL_Pos; -} - -static inline hri_gmac_lc_reg_t hri_gmac_read_LC_LCOL_bf(const void *const hw) -{ - return (((Gmac *)hw)->LC.reg & GMAC_LC_LCOL_Msk) >> GMAC_LC_LCOL_Pos; -} - -static inline hri_gmac_lc_reg_t hri_gmac_get_LC_reg(const void *const hw, hri_gmac_lc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->LC.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_lc_reg_t hri_gmac_read_LC_reg(const void *const hw) -{ - return ((Gmac *)hw)->LC.reg; -} - -static inline hri_gmac_dtf_reg_t hri_gmac_get_DTF_DEFT_bf(const void *const hw, hri_gmac_dtf_reg_t mask) -{ - return (((Gmac *)hw)->DTF.reg & GMAC_DTF_DEFT(mask)) >> GMAC_DTF_DEFT_Pos; -} - -static inline hri_gmac_dtf_reg_t hri_gmac_read_DTF_DEFT_bf(const void *const hw) -{ - return (((Gmac *)hw)->DTF.reg & GMAC_DTF_DEFT_Msk) >> GMAC_DTF_DEFT_Pos; -} - -static inline hri_gmac_dtf_reg_t hri_gmac_get_DTF_reg(const void *const hw, hri_gmac_dtf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->DTF.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_dtf_reg_t hri_gmac_read_DTF_reg(const void *const hw) -{ - return ((Gmac *)hw)->DTF.reg; -} - -static inline hri_gmac_cse_reg_t hri_gmac_get_CSE_CSR_bf(const void *const hw, hri_gmac_cse_reg_t mask) -{ - return (((Gmac *)hw)->CSE.reg & GMAC_CSE_CSR(mask)) >> GMAC_CSE_CSR_Pos; -} - -static inline hri_gmac_cse_reg_t hri_gmac_read_CSE_CSR_bf(const void *const hw) -{ - return (((Gmac *)hw)->CSE.reg & GMAC_CSE_CSR_Msk) >> GMAC_CSE_CSR_Pos; -} - -static inline hri_gmac_cse_reg_t hri_gmac_get_CSE_reg(const void *const hw, hri_gmac_cse_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->CSE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_cse_reg_t hri_gmac_read_CSE_reg(const void *const hw) -{ - return ((Gmac *)hw)->CSE.reg; -} - -static inline hri_gmac_orlo_reg_t hri_gmac_get_ORLO_RXO_bf(const void *const hw, hri_gmac_orlo_reg_t mask) -{ - return (((Gmac *)hw)->ORLO.reg & GMAC_ORLO_RXO(mask)) >> GMAC_ORLO_RXO_Pos; -} - -static inline hri_gmac_orlo_reg_t hri_gmac_read_ORLO_RXO_bf(const void *const hw) -{ - return (((Gmac *)hw)->ORLO.reg & GMAC_ORLO_RXO_Msk) >> GMAC_ORLO_RXO_Pos; -} - -static inline hri_gmac_orlo_reg_t hri_gmac_get_ORLO_reg(const void *const hw, hri_gmac_orlo_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->ORLO.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_orlo_reg_t hri_gmac_read_ORLO_reg(const void *const hw) -{ - return ((Gmac *)hw)->ORLO.reg; -} - -static inline hri_gmac_orhi_reg_t hri_gmac_get_ORHI_RXO_bf(const void *const hw, hri_gmac_orhi_reg_t mask) -{ - return (((Gmac *)hw)->ORHI.reg & GMAC_ORHI_RXO(mask)) >> GMAC_ORHI_RXO_Pos; -} - -static inline hri_gmac_orhi_reg_t hri_gmac_read_ORHI_RXO_bf(const void *const hw) -{ - return (((Gmac *)hw)->ORHI.reg & GMAC_ORHI_RXO_Msk) >> GMAC_ORHI_RXO_Pos; -} - -static inline hri_gmac_orhi_reg_t hri_gmac_get_ORHI_reg(const void *const hw, hri_gmac_orhi_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->ORHI.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_orhi_reg_t hri_gmac_read_ORHI_reg(const void *const hw) -{ - return ((Gmac *)hw)->ORHI.reg; -} - -static inline hri_gmac_fr_reg_t hri_gmac_get_FR_FRX_bf(const void *const hw, hri_gmac_fr_reg_t mask) -{ - return (((Gmac *)hw)->FR.reg & GMAC_FR_FRX(mask)) >> GMAC_FR_FRX_Pos; -} - -static inline hri_gmac_fr_reg_t hri_gmac_read_FR_FRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->FR.reg & GMAC_FR_FRX_Msk) >> GMAC_FR_FRX_Pos; -} - -static inline hri_gmac_fr_reg_t hri_gmac_get_FR_reg(const void *const hw, hri_gmac_fr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->FR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_fr_reg_t hri_gmac_read_FR_reg(const void *const hw) -{ - return ((Gmac *)hw)->FR.reg; -} - -static inline hri_gmac_bcfr_reg_t hri_gmac_get_BCFR_BFRX_bf(const void *const hw, hri_gmac_bcfr_reg_t mask) -{ - return (((Gmac *)hw)->BCFR.reg & GMAC_BCFR_BFRX(mask)) >> GMAC_BCFR_BFRX_Pos; -} - -static inline hri_gmac_bcfr_reg_t hri_gmac_read_BCFR_BFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->BCFR.reg & GMAC_BCFR_BFRX_Msk) >> GMAC_BCFR_BFRX_Pos; -} - -static inline hri_gmac_bcfr_reg_t hri_gmac_get_BCFR_reg(const void *const hw, hri_gmac_bcfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->BCFR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_bcfr_reg_t hri_gmac_read_BCFR_reg(const void *const hw) -{ - return ((Gmac *)hw)->BCFR.reg; -} - -static inline hri_gmac_mfr_reg_t hri_gmac_get_MFR_MFRX_bf(const void *const hw, hri_gmac_mfr_reg_t mask) -{ - return (((Gmac *)hw)->MFR.reg & GMAC_MFR_MFRX(mask)) >> GMAC_MFR_MFRX_Pos; -} - -static inline hri_gmac_mfr_reg_t hri_gmac_read_MFR_MFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->MFR.reg & GMAC_MFR_MFRX_Msk) >> GMAC_MFR_MFRX_Pos; -} - -static inline hri_gmac_mfr_reg_t hri_gmac_get_MFR_reg(const void *const hw, hri_gmac_mfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->MFR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_mfr_reg_t hri_gmac_read_MFR_reg(const void *const hw) -{ - return ((Gmac *)hw)->MFR.reg; -} - -static inline hri_gmac_pfr_reg_t hri_gmac_get_PFR_PFRX_bf(const void *const hw, hri_gmac_pfr_reg_t mask) -{ - return (((Gmac *)hw)->PFR.reg & GMAC_PFR_PFRX(mask)) >> GMAC_PFR_PFRX_Pos; -} - -static inline hri_gmac_pfr_reg_t hri_gmac_read_PFR_PFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->PFR.reg & GMAC_PFR_PFRX_Msk) >> GMAC_PFR_PFRX_Pos; -} - -static inline hri_gmac_pfr_reg_t hri_gmac_get_PFR_reg(const void *const hw, hri_gmac_pfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->PFR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_pfr_reg_t hri_gmac_read_PFR_reg(const void *const hw) -{ - return ((Gmac *)hw)->PFR.reg; -} - -static inline hri_gmac_bfr64_reg_t hri_gmac_get_BFR64_NFRX_bf(const void *const hw, hri_gmac_bfr64_reg_t mask) -{ - return (((Gmac *)hw)->BFR64.reg & GMAC_BFR64_NFRX(mask)) >> GMAC_BFR64_NFRX_Pos; -} - -static inline hri_gmac_bfr64_reg_t hri_gmac_read_BFR64_NFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->BFR64.reg & GMAC_BFR64_NFRX_Msk) >> GMAC_BFR64_NFRX_Pos; -} - -static inline hri_gmac_bfr64_reg_t hri_gmac_get_BFR64_reg(const void *const hw, hri_gmac_bfr64_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->BFR64.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_bfr64_reg_t hri_gmac_read_BFR64_reg(const void *const hw) -{ - return ((Gmac *)hw)->BFR64.reg; -} - -static inline hri_gmac_tbfr127_reg_t hri_gmac_get_TBFR127_NFRX_bf(const void *const hw, hri_gmac_tbfr127_reg_t mask) -{ - return (((Gmac *)hw)->TBFR127.reg & GMAC_TBFR127_NFRX(mask)) >> GMAC_TBFR127_NFRX_Pos; -} - -static inline hri_gmac_tbfr127_reg_t hri_gmac_read_TBFR127_NFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFR127.reg & GMAC_TBFR127_NFRX_Msk) >> GMAC_TBFR127_NFRX_Pos; -} - -static inline hri_gmac_tbfr127_reg_t hri_gmac_get_TBFR127_reg(const void *const hw, hri_gmac_tbfr127_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFR127.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbfr127_reg_t hri_gmac_read_TBFR127_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFR127.reg; -} - -static inline hri_gmac_tbfr255_reg_t hri_gmac_get_TBFR255_NFRX_bf(const void *const hw, hri_gmac_tbfr255_reg_t mask) -{ - return (((Gmac *)hw)->TBFR255.reg & GMAC_TBFR255_NFRX(mask)) >> GMAC_TBFR255_NFRX_Pos; -} - -static inline hri_gmac_tbfr255_reg_t hri_gmac_read_TBFR255_NFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFR255.reg & GMAC_TBFR255_NFRX_Msk) >> GMAC_TBFR255_NFRX_Pos; -} - -static inline hri_gmac_tbfr255_reg_t hri_gmac_get_TBFR255_reg(const void *const hw, hri_gmac_tbfr255_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFR255.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbfr255_reg_t hri_gmac_read_TBFR255_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFR255.reg; -} - -static inline hri_gmac_tbfr511_reg_t hri_gmac_get_TBFR511_NFRX_bf(const void *const hw, hri_gmac_tbfr511_reg_t mask) -{ - return (((Gmac *)hw)->TBFR511.reg & GMAC_TBFR511_NFRX(mask)) >> GMAC_TBFR511_NFRX_Pos; -} - -static inline hri_gmac_tbfr511_reg_t hri_gmac_read_TBFR511_NFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFR511.reg & GMAC_TBFR511_NFRX_Msk) >> GMAC_TBFR511_NFRX_Pos; -} - -static inline hri_gmac_tbfr511_reg_t hri_gmac_get_TBFR511_reg(const void *const hw, hri_gmac_tbfr511_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFR511.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbfr511_reg_t hri_gmac_read_TBFR511_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFR511.reg; -} - -static inline hri_gmac_tbfr1023_reg_t hri_gmac_get_TBFR1023_NFRX_bf(const void *const hw, hri_gmac_tbfr1023_reg_t mask) -{ - return (((Gmac *)hw)->TBFR1023.reg & GMAC_TBFR1023_NFRX(mask)) >> GMAC_TBFR1023_NFRX_Pos; -} - -static inline hri_gmac_tbfr1023_reg_t hri_gmac_read_TBFR1023_NFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFR1023.reg & GMAC_TBFR1023_NFRX_Msk) >> GMAC_TBFR1023_NFRX_Pos; -} - -static inline hri_gmac_tbfr1023_reg_t hri_gmac_get_TBFR1023_reg(const void *const hw, hri_gmac_tbfr1023_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFR1023.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbfr1023_reg_t hri_gmac_read_TBFR1023_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFR1023.reg; -} - -static inline hri_gmac_tbfr1518_reg_t hri_gmac_get_TBFR1518_NFRX_bf(const void *const hw, hri_gmac_tbfr1518_reg_t mask) -{ - return (((Gmac *)hw)->TBFR1518.reg & GMAC_TBFR1518_NFRX(mask)) >> GMAC_TBFR1518_NFRX_Pos; -} - -static inline hri_gmac_tbfr1518_reg_t hri_gmac_read_TBFR1518_NFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TBFR1518.reg & GMAC_TBFR1518_NFRX_Msk) >> GMAC_TBFR1518_NFRX_Pos; -} - -static inline hri_gmac_tbfr1518_reg_t hri_gmac_get_TBFR1518_reg(const void *const hw, hri_gmac_tbfr1518_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBFR1518.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tbfr1518_reg_t hri_gmac_read_TBFR1518_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBFR1518.reg; -} - -static inline hri_gmac_tmxbfr_reg_t hri_gmac_get_TMXBFR_NFRX_bf(const void *const hw, hri_gmac_tmxbfr_reg_t mask) -{ - return (((Gmac *)hw)->TMXBFR.reg & GMAC_TMXBFR_NFRX(mask)) >> GMAC_TMXBFR_NFRX_Pos; -} - -static inline hri_gmac_tmxbfr_reg_t hri_gmac_read_TMXBFR_NFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->TMXBFR.reg & GMAC_TMXBFR_NFRX_Msk) >> GMAC_TMXBFR_NFRX_Pos; -} - -static inline hri_gmac_tmxbfr_reg_t hri_gmac_get_TMXBFR_reg(const void *const hw, hri_gmac_tmxbfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TMXBFR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tmxbfr_reg_t hri_gmac_read_TMXBFR_reg(const void *const hw) -{ - return ((Gmac *)hw)->TMXBFR.reg; -} - -static inline hri_gmac_ufr_reg_t hri_gmac_get_UFR_UFRX_bf(const void *const hw, hri_gmac_ufr_reg_t mask) -{ - return (((Gmac *)hw)->UFR.reg & GMAC_UFR_UFRX(mask)) >> GMAC_UFR_UFRX_Pos; -} - -static inline hri_gmac_ufr_reg_t hri_gmac_read_UFR_UFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->UFR.reg & GMAC_UFR_UFRX_Msk) >> GMAC_UFR_UFRX_Pos; -} - -static inline hri_gmac_ufr_reg_t hri_gmac_get_UFR_reg(const void *const hw, hri_gmac_ufr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->UFR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_ufr_reg_t hri_gmac_read_UFR_reg(const void *const hw) -{ - return ((Gmac *)hw)->UFR.reg; -} - -static inline hri_gmac_ofr_reg_t hri_gmac_get_OFR_OFRX_bf(const void *const hw, hri_gmac_ofr_reg_t mask) -{ - return (((Gmac *)hw)->OFR.reg & GMAC_OFR_OFRX(mask)) >> GMAC_OFR_OFRX_Pos; -} - -static inline hri_gmac_ofr_reg_t hri_gmac_read_OFR_OFRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->OFR.reg & GMAC_OFR_OFRX_Msk) >> GMAC_OFR_OFRX_Pos; -} - -static inline hri_gmac_ofr_reg_t hri_gmac_get_OFR_reg(const void *const hw, hri_gmac_ofr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->OFR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_ofr_reg_t hri_gmac_read_OFR_reg(const void *const hw) -{ - return ((Gmac *)hw)->OFR.reg; -} - -static inline hri_gmac_jr_reg_t hri_gmac_get_JR_JRX_bf(const void *const hw, hri_gmac_jr_reg_t mask) -{ - return (((Gmac *)hw)->JR.reg & GMAC_JR_JRX(mask)) >> GMAC_JR_JRX_Pos; -} - -static inline hri_gmac_jr_reg_t hri_gmac_read_JR_JRX_bf(const void *const hw) -{ - return (((Gmac *)hw)->JR.reg & GMAC_JR_JRX_Msk) >> GMAC_JR_JRX_Pos; -} - -static inline hri_gmac_jr_reg_t hri_gmac_get_JR_reg(const void *const hw, hri_gmac_jr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->JR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_jr_reg_t hri_gmac_read_JR_reg(const void *const hw) -{ - return ((Gmac *)hw)->JR.reg; -} - -static inline hri_gmac_fcse_reg_t hri_gmac_get_FCSE_FCKR_bf(const void *const hw, hri_gmac_fcse_reg_t mask) -{ - return (((Gmac *)hw)->FCSE.reg & GMAC_FCSE_FCKR(mask)) >> GMAC_FCSE_FCKR_Pos; -} - -static inline hri_gmac_fcse_reg_t hri_gmac_read_FCSE_FCKR_bf(const void *const hw) -{ - return (((Gmac *)hw)->FCSE.reg & GMAC_FCSE_FCKR_Msk) >> GMAC_FCSE_FCKR_Pos; -} - -static inline hri_gmac_fcse_reg_t hri_gmac_get_FCSE_reg(const void *const hw, hri_gmac_fcse_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->FCSE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_fcse_reg_t hri_gmac_read_FCSE_reg(const void *const hw) -{ - return ((Gmac *)hw)->FCSE.reg; -} - -static inline hri_gmac_lffe_reg_t hri_gmac_get_LFFE_LFER_bf(const void *const hw, hri_gmac_lffe_reg_t mask) -{ - return (((Gmac *)hw)->LFFE.reg & GMAC_LFFE_LFER(mask)) >> GMAC_LFFE_LFER_Pos; -} - -static inline hri_gmac_lffe_reg_t hri_gmac_read_LFFE_LFER_bf(const void *const hw) -{ - return (((Gmac *)hw)->LFFE.reg & GMAC_LFFE_LFER_Msk) >> GMAC_LFFE_LFER_Pos; -} - -static inline hri_gmac_lffe_reg_t hri_gmac_get_LFFE_reg(const void *const hw, hri_gmac_lffe_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->LFFE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_lffe_reg_t hri_gmac_read_LFFE_reg(const void *const hw) -{ - return ((Gmac *)hw)->LFFE.reg; -} - -static inline hri_gmac_rse_reg_t hri_gmac_get_RSE_RXSE_bf(const void *const hw, hri_gmac_rse_reg_t mask) -{ - return (((Gmac *)hw)->RSE.reg & GMAC_RSE_RXSE(mask)) >> GMAC_RSE_RXSE_Pos; -} - -static inline hri_gmac_rse_reg_t hri_gmac_read_RSE_RXSE_bf(const void *const hw) -{ - return (((Gmac *)hw)->RSE.reg & GMAC_RSE_RXSE_Msk) >> GMAC_RSE_RXSE_Pos; -} - -static inline hri_gmac_rse_reg_t hri_gmac_get_RSE_reg(const void *const hw, hri_gmac_rse_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RSE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_rse_reg_t hri_gmac_read_RSE_reg(const void *const hw) -{ - return ((Gmac *)hw)->RSE.reg; -} - -static inline hri_gmac_ae_reg_t hri_gmac_get_AE_AER_bf(const void *const hw, hri_gmac_ae_reg_t mask) -{ - return (((Gmac *)hw)->AE.reg & GMAC_AE_AER(mask)) >> GMAC_AE_AER_Pos; -} - -static inline hri_gmac_ae_reg_t hri_gmac_read_AE_AER_bf(const void *const hw) -{ - return (((Gmac *)hw)->AE.reg & GMAC_AE_AER_Msk) >> GMAC_AE_AER_Pos; -} - -static inline hri_gmac_ae_reg_t hri_gmac_get_AE_reg(const void *const hw, hri_gmac_ae_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->AE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_ae_reg_t hri_gmac_read_AE_reg(const void *const hw) -{ - return ((Gmac *)hw)->AE.reg; -} - -static inline hri_gmac_rre_reg_t hri_gmac_get_RRE_RXRER_bf(const void *const hw, hri_gmac_rre_reg_t mask) -{ - return (((Gmac *)hw)->RRE.reg & GMAC_RRE_RXRER(mask)) >> GMAC_RRE_RXRER_Pos; -} - -static inline hri_gmac_rre_reg_t hri_gmac_read_RRE_RXRER_bf(const void *const hw) -{ - return (((Gmac *)hw)->RRE.reg & GMAC_RRE_RXRER_Msk) >> GMAC_RRE_RXRER_Pos; -} - -static inline hri_gmac_rre_reg_t hri_gmac_get_RRE_reg(const void *const hw, hri_gmac_rre_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RRE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_rre_reg_t hri_gmac_read_RRE_reg(const void *const hw) -{ - return ((Gmac *)hw)->RRE.reg; -} - -static inline hri_gmac_roe_reg_t hri_gmac_get_ROE_RXOVR_bf(const void *const hw, hri_gmac_roe_reg_t mask) -{ - return (((Gmac *)hw)->ROE.reg & GMAC_ROE_RXOVR(mask)) >> GMAC_ROE_RXOVR_Pos; -} - -static inline hri_gmac_roe_reg_t hri_gmac_read_ROE_RXOVR_bf(const void *const hw) -{ - return (((Gmac *)hw)->ROE.reg & GMAC_ROE_RXOVR_Msk) >> GMAC_ROE_RXOVR_Pos; -} - -static inline hri_gmac_roe_reg_t hri_gmac_get_ROE_reg(const void *const hw, hri_gmac_roe_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->ROE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_roe_reg_t hri_gmac_read_ROE_reg(const void *const hw) -{ - return ((Gmac *)hw)->ROE.reg; -} - -static inline hri_gmac_ihce_reg_t hri_gmac_get_IHCE_HCKER_bf(const void *const hw, hri_gmac_ihce_reg_t mask) -{ - return (((Gmac *)hw)->IHCE.reg & GMAC_IHCE_HCKER(mask)) >> GMAC_IHCE_HCKER_Pos; -} - -static inline hri_gmac_ihce_reg_t hri_gmac_read_IHCE_HCKER_bf(const void *const hw) -{ - return (((Gmac *)hw)->IHCE.reg & GMAC_IHCE_HCKER_Msk) >> GMAC_IHCE_HCKER_Pos; -} - -static inline hri_gmac_ihce_reg_t hri_gmac_get_IHCE_reg(const void *const hw, hri_gmac_ihce_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->IHCE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_ihce_reg_t hri_gmac_read_IHCE_reg(const void *const hw) -{ - return ((Gmac *)hw)->IHCE.reg; -} - -static inline hri_gmac_tce_reg_t hri_gmac_get_TCE_TCKER_bf(const void *const hw, hri_gmac_tce_reg_t mask) -{ - return (((Gmac *)hw)->TCE.reg & GMAC_TCE_TCKER(mask)) >> GMAC_TCE_TCKER_Pos; -} - -static inline hri_gmac_tce_reg_t hri_gmac_read_TCE_TCKER_bf(const void *const hw) -{ - return (((Gmac *)hw)->TCE.reg & GMAC_TCE_TCKER_Msk) >> GMAC_TCE_TCKER_Pos; -} - -static inline hri_gmac_tce_reg_t hri_gmac_get_TCE_reg(const void *const hw, hri_gmac_tce_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TCE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tce_reg_t hri_gmac_read_TCE_reg(const void *const hw) -{ - return ((Gmac *)hw)->TCE.reg; -} - -static inline hri_gmac_uce_reg_t hri_gmac_get_UCE_UCKER_bf(const void *const hw, hri_gmac_uce_reg_t mask) -{ - return (((Gmac *)hw)->UCE.reg & GMAC_UCE_UCKER(mask)) >> GMAC_UCE_UCKER_Pos; -} - -static inline hri_gmac_uce_reg_t hri_gmac_read_UCE_UCKER_bf(const void *const hw) -{ - return (((Gmac *)hw)->UCE.reg & GMAC_UCE_UCKER_Msk) >> GMAC_UCE_UCKER_Pos; -} - -static inline hri_gmac_uce_reg_t hri_gmac_get_UCE_reg(const void *const hw, hri_gmac_uce_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->UCE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_uce_reg_t hri_gmac_read_UCE_reg(const void *const hw) -{ - return ((Gmac *)hw)->UCE.reg; -} - -static inline hri_gmac_eftsl_reg_t hri_gmac_get_EFTSL_RUD_bf(const void *const hw, hri_gmac_eftsl_reg_t mask) -{ - return (((Gmac *)hw)->EFTSL.reg & GMAC_EFTSL_RUD(mask)) >> GMAC_EFTSL_RUD_Pos; -} - -static inline hri_gmac_eftsl_reg_t hri_gmac_read_EFTSL_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->EFTSL.reg & GMAC_EFTSL_RUD_Msk) >> GMAC_EFTSL_RUD_Pos; -} - -static inline hri_gmac_eftsl_reg_t hri_gmac_get_EFTSL_reg(const void *const hw, hri_gmac_eftsl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->EFTSL.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_eftsl_reg_t hri_gmac_read_EFTSL_reg(const void *const hw) -{ - return ((Gmac *)hw)->EFTSL.reg; -} - -static inline hri_gmac_eftn_reg_t hri_gmac_get_EFTN_RUD_bf(const void *const hw, hri_gmac_eftn_reg_t mask) -{ - return (((Gmac *)hw)->EFTN.reg & GMAC_EFTN_RUD(mask)) >> GMAC_EFTN_RUD_Pos; -} - -static inline hri_gmac_eftn_reg_t hri_gmac_read_EFTN_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->EFTN.reg & GMAC_EFTN_RUD_Msk) >> GMAC_EFTN_RUD_Pos; -} - -static inline hri_gmac_eftn_reg_t hri_gmac_get_EFTN_reg(const void *const hw, hri_gmac_eftn_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->EFTN.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_eftn_reg_t hri_gmac_read_EFTN_reg(const void *const hw) -{ - return ((Gmac *)hw)->EFTN.reg; -} - -static inline hri_gmac_efrsl_reg_t hri_gmac_get_EFRSL_RUD_bf(const void *const hw, hri_gmac_efrsl_reg_t mask) -{ - return (((Gmac *)hw)->EFRSL.reg & GMAC_EFRSL_RUD(mask)) >> GMAC_EFRSL_RUD_Pos; -} - -static inline hri_gmac_efrsl_reg_t hri_gmac_read_EFRSL_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->EFRSL.reg & GMAC_EFRSL_RUD_Msk) >> GMAC_EFRSL_RUD_Pos; -} - -static inline hri_gmac_efrsl_reg_t hri_gmac_get_EFRSL_reg(const void *const hw, hri_gmac_efrsl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->EFRSL.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_efrsl_reg_t hri_gmac_read_EFRSL_reg(const void *const hw) -{ - return ((Gmac *)hw)->EFRSL.reg; -} - -static inline hri_gmac_efrn_reg_t hri_gmac_get_EFRN_RUD_bf(const void *const hw, hri_gmac_efrn_reg_t mask) -{ - return (((Gmac *)hw)->EFRN.reg & GMAC_EFRN_RUD(mask)) >> GMAC_EFRN_RUD_Pos; -} - -static inline hri_gmac_efrn_reg_t hri_gmac_read_EFRN_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->EFRN.reg & GMAC_EFRN_RUD_Msk) >> GMAC_EFRN_RUD_Pos; -} - -static inline hri_gmac_efrn_reg_t hri_gmac_get_EFRN_reg(const void *const hw, hri_gmac_efrn_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->EFRN.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_efrn_reg_t hri_gmac_read_EFRN_reg(const void *const hw) -{ - return ((Gmac *)hw)->EFRN.reg; -} - -static inline hri_gmac_peftsl_reg_t hri_gmac_get_PEFTSL_RUD_bf(const void *const hw, hri_gmac_peftsl_reg_t mask) -{ - return (((Gmac *)hw)->PEFTSL.reg & GMAC_PEFTSL_RUD(mask)) >> GMAC_PEFTSL_RUD_Pos; -} - -static inline hri_gmac_peftsl_reg_t hri_gmac_read_PEFTSL_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->PEFTSL.reg & GMAC_PEFTSL_RUD_Msk) >> GMAC_PEFTSL_RUD_Pos; -} - -static inline hri_gmac_peftsl_reg_t hri_gmac_get_PEFTSL_reg(const void *const hw, hri_gmac_peftsl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->PEFTSL.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_peftsl_reg_t hri_gmac_read_PEFTSL_reg(const void *const hw) -{ - return ((Gmac *)hw)->PEFTSL.reg; -} - -static inline hri_gmac_peftn_reg_t hri_gmac_get_PEFTN_RUD_bf(const void *const hw, hri_gmac_peftn_reg_t mask) -{ - return (((Gmac *)hw)->PEFTN.reg & GMAC_PEFTN_RUD(mask)) >> GMAC_PEFTN_RUD_Pos; -} - -static inline hri_gmac_peftn_reg_t hri_gmac_read_PEFTN_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->PEFTN.reg & GMAC_PEFTN_RUD_Msk) >> GMAC_PEFTN_RUD_Pos; -} - -static inline hri_gmac_peftn_reg_t hri_gmac_get_PEFTN_reg(const void *const hw, hri_gmac_peftn_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->PEFTN.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_peftn_reg_t hri_gmac_read_PEFTN_reg(const void *const hw) -{ - return ((Gmac *)hw)->PEFTN.reg; -} - -static inline hri_gmac_pefrsl_reg_t hri_gmac_get_PEFRSL_RUD_bf(const void *const hw, hri_gmac_pefrsl_reg_t mask) -{ - return (((Gmac *)hw)->PEFRSL.reg & GMAC_PEFRSL_RUD(mask)) >> GMAC_PEFRSL_RUD_Pos; -} - -static inline hri_gmac_pefrsl_reg_t hri_gmac_read_PEFRSL_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->PEFRSL.reg & GMAC_PEFRSL_RUD_Msk) >> GMAC_PEFRSL_RUD_Pos; -} - -static inline hri_gmac_pefrsl_reg_t hri_gmac_get_PEFRSL_reg(const void *const hw, hri_gmac_pefrsl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->PEFRSL.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_pefrsl_reg_t hri_gmac_read_PEFRSL_reg(const void *const hw) -{ - return ((Gmac *)hw)->PEFRSL.reg; -} - -static inline hri_gmac_pefrn_reg_t hri_gmac_get_PEFRN_RUD_bf(const void *const hw, hri_gmac_pefrn_reg_t mask) -{ - return (((Gmac *)hw)->PEFRN.reg & GMAC_PEFRN_RUD(mask)) >> GMAC_PEFRN_RUD_Pos; -} - -static inline hri_gmac_pefrn_reg_t hri_gmac_read_PEFRN_RUD_bf(const void *const hw) -{ - return (((Gmac *)hw)->PEFRN.reg & GMAC_PEFRN_RUD_Msk) >> GMAC_PEFRN_RUD_Pos; -} - -static inline hri_gmac_pefrn_reg_t hri_gmac_get_PEFRN_reg(const void *const hw, hri_gmac_pefrn_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->PEFRN.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_pefrn_reg_t hri_gmac_read_PEFRN_reg(const void *const hw) -{ - return ((Gmac *)hw)->PEFRN.reg; -} - -static inline hri_gmac_rlpitr_reg_t hri_gmac_get_RLPITR_RLPITR_bf(const void *const hw, hri_gmac_rlpitr_reg_t mask) -{ - return (((Gmac *)hw)->RLPITR.reg & GMAC_RLPITR_RLPITR(mask)) >> GMAC_RLPITR_RLPITR_Pos; -} - -static inline hri_gmac_rlpitr_reg_t hri_gmac_read_RLPITR_RLPITR_bf(const void *const hw) -{ - return (((Gmac *)hw)->RLPITR.reg & GMAC_RLPITR_RLPITR_Msk) >> GMAC_RLPITR_RLPITR_Pos; -} - -static inline hri_gmac_rlpitr_reg_t hri_gmac_get_RLPITR_reg(const void *const hw, hri_gmac_rlpitr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RLPITR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_rlpitr_reg_t hri_gmac_read_RLPITR_reg(const void *const hw) -{ - return ((Gmac *)hw)->RLPITR.reg; -} - -static inline hri_gmac_rlpiti_reg_t hri_gmac_get_RLPITI_RLPITI_bf(const void *const hw, hri_gmac_rlpiti_reg_t mask) -{ - return (((Gmac *)hw)->RLPITI.reg & GMAC_RLPITI_RLPITI(mask)) >> GMAC_RLPITI_RLPITI_Pos; -} - -static inline hri_gmac_rlpiti_reg_t hri_gmac_read_RLPITI_RLPITI_bf(const void *const hw) -{ - return (((Gmac *)hw)->RLPITI.reg & GMAC_RLPITI_RLPITI_Msk) >> GMAC_RLPITI_RLPITI_Pos; -} - -static inline hri_gmac_rlpiti_reg_t hri_gmac_get_RLPITI_reg(const void *const hw, hri_gmac_rlpiti_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RLPITI.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_rlpiti_reg_t hri_gmac_read_RLPITI_reg(const void *const hw) -{ - return ((Gmac *)hw)->RLPITI.reg; -} - -static inline hri_gmac_tlpitr_reg_t hri_gmac_get_TLPITR_TLPITR_bf(const void *const hw, hri_gmac_tlpitr_reg_t mask) -{ - return (((Gmac *)hw)->TLPITR.reg & GMAC_TLPITR_TLPITR(mask)) >> GMAC_TLPITR_TLPITR_Pos; -} - -static inline hri_gmac_tlpitr_reg_t hri_gmac_read_TLPITR_TLPITR_bf(const void *const hw) -{ - return (((Gmac *)hw)->TLPITR.reg & GMAC_TLPITR_TLPITR_Msk) >> GMAC_TLPITR_TLPITR_Pos; -} - -static inline hri_gmac_tlpitr_reg_t hri_gmac_get_TLPITR_reg(const void *const hw, hri_gmac_tlpitr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TLPITR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tlpitr_reg_t hri_gmac_read_TLPITR_reg(const void *const hw) -{ - return ((Gmac *)hw)->TLPITR.reg; -} - -static inline hri_gmac_tlpiti_reg_t hri_gmac_get_TLPITI_TLPITI_bf(const void *const hw, hri_gmac_tlpiti_reg_t mask) -{ - return (((Gmac *)hw)->TLPITI.reg & GMAC_TLPITI_TLPITI(mask)) >> GMAC_TLPITI_TLPITI_Pos; -} - -static inline hri_gmac_tlpiti_reg_t hri_gmac_read_TLPITI_TLPITI_bf(const void *const hw) -{ - return (((Gmac *)hw)->TLPITI.reg & GMAC_TLPITI_TLPITI_Msk) >> GMAC_TLPITI_TLPITI_Pos; -} - -static inline hri_gmac_tlpiti_reg_t hri_gmac_get_TLPITI_reg(const void *const hw, hri_gmac_tlpiti_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TLPITI.reg; - tmp &= mask; - return tmp; -} - -static inline hri_gmac_tlpiti_reg_t hri_gmac_read_TLPITI_reg(const void *const hw) -{ - return ((Gmac *)hw)->TLPITI.reg; -} - -static inline void hri_gmac_set_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NCR.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ncr_reg_t hri_gmac_get_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->NCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NCR.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NCR.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NCR.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ncr_reg_t hri_gmac_read_NCR_reg(const void *const hw) -{ - return ((Gmac *)hw)->NCR.reg; -} - -static inline void hri_gmac_set_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NCFGR.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ncfgr_reg_t hri_gmac_get_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->NCFGR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NCFGR.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NCFGR.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NCFGR.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ncfgr_reg_t hri_gmac_read_NCFGR_reg(const void *const hw) -{ - return ((Gmac *)hw)->NCFGR.reg; -} - -static inline void hri_gmac_set_UR_reg(const void *const hw, hri_gmac_ur_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->UR.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ur_reg_t hri_gmac_get_UR_reg(const void *const hw, hri_gmac_ur_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->UR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_UR_reg(const void *const hw, hri_gmac_ur_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->UR.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_UR_reg(const void *const hw, hri_gmac_ur_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->UR.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_UR_reg(const void *const hw, hri_gmac_ur_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->UR.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ur_reg_t hri_gmac_read_UR_reg(const void *const hw) -{ - return ((Gmac *)hw)->UR.reg; -} - -static inline void hri_gmac_set_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->DCFGR.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_dcfgr_reg_t hri_gmac_get_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->DCFGR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->DCFGR.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->DCFGR.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->DCFGR.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_dcfgr_reg_t hri_gmac_read_DCFGR_reg(const void *const hw) -{ - return ((Gmac *)hw)->DCFGR.reg; -} - -static inline void hri_gmac_set_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSR.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tsr_reg_t hri_gmac_get_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSR.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSR.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSR.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tsr_reg_t hri_gmac_read_TSR_reg(const void *const hw) -{ - return ((Gmac *)hw)->TSR.reg; -} - -static inline void hri_gmac_set_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RBQB.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_rbqb_reg_t hri_gmac_get_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RBQB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RBQB.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RBQB.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RBQB.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_rbqb_reg_t hri_gmac_read_RBQB_reg(const void *const hw) -{ - return ((Gmac *)hw)->RBQB.reg; -} - -static inline void hri_gmac_set_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TBQB.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tbqb_reg_t hri_gmac_get_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TBQB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TBQB.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TBQB.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TBQB.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tbqb_reg_t hri_gmac_read_TBQB_reg(const void *const hw) -{ - return ((Gmac *)hw)->TBQB.reg; -} - -static inline void hri_gmac_set_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RSR.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_rsr_reg_t hri_gmac_get_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RSR.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RSR.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RSR.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_rsr_reg_t hri_gmac_read_RSR_reg(const void *const hw) -{ - return ((Gmac *)hw)->RSR.reg; -} - -static inline void hri_gmac_set_ISR_reg(const void *const hw, hri_gmac_isr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->ISR.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_isr_reg_t hri_gmac_get_ISR_reg(const void *const hw, hri_gmac_isr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->ISR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_ISR_reg(const void *const hw, hri_gmac_isr_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->ISR.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_ISR_reg(const void *const hw, hri_gmac_isr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->ISR.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_ISR_reg(const void *const hw, hri_gmac_isr_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->ISR.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_isr_reg_t hri_gmac_read_ISR_reg(const void *const hw) -{ - return ((Gmac *)hw)->ISR.reg; -} - -static inline void hri_gmac_set_MAN_reg(const void *const hw, hri_gmac_man_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->MAN.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_man_reg_t hri_gmac_get_MAN_reg(const void *const hw, hri_gmac_man_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->MAN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_MAN_reg(const void *const hw, hri_gmac_man_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->MAN.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_MAN_reg(const void *const hw, hri_gmac_man_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->MAN.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_MAN_reg(const void *const hw, hri_gmac_man_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->MAN.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_man_reg_t hri_gmac_read_MAN_reg(const void *const hw) -{ - return ((Gmac *)hw)->MAN.reg; -} - -static inline void hri_gmac_set_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPQ.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tpq_reg_t hri_gmac_get_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TPQ.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPQ.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPQ.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPQ.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tpq_reg_t hri_gmac_read_TPQ_reg(const void *const hw) -{ - return ((Gmac *)hw)->TPQ.reg; -} - -static inline void hri_gmac_set_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPSF.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tpsf_reg_t hri_gmac_get_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TPSF.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPSF.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPSF.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPSF.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tpsf_reg_t hri_gmac_read_TPSF_reg(const void *const hw) -{ - return ((Gmac *)hw)->TPSF.reg; -} - -static inline void hri_gmac_set_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RPSF.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_rpsf_reg_t hri_gmac_get_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RPSF.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RPSF.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RPSF.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RPSF.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_rpsf_reg_t hri_gmac_read_RPSF_reg(const void *const hw) -{ - return ((Gmac *)hw)->RPSF.reg; -} - -static inline void hri_gmac_set_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RJFML.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_rjfml_reg_t hri_gmac_get_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->RJFML.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RJFML.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RJFML.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->RJFML.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_rjfml_reg_t hri_gmac_read_RJFML_reg(const void *const hw) -{ - return ((Gmac *)hw)->RJFML.reg; -} - -static inline void hri_gmac_set_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->HRB.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_hrb_reg_t hri_gmac_get_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->HRB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->HRB.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->HRB.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->HRB.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_hrb_reg_t hri_gmac_read_HRB_reg(const void *const hw) -{ - return ((Gmac *)hw)->HRB.reg; -} - -static inline void hri_gmac_set_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->HRT.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_hrt_reg_t hri_gmac_get_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->HRT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->HRT.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->HRT.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->HRT.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_hrt_reg_t hri_gmac_read_HRT_reg(const void *const hw) -{ - return ((Gmac *)hw)->HRT.reg; -} - -static inline void hri_gmac_set_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TIDM[index].reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tidm_reg_t hri_gmac_get_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TIDM[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TIDM[index].reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TIDM[index].reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TIDM[index].reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tidm_reg_t hri_gmac_read_TIDM_reg(const void *const hw, uint8_t index) -{ - return ((Gmac *)hw)->TIDM[index].reg; -} - -static inline void hri_gmac_set_WOL_reg(const void *const hw, hri_gmac_wol_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->WOL.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_wol_reg_t hri_gmac_get_WOL_reg(const void *const hw, hri_gmac_wol_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->WOL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_WOL_reg(const void *const hw, hri_gmac_wol_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->WOL.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_WOL_reg(const void *const hw, hri_gmac_wol_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->WOL.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_WOL_reg(const void *const hw, hri_gmac_wol_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->WOL.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_wol_reg_t hri_gmac_read_WOL_reg(const void *const hw) -{ - return ((Gmac *)hw)->WOL.reg; -} - -static inline void hri_gmac_set_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->IPGS.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ipgs_reg_t hri_gmac_get_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->IPGS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->IPGS.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->IPGS.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->IPGS.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ipgs_reg_t hri_gmac_read_IPGS_reg(const void *const hw) -{ - return ((Gmac *)hw)->IPGS.reg; -} - -static inline void hri_gmac_set_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SVLAN.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_svlan_reg_t hri_gmac_get_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->SVLAN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SVLAN.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SVLAN.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SVLAN.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_svlan_reg_t hri_gmac_read_SVLAN_reg(const void *const hw) -{ - return ((Gmac *)hw)->SVLAN.reg; -} - -static inline void hri_gmac_set_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPFCP.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tpfcp_reg_t hri_gmac_get_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TPFCP.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPFCP.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPFCP.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TPFCP.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tpfcp_reg_t hri_gmac_read_TPFCP_reg(const void *const hw) -{ - return ((Gmac *)hw)->TPFCP.reg; -} - -static inline void hri_gmac_set_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SAMB1.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_samb1_reg_t hri_gmac_get_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->SAMB1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SAMB1.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SAMB1.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SAMB1.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_samb1_reg_t hri_gmac_read_SAMB1_reg(const void *const hw) -{ - return ((Gmac *)hw)->SAMB1.reg; -} - -static inline void hri_gmac_set_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SAMT1.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_samt1_reg_t hri_gmac_get_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->SAMT1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SAMT1.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SAMT1.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SAMT1.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_samt1_reg_t hri_gmac_read_SAMT1_reg(const void *const hw) -{ - return ((Gmac *)hw)->SAMT1.reg; -} - -static inline void hri_gmac_set_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NSC.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_nsc_reg_t hri_gmac_get_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->NSC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NSC.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NSC.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->NSC.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_nsc_reg_t hri_gmac_read_NSC_reg(const void *const hw) -{ - return ((Gmac *)hw)->NSC.reg; -} - -static inline void hri_gmac_set_SCL_reg(const void *const hw, hri_gmac_scl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SCL.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_scl_reg_t hri_gmac_get_SCL_reg(const void *const hw, hri_gmac_scl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->SCL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_SCL_reg(const void *const hw, hri_gmac_scl_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SCL.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_SCL_reg(const void *const hw, hri_gmac_scl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SCL.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_SCL_reg(const void *const hw, hri_gmac_scl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SCL.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_scl_reg_t hri_gmac_read_SCL_reg(const void *const hw) -{ - return ((Gmac *)hw)->SCL.reg; -} - -static inline void hri_gmac_set_SCH_reg(const void *const hw, hri_gmac_sch_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SCH.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sch_reg_t hri_gmac_get_SCH_reg(const void *const hw, hri_gmac_sch_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->SCH.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_SCH_reg(const void *const hw, hri_gmac_sch_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SCH.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_SCH_reg(const void *const hw, hri_gmac_sch_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SCH.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_SCH_reg(const void *const hw, hri_gmac_sch_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->SCH.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_sch_reg_t hri_gmac_read_SCH_reg(const void *const hw) -{ - return ((Gmac *)hw)->SCH.reg; -} - -static inline void hri_gmac_set_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TISUBN.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tisubn_reg_t hri_gmac_get_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TISUBN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TISUBN.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TISUBN.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TISUBN.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tisubn_reg_t hri_gmac_read_TISUBN_reg(const void *const hw) -{ - return ((Gmac *)hw)->TISUBN.reg; -} - -static inline void hri_gmac_set_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSH.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tsh_reg_t hri_gmac_get_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TSH.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSH.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSH.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSH.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tsh_reg_t hri_gmac_read_TSH_reg(const void *const hw) -{ - return ((Gmac *)hw)->TSH.reg; -} - -static inline void hri_gmac_set_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSSSL.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tsssl_reg_t hri_gmac_get_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TSSSL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSSSL.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSSSL.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSSSL.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tsssl_reg_t hri_gmac_read_TSSSL_reg(const void *const hw) -{ - return ((Gmac *)hw)->TSSSL.reg; -} - -static inline void hri_gmac_set_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSSN.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tssn_reg_t hri_gmac_get_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TSSN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSSN.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSSN.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSSN.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tssn_reg_t hri_gmac_read_TSSN_reg(const void *const hw) -{ - return ((Gmac *)hw)->TSSN.reg; -} - -static inline void hri_gmac_set_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSL.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tsl_reg_t hri_gmac_get_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TSL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSL.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSL.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TSL.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tsl_reg_t hri_gmac_read_TSL_reg(const void *const hw) -{ - return ((Gmac *)hw)->TSL.reg; -} - -static inline void hri_gmac_set_TN_reg(const void *const hw, hri_gmac_tn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TN.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tn_reg_t hri_gmac_get_TN_reg(const void *const hw, hri_gmac_tn_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TN.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TN_reg(const void *const hw, hri_gmac_tn_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TN.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TN_reg(const void *const hw, hri_gmac_tn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TN.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TN_reg(const void *const hw, hri_gmac_tn_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TN.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_tn_reg_t hri_gmac_read_TN_reg(const void *const hw) -{ - return ((Gmac *)hw)->TN.reg; -} - -static inline void hri_gmac_set_TI_reg(const void *const hw, hri_gmac_ti_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TI.reg |= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ti_reg_t hri_gmac_get_TI_reg(const void *const hw, hri_gmac_ti_reg_t mask) -{ - uint32_t tmp; - tmp = ((Gmac *)hw)->TI.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_gmac_write_TI_reg(const void *const hw, hri_gmac_ti_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TI.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_clear_TI_reg(const void *const hw, hri_gmac_ti_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TI.reg &= ~mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_gmac_toggle_TI_reg(const void *const hw, hri_gmac_ti_reg_t mask) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TI.reg ^= mask; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_gmac_ti_reg_t hri_gmac_read_TI_reg(const void *const hw) -{ - return ((Gmac *)hw)->TI.reg; -} - -static inline void hri_gmac_write_TA_reg(const void *const hw, hri_gmac_ta_reg_t data) -{ - GMAC_CRITICAL_SECTION_ENTER(); - ((Gmac *)hw)->TA.reg = data; - GMAC_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_GMAC_E54_H_INCLUDED */ -#endif /* _SAME54_GMAC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_hmatrixb_e54.h b/software/firmware/oracle_same54n19a/hri/hri_hmatrixb_e54.h deleted file mode 100644 index 2ef0684..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_hmatrixb_e54.h +++ /dev/null @@ -1,237 +0,0 @@ -/** - * \file - * - * \brief SAM HMATRIXB - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_HMATRIXB_COMPONENT_ -#ifndef _HRI_HMATRIXB_E54_H_INCLUDED_ -#define _HRI_HMATRIXB_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_HMATRIXB_CRITICAL_SECTIONS) -#define HMATRIXB_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define HMATRIXB_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define HMATRIXB_CRITICAL_SECTION_ENTER() -#define HMATRIXB_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_hmatrixb_pras_reg_t; -typedef uint32_t hri_hmatrixb_prbs_reg_t; -typedef uint32_t hri_hmatrixbprs_pras_reg_t; -typedef uint32_t hri_hmatrixbprs_prbs_reg_t; - -static inline void hri_hmatrixbprs_set_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((HmatrixbPrs *)hw)->PRAS.reg |= mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_hmatrixb_pras_reg_t hri_hmatrixbprs_get_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t mask) -{ - uint32_t tmp; - tmp = ((HmatrixbPrs *)hw)->PRAS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_hmatrixbprs_write_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t data) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((HmatrixbPrs *)hw)->PRAS.reg = data; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_hmatrixbprs_clear_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((HmatrixbPrs *)hw)->PRAS.reg &= ~mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_hmatrixbprs_toggle_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((HmatrixbPrs *)hw)->PRAS.reg ^= mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_hmatrixb_pras_reg_t hri_hmatrixbprs_read_PRAS_reg(const void *const hw) -{ - return ((HmatrixbPrs *)hw)->PRAS.reg; -} - -static inline void hri_hmatrixbprs_set_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((HmatrixbPrs *)hw)->PRBS.reg |= mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_hmatrixb_prbs_reg_t hri_hmatrixbprs_get_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t mask) -{ - uint32_t tmp; - tmp = ((HmatrixbPrs *)hw)->PRBS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_hmatrixbprs_write_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t data) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((HmatrixbPrs *)hw)->PRBS.reg = data; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_hmatrixbprs_clear_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((HmatrixbPrs *)hw)->PRBS.reg &= ~mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_hmatrixbprs_toggle_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((HmatrixbPrs *)hw)->PRBS.reg ^= mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_hmatrixb_prbs_reg_t hri_hmatrixbprs_read_PRBS_reg(const void *const hw) -{ - return ((HmatrixbPrs *)hw)->PRBS.reg; -} - -static inline void hri_hmatrixb_set_PRAS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_pras_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg |= mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_hmatrixb_pras_reg_t hri_hmatrixb_get_PRAS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_pras_reg_t mask) -{ - uint32_t tmp; - tmp = ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_hmatrixb_write_PRAS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_pras_reg_t data) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg = data; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_hmatrixb_clear_PRAS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_pras_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg &= ~mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_hmatrixb_toggle_PRAS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_pras_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg ^= mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_hmatrixb_pras_reg_t hri_hmatrixb_read_PRAS_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg; -} - -static inline void hri_hmatrixb_set_PRBS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_prbs_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg |= mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_hmatrixb_prbs_reg_t hri_hmatrixb_get_PRBS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_prbs_reg_t mask) -{ - uint32_t tmp; - tmp = ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_hmatrixb_write_PRBS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_prbs_reg_t data) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg = data; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_hmatrixb_clear_PRBS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_prbs_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg &= ~mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_hmatrixb_toggle_PRBS_reg(const void *const hw, uint8_t submodule_index, - hri_hmatrixb_prbs_reg_t mask) -{ - HMATRIXB_CRITICAL_SECTION_ENTER(); - ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg ^= mask; - HMATRIXB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_hmatrixb_prbs_reg_t hri_hmatrixb_read_PRBS_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_HMATRIXB_E54_H_INCLUDED */ -#endif /* _SAME54_HMATRIXB_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_i2s_e54.h b/software/firmware/oracle_same54n19a/hri/hri_i2s_e54.h deleted file mode 100644 index 42b88dc..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_i2s_e54.h +++ /dev/null @@ -1,3032 +0,0 @@ -/** - * \file - * - * \brief SAM I2S - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_I2S_COMPONENT_ -#ifndef _HRI_I2S_E54_H_INCLUDED_ -#define _HRI_I2S_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_I2S_CRITICAL_SECTIONS) -#define I2S_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define I2S_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define I2S_CRITICAL_SECTION_ENTER() -#define I2S_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_i2s_intenset_reg_t; -typedef uint16_t hri_i2s_intflag_reg_t; -typedef uint16_t hri_i2s_syncbusy_reg_t; -typedef uint32_t hri_i2s_clkctrl_reg_t; -typedef uint32_t hri_i2s_rxctrl_reg_t; -typedef uint32_t hri_i2s_rxdata_reg_t; -typedef uint32_t hri_i2s_txctrl_reg_t; -typedef uint32_t hri_i2s_txdata_reg_t; -typedef uint8_t hri_i2s_ctrla_reg_t; - -static inline void hri_i2s_wait_for_sync(const void *const hw, hri_i2s_syncbusy_reg_t reg) -{ - while (((I2s *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_i2s_is_syncing(const void *const hw, hri_i2s_syncbusy_reg_t reg) -{ - return ((I2s *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_i2s_get_INTFLAG_RXRDY0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXRDY0) >> I2S_INTFLAG_RXRDY0_Pos; -} - -static inline void hri_i2s_clear_INTFLAG_RXRDY0_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXRDY0; -} - -static inline bool hri_i2s_get_INTFLAG_RXRDY1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXRDY1) >> I2S_INTFLAG_RXRDY1_Pos; -} - -static inline void hri_i2s_clear_INTFLAG_RXRDY1_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXRDY1; -} - -static inline bool hri_i2s_get_INTFLAG_RXOR0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXOR0) >> I2S_INTFLAG_RXOR0_Pos; -} - -static inline void hri_i2s_clear_INTFLAG_RXOR0_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXOR0; -} - -static inline bool hri_i2s_get_INTFLAG_RXOR1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXOR1) >> I2S_INTFLAG_RXOR1_Pos; -} - -static inline void hri_i2s_clear_INTFLAG_RXOR1_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXOR1; -} - -static inline bool hri_i2s_get_INTFLAG_TXRDY0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXRDY0) >> I2S_INTFLAG_TXRDY0_Pos; -} - -static inline void hri_i2s_clear_INTFLAG_TXRDY0_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXRDY0; -} - -static inline bool hri_i2s_get_INTFLAG_TXRDY1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXRDY1) >> I2S_INTFLAG_TXRDY1_Pos; -} - -static inline void hri_i2s_clear_INTFLAG_TXRDY1_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXRDY1; -} - -static inline bool hri_i2s_get_INTFLAG_TXUR0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXUR0) >> I2S_INTFLAG_TXUR0_Pos; -} - -static inline void hri_i2s_clear_INTFLAG_TXUR0_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXUR0; -} - -static inline bool hri_i2s_get_INTFLAG_TXUR1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXUR1) >> I2S_INTFLAG_TXUR1_Pos; -} - -static inline void hri_i2s_clear_INTFLAG_TXUR1_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXUR1; -} - -static inline bool hri_i2s_get_interrupt_RXRDY0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXRDY0) >> I2S_INTFLAG_RXRDY0_Pos; -} - -static inline void hri_i2s_clear_interrupt_RXRDY0_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXRDY0; -} - -static inline bool hri_i2s_get_interrupt_RXRDY1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXRDY1) >> I2S_INTFLAG_RXRDY1_Pos; -} - -static inline void hri_i2s_clear_interrupt_RXRDY1_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXRDY1; -} - -static inline bool hri_i2s_get_interrupt_RXOR0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXOR0) >> I2S_INTFLAG_RXOR0_Pos; -} - -static inline void hri_i2s_clear_interrupt_RXOR0_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXOR0; -} - -static inline bool hri_i2s_get_interrupt_RXOR1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXOR1) >> I2S_INTFLAG_RXOR1_Pos; -} - -static inline void hri_i2s_clear_interrupt_RXOR1_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXOR1; -} - -static inline bool hri_i2s_get_interrupt_TXRDY0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXRDY0) >> I2S_INTFLAG_TXRDY0_Pos; -} - -static inline void hri_i2s_clear_interrupt_TXRDY0_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXRDY0; -} - -static inline bool hri_i2s_get_interrupt_TXRDY1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXRDY1) >> I2S_INTFLAG_TXRDY1_Pos; -} - -static inline void hri_i2s_clear_interrupt_TXRDY1_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXRDY1; -} - -static inline bool hri_i2s_get_interrupt_TXUR0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXUR0) >> I2S_INTFLAG_TXUR0_Pos; -} - -static inline void hri_i2s_clear_interrupt_TXUR0_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXUR0; -} - -static inline bool hri_i2s_get_interrupt_TXUR1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXUR1) >> I2S_INTFLAG_TXUR1_Pos; -} - -static inline void hri_i2s_clear_interrupt_TXUR1_bit(const void *const hw) -{ - ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXUR1; -} - -static inline hri_i2s_intflag_reg_t hri_i2s_get_INTFLAG_reg(const void *const hw, hri_i2s_intflag_reg_t mask) -{ - uint16_t tmp; - tmp = ((I2s *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_i2s_intflag_reg_t hri_i2s_read_INTFLAG_reg(const void *const hw) -{ - return ((I2s *)hw)->INTFLAG.reg; -} - -static inline void hri_i2s_clear_INTFLAG_reg(const void *const hw, hri_i2s_intflag_reg_t mask) -{ - ((I2s *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_i2s_set_INTEN_RXRDY0_bit(const void *const hw) -{ - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXRDY0; -} - -static inline bool hri_i2s_get_INTEN_RXRDY0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_RXRDY0) >> I2S_INTENSET_RXRDY0_Pos; -} - -static inline void hri_i2s_write_INTEN_RXRDY0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXRDY0; - } else { - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXRDY0; - } -} - -static inline void hri_i2s_clear_INTEN_RXRDY0_bit(const void *const hw) -{ - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXRDY0; -} - -static inline void hri_i2s_set_INTEN_RXRDY1_bit(const void *const hw) -{ - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXRDY1; -} - -static inline bool hri_i2s_get_INTEN_RXRDY1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_RXRDY1) >> I2S_INTENSET_RXRDY1_Pos; -} - -static inline void hri_i2s_write_INTEN_RXRDY1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXRDY1; - } else { - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXRDY1; - } -} - -static inline void hri_i2s_clear_INTEN_RXRDY1_bit(const void *const hw) -{ - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXRDY1; -} - -static inline void hri_i2s_set_INTEN_RXOR0_bit(const void *const hw) -{ - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXOR0; -} - -static inline bool hri_i2s_get_INTEN_RXOR0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_RXOR0) >> I2S_INTENSET_RXOR0_Pos; -} - -static inline void hri_i2s_write_INTEN_RXOR0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXOR0; - } else { - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXOR0; - } -} - -static inline void hri_i2s_clear_INTEN_RXOR0_bit(const void *const hw) -{ - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXOR0; -} - -static inline void hri_i2s_set_INTEN_RXOR1_bit(const void *const hw) -{ - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXOR1; -} - -static inline bool hri_i2s_get_INTEN_RXOR1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_RXOR1) >> I2S_INTENSET_RXOR1_Pos; -} - -static inline void hri_i2s_write_INTEN_RXOR1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXOR1; - } else { - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXOR1; - } -} - -static inline void hri_i2s_clear_INTEN_RXOR1_bit(const void *const hw) -{ - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXOR1; -} - -static inline void hri_i2s_set_INTEN_TXRDY0_bit(const void *const hw) -{ - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXRDY0; -} - -static inline bool hri_i2s_get_INTEN_TXRDY0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_TXRDY0) >> I2S_INTENSET_TXRDY0_Pos; -} - -static inline void hri_i2s_write_INTEN_TXRDY0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXRDY0; - } else { - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXRDY0; - } -} - -static inline void hri_i2s_clear_INTEN_TXRDY0_bit(const void *const hw) -{ - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXRDY0; -} - -static inline void hri_i2s_set_INTEN_TXRDY1_bit(const void *const hw) -{ - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXRDY1; -} - -static inline bool hri_i2s_get_INTEN_TXRDY1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_TXRDY1) >> I2S_INTENSET_TXRDY1_Pos; -} - -static inline void hri_i2s_write_INTEN_TXRDY1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXRDY1; - } else { - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXRDY1; - } -} - -static inline void hri_i2s_clear_INTEN_TXRDY1_bit(const void *const hw) -{ - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXRDY1; -} - -static inline void hri_i2s_set_INTEN_TXUR0_bit(const void *const hw) -{ - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXUR0; -} - -static inline bool hri_i2s_get_INTEN_TXUR0_bit(const void *const hw) -{ - return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_TXUR0) >> I2S_INTENSET_TXUR0_Pos; -} - -static inline void hri_i2s_write_INTEN_TXUR0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXUR0; - } else { - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXUR0; - } -} - -static inline void hri_i2s_clear_INTEN_TXUR0_bit(const void *const hw) -{ - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXUR0; -} - -static inline void hri_i2s_set_INTEN_TXUR1_bit(const void *const hw) -{ - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXUR1; -} - -static inline bool hri_i2s_get_INTEN_TXUR1_bit(const void *const hw) -{ - return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_TXUR1) >> I2S_INTENSET_TXUR1_Pos; -} - -static inline void hri_i2s_write_INTEN_TXUR1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXUR1; - } else { - ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXUR1; - } -} - -static inline void hri_i2s_clear_INTEN_TXUR1_bit(const void *const hw) -{ - ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXUR1; -} - -static inline void hri_i2s_set_INTEN_reg(const void *const hw, hri_i2s_intenset_reg_t mask) -{ - ((I2s *)hw)->INTENSET.reg = mask; -} - -static inline hri_i2s_intenset_reg_t hri_i2s_get_INTEN_reg(const void *const hw, hri_i2s_intenset_reg_t mask) -{ - uint16_t tmp; - tmp = ((I2s *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_i2s_intenset_reg_t hri_i2s_read_INTEN_reg(const void *const hw) -{ - return ((I2s *)hw)->INTENSET.reg; -} - -static inline void hri_i2s_write_INTEN_reg(const void *const hw, hri_i2s_intenset_reg_t data) -{ - ((I2s *)hw)->INTENSET.reg = data; - ((I2s *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_i2s_clear_INTEN_reg(const void *const hw, hri_i2s_intenset_reg_t mask) -{ - ((I2s *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_i2s_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_SWRST) >> I2S_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_i2s_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_ENABLE) >> I2S_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_i2s_get_SYNCBUSY_CKEN0_bit(const void *const hw) -{ - return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_CKEN0) >> I2S_SYNCBUSY_CKEN0_Pos; -} - -static inline bool hri_i2s_get_SYNCBUSY_CKEN1_bit(const void *const hw) -{ - return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_CKEN1) >> I2S_SYNCBUSY_CKEN1_Pos; -} - -static inline bool hri_i2s_get_SYNCBUSY_TXEN_bit(const void *const hw) -{ - return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_TXEN) >> I2S_SYNCBUSY_TXEN_Pos; -} - -static inline bool hri_i2s_get_SYNCBUSY_RXEN_bit(const void *const hw) -{ - return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_RXEN) >> I2S_SYNCBUSY_RXEN_Pos; -} - -static inline bool hri_i2s_get_SYNCBUSY_TXDATA_bit(const void *const hw) -{ - return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_TXDATA) >> I2S_SYNCBUSY_TXDATA_Pos; -} - -static inline bool hri_i2s_get_SYNCBUSY_RXDATA_bit(const void *const hw) -{ - return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_RXDATA) >> I2S_SYNCBUSY_RXDATA_Pos; -} - -static inline hri_i2s_syncbusy_reg_t hri_i2s_get_SYNCBUSY_reg(const void *const hw, hri_i2s_syncbusy_reg_t mask) -{ - uint16_t tmp; - tmp = ((I2s *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_i2s_syncbusy_reg_t hri_i2s_read_SYNCBUSY_reg(const void *const hw) -{ - return ((I2s *)hw)->SYNCBUSY.reg; -} - -static inline hri_i2s_rxdata_reg_t hri_i2s_get_RXDATA_DATA_bf(const void *const hw, hri_i2s_rxdata_reg_t mask) -{ - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - return (((I2s *)hw)->RXDATA.reg & I2S_RXDATA_DATA(mask)) >> I2S_RXDATA_DATA_Pos; -} - -static inline hri_i2s_rxdata_reg_t hri_i2s_read_RXDATA_DATA_bf(const void *const hw) -{ - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - return (((I2s *)hw)->RXDATA.reg & I2S_RXDATA_DATA_Msk) >> I2S_RXDATA_DATA_Pos; -} - -static inline hri_i2s_rxdata_reg_t hri_i2s_get_RXDATA_reg(const void *const hw, hri_i2s_rxdata_reg_t mask) -{ - uint32_t tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - tmp = ((I2s *)hw)->RXDATA.reg; - tmp &= mask; - return tmp; -} - -static inline hri_i2s_rxdata_reg_t hri_i2s_read_RXDATA_reg(const void *const hw) -{ - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - return ((I2s *)hw)->RXDATA.reg; -} - -static inline void hri_i2s_set_CTRLA_SWRST_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_SWRST; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp = (tmp & I2S_CTRLA_SWRST) >> I2S_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_set_CTRLA_ENABLE_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_ENABLE; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp = (tmp & I2S_CTRLA_ENABLE) >> I2S_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp &= ~I2S_CTRLA_ENABLE; - tmp |= value << I2S_CTRLA_ENABLE_Pos; - ((I2s *)hw)->CTRLA.reg = tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_ENABLE; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_ENABLE; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CTRLA_CKEN0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_CKEN0; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CTRLA_CKEN0_bit(const void *const hw) -{ - uint8_t tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp = (tmp & I2S_CTRLA_CKEN0) >> I2S_CTRLA_CKEN0_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CTRLA_CKEN0_bit(const void *const hw, bool value) -{ - uint8_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp &= ~I2S_CTRLA_CKEN0; - tmp |= value << I2S_CTRLA_CKEN0_Pos; - ((I2s *)hw)->CTRLA.reg = tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CTRLA_CKEN0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_CKEN0; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CTRLA_CKEN0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_CKEN0; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CTRLA_CKEN1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_CKEN1; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CTRLA_CKEN1_bit(const void *const hw) -{ - uint8_t tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp = (tmp & I2S_CTRLA_CKEN1) >> I2S_CTRLA_CKEN1_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CTRLA_CKEN1_bit(const void *const hw, bool value) -{ - uint8_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp &= ~I2S_CTRLA_CKEN1; - tmp |= value << I2S_CTRLA_CKEN1_Pos; - ((I2s *)hw)->CTRLA.reg = tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CTRLA_CKEN1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_CKEN1; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CTRLA_CKEN1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_CKEN1; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CTRLA_TXEN_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_TXEN; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CTRLA_TXEN_bit(const void *const hw) -{ - uint8_t tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp = (tmp & I2S_CTRLA_TXEN) >> I2S_CTRLA_TXEN_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CTRLA_TXEN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp &= ~I2S_CTRLA_TXEN; - tmp |= value << I2S_CTRLA_TXEN_Pos; - ((I2s *)hw)->CTRLA.reg = tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CTRLA_TXEN_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_TXEN; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CTRLA_TXEN_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_TXEN; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CTRLA_RXEN_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_RXEN; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CTRLA_RXEN_bit(const void *const hw) -{ - uint8_t tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp = (tmp & I2S_CTRLA_RXEN) >> I2S_CTRLA_RXEN_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CTRLA_RXEN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp &= ~I2S_CTRLA_RXEN; - tmp |= value << I2S_CTRLA_RXEN_Pos; - ((I2s *)hw)->CTRLA.reg = tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CTRLA_RXEN_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_RXEN; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CTRLA_RXEN_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_RXEN; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg |= mask; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_ctrla_reg_t hri_i2s_get_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t mask) -{ - uint8_t tmp; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - tmp = ((I2s *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_i2s_write_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t data) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg = data; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg &= ~mask; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CTRLA.reg ^= mask; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_ctrla_reg_t hri_i2s_read_CTRLA_reg(const void *const hw) -{ - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN); - return ((I2s *)hw)->CTRLA.reg; -} - -static inline void hri_i2s_set_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_BITDELAY; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_BITDELAY) >> I2S_CLKCTRL_BITDELAY_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_BITDELAY; - tmp |= value << I2S_CLKCTRL_BITDELAY_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_BITDELAY; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_BITDELAY; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_FSSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_FSSEL) >> I2S_CLKCTRL_FSSEL_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_FSSEL; - tmp |= value << I2S_CLKCTRL_FSSEL_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_FSSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_FSSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_FSINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_FSINV) >> I2S_CLKCTRL_FSINV_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_FSINV; - tmp |= value << I2S_CLKCTRL_FSINV_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_FSINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_FSINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_FSOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_FSOUTINV) >> I2S_CLKCTRL_FSOUTINV_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_FSOUTINV; - tmp |= value << I2S_CLKCTRL_FSOUTINV_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_FSOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_FSOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_SCKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_SCKSEL) >> I2S_CLKCTRL_SCKSEL_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_SCKSEL; - tmp |= value << I2S_CLKCTRL_SCKSEL_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_SCKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_SCKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_SCKOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_SCKOUTINV) >> I2S_CLKCTRL_SCKOUTINV_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_SCKOUTINV; - tmp |= value << I2S_CLKCTRL_SCKOUTINV_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_SCKOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_SCKOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_MCKSEL) >> I2S_CLKCTRL_MCKSEL_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_MCKSEL; - tmp |= value << I2S_CLKCTRL_MCKSEL_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKEN; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_MCKEN) >> I2S_CLKCTRL_MCKEN_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_MCKEN; - tmp |= value << I2S_CLKCTRL_MCKEN_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKEN; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKEN; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_MCKOUTINV) >> I2S_CLKCTRL_MCKOUTINV_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_MCKOUTINV; - tmp |= value << I2S_CLKCTRL_MCKOUTINV_Pos; - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKOUTINV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_SLOTSIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, - hri_i2s_clkctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_SLOTSIZE(mask)) >> I2S_CLKCTRL_SLOTSIZE_Pos; - return tmp; -} - -static inline void hri_i2s_write_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_SLOTSIZE_Msk; - tmp |= I2S_CLKCTRL_SLOTSIZE(data); - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_SLOTSIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_SLOTSIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_SLOTSIZE_Msk) >> I2S_CLKCTRL_SLOTSIZE_Pos; - return tmp; -} - -static inline void hri_i2s_set_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_NBSLOTS(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, - hri_i2s_clkctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_NBSLOTS(mask)) >> I2S_CLKCTRL_NBSLOTS_Pos; - return tmp; -} - -static inline void hri_i2s_write_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_NBSLOTS_Msk; - tmp |= I2S_CLKCTRL_NBSLOTS(data); - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_NBSLOTS(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_NBSLOTS(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_NBSLOTS_Msk) >> I2S_CLKCTRL_NBSLOTS_Pos; - return tmp; -} - -static inline void hri_i2s_set_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_FSWIDTH(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, - hri_i2s_clkctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_FSWIDTH(mask)) >> I2S_CLKCTRL_FSWIDTH_Pos; - return tmp; -} - -static inline void hri_i2s_write_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_FSWIDTH_Msk; - tmp |= I2S_CLKCTRL_FSWIDTH(data); - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_FSWIDTH(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_FSWIDTH(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_FSWIDTH_Msk) >> I2S_CLKCTRL_FSWIDTH_Pos; - return tmp; -} - -static inline void hri_i2s_set_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKDIV(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, - hri_i2s_clkctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_MCKDIV(mask)) >> I2S_CLKCTRL_MCKDIV_Pos; - return tmp; -} - -static inline void hri_i2s_write_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_MCKDIV_Msk; - tmp |= I2S_CLKCTRL_MCKDIV(data); - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKDIV(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKDIV(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_MCKDIV_Msk) >> I2S_CLKCTRL_MCKDIV_Pos; - return tmp; -} - -static inline void hri_i2s_set_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKOUTDIV(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, - hri_i2s_clkctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_MCKOUTDIV(mask)) >> I2S_CLKCTRL_MCKOUTDIV_Pos; - return tmp; -} - -static inline void hri_i2s_write_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= ~I2S_CLKCTRL_MCKOUTDIV_Msk; - tmp |= I2S_CLKCTRL_MCKOUTDIV(data); - ((I2s *)hw)->CLKCTRL[index].reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKOUTDIV(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKOUTDIV(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp = (tmp & I2S_CLKCTRL_MCKOUTDIV_Msk) >> I2S_CLKCTRL_MCKOUTDIV_Pos; - return tmp; -} - -static inline void hri_i2s_set_CLKCTRL_reg(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg |= mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_reg(const void *const hw, uint8_t index, - hri_i2s_clkctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->CLKCTRL[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_i2s_write_CLKCTRL_reg(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg = data; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_CLKCTRL_reg(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg &= ~mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_CLKCTRL_reg(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->CLKCTRL[index].reg ^= mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_reg(const void *const hw, uint8_t index) -{ - return ((I2s *)hw)->CLKCTRL[index].reg; -} - -static inline void hri_i2s_set_TXCTRL_TXSAME_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_TXSAME; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_TXSAME_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_TXSAME) >> I2S_TXCTRL_TXSAME_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_TXSAME_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_TXSAME; - tmp |= value << I2S_TXCTRL_TXSAME_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_TXSAME_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_TXSAME; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_TXSAME_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_TXSAME; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTADJ_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTADJ) >> I2S_TXCTRL_SLOTADJ_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTADJ_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTADJ; - tmp |= value << I2S_TXCTRL_SLOTADJ_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_WORDADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_WORDADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_WORDADJ_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_WORDADJ) >> I2S_TXCTRL_WORDADJ_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_WORDADJ_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_WORDADJ; - tmp |= value << I2S_TXCTRL_WORDADJ_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_WORDADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_WORDADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_WORDADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_WORDADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_BITREV_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_BITREV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_BITREV_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_BITREV) >> I2S_TXCTRL_BITREV_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_BITREV_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_BITREV; - tmp |= value << I2S_TXCTRL_BITREV_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_BITREV_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_BITREV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_BITREV_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_BITREV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTDIS0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS0; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTDIS0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTDIS0) >> I2S_TXCTRL_SLOTDIS0_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTDIS0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTDIS0; - tmp |= value << I2S_TXCTRL_SLOTDIS0_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTDIS0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS0; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTDIS0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS0; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTDIS1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS1; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTDIS1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTDIS1) >> I2S_TXCTRL_SLOTDIS1_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTDIS1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTDIS1; - tmp |= value << I2S_TXCTRL_SLOTDIS1_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTDIS1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS1; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTDIS1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS1; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTDIS2_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS2; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTDIS2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTDIS2) >> I2S_TXCTRL_SLOTDIS2_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTDIS2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTDIS2; - tmp |= value << I2S_TXCTRL_SLOTDIS2_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTDIS2_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS2; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTDIS2_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS2; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTDIS3_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS3; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTDIS3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTDIS3) >> I2S_TXCTRL_SLOTDIS3_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTDIS3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTDIS3; - tmp |= value << I2S_TXCTRL_SLOTDIS3_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTDIS3_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS3; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTDIS3_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS3; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTDIS4_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS4; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTDIS4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTDIS4) >> I2S_TXCTRL_SLOTDIS4_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTDIS4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTDIS4; - tmp |= value << I2S_TXCTRL_SLOTDIS4_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTDIS4_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS4; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTDIS4_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS4; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTDIS5_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS5; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTDIS5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTDIS5) >> I2S_TXCTRL_SLOTDIS5_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTDIS5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTDIS5; - tmp |= value << I2S_TXCTRL_SLOTDIS5_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTDIS5_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS5; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTDIS5_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS5; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTDIS6_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS6; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTDIS6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTDIS6) >> I2S_TXCTRL_SLOTDIS6_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTDIS6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTDIS6; - tmp |= value << I2S_TXCTRL_SLOTDIS6_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTDIS6_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS6; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTDIS6_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS6; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_SLOTDIS7_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS7; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_SLOTDIS7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_SLOTDIS7) >> I2S_TXCTRL_SLOTDIS7_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_SLOTDIS7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_SLOTDIS7; - tmp |= value << I2S_TXCTRL_SLOTDIS7_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_SLOTDIS7_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS7; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_SLOTDIS7_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS7; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_MONO_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_MONO; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_MONO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_MONO) >> I2S_TXCTRL_MONO_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_MONO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_MONO; - tmp |= value << I2S_TXCTRL_MONO_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_MONO_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_MONO; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_MONO_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_MONO; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_DMA_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_DMA; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_TXCTRL_DMA_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_DMA) >> I2S_TXCTRL_DMA_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_TXCTRL_DMA_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_DMA; - tmp |= value << I2S_TXCTRL_DMA_Pos; - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_DMA_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_DMA; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_DMA_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_DMA; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_TXDEFAULT(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_txctrl_reg_t hri_i2s_get_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_TXDEFAULT(mask)) >> I2S_TXCTRL_TXDEFAULT_Pos; - return tmp; -} - -static inline void hri_i2s_write_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_TXDEFAULT_Msk; - tmp |= I2S_TXCTRL_TXDEFAULT(data); - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_TXDEFAULT(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_TXDEFAULT(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_txctrl_reg_t hri_i2s_read_TXCTRL_TXDEFAULT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_TXDEFAULT_Msk) >> I2S_TXCTRL_TXDEFAULT_Pos; - return tmp; -} - -static inline void hri_i2s_set_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_DATASIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_txctrl_reg_t hri_i2s_get_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_DATASIZE(mask)) >> I2S_TXCTRL_DATASIZE_Pos; - return tmp; -} - -static inline void hri_i2s_write_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_DATASIZE_Msk; - tmp |= I2S_TXCTRL_DATASIZE(data); - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_DATASIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_DATASIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_txctrl_reg_t hri_i2s_read_TXCTRL_DATASIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_DATASIZE_Msk) >> I2S_TXCTRL_DATASIZE_Pos; - return tmp; -} - -static inline void hri_i2s_set_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_EXTEND(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_txctrl_reg_t hri_i2s_get_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_EXTEND(mask)) >> I2S_TXCTRL_EXTEND_Pos; - return tmp; -} - -static inline void hri_i2s_write_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= ~I2S_TXCTRL_EXTEND_Msk; - tmp |= I2S_TXCTRL_EXTEND(data); - ((I2s *)hw)->TXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_EXTEND(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_EXTEND(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_txctrl_reg_t hri_i2s_read_TXCTRL_EXTEND_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp = (tmp & I2S_TXCTRL_EXTEND_Msk) >> I2S_TXCTRL_EXTEND_Pos; - return tmp; -} - -static inline void hri_i2s_set_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg |= mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_txctrl_reg_t hri_i2s_get_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->TXCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_i2s_write_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t data) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg = data; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg &= ~mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXCTRL.reg ^= mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_txctrl_reg_t hri_i2s_read_TXCTRL_reg(const void *const hw) -{ - return ((I2s *)hw)->TXCTRL.reg; -} - -static inline void hri_i2s_set_RXCTRL_CLKSEL_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_CLKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_CLKSEL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_CLKSEL) >> I2S_RXCTRL_CLKSEL_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_CLKSEL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_CLKSEL; - tmp |= value << I2S_RXCTRL_CLKSEL_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_CLKSEL_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_CLKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_CLKSEL_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_CLKSEL; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTADJ_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTADJ) >> I2S_RXCTRL_SLOTADJ_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTADJ_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTADJ; - tmp |= value << I2S_RXCTRL_SLOTADJ_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_WORDADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_WORDADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_WORDADJ_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_WORDADJ) >> I2S_RXCTRL_WORDADJ_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_WORDADJ_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_WORDADJ; - tmp |= value << I2S_RXCTRL_WORDADJ_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_WORDADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_WORDADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_WORDADJ_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_WORDADJ; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_BITREV_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_BITREV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_BITREV_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_BITREV) >> I2S_RXCTRL_BITREV_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_BITREV_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_BITREV; - tmp |= value << I2S_RXCTRL_BITREV_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_BITREV_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_BITREV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_BITREV_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_BITREV; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTDIS0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS0; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTDIS0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTDIS0) >> I2S_RXCTRL_SLOTDIS0_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTDIS0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTDIS0; - tmp |= value << I2S_RXCTRL_SLOTDIS0_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTDIS0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS0; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTDIS0_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS0; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTDIS1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS1; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTDIS1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTDIS1) >> I2S_RXCTRL_SLOTDIS1_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTDIS1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTDIS1; - tmp |= value << I2S_RXCTRL_SLOTDIS1_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTDIS1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS1; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTDIS1_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS1; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTDIS2_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS2; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTDIS2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTDIS2) >> I2S_RXCTRL_SLOTDIS2_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTDIS2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTDIS2; - tmp |= value << I2S_RXCTRL_SLOTDIS2_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTDIS2_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS2; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTDIS2_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS2; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTDIS3_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS3; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTDIS3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTDIS3) >> I2S_RXCTRL_SLOTDIS3_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTDIS3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTDIS3; - tmp |= value << I2S_RXCTRL_SLOTDIS3_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTDIS3_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS3; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTDIS3_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS3; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTDIS4_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS4; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTDIS4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTDIS4) >> I2S_RXCTRL_SLOTDIS4_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTDIS4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTDIS4; - tmp |= value << I2S_RXCTRL_SLOTDIS4_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTDIS4_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS4; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTDIS4_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS4; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTDIS5_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS5; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTDIS5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTDIS5) >> I2S_RXCTRL_SLOTDIS5_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTDIS5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTDIS5; - tmp |= value << I2S_RXCTRL_SLOTDIS5_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTDIS5_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS5; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTDIS5_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS5; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTDIS6_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS6; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTDIS6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTDIS6) >> I2S_RXCTRL_SLOTDIS6_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTDIS6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTDIS6; - tmp |= value << I2S_RXCTRL_SLOTDIS6_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTDIS6_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS6; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTDIS6_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS6; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SLOTDIS7_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS7; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_SLOTDIS7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SLOTDIS7) >> I2S_RXCTRL_SLOTDIS7_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_SLOTDIS7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SLOTDIS7; - tmp |= value << I2S_RXCTRL_SLOTDIS7_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SLOTDIS7_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS7; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SLOTDIS7_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS7; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_MONO_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_MONO; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_MONO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_MONO) >> I2S_RXCTRL_MONO_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_MONO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_MONO; - tmp |= value << I2S_RXCTRL_MONO_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_MONO_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_MONO; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_MONO_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_MONO; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_DMA_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_DMA; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_DMA_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_DMA) >> I2S_RXCTRL_DMA_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_DMA_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_DMA; - tmp |= value << I2S_RXCTRL_DMA_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_DMA_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_DMA; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_DMA_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_DMA; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_RXLOOP_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_RXLOOP; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_i2s_get_RXCTRL_RXLOOP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_RXLOOP) >> I2S_RXCTRL_RXLOOP_Pos; - return (bool)tmp; -} - -static inline void hri_i2s_write_RXCTRL_RXLOOP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_RXLOOP; - tmp |= value << I2S_RXCTRL_RXLOOP_Pos; - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_RXLOOP_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_RXLOOP; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_RXLOOP_bit(const void *const hw) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_RXLOOP; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_set_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SERMODE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_rxctrl_reg_t hri_i2s_get_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SERMODE(mask)) >> I2S_RXCTRL_SERMODE_Pos; - return tmp; -} - -static inline void hri_i2s_write_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_SERMODE_Msk; - tmp |= I2S_RXCTRL_SERMODE(data); - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SERMODE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SERMODE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_rxctrl_reg_t hri_i2s_read_RXCTRL_SERMODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_SERMODE_Msk) >> I2S_RXCTRL_SERMODE_Pos; - return tmp; -} - -static inline void hri_i2s_set_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_DATASIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_rxctrl_reg_t hri_i2s_get_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_DATASIZE(mask)) >> I2S_RXCTRL_DATASIZE_Pos; - return tmp; -} - -static inline void hri_i2s_write_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_DATASIZE_Msk; - tmp |= I2S_RXCTRL_DATASIZE(data); - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_DATASIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_DATASIZE(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_rxctrl_reg_t hri_i2s_read_RXCTRL_DATASIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_DATASIZE_Msk) >> I2S_RXCTRL_DATASIZE_Pos; - return tmp; -} - -static inline void hri_i2s_set_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_EXTEND(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_rxctrl_reg_t hri_i2s_get_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_EXTEND(mask)) >> I2S_RXCTRL_EXTEND_Pos; - return tmp; -} - -static inline void hri_i2s_write_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t data) -{ - uint32_t tmp; - I2S_CRITICAL_SECTION_ENTER(); - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= ~I2S_RXCTRL_EXTEND_Msk; - tmp |= I2S_RXCTRL_EXTEND(data); - ((I2s *)hw)->RXCTRL.reg = tmp; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_EXTEND(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_EXTEND(mask); - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_rxctrl_reg_t hri_i2s_read_RXCTRL_EXTEND_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp = (tmp & I2S_RXCTRL_EXTEND_Msk) >> I2S_RXCTRL_EXTEND_Pos; - return tmp; -} - -static inline void hri_i2s_set_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg |= mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_rxctrl_reg_t hri_i2s_get_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((I2s *)hw)->RXCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_i2s_write_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t data) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg = data; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_clear_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg &= ~mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_i2s_toggle_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t mask) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->RXCTRL.reg ^= mask; - I2S_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_i2s_rxctrl_reg_t hri_i2s_read_RXCTRL_reg(const void *const hw) -{ - return ((I2s *)hw)->RXCTRL.reg; -} - -static inline void hri_i2s_write_TXDATA_reg(const void *const hw, hri_i2s_txdata_reg_t data) -{ - I2S_CRITICAL_SECTION_ENTER(); - ((I2s *)hw)->TXDATA.reg = data; - hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK); - I2S_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_I2S_E54_H_INCLUDED */ -#endif /* _SAME54_I2S_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_icm_e54.h b/software/firmware/oracle_same54n19a/hri/hri_icm_e54.h deleted file mode 100644 index 374caa4..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_icm_e54.h +++ /dev/null @@ -1,761 +0,0 @@ -/** - * \file - * - * \brief SAM ICM - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_ICM_COMPONENT_ -#ifndef _HRI_ICM_E54_H_INCLUDED_ -#define _HRI_ICM_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_ICM_CRITICAL_SECTIONS) -#define ICM_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define ICM_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define ICM_CRITICAL_SECTION_ENTER() -#define ICM_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_icm_cfg_reg_t; -typedef uint32_t hri_icm_ctrl_reg_t; -typedef uint32_t hri_icm_dscr_reg_t; -typedef uint32_t hri_icm_hash_reg_t; -typedef uint32_t hri_icm_imr_reg_t; -typedef uint32_t hri_icm_isr_reg_t; -typedef uint32_t hri_icm_sr_reg_t; -typedef uint32_t hri_icm_uasr_reg_t; -typedef uint32_t hri_icm_uihval_reg_t; -typedef uint32_t hri_icmdescriptor_raddr_reg_t; -typedef uint32_t hri_icmdescriptor_rcfg_reg_t; -typedef uint32_t hri_icmdescriptor_rctrl_reg_t; -typedef uint32_t hri_icmdescriptor_rnext_reg_t; - -static inline void hri_icmdescriptor_set_RADDR_reg(const void *const hw, hri_icmdescriptor_raddr_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RADDR.reg |= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icmdescriptor_raddr_reg_t hri_icmdescriptor_get_RADDR_reg(const void *const hw, - hri_icmdescriptor_raddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((IcmDescriptor *)hw)->RADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_icmdescriptor_write_RADDR_reg(const void *const hw, hri_icmdescriptor_raddr_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RADDR.reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icmdescriptor_clear_RADDR_reg(const void *const hw, hri_icmdescriptor_raddr_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RADDR.reg &= ~mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icmdescriptor_toggle_RADDR_reg(const void *const hw, hri_icmdescriptor_raddr_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RADDR.reg ^= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icmdescriptor_raddr_reg_t hri_icmdescriptor_read_RADDR_reg(const void *const hw) -{ - return ((IcmDescriptor *)hw)->RADDR.reg; -} - -static inline void hri_icmdescriptor_set_RCFG_reg(const void *const hw, hri_icmdescriptor_rcfg_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RCFG.reg |= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icmdescriptor_rcfg_reg_t hri_icmdescriptor_get_RCFG_reg(const void *const hw, - hri_icmdescriptor_rcfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((IcmDescriptor *)hw)->RCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_icmdescriptor_write_RCFG_reg(const void *const hw, hri_icmdescriptor_rcfg_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RCFG.reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icmdescriptor_clear_RCFG_reg(const void *const hw, hri_icmdescriptor_rcfg_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RCFG.reg &= ~mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icmdescriptor_toggle_RCFG_reg(const void *const hw, hri_icmdescriptor_rcfg_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RCFG.reg ^= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icmdescriptor_rcfg_reg_t hri_icmdescriptor_read_RCFG_reg(const void *const hw) -{ - return ((IcmDescriptor *)hw)->RCFG.reg; -} - -static inline void hri_icmdescriptor_set_RCTRL_reg(const void *const hw, hri_icmdescriptor_rctrl_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RCTRL.reg |= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icmdescriptor_rctrl_reg_t hri_icmdescriptor_get_RCTRL_reg(const void *const hw, - hri_icmdescriptor_rctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((IcmDescriptor *)hw)->RCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_icmdescriptor_write_RCTRL_reg(const void *const hw, hri_icmdescriptor_rctrl_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RCTRL.reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icmdescriptor_clear_RCTRL_reg(const void *const hw, hri_icmdescriptor_rctrl_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RCTRL.reg &= ~mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icmdescriptor_toggle_RCTRL_reg(const void *const hw, hri_icmdescriptor_rctrl_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RCTRL.reg ^= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icmdescriptor_rctrl_reg_t hri_icmdescriptor_read_RCTRL_reg(const void *const hw) -{ - return ((IcmDescriptor *)hw)->RCTRL.reg; -} - -static inline void hri_icmdescriptor_set_RNEXT_reg(const void *const hw, hri_icmdescriptor_rnext_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RNEXT.reg |= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icmdescriptor_rnext_reg_t hri_icmdescriptor_get_RNEXT_reg(const void *const hw, - hri_icmdescriptor_rnext_reg_t mask) -{ - uint32_t tmp; - tmp = ((IcmDescriptor *)hw)->RNEXT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_icmdescriptor_write_RNEXT_reg(const void *const hw, hri_icmdescriptor_rnext_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RNEXT.reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icmdescriptor_clear_RNEXT_reg(const void *const hw, hri_icmdescriptor_rnext_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RNEXT.reg &= ~mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icmdescriptor_toggle_RNEXT_reg(const void *const hw, hri_icmdescriptor_rnext_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((IcmDescriptor *)hw)->RNEXT.reg ^= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icmdescriptor_rnext_reg_t hri_icmdescriptor_read_RNEXT_reg(const void *const hw) -{ - return ((IcmDescriptor *)hw)->RNEXT.reg; -} - -static inline void hri_icm_set_IMR_URAD_bit(const void *const hw) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_URAD; -} - -static inline bool hri_icm_get_IMR_URAD_bit(const void *const hw) -{ - return (((Icm *)hw)->IMR.reg & ICM_IMR_URAD) >> ICM_IMR_URAD_Pos; -} - -static inline void hri_icm_write_IMR_URAD_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Icm *)hw)->IDR.reg = ICM_IMR_URAD; - } else { - ((Icm *)hw)->IER.reg = ICM_IMR_URAD; - } -} - -static inline void hri_icm_clear_IMR_URAD_bit(const void *const hw) -{ - ((Icm *)hw)->IDR.reg = ICM_IMR_URAD; -} - -static inline void hri_icm_set_IMR_RHC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RHC(mask); -} - -static inline hri_icm_imr_reg_t hri_icm_get_IMR_RHC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RHC(mask)) >> ICM_IMR_RHC_Pos; - return tmp; -} - -static inline hri_icm_imr_reg_t hri_icm_read_IMR_RHC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RHC_Msk) >> ICM_IMR_RHC_Pos; - return tmp; -} - -static inline void hri_icm_write_IMR_RHC_bf(const void *const hw, hri_icm_imr_reg_t data) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RHC(data); - ((Icm *)hw)->IDR.reg = ~ICM_IMR_RHC(data); -} - -static inline void hri_icm_clear_IMR_RHC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IDR.reg = ICM_IMR_RHC(mask); -} - -static inline void hri_icm_set_IMR_RDM_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RDM(mask); -} - -static inline hri_icm_imr_reg_t hri_icm_get_IMR_RDM_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RDM(mask)) >> ICM_IMR_RDM_Pos; - return tmp; -} - -static inline hri_icm_imr_reg_t hri_icm_read_IMR_RDM_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RDM_Msk) >> ICM_IMR_RDM_Pos; - return tmp; -} - -static inline void hri_icm_write_IMR_RDM_bf(const void *const hw, hri_icm_imr_reg_t data) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RDM(data); - ((Icm *)hw)->IDR.reg = ~ICM_IMR_RDM(data); -} - -static inline void hri_icm_clear_IMR_RDM_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IDR.reg = ICM_IMR_RDM(mask); -} - -static inline void hri_icm_set_IMR_RBE_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RBE(mask); -} - -static inline hri_icm_imr_reg_t hri_icm_get_IMR_RBE_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RBE(mask)) >> ICM_IMR_RBE_Pos; - return tmp; -} - -static inline hri_icm_imr_reg_t hri_icm_read_IMR_RBE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RBE_Msk) >> ICM_IMR_RBE_Pos; - return tmp; -} - -static inline void hri_icm_write_IMR_RBE_bf(const void *const hw, hri_icm_imr_reg_t data) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RBE(data); - ((Icm *)hw)->IDR.reg = ~ICM_IMR_RBE(data); -} - -static inline void hri_icm_clear_IMR_RBE_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IDR.reg = ICM_IMR_RBE(mask); -} - -static inline void hri_icm_set_IMR_RWC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RWC(mask); -} - -static inline hri_icm_imr_reg_t hri_icm_get_IMR_RWC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RWC(mask)) >> ICM_IMR_RWC_Pos; - return tmp; -} - -static inline hri_icm_imr_reg_t hri_icm_read_IMR_RWC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RWC_Msk) >> ICM_IMR_RWC_Pos; - return tmp; -} - -static inline void hri_icm_write_IMR_RWC_bf(const void *const hw, hri_icm_imr_reg_t data) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RWC(data); - ((Icm *)hw)->IDR.reg = ~ICM_IMR_RWC(data); -} - -static inline void hri_icm_clear_IMR_RWC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IDR.reg = ICM_IMR_RWC(mask); -} - -static inline void hri_icm_set_IMR_REC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_REC(mask); -} - -static inline hri_icm_imr_reg_t hri_icm_get_IMR_REC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_REC(mask)) >> ICM_IMR_REC_Pos; - return tmp; -} - -static inline hri_icm_imr_reg_t hri_icm_read_IMR_REC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_REC_Msk) >> ICM_IMR_REC_Pos; - return tmp; -} - -static inline void hri_icm_write_IMR_REC_bf(const void *const hw, hri_icm_imr_reg_t data) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_REC(data); - ((Icm *)hw)->IDR.reg = ~ICM_IMR_REC(data); -} - -static inline void hri_icm_clear_IMR_REC_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IDR.reg = ICM_IMR_REC(mask); -} - -static inline void hri_icm_set_IMR_RSU_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RSU(mask); -} - -static inline hri_icm_imr_reg_t hri_icm_get_IMR_RSU_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RSU(mask)) >> ICM_IMR_RSU_Pos; - return tmp; -} - -static inline hri_icm_imr_reg_t hri_icm_read_IMR_RSU_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp = (tmp & ICM_IMR_RSU_Msk) >> ICM_IMR_RSU_Pos; - return tmp; -} - -static inline void hri_icm_write_IMR_RSU_bf(const void *const hw, hri_icm_imr_reg_t data) -{ - ((Icm *)hw)->IER.reg = ICM_IMR_RSU(data); - ((Icm *)hw)->IDR.reg = ~ICM_IMR_RSU(data); -} - -static inline void hri_icm_clear_IMR_RSU_bf(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IDR.reg = ICM_IMR_RSU(mask); -} - -static inline void hri_icm_set_IMR_reg(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IER.reg = mask; -} - -static inline hri_icm_imr_reg_t hri_icm_get_IMR_reg(const void *const hw, hri_icm_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->IMR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_icm_imr_reg_t hri_icm_read_IMR_reg(const void *const hw) -{ - return ((Icm *)hw)->IMR.reg; -} - -static inline void hri_icm_write_IMR_reg(const void *const hw, hri_icm_imr_reg_t data) -{ - ((Icm *)hw)->IER.reg = data; - ((Icm *)hw)->IDR.reg = ~data; -} - -static inline void hri_icm_clear_IMR_reg(const void *const hw, hri_icm_imr_reg_t mask) -{ - ((Icm *)hw)->IDR.reg = mask; -} - -static inline bool hri_icm_get_SR_ENABLE_bit(const void *const hw) -{ - return (((Icm *)hw)->SR.reg & ICM_SR_ENABLE) >> ICM_SR_ENABLE_Pos; -} - -static inline hri_icm_sr_reg_t hri_icm_get_SR_RAWRMDIS_bf(const void *const hw, hri_icm_sr_reg_t mask) -{ - return (((Icm *)hw)->SR.reg & ICM_SR_RAWRMDIS(mask)) >> ICM_SR_RAWRMDIS_Pos; -} - -static inline hri_icm_sr_reg_t hri_icm_read_SR_RAWRMDIS_bf(const void *const hw) -{ - return (((Icm *)hw)->SR.reg & ICM_SR_RAWRMDIS_Msk) >> ICM_SR_RAWRMDIS_Pos; -} - -static inline hri_icm_sr_reg_t hri_icm_get_SR_RMDIS_bf(const void *const hw, hri_icm_sr_reg_t mask) -{ - return (((Icm *)hw)->SR.reg & ICM_SR_RMDIS(mask)) >> ICM_SR_RMDIS_Pos; -} - -static inline hri_icm_sr_reg_t hri_icm_read_SR_RMDIS_bf(const void *const hw) -{ - return (((Icm *)hw)->SR.reg & ICM_SR_RMDIS_Msk) >> ICM_SR_RMDIS_Pos; -} - -static inline hri_icm_sr_reg_t hri_icm_get_SR_reg(const void *const hw, hri_icm_sr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->SR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_icm_sr_reg_t hri_icm_read_SR_reg(const void *const hw) -{ - return ((Icm *)hw)->SR.reg; -} - -static inline bool hri_icm_get_ISR_URAD_bit(const void *const hw) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_URAD) >> ICM_ISR_URAD_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_get_ISR_RHC_bf(const void *const hw, hri_icm_isr_reg_t mask) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RHC(mask)) >> ICM_ISR_RHC_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_read_ISR_RHC_bf(const void *const hw) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RHC_Msk) >> ICM_ISR_RHC_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_get_ISR_RDM_bf(const void *const hw, hri_icm_isr_reg_t mask) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RDM(mask)) >> ICM_ISR_RDM_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_read_ISR_RDM_bf(const void *const hw) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RDM_Msk) >> ICM_ISR_RDM_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_get_ISR_RBE_bf(const void *const hw, hri_icm_isr_reg_t mask) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RBE(mask)) >> ICM_ISR_RBE_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_read_ISR_RBE_bf(const void *const hw) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RBE_Msk) >> ICM_ISR_RBE_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_get_ISR_RWC_bf(const void *const hw, hri_icm_isr_reg_t mask) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RWC(mask)) >> ICM_ISR_RWC_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_read_ISR_RWC_bf(const void *const hw) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RWC_Msk) >> ICM_ISR_RWC_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_get_ISR_REC_bf(const void *const hw, hri_icm_isr_reg_t mask) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_REC(mask)) >> ICM_ISR_REC_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_read_ISR_REC_bf(const void *const hw) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_REC_Msk) >> ICM_ISR_REC_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_get_ISR_RSU_bf(const void *const hw, hri_icm_isr_reg_t mask) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RSU(mask)) >> ICM_ISR_RSU_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_read_ISR_RSU_bf(const void *const hw) -{ - return (((Icm *)hw)->ISR.reg & ICM_ISR_RSU_Msk) >> ICM_ISR_RSU_Pos; -} - -static inline hri_icm_isr_reg_t hri_icm_get_ISR_reg(const void *const hw, hri_icm_isr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->ISR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_icm_isr_reg_t hri_icm_read_ISR_reg(const void *const hw) -{ - return ((Icm *)hw)->ISR.reg; -} - -static inline hri_icm_uasr_reg_t hri_icm_get_UASR_URAT_bf(const void *const hw, hri_icm_uasr_reg_t mask) -{ - return (((Icm *)hw)->UASR.reg & ICM_UASR_URAT(mask)) >> ICM_UASR_URAT_Pos; -} - -static inline hri_icm_uasr_reg_t hri_icm_read_UASR_URAT_bf(const void *const hw) -{ - return (((Icm *)hw)->UASR.reg & ICM_UASR_URAT_Msk) >> ICM_UASR_URAT_Pos; -} - -static inline hri_icm_uasr_reg_t hri_icm_get_UASR_reg(const void *const hw, hri_icm_uasr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->UASR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_icm_uasr_reg_t hri_icm_read_UASR_reg(const void *const hw) -{ - return ((Icm *)hw)->UASR.reg; -} - -static inline void hri_icm_set_CFG_reg(const void *const hw, hri_icm_cfg_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->CFG.reg |= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icm_cfg_reg_t hri_icm_get_CFG_reg(const void *const hw, hri_icm_cfg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->CFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_icm_write_CFG_reg(const void *const hw, hri_icm_cfg_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->CFG.reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icm_clear_CFG_reg(const void *const hw, hri_icm_cfg_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->CFG.reg &= ~mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icm_toggle_CFG_reg(const void *const hw, hri_icm_cfg_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->CFG.reg ^= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icm_cfg_reg_t hri_icm_read_CFG_reg(const void *const hw) -{ - return ((Icm *)hw)->CFG.reg; -} - -static inline void hri_icm_set_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->DSCR.reg |= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icm_dscr_reg_t hri_icm_get_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->DSCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_icm_write_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->DSCR.reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icm_clear_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->DSCR.reg &= ~mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icm_toggle_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->DSCR.reg ^= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icm_dscr_reg_t hri_icm_read_DSCR_reg(const void *const hw) -{ - return ((Icm *)hw)->DSCR.reg; -} - -static inline void hri_icm_set_HASH_reg(const void *const hw, hri_icm_hash_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->HASH.reg |= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icm_hash_reg_t hri_icm_get_HASH_reg(const void *const hw, hri_icm_hash_reg_t mask) -{ - uint32_t tmp; - tmp = ((Icm *)hw)->HASH.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_icm_write_HASH_reg(const void *const hw, hri_icm_hash_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->HASH.reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icm_clear_HASH_reg(const void *const hw, hri_icm_hash_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->HASH.reg &= ~mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icm_toggle_HASH_reg(const void *const hw, hri_icm_hash_reg_t mask) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->HASH.reg ^= mask; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_icm_hash_reg_t hri_icm_read_HASH_reg(const void *const hw) -{ - return ((Icm *)hw)->HASH.reg; -} - -static inline void hri_icm_write_CTRL_reg(const void *const hw, hri_icm_ctrl_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->CTRL.reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_icm_write_UIHVAL_reg(const void *const hw, uint8_t index, hri_icm_uihval_reg_t data) -{ - ICM_CRITICAL_SECTION_ENTER(); - ((Icm *)hw)->UIHVAL[index].reg = data; - ICM_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_ICM_E54_H_INCLUDED */ -#endif /* _SAME54_ICM_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_mclk_e54.h b/software/firmware/oracle_same54n19a/hri/hri_mclk_e54.h deleted file mode 100644 index 7e3963b..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_mclk_e54.h +++ /dev/null @@ -1,3556 +0,0 @@ -/** - * \file - * - * \brief SAM MCLK - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_MCLK_COMPONENT_ -#ifndef _HRI_MCLK_E54_H_INCLUDED_ -#define _HRI_MCLK_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_MCLK_CRITICAL_SECTIONS) -#define MCLK_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define MCLK_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define MCLK_CRITICAL_SECTION_ENTER() -#define MCLK_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_mclk_ahbmask_reg_t; -typedef uint32_t hri_mclk_apbamask_reg_t; -typedef uint32_t hri_mclk_apbbmask_reg_t; -typedef uint32_t hri_mclk_apbcmask_reg_t; -typedef uint32_t hri_mclk_apbdmask_reg_t; -typedef uint8_t hri_mclk_cpudiv_reg_t; -typedef uint8_t hri_mclk_hsdiv_reg_t; -typedef uint8_t hri_mclk_intenset_reg_t; -typedef uint8_t hri_mclk_intflag_reg_t; - -static inline bool hri_mclk_get_INTFLAG_CKRDY_bit(const void *const hw) -{ - return (((Mclk *)hw)->INTFLAG.reg & MCLK_INTFLAG_CKRDY) >> MCLK_INTFLAG_CKRDY_Pos; -} - -static inline void hri_mclk_clear_INTFLAG_CKRDY_bit(const void *const hw) -{ - ((Mclk *)hw)->INTFLAG.reg = MCLK_INTFLAG_CKRDY; -} - -static inline bool hri_mclk_get_interrupt_CKRDY_bit(const void *const hw) -{ - return (((Mclk *)hw)->INTFLAG.reg & MCLK_INTFLAG_CKRDY) >> MCLK_INTFLAG_CKRDY_Pos; -} - -static inline void hri_mclk_clear_interrupt_CKRDY_bit(const void *const hw) -{ - ((Mclk *)hw)->INTFLAG.reg = MCLK_INTFLAG_CKRDY; -} - -static inline hri_mclk_intflag_reg_t hri_mclk_get_INTFLAG_reg(const void *const hw, hri_mclk_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Mclk *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_mclk_intflag_reg_t hri_mclk_read_INTFLAG_reg(const void *const hw) -{ - return ((Mclk *)hw)->INTFLAG.reg; -} - -static inline void hri_mclk_clear_INTFLAG_reg(const void *const hw, hri_mclk_intflag_reg_t mask) -{ - ((Mclk *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_mclk_set_INTEN_CKRDY_bit(const void *const hw) -{ - ((Mclk *)hw)->INTENSET.reg = MCLK_INTENSET_CKRDY; -} - -static inline bool hri_mclk_get_INTEN_CKRDY_bit(const void *const hw) -{ - return (((Mclk *)hw)->INTENSET.reg & MCLK_INTENSET_CKRDY) >> MCLK_INTENSET_CKRDY_Pos; -} - -static inline void hri_mclk_write_INTEN_CKRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Mclk *)hw)->INTENCLR.reg = MCLK_INTENSET_CKRDY; - } else { - ((Mclk *)hw)->INTENSET.reg = MCLK_INTENSET_CKRDY; - } -} - -static inline void hri_mclk_clear_INTEN_CKRDY_bit(const void *const hw) -{ - ((Mclk *)hw)->INTENCLR.reg = MCLK_INTENSET_CKRDY; -} - -static inline void hri_mclk_set_INTEN_reg(const void *const hw, hri_mclk_intenset_reg_t mask) -{ - ((Mclk *)hw)->INTENSET.reg = mask; -} - -static inline hri_mclk_intenset_reg_t hri_mclk_get_INTEN_reg(const void *const hw, hri_mclk_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Mclk *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_mclk_intenset_reg_t hri_mclk_read_INTEN_reg(const void *const hw) -{ - return ((Mclk *)hw)->INTENSET.reg; -} - -static inline void hri_mclk_write_INTEN_reg(const void *const hw, hri_mclk_intenset_reg_t data) -{ - ((Mclk *)hw)->INTENSET.reg = data; - ((Mclk *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_mclk_clear_INTEN_reg(const void *const hw, hri_mclk_intenset_reg_t mask) -{ - ((Mclk *)hw)->INTENCLR.reg = mask; -} - -static inline hri_mclk_hsdiv_reg_t hri_mclk_get_HSDIV_DIV_bf(const void *const hw, hri_mclk_hsdiv_reg_t mask) -{ - return (((Mclk *)hw)->HSDIV.reg & MCLK_HSDIV_DIV(mask)) >> MCLK_HSDIV_DIV_Pos; -} - -static inline hri_mclk_hsdiv_reg_t hri_mclk_read_HSDIV_DIV_bf(const void *const hw) -{ - return (((Mclk *)hw)->HSDIV.reg & MCLK_HSDIV_DIV_Msk) >> MCLK_HSDIV_DIV_Pos; -} - -static inline hri_mclk_hsdiv_reg_t hri_mclk_get_HSDIV_reg(const void *const hw, hri_mclk_hsdiv_reg_t mask) -{ - uint8_t tmp; - tmp = ((Mclk *)hw)->HSDIV.reg; - tmp &= mask; - return tmp; -} - -static inline hri_mclk_hsdiv_reg_t hri_mclk_read_HSDIV_reg(const void *const hw) -{ - return ((Mclk *)hw)->HSDIV.reg; -} - -static inline void hri_mclk_set_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->CPUDIV.reg |= MCLK_CPUDIV_DIV(mask); - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_cpudiv_reg_t hri_mclk_get_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t mask) -{ - uint8_t tmp; - tmp = ((Mclk *)hw)->CPUDIV.reg; - tmp = (tmp & MCLK_CPUDIV_DIV(mask)) >> MCLK_CPUDIV_DIV_Pos; - return tmp; -} - -static inline void hri_mclk_write_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t data) -{ - uint8_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->CPUDIV.reg; - tmp &= ~MCLK_CPUDIV_DIV_Msk; - tmp |= MCLK_CPUDIV_DIV(data); - ((Mclk *)hw)->CPUDIV.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->CPUDIV.reg &= ~MCLK_CPUDIV_DIV(mask); - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->CPUDIV.reg ^= MCLK_CPUDIV_DIV(mask); - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_cpudiv_reg_t hri_mclk_read_CPUDIV_DIV_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Mclk *)hw)->CPUDIV.reg; - tmp = (tmp & MCLK_CPUDIV_DIV_Msk) >> MCLK_CPUDIV_DIV_Pos; - return tmp; -} - -static inline void hri_mclk_set_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->CPUDIV.reg |= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_cpudiv_reg_t hri_mclk_get_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t mask) -{ - uint8_t tmp; - tmp = ((Mclk *)hw)->CPUDIV.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mclk_write_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t data) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->CPUDIV.reg = data; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->CPUDIV.reg &= ~mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->CPUDIV.reg ^= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_cpudiv_reg_t hri_mclk_read_CPUDIV_reg(const void *const hw) -{ - return ((Mclk *)hw)->CPUDIV.reg; -} - -static inline void hri_mclk_set_AHBMASK_HPB0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HPB0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_HPB0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_HPB0) >> MCLK_AHBMASK_HPB0_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_HPB0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_HPB0; - tmp |= value << MCLK_AHBMASK_HPB0_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_HPB0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HPB0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_HPB0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HPB0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_HPB1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HPB1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_HPB1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_HPB1) >> MCLK_AHBMASK_HPB1_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_HPB1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_HPB1; - tmp |= value << MCLK_AHBMASK_HPB1_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_HPB1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HPB1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_HPB1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HPB1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_HPB2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HPB2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_HPB2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_HPB2) >> MCLK_AHBMASK_HPB2_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_HPB2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_HPB2; - tmp |= value << MCLK_AHBMASK_HPB2_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_HPB2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HPB2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_HPB2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HPB2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_HPB3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HPB3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_HPB3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_HPB3) >> MCLK_AHBMASK_HPB3_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_HPB3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_HPB3; - tmp |= value << MCLK_AHBMASK_HPB3_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_HPB3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HPB3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_HPB3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HPB3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_DSU_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_DSU; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_DSU_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_DSU) >> MCLK_AHBMASK_DSU_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_DSU_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_DSU; - tmp |= value << MCLK_AHBMASK_DSU_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_DSU_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_DSU; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_DSU_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_DSU; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_HMATRIX_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HMATRIX; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_HMATRIX_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_HMATRIX) >> MCLK_AHBMASK_HMATRIX_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_HMATRIX_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_HMATRIX; - tmp |= value << MCLK_AHBMASK_HMATRIX_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_HMATRIX_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HMATRIX; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_HMATRIX_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HMATRIX; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_NVMCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_NVMCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_NVMCTRL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_NVMCTRL) >> MCLK_AHBMASK_NVMCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_NVMCTRL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_NVMCTRL; - tmp |= value << MCLK_AHBMASK_NVMCTRL_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_NVMCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_NVMCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_NVMCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_NVMCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_HSRAM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HSRAM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_HSRAM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_HSRAM) >> MCLK_AHBMASK_HSRAM_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_HSRAM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_HSRAM; - tmp |= value << MCLK_AHBMASK_HSRAM_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_HSRAM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HSRAM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_HSRAM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HSRAM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_CMCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_CMCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_CMCC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_CMCC) >> MCLK_AHBMASK_CMCC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_CMCC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_CMCC; - tmp |= value << MCLK_AHBMASK_CMCC_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_CMCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_CMCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_CMCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_CMCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_DMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_DMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_DMAC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_DMAC) >> MCLK_AHBMASK_DMAC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_DMAC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_DMAC; - tmp |= value << MCLK_AHBMASK_DMAC_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_DMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_DMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_DMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_DMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_USB_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_USB; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_USB_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_USB) >> MCLK_AHBMASK_USB_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_USB_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_USB; - tmp |= value << MCLK_AHBMASK_USB_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_USB_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_USB; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_USB_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_USB; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_BKUPRAM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_BKUPRAM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_BKUPRAM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_BKUPRAM) >> MCLK_AHBMASK_BKUPRAM_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_BKUPRAM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_BKUPRAM; - tmp |= value << MCLK_AHBMASK_BKUPRAM_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_BKUPRAM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_BKUPRAM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_BKUPRAM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_BKUPRAM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_PAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_PAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_PAC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_PAC) >> MCLK_AHBMASK_PAC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_PAC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_PAC; - tmp |= value << MCLK_AHBMASK_PAC_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_PAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_PAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_PAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_PAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_QSPI_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_QSPI; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_QSPI_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_QSPI) >> MCLK_AHBMASK_QSPI_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_QSPI_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_QSPI; - tmp |= value << MCLK_AHBMASK_QSPI_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_QSPI_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_QSPI; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_QSPI_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_QSPI; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_GMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_GMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_GMAC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_GMAC) >> MCLK_AHBMASK_GMAC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_GMAC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_GMAC; - tmp |= value << MCLK_AHBMASK_GMAC_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_GMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_GMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_GMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_GMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_SDHC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_SDHC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_SDHC0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_SDHC0) >> MCLK_AHBMASK_SDHC0_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_SDHC0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_SDHC0; - tmp |= value << MCLK_AHBMASK_SDHC0_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_SDHC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_SDHC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_SDHC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_SDHC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_SDHC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_SDHC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_SDHC1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_SDHC1) >> MCLK_AHBMASK_SDHC1_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_SDHC1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_SDHC1; - tmp |= value << MCLK_AHBMASK_SDHC1_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_SDHC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_SDHC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_SDHC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_SDHC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_CAN0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_CAN0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_CAN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_CAN0) >> MCLK_AHBMASK_CAN0_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_CAN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_CAN0; - tmp |= value << MCLK_AHBMASK_CAN0_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_CAN0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_CAN0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_CAN0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_CAN0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_CAN1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_CAN1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_CAN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_CAN1) >> MCLK_AHBMASK_CAN1_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_CAN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_CAN1; - tmp |= value << MCLK_AHBMASK_CAN1_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_CAN1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_CAN1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_CAN1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_CAN1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_ICM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_ICM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_ICM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_ICM) >> MCLK_AHBMASK_ICM_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_ICM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_ICM; - tmp |= value << MCLK_AHBMASK_ICM_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_ICM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_ICM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_ICM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_ICM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_PUKCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_PUKCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_PUKCC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_PUKCC) >> MCLK_AHBMASK_PUKCC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_PUKCC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_PUKCC; - tmp |= value << MCLK_AHBMASK_PUKCC_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_PUKCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_PUKCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_PUKCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_PUKCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_QSPI_2X_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_QSPI_2X; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_QSPI_2X_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_QSPI_2X) >> MCLK_AHBMASK_QSPI_2X_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_QSPI_2X_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_QSPI_2X; - tmp |= value << MCLK_AHBMASK_QSPI_2X_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_QSPI_2X_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_QSPI_2X; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_QSPI_2X_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_QSPI_2X; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_NVMCTRL_SMEEPROM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_NVMCTRL_SMEEPROM) >> MCLK_AHBMASK_NVMCTRL_SMEEPROM_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_NVMCTRL_SMEEPROM; - tmp |= value << MCLK_AHBMASK_NVMCTRL_SMEEPROM_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_NVMCTRL_SMEEPROM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_NVMCTRL_SMEEPROM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_NVMCTRL_CACHE; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp = (tmp & MCLK_AHBMASK_NVMCTRL_CACHE) >> MCLK_AHBMASK_NVMCTRL_CACHE_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= ~MCLK_AHBMASK_NVMCTRL_CACHE; - tmp |= value << MCLK_AHBMASK_NVMCTRL_CACHE_Pos; - ((Mclk *)hw)->AHBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_NVMCTRL_CACHE; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_NVMCTRL_CACHE; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg |= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_ahbmask_reg_t hri_mclk_get_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->AHBMASK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mclk_write_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t data) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg = data; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg &= ~mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->AHBMASK.reg ^= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_ahbmask_reg_t hri_mclk_read_AHBMASK_reg(const void *const hw) -{ - return ((Mclk *)hw)->AHBMASK.reg; -} - -static inline void hri_mclk_set_APBAMASK_PAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_PAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_PAC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_PAC) >> MCLK_APBAMASK_PAC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_PAC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_PAC; - tmp |= value << MCLK_APBAMASK_PAC_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_PAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_PAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_PAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_PAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_PM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_PM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_PM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_PM) >> MCLK_APBAMASK_PM_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_PM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_PM; - tmp |= value << MCLK_APBAMASK_PM_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_PM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_PM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_PM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_PM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_MCLK_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_MCLK; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_MCLK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_MCLK) >> MCLK_APBAMASK_MCLK_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_MCLK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_MCLK; - tmp |= value << MCLK_APBAMASK_MCLK_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_MCLK_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_MCLK; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_MCLK_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_MCLK; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_RSTC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_RSTC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_RSTC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_RSTC) >> MCLK_APBAMASK_RSTC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_RSTC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_RSTC; - tmp |= value << MCLK_APBAMASK_RSTC_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_RSTC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_RSTC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_RSTC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_RSTC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_OSCCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_OSCCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_OSCCTRL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_OSCCTRL) >> MCLK_APBAMASK_OSCCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_OSCCTRL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_OSCCTRL; - tmp |= value << MCLK_APBAMASK_OSCCTRL_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_OSCCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_OSCCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_OSCCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_OSCCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_OSC32KCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_OSC32KCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_OSC32KCTRL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_OSC32KCTRL) >> MCLK_APBAMASK_OSC32KCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_OSC32KCTRL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_OSC32KCTRL; - tmp |= value << MCLK_APBAMASK_OSC32KCTRL_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_OSC32KCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_OSC32KCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_OSC32KCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_OSC32KCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_SUPC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_SUPC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_SUPC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_SUPC) >> MCLK_APBAMASK_SUPC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_SUPC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_SUPC; - tmp |= value << MCLK_APBAMASK_SUPC_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_SUPC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_SUPC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_SUPC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_SUPC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_GCLK_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_GCLK; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_GCLK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_GCLK) >> MCLK_APBAMASK_GCLK_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_GCLK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_GCLK; - tmp |= value << MCLK_APBAMASK_GCLK_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_GCLK_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_GCLK; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_GCLK_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_GCLK; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_WDT_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_WDT; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_WDT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_WDT) >> MCLK_APBAMASK_WDT_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_WDT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_WDT; - tmp |= value << MCLK_APBAMASK_WDT_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_WDT_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_WDT; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_WDT_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_WDT; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_RTC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_RTC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_RTC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_RTC) >> MCLK_APBAMASK_RTC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_RTC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_RTC; - tmp |= value << MCLK_APBAMASK_RTC_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_RTC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_RTC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_RTC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_RTC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_EIC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_EIC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_EIC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_EIC) >> MCLK_APBAMASK_EIC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_EIC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_EIC; - tmp |= value << MCLK_APBAMASK_EIC_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_EIC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_EIC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_EIC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_EIC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_FREQM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_FREQM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_FREQM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_FREQM) >> MCLK_APBAMASK_FREQM_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_FREQM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_FREQM; - tmp |= value << MCLK_APBAMASK_FREQM_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_FREQM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_FREQM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_FREQM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_FREQM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_SERCOM0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_SERCOM0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_SERCOM0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_SERCOM0) >> MCLK_APBAMASK_SERCOM0_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_SERCOM0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_SERCOM0; - tmp |= value << MCLK_APBAMASK_SERCOM0_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_SERCOM0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_SERCOM0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_SERCOM0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_SERCOM0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_SERCOM1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_SERCOM1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_SERCOM1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_SERCOM1) >> MCLK_APBAMASK_SERCOM1_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_SERCOM1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_SERCOM1; - tmp |= value << MCLK_APBAMASK_SERCOM1_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_SERCOM1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_SERCOM1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_SERCOM1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_SERCOM1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_TC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_TC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_TC0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_TC0) >> MCLK_APBAMASK_TC0_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_TC0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_TC0; - tmp |= value << MCLK_APBAMASK_TC0_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_TC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_TC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_TC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_TC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_TC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_TC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBAMASK_TC1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp = (tmp & MCLK_APBAMASK_TC1) >> MCLK_APBAMASK_TC1_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBAMASK_TC1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= ~MCLK_APBAMASK_TC1; - tmp |= value << MCLK_APBAMASK_TC1_Pos; - ((Mclk *)hw)->APBAMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_TC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_TC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_TC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_TC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg |= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_apbamask_reg_t hri_mclk_get_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBAMASK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mclk_write_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t data) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg = data; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg &= ~mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBAMASK.reg ^= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_apbamask_reg_t hri_mclk_read_APBAMASK_reg(const void *const hw) -{ - return ((Mclk *)hw)->APBAMASK.reg; -} - -static inline void hri_mclk_set_APBBMASK_USB_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_USB; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_USB_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_USB) >> MCLK_APBBMASK_USB_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_USB_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_USB; - tmp |= value << MCLK_APBBMASK_USB_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_USB_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_USB; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_USB_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_USB; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_DSU_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_DSU; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_DSU_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_DSU) >> MCLK_APBBMASK_DSU_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_DSU_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_DSU; - tmp |= value << MCLK_APBBMASK_DSU_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_DSU_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_DSU; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_DSU_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_DSU; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_NVMCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_NVMCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_NVMCTRL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_NVMCTRL) >> MCLK_APBBMASK_NVMCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_NVMCTRL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_NVMCTRL; - tmp |= value << MCLK_APBBMASK_NVMCTRL_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_NVMCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_NVMCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_NVMCTRL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_NVMCTRL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_PORT_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_PORT; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_PORT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_PORT) >> MCLK_APBBMASK_PORT_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_PORT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_PORT; - tmp |= value << MCLK_APBBMASK_PORT_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_PORT_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_PORT; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_PORT_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_PORT; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_HMATRIX_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_HMATRIX; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_HMATRIX_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_HMATRIX) >> MCLK_APBBMASK_HMATRIX_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_HMATRIX_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_HMATRIX; - tmp |= value << MCLK_APBBMASK_HMATRIX_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_HMATRIX_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_HMATRIX; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_HMATRIX_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_HMATRIX; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_EVSYS_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_EVSYS; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_EVSYS_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_EVSYS) >> MCLK_APBBMASK_EVSYS_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_EVSYS_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_EVSYS; - tmp |= value << MCLK_APBBMASK_EVSYS_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_EVSYS_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_EVSYS; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_EVSYS_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_EVSYS; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_SERCOM2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_SERCOM2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_SERCOM2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_SERCOM2) >> MCLK_APBBMASK_SERCOM2_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_SERCOM2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_SERCOM2; - tmp |= value << MCLK_APBBMASK_SERCOM2_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_SERCOM2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_SERCOM2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_SERCOM2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_SERCOM2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_SERCOM3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_SERCOM3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_SERCOM3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_SERCOM3) >> MCLK_APBBMASK_SERCOM3_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_SERCOM3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_SERCOM3; - tmp |= value << MCLK_APBBMASK_SERCOM3_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_SERCOM3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_SERCOM3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_SERCOM3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_SERCOM3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_TCC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_TCC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_TCC0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_TCC0) >> MCLK_APBBMASK_TCC0_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_TCC0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_TCC0; - tmp |= value << MCLK_APBBMASK_TCC0_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_TCC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_TCC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_TCC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_TCC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_TCC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_TCC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_TCC1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_TCC1) >> MCLK_APBBMASK_TCC1_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_TCC1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_TCC1; - tmp |= value << MCLK_APBBMASK_TCC1_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_TCC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_TCC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_TCC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_TCC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_TC2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_TC2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_TC2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_TC2) >> MCLK_APBBMASK_TC2_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_TC2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_TC2; - tmp |= value << MCLK_APBBMASK_TC2_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_TC2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_TC2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_TC2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_TC2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_TC3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_TC3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_TC3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_TC3) >> MCLK_APBBMASK_TC3_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_TC3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_TC3; - tmp |= value << MCLK_APBBMASK_TC3_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_TC3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_TC3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_TC3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_TC3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_RAMECC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_RAMECC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBBMASK_RAMECC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp = (tmp & MCLK_APBBMASK_RAMECC) >> MCLK_APBBMASK_RAMECC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBBMASK_RAMECC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= ~MCLK_APBBMASK_RAMECC; - tmp |= value << MCLK_APBBMASK_RAMECC_Pos; - ((Mclk *)hw)->APBBMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_RAMECC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_RAMECC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_RAMECC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_RAMECC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_apbbmask_reg_t hri_mclk_get_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBBMASK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mclk_write_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t data) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg = data; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg &= ~mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg ^= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_apbbmask_reg_t hri_mclk_read_APBBMASK_reg(const void *const hw) -{ - return ((Mclk *)hw)->APBBMASK.reg; -} - -static inline void hri_mclk_set_APBCMASK_GMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_GMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_GMAC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_GMAC) >> MCLK_APBCMASK_GMAC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_GMAC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_GMAC; - tmp |= value << MCLK_APBCMASK_GMAC_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_GMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_GMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_GMAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_GMAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_TCC2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TCC2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_TCC2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_TCC2) >> MCLK_APBCMASK_TCC2_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_TCC2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_TCC2; - tmp |= value << MCLK_APBCMASK_TCC2_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_TCC2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TCC2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_TCC2_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TCC2; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_TCC3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TCC3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_TCC3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_TCC3) >> MCLK_APBCMASK_TCC3_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_TCC3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_TCC3; - tmp |= value << MCLK_APBCMASK_TCC3_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_TCC3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TCC3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_TCC3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TCC3; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_TC4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TC4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_TC4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_TC4) >> MCLK_APBCMASK_TC4_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_TC4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_TC4; - tmp |= value << MCLK_APBCMASK_TC4_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_TC4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TC4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_TC4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TC4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_TC5_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TC5; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_TC5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_TC5) >> MCLK_APBCMASK_TC5_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_TC5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_TC5; - tmp |= value << MCLK_APBCMASK_TC5_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_TC5_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TC5; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_TC5_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TC5; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_PDEC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_PDEC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_PDEC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_PDEC) >> MCLK_APBCMASK_PDEC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_PDEC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_PDEC; - tmp |= value << MCLK_APBCMASK_PDEC_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_PDEC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_PDEC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_PDEC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_PDEC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_AC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_AC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_AC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_AC) >> MCLK_APBCMASK_AC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_AC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_AC; - tmp |= value << MCLK_APBCMASK_AC_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_AC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_AC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_AC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_AC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_AES_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_AES; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_AES_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_AES) >> MCLK_APBCMASK_AES_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_AES_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_AES; - tmp |= value << MCLK_APBCMASK_AES_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_AES_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_AES; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_AES_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_AES; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_TRNG_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TRNG; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_TRNG_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_TRNG) >> MCLK_APBCMASK_TRNG_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_TRNG_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_TRNG; - tmp |= value << MCLK_APBCMASK_TRNG_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_TRNG_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TRNG; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_TRNG_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TRNG; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_ICM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_ICM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_ICM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_ICM) >> MCLK_APBCMASK_ICM_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_ICM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_ICM; - tmp |= value << MCLK_APBCMASK_ICM_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_ICM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_ICM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_ICM_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_ICM; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_QSPI_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_QSPI; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_QSPI_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_QSPI) >> MCLK_APBCMASK_QSPI_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_QSPI_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_QSPI; - tmp |= value << MCLK_APBCMASK_QSPI_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_QSPI_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_QSPI; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_QSPI_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_QSPI; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_CCL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_CCL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBCMASK_CCL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp = (tmp & MCLK_APBCMASK_CCL) >> MCLK_APBCMASK_CCL_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBCMASK_CCL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= ~MCLK_APBCMASK_CCL; - tmp |= value << MCLK_APBCMASK_CCL_Pos; - ((Mclk *)hw)->APBCMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_CCL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_CCL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_CCL_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_CCL; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg |= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_apbcmask_reg_t hri_mclk_get_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBCMASK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mclk_write_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t data) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg = data; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg &= ~mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBCMASK.reg ^= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_apbcmask_reg_t hri_mclk_read_APBCMASK_reg(const void *const hw) -{ - return ((Mclk *)hw)->APBCMASK.reg; -} - -static inline void hri_mclk_set_APBDMASK_SERCOM4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_SERCOM4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_SERCOM4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_SERCOM4) >> MCLK_APBDMASK_SERCOM4_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_SERCOM4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_SERCOM4; - tmp |= value << MCLK_APBDMASK_SERCOM4_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_SERCOM4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_SERCOM4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_SERCOM4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_SERCOM4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_SERCOM5_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_SERCOM5; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_SERCOM5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_SERCOM5) >> MCLK_APBDMASK_SERCOM5_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_SERCOM5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_SERCOM5; - tmp |= value << MCLK_APBDMASK_SERCOM5_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_SERCOM5_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_SERCOM5; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_SERCOM5_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_SERCOM5; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_SERCOM6_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_SERCOM6; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_SERCOM6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_SERCOM6) >> MCLK_APBDMASK_SERCOM6_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_SERCOM6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_SERCOM6; - tmp |= value << MCLK_APBDMASK_SERCOM6_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_SERCOM6_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_SERCOM6; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_SERCOM6_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_SERCOM6; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_SERCOM7_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_SERCOM7; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_SERCOM7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_SERCOM7) >> MCLK_APBDMASK_SERCOM7_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_SERCOM7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_SERCOM7; - tmp |= value << MCLK_APBDMASK_SERCOM7_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_SERCOM7_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_SERCOM7; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_SERCOM7_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_SERCOM7; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_TCC4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_TCC4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_TCC4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_TCC4) >> MCLK_APBDMASK_TCC4_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_TCC4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_TCC4; - tmp |= value << MCLK_APBDMASK_TCC4_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_TCC4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_TCC4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_TCC4_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_TCC4; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_TC6_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_TC6; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_TC6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_TC6) >> MCLK_APBDMASK_TC6_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_TC6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_TC6; - tmp |= value << MCLK_APBDMASK_TC6_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_TC6_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_TC6; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_TC6_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_TC6; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_TC7_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_TC7; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_TC7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_TC7) >> MCLK_APBDMASK_TC7_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_TC7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_TC7; - tmp |= value << MCLK_APBDMASK_TC7_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_TC7_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_TC7; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_TC7_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_TC7; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_ADC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_ADC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_ADC0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_ADC0) >> MCLK_APBDMASK_ADC0_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_ADC0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_ADC0; - tmp |= value << MCLK_APBDMASK_ADC0_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_ADC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_ADC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_ADC0_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_ADC0; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_ADC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_ADC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_ADC1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_ADC1) >> MCLK_APBDMASK_ADC1_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_ADC1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_ADC1; - tmp |= value << MCLK_APBDMASK_ADC1_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_ADC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_ADC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_ADC1_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_ADC1; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_DAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_DAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_DAC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_DAC) >> MCLK_APBDMASK_DAC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_DAC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_DAC; - tmp |= value << MCLK_APBDMASK_DAC_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_DAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_DAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_DAC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_DAC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_I2S_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_I2S; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_I2S_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_I2S) >> MCLK_APBDMASK_I2S_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_I2S_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_I2S; - tmp |= value << MCLK_APBDMASK_I2S_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_I2S_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_I2S; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_I2S_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_I2S; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_PCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_PCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_mclk_get_APBDMASK_PCC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp = (tmp & MCLK_APBDMASK_PCC) >> MCLK_APBDMASK_PCC_Pos; - return (bool)tmp; -} - -static inline void hri_mclk_write_APBDMASK_PCC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - MCLK_CRITICAL_SECTION_ENTER(); - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= ~MCLK_APBDMASK_PCC; - tmp |= value << MCLK_APBDMASK_PCC_Pos; - ((Mclk *)hw)->APBDMASK.reg = tmp; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_PCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_PCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_PCC_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_PCC; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_set_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg |= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_apbdmask_reg_t hri_mclk_get_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mclk *)hw)->APBDMASK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mclk_write_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t data) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg = data; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_clear_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg &= ~mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mclk_toggle_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t mask) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBDMASK.reg ^= mask; - MCLK_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mclk_apbdmask_reg_t hri_mclk_read_APBDMASK_reg(const void *const hw) -{ - return ((Mclk *)hw)->APBDMASK.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_MCLK_E54_H_INCLUDED */ -#endif /* _SAME54_MCLK_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_nvmctrl_e54.h b/software/firmware/oracle_same54n19a/hri/hri_nvmctrl_e54.h deleted file mode 100644 index 12d4022..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_nvmctrl_e54.h +++ /dev/null @@ -1,1618 +0,0 @@ -/** - * \file - * - * \brief SAM NVMCTRL - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_NVMCTRL_COMPONENT_ -#ifndef _HRI_NVMCTRL_E54_H_INCLUDED_ -#define _HRI_NVMCTRL_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_NVMCTRL_CRITICAL_SECTIONS) -#define NVMCTRL_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define NVMCTRL_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define NVMCTRL_CRITICAL_SECTION_ENTER() -#define NVMCTRL_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_nvmctrl_ctrla_reg_t; -typedef uint16_t hri_nvmctrl_ctrlb_reg_t; -typedef uint16_t hri_nvmctrl_intenset_reg_t; -typedef uint16_t hri_nvmctrl_intflag_reg_t; -typedef uint16_t hri_nvmctrl_status_reg_t; -typedef uint32_t hri_nvmctrl_addr_reg_t; -typedef uint32_t hri_nvmctrl_eccerr_reg_t; -typedef uint32_t hri_nvmctrl_param_reg_t; -typedef uint32_t hri_nvmctrl_pbldata_reg_t; -typedef uint32_t hri_nvmctrl_runlock_reg_t; -typedef uint32_t hri_nvmctrl_seestat_reg_t; -typedef uint8_t hri_nvmctrl_dbgctrl_reg_t; -typedef uint8_t hri_nvmctrl_seecfg_reg_t; - -static inline bool hri_nvmctrl_get_INTFLAG_DONE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_DONE) >> NVMCTRL_INTFLAG_DONE_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_DONE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_DONE; -} - -static inline bool hri_nvmctrl_get_INTFLAG_ADDRE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ADDRE) >> NVMCTRL_INTFLAG_ADDRE_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_ADDRE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ADDRE; -} - -static inline bool hri_nvmctrl_get_INTFLAG_PROGE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_PROGE) >> NVMCTRL_INTFLAG_PROGE_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_PROGE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_PROGE; -} - -static inline bool hri_nvmctrl_get_INTFLAG_LOCKE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_LOCKE) >> NVMCTRL_INTFLAG_LOCKE_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_LOCKE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_LOCKE; -} - -static inline bool hri_nvmctrl_get_INTFLAG_ECCSE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ECCSE) >> NVMCTRL_INTFLAG_ECCSE_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_ECCSE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ECCSE; -} - -static inline bool hri_nvmctrl_get_INTFLAG_ECCDE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ECCDE) >> NVMCTRL_INTFLAG_ECCDE_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_ECCDE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ECCDE; -} - -static inline bool hri_nvmctrl_get_INTFLAG_NVME_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_NVME) >> NVMCTRL_INTFLAG_NVME_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_NVME_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_NVME; -} - -static inline bool hri_nvmctrl_get_INTFLAG_SUSP_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SUSP) >> NVMCTRL_INTFLAG_SUSP_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_SUSP_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SUSP; -} - -static inline bool hri_nvmctrl_get_INTFLAG_SEESFULL_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEESFULL) >> NVMCTRL_INTFLAG_SEESFULL_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_SEESFULL_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEESFULL; -} - -static inline bool hri_nvmctrl_get_INTFLAG_SEESOVF_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEESOVF) >> NVMCTRL_INTFLAG_SEESOVF_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_SEESOVF_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEESOVF; -} - -static inline bool hri_nvmctrl_get_INTFLAG_SEEWRC_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEEWRC) >> NVMCTRL_INTFLAG_SEEWRC_Pos; -} - -static inline void hri_nvmctrl_clear_INTFLAG_SEEWRC_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEEWRC; -} - -static inline bool hri_nvmctrl_get_interrupt_DONE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_DONE) >> NVMCTRL_INTFLAG_DONE_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_DONE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_DONE; -} - -static inline bool hri_nvmctrl_get_interrupt_ADDRE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ADDRE) >> NVMCTRL_INTFLAG_ADDRE_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_ADDRE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ADDRE; -} - -static inline bool hri_nvmctrl_get_interrupt_PROGE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_PROGE) >> NVMCTRL_INTFLAG_PROGE_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_PROGE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_PROGE; -} - -static inline bool hri_nvmctrl_get_interrupt_LOCKE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_LOCKE) >> NVMCTRL_INTFLAG_LOCKE_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_LOCKE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_LOCKE; -} - -static inline bool hri_nvmctrl_get_interrupt_ECCSE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ECCSE) >> NVMCTRL_INTFLAG_ECCSE_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_ECCSE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ECCSE; -} - -static inline bool hri_nvmctrl_get_interrupt_ECCDE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ECCDE) >> NVMCTRL_INTFLAG_ECCDE_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_ECCDE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ECCDE; -} - -static inline bool hri_nvmctrl_get_interrupt_NVME_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_NVME) >> NVMCTRL_INTFLAG_NVME_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_NVME_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_NVME; -} - -static inline bool hri_nvmctrl_get_interrupt_SUSP_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SUSP) >> NVMCTRL_INTFLAG_SUSP_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_SUSP_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SUSP; -} - -static inline bool hri_nvmctrl_get_interrupt_SEESFULL_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEESFULL) >> NVMCTRL_INTFLAG_SEESFULL_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_SEESFULL_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEESFULL; -} - -static inline bool hri_nvmctrl_get_interrupt_SEESOVF_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEESOVF) >> NVMCTRL_INTFLAG_SEESOVF_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_SEESOVF_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEESOVF; -} - -static inline bool hri_nvmctrl_get_interrupt_SEEWRC_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEEWRC) >> NVMCTRL_INTFLAG_SEEWRC_Pos; -} - -static inline void hri_nvmctrl_clear_interrupt_SEEWRC_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEEWRC; -} - -static inline hri_nvmctrl_intflag_reg_t hri_nvmctrl_get_INTFLAG_reg(const void *const hw, - hri_nvmctrl_intflag_reg_t mask) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_nvmctrl_intflag_reg_t hri_nvmctrl_read_INTFLAG_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->INTFLAG.reg; -} - -static inline void hri_nvmctrl_clear_INTFLAG_reg(const void *const hw, hri_nvmctrl_intflag_reg_t mask) -{ - ((Nvmctrl *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_nvmctrl_set_INTEN_DONE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_DONE; -} - -static inline bool hri_nvmctrl_get_INTEN_DONE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_DONE) >> NVMCTRL_INTENSET_DONE_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_DONE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_DONE; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_DONE; - } -} - -static inline void hri_nvmctrl_clear_INTEN_DONE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_DONE; -} - -static inline void hri_nvmctrl_set_INTEN_ADDRE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ADDRE; -} - -static inline bool hri_nvmctrl_get_INTEN_ADDRE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_ADDRE) >> NVMCTRL_INTENSET_ADDRE_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_ADDRE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ADDRE; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ADDRE; - } -} - -static inline void hri_nvmctrl_clear_INTEN_ADDRE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ADDRE; -} - -static inline void hri_nvmctrl_set_INTEN_PROGE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_PROGE; -} - -static inline bool hri_nvmctrl_get_INTEN_PROGE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_PROGE) >> NVMCTRL_INTENSET_PROGE_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_PROGE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_PROGE; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_PROGE; - } -} - -static inline void hri_nvmctrl_clear_INTEN_PROGE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_PROGE; -} - -static inline void hri_nvmctrl_set_INTEN_LOCKE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_LOCKE; -} - -static inline bool hri_nvmctrl_get_INTEN_LOCKE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_LOCKE) >> NVMCTRL_INTENSET_LOCKE_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_LOCKE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_LOCKE; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_LOCKE; - } -} - -static inline void hri_nvmctrl_clear_INTEN_LOCKE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_LOCKE; -} - -static inline void hri_nvmctrl_set_INTEN_ECCSE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ECCSE; -} - -static inline bool hri_nvmctrl_get_INTEN_ECCSE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_ECCSE) >> NVMCTRL_INTENSET_ECCSE_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_ECCSE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ECCSE; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ECCSE; - } -} - -static inline void hri_nvmctrl_clear_INTEN_ECCSE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ECCSE; -} - -static inline void hri_nvmctrl_set_INTEN_ECCDE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ECCDE; -} - -static inline bool hri_nvmctrl_get_INTEN_ECCDE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_ECCDE) >> NVMCTRL_INTENSET_ECCDE_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_ECCDE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ECCDE; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ECCDE; - } -} - -static inline void hri_nvmctrl_clear_INTEN_ECCDE_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ECCDE; -} - -static inline void hri_nvmctrl_set_INTEN_NVME_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_NVME; -} - -static inline bool hri_nvmctrl_get_INTEN_NVME_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_NVME) >> NVMCTRL_INTENSET_NVME_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_NVME_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_NVME; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_NVME; - } -} - -static inline void hri_nvmctrl_clear_INTEN_NVME_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_NVME; -} - -static inline void hri_nvmctrl_set_INTEN_SUSP_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SUSP; -} - -static inline bool hri_nvmctrl_get_INTEN_SUSP_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_SUSP) >> NVMCTRL_INTENSET_SUSP_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_SUSP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SUSP; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SUSP; - } -} - -static inline void hri_nvmctrl_clear_INTEN_SUSP_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SUSP; -} - -static inline void hri_nvmctrl_set_INTEN_SEESFULL_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEESFULL; -} - -static inline bool hri_nvmctrl_get_INTEN_SEESFULL_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_SEESFULL) >> NVMCTRL_INTENSET_SEESFULL_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_SEESFULL_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEESFULL; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEESFULL; - } -} - -static inline void hri_nvmctrl_clear_INTEN_SEESFULL_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEESFULL; -} - -static inline void hri_nvmctrl_set_INTEN_SEESOVF_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEESOVF; -} - -static inline bool hri_nvmctrl_get_INTEN_SEESOVF_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_SEESOVF) >> NVMCTRL_INTENSET_SEESOVF_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_SEESOVF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEESOVF; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEESOVF; - } -} - -static inline void hri_nvmctrl_clear_INTEN_SEESOVF_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEESOVF; -} - -static inline void hri_nvmctrl_set_INTEN_SEEWRC_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEEWRC; -} - -static inline bool hri_nvmctrl_get_INTEN_SEEWRC_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_SEEWRC) >> NVMCTRL_INTENSET_SEEWRC_Pos; -} - -static inline void hri_nvmctrl_write_INTEN_SEEWRC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEEWRC; - } else { - ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEEWRC; - } -} - -static inline void hri_nvmctrl_clear_INTEN_SEEWRC_bit(const void *const hw) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEEWRC; -} - -static inline void hri_nvmctrl_set_INTEN_reg(const void *const hw, hri_nvmctrl_intenset_reg_t mask) -{ - ((Nvmctrl *)hw)->INTENSET.reg = mask; -} - -static inline hri_nvmctrl_intenset_reg_t hri_nvmctrl_get_INTEN_reg(const void *const hw, - hri_nvmctrl_intenset_reg_t mask) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_nvmctrl_intenset_reg_t hri_nvmctrl_read_INTEN_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->INTENSET.reg; -} - -static inline void hri_nvmctrl_write_INTEN_reg(const void *const hw, hri_nvmctrl_intenset_reg_t data) -{ - ((Nvmctrl *)hw)->INTENSET.reg = data; - ((Nvmctrl *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_nvmctrl_clear_INTEN_reg(const void *const hw, hri_nvmctrl_intenset_reg_t mask) -{ - ((Nvmctrl *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_nvmctrl_get_PARAM_SEE_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_SEE) >> NVMCTRL_PARAM_SEE_Pos; -} - -static inline hri_nvmctrl_param_reg_t hri_nvmctrl_get_PARAM_NVMP_bf(const void *const hw, hri_nvmctrl_param_reg_t mask) -{ - return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_NVMP(mask)) >> NVMCTRL_PARAM_NVMP_Pos; -} - -static inline hri_nvmctrl_param_reg_t hri_nvmctrl_read_PARAM_NVMP_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_NVMP_Msk) >> NVMCTRL_PARAM_NVMP_Pos; -} - -static inline hri_nvmctrl_param_reg_t hri_nvmctrl_get_PARAM_PSZ_bf(const void *const hw, hri_nvmctrl_param_reg_t mask) -{ - return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_PSZ(mask)) >> NVMCTRL_PARAM_PSZ_Pos; -} - -static inline hri_nvmctrl_param_reg_t hri_nvmctrl_read_PARAM_PSZ_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_PSZ_Msk) >> NVMCTRL_PARAM_PSZ_Pos; -} - -static inline hri_nvmctrl_param_reg_t hri_nvmctrl_get_PARAM_reg(const void *const hw, hri_nvmctrl_param_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvmctrl *)hw)->PARAM.reg; - tmp &= mask; - return tmp; -} - -static inline hri_nvmctrl_param_reg_t hri_nvmctrl_read_PARAM_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->PARAM.reg; -} - -static inline bool hri_nvmctrl_get_STATUS_READY_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_READY) >> NVMCTRL_STATUS_READY_Pos; -} - -static inline bool hri_nvmctrl_get_STATUS_PRM_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_PRM) >> NVMCTRL_STATUS_PRM_Pos; -} - -static inline bool hri_nvmctrl_get_STATUS_LOAD_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_LOAD) >> NVMCTRL_STATUS_LOAD_Pos; -} - -static inline bool hri_nvmctrl_get_STATUS_SUSP_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_SUSP) >> NVMCTRL_STATUS_SUSP_Pos; -} - -static inline bool hri_nvmctrl_get_STATUS_AFIRST_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_AFIRST) >> NVMCTRL_STATUS_AFIRST_Pos; -} - -static inline bool hri_nvmctrl_get_STATUS_BPDIS_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_BPDIS) >> NVMCTRL_STATUS_BPDIS_Pos; -} - -static inline hri_nvmctrl_status_reg_t hri_nvmctrl_get_STATUS_BOOTPROT_bf(const void *const hw, - hri_nvmctrl_status_reg_t mask) -{ - return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_BOOTPROT(mask)) >> NVMCTRL_STATUS_BOOTPROT_Pos; -} - -static inline hri_nvmctrl_status_reg_t hri_nvmctrl_read_STATUS_BOOTPROT_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_BOOTPROT_Msk) >> NVMCTRL_STATUS_BOOTPROT_Pos; -} - -static inline hri_nvmctrl_status_reg_t hri_nvmctrl_get_STATUS_reg(const void *const hw, hri_nvmctrl_status_reg_t mask) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_nvmctrl_status_reg_t hri_nvmctrl_read_STATUS_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->STATUS.reg; -} - -static inline hri_nvmctrl_runlock_reg_t hri_nvmctrl_get_RUNLOCK_RUNLOCK_bf(const void *const hw, - hri_nvmctrl_runlock_reg_t mask) -{ - return (((Nvmctrl *)hw)->RUNLOCK.reg & NVMCTRL_RUNLOCK_RUNLOCK(mask)) >> NVMCTRL_RUNLOCK_RUNLOCK_Pos; -} - -static inline hri_nvmctrl_runlock_reg_t hri_nvmctrl_read_RUNLOCK_RUNLOCK_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->RUNLOCK.reg & NVMCTRL_RUNLOCK_RUNLOCK_Msk) >> NVMCTRL_RUNLOCK_RUNLOCK_Pos; -} - -static inline hri_nvmctrl_runlock_reg_t hri_nvmctrl_get_RUNLOCK_reg(const void *const hw, - hri_nvmctrl_runlock_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvmctrl *)hw)->RUNLOCK.reg; - tmp &= mask; - return tmp; -} - -static inline hri_nvmctrl_runlock_reg_t hri_nvmctrl_read_RUNLOCK_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->RUNLOCK.reg; -} - -static inline hri_nvmctrl_pbldata_reg_t hri_nvmctrl_get_PBLDATA_DATA_bf(const void *const hw, uint8_t index, - hri_nvmctrl_pbldata_reg_t mask) -{ - return (((Nvmctrl *)hw)->PBLDATA[index].reg & NVMCTRL_PBLDATA_DATA(mask)) >> NVMCTRL_PBLDATA_DATA_Pos; -} - -static inline hri_nvmctrl_pbldata_reg_t hri_nvmctrl_read_PBLDATA_DATA_bf(const void *const hw, uint8_t index) -{ - return (((Nvmctrl *)hw)->PBLDATA[index].reg & NVMCTRL_PBLDATA_DATA_Msk) >> NVMCTRL_PBLDATA_DATA_Pos; -} - -static inline hri_nvmctrl_pbldata_reg_t hri_nvmctrl_get_PBLDATA_reg(const void *const hw, uint8_t index, - hri_nvmctrl_pbldata_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvmctrl *)hw)->PBLDATA[index].reg; - tmp &= mask; - return tmp; -} - -static inline hri_nvmctrl_pbldata_reg_t hri_nvmctrl_read_PBLDATA_reg(const void *const hw, uint8_t index) -{ - return ((Nvmctrl *)hw)->PBLDATA[index].reg; -} - -static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_get_ECCERR_ADDR_bf(const void *const hw, - hri_nvmctrl_eccerr_reg_t mask) -{ - return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_ADDR(mask)) >> NVMCTRL_ECCERR_ADDR_Pos; -} - -static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_read_ECCERR_ADDR_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_ADDR_Msk) >> NVMCTRL_ECCERR_ADDR_Pos; -} - -static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_get_ECCERR_TYPEL_bf(const void *const hw, - hri_nvmctrl_eccerr_reg_t mask) -{ - return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_TYPEL(mask)) >> NVMCTRL_ECCERR_TYPEL_Pos; -} - -static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_read_ECCERR_TYPEL_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_TYPEL_Msk) >> NVMCTRL_ECCERR_TYPEL_Pos; -} - -static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_get_ECCERR_TYPEH_bf(const void *const hw, - hri_nvmctrl_eccerr_reg_t mask) -{ - return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_TYPEH(mask)) >> NVMCTRL_ECCERR_TYPEH_Pos; -} - -static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_read_ECCERR_TYPEH_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_TYPEH_Msk) >> NVMCTRL_ECCERR_TYPEH_Pos; -} - -static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_get_ECCERR_reg(const void *const hw, hri_nvmctrl_eccerr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvmctrl *)hw)->ECCERR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_read_ECCERR_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->ECCERR.reg; -} - -static inline bool hri_nvmctrl_get_SEESTAT_ASEES_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_ASEES) >> NVMCTRL_SEESTAT_ASEES_Pos; -} - -static inline bool hri_nvmctrl_get_SEESTAT_LOAD_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_LOAD) >> NVMCTRL_SEESTAT_LOAD_Pos; -} - -static inline bool hri_nvmctrl_get_SEESTAT_BUSY_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_BUSY) >> NVMCTRL_SEESTAT_BUSY_Pos; -} - -static inline bool hri_nvmctrl_get_SEESTAT_LOCK_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_LOCK) >> NVMCTRL_SEESTAT_LOCK_Pos; -} - -static inline bool hri_nvmctrl_get_SEESTAT_RLOCK_bit(const void *const hw) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_RLOCK) >> NVMCTRL_SEESTAT_RLOCK_Pos; -} - -static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_get_SEESTAT_SBLK_bf(const void *const hw, - hri_nvmctrl_seestat_reg_t mask) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_SBLK(mask)) >> NVMCTRL_SEESTAT_SBLK_Pos; -} - -static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_read_SEESTAT_SBLK_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_SBLK_Msk) >> NVMCTRL_SEESTAT_SBLK_Pos; -} - -static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_get_SEESTAT_PSZ_bf(const void *const hw, - hri_nvmctrl_seestat_reg_t mask) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_PSZ(mask)) >> NVMCTRL_SEESTAT_PSZ_Pos; -} - -static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_read_SEESTAT_PSZ_bf(const void *const hw) -{ - return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_PSZ_Msk) >> NVMCTRL_SEESTAT_PSZ_Pos; -} - -static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_get_SEESTAT_reg(const void *const hw, - hri_nvmctrl_seestat_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvmctrl *)hw)->SEESTAT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_read_SEESTAT_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->SEESTAT.reg; -} - -static inline void hri_nvmctrl_set_CTRLA_AUTOWS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_AUTOWS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_CTRLA_AUTOWS_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_AUTOWS) >> NVMCTRL_CTRLA_AUTOWS_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_AUTOWS_bit(const void *const hw, bool value) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_AUTOWS; - tmp |= value << NVMCTRL_CTRLA_AUTOWS_Pos; - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_AUTOWS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_AUTOWS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_AUTOWS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_AUTOWS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_CTRLA_SUSPEN_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_SUSPEN; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_CTRLA_SUSPEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_SUSPEN) >> NVMCTRL_CTRLA_SUSPEN_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_SUSPEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_SUSPEN; - tmp |= value << NVMCTRL_CTRLA_SUSPEN_Pos; - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_SUSPEN_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_SUSPEN; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_SUSPEN_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_SUSPEN; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_CTRLA_AHBNS0_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_AHBNS0; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_CTRLA_AHBNS0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_AHBNS0) >> NVMCTRL_CTRLA_AHBNS0_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_AHBNS0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_AHBNS0; - tmp |= value << NVMCTRL_CTRLA_AHBNS0_Pos; - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_AHBNS0_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_AHBNS0; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_AHBNS0_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_AHBNS0; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_CTRLA_AHBNS1_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_AHBNS1; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_CTRLA_AHBNS1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_AHBNS1) >> NVMCTRL_CTRLA_AHBNS1_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_AHBNS1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_AHBNS1; - tmp |= value << NVMCTRL_CTRLA_AHBNS1_Pos; - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_AHBNS1_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_AHBNS1; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_AHBNS1_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_AHBNS1; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_CTRLA_CACHEDIS0_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_CACHEDIS0; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_CTRLA_CACHEDIS0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_CACHEDIS0) >> NVMCTRL_CTRLA_CACHEDIS0_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_CACHEDIS0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_CACHEDIS0; - tmp |= value << NVMCTRL_CTRLA_CACHEDIS0_Pos; - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_CACHEDIS0_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_CACHEDIS0; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_CACHEDIS0_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_CACHEDIS0; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_CTRLA_CACHEDIS1_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_CACHEDIS1; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_CTRLA_CACHEDIS1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_CACHEDIS1) >> NVMCTRL_CTRLA_CACHEDIS1_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_CACHEDIS1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_CACHEDIS1; - tmp |= value << NVMCTRL_CTRLA_CACHEDIS1_Pos; - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_CACHEDIS1_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_CACHEDIS1; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_CACHEDIS1_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_CACHEDIS1; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_WMODE(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_get_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_WMODE(mask)) >> NVMCTRL_CTRLA_WMODE_Pos; - return tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t data) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_WMODE_Msk; - tmp |= NVMCTRL_CTRLA_WMODE(data); - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_WMODE(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_WMODE(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_read_CTRLA_WMODE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_WMODE_Msk) >> NVMCTRL_CTRLA_WMODE_Pos; - return tmp; -} - -static inline void hri_nvmctrl_set_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_PRM(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_get_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_PRM(mask)) >> NVMCTRL_CTRLA_PRM_Pos; - return tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t data) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_PRM_Msk; - tmp |= NVMCTRL_CTRLA_PRM(data); - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_PRM(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_PRM(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_read_CTRLA_PRM_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_PRM_Msk) >> NVMCTRL_CTRLA_PRM_Pos; - return tmp; -} - -static inline void hri_nvmctrl_set_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_RWS(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_get_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_RWS(mask)) >> NVMCTRL_CTRLA_RWS_Pos; - return tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t data) -{ - uint16_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= ~NVMCTRL_CTRLA_RWS_Msk; - tmp |= NVMCTRL_CTRLA_RWS(data); - ((Nvmctrl *)hw)->CTRLA.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_RWS(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_RWS(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_read_CTRLA_RWS_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp = (tmp & NVMCTRL_CTRLA_RWS_Msk) >> NVMCTRL_CTRLA_RWS_Pos; - return tmp; -} - -static inline void hri_nvmctrl_set_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg |= mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_get_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Nvmctrl *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvmctrl_write_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t data) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg = data; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg &= ~mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLA.reg ^= mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_read_CTRLA_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->CTRLA.reg; -} - -static inline void hri_nvmctrl_set_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->ADDR.reg |= NVMCTRL_ADDR_ADDR(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_addr_reg_t hri_nvmctrl_get_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvmctrl *)hw)->ADDR.reg; - tmp = (tmp & NVMCTRL_ADDR_ADDR(mask)) >> NVMCTRL_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_nvmctrl_write_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t data) -{ - uint32_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->ADDR.reg; - tmp &= ~NVMCTRL_ADDR_ADDR_Msk; - tmp |= NVMCTRL_ADDR_ADDR(data); - ((Nvmctrl *)hw)->ADDR.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->ADDR.reg &= ~NVMCTRL_ADDR_ADDR(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->ADDR.reg ^= NVMCTRL_ADDR_ADDR(mask); - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_addr_reg_t hri_nvmctrl_read_ADDR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Nvmctrl *)hw)->ADDR.reg; - tmp = (tmp & NVMCTRL_ADDR_ADDR_Msk) >> NVMCTRL_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_nvmctrl_set_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->ADDR.reg |= mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_addr_reg_t hri_nvmctrl_get_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvmctrl *)hw)->ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvmctrl_write_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t data) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->ADDR.reg = data; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->ADDR.reg &= ~mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->ADDR.reg ^= mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_addr_reg_t hri_nvmctrl_read_ADDR_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->ADDR.reg; -} - -static inline void hri_nvmctrl_set_DBGCTRL_ECCDIS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg |= NVMCTRL_DBGCTRL_ECCDIS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_DBGCTRL_ECCDIS_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Nvmctrl *)hw)->DBGCTRL.reg; - tmp = (tmp & NVMCTRL_DBGCTRL_ECCDIS) >> NVMCTRL_DBGCTRL_ECCDIS_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_DBGCTRL_ECCDIS_bit(const void *const hw, bool value) -{ - uint8_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->DBGCTRL.reg; - tmp &= ~NVMCTRL_DBGCTRL_ECCDIS; - tmp |= value << NVMCTRL_DBGCTRL_ECCDIS_Pos; - ((Nvmctrl *)hw)->DBGCTRL.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_DBGCTRL_ECCDIS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg &= ~NVMCTRL_DBGCTRL_ECCDIS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_DBGCTRL_ECCDIS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg ^= NVMCTRL_DBGCTRL_ECCDIS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_DBGCTRL_ECCELOG_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg |= NVMCTRL_DBGCTRL_ECCELOG; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_DBGCTRL_ECCELOG_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Nvmctrl *)hw)->DBGCTRL.reg; - tmp = (tmp & NVMCTRL_DBGCTRL_ECCELOG) >> NVMCTRL_DBGCTRL_ECCELOG_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_DBGCTRL_ECCELOG_bit(const void *const hw, bool value) -{ - uint8_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->DBGCTRL.reg; - tmp &= ~NVMCTRL_DBGCTRL_ECCELOG; - tmp |= value << NVMCTRL_DBGCTRL_ECCELOG_Pos; - ((Nvmctrl *)hw)->DBGCTRL.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_DBGCTRL_ECCELOG_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg &= ~NVMCTRL_DBGCTRL_ECCELOG; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_DBGCTRL_ECCELOG_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg ^= NVMCTRL_DBGCTRL_ECCELOG; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_DBGCTRL_reg(const void *const hw, hri_nvmctrl_dbgctrl_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg |= mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_dbgctrl_reg_t hri_nvmctrl_get_DBGCTRL_reg(const void *const hw, - hri_nvmctrl_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Nvmctrl *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvmctrl_write_DBGCTRL_reg(const void *const hw, hri_nvmctrl_dbgctrl_reg_t data) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg = data; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_DBGCTRL_reg(const void *const hw, hri_nvmctrl_dbgctrl_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg &= ~mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_DBGCTRL_reg(const void *const hw, hri_nvmctrl_dbgctrl_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->DBGCTRL.reg ^= mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_dbgctrl_reg_t hri_nvmctrl_read_DBGCTRL_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->DBGCTRL.reg; -} - -static inline void hri_nvmctrl_set_SEECFG_WMODE_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg |= NVMCTRL_SEECFG_WMODE; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_SEECFG_WMODE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Nvmctrl *)hw)->SEECFG.reg; - tmp = (tmp & NVMCTRL_SEECFG_WMODE) >> NVMCTRL_SEECFG_WMODE_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_SEECFG_WMODE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->SEECFG.reg; - tmp &= ~NVMCTRL_SEECFG_WMODE; - tmp |= value << NVMCTRL_SEECFG_WMODE_Pos; - ((Nvmctrl *)hw)->SEECFG.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_SEECFG_WMODE_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg &= ~NVMCTRL_SEECFG_WMODE; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_SEECFG_WMODE_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg ^= NVMCTRL_SEECFG_WMODE; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_SEECFG_APRDIS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg |= NVMCTRL_SEECFG_APRDIS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_nvmctrl_get_SEECFG_APRDIS_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Nvmctrl *)hw)->SEECFG.reg; - tmp = (tmp & NVMCTRL_SEECFG_APRDIS) >> NVMCTRL_SEECFG_APRDIS_Pos; - return (bool)tmp; -} - -static inline void hri_nvmctrl_write_SEECFG_APRDIS_bit(const void *const hw, bool value) -{ - uint8_t tmp; - NVMCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Nvmctrl *)hw)->SEECFG.reg; - tmp &= ~NVMCTRL_SEECFG_APRDIS; - tmp |= value << NVMCTRL_SEECFG_APRDIS_Pos; - ((Nvmctrl *)hw)->SEECFG.reg = tmp; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_SEECFG_APRDIS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg &= ~NVMCTRL_SEECFG_APRDIS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_SEECFG_APRDIS_bit(const void *const hw) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg ^= NVMCTRL_SEECFG_APRDIS; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_set_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg |= mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_seecfg_reg_t hri_nvmctrl_get_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Nvmctrl *)hw)->SEECFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvmctrl_write_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t data) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg = data; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_clear_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg &= ~mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvmctrl_toggle_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t mask) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->SEECFG.reg ^= mask; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvmctrl_seecfg_reg_t hri_nvmctrl_read_SEECFG_reg(const void *const hw) -{ - return ((Nvmctrl *)hw)->SEECFG.reg; -} - -static inline void hri_nvmctrl_write_CTRLB_reg(const void *const hw, hri_nvmctrl_ctrlb_reg_t data) -{ - NVMCTRL_CRITICAL_SECTION_ENTER(); - ((Nvmctrl *)hw)->CTRLB.reg = data; - NVMCTRL_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_NVMCTRL_E54_H_INCLUDED */ -#endif /* _SAME54_NVMCTRL_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_osc32kctrl_e54.h b/software/firmware/oracle_same54n19a/hri/hri_osc32kctrl_e54.h deleted file mode 100644 index 2eabbca..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_osc32kctrl_e54.h +++ /dev/null @@ -1,1199 +0,0 @@ -/** - * \file - * - * \brief SAM OSC32KCTRL - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_OSC32KCTRL_COMPONENT_ -#ifndef _HRI_OSC32KCTRL_E54_H_INCLUDED_ -#define _HRI_OSC32KCTRL_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_OSC32KCTRL_CRITICAL_SECTIONS) -#define OSC32KCTRL_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define OSC32KCTRL_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define OSC32KCTRL_CRITICAL_SECTION_ENTER() -#define OSC32KCTRL_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_osc32kctrl_xosc32k_reg_t; -typedef uint32_t hri_osc32kctrl_intenset_reg_t; -typedef uint32_t hri_osc32kctrl_intflag_reg_t; -typedef uint32_t hri_osc32kctrl_osculp32k_reg_t; -typedef uint32_t hri_osc32kctrl_status_reg_t; -typedef uint8_t hri_osc32kctrl_cfdctrl_reg_t; -typedef uint8_t hri_osc32kctrl_evctrl_reg_t; -typedef uint8_t hri_osc32kctrl_rtcctrl_reg_t; - -static inline bool hri_osc32kctrl_get_INTFLAG_XOSC32KRDY_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->INTFLAG.reg & OSC32KCTRL_INTFLAG_XOSC32KRDY) >> OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos; -} - -static inline void hri_osc32kctrl_clear_INTFLAG_XOSC32KRDY_bit(const void *const hw) -{ - ((Osc32kctrl *)hw)->INTFLAG.reg = OSC32KCTRL_INTFLAG_XOSC32KRDY; -} - -static inline bool hri_osc32kctrl_get_INTFLAG_XOSC32KFAIL_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->INTFLAG.reg & OSC32KCTRL_INTFLAG_XOSC32KFAIL) >> OSC32KCTRL_INTFLAG_XOSC32KFAIL_Pos; -} - -static inline void hri_osc32kctrl_clear_INTFLAG_XOSC32KFAIL_bit(const void *const hw) -{ - ((Osc32kctrl *)hw)->INTFLAG.reg = OSC32KCTRL_INTFLAG_XOSC32KFAIL; -} - -static inline bool hri_osc32kctrl_get_interrupt_XOSC32KRDY_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->INTFLAG.reg & OSC32KCTRL_INTFLAG_XOSC32KRDY) >> OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos; -} - -static inline void hri_osc32kctrl_clear_interrupt_XOSC32KRDY_bit(const void *const hw) -{ - ((Osc32kctrl *)hw)->INTFLAG.reg = OSC32KCTRL_INTFLAG_XOSC32KRDY; -} - -static inline bool hri_osc32kctrl_get_interrupt_XOSC32KFAIL_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->INTFLAG.reg & OSC32KCTRL_INTFLAG_XOSC32KFAIL) >> OSC32KCTRL_INTFLAG_XOSC32KFAIL_Pos; -} - -static inline void hri_osc32kctrl_clear_interrupt_XOSC32KFAIL_bit(const void *const hw) -{ - ((Osc32kctrl *)hw)->INTFLAG.reg = OSC32KCTRL_INTFLAG_XOSC32KFAIL; -} - -static inline hri_osc32kctrl_intflag_reg_t hri_osc32kctrl_get_INTFLAG_reg(const void *const hw, - hri_osc32kctrl_intflag_reg_t mask) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_osc32kctrl_intflag_reg_t hri_osc32kctrl_read_INTFLAG_reg(const void *const hw) -{ - return ((Osc32kctrl *)hw)->INTFLAG.reg; -} - -static inline void hri_osc32kctrl_clear_INTFLAG_reg(const void *const hw, hri_osc32kctrl_intflag_reg_t mask) -{ - ((Osc32kctrl *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_osc32kctrl_set_INTEN_XOSC32KRDY_bit(const void *const hw) -{ - ((Osc32kctrl *)hw)->INTENSET.reg = OSC32KCTRL_INTENSET_XOSC32KRDY; -} - -static inline bool hri_osc32kctrl_get_INTEN_XOSC32KRDY_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->INTENSET.reg & OSC32KCTRL_INTENSET_XOSC32KRDY) >> OSC32KCTRL_INTENSET_XOSC32KRDY_Pos; -} - -static inline void hri_osc32kctrl_write_INTEN_XOSC32KRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Osc32kctrl *)hw)->INTENCLR.reg = OSC32KCTRL_INTENSET_XOSC32KRDY; - } else { - ((Osc32kctrl *)hw)->INTENSET.reg = OSC32KCTRL_INTENSET_XOSC32KRDY; - } -} - -static inline void hri_osc32kctrl_clear_INTEN_XOSC32KRDY_bit(const void *const hw) -{ - ((Osc32kctrl *)hw)->INTENCLR.reg = OSC32KCTRL_INTENSET_XOSC32KRDY; -} - -static inline void hri_osc32kctrl_set_INTEN_XOSC32KFAIL_bit(const void *const hw) -{ - ((Osc32kctrl *)hw)->INTENSET.reg = OSC32KCTRL_INTENSET_XOSC32KFAIL; -} - -static inline bool hri_osc32kctrl_get_INTEN_XOSC32KFAIL_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->INTENSET.reg & OSC32KCTRL_INTENSET_XOSC32KFAIL) >> OSC32KCTRL_INTENSET_XOSC32KFAIL_Pos; -} - -static inline void hri_osc32kctrl_write_INTEN_XOSC32KFAIL_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Osc32kctrl *)hw)->INTENCLR.reg = OSC32KCTRL_INTENSET_XOSC32KFAIL; - } else { - ((Osc32kctrl *)hw)->INTENSET.reg = OSC32KCTRL_INTENSET_XOSC32KFAIL; - } -} - -static inline void hri_osc32kctrl_clear_INTEN_XOSC32KFAIL_bit(const void *const hw) -{ - ((Osc32kctrl *)hw)->INTENCLR.reg = OSC32KCTRL_INTENSET_XOSC32KFAIL; -} - -static inline void hri_osc32kctrl_set_INTEN_reg(const void *const hw, hri_osc32kctrl_intenset_reg_t mask) -{ - ((Osc32kctrl *)hw)->INTENSET.reg = mask; -} - -static inline hri_osc32kctrl_intenset_reg_t hri_osc32kctrl_get_INTEN_reg(const void *const hw, - hri_osc32kctrl_intenset_reg_t mask) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_osc32kctrl_intenset_reg_t hri_osc32kctrl_read_INTEN_reg(const void *const hw) -{ - return ((Osc32kctrl *)hw)->INTENSET.reg; -} - -static inline void hri_osc32kctrl_write_INTEN_reg(const void *const hw, hri_osc32kctrl_intenset_reg_t data) -{ - ((Osc32kctrl *)hw)->INTENSET.reg = data; - ((Osc32kctrl *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_osc32kctrl_clear_INTEN_reg(const void *const hw, hri_osc32kctrl_intenset_reg_t mask) -{ - ((Osc32kctrl *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_osc32kctrl_get_STATUS_XOSC32KRDY_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->STATUS.reg & OSC32KCTRL_STATUS_XOSC32KRDY) >> OSC32KCTRL_STATUS_XOSC32KRDY_Pos; -} - -static inline bool hri_osc32kctrl_get_STATUS_XOSC32KFAIL_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->STATUS.reg & OSC32KCTRL_STATUS_XOSC32KFAIL) >> OSC32KCTRL_STATUS_XOSC32KFAIL_Pos; -} - -static inline bool hri_osc32kctrl_get_STATUS_XOSC32KSW_bit(const void *const hw) -{ - return (((Osc32kctrl *)hw)->STATUS.reg & OSC32KCTRL_STATUS_XOSC32KSW) >> OSC32KCTRL_STATUS_XOSC32KSW_Pos; -} - -static inline hri_osc32kctrl_status_reg_t hri_osc32kctrl_get_STATUS_reg(const void *const hw, - hri_osc32kctrl_status_reg_t mask) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_osc32kctrl_status_reg_t hri_osc32kctrl_read_STATUS_reg(const void *const hw) -{ - return ((Osc32kctrl *)hw)->STATUS.reg; -} - -static inline void hri_osc32kctrl_set_RTCCTRL_RTCSEL_bf(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->RTCCTRL.reg |= OSC32KCTRL_RTCCTRL_RTCSEL(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_rtcctrl_reg_t hri_osc32kctrl_get_RTCCTRL_RTCSEL_bf(const void *const hw, - hri_osc32kctrl_rtcctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->RTCCTRL.reg; - tmp = (tmp & OSC32KCTRL_RTCCTRL_RTCSEL(mask)) >> OSC32KCTRL_RTCCTRL_RTCSEL_Pos; - return tmp; -} - -static inline void hri_osc32kctrl_write_RTCCTRL_RTCSEL_bf(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t data) -{ - uint8_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->RTCCTRL.reg; - tmp &= ~OSC32KCTRL_RTCCTRL_RTCSEL_Msk; - tmp |= OSC32KCTRL_RTCCTRL_RTCSEL(data); - ((Osc32kctrl *)hw)->RTCCTRL.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_RTCCTRL_RTCSEL_bf(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->RTCCTRL.reg &= ~OSC32KCTRL_RTCCTRL_RTCSEL(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_RTCCTRL_RTCSEL_bf(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->RTCCTRL.reg ^= OSC32KCTRL_RTCCTRL_RTCSEL(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_rtcctrl_reg_t hri_osc32kctrl_read_RTCCTRL_RTCSEL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->RTCCTRL.reg; - tmp = (tmp & OSC32KCTRL_RTCCTRL_RTCSEL_Msk) >> OSC32KCTRL_RTCCTRL_RTCSEL_Pos; - return tmp; -} - -static inline void hri_osc32kctrl_set_RTCCTRL_reg(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->RTCCTRL.reg |= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_rtcctrl_reg_t hri_osc32kctrl_get_RTCCTRL_reg(const void *const hw, - hri_osc32kctrl_rtcctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->RTCCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_osc32kctrl_write_RTCCTRL_reg(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t data) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->RTCCTRL.reg = data; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_RTCCTRL_reg(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->RTCCTRL.reg &= ~mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_RTCCTRL_reg(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->RTCCTRL.reg ^= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_rtcctrl_reg_t hri_osc32kctrl_read_RTCCTRL_reg(const void *const hw) -{ - return ((Osc32kctrl *)hw)->RTCCTRL.reg; -} - -static inline void hri_osc32kctrl_set_XOSC32K_ENABLE_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_ENABLE; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_XOSC32K_ENABLE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_ENABLE) >> OSC32KCTRL_XOSC32K_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_ENABLE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_ENABLE; - tmp |= value << OSC32KCTRL_XOSC32K_ENABLE_Pos; - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_ENABLE_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_ENABLE; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_ENABLE_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_ENABLE; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_XOSC32K_XTALEN_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_XTALEN; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_XOSC32K_XTALEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_XTALEN) >> OSC32KCTRL_XOSC32K_XTALEN_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_XTALEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_XTALEN; - tmp |= value << OSC32KCTRL_XOSC32K_XTALEN_Pos; - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_XTALEN_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_XTALEN; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_XTALEN_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_XTALEN; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_XOSC32K_EN32K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_EN32K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_XOSC32K_EN32K_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_EN32K) >> OSC32KCTRL_XOSC32K_EN32K_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_EN32K_bit(const void *const hw, bool value) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_EN32K; - tmp |= value << OSC32KCTRL_XOSC32K_EN32K_Pos; - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_EN32K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_EN32K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_EN32K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_EN32K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_XOSC32K_EN1K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_EN1K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_XOSC32K_EN1K_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_EN1K) >> OSC32KCTRL_XOSC32K_EN1K_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_EN1K_bit(const void *const hw, bool value) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_EN1K; - tmp |= value << OSC32KCTRL_XOSC32K_EN1K_Pos; - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_EN1K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_EN1K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_EN1K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_EN1K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_XOSC32K_RUNSTDBY_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_RUNSTDBY; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_XOSC32K_RUNSTDBY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_RUNSTDBY) >> OSC32KCTRL_XOSC32K_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_RUNSTDBY; - tmp |= value << OSC32KCTRL_XOSC32K_RUNSTDBY_Pos; - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_RUNSTDBY_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_RUNSTDBY; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_RUNSTDBY_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_RUNSTDBY; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_XOSC32K_ONDEMAND_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_ONDEMAND; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_XOSC32K_ONDEMAND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_ONDEMAND) >> OSC32KCTRL_XOSC32K_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_ONDEMAND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_ONDEMAND; - tmp |= value << OSC32KCTRL_XOSC32K_ONDEMAND_Pos; - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_ONDEMAND_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_ONDEMAND; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_ONDEMAND_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_ONDEMAND; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_XOSC32K_WRTLOCK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_WRTLOCK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_XOSC32K_WRTLOCK_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_WRTLOCK) >> OSC32KCTRL_XOSC32K_WRTLOCK_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_WRTLOCK_bit(const void *const hw, bool value) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_WRTLOCK; - tmp |= value << OSC32KCTRL_XOSC32K_WRTLOCK_Pos; - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_WRTLOCK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_WRTLOCK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_WRTLOCK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_WRTLOCK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_XOSC32K_STARTUP_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_STARTUP(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_get_XOSC32K_STARTUP_bf(const void *const hw, - hri_osc32kctrl_xosc32k_reg_t mask) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_STARTUP(mask)) >> OSC32KCTRL_XOSC32K_STARTUP_Pos; - return tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_STARTUP_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_STARTUP_Msk; - tmp |= OSC32KCTRL_XOSC32K_STARTUP(data); - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_STARTUP_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_STARTUP(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_STARTUP_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_STARTUP(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_read_XOSC32K_STARTUP_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_STARTUP_Msk) >> OSC32KCTRL_XOSC32K_STARTUP_Pos; - return tmp; -} - -static inline void hri_osc32kctrl_set_XOSC32K_CGM_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_CGM(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_get_XOSC32K_CGM_bf(const void *const hw, - hri_osc32kctrl_xosc32k_reg_t mask) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_CGM(mask)) >> OSC32KCTRL_XOSC32K_CGM_Pos; - return tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_CGM_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data) -{ - uint16_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= ~OSC32KCTRL_XOSC32K_CGM_Msk; - tmp |= OSC32KCTRL_XOSC32K_CGM(data); - ((Osc32kctrl *)hw)->XOSC32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_CGM_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_CGM(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_CGM_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_CGM(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_read_XOSC32K_CGM_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp = (tmp & OSC32KCTRL_XOSC32K_CGM_Msk) >> OSC32KCTRL_XOSC32K_CGM_Pos; - return tmp; -} - -static inline void hri_osc32kctrl_set_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg |= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_get_XOSC32K_reg(const void *const hw, - hri_osc32kctrl_xosc32k_reg_t mask) -{ - uint16_t tmp; - tmp = ((Osc32kctrl *)hw)->XOSC32K.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_osc32kctrl_write_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg = data; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg &= ~mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->XOSC32K.reg ^= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_read_XOSC32K_reg(const void *const hw) -{ - return ((Osc32kctrl *)hw)->XOSC32K.reg; -} - -static inline void hri_osc32kctrl_set_CFDCTRL_CFDEN_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg |= OSC32KCTRL_CFDCTRL_CFDEN; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_CFDCTRL_CFDEN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg; - tmp = (tmp & OSC32KCTRL_CFDCTRL_CFDEN) >> OSC32KCTRL_CFDCTRL_CFDEN_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_CFDCTRL_CFDEN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg; - tmp &= ~OSC32KCTRL_CFDCTRL_CFDEN; - tmp |= value << OSC32KCTRL_CFDCTRL_CFDEN_Pos; - ((Osc32kctrl *)hw)->CFDCTRL.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_CFDCTRL_CFDEN_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg &= ~OSC32KCTRL_CFDCTRL_CFDEN; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_CFDCTRL_CFDEN_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg ^= OSC32KCTRL_CFDCTRL_CFDEN; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_CFDCTRL_SWBACK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg |= OSC32KCTRL_CFDCTRL_SWBACK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_CFDCTRL_SWBACK_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg; - tmp = (tmp & OSC32KCTRL_CFDCTRL_SWBACK) >> OSC32KCTRL_CFDCTRL_SWBACK_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_CFDCTRL_SWBACK_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg; - tmp &= ~OSC32KCTRL_CFDCTRL_SWBACK; - tmp |= value << OSC32KCTRL_CFDCTRL_SWBACK_Pos; - ((Osc32kctrl *)hw)->CFDCTRL.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_CFDCTRL_SWBACK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg &= ~OSC32KCTRL_CFDCTRL_SWBACK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_CFDCTRL_SWBACK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg ^= OSC32KCTRL_CFDCTRL_SWBACK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_CFDCTRL_CFDPRESC_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg |= OSC32KCTRL_CFDCTRL_CFDPRESC; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_CFDCTRL_CFDPRESC_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg; - tmp = (tmp & OSC32KCTRL_CFDCTRL_CFDPRESC) >> OSC32KCTRL_CFDCTRL_CFDPRESC_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_CFDCTRL_CFDPRESC_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg; - tmp &= ~OSC32KCTRL_CFDCTRL_CFDPRESC; - tmp |= value << OSC32KCTRL_CFDCTRL_CFDPRESC_Pos; - ((Osc32kctrl *)hw)->CFDCTRL.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_CFDCTRL_CFDPRESC_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg &= ~OSC32KCTRL_CFDCTRL_CFDPRESC; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_CFDCTRL_CFDPRESC_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg ^= OSC32KCTRL_CFDCTRL_CFDPRESC; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg |= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_cfdctrl_reg_t hri_osc32kctrl_get_CFDCTRL_reg(const void *const hw, - hri_osc32kctrl_cfdctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_osc32kctrl_write_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t data) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg = data; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg &= ~mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->CFDCTRL.reg ^= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_cfdctrl_reg_t hri_osc32kctrl_read_CFDCTRL_reg(const void *const hw) -{ - return ((Osc32kctrl *)hw)->CFDCTRL.reg; -} - -static inline void hri_osc32kctrl_set_EVCTRL_CFDEO_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->EVCTRL.reg |= OSC32KCTRL_EVCTRL_CFDEO; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_EVCTRL_CFDEO_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->EVCTRL.reg; - tmp = (tmp & OSC32KCTRL_EVCTRL_CFDEO) >> OSC32KCTRL_EVCTRL_CFDEO_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_EVCTRL_CFDEO_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->EVCTRL.reg; - tmp &= ~OSC32KCTRL_EVCTRL_CFDEO; - tmp |= value << OSC32KCTRL_EVCTRL_CFDEO_Pos; - ((Osc32kctrl *)hw)->EVCTRL.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_EVCTRL_CFDEO_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->EVCTRL.reg &= ~OSC32KCTRL_EVCTRL_CFDEO; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_EVCTRL_CFDEO_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->EVCTRL.reg ^= OSC32KCTRL_EVCTRL_CFDEO; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->EVCTRL.reg |= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_evctrl_reg_t hri_osc32kctrl_get_EVCTRL_reg(const void *const hw, - hri_osc32kctrl_evctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Osc32kctrl *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_osc32kctrl_write_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t data) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->EVCTRL.reg = data; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->EVCTRL.reg &= ~mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->EVCTRL.reg ^= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_evctrl_reg_t hri_osc32kctrl_read_EVCTRL_reg(const void *const hw) -{ - return ((Osc32kctrl *)hw)->EVCTRL.reg; -} - -static inline void hri_osc32kctrl_set_OSCULP32K_EN32K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg |= OSC32KCTRL_OSCULP32K_EN32K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_OSCULP32K_EN32K_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp = (tmp & OSC32KCTRL_OSCULP32K_EN32K) >> OSC32KCTRL_OSCULP32K_EN32K_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_OSCULP32K_EN32K_bit(const void *const hw, bool value) -{ - uint32_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp &= ~OSC32KCTRL_OSCULP32K_EN32K; - tmp |= value << OSC32KCTRL_OSCULP32K_EN32K_Pos; - ((Osc32kctrl *)hw)->OSCULP32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_OSCULP32K_EN32K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~OSC32KCTRL_OSCULP32K_EN32K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_OSCULP32K_EN32K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg ^= OSC32KCTRL_OSCULP32K_EN32K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_OSCULP32K_EN1K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg |= OSC32KCTRL_OSCULP32K_EN1K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_OSCULP32K_EN1K_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp = (tmp & OSC32KCTRL_OSCULP32K_EN1K) >> OSC32KCTRL_OSCULP32K_EN1K_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_OSCULP32K_EN1K_bit(const void *const hw, bool value) -{ - uint32_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp &= ~OSC32KCTRL_OSCULP32K_EN1K; - tmp |= value << OSC32KCTRL_OSCULP32K_EN1K_Pos; - ((Osc32kctrl *)hw)->OSCULP32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_OSCULP32K_EN1K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~OSC32KCTRL_OSCULP32K_EN1K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_OSCULP32K_EN1K_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg ^= OSC32KCTRL_OSCULP32K_EN1K; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_OSCULP32K_WRTLOCK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg |= OSC32KCTRL_OSCULP32K_WRTLOCK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_osc32kctrl_get_OSCULP32K_WRTLOCK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp = (tmp & OSC32KCTRL_OSCULP32K_WRTLOCK) >> OSC32KCTRL_OSCULP32K_WRTLOCK_Pos; - return (bool)tmp; -} - -static inline void hri_osc32kctrl_write_OSCULP32K_WRTLOCK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp &= ~OSC32KCTRL_OSCULP32K_WRTLOCK; - tmp |= value << OSC32KCTRL_OSCULP32K_WRTLOCK_Pos; - ((Osc32kctrl *)hw)->OSCULP32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_OSCULP32K_WRTLOCK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~OSC32KCTRL_OSCULP32K_WRTLOCK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_OSCULP32K_WRTLOCK_bit(const void *const hw) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg ^= OSC32KCTRL_OSCULP32K_WRTLOCK; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_set_OSCULP32K_CALIB_bf(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg |= OSC32KCTRL_OSCULP32K_CALIB(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_get_OSCULP32K_CALIB_bf(const void *const hw, - hri_osc32kctrl_osculp32k_reg_t mask) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp = (tmp & OSC32KCTRL_OSCULP32K_CALIB(mask)) >> OSC32KCTRL_OSCULP32K_CALIB_Pos; - return tmp; -} - -static inline void hri_osc32kctrl_write_OSCULP32K_CALIB_bf(const void *const hw, hri_osc32kctrl_osculp32k_reg_t data) -{ - uint32_t tmp; - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp &= ~OSC32KCTRL_OSCULP32K_CALIB_Msk; - tmp |= OSC32KCTRL_OSCULP32K_CALIB(data); - ((Osc32kctrl *)hw)->OSCULP32K.reg = tmp; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_OSCULP32K_CALIB_bf(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~OSC32KCTRL_OSCULP32K_CALIB(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_OSCULP32K_CALIB_bf(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg ^= OSC32KCTRL_OSCULP32K_CALIB(mask); - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_read_OSCULP32K_CALIB_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp = (tmp & OSC32KCTRL_OSCULP32K_CALIB_Msk) >> OSC32KCTRL_OSCULP32K_CALIB_Pos; - return tmp; -} - -static inline void hri_osc32kctrl_set_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg |= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_get_OSCULP32K_reg(const void *const hw, - hri_osc32kctrl_osculp32k_reg_t mask) -{ - uint32_t tmp; - tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_osc32kctrl_write_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t data) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg = data; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_clear_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_osc32kctrl_toggle_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask) -{ - OSC32KCTRL_CRITICAL_SECTION_ENTER(); - ((Osc32kctrl *)hw)->OSCULP32K.reg ^= mask; - OSC32KCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_read_OSCULP32K_reg(const void *const hw) -{ - return ((Osc32kctrl *)hw)->OSCULP32K.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_OSC32KCTRL_E54_H_INCLUDED */ -#endif /* _SAME54_OSC32KCTRL_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_oscctrl_e54.h b/software/firmware/oracle_same54n19a/hri/hri_oscctrl_e54.h deleted file mode 100644 index f331410..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_oscctrl_e54.h +++ /dev/null @@ -1,4441 +0,0 @@ -/** - * \file - * - * \brief SAM OSCCTRL - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_OSCCTRL_COMPONENT_ -#ifndef _HRI_OSCCTRL_E54_H_INCLUDED_ -#define _HRI_OSCCTRL_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_OSCCTRL_CRITICAL_SECTIONS) -#define OSCCTRL_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define OSCCTRL_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define OSCCTRL_CRITICAL_SECTION_ENTER() -#define OSCCTRL_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_oscctrl_dfllmul_reg_t; -typedef uint32_t hri_oscctrl_dfllval_reg_t; -typedef uint32_t hri_oscctrl_dpllctrlb_reg_t; -typedef uint32_t hri_oscctrl_dpllratio_reg_t; -typedef uint32_t hri_oscctrl_dpllstatus_reg_t; -typedef uint32_t hri_oscctrl_dpllsyncbusy_reg_t; -typedef uint32_t hri_oscctrl_intenset_reg_t; -typedef uint32_t hri_oscctrl_intflag_reg_t; -typedef uint32_t hri_oscctrl_status_reg_t; -typedef uint32_t hri_oscctrl_xoscctrl_reg_t; -typedef uint32_t hri_oscctrldpll_dpllctrlb_reg_t; -typedef uint32_t hri_oscctrldpll_dpllratio_reg_t; -typedef uint32_t hri_oscctrldpll_dpllstatus_reg_t; -typedef uint32_t hri_oscctrldpll_dpllsyncbusy_reg_t; -typedef uint8_t hri_oscctrl_dfllctrla_reg_t; -typedef uint8_t hri_oscctrl_dfllctrlb_reg_t; -typedef uint8_t hri_oscctrl_dfllsync_reg_t; -typedef uint8_t hri_oscctrl_dpllctrla_reg_t; -typedef uint8_t hri_oscctrl_evctrl_reg_t; -typedef uint8_t hri_oscctrldpll_dpllctrla_reg_t; - -static inline void hri_oscctrldpll_wait_for_sync(const void *const hw, hri_oscctrl_dpllsyncbusy_reg_t reg) -{ - while (((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_oscctrldpll_is_syncing(const void *const hw, hri_oscctrl_dpllsyncbusy_reg_t reg) -{ - return ((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg & reg; -} - -static inline void hri_oscctrl_wait_for_sync(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllsyncbusy_reg_t reg) -{ - while (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_oscctrl_is_syncing(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllsyncbusy_reg_t reg) -{ - return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg; -} - -static inline bool hri_oscctrldpll_get_DPLLSYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg & OSCCTRL_DPLLSYNCBUSY_ENABLE) >> OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_oscctrldpll_get_DPLLSYNCBUSY_DPLLRATIO_bit(const void *const hw) -{ - return (((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg & OSCCTRL_DPLLSYNCBUSY_DPLLRATIO) - >> OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos; -} - -static inline hri_oscctrl_dpllsyncbusy_reg_t hri_oscctrldpll_get_DPLLSYNCBUSY_reg(const void *const hw, - hri_oscctrl_dpllsyncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_oscctrl_dpllsyncbusy_reg_t hri_oscctrldpll_read_DPLLSYNCBUSY_reg(const void *const hw) -{ - return ((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg; -} - -static inline bool hri_oscctrldpll_get_DPLLSTATUS_LOCK_bit(const void *const hw) -{ - return (((OscctrlDpll *)hw)->DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) >> OSCCTRL_DPLLSTATUS_LOCK_Pos; -} - -static inline bool hri_oscctrldpll_get_DPLLSTATUS_CLKRDY_bit(const void *const hw) -{ - return (((OscctrlDpll *)hw)->DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) >> OSCCTRL_DPLLSTATUS_CLKRDY_Pos; -} - -static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrldpll_get_DPLLSTATUS_reg(const void *const hw, - hri_oscctrl_dpllstatus_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrldpll_read_DPLLSTATUS_reg(const void *const hw) -{ - return ((OscctrlDpll *)hw)->DPLLSTATUS.reg; -} - -static inline void hri_oscctrldpll_set_DPLLCTRLA_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_ENABLE; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrldpll_get_DPLLCTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLA_ENABLE) >> OSCCTRL_DPLLCTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg; - tmp &= ~OSCCTRL_DPLLCTRLA_ENABLE; - tmp |= value << OSCCTRL_DPLLCTRLA_ENABLE_Pos; - ((OscctrlDpll *)hw)->DPLLCTRLA.reg = tmp; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLA_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_ENABLE; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLA_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_ENABLE; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_set_DPLLCTRLA_RUNSTDBY_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_RUNSTDBY; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrldpll_get_DPLLCTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLA_RUNSTDBY) >> OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg; - tmp &= ~OSCCTRL_DPLLCTRLA_RUNSTDBY; - tmp |= value << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos; - ((OscctrlDpll *)hw)->DPLLCTRLA.reg = tmp; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLA_RUNSTDBY_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_RUNSTDBY; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLA_RUNSTDBY_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_RUNSTDBY; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_set_DPLLCTRLA_ONDEMAND_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_ONDEMAND; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrldpll_get_DPLLCTRLA_ONDEMAND_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLA_ONDEMAND) >> OSCCTRL_DPLLCTRLA_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLA_ONDEMAND_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg; - tmp &= ~OSCCTRL_DPLLCTRLA_ONDEMAND; - tmp |= value << OSCCTRL_DPLLCTRLA_ONDEMAND_Pos; - ((OscctrlDpll *)hw)->DPLLCTRLA.reg = tmp; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLA_ONDEMAND_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_ONDEMAND; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLA_ONDEMAND_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_ONDEMAND; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_set_DPLLCTRLA_reg(const void *const hw, hri_oscctrl_dpllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg |= mask; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrla_reg_t hri_oscctrldpll_get_DPLLCTRLA_reg(const void *const hw, - hri_oscctrl_dpllctrla_reg_t mask) -{ - uint8_t tmp; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLA_reg(const void *const hw, hri_oscctrl_dpllctrla_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg = data; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLA_reg(const void *const hw, hri_oscctrl_dpllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg &= ~mask; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLA_reg(const void *const hw, hri_oscctrl_dpllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLA.reg ^= mask; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrla_reg_t hri_oscctrldpll_read_DPLLCTRLA_reg(const void *const hw) -{ - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE); - return ((OscctrlDpll *)hw)->DPLLCTRLA.reg; -} - -static inline void hri_oscctrldpll_set_DPLLRATIO_LDR_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg |= OSCCTRL_DPLLRATIO_LDR(mask); - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_get_DPLLRATIO_LDR_bf(const void *const hw, - hri_oscctrl_dpllratio_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg; - tmp = (tmp & OSCCTRL_DPLLRATIO_LDR(mask)) >> OSCCTRL_DPLLRATIO_LDR_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLRATIO_LDR_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg; - tmp &= ~OSCCTRL_DPLLRATIO_LDR_Msk; - tmp |= OSCCTRL_DPLLRATIO_LDR(data); - ((OscctrlDpll *)hw)->DPLLRATIO.reg = tmp; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLRATIO_LDR_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg &= ~OSCCTRL_DPLLRATIO_LDR(mask); - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLRATIO_LDR_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg ^= OSCCTRL_DPLLRATIO_LDR(mask); - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_read_DPLLRATIO_LDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg; - tmp = (tmp & OSCCTRL_DPLLRATIO_LDR_Msk) >> OSCCTRL_DPLLRATIO_LDR_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_set_DPLLRATIO_LDRFRAC_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg |= OSCCTRL_DPLLRATIO_LDRFRAC(mask); - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_get_DPLLRATIO_LDRFRAC_bf(const void *const hw, - hri_oscctrl_dpllratio_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg; - tmp = (tmp & OSCCTRL_DPLLRATIO_LDRFRAC(mask)) >> OSCCTRL_DPLLRATIO_LDRFRAC_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLRATIO_LDRFRAC_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg; - tmp &= ~OSCCTRL_DPLLRATIO_LDRFRAC_Msk; - tmp |= OSCCTRL_DPLLRATIO_LDRFRAC(data); - ((OscctrlDpll *)hw)->DPLLRATIO.reg = tmp; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLRATIO_LDRFRAC_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg &= ~OSCCTRL_DPLLRATIO_LDRFRAC(mask); - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLRATIO_LDRFRAC_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg ^= OSCCTRL_DPLLRATIO_LDRFRAC(mask); - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_read_DPLLRATIO_LDRFRAC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg; - tmp = (tmp & OSCCTRL_DPLLRATIO_LDRFRAC_Msk) >> OSCCTRL_DPLLRATIO_LDRFRAC_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_set_DPLLRATIO_reg(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg |= mask; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_get_DPLLRATIO_reg(const void *const hw, - hri_oscctrl_dpllratio_reg_t mask) -{ - uint32_t tmp; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLRATIO_reg(const void *const hw, hri_oscctrl_dpllratio_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg = data; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLRATIO_reg(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg &= ~mask; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLRATIO_reg(const void *const hw, hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLRATIO.reg ^= mask; - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_read_DPLLRATIO_reg(const void *const hw) -{ - hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK); - return ((OscctrlDpll *)hw)->DPLLRATIO.reg; -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_WUF_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_WUF; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrldpll_get_DPLLCTRLB_WUF_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_WUF) >> OSCCTRL_DPLLCTRLB_WUF_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_WUF_bit(const void *const hw, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_WUF; - tmp |= value << OSCCTRL_DPLLCTRLB_WUF_Pos; - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_WUF_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_WUF; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_WUF_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_WUF; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_LBYPASS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_LBYPASS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrldpll_get_DPLLCTRLB_LBYPASS_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_LBYPASS) >> OSCCTRL_DPLLCTRLB_LBYPASS_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_LBYPASS_bit(const void *const hw, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_LBYPASS; - tmp |= value << OSCCTRL_DPLLCTRLB_LBYPASS_Pos; - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_LBYPASS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_LBYPASS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_LBYPASS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_LBYPASS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_DCOEN_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DCOEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrldpll_get_DPLLCTRLB_DCOEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOEN) >> OSCCTRL_DPLLCTRLB_DCOEN_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_DCOEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_DCOEN; - tmp |= value << OSCCTRL_DPLLCTRLB_DCOEN_Pos; - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_DCOEN_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DCOEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_DCOEN_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DCOEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_FILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_FILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_FILTER_bf(const void *const hw, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_FILTER(mask)) >> OSCCTRL_DPLLCTRLB_FILTER_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_FILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_FILTER_Msk; - tmp |= OSCCTRL_DPLLCTRLB_FILTER(data); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_FILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_FILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_FILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_FILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_FILTER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_FILTER_Msk) >> OSCCTRL_DPLLCTRLB_FILTER_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_REFCLK_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_REFCLK(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_REFCLK_bf(const void *const hw, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_REFCLK(mask)) >> OSCCTRL_DPLLCTRLB_REFCLK_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_REFCLK_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_REFCLK_Msk; - tmp |= OSCCTRL_DPLLCTRLB_REFCLK(data); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_REFCLK_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_REFCLK(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_REFCLK_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_REFCLK(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_REFCLK_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_REFCLK_Msk) >> OSCCTRL_DPLLCTRLB_REFCLK_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_LTIME_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_LTIME(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_LTIME_bf(const void *const hw, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_LTIME(mask)) >> OSCCTRL_DPLLCTRLB_LTIME_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_LTIME_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_LTIME_Msk; - tmp |= OSCCTRL_DPLLCTRLB_LTIME(data); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_LTIME_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_LTIME(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_LTIME_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_LTIME(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_LTIME_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_LTIME_Msk) >> OSCCTRL_DPLLCTRLB_LTIME_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_DCOFILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DCOFILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_DCOFILTER_bf(const void *const hw, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOFILTER(mask)) >> OSCCTRL_DPLLCTRLB_DCOFILTER_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_DCOFILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_DCOFILTER_Msk; - tmp |= OSCCTRL_DPLLCTRLB_DCOFILTER(data); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_DCOFILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DCOFILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_DCOFILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DCOFILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_DCOFILTER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOFILTER_Msk) >> OSCCTRL_DPLLCTRLB_DCOFILTER_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_DIV_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DIV(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_DIV_bf(const void *const hw, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DIV(mask)) >> OSCCTRL_DPLLCTRLB_DIV_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_DIV_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_DIV_Msk; - tmp |= OSCCTRL_DPLLCTRLB_DIV(data); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_DIV_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DIV(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_DIV_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DIV(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_DIV_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DIV_Msk) >> OSCCTRL_DPLLCTRLB_DIV_Pos; - return tmp; -} - -static inline void hri_oscctrldpll_set_DPLLCTRLB_reg(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_reg(const void *const hw, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrldpll_write_DPLLCTRLB_reg(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_clear_DPLLCTRLB_reg(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrldpll_toggle_DPLLCTRLB_reg(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_reg(const void *const hw) -{ - return ((OscctrlDpll *)hw)->DPLLCTRLB.reg; -} - -static inline bool hri_oscctrl_get_DPLLSYNCBUSY_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & OSCCTRL_DPLLSYNCBUSY_ENABLE) - >> OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_oscctrl_get_DPLLSYNCBUSY_DPLLRATIO_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & OSCCTRL_DPLLSYNCBUSY_DPLLRATIO) - >> OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos; -} - -static inline hri_oscctrl_dpllsyncbusy_reg_t -hri_oscctrl_get_DPLLSYNCBUSY_reg(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllsyncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_oscctrl_dpllsyncbusy_reg_t hri_oscctrl_read_DPLLSYNCBUSY_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg; -} - -static inline bool hri_oscctrl_get_DPLLSTATUS_LOCK_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) - >> OSCCTRL_DPLLSTATUS_LOCK_Pos; -} - -static inline bool hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) - >> OSCCTRL_DPLLSTATUS_CLKRDY_Pos; -} - -static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrl_get_DPLLSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllstatus_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrl_read_DPLLSTATUS_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg; -} - -static inline void hri_oscctrl_set_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_ENABLE; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLA_ENABLE) >> OSCCTRL_DPLLCTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg; - tmp &= ~OSCCTRL_DPLLCTRLA_ENABLE; - tmp |= value << OSCCTRL_DPLLCTRLA_ENABLE_Pos; - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = tmp; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_ENABLE; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_ENABLE; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_RUNSTDBY; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLA_RUNSTDBY) >> OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg; - tmp &= ~OSCCTRL_DPLLCTRLA_RUNSTDBY; - tmp |= value << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos; - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = tmp; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_RUNSTDBY; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_RUNSTDBY; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_ONDEMAND; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLA_ONDEMAND) >> OSCCTRL_DPLLCTRLA_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg; - tmp &= ~OSCCTRL_DPLLCTRLA_ONDEMAND; - tmp |= value << OSCCTRL_DPLLCTRLA_ONDEMAND_Pos; - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = tmp; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_ONDEMAND; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_ONDEMAND; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg |= mask; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrla_reg_t hri_oscctrl_get_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrla_reg_t mask) -{ - uint8_t tmp; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrla_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = data; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg &= ~mask; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg ^= mask; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrla_reg_t hri_oscctrl_read_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index) -{ - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE); - return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg; -} - -static inline void hri_oscctrl_set_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg |= OSCCTRL_DPLLRATIO_LDR(mask); - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t -hri_oscctrl_get_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllratio_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg; - tmp = (tmp & OSCCTRL_DPLLRATIO_LDR(mask)) >> OSCCTRL_DPLLRATIO_LDR_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg; - tmp &= ~OSCCTRL_DPLLRATIO_LDR_Msk; - tmp |= OSCCTRL_DPLLRATIO_LDR(data); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = tmp; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg &= ~OSCCTRL_DPLLRATIO_LDR(mask); - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg ^= OSCCTRL_DPLLRATIO_LDR(mask); - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrl_read_DPLLRATIO_LDR_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg; - tmp = (tmp & OSCCTRL_DPLLRATIO_LDR_Msk) >> OSCCTRL_DPLLRATIO_LDR_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg |= OSCCTRL_DPLLRATIO_LDRFRAC(mask); - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t -hri_oscctrl_get_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllratio_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg; - tmp = (tmp & OSCCTRL_DPLLRATIO_LDRFRAC(mask)) >> OSCCTRL_DPLLRATIO_LDRFRAC_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg; - tmp &= ~OSCCTRL_DPLLRATIO_LDRFRAC_Msk; - tmp |= OSCCTRL_DPLLRATIO_LDRFRAC(data); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = tmp; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg &= ~OSCCTRL_DPLLRATIO_LDRFRAC(mask); - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg ^= OSCCTRL_DPLLRATIO_LDRFRAC(mask); - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrl_read_DPLLRATIO_LDRFRAC_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg; - tmp = (tmp & OSCCTRL_DPLLRATIO_LDRFRAC_Msk) >> OSCCTRL_DPLLRATIO_LDRFRAC_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg |= mask; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrl_get_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - uint32_t tmp; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = data; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg &= ~mask; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllratio_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg ^= mask; - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllratio_reg_t hri_oscctrl_read_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index) -{ - hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK); - return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg; -} - -static inline void hri_oscctrl_set_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_WUF; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_WUF) >> OSCCTRL_DPLLCTRLB_WUF_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_WUF; - tmp |= value << OSCCTRL_DPLLCTRLB_WUF_Pos; - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_WUF; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_WUF; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_LBYPASS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_LBYPASS) >> OSCCTRL_DPLLCTRLB_LBYPASS_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_LBYPASS; - tmp |= value << OSCCTRL_DPLLCTRLB_LBYPASS_Pos; - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_LBYPASS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_LBYPASS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DCOEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOEN) >> OSCCTRL_DPLLCTRLB_DCOEN_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_DCOEN; - tmp |= value << OSCCTRL_DPLLCTRLB_DCOEN_Pos; - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DCOEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DCOEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_FILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t -hri_oscctrl_get_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_FILTER(mask)) >> OSCCTRL_DPLLCTRLB_FILTER_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_FILTER_Msk; - tmp |= OSCCTRL_DPLLCTRLB_FILTER(data); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_FILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_FILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_FILTER_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_FILTER_Msk) >> OSCCTRL_DPLLCTRLB_FILTER_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_REFCLK(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t -hri_oscctrl_get_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_REFCLK(mask)) >> OSCCTRL_DPLLCTRLB_REFCLK_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_REFCLK_Msk; - tmp |= OSCCTRL_DPLLCTRLB_REFCLK(data); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_REFCLK(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_REFCLK(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_REFCLK_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_REFCLK_Msk) >> OSCCTRL_DPLLCTRLB_REFCLK_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_LTIME(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t -hri_oscctrl_get_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_LTIME(mask)) >> OSCCTRL_DPLLCTRLB_LTIME_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_LTIME_Msk; - tmp |= OSCCTRL_DPLLCTRLB_LTIME(data); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_LTIME(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_LTIME(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_LTIME_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_LTIME_Msk) >> OSCCTRL_DPLLCTRLB_LTIME_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DCOFILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t -hri_oscctrl_get_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOFILTER(mask)) >> OSCCTRL_DPLLCTRLB_DCOFILTER_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_DCOFILTER_Msk; - tmp |= OSCCTRL_DPLLCTRLB_DCOFILTER(data); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DCOFILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DCOFILTER(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_DCOFILTER_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOFILTER_Msk) >> OSCCTRL_DPLLCTRLB_DCOFILTER_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DIV(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t -hri_oscctrl_get_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DIV(mask)) >> OSCCTRL_DPLLCTRLB_DIV_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= ~OSCCTRL_DPLLCTRLB_DIV_Msk; - tmp |= OSCCTRL_DPLLCTRLB_DIV(data); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DIV(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DIV(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_DIV_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DPLLCTRLB_DIV_Msk) >> OSCCTRL_DPLLCTRLB_DIV_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_get_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index, - hri_oscctrl_dpllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg; -} - -static inline bool hri_oscctrl_get_INTFLAG_XOSCRDY0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCRDY0) >> OSCCTRL_INTFLAG_XOSCRDY0_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_XOSCRDY0_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCRDY0; -} - -static inline bool hri_oscctrl_get_INTFLAG_XOSCRDY1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCRDY1) >> OSCCTRL_INTFLAG_XOSCRDY1_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_XOSCRDY1_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCRDY1; -} - -static inline bool hri_oscctrl_get_INTFLAG_XOSCFAIL0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCFAIL0) >> OSCCTRL_INTFLAG_XOSCFAIL0_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_XOSCFAIL0_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCFAIL0; -} - -static inline bool hri_oscctrl_get_INTFLAG_XOSCFAIL1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCFAIL1) >> OSCCTRL_INTFLAG_XOSCFAIL1_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_XOSCFAIL1_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCFAIL1; -} - -static inline bool hri_oscctrl_get_INTFLAG_DFLLRDY_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLRDY) >> OSCCTRL_INTFLAG_DFLLRDY_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DFLLRDY_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLRDY; -} - -static inline bool hri_oscctrl_get_INTFLAG_DFLLOOB_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLOOB) >> OSCCTRL_INTFLAG_DFLLOOB_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DFLLOOB_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLOOB; -} - -static inline bool hri_oscctrl_get_INTFLAG_DFLLLCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLLCKF) >> OSCCTRL_INTFLAG_DFLLLCKF_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DFLLLCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLLCKF; -} - -static inline bool hri_oscctrl_get_INTFLAG_DFLLLCKC_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLLCKC) >> OSCCTRL_INTFLAG_DFLLLCKC_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DFLLLCKC_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLLCKC; -} - -static inline bool hri_oscctrl_get_INTFLAG_DFLLRCS_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLRCS) >> OSCCTRL_INTFLAG_DFLLRCS_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DFLLRCS_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLRCS; -} - -static inline bool hri_oscctrl_get_INTFLAG_DPLL0LCKR_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LCKR) >> OSCCTRL_INTFLAG_DPLL0LCKR_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DPLL0LCKR_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LCKR; -} - -static inline bool hri_oscctrl_get_INTFLAG_DPLL0LCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LCKF) >> OSCCTRL_INTFLAG_DPLL0LCKF_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DPLL0LCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LCKF; -} - -static inline bool hri_oscctrl_get_INTFLAG_DPLL0LTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LTO) >> OSCCTRL_INTFLAG_DPLL0LTO_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DPLL0LTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LTO; -} - -static inline bool hri_oscctrl_get_INTFLAG_DPLL0LDRTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LDRTO) >> OSCCTRL_INTFLAG_DPLL0LDRTO_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DPLL0LDRTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LDRTO; -} - -static inline bool hri_oscctrl_get_INTFLAG_DPLL1LCKR_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LCKR) >> OSCCTRL_INTFLAG_DPLL1LCKR_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DPLL1LCKR_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LCKR; -} - -static inline bool hri_oscctrl_get_INTFLAG_DPLL1LCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LCKF) >> OSCCTRL_INTFLAG_DPLL1LCKF_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DPLL1LCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LCKF; -} - -static inline bool hri_oscctrl_get_INTFLAG_DPLL1LTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LTO) >> OSCCTRL_INTFLAG_DPLL1LTO_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DPLL1LTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LTO; -} - -static inline bool hri_oscctrl_get_INTFLAG_DPLL1LDRTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LDRTO) >> OSCCTRL_INTFLAG_DPLL1LDRTO_Pos; -} - -static inline void hri_oscctrl_clear_INTFLAG_DPLL1LDRTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LDRTO; -} - -static inline bool hri_oscctrl_get_interrupt_XOSCRDY0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCRDY0) >> OSCCTRL_INTFLAG_XOSCRDY0_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_XOSCRDY0_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCRDY0; -} - -static inline bool hri_oscctrl_get_interrupt_XOSCRDY1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCRDY1) >> OSCCTRL_INTFLAG_XOSCRDY1_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_XOSCRDY1_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCRDY1; -} - -static inline bool hri_oscctrl_get_interrupt_XOSCFAIL0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCFAIL0) >> OSCCTRL_INTFLAG_XOSCFAIL0_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_XOSCFAIL0_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCFAIL0; -} - -static inline bool hri_oscctrl_get_interrupt_XOSCFAIL1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCFAIL1) >> OSCCTRL_INTFLAG_XOSCFAIL1_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_XOSCFAIL1_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCFAIL1; -} - -static inline bool hri_oscctrl_get_interrupt_DFLLRDY_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLRDY) >> OSCCTRL_INTFLAG_DFLLRDY_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DFLLRDY_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLRDY; -} - -static inline bool hri_oscctrl_get_interrupt_DFLLOOB_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLOOB) >> OSCCTRL_INTFLAG_DFLLOOB_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DFLLOOB_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLOOB; -} - -static inline bool hri_oscctrl_get_interrupt_DFLLLCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLLCKF) >> OSCCTRL_INTFLAG_DFLLLCKF_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DFLLLCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLLCKF; -} - -static inline bool hri_oscctrl_get_interrupt_DFLLLCKC_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLLCKC) >> OSCCTRL_INTFLAG_DFLLLCKC_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DFLLLCKC_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLLCKC; -} - -static inline bool hri_oscctrl_get_interrupt_DFLLRCS_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLRCS) >> OSCCTRL_INTFLAG_DFLLRCS_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DFLLRCS_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLRCS; -} - -static inline bool hri_oscctrl_get_interrupt_DPLL0LCKR_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LCKR) >> OSCCTRL_INTFLAG_DPLL0LCKR_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DPLL0LCKR_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LCKR; -} - -static inline bool hri_oscctrl_get_interrupt_DPLL0LCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LCKF) >> OSCCTRL_INTFLAG_DPLL0LCKF_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DPLL0LCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LCKF; -} - -static inline bool hri_oscctrl_get_interrupt_DPLL0LTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LTO) >> OSCCTRL_INTFLAG_DPLL0LTO_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DPLL0LTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LTO; -} - -static inline bool hri_oscctrl_get_interrupt_DPLL0LDRTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LDRTO) >> OSCCTRL_INTFLAG_DPLL0LDRTO_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DPLL0LDRTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LDRTO; -} - -static inline bool hri_oscctrl_get_interrupt_DPLL1LCKR_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LCKR) >> OSCCTRL_INTFLAG_DPLL1LCKR_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DPLL1LCKR_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LCKR; -} - -static inline bool hri_oscctrl_get_interrupt_DPLL1LCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LCKF) >> OSCCTRL_INTFLAG_DPLL1LCKF_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DPLL1LCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LCKF; -} - -static inline bool hri_oscctrl_get_interrupt_DPLL1LTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LTO) >> OSCCTRL_INTFLAG_DPLL1LTO_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DPLL1LTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LTO; -} - -static inline bool hri_oscctrl_get_interrupt_DPLL1LDRTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LDRTO) >> OSCCTRL_INTFLAG_DPLL1LDRTO_Pos; -} - -static inline void hri_oscctrl_clear_interrupt_DPLL1LDRTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LDRTO; -} - -static inline hri_oscctrl_intflag_reg_t hri_oscctrl_get_INTFLAG_reg(const void *const hw, - hri_oscctrl_intflag_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_oscctrl_intflag_reg_t hri_oscctrl_read_INTFLAG_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->INTFLAG.reg; -} - -static inline void hri_oscctrl_clear_INTFLAG_reg(const void *const hw, hri_oscctrl_intflag_reg_t mask) -{ - ((Oscctrl *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_oscctrl_set_INTEN_XOSCRDY0_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCRDY0; -} - -static inline bool hri_oscctrl_get_INTEN_XOSCRDY0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_XOSCRDY0) >> OSCCTRL_INTENSET_XOSCRDY0_Pos; -} - -static inline void hri_oscctrl_write_INTEN_XOSCRDY0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCRDY0; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCRDY0; - } -} - -static inline void hri_oscctrl_clear_INTEN_XOSCRDY0_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCRDY0; -} - -static inline void hri_oscctrl_set_INTEN_XOSCRDY1_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCRDY1; -} - -static inline bool hri_oscctrl_get_INTEN_XOSCRDY1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_XOSCRDY1) >> OSCCTRL_INTENSET_XOSCRDY1_Pos; -} - -static inline void hri_oscctrl_write_INTEN_XOSCRDY1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCRDY1; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCRDY1; - } -} - -static inline void hri_oscctrl_clear_INTEN_XOSCRDY1_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCRDY1; -} - -static inline void hri_oscctrl_set_INTEN_XOSCFAIL0_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCFAIL0; -} - -static inline bool hri_oscctrl_get_INTEN_XOSCFAIL0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_XOSCFAIL0) >> OSCCTRL_INTENSET_XOSCFAIL0_Pos; -} - -static inline void hri_oscctrl_write_INTEN_XOSCFAIL0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCFAIL0; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCFAIL0; - } -} - -static inline void hri_oscctrl_clear_INTEN_XOSCFAIL0_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCFAIL0; -} - -static inline void hri_oscctrl_set_INTEN_XOSCFAIL1_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCFAIL1; -} - -static inline bool hri_oscctrl_get_INTEN_XOSCFAIL1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_XOSCFAIL1) >> OSCCTRL_INTENSET_XOSCFAIL1_Pos; -} - -static inline void hri_oscctrl_write_INTEN_XOSCFAIL1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCFAIL1; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCFAIL1; - } -} - -static inline void hri_oscctrl_clear_INTEN_XOSCFAIL1_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCFAIL1; -} - -static inline void hri_oscctrl_set_INTEN_DFLLRDY_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLRDY; -} - -static inline bool hri_oscctrl_get_INTEN_DFLLRDY_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLRDY) >> OSCCTRL_INTENSET_DFLLRDY_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DFLLRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLRDY; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLRDY; - } -} - -static inline void hri_oscctrl_clear_INTEN_DFLLRDY_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLRDY; -} - -static inline void hri_oscctrl_set_INTEN_DFLLOOB_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLOOB; -} - -static inline bool hri_oscctrl_get_INTEN_DFLLOOB_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLOOB) >> OSCCTRL_INTENSET_DFLLOOB_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DFLLOOB_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLOOB; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLOOB; - } -} - -static inline void hri_oscctrl_clear_INTEN_DFLLOOB_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLOOB; -} - -static inline void hri_oscctrl_set_INTEN_DFLLLCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLLCKF; -} - -static inline bool hri_oscctrl_get_INTEN_DFLLLCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLLCKF) >> OSCCTRL_INTENSET_DFLLLCKF_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DFLLLCKF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLLCKF; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLLCKF; - } -} - -static inline void hri_oscctrl_clear_INTEN_DFLLLCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLLCKF; -} - -static inline void hri_oscctrl_set_INTEN_DFLLLCKC_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLLCKC; -} - -static inline bool hri_oscctrl_get_INTEN_DFLLLCKC_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLLCKC) >> OSCCTRL_INTENSET_DFLLLCKC_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DFLLLCKC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLLCKC; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLLCKC; - } -} - -static inline void hri_oscctrl_clear_INTEN_DFLLLCKC_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLLCKC; -} - -static inline void hri_oscctrl_set_INTEN_DFLLRCS_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLRCS; -} - -static inline bool hri_oscctrl_get_INTEN_DFLLRCS_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLRCS) >> OSCCTRL_INTENSET_DFLLRCS_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DFLLRCS_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLRCS; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLRCS; - } -} - -static inline void hri_oscctrl_clear_INTEN_DFLLRCS_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLRCS; -} - -static inline void hri_oscctrl_set_INTEN_DPLL0LCKR_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LCKR; -} - -static inline bool hri_oscctrl_get_INTEN_DPLL0LCKR_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL0LCKR) >> OSCCTRL_INTENSET_DPLL0LCKR_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DPLL0LCKR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LCKR; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LCKR; - } -} - -static inline void hri_oscctrl_clear_INTEN_DPLL0LCKR_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LCKR; -} - -static inline void hri_oscctrl_set_INTEN_DPLL0LCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LCKF; -} - -static inline bool hri_oscctrl_get_INTEN_DPLL0LCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL0LCKF) >> OSCCTRL_INTENSET_DPLL0LCKF_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DPLL0LCKF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LCKF; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LCKF; - } -} - -static inline void hri_oscctrl_clear_INTEN_DPLL0LCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LCKF; -} - -static inline void hri_oscctrl_set_INTEN_DPLL0LTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LTO; -} - -static inline bool hri_oscctrl_get_INTEN_DPLL0LTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL0LTO) >> OSCCTRL_INTENSET_DPLL0LTO_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DPLL0LTO_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LTO; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LTO; - } -} - -static inline void hri_oscctrl_clear_INTEN_DPLL0LTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LTO; -} - -static inline void hri_oscctrl_set_INTEN_DPLL0LDRTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LDRTO; -} - -static inline bool hri_oscctrl_get_INTEN_DPLL0LDRTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL0LDRTO) >> OSCCTRL_INTENSET_DPLL0LDRTO_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DPLL0LDRTO_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LDRTO; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LDRTO; - } -} - -static inline void hri_oscctrl_clear_INTEN_DPLL0LDRTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LDRTO; -} - -static inline void hri_oscctrl_set_INTEN_DPLL1LCKR_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LCKR; -} - -static inline bool hri_oscctrl_get_INTEN_DPLL1LCKR_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL1LCKR) >> OSCCTRL_INTENSET_DPLL1LCKR_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DPLL1LCKR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LCKR; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LCKR; - } -} - -static inline void hri_oscctrl_clear_INTEN_DPLL1LCKR_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LCKR; -} - -static inline void hri_oscctrl_set_INTEN_DPLL1LCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LCKF; -} - -static inline bool hri_oscctrl_get_INTEN_DPLL1LCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL1LCKF) >> OSCCTRL_INTENSET_DPLL1LCKF_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DPLL1LCKF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LCKF; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LCKF; - } -} - -static inline void hri_oscctrl_clear_INTEN_DPLL1LCKF_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LCKF; -} - -static inline void hri_oscctrl_set_INTEN_DPLL1LTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LTO; -} - -static inline bool hri_oscctrl_get_INTEN_DPLL1LTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL1LTO) >> OSCCTRL_INTENSET_DPLL1LTO_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DPLL1LTO_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LTO; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LTO; - } -} - -static inline void hri_oscctrl_clear_INTEN_DPLL1LTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LTO; -} - -static inline void hri_oscctrl_set_INTEN_DPLL1LDRTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LDRTO; -} - -static inline bool hri_oscctrl_get_INTEN_DPLL1LDRTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL1LDRTO) >> OSCCTRL_INTENSET_DPLL1LDRTO_Pos; -} - -static inline void hri_oscctrl_write_INTEN_DPLL1LDRTO_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LDRTO; - } else { - ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LDRTO; - } -} - -static inline void hri_oscctrl_clear_INTEN_DPLL1LDRTO_bit(const void *const hw) -{ - ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LDRTO; -} - -static inline void hri_oscctrl_set_INTEN_reg(const void *const hw, hri_oscctrl_intenset_reg_t mask) -{ - ((Oscctrl *)hw)->INTENSET.reg = mask; -} - -static inline hri_oscctrl_intenset_reg_t hri_oscctrl_get_INTEN_reg(const void *const hw, - hri_oscctrl_intenset_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_oscctrl_intenset_reg_t hri_oscctrl_read_INTEN_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->INTENSET.reg; -} - -static inline void hri_oscctrl_write_INTEN_reg(const void *const hw, hri_oscctrl_intenset_reg_t data) -{ - ((Oscctrl *)hw)->INTENSET.reg = data; - ((Oscctrl *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_oscctrl_clear_INTEN_reg(const void *const hw, hri_oscctrl_intenset_reg_t mask) -{ - ((Oscctrl *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_oscctrl_get_STATUS_XOSCRDY0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCRDY0) >> OSCCTRL_STATUS_XOSCRDY0_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_XOSCRDY1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCRDY1) >> OSCCTRL_STATUS_XOSCRDY1_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_XOSCFAIL0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCFAIL0) >> OSCCTRL_STATUS_XOSCFAIL0_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_XOSCFAIL1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCFAIL1) >> OSCCTRL_STATUS_XOSCFAIL1_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_XOSCCKSW0_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCCKSW0) >> OSCCTRL_STATUS_XOSCCKSW0_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_XOSCCKSW1_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCCKSW1) >> OSCCTRL_STATUS_XOSCCKSW1_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DFLLRDY_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLRDY) >> OSCCTRL_STATUS_DFLLRDY_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DFLLOOB_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLOOB) >> OSCCTRL_STATUS_DFLLOOB_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DFLLLCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLLCKF) >> OSCCTRL_STATUS_DFLLLCKF_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DFLLLCKC_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLLCKC) >> OSCCTRL_STATUS_DFLLLCKC_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DFLLRCS_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLRCS) >> OSCCTRL_STATUS_DFLLRCS_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DPLL0LCKR_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL0LCKR) >> OSCCTRL_STATUS_DPLL0LCKR_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DPLL0LCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL0LCKF) >> OSCCTRL_STATUS_DPLL0LCKF_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DPLL0TO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL0TO) >> OSCCTRL_STATUS_DPLL0TO_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DPLL0LDRTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL0LDRTO) >> OSCCTRL_STATUS_DPLL0LDRTO_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DPLL1LCKR_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL1LCKR) >> OSCCTRL_STATUS_DPLL1LCKR_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DPLL1LCKF_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL1LCKF) >> OSCCTRL_STATUS_DPLL1LCKF_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DPLL1TO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL1TO) >> OSCCTRL_STATUS_DPLL1TO_Pos; -} - -static inline bool hri_oscctrl_get_STATUS_DPLL1LDRTO_bit(const void *const hw) -{ - return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL1LDRTO) >> OSCCTRL_STATUS_DPLL1LDRTO_Pos; -} - -static inline hri_oscctrl_status_reg_t hri_oscctrl_get_STATUS_reg(const void *const hw, hri_oscctrl_status_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_oscctrl_status_reg_t hri_oscctrl_read_STATUS_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->STATUS.reg; -} - -static inline void hri_oscctrl_set_EVCTRL_CFDEO0_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg |= OSCCTRL_EVCTRL_CFDEO0; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_EVCTRL_CFDEO0_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->EVCTRL.reg; - tmp = (tmp & OSCCTRL_EVCTRL_CFDEO0) >> OSCCTRL_EVCTRL_CFDEO0_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_EVCTRL_CFDEO0_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->EVCTRL.reg; - tmp &= ~OSCCTRL_EVCTRL_CFDEO0; - tmp |= value << OSCCTRL_EVCTRL_CFDEO0_Pos; - ((Oscctrl *)hw)->EVCTRL.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_EVCTRL_CFDEO0_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg &= ~OSCCTRL_EVCTRL_CFDEO0; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_EVCTRL_CFDEO0_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg ^= OSCCTRL_EVCTRL_CFDEO0; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_EVCTRL_CFDEO1_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg |= OSCCTRL_EVCTRL_CFDEO1; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_EVCTRL_CFDEO1_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->EVCTRL.reg; - tmp = (tmp & OSCCTRL_EVCTRL_CFDEO1) >> OSCCTRL_EVCTRL_CFDEO1_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_EVCTRL_CFDEO1_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->EVCTRL.reg; - tmp &= ~OSCCTRL_EVCTRL_CFDEO1; - tmp |= value << OSCCTRL_EVCTRL_CFDEO1_Pos; - ((Oscctrl *)hw)->EVCTRL.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_EVCTRL_CFDEO1_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg &= ~OSCCTRL_EVCTRL_CFDEO1; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_EVCTRL_CFDEO1_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg ^= OSCCTRL_EVCTRL_CFDEO1; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_evctrl_reg_t hri_oscctrl_get_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->EVCTRL.reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_evctrl_reg_t hri_oscctrl_read_EVCTRL_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->EVCTRL.reg; -} - -static inline void hri_oscctrl_set_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_ENABLE) >> OSCCTRL_XOSCCTRL_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_ENABLE; - tmp |= value << OSCCTRL_XOSCCTRL_ENABLE_Pos; - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_XTALEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_XTALEN) >> OSCCTRL_XOSCCTRL_XTALEN_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_XTALEN; - tmp |= value << OSCCTRL_XOSCCTRL_XTALEN_Pos; - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_XTALEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_XTALEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_RUNSTDBY; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_RUNSTDBY) >> OSCCTRL_XOSCCTRL_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_RUNSTDBY; - tmp |= value << OSCCTRL_XOSCCTRL_RUNSTDBY_Pos; - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_RUNSTDBY; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_RUNSTDBY; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_ONDEMAND; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_ONDEMAND) >> OSCCTRL_XOSCCTRL_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_ONDEMAND; - tmp |= value << OSCCTRL_XOSCCTRL_ONDEMAND_Pos; - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_ONDEMAND; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_ONDEMAND; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_LOWBUFGAIN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_LOWBUFGAIN) >> OSCCTRL_XOSCCTRL_LOWBUFGAIN_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_LOWBUFGAIN; - tmp |= value << OSCCTRL_XOSCCTRL_LOWBUFGAIN_Pos; - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_LOWBUFGAIN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_LOWBUFGAIN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_ENALC; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_ENALC) >> OSCCTRL_XOSCCTRL_ENALC_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_ENALC; - tmp |= value << OSCCTRL_XOSCCTRL_ENALC_Pos; - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_ENALC; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_ENALC; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_CFDEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_CFDEN) >> OSCCTRL_XOSCCTRL_CFDEN_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_CFDEN; - tmp |= value << OSCCTRL_XOSCCTRL_CFDEN_Pos; - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_CFDEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_CFDEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_SWBEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_SWBEN) >> OSCCTRL_XOSCCTRL_SWBEN_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_SWBEN; - tmp |= value << OSCCTRL_XOSCCTRL_SWBEN_Pos; - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_SWBEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_SWBEN; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_IPTAT(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_IPTAT(mask)) >> OSCCTRL_XOSCCTRL_IPTAT_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_IPTAT_Msk; - tmp |= OSCCTRL_XOSCCTRL_IPTAT(data); - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_IPTAT(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_IPTAT(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_IPTAT_Msk) >> OSCCTRL_XOSCCTRL_IPTAT_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_IMULT(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_IMULT(mask)) >> OSCCTRL_XOSCCTRL_IMULT_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_IMULT_Msk; - tmp |= OSCCTRL_XOSCCTRL_IMULT(data); - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_IMULT(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_IMULT(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_IMULT_Msk) >> OSCCTRL_XOSCCTRL_IMULT_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_STARTUP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_STARTUP(mask)) >> OSCCTRL_XOSCCTRL_STARTUP_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_STARTUP_Msk; - tmp |= OSCCTRL_XOSCCTRL_STARTUP(data); - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_STARTUP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_STARTUP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_STARTUP_Msk) >> OSCCTRL_XOSCCTRL_STARTUP_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_CFDPRESC(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_CFDPRESC(mask)) >> OSCCTRL_XOSCCTRL_CFDPRESC_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= ~OSCCTRL_XOSCCTRL_CFDPRESC_Msk; - tmp |= OSCCTRL_XOSCCTRL_CFDPRESC(data); - ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_CFDPRESC(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_CFDPRESC(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp = (tmp & OSCCTRL_XOSCCTRL_CFDPRESC_Msk) >> OSCCTRL_XOSCCTRL_CFDPRESC_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_XOSCCTRL_reg(const void *const hw, uint8_t index, hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_reg(const void *const hw, uint8_t index, - hri_oscctrl_xoscctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_XOSCCTRL_reg(const void *const hw, uint8_t index, hri_oscctrl_xoscctrl_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_XOSCCTRL_reg(const void *const hw, uint8_t index, hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_XOSCCTRL_reg(const void *const hw, uint8_t index, hri_oscctrl_xoscctrl_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_reg(const void *const hw, uint8_t index) -{ - return ((Oscctrl *)hw)->XOSCCTRL[index].reg; -} - -static inline void hri_oscctrl_set_DFLLCTRLA_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg |= OSCCTRL_DFLLCTRLA_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLA_ENABLE) >> OSCCTRL_DFLLCTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg; - tmp &= ~OSCCTRL_DFLLCTRLA_ENABLE; - tmp |= value << OSCCTRL_DFLLCTRLA_ENABLE_Pos; - ((Oscctrl *)hw)->DFLLCTRLA.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLA_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg &= ~OSCCTRL_DFLLCTRLA_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLA_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg ^= OSCCTRL_DFLLCTRLA_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLA_RUNSTDBY_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg |= OSCCTRL_DFLLCTRLA_RUNSTDBY; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLA_RUNSTDBY) >> OSCCTRL_DFLLCTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg; - tmp &= ~OSCCTRL_DFLLCTRLA_RUNSTDBY; - tmp |= value << OSCCTRL_DFLLCTRLA_RUNSTDBY_Pos; - ((Oscctrl *)hw)->DFLLCTRLA.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLA_RUNSTDBY_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg &= ~OSCCTRL_DFLLCTRLA_RUNSTDBY; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLA_RUNSTDBY_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg ^= OSCCTRL_DFLLCTRLA_RUNSTDBY; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLA_ONDEMAND_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg |= OSCCTRL_DFLLCTRLA_ONDEMAND; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLA_ONDEMAND_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLA_ONDEMAND) >> OSCCTRL_DFLLCTRLA_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLA_ONDEMAND_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg; - tmp &= ~OSCCTRL_DFLLCTRLA_ONDEMAND; - tmp |= value << OSCCTRL_DFLLCTRLA_ONDEMAND_Pos; - ((Oscctrl *)hw)->DFLLCTRLA.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLA_ONDEMAND_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg &= ~OSCCTRL_DFLLCTRLA_ONDEMAND; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLA_ONDEMAND_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg ^= OSCCTRL_DFLLCTRLA_ONDEMAND; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLA_reg(const void *const hw, hri_oscctrl_dfllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllctrla_reg_t hri_oscctrl_get_DFLLCTRLA_reg(const void *const hw, - hri_oscctrl_dfllctrla_reg_t mask) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLA_reg(const void *const hw, hri_oscctrl_dfllctrla_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLA_reg(const void *const hw, hri_oscctrl_dfllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLA_reg(const void *const hw, hri_oscctrl_dfllctrla_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLA.reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllctrla_reg_t hri_oscctrl_read_DFLLCTRLA_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->DFLLCTRLA.reg; -} - -static inline void hri_oscctrl_set_DFLLCTRLB_MODE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_MODE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLB_MODE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLB_MODE) >> OSCCTRL_DFLLCTRLB_MODE_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_MODE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= ~OSCCTRL_DFLLCTRLB_MODE; - tmp |= value << OSCCTRL_DFLLCTRLB_MODE_Pos; - ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_MODE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_MODE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_MODE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_MODE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLB_STABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_STABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLB_STABLE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLB_STABLE) >> OSCCTRL_DFLLCTRLB_STABLE_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_STABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= ~OSCCTRL_DFLLCTRLB_STABLE; - tmp |= value << OSCCTRL_DFLLCTRLB_STABLE_Pos; - ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_STABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_STABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_STABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_STABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLB_LLAW_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_LLAW; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLB_LLAW_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLB_LLAW) >> OSCCTRL_DFLLCTRLB_LLAW_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_LLAW_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= ~OSCCTRL_DFLLCTRLB_LLAW; - tmp |= value << OSCCTRL_DFLLCTRLB_LLAW_Pos; - ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_LLAW_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_LLAW; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_LLAW_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_LLAW; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLB_USBCRM_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_USBCRM; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLB_USBCRM_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLB_USBCRM) >> OSCCTRL_DFLLCTRLB_USBCRM_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_USBCRM_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= ~OSCCTRL_DFLLCTRLB_USBCRM; - tmp |= value << OSCCTRL_DFLLCTRLB_USBCRM_Pos; - ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_USBCRM_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_USBCRM; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_USBCRM_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_USBCRM; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLB_CCDIS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_CCDIS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLB_CCDIS_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLB_CCDIS) >> OSCCTRL_DFLLCTRLB_CCDIS_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_CCDIS_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= ~OSCCTRL_DFLLCTRLB_CCDIS; - tmp |= value << OSCCTRL_DFLLCTRLB_CCDIS_Pos; - ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_CCDIS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_CCDIS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_CCDIS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_CCDIS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLB_QLDIS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_QLDIS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLB_QLDIS_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLB_QLDIS) >> OSCCTRL_DFLLCTRLB_QLDIS_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_QLDIS_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= ~OSCCTRL_DFLLCTRLB_QLDIS; - tmp |= value << OSCCTRL_DFLLCTRLB_QLDIS_Pos; - ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_QLDIS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_QLDIS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_QLDIS_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_QLDIS; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLB_BPLCKC_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_BPLCKC; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLB_BPLCKC_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLB_BPLCKC) >> OSCCTRL_DFLLCTRLB_BPLCKC_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_BPLCKC_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= ~OSCCTRL_DFLLCTRLB_BPLCKC; - tmp |= value << OSCCTRL_DFLLCTRLB_BPLCKC_Pos; - ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_BPLCKC_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_BPLCKC; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_BPLCKC_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_BPLCKC; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLB_WAITLOCK_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_WAITLOCK; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLCTRLB_WAITLOCK_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp = (tmp & OSCCTRL_DFLLCTRLB_WAITLOCK) >> OSCCTRL_DFLLCTRLB_WAITLOCK_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_WAITLOCK_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= ~OSCCTRL_DFLLCTRLB_WAITLOCK; - tmp |= value << OSCCTRL_DFLLCTRLB_WAITLOCK_Pos; - ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_WAITLOCK_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_WAITLOCK; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_WAITLOCK_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_WAITLOCK; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLCTRLB_reg(const void *const hw, hri_oscctrl_dfllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllctrlb_reg_t hri_oscctrl_get_DFLLCTRLB_reg(const void *const hw, - hri_oscctrl_dfllctrlb_reg_t mask) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLCTRLB_reg(const void *const hw, hri_oscctrl_dfllctrlb_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLCTRLB_reg(const void *const hw, hri_oscctrl_dfllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLCTRLB_reg(const void *const hw, hri_oscctrl_dfllctrlb_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLCTRLB.reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllctrlb_reg_t hri_oscctrl_read_DFLLCTRLB_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->DFLLCTRLB.reg; -} - -static inline void hri_oscctrl_set_DFLLVAL_FINE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg |= OSCCTRL_DFLLVAL_FINE(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_get_DFLLVAL_FINE_bf(const void *const hw, - hri_oscctrl_dfllval_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp = (tmp & OSCCTRL_DFLLVAL_FINE(mask)) >> OSCCTRL_DFLLVAL_FINE_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLVAL_FINE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp &= ~OSCCTRL_DFLLVAL_FINE_Msk; - tmp |= OSCCTRL_DFLLVAL_FINE(data); - ((Oscctrl *)hw)->DFLLVAL.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLVAL_FINE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg &= ~OSCCTRL_DFLLVAL_FINE(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLVAL_FINE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg ^= OSCCTRL_DFLLVAL_FINE(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_read_DFLLVAL_FINE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp = (tmp & OSCCTRL_DFLLVAL_FINE_Msk) >> OSCCTRL_DFLLVAL_FINE_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DFLLVAL_COARSE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg |= OSCCTRL_DFLLVAL_COARSE(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_get_DFLLVAL_COARSE_bf(const void *const hw, - hri_oscctrl_dfllval_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp = (tmp & OSCCTRL_DFLLVAL_COARSE(mask)) >> OSCCTRL_DFLLVAL_COARSE_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLVAL_COARSE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp &= ~OSCCTRL_DFLLVAL_COARSE_Msk; - tmp |= OSCCTRL_DFLLVAL_COARSE(data); - ((Oscctrl *)hw)->DFLLVAL.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLVAL_COARSE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg &= ~OSCCTRL_DFLLVAL_COARSE(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLVAL_COARSE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg ^= OSCCTRL_DFLLVAL_COARSE(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_read_DFLLVAL_COARSE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp = (tmp & OSCCTRL_DFLLVAL_COARSE_Msk) >> OSCCTRL_DFLLVAL_COARSE_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DFLLVAL_DIFF_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg |= OSCCTRL_DFLLVAL_DIFF(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_get_DFLLVAL_DIFF_bf(const void *const hw, - hri_oscctrl_dfllval_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp = (tmp & OSCCTRL_DFLLVAL_DIFF(mask)) >> OSCCTRL_DFLLVAL_DIFF_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLVAL_DIFF_bf(const void *const hw, hri_oscctrl_dfllval_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp &= ~OSCCTRL_DFLLVAL_DIFF_Msk; - tmp |= OSCCTRL_DFLLVAL_DIFF(data); - ((Oscctrl *)hw)->DFLLVAL.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLVAL_DIFF_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg &= ~OSCCTRL_DFLLVAL_DIFF(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLVAL_DIFF_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg ^= OSCCTRL_DFLLVAL_DIFF(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_read_DFLLVAL_DIFF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp = (tmp & OSCCTRL_DFLLVAL_DIFF_Msk) >> OSCCTRL_DFLLVAL_DIFF_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DFLLVAL_reg(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_get_DFLLVAL_reg(const void *const hw, - hri_oscctrl_dfllval_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLVAL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLVAL_reg(const void *const hw, hri_oscctrl_dfllval_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLVAL_reg(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLVAL_reg(const void *const hw, hri_oscctrl_dfllval_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLVAL.reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_read_DFLLVAL_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->DFLLVAL.reg; -} - -static inline void hri_oscctrl_set_DFLLMUL_MUL_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg |= OSCCTRL_DFLLMUL_MUL(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_get_DFLLMUL_MUL_bf(const void *const hw, - hri_oscctrl_dfllmul_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp = (tmp & OSCCTRL_DFLLMUL_MUL(mask)) >> OSCCTRL_DFLLMUL_MUL_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLMUL_MUL_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp &= ~OSCCTRL_DFLLMUL_MUL_Msk; - tmp |= OSCCTRL_DFLLMUL_MUL(data); - ((Oscctrl *)hw)->DFLLMUL.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLMUL_MUL_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg &= ~OSCCTRL_DFLLMUL_MUL(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLMUL_MUL_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg ^= OSCCTRL_DFLLMUL_MUL(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_read_DFLLMUL_MUL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp = (tmp & OSCCTRL_DFLLMUL_MUL_Msk) >> OSCCTRL_DFLLMUL_MUL_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DFLLMUL_FSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg |= OSCCTRL_DFLLMUL_FSTEP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_get_DFLLMUL_FSTEP_bf(const void *const hw, - hri_oscctrl_dfllmul_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp = (tmp & OSCCTRL_DFLLMUL_FSTEP(mask)) >> OSCCTRL_DFLLMUL_FSTEP_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLMUL_FSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp &= ~OSCCTRL_DFLLMUL_FSTEP_Msk; - tmp |= OSCCTRL_DFLLMUL_FSTEP(data); - ((Oscctrl *)hw)->DFLLMUL.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLMUL_FSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg &= ~OSCCTRL_DFLLMUL_FSTEP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLMUL_FSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg ^= OSCCTRL_DFLLMUL_FSTEP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_read_DFLLMUL_FSTEP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp = (tmp & OSCCTRL_DFLLMUL_FSTEP_Msk) >> OSCCTRL_DFLLMUL_FSTEP_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DFLLMUL_CSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg |= OSCCTRL_DFLLMUL_CSTEP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_get_DFLLMUL_CSTEP_bf(const void *const hw, - hri_oscctrl_dfllmul_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp = (tmp & OSCCTRL_DFLLMUL_CSTEP(mask)) >> OSCCTRL_DFLLMUL_CSTEP_Pos; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLMUL_CSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t data) -{ - uint32_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp &= ~OSCCTRL_DFLLMUL_CSTEP_Msk; - tmp |= OSCCTRL_DFLLMUL_CSTEP(data); - ((Oscctrl *)hw)->DFLLMUL.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLMUL_CSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg &= ~OSCCTRL_DFLLMUL_CSTEP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLMUL_CSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg ^= OSCCTRL_DFLLMUL_CSTEP(mask); - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_read_DFLLMUL_CSTEP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp = (tmp & OSCCTRL_DFLLMUL_CSTEP_Msk) >> OSCCTRL_DFLLMUL_CSTEP_Pos; - return tmp; -} - -static inline void hri_oscctrl_set_DFLLMUL_reg(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_get_DFLLMUL_reg(const void *const hw, - hri_oscctrl_dfllmul_reg_t mask) -{ - uint32_t tmp; - tmp = ((Oscctrl *)hw)->DFLLMUL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLMUL_reg(const void *const hw, hri_oscctrl_dfllmul_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLMUL_reg(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLMUL_reg(const void *const hw, hri_oscctrl_dfllmul_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLMUL.reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_read_DFLLMUL_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->DFLLMUL.reg; -} - -static inline void hri_oscctrl_set_DFLLSYNC_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg |= OSCCTRL_DFLLSYNC_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLSYNC_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp = (tmp & OSCCTRL_DFLLSYNC_ENABLE) >> OSCCTRL_DFLLSYNC_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLSYNC_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp &= ~OSCCTRL_DFLLSYNC_ENABLE; - tmp |= value << OSCCTRL_DFLLSYNC_ENABLE_Pos; - ((Oscctrl *)hw)->DFLLSYNC.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLSYNC_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg &= ~OSCCTRL_DFLLSYNC_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLSYNC_ENABLE_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg ^= OSCCTRL_DFLLSYNC_ENABLE; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLSYNC_DFLLCTRLB_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg |= OSCCTRL_DFLLSYNC_DFLLCTRLB; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLSYNC_DFLLCTRLB_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp = (tmp & OSCCTRL_DFLLSYNC_DFLLCTRLB) >> OSCCTRL_DFLLSYNC_DFLLCTRLB_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLSYNC_DFLLCTRLB_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp &= ~OSCCTRL_DFLLSYNC_DFLLCTRLB; - tmp |= value << OSCCTRL_DFLLSYNC_DFLLCTRLB_Pos; - ((Oscctrl *)hw)->DFLLSYNC.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLSYNC_DFLLCTRLB_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg &= ~OSCCTRL_DFLLSYNC_DFLLCTRLB; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLSYNC_DFLLCTRLB_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg ^= OSCCTRL_DFLLSYNC_DFLLCTRLB; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLSYNC_DFLLVAL_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg |= OSCCTRL_DFLLSYNC_DFLLVAL; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLSYNC_DFLLVAL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp = (tmp & OSCCTRL_DFLLSYNC_DFLLVAL) >> OSCCTRL_DFLLSYNC_DFLLVAL_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLSYNC_DFLLVAL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp &= ~OSCCTRL_DFLLSYNC_DFLLVAL; - tmp |= value << OSCCTRL_DFLLSYNC_DFLLVAL_Pos; - ((Oscctrl *)hw)->DFLLSYNC.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLSYNC_DFLLVAL_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg &= ~OSCCTRL_DFLLSYNC_DFLLVAL; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLSYNC_DFLLVAL_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg ^= OSCCTRL_DFLLSYNC_DFLLVAL; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLSYNC_DFLLMUL_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg |= OSCCTRL_DFLLSYNC_DFLLMUL; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_oscctrl_get_DFLLSYNC_DFLLMUL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp = (tmp & OSCCTRL_DFLLSYNC_DFLLMUL) >> OSCCTRL_DFLLSYNC_DFLLMUL_Pos; - return (bool)tmp; -} - -static inline void hri_oscctrl_write_DFLLSYNC_DFLLMUL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - OSCCTRL_CRITICAL_SECTION_ENTER(); - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp &= ~OSCCTRL_DFLLSYNC_DFLLMUL; - tmp |= value << OSCCTRL_DFLLSYNC_DFLLMUL_Pos; - ((Oscctrl *)hw)->DFLLSYNC.reg = tmp; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLSYNC_DFLLMUL_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg &= ~OSCCTRL_DFLLSYNC_DFLLMUL; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLSYNC_DFLLMUL_bit(const void *const hw) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg ^= OSCCTRL_DFLLSYNC_DFLLMUL; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_set_DFLLSYNC_reg(const void *const hw, hri_oscctrl_dfllsync_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg |= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllsync_reg_t hri_oscctrl_get_DFLLSYNC_reg(const void *const hw, - hri_oscctrl_dfllsync_reg_t mask) -{ - uint8_t tmp; - tmp = ((Oscctrl *)hw)->DFLLSYNC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_oscctrl_write_DFLLSYNC_reg(const void *const hw, hri_oscctrl_dfllsync_reg_t data) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg = data; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_clear_DFLLSYNC_reg(const void *const hw, hri_oscctrl_dfllsync_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg &= ~mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_oscctrl_toggle_DFLLSYNC_reg(const void *const hw, hri_oscctrl_dfllsync_reg_t mask) -{ - OSCCTRL_CRITICAL_SECTION_ENTER(); - ((Oscctrl *)hw)->DFLLSYNC.reg ^= mask; - OSCCTRL_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_oscctrl_dfllsync_reg_t hri_oscctrl_read_DFLLSYNC_reg(const void *const hw) -{ - return ((Oscctrl *)hw)->DFLLSYNC.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_OSCCTRL_E54_H_INCLUDED */ -#endif /* _SAME54_OSCCTRL_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_pac_e54.h b/software/firmware/oracle_same54n19a/hri/hri_pac_e54.h deleted file mode 100644 index 8963135..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_pac_e54.h +++ /dev/null @@ -1,1514 +0,0 @@ -/** - * \file - * - * \brief SAM PAC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_PAC_COMPONENT_ -#ifndef _HRI_PAC_E54_H_INCLUDED_ -#define _HRI_PAC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_PAC_CRITICAL_SECTIONS) -#define PAC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define PAC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define PAC_CRITICAL_SECTION_ENTER() -#define PAC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_pac_intflaga_reg_t; -typedef uint32_t hri_pac_intflagahb_reg_t; -typedef uint32_t hri_pac_intflagb_reg_t; -typedef uint32_t hri_pac_intflagc_reg_t; -typedef uint32_t hri_pac_intflagd_reg_t; -typedef uint32_t hri_pac_statusa_reg_t; -typedef uint32_t hri_pac_statusb_reg_t; -typedef uint32_t hri_pac_statusc_reg_t; -typedef uint32_t hri_pac_statusd_reg_t; -typedef uint32_t hri_pac_wrctrl_reg_t; -typedef uint8_t hri_pac_evctrl_reg_t; -typedef uint8_t hri_pac_intenset_reg_t; - -static inline bool hri_pac_get_INTFLAGAHB_FLASH_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_FLASH) >> PAC_INTFLAGAHB_FLASH_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_FLASH_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_FLASH; -} - -static inline bool hri_pac_get_INTFLAGAHB_FLASH_ALT_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_FLASH_ALT) >> PAC_INTFLAGAHB_FLASH_ALT_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_FLASH_ALT_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_FLASH_ALT; -} - -static inline bool hri_pac_get_INTFLAGAHB_SEEPROM_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_SEEPROM) >> PAC_INTFLAGAHB_SEEPROM_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_SEEPROM_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_SEEPROM; -} - -static inline bool hri_pac_get_INTFLAGAHB_RAMCM4S_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_RAMCM4S) >> PAC_INTFLAGAHB_RAMCM4S_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_RAMCM4S_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_RAMCM4S; -} - -static inline bool hri_pac_get_INTFLAGAHB_RAMPPPDSU_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_RAMPPPDSU) >> PAC_INTFLAGAHB_RAMPPPDSU_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_RAMPPPDSU_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_RAMPPPDSU; -} - -static inline bool hri_pac_get_INTFLAGAHB_RAMDMAWR_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_RAMDMAWR) >> PAC_INTFLAGAHB_RAMDMAWR_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_RAMDMAWR_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_RAMDMAWR; -} - -static inline bool hri_pac_get_INTFLAGAHB_RAMDMACICM_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_RAMDMACICM) >> PAC_INTFLAGAHB_RAMDMACICM_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_RAMDMACICM_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_RAMDMACICM; -} - -static inline bool hri_pac_get_INTFLAGAHB_HPB0_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_HPB0) >> PAC_INTFLAGAHB_HPB0_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_HPB0_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_HPB0; -} - -static inline bool hri_pac_get_INTFLAGAHB_HPB1_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_HPB1) >> PAC_INTFLAGAHB_HPB1_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_HPB1_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_HPB1; -} - -static inline bool hri_pac_get_INTFLAGAHB_HPB2_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_HPB2) >> PAC_INTFLAGAHB_HPB2_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_HPB2_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_HPB2; -} - -static inline bool hri_pac_get_INTFLAGAHB_HPB3_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_HPB3) >> PAC_INTFLAGAHB_HPB3_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_HPB3_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_HPB3; -} - -static inline bool hri_pac_get_INTFLAGAHB_PUKCC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_PUKCC) >> PAC_INTFLAGAHB_PUKCC_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_PUKCC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_PUKCC; -} - -static inline bool hri_pac_get_INTFLAGAHB_SDHC0_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_SDHC0) >> PAC_INTFLAGAHB_SDHC0_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_SDHC0_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_SDHC0; -} - -static inline bool hri_pac_get_INTFLAGAHB_SDHC1_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_SDHC1) >> PAC_INTFLAGAHB_SDHC1_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_SDHC1_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_SDHC1; -} - -static inline bool hri_pac_get_INTFLAGAHB_QSPI_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_QSPI) >> PAC_INTFLAGAHB_QSPI_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_QSPI_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_QSPI; -} - -static inline bool hri_pac_get_INTFLAGAHB_BKUPRAM_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_BKUPRAM) >> PAC_INTFLAGAHB_BKUPRAM_Pos; -} - -static inline void hri_pac_clear_INTFLAGAHB_BKUPRAM_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_BKUPRAM; -} - -static inline hri_pac_intflagahb_reg_t hri_pac_get_INTFLAGAHB_reg(const void *const hw, hri_pac_intflagahb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->INTFLAGAHB.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_intflagahb_reg_t hri_pac_read_INTFLAGAHB_reg(const void *const hw) -{ - return ((Pac *)hw)->INTFLAGAHB.reg; -} - -static inline void hri_pac_clear_INTFLAGAHB_reg(const void *const hw, hri_pac_intflagahb_reg_t mask) -{ - ((Pac *)hw)->INTFLAGAHB.reg = mask; -} - -static inline bool hri_pac_get_INTFLAGA_PAC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_PAC) >> PAC_INTFLAGA_PAC_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_PAC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_PAC; -} - -static inline bool hri_pac_get_INTFLAGA_PM_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_PM) >> PAC_INTFLAGA_PM_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_PM_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_PM; -} - -static inline bool hri_pac_get_INTFLAGA_MCLK_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_MCLK) >> PAC_INTFLAGA_MCLK_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_MCLK_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_MCLK; -} - -static inline bool hri_pac_get_INTFLAGA_RSTC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_RSTC) >> PAC_INTFLAGA_RSTC_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_RSTC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_RSTC; -} - -static inline bool hri_pac_get_INTFLAGA_OSCCTRL_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_OSCCTRL) >> PAC_INTFLAGA_OSCCTRL_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_OSCCTRL_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_OSCCTRL; -} - -static inline bool hri_pac_get_INTFLAGA_OSC32KCTRL_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_OSC32KCTRL) >> PAC_INTFLAGA_OSC32KCTRL_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_OSC32KCTRL_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_OSC32KCTRL; -} - -static inline bool hri_pac_get_INTFLAGA_SUPC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_SUPC) >> PAC_INTFLAGA_SUPC_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_SUPC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_SUPC; -} - -static inline bool hri_pac_get_INTFLAGA_GCLK_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_GCLK) >> PAC_INTFLAGA_GCLK_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_GCLK_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_GCLK; -} - -static inline bool hri_pac_get_INTFLAGA_WDT_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_WDT) >> PAC_INTFLAGA_WDT_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_WDT_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_WDT; -} - -static inline bool hri_pac_get_INTFLAGA_RTC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_RTC) >> PAC_INTFLAGA_RTC_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_RTC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_RTC; -} - -static inline bool hri_pac_get_INTFLAGA_EIC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_EIC) >> PAC_INTFLAGA_EIC_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_EIC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_EIC; -} - -static inline bool hri_pac_get_INTFLAGA_FREQM_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_FREQM) >> PAC_INTFLAGA_FREQM_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_FREQM_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_FREQM; -} - -static inline bool hri_pac_get_INTFLAGA_SERCOM0_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_SERCOM0) >> PAC_INTFLAGA_SERCOM0_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_SERCOM0_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_SERCOM0; -} - -static inline bool hri_pac_get_INTFLAGA_SERCOM1_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_SERCOM1) >> PAC_INTFLAGA_SERCOM1_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_SERCOM1_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_SERCOM1; -} - -static inline bool hri_pac_get_INTFLAGA_TC0_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_TC0) >> PAC_INTFLAGA_TC0_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_TC0_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_TC0; -} - -static inline bool hri_pac_get_INTFLAGA_TC1_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_TC1) >> PAC_INTFLAGA_TC1_Pos; -} - -static inline void hri_pac_clear_INTFLAGA_TC1_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_TC1; -} - -static inline hri_pac_intflaga_reg_t hri_pac_get_INTFLAGA_reg(const void *const hw, hri_pac_intflaga_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->INTFLAGA.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_intflaga_reg_t hri_pac_read_INTFLAGA_reg(const void *const hw) -{ - return ((Pac *)hw)->INTFLAGA.reg; -} - -static inline void hri_pac_clear_INTFLAGA_reg(const void *const hw, hri_pac_intflaga_reg_t mask) -{ - ((Pac *)hw)->INTFLAGA.reg = mask; -} - -static inline bool hri_pac_get_INTFLAGB_USB_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_USB) >> PAC_INTFLAGB_USB_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_USB_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_USB; -} - -static inline bool hri_pac_get_INTFLAGB_DSU_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_DSU) >> PAC_INTFLAGB_DSU_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_DSU_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_DSU; -} - -static inline bool hri_pac_get_INTFLAGB_NVMCTRL_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_NVMCTRL) >> PAC_INTFLAGB_NVMCTRL_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_NVMCTRL_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_NVMCTRL; -} - -static inline bool hri_pac_get_INTFLAGB_CMCC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_CMCC) >> PAC_INTFLAGB_CMCC_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_CMCC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_CMCC; -} - -static inline bool hri_pac_get_INTFLAGB_PORT_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_PORT) >> PAC_INTFLAGB_PORT_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_PORT_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_PORT; -} - -static inline bool hri_pac_get_INTFLAGB_DMAC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_DMAC) >> PAC_INTFLAGB_DMAC_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_DMAC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_DMAC; -} - -static inline bool hri_pac_get_INTFLAGB_HMATRIX_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_HMATRIX) >> PAC_INTFLAGB_HMATRIX_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_HMATRIX_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_HMATRIX; -} - -static inline bool hri_pac_get_INTFLAGB_EVSYS_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_EVSYS) >> PAC_INTFLAGB_EVSYS_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_EVSYS_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_EVSYS; -} - -static inline bool hri_pac_get_INTFLAGB_SERCOM2_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_SERCOM2) >> PAC_INTFLAGB_SERCOM2_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_SERCOM2_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_SERCOM2; -} - -static inline bool hri_pac_get_INTFLAGB_SERCOM3_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_SERCOM3) >> PAC_INTFLAGB_SERCOM3_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_SERCOM3_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_SERCOM3; -} - -static inline bool hri_pac_get_INTFLAGB_TCC0_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_TCC0) >> PAC_INTFLAGB_TCC0_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_TCC0_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_TCC0; -} - -static inline bool hri_pac_get_INTFLAGB_TCC1_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_TCC1) >> PAC_INTFLAGB_TCC1_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_TCC1_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_TCC1; -} - -static inline bool hri_pac_get_INTFLAGB_TC2_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_TC2) >> PAC_INTFLAGB_TC2_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_TC2_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_TC2; -} - -static inline bool hri_pac_get_INTFLAGB_TC3_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_TC3) >> PAC_INTFLAGB_TC3_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_TC3_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_TC3; -} - -static inline bool hri_pac_get_INTFLAGB_RAMECC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_RAMECC) >> PAC_INTFLAGB_RAMECC_Pos; -} - -static inline void hri_pac_clear_INTFLAGB_RAMECC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_RAMECC; -} - -static inline hri_pac_intflagb_reg_t hri_pac_get_INTFLAGB_reg(const void *const hw, hri_pac_intflagb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->INTFLAGB.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_intflagb_reg_t hri_pac_read_INTFLAGB_reg(const void *const hw) -{ - return ((Pac *)hw)->INTFLAGB.reg; -} - -static inline void hri_pac_clear_INTFLAGB_reg(const void *const hw, hri_pac_intflagb_reg_t mask) -{ - ((Pac *)hw)->INTFLAGB.reg = mask; -} - -static inline bool hri_pac_get_INTFLAGC_CAN0_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_CAN0) >> PAC_INTFLAGC_CAN0_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_CAN0_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_CAN0; -} - -static inline bool hri_pac_get_INTFLAGC_CAN1_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_CAN1) >> PAC_INTFLAGC_CAN1_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_CAN1_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_CAN1; -} - -static inline bool hri_pac_get_INTFLAGC_GMAC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_GMAC) >> PAC_INTFLAGC_GMAC_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_GMAC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_GMAC; -} - -static inline bool hri_pac_get_INTFLAGC_TCC2_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TCC2) >> PAC_INTFLAGC_TCC2_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_TCC2_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TCC2; -} - -static inline bool hri_pac_get_INTFLAGC_TCC3_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TCC3) >> PAC_INTFLAGC_TCC3_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_TCC3_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TCC3; -} - -static inline bool hri_pac_get_INTFLAGC_TC4_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TC4) >> PAC_INTFLAGC_TC4_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_TC4_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TC4; -} - -static inline bool hri_pac_get_INTFLAGC_TC5_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TC5) >> PAC_INTFLAGC_TC5_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_TC5_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TC5; -} - -static inline bool hri_pac_get_INTFLAGC_PDEC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_PDEC) >> PAC_INTFLAGC_PDEC_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_PDEC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_PDEC; -} - -static inline bool hri_pac_get_INTFLAGC_AC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_AC) >> PAC_INTFLAGC_AC_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_AC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_AC; -} - -static inline bool hri_pac_get_INTFLAGC_AES_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_AES) >> PAC_INTFLAGC_AES_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_AES_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_AES; -} - -static inline bool hri_pac_get_INTFLAGC_TRNG_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TRNG) >> PAC_INTFLAGC_TRNG_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_TRNG_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TRNG; -} - -static inline bool hri_pac_get_INTFLAGC_ICM_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_ICM) >> PAC_INTFLAGC_ICM_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_ICM_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_ICM; -} - -static inline bool hri_pac_get_INTFLAGC_PUKCC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_PUKCC) >> PAC_INTFLAGC_PUKCC_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_PUKCC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_PUKCC; -} - -static inline bool hri_pac_get_INTFLAGC_QSPI_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_QSPI) >> PAC_INTFLAGC_QSPI_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_QSPI_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_QSPI; -} - -static inline bool hri_pac_get_INTFLAGC_CCL_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_CCL) >> PAC_INTFLAGC_CCL_Pos; -} - -static inline void hri_pac_clear_INTFLAGC_CCL_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_CCL; -} - -static inline hri_pac_intflagc_reg_t hri_pac_get_INTFLAGC_reg(const void *const hw, hri_pac_intflagc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->INTFLAGC.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_intflagc_reg_t hri_pac_read_INTFLAGC_reg(const void *const hw) -{ - return ((Pac *)hw)->INTFLAGC.reg; -} - -static inline void hri_pac_clear_INTFLAGC_reg(const void *const hw, hri_pac_intflagc_reg_t mask) -{ - ((Pac *)hw)->INTFLAGC.reg = mask; -} - -static inline bool hri_pac_get_INTFLAGD_SERCOM4_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_SERCOM4) >> PAC_INTFLAGD_SERCOM4_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_SERCOM4_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_SERCOM4; -} - -static inline bool hri_pac_get_INTFLAGD_SERCOM5_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_SERCOM5) >> PAC_INTFLAGD_SERCOM5_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_SERCOM5_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_SERCOM5; -} - -static inline bool hri_pac_get_INTFLAGD_SERCOM6_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_SERCOM6) >> PAC_INTFLAGD_SERCOM6_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_SERCOM6_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_SERCOM6; -} - -static inline bool hri_pac_get_INTFLAGD_SERCOM7_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_SERCOM7) >> PAC_INTFLAGD_SERCOM7_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_SERCOM7_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_SERCOM7; -} - -static inline bool hri_pac_get_INTFLAGD_TCC4_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_TCC4) >> PAC_INTFLAGD_TCC4_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_TCC4_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_TCC4; -} - -static inline bool hri_pac_get_INTFLAGD_TC6_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_TC6) >> PAC_INTFLAGD_TC6_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_TC6_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_TC6; -} - -static inline bool hri_pac_get_INTFLAGD_TC7_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_TC7) >> PAC_INTFLAGD_TC7_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_TC7_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_TC7; -} - -static inline bool hri_pac_get_INTFLAGD_ADC0_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_ADC0) >> PAC_INTFLAGD_ADC0_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_ADC0_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_ADC0; -} - -static inline bool hri_pac_get_INTFLAGD_ADC1_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_ADC1) >> PAC_INTFLAGD_ADC1_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_ADC1_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_ADC1; -} - -static inline bool hri_pac_get_INTFLAGD_DAC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_DAC) >> PAC_INTFLAGD_DAC_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_DAC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_DAC; -} - -static inline bool hri_pac_get_INTFLAGD_I2S_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_I2S) >> PAC_INTFLAGD_I2S_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_I2S_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_I2S; -} - -static inline bool hri_pac_get_INTFLAGD_PCC_bit(const void *const hw) -{ - return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_PCC) >> PAC_INTFLAGD_PCC_Pos; -} - -static inline void hri_pac_clear_INTFLAGD_PCC_bit(const void *const hw) -{ - ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_PCC; -} - -static inline hri_pac_intflagd_reg_t hri_pac_get_INTFLAGD_reg(const void *const hw, hri_pac_intflagd_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->INTFLAGD.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_intflagd_reg_t hri_pac_read_INTFLAGD_reg(const void *const hw) -{ - return ((Pac *)hw)->INTFLAGD.reg; -} - -static inline void hri_pac_clear_INTFLAGD_reg(const void *const hw, hri_pac_intflagd_reg_t mask) -{ - ((Pac *)hw)->INTFLAGD.reg = mask; -} - -static inline void hri_pac_set_INTEN_ERR_bit(const void *const hw) -{ - ((Pac *)hw)->INTENSET.reg = PAC_INTENSET_ERR; -} - -static inline bool hri_pac_get_INTEN_ERR_bit(const void *const hw) -{ - return (((Pac *)hw)->INTENSET.reg & PAC_INTENSET_ERR) >> PAC_INTENSET_ERR_Pos; -} - -static inline void hri_pac_write_INTEN_ERR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pac *)hw)->INTENCLR.reg = PAC_INTENSET_ERR; - } else { - ((Pac *)hw)->INTENSET.reg = PAC_INTENSET_ERR; - } -} - -static inline void hri_pac_clear_INTEN_ERR_bit(const void *const hw) -{ - ((Pac *)hw)->INTENCLR.reg = PAC_INTENSET_ERR; -} - -static inline void hri_pac_set_INTEN_reg(const void *const hw, hri_pac_intenset_reg_t mask) -{ - ((Pac *)hw)->INTENSET.reg = mask; -} - -static inline hri_pac_intenset_reg_t hri_pac_get_INTEN_reg(const void *const hw, hri_pac_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pac *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_intenset_reg_t hri_pac_read_INTEN_reg(const void *const hw) -{ - return ((Pac *)hw)->INTENSET.reg; -} - -static inline void hri_pac_write_INTEN_reg(const void *const hw, hri_pac_intenset_reg_t data) -{ - ((Pac *)hw)->INTENSET.reg = data; - ((Pac *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_pac_clear_INTEN_reg(const void *const hw, hri_pac_intenset_reg_t mask) -{ - ((Pac *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_pac_get_STATUSA_PAC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_PAC) >> PAC_STATUSA_PAC_Pos; -} - -static inline bool hri_pac_get_STATUSA_PM_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_PM) >> PAC_STATUSA_PM_Pos; -} - -static inline bool hri_pac_get_STATUSA_MCLK_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_MCLK) >> PAC_STATUSA_MCLK_Pos; -} - -static inline bool hri_pac_get_STATUSA_RSTC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_RSTC) >> PAC_STATUSA_RSTC_Pos; -} - -static inline bool hri_pac_get_STATUSA_OSCCTRL_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_OSCCTRL) >> PAC_STATUSA_OSCCTRL_Pos; -} - -static inline bool hri_pac_get_STATUSA_OSC32KCTRL_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_OSC32KCTRL) >> PAC_STATUSA_OSC32KCTRL_Pos; -} - -static inline bool hri_pac_get_STATUSA_SUPC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_SUPC) >> PAC_STATUSA_SUPC_Pos; -} - -static inline bool hri_pac_get_STATUSA_GCLK_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_GCLK) >> PAC_STATUSA_GCLK_Pos; -} - -static inline bool hri_pac_get_STATUSA_WDT_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_WDT) >> PAC_STATUSA_WDT_Pos; -} - -static inline bool hri_pac_get_STATUSA_RTC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_RTC) >> PAC_STATUSA_RTC_Pos; -} - -static inline bool hri_pac_get_STATUSA_EIC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_EIC) >> PAC_STATUSA_EIC_Pos; -} - -static inline bool hri_pac_get_STATUSA_FREQM_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_FREQM) >> PAC_STATUSA_FREQM_Pos; -} - -static inline bool hri_pac_get_STATUSA_SERCOM0_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_SERCOM0) >> PAC_STATUSA_SERCOM0_Pos; -} - -static inline bool hri_pac_get_STATUSA_SERCOM1_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_SERCOM1) >> PAC_STATUSA_SERCOM1_Pos; -} - -static inline bool hri_pac_get_STATUSA_TC0_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_TC0) >> PAC_STATUSA_TC0_Pos; -} - -static inline bool hri_pac_get_STATUSA_TC1_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_TC1) >> PAC_STATUSA_TC1_Pos; -} - -static inline hri_pac_statusa_reg_t hri_pac_get_STATUSA_reg(const void *const hw, hri_pac_statusa_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->STATUSA.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_statusa_reg_t hri_pac_read_STATUSA_reg(const void *const hw) -{ - return ((Pac *)hw)->STATUSA.reg; -} - -static inline bool hri_pac_get_STATUSB_USB_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_USB) >> PAC_STATUSB_USB_Pos; -} - -static inline bool hri_pac_get_STATUSB_DSU_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_DSU) >> PAC_STATUSB_DSU_Pos; -} - -static inline bool hri_pac_get_STATUSB_NVMCTRL_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_NVMCTRL) >> PAC_STATUSB_NVMCTRL_Pos; -} - -static inline bool hri_pac_get_STATUSB_CMCC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_CMCC) >> PAC_STATUSB_CMCC_Pos; -} - -static inline bool hri_pac_get_STATUSB_PORT_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_PORT) >> PAC_STATUSB_PORT_Pos; -} - -static inline bool hri_pac_get_STATUSB_DMAC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_DMAC) >> PAC_STATUSB_DMAC_Pos; -} - -static inline bool hri_pac_get_STATUSB_HMATRIX_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_HMATRIX) >> PAC_STATUSB_HMATRIX_Pos; -} - -static inline bool hri_pac_get_STATUSB_EVSYS_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_EVSYS) >> PAC_STATUSB_EVSYS_Pos; -} - -static inline bool hri_pac_get_STATUSB_SERCOM2_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_SERCOM2) >> PAC_STATUSB_SERCOM2_Pos; -} - -static inline bool hri_pac_get_STATUSB_SERCOM3_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_SERCOM3) >> PAC_STATUSB_SERCOM3_Pos; -} - -static inline bool hri_pac_get_STATUSB_TCC0_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_TCC0) >> PAC_STATUSB_TCC0_Pos; -} - -static inline bool hri_pac_get_STATUSB_TCC1_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_TCC1) >> PAC_STATUSB_TCC1_Pos; -} - -static inline bool hri_pac_get_STATUSB_TC2_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_TC2) >> PAC_STATUSB_TC2_Pos; -} - -static inline bool hri_pac_get_STATUSB_TC3_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_TC3) >> PAC_STATUSB_TC3_Pos; -} - -static inline bool hri_pac_get_STATUSB_RAMECC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_RAMECC) >> PAC_STATUSB_RAMECC_Pos; -} - -static inline hri_pac_statusb_reg_t hri_pac_get_STATUSB_reg(const void *const hw, hri_pac_statusb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->STATUSB.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_statusb_reg_t hri_pac_read_STATUSB_reg(const void *const hw) -{ - return ((Pac *)hw)->STATUSB.reg; -} - -static inline bool hri_pac_get_STATUSC_CAN0_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_CAN0) >> PAC_STATUSC_CAN0_Pos; -} - -static inline bool hri_pac_get_STATUSC_CAN1_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_CAN1) >> PAC_STATUSC_CAN1_Pos; -} - -static inline bool hri_pac_get_STATUSC_GMAC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_GMAC) >> PAC_STATUSC_GMAC_Pos; -} - -static inline bool hri_pac_get_STATUSC_TCC2_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TCC2) >> PAC_STATUSC_TCC2_Pos; -} - -static inline bool hri_pac_get_STATUSC_TCC3_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TCC3) >> PAC_STATUSC_TCC3_Pos; -} - -static inline bool hri_pac_get_STATUSC_TC4_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TC4) >> PAC_STATUSC_TC4_Pos; -} - -static inline bool hri_pac_get_STATUSC_TC5_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TC5) >> PAC_STATUSC_TC5_Pos; -} - -static inline bool hri_pac_get_STATUSC_PDEC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_PDEC) >> PAC_STATUSC_PDEC_Pos; -} - -static inline bool hri_pac_get_STATUSC_AC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_AC) >> PAC_STATUSC_AC_Pos; -} - -static inline bool hri_pac_get_STATUSC_AES_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_AES) >> PAC_STATUSC_AES_Pos; -} - -static inline bool hri_pac_get_STATUSC_TRNG_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TRNG) >> PAC_STATUSC_TRNG_Pos; -} - -static inline bool hri_pac_get_STATUSC_ICM_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_ICM) >> PAC_STATUSC_ICM_Pos; -} - -static inline bool hri_pac_get_STATUSC_PUKCC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_PUKCC) >> PAC_STATUSC_PUKCC_Pos; -} - -static inline bool hri_pac_get_STATUSC_QSPI_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_QSPI) >> PAC_STATUSC_QSPI_Pos; -} - -static inline bool hri_pac_get_STATUSC_CCL_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_CCL) >> PAC_STATUSC_CCL_Pos; -} - -static inline hri_pac_statusc_reg_t hri_pac_get_STATUSC_reg(const void *const hw, hri_pac_statusc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->STATUSC.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_statusc_reg_t hri_pac_read_STATUSC_reg(const void *const hw) -{ - return ((Pac *)hw)->STATUSC.reg; -} - -static inline bool hri_pac_get_STATUSD_SERCOM4_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_SERCOM4) >> PAC_STATUSD_SERCOM4_Pos; -} - -static inline bool hri_pac_get_STATUSD_SERCOM5_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_SERCOM5) >> PAC_STATUSD_SERCOM5_Pos; -} - -static inline bool hri_pac_get_STATUSD_SERCOM6_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_SERCOM6) >> PAC_STATUSD_SERCOM6_Pos; -} - -static inline bool hri_pac_get_STATUSD_SERCOM7_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_SERCOM7) >> PAC_STATUSD_SERCOM7_Pos; -} - -static inline bool hri_pac_get_STATUSD_TCC4_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_TCC4) >> PAC_STATUSD_TCC4_Pos; -} - -static inline bool hri_pac_get_STATUSD_TC6_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_TC6) >> PAC_STATUSD_TC6_Pos; -} - -static inline bool hri_pac_get_STATUSD_TC7_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_TC7) >> PAC_STATUSD_TC7_Pos; -} - -static inline bool hri_pac_get_STATUSD_ADC0_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_ADC0) >> PAC_STATUSD_ADC0_Pos; -} - -static inline bool hri_pac_get_STATUSD_ADC1_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_ADC1) >> PAC_STATUSD_ADC1_Pos; -} - -static inline bool hri_pac_get_STATUSD_DAC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_DAC) >> PAC_STATUSD_DAC_Pos; -} - -static inline bool hri_pac_get_STATUSD_I2S_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_I2S) >> PAC_STATUSD_I2S_Pos; -} - -static inline bool hri_pac_get_STATUSD_PCC_bit(const void *const hw) -{ - return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_PCC) >> PAC_STATUSD_PCC_Pos; -} - -static inline hri_pac_statusd_reg_t hri_pac_get_STATUSD_reg(const void *const hw, hri_pac_statusd_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->STATUSD.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pac_statusd_reg_t hri_pac_read_STATUSD_reg(const void *const hw) -{ - return ((Pac *)hw)->STATUSD.reg; -} - -static inline void hri_pac_set_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg |= PAC_WRCTRL_PERID(mask); - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pac_wrctrl_reg_t hri_pac_get_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->WRCTRL.reg; - tmp = (tmp & PAC_WRCTRL_PERID(mask)) >> PAC_WRCTRL_PERID_Pos; - return tmp; -} - -static inline void hri_pac_write_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t data) -{ - uint32_t tmp; - PAC_CRITICAL_SECTION_ENTER(); - tmp = ((Pac *)hw)->WRCTRL.reg; - tmp &= ~PAC_WRCTRL_PERID_Msk; - tmp |= PAC_WRCTRL_PERID(data); - ((Pac *)hw)->WRCTRL.reg = tmp; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_clear_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg &= ~PAC_WRCTRL_PERID(mask); - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_toggle_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg ^= PAC_WRCTRL_PERID(mask); - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pac_wrctrl_reg_t hri_pac_read_WRCTRL_PERID_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->WRCTRL.reg; - tmp = (tmp & PAC_WRCTRL_PERID_Msk) >> PAC_WRCTRL_PERID_Pos; - return tmp; -} - -static inline void hri_pac_set_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg |= PAC_WRCTRL_KEY(mask); - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pac_wrctrl_reg_t hri_pac_get_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->WRCTRL.reg; - tmp = (tmp & PAC_WRCTRL_KEY(mask)) >> PAC_WRCTRL_KEY_Pos; - return tmp; -} - -static inline void hri_pac_write_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t data) -{ - uint32_t tmp; - PAC_CRITICAL_SECTION_ENTER(); - tmp = ((Pac *)hw)->WRCTRL.reg; - tmp &= ~PAC_WRCTRL_KEY_Msk; - tmp |= PAC_WRCTRL_KEY(data); - ((Pac *)hw)->WRCTRL.reg = tmp; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_clear_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg &= ~PAC_WRCTRL_KEY(mask); - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_toggle_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg ^= PAC_WRCTRL_KEY(mask); - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pac_wrctrl_reg_t hri_pac_read_WRCTRL_KEY_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->WRCTRL.reg; - tmp = (tmp & PAC_WRCTRL_KEY_Msk) >> PAC_WRCTRL_KEY_Pos; - return tmp; -} - -static inline void hri_pac_set_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg |= mask; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pac_wrctrl_reg_t hri_pac_get_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pac *)hw)->WRCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pac_write_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t data) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg = data; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_clear_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg &= ~mask; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_toggle_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->WRCTRL.reg ^= mask; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pac_wrctrl_reg_t hri_pac_read_WRCTRL_reg(const void *const hw) -{ - return ((Pac *)hw)->WRCTRL.reg; -} - -static inline void hri_pac_set_EVCTRL_ERREO_bit(const void *const hw) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->EVCTRL.reg |= PAC_EVCTRL_ERREO; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pac_get_EVCTRL_ERREO_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pac *)hw)->EVCTRL.reg; - tmp = (tmp & PAC_EVCTRL_ERREO) >> PAC_EVCTRL_ERREO_Pos; - return (bool)tmp; -} - -static inline void hri_pac_write_EVCTRL_ERREO_bit(const void *const hw, bool value) -{ - uint8_t tmp; - PAC_CRITICAL_SECTION_ENTER(); - tmp = ((Pac *)hw)->EVCTRL.reg; - tmp &= ~PAC_EVCTRL_ERREO; - tmp |= value << PAC_EVCTRL_ERREO_Pos; - ((Pac *)hw)->EVCTRL.reg = tmp; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_clear_EVCTRL_ERREO_bit(const void *const hw) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->EVCTRL.reg &= ~PAC_EVCTRL_ERREO; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_toggle_EVCTRL_ERREO_bit(const void *const hw) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->EVCTRL.reg ^= PAC_EVCTRL_ERREO; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_set_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->EVCTRL.reg |= mask; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pac_evctrl_reg_t hri_pac_get_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pac *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pac_write_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t data) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->EVCTRL.reg = data; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_clear_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->EVCTRL.reg &= ~mask; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pac_toggle_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t mask) -{ - PAC_CRITICAL_SECTION_ENTER(); - ((Pac *)hw)->EVCTRL.reg ^= mask; - PAC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pac_evctrl_reg_t hri_pac_read_EVCTRL_reg(const void *const hw) -{ - return ((Pac *)hw)->EVCTRL.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_PAC_E54_H_INCLUDED */ -#endif /* _SAME54_PAC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_pcc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_pcc_e54.h deleted file mode 100644 index 42a5600..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_pcc_e54.h +++ /dev/null @@ -1,298 +0,0 @@ -/** - * \file - * - * \brief SAM PCC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_PCC_COMPONENT_ -#ifndef _HRI_PCC_E54_H_INCLUDED_ -#define _HRI_PCC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_PCC_CRITICAL_SECTIONS) -#define PCC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define PCC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define PCC_CRITICAL_SECTION_ENTER() -#define PCC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_pcc_imr_reg_t; -typedef uint32_t hri_pcc_isr_reg_t; -typedef uint32_t hri_pcc_mr_reg_t; -typedef uint32_t hri_pcc_rhr_reg_t; -typedef uint32_t hri_pcc_wpmr_reg_t; -typedef uint32_t hri_pcc_wpsr_reg_t; - -static inline void hri_pcc_set_IMR_DRDY_bit(const void *const hw) -{ - ((Pcc *)hw)->IER.reg = PCC_IMR_DRDY; -} - -static inline bool hri_pcc_get_IMR_DRDY_bit(const void *const hw) -{ - return (((Pcc *)hw)->IMR.reg & PCC_IMR_DRDY) >> PCC_IMR_DRDY_Pos; -} - -static inline void hri_pcc_write_IMR_DRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pcc *)hw)->IDR.reg = PCC_IMR_DRDY; - } else { - ((Pcc *)hw)->IER.reg = PCC_IMR_DRDY; - } -} - -static inline void hri_pcc_clear_IMR_DRDY_bit(const void *const hw) -{ - ((Pcc *)hw)->IDR.reg = PCC_IMR_DRDY; -} - -static inline void hri_pcc_set_IMR_OVRE_bit(const void *const hw) -{ - ((Pcc *)hw)->IER.reg = PCC_IMR_OVRE; -} - -static inline bool hri_pcc_get_IMR_OVRE_bit(const void *const hw) -{ - return (((Pcc *)hw)->IMR.reg & PCC_IMR_OVRE) >> PCC_IMR_OVRE_Pos; -} - -static inline void hri_pcc_write_IMR_OVRE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pcc *)hw)->IDR.reg = PCC_IMR_OVRE; - } else { - ((Pcc *)hw)->IER.reg = PCC_IMR_OVRE; - } -} - -static inline void hri_pcc_clear_IMR_OVRE_bit(const void *const hw) -{ - ((Pcc *)hw)->IDR.reg = PCC_IMR_OVRE; -} - -static inline void hri_pcc_set_IMR_reg(const void *const hw, hri_pcc_imr_reg_t mask) -{ - ((Pcc *)hw)->IER.reg = mask; -} - -static inline hri_pcc_imr_reg_t hri_pcc_get_IMR_reg(const void *const hw, hri_pcc_imr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pcc *)hw)->IMR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pcc_imr_reg_t hri_pcc_read_IMR_reg(const void *const hw) -{ - return ((Pcc *)hw)->IMR.reg; -} - -static inline void hri_pcc_write_IMR_reg(const void *const hw, hri_pcc_imr_reg_t data) -{ - ((Pcc *)hw)->IER.reg = data; - ((Pcc *)hw)->IDR.reg = ~data; -} - -static inline void hri_pcc_clear_IMR_reg(const void *const hw, hri_pcc_imr_reg_t mask) -{ - ((Pcc *)hw)->IDR.reg = mask; -} - -static inline bool hri_pcc_get_ISR_DRDY_bit(const void *const hw) -{ - return (((Pcc *)hw)->ISR.reg & PCC_ISR_DRDY) >> PCC_ISR_DRDY_Pos; -} - -static inline bool hri_pcc_get_ISR_OVRE_bit(const void *const hw) -{ - return (((Pcc *)hw)->ISR.reg & PCC_ISR_OVRE) >> PCC_ISR_OVRE_Pos; -} - -static inline hri_pcc_isr_reg_t hri_pcc_get_ISR_reg(const void *const hw, hri_pcc_isr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pcc *)hw)->ISR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pcc_isr_reg_t hri_pcc_read_ISR_reg(const void *const hw) -{ - return ((Pcc *)hw)->ISR.reg; -} - -static inline hri_pcc_rhr_reg_t hri_pcc_get_RHR_RDATA_bf(const void *const hw, hri_pcc_rhr_reg_t mask) -{ - return (((Pcc *)hw)->RHR.reg & PCC_RHR_RDATA(mask)) >> PCC_RHR_RDATA_Pos; -} - -static inline hri_pcc_rhr_reg_t hri_pcc_read_RHR_RDATA_bf(const void *const hw) -{ - return (((Pcc *)hw)->RHR.reg & PCC_RHR_RDATA_Msk) >> PCC_RHR_RDATA_Pos; -} - -static inline hri_pcc_rhr_reg_t hri_pcc_get_RHR_reg(const void *const hw, hri_pcc_rhr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pcc *)hw)->RHR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pcc_rhr_reg_t hri_pcc_read_RHR_reg(const void *const hw) -{ - return ((Pcc *)hw)->RHR.reg; -} - -static inline bool hri_pcc_get_WPSR_WPVS_bit(const void *const hw) -{ - return (((Pcc *)hw)->WPSR.reg & PCC_WPSR_WPVS) >> PCC_WPSR_WPVS_Pos; -} - -static inline hri_pcc_wpsr_reg_t hri_pcc_get_WPSR_WPVSRC_bf(const void *const hw, hri_pcc_wpsr_reg_t mask) -{ - return (((Pcc *)hw)->WPSR.reg & PCC_WPSR_WPVSRC(mask)) >> PCC_WPSR_WPVSRC_Pos; -} - -static inline hri_pcc_wpsr_reg_t hri_pcc_read_WPSR_WPVSRC_bf(const void *const hw) -{ - return (((Pcc *)hw)->WPSR.reg & PCC_WPSR_WPVSRC_Msk) >> PCC_WPSR_WPVSRC_Pos; -} - -static inline hri_pcc_wpsr_reg_t hri_pcc_get_WPSR_reg(const void *const hw, hri_pcc_wpsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pcc *)hw)->WPSR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pcc_wpsr_reg_t hri_pcc_read_WPSR_reg(const void *const hw) -{ - return ((Pcc *)hw)->WPSR.reg; -} - -static inline void hri_pcc_set_MR_reg(const void *const hw, hri_pcc_mr_reg_t mask) -{ - PCC_CRITICAL_SECTION_ENTER(); - ((Pcc *)hw)->MR.reg |= mask; - PCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pcc_mr_reg_t hri_pcc_get_MR_reg(const void *const hw, hri_pcc_mr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pcc *)hw)->MR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pcc_write_MR_reg(const void *const hw, hri_pcc_mr_reg_t data) -{ - PCC_CRITICAL_SECTION_ENTER(); - ((Pcc *)hw)->MR.reg = data; - PCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pcc_clear_MR_reg(const void *const hw, hri_pcc_mr_reg_t mask) -{ - PCC_CRITICAL_SECTION_ENTER(); - ((Pcc *)hw)->MR.reg &= ~mask; - PCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pcc_toggle_MR_reg(const void *const hw, hri_pcc_mr_reg_t mask) -{ - PCC_CRITICAL_SECTION_ENTER(); - ((Pcc *)hw)->MR.reg ^= mask; - PCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pcc_mr_reg_t hri_pcc_read_MR_reg(const void *const hw) -{ - return ((Pcc *)hw)->MR.reg; -} - -static inline void hri_pcc_set_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t mask) -{ - PCC_CRITICAL_SECTION_ENTER(); - ((Pcc *)hw)->WPMR.reg |= mask; - PCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pcc_wpmr_reg_t hri_pcc_get_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pcc *)hw)->WPMR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pcc_write_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t data) -{ - PCC_CRITICAL_SECTION_ENTER(); - ((Pcc *)hw)->WPMR.reg = data; - PCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pcc_clear_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t mask) -{ - PCC_CRITICAL_SECTION_ENTER(); - ((Pcc *)hw)->WPMR.reg &= ~mask; - PCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pcc_toggle_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t mask) -{ - PCC_CRITICAL_SECTION_ENTER(); - ((Pcc *)hw)->WPMR.reg ^= mask; - PCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pcc_wpmr_reg_t hri_pcc_read_WPMR_reg(const void *const hw) -{ - return ((Pcc *)hw)->WPMR.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_PCC_E54_H_INCLUDED */ -#endif /* _SAME54_PCC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_pdec_e54.h b/software/firmware/oracle_same54n19a/hri/hri_pdec_e54.h deleted file mode 100644 index ec7ce30..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_pdec_e54.h +++ /dev/null @@ -1,2684 +0,0 @@ -/** - * \file - * - * \brief SAM PDEC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_PDEC_COMPONENT_ -#ifndef _HRI_PDEC_E54_H_INCLUDED_ -#define _HRI_PDEC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_PDEC_CRITICAL_SECTIONS) -#define PDEC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define PDEC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define PDEC_CRITICAL_SECTION_ENTER() -#define PDEC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_pdec_evctrl_reg_t; -typedef uint16_t hri_pdec_status_reg_t; -typedef uint32_t hri_pdec_cc_reg_t; -typedef uint32_t hri_pdec_ccbuf_reg_t; -typedef uint32_t hri_pdec_count_reg_t; -typedef uint32_t hri_pdec_ctrla_reg_t; -typedef uint32_t hri_pdec_syncbusy_reg_t; -typedef uint8_t hri_pdec_ctrlbset_reg_t; -typedef uint8_t hri_pdec_dbgctrl_reg_t; -typedef uint8_t hri_pdec_filter_reg_t; -typedef uint8_t hri_pdec_filterbuf_reg_t; -typedef uint8_t hri_pdec_intenset_reg_t; -typedef uint8_t hri_pdec_intflag_reg_t; -typedef uint8_t hri_pdec_presc_reg_t; -typedef uint8_t hri_pdec_prescbuf_reg_t; - -static inline void hri_pdec_wait_for_sync(const void *const hw, hri_pdec_syncbusy_reg_t reg) -{ - while (((Pdec *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_pdec_is_syncing(const void *const hw, hri_pdec_syncbusy_reg_t reg) -{ - return ((Pdec *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_pdec_get_INTFLAG_OVF_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_OVF) >> PDEC_INTFLAG_OVF_Pos; -} - -static inline void hri_pdec_clear_INTFLAG_OVF_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_OVF; -} - -static inline bool hri_pdec_get_INTFLAG_ERR_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_ERR) >> PDEC_INTFLAG_ERR_Pos; -} - -static inline void hri_pdec_clear_INTFLAG_ERR_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_ERR; -} - -static inline bool hri_pdec_get_INTFLAG_DIR_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_DIR) >> PDEC_INTFLAG_DIR_Pos; -} - -static inline void hri_pdec_clear_INTFLAG_DIR_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_DIR; -} - -static inline bool hri_pdec_get_INTFLAG_VLC_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_VLC) >> PDEC_INTFLAG_VLC_Pos; -} - -static inline void hri_pdec_clear_INTFLAG_VLC_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_VLC; -} - -static inline bool hri_pdec_get_INTFLAG_MC0_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_MC0) >> PDEC_INTFLAG_MC0_Pos; -} - -static inline void hri_pdec_clear_INTFLAG_MC0_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_MC0; -} - -static inline bool hri_pdec_get_INTFLAG_MC1_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_MC1) >> PDEC_INTFLAG_MC1_Pos; -} - -static inline void hri_pdec_clear_INTFLAG_MC1_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_MC1; -} - -static inline bool hri_pdec_get_interrupt_OVF_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_OVF) >> PDEC_INTFLAG_OVF_Pos; -} - -static inline void hri_pdec_clear_interrupt_OVF_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_OVF; -} - -static inline bool hri_pdec_get_interrupt_ERR_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_ERR) >> PDEC_INTFLAG_ERR_Pos; -} - -static inline void hri_pdec_clear_interrupt_ERR_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_ERR; -} - -static inline bool hri_pdec_get_interrupt_DIR_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_DIR) >> PDEC_INTFLAG_DIR_Pos; -} - -static inline void hri_pdec_clear_interrupt_DIR_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_DIR; -} - -static inline bool hri_pdec_get_interrupt_VLC_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_VLC) >> PDEC_INTFLAG_VLC_Pos; -} - -static inline void hri_pdec_clear_interrupt_VLC_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_VLC; -} - -static inline bool hri_pdec_get_interrupt_MC0_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_MC0) >> PDEC_INTFLAG_MC0_Pos; -} - -static inline void hri_pdec_clear_interrupt_MC0_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_MC0; -} - -static inline bool hri_pdec_get_interrupt_MC1_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_MC1) >> PDEC_INTFLAG_MC1_Pos; -} - -static inline void hri_pdec_clear_interrupt_MC1_bit(const void *const hw) -{ - ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_MC1; -} - -static inline hri_pdec_intflag_reg_t hri_pdec_get_INTFLAG_reg(const void *const hw, hri_pdec_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pdec_intflag_reg_t hri_pdec_read_INTFLAG_reg(const void *const hw) -{ - return ((Pdec *)hw)->INTFLAG.reg; -} - -static inline void hri_pdec_clear_INTFLAG_reg(const void *const hw, hri_pdec_intflag_reg_t mask) -{ - ((Pdec *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_pdec_set_CTRLB_LUPD_bit(const void *const hw) -{ - ((Pdec *)hw)->CTRLBSET.reg = PDEC_CTRLBSET_LUPD; -} - -static inline bool hri_pdec_get_CTRLB_LUPD_bit(const void *const hw) -{ - return (((Pdec *)hw)->CTRLBSET.reg & PDEC_CTRLBSET_LUPD) >> PDEC_CTRLBSET_LUPD_Pos; -} - -static inline void hri_pdec_write_CTRLB_LUPD_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pdec *)hw)->CTRLBCLR.reg = PDEC_CTRLBSET_LUPD; - } else { - ((Pdec *)hw)->CTRLBSET.reg = PDEC_CTRLBSET_LUPD; - } -} - -static inline void hri_pdec_clear_CTRLB_LUPD_bit(const void *const hw) -{ - ((Pdec *)hw)->CTRLBCLR.reg = PDEC_CTRLBSET_LUPD; -} - -static inline void hri_pdec_set_CTRLB_CMD_bf(const void *const hw, hri_pdec_ctrlbset_reg_t mask) -{ - ((Pdec *)hw)->CTRLBSET.reg = PDEC_CTRLBSET_CMD(mask); -} - -static inline hri_pdec_ctrlbset_reg_t hri_pdec_get_CTRLB_CMD_bf(const void *const hw, hri_pdec_ctrlbset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->CTRLBSET.reg; - tmp = (tmp & PDEC_CTRLBSET_CMD(mask)) >> PDEC_CTRLBSET_CMD_Pos; - return tmp; -} - -static inline hri_pdec_ctrlbset_reg_t hri_pdec_read_CTRLB_CMD_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->CTRLBSET.reg; - tmp = (tmp & PDEC_CTRLBSET_CMD_Msk) >> PDEC_CTRLBSET_CMD_Pos; - return tmp; -} - -static inline void hri_pdec_write_CTRLB_CMD_bf(const void *const hw, hri_pdec_ctrlbset_reg_t data) -{ - ((Pdec *)hw)->CTRLBSET.reg = PDEC_CTRLBSET_CMD(data); - ((Pdec *)hw)->CTRLBCLR.reg = ~PDEC_CTRLBSET_CMD(data); -} - -static inline void hri_pdec_clear_CTRLB_CMD_bf(const void *const hw, hri_pdec_ctrlbset_reg_t mask) -{ - ((Pdec *)hw)->CTRLBCLR.reg = PDEC_CTRLBSET_CMD(mask); -} - -static inline void hri_pdec_set_CTRLB_reg(const void *const hw, hri_pdec_ctrlbset_reg_t mask) -{ - ((Pdec *)hw)->CTRLBSET.reg = mask; -} - -static inline hri_pdec_ctrlbset_reg_t hri_pdec_get_CTRLB_reg(const void *const hw, hri_pdec_ctrlbset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->CTRLBSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pdec_ctrlbset_reg_t hri_pdec_read_CTRLB_reg(const void *const hw) -{ - return ((Pdec *)hw)->CTRLBSET.reg; -} - -static inline void hri_pdec_write_CTRLB_reg(const void *const hw, hri_pdec_ctrlbset_reg_t data) -{ - ((Pdec *)hw)->CTRLBSET.reg = data; - ((Pdec *)hw)->CTRLBCLR.reg = ~data; -} - -static inline void hri_pdec_clear_CTRLB_reg(const void *const hw, hri_pdec_ctrlbset_reg_t mask) -{ - ((Pdec *)hw)->CTRLBCLR.reg = mask; -} - -static inline void hri_pdec_set_INTEN_OVF_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_OVF; -} - -static inline bool hri_pdec_get_INTEN_OVF_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_OVF) >> PDEC_INTENSET_OVF_Pos; -} - -static inline void hri_pdec_write_INTEN_OVF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_OVF; - } else { - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_OVF; - } -} - -static inline void hri_pdec_clear_INTEN_OVF_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_OVF; -} - -static inline void hri_pdec_set_INTEN_ERR_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_ERR; -} - -static inline bool hri_pdec_get_INTEN_ERR_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_ERR) >> PDEC_INTENSET_ERR_Pos; -} - -static inline void hri_pdec_write_INTEN_ERR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_ERR; - } else { - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_ERR; - } -} - -static inline void hri_pdec_clear_INTEN_ERR_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_ERR; -} - -static inline void hri_pdec_set_INTEN_DIR_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_DIR; -} - -static inline bool hri_pdec_get_INTEN_DIR_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_DIR) >> PDEC_INTENSET_DIR_Pos; -} - -static inline void hri_pdec_write_INTEN_DIR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_DIR; - } else { - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_DIR; - } -} - -static inline void hri_pdec_clear_INTEN_DIR_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_DIR; -} - -static inline void hri_pdec_set_INTEN_VLC_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_VLC; -} - -static inline bool hri_pdec_get_INTEN_VLC_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_VLC) >> PDEC_INTENSET_VLC_Pos; -} - -static inline void hri_pdec_write_INTEN_VLC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_VLC; - } else { - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_VLC; - } -} - -static inline void hri_pdec_clear_INTEN_VLC_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_VLC; -} - -static inline void hri_pdec_set_INTEN_MC0_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_MC0; -} - -static inline bool hri_pdec_get_INTEN_MC0_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_MC0) >> PDEC_INTENSET_MC0_Pos; -} - -static inline void hri_pdec_write_INTEN_MC0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_MC0; - } else { - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_MC0; - } -} - -static inline void hri_pdec_clear_INTEN_MC0_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_MC0; -} - -static inline void hri_pdec_set_INTEN_MC1_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_MC1; -} - -static inline bool hri_pdec_get_INTEN_MC1_bit(const void *const hw) -{ - return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_MC1) >> PDEC_INTENSET_MC1_Pos; -} - -static inline void hri_pdec_write_INTEN_MC1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_MC1; - } else { - ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_MC1; - } -} - -static inline void hri_pdec_clear_INTEN_MC1_bit(const void *const hw) -{ - ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_MC1; -} - -static inline void hri_pdec_set_INTEN_reg(const void *const hw, hri_pdec_intenset_reg_t mask) -{ - ((Pdec *)hw)->INTENSET.reg = mask; -} - -static inline hri_pdec_intenset_reg_t hri_pdec_get_INTEN_reg(const void *const hw, hri_pdec_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pdec_intenset_reg_t hri_pdec_read_INTEN_reg(const void *const hw) -{ - return ((Pdec *)hw)->INTENSET.reg; -} - -static inline void hri_pdec_write_INTEN_reg(const void *const hw, hri_pdec_intenset_reg_t data) -{ - ((Pdec *)hw)->INTENSET.reg = data; - ((Pdec *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_pdec_clear_INTEN_reg(const void *const hw, hri_pdec_intenset_reg_t mask) -{ - ((Pdec *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_pdec_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_SWRST) >> PDEC_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_pdec_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_ENABLE) >> PDEC_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_pdec_get_SYNCBUSY_CTRLB_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_CTRLB) >> PDEC_SYNCBUSY_CTRLB_Pos; -} - -static inline bool hri_pdec_get_SYNCBUSY_STATUS_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_STATUS) >> PDEC_SYNCBUSY_STATUS_Pos; -} - -static inline bool hri_pdec_get_SYNCBUSY_PRESC_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_PRESC) >> PDEC_SYNCBUSY_PRESC_Pos; -} - -static inline bool hri_pdec_get_SYNCBUSY_FILTER_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_FILTER) >> PDEC_SYNCBUSY_FILTER_Pos; -} - -static inline bool hri_pdec_get_SYNCBUSY_COUNT_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_COUNT) >> PDEC_SYNCBUSY_COUNT_Pos; -} - -static inline bool hri_pdec_get_SYNCBUSY_CC0_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_CC0) >> PDEC_SYNCBUSY_CC0_Pos; -} - -static inline bool hri_pdec_get_SYNCBUSY_CC1_bit(const void *const hw) -{ - return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_CC1) >> PDEC_SYNCBUSY_CC1_Pos; -} - -static inline hri_pdec_syncbusy_reg_t hri_pdec_get_SYNCBUSY_reg(const void *const hw, hri_pdec_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pdec_syncbusy_reg_t hri_pdec_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Pdec *)hw)->SYNCBUSY.reg; -} - -static inline void hri_pdec_set_CTRLA_SWRST_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_SWRST; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_SWRST) >> PDEC_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_set_CTRLA_ENABLE_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_ENABLE; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_ENABLE) >> PDEC_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_ENABLE; - tmp |= value << PDEC_CTRLA_ENABLE_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_ENABLE; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_ENABLE; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_RUNSTDBY; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_RUNSTDBY) >> PDEC_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_RUNSTDBY; - tmp |= value << PDEC_CTRLA_RUNSTDBY_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_RUNSTDBY; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_RUNSTDBY; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_ALOCK_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_ALOCK; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_ALOCK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_ALOCK) >> PDEC_CTRLA_ALOCK_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_ALOCK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_ALOCK; - tmp |= value << PDEC_CTRLA_ALOCK_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_ALOCK_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_ALOCK; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_ALOCK_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_ALOCK; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_SWAP_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_SWAP; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_SWAP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_SWAP) >> PDEC_CTRLA_SWAP_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_SWAP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_SWAP; - tmp |= value << PDEC_CTRLA_SWAP_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_SWAP_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_SWAP; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_SWAP_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_SWAP; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_PEREN_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PEREN; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_PEREN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_PEREN) >> PDEC_CTRLA_PEREN_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_PEREN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_PEREN; - tmp |= value << PDEC_CTRLA_PEREN_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_PEREN_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PEREN; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_PEREN_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PEREN; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_PINEN0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINEN0; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_PINEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_PINEN0) >> PDEC_CTRLA_PINEN0_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_PINEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_PINEN0; - tmp |= value << PDEC_CTRLA_PINEN0_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_PINEN0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINEN0; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_PINEN0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINEN0; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_PINEN1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINEN1; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_PINEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_PINEN1) >> PDEC_CTRLA_PINEN1_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_PINEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_PINEN1; - tmp |= value << PDEC_CTRLA_PINEN1_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_PINEN1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINEN1; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_PINEN1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINEN1; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_PINEN2_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINEN2; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_PINEN2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_PINEN2) >> PDEC_CTRLA_PINEN2_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_PINEN2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_PINEN2; - tmp |= value << PDEC_CTRLA_PINEN2_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_PINEN2_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINEN2; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_PINEN2_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINEN2; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_PINVEN0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINVEN0; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_PINVEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_PINVEN0) >> PDEC_CTRLA_PINVEN0_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_PINVEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_PINVEN0; - tmp |= value << PDEC_CTRLA_PINVEN0_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_PINVEN0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINVEN0; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_PINVEN0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINVEN0; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_PINVEN1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINVEN1; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_PINVEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_PINVEN1) >> PDEC_CTRLA_PINVEN1_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_PINVEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_PINVEN1; - tmp |= value << PDEC_CTRLA_PINVEN1_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_PINVEN1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINVEN1; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_PINVEN1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINVEN1; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_PINVEN2_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINVEN2; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_CTRLA_PINVEN2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_PINVEN2) >> PDEC_CTRLA_PINVEN2_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_CTRLA_PINVEN2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_PINVEN2; - tmp |= value << PDEC_CTRLA_PINVEN2_Pos; - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_PINVEN2_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINVEN2; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_PINVEN2_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINVEN2; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_MODE(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_MODE(mask)) >> PDEC_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_pdec_write_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t data) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_MODE_Msk; - tmp |= PDEC_CTRLA_MODE(data); - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_MODE(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_MODE(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_MODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_MODE_Msk) >> PDEC_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_pdec_set_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_CONF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_CONF(mask)) >> PDEC_CTRLA_CONF_Pos; - return tmp; -} - -static inline void hri_pdec_write_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t data) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_CONF_Msk; - tmp |= PDEC_CTRLA_CONF(data); - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_CONF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_CONF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_CONF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_CONF_Msk) >> PDEC_CTRLA_CONF_Pos; - return tmp; -} - -static inline void hri_pdec_set_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_ANGULAR(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_ANGULAR(mask)) >> PDEC_CTRLA_ANGULAR_Pos; - return tmp; -} - -static inline void hri_pdec_write_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t data) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_ANGULAR_Msk; - tmp |= PDEC_CTRLA_ANGULAR(data); - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_ANGULAR(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_ANGULAR(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_ANGULAR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_ANGULAR_Msk) >> PDEC_CTRLA_ANGULAR_Pos; - return tmp; -} - -static inline void hri_pdec_set_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_MAXCMP(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_MAXCMP(mask)) >> PDEC_CTRLA_MAXCMP_Pos; - return tmp; -} - -static inline void hri_pdec_write_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t data) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= ~PDEC_CTRLA_MAXCMP_Msk; - tmp |= PDEC_CTRLA_MAXCMP(data); - ((Pdec *)hw)->CTRLA.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_MAXCMP(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_MAXCMP(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_MAXCMP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp = (tmp & PDEC_CTRLA_MAXCMP_Msk) >> PDEC_CTRLA_MAXCMP_Pos; - return tmp; -} - -static inline void hri_pdec_set_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg |= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - tmp = ((Pdec *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg = data; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg &= ~mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CTRLA.reg ^= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_reg(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE); - return ((Pdec *)hw)->CTRLA.reg; -} - -static inline void hri_pdec_set_EVCTRL_OVFEO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_OVFEO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_EVCTRL_OVFEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_OVFEO) >> PDEC_EVCTRL_OVFEO_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_EVCTRL_OVFEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_OVFEO; - tmp |= value << PDEC_EVCTRL_OVFEO_Pos; - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_OVFEO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_OVFEO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_OVFEO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_OVFEO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_EVCTRL_ERREO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_ERREO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_EVCTRL_ERREO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_ERREO) >> PDEC_EVCTRL_ERREO_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_EVCTRL_ERREO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_ERREO; - tmp |= value << PDEC_EVCTRL_ERREO_Pos; - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_ERREO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_ERREO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_ERREO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_ERREO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_EVCTRL_DIREO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_DIREO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_EVCTRL_DIREO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_DIREO) >> PDEC_EVCTRL_DIREO_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_EVCTRL_DIREO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_DIREO; - tmp |= value << PDEC_EVCTRL_DIREO_Pos; - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_DIREO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_DIREO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_DIREO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_DIREO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_EVCTRL_VLCEO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_VLCEO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_EVCTRL_VLCEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_VLCEO) >> PDEC_EVCTRL_VLCEO_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_EVCTRL_VLCEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_VLCEO; - tmp |= value << PDEC_EVCTRL_VLCEO_Pos; - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_VLCEO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_VLCEO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_VLCEO_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_VLCEO; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_EVCTRL_MCEO0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_MCEO0; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_EVCTRL_MCEO0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_MCEO0) >> PDEC_EVCTRL_MCEO0_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_EVCTRL_MCEO0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_MCEO0; - tmp |= value << PDEC_EVCTRL_MCEO0_Pos; - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_MCEO0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_MCEO0; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_MCEO0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_MCEO0; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_EVCTRL_MCEO1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_MCEO1; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_EVCTRL_MCEO1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_MCEO1) >> PDEC_EVCTRL_MCEO1_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_EVCTRL_MCEO1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_MCEO1; - tmp |= value << PDEC_EVCTRL_MCEO1_Pos; - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_MCEO1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_MCEO1; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_MCEO1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_MCEO1; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_EVACT(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_evctrl_reg_t hri_pdec_get_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_EVACT(mask)) >> PDEC_EVCTRL_EVACT_Pos; - return tmp; -} - -static inline void hri_pdec_write_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t data) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_EVACT_Msk; - tmp |= PDEC_EVCTRL_EVACT(data); - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_EVACT(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_EVACT(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_evctrl_reg_t hri_pdec_read_EVCTRL_EVACT_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_EVACT_Msk) >> PDEC_EVCTRL_EVACT_Pos; - return tmp; -} - -static inline void hri_pdec_set_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_EVINV(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_evctrl_reg_t hri_pdec_get_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_EVINV(mask)) >> PDEC_EVCTRL_EVINV_Pos; - return tmp; -} - -static inline void hri_pdec_write_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t data) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_EVINV_Msk; - tmp |= PDEC_EVCTRL_EVINV(data); - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_EVINV(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_EVINV(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_evctrl_reg_t hri_pdec_read_EVCTRL_EVINV_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_EVINV_Msk) >> PDEC_EVCTRL_EVINV_Pos; - return tmp; -} - -static inline void hri_pdec_set_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_EVEI(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_evctrl_reg_t hri_pdec_get_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_EVEI(mask)) >> PDEC_EVCTRL_EVEI_Pos; - return tmp; -} - -static inline void hri_pdec_write_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t data) -{ - uint16_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= ~PDEC_EVCTRL_EVEI_Msk; - tmp |= PDEC_EVCTRL_EVEI(data); - ((Pdec *)hw)->EVCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_EVEI(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_EVEI(mask); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_evctrl_reg_t hri_pdec_read_EVCTRL_EVEI_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp = (tmp & PDEC_EVCTRL_EVEI_Msk) >> PDEC_EVCTRL_EVEI_Pos; - return tmp; -} - -static inline void hri_pdec_set_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg |= mask; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_evctrl_reg_t hri_pdec_get_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Pdec *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg = data; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg &= ~mask; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->EVCTRL.reg ^= mask; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_evctrl_reg_t hri_pdec_read_EVCTRL_reg(const void *const hw) -{ - return ((Pdec *)hw)->EVCTRL.reg; -} - -static inline void hri_pdec_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->DBGCTRL.reg |= PDEC_DBGCTRL_DBGRUN; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->DBGCTRL.reg; - tmp = (tmp & PDEC_DBGCTRL_DBGRUN) >> PDEC_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_pdec_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->DBGCTRL.reg; - tmp &= ~PDEC_DBGCTRL_DBGRUN; - tmp |= value << PDEC_DBGCTRL_DBGRUN_Pos; - ((Pdec *)hw)->DBGCTRL.reg = tmp; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->DBGCTRL.reg &= ~PDEC_DBGCTRL_DBGRUN; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->DBGCTRL.reg ^= PDEC_DBGCTRL_DBGRUN; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_set_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->DBGCTRL.reg |= mask; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_dbgctrl_reg_t hri_pdec_get_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->DBGCTRL.reg = data; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->DBGCTRL.reg &= ~mask; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->DBGCTRL.reg ^= mask; - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_dbgctrl_reg_t hri_pdec_read_DBGCTRL_reg(const void *const hw) -{ - return ((Pdec *)hw)->DBGCTRL.reg; -} - -static inline void hri_pdec_set_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESC.reg |= PDEC_PRESC_PRESC(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_presc_reg_t hri_pdec_get_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t mask) -{ - uint8_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - tmp = ((Pdec *)hw)->PRESC.reg; - tmp = (tmp & PDEC_PRESC_PRESC(mask)) >> PDEC_PRESC_PRESC_Pos; - return tmp; -} - -static inline void hri_pdec_write_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t data) -{ - uint8_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->PRESC.reg; - tmp &= ~PDEC_PRESC_PRESC_Msk; - tmp |= PDEC_PRESC_PRESC(data); - ((Pdec *)hw)->PRESC.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESC.reg &= ~PDEC_PRESC_PRESC(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESC.reg ^= PDEC_PRESC_PRESC(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_presc_reg_t hri_pdec_read_PRESC_PRESC_bf(const void *const hw) -{ - uint8_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - tmp = ((Pdec *)hw)->PRESC.reg; - tmp = (tmp & PDEC_PRESC_PRESC_Msk) >> PDEC_PRESC_PRESC_Pos; - return tmp; -} - -static inline void hri_pdec_set_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESC.reg |= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_presc_reg_t hri_pdec_get_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t mask) -{ - uint8_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - tmp = ((Pdec *)hw)->PRESC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESC.reg = data; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESC.reg &= ~mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESC.reg ^= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_presc_reg_t hri_pdec_read_PRESC_reg(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC); - return ((Pdec *)hw)->PRESC.reg; -} - -static inline void hri_pdec_set_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTER.reg |= PDEC_FILTER_FILTER(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_filter_reg_t hri_pdec_get_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t mask) -{ - uint8_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - tmp = ((Pdec *)hw)->FILTER.reg; - tmp = (tmp & PDEC_FILTER_FILTER(mask)) >> PDEC_FILTER_FILTER_Pos; - return tmp; -} - -static inline void hri_pdec_write_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t data) -{ - uint8_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->FILTER.reg; - tmp &= ~PDEC_FILTER_FILTER_Msk; - tmp |= PDEC_FILTER_FILTER(data); - ((Pdec *)hw)->FILTER.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTER.reg &= ~PDEC_FILTER_FILTER(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTER.reg ^= PDEC_FILTER_FILTER(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_filter_reg_t hri_pdec_read_FILTER_FILTER_bf(const void *const hw) -{ - uint8_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - tmp = ((Pdec *)hw)->FILTER.reg; - tmp = (tmp & PDEC_FILTER_FILTER_Msk) >> PDEC_FILTER_FILTER_Pos; - return tmp; -} - -static inline void hri_pdec_set_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTER.reg |= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_filter_reg_t hri_pdec_get_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t mask) -{ - uint8_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - tmp = ((Pdec *)hw)->FILTER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTER.reg = data; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTER.reg &= ~mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTER.reg ^= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_filter_reg_t hri_pdec_read_FILTER_reg(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER); - return ((Pdec *)hw)->FILTER.reg; -} - -static inline void hri_pdec_set_PRESCBUF_PRESCBUF_bf(const void *const hw, hri_pdec_prescbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESCBUF.reg |= PDEC_PRESCBUF_PRESCBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_prescbuf_reg_t hri_pdec_get_PRESCBUF_PRESCBUF_bf(const void *const hw, - hri_pdec_prescbuf_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->PRESCBUF.reg; - tmp = (tmp & PDEC_PRESCBUF_PRESCBUF(mask)) >> PDEC_PRESCBUF_PRESCBUF_Pos; - return tmp; -} - -static inline void hri_pdec_write_PRESCBUF_PRESCBUF_bf(const void *const hw, hri_pdec_prescbuf_reg_t data) -{ - uint8_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->PRESCBUF.reg; - tmp &= ~PDEC_PRESCBUF_PRESCBUF_Msk; - tmp |= PDEC_PRESCBUF_PRESCBUF(data); - ((Pdec *)hw)->PRESCBUF.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_PRESCBUF_PRESCBUF_bf(const void *const hw, hri_pdec_prescbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESCBUF.reg &= ~PDEC_PRESCBUF_PRESCBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_PRESCBUF_PRESCBUF_bf(const void *const hw, hri_pdec_prescbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESCBUF.reg ^= PDEC_PRESCBUF_PRESCBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_prescbuf_reg_t hri_pdec_read_PRESCBUF_PRESCBUF_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->PRESCBUF.reg; - tmp = (tmp & PDEC_PRESCBUF_PRESCBUF_Msk) >> PDEC_PRESCBUF_PRESCBUF_Pos; - return tmp; -} - -static inline void hri_pdec_set_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESCBUF.reg |= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_prescbuf_reg_t hri_pdec_get_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t mask) -{ - uint8_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - tmp = ((Pdec *)hw)->PRESCBUF.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESCBUF.reg = data; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESCBUF.reg &= ~mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->PRESCBUF.reg ^= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_prescbuf_reg_t hri_pdec_read_PRESCBUF_reg(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return ((Pdec *)hw)->PRESCBUF.reg; -} - -static inline void hri_pdec_set_FILTERBUF_FILTERBUF_bf(const void *const hw, hri_pdec_filterbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTERBUF.reg |= PDEC_FILTERBUF_FILTERBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_filterbuf_reg_t hri_pdec_get_FILTERBUF_FILTERBUF_bf(const void *const hw, - hri_pdec_filterbuf_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->FILTERBUF.reg; - tmp = (tmp & PDEC_FILTERBUF_FILTERBUF(mask)) >> PDEC_FILTERBUF_FILTERBUF_Pos; - return tmp; -} - -static inline void hri_pdec_write_FILTERBUF_FILTERBUF_bf(const void *const hw, hri_pdec_filterbuf_reg_t data) -{ - uint8_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->FILTERBUF.reg; - tmp &= ~PDEC_FILTERBUF_FILTERBUF_Msk; - tmp |= PDEC_FILTERBUF_FILTERBUF(data); - ((Pdec *)hw)->FILTERBUF.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_FILTERBUF_FILTERBUF_bf(const void *const hw, hri_pdec_filterbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTERBUF.reg &= ~PDEC_FILTERBUF_FILTERBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_FILTERBUF_FILTERBUF_bf(const void *const hw, hri_pdec_filterbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTERBUF.reg ^= PDEC_FILTERBUF_FILTERBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_filterbuf_reg_t hri_pdec_read_FILTERBUF_FILTERBUF_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pdec *)hw)->FILTERBUF.reg; - tmp = (tmp & PDEC_FILTERBUF_FILTERBUF_Msk) >> PDEC_FILTERBUF_FILTERBUF_Pos; - return tmp; -} - -static inline void hri_pdec_set_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTERBUF.reg |= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_filterbuf_reg_t hri_pdec_get_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t mask) -{ - uint8_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - tmp = ((Pdec *)hw)->FILTERBUF.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTERBUF.reg = data; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTERBUF.reg &= ~mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->FILTERBUF.reg ^= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_filterbuf_reg_t hri_pdec_read_FILTERBUF_reg(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return ((Pdec *)hw)->FILTERBUF.reg; -} - -static inline void hri_pdec_set_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->COUNT.reg |= PDEC_COUNT_COUNT(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_count_reg_t hri_pdec_get_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t mask) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - tmp = ((Pdec *)hw)->COUNT.reg; - tmp = (tmp & PDEC_COUNT_COUNT(mask)) >> PDEC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_pdec_write_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t data) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->COUNT.reg; - tmp &= ~PDEC_COUNT_COUNT_Msk; - tmp |= PDEC_COUNT_COUNT(data); - ((Pdec *)hw)->COUNT.reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->COUNT.reg &= ~PDEC_COUNT_COUNT(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->COUNT.reg ^= PDEC_COUNT_COUNT(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_count_reg_t hri_pdec_read_COUNT_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - tmp = ((Pdec *)hw)->COUNT.reg; - tmp = (tmp & PDEC_COUNT_COUNT_Msk) >> PDEC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_pdec_set_COUNT_reg(const void *const hw, hri_pdec_count_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->COUNT.reg |= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_count_reg_t hri_pdec_get_COUNT_reg(const void *const hw, hri_pdec_count_reg_t mask) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - tmp = ((Pdec *)hw)->COUNT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_COUNT_reg(const void *const hw, hri_pdec_count_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->COUNT.reg = data; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_COUNT_reg(const void *const hw, hri_pdec_count_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->COUNT.reg &= ~mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_COUNT_reg(const void *const hw, hri_pdec_count_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->COUNT.reg ^= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_count_reg_t hri_pdec_read_COUNT_reg(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT); - return ((Pdec *)hw)->COUNT.reg; -} - -static inline void hri_pdec_set_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CC[index].reg |= PDEC_CC_CC(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_cc_reg_t hri_pdec_get_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - tmp = ((Pdec *)hw)->CC[index].reg; - tmp = (tmp & PDEC_CC_CC(mask)) >> PDEC_CC_CC_Pos; - return tmp; -} - -static inline void hri_pdec_write_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t data) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CC[index].reg; - tmp &= ~PDEC_CC_CC_Msk; - tmp |= PDEC_CC_CC(data); - ((Pdec *)hw)->CC[index].reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CC[index].reg &= ~PDEC_CC_CC(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CC[index].reg ^= PDEC_CC_CC(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_cc_reg_t hri_pdec_read_CC_CC_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - tmp = ((Pdec *)hw)->CC[index].reg; - tmp = (tmp & PDEC_CC_CC_Msk) >> PDEC_CC_CC_Pos; - return tmp; -} - -static inline void hri_pdec_set_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CC[index].reg |= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_cc_reg_t hri_pdec_get_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - tmp = ((Pdec *)hw)->CC[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CC[index].reg = data; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CC[index].reg &= ~mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CC[index].reg ^= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_cc_reg_t hri_pdec_read_CC_reg(const void *const hw, uint8_t index) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1); - return ((Pdec *)hw)->CC[index].reg; -} - -static inline void hri_pdec_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CCBUF[index].reg |= PDEC_CCBUF_CCBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ccbuf_reg_t hri_pdec_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_pdec_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CCBUF[index].reg; - tmp = (tmp & PDEC_CCBUF_CCBUF(mask)) >> PDEC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_pdec_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t data) -{ - uint32_t tmp; - PDEC_CRITICAL_SECTION_ENTER(); - tmp = ((Pdec *)hw)->CCBUF[index].reg; - tmp &= ~PDEC_CCBUF_CCBUF_Msk; - tmp |= PDEC_CCBUF_CCBUF(data); - ((Pdec *)hw)->CCBUF[index].reg = tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CCBUF[index].reg &= ~PDEC_CCBUF_CCBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CCBUF[index].reg ^= PDEC_CCBUF_CCBUF(mask); - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ccbuf_reg_t hri_pdec_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Pdec *)hw)->CCBUF[index].reg; - tmp = (tmp & PDEC_CCBUF_CCBUF_Msk) >> PDEC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_pdec_set_CCBUF_reg(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CCBUF[index].reg |= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ccbuf_reg_t hri_pdec_get_CCBUF_reg(const void *const hw, uint8_t index, - hri_pdec_ccbuf_reg_t mask) -{ - uint32_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - tmp = ((Pdec *)hw)->CCBUF[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_write_CCBUF_reg(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t data) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CCBUF[index].reg = data; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CCBUF[index].reg &= ~mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pdec_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->CCBUF[index].reg ^= mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_ccbuf_reg_t hri_pdec_read_CCBUF_reg(const void *const hw, uint8_t index) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return ((Pdec *)hw)->CCBUF[index].reg; -} - -static inline bool hri_pdec_get_STATUS_QERR_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_QERR) >> PDEC_STATUS_QERR_Pos; -} - -static inline void hri_pdec_clear_STATUS_QERR_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_QERR; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_IDXERR_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_IDXERR) >> PDEC_STATUS_IDXERR_Pos; -} - -static inline void hri_pdec_clear_STATUS_IDXERR_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_IDXERR; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_MPERR_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_MPERR) >> PDEC_STATUS_MPERR_Pos; -} - -static inline void hri_pdec_clear_STATUS_MPERR_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_MPERR; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_WINERR_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_WINERR) >> PDEC_STATUS_WINERR_Pos; -} - -static inline void hri_pdec_clear_STATUS_WINERR_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_WINERR; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_HERR_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_HERR) >> PDEC_STATUS_HERR_Pos; -} - -static inline void hri_pdec_clear_STATUS_HERR_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_HERR; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_STOP_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_STOP) >> PDEC_STATUS_STOP_Pos; -} - -static inline void hri_pdec_clear_STATUS_STOP_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_STOP; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_DIR_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_DIR) >> PDEC_STATUS_DIR_Pos; -} - -static inline void hri_pdec_clear_STATUS_DIR_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_DIR; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_PRESCBUFV_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_PRESCBUFV) >> PDEC_STATUS_PRESCBUFV_Pos; -} - -static inline void hri_pdec_clear_STATUS_PRESCBUFV_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_PRESCBUFV; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_FILTERBUFV_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_FILTERBUFV) >> PDEC_STATUS_FILTERBUFV_Pos; -} - -static inline void hri_pdec_clear_STATUS_FILTERBUFV_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_FILTERBUFV; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_CCBUFV0_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_CCBUFV0) >> PDEC_STATUS_CCBUFV0_Pos; -} - -static inline void hri_pdec_clear_STATUS_CCBUFV0_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_CCBUFV0; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pdec_get_STATUS_CCBUFV1_bit(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_CCBUFV1) >> PDEC_STATUS_CCBUFV1_Pos; -} - -static inline void hri_pdec_clear_STATUS_CCBUFV1_bit(const void *const hw) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_CCBUFV1; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_status_reg_t hri_pdec_get_STATUS_reg(const void *const hw, hri_pdec_status_reg_t mask) -{ - uint16_t tmp; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - tmp = ((Pdec *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pdec_clear_STATUS_reg(const void *const hw, hri_pdec_status_reg_t mask) -{ - PDEC_CRITICAL_SECTION_ENTER(); - ((Pdec *)hw)->STATUS.reg = mask; - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - PDEC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pdec_status_reg_t hri_pdec_read_STATUS_reg(const void *const hw) -{ - hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK); - return ((Pdec *)hw)->STATUS.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_PDEC_E54_H_INCLUDED */ -#endif /* _SAME54_PDEC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_pm_e54.h b/software/firmware/oracle_same54n19a/hri/hri_pm_e54.h deleted file mode 100644 index 0b91bee..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_pm_e54.h +++ /dev/null @@ -1,820 +0,0 @@ -/** - * \file - * - * \brief SAM PM - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_PM_COMPONENT_ -#ifndef _HRI_PM_E54_H_INCLUDED_ -#define _HRI_PM_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_PM_CRITICAL_SECTIONS) -#define PM_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define PM_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define PM_CRITICAL_SECTION_ENTER() -#define PM_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint8_t hri_pm_bkupcfg_reg_t; -typedef uint8_t hri_pm_ctrla_reg_t; -typedef uint8_t hri_pm_hibcfg_reg_t; -typedef uint8_t hri_pm_intenset_reg_t; -typedef uint8_t hri_pm_intflag_reg_t; -typedef uint8_t hri_pm_pwsakdly_reg_t; -typedef uint8_t hri_pm_sleepcfg_reg_t; -typedef uint8_t hri_pm_stdbycfg_reg_t; - -static inline bool hri_pm_get_INTFLAG_SLEEPRDY_bit(const void *const hw) -{ - return (((Pm *)hw)->INTFLAG.reg & PM_INTFLAG_SLEEPRDY) >> PM_INTFLAG_SLEEPRDY_Pos; -} - -static inline void hri_pm_clear_INTFLAG_SLEEPRDY_bit(const void *const hw) -{ - ((Pm *)hw)->INTFLAG.reg = PM_INTFLAG_SLEEPRDY; -} - -static inline bool hri_pm_get_interrupt_SLEEPRDY_bit(const void *const hw) -{ - return (((Pm *)hw)->INTFLAG.reg & PM_INTFLAG_SLEEPRDY) >> PM_INTFLAG_SLEEPRDY_Pos; -} - -static inline void hri_pm_clear_interrupt_SLEEPRDY_bit(const void *const hw) -{ - ((Pm *)hw)->INTFLAG.reg = PM_INTFLAG_SLEEPRDY; -} - -static inline hri_pm_intflag_reg_t hri_pm_get_INTFLAG_reg(const void *const hw, hri_pm_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pm_intflag_reg_t hri_pm_read_INTFLAG_reg(const void *const hw) -{ - return ((Pm *)hw)->INTFLAG.reg; -} - -static inline void hri_pm_clear_INTFLAG_reg(const void *const hw, hri_pm_intflag_reg_t mask) -{ - ((Pm *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_pm_set_INTEN_SLEEPRDY_bit(const void *const hw) -{ - ((Pm *)hw)->INTENSET.reg = PM_INTENSET_SLEEPRDY; -} - -static inline bool hri_pm_get_INTEN_SLEEPRDY_bit(const void *const hw) -{ - return (((Pm *)hw)->INTENSET.reg & PM_INTENSET_SLEEPRDY) >> PM_INTENSET_SLEEPRDY_Pos; -} - -static inline void hri_pm_write_INTEN_SLEEPRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Pm *)hw)->INTENCLR.reg = PM_INTENSET_SLEEPRDY; - } else { - ((Pm *)hw)->INTENSET.reg = PM_INTENSET_SLEEPRDY; - } -} - -static inline void hri_pm_clear_INTEN_SLEEPRDY_bit(const void *const hw) -{ - ((Pm *)hw)->INTENCLR.reg = PM_INTENSET_SLEEPRDY; -} - -static inline void hri_pm_set_INTEN_reg(const void *const hw, hri_pm_intenset_reg_t mask) -{ - ((Pm *)hw)->INTENSET.reg = mask; -} - -static inline hri_pm_intenset_reg_t hri_pm_get_INTEN_reg(const void *const hw, hri_pm_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_pm_intenset_reg_t hri_pm_read_INTEN_reg(const void *const hw) -{ - return ((Pm *)hw)->INTENSET.reg; -} - -static inline void hri_pm_write_INTEN_reg(const void *const hw, hri_pm_intenset_reg_t data) -{ - ((Pm *)hw)->INTENSET.reg = data; - ((Pm *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_pm_clear_INTEN_reg(const void *const hw, hri_pm_intenset_reg_t mask) -{ - ((Pm *)hw)->INTENCLR.reg = mask; -} - -static inline void hri_pm_set_CTRLA_IORET_bit(const void *const hw) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->CTRLA.reg |= PM_CTRLA_IORET; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pm_get_CTRLA_IORET_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->CTRLA.reg; - tmp = (tmp & PM_CTRLA_IORET) >> PM_CTRLA_IORET_Pos; - return (bool)tmp; -} - -static inline void hri_pm_write_CTRLA_IORET_bit(const void *const hw, bool value) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->CTRLA.reg; - tmp &= ~PM_CTRLA_IORET; - tmp |= value << PM_CTRLA_IORET_Pos; - ((Pm *)hw)->CTRLA.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_CTRLA_IORET_bit(const void *const hw) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->CTRLA.reg &= ~PM_CTRLA_IORET; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_CTRLA_IORET_bit(const void *const hw) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->CTRLA.reg ^= PM_CTRLA_IORET; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_set_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->CTRLA.reg |= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_ctrla_reg_t hri_pm_get_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pm_write_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t data) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->CTRLA.reg = data; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->CTRLA.reg &= ~mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->CTRLA.reg ^= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_ctrla_reg_t hri_pm_read_CTRLA_reg(const void *const hw) -{ - return ((Pm *)hw)->CTRLA.reg; -} - -static inline void hri_pm_set_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->SLEEPCFG.reg |= PM_SLEEPCFG_SLEEPMODE(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_sleepcfg_reg_t hri_pm_get_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->SLEEPCFG.reg; - tmp = (tmp & PM_SLEEPCFG_SLEEPMODE(mask)) >> PM_SLEEPCFG_SLEEPMODE_Pos; - return tmp; -} - -static inline void hri_pm_write_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t data) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->SLEEPCFG.reg; - tmp &= ~PM_SLEEPCFG_SLEEPMODE_Msk; - tmp |= PM_SLEEPCFG_SLEEPMODE(data); - ((Pm *)hw)->SLEEPCFG.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->SLEEPCFG.reg &= ~PM_SLEEPCFG_SLEEPMODE(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->SLEEPCFG.reg ^= PM_SLEEPCFG_SLEEPMODE(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_sleepcfg_reg_t hri_pm_read_SLEEPCFG_SLEEPMODE_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->SLEEPCFG.reg; - tmp = (tmp & PM_SLEEPCFG_SLEEPMODE_Msk) >> PM_SLEEPCFG_SLEEPMODE_Pos; - return tmp; -} - -static inline void hri_pm_set_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->SLEEPCFG.reg |= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_sleepcfg_reg_t hri_pm_get_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->SLEEPCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pm_write_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t data) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->SLEEPCFG.reg = data; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->SLEEPCFG.reg &= ~mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->SLEEPCFG.reg ^= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_sleepcfg_reg_t hri_pm_read_SLEEPCFG_reg(const void *const hw) -{ - return ((Pm *)hw)->SLEEPCFG.reg; -} - -static inline void hri_pm_set_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg |= PM_STDBYCFG_RAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_stdbycfg_reg_t hri_pm_get_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->STDBYCFG.reg; - tmp = (tmp & PM_STDBYCFG_RAMCFG(mask)) >> PM_STDBYCFG_RAMCFG_Pos; - return tmp; -} - -static inline void hri_pm_write_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t data) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->STDBYCFG.reg; - tmp &= ~PM_STDBYCFG_RAMCFG_Msk; - tmp |= PM_STDBYCFG_RAMCFG(data); - ((Pm *)hw)->STDBYCFG.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg &= ~PM_STDBYCFG_RAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg ^= PM_STDBYCFG_RAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_stdbycfg_reg_t hri_pm_read_STDBYCFG_RAMCFG_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->STDBYCFG.reg; - tmp = (tmp & PM_STDBYCFG_RAMCFG_Msk) >> PM_STDBYCFG_RAMCFG_Pos; - return tmp; -} - -static inline void hri_pm_set_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg |= PM_STDBYCFG_FASTWKUP(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_stdbycfg_reg_t hri_pm_get_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->STDBYCFG.reg; - tmp = (tmp & PM_STDBYCFG_FASTWKUP(mask)) >> PM_STDBYCFG_FASTWKUP_Pos; - return tmp; -} - -static inline void hri_pm_write_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t data) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->STDBYCFG.reg; - tmp &= ~PM_STDBYCFG_FASTWKUP_Msk; - tmp |= PM_STDBYCFG_FASTWKUP(data); - ((Pm *)hw)->STDBYCFG.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg &= ~PM_STDBYCFG_FASTWKUP(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg ^= PM_STDBYCFG_FASTWKUP(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_stdbycfg_reg_t hri_pm_read_STDBYCFG_FASTWKUP_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->STDBYCFG.reg; - tmp = (tmp & PM_STDBYCFG_FASTWKUP_Msk) >> PM_STDBYCFG_FASTWKUP_Pos; - return tmp; -} - -static inline void hri_pm_set_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg |= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_stdbycfg_reg_t hri_pm_get_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->STDBYCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pm_write_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t data) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg = data; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg &= ~mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->STDBYCFG.reg ^= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_stdbycfg_reg_t hri_pm_read_STDBYCFG_reg(const void *const hw) -{ - return ((Pm *)hw)->STDBYCFG.reg; -} - -static inline void hri_pm_set_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg |= PM_HIBCFG_RAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_hibcfg_reg_t hri_pm_get_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->HIBCFG.reg; - tmp = (tmp & PM_HIBCFG_RAMCFG(mask)) >> PM_HIBCFG_RAMCFG_Pos; - return tmp; -} - -static inline void hri_pm_write_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t data) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->HIBCFG.reg; - tmp &= ~PM_HIBCFG_RAMCFG_Msk; - tmp |= PM_HIBCFG_RAMCFG(data); - ((Pm *)hw)->HIBCFG.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg &= ~PM_HIBCFG_RAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg ^= PM_HIBCFG_RAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_hibcfg_reg_t hri_pm_read_HIBCFG_RAMCFG_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->HIBCFG.reg; - tmp = (tmp & PM_HIBCFG_RAMCFG_Msk) >> PM_HIBCFG_RAMCFG_Pos; - return tmp; -} - -static inline void hri_pm_set_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg |= PM_HIBCFG_BRAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_hibcfg_reg_t hri_pm_get_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->HIBCFG.reg; - tmp = (tmp & PM_HIBCFG_BRAMCFG(mask)) >> PM_HIBCFG_BRAMCFG_Pos; - return tmp; -} - -static inline void hri_pm_write_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t data) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->HIBCFG.reg; - tmp &= ~PM_HIBCFG_BRAMCFG_Msk; - tmp |= PM_HIBCFG_BRAMCFG(data); - ((Pm *)hw)->HIBCFG.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg &= ~PM_HIBCFG_BRAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg ^= PM_HIBCFG_BRAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_hibcfg_reg_t hri_pm_read_HIBCFG_BRAMCFG_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->HIBCFG.reg; - tmp = (tmp & PM_HIBCFG_BRAMCFG_Msk) >> PM_HIBCFG_BRAMCFG_Pos; - return tmp; -} - -static inline void hri_pm_set_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg |= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_hibcfg_reg_t hri_pm_get_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->HIBCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pm_write_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t data) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg = data; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg &= ~mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->HIBCFG.reg ^= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_hibcfg_reg_t hri_pm_read_HIBCFG_reg(const void *const hw) -{ - return ((Pm *)hw)->HIBCFG.reg; -} - -static inline void hri_pm_set_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->BKUPCFG.reg |= PM_BKUPCFG_BRAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_bkupcfg_reg_t hri_pm_get_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->BKUPCFG.reg; - tmp = (tmp & PM_BKUPCFG_BRAMCFG(mask)) >> PM_BKUPCFG_BRAMCFG_Pos; - return tmp; -} - -static inline void hri_pm_write_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t data) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->BKUPCFG.reg; - tmp &= ~PM_BKUPCFG_BRAMCFG_Msk; - tmp |= PM_BKUPCFG_BRAMCFG(data); - ((Pm *)hw)->BKUPCFG.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->BKUPCFG.reg &= ~PM_BKUPCFG_BRAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->BKUPCFG.reg ^= PM_BKUPCFG_BRAMCFG(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_bkupcfg_reg_t hri_pm_read_BKUPCFG_BRAMCFG_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->BKUPCFG.reg; - tmp = (tmp & PM_BKUPCFG_BRAMCFG_Msk) >> PM_BKUPCFG_BRAMCFG_Pos; - return tmp; -} - -static inline void hri_pm_set_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->BKUPCFG.reg |= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_bkupcfg_reg_t hri_pm_get_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->BKUPCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pm_write_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t data) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->BKUPCFG.reg = data; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->BKUPCFG.reg &= ~mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->BKUPCFG.reg ^= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_bkupcfg_reg_t hri_pm_read_BKUPCFG_reg(const void *const hw) -{ - return ((Pm *)hw)->BKUPCFG.reg; -} - -static inline void hri_pm_set_PWSAKDLY_IGNACK_bit(const void *const hw) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg |= PM_PWSAKDLY_IGNACK; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_pm_get_PWSAKDLY_IGNACK_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->PWSAKDLY.reg; - tmp = (tmp & PM_PWSAKDLY_IGNACK) >> PM_PWSAKDLY_IGNACK_Pos; - return (bool)tmp; -} - -static inline void hri_pm_write_PWSAKDLY_IGNACK_bit(const void *const hw, bool value) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->PWSAKDLY.reg; - tmp &= ~PM_PWSAKDLY_IGNACK; - tmp |= value << PM_PWSAKDLY_IGNACK_Pos; - ((Pm *)hw)->PWSAKDLY.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_PWSAKDLY_IGNACK_bit(const void *const hw) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg &= ~PM_PWSAKDLY_IGNACK; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_PWSAKDLY_IGNACK_bit(const void *const hw) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg ^= PM_PWSAKDLY_IGNACK; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_set_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg |= PM_PWSAKDLY_DLYVAL(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_pwsakdly_reg_t hri_pm_get_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->PWSAKDLY.reg; - tmp = (tmp & PM_PWSAKDLY_DLYVAL(mask)) >> PM_PWSAKDLY_DLYVAL_Pos; - return tmp; -} - -static inline void hri_pm_write_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t data) -{ - uint8_t tmp; - PM_CRITICAL_SECTION_ENTER(); - tmp = ((Pm *)hw)->PWSAKDLY.reg; - tmp &= ~PM_PWSAKDLY_DLYVAL_Msk; - tmp |= PM_PWSAKDLY_DLYVAL(data); - ((Pm *)hw)->PWSAKDLY.reg = tmp; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg &= ~PM_PWSAKDLY_DLYVAL(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg ^= PM_PWSAKDLY_DLYVAL(mask); - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_pwsakdly_reg_t hri_pm_read_PWSAKDLY_DLYVAL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->PWSAKDLY.reg; - tmp = (tmp & PM_PWSAKDLY_DLYVAL_Msk) >> PM_PWSAKDLY_DLYVAL_Pos; - return tmp; -} - -static inline void hri_pm_set_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg |= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_pwsakdly_reg_t hri_pm_get_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t mask) -{ - uint8_t tmp; - tmp = ((Pm *)hw)->PWSAKDLY.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_pm_write_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t data) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg = data; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_clear_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg &= ~mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_pm_toggle_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t mask) -{ - PM_CRITICAL_SECTION_ENTER(); - ((Pm *)hw)->PWSAKDLY.reg ^= mask; - PM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_pm_pwsakdly_reg_t hri_pm_read_PWSAKDLY_reg(const void *const hw) -{ - return ((Pm *)hw)->PWSAKDLY.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_PM_E54_H_INCLUDED */ -#endif /* _SAME54_PM_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_port_e54.h b/software/firmware/oracle_same54n19a/hri/hri_port_e54.h deleted file mode 100644 index 261fcf5..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_port_e54.h +++ /dev/null @@ -1,2528 +0,0 @@ -/** - * \file - * - * \brief SAM PORT - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_PORT_COMPONENT_ -#ifndef _HRI_PORT_E54_H_INCLUDED_ -#define _HRI_PORT_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_PORT_CRITICAL_SECTIONS) -#define PORT_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define PORT_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define PORT_CRITICAL_SECTION_ENTER() -#define PORT_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_port_ctrl_reg_t; -typedef uint32_t hri_port_dir_reg_t; -typedef uint32_t hri_port_evctrl_reg_t; -typedef uint32_t hri_port_in_reg_t; -typedef uint32_t hri_port_out_reg_t; -typedef uint32_t hri_port_wrconfig_reg_t; -typedef uint32_t hri_portgroup_ctrl_reg_t; -typedef uint32_t hri_portgroup_dir_reg_t; -typedef uint32_t hri_portgroup_evctrl_reg_t; -typedef uint32_t hri_portgroup_in_reg_t; -typedef uint32_t hri_portgroup_out_reg_t; -typedef uint32_t hri_portgroup_wrconfig_reg_t; -typedef uint8_t hri_port_pincfg_reg_t; -typedef uint8_t hri_port_pmux_reg_t; -typedef uint8_t hri_portgroup_pincfg_reg_t; -typedef uint8_t hri_portgroup_pmux_reg_t; - -static inline void hri_portgroup_set_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t mask) -{ - ((PortGroup *)hw)->DIRSET.reg = PORT_DIR_DIR(mask); -} - -static inline hri_port_dir_reg_t hri_portgroup_get_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->DIR.reg; - tmp = (tmp & PORT_DIR_DIR(mask)) >> PORT_DIR_DIR_Pos; - return tmp; -} - -static inline hri_port_dir_reg_t hri_portgroup_read_DIR_DIR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->DIR.reg; - tmp = (tmp & PORT_DIR_DIR_Msk) >> PORT_DIR_DIR_Pos; - return tmp; -} - -static inline void hri_portgroup_write_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t data) -{ - ((PortGroup *)hw)->DIRSET.reg = PORT_DIR_DIR(data); - ((PortGroup *)hw)->DIRCLR.reg = ~PORT_DIR_DIR(data); -} - -static inline void hri_portgroup_clear_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t mask) -{ - ((PortGroup *)hw)->DIRCLR.reg = PORT_DIR_DIR(mask); -} - -static inline void hri_portgroup_toggle_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t mask) -{ - ((PortGroup *)hw)->DIRTGL.reg = PORT_DIR_DIR(mask); -} - -static inline void hri_portgroup_set_DIR_reg(const void *const hw, hri_port_dir_reg_t mask) -{ - ((PortGroup *)hw)->DIRSET.reg = mask; -} - -static inline hri_port_dir_reg_t hri_portgroup_get_DIR_reg(const void *const hw, hri_port_dir_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->DIR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_port_dir_reg_t hri_portgroup_read_DIR_reg(const void *const hw) -{ - return ((PortGroup *)hw)->DIR.reg; -} - -static inline void hri_portgroup_write_DIR_reg(const void *const hw, hri_port_dir_reg_t data) -{ - ((PortGroup *)hw)->DIRSET.reg = data; - ((PortGroup *)hw)->DIRCLR.reg = ~data; -} - -static inline void hri_portgroup_clear_DIR_reg(const void *const hw, hri_port_dir_reg_t mask) -{ - ((PortGroup *)hw)->DIRCLR.reg = mask; -} - -static inline void hri_portgroup_toggle_DIR_reg(const void *const hw, hri_port_dir_reg_t mask) -{ - ((PortGroup *)hw)->DIRTGL.reg = mask; -} - -static inline void hri_portgroup_set_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t mask) -{ - ((PortGroup *)hw)->OUTSET.reg = PORT_OUT_OUT(mask); -} - -static inline hri_port_out_reg_t hri_portgroup_get_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->OUT.reg; - tmp = (tmp & PORT_OUT_OUT(mask)) >> PORT_OUT_OUT_Pos; - return tmp; -} - -static inline hri_port_out_reg_t hri_portgroup_read_OUT_OUT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->OUT.reg; - tmp = (tmp & PORT_OUT_OUT_Msk) >> PORT_OUT_OUT_Pos; - return tmp; -} - -static inline void hri_portgroup_write_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t data) -{ - ((PortGroup *)hw)->OUTSET.reg = PORT_OUT_OUT(data); - ((PortGroup *)hw)->OUTCLR.reg = ~PORT_OUT_OUT(data); -} - -static inline void hri_portgroup_clear_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t mask) -{ - ((PortGroup *)hw)->OUTCLR.reg = PORT_OUT_OUT(mask); -} - -static inline void hri_portgroup_toggle_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t mask) -{ - ((PortGroup *)hw)->OUTTGL.reg = PORT_OUT_OUT(mask); -} - -static inline void hri_portgroup_set_OUT_reg(const void *const hw, hri_port_out_reg_t mask) -{ - ((PortGroup *)hw)->OUTSET.reg = mask; -} - -static inline hri_port_out_reg_t hri_portgroup_get_OUT_reg(const void *const hw, hri_port_out_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->OUT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_port_out_reg_t hri_portgroup_read_OUT_reg(const void *const hw) -{ - return ((PortGroup *)hw)->OUT.reg; -} - -static inline void hri_portgroup_write_OUT_reg(const void *const hw, hri_port_out_reg_t data) -{ - ((PortGroup *)hw)->OUTSET.reg = data; - ((PortGroup *)hw)->OUTCLR.reg = ~data; -} - -static inline void hri_portgroup_clear_OUT_reg(const void *const hw, hri_port_out_reg_t mask) -{ - ((PortGroup *)hw)->OUTCLR.reg = mask; -} - -static inline void hri_portgroup_toggle_OUT_reg(const void *const hw, hri_port_out_reg_t mask) -{ - ((PortGroup *)hw)->OUTTGL.reg = mask; -} - -static inline hri_port_in_reg_t hri_portgroup_get_IN_IN_bf(const void *const hw, hri_port_in_reg_t mask) -{ - return (((PortGroup *)hw)->IN.reg & PORT_IN_IN(mask)) >> PORT_IN_IN_Pos; -} - -static inline hri_port_in_reg_t hri_portgroup_read_IN_IN_bf(const void *const hw) -{ - return (((PortGroup *)hw)->IN.reg & PORT_IN_IN_Msk) >> PORT_IN_IN_Pos; -} - -static inline hri_port_in_reg_t hri_portgroup_get_IN_reg(const void *const hw, hri_port_in_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->IN.reg; - tmp &= mask; - return tmp; -} - -static inline hri_port_in_reg_t hri_portgroup_read_IN_reg(const void *const hw) -{ - return ((PortGroup *)hw)->IN.reg; -} - -static inline void hri_portgroup_set_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->CTRL.reg |= PORT_CTRL_SAMPLING(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_ctrl_reg_t hri_portgroup_get_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->CTRL.reg; - tmp = (tmp & PORT_CTRL_SAMPLING(mask)) >> PORT_CTRL_SAMPLING_Pos; - return tmp; -} - -static inline void hri_portgroup_write_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->CTRL.reg; - tmp &= ~PORT_CTRL_SAMPLING_Msk; - tmp |= PORT_CTRL_SAMPLING(data); - ((PortGroup *)hw)->CTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->CTRL.reg &= ~PORT_CTRL_SAMPLING(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->CTRL.reg ^= PORT_CTRL_SAMPLING(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_ctrl_reg_t hri_portgroup_read_CTRL_SAMPLING_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->CTRL.reg; - tmp = (tmp & PORT_CTRL_SAMPLING_Msk) >> PORT_CTRL_SAMPLING_Pos; - return tmp; -} - -static inline void hri_portgroup_set_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->CTRL.reg |= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_ctrl_reg_t hri_portgroup_get_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->CTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_portgroup_write_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->CTRL.reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->CTRL.reg &= ~mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->CTRL.reg ^= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_ctrl_reg_t hri_portgroup_read_CTRL_reg(const void *const hw) -{ - return ((PortGroup *)hw)->CTRL.reg; -} - -static inline void hri_portgroup_set_EVCTRL_PORTEI0_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PORTEI0; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_portgroup_get_EVCTRL_PORTEI0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PORTEI0) >> PORT_EVCTRL_PORTEI0_Pos; - return (bool)tmp; -} - -static inline void hri_portgroup_write_EVCTRL_PORTEI0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PORTEI0; - tmp |= value << PORT_EVCTRL_PORTEI0_Pos; - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_PORTEI0_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PORTEI0; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_PORTEI0_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PORTEI0; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_set_EVCTRL_PORTEI1_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PORTEI1; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_portgroup_get_EVCTRL_PORTEI1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PORTEI1) >> PORT_EVCTRL_PORTEI1_Pos; - return (bool)tmp; -} - -static inline void hri_portgroup_write_EVCTRL_PORTEI1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PORTEI1; - tmp |= value << PORT_EVCTRL_PORTEI1_Pos; - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_PORTEI1_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PORTEI1; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_PORTEI1_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PORTEI1; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_set_EVCTRL_PORTEI2_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PORTEI2; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_portgroup_get_EVCTRL_PORTEI2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PORTEI2) >> PORT_EVCTRL_PORTEI2_Pos; - return (bool)tmp; -} - -static inline void hri_portgroup_write_EVCTRL_PORTEI2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PORTEI2; - tmp |= value << PORT_EVCTRL_PORTEI2_Pos; - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_PORTEI2_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PORTEI2; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_PORTEI2_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PORTEI2; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_set_EVCTRL_PORTEI3_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PORTEI3; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_portgroup_get_EVCTRL_PORTEI3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PORTEI3) >> PORT_EVCTRL_PORTEI3_Pos; - return (bool)tmp; -} - -static inline void hri_portgroup_write_EVCTRL_PORTEI3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PORTEI3; - tmp |= value << PORT_EVCTRL_PORTEI3_Pos; - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_PORTEI3_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PORTEI3; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_PORTEI3_bit(const void *const hw) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PORTEI3; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_set_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PID0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID0(mask)) >> PORT_EVCTRL_PID0_Pos; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PID0_Msk; - tmp |= PORT_EVCTRL_PID0(data); - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PID0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PID0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_PID0_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID0_Msk) >> PORT_EVCTRL_PID0_Pos; - return tmp; -} - -static inline void hri_portgroup_set_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_EVACT0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT0(mask)) >> PORT_EVCTRL_EVACT0_Pos; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_EVACT0_Msk; - tmp |= PORT_EVCTRL_EVACT0(data); - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_EVACT0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_EVACT0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_EVACT0_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT0_Msk) >> PORT_EVCTRL_EVACT0_Pos; - return tmp; -} - -static inline void hri_portgroup_set_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PID1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID1(mask)) >> PORT_EVCTRL_PID1_Pos; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PID1_Msk; - tmp |= PORT_EVCTRL_PID1(data); - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PID1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PID1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_PID1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID1_Msk) >> PORT_EVCTRL_PID1_Pos; - return tmp; -} - -static inline void hri_portgroup_set_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_EVACT1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT1(mask)) >> PORT_EVCTRL_EVACT1_Pos; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_EVACT1_Msk; - tmp |= PORT_EVCTRL_EVACT1(data); - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_EVACT1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_EVACT1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_EVACT1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT1_Msk) >> PORT_EVCTRL_EVACT1_Pos; - return tmp; -} - -static inline void hri_portgroup_set_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PID2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID2(mask)) >> PORT_EVCTRL_PID2_Pos; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PID2_Msk; - tmp |= PORT_EVCTRL_PID2(data); - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PID2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PID2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_PID2_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID2_Msk) >> PORT_EVCTRL_PID2_Pos; - return tmp; -} - -static inline void hri_portgroup_set_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_EVACT2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT2(mask)) >> PORT_EVCTRL_EVACT2_Pos; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_EVACT2_Msk; - tmp |= PORT_EVCTRL_EVACT2(data); - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_EVACT2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_EVACT2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_EVACT2_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT2_Msk) >> PORT_EVCTRL_EVACT2_Pos; - return tmp; -} - -static inline void hri_portgroup_set_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PID3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID3(mask)) >> PORT_EVCTRL_PID3_Pos; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PID3_Msk; - tmp |= PORT_EVCTRL_PID3(data); - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PID3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PID3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_PID3_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID3_Msk) >> PORT_EVCTRL_PID3_Pos; - return tmp; -} - -static inline void hri_portgroup_set_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_EVACT3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT3(mask)) >> PORT_EVCTRL_EVACT3_Pos; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= ~PORT_EVCTRL_EVACT3_Msk; - tmp |= PORT_EVCTRL_EVACT3(data); - ((PortGroup *)hw)->EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_EVACT3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_EVACT3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_EVACT3_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT3_Msk) >> PORT_EVCTRL_EVACT3_Pos; - return tmp; -} - -static inline void hri_portgroup_set_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg |= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((PortGroup *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_portgroup_write_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg &= ~mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->EVCTRL.reg ^= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_reg(const void *const hw) -{ - return ((PortGroup *)hw)->EVCTRL.reg; -} - -static inline void hri_portgroup_set_PMUX_PMUXE_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg |= PORT_PMUX_PMUXE(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_portgroup_get_PMUX_PMUXE_bf(const void *const hw, uint8_t index, - hri_port_pmux_reg_t mask) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PMUX[index].reg; - tmp = (tmp & PORT_PMUX_PMUXE(mask)) >> PORT_PMUX_PMUXE_Pos; - return tmp; -} - -static inline void hri_portgroup_write_PMUX_PMUXE_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t data) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->PMUX[index].reg; - tmp &= ~PORT_PMUX_PMUXE_Msk; - tmp |= PORT_PMUX_PMUXE(data); - ((PortGroup *)hw)->PMUX[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_PMUX_PMUXE_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg &= ~PORT_PMUX_PMUXE(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_PMUX_PMUXE_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg ^= PORT_PMUX_PMUXE(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_portgroup_read_PMUX_PMUXE_bf(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PMUX[index].reg; - tmp = (tmp & PORT_PMUX_PMUXE_Msk) >> PORT_PMUX_PMUXE_Pos; - return tmp; -} - -static inline void hri_portgroup_set_PMUX_PMUXO_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg |= PORT_PMUX_PMUXO(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_portgroup_get_PMUX_PMUXO_bf(const void *const hw, uint8_t index, - hri_port_pmux_reg_t mask) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PMUX[index].reg; - tmp = (tmp & PORT_PMUX_PMUXO(mask)) >> PORT_PMUX_PMUXO_Pos; - return tmp; -} - -static inline void hri_portgroup_write_PMUX_PMUXO_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t data) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->PMUX[index].reg; - tmp &= ~PORT_PMUX_PMUXO_Msk; - tmp |= PORT_PMUX_PMUXO(data); - ((PortGroup *)hw)->PMUX[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_PMUX_PMUXO_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg &= ~PORT_PMUX_PMUXO(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_PMUX_PMUXO_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg ^= PORT_PMUX_PMUXO(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_portgroup_read_PMUX_PMUXO_bf(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PMUX[index].reg; - tmp = (tmp & PORT_PMUX_PMUXO_Msk) >> PORT_PMUX_PMUXO_Pos; - return tmp; -} - -static inline void hri_portgroup_set_PMUX_reg(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg |= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_portgroup_get_PMUX_reg(const void *const hw, uint8_t index, - hri_port_pmux_reg_t mask) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PMUX[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_portgroup_write_PMUX_reg(const void *const hw, uint8_t index, hri_port_pmux_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_PMUX_reg(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg &= ~mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_PMUX_reg(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PMUX[index].reg ^= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_portgroup_read_PMUX_reg(const void *const hw, uint8_t index) -{ - return ((PortGroup *)hw)->PMUX[index].reg; -} - -static inline void hri_portgroup_set_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg |= PORT_PINCFG_PMUXEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_portgroup_get_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp = (tmp & PORT_PINCFG_PMUXEN) >> PORT_PINCFG_PMUXEN_Pos; - return (bool)tmp; -} - -static inline void hri_portgroup_write_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp &= ~PORT_PINCFG_PMUXEN; - tmp |= value << PORT_PINCFG_PMUXEN_Pos; - ((PortGroup *)hw)->PINCFG[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg &= ~PORT_PINCFG_PMUXEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg ^= PORT_PINCFG_PMUXEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_set_PINCFG_INEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg |= PORT_PINCFG_INEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_portgroup_get_PINCFG_INEN_bit(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp = (tmp & PORT_PINCFG_INEN) >> PORT_PINCFG_INEN_Pos; - return (bool)tmp; -} - -static inline void hri_portgroup_write_PINCFG_INEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp &= ~PORT_PINCFG_INEN; - tmp |= value << PORT_PINCFG_INEN_Pos; - ((PortGroup *)hw)->PINCFG[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_PINCFG_INEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg &= ~PORT_PINCFG_INEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_PINCFG_INEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg ^= PORT_PINCFG_INEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_set_PINCFG_PULLEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg |= PORT_PINCFG_PULLEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_portgroup_get_PINCFG_PULLEN_bit(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp = (tmp & PORT_PINCFG_PULLEN) >> PORT_PINCFG_PULLEN_Pos; - return (bool)tmp; -} - -static inline void hri_portgroup_write_PINCFG_PULLEN_bit(const void *const hw, uint8_t index, bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp &= ~PORT_PINCFG_PULLEN; - tmp |= value << PORT_PINCFG_PULLEN_Pos; - ((PortGroup *)hw)->PINCFG[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_PINCFG_PULLEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_PINCFG_PULLEN_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg ^= PORT_PINCFG_PULLEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_set_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg |= PORT_PINCFG_DRVSTR; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_portgroup_get_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp = (tmp & PORT_PINCFG_DRVSTR) >> PORT_PINCFG_DRVSTR_Pos; - return (bool)tmp; -} - -static inline void hri_portgroup_write_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index, bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp &= ~PORT_PINCFG_DRVSTR; - tmp |= value << PORT_PINCFG_DRVSTR_Pos; - ((PortGroup *)hw)->PINCFG[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg &= ~PORT_PINCFG_DRVSTR; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg ^= PORT_PINCFG_DRVSTR; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_set_PINCFG_reg(const void *const hw, uint8_t index, hri_port_pincfg_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg |= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pincfg_reg_t hri_portgroup_get_PINCFG_reg(const void *const hw, uint8_t index, - hri_port_pincfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((PortGroup *)hw)->PINCFG[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_portgroup_write_PINCFG_reg(const void *const hw, uint8_t index, hri_port_pincfg_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_clear_PINCFG_reg(const void *const hw, uint8_t index, hri_port_pincfg_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg &= ~mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_portgroup_toggle_PINCFG_reg(const void *const hw, uint8_t index, hri_port_pincfg_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->PINCFG[index].reg ^= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pincfg_reg_t hri_portgroup_read_PINCFG_reg(const void *const hw, uint8_t index) -{ - return ((PortGroup *)hw)->PINCFG[index].reg; -} - -static inline void hri_portgroup_write_WRCONFIG_reg(const void *const hw, hri_port_wrconfig_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((PortGroup *)hw)->WRCONFIG.reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].DIRSET.reg = PORT_DIR_DIR(mask); -} - -static inline hri_port_dir_reg_t hri_port_get_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, - hri_port_dir_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].DIR.reg; - tmp = (tmp & PORT_DIR_DIR(mask)) >> PORT_DIR_DIR_Pos; - return tmp; -} - -static inline hri_port_dir_reg_t hri_port_read_DIR_DIR_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].DIR.reg; - tmp = (tmp & PORT_DIR_DIR_Msk) >> PORT_DIR_DIR_Pos; - return tmp; -} - -static inline void hri_port_write_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t data) -{ - ((Port *)hw)->Group[submodule_index].DIRSET.reg = PORT_DIR_DIR(data); - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = ~PORT_DIR_DIR(data); -} - -static inline void hri_port_clear_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = PORT_DIR_DIR(mask); -} - -static inline void hri_port_toggle_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].DIRTGL.reg = PORT_DIR_DIR(mask); -} - -static inline void hri_port_set_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; -} - -static inline hri_port_dir_reg_t hri_port_get_DIR_reg(const void *const hw, uint8_t submodule_index, - hri_port_dir_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].DIR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_port_dir_reg_t hri_port_read_DIR_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Port *)hw)->Group[submodule_index].DIR.reg; -} - -static inline void hri_port_write_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t data) -{ - ((Port *)hw)->Group[submodule_index].DIRSET.reg = data; - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = ~data; -} - -static inline void hri_port_clear_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; -} - -static inline void hri_port_toggle_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].DIRTGL.reg = mask; -} - -static inline void hri_port_set_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].OUTSET.reg = PORT_OUT_OUT(mask); -} - -static inline hri_port_out_reg_t hri_port_get_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, - hri_port_out_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].OUT.reg; - tmp = (tmp & PORT_OUT_OUT(mask)) >> PORT_OUT_OUT_Pos; - return tmp; -} - -static inline hri_port_out_reg_t hri_port_read_OUT_OUT_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].OUT.reg; - tmp = (tmp & PORT_OUT_OUT_Msk) >> PORT_OUT_OUT_Pos; - return tmp; -} - -static inline void hri_port_write_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t data) -{ - ((Port *)hw)->Group[submodule_index].OUTSET.reg = PORT_OUT_OUT(data); - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = ~PORT_OUT_OUT(data); -} - -static inline void hri_port_clear_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = PORT_OUT_OUT(mask); -} - -static inline void hri_port_toggle_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].OUTTGL.reg = PORT_OUT_OUT(mask); -} - -static inline void hri_port_set_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; -} - -static inline hri_port_out_reg_t hri_port_get_OUT_reg(const void *const hw, uint8_t submodule_index, - hri_port_out_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].OUT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_port_out_reg_t hri_port_read_OUT_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Port *)hw)->Group[submodule_index].OUT.reg; -} - -static inline void hri_port_write_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t data) -{ - ((Port *)hw)->Group[submodule_index].OUTSET.reg = data; - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = ~data; -} - -static inline void hri_port_clear_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; -} - -static inline void hri_port_toggle_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask) -{ - ((Port *)hw)->Group[submodule_index].OUTTGL.reg = mask; -} - -static inline hri_port_in_reg_t hri_port_get_IN_IN_bf(const void *const hw, uint8_t submodule_index, - hri_port_in_reg_t mask) -{ - return (((Port *)hw)->Group[submodule_index].IN.reg & PORT_IN_IN(mask)) >> PORT_IN_IN_Pos; -} - -static inline hri_port_in_reg_t hri_port_read_IN_IN_bf(const void *const hw, uint8_t submodule_index) -{ - return (((Port *)hw)->Group[submodule_index].IN.reg & PORT_IN_IN_Msk) >> PORT_IN_IN_Pos; -} - -static inline hri_port_in_reg_t hri_port_get_IN_reg(const void *const hw, uint8_t submodule_index, - hri_port_in_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].IN.reg; - tmp &= mask; - return tmp; -} - -static inline hri_port_in_reg_t hri_port_read_IN_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Port *)hw)->Group[submodule_index].IN.reg; -} - -static inline void hri_port_set_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index, - hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].CTRL.reg |= PORT_CTRL_SAMPLING(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_ctrl_reg_t hri_port_get_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index, - hri_port_ctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].CTRL.reg; - tmp = (tmp & PORT_CTRL_SAMPLING(mask)) >> PORT_CTRL_SAMPLING_Pos; - return tmp; -} - -static inline void hri_port_write_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index, - hri_port_ctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].CTRL.reg; - tmp &= ~PORT_CTRL_SAMPLING_Msk; - tmp |= PORT_CTRL_SAMPLING(data); - ((Port *)hw)->Group[submodule_index].CTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index, - hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].CTRL.reg &= ~PORT_CTRL_SAMPLING(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index, - hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].CTRL.reg ^= PORT_CTRL_SAMPLING(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_ctrl_reg_t hri_port_read_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].CTRL.reg; - tmp = (tmp & PORT_CTRL_SAMPLING_Msk) >> PORT_CTRL_SAMPLING_Pos; - return tmp; -} - -static inline void hri_port_set_CTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].CTRL.reg |= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_ctrl_reg_t hri_port_get_CTRL_reg(const void *const hw, uint8_t submodule_index, - hri_port_ctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].CTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_port_write_CTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_ctrl_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].CTRL.reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_CTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].CTRL.reg &= ~mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_CTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_ctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].CTRL.reg ^= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_ctrl_reg_t hri_port_read_CTRL_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Port *)hw)->Group[submodule_index].CTRL.reg; -} - -static inline void hri_port_set_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PORTEI0; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_port_get_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PORTEI0) >> PORT_EVCTRL_PORTEI0_Pos; - return (bool)tmp; -} - -static inline void hri_port_write_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PORTEI0; - tmp |= value << PORT_EVCTRL_PORTEI0_Pos; - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PORTEI0; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PORTEI0; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PORTEI1; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_port_get_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PORTEI1) >> PORT_EVCTRL_PORTEI1_Pos; - return (bool)tmp; -} - -static inline void hri_port_write_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PORTEI1; - tmp |= value << PORT_EVCTRL_PORTEI1_Pos; - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PORTEI1; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PORTEI1; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PORTEI2; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_port_get_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PORTEI2) >> PORT_EVCTRL_PORTEI2_Pos; - return (bool)tmp; -} - -static inline void hri_port_write_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PORTEI2; - tmp |= value << PORT_EVCTRL_PORTEI2_Pos; - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PORTEI2; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PORTEI2; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PORTEI3; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_port_get_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PORTEI3) >> PORT_EVCTRL_PORTEI3_Pos; - return (bool)tmp; -} - -static inline void hri_port_write_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PORTEI3; - tmp |= value << PORT_EVCTRL_PORTEI3_Pos; - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PORTEI3; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PORTEI3; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PID0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID0(mask)) >> PORT_EVCTRL_PID0_Pos; - return tmp; -} - -static inline void hri_port_write_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PID0_Msk; - tmp |= PORT_EVCTRL_PID0(data); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PID0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PID0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID0_Msk) >> PORT_EVCTRL_PID0_Pos; - return tmp; -} - -static inline void hri_port_set_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_EVACT0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT0(mask)) >> PORT_EVCTRL_EVACT0_Pos; - return tmp; -} - -static inline void hri_port_write_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_EVACT0_Msk; - tmp |= PORT_EVCTRL_EVACT0(data); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_EVACT0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_EVACT0(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT0_Msk) >> PORT_EVCTRL_EVACT0_Pos; - return tmp; -} - -static inline void hri_port_set_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PID1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID1(mask)) >> PORT_EVCTRL_PID1_Pos; - return tmp; -} - -static inline void hri_port_write_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PID1_Msk; - tmp |= PORT_EVCTRL_PID1(data); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PID1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PID1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID1_Msk) >> PORT_EVCTRL_PID1_Pos; - return tmp; -} - -static inline void hri_port_set_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_EVACT1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT1(mask)) >> PORT_EVCTRL_EVACT1_Pos; - return tmp; -} - -static inline void hri_port_write_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_EVACT1_Msk; - tmp |= PORT_EVCTRL_EVACT1(data); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_EVACT1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_EVACT1(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT1_Msk) >> PORT_EVCTRL_EVACT1_Pos; - return tmp; -} - -static inline void hri_port_set_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PID2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID2(mask)) >> PORT_EVCTRL_PID2_Pos; - return tmp; -} - -static inline void hri_port_write_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PID2_Msk; - tmp |= PORT_EVCTRL_PID2(data); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PID2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PID2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID2_Msk) >> PORT_EVCTRL_PID2_Pos; - return tmp; -} - -static inline void hri_port_set_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_EVACT2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT2(mask)) >> PORT_EVCTRL_EVACT2_Pos; - return tmp; -} - -static inline void hri_port_write_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_EVACT2_Msk; - tmp |= PORT_EVCTRL_EVACT2(data); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_EVACT2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_EVACT2(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT2_Msk) >> PORT_EVCTRL_EVACT2_Pos; - return tmp; -} - -static inline void hri_port_set_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PID3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID3(mask)) >> PORT_EVCTRL_PID3_Pos; - return tmp; -} - -static inline void hri_port_write_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_PID3_Msk; - tmp |= PORT_EVCTRL_PID3(data); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PID3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PID3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_PID3_Msk) >> PORT_EVCTRL_PID3_Pos; - return tmp; -} - -static inline void hri_port_set_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_EVACT3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT3(mask)) >> PORT_EVCTRL_EVACT3_Pos; - return tmp; -} - -static inline void hri_port_write_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t data) -{ - uint32_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= ~PORT_EVCTRL_EVACT3_Msk; - tmp |= PORT_EVCTRL_EVACT3(data); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_EVACT3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_EVACT3(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp = (tmp & PORT_EVCTRL_EVACT3_Msk) >> PORT_EVCTRL_EVACT3_Pos; - return tmp; -} - -static inline void hri_port_set_EVCTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_reg(const void *const hw, uint8_t submodule_index, - hri_port_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_port_write_EVCTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_evctrl_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_EVCTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_EVCTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_evctrl_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Port *)hw)->Group[submodule_index].EVCTRL.reg; -} - -static inline void hri_port_set_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg |= PORT_PMUX_PMUXE(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_port_get_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, - uint8_t index, hri_port_pmux_reg_t mask) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - tmp = (tmp & PORT_PMUX_PMUXE(mask)) >> PORT_PMUX_PMUXE_Pos; - return tmp; -} - -static inline void hri_port_write_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t data) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - tmp &= ~PORT_PMUX_PMUXE_Msk; - tmp |= PORT_PMUX_PMUXE(data); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg &= ~PORT_PMUX_PMUXE(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg ^= PORT_PMUX_PMUXE(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_port_read_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, - uint8_t index) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - tmp = (tmp & PORT_PMUX_PMUXE_Msk) >> PORT_PMUX_PMUXE_Pos; - return tmp; -} - -static inline void hri_port_set_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg |= PORT_PMUX_PMUXO(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_port_get_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, - uint8_t index, hri_port_pmux_reg_t mask) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - tmp = (tmp & PORT_PMUX_PMUXO(mask)) >> PORT_PMUX_PMUXO_Pos; - return tmp; -} - -static inline void hri_port_write_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t data) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - tmp &= ~PORT_PMUX_PMUXO_Msk; - tmp |= PORT_PMUX_PMUXO(data); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg &= ~PORT_PMUX_PMUXO(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg ^= PORT_PMUX_PMUXO(mask); - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_port_read_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, - uint8_t index) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - tmp = (tmp & PORT_PMUX_PMUXO_Msk) >> PORT_PMUX_PMUXO_Pos; - return tmp; -} - -static inline void hri_port_set_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg |= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_port_get_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_port_write_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg &= ~mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pmux_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PMUX[index].reg ^= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pmux_reg_t hri_port_read_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - return ((Port *)hw)->Group[submodule_index].PMUX[index].reg; -} - -static inline void hri_port_set_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PMUXEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_port_get_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp = (tmp & PORT_PINCFG_PMUXEN) >> PORT_PINCFG_PMUXEN_Pos; - return (bool)tmp; -} - -static inline void hri_port_write_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index, - bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp &= ~PORT_PINCFG_PMUXEN; - tmp |= value << PORT_PINCFG_PMUXEN_Pos; - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PMUXEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= PORT_PINCFG_PMUXEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_INEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_port_get_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp = (tmp & PORT_PINCFG_INEN) >> PORT_PINCFG_INEN_Pos; - return (bool)tmp; -} - -static inline void hri_port_write_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index, - bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp &= ~PORT_PINCFG_INEN; - tmp |= value << PORT_PINCFG_INEN_Pos; - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_INEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= PORT_PINCFG_INEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_port_get_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp = (tmp & PORT_PINCFG_PULLEN) >> PORT_PINCFG_PULLEN_Pos; - return (bool)tmp; -} - -static inline void hri_port_write_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index, - bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp &= ~PORT_PINCFG_PULLEN; - tmp |= value << PORT_PINCFG_PULLEN_Pos; - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= PORT_PINCFG_PULLEN; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_DRVSTR; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_port_get_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp = (tmp & PORT_PINCFG_DRVSTR) >> PORT_PINCFG_DRVSTR_Pos; - return (bool)tmp; -} - -static inline void hri_port_write_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index, - bool value) -{ - uint8_t tmp; - PORT_CRITICAL_SECTION_ENTER(); - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp &= ~PORT_PINCFG_DRVSTR; - tmp |= value << PORT_PINCFG_DRVSTR_Pos; - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_DRVSTR; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= PORT_PINCFG_DRVSTR; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_set_PINCFG_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pincfg_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pincfg_reg_t hri_port_get_PINCFG_reg(const void *const hw, uint8_t submodule_index, - uint8_t index, hri_port_pincfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_port_write_PINCFG_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pincfg_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_clear_PINCFG_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pincfg_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_port_toggle_PINCFG_reg(const void *const hw, uint8_t submodule_index, uint8_t index, - hri_port_pincfg_reg_t mask) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= mask; - PORT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_port_pincfg_reg_t hri_port_read_PINCFG_reg(const void *const hw, uint8_t submodule_index, - uint8_t index) -{ - return ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; -} - -static inline void hri_port_write_WRCONFIG_reg(const void *const hw, uint8_t submodule_index, - hri_port_wrconfig_reg_t data) -{ - PORT_CRITICAL_SECTION_ENTER(); - ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - PORT_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_PORT_E54_H_INCLUDED */ -#endif /* _SAME54_PORT_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_qspi_e54.h b/software/firmware/oracle_same54n19a/hri/hri_qspi_e54.h deleted file mode 100644 index 23742bc..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_qspi_e54.h +++ /dev/null @@ -1,2058 +0,0 @@ -/** - * \file - * - * \brief SAM QSPI - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_QSPI_COMPONENT_ -#ifndef _HRI_QSPI_E54_H_INCLUDED_ -#define _HRI_QSPI_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_QSPI_CRITICAL_SECTIONS) -#define QSPI_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define QSPI_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define QSPI_CRITICAL_SECTION_ENTER() -#define QSPI_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_qspi_baud_reg_t; -typedef uint32_t hri_qspi_ctrla_reg_t; -typedef uint32_t hri_qspi_ctrlb_reg_t; -typedef uint32_t hri_qspi_instraddr_reg_t; -typedef uint32_t hri_qspi_instrctrl_reg_t; -typedef uint32_t hri_qspi_instrframe_reg_t; -typedef uint32_t hri_qspi_intenset_reg_t; -typedef uint32_t hri_qspi_intflag_reg_t; -typedef uint32_t hri_qspi_rxdata_reg_t; -typedef uint32_t hri_qspi_scrambctrl_reg_t; -typedef uint32_t hri_qspi_scrambkey_reg_t; -typedef uint32_t hri_qspi_status_reg_t; -typedef uint32_t hri_qspi_txdata_reg_t; - -static inline bool hri_qspi_get_INTFLAG_RXC_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_RXC) >> QSPI_INTFLAG_RXC_Pos; -} - -static inline void hri_qspi_clear_INTFLAG_RXC_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_RXC; -} - -static inline bool hri_qspi_get_INTFLAG_DRE_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_DRE) >> QSPI_INTFLAG_DRE_Pos; -} - -static inline void hri_qspi_clear_INTFLAG_DRE_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_DRE; -} - -static inline bool hri_qspi_get_INTFLAG_TXC_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_TXC) >> QSPI_INTFLAG_TXC_Pos; -} - -static inline void hri_qspi_clear_INTFLAG_TXC_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_TXC; -} - -static inline bool hri_qspi_get_INTFLAG_ERROR_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_ERROR) >> QSPI_INTFLAG_ERROR_Pos; -} - -static inline void hri_qspi_clear_INTFLAG_ERROR_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_ERROR; -} - -static inline bool hri_qspi_get_INTFLAG_CSRISE_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_CSRISE) >> QSPI_INTFLAG_CSRISE_Pos; -} - -static inline void hri_qspi_clear_INTFLAG_CSRISE_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_CSRISE; -} - -static inline bool hri_qspi_get_INTFLAG_INSTREND_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_INSTREND) >> QSPI_INTFLAG_INSTREND_Pos; -} - -static inline void hri_qspi_clear_INTFLAG_INSTREND_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_INSTREND; -} - -static inline bool hri_qspi_get_interrupt_RXC_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_RXC) >> QSPI_INTFLAG_RXC_Pos; -} - -static inline void hri_qspi_clear_interrupt_RXC_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_RXC; -} - -static inline bool hri_qspi_get_interrupt_DRE_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_DRE) >> QSPI_INTFLAG_DRE_Pos; -} - -static inline void hri_qspi_clear_interrupt_DRE_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_DRE; -} - -static inline bool hri_qspi_get_interrupt_TXC_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_TXC) >> QSPI_INTFLAG_TXC_Pos; -} - -static inline void hri_qspi_clear_interrupt_TXC_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_TXC; -} - -static inline bool hri_qspi_get_interrupt_ERROR_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_ERROR) >> QSPI_INTFLAG_ERROR_Pos; -} - -static inline void hri_qspi_clear_interrupt_ERROR_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_ERROR; -} - -static inline bool hri_qspi_get_interrupt_CSRISE_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_CSRISE) >> QSPI_INTFLAG_CSRISE_Pos; -} - -static inline void hri_qspi_clear_interrupt_CSRISE_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_CSRISE; -} - -static inline bool hri_qspi_get_interrupt_INSTREND_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_INSTREND) >> QSPI_INTFLAG_INSTREND_Pos; -} - -static inline void hri_qspi_clear_interrupt_INSTREND_bit(const void *const hw) -{ - ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_INSTREND; -} - -static inline hri_qspi_intflag_reg_t hri_qspi_get_INTFLAG_reg(const void *const hw, hri_qspi_intflag_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_qspi_intflag_reg_t hri_qspi_read_INTFLAG_reg(const void *const hw) -{ - return ((Qspi *)hw)->INTFLAG.reg; -} - -static inline void hri_qspi_clear_INTFLAG_reg(const void *const hw, hri_qspi_intflag_reg_t mask) -{ - ((Qspi *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_qspi_set_INTEN_RXC_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_RXC; -} - -static inline bool hri_qspi_get_INTEN_RXC_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_RXC) >> QSPI_INTENSET_RXC_Pos; -} - -static inline void hri_qspi_write_INTEN_RXC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_RXC; - } else { - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_RXC; - } -} - -static inline void hri_qspi_clear_INTEN_RXC_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_RXC; -} - -static inline void hri_qspi_set_INTEN_DRE_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_DRE; -} - -static inline bool hri_qspi_get_INTEN_DRE_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_DRE) >> QSPI_INTENSET_DRE_Pos; -} - -static inline void hri_qspi_write_INTEN_DRE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_DRE; - } else { - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_DRE; - } -} - -static inline void hri_qspi_clear_INTEN_DRE_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_DRE; -} - -static inline void hri_qspi_set_INTEN_TXC_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_TXC; -} - -static inline bool hri_qspi_get_INTEN_TXC_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_TXC) >> QSPI_INTENSET_TXC_Pos; -} - -static inline void hri_qspi_write_INTEN_TXC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_TXC; - } else { - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_TXC; - } -} - -static inline void hri_qspi_clear_INTEN_TXC_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_TXC; -} - -static inline void hri_qspi_set_INTEN_ERROR_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_ERROR; -} - -static inline bool hri_qspi_get_INTEN_ERROR_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_ERROR) >> QSPI_INTENSET_ERROR_Pos; -} - -static inline void hri_qspi_write_INTEN_ERROR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_ERROR; - } else { - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_ERROR; - } -} - -static inline void hri_qspi_clear_INTEN_ERROR_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_ERROR; -} - -static inline void hri_qspi_set_INTEN_CSRISE_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_CSRISE; -} - -static inline bool hri_qspi_get_INTEN_CSRISE_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_CSRISE) >> QSPI_INTENSET_CSRISE_Pos; -} - -static inline void hri_qspi_write_INTEN_CSRISE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_CSRISE; - } else { - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_CSRISE; - } -} - -static inline void hri_qspi_clear_INTEN_CSRISE_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_CSRISE; -} - -static inline void hri_qspi_set_INTEN_INSTREND_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_INSTREND; -} - -static inline bool hri_qspi_get_INTEN_INSTREND_bit(const void *const hw) -{ - return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_INSTREND) >> QSPI_INTENSET_INSTREND_Pos; -} - -static inline void hri_qspi_write_INTEN_INSTREND_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_INSTREND; - } else { - ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_INSTREND; - } -} - -static inline void hri_qspi_clear_INTEN_INSTREND_bit(const void *const hw) -{ - ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_INSTREND; -} - -static inline void hri_qspi_set_INTEN_reg(const void *const hw, hri_qspi_intenset_reg_t mask) -{ - ((Qspi *)hw)->INTENSET.reg = mask; -} - -static inline hri_qspi_intenset_reg_t hri_qspi_get_INTEN_reg(const void *const hw, hri_qspi_intenset_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_qspi_intenset_reg_t hri_qspi_read_INTEN_reg(const void *const hw) -{ - return ((Qspi *)hw)->INTENSET.reg; -} - -static inline void hri_qspi_write_INTEN_reg(const void *const hw, hri_qspi_intenset_reg_t data) -{ - ((Qspi *)hw)->INTENSET.reg = data; - ((Qspi *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_qspi_clear_INTEN_reg(const void *const hw, hri_qspi_intenset_reg_t mask) -{ - ((Qspi *)hw)->INTENCLR.reg = mask; -} - -static inline hri_qspi_rxdata_reg_t hri_qspi_get_RXDATA_DATA_bf(const void *const hw, hri_qspi_rxdata_reg_t mask) -{ - return (((Qspi *)hw)->RXDATA.reg & QSPI_RXDATA_DATA(mask)) >> QSPI_RXDATA_DATA_Pos; -} - -static inline hri_qspi_rxdata_reg_t hri_qspi_read_RXDATA_DATA_bf(const void *const hw) -{ - return (((Qspi *)hw)->RXDATA.reg & QSPI_RXDATA_DATA_Msk) >> QSPI_RXDATA_DATA_Pos; -} - -static inline hri_qspi_rxdata_reg_t hri_qspi_get_RXDATA_reg(const void *const hw, hri_qspi_rxdata_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->RXDATA.reg; - tmp &= mask; - return tmp; -} - -static inline hri_qspi_rxdata_reg_t hri_qspi_read_RXDATA_reg(const void *const hw) -{ - return ((Qspi *)hw)->RXDATA.reg; -} - -static inline bool hri_qspi_get_STATUS_ENABLE_bit(const void *const hw) -{ - return (((Qspi *)hw)->STATUS.reg & QSPI_STATUS_ENABLE) >> QSPI_STATUS_ENABLE_Pos; -} - -static inline bool hri_qspi_get_STATUS_CSSTATUS_bit(const void *const hw) -{ - return (((Qspi *)hw)->STATUS.reg & QSPI_STATUS_CSSTATUS) >> QSPI_STATUS_CSSTATUS_Pos; -} - -static inline hri_qspi_status_reg_t hri_qspi_get_STATUS_reg(const void *const hw, hri_qspi_status_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_qspi_status_reg_t hri_qspi_read_STATUS_reg(const void *const hw) -{ - return ((Qspi *)hw)->STATUS.reg; -} - -static inline void hri_qspi_set_CTRLA_SWRST_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg |= QSPI_CTRLA_SWRST; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLA.reg; - tmp = (tmp & QSPI_CTRLA_SWRST) >> QSPI_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_set_CTRLA_ENABLE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg |= QSPI_CTRLA_ENABLE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLA.reg; - tmp = (tmp & QSPI_CTRLA_ENABLE) >> QSPI_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLA.reg; - tmp &= ~QSPI_CTRLA_ENABLE; - tmp |= value << QSPI_CTRLA_ENABLE_Pos; - ((Qspi *)hw)->CTRLA.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg &= ~QSPI_CTRLA_ENABLE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg ^= QSPI_CTRLA_ENABLE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_CTRLA_LASTXFER_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg |= QSPI_CTRLA_LASTXFER; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_CTRLA_LASTXFER_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLA.reg; - tmp = (tmp & QSPI_CTRLA_LASTXFER) >> QSPI_CTRLA_LASTXFER_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_CTRLA_LASTXFER_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLA.reg; - tmp &= ~QSPI_CTRLA_LASTXFER; - tmp |= value << QSPI_CTRLA_LASTXFER_Pos; - ((Qspi *)hw)->CTRLA.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLA_LASTXFER_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg &= ~QSPI_CTRLA_LASTXFER; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLA_LASTXFER_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg ^= QSPI_CTRLA_LASTXFER; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg |= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrla_reg_t hri_qspi_get_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_qspi_write_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg &= ~mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLA.reg ^= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrla_reg_t hri_qspi_read_CTRLA_reg(const void *const hw) -{ - return ((Qspi *)hw)->CTRLA.reg; -} - -static inline void hri_qspi_set_CTRLB_MODE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_MODE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_CTRLB_MODE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_MODE) >> QSPI_CTRLB_MODE_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_CTRLB_MODE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= ~QSPI_CTRLB_MODE; - tmp |= value << QSPI_CTRLB_MODE_Pos; - ((Qspi *)hw)->CTRLB.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_MODE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_MODE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_MODE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_MODE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_CTRLB_LOOPEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_LOOPEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_CTRLB_LOOPEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_LOOPEN) >> QSPI_CTRLB_LOOPEN_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_CTRLB_LOOPEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= ~QSPI_CTRLB_LOOPEN; - tmp |= value << QSPI_CTRLB_LOOPEN_Pos; - ((Qspi *)hw)->CTRLB.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_LOOPEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_LOOPEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_LOOPEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_LOOPEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_CTRLB_WDRBT_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_WDRBT; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_CTRLB_WDRBT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_WDRBT) >> QSPI_CTRLB_WDRBT_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_CTRLB_WDRBT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= ~QSPI_CTRLB_WDRBT; - tmp |= value << QSPI_CTRLB_WDRBT_Pos; - ((Qspi *)hw)->CTRLB.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_WDRBT_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_WDRBT; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_WDRBT_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_WDRBT; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_CTRLB_SMEMREG_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_SMEMREG; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_CTRLB_SMEMREG_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_SMEMREG) >> QSPI_CTRLB_SMEMREG_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_CTRLB_SMEMREG_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= ~QSPI_CTRLB_SMEMREG; - tmp |= value << QSPI_CTRLB_SMEMREG_Pos; - ((Qspi *)hw)->CTRLB.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_SMEMREG_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_SMEMREG; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_SMEMREG_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_SMEMREG; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_CSMODE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_CSMODE(mask)) >> QSPI_CTRLB_CSMODE_Pos; - return tmp; -} - -static inline void hri_qspi_write_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= ~QSPI_CTRLB_CSMODE_Msk; - tmp |= QSPI_CTRLB_CSMODE(data); - ((Qspi *)hw)->CTRLB.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_CSMODE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_CSMODE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_CSMODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_CSMODE_Msk) >> QSPI_CTRLB_CSMODE_Pos; - return tmp; -} - -static inline void hri_qspi_set_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_DATALEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_DATALEN(mask)) >> QSPI_CTRLB_DATALEN_Pos; - return tmp; -} - -static inline void hri_qspi_write_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= ~QSPI_CTRLB_DATALEN_Msk; - tmp |= QSPI_CTRLB_DATALEN(data); - ((Qspi *)hw)->CTRLB.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_DATALEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_DATALEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_DATALEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_DATALEN_Msk) >> QSPI_CTRLB_DATALEN_Pos; - return tmp; -} - -static inline void hri_qspi_set_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_DLYBCT(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_DLYBCT(mask)) >> QSPI_CTRLB_DLYBCT_Pos; - return tmp; -} - -static inline void hri_qspi_write_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= ~QSPI_CTRLB_DLYBCT_Msk; - tmp |= QSPI_CTRLB_DLYBCT(data); - ((Qspi *)hw)->CTRLB.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_DLYBCT(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_DLYBCT(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_DLYBCT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_DLYBCT_Msk) >> QSPI_CTRLB_DLYBCT_Pos; - return tmp; -} - -static inline void hri_qspi_set_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_DLYCS(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_DLYCS(mask)) >> QSPI_CTRLB_DLYCS_Pos; - return tmp; -} - -static inline void hri_qspi_write_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= ~QSPI_CTRLB_DLYCS_Msk; - tmp |= QSPI_CTRLB_DLYCS(data); - ((Qspi *)hw)->CTRLB.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_DLYCS(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_DLYCS(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_DLYCS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp = (tmp & QSPI_CTRLB_DLYCS_Msk) >> QSPI_CTRLB_DLYCS_Pos; - return tmp; -} - -static inline void hri_qspi_set_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg |= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_qspi_write_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg &= ~mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->CTRLB.reg ^= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_reg(const void *const hw) -{ - return ((Qspi *)hw)->CTRLB.reg; -} - -static inline void hri_qspi_set_BAUD_CPOL_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg |= QSPI_BAUD_CPOL; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_BAUD_CPOL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->BAUD.reg; - tmp = (tmp & QSPI_BAUD_CPOL) >> QSPI_BAUD_CPOL_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_BAUD_CPOL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->BAUD.reg; - tmp &= ~QSPI_BAUD_CPOL; - tmp |= value << QSPI_BAUD_CPOL_Pos; - ((Qspi *)hw)->BAUD.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_BAUD_CPOL_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg &= ~QSPI_BAUD_CPOL; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_BAUD_CPOL_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg ^= QSPI_BAUD_CPOL; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_BAUD_CPHA_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg |= QSPI_BAUD_CPHA; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_BAUD_CPHA_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->BAUD.reg; - tmp = (tmp & QSPI_BAUD_CPHA) >> QSPI_BAUD_CPHA_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_BAUD_CPHA_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->BAUD.reg; - tmp &= ~QSPI_BAUD_CPHA; - tmp |= value << QSPI_BAUD_CPHA_Pos; - ((Qspi *)hw)->BAUD.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_BAUD_CPHA_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg &= ~QSPI_BAUD_CPHA; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_BAUD_CPHA_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg ^= QSPI_BAUD_CPHA; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg |= QSPI_BAUD_BAUD(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_baud_reg_t hri_qspi_get_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->BAUD.reg; - tmp = (tmp & QSPI_BAUD_BAUD(mask)) >> QSPI_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_qspi_write_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->BAUD.reg; - tmp &= ~QSPI_BAUD_BAUD_Msk; - tmp |= QSPI_BAUD_BAUD(data); - ((Qspi *)hw)->BAUD.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg &= ~QSPI_BAUD_BAUD(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg ^= QSPI_BAUD_BAUD(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_baud_reg_t hri_qspi_read_BAUD_BAUD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->BAUD.reg; - tmp = (tmp & QSPI_BAUD_BAUD_Msk) >> QSPI_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_qspi_set_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg |= QSPI_BAUD_DLYBS(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_baud_reg_t hri_qspi_get_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->BAUD.reg; - tmp = (tmp & QSPI_BAUD_DLYBS(mask)) >> QSPI_BAUD_DLYBS_Pos; - return tmp; -} - -static inline void hri_qspi_write_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->BAUD.reg; - tmp &= ~QSPI_BAUD_DLYBS_Msk; - tmp |= QSPI_BAUD_DLYBS(data); - ((Qspi *)hw)->BAUD.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg &= ~QSPI_BAUD_DLYBS(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg ^= QSPI_BAUD_DLYBS(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_baud_reg_t hri_qspi_read_BAUD_DLYBS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->BAUD.reg; - tmp = (tmp & QSPI_BAUD_DLYBS_Msk) >> QSPI_BAUD_DLYBS_Pos; - return tmp; -} - -static inline void hri_qspi_set_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg |= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_baud_reg_t hri_qspi_get_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->BAUD.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_qspi_write_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg &= ~mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->BAUD.reg ^= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_baud_reg_t hri_qspi_read_BAUD_reg(const void *const hw) -{ - return ((Qspi *)hw)->BAUD.reg; -} - -static inline void hri_qspi_set_INSTRADDR_ADDR_bf(const void *const hw, hri_qspi_instraddr_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRADDR.reg |= QSPI_INSTRADDR_ADDR(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instraddr_reg_t hri_qspi_get_INSTRADDR_ADDR_bf(const void *const hw, - hri_qspi_instraddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRADDR.reg; - tmp = (tmp & QSPI_INSTRADDR_ADDR(mask)) >> QSPI_INSTRADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_qspi_write_INSTRADDR_ADDR_bf(const void *const hw, hri_qspi_instraddr_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRADDR.reg; - tmp &= ~QSPI_INSTRADDR_ADDR_Msk; - tmp |= QSPI_INSTRADDR_ADDR(data); - ((Qspi *)hw)->INSTRADDR.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRADDR_ADDR_bf(const void *const hw, hri_qspi_instraddr_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRADDR.reg &= ~QSPI_INSTRADDR_ADDR(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRADDR_ADDR_bf(const void *const hw, hri_qspi_instraddr_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRADDR.reg ^= QSPI_INSTRADDR_ADDR(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instraddr_reg_t hri_qspi_read_INSTRADDR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRADDR.reg; - tmp = (tmp & QSPI_INSTRADDR_ADDR_Msk) >> QSPI_INSTRADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_qspi_set_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRADDR.reg |= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instraddr_reg_t hri_qspi_get_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_qspi_write_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRADDR.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRADDR.reg &= ~mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRADDR.reg ^= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instraddr_reg_t hri_qspi_read_INSTRADDR_reg(const void *const hw) -{ - return ((Qspi *)hw)->INSTRADDR.reg; -} - -static inline void hri_qspi_set_INSTRCTRL_INSTR_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg |= QSPI_INSTRCTRL_INSTR(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrctrl_reg_t hri_qspi_get_INSTRCTRL_INSTR_bf(const void *const hw, - hri_qspi_instrctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRCTRL.reg; - tmp = (tmp & QSPI_INSTRCTRL_INSTR(mask)) >> QSPI_INSTRCTRL_INSTR_Pos; - return tmp; -} - -static inline void hri_qspi_write_INSTRCTRL_INSTR_bf(const void *const hw, hri_qspi_instrctrl_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRCTRL.reg; - tmp &= ~QSPI_INSTRCTRL_INSTR_Msk; - tmp |= QSPI_INSTRCTRL_INSTR(data); - ((Qspi *)hw)->INSTRCTRL.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRCTRL_INSTR_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg &= ~QSPI_INSTRCTRL_INSTR(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRCTRL_INSTR_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg ^= QSPI_INSTRCTRL_INSTR(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrctrl_reg_t hri_qspi_read_INSTRCTRL_INSTR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRCTRL.reg; - tmp = (tmp & QSPI_INSTRCTRL_INSTR_Msk) >> QSPI_INSTRCTRL_INSTR_Pos; - return tmp; -} - -static inline void hri_qspi_set_INSTRCTRL_OPTCODE_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg |= QSPI_INSTRCTRL_OPTCODE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrctrl_reg_t hri_qspi_get_INSTRCTRL_OPTCODE_bf(const void *const hw, - hri_qspi_instrctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRCTRL.reg; - tmp = (tmp & QSPI_INSTRCTRL_OPTCODE(mask)) >> QSPI_INSTRCTRL_OPTCODE_Pos; - return tmp; -} - -static inline void hri_qspi_write_INSTRCTRL_OPTCODE_bf(const void *const hw, hri_qspi_instrctrl_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRCTRL.reg; - tmp &= ~QSPI_INSTRCTRL_OPTCODE_Msk; - tmp |= QSPI_INSTRCTRL_OPTCODE(data); - ((Qspi *)hw)->INSTRCTRL.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRCTRL_OPTCODE_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg &= ~QSPI_INSTRCTRL_OPTCODE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRCTRL_OPTCODE_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg ^= QSPI_INSTRCTRL_OPTCODE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrctrl_reg_t hri_qspi_read_INSTRCTRL_OPTCODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRCTRL.reg; - tmp = (tmp & QSPI_INSTRCTRL_OPTCODE_Msk) >> QSPI_INSTRCTRL_OPTCODE_Pos; - return tmp; -} - -static inline void hri_qspi_set_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg |= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrctrl_reg_t hri_qspi_get_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_qspi_write_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg &= ~mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRCTRL.reg ^= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrctrl_reg_t hri_qspi_read_INSTRCTRL_reg(const void *const hw) -{ - return ((Qspi *)hw)->INSTRCTRL.reg; -} - -static inline void hri_qspi_set_INSTRFRAME_INSTREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_INSTREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_INSTRFRAME_INSTREN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_INSTREN) >> QSPI_INSTRFRAME_INSTREN_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_INSTREN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_INSTREN; - tmp |= value << QSPI_INSTRFRAME_INSTREN_Pos; - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_INSTREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_INSTREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_INSTREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_INSTREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_INSTRFRAME_ADDREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_ADDREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_INSTRFRAME_ADDREN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_ADDREN) >> QSPI_INSTRFRAME_ADDREN_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_ADDREN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_ADDREN; - tmp |= value << QSPI_INSTRFRAME_ADDREN_Pos; - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_ADDREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_ADDREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_ADDREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_ADDREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_INSTRFRAME_OPTCODEEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_OPTCODEEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_INSTRFRAME_OPTCODEEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_OPTCODEEN) >> QSPI_INSTRFRAME_OPTCODEEN_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_OPTCODEEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_OPTCODEEN; - tmp |= value << QSPI_INSTRFRAME_OPTCODEEN_Pos; - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_OPTCODEEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_OPTCODEEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_OPTCODEEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_OPTCODEEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_INSTRFRAME_DATAEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_DATAEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_INSTRFRAME_DATAEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_DATAEN) >> QSPI_INSTRFRAME_DATAEN_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_DATAEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_DATAEN; - tmp |= value << QSPI_INSTRFRAME_DATAEN_Pos; - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_DATAEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_DATAEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_DATAEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_DATAEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_INSTRFRAME_ADDRLEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_ADDRLEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_INSTRFRAME_ADDRLEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_ADDRLEN) >> QSPI_INSTRFRAME_ADDRLEN_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_ADDRLEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_ADDRLEN; - tmp |= value << QSPI_INSTRFRAME_ADDRLEN_Pos; - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_ADDRLEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_ADDRLEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_ADDRLEN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_ADDRLEN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_INSTRFRAME_CRMODE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_CRMODE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_INSTRFRAME_CRMODE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_CRMODE) >> QSPI_INSTRFRAME_CRMODE_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_CRMODE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_CRMODE; - tmp |= value << QSPI_INSTRFRAME_CRMODE_Pos; - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_CRMODE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_CRMODE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_CRMODE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_CRMODE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_INSTRFRAME_DDREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_DDREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_INSTRFRAME_DDREN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_DDREN) >> QSPI_INSTRFRAME_DDREN_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_DDREN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_DDREN; - tmp |= value << QSPI_INSTRFRAME_DDREN_Pos; - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_DDREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_DDREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_DDREN_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_DDREN; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_INSTRFRAME_WIDTH_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_WIDTH(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_WIDTH_bf(const void *const hw, - hri_qspi_instrframe_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_WIDTH(mask)) >> QSPI_INSTRFRAME_WIDTH_Pos; - return tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_WIDTH_bf(const void *const hw, hri_qspi_instrframe_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_WIDTH_Msk; - tmp |= QSPI_INSTRFRAME_WIDTH(data); - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_WIDTH_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_WIDTH(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_WIDTH_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_WIDTH(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_WIDTH_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_WIDTH_Msk) >> QSPI_INSTRFRAME_WIDTH_Pos; - return tmp; -} - -static inline void hri_qspi_set_INSTRFRAME_OPTCODELEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_OPTCODELEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_OPTCODELEN_bf(const void *const hw, - hri_qspi_instrframe_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_OPTCODELEN(mask)) >> QSPI_INSTRFRAME_OPTCODELEN_Pos; - return tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_OPTCODELEN_bf(const void *const hw, hri_qspi_instrframe_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_OPTCODELEN_Msk; - tmp |= QSPI_INSTRFRAME_OPTCODELEN(data); - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_OPTCODELEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_OPTCODELEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_OPTCODELEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_OPTCODELEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_OPTCODELEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_OPTCODELEN_Msk) >> QSPI_INSTRFRAME_OPTCODELEN_Pos; - return tmp; -} - -static inline void hri_qspi_set_INSTRFRAME_TFRTYPE_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_TFRTYPE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_TFRTYPE_bf(const void *const hw, - hri_qspi_instrframe_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_TFRTYPE(mask)) >> QSPI_INSTRFRAME_TFRTYPE_Pos; - return tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_TFRTYPE_bf(const void *const hw, hri_qspi_instrframe_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_TFRTYPE_Msk; - tmp |= QSPI_INSTRFRAME_TFRTYPE(data); - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_TFRTYPE_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_TFRTYPE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_TFRTYPE_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_TFRTYPE(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_TFRTYPE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_TFRTYPE_Msk) >> QSPI_INSTRFRAME_TFRTYPE_Pos; - return tmp; -} - -static inline void hri_qspi_set_INSTRFRAME_DUMMYLEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_DUMMYLEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_DUMMYLEN_bf(const void *const hw, - hri_qspi_instrframe_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_DUMMYLEN(mask)) >> QSPI_INSTRFRAME_DUMMYLEN_Pos; - return tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_DUMMYLEN_bf(const void *const hw, hri_qspi_instrframe_reg_t data) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= ~QSPI_INSTRFRAME_DUMMYLEN_Msk; - tmp |= QSPI_INSTRFRAME_DUMMYLEN(data); - ((Qspi *)hw)->INSTRFRAME.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_DUMMYLEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_DUMMYLEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_DUMMYLEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_DUMMYLEN(mask); - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_DUMMYLEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp = (tmp & QSPI_INSTRFRAME_DUMMYLEN_Msk) >> QSPI_INSTRFRAME_DUMMYLEN_Pos; - return tmp; -} - -static inline void hri_qspi_set_INSTRFRAME_reg(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg |= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_reg(const void *const hw, - hri_qspi_instrframe_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->INSTRFRAME.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_qspi_write_INSTRFRAME_reg(const void *const hw, hri_qspi_instrframe_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_INSTRFRAME_reg(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg &= ~mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_INSTRFRAME_reg(const void *const hw, hri_qspi_instrframe_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->INSTRFRAME.reg ^= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_reg(const void *const hw) -{ - return ((Qspi *)hw)->INSTRFRAME.reg; -} - -static inline void hri_qspi_set_SCRAMBCTRL_ENABLE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg |= QSPI_SCRAMBCTRL_ENABLE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_SCRAMBCTRL_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->SCRAMBCTRL.reg; - tmp = (tmp & QSPI_SCRAMBCTRL_ENABLE) >> QSPI_SCRAMBCTRL_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_SCRAMBCTRL_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->SCRAMBCTRL.reg; - tmp &= ~QSPI_SCRAMBCTRL_ENABLE; - tmp |= value << QSPI_SCRAMBCTRL_ENABLE_Pos; - ((Qspi *)hw)->SCRAMBCTRL.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_SCRAMBCTRL_ENABLE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg &= ~QSPI_SCRAMBCTRL_ENABLE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_SCRAMBCTRL_ENABLE_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg ^= QSPI_SCRAMBCTRL_ENABLE; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg |= QSPI_SCRAMBCTRL_RANDOMDIS; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_qspi_get_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->SCRAMBCTRL.reg; - tmp = (tmp & QSPI_SCRAMBCTRL_RANDOMDIS) >> QSPI_SCRAMBCTRL_RANDOMDIS_Pos; - return (bool)tmp; -} - -static inline void hri_qspi_write_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw, bool value) -{ - uint32_t tmp; - QSPI_CRITICAL_SECTION_ENTER(); - tmp = ((Qspi *)hw)->SCRAMBCTRL.reg; - tmp &= ~QSPI_SCRAMBCTRL_RANDOMDIS; - tmp |= value << QSPI_SCRAMBCTRL_RANDOMDIS_Pos; - ((Qspi *)hw)->SCRAMBCTRL.reg = tmp; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg &= ~QSPI_SCRAMBCTRL_RANDOMDIS; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg ^= QSPI_SCRAMBCTRL_RANDOMDIS; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_set_SCRAMBCTRL_reg(const void *const hw, hri_qspi_scrambctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg |= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_scrambctrl_reg_t hri_qspi_get_SCRAMBCTRL_reg(const void *const hw, - hri_qspi_scrambctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Qspi *)hw)->SCRAMBCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_qspi_write_SCRAMBCTRL_reg(const void *const hw, hri_qspi_scrambctrl_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_clear_SCRAMBCTRL_reg(const void *const hw, hri_qspi_scrambctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg &= ~mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_toggle_SCRAMBCTRL_reg(const void *const hw, hri_qspi_scrambctrl_reg_t mask) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBCTRL.reg ^= mask; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_qspi_scrambctrl_reg_t hri_qspi_read_SCRAMBCTRL_reg(const void *const hw) -{ - return ((Qspi *)hw)->SCRAMBCTRL.reg; -} - -static inline void hri_qspi_write_TXDATA_reg(const void *const hw, hri_qspi_txdata_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->TXDATA.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_qspi_write_SCRAMBKEY_reg(const void *const hw, hri_qspi_scrambkey_reg_t data) -{ - QSPI_CRITICAL_SECTION_ENTER(); - ((Qspi *)hw)->SCRAMBKEY.reg = data; - QSPI_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_QSPI_E54_H_INCLUDED */ -#endif /* _SAME54_QSPI_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_ramecc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_ramecc_e54.h deleted file mode 100644 index 6031cce..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_ramecc_e54.h +++ /dev/null @@ -1,362 +0,0 @@ -/** - * \file - * - * \brief SAM RAMECC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_RAMECC_COMPONENT_ -#ifndef _HRI_RAMECC_E54_H_INCLUDED_ -#define _HRI_RAMECC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_RAMECC_CRITICAL_SECTIONS) -#define RAMECC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define RAMECC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define RAMECC_CRITICAL_SECTION_ENTER() -#define RAMECC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_ramecc_erraddr_reg_t; -typedef uint8_t hri_ramecc_dbgctrl_reg_t; -typedef uint8_t hri_ramecc_intenset_reg_t; -typedef uint8_t hri_ramecc_intflag_reg_t; -typedef uint8_t hri_ramecc_status_reg_t; - -static inline bool hri_ramecc_get_INTFLAG_SINGLEE_bit(const void *const hw) -{ - return (((Ramecc *)hw)->INTFLAG.reg & RAMECC_INTFLAG_SINGLEE) >> RAMECC_INTFLAG_SINGLEE_Pos; -} - -static inline void hri_ramecc_clear_INTFLAG_SINGLEE_bit(const void *const hw) -{ - ((Ramecc *)hw)->INTFLAG.reg = RAMECC_INTFLAG_SINGLEE; -} - -static inline bool hri_ramecc_get_INTFLAG_DUALE_bit(const void *const hw) -{ - return (((Ramecc *)hw)->INTFLAG.reg & RAMECC_INTFLAG_DUALE) >> RAMECC_INTFLAG_DUALE_Pos; -} - -static inline void hri_ramecc_clear_INTFLAG_DUALE_bit(const void *const hw) -{ - ((Ramecc *)hw)->INTFLAG.reg = RAMECC_INTFLAG_DUALE; -} - -static inline bool hri_ramecc_get_interrupt_SINGLEE_bit(const void *const hw) -{ - return (((Ramecc *)hw)->INTFLAG.reg & RAMECC_INTFLAG_SINGLEE) >> RAMECC_INTFLAG_SINGLEE_Pos; -} - -static inline void hri_ramecc_clear_interrupt_SINGLEE_bit(const void *const hw) -{ - ((Ramecc *)hw)->INTFLAG.reg = RAMECC_INTFLAG_SINGLEE; -} - -static inline bool hri_ramecc_get_interrupt_DUALE_bit(const void *const hw) -{ - return (((Ramecc *)hw)->INTFLAG.reg & RAMECC_INTFLAG_DUALE) >> RAMECC_INTFLAG_DUALE_Pos; -} - -static inline void hri_ramecc_clear_interrupt_DUALE_bit(const void *const hw) -{ - ((Ramecc *)hw)->INTFLAG.reg = RAMECC_INTFLAG_DUALE; -} - -static inline hri_ramecc_intflag_reg_t hri_ramecc_get_INTFLAG_reg(const void *const hw, hri_ramecc_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ramecc *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ramecc_intflag_reg_t hri_ramecc_read_INTFLAG_reg(const void *const hw) -{ - return ((Ramecc *)hw)->INTFLAG.reg; -} - -static inline void hri_ramecc_clear_INTFLAG_reg(const void *const hw, hri_ramecc_intflag_reg_t mask) -{ - ((Ramecc *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_ramecc_set_INTEN_SINGLEE_bit(const void *const hw) -{ - ((Ramecc *)hw)->INTENSET.reg = RAMECC_INTENSET_SINGLEE; -} - -static inline bool hri_ramecc_get_INTEN_SINGLEE_bit(const void *const hw) -{ - return (((Ramecc *)hw)->INTENSET.reg & RAMECC_INTENSET_SINGLEE) >> RAMECC_INTENSET_SINGLEE_Pos; -} - -static inline void hri_ramecc_write_INTEN_SINGLEE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Ramecc *)hw)->INTENCLR.reg = RAMECC_INTENSET_SINGLEE; - } else { - ((Ramecc *)hw)->INTENSET.reg = RAMECC_INTENSET_SINGLEE; - } -} - -static inline void hri_ramecc_clear_INTEN_SINGLEE_bit(const void *const hw) -{ - ((Ramecc *)hw)->INTENCLR.reg = RAMECC_INTENSET_SINGLEE; -} - -static inline void hri_ramecc_set_INTEN_DUALE_bit(const void *const hw) -{ - ((Ramecc *)hw)->INTENSET.reg = RAMECC_INTENSET_DUALE; -} - -static inline bool hri_ramecc_get_INTEN_DUALE_bit(const void *const hw) -{ - return (((Ramecc *)hw)->INTENSET.reg & RAMECC_INTENSET_DUALE) >> RAMECC_INTENSET_DUALE_Pos; -} - -static inline void hri_ramecc_write_INTEN_DUALE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Ramecc *)hw)->INTENCLR.reg = RAMECC_INTENSET_DUALE; - } else { - ((Ramecc *)hw)->INTENSET.reg = RAMECC_INTENSET_DUALE; - } -} - -static inline void hri_ramecc_clear_INTEN_DUALE_bit(const void *const hw) -{ - ((Ramecc *)hw)->INTENCLR.reg = RAMECC_INTENSET_DUALE; -} - -static inline void hri_ramecc_set_INTEN_reg(const void *const hw, hri_ramecc_intenset_reg_t mask) -{ - ((Ramecc *)hw)->INTENSET.reg = mask; -} - -static inline hri_ramecc_intenset_reg_t hri_ramecc_get_INTEN_reg(const void *const hw, hri_ramecc_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ramecc *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ramecc_intenset_reg_t hri_ramecc_read_INTEN_reg(const void *const hw) -{ - return ((Ramecc *)hw)->INTENSET.reg; -} - -static inline void hri_ramecc_write_INTEN_reg(const void *const hw, hri_ramecc_intenset_reg_t data) -{ - ((Ramecc *)hw)->INTENSET.reg = data; - ((Ramecc *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_ramecc_clear_INTEN_reg(const void *const hw, hri_ramecc_intenset_reg_t mask) -{ - ((Ramecc *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_ramecc_get_STATUS_ECCDIS_bit(const void *const hw) -{ - return (((Ramecc *)hw)->STATUS.reg & RAMECC_STATUS_ECCDIS) >> RAMECC_STATUS_ECCDIS_Pos; -} - -static inline hri_ramecc_status_reg_t hri_ramecc_get_STATUS_reg(const void *const hw, hri_ramecc_status_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ramecc *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ramecc_status_reg_t hri_ramecc_read_STATUS_reg(const void *const hw) -{ - return ((Ramecc *)hw)->STATUS.reg; -} - -static inline hri_ramecc_erraddr_reg_t hri_ramecc_get_ERRADDR_ERRADDR_bf(const void *const hw, - hri_ramecc_erraddr_reg_t mask) -{ - return (((Ramecc *)hw)->ERRADDR.reg & RAMECC_ERRADDR_ERRADDR(mask)) >> RAMECC_ERRADDR_ERRADDR_Pos; -} - -static inline hri_ramecc_erraddr_reg_t hri_ramecc_read_ERRADDR_ERRADDR_bf(const void *const hw) -{ - return (((Ramecc *)hw)->ERRADDR.reg & RAMECC_ERRADDR_ERRADDR_Msk) >> RAMECC_ERRADDR_ERRADDR_Pos; -} - -static inline hri_ramecc_erraddr_reg_t hri_ramecc_get_ERRADDR_reg(const void *const hw, hri_ramecc_erraddr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Ramecc *)hw)->ERRADDR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_ramecc_erraddr_reg_t hri_ramecc_read_ERRADDR_reg(const void *const hw) -{ - return ((Ramecc *)hw)->ERRADDR.reg; -} - -static inline void hri_ramecc_set_DBGCTRL_ECCDIS_bit(const void *const hw) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg |= RAMECC_DBGCTRL_ECCDIS; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ramecc_get_DBGCTRL_ECCDIS_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Ramecc *)hw)->DBGCTRL.reg; - tmp = (tmp & RAMECC_DBGCTRL_ECCDIS) >> RAMECC_DBGCTRL_ECCDIS_Pos; - return (bool)tmp; -} - -static inline void hri_ramecc_write_DBGCTRL_ECCDIS_bit(const void *const hw, bool value) -{ - uint8_t tmp; - RAMECC_CRITICAL_SECTION_ENTER(); - tmp = ((Ramecc *)hw)->DBGCTRL.reg; - tmp &= ~RAMECC_DBGCTRL_ECCDIS; - tmp |= value << RAMECC_DBGCTRL_ECCDIS_Pos; - ((Ramecc *)hw)->DBGCTRL.reg = tmp; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ramecc_clear_DBGCTRL_ECCDIS_bit(const void *const hw) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg &= ~RAMECC_DBGCTRL_ECCDIS; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ramecc_toggle_DBGCTRL_ECCDIS_bit(const void *const hw) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg ^= RAMECC_DBGCTRL_ECCDIS; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ramecc_set_DBGCTRL_ECCELOG_bit(const void *const hw) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg |= RAMECC_DBGCTRL_ECCELOG; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_ramecc_get_DBGCTRL_ECCELOG_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Ramecc *)hw)->DBGCTRL.reg; - tmp = (tmp & RAMECC_DBGCTRL_ECCELOG) >> RAMECC_DBGCTRL_ECCELOG_Pos; - return (bool)tmp; -} - -static inline void hri_ramecc_write_DBGCTRL_ECCELOG_bit(const void *const hw, bool value) -{ - uint8_t tmp; - RAMECC_CRITICAL_SECTION_ENTER(); - tmp = ((Ramecc *)hw)->DBGCTRL.reg; - tmp &= ~RAMECC_DBGCTRL_ECCELOG; - tmp |= value << RAMECC_DBGCTRL_ECCELOG_Pos; - ((Ramecc *)hw)->DBGCTRL.reg = tmp; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ramecc_clear_DBGCTRL_ECCELOG_bit(const void *const hw) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg &= ~RAMECC_DBGCTRL_ECCELOG; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ramecc_toggle_DBGCTRL_ECCELOG_bit(const void *const hw) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg ^= RAMECC_DBGCTRL_ECCELOG; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ramecc_set_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t mask) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg |= mask; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ramecc_dbgctrl_reg_t hri_ramecc_get_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Ramecc *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_ramecc_write_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t data) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg = data; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ramecc_clear_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t mask) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg &= ~mask; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_ramecc_toggle_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t mask) -{ - RAMECC_CRITICAL_SECTION_ENTER(); - ((Ramecc *)hw)->DBGCTRL.reg ^= mask; - RAMECC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_ramecc_dbgctrl_reg_t hri_ramecc_read_DBGCTRL_reg(const void *const hw) -{ - return ((Ramecc *)hw)->DBGCTRL.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_RAMECC_E54_H_INCLUDED */ -#endif /* _SAME54_RAMECC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_rstc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_rstc_e54.h deleted file mode 100644 index bf5592a..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_rstc_e54.h +++ /dev/null @@ -1,142 +0,0 @@ -/** - * \file - * - * \brief SAM RSTC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_RSTC_COMPONENT_ -#ifndef _HRI_RSTC_E54_H_INCLUDED_ -#define _HRI_RSTC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_RSTC_CRITICAL_SECTIONS) -#define RSTC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define RSTC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define RSTC_CRITICAL_SECTION_ENTER() -#define RSTC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint8_t hri_rstc_bkupexit_reg_t; -typedef uint8_t hri_rstc_rcause_reg_t; - -static inline bool hri_rstc_get_RCAUSE_POR_bit(const void *const hw) -{ - return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_POR) >> RSTC_RCAUSE_POR_Pos; -} - -static inline bool hri_rstc_get_RCAUSE_BODCORE_bit(const void *const hw) -{ - return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_BODCORE) >> RSTC_RCAUSE_BODCORE_Pos; -} - -static inline bool hri_rstc_get_RCAUSE_BODVDD_bit(const void *const hw) -{ - return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_BODVDD) >> RSTC_RCAUSE_BODVDD_Pos; -} - -static inline bool hri_rstc_get_RCAUSE_NVM_bit(const void *const hw) -{ - return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_NVM) >> RSTC_RCAUSE_NVM_Pos; -} - -static inline bool hri_rstc_get_RCAUSE_EXT_bit(const void *const hw) -{ - return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_EXT) >> RSTC_RCAUSE_EXT_Pos; -} - -static inline bool hri_rstc_get_RCAUSE_WDT_bit(const void *const hw) -{ - return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_WDT) >> RSTC_RCAUSE_WDT_Pos; -} - -static inline bool hri_rstc_get_RCAUSE_SYST_bit(const void *const hw) -{ - return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_SYST) >> RSTC_RCAUSE_SYST_Pos; -} - -static inline bool hri_rstc_get_RCAUSE_BACKUP_bit(const void *const hw) -{ - return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_BACKUP) >> RSTC_RCAUSE_BACKUP_Pos; -} - -static inline hri_rstc_rcause_reg_t hri_rstc_get_RCAUSE_reg(const void *const hw, hri_rstc_rcause_reg_t mask) -{ - uint8_t tmp; - tmp = ((Rstc *)hw)->RCAUSE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rstc_rcause_reg_t hri_rstc_read_RCAUSE_reg(const void *const hw) -{ - return ((Rstc *)hw)->RCAUSE.reg; -} - -static inline bool hri_rstc_get_BKUPEXIT_RTC_bit(const void *const hw) -{ - return (((Rstc *)hw)->BKUPEXIT.reg & RSTC_BKUPEXIT_RTC) >> RSTC_BKUPEXIT_RTC_Pos; -} - -static inline bool hri_rstc_get_BKUPEXIT_BBPS_bit(const void *const hw) -{ - return (((Rstc *)hw)->BKUPEXIT.reg & RSTC_BKUPEXIT_BBPS) >> RSTC_BKUPEXIT_BBPS_Pos; -} - -static inline bool hri_rstc_get_BKUPEXIT_HIB_bit(const void *const hw) -{ - return (((Rstc *)hw)->BKUPEXIT.reg & RSTC_BKUPEXIT_HIB) >> RSTC_BKUPEXIT_HIB_Pos; -} - -static inline hri_rstc_bkupexit_reg_t hri_rstc_get_BKUPEXIT_reg(const void *const hw, hri_rstc_bkupexit_reg_t mask) -{ - uint8_t tmp; - tmp = ((Rstc *)hw)->BKUPEXIT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rstc_bkupexit_reg_t hri_rstc_read_BKUPEXIT_reg(const void *const hw) -{ - return ((Rstc *)hw)->BKUPEXIT.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_RSTC_E54_H_INCLUDED */ -#endif /* _SAME54_RSTC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_rtc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_rtc_e54.h deleted file mode 100644 index 2f2fa3b..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_rtc_e54.h +++ /dev/null @@ -1,10139 +0,0 @@ -/** - * \file - * - * \brief SAM RTC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_RTC_COMPONENT_ -#ifndef _HRI_RTC_E54_H_INCLUDED_ -#define _HRI_RTC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_RTC_CRITICAL_SECTIONS) -#define RTC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define RTC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define RTC_CRITICAL_SECTION_ENTER() -#define RTC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_rtcmode0_ctrla_reg_t; -typedef uint16_t hri_rtcmode0_ctrlb_reg_t; -typedef uint16_t hri_rtcmode0_intenset_reg_t; -typedef uint16_t hri_rtcmode0_intflag_reg_t; -typedef uint16_t hri_rtcmode1_comp_reg_t; -typedef uint16_t hri_rtcmode1_count_reg_t; -typedef uint16_t hri_rtcmode1_ctrla_reg_t; -typedef uint16_t hri_rtcmode1_ctrlb_reg_t; -typedef uint16_t hri_rtcmode1_intenset_reg_t; -typedef uint16_t hri_rtcmode1_intflag_reg_t; -typedef uint16_t hri_rtcmode1_per_reg_t; -typedef uint16_t hri_rtcmode2_ctrla_reg_t; -typedef uint16_t hri_rtcmode2_ctrlb_reg_t; -typedef uint16_t hri_rtcmode2_intenset_reg_t; -typedef uint16_t hri_rtcmode2_intflag_reg_t; -typedef uint32_t hri_rtc_bkup_reg_t; -typedef uint32_t hri_rtc_gp_reg_t; -typedef uint32_t hri_rtc_tampctrl_reg_t; -typedef uint32_t hri_rtc_tampid_reg_t; -typedef uint32_t hri_rtcalarm_alarm_reg_t; -typedef uint32_t hri_rtcmode0_comp_reg_t; -typedef uint32_t hri_rtcmode0_count_reg_t; -typedef uint32_t hri_rtcmode0_evctrl_reg_t; -typedef uint32_t hri_rtcmode0_syncbusy_reg_t; -typedef uint32_t hri_rtcmode0_timestamp_reg_t; -typedef uint32_t hri_rtcmode1_evctrl_reg_t; -typedef uint32_t hri_rtcmode1_syncbusy_reg_t; -typedef uint32_t hri_rtcmode1_timestamp_reg_t; -typedef uint32_t hri_rtcmode2_alarm_reg_t; -typedef uint32_t hri_rtcmode2_clock_reg_t; -typedef uint32_t hri_rtcmode2_evctrl_reg_t; -typedef uint32_t hri_rtcmode2_syncbusy_reg_t; -typedef uint32_t hri_rtcmode2_timestamp_reg_t; -typedef uint8_t hri_rtc_dbgctrl_reg_t; -typedef uint8_t hri_rtc_freqcorr_reg_t; -typedef uint8_t hri_rtcalarm_mask_reg_t; -typedef uint8_t hri_rtcmode2_mask_reg_t; - -static inline void hri_rtcmode0_wait_for_sync(const void *const hw, hri_rtcmode0_syncbusy_reg_t reg) -{ - while (((Rtc *)hw)->MODE0.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_rtcmode0_is_syncing(const void *const hw, hri_rtcmode0_syncbusy_reg_t reg) -{ - return ((Rtc *)hw)->MODE0.SYNCBUSY.reg & reg; -} - -static inline void hri_rtcmode1_wait_for_sync(const void *const hw, hri_rtcmode1_syncbusy_reg_t reg) -{ - while (((Rtc *)hw)->MODE1.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_rtcmode1_is_syncing(const void *const hw, hri_rtcmode1_syncbusy_reg_t reg) -{ - return ((Rtc *)hw)->MODE1.SYNCBUSY.reg & reg; -} - -static inline void hri_rtcmode2_wait_for_sync(const void *const hw, hri_rtcmode2_syncbusy_reg_t reg) -{ - while (((Rtc *)hw)->MODE2.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_rtcmode2_is_syncing(const void *const hw, hri_rtcmode2_syncbusy_reg_t reg) -{ - return ((Rtc *)hw)->MODE2.SYNCBUSY.reg & reg; -} - -static inline void hri_rtcalarm_set_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_SECOND(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_SECOND(mask)) >> RTC_MODE2_ALARM_SECOND_Pos; - return tmp; -} - -static inline void hri_rtcalarm_write_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_SECOND_Msk; - tmp |= RTC_MODE2_ALARM_SECOND(data); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_SECOND(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_SECOND(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_SECOND_Msk) >> RTC_MODE2_ALARM_SECOND_Pos; - return tmp; -} - -static inline void hri_rtcalarm_set_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_MINUTE(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_MINUTE(mask)) >> RTC_MODE2_ALARM_MINUTE_Pos; - return tmp; -} - -static inline void hri_rtcalarm_write_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_MINUTE_Msk; - tmp |= RTC_MODE2_ALARM_MINUTE(data); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_MINUTE(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_MINUTE(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_MINUTE_Msk) >> RTC_MODE2_ALARM_MINUTE_Pos; - return tmp; -} - -static inline void hri_rtcalarm_set_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_HOUR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_HOUR(mask)) >> RTC_MODE2_ALARM_HOUR_Pos; - return tmp; -} - -static inline void hri_rtcalarm_write_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_HOUR_Msk; - tmp |= RTC_MODE2_ALARM_HOUR(data); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_HOUR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_HOUR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_HOUR_Msk) >> RTC_MODE2_ALARM_HOUR_Pos; - return tmp; -} - -static inline void hri_rtcalarm_set_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_DAY(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_DAY(mask)) >> RTC_MODE2_ALARM_DAY_Pos; - return tmp; -} - -static inline void hri_rtcalarm_write_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_DAY_Msk; - tmp |= RTC_MODE2_ALARM_DAY(data); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_DAY(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_DAY(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_DAY_Msk) >> RTC_MODE2_ALARM_DAY_Pos; - return tmp; -} - -static inline void hri_rtcalarm_set_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_MONTH(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_MONTH(mask)) >> RTC_MODE2_ALARM_MONTH_Pos; - return tmp; -} - -static inline void hri_rtcalarm_write_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_MONTH_Msk; - tmp |= RTC_MODE2_ALARM_MONTH(data); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_MONTH(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_MONTH(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_MONTH_Msk) >> RTC_MODE2_ALARM_MONTH_Pos; - return tmp; -} - -static inline void hri_rtcalarm_set_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_YEAR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_YEAR(mask)) >> RTC_MODE2_ALARM_YEAR_Pos; - return tmp; -} - -static inline void hri_rtcalarm_write_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_YEAR_Msk; - tmp |= RTC_MODE2_ALARM_YEAR(data); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_YEAR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_YEAR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_YEAR_Msk) >> RTC_MODE2_ALARM_YEAR_Pos; - return tmp; -} - -static inline void hri_rtcalarm_set_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcalarm_write_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_reg(const void *const hw, uint8_t submodule_index) -{ - return ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg; -} - -static inline void hri_rtcalarm_set_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg |= RTC_MODE2_MASK_SEL(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_mask_reg_t hri_rtcalarm_get_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - uint8_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg; - tmp = (tmp & RTC_MODE2_MASK_SEL(mask)) >> RTC_MODE2_MASK_SEL_Pos; - return tmp; -} - -static inline void hri_rtcalarm_write_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t data) -{ - uint8_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg; - tmp &= ~RTC_MODE2_MASK_SEL_Msk; - tmp |= RTC_MODE2_MASK_SEL(data); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg &= ~RTC_MODE2_MASK_SEL(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg ^= RTC_MODE2_MASK_SEL(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_mask_reg_t hri_rtcalarm_read_MASK_SEL_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg; - tmp = (tmp & RTC_MODE2_MASK_SEL_Msk) >> RTC_MODE2_MASK_SEL_Pos; - return tmp; -} - -static inline void hri_rtcalarm_set_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_mask_reg_t hri_rtcalarm_get_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - uint8_t tmp; - tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcalarm_write_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_clear_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcalarm_toggle_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_mask_reg_t hri_rtcalarm_read_MASK_reg(const void *const hw, uint8_t submodule_index) -{ - return ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg; -} - -static inline void hri_rtcmode2_set_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_SECOND(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_SECOND(mask)) >> RTC_MODE2_ALARM_SECOND_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_SECOND_Msk; - tmp |= RTC_MODE2_ALARM_SECOND(data); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_SECOND(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_SECOND(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_SECOND_Msk) >> RTC_MODE2_ALARM_SECOND_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_MINUTE(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_MINUTE(mask)) >> RTC_MODE2_ALARM_MINUTE_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_MINUTE_Msk; - tmp |= RTC_MODE2_ALARM_MINUTE(data); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_MINUTE(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_MINUTE(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_MINUTE_Msk) >> RTC_MODE2_ALARM_MINUTE_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_HOUR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_HOUR(mask)) >> RTC_MODE2_ALARM_HOUR_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_HOUR_Msk; - tmp |= RTC_MODE2_ALARM_HOUR(data); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_HOUR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_HOUR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_HOUR_Msk) >> RTC_MODE2_ALARM_HOUR_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_DAY(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_DAY(mask)) >> RTC_MODE2_ALARM_DAY_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_DAY_Msk; - tmp |= RTC_MODE2_ALARM_DAY(data); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_DAY(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_DAY(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_DAY_Msk) >> RTC_MODE2_ALARM_DAY_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_MONTH(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_MONTH(mask)) >> RTC_MODE2_ALARM_MONTH_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_MONTH_Msk; - tmp |= RTC_MODE2_ALARM_MONTH(data); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_MONTH(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_MONTH(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_MONTH_Msk) >> RTC_MODE2_ALARM_MONTH_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_YEAR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_YEAR(mask)) >> RTC_MODE2_ALARM_YEAR_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp &= ~RTC_MODE2_ALARM_YEAR_Msk; - tmp |= RTC_MODE2_ALARM_YEAR(data); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_YEAR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_YEAR(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp = (tmp & RTC_MODE2_ALARM_YEAR_Msk) >> RTC_MODE2_ALARM_YEAR_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode2_write_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_ALARM_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_alarm_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg; -} - -static inline void hri_rtcmode2_set_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg |= RTC_MODE2_MASK_SEL(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_mask_reg_t hri_rtcmode2_get_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - uint8_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg; - tmp = (tmp & RTC_MODE2_MASK_SEL(mask)) >> RTC_MODE2_MASK_SEL_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t data) -{ - uint8_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg; - tmp &= ~RTC_MODE2_MASK_SEL_Msk; - tmp |= RTC_MODE2_MASK_SEL(data); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg &= ~RTC_MODE2_MASK_SEL(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_MASK_SEL_bf(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg ^= RTC_MODE2_MASK_SEL(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_mask_reg_t hri_rtcmode2_read_MASK_SEL_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg; - tmp = (tmp & RTC_MODE2_MASK_SEL_Msk) >> RTC_MODE2_MASK_SEL_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_mask_reg_t hri_rtcmode2_get_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - uint8_t tmp; - tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode2_write_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_MASK_reg(const void *const hw, uint8_t submodule_index, - hri_rtcmode2_mask_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_mask_reg_t hri_rtcmode2_read_MASK_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg; -} - -static inline bool hri_rtcmode0_get_INTFLAG_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER0) >> RTC_MODE0_INTFLAG_PER0_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER0; -} - -static inline bool hri_rtcmode0_get_INTFLAG_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER1) >> RTC_MODE0_INTFLAG_PER1_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER1; -} - -static inline bool hri_rtcmode0_get_INTFLAG_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER2) >> RTC_MODE0_INTFLAG_PER2_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER2; -} - -static inline bool hri_rtcmode0_get_INTFLAG_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER3) >> RTC_MODE0_INTFLAG_PER3_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER3; -} - -static inline bool hri_rtcmode0_get_INTFLAG_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER4) >> RTC_MODE0_INTFLAG_PER4_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER4; -} - -static inline bool hri_rtcmode0_get_INTFLAG_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER5) >> RTC_MODE0_INTFLAG_PER5_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER5; -} - -static inline bool hri_rtcmode0_get_INTFLAG_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER6) >> RTC_MODE0_INTFLAG_PER6_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER6; -} - -static inline bool hri_rtcmode0_get_INTFLAG_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER7) >> RTC_MODE0_INTFLAG_PER7_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER7; -} - -static inline bool hri_rtcmode0_get_INTFLAG_CMP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_CMP0) >> RTC_MODE0_INTFLAG_CMP0_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_CMP0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP0; -} - -static inline bool hri_rtcmode0_get_INTFLAG_CMP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_CMP1) >> RTC_MODE0_INTFLAG_CMP1_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_CMP1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP1; -} - -static inline bool hri_rtcmode0_get_INTFLAG_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_TAMPER) >> RTC_MODE0_INTFLAG_TAMPER_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_TAMPER; -} - -static inline bool hri_rtcmode0_get_INTFLAG_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_OVF) >> RTC_MODE0_INTFLAG_OVF_Pos; -} - -static inline void hri_rtcmode0_clear_INTFLAG_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_OVF; -} - -static inline bool hri_rtcmode0_get_interrupt_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER0) >> RTC_MODE0_INTFLAG_PER0_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER0; -} - -static inline bool hri_rtcmode0_get_interrupt_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER1) >> RTC_MODE0_INTFLAG_PER1_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER1; -} - -static inline bool hri_rtcmode0_get_interrupt_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER2) >> RTC_MODE0_INTFLAG_PER2_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER2; -} - -static inline bool hri_rtcmode0_get_interrupt_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER3) >> RTC_MODE0_INTFLAG_PER3_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER3; -} - -static inline bool hri_rtcmode0_get_interrupt_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER4) >> RTC_MODE0_INTFLAG_PER4_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER4; -} - -static inline bool hri_rtcmode0_get_interrupt_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER5) >> RTC_MODE0_INTFLAG_PER5_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER5; -} - -static inline bool hri_rtcmode0_get_interrupt_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER6) >> RTC_MODE0_INTFLAG_PER6_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER6; -} - -static inline bool hri_rtcmode0_get_interrupt_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER7) >> RTC_MODE0_INTFLAG_PER7_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER7; -} - -static inline bool hri_rtcmode0_get_interrupt_CMP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_CMP0) >> RTC_MODE0_INTFLAG_CMP0_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_CMP0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP0; -} - -static inline bool hri_rtcmode0_get_interrupt_CMP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_CMP1) >> RTC_MODE0_INTFLAG_CMP1_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_CMP1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP1; -} - -static inline bool hri_rtcmode0_get_interrupt_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_TAMPER) >> RTC_MODE0_INTFLAG_TAMPER_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_TAMPER; -} - -static inline bool hri_rtcmode0_get_interrupt_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_OVF) >> RTC_MODE0_INTFLAG_OVF_Pos; -} - -static inline void hri_rtcmode0_clear_interrupt_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_OVF; -} - -static inline hri_rtcmode0_intflag_reg_t hri_rtcmode0_get_INTFLAG_reg(const void *const hw, - hri_rtcmode0_intflag_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode0_intflag_reg_t hri_rtcmode0_read_INTFLAG_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE0.INTFLAG.reg; -} - -static inline void hri_rtcmode0_clear_INTFLAG_reg(const void *const hw, hri_rtcmode0_intflag_reg_t mask) -{ - ((Rtc *)hw)->MODE0.INTFLAG.reg = mask; -} - -static inline bool hri_rtcmode1_get_INTFLAG_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER0) >> RTC_MODE1_INTFLAG_PER0_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER0; -} - -static inline bool hri_rtcmode1_get_INTFLAG_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER1) >> RTC_MODE1_INTFLAG_PER1_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER1; -} - -static inline bool hri_rtcmode1_get_INTFLAG_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER2) >> RTC_MODE1_INTFLAG_PER2_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER2; -} - -static inline bool hri_rtcmode1_get_INTFLAG_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER3) >> RTC_MODE1_INTFLAG_PER3_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER3; -} - -static inline bool hri_rtcmode1_get_INTFLAG_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER4) >> RTC_MODE1_INTFLAG_PER4_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER4; -} - -static inline bool hri_rtcmode1_get_INTFLAG_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER5) >> RTC_MODE1_INTFLAG_PER5_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER5; -} - -static inline bool hri_rtcmode1_get_INTFLAG_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER6) >> RTC_MODE1_INTFLAG_PER6_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER6; -} - -static inline bool hri_rtcmode1_get_INTFLAG_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER7) >> RTC_MODE1_INTFLAG_PER7_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER7; -} - -static inline bool hri_rtcmode1_get_INTFLAG_CMP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP0) >> RTC_MODE1_INTFLAG_CMP0_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_CMP0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP0; -} - -static inline bool hri_rtcmode1_get_INTFLAG_CMP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP1) >> RTC_MODE1_INTFLAG_CMP1_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_CMP1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP1; -} - -static inline bool hri_rtcmode1_get_INTFLAG_CMP2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP2) >> RTC_MODE1_INTFLAG_CMP2_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_CMP2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP2; -} - -static inline bool hri_rtcmode1_get_INTFLAG_CMP3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP3) >> RTC_MODE1_INTFLAG_CMP3_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_CMP3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP3; -} - -static inline bool hri_rtcmode1_get_INTFLAG_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_TAMPER) >> RTC_MODE1_INTFLAG_TAMPER_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_TAMPER; -} - -static inline bool hri_rtcmode1_get_INTFLAG_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_OVF) >> RTC_MODE1_INTFLAG_OVF_Pos; -} - -static inline void hri_rtcmode1_clear_INTFLAG_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_OVF; -} - -static inline bool hri_rtcmode1_get_interrupt_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER0) >> RTC_MODE1_INTFLAG_PER0_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER0; -} - -static inline bool hri_rtcmode1_get_interrupt_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER1) >> RTC_MODE1_INTFLAG_PER1_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER1; -} - -static inline bool hri_rtcmode1_get_interrupt_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER2) >> RTC_MODE1_INTFLAG_PER2_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER2; -} - -static inline bool hri_rtcmode1_get_interrupt_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER3) >> RTC_MODE1_INTFLAG_PER3_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER3; -} - -static inline bool hri_rtcmode1_get_interrupt_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER4) >> RTC_MODE1_INTFLAG_PER4_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER4; -} - -static inline bool hri_rtcmode1_get_interrupt_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER5) >> RTC_MODE1_INTFLAG_PER5_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER5; -} - -static inline bool hri_rtcmode1_get_interrupt_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER6) >> RTC_MODE1_INTFLAG_PER6_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER6; -} - -static inline bool hri_rtcmode1_get_interrupt_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER7) >> RTC_MODE1_INTFLAG_PER7_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER7; -} - -static inline bool hri_rtcmode1_get_interrupt_CMP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP0) >> RTC_MODE1_INTFLAG_CMP0_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_CMP0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP0; -} - -static inline bool hri_rtcmode1_get_interrupt_CMP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP1) >> RTC_MODE1_INTFLAG_CMP1_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_CMP1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP1; -} - -static inline bool hri_rtcmode1_get_interrupt_CMP2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP2) >> RTC_MODE1_INTFLAG_CMP2_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_CMP2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP2; -} - -static inline bool hri_rtcmode1_get_interrupt_CMP3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP3) >> RTC_MODE1_INTFLAG_CMP3_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_CMP3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP3; -} - -static inline bool hri_rtcmode1_get_interrupt_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_TAMPER) >> RTC_MODE1_INTFLAG_TAMPER_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_TAMPER; -} - -static inline bool hri_rtcmode1_get_interrupt_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_OVF) >> RTC_MODE1_INTFLAG_OVF_Pos; -} - -static inline void hri_rtcmode1_clear_interrupt_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_OVF; -} - -static inline hri_rtcmode1_intflag_reg_t hri_rtcmode1_get_INTFLAG_reg(const void *const hw, - hri_rtcmode1_intflag_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode1_intflag_reg_t hri_rtcmode1_read_INTFLAG_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE1.INTFLAG.reg; -} - -static inline void hri_rtcmode1_clear_INTFLAG_reg(const void *const hw, hri_rtcmode1_intflag_reg_t mask) -{ - ((Rtc *)hw)->MODE1.INTFLAG.reg = mask; -} - -static inline bool hri_rtcmode2_get_INTFLAG_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER0) >> RTC_MODE2_INTFLAG_PER0_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER0; -} - -static inline bool hri_rtcmode2_get_INTFLAG_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER1) >> RTC_MODE2_INTFLAG_PER1_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER1; -} - -static inline bool hri_rtcmode2_get_INTFLAG_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER2) >> RTC_MODE2_INTFLAG_PER2_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER2; -} - -static inline bool hri_rtcmode2_get_INTFLAG_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER3) >> RTC_MODE2_INTFLAG_PER3_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER3; -} - -static inline bool hri_rtcmode2_get_INTFLAG_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER4) >> RTC_MODE2_INTFLAG_PER4_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER4; -} - -static inline bool hri_rtcmode2_get_INTFLAG_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER5) >> RTC_MODE2_INTFLAG_PER5_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER5; -} - -static inline bool hri_rtcmode2_get_INTFLAG_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER6) >> RTC_MODE2_INTFLAG_PER6_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER6; -} - -static inline bool hri_rtcmode2_get_INTFLAG_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER7) >> RTC_MODE2_INTFLAG_PER7_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER7; -} - -static inline bool hri_rtcmode2_get_INTFLAG_ALARM0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_ALARM0) >> RTC_MODE2_INTFLAG_ALARM0_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_ALARM0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_ALARM0; -} - -static inline bool hri_rtcmode2_get_INTFLAG_ALARM1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_ALARM1) >> RTC_MODE2_INTFLAG_ALARM1_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_ALARM1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_ALARM1; -} - -static inline bool hri_rtcmode2_get_INTFLAG_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_TAMPER) >> RTC_MODE2_INTFLAG_TAMPER_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_TAMPER; -} - -static inline bool hri_rtcmode2_get_INTFLAG_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_OVF) >> RTC_MODE2_INTFLAG_OVF_Pos; -} - -static inline void hri_rtcmode2_clear_INTFLAG_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_OVF; -} - -static inline bool hri_rtcmode2_get_interrupt_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER0) >> RTC_MODE2_INTFLAG_PER0_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER0; -} - -static inline bool hri_rtcmode2_get_interrupt_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER1) >> RTC_MODE2_INTFLAG_PER1_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER1; -} - -static inline bool hri_rtcmode2_get_interrupt_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER2) >> RTC_MODE2_INTFLAG_PER2_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER2; -} - -static inline bool hri_rtcmode2_get_interrupt_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER3) >> RTC_MODE2_INTFLAG_PER3_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER3; -} - -static inline bool hri_rtcmode2_get_interrupt_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER4) >> RTC_MODE2_INTFLAG_PER4_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER4; -} - -static inline bool hri_rtcmode2_get_interrupt_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER5) >> RTC_MODE2_INTFLAG_PER5_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER5; -} - -static inline bool hri_rtcmode2_get_interrupt_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER6) >> RTC_MODE2_INTFLAG_PER6_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER6; -} - -static inline bool hri_rtcmode2_get_interrupt_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER7) >> RTC_MODE2_INTFLAG_PER7_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER7; -} - -static inline bool hri_rtcmode2_get_interrupt_ALARM0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_ALARM0) >> RTC_MODE2_INTFLAG_ALARM0_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_ALARM0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_ALARM0; -} - -static inline bool hri_rtcmode2_get_interrupt_ALARM1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_ALARM1) >> RTC_MODE2_INTFLAG_ALARM1_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_ALARM1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_ALARM1; -} - -static inline bool hri_rtcmode2_get_interrupt_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_TAMPER) >> RTC_MODE2_INTFLAG_TAMPER_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_TAMPER; -} - -static inline bool hri_rtcmode2_get_interrupt_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_OVF) >> RTC_MODE2_INTFLAG_OVF_Pos; -} - -static inline void hri_rtcmode2_clear_interrupt_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_OVF; -} - -static inline hri_rtcmode2_intflag_reg_t hri_rtcmode2_get_INTFLAG_reg(const void *const hw, - hri_rtcmode2_intflag_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode2_intflag_reg_t hri_rtcmode2_read_INTFLAG_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE2.INTFLAG.reg; -} - -static inline void hri_rtcmode2_clear_INTFLAG_reg(const void *const hw, hri_rtcmode2_intflag_reg_t mask) -{ - ((Rtc *)hw)->MODE2.INTFLAG.reg = mask; -} - -static inline void hri_rtcmode0_set_INTEN_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER0; -} - -static inline bool hri_rtcmode0_get_INTEN_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER0) >> RTC_MODE0_INTENSET_PER0_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_PER0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER0; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER0; - } -} - -static inline void hri_rtcmode0_clear_INTEN_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER0; -} - -static inline void hri_rtcmode0_set_INTEN_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER1; -} - -static inline bool hri_rtcmode0_get_INTEN_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER1) >> RTC_MODE0_INTENSET_PER1_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_PER1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER1; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER1; - } -} - -static inline void hri_rtcmode0_clear_INTEN_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER1; -} - -static inline void hri_rtcmode0_set_INTEN_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER2; -} - -static inline bool hri_rtcmode0_get_INTEN_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER2) >> RTC_MODE0_INTENSET_PER2_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_PER2_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER2; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER2; - } -} - -static inline void hri_rtcmode0_clear_INTEN_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER2; -} - -static inline void hri_rtcmode0_set_INTEN_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER3; -} - -static inline bool hri_rtcmode0_get_INTEN_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER3) >> RTC_MODE0_INTENSET_PER3_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_PER3_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER3; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER3; - } -} - -static inline void hri_rtcmode0_clear_INTEN_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER3; -} - -static inline void hri_rtcmode0_set_INTEN_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER4; -} - -static inline bool hri_rtcmode0_get_INTEN_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER4) >> RTC_MODE0_INTENSET_PER4_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_PER4_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER4; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER4; - } -} - -static inline void hri_rtcmode0_clear_INTEN_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER4; -} - -static inline void hri_rtcmode0_set_INTEN_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER5; -} - -static inline bool hri_rtcmode0_get_INTEN_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER5) >> RTC_MODE0_INTENSET_PER5_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_PER5_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER5; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER5; - } -} - -static inline void hri_rtcmode0_clear_INTEN_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER5; -} - -static inline void hri_rtcmode0_set_INTEN_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER6; -} - -static inline bool hri_rtcmode0_get_INTEN_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER6) >> RTC_MODE0_INTENSET_PER6_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_PER6_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER6; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER6; - } -} - -static inline void hri_rtcmode0_clear_INTEN_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER6; -} - -static inline void hri_rtcmode0_set_INTEN_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER7; -} - -static inline bool hri_rtcmode0_get_INTEN_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER7) >> RTC_MODE0_INTENSET_PER7_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_PER7_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER7; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER7; - } -} - -static inline void hri_rtcmode0_clear_INTEN_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER7; -} - -static inline void hri_rtcmode0_set_INTEN_CMP0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP0; -} - -static inline bool hri_rtcmode0_get_INTEN_CMP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_CMP0) >> RTC_MODE0_INTENSET_CMP0_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_CMP0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_CMP0; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP0; - } -} - -static inline void hri_rtcmode0_clear_INTEN_CMP0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_CMP0; -} - -static inline void hri_rtcmode0_set_INTEN_CMP1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP1; -} - -static inline bool hri_rtcmode0_get_INTEN_CMP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_CMP1) >> RTC_MODE0_INTENSET_CMP1_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_CMP1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_CMP1; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP1; - } -} - -static inline void hri_rtcmode0_clear_INTEN_CMP1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_CMP1; -} - -static inline void hri_rtcmode0_set_INTEN_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_TAMPER; -} - -static inline bool hri_rtcmode0_get_INTEN_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_TAMPER) >> RTC_MODE0_INTENSET_TAMPER_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_TAMPER_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_TAMPER; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_TAMPER; - } -} - -static inline void hri_rtcmode0_clear_INTEN_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_TAMPER; -} - -static inline void hri_rtcmode0_set_INTEN_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_OVF; -} - -static inline bool hri_rtcmode0_get_INTEN_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_OVF) >> RTC_MODE0_INTENSET_OVF_Pos; -} - -static inline void hri_rtcmode0_write_INTEN_OVF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_OVF; - } else { - ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_OVF; - } -} - -static inline void hri_rtcmode0_clear_INTEN_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_OVF; -} - -static inline void hri_rtcmode0_set_INTEN_reg(const void *const hw, hri_rtcmode0_intenset_reg_t mask) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = mask; -} - -static inline hri_rtcmode0_intenset_reg_t hri_rtcmode0_get_INTEN_reg(const void *const hw, - hri_rtcmode0_intenset_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode0_intenset_reg_t hri_rtcmode0_read_INTEN_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE0.INTENSET.reg; -} - -static inline void hri_rtcmode0_write_INTEN_reg(const void *const hw, hri_rtcmode0_intenset_reg_t data) -{ - ((Rtc *)hw)->MODE0.INTENSET.reg = data; - ((Rtc *)hw)->MODE0.INTENCLR.reg = ~data; -} - -static inline void hri_rtcmode0_clear_INTEN_reg(const void *const hw, hri_rtcmode0_intenset_reg_t mask) -{ - ((Rtc *)hw)->MODE0.INTENCLR.reg = mask; -} - -static inline void hri_rtcmode1_set_INTEN_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER0; -} - -static inline bool hri_rtcmode1_get_INTEN_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER0) >> RTC_MODE1_INTENSET_PER0_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_PER0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER0; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER0; - } -} - -static inline void hri_rtcmode1_clear_INTEN_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER0; -} - -static inline void hri_rtcmode1_set_INTEN_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER1; -} - -static inline bool hri_rtcmode1_get_INTEN_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER1) >> RTC_MODE1_INTENSET_PER1_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_PER1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER1; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER1; - } -} - -static inline void hri_rtcmode1_clear_INTEN_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER1; -} - -static inline void hri_rtcmode1_set_INTEN_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER2; -} - -static inline bool hri_rtcmode1_get_INTEN_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER2) >> RTC_MODE1_INTENSET_PER2_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_PER2_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER2; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER2; - } -} - -static inline void hri_rtcmode1_clear_INTEN_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER2; -} - -static inline void hri_rtcmode1_set_INTEN_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER3; -} - -static inline bool hri_rtcmode1_get_INTEN_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER3) >> RTC_MODE1_INTENSET_PER3_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_PER3_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER3; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER3; - } -} - -static inline void hri_rtcmode1_clear_INTEN_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER3; -} - -static inline void hri_rtcmode1_set_INTEN_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER4; -} - -static inline bool hri_rtcmode1_get_INTEN_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER4) >> RTC_MODE1_INTENSET_PER4_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_PER4_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER4; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER4; - } -} - -static inline void hri_rtcmode1_clear_INTEN_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER4; -} - -static inline void hri_rtcmode1_set_INTEN_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER5; -} - -static inline bool hri_rtcmode1_get_INTEN_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER5) >> RTC_MODE1_INTENSET_PER5_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_PER5_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER5; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER5; - } -} - -static inline void hri_rtcmode1_clear_INTEN_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER5; -} - -static inline void hri_rtcmode1_set_INTEN_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER6; -} - -static inline bool hri_rtcmode1_get_INTEN_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER6) >> RTC_MODE1_INTENSET_PER6_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_PER6_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER6; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER6; - } -} - -static inline void hri_rtcmode1_clear_INTEN_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER6; -} - -static inline void hri_rtcmode1_set_INTEN_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER7; -} - -static inline bool hri_rtcmode1_get_INTEN_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER7) >> RTC_MODE1_INTENSET_PER7_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_PER7_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER7; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER7; - } -} - -static inline void hri_rtcmode1_clear_INTEN_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER7; -} - -static inline void hri_rtcmode1_set_INTEN_CMP0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP0; -} - -static inline bool hri_rtcmode1_get_INTEN_CMP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_CMP0) >> RTC_MODE1_INTENSET_CMP0_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_CMP0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP0; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP0; - } -} - -static inline void hri_rtcmode1_clear_INTEN_CMP0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP0; -} - -static inline void hri_rtcmode1_set_INTEN_CMP1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP1; -} - -static inline bool hri_rtcmode1_get_INTEN_CMP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_CMP1) >> RTC_MODE1_INTENSET_CMP1_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_CMP1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP1; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP1; - } -} - -static inline void hri_rtcmode1_clear_INTEN_CMP1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP1; -} - -static inline void hri_rtcmode1_set_INTEN_CMP2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP2; -} - -static inline bool hri_rtcmode1_get_INTEN_CMP2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_CMP2) >> RTC_MODE1_INTENSET_CMP2_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_CMP2_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP2; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP2; - } -} - -static inline void hri_rtcmode1_clear_INTEN_CMP2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP2; -} - -static inline void hri_rtcmode1_set_INTEN_CMP3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP3; -} - -static inline bool hri_rtcmode1_get_INTEN_CMP3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_CMP3) >> RTC_MODE1_INTENSET_CMP3_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_CMP3_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP3; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP3; - } -} - -static inline void hri_rtcmode1_clear_INTEN_CMP3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP3; -} - -static inline void hri_rtcmode1_set_INTEN_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_TAMPER; -} - -static inline bool hri_rtcmode1_get_INTEN_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_TAMPER) >> RTC_MODE1_INTENSET_TAMPER_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_TAMPER_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_TAMPER; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_TAMPER; - } -} - -static inline void hri_rtcmode1_clear_INTEN_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_TAMPER; -} - -static inline void hri_rtcmode1_set_INTEN_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_OVF; -} - -static inline bool hri_rtcmode1_get_INTEN_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_OVF) >> RTC_MODE1_INTENSET_OVF_Pos; -} - -static inline void hri_rtcmode1_write_INTEN_OVF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_OVF; - } else { - ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_OVF; - } -} - -static inline void hri_rtcmode1_clear_INTEN_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_OVF; -} - -static inline void hri_rtcmode1_set_INTEN_reg(const void *const hw, hri_rtcmode1_intenset_reg_t mask) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = mask; -} - -static inline hri_rtcmode1_intenset_reg_t hri_rtcmode1_get_INTEN_reg(const void *const hw, - hri_rtcmode1_intenset_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode1_intenset_reg_t hri_rtcmode1_read_INTEN_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE1.INTENSET.reg; -} - -static inline void hri_rtcmode1_write_INTEN_reg(const void *const hw, hri_rtcmode1_intenset_reg_t data) -{ - ((Rtc *)hw)->MODE1.INTENSET.reg = data; - ((Rtc *)hw)->MODE1.INTENCLR.reg = ~data; -} - -static inline void hri_rtcmode1_clear_INTEN_reg(const void *const hw, hri_rtcmode1_intenset_reg_t mask) -{ - ((Rtc *)hw)->MODE1.INTENCLR.reg = mask; -} - -static inline void hri_rtcmode2_set_INTEN_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER0; -} - -static inline bool hri_rtcmode2_get_INTEN_PER0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER0) >> RTC_MODE2_INTENSET_PER0_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_PER0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER0; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER0; - } -} - -static inline void hri_rtcmode2_clear_INTEN_PER0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER0; -} - -static inline void hri_rtcmode2_set_INTEN_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER1; -} - -static inline bool hri_rtcmode2_get_INTEN_PER1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER1) >> RTC_MODE2_INTENSET_PER1_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_PER1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER1; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER1; - } -} - -static inline void hri_rtcmode2_clear_INTEN_PER1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER1; -} - -static inline void hri_rtcmode2_set_INTEN_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER2; -} - -static inline bool hri_rtcmode2_get_INTEN_PER2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER2) >> RTC_MODE2_INTENSET_PER2_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_PER2_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER2; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER2; - } -} - -static inline void hri_rtcmode2_clear_INTEN_PER2_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER2; -} - -static inline void hri_rtcmode2_set_INTEN_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER3; -} - -static inline bool hri_rtcmode2_get_INTEN_PER3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER3) >> RTC_MODE2_INTENSET_PER3_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_PER3_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER3; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER3; - } -} - -static inline void hri_rtcmode2_clear_INTEN_PER3_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER3; -} - -static inline void hri_rtcmode2_set_INTEN_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER4; -} - -static inline bool hri_rtcmode2_get_INTEN_PER4_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER4) >> RTC_MODE2_INTENSET_PER4_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_PER4_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER4; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER4; - } -} - -static inline void hri_rtcmode2_clear_INTEN_PER4_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER4; -} - -static inline void hri_rtcmode2_set_INTEN_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER5; -} - -static inline bool hri_rtcmode2_get_INTEN_PER5_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER5) >> RTC_MODE2_INTENSET_PER5_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_PER5_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER5; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER5; - } -} - -static inline void hri_rtcmode2_clear_INTEN_PER5_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER5; -} - -static inline void hri_rtcmode2_set_INTEN_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER6; -} - -static inline bool hri_rtcmode2_get_INTEN_PER6_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER6) >> RTC_MODE2_INTENSET_PER6_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_PER6_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER6; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER6; - } -} - -static inline void hri_rtcmode2_clear_INTEN_PER6_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER6; -} - -static inline void hri_rtcmode2_set_INTEN_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER7; -} - -static inline bool hri_rtcmode2_get_INTEN_PER7_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER7) >> RTC_MODE2_INTENSET_PER7_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_PER7_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER7; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER7; - } -} - -static inline void hri_rtcmode2_clear_INTEN_PER7_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER7; -} - -static inline void hri_rtcmode2_set_INTEN_ALARM0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_ALARM0; -} - -static inline bool hri_rtcmode2_get_INTEN_ALARM0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_ALARM0) >> RTC_MODE2_INTENSET_ALARM0_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_ALARM0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_ALARM0; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_ALARM0; - } -} - -static inline void hri_rtcmode2_clear_INTEN_ALARM0_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_ALARM0; -} - -static inline void hri_rtcmode2_set_INTEN_ALARM1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_ALARM1; -} - -static inline bool hri_rtcmode2_get_INTEN_ALARM1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_ALARM1) >> RTC_MODE2_INTENSET_ALARM1_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_ALARM1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_ALARM1; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_ALARM1; - } -} - -static inline void hri_rtcmode2_clear_INTEN_ALARM1_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_ALARM1; -} - -static inline void hri_rtcmode2_set_INTEN_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_TAMPER; -} - -static inline bool hri_rtcmode2_get_INTEN_TAMPER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_TAMPER) >> RTC_MODE2_INTENSET_TAMPER_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_TAMPER_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_TAMPER; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_TAMPER; - } -} - -static inline void hri_rtcmode2_clear_INTEN_TAMPER_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_TAMPER; -} - -static inline void hri_rtcmode2_set_INTEN_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_OVF; -} - -static inline bool hri_rtcmode2_get_INTEN_OVF_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_OVF) >> RTC_MODE2_INTENSET_OVF_Pos; -} - -static inline void hri_rtcmode2_write_INTEN_OVF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_OVF; - } else { - ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_OVF; - } -} - -static inline void hri_rtcmode2_clear_INTEN_OVF_bit(const void *const hw) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_OVF; -} - -static inline void hri_rtcmode2_set_INTEN_reg(const void *const hw, hri_rtcmode2_intenset_reg_t mask) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = mask; -} - -static inline hri_rtcmode2_intenset_reg_t hri_rtcmode2_get_INTEN_reg(const void *const hw, - hri_rtcmode2_intenset_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode2_intenset_reg_t hri_rtcmode2_read_INTEN_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE2.INTENSET.reg; -} - -static inline void hri_rtcmode2_write_INTEN_reg(const void *const hw, hri_rtcmode2_intenset_reg_t data) -{ - ((Rtc *)hw)->MODE2.INTENSET.reg = data; - ((Rtc *)hw)->MODE2.INTENCLR.reg = ~data; -} - -static inline void hri_rtcmode2_clear_INTEN_reg(const void *const hw, hri_rtcmode2_intenset_reg_t mask) -{ - ((Rtc *)hw)->MODE2.INTENCLR.reg = mask; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_SWRST) >> RTC_MODE0_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_ENABLE) >> RTC_MODE0_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_FREQCORR_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_FREQCORR) >> RTC_MODE0_SYNCBUSY_FREQCORR_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_COUNT_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_COUNT) >> RTC_MODE0_SYNCBUSY_COUNT_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_COMP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_COMP0) >> RTC_MODE0_SYNCBUSY_COMP0_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_COMP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_COMP1) >> RTC_MODE0_SYNCBUSY_COMP1_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_COUNTSYNC_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_COUNTSYNC) >> RTC_MODE0_SYNCBUSY_COUNTSYNC_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_GP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_GP0) >> RTC_MODE0_SYNCBUSY_GP0_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_GP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_GP1) >> RTC_MODE0_SYNCBUSY_GP1_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_GP2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_GP2) >> RTC_MODE0_SYNCBUSY_GP2_Pos; -} - -static inline bool hri_rtcmode0_get_SYNCBUSY_GP3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_GP3) >> RTC_MODE0_SYNCBUSY_GP3_Pos; -} - -static inline hri_rtcmode0_syncbusy_reg_t hri_rtcmode0_get_SYNCBUSY_reg(const void *const hw, - hri_rtcmode0_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode0_syncbusy_reg_t hri_rtcmode0_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE0.SYNCBUSY.reg; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_SWRST) >> RTC_MODE1_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_ENABLE) >> RTC_MODE1_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_FREQCORR_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_FREQCORR) >> RTC_MODE1_SYNCBUSY_FREQCORR_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_COUNT_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COUNT) >> RTC_MODE1_SYNCBUSY_COUNT_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_PER_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_PER) >> RTC_MODE1_SYNCBUSY_PER_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_COMP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COMP0) >> RTC_MODE1_SYNCBUSY_COMP0_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_COMP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COMP1) >> RTC_MODE1_SYNCBUSY_COMP1_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_COMP2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COMP2) >> RTC_MODE1_SYNCBUSY_COMP2_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_COMP3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COMP3) >> RTC_MODE1_SYNCBUSY_COMP3_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_COUNTSYNC_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COUNTSYNC) >> RTC_MODE1_SYNCBUSY_COUNTSYNC_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_GP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_GP0) >> RTC_MODE1_SYNCBUSY_GP0_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_GP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_GP1) >> RTC_MODE1_SYNCBUSY_GP1_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_GP2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_GP2) >> RTC_MODE1_SYNCBUSY_GP2_Pos; -} - -static inline bool hri_rtcmode1_get_SYNCBUSY_GP3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_GP3) >> RTC_MODE1_SYNCBUSY_GP3_Pos; -} - -static inline hri_rtcmode1_syncbusy_reg_t hri_rtcmode1_get_SYNCBUSY_reg(const void *const hw, - hri_rtcmode1_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode1_syncbusy_reg_t hri_rtcmode1_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE1.SYNCBUSY.reg; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_SWRST) >> RTC_MODE2_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_ENABLE) >> RTC_MODE2_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_FREQCORR_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_FREQCORR) >> RTC_MODE2_SYNCBUSY_FREQCORR_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_CLOCK_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_CLOCK) >> RTC_MODE2_SYNCBUSY_CLOCK_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_ALARM0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_ALARM0) >> RTC_MODE2_SYNCBUSY_ALARM0_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_ALARM1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_ALARM1) >> RTC_MODE2_SYNCBUSY_ALARM1_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_MASK0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_MASK0) >> RTC_MODE2_SYNCBUSY_MASK0_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_MASK1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_MASK1) >> RTC_MODE2_SYNCBUSY_MASK1_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_CLOCKSYNC_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_CLOCKSYNC) >> RTC_MODE2_SYNCBUSY_CLOCKSYNC_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_GP0_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_GP0) >> RTC_MODE2_SYNCBUSY_GP0_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_GP1_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_GP1) >> RTC_MODE2_SYNCBUSY_GP1_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_GP2_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_GP2) >> RTC_MODE2_SYNCBUSY_GP2_Pos; -} - -static inline bool hri_rtcmode2_get_SYNCBUSY_GP3_bit(const void *const hw) -{ - return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_GP3) >> RTC_MODE2_SYNCBUSY_GP3_Pos; -} - -static inline hri_rtcmode2_syncbusy_reg_t hri_rtcmode2_get_SYNCBUSY_reg(const void *const hw, - hri_rtcmode2_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode2_syncbusy_reg_t hri_rtcmode2_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE2.SYNCBUSY.reg; -} - -static inline hri_rtcmode0_timestamp_reg_t hri_rtcmode0_get_TIMESTAMP_COUNT_bf(const void *const hw, - hri_rtcmode0_timestamp_reg_t mask) -{ - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - return (((Rtc *)hw)->MODE0.TIMESTAMP.reg & RTC_MODE0_TIMESTAMP_COUNT(mask)) >> RTC_MODE0_TIMESTAMP_COUNT_Pos; -} - -static inline hri_rtcmode0_timestamp_reg_t hri_rtcmode0_read_TIMESTAMP_COUNT_bf(const void *const hw) -{ - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - return (((Rtc *)hw)->MODE0.TIMESTAMP.reg & RTC_MODE0_TIMESTAMP_COUNT_Msk) >> RTC_MODE0_TIMESTAMP_COUNT_Pos; -} - -static inline hri_rtcmode0_timestamp_reg_t hri_rtcmode0_get_TIMESTAMP_reg(const void *const hw, - hri_rtcmode0_timestamp_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - tmp = ((Rtc *)hw)->MODE0.TIMESTAMP.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode0_timestamp_reg_t hri_rtcmode0_read_TIMESTAMP_reg(const void *const hw) -{ - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - return ((Rtc *)hw)->MODE0.TIMESTAMP.reg; -} - -static inline hri_rtcmode1_timestamp_reg_t hri_rtcmode1_get_TIMESTAMP_COUNT_bf(const void *const hw, - hri_rtcmode1_timestamp_reg_t mask) -{ - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - return (((Rtc *)hw)->MODE1.TIMESTAMP.reg & RTC_MODE1_TIMESTAMP_COUNT(mask)) >> RTC_MODE1_TIMESTAMP_COUNT_Pos; -} - -static inline hri_rtcmode1_timestamp_reg_t hri_rtcmode1_read_TIMESTAMP_COUNT_bf(const void *const hw) -{ - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - return (((Rtc *)hw)->MODE1.TIMESTAMP.reg & RTC_MODE1_TIMESTAMP_COUNT_Msk) >> RTC_MODE1_TIMESTAMP_COUNT_Pos; -} - -static inline hri_rtcmode1_timestamp_reg_t hri_rtcmode1_get_TIMESTAMP_reg(const void *const hw, - hri_rtcmode1_timestamp_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - tmp = ((Rtc *)hw)->MODE1.TIMESTAMP.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode1_timestamp_reg_t hri_rtcmode1_read_TIMESTAMP_reg(const void *const hw) -{ - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - return ((Rtc *)hw)->MODE1.TIMESTAMP.reg; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_SECOND_bf(const void *const hw, - hri_rtcmode2_timestamp_reg_t mask) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_SECOND(mask)) >> RTC_MODE2_TIMESTAMP_SECOND_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_SECOND_bf(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_SECOND_Msk) >> RTC_MODE2_TIMESTAMP_SECOND_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_MINUTE_bf(const void *const hw, - hri_rtcmode2_timestamp_reg_t mask) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_MINUTE(mask)) >> RTC_MODE2_TIMESTAMP_MINUTE_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_MINUTE_bf(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_MINUTE_Msk) >> RTC_MODE2_TIMESTAMP_MINUTE_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_HOUR_bf(const void *const hw, - hri_rtcmode2_timestamp_reg_t mask) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_HOUR(mask)) >> RTC_MODE2_TIMESTAMP_HOUR_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_HOUR_bf(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_HOUR_Msk) >> RTC_MODE2_TIMESTAMP_HOUR_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_DAY_bf(const void *const hw, - hri_rtcmode2_timestamp_reg_t mask) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_DAY(mask)) >> RTC_MODE2_TIMESTAMP_DAY_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_DAY_bf(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_DAY_Msk) >> RTC_MODE2_TIMESTAMP_DAY_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_MONTH_bf(const void *const hw, - hri_rtcmode2_timestamp_reg_t mask) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_MONTH(mask)) >> RTC_MODE2_TIMESTAMP_MONTH_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_MONTH_bf(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_MONTH_Msk) >> RTC_MODE2_TIMESTAMP_MONTH_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_YEAR_bf(const void *const hw, - hri_rtcmode2_timestamp_reg_t mask) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_YEAR(mask)) >> RTC_MODE2_TIMESTAMP_YEAR_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_YEAR_bf(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_YEAR_Msk) >> RTC_MODE2_TIMESTAMP_YEAR_Pos; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_reg(const void *const hw, - hri_rtcmode2_timestamp_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.TIMESTAMP.reg; - tmp &= mask; - return tmp; -} - -static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_reg(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return ((Rtc *)hw)->MODE2.TIMESTAMP.reg; -} - -static inline void hri_rtcmode0_set_CTRLA_SWRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_SWRST; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_SWRST) >> RTC_MODE0_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_set_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_ENABLE; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_ENABLE) >> RTC_MODE0_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp &= ~RTC_MODE0_CTRLA_ENABLE; - tmp |= value << RTC_MODE0_CTRLA_ENABLE_Pos; - ((Rtc *)hw)->MODE0.CTRLA.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_ENABLE; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_ENABLE; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLA_MATCHCLR_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_MATCHCLR; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLA_MATCHCLR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_MATCHCLR) >> RTC_MODE0_CTRLA_MATCHCLR_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLA_MATCHCLR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp &= ~RTC_MODE0_CTRLA_MATCHCLR; - tmp |= value << RTC_MODE0_CTRLA_MATCHCLR_Pos; - ((Rtc *)hw)->MODE0.CTRLA.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLA_MATCHCLR_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_MATCHCLR; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLA_MATCHCLR_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_MATCHCLR; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_BKTRST; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLA_BKTRST_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_BKTRST) >> RTC_MODE0_CTRLA_BKTRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLA_BKTRST_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp &= ~RTC_MODE0_CTRLA_BKTRST; - tmp |= value << RTC_MODE0_CTRLA_BKTRST_Pos; - ((Rtc *)hw)->MODE0.CTRLA.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_BKTRST; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_BKTRST; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_GPTRST; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLA_GPTRST_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_GPTRST) >> RTC_MODE0_CTRLA_GPTRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLA_GPTRST_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp &= ~RTC_MODE0_CTRLA_GPTRST; - tmp |= value << RTC_MODE0_CTRLA_GPTRST_Pos; - ((Rtc *)hw)->MODE0.CTRLA.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_GPTRST; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_GPTRST; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLA_COUNTSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_COUNTSYNC; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLA_COUNTSYNC_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_COUNTSYNC) >> RTC_MODE0_CTRLA_COUNTSYNC_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLA_COUNTSYNC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp &= ~RTC_MODE0_CTRLA_COUNTSYNC; - tmp |= value << RTC_MODE0_CTRLA_COUNTSYNC_Pos; - ((Rtc *)hw)->MODE0.CTRLA.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLA_COUNTSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_COUNTSYNC; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLA_COUNTSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_COUNTSYNC; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLA_MODE_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_MODE(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_get_CTRLA_MODE_bf(const void *const hw, - hri_rtcmode0_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_MODE(mask)) >> RTC_MODE0_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_rtcmode0_write_CTRLA_MODE_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp &= ~RTC_MODE0_CTRLA_MODE_Msk; - tmp |= RTC_MODE0_CTRLA_MODE(data); - ((Rtc *)hw)->MODE0.CTRLA.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLA_MODE_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_MODE(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLA_MODE_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_MODE(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_read_CTRLA_MODE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_MODE_Msk) >> RTC_MODE0_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_rtcmode0_set_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_PRESCALER(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_get_CTRLA_PRESCALER_bf(const void *const hw, - hri_rtcmode0_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_PRESCALER(mask)) >> RTC_MODE0_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_rtcmode0_write_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp &= ~RTC_MODE0_CTRLA_PRESCALER_Msk; - tmp |= RTC_MODE0_CTRLA_PRESCALER(data); - ((Rtc *)hw)->MODE0.CTRLA.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_PRESCALER(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_PRESCALER(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_read_CTRLA_PRESCALER_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp = (tmp & RTC_MODE0_CTRLA_PRESCALER_Msk) >> RTC_MODE0_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_rtcmode0_set_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg |= mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_get_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - uint16_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - tmp = ((Rtc *)hw)->MODE0.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode0_write_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg = data; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg &= ~mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLA.reg ^= mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_read_CTRLA_reg(const void *const hw) -{ - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC); - return ((Rtc *)hw)->MODE0.CTRLA.reg; -} - -static inline void hri_rtcmode1_set_CTRLA_SWRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_SWRST; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_SWRST) >> RTC_MODE1_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_set_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_ENABLE; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_ENABLE) >> RTC_MODE1_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp &= ~RTC_MODE1_CTRLA_ENABLE; - tmp |= value << RTC_MODE1_CTRLA_ENABLE_Pos; - ((Rtc *)hw)->MODE1.CTRLA.reg = tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_ENABLE; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_ENABLE; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_BKTRST; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLA_BKTRST_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_BKTRST) >> RTC_MODE1_CTRLA_BKTRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLA_BKTRST_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp &= ~RTC_MODE1_CTRLA_BKTRST; - tmp |= value << RTC_MODE1_CTRLA_BKTRST_Pos; - ((Rtc *)hw)->MODE1.CTRLA.reg = tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_BKTRST; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_BKTRST; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_GPTRST; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLA_GPTRST_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_GPTRST) >> RTC_MODE1_CTRLA_GPTRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLA_GPTRST_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp &= ~RTC_MODE1_CTRLA_GPTRST; - tmp |= value << RTC_MODE1_CTRLA_GPTRST_Pos; - ((Rtc *)hw)->MODE1.CTRLA.reg = tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_GPTRST; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_GPTRST; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLA_COUNTSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_COUNTSYNC; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLA_COUNTSYNC_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_COUNTSYNC) >> RTC_MODE1_CTRLA_COUNTSYNC_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLA_COUNTSYNC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp &= ~RTC_MODE1_CTRLA_COUNTSYNC; - tmp |= value << RTC_MODE1_CTRLA_COUNTSYNC_Pos; - ((Rtc *)hw)->MODE1.CTRLA.reg = tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLA_COUNTSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_COUNTSYNC; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLA_COUNTSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_COUNTSYNC; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLA_MODE_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_MODE(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_get_CTRLA_MODE_bf(const void *const hw, - hri_rtcmode1_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_MODE(mask)) >> RTC_MODE1_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_rtcmode1_write_CTRLA_MODE_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp &= ~RTC_MODE1_CTRLA_MODE_Msk; - tmp |= RTC_MODE1_CTRLA_MODE(data); - ((Rtc *)hw)->MODE1.CTRLA.reg = tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLA_MODE_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_MODE(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLA_MODE_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_MODE(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_read_CTRLA_MODE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_MODE_Msk) >> RTC_MODE1_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_rtcmode1_set_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_PRESCALER(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_get_CTRLA_PRESCALER_bf(const void *const hw, - hri_rtcmode1_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_PRESCALER(mask)) >> RTC_MODE1_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_rtcmode1_write_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp &= ~RTC_MODE1_CTRLA_PRESCALER_Msk; - tmp |= RTC_MODE1_CTRLA_PRESCALER(data); - ((Rtc *)hw)->MODE1.CTRLA.reg = tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_PRESCALER(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_PRESCALER(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_read_CTRLA_PRESCALER_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp = (tmp & RTC_MODE1_CTRLA_PRESCALER_Msk) >> RTC_MODE1_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_rtcmode1_set_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg |= mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_get_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - tmp = ((Rtc *)hw)->MODE1.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode1_write_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg = data; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg &= ~mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLA.reg ^= mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_read_CTRLA_reg(const void *const hw) -{ - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC); - return ((Rtc *)hw)->MODE1.CTRLA.reg; -} - -static inline void hri_rtcmode2_set_CTRLA_SWRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_SWRST; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_SWRST) >> RTC_MODE2_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_set_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_ENABLE; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_ENABLE) >> RTC_MODE2_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= ~RTC_MODE2_CTRLA_ENABLE; - tmp |= value << RTC_MODE2_CTRLA_ENABLE_Pos; - ((Rtc *)hw)->MODE2.CTRLA.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_ENABLE; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_ENABLE; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLA_CLKREP_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_CLKREP; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLA_CLKREP_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_CLKREP) >> RTC_MODE2_CTRLA_CLKREP_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_CLKREP_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= ~RTC_MODE2_CTRLA_CLKREP; - tmp |= value << RTC_MODE2_CTRLA_CLKREP_Pos; - ((Rtc *)hw)->MODE2.CTRLA.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_CLKREP_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_CLKREP; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_CLKREP_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_CLKREP; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLA_MATCHCLR_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_MATCHCLR; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLA_MATCHCLR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_MATCHCLR) >> RTC_MODE2_CTRLA_MATCHCLR_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_MATCHCLR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= ~RTC_MODE2_CTRLA_MATCHCLR; - tmp |= value << RTC_MODE2_CTRLA_MATCHCLR_Pos; - ((Rtc *)hw)->MODE2.CTRLA.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_MATCHCLR_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_MATCHCLR; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_MATCHCLR_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_MATCHCLR; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_BKTRST; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLA_BKTRST_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_BKTRST) >> RTC_MODE2_CTRLA_BKTRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_BKTRST_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= ~RTC_MODE2_CTRLA_BKTRST; - tmp |= value << RTC_MODE2_CTRLA_BKTRST_Pos; - ((Rtc *)hw)->MODE2.CTRLA.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_BKTRST; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_BKTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_BKTRST; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_GPTRST; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLA_GPTRST_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_GPTRST) >> RTC_MODE2_CTRLA_GPTRST_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_GPTRST_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= ~RTC_MODE2_CTRLA_GPTRST; - tmp |= value << RTC_MODE2_CTRLA_GPTRST_Pos; - ((Rtc *)hw)->MODE2.CTRLA.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_GPTRST; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_GPTRST_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_GPTRST; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLA_CLOCKSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_CLOCKSYNC; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLA_CLOCKSYNC_bit(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_CLOCKSYNC) >> RTC_MODE2_CTRLA_CLOCKSYNC_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_CLOCKSYNC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= ~RTC_MODE2_CTRLA_CLOCKSYNC; - tmp |= value << RTC_MODE2_CTRLA_CLOCKSYNC_Pos; - ((Rtc *)hw)->MODE2.CTRLA.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_CLOCKSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_CLOCKSYNC; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_CLOCKSYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_CLOCKSYNC; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLA_MODE_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_MODE(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_get_CTRLA_MODE_bf(const void *const hw, - hri_rtcmode2_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_MODE(mask)) >> RTC_MODE2_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_MODE_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= ~RTC_MODE2_CTRLA_MODE_Msk; - tmp |= RTC_MODE2_CTRLA_MODE(data); - ((Rtc *)hw)->MODE2.CTRLA.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_MODE_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_MODE(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_MODE_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_MODE(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_read_CTRLA_MODE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_MODE_Msk) >> RTC_MODE2_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_PRESCALER(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_get_CTRLA_PRESCALER_bf(const void *const hw, - hri_rtcmode2_ctrla_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_PRESCALER(mask)) >> RTC_MODE2_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= ~RTC_MODE2_CTRLA_PRESCALER_Msk; - tmp |= RTC_MODE2_CTRLA_PRESCALER(data); - ((Rtc *)hw)->MODE2.CTRLA.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_PRESCALER(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_PRESCALER(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_read_CTRLA_PRESCALER_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp = (tmp & RTC_MODE2_CTRLA_PRESCALER_Msk) >> RTC_MODE2_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg |= mask; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_get_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - uint16_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - tmp = ((Rtc *)hw)->MODE2.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode2_write_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg = data; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg &= ~mask; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLA.reg ^= mask; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_read_CTRLA_reg(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC); - return ((Rtc *)hw)->MODE2.CTRLA.reg; -} - -static inline void hri_rtcmode0_set_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLB_GP0EN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_GP0EN) >> RTC_MODE0_CTRLB_GP0EN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_GP0EN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= ~RTC_MODE0_CTRLB_GP0EN; - tmp |= value << RTC_MODE0_CTRLB_GP0EN_Pos; - ((Rtc *)hw)->MODE0.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLB_GP2EN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_GP2EN) >> RTC_MODE0_CTRLB_GP2EN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_GP2EN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= ~RTC_MODE0_CTRLB_GP2EN; - tmp |= value << RTC_MODE0_CTRLB_GP2EN_Pos; - ((Rtc *)hw)->MODE0.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLB_DEBMAJ_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_DEBMAJ) >> RTC_MODE0_CTRLB_DEBMAJ_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_DEBMAJ_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= ~RTC_MODE0_CTRLB_DEBMAJ; - tmp |= value << RTC_MODE0_CTRLB_DEBMAJ_Pos; - ((Rtc *)hw)->MODE0.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLB_DEBASYNC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_DEBASYNC) >> RTC_MODE0_CTRLB_DEBASYNC_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_DEBASYNC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= ~RTC_MODE0_CTRLB_DEBASYNC; - tmp |= value << RTC_MODE0_CTRLB_DEBASYNC_Pos; - ((Rtc *)hw)->MODE0.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLB_RTCOUT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_RTCOUT) >> RTC_MODE0_CTRLB_RTCOUT_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_RTCOUT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= ~RTC_MODE0_CTRLB_RTCOUT; - tmp |= value << RTC_MODE0_CTRLB_RTCOUT_Pos; - ((Rtc *)hw)->MODE0.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_CTRLB_DMAEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_DMAEN) >> RTC_MODE0_CTRLB_DMAEN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_DMAEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= ~RTC_MODE0_CTRLB_DMAEN; - tmp |= value << RTC_MODE0_CTRLB_DMAEN_Pos; - ((Rtc *)hw)->MODE0.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_get_CTRLB_DEBF_bf(const void *const hw, - hri_rtcmode0_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_DEBF(mask)) >> RTC_MODE0_CTRLB_DEBF_Pos; - return tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= ~RTC_MODE0_CTRLB_DEBF_Msk; - tmp |= RTC_MODE0_CTRLB_DEBF(data); - ((Rtc *)hw)->MODE0.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_read_CTRLB_DEBF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_DEBF_Msk) >> RTC_MODE0_CTRLB_DEBF_Pos; - return tmp; -} - -static inline void hri_rtcmode0_set_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_get_CTRLB_ACTF_bf(const void *const hw, - hri_rtcmode0_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_ACTF(mask)) >> RTC_MODE0_CTRLB_ACTF_Pos; - return tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= ~RTC_MODE0_CTRLB_ACTF_Msk; - tmp |= RTC_MODE0_CTRLB_ACTF(data); - ((Rtc *)hw)->MODE0.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_read_CTRLB_ACTF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp = (tmp & RTC_MODE0_CTRLB_ACTF_Msk) >> RTC_MODE0_CTRLB_ACTF_Pos; - return tmp; -} - -static inline void hri_rtcmode0_set_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_get_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE0.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode0_write_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.CTRLB.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_read_CTRLB_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE0.CTRLB.reg; -} - -static inline void hri_rtcmode1_set_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLB_GP0EN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_GP0EN) >> RTC_MODE1_CTRLB_GP0EN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_GP0EN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= ~RTC_MODE1_CTRLB_GP0EN; - tmp |= value << RTC_MODE1_CTRLB_GP0EN_Pos; - ((Rtc *)hw)->MODE1.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLB_GP2EN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_GP2EN) >> RTC_MODE1_CTRLB_GP2EN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_GP2EN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= ~RTC_MODE1_CTRLB_GP2EN; - tmp |= value << RTC_MODE1_CTRLB_GP2EN_Pos; - ((Rtc *)hw)->MODE1.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLB_DEBMAJ_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_DEBMAJ) >> RTC_MODE1_CTRLB_DEBMAJ_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_DEBMAJ_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= ~RTC_MODE1_CTRLB_DEBMAJ; - tmp |= value << RTC_MODE1_CTRLB_DEBMAJ_Pos; - ((Rtc *)hw)->MODE1.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLB_DEBASYNC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_DEBASYNC) >> RTC_MODE1_CTRLB_DEBASYNC_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_DEBASYNC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= ~RTC_MODE1_CTRLB_DEBASYNC; - tmp |= value << RTC_MODE1_CTRLB_DEBASYNC_Pos; - ((Rtc *)hw)->MODE1.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLB_RTCOUT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_RTCOUT) >> RTC_MODE1_CTRLB_RTCOUT_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_RTCOUT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= ~RTC_MODE1_CTRLB_RTCOUT; - tmp |= value << RTC_MODE1_CTRLB_RTCOUT_Pos; - ((Rtc *)hw)->MODE1.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_CTRLB_DMAEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_DMAEN) >> RTC_MODE1_CTRLB_DMAEN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_DMAEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= ~RTC_MODE1_CTRLB_DMAEN; - tmp |= value << RTC_MODE1_CTRLB_DMAEN_Pos; - ((Rtc *)hw)->MODE1.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_get_CTRLB_DEBF_bf(const void *const hw, - hri_rtcmode1_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_DEBF(mask)) >> RTC_MODE1_CTRLB_DEBF_Pos; - return tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= ~RTC_MODE1_CTRLB_DEBF_Msk; - tmp |= RTC_MODE1_CTRLB_DEBF(data); - ((Rtc *)hw)->MODE1.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_read_CTRLB_DEBF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_DEBF_Msk) >> RTC_MODE1_CTRLB_DEBF_Pos; - return tmp; -} - -static inline void hri_rtcmode1_set_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_get_CTRLB_ACTF_bf(const void *const hw, - hri_rtcmode1_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_ACTF(mask)) >> RTC_MODE1_CTRLB_ACTF_Pos; - return tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= ~RTC_MODE1_CTRLB_ACTF_Msk; - tmp |= RTC_MODE1_CTRLB_ACTF(data); - ((Rtc *)hw)->MODE1.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_read_CTRLB_ACTF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp = (tmp & RTC_MODE1_CTRLB_ACTF_Msk) >> RTC_MODE1_CTRLB_ACTF_Pos; - return tmp; -} - -static inline void hri_rtcmode1_set_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_get_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode1_write_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.CTRLB.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_read_CTRLB_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE1.CTRLB.reg; -} - -static inline void hri_rtcmode2_set_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLB_GP0EN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_GP0EN) >> RTC_MODE2_CTRLB_GP0EN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_GP0EN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= ~RTC_MODE2_CTRLB_GP0EN; - tmp |= value << RTC_MODE2_CTRLB_GP0EN_Pos; - ((Rtc *)hw)->MODE2.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_GP0EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_GP0EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLB_GP2EN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_GP2EN) >> RTC_MODE2_CTRLB_GP2EN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_GP2EN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= ~RTC_MODE2_CTRLB_GP2EN; - tmp |= value << RTC_MODE2_CTRLB_GP2EN_Pos; - ((Rtc *)hw)->MODE2.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_GP2EN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_GP2EN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLB_DEBMAJ_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_DEBMAJ) >> RTC_MODE2_CTRLB_DEBMAJ_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_DEBMAJ_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= ~RTC_MODE2_CTRLB_DEBMAJ; - tmp |= value << RTC_MODE2_CTRLB_DEBMAJ_Pos; - ((Rtc *)hw)->MODE2.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_DEBMAJ_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_DEBMAJ; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLB_DEBASYNC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_DEBASYNC) >> RTC_MODE2_CTRLB_DEBASYNC_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_DEBASYNC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= ~RTC_MODE2_CTRLB_DEBASYNC; - tmp |= value << RTC_MODE2_CTRLB_DEBASYNC_Pos; - ((Rtc *)hw)->MODE2.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_DEBASYNC_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_DEBASYNC; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLB_RTCOUT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_RTCOUT) >> RTC_MODE2_CTRLB_RTCOUT_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_RTCOUT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= ~RTC_MODE2_CTRLB_RTCOUT; - tmp |= value << RTC_MODE2_CTRLB_RTCOUT_Pos; - ((Rtc *)hw)->MODE2.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_RTCOUT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_RTCOUT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_CTRLB_DMAEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_DMAEN) >> RTC_MODE2_CTRLB_DMAEN_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_DMAEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= ~RTC_MODE2_CTRLB_DMAEN; - tmp |= value << RTC_MODE2_CTRLB_DMAEN_Pos; - ((Rtc *)hw)->MODE2.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_DMAEN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_DMAEN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_get_CTRLB_DEBF_bf(const void *const hw, - hri_rtcmode2_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_DEBF(mask)) >> RTC_MODE2_CTRLB_DEBF_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= ~RTC_MODE2_CTRLB_DEBF_Msk; - tmp |= RTC_MODE2_CTRLB_DEBF(data); - ((Rtc *)hw)->MODE2.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_DEBF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_read_CTRLB_DEBF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_DEBF_Msk) >> RTC_MODE2_CTRLB_DEBF_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_get_CTRLB_ACTF_bf(const void *const hw, - hri_rtcmode2_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_ACTF(mask)) >> RTC_MODE2_CTRLB_ACTF_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= ~RTC_MODE2_CTRLB_ACTF_Msk; - tmp |= RTC_MODE2_CTRLB_ACTF(data); - ((Rtc *)hw)->MODE2.CTRLB.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_ACTF(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_read_CTRLB_ACTF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp = (tmp & RTC_MODE2_CTRLB_ACTF_Msk) >> RTC_MODE2_CTRLB_ACTF_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_get_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE2.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode2_write_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CTRLB.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_read_CTRLB_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE2.CTRLB.reg; -} - -static inline void hri_rtcmode0_set_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_PEREO0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_PEREO0) >> RTC_MODE0_EVCTRL_PEREO0_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_PEREO0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_PEREO0; - tmp |= value << RTC_MODE0_EVCTRL_PEREO0_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_PEREO1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_PEREO1) >> RTC_MODE0_EVCTRL_PEREO1_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_PEREO1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_PEREO1; - tmp |= value << RTC_MODE0_EVCTRL_PEREO1_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_PEREO2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_PEREO2) >> RTC_MODE0_EVCTRL_PEREO2_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_PEREO2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_PEREO2; - tmp |= value << RTC_MODE0_EVCTRL_PEREO2_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_PEREO3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_PEREO3) >> RTC_MODE0_EVCTRL_PEREO3_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_PEREO3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_PEREO3; - tmp |= value << RTC_MODE0_EVCTRL_PEREO3_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_PEREO4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_PEREO4) >> RTC_MODE0_EVCTRL_PEREO4_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_PEREO4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_PEREO4; - tmp |= value << RTC_MODE0_EVCTRL_PEREO4_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_PEREO5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_PEREO5) >> RTC_MODE0_EVCTRL_PEREO5_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_PEREO5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_PEREO5; - tmp |= value << RTC_MODE0_EVCTRL_PEREO5_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_PEREO6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_PEREO6) >> RTC_MODE0_EVCTRL_PEREO6_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_PEREO6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_PEREO6; - tmp |= value << RTC_MODE0_EVCTRL_PEREO6_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_PEREO7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_PEREO7) >> RTC_MODE0_EVCTRL_PEREO7_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_PEREO7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_PEREO7; - tmp |= value << RTC_MODE0_EVCTRL_PEREO7_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_CMPEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_CMPEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_CMPEO0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_CMPEO0) >> RTC_MODE0_EVCTRL_CMPEO0_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_CMPEO0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_CMPEO0; - tmp |= value << RTC_MODE0_EVCTRL_CMPEO0_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_CMPEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_CMPEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_CMPEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_CMPEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_CMPEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_CMPEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_CMPEO1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_CMPEO1) >> RTC_MODE0_EVCTRL_CMPEO1_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_CMPEO1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_CMPEO1; - tmp |= value << RTC_MODE0_EVCTRL_CMPEO1_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_CMPEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_CMPEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_CMPEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_CMPEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_TAMPEREO) >> RTC_MODE0_EVCTRL_TAMPEREO_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_TAMPEREO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_TAMPEREO; - tmp |= value << RTC_MODE0_EVCTRL_TAMPEREO_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_OVFEO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_OVFEO) >> RTC_MODE0_EVCTRL_OVFEO_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_OVFEO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_OVFEO; - tmp |= value << RTC_MODE0_EVCTRL_OVFEO_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode0_get_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp = (tmp & RTC_MODE0_EVCTRL_TAMPEVEI) >> RTC_MODE0_EVCTRL_TAMPEVEI_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_TAMPEVEI_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= ~RTC_MODE0_EVCTRL_TAMPEVEI; - tmp |= value << RTC_MODE0_EVCTRL_TAMPEVEI_Pos; - ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_set_EVCTRL_reg(const void *const hw, hri_rtcmode0_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_evctrl_reg_t hri_rtcmode0_get_EVCTRL_reg(const void *const hw, - hri_rtcmode0_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode0_write_EVCTRL_reg(const void *const hw, hri_rtcmode0_evctrl_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_EVCTRL_reg(const void *const hw, hri_rtcmode0_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_EVCTRL_reg(const void *const hw, hri_rtcmode0_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.EVCTRL.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_evctrl_reg_t hri_rtcmode0_read_EVCTRL_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE0.EVCTRL.reg; -} - -static inline void hri_rtcmode1_set_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_PEREO0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_PEREO0) >> RTC_MODE1_EVCTRL_PEREO0_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_PEREO0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_PEREO0; - tmp |= value << RTC_MODE1_EVCTRL_PEREO0_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_PEREO1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_PEREO1) >> RTC_MODE1_EVCTRL_PEREO1_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_PEREO1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_PEREO1; - tmp |= value << RTC_MODE1_EVCTRL_PEREO1_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_PEREO2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_PEREO2) >> RTC_MODE1_EVCTRL_PEREO2_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_PEREO2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_PEREO2; - tmp |= value << RTC_MODE1_EVCTRL_PEREO2_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_PEREO3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_PEREO3) >> RTC_MODE1_EVCTRL_PEREO3_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_PEREO3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_PEREO3; - tmp |= value << RTC_MODE1_EVCTRL_PEREO3_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_PEREO4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_PEREO4) >> RTC_MODE1_EVCTRL_PEREO4_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_PEREO4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_PEREO4; - tmp |= value << RTC_MODE1_EVCTRL_PEREO4_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_PEREO5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_PEREO5) >> RTC_MODE1_EVCTRL_PEREO5_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_PEREO5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_PEREO5; - tmp |= value << RTC_MODE1_EVCTRL_PEREO5_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_PEREO6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_PEREO6) >> RTC_MODE1_EVCTRL_PEREO6_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_PEREO6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_PEREO6; - tmp |= value << RTC_MODE1_EVCTRL_PEREO6_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_PEREO7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_PEREO7) >> RTC_MODE1_EVCTRL_PEREO7_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_PEREO7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_PEREO7; - tmp |= value << RTC_MODE1_EVCTRL_PEREO7_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_CMPEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_CMPEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_CMPEO0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_CMPEO0) >> RTC_MODE1_EVCTRL_CMPEO0_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_CMPEO0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_CMPEO0; - tmp |= value << RTC_MODE1_EVCTRL_CMPEO0_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_CMPEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_CMPEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_CMPEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_CMPEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_CMPEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_CMPEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_CMPEO1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_CMPEO1) >> RTC_MODE1_EVCTRL_CMPEO1_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_CMPEO1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_CMPEO1; - tmp |= value << RTC_MODE1_EVCTRL_CMPEO1_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_CMPEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_CMPEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_CMPEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_CMPEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_CMPEO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_CMPEO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_CMPEO2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_CMPEO2) >> RTC_MODE1_EVCTRL_CMPEO2_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_CMPEO2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_CMPEO2; - tmp |= value << RTC_MODE1_EVCTRL_CMPEO2_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_CMPEO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_CMPEO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_CMPEO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_CMPEO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_CMPEO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_CMPEO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_CMPEO3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_CMPEO3) >> RTC_MODE1_EVCTRL_CMPEO3_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_CMPEO3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_CMPEO3; - tmp |= value << RTC_MODE1_EVCTRL_CMPEO3_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_CMPEO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_CMPEO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_CMPEO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_CMPEO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_TAMPEREO) >> RTC_MODE1_EVCTRL_TAMPEREO_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_TAMPEREO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_TAMPEREO; - tmp |= value << RTC_MODE1_EVCTRL_TAMPEREO_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_OVFEO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_OVFEO) >> RTC_MODE1_EVCTRL_OVFEO_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_OVFEO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_OVFEO; - tmp |= value << RTC_MODE1_EVCTRL_OVFEO_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode1_get_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp = (tmp & RTC_MODE1_EVCTRL_TAMPEVEI) >> RTC_MODE1_EVCTRL_TAMPEVEI_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_TAMPEVEI_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= ~RTC_MODE1_EVCTRL_TAMPEVEI; - tmp |= value << RTC_MODE1_EVCTRL_TAMPEVEI_Pos; - ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_set_EVCTRL_reg(const void *const hw, hri_rtcmode1_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_evctrl_reg_t hri_rtcmode1_get_EVCTRL_reg(const void *const hw, - hri_rtcmode1_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode1_write_EVCTRL_reg(const void *const hw, hri_rtcmode1_evctrl_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_EVCTRL_reg(const void *const hw, hri_rtcmode1_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_EVCTRL_reg(const void *const hw, hri_rtcmode1_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.EVCTRL.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_evctrl_reg_t hri_rtcmode1_read_EVCTRL_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE1.EVCTRL.reg; -} - -static inline void hri_rtcmode2_set_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_PEREO0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_PEREO0) >> RTC_MODE2_EVCTRL_PEREO0_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_PEREO0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_PEREO0; - tmp |= value << RTC_MODE2_EVCTRL_PEREO0_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_PEREO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_PEREO1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_PEREO1) >> RTC_MODE2_EVCTRL_PEREO1_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_PEREO1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_PEREO1; - tmp |= value << RTC_MODE2_EVCTRL_PEREO1_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_PEREO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_PEREO2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_PEREO2) >> RTC_MODE2_EVCTRL_PEREO2_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_PEREO2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_PEREO2; - tmp |= value << RTC_MODE2_EVCTRL_PEREO2_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_PEREO2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_PEREO3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_PEREO3) >> RTC_MODE2_EVCTRL_PEREO3_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_PEREO3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_PEREO3; - tmp |= value << RTC_MODE2_EVCTRL_PEREO3_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_PEREO3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_PEREO4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_PEREO4) >> RTC_MODE2_EVCTRL_PEREO4_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_PEREO4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_PEREO4; - tmp |= value << RTC_MODE2_EVCTRL_PEREO4_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_PEREO4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_PEREO5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_PEREO5) >> RTC_MODE2_EVCTRL_PEREO5_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_PEREO5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_PEREO5; - tmp |= value << RTC_MODE2_EVCTRL_PEREO5_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_PEREO5_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO5; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_PEREO6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_PEREO6) >> RTC_MODE2_EVCTRL_PEREO6_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_PEREO6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_PEREO6; - tmp |= value << RTC_MODE2_EVCTRL_PEREO6_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_PEREO6_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO6; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_PEREO7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_PEREO7) >> RTC_MODE2_EVCTRL_PEREO7_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_PEREO7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_PEREO7; - tmp |= value << RTC_MODE2_EVCTRL_PEREO7_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_PEREO7_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO7; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_ALARMEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_ALARMEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_ALARMEO0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_ALARMEO0) >> RTC_MODE2_EVCTRL_ALARMEO0_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_ALARMEO0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_ALARMEO0; - tmp |= value << RTC_MODE2_EVCTRL_ALARMEO0_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_ALARMEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_ALARMEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_ALARMEO0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_ALARMEO0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_ALARMEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_ALARMEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_ALARMEO1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_ALARMEO1) >> RTC_MODE2_EVCTRL_ALARMEO1_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_ALARMEO1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_ALARMEO1; - tmp |= value << RTC_MODE2_EVCTRL_ALARMEO1_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_ALARMEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_ALARMEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_ALARMEO1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_ALARMEO1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_TAMPEREO) >> RTC_MODE2_EVCTRL_TAMPEREO_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_TAMPEREO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_TAMPEREO; - tmp |= value << RTC_MODE2_EVCTRL_TAMPEREO_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_TAMPEREO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_TAMPEREO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_OVFEO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_OVFEO) >> RTC_MODE2_EVCTRL_OVFEO_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_OVFEO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_OVFEO; - tmp |= value << RTC_MODE2_EVCTRL_OVFEO_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_OVFEO_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_OVFEO; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtcmode2_get_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp = (tmp & RTC_MODE2_EVCTRL_TAMPEVEI) >> RTC_MODE2_EVCTRL_TAMPEVEI_Pos; - return (bool)tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_TAMPEVEI_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= ~RTC_MODE2_EVCTRL_TAMPEVEI; - tmp |= value << RTC_MODE2_EVCTRL_TAMPEVEI_Pos; - ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_TAMPEVEI_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_TAMPEVEI; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_set_EVCTRL_reg(const void *const hw, hri_rtcmode2_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_evctrl_reg_t hri_rtcmode2_get_EVCTRL_reg(const void *const hw, - hri_rtcmode2_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode2_write_EVCTRL_reg(const void *const hw, hri_rtcmode2_evctrl_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_EVCTRL_reg(const void *const hw, hri_rtcmode2_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_EVCTRL_reg(const void *const hw, hri_rtcmode2_evctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.EVCTRL.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_evctrl_reg_t hri_rtcmode2_read_EVCTRL_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE2.EVCTRL.reg; -} - -static inline void hri_rtc_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.DBGCTRL.reg |= RTC_DBGCTRL_DBGRUN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Rtc *)hw)->MODE0.DBGCTRL.reg; - tmp = (tmp & RTC_DBGCTRL_DBGRUN) >> RTC_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.DBGCTRL.reg; - tmp &= ~RTC_DBGCTRL_DBGRUN; - tmp |= value << RTC_DBGCTRL_DBGRUN_Pos; - ((Rtc *)hw)->MODE0.DBGCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.DBGCTRL.reg &= ~RTC_DBGCTRL_DBGRUN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.DBGCTRL.reg ^= RTC_DBGCTRL_DBGRUN; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.DBGCTRL.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_dbgctrl_reg_t hri_rtc_get_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Rtc *)hw)->MODE0.DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtc_write_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.DBGCTRL.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.DBGCTRL.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.DBGCTRL.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_dbgctrl_reg_t hri_rtc_read_DBGCTRL_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE0.DBGCTRL.reg; -} - -static inline void hri_rtc_set_FREQCORR_SIGN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg |= RTC_FREQCORR_SIGN; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_FREQCORR_SIGN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg; - tmp = (tmp & RTC_FREQCORR_SIGN) >> RTC_FREQCORR_SIGN_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_FREQCORR_SIGN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg; - tmp &= ~RTC_FREQCORR_SIGN; - tmp |= value << RTC_FREQCORR_SIGN_Pos; - ((Rtc *)hw)->MODE0.FREQCORR.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_FREQCORR_SIGN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg &= ~RTC_FREQCORR_SIGN; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_FREQCORR_SIGN_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg ^= RTC_FREQCORR_SIGN; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg |= RTC_FREQCORR_VALUE(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_freqcorr_reg_t hri_rtc_get_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg; - tmp = (tmp & RTC_FREQCORR_VALUE(mask)) >> RTC_FREQCORR_VALUE_Pos; - return tmp; -} - -static inline void hri_rtc_write_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t data) -{ - uint8_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg; - tmp &= ~RTC_FREQCORR_VALUE_Msk; - tmp |= RTC_FREQCORR_VALUE(data); - ((Rtc *)hw)->MODE0.FREQCORR.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg &= ~RTC_FREQCORR_VALUE(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg ^= RTC_FREQCORR_VALUE(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_freqcorr_reg_t hri_rtc_read_FREQCORR_VALUE_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg; - tmp = (tmp & RTC_FREQCORR_VALUE_Msk) >> RTC_FREQCORR_VALUE_Pos; - return tmp; -} - -static inline void hri_rtc_set_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg |= mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_freqcorr_reg_t hri_rtc_get_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t mask) -{ - uint8_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtc_write_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg = data; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg &= ~mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.FREQCORR.reg ^= mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_freqcorr_reg_t hri_rtc_read_FREQCORR_reg(const void *const hw) -{ - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK); - return ((Rtc *)hw)->MODE0.FREQCORR.reg; -} - -static inline void hri_rtcmode0_set_COUNT_COUNT_bf(const void *const hw, hri_rtcmode0_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COUNT.reg |= RTC_MODE0_COUNT_COUNT(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_count_reg_t hri_rtcmode0_get_COUNT_COUNT_bf(const void *const hw, - hri_rtcmode0_count_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - tmp = ((Rtc *)hw)->MODE0.COUNT.reg; - tmp = (tmp & RTC_MODE0_COUNT_COUNT(mask)) >> RTC_MODE0_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_rtcmode0_write_COUNT_COUNT_bf(const void *const hw, hri_rtcmode0_count_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.COUNT.reg; - tmp &= ~RTC_MODE0_COUNT_COUNT_Msk; - tmp |= RTC_MODE0_COUNT_COUNT(data); - ((Rtc *)hw)->MODE0.COUNT.reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_COUNT_COUNT_bf(const void *const hw, hri_rtcmode0_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COUNT.reg &= ~RTC_MODE0_COUNT_COUNT(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_COUNT_COUNT_bf(const void *const hw, hri_rtcmode0_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COUNT.reg ^= RTC_MODE0_COUNT_COUNT(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_count_reg_t hri_rtcmode0_read_COUNT_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - tmp = ((Rtc *)hw)->MODE0.COUNT.reg; - tmp = (tmp & RTC_MODE0_COUNT_COUNT_Msk) >> RTC_MODE0_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_rtcmode0_set_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COUNT.reg |= mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_count_reg_t hri_rtcmode0_get_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - tmp = ((Rtc *)hw)->MODE0.COUNT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode0_write_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COUNT.reg = data; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COUNT.reg &= ~mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COUNT.reg ^= mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_count_reg_t hri_rtcmode0_read_COUNT_reg(const void *const hw) -{ - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT); - return ((Rtc *)hw)->MODE0.COUNT.reg; -} - -static inline void hri_rtcmode1_set_COUNT_COUNT_bf(const void *const hw, hri_rtcmode1_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COUNT.reg |= RTC_MODE1_COUNT_COUNT(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_count_reg_t hri_rtcmode1_get_COUNT_COUNT_bf(const void *const hw, - hri_rtcmode1_count_reg_t mask) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - tmp = ((Rtc *)hw)->MODE1.COUNT.reg; - tmp = (tmp & RTC_MODE1_COUNT_COUNT(mask)) >> RTC_MODE1_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_rtcmode1_write_COUNT_COUNT_bf(const void *const hw, hri_rtcmode1_count_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.COUNT.reg; - tmp &= ~RTC_MODE1_COUNT_COUNT_Msk; - tmp |= RTC_MODE1_COUNT_COUNT(data); - ((Rtc *)hw)->MODE1.COUNT.reg = tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_COUNT_COUNT_bf(const void *const hw, hri_rtcmode1_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COUNT.reg &= ~RTC_MODE1_COUNT_COUNT(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_COUNT_COUNT_bf(const void *const hw, hri_rtcmode1_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COUNT.reg ^= RTC_MODE1_COUNT_COUNT(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_count_reg_t hri_rtcmode1_read_COUNT_COUNT_bf(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - tmp = ((Rtc *)hw)->MODE1.COUNT.reg; - tmp = (tmp & RTC_MODE1_COUNT_COUNT_Msk) >> RTC_MODE1_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_rtcmode1_set_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COUNT.reg |= mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_count_reg_t hri_rtcmode1_get_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t mask) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - tmp = ((Rtc *)hw)->MODE1.COUNT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode1_write_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COUNT.reg = data; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COUNT.reg &= ~mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COUNT.reg ^= mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_count_reg_t hri_rtcmode1_read_COUNT_reg(const void *const hw) -{ - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT); - return ((Rtc *)hw)->MODE1.COUNT.reg; -} - -static inline void hri_rtcmode2_set_CLOCK_SECOND_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_SECOND(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_SECOND_bf(const void *const hw, - hri_rtcmode2_clock_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_SECOND(mask)) >> RTC_MODE2_CLOCK_SECOND_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CLOCK_SECOND_bf(const void *const hw, hri_rtcmode2_clock_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp &= ~RTC_MODE2_CLOCK_SECOND_Msk; - tmp |= RTC_MODE2_CLOCK_SECOND(data); - ((Rtc *)hw)->MODE2.CLOCK.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CLOCK_SECOND_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_SECOND(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CLOCK_SECOND_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_SECOND(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_SECOND_bf(const void *const hw) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_SECOND_Msk) >> RTC_MODE2_CLOCK_SECOND_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CLOCK_MINUTE_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_MINUTE(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_MINUTE_bf(const void *const hw, - hri_rtcmode2_clock_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_MINUTE(mask)) >> RTC_MODE2_CLOCK_MINUTE_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CLOCK_MINUTE_bf(const void *const hw, hri_rtcmode2_clock_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp &= ~RTC_MODE2_CLOCK_MINUTE_Msk; - tmp |= RTC_MODE2_CLOCK_MINUTE(data); - ((Rtc *)hw)->MODE2.CLOCK.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CLOCK_MINUTE_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_MINUTE(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CLOCK_MINUTE_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_MINUTE(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_MINUTE_bf(const void *const hw) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_MINUTE_Msk) >> RTC_MODE2_CLOCK_MINUTE_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CLOCK_HOUR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_HOUR(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_HOUR_bf(const void *const hw, - hri_rtcmode2_clock_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_HOUR(mask)) >> RTC_MODE2_CLOCK_HOUR_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CLOCK_HOUR_bf(const void *const hw, hri_rtcmode2_clock_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp &= ~RTC_MODE2_CLOCK_HOUR_Msk; - tmp |= RTC_MODE2_CLOCK_HOUR(data); - ((Rtc *)hw)->MODE2.CLOCK.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CLOCK_HOUR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_HOUR(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CLOCK_HOUR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_HOUR(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_HOUR_bf(const void *const hw) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_HOUR_Msk) >> RTC_MODE2_CLOCK_HOUR_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CLOCK_DAY_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_DAY(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_DAY_bf(const void *const hw, - hri_rtcmode2_clock_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_DAY(mask)) >> RTC_MODE2_CLOCK_DAY_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CLOCK_DAY_bf(const void *const hw, hri_rtcmode2_clock_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp &= ~RTC_MODE2_CLOCK_DAY_Msk; - tmp |= RTC_MODE2_CLOCK_DAY(data); - ((Rtc *)hw)->MODE2.CLOCK.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CLOCK_DAY_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_DAY(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CLOCK_DAY_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_DAY(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_DAY_bf(const void *const hw) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_DAY_Msk) >> RTC_MODE2_CLOCK_DAY_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CLOCK_MONTH_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_MONTH(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_MONTH_bf(const void *const hw, - hri_rtcmode2_clock_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_MONTH(mask)) >> RTC_MODE2_CLOCK_MONTH_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CLOCK_MONTH_bf(const void *const hw, hri_rtcmode2_clock_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp &= ~RTC_MODE2_CLOCK_MONTH_Msk; - tmp |= RTC_MODE2_CLOCK_MONTH(data); - ((Rtc *)hw)->MODE2.CLOCK.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CLOCK_MONTH_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_MONTH(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CLOCK_MONTH_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_MONTH(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_MONTH_bf(const void *const hw) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_MONTH_Msk) >> RTC_MODE2_CLOCK_MONTH_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CLOCK_YEAR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_YEAR(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_YEAR_bf(const void *const hw, - hri_rtcmode2_clock_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_YEAR(mask)) >> RTC_MODE2_CLOCK_YEAR_Pos; - return tmp; -} - -static inline void hri_rtcmode2_write_CLOCK_YEAR_bf(const void *const hw, hri_rtcmode2_clock_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp &= ~RTC_MODE2_CLOCK_YEAR_Msk; - tmp |= RTC_MODE2_CLOCK_YEAR(data); - ((Rtc *)hw)->MODE2.CLOCK.reg = tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CLOCK_YEAR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_YEAR(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CLOCK_YEAR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_YEAR(mask); - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_YEAR_bf(const void *const hw) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp = (tmp & RTC_MODE2_CLOCK_YEAR_Msk) >> RTC_MODE2_CLOCK_YEAR_Pos; - return tmp; -} - -static inline void hri_rtcmode2_set_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg |= mask; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - tmp = ((Rtc *)hw)->MODE2.CLOCK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode2_write_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg = data; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_clear_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg &= ~mask; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode2_toggle_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE2.CLOCK.reg ^= mask; - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_reg(const void *const hw) -{ - hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_); - return ((Rtc *)hw)->MODE2.CLOCK.reg; -} - -static inline void hri_rtcmode1_set_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.PER.reg |= RTC_MODE1_PER_PER(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_per_reg_t hri_rtcmode1_get_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t mask) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - tmp = ((Rtc *)hw)->MODE1.PER.reg; - tmp = (tmp & RTC_MODE1_PER_PER(mask)) >> RTC_MODE1_PER_PER_Pos; - return tmp; -} - -static inline void hri_rtcmode1_write_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.PER.reg; - tmp &= ~RTC_MODE1_PER_PER_Msk; - tmp |= RTC_MODE1_PER_PER(data); - ((Rtc *)hw)->MODE1.PER.reg = tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.PER.reg &= ~RTC_MODE1_PER_PER(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.PER.reg ^= RTC_MODE1_PER_PER(mask); - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_per_reg_t hri_rtcmode1_read_PER_PER_bf(const void *const hw) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - tmp = ((Rtc *)hw)->MODE1.PER.reg; - tmp = (tmp & RTC_MODE1_PER_PER_Msk) >> RTC_MODE1_PER_PER_Pos; - return tmp; -} - -static inline void hri_rtcmode1_set_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.PER.reg |= mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_per_reg_t hri_rtcmode1_get_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t mask) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - tmp = ((Rtc *)hw)->MODE1.PER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode1_write_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.PER.reg = data; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.PER.reg &= ~mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.PER.reg ^= mask; - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_per_reg_t hri_rtcmode1_read_PER_reg(const void *const hw) -{ - hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER); - return ((Rtc *)hw)->MODE1.PER.reg; -} - -static inline void hri_rtcmode0_set_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COMP[index].reg |= RTC_MODE0_COMP_COMP(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_comp_reg_t hri_rtcmode0_get_COMP_COMP_bf(const void *const hw, uint8_t index, - hri_rtcmode0_comp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.COMP[index].reg; - tmp = (tmp & RTC_MODE0_COMP_COMP(mask)) >> RTC_MODE0_COMP_COMP_Pos; - return tmp; -} - -static inline void hri_rtcmode0_write_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.COMP[index].reg; - tmp &= ~RTC_MODE0_COMP_COMP_Msk; - tmp |= RTC_MODE0_COMP_COMP(data); - ((Rtc *)hw)->MODE0.COMP[index].reg = tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COMP[index].reg &= ~RTC_MODE0_COMP_COMP(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COMP[index].reg ^= RTC_MODE0_COMP_COMP(mask); - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_comp_reg_t hri_rtcmode0_read_COMP_COMP_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.COMP[index].reg; - tmp = (tmp & RTC_MODE0_COMP_COMP_Msk) >> RTC_MODE0_COMP_COMP_Pos; - return tmp; -} - -static inline void hri_rtcmode0_set_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COMP[index].reg |= mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_comp_reg_t hri_rtcmode0_get_COMP_reg(const void *const hw, uint8_t index, - hri_rtcmode0_comp_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - tmp = ((Rtc *)hw)->MODE0.COMP[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode0_write_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COMP[index].reg = data; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_clear_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COMP[index].reg &= ~mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode0_toggle_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.COMP[index].reg ^= mask; - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode0_comp_reg_t hri_rtcmode0_read_COMP_reg(const void *const hw, uint8_t index) -{ - hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1); - return ((Rtc *)hw)->MODE0.COMP[index].reg; -} - -static inline void hri_rtcmode1_set_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COMP[index].reg |= RTC_MODE1_COMP_COMP(mask); - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_comp_reg_t hri_rtcmode1_get_COMP_COMP_bf(const void *const hw, uint8_t index, - hri_rtcmode1_comp_reg_t mask) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.COMP[index].reg; - tmp = (tmp & RTC_MODE1_COMP_COMP(mask)) >> RTC_MODE1_COMP_COMP_Pos; - return tmp; -} - -static inline void hri_rtcmode1_write_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t data) -{ - uint16_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE1.COMP[index].reg; - tmp &= ~RTC_MODE1_COMP_COMP_Msk; - tmp |= RTC_MODE1_COMP_COMP(data); - ((Rtc *)hw)->MODE1.COMP[index].reg = tmp; - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COMP[index].reg &= ~RTC_MODE1_COMP_COMP(mask); - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COMP[index].reg ^= RTC_MODE1_COMP_COMP(mask); - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_comp_reg_t hri_rtcmode1_read_COMP_COMP_bf(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Rtc *)hw)->MODE1.COMP[index].reg; - tmp = (tmp & RTC_MODE1_COMP_COMP_Msk) >> RTC_MODE1_COMP_COMP_Pos; - return tmp; -} - -static inline void hri_rtcmode1_set_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COMP[index].reg |= mask; - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_comp_reg_t hri_rtcmode1_get_COMP_reg(const void *const hw, uint8_t index, - hri_rtcmode1_comp_reg_t mask) -{ - uint16_t tmp; - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - tmp = ((Rtc *)hw)->MODE1.COMP[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtcmode1_write_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COMP[index].reg = data; - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_clear_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COMP[index].reg &= ~mask; - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtcmode1_toggle_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE1.COMP[index].reg ^= mask; - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtcmode1_comp_reg_t hri_rtcmode1_read_COMP_reg(const void *const hw, uint8_t index) -{ - hri_rtcmode1_wait_for_sync( - hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3); - return ((Rtc *)hw)->MODE1.COMP[index].reg; -} - -static inline void hri_rtc_set_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.GP[index].reg |= RTC_GP_GP(mask); - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_gp_reg_t hri_rtc_get_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.GP[index].reg; - tmp = (tmp & RTC_GP_GP(mask)) >> RTC_GP_GP_Pos; - return tmp; -} - -static inline void hri_rtc_write_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.GP[index].reg; - tmp &= ~RTC_GP_GP_Msk; - tmp |= RTC_GP_GP(data); - ((Rtc *)hw)->MODE0.GP[index].reg = tmp; - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.GP[index].reg &= ~RTC_GP_GP(mask); - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.GP[index].reg ^= RTC_GP_GP(mask); - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_gp_reg_t hri_rtc_read_GP_GP_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.GP[index].reg; - tmp = (tmp & RTC_GP_GP_Msk) >> RTC_GP_GP_Pos; - return tmp; -} - -static inline void hri_rtc_set_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.GP[index].reg |= mask; - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_gp_reg_t hri_rtc_get_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask) -{ - uint32_t tmp; - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - tmp = ((Rtc *)hw)->MODE0.GP[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtc_write_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.GP[index].reg = data; - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.GP[index].reg &= ~mask; - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.GP[index].reg ^= mask; - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_gp_reg_t hri_rtc_read_GP_reg(const void *const hw, uint8_t index) -{ - hri_rtcmode0_wait_for_sync( - hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3); - return ((Rtc *)hw)->MODE0.GP[index].reg; -} - -static inline void hri_rtc_set_TAMPCTRL_TAMLVL0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_TAMLVL0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_TAMLVL0) >> RTC_TAMPCTRL_TAMLVL0_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_TAMLVL0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_TAMLVL0; - tmp |= value << RTC_TAMPCTRL_TAMLVL0_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_TAMLVL0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_TAMLVL1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_TAMLVL1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_TAMLVL1) >> RTC_TAMPCTRL_TAMLVL1_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_TAMLVL1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_TAMLVL1; - tmp |= value << RTC_TAMPCTRL_TAMLVL1_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_TAMLVL1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_TAMLVL2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_TAMLVL2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_TAMLVL2) >> RTC_TAMPCTRL_TAMLVL2_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_TAMLVL2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_TAMLVL2; - tmp |= value << RTC_TAMPCTRL_TAMLVL2_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_TAMLVL2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_TAMLVL3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_TAMLVL3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_TAMLVL3) >> RTC_TAMPCTRL_TAMLVL3_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_TAMLVL3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_TAMLVL3; - tmp |= value << RTC_TAMPCTRL_TAMLVL3_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_TAMLVL3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_TAMLVL4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_TAMLVL4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_TAMLVL4) >> RTC_TAMPCTRL_TAMLVL4_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_TAMLVL4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_TAMLVL4; - tmp |= value << RTC_TAMPCTRL_TAMLVL4_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_TAMLVL4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_DEBNC0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_DEBNC0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_DEBNC0) >> RTC_TAMPCTRL_DEBNC0_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_DEBNC0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_DEBNC0; - tmp |= value << RTC_TAMPCTRL_DEBNC0_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_DEBNC0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_DEBNC0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_DEBNC1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_DEBNC1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_DEBNC1) >> RTC_TAMPCTRL_DEBNC1_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_DEBNC1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_DEBNC1; - tmp |= value << RTC_TAMPCTRL_DEBNC1_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_DEBNC1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_DEBNC1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_DEBNC2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_DEBNC2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_DEBNC2) >> RTC_TAMPCTRL_DEBNC2_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_DEBNC2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_DEBNC2; - tmp |= value << RTC_TAMPCTRL_DEBNC2_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_DEBNC2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_DEBNC2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_DEBNC3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_DEBNC3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_DEBNC3) >> RTC_TAMPCTRL_DEBNC3_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_DEBNC3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_DEBNC3; - tmp |= value << RTC_TAMPCTRL_DEBNC3_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_DEBNC3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_DEBNC3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_DEBNC4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPCTRL_DEBNC4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_DEBNC4) >> RTC_TAMPCTRL_DEBNC4_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_DEBNC4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_DEBNC4; - tmp |= value << RTC_TAMPCTRL_DEBNC4_Pos; - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_DEBNC4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_DEBNC4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN0ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN0ACT(mask)) >> RTC_TAMPCTRL_IN0ACT_Pos; - return tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_IN0ACT_Msk; - tmp |= RTC_TAMPCTRL_IN0ACT(data); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN0ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN0ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN0ACT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN0ACT_Msk) >> RTC_TAMPCTRL_IN0ACT_Pos; - return tmp; -} - -static inline void hri_rtc_set_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN1ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN1ACT(mask)) >> RTC_TAMPCTRL_IN1ACT_Pos; - return tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_IN1ACT_Msk; - tmp |= RTC_TAMPCTRL_IN1ACT(data); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN1ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN1ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN1ACT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN1ACT_Msk) >> RTC_TAMPCTRL_IN1ACT_Pos; - return tmp; -} - -static inline void hri_rtc_set_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN2ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN2ACT(mask)) >> RTC_TAMPCTRL_IN2ACT_Pos; - return tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_IN2ACT_Msk; - tmp |= RTC_TAMPCTRL_IN2ACT(data); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN2ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN2ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN2ACT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN2ACT_Msk) >> RTC_TAMPCTRL_IN2ACT_Pos; - return tmp; -} - -static inline void hri_rtc_set_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN3ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN3ACT(mask)) >> RTC_TAMPCTRL_IN3ACT_Pos; - return tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_IN3ACT_Msk; - tmp |= RTC_TAMPCTRL_IN3ACT(data); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN3ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN3ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN3ACT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN3ACT_Msk) >> RTC_TAMPCTRL_IN3ACT_Pos; - return tmp; -} - -static inline void hri_rtc_set_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN4ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN4ACT(mask)) >> RTC_TAMPCTRL_IN4ACT_Pos; - return tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= ~RTC_TAMPCTRL_IN4ACT_Msk; - tmp |= RTC_TAMPCTRL_IN4ACT(data); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN4ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN4ACT(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN4ACT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp = (tmp & RTC_TAMPCTRL_IN4ACT_Msk) >> RTC_TAMPCTRL_IN4ACT_Pos; - return tmp; -} - -static inline void hri_rtc_set_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtc_write_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE0.TAMPCTRL.reg; -} - -static inline void hri_rtc_set_TAMPID_TAMPID0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPID_TAMPID0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp = (tmp & RTC_TAMPID_TAMPID0) >> RTC_TAMPID_TAMPID0_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPID_TAMPID0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp &= ~RTC_TAMPID_TAMPID0; - tmp |= value << RTC_TAMPID_TAMPID0_Pos; - ((Rtc *)hw)->MODE0.TAMPID.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPID_TAMPID0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPID_TAMPID0_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID0; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPID_TAMPID1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPID_TAMPID1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp = (tmp & RTC_TAMPID_TAMPID1) >> RTC_TAMPID_TAMPID1_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPID_TAMPID1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp &= ~RTC_TAMPID_TAMPID1; - tmp |= value << RTC_TAMPID_TAMPID1_Pos; - ((Rtc *)hw)->MODE0.TAMPID.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPID_TAMPID1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPID_TAMPID1_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID1; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPID_TAMPID2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPID_TAMPID2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp = (tmp & RTC_TAMPID_TAMPID2) >> RTC_TAMPID_TAMPID2_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPID_TAMPID2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp &= ~RTC_TAMPID_TAMPID2; - tmp |= value << RTC_TAMPID_TAMPID2_Pos; - ((Rtc *)hw)->MODE0.TAMPID.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPID_TAMPID2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPID_TAMPID2_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID2; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPID_TAMPID3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPID_TAMPID3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp = (tmp & RTC_TAMPID_TAMPID3) >> RTC_TAMPID_TAMPID3_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPID_TAMPID3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp &= ~RTC_TAMPID_TAMPID3; - tmp |= value << RTC_TAMPID_TAMPID3_Pos; - ((Rtc *)hw)->MODE0.TAMPID.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPID_TAMPID3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPID_TAMPID3_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID3; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPID_TAMPID4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPID_TAMPID4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp = (tmp & RTC_TAMPID_TAMPID4) >> RTC_TAMPID_TAMPID4_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPID_TAMPID4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp &= ~RTC_TAMPID_TAMPID4; - tmp |= value << RTC_TAMPID_TAMPID4_Pos; - ((Rtc *)hw)->MODE0.TAMPID.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPID_TAMPID4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPID_TAMPID4_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID4; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPID_TAMPEVT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPEVT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_rtc_get_TAMPID_TAMPEVT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp = (tmp & RTC_TAMPID_TAMPEVT) >> RTC_TAMPID_TAMPEVT_Pos; - return (bool)tmp; -} - -static inline void hri_rtc_write_TAMPID_TAMPEVT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp &= ~RTC_TAMPID_TAMPEVT; - tmp |= value << RTC_TAMPID_TAMPEVT_Pos; - ((Rtc *)hw)->MODE0.TAMPID.reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPID_TAMPEVT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPEVT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPID_TAMPEVT_bit(const void *const hw) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPEVT; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_set_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampid_reg_t hri_rtc_get_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.TAMPID.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtc_write_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.TAMPID.reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_tampid_reg_t hri_rtc_read_TAMPID_reg(const void *const hw) -{ - return ((Rtc *)hw)->MODE0.TAMPID.reg; -} - -static inline void hri_rtc_set_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.BKUP[index].reg |= RTC_BKUP_BKUP(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_bkup_reg_t hri_rtc_get_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.BKUP[index].reg; - tmp = (tmp & RTC_BKUP_BKUP(mask)) >> RTC_BKUP_BKUP_Pos; - return tmp; -} - -static inline void hri_rtc_write_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t data) -{ - uint32_t tmp; - RTC_CRITICAL_SECTION_ENTER(); - tmp = ((Rtc *)hw)->MODE0.BKUP[index].reg; - tmp &= ~RTC_BKUP_BKUP_Msk; - tmp |= RTC_BKUP_BKUP(data); - ((Rtc *)hw)->MODE0.BKUP[index].reg = tmp; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.BKUP[index].reg &= ~RTC_BKUP_BKUP(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.BKUP[index].reg ^= RTC_BKUP_BKUP(mask); - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_bkup_reg_t hri_rtc_read_BKUP_BKUP_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.BKUP[index].reg; - tmp = (tmp & RTC_BKUP_BKUP_Msk) >> RTC_BKUP_BKUP_Pos; - return tmp; -} - -static inline void hri_rtc_set_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.BKUP[index].reg |= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_bkup_reg_t hri_rtc_get_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask) -{ - uint32_t tmp; - tmp = ((Rtc *)hw)->MODE0.BKUP[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_rtc_write_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t data) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.BKUP[index].reg = data; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_clear_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.BKUP[index].reg &= ~mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_rtc_toggle_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask) -{ - RTC_CRITICAL_SECTION_ENTER(); - ((Rtc *)hw)->MODE0.BKUP[index].reg ^= mask; - RTC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_rtc_bkup_reg_t hri_rtc_read_BKUP_reg(const void *const hw, uint8_t index) -{ - return ((Rtc *)hw)->MODE0.BKUP[index].reg; -} - -/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */ -#define hri_rtcmode2_set_DBGCTRL_DBGRUN_bit(a) hri_rtc_set_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode2_get_DBGCTRL_DBGRUN_bit(a) hri_rtc_get_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode2_write_DBGCTRL_DBGRUN_bit(a, b) hri_rtc_write_DBGCTRL_DBGRUN_bit(a, b) -#define hri_rtcmode2_clear_DBGCTRL_DBGRUN_bit(a) hri_rtc_clear_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode2_toggle_DBGCTRL_DBGRUN_bit(a) hri_rtc_toggle_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode2_set_DBGCTRL_reg(a, b) hri_rtc_set_DBGCTRL_reg(a, b) -#define hri_rtcmode2_get_DBGCTRL_reg(a, b) hri_rtc_get_DBGCTRL_reg(a, b) -#define hri_rtcmode2_write_DBGCTRL_reg(a, b) hri_rtc_write_DBGCTRL_reg(a, b) -#define hri_rtcmode2_clear_DBGCTRL_reg(a, b) hri_rtc_clear_DBGCTRL_reg(a, b) -#define hri_rtcmode2_toggle_DBGCTRL_reg(a, b) hri_rtc_toggle_DBGCTRL_reg(a, b) -#define hri_rtcmode2_read_DBGCTRL_reg(a) hri_rtc_read_DBGCTRL_reg(a) -#define hri_rtcmode2_set_FREQCORR_SIGN_bit(a) hri_rtc_set_FREQCORR_SIGN_bit(a) -#define hri_rtcmode2_get_FREQCORR_SIGN_bit(a) hri_rtc_get_FREQCORR_SIGN_bit(a) -#define hri_rtcmode2_write_FREQCORR_SIGN_bit(a, b) hri_rtc_write_FREQCORR_SIGN_bit(a, b) -#define hri_rtcmode2_clear_FREQCORR_SIGN_bit(a) hri_rtc_clear_FREQCORR_SIGN_bit(a) -#define hri_rtcmode2_toggle_FREQCORR_SIGN_bit(a) hri_rtc_toggle_FREQCORR_SIGN_bit(a) -#define hri_rtcmode2_set_FREQCORR_VALUE_bf(a, b) hri_rtc_set_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode2_get_FREQCORR_VALUE_bf(a, b) hri_rtc_get_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode2_write_FREQCORR_VALUE_bf(a, b) hri_rtc_write_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode2_clear_FREQCORR_VALUE_bf(a, b) hri_rtc_clear_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode2_toggle_FREQCORR_VALUE_bf(a, b) hri_rtc_toggle_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode2_read_FREQCORR_VALUE_bf(a) hri_rtc_read_FREQCORR_VALUE_bf(a) -#define hri_rtcmode2_set_FREQCORR_reg(a, b) hri_rtc_set_FREQCORR_reg(a, b) -#define hri_rtcmode2_get_FREQCORR_reg(a, b) hri_rtc_get_FREQCORR_reg(a, b) -#define hri_rtcmode2_write_FREQCORR_reg(a, b) hri_rtc_write_FREQCORR_reg(a, b) -#define hri_rtcmode2_clear_FREQCORR_reg(a, b) hri_rtc_clear_FREQCORR_reg(a, b) -#define hri_rtcmode2_toggle_FREQCORR_reg(a, b) hri_rtc_toggle_FREQCORR_reg(a, b) -#define hri_rtcmode2_read_FREQCORR_reg(a) hri_rtc_read_FREQCORR_reg(a) -#define hri_rtcmode2_set_GP_GP_bf(a, b, c) hri_rtc_set_GP_GP_bf(a, b, c) -#define hri_rtcmode2_get_GP_GP_bf(a, b, c) hri_rtc_get_GP_GP_bf(a, b, c) -#define hri_rtcmode2_write_GP_GP_bf(a, b, c) hri_rtc_write_GP_GP_bf(a, b, c) -#define hri_rtcmode2_clear_GP_GP_bf(a, b, c) hri_rtc_clear_GP_GP_bf(a, b, c) -#define hri_rtcmode2_toggle_GP_GP_bf(a, b, c) hri_rtc_toggle_GP_GP_bf(a, b, c) -#define hri_rtcmode2_read_GP_GP_bf(a, b) hri_rtc_read_GP_GP_bf(a, b) -#define hri_rtcmode2_set_GP_reg(a, b, c) hri_rtc_set_GP_reg(a, b, c) -#define hri_rtcmode2_get_GP_reg(a, b, c) hri_rtc_get_GP_reg(a, b, c) -#define hri_rtcmode2_write_GP_reg(a, b, c) hri_rtc_write_GP_reg(a, b, c) -#define hri_rtcmode2_clear_GP_reg(a, b, c) hri_rtc_clear_GP_reg(a, b, c) -#define hri_rtcmode2_toggle_GP_reg(a, b, c) hri_rtc_toggle_GP_reg(a, b, c) -#define hri_rtcmode2_read_GP_reg(a, b) hri_rtc_read_GP_reg(a, b) -#define hri_rtcmode2_set_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_TAMLVL0_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL0_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_TAMLVL1_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL1_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_TAMLVL2_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL2_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_TAMLVL3_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL3_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_TAMLVL4_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL4_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_DEBNC0_bit(a) hri_rtc_set_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_DEBNC0_bit(a) hri_rtc_get_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_DEBNC0_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC0_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_DEBNC0_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC0_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_DEBNC1_bit(a) hri_rtc_set_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_DEBNC1_bit(a) hri_rtc_get_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_DEBNC1_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC1_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_DEBNC1_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC1_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_DEBNC2_bit(a) hri_rtc_set_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_DEBNC2_bit(a) hri_rtc_get_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_DEBNC2_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC2_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_DEBNC2_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC2_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_DEBNC3_bit(a) hri_rtc_set_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_DEBNC3_bit(a) hri_rtc_get_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_DEBNC3_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC3_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_DEBNC3_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC3_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_DEBNC4_bit(a) hri_rtc_set_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode2_get_TAMPCTRL_DEBNC4_bit(a) hri_rtc_get_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode2_write_TAMPCTRL_DEBNC4_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC4_bit(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_DEBNC4_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC4_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode2_set_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode2_get_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode2_write_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode2_toggle_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode2_read_TAMPCTRL_IN0ACT_bf(a) hri_rtc_read_TAMPCTRL_IN0ACT_bf(a) -#define hri_rtcmode2_set_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode2_get_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode2_write_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode2_toggle_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode2_read_TAMPCTRL_IN1ACT_bf(a) hri_rtc_read_TAMPCTRL_IN1ACT_bf(a) -#define hri_rtcmode2_set_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode2_get_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode2_write_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode2_toggle_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode2_read_TAMPCTRL_IN2ACT_bf(a) hri_rtc_read_TAMPCTRL_IN2ACT_bf(a) -#define hri_rtcmode2_set_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode2_get_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode2_write_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode2_toggle_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode2_read_TAMPCTRL_IN3ACT_bf(a) hri_rtc_read_TAMPCTRL_IN3ACT_bf(a) -#define hri_rtcmode2_set_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode2_get_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode2_write_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode2_toggle_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode2_read_TAMPCTRL_IN4ACT_bf(a) hri_rtc_read_TAMPCTRL_IN4ACT_bf(a) -#define hri_rtcmode2_set_TAMPCTRL_reg(a, b) hri_rtc_set_TAMPCTRL_reg(a, b) -#define hri_rtcmode2_get_TAMPCTRL_reg(a, b) hri_rtc_get_TAMPCTRL_reg(a, b) -#define hri_rtcmode2_write_TAMPCTRL_reg(a, b) hri_rtc_write_TAMPCTRL_reg(a, b) -#define hri_rtcmode2_clear_TAMPCTRL_reg(a, b) hri_rtc_clear_TAMPCTRL_reg(a, b) -#define hri_rtcmode2_toggle_TAMPCTRL_reg(a, b) hri_rtc_toggle_TAMPCTRL_reg(a, b) -#define hri_rtcmode2_read_TAMPCTRL_reg(a) hri_rtc_read_TAMPCTRL_reg(a) -#define hri_rtcmode2_set_TAMPID_TAMPID0_bit(a) hri_rtc_set_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode2_get_TAMPID_TAMPID0_bit(a) hri_rtc_get_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode2_write_TAMPID_TAMPID0_bit(a, b) hri_rtc_write_TAMPID_TAMPID0_bit(a, b) -#define hri_rtcmode2_clear_TAMPID_TAMPID0_bit(a) hri_rtc_clear_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode2_toggle_TAMPID_TAMPID0_bit(a) hri_rtc_toggle_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode2_set_TAMPID_TAMPID1_bit(a) hri_rtc_set_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode2_get_TAMPID_TAMPID1_bit(a) hri_rtc_get_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode2_write_TAMPID_TAMPID1_bit(a, b) hri_rtc_write_TAMPID_TAMPID1_bit(a, b) -#define hri_rtcmode2_clear_TAMPID_TAMPID1_bit(a) hri_rtc_clear_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode2_toggle_TAMPID_TAMPID1_bit(a) hri_rtc_toggle_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode2_set_TAMPID_TAMPID2_bit(a) hri_rtc_set_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode2_get_TAMPID_TAMPID2_bit(a) hri_rtc_get_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode2_write_TAMPID_TAMPID2_bit(a, b) hri_rtc_write_TAMPID_TAMPID2_bit(a, b) -#define hri_rtcmode2_clear_TAMPID_TAMPID2_bit(a) hri_rtc_clear_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode2_toggle_TAMPID_TAMPID2_bit(a) hri_rtc_toggle_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode2_set_TAMPID_TAMPID3_bit(a) hri_rtc_set_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode2_get_TAMPID_TAMPID3_bit(a) hri_rtc_get_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode2_write_TAMPID_TAMPID3_bit(a, b) hri_rtc_write_TAMPID_TAMPID3_bit(a, b) -#define hri_rtcmode2_clear_TAMPID_TAMPID3_bit(a) hri_rtc_clear_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode2_toggle_TAMPID_TAMPID3_bit(a) hri_rtc_toggle_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode2_set_TAMPID_TAMPID4_bit(a) hri_rtc_set_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode2_get_TAMPID_TAMPID4_bit(a) hri_rtc_get_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode2_write_TAMPID_TAMPID4_bit(a, b) hri_rtc_write_TAMPID_TAMPID4_bit(a, b) -#define hri_rtcmode2_clear_TAMPID_TAMPID4_bit(a) hri_rtc_clear_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode2_toggle_TAMPID_TAMPID4_bit(a) hri_rtc_toggle_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode2_set_TAMPID_TAMPEVT_bit(a) hri_rtc_set_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode2_get_TAMPID_TAMPEVT_bit(a) hri_rtc_get_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode2_write_TAMPID_TAMPEVT_bit(a, b) hri_rtc_write_TAMPID_TAMPEVT_bit(a, b) -#define hri_rtcmode2_clear_TAMPID_TAMPEVT_bit(a) hri_rtc_clear_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode2_toggle_TAMPID_TAMPEVT_bit(a) hri_rtc_toggle_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode2_set_TAMPID_reg(a, b) hri_rtc_set_TAMPID_reg(a, b) -#define hri_rtcmode2_get_TAMPID_reg(a, b) hri_rtc_get_TAMPID_reg(a, b) -#define hri_rtcmode2_write_TAMPID_reg(a, b) hri_rtc_write_TAMPID_reg(a, b) -#define hri_rtcmode2_clear_TAMPID_reg(a, b) hri_rtc_clear_TAMPID_reg(a, b) -#define hri_rtcmode2_toggle_TAMPID_reg(a, b) hri_rtc_toggle_TAMPID_reg(a, b) -#define hri_rtcmode2_read_TAMPID_reg(a) hri_rtc_read_TAMPID_reg(a) -#define hri_rtcmode2_set_BKUP_BKUP_bf(a, b, c) hri_rtc_set_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode2_get_BKUP_BKUP_bf(a, b, c) hri_rtc_get_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode2_write_BKUP_BKUP_bf(a, b, c) hri_rtc_write_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode2_clear_BKUP_BKUP_bf(a, b, c) hri_rtc_clear_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode2_toggle_BKUP_BKUP_bf(a, b, c) hri_rtc_toggle_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode2_read_BKUP_BKUP_bf(a, b) hri_rtc_read_BKUP_BKUP_bf(a, b) -#define hri_rtcmode2_set_BKUP_reg(a, b, c) hri_rtc_set_BKUP_reg(a, b, c) -#define hri_rtcmode2_get_BKUP_reg(a, b, c) hri_rtc_get_BKUP_reg(a, b, c) -#define hri_rtcmode2_write_BKUP_reg(a, b, c) hri_rtc_write_BKUP_reg(a, b, c) -#define hri_rtcmode2_clear_BKUP_reg(a, b, c) hri_rtc_clear_BKUP_reg(a, b, c) -#define hri_rtcmode2_toggle_BKUP_reg(a, b, c) hri_rtc_toggle_BKUP_reg(a, b, c) -#define hri_rtcmode2_read_BKUP_reg(a, b) hri_rtc_read_BKUP_reg(a, b) -#define hri_rtcmode0_set_DBGCTRL_DBGRUN_bit(a) hri_rtc_set_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode0_get_DBGCTRL_DBGRUN_bit(a) hri_rtc_get_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode0_write_DBGCTRL_DBGRUN_bit(a, b) hri_rtc_write_DBGCTRL_DBGRUN_bit(a, b) -#define hri_rtcmode0_clear_DBGCTRL_DBGRUN_bit(a) hri_rtc_clear_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode0_toggle_DBGCTRL_DBGRUN_bit(a) hri_rtc_toggle_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode0_set_DBGCTRL_reg(a, b) hri_rtc_set_DBGCTRL_reg(a, b) -#define hri_rtcmode0_get_DBGCTRL_reg(a, b) hri_rtc_get_DBGCTRL_reg(a, b) -#define hri_rtcmode0_write_DBGCTRL_reg(a, b) hri_rtc_write_DBGCTRL_reg(a, b) -#define hri_rtcmode0_clear_DBGCTRL_reg(a, b) hri_rtc_clear_DBGCTRL_reg(a, b) -#define hri_rtcmode0_toggle_DBGCTRL_reg(a, b) hri_rtc_toggle_DBGCTRL_reg(a, b) -#define hri_rtcmode0_read_DBGCTRL_reg(a) hri_rtc_read_DBGCTRL_reg(a) -#define hri_rtcmode0_set_FREQCORR_SIGN_bit(a) hri_rtc_set_FREQCORR_SIGN_bit(a) -#define hri_rtcmode0_get_FREQCORR_SIGN_bit(a) hri_rtc_get_FREQCORR_SIGN_bit(a) -#define hri_rtcmode0_write_FREQCORR_SIGN_bit(a, b) hri_rtc_write_FREQCORR_SIGN_bit(a, b) -#define hri_rtcmode0_clear_FREQCORR_SIGN_bit(a) hri_rtc_clear_FREQCORR_SIGN_bit(a) -#define hri_rtcmode0_toggle_FREQCORR_SIGN_bit(a) hri_rtc_toggle_FREQCORR_SIGN_bit(a) -#define hri_rtcmode0_set_FREQCORR_VALUE_bf(a, b) hri_rtc_set_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode0_get_FREQCORR_VALUE_bf(a, b) hri_rtc_get_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode0_write_FREQCORR_VALUE_bf(a, b) hri_rtc_write_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode0_clear_FREQCORR_VALUE_bf(a, b) hri_rtc_clear_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode0_toggle_FREQCORR_VALUE_bf(a, b) hri_rtc_toggle_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode0_read_FREQCORR_VALUE_bf(a) hri_rtc_read_FREQCORR_VALUE_bf(a) -#define hri_rtcmode0_set_FREQCORR_reg(a, b) hri_rtc_set_FREQCORR_reg(a, b) -#define hri_rtcmode0_get_FREQCORR_reg(a, b) hri_rtc_get_FREQCORR_reg(a, b) -#define hri_rtcmode0_write_FREQCORR_reg(a, b) hri_rtc_write_FREQCORR_reg(a, b) -#define hri_rtcmode0_clear_FREQCORR_reg(a, b) hri_rtc_clear_FREQCORR_reg(a, b) -#define hri_rtcmode0_toggle_FREQCORR_reg(a, b) hri_rtc_toggle_FREQCORR_reg(a, b) -#define hri_rtcmode0_read_FREQCORR_reg(a) hri_rtc_read_FREQCORR_reg(a) -#define hri_rtcmode0_set_GP_GP_bf(a, b, c) hri_rtc_set_GP_GP_bf(a, b, c) -#define hri_rtcmode0_get_GP_GP_bf(a, b, c) hri_rtc_get_GP_GP_bf(a, b, c) -#define hri_rtcmode0_write_GP_GP_bf(a, b, c) hri_rtc_write_GP_GP_bf(a, b, c) -#define hri_rtcmode0_clear_GP_GP_bf(a, b, c) hri_rtc_clear_GP_GP_bf(a, b, c) -#define hri_rtcmode0_toggle_GP_GP_bf(a, b, c) hri_rtc_toggle_GP_GP_bf(a, b, c) -#define hri_rtcmode0_read_GP_GP_bf(a, b) hri_rtc_read_GP_GP_bf(a, b) -#define hri_rtcmode0_set_GP_reg(a, b, c) hri_rtc_set_GP_reg(a, b, c) -#define hri_rtcmode0_get_GP_reg(a, b, c) hri_rtc_get_GP_reg(a, b, c) -#define hri_rtcmode0_write_GP_reg(a, b, c) hri_rtc_write_GP_reg(a, b, c) -#define hri_rtcmode0_clear_GP_reg(a, b, c) hri_rtc_clear_GP_reg(a, b, c) -#define hri_rtcmode0_toggle_GP_reg(a, b, c) hri_rtc_toggle_GP_reg(a, b, c) -#define hri_rtcmode0_read_GP_reg(a, b) hri_rtc_read_GP_reg(a, b) -#define hri_rtcmode0_set_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_TAMLVL0_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL0_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_TAMLVL1_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL1_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_TAMLVL2_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL2_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_TAMLVL3_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL3_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_TAMLVL4_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL4_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_DEBNC0_bit(a) hri_rtc_set_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_DEBNC0_bit(a) hri_rtc_get_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_DEBNC0_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC0_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_DEBNC0_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC0_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_DEBNC1_bit(a) hri_rtc_set_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_DEBNC1_bit(a) hri_rtc_get_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_DEBNC1_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC1_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_DEBNC1_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC1_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_DEBNC2_bit(a) hri_rtc_set_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_DEBNC2_bit(a) hri_rtc_get_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_DEBNC2_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC2_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_DEBNC2_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC2_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_DEBNC3_bit(a) hri_rtc_set_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_DEBNC3_bit(a) hri_rtc_get_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_DEBNC3_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC3_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_DEBNC3_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC3_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_DEBNC4_bit(a) hri_rtc_set_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode0_get_TAMPCTRL_DEBNC4_bit(a) hri_rtc_get_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode0_write_TAMPCTRL_DEBNC4_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC4_bit(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_DEBNC4_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC4_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode0_set_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode0_get_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode0_write_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode0_toggle_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode0_read_TAMPCTRL_IN0ACT_bf(a) hri_rtc_read_TAMPCTRL_IN0ACT_bf(a) -#define hri_rtcmode0_set_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode0_get_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode0_write_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode0_toggle_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode0_read_TAMPCTRL_IN1ACT_bf(a) hri_rtc_read_TAMPCTRL_IN1ACT_bf(a) -#define hri_rtcmode0_set_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode0_get_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode0_write_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode0_toggle_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode0_read_TAMPCTRL_IN2ACT_bf(a) hri_rtc_read_TAMPCTRL_IN2ACT_bf(a) -#define hri_rtcmode0_set_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode0_get_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode0_write_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode0_toggle_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode0_read_TAMPCTRL_IN3ACT_bf(a) hri_rtc_read_TAMPCTRL_IN3ACT_bf(a) -#define hri_rtcmode0_set_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode0_get_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode0_write_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode0_toggle_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode0_read_TAMPCTRL_IN4ACT_bf(a) hri_rtc_read_TAMPCTRL_IN4ACT_bf(a) -#define hri_rtcmode0_set_TAMPCTRL_reg(a, b) hri_rtc_set_TAMPCTRL_reg(a, b) -#define hri_rtcmode0_get_TAMPCTRL_reg(a, b) hri_rtc_get_TAMPCTRL_reg(a, b) -#define hri_rtcmode0_write_TAMPCTRL_reg(a, b) hri_rtc_write_TAMPCTRL_reg(a, b) -#define hri_rtcmode0_clear_TAMPCTRL_reg(a, b) hri_rtc_clear_TAMPCTRL_reg(a, b) -#define hri_rtcmode0_toggle_TAMPCTRL_reg(a, b) hri_rtc_toggle_TAMPCTRL_reg(a, b) -#define hri_rtcmode0_read_TAMPCTRL_reg(a) hri_rtc_read_TAMPCTRL_reg(a) -#define hri_rtcmode0_set_TAMPID_TAMPID0_bit(a) hri_rtc_set_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode0_get_TAMPID_TAMPID0_bit(a) hri_rtc_get_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode0_write_TAMPID_TAMPID0_bit(a, b) hri_rtc_write_TAMPID_TAMPID0_bit(a, b) -#define hri_rtcmode0_clear_TAMPID_TAMPID0_bit(a) hri_rtc_clear_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode0_toggle_TAMPID_TAMPID0_bit(a) hri_rtc_toggle_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode0_set_TAMPID_TAMPID1_bit(a) hri_rtc_set_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode0_get_TAMPID_TAMPID1_bit(a) hri_rtc_get_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode0_write_TAMPID_TAMPID1_bit(a, b) hri_rtc_write_TAMPID_TAMPID1_bit(a, b) -#define hri_rtcmode0_clear_TAMPID_TAMPID1_bit(a) hri_rtc_clear_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode0_toggle_TAMPID_TAMPID1_bit(a) hri_rtc_toggle_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode0_set_TAMPID_TAMPID2_bit(a) hri_rtc_set_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode0_get_TAMPID_TAMPID2_bit(a) hri_rtc_get_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode0_write_TAMPID_TAMPID2_bit(a, b) hri_rtc_write_TAMPID_TAMPID2_bit(a, b) -#define hri_rtcmode0_clear_TAMPID_TAMPID2_bit(a) hri_rtc_clear_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode0_toggle_TAMPID_TAMPID2_bit(a) hri_rtc_toggle_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode0_set_TAMPID_TAMPID3_bit(a) hri_rtc_set_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode0_get_TAMPID_TAMPID3_bit(a) hri_rtc_get_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode0_write_TAMPID_TAMPID3_bit(a, b) hri_rtc_write_TAMPID_TAMPID3_bit(a, b) -#define hri_rtcmode0_clear_TAMPID_TAMPID3_bit(a) hri_rtc_clear_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode0_toggle_TAMPID_TAMPID3_bit(a) hri_rtc_toggle_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode0_set_TAMPID_TAMPID4_bit(a) hri_rtc_set_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode0_get_TAMPID_TAMPID4_bit(a) hri_rtc_get_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode0_write_TAMPID_TAMPID4_bit(a, b) hri_rtc_write_TAMPID_TAMPID4_bit(a, b) -#define hri_rtcmode0_clear_TAMPID_TAMPID4_bit(a) hri_rtc_clear_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode0_toggle_TAMPID_TAMPID4_bit(a) hri_rtc_toggle_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode0_set_TAMPID_TAMPEVT_bit(a) hri_rtc_set_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode0_get_TAMPID_TAMPEVT_bit(a) hri_rtc_get_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode0_write_TAMPID_TAMPEVT_bit(a, b) hri_rtc_write_TAMPID_TAMPEVT_bit(a, b) -#define hri_rtcmode0_clear_TAMPID_TAMPEVT_bit(a) hri_rtc_clear_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode0_toggle_TAMPID_TAMPEVT_bit(a) hri_rtc_toggle_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode0_set_TAMPID_reg(a, b) hri_rtc_set_TAMPID_reg(a, b) -#define hri_rtcmode0_get_TAMPID_reg(a, b) hri_rtc_get_TAMPID_reg(a, b) -#define hri_rtcmode0_write_TAMPID_reg(a, b) hri_rtc_write_TAMPID_reg(a, b) -#define hri_rtcmode0_clear_TAMPID_reg(a, b) hri_rtc_clear_TAMPID_reg(a, b) -#define hri_rtcmode0_toggle_TAMPID_reg(a, b) hri_rtc_toggle_TAMPID_reg(a, b) -#define hri_rtcmode0_read_TAMPID_reg(a) hri_rtc_read_TAMPID_reg(a) -#define hri_rtcmode0_set_BKUP_BKUP_bf(a, b, c) hri_rtc_set_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode0_get_BKUP_BKUP_bf(a, b, c) hri_rtc_get_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode0_write_BKUP_BKUP_bf(a, b, c) hri_rtc_write_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode0_clear_BKUP_BKUP_bf(a, b, c) hri_rtc_clear_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode0_toggle_BKUP_BKUP_bf(a, b, c) hri_rtc_toggle_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode0_read_BKUP_BKUP_bf(a, b) hri_rtc_read_BKUP_BKUP_bf(a, b) -#define hri_rtcmode0_set_BKUP_reg(a, b, c) hri_rtc_set_BKUP_reg(a, b, c) -#define hri_rtcmode0_get_BKUP_reg(a, b, c) hri_rtc_get_BKUP_reg(a, b, c) -#define hri_rtcmode0_write_BKUP_reg(a, b, c) hri_rtc_write_BKUP_reg(a, b, c) -#define hri_rtcmode0_clear_BKUP_reg(a, b, c) hri_rtc_clear_BKUP_reg(a, b, c) -#define hri_rtcmode0_toggle_BKUP_reg(a, b, c) hri_rtc_toggle_BKUP_reg(a, b, c) -#define hri_rtcmode0_read_BKUP_reg(a, b) hri_rtc_read_BKUP_reg(a, b) -#define hri_rtcmode1_set_DBGCTRL_DBGRUN_bit(a) hri_rtc_set_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode1_get_DBGCTRL_DBGRUN_bit(a) hri_rtc_get_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode1_write_DBGCTRL_DBGRUN_bit(a, b) hri_rtc_write_DBGCTRL_DBGRUN_bit(a, b) -#define hri_rtcmode1_clear_DBGCTRL_DBGRUN_bit(a) hri_rtc_clear_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode1_toggle_DBGCTRL_DBGRUN_bit(a) hri_rtc_toggle_DBGCTRL_DBGRUN_bit(a) -#define hri_rtcmode1_set_DBGCTRL_reg(a, b) hri_rtc_set_DBGCTRL_reg(a, b) -#define hri_rtcmode1_get_DBGCTRL_reg(a, b) hri_rtc_get_DBGCTRL_reg(a, b) -#define hri_rtcmode1_write_DBGCTRL_reg(a, b) hri_rtc_write_DBGCTRL_reg(a, b) -#define hri_rtcmode1_clear_DBGCTRL_reg(a, b) hri_rtc_clear_DBGCTRL_reg(a, b) -#define hri_rtcmode1_toggle_DBGCTRL_reg(a, b) hri_rtc_toggle_DBGCTRL_reg(a, b) -#define hri_rtcmode1_read_DBGCTRL_reg(a) hri_rtc_read_DBGCTRL_reg(a) -#define hri_rtcmode1_set_FREQCORR_SIGN_bit(a) hri_rtc_set_FREQCORR_SIGN_bit(a) -#define hri_rtcmode1_get_FREQCORR_SIGN_bit(a) hri_rtc_get_FREQCORR_SIGN_bit(a) -#define hri_rtcmode1_write_FREQCORR_SIGN_bit(a, b) hri_rtc_write_FREQCORR_SIGN_bit(a, b) -#define hri_rtcmode1_clear_FREQCORR_SIGN_bit(a) hri_rtc_clear_FREQCORR_SIGN_bit(a) -#define hri_rtcmode1_toggle_FREQCORR_SIGN_bit(a) hri_rtc_toggle_FREQCORR_SIGN_bit(a) -#define hri_rtcmode1_set_FREQCORR_VALUE_bf(a, b) hri_rtc_set_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode1_get_FREQCORR_VALUE_bf(a, b) hri_rtc_get_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode1_write_FREQCORR_VALUE_bf(a, b) hri_rtc_write_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode1_clear_FREQCORR_VALUE_bf(a, b) hri_rtc_clear_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode1_toggle_FREQCORR_VALUE_bf(a, b) hri_rtc_toggle_FREQCORR_VALUE_bf(a, b) -#define hri_rtcmode1_read_FREQCORR_VALUE_bf(a) hri_rtc_read_FREQCORR_VALUE_bf(a) -#define hri_rtcmode1_set_FREQCORR_reg(a, b) hri_rtc_set_FREQCORR_reg(a, b) -#define hri_rtcmode1_get_FREQCORR_reg(a, b) hri_rtc_get_FREQCORR_reg(a, b) -#define hri_rtcmode1_write_FREQCORR_reg(a, b) hri_rtc_write_FREQCORR_reg(a, b) -#define hri_rtcmode1_clear_FREQCORR_reg(a, b) hri_rtc_clear_FREQCORR_reg(a, b) -#define hri_rtcmode1_toggle_FREQCORR_reg(a, b) hri_rtc_toggle_FREQCORR_reg(a, b) -#define hri_rtcmode1_read_FREQCORR_reg(a) hri_rtc_read_FREQCORR_reg(a) -#define hri_rtcmode1_set_GP_GP_bf(a, b, c) hri_rtc_set_GP_GP_bf(a, b, c) -#define hri_rtcmode1_get_GP_GP_bf(a, b, c) hri_rtc_get_GP_GP_bf(a, b, c) -#define hri_rtcmode1_write_GP_GP_bf(a, b, c) hri_rtc_write_GP_GP_bf(a, b, c) -#define hri_rtcmode1_clear_GP_GP_bf(a, b, c) hri_rtc_clear_GP_GP_bf(a, b, c) -#define hri_rtcmode1_toggle_GP_GP_bf(a, b, c) hri_rtc_toggle_GP_GP_bf(a, b, c) -#define hri_rtcmode1_read_GP_GP_bf(a, b) hri_rtc_read_GP_GP_bf(a, b) -#define hri_rtcmode1_set_GP_reg(a, b, c) hri_rtc_set_GP_reg(a, b, c) -#define hri_rtcmode1_get_GP_reg(a, b, c) hri_rtc_get_GP_reg(a, b, c) -#define hri_rtcmode1_write_GP_reg(a, b, c) hri_rtc_write_GP_reg(a, b, c) -#define hri_rtcmode1_clear_GP_reg(a, b, c) hri_rtc_clear_GP_reg(a, b, c) -#define hri_rtcmode1_toggle_GP_reg(a, b, c) hri_rtc_toggle_GP_reg(a, b, c) -#define hri_rtcmode1_read_GP_reg(a, b) hri_rtc_read_GP_reg(a, b) -#define hri_rtcmode1_set_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_TAMLVL0_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL0_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL0_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_TAMLVL1_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL1_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL1_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_TAMLVL2_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL2_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL2_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_TAMLVL3_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL3_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL3_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_TAMLVL4_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL4_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL4_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_DEBNC0_bit(a) hri_rtc_set_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_DEBNC0_bit(a) hri_rtc_get_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_DEBNC0_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC0_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_DEBNC0_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC0_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC0_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_DEBNC1_bit(a) hri_rtc_set_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_DEBNC1_bit(a) hri_rtc_get_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_DEBNC1_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC1_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_DEBNC1_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC1_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC1_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_DEBNC2_bit(a) hri_rtc_set_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_DEBNC2_bit(a) hri_rtc_get_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_DEBNC2_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC2_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_DEBNC2_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC2_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC2_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_DEBNC3_bit(a) hri_rtc_set_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_DEBNC3_bit(a) hri_rtc_get_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_DEBNC3_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC3_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_DEBNC3_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC3_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC3_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_DEBNC4_bit(a) hri_rtc_set_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode1_get_TAMPCTRL_DEBNC4_bit(a) hri_rtc_get_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode1_write_TAMPCTRL_DEBNC4_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC4_bit(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_DEBNC4_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC4_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC4_bit(a) -#define hri_rtcmode1_set_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode1_get_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode1_write_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode1_toggle_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN0ACT_bf(a, b) -#define hri_rtcmode1_read_TAMPCTRL_IN0ACT_bf(a) hri_rtc_read_TAMPCTRL_IN0ACT_bf(a) -#define hri_rtcmode1_set_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode1_get_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode1_write_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode1_toggle_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN1ACT_bf(a, b) -#define hri_rtcmode1_read_TAMPCTRL_IN1ACT_bf(a) hri_rtc_read_TAMPCTRL_IN1ACT_bf(a) -#define hri_rtcmode1_set_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode1_get_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode1_write_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode1_toggle_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN2ACT_bf(a, b) -#define hri_rtcmode1_read_TAMPCTRL_IN2ACT_bf(a) hri_rtc_read_TAMPCTRL_IN2ACT_bf(a) -#define hri_rtcmode1_set_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode1_get_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode1_write_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode1_toggle_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN3ACT_bf(a, b) -#define hri_rtcmode1_read_TAMPCTRL_IN3ACT_bf(a) hri_rtc_read_TAMPCTRL_IN3ACT_bf(a) -#define hri_rtcmode1_set_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode1_get_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode1_write_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode1_toggle_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN4ACT_bf(a, b) -#define hri_rtcmode1_read_TAMPCTRL_IN4ACT_bf(a) hri_rtc_read_TAMPCTRL_IN4ACT_bf(a) -#define hri_rtcmode1_set_TAMPCTRL_reg(a, b) hri_rtc_set_TAMPCTRL_reg(a, b) -#define hri_rtcmode1_get_TAMPCTRL_reg(a, b) hri_rtc_get_TAMPCTRL_reg(a, b) -#define hri_rtcmode1_write_TAMPCTRL_reg(a, b) hri_rtc_write_TAMPCTRL_reg(a, b) -#define hri_rtcmode1_clear_TAMPCTRL_reg(a, b) hri_rtc_clear_TAMPCTRL_reg(a, b) -#define hri_rtcmode1_toggle_TAMPCTRL_reg(a, b) hri_rtc_toggle_TAMPCTRL_reg(a, b) -#define hri_rtcmode1_read_TAMPCTRL_reg(a) hri_rtc_read_TAMPCTRL_reg(a) -#define hri_rtcmode1_set_TAMPID_TAMPID0_bit(a) hri_rtc_set_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode1_get_TAMPID_TAMPID0_bit(a) hri_rtc_get_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode1_write_TAMPID_TAMPID0_bit(a, b) hri_rtc_write_TAMPID_TAMPID0_bit(a, b) -#define hri_rtcmode1_clear_TAMPID_TAMPID0_bit(a) hri_rtc_clear_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode1_toggle_TAMPID_TAMPID0_bit(a) hri_rtc_toggle_TAMPID_TAMPID0_bit(a) -#define hri_rtcmode1_set_TAMPID_TAMPID1_bit(a) hri_rtc_set_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode1_get_TAMPID_TAMPID1_bit(a) hri_rtc_get_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode1_write_TAMPID_TAMPID1_bit(a, b) hri_rtc_write_TAMPID_TAMPID1_bit(a, b) -#define hri_rtcmode1_clear_TAMPID_TAMPID1_bit(a) hri_rtc_clear_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode1_toggle_TAMPID_TAMPID1_bit(a) hri_rtc_toggle_TAMPID_TAMPID1_bit(a) -#define hri_rtcmode1_set_TAMPID_TAMPID2_bit(a) hri_rtc_set_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode1_get_TAMPID_TAMPID2_bit(a) hri_rtc_get_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode1_write_TAMPID_TAMPID2_bit(a, b) hri_rtc_write_TAMPID_TAMPID2_bit(a, b) -#define hri_rtcmode1_clear_TAMPID_TAMPID2_bit(a) hri_rtc_clear_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode1_toggle_TAMPID_TAMPID2_bit(a) hri_rtc_toggle_TAMPID_TAMPID2_bit(a) -#define hri_rtcmode1_set_TAMPID_TAMPID3_bit(a) hri_rtc_set_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode1_get_TAMPID_TAMPID3_bit(a) hri_rtc_get_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode1_write_TAMPID_TAMPID3_bit(a, b) hri_rtc_write_TAMPID_TAMPID3_bit(a, b) -#define hri_rtcmode1_clear_TAMPID_TAMPID3_bit(a) hri_rtc_clear_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode1_toggle_TAMPID_TAMPID3_bit(a) hri_rtc_toggle_TAMPID_TAMPID3_bit(a) -#define hri_rtcmode1_set_TAMPID_TAMPID4_bit(a) hri_rtc_set_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode1_get_TAMPID_TAMPID4_bit(a) hri_rtc_get_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode1_write_TAMPID_TAMPID4_bit(a, b) hri_rtc_write_TAMPID_TAMPID4_bit(a, b) -#define hri_rtcmode1_clear_TAMPID_TAMPID4_bit(a) hri_rtc_clear_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode1_toggle_TAMPID_TAMPID4_bit(a) hri_rtc_toggle_TAMPID_TAMPID4_bit(a) -#define hri_rtcmode1_set_TAMPID_TAMPEVT_bit(a) hri_rtc_set_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode1_get_TAMPID_TAMPEVT_bit(a) hri_rtc_get_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode1_write_TAMPID_TAMPEVT_bit(a, b) hri_rtc_write_TAMPID_TAMPEVT_bit(a, b) -#define hri_rtcmode1_clear_TAMPID_TAMPEVT_bit(a) hri_rtc_clear_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode1_toggle_TAMPID_TAMPEVT_bit(a) hri_rtc_toggle_TAMPID_TAMPEVT_bit(a) -#define hri_rtcmode1_set_TAMPID_reg(a, b) hri_rtc_set_TAMPID_reg(a, b) -#define hri_rtcmode1_get_TAMPID_reg(a, b) hri_rtc_get_TAMPID_reg(a, b) -#define hri_rtcmode1_write_TAMPID_reg(a, b) hri_rtc_write_TAMPID_reg(a, b) -#define hri_rtcmode1_clear_TAMPID_reg(a, b) hri_rtc_clear_TAMPID_reg(a, b) -#define hri_rtcmode1_toggle_TAMPID_reg(a, b) hri_rtc_toggle_TAMPID_reg(a, b) -#define hri_rtcmode1_read_TAMPID_reg(a) hri_rtc_read_TAMPID_reg(a) -#define hri_rtcmode1_set_BKUP_BKUP_bf(a, b, c) hri_rtc_set_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode1_get_BKUP_BKUP_bf(a, b, c) hri_rtc_get_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode1_write_BKUP_BKUP_bf(a, b, c) hri_rtc_write_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode1_clear_BKUP_BKUP_bf(a, b, c) hri_rtc_clear_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode1_toggle_BKUP_BKUP_bf(a, b, c) hri_rtc_toggle_BKUP_BKUP_bf(a, b, c) -#define hri_rtcmode1_read_BKUP_BKUP_bf(a, b) hri_rtc_read_BKUP_BKUP_bf(a, b) -#define hri_rtcmode1_set_BKUP_reg(a, b, c) hri_rtc_set_BKUP_reg(a, b, c) -#define hri_rtcmode1_get_BKUP_reg(a, b, c) hri_rtc_get_BKUP_reg(a, b, c) -#define hri_rtcmode1_write_BKUP_reg(a, b, c) hri_rtc_write_BKUP_reg(a, b, c) -#define hri_rtcmode1_clear_BKUP_reg(a, b, c) hri_rtc_clear_BKUP_reg(a, b, c) -#define hri_rtcmode1_toggle_BKUP_reg(a, b, c) hri_rtc_toggle_BKUP_reg(a, b, c) -#define hri_rtcmode1_read_BKUP_reg(a, b) hri_rtc_read_BKUP_reg(a, b) - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_RTC_E54_H_INCLUDED */ -#endif /* _SAME54_RTC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_sdhc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_sdhc_e54.h deleted file mode 100644 index 0b7f609..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_sdhc_e54.h +++ /dev/null @@ -1,7477 +0,0 @@ -/** - * \file - * - * \brief SAM SDHC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_SDHC_COMPONENT_ -#ifndef _HRI_SDHC_E54_H_INCLUDED_ -#define _HRI_SDHC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_SDHC_CRITICAL_SECTIONS) -#define SDHC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define SDHC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define SDHC_CRITICAL_SECTION_ENTER() -#define SDHC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_sdhc_acesr_reg_t; -typedef uint16_t hri_sdhc_bcr_reg_t; -typedef uint16_t hri_sdhc_bsr_reg_t; -typedef uint16_t hri_sdhc_ccr_reg_t; -typedef uint16_t hri_sdhc_cr_reg_t; -typedef uint16_t hri_sdhc_eisier_reg_t; -typedef uint16_t hri_sdhc_eister_reg_t; -typedef uint16_t hri_sdhc_eistr_reg_t; -typedef uint16_t hri_sdhc_feraces_reg_t; -typedef uint16_t hri_sdhc_fereis_reg_t; -typedef uint16_t hri_sdhc_hc2r_reg_t; -typedef uint16_t hri_sdhc_hcvr_reg_t; -typedef uint16_t hri_sdhc_nisier_reg_t; -typedef uint16_t hri_sdhc_nister_reg_t; -typedef uint16_t hri_sdhc_nistr_reg_t; -typedef uint16_t hri_sdhc_pvr_reg_t; -typedef uint16_t hri_sdhc_sisr_reg_t; -typedef uint16_t hri_sdhc_tmr_reg_t; -typedef uint32_t hri_sdhc_acr_reg_t; -typedef uint32_t hri_sdhc_arg1r_reg_t; -typedef uint32_t hri_sdhc_asar_reg_t; -typedef uint32_t hri_sdhc_bdpr_reg_t; -typedef uint32_t hri_sdhc_ca0r_reg_t; -typedef uint32_t hri_sdhc_ca1r_reg_t; -typedef uint32_t hri_sdhc_cacr_reg_t; -typedef uint32_t hri_sdhc_cc2r_reg_t; -typedef uint32_t hri_sdhc_mccar_reg_t; -typedef uint32_t hri_sdhc_psr_reg_t; -typedef uint32_t hri_sdhc_rr_reg_t; -typedef uint32_t hri_sdhc_ssar_reg_t; -typedef uint8_t hri_sdhc_aesr_reg_t; -typedef uint8_t hri_sdhc_bgcr_reg_t; -typedef uint8_t hri_sdhc_dbgr_reg_t; -typedef uint8_t hri_sdhc_hc1r_reg_t; -typedef uint8_t hri_sdhc_mc1r_reg_t; -typedef uint8_t hri_sdhc_mc2r_reg_t; -typedef uint8_t hri_sdhc_pcr_reg_t; -typedef uint8_t hri_sdhc_srr_reg_t; -typedef uint8_t hri_sdhc_tcr_reg_t; -typedef uint8_t hri_sdhc_wcr_reg_t; - -static inline hri_sdhc_rr_reg_t hri_sdhc_get_RR_CMDRESP_bf(const void *const hw, uint8_t index, hri_sdhc_rr_reg_t mask) -{ - return (((Sdhc *)hw)->RR[index].reg & SDHC_RR_CMDRESP(mask)) >> SDHC_RR_CMDRESP_Pos; -} - -static inline hri_sdhc_rr_reg_t hri_sdhc_read_RR_CMDRESP_bf(const void *const hw, uint8_t index) -{ - return (((Sdhc *)hw)->RR[index].reg & SDHC_RR_CMDRESP_Msk) >> SDHC_RR_CMDRESP_Pos; -} - -static inline hri_sdhc_rr_reg_t hri_sdhc_get_RR_reg(const void *const hw, uint8_t index, hri_sdhc_rr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->RR[index].reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_rr_reg_t hri_sdhc_read_RR_reg(const void *const hw, uint8_t index) -{ - return ((Sdhc *)hw)->RR[index].reg; -} - -static inline bool hri_sdhc_get_PSR_CMDINHC_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CMDINHC) >> SDHC_PSR_CMDINHC_Pos; -} - -static inline bool hri_sdhc_get_PSR_CMDINHD_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CMDINHD) >> SDHC_PSR_CMDINHD_Pos; -} - -static inline bool hri_sdhc_get_PSR_DLACT_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_DLACT) >> SDHC_PSR_DLACT_Pos; -} - -static inline bool hri_sdhc_get_PSR_RTREQ_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_RTREQ) >> SDHC_PSR_RTREQ_Pos; -} - -static inline bool hri_sdhc_get_PSR_WTACT_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_WTACT) >> SDHC_PSR_WTACT_Pos; -} - -static inline bool hri_sdhc_get_PSR_RTACT_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_RTACT) >> SDHC_PSR_RTACT_Pos; -} - -static inline bool hri_sdhc_get_PSR_BUFWREN_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_BUFWREN) >> SDHC_PSR_BUFWREN_Pos; -} - -static inline bool hri_sdhc_get_PSR_BUFRDEN_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_BUFRDEN) >> SDHC_PSR_BUFRDEN_Pos; -} - -static inline bool hri_sdhc_get_PSR_CARDINS_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CARDINS) >> SDHC_PSR_CARDINS_Pos; -} - -static inline bool hri_sdhc_get_PSR_CARDSS_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CARDSS) >> SDHC_PSR_CARDSS_Pos; -} - -static inline bool hri_sdhc_get_PSR_CARDDPL_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CARDDPL) >> SDHC_PSR_CARDDPL_Pos; -} - -static inline bool hri_sdhc_get_PSR_WRPPL_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_WRPPL) >> SDHC_PSR_WRPPL_Pos; -} - -static inline bool hri_sdhc_get_PSR_CMDLL_bit(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CMDLL) >> SDHC_PSR_CMDLL_Pos; -} - -static inline hri_sdhc_psr_reg_t hri_sdhc_get_PSR_DATLL_bf(const void *const hw, hri_sdhc_psr_reg_t mask) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_DATLL(mask)) >> SDHC_PSR_DATLL_Pos; -} - -static inline hri_sdhc_psr_reg_t hri_sdhc_read_PSR_DATLL_bf(const void *const hw) -{ - return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_DATLL_Msk) >> SDHC_PSR_DATLL_Pos; -} - -static inline hri_sdhc_psr_reg_t hri_sdhc_get_PSR_reg(const void *const hw, hri_sdhc_psr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->PSR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_psr_reg_t hri_sdhc_read_PSR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->PSR.reg; -} - -static inline bool hri_sdhc_get_ACESR_ACMD12NE_bit(const void *const hw) -{ - return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMD12NE) >> SDHC_ACESR_ACMD12NE_Pos; -} - -static inline bool hri_sdhc_get_ACESR_ACMDTEO_bit(const void *const hw) -{ - return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMDTEO) >> SDHC_ACESR_ACMDTEO_Pos; -} - -static inline bool hri_sdhc_get_ACESR_ACMDCRC_bit(const void *const hw) -{ - return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMDCRC) >> SDHC_ACESR_ACMDCRC_Pos; -} - -static inline bool hri_sdhc_get_ACESR_ACMDEND_bit(const void *const hw) -{ - return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMDEND) >> SDHC_ACESR_ACMDEND_Pos; -} - -static inline bool hri_sdhc_get_ACESR_ACMDIDX_bit(const void *const hw) -{ - return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMDIDX) >> SDHC_ACESR_ACMDIDX_Pos; -} - -static inline bool hri_sdhc_get_ACESR_CMDNI_bit(const void *const hw) -{ - return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_CMDNI) >> SDHC_ACESR_CMDNI_Pos; -} - -static inline hri_sdhc_acesr_reg_t hri_sdhc_get_ACESR_reg(const void *const hw, hri_sdhc_acesr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->ACESR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_acesr_reg_t hri_sdhc_read_ACESR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->ACESR.reg; -} - -static inline bool hri_sdhc_get_CA0R_TEOCLKU_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_TEOCLKU) >> SDHC_CA0R_TEOCLKU_Pos; -} - -static inline bool hri_sdhc_get_CA0R_ED8SUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_ED8SUP) >> SDHC_CA0R_ED8SUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_ADMA2SUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_ADMA2SUP) >> SDHC_CA0R_ADMA2SUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_HSSUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_HSSUP) >> SDHC_CA0R_HSSUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_SDMASUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SDMASUP) >> SDHC_CA0R_SDMASUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_SRSUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SRSUP) >> SDHC_CA0R_SRSUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_V33VSUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_V33VSUP) >> SDHC_CA0R_V33VSUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_V30VSUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_V30VSUP) >> SDHC_CA0R_V30VSUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_V18VSUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_V18VSUP) >> SDHC_CA0R_V18VSUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_SB64SUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SB64SUP) >> SDHC_CA0R_SB64SUP_Pos; -} - -static inline bool hri_sdhc_get_CA0R_ASINTSUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_ASINTSUP) >> SDHC_CA0R_ASINTSUP_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_TEOCLKF_bf(const void *const hw, hri_sdhc_ca0r_reg_t mask) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_TEOCLKF(mask)) >> SDHC_CA0R_TEOCLKF_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_TEOCLKF_bf(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_TEOCLKF_Msk) >> SDHC_CA0R_TEOCLKF_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_BASECLKF_bf(const void *const hw, hri_sdhc_ca0r_reg_t mask) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_BASECLKF(mask)) >> SDHC_CA0R_BASECLKF_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_BASECLKF_bf(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_BASECLKF_Msk) >> SDHC_CA0R_BASECLKF_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_MAXBLKL_bf(const void *const hw, hri_sdhc_ca0r_reg_t mask) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_MAXBLKL(mask)) >> SDHC_CA0R_MAXBLKL_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_MAXBLKL_bf(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_MAXBLKL_Msk) >> SDHC_CA0R_MAXBLKL_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_SLTYPE_bf(const void *const hw, hri_sdhc_ca0r_reg_t mask) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SLTYPE(mask)) >> SDHC_CA0R_SLTYPE_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_SLTYPE_bf(const void *const hw) -{ - return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SLTYPE_Msk) >> SDHC_CA0R_SLTYPE_Pos; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_reg(const void *const hw, hri_sdhc_ca0r_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->CA0R.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_reg(const void *const hw) -{ - return ((Sdhc *)hw)->CA0R.reg; -} - -static inline bool hri_sdhc_get_CA1R_SDR50SUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_SDR50SUP) >> SDHC_CA1R_SDR50SUP_Pos; -} - -static inline bool hri_sdhc_get_CA1R_SDR104SUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_SDR104SUP) >> SDHC_CA1R_SDR104SUP_Pos; -} - -static inline bool hri_sdhc_get_CA1R_DDR50SUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_DDR50SUP) >> SDHC_CA1R_DDR50SUP_Pos; -} - -static inline bool hri_sdhc_get_CA1R_DRVASUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_DRVASUP) >> SDHC_CA1R_DRVASUP_Pos; -} - -static inline bool hri_sdhc_get_CA1R_DRVCSUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_DRVCSUP) >> SDHC_CA1R_DRVCSUP_Pos; -} - -static inline bool hri_sdhc_get_CA1R_DRVDSUP_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_DRVDSUP) >> SDHC_CA1R_DRVDSUP_Pos; -} - -static inline bool hri_sdhc_get_CA1R_TSDR50_bit(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_TSDR50) >> SDHC_CA1R_TSDR50_Pos; -} - -static inline hri_sdhc_ca1r_reg_t hri_sdhc_get_CA1R_TCNTRT_bf(const void *const hw, hri_sdhc_ca1r_reg_t mask) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_TCNTRT(mask)) >> SDHC_CA1R_TCNTRT_Pos; -} - -static inline hri_sdhc_ca1r_reg_t hri_sdhc_read_CA1R_TCNTRT_bf(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_TCNTRT_Msk) >> SDHC_CA1R_TCNTRT_Pos; -} - -static inline hri_sdhc_ca1r_reg_t hri_sdhc_get_CA1R_CLKMULT_bf(const void *const hw, hri_sdhc_ca1r_reg_t mask) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_CLKMULT(mask)) >> SDHC_CA1R_CLKMULT_Pos; -} - -static inline hri_sdhc_ca1r_reg_t hri_sdhc_read_CA1R_CLKMULT_bf(const void *const hw) -{ - return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_CLKMULT_Msk) >> SDHC_CA1R_CLKMULT_Pos; -} - -static inline hri_sdhc_ca1r_reg_t hri_sdhc_get_CA1R_reg(const void *const hw, hri_sdhc_ca1r_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->CA1R.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_ca1r_reg_t hri_sdhc_read_CA1R_reg(const void *const hw) -{ - return ((Sdhc *)hw)->CA1R.reg; -} - -static inline hri_sdhc_mccar_reg_t hri_sdhc_get_MCCAR_MAXCUR33V_bf(const void *const hw, hri_sdhc_mccar_reg_t mask) -{ - return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR33V(mask)) >> SDHC_MCCAR_MAXCUR33V_Pos; -} - -static inline hri_sdhc_mccar_reg_t hri_sdhc_read_MCCAR_MAXCUR33V_bf(const void *const hw) -{ - return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR33V_Msk) >> SDHC_MCCAR_MAXCUR33V_Pos; -} - -static inline hri_sdhc_mccar_reg_t hri_sdhc_get_MCCAR_MAXCUR30V_bf(const void *const hw, hri_sdhc_mccar_reg_t mask) -{ - return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR30V(mask)) >> SDHC_MCCAR_MAXCUR30V_Pos; -} - -static inline hri_sdhc_mccar_reg_t hri_sdhc_read_MCCAR_MAXCUR30V_bf(const void *const hw) -{ - return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR30V_Msk) >> SDHC_MCCAR_MAXCUR30V_Pos; -} - -static inline hri_sdhc_mccar_reg_t hri_sdhc_get_MCCAR_MAXCUR18V_bf(const void *const hw, hri_sdhc_mccar_reg_t mask) -{ - return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR18V(mask)) >> SDHC_MCCAR_MAXCUR18V_Pos; -} - -static inline hri_sdhc_mccar_reg_t hri_sdhc_read_MCCAR_MAXCUR18V_bf(const void *const hw) -{ - return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR18V_Msk) >> SDHC_MCCAR_MAXCUR18V_Pos; -} - -static inline hri_sdhc_mccar_reg_t hri_sdhc_get_MCCAR_reg(const void *const hw, hri_sdhc_mccar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->MCCAR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_mccar_reg_t hri_sdhc_read_MCCAR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->MCCAR.reg; -} - -static inline bool hri_sdhc_get_AESR_LMIS_bit(const void *const hw) -{ - return (((Sdhc *)hw)->AESR.reg & SDHC_AESR_LMIS) >> SDHC_AESR_LMIS_Pos; -} - -static inline hri_sdhc_aesr_reg_t hri_sdhc_get_AESR_ERRST_bf(const void *const hw, hri_sdhc_aesr_reg_t mask) -{ - return (((Sdhc *)hw)->AESR.reg & SDHC_AESR_ERRST(mask)) >> SDHC_AESR_ERRST_Pos; -} - -static inline hri_sdhc_aesr_reg_t hri_sdhc_read_AESR_ERRST_bf(const void *const hw) -{ - return (((Sdhc *)hw)->AESR.reg & SDHC_AESR_ERRST_Msk) >> SDHC_AESR_ERRST_Pos; -} - -static inline hri_sdhc_aesr_reg_t hri_sdhc_get_AESR_reg(const void *const hw, hri_sdhc_aesr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->AESR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_aesr_reg_t hri_sdhc_read_AESR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->AESR.reg; -} - -static inline bool hri_sdhc_get_SISR_INTSSL_bit(const void *const hw) -{ - return (((Sdhc *)hw)->SISR.reg & SDHC_SISR_INTSSL_Msk) >> SDHC_SISR_INTSSL_Pos; -} - -static inline hri_sdhc_sisr_reg_t hri_sdhc_get_SISR_reg(const void *const hw, hri_sdhc_sisr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->SISR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_sisr_reg_t hri_sdhc_read_SISR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->SISR.reg; -} - -static inline hri_sdhc_hcvr_reg_t hri_sdhc_get_HCVR_SVER_bf(const void *const hw, hri_sdhc_hcvr_reg_t mask) -{ - return (((Sdhc *)hw)->HCVR.reg & SDHC_HCVR_SVER(mask)) >> SDHC_HCVR_SVER_Pos; -} - -static inline hri_sdhc_hcvr_reg_t hri_sdhc_read_HCVR_SVER_bf(const void *const hw) -{ - return (((Sdhc *)hw)->HCVR.reg & SDHC_HCVR_SVER_Msk) >> SDHC_HCVR_SVER_Pos; -} - -static inline hri_sdhc_hcvr_reg_t hri_sdhc_get_HCVR_VVER_bf(const void *const hw, hri_sdhc_hcvr_reg_t mask) -{ - return (((Sdhc *)hw)->HCVR.reg & SDHC_HCVR_VVER(mask)) >> SDHC_HCVR_VVER_Pos; -} - -static inline hri_sdhc_hcvr_reg_t hri_sdhc_read_HCVR_VVER_bf(const void *const hw) -{ - return (((Sdhc *)hw)->HCVR.reg & SDHC_HCVR_VVER_Msk) >> SDHC_HCVR_VVER_Pos; -} - -static inline hri_sdhc_hcvr_reg_t hri_sdhc_get_HCVR_reg(const void *const hw, hri_sdhc_hcvr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HCVR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sdhc_hcvr_reg_t hri_sdhc_read_HCVR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->HCVR.reg; -} - -static inline void hri_sdhc_set_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg |= SDHC_SSAR_ADDR(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ssar_reg_t hri_sdhc_get_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->SSAR.reg; - tmp = (tmp & SDHC_SSAR_ADDR(mask)) >> SDHC_SSAR_ADDR_Pos; - return tmp; -} - -static inline void hri_sdhc_write_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t data) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->SSAR.reg; - tmp &= ~SDHC_SSAR_ADDR_Msk; - tmp |= SDHC_SSAR_ADDR(data); - ((Sdhc *)hw)->SSAR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg &= ~SDHC_SSAR_ADDR(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg ^= SDHC_SSAR_ADDR(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ssar_reg_t hri_sdhc_read_SSAR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->SSAR.reg; - tmp = (tmp & SDHC_SSAR_ADDR_Msk) >> SDHC_SSAR_ADDR_Pos; - return tmp; -} - -static inline void hri_sdhc_set_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg |= SDHC_SSAR_CMD23_ARG2(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ssar_reg_t hri_sdhc_get_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->SSAR.reg; - tmp = (tmp & SDHC_SSAR_CMD23_ARG2(mask)) >> SDHC_SSAR_CMD23_ARG2_Pos; - return tmp; -} - -static inline void hri_sdhc_write_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t data) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->SSAR.reg; - tmp &= ~SDHC_SSAR_CMD23_ARG2_Msk; - tmp |= SDHC_SSAR_CMD23_ARG2(data); - ((Sdhc *)hw)->SSAR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg &= ~SDHC_SSAR_CMD23_ARG2(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg ^= SDHC_SSAR_CMD23_ARG2(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ssar_reg_t hri_sdhc_read_SSAR_CMD23_ARG2_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->SSAR.reg; - tmp = (tmp & SDHC_SSAR_CMD23_ARG2_Msk) >> SDHC_SSAR_CMD23_ARG2_Pos; - return tmp; -} - -static inline void hri_sdhc_set_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ssar_reg_t hri_sdhc_get_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->SSAR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SSAR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ssar_reg_t hri_sdhc_read_SSAR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->SSAR.reg; -} - -static inline void hri_sdhc_set_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg |= SDHC_BSR_BLOCKSIZE(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bsr_reg_t hri_sdhc_get_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->BSR.reg; - tmp = (tmp & SDHC_BSR_BLOCKSIZE(mask)) >> SDHC_BSR_BLOCKSIZE_Pos; - return tmp; -} - -static inline void hri_sdhc_write_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->BSR.reg; - tmp &= ~SDHC_BSR_BLOCKSIZE_Msk; - tmp |= SDHC_BSR_BLOCKSIZE(data); - ((Sdhc *)hw)->BSR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg &= ~SDHC_BSR_BLOCKSIZE(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg ^= SDHC_BSR_BLOCKSIZE(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bsr_reg_t hri_sdhc_read_BSR_BLOCKSIZE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->BSR.reg; - tmp = (tmp & SDHC_BSR_BLOCKSIZE_Msk) >> SDHC_BSR_BLOCKSIZE_Pos; - return tmp; -} - -static inline void hri_sdhc_set_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg |= SDHC_BSR_BOUNDARY(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bsr_reg_t hri_sdhc_get_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->BSR.reg; - tmp = (tmp & SDHC_BSR_BOUNDARY(mask)) >> SDHC_BSR_BOUNDARY_Pos; - return tmp; -} - -static inline void hri_sdhc_write_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->BSR.reg; - tmp &= ~SDHC_BSR_BOUNDARY_Msk; - tmp |= SDHC_BSR_BOUNDARY(data); - ((Sdhc *)hw)->BSR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg &= ~SDHC_BSR_BOUNDARY(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg ^= SDHC_BSR_BOUNDARY(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bsr_reg_t hri_sdhc_read_BSR_BOUNDARY_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->BSR.reg; - tmp = (tmp & SDHC_BSR_BOUNDARY_Msk) >> SDHC_BSR_BOUNDARY_Pos; - return tmp; -} - -static inline void hri_sdhc_set_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bsr_reg_t hri_sdhc_get_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->BSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BSR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bsr_reg_t hri_sdhc_read_BSR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->BSR.reg; -} - -static inline void hri_sdhc_set_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BCR.reg |= SDHC_BCR_BCNT(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bcr_reg_t hri_sdhc_get_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->BCR.reg; - tmp = (tmp & SDHC_BCR_BCNT(mask)) >> SDHC_BCR_BCNT_Pos; - return tmp; -} - -static inline void hri_sdhc_write_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->BCR.reg; - tmp &= ~SDHC_BCR_BCNT_Msk; - tmp |= SDHC_BCR_BCNT(data); - ((Sdhc *)hw)->BCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BCR.reg &= ~SDHC_BCR_BCNT(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BCR.reg ^= SDHC_BCR_BCNT(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bcr_reg_t hri_sdhc_read_BCR_BCNT_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->BCR.reg; - tmp = (tmp & SDHC_BCR_BCNT_Msk) >> SDHC_BCR_BCNT_Pos; - return tmp; -} - -static inline void hri_sdhc_set_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BCR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bcr_reg_t hri_sdhc_get_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->BCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BCR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BCR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BCR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bcr_reg_t hri_sdhc_read_BCR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->BCR.reg; -} - -static inline void hri_sdhc_set_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ARG1R.reg |= SDHC_ARG1R_ARG(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_arg1r_reg_t hri_sdhc_get_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ARG1R.reg; - tmp = (tmp & SDHC_ARG1R_ARG(mask)) >> SDHC_ARG1R_ARG_Pos; - return tmp; -} - -static inline void hri_sdhc_write_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t data) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->ARG1R.reg; - tmp &= ~SDHC_ARG1R_ARG_Msk; - tmp |= SDHC_ARG1R_ARG(data); - ((Sdhc *)hw)->ARG1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ARG1R.reg &= ~SDHC_ARG1R_ARG(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ARG1R.reg ^= SDHC_ARG1R_ARG(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_arg1r_reg_t hri_sdhc_read_ARG1R_ARG_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ARG1R.reg; - tmp = (tmp & SDHC_ARG1R_ARG_Msk) >> SDHC_ARG1R_ARG_Pos; - return tmp; -} - -static inline void hri_sdhc_set_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ARG1R.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_arg1r_reg_t hri_sdhc_get_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ARG1R.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ARG1R.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ARG1R.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ARG1R.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_arg1r_reg_t hri_sdhc_read_ARG1R_reg(const void *const hw) -{ - return ((Sdhc *)hw)->ARG1R.reg; -} - -static inline void hri_sdhc_set_TMR_DMAEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_DMAEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_TMR_DMAEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->TMR.reg; - tmp = (tmp & SDHC_TMR_DMAEN) >> SDHC_TMR_DMAEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_TMR_DMAEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->TMR.reg; - tmp &= ~SDHC_TMR_DMAEN; - tmp |= value << SDHC_TMR_DMAEN_Pos; - ((Sdhc *)hw)->TMR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_TMR_DMAEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_DMAEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_TMR_DMAEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_DMAEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_TMR_BCEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_BCEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_TMR_BCEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->TMR.reg; - tmp = (tmp & SDHC_TMR_BCEN) >> SDHC_TMR_BCEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_TMR_BCEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->TMR.reg; - tmp &= ~SDHC_TMR_BCEN; - tmp |= value << SDHC_TMR_BCEN_Pos; - ((Sdhc *)hw)->TMR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_TMR_BCEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_BCEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_TMR_BCEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_BCEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_TMR_DTDSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_DTDSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_TMR_DTDSEL_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->TMR.reg; - tmp = (tmp & SDHC_TMR_DTDSEL) >> SDHC_TMR_DTDSEL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_TMR_DTDSEL_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->TMR.reg; - tmp &= ~SDHC_TMR_DTDSEL; - tmp |= value << SDHC_TMR_DTDSEL_Pos; - ((Sdhc *)hw)->TMR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_TMR_DTDSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_DTDSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_TMR_DTDSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_DTDSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_TMR_MSBSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_MSBSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_TMR_MSBSEL_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->TMR.reg; - tmp = (tmp & SDHC_TMR_MSBSEL) >> SDHC_TMR_MSBSEL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_TMR_MSBSEL_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->TMR.reg; - tmp &= ~SDHC_TMR_MSBSEL; - tmp |= value << SDHC_TMR_MSBSEL_Pos; - ((Sdhc *)hw)->TMR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_TMR_MSBSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_MSBSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_TMR_MSBSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_MSBSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_ACMDEN(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_tmr_reg_t hri_sdhc_get_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->TMR.reg; - tmp = (tmp & SDHC_TMR_ACMDEN(mask)) >> SDHC_TMR_ACMDEN_Pos; - return tmp; -} - -static inline void hri_sdhc_write_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->TMR.reg; - tmp &= ~SDHC_TMR_ACMDEN_Msk; - tmp |= SDHC_TMR_ACMDEN(data); - ((Sdhc *)hw)->TMR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_ACMDEN(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_ACMDEN(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_tmr_reg_t hri_sdhc_read_TMR_ACMDEN_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->TMR.reg; - tmp = (tmp & SDHC_TMR_ACMDEN_Msk) >> SDHC_TMR_ACMDEN_Pos; - return tmp; -} - -static inline void hri_sdhc_set_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_tmr_reg_t hri_sdhc_get_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->TMR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TMR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_tmr_reg_t hri_sdhc_read_TMR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->TMR.reg; -} - -static inline void hri_sdhc_set_CR_CMDCCEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg |= SDHC_CR_CMDCCEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CR_CMDCCEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_CMDCCEN) >> SDHC_CR_CMDCCEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CR_CMDCCEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CR.reg; - tmp &= ~SDHC_CR_CMDCCEN; - tmp |= value << SDHC_CR_CMDCCEN_Pos; - ((Sdhc *)hw)->CR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CR_CMDCCEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_CMDCCEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CR_CMDCCEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg ^= SDHC_CR_CMDCCEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CR_CMDICEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg |= SDHC_CR_CMDICEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CR_CMDICEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_CMDICEN) >> SDHC_CR_CMDICEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CR_CMDICEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CR.reg; - tmp &= ~SDHC_CR_CMDICEN; - tmp |= value << SDHC_CR_CMDICEN_Pos; - ((Sdhc *)hw)->CR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CR_CMDICEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_CMDICEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CR_CMDICEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg ^= SDHC_CR_CMDICEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CR_DPSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg |= SDHC_CR_DPSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CR_DPSEL_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_DPSEL) >> SDHC_CR_DPSEL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CR_DPSEL_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CR.reg; - tmp &= ~SDHC_CR_DPSEL; - tmp |= value << SDHC_CR_DPSEL_Pos; - ((Sdhc *)hw)->CR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CR_DPSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_DPSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CR_DPSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg ^= SDHC_CR_DPSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg |= SDHC_CR_RESPTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cr_reg_t hri_sdhc_get_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_RESPTYP(mask)) >> SDHC_CR_RESPTYP_Pos; - return tmp; -} - -static inline void hri_sdhc_write_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CR.reg; - tmp &= ~SDHC_CR_RESPTYP_Msk; - tmp |= SDHC_CR_RESPTYP(data); - ((Sdhc *)hw)->CR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_RESPTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg ^= SDHC_CR_RESPTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cr_reg_t hri_sdhc_read_CR_RESPTYP_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_RESPTYP_Msk) >> SDHC_CR_RESPTYP_Pos; - return tmp; -} - -static inline void hri_sdhc_set_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg |= SDHC_CR_CMDTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cr_reg_t hri_sdhc_get_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_CMDTYP(mask)) >> SDHC_CR_CMDTYP_Pos; - return tmp; -} - -static inline void hri_sdhc_write_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CR.reg; - tmp &= ~SDHC_CR_CMDTYP_Msk; - tmp |= SDHC_CR_CMDTYP(data); - ((Sdhc *)hw)->CR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_CMDTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg ^= SDHC_CR_CMDTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cr_reg_t hri_sdhc_read_CR_CMDTYP_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_CMDTYP_Msk) >> SDHC_CR_CMDTYP_Pos; - return tmp; -} - -static inline void hri_sdhc_set_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg |= SDHC_CR_CMDIDX(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cr_reg_t hri_sdhc_get_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_CMDIDX(mask)) >> SDHC_CR_CMDIDX_Pos; - return tmp; -} - -static inline void hri_sdhc_write_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CR.reg; - tmp &= ~SDHC_CR_CMDIDX_Msk; - tmp |= SDHC_CR_CMDIDX(data); - ((Sdhc *)hw)->CR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_CMDIDX(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg ^= SDHC_CR_CMDIDX(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cr_reg_t hri_sdhc_read_CR_CMDIDX_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp = (tmp & SDHC_CR_CMDIDX_Msk) >> SDHC_CR_CMDIDX_Pos; - return tmp; -} - -static inline void hri_sdhc_set_CR_reg(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cr_reg_t hri_sdhc_get_CR_reg(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_CR_reg(const void *const hw, hri_sdhc_cr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CR_reg(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CR_reg(const void *const hw, hri_sdhc_cr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cr_reg_t hri_sdhc_read_CR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->CR.reg; -} - -static inline void hri_sdhc_set_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BDPR.reg |= SDHC_BDPR_BUFDATA(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bdpr_reg_t hri_sdhc_get_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->BDPR.reg; - tmp = (tmp & SDHC_BDPR_BUFDATA(mask)) >> SDHC_BDPR_BUFDATA_Pos; - return tmp; -} - -static inline void hri_sdhc_write_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t data) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->BDPR.reg; - tmp &= ~SDHC_BDPR_BUFDATA_Msk; - tmp |= SDHC_BDPR_BUFDATA(data); - ((Sdhc *)hw)->BDPR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BDPR.reg &= ~SDHC_BDPR_BUFDATA(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BDPR.reg ^= SDHC_BDPR_BUFDATA(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bdpr_reg_t hri_sdhc_read_BDPR_BUFDATA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->BDPR.reg; - tmp = (tmp & SDHC_BDPR_BUFDATA_Msk) >> SDHC_BDPR_BUFDATA_Pos; - return tmp; -} - -static inline void hri_sdhc_set_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BDPR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bdpr_reg_t hri_sdhc_get_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->BDPR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BDPR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BDPR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BDPR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bdpr_reg_t hri_sdhc_read_BDPR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->BDPR.reg; -} - -static inline void hri_sdhc_set_HC1R_LEDCTRL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_LEDCTRL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC1R_LEDCTRL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp = (tmp & SDHC_HC1R_LEDCTRL) >> SDHC_HC1R_LEDCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC1R_LEDCTRL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp &= ~SDHC_HC1R_LEDCTRL; - tmp |= value << SDHC_HC1R_LEDCTRL_Pos; - ((Sdhc *)hw)->HC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC1R_LEDCTRL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_LEDCTRL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC1R_LEDCTRL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_LEDCTRL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC1R_DW_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_DW; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC1R_DW_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp = (tmp & SDHC_HC1R_DW) >> SDHC_HC1R_DW_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC1R_DW_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp &= ~SDHC_HC1R_DW; - tmp |= value << SDHC_HC1R_DW_Pos; - ((Sdhc *)hw)->HC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC1R_DW_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_DW; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC1R_DW_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_DW; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC1R_HSEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_HSEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC1R_HSEN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp = (tmp & SDHC_HC1R_HSEN) >> SDHC_HC1R_HSEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC1R_HSEN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp &= ~SDHC_HC1R_HSEN; - tmp |= value << SDHC_HC1R_HSEN_Pos; - ((Sdhc *)hw)->HC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC1R_HSEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_HSEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC1R_HSEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_HSEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC1R_CARDDTL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_CARDDTL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC1R_CARDDTL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp = (tmp & SDHC_HC1R_CARDDTL) >> SDHC_HC1R_CARDDTL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC1R_CARDDTL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp &= ~SDHC_HC1R_CARDDTL; - tmp |= value << SDHC_HC1R_CARDDTL_Pos; - ((Sdhc *)hw)->HC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC1R_CARDDTL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_CARDDTL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC1R_CARDDTL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_CARDDTL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC1R_CARDDSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_CARDDSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC1R_CARDDSEL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp = (tmp & SDHC_HC1R_CARDDSEL) >> SDHC_HC1R_CARDDSEL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC1R_CARDDSEL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp &= ~SDHC_HC1R_CARDDSEL; - tmp |= value << SDHC_HC1R_CARDDSEL_Pos; - ((Sdhc *)hw)->HC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC1R_CARDDSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_CARDDSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC1R_CARDDSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_CARDDSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_DMASEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc1r_reg_t hri_sdhc_get_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp = (tmp & SDHC_HC1R_DMASEL(mask)) >> SDHC_HC1R_DMASEL_Pos; - return tmp; -} - -static inline void hri_sdhc_write_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t data) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp &= ~SDHC_HC1R_DMASEL_Msk; - tmp |= SDHC_HC1R_DMASEL(data); - ((Sdhc *)hw)->HC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_DMASEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_DMASEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc1r_reg_t hri_sdhc_read_HC1R_DMASEL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp = (tmp & SDHC_HC1R_DMASEL_Msk) >> SDHC_HC1R_DMASEL_Pos; - return tmp; -} - -static inline void hri_sdhc_set_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc1r_reg_t hri_sdhc_get_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->HC1R.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC1R.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc1r_reg_t hri_sdhc_read_HC1R_reg(const void *const hw) -{ - return ((Sdhc *)hw)->HC1R.reg; -} - -static inline void hri_sdhc_set_PCR_SDBPWR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg |= SDHC_PCR_SDBPWR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_PCR_SDBPWR_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->PCR.reg; - tmp = (tmp & SDHC_PCR_SDBPWR) >> SDHC_PCR_SDBPWR_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_PCR_SDBPWR_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->PCR.reg; - tmp &= ~SDHC_PCR_SDBPWR; - tmp |= value << SDHC_PCR_SDBPWR_Pos; - ((Sdhc *)hw)->PCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_PCR_SDBPWR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg &= ~SDHC_PCR_SDBPWR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_PCR_SDBPWR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg ^= SDHC_PCR_SDBPWR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg |= SDHC_PCR_SDBVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pcr_reg_t hri_sdhc_get_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->PCR.reg; - tmp = (tmp & SDHC_PCR_SDBVSEL(mask)) >> SDHC_PCR_SDBVSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_write_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t data) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->PCR.reg; - tmp &= ~SDHC_PCR_SDBVSEL_Msk; - tmp |= SDHC_PCR_SDBVSEL(data); - ((Sdhc *)hw)->PCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg &= ~SDHC_PCR_SDBVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg ^= SDHC_PCR_SDBVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pcr_reg_t hri_sdhc_read_PCR_SDBVSEL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->PCR.reg; - tmp = (tmp & SDHC_PCR_SDBVSEL_Msk) >> SDHC_PCR_SDBVSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_set_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pcr_reg_t hri_sdhc_get_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->PCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PCR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pcr_reg_t hri_sdhc_read_PCR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->PCR.reg; -} - -static inline void hri_sdhc_set_BGCR_STPBGR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg |= SDHC_BGCR_STPBGR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_BGCR_STPBGR_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp = (tmp & SDHC_BGCR_STPBGR) >> SDHC_BGCR_STPBGR_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_BGCR_STPBGR_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp &= ~SDHC_BGCR_STPBGR; - tmp |= value << SDHC_BGCR_STPBGR_Pos; - ((Sdhc *)hw)->BGCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BGCR_STPBGR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg &= ~SDHC_BGCR_STPBGR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BGCR_STPBGR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg ^= SDHC_BGCR_STPBGR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_BGCR_CONTR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg |= SDHC_BGCR_CONTR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_BGCR_CONTR_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp = (tmp & SDHC_BGCR_CONTR) >> SDHC_BGCR_CONTR_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_BGCR_CONTR_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp &= ~SDHC_BGCR_CONTR; - tmp |= value << SDHC_BGCR_CONTR_Pos; - ((Sdhc *)hw)->BGCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BGCR_CONTR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg &= ~SDHC_BGCR_CONTR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BGCR_CONTR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg ^= SDHC_BGCR_CONTR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_BGCR_RWCTRL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg |= SDHC_BGCR_RWCTRL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_BGCR_RWCTRL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp = (tmp & SDHC_BGCR_RWCTRL) >> SDHC_BGCR_RWCTRL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_BGCR_RWCTRL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp &= ~SDHC_BGCR_RWCTRL; - tmp |= value << SDHC_BGCR_RWCTRL_Pos; - ((Sdhc *)hw)->BGCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BGCR_RWCTRL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg &= ~SDHC_BGCR_RWCTRL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BGCR_RWCTRL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg ^= SDHC_BGCR_RWCTRL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_BGCR_INTBG_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg |= SDHC_BGCR_INTBG; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_BGCR_INTBG_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp = (tmp & SDHC_BGCR_INTBG) >> SDHC_BGCR_INTBG_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_BGCR_INTBG_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp &= ~SDHC_BGCR_INTBG; - tmp |= value << SDHC_BGCR_INTBG_Pos; - ((Sdhc *)hw)->BGCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BGCR_INTBG_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg &= ~SDHC_BGCR_INTBG; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BGCR_INTBG_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg ^= SDHC_BGCR_INTBG; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bgcr_reg_t hri_sdhc_get_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->BGCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->BGCR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_bgcr_reg_t hri_sdhc_read_BGCR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->BGCR.reg; -} - -static inline void hri_sdhc_set_WCR_WKENCINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg |= SDHC_WCR_WKENCINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_WCR_WKENCINT_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->WCR.reg; - tmp = (tmp & SDHC_WCR_WKENCINT) >> SDHC_WCR_WKENCINT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_WCR_WKENCINT_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->WCR.reg; - tmp &= ~SDHC_WCR_WKENCINT; - tmp |= value << SDHC_WCR_WKENCINT_Pos; - ((Sdhc *)hw)->WCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_WCR_WKENCINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg &= ~SDHC_WCR_WKENCINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_WCR_WKENCINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg ^= SDHC_WCR_WKENCINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_WCR_WKENCINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg |= SDHC_WCR_WKENCINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_WCR_WKENCINS_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->WCR.reg; - tmp = (tmp & SDHC_WCR_WKENCINS) >> SDHC_WCR_WKENCINS_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_WCR_WKENCINS_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->WCR.reg; - tmp &= ~SDHC_WCR_WKENCINS; - tmp |= value << SDHC_WCR_WKENCINS_Pos; - ((Sdhc *)hw)->WCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_WCR_WKENCINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg &= ~SDHC_WCR_WKENCINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_WCR_WKENCINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg ^= SDHC_WCR_WKENCINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_WCR_WKENCREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg |= SDHC_WCR_WKENCREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_WCR_WKENCREM_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->WCR.reg; - tmp = (tmp & SDHC_WCR_WKENCREM) >> SDHC_WCR_WKENCREM_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_WCR_WKENCREM_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->WCR.reg; - tmp &= ~SDHC_WCR_WKENCREM; - tmp |= value << SDHC_WCR_WKENCREM_Pos; - ((Sdhc *)hw)->WCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_WCR_WKENCREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg &= ~SDHC_WCR_WKENCREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_WCR_WKENCREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg ^= SDHC_WCR_WKENCREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_wcr_reg_t hri_sdhc_get_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->WCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->WCR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_wcr_reg_t hri_sdhc_read_WCR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->WCR.reg; -} - -static inline void hri_sdhc_set_CCR_INTCLKEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_INTCLKEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CCR_INTCLKEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp = (tmp & SDHC_CCR_INTCLKEN) >> SDHC_CCR_INTCLKEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CCR_INTCLKEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CCR.reg; - tmp &= ~SDHC_CCR_INTCLKEN; - tmp |= value << SDHC_CCR_INTCLKEN_Pos; - ((Sdhc *)hw)->CCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CCR_INTCLKEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_INTCLKEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CCR_INTCLKEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_INTCLKEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CCR_INTCLKS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_INTCLKS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CCR_INTCLKS_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp = (tmp & SDHC_CCR_INTCLKS) >> SDHC_CCR_INTCLKS_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CCR_INTCLKS_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CCR.reg; - tmp &= ~SDHC_CCR_INTCLKS; - tmp |= value << SDHC_CCR_INTCLKS_Pos; - ((Sdhc *)hw)->CCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CCR_INTCLKS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_INTCLKS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CCR_INTCLKS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_INTCLKS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CCR_SDCLKEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_SDCLKEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CCR_SDCLKEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp = (tmp & SDHC_CCR_SDCLKEN) >> SDHC_CCR_SDCLKEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CCR_SDCLKEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CCR.reg; - tmp &= ~SDHC_CCR_SDCLKEN; - tmp |= value << SDHC_CCR_SDCLKEN_Pos; - ((Sdhc *)hw)->CCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CCR_SDCLKEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_SDCLKEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CCR_SDCLKEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_SDCLKEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CCR_CLKGSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_CLKGSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CCR_CLKGSEL_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp = (tmp & SDHC_CCR_CLKGSEL) >> SDHC_CCR_CLKGSEL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CCR_CLKGSEL_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CCR.reg; - tmp &= ~SDHC_CCR_CLKGSEL; - tmp |= value << SDHC_CCR_CLKGSEL_Pos; - ((Sdhc *)hw)->CCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CCR_CLKGSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_CLKGSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CCR_CLKGSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_CLKGSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_USDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ccr_reg_t hri_sdhc_get_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp = (tmp & SDHC_CCR_USDCLKFSEL(mask)) >> SDHC_CCR_USDCLKFSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_write_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CCR.reg; - tmp &= ~SDHC_CCR_USDCLKFSEL_Msk; - tmp |= SDHC_CCR_USDCLKFSEL(data); - ((Sdhc *)hw)->CCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_USDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_USDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ccr_reg_t hri_sdhc_read_CCR_USDCLKFSEL_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp = (tmp & SDHC_CCR_USDCLKFSEL_Msk) >> SDHC_CCR_USDCLKFSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_set_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_SDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ccr_reg_t hri_sdhc_get_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp = (tmp & SDHC_CCR_SDCLKFSEL(mask)) >> SDHC_CCR_SDCLKFSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_write_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CCR.reg; - tmp &= ~SDHC_CCR_SDCLKFSEL_Msk; - tmp |= SDHC_CCR_SDCLKFSEL(data); - ((Sdhc *)hw)->CCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_SDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_SDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ccr_reg_t hri_sdhc_read_CCR_SDCLKFSEL_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp = (tmp & SDHC_CCR_SDCLKFSEL_Msk) >> SDHC_CCR_SDCLKFSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_set_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ccr_reg_t hri_sdhc_get_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->CCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CCR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_ccr_reg_t hri_sdhc_read_CCR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->CCR.reg; -} - -static inline void hri_sdhc_set_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TCR.reg |= SDHC_TCR_DTCVAL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_tcr_reg_t hri_sdhc_get_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->TCR.reg; - tmp = (tmp & SDHC_TCR_DTCVAL(mask)) >> SDHC_TCR_DTCVAL_Pos; - return tmp; -} - -static inline void hri_sdhc_write_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t data) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->TCR.reg; - tmp &= ~SDHC_TCR_DTCVAL_Msk; - tmp |= SDHC_TCR_DTCVAL(data); - ((Sdhc *)hw)->TCR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TCR.reg &= ~SDHC_TCR_DTCVAL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TCR.reg ^= SDHC_TCR_DTCVAL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_tcr_reg_t hri_sdhc_read_TCR_DTCVAL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->TCR.reg; - tmp = (tmp & SDHC_TCR_DTCVAL_Msk) >> SDHC_TCR_DTCVAL_Pos; - return tmp; -} - -static inline void hri_sdhc_set_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TCR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_tcr_reg_t hri_sdhc_get_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->TCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TCR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TCR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->TCR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_tcr_reg_t hri_sdhc_read_TCR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->TCR.reg; -} - -static inline void hri_sdhc_set_SRR_SWRSTALL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg |= SDHC_SRR_SWRSTALL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_SRR_SWRSTALL_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->SRR.reg; - tmp = (tmp & SDHC_SRR_SWRSTALL) >> SDHC_SRR_SWRSTALL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_SRR_SWRSTALL_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->SRR.reg; - tmp &= ~SDHC_SRR_SWRSTALL; - tmp |= value << SDHC_SRR_SWRSTALL_Pos; - ((Sdhc *)hw)->SRR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_SRR_SWRSTALL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg &= ~SDHC_SRR_SWRSTALL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_SRR_SWRSTALL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg ^= SDHC_SRR_SWRSTALL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_SRR_SWRSTCMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg |= SDHC_SRR_SWRSTCMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_SRR_SWRSTCMD_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->SRR.reg; - tmp = (tmp & SDHC_SRR_SWRSTCMD) >> SDHC_SRR_SWRSTCMD_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_SRR_SWRSTCMD_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->SRR.reg; - tmp &= ~SDHC_SRR_SWRSTCMD; - tmp |= value << SDHC_SRR_SWRSTCMD_Pos; - ((Sdhc *)hw)->SRR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_SRR_SWRSTCMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg &= ~SDHC_SRR_SWRSTCMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_SRR_SWRSTCMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg ^= SDHC_SRR_SWRSTCMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_SRR_SWRSTDAT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg |= SDHC_SRR_SWRSTDAT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_SRR_SWRSTDAT_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->SRR.reg; - tmp = (tmp & SDHC_SRR_SWRSTDAT) >> SDHC_SRR_SWRSTDAT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_SRR_SWRSTDAT_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->SRR.reg; - tmp &= ~SDHC_SRR_SWRSTDAT; - tmp |= value << SDHC_SRR_SWRSTDAT_Pos; - ((Sdhc *)hw)->SRR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_SRR_SWRSTDAT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg &= ~SDHC_SRR_SWRSTDAT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_SRR_SWRSTDAT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg ^= SDHC_SRR_SWRSTDAT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_srr_reg_t hri_sdhc_get_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->SRR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->SRR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_srr_reg_t hri_sdhc_read_SRR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->SRR.reg; -} - -static inline void hri_sdhc_set_NISTR_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_CMDC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_CMDC) >> SDHC_NISTR_CMDC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_CMDC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_CMDC; - tmp |= value << SDHC_NISTR_CMDC_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_TRFC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_TRFC) >> SDHC_NISTR_TRFC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_TRFC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_TRFC; - tmp |= value << SDHC_NISTR_TRFC_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_BLKGE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_BLKGE) >> SDHC_NISTR_BLKGE_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_BLKGE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_BLKGE; - tmp |= value << SDHC_NISTR_BLKGE_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_DMAINT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_DMAINT) >> SDHC_NISTR_DMAINT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_DMAINT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_DMAINT; - tmp |= value << SDHC_NISTR_DMAINT_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_BWRRDY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_BWRRDY) >> SDHC_NISTR_BWRRDY_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_BWRRDY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_BWRRDY; - tmp |= value << SDHC_NISTR_BWRRDY_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_BRDRDY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_BRDRDY) >> SDHC_NISTR_BRDRDY_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_BRDRDY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_BRDRDY; - tmp |= value << SDHC_NISTR_BRDRDY_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_CINS_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_CINS) >> SDHC_NISTR_CINS_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_CINS_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_CINS; - tmp |= value << SDHC_NISTR_CINS_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_CREM_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_CREM) >> SDHC_NISTR_CREM_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_CREM_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_CREM; - tmp |= value << SDHC_NISTR_CREM_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_CINT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_CINT) >> SDHC_NISTR_CINT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_CINT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_CINT; - tmp |= value << SDHC_NISTR_CINT_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_EMMC_BOOTAR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_EMMC_BOOTAR) >> SDHC_NISTR_EMMC_BOOTAR_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_EMMC_BOOTAR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_EMMC_BOOTAR; - tmp |= value << SDHC_NISTR_EMMC_BOOTAR_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_ERRINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_ERRINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTR_ERRINT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp = (tmp & SDHC_NISTR_ERRINT) >> SDHC_NISTR_ERRINT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTR_ERRINT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= ~SDHC_NISTR_ERRINT; - tmp |= value << SDHC_NISTR_ERRINT_Pos; - ((Sdhc *)hw)->NISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_ERRINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_ERRINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_ERRINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_ERRINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_nistr_reg_t hri_sdhc_get_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_nistr_reg_t hri_sdhc_read_NISTR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->NISTR.reg; -} - -static inline void hri_sdhc_set_EISTR_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_CMDTEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_CMDTEO) >> SDHC_EISTR_CMDTEO_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_CMDTEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_CMDTEO; - tmp |= value << SDHC_EISTR_CMDTEO_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_CMDCRC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_CMDCRC) >> SDHC_EISTR_CMDCRC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_CMDCRC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_CMDCRC; - tmp |= value << SDHC_EISTR_CMDCRC_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_CMDEND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_CMDEND) >> SDHC_EISTR_CMDEND_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_CMDEND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_CMDEND; - tmp |= value << SDHC_EISTR_CMDEND_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_CMDIDX_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_CMDIDX) >> SDHC_EISTR_CMDIDX_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_CMDIDX_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_CMDIDX; - tmp |= value << SDHC_EISTR_CMDIDX_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_DATTEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_DATTEO) >> SDHC_EISTR_DATTEO_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_DATTEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_DATTEO; - tmp |= value << SDHC_EISTR_DATTEO_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_DATCRC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_DATCRC) >> SDHC_EISTR_DATCRC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_DATCRC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_DATCRC; - tmp |= value << SDHC_EISTR_DATCRC_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_DATEND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_DATEND) >> SDHC_EISTR_DATEND_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_DATEND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_DATEND; - tmp |= value << SDHC_EISTR_DATEND_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_CURLIM_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_CURLIM) >> SDHC_EISTR_CURLIM_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_CURLIM_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_CURLIM; - tmp |= value << SDHC_EISTR_CURLIM_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_ACMD_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_ACMD) >> SDHC_EISTR_ACMD_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_ACMD_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_ACMD; - tmp |= value << SDHC_EISTR_ACMD_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_ADMA_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_ADMA) >> SDHC_EISTR_ADMA_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_ADMA_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_ADMA; - tmp |= value << SDHC_EISTR_ADMA_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTR_EMMC_BOOTAE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp = (tmp & SDHC_EISTR_EMMC_BOOTAE) >> SDHC_EISTR_EMMC_BOOTAE_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTR_EMMC_BOOTAE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= ~SDHC_EISTR_EMMC_BOOTAE; - tmp |= value << SDHC_EISTR_EMMC_BOOTAE_Pos; - ((Sdhc *)hw)->EISTR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_eistr_reg_t hri_sdhc_get_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_eistr_reg_t hri_sdhc_read_EISTR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->EISTR.reg; -} - -static inline void hri_sdhc_set_NISTER_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_CMDC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_CMDC) >> SDHC_NISTER_CMDC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_CMDC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_CMDC; - tmp |= value << SDHC_NISTER_CMDC_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_TRFC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_TRFC) >> SDHC_NISTER_TRFC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_TRFC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_TRFC; - tmp |= value << SDHC_NISTER_TRFC_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_BLKGE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_BLKGE) >> SDHC_NISTER_BLKGE_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_BLKGE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_BLKGE; - tmp |= value << SDHC_NISTER_BLKGE_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_DMAINT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_DMAINT) >> SDHC_NISTER_DMAINT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_DMAINT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_DMAINT; - tmp |= value << SDHC_NISTER_DMAINT_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_BWRRDY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_BWRRDY) >> SDHC_NISTER_BWRRDY_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_BWRRDY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_BWRRDY; - tmp |= value << SDHC_NISTER_BWRRDY_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_BRDRDY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_BRDRDY) >> SDHC_NISTER_BRDRDY_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_BRDRDY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_BRDRDY; - tmp |= value << SDHC_NISTER_BRDRDY_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_CINS_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_CINS) >> SDHC_NISTER_CINS_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_CINS_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_CINS; - tmp |= value << SDHC_NISTER_CINS_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_CREM_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_CREM) >> SDHC_NISTER_CREM_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_CREM_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_CREM; - tmp |= value << SDHC_NISTER_CREM_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_CINT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_CINT) >> SDHC_NISTER_CINT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_CINT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_CINT; - tmp |= value << SDHC_NISTER_CINT_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISTER_EMMC_BOOTAR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp = (tmp & SDHC_NISTER_EMMC_BOOTAR) >> SDHC_NISTER_EMMC_BOOTAR_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISTER_EMMC_BOOTAR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= ~SDHC_NISTER_EMMC_BOOTAR; - tmp |= value << SDHC_NISTER_EMMC_BOOTAR_Pos; - ((Sdhc *)hw)->NISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_nister_reg_t hri_sdhc_get_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISTER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISTER.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_nister_reg_t hri_sdhc_read_NISTER_reg(const void *const hw) -{ - return ((Sdhc *)hw)->NISTER.reg; -} - -static inline void hri_sdhc_set_EISTER_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_CMDTEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_CMDTEO) >> SDHC_EISTER_CMDTEO_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_CMDTEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_CMDTEO; - tmp |= value << SDHC_EISTER_CMDTEO_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_CMDCRC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_CMDCRC) >> SDHC_EISTER_CMDCRC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_CMDCRC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_CMDCRC; - tmp |= value << SDHC_EISTER_CMDCRC_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_CMDEND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_CMDEND) >> SDHC_EISTER_CMDEND_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_CMDEND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_CMDEND; - tmp |= value << SDHC_EISTER_CMDEND_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_CMDIDX_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_CMDIDX) >> SDHC_EISTER_CMDIDX_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_CMDIDX_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_CMDIDX; - tmp |= value << SDHC_EISTER_CMDIDX_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_DATTEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_DATTEO) >> SDHC_EISTER_DATTEO_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_DATTEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_DATTEO; - tmp |= value << SDHC_EISTER_DATTEO_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_DATCRC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_DATCRC) >> SDHC_EISTER_DATCRC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_DATCRC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_DATCRC; - tmp |= value << SDHC_EISTER_DATCRC_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_DATEND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_DATEND) >> SDHC_EISTER_DATEND_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_DATEND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_DATEND; - tmp |= value << SDHC_EISTER_DATEND_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_CURLIM_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_CURLIM) >> SDHC_EISTER_CURLIM_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_CURLIM_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_CURLIM; - tmp |= value << SDHC_EISTER_CURLIM_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_ACMD_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_ACMD) >> SDHC_EISTER_ACMD_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_ACMD_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_ACMD; - tmp |= value << SDHC_EISTER_ACMD_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_ADMA_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_ADMA) >> SDHC_EISTER_ADMA_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_ADMA_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_ADMA; - tmp |= value << SDHC_EISTER_ADMA_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISTER_EMMC_BOOTAE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp = (tmp & SDHC_EISTER_EMMC_BOOTAE) >> SDHC_EISTER_EMMC_BOOTAE_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISTER_EMMC_BOOTAE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= ~SDHC_EISTER_EMMC_BOOTAE; - tmp |= value << SDHC_EISTER_EMMC_BOOTAE_Pos; - ((Sdhc *)hw)->EISTER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_eister_reg_t hri_sdhc_get_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISTER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISTER.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_eister_reg_t hri_sdhc_read_EISTER_reg(const void *const hw) -{ - return ((Sdhc *)hw)->EISTER.reg; -} - -static inline void hri_sdhc_set_NISIER_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_CMDC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_CMDC) >> SDHC_NISIER_CMDC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_CMDC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_CMDC; - tmp |= value << SDHC_NISIER_CMDC_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_CMDC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_CMDC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_TRFC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_TRFC) >> SDHC_NISIER_TRFC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_TRFC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_TRFC; - tmp |= value << SDHC_NISIER_TRFC_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_TRFC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_TRFC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_BLKGE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_BLKGE) >> SDHC_NISIER_BLKGE_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_BLKGE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_BLKGE; - tmp |= value << SDHC_NISIER_BLKGE_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_BLKGE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_BLKGE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_DMAINT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_DMAINT) >> SDHC_NISIER_DMAINT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_DMAINT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_DMAINT; - tmp |= value << SDHC_NISIER_DMAINT_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_DMAINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_DMAINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_BWRRDY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_BWRRDY) >> SDHC_NISIER_BWRRDY_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_BWRRDY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_BWRRDY; - tmp |= value << SDHC_NISIER_BWRRDY_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_BWRRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_BWRRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_BRDRDY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_BRDRDY) >> SDHC_NISIER_BRDRDY_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_BRDRDY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_BRDRDY; - tmp |= value << SDHC_NISIER_BRDRDY_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_BRDRDY_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_BRDRDY; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_CINS_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_CINS) >> SDHC_NISIER_CINS_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_CINS_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_CINS; - tmp |= value << SDHC_NISIER_CINS_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_CINS_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_CINS; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_CREM_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_CREM) >> SDHC_NISIER_CREM_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_CREM_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_CREM; - tmp |= value << SDHC_NISIER_CREM_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_CREM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_CREM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_CINT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_CINT) >> SDHC_NISIER_CINT_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_CINT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_CINT; - tmp |= value << SDHC_NISIER_CINT_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_CINT_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_CINT; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_NISIER_EMMC_BOOTAR_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp = (tmp & SDHC_NISIER_EMMC_BOOTAR) >> SDHC_NISIER_EMMC_BOOTAR_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_NISIER_EMMC_BOOTAR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= ~SDHC_NISIER_EMMC_BOOTAR; - tmp |= value << SDHC_NISIER_EMMC_BOOTAR_Pos; - ((Sdhc *)hw)->NISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_EMMC_BOOTAR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_EMMC_BOOTAR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_nisier_reg_t hri_sdhc_get_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->NISIER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->NISIER.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_nisier_reg_t hri_sdhc_read_NISIER_reg(const void *const hw) -{ - return ((Sdhc *)hw)->NISIER.reg; -} - -static inline void hri_sdhc_set_EISIER_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_CMDTEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_CMDTEO) >> SDHC_EISIER_CMDTEO_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_CMDTEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_CMDTEO; - tmp |= value << SDHC_EISIER_CMDTEO_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_CMDTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CMDTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_CMDCRC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_CMDCRC) >> SDHC_EISIER_CMDCRC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_CMDCRC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_CMDCRC; - tmp |= value << SDHC_EISIER_CMDCRC_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_CMDCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CMDCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_CMDEND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_CMDEND) >> SDHC_EISIER_CMDEND_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_CMDEND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_CMDEND; - tmp |= value << SDHC_EISIER_CMDEND_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_CMDEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CMDEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_CMDIDX_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_CMDIDX) >> SDHC_EISIER_CMDIDX_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_CMDIDX_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_CMDIDX; - tmp |= value << SDHC_EISIER_CMDIDX_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_CMDIDX_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CMDIDX; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_DATTEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_DATTEO) >> SDHC_EISIER_DATTEO_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_DATTEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_DATTEO; - tmp |= value << SDHC_EISIER_DATTEO_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_DATTEO_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_DATTEO; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_DATCRC_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_DATCRC) >> SDHC_EISIER_DATCRC_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_DATCRC_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_DATCRC; - tmp |= value << SDHC_EISIER_DATCRC_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_DATCRC_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_DATCRC; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_DATEND_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_DATEND) >> SDHC_EISIER_DATEND_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_DATEND_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_DATEND; - tmp |= value << SDHC_EISIER_DATEND_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_DATEND_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_DATEND; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_CURLIM_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_CURLIM) >> SDHC_EISIER_CURLIM_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_CURLIM_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_CURLIM; - tmp |= value << SDHC_EISIER_CURLIM_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_CURLIM_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CURLIM; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_ACMD_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_ACMD) >> SDHC_EISIER_ACMD_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_ACMD_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_ACMD; - tmp |= value << SDHC_EISIER_ACMD_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_ACMD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_ACMD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_ADMA_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_ADMA) >> SDHC_EISIER_ADMA_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_ADMA_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_ADMA; - tmp |= value << SDHC_EISIER_ADMA_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_ADMA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_ADMA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_EISIER_EMMC_BOOTAE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp = (tmp & SDHC_EISIER_EMMC_BOOTAE) >> SDHC_EISIER_EMMC_BOOTAE_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_EISIER_EMMC_BOOTAE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= ~SDHC_EISIER_EMMC_BOOTAE; - tmp |= value << SDHC_EISIER_EMMC_BOOTAE_Pos; - ((Sdhc *)hw)->EISIER.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_EMMC_BOOTAE_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_EMMC_BOOTAE; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_eisier_reg_t hri_sdhc_get_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->EISIER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->EISIER.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_eisier_reg_t hri_sdhc_read_EISIER_reg(const void *const hw) -{ - return ((Sdhc *)hw)->EISIER.reg; -} - -static inline void hri_sdhc_set_HC2R_VS18EN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_VS18EN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC2R_VS18EN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_VS18EN) >> SDHC_HC2R_VS18EN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC2R_VS18EN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= ~SDHC_HC2R_VS18EN; - tmp |= value << SDHC_HC2R_VS18EN_Pos; - ((Sdhc *)hw)->HC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_VS18EN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_VS18EN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_VS18EN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_VS18EN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC2R_EXTUN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_EXTUN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC2R_EXTUN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_EXTUN) >> SDHC_HC2R_EXTUN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC2R_EXTUN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= ~SDHC_HC2R_EXTUN; - tmp |= value << SDHC_HC2R_EXTUN_Pos; - ((Sdhc *)hw)->HC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_EXTUN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_EXTUN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_EXTUN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_EXTUN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC2R_SLCKSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_SLCKSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC2R_SLCKSEL_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_SLCKSEL) >> SDHC_HC2R_SLCKSEL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC2R_SLCKSEL_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= ~SDHC_HC2R_SLCKSEL; - tmp |= value << SDHC_HC2R_SLCKSEL_Pos; - ((Sdhc *)hw)->HC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_SLCKSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_SLCKSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_SLCKSEL_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_SLCKSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC2R_ASINTEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_ASINTEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC2R_ASINTEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_ASINTEN) >> SDHC_HC2R_ASINTEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC2R_ASINTEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= ~SDHC_HC2R_ASINTEN; - tmp |= value << SDHC_HC2R_ASINTEN_Pos; - ((Sdhc *)hw)->HC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_ASINTEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_ASINTEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_ASINTEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_ASINTEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC2R_PVALEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_PVALEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_HC2R_PVALEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_PVALEN) >> SDHC_HC2R_PVALEN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_HC2R_PVALEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= ~SDHC_HC2R_PVALEN; - tmp |= value << SDHC_HC2R_PVALEN_Pos; - ((Sdhc *)hw)->HC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_PVALEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_PVALEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_PVALEN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_PVALEN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_UHSMS(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc2r_reg_t hri_sdhc_get_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_UHSMS(mask)) >> SDHC_HC2R_UHSMS_Pos; - return tmp; -} - -static inline void hri_sdhc_write_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= ~SDHC_HC2R_UHSMS_Msk; - tmp |= SDHC_HC2R_UHSMS(data); - ((Sdhc *)hw)->HC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_UHSMS(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_UHSMS(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc2r_reg_t hri_sdhc_read_HC2R_UHSMS_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_UHSMS_Msk) >> SDHC_HC2R_UHSMS_Pos; - return tmp; -} - -static inline void hri_sdhc_set_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_EMMC_HS200EN(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc2r_reg_t hri_sdhc_get_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_EMMC_HS200EN(mask)) >> SDHC_HC2R_EMMC_HS200EN_Pos; - return tmp; -} - -static inline void hri_sdhc_write_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= ~SDHC_HC2R_EMMC_HS200EN_Msk; - tmp |= SDHC_HC2R_EMMC_HS200EN(data); - ((Sdhc *)hw)->HC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_EMMC_HS200EN(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_EMMC_HS200EN(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc2r_reg_t hri_sdhc_read_HC2R_EMMC_HS200EN_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_EMMC_HS200EN_Msk) >> SDHC_HC2R_EMMC_HS200EN_Pos; - return tmp; -} - -static inline void hri_sdhc_set_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_DRVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc2r_reg_t hri_sdhc_get_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_DRVSEL(mask)) >> SDHC_HC2R_DRVSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_write_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= ~SDHC_HC2R_DRVSEL_Msk; - tmp |= SDHC_HC2R_DRVSEL(data); - ((Sdhc *)hw)->HC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_DRVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_DRVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc2r_reg_t hri_sdhc_read_HC2R_DRVSEL_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp = (tmp & SDHC_HC2R_DRVSEL_Msk) >> SDHC_HC2R_DRVSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_set_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc2r_reg_t hri_sdhc_get_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->HC2R.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->HC2R.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_hc2r_reg_t hri_sdhc_read_HC2R_reg(const void *const hw) -{ - return ((Sdhc *)hw)->HC2R.reg; -} - -static inline void hri_sdhc_set_ASAR_ADMASA_bf(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ASAR[index].reg |= SDHC_ASAR_ADMASA(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_asar_reg_t hri_sdhc_get_ASAR_ADMASA_bf(const void *const hw, uint8_t index, - hri_sdhc_asar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ASAR[index].reg; - tmp = (tmp & SDHC_ASAR_ADMASA(mask)) >> SDHC_ASAR_ADMASA_Pos; - return tmp; -} - -static inline void hri_sdhc_write_ASAR_ADMASA_bf(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t data) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->ASAR[index].reg; - tmp &= ~SDHC_ASAR_ADMASA_Msk; - tmp |= SDHC_ASAR_ADMASA(data); - ((Sdhc *)hw)->ASAR[index].reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_ASAR_ADMASA_bf(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ASAR[index].reg &= ~SDHC_ASAR_ADMASA(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_ASAR_ADMASA_bf(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ASAR[index].reg ^= SDHC_ASAR_ADMASA(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_asar_reg_t hri_sdhc_read_ASAR_ADMASA_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ASAR[index].reg; - tmp = (tmp & SDHC_ASAR_ADMASA_Msk) >> SDHC_ASAR_ADMASA_Pos; - return tmp; -} - -static inline void hri_sdhc_set_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ASAR[index].reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_asar_reg_t hri_sdhc_get_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ASAR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ASAR[index].reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ASAR[index].reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ASAR[index].reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_asar_reg_t hri_sdhc_read_ASAR_reg(const void *const hw, uint8_t index) -{ - return ((Sdhc *)hw)->ASAR[index].reg; -} - -static inline void hri_sdhc_set_PVR_CLKGSEL_bit(const void *const hw, uint8_t index) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg |= SDHC_PVR_CLKGSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_PVR_CLKGSEL_bit(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp = (tmp & SDHC_PVR_CLKGSEL) >> SDHC_PVR_CLKGSEL_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_PVR_CLKGSEL_bit(const void *const hw, uint8_t index, bool value) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp &= ~SDHC_PVR_CLKGSEL; - tmp |= value << SDHC_PVR_CLKGSEL_Pos; - ((Sdhc *)hw)->PVR[index].reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_PVR_CLKGSEL_bit(const void *const hw, uint8_t index) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg &= ~SDHC_PVR_CLKGSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_PVR_CLKGSEL_bit(const void *const hw, uint8_t index) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg ^= SDHC_PVR_CLKGSEL; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg |= SDHC_PVR_SDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pvr_reg_t hri_sdhc_get_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, - hri_sdhc_pvr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp = (tmp & SDHC_PVR_SDCLKFSEL(mask)) >> SDHC_PVR_SDCLKFSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_write_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp &= ~SDHC_PVR_SDCLKFSEL_Msk; - tmp |= SDHC_PVR_SDCLKFSEL(data); - ((Sdhc *)hw)->PVR[index].reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg &= ~SDHC_PVR_SDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg ^= SDHC_PVR_SDCLKFSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pvr_reg_t hri_sdhc_read_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp = (tmp & SDHC_PVR_SDCLKFSEL_Msk) >> SDHC_PVR_SDCLKFSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_set_PVR_DRVSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg |= SDHC_PVR_DRVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pvr_reg_t hri_sdhc_get_PVR_DRVSEL_bf(const void *const hw, uint8_t index, - hri_sdhc_pvr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp = (tmp & SDHC_PVR_DRVSEL(mask)) >> SDHC_PVR_DRVSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_write_PVR_DRVSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t data) -{ - uint16_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp &= ~SDHC_PVR_DRVSEL_Msk; - tmp |= SDHC_PVR_DRVSEL(data); - ((Sdhc *)hw)->PVR[index].reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_PVR_DRVSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg &= ~SDHC_PVR_DRVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_PVR_DRVSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg ^= SDHC_PVR_DRVSEL(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pvr_reg_t hri_sdhc_read_PVR_DRVSEL_bf(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp = (tmp & SDHC_PVR_DRVSEL_Msk) >> SDHC_PVR_DRVSEL_Pos; - return tmp; -} - -static inline void hri_sdhc_set_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pvr_reg_t hri_sdhc_get_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sdhc *)hw)->PVR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->PVR[index].reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_pvr_reg_t hri_sdhc_read_PVR_reg(const void *const hw, uint8_t index) -{ - return ((Sdhc *)hw)->PVR[index].reg; -} - -static inline void hri_sdhc_set_MC1R_DDR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_DDR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_MC1R_DDR_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp = (tmp & SDHC_MC1R_DDR) >> SDHC_MC1R_DDR_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_MC1R_DDR_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp &= ~SDHC_MC1R_DDR; - tmp |= value << SDHC_MC1R_DDR_Pos; - ((Sdhc *)hw)->MC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_MC1R_DDR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_DDR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_MC1R_DDR_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_DDR; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_MC1R_OPD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_OPD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_MC1R_OPD_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp = (tmp & SDHC_MC1R_OPD) >> SDHC_MC1R_OPD_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_MC1R_OPD_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp &= ~SDHC_MC1R_OPD; - tmp |= value << SDHC_MC1R_OPD_Pos; - ((Sdhc *)hw)->MC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_MC1R_OPD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_OPD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_MC1R_OPD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_OPD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_MC1R_BOOTA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_BOOTA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_MC1R_BOOTA_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp = (tmp & SDHC_MC1R_BOOTA) >> SDHC_MC1R_BOOTA_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_MC1R_BOOTA_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp &= ~SDHC_MC1R_BOOTA; - tmp |= value << SDHC_MC1R_BOOTA_Pos; - ((Sdhc *)hw)->MC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_MC1R_BOOTA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_BOOTA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_MC1R_BOOTA_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_BOOTA; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_MC1R_RSTN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_RSTN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_MC1R_RSTN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp = (tmp & SDHC_MC1R_RSTN) >> SDHC_MC1R_RSTN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_MC1R_RSTN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp &= ~SDHC_MC1R_RSTN; - tmp |= value << SDHC_MC1R_RSTN_Pos; - ((Sdhc *)hw)->MC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_MC1R_RSTN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_RSTN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_MC1R_RSTN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_RSTN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_MC1R_FCD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_FCD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_MC1R_FCD_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp = (tmp & SDHC_MC1R_FCD) >> SDHC_MC1R_FCD_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_MC1R_FCD_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp &= ~SDHC_MC1R_FCD; - tmp |= value << SDHC_MC1R_FCD_Pos; - ((Sdhc *)hw)->MC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_MC1R_FCD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_FCD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_MC1R_FCD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_FCD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_CMDTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_mc1r_reg_t hri_sdhc_get_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp = (tmp & SDHC_MC1R_CMDTYP(mask)) >> SDHC_MC1R_CMDTYP_Pos; - return tmp; -} - -static inline void hri_sdhc_write_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t data) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp &= ~SDHC_MC1R_CMDTYP_Msk; - tmp |= SDHC_MC1R_CMDTYP(data); - ((Sdhc *)hw)->MC1R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_CMDTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_CMDTYP(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_mc1r_reg_t hri_sdhc_read_MC1R_CMDTYP_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp = (tmp & SDHC_MC1R_CMDTYP_Msk) >> SDHC_MC1R_CMDTYP_Pos; - return tmp; -} - -static inline void hri_sdhc_set_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_mc1r_reg_t hri_sdhc_get_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->MC1R.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC1R.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_mc1r_reg_t hri_sdhc_read_MC1R_reg(const void *const hw) -{ - return ((Sdhc *)hw)->MC1R.reg; -} - -static inline void hri_sdhc_set_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ACR.reg |= SDHC_ACR_BMAX(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_acr_reg_t hri_sdhc_get_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ACR.reg; - tmp = (tmp & SDHC_ACR_BMAX(mask)) >> SDHC_ACR_BMAX_Pos; - return tmp; -} - -static inline void hri_sdhc_write_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t data) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->ACR.reg; - tmp &= ~SDHC_ACR_BMAX_Msk; - tmp |= SDHC_ACR_BMAX(data); - ((Sdhc *)hw)->ACR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ACR.reg &= ~SDHC_ACR_BMAX(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ACR.reg ^= SDHC_ACR_BMAX(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_acr_reg_t hri_sdhc_read_ACR_BMAX_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ACR.reg; - tmp = (tmp & SDHC_ACR_BMAX_Msk) >> SDHC_ACR_BMAX_Pos; - return tmp; -} - -static inline void hri_sdhc_set_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ACR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_acr_reg_t hri_sdhc_get_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->ACR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ACR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ACR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->ACR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_acr_reg_t hri_sdhc_read_ACR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->ACR.reg; -} - -static inline void hri_sdhc_set_CC2R_FSDCLKD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CC2R.reg |= SDHC_CC2R_FSDCLKD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CC2R_FSDCLKD_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->CC2R.reg; - tmp = (tmp & SDHC_CC2R_FSDCLKD) >> SDHC_CC2R_FSDCLKD_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CC2R_FSDCLKD_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CC2R.reg; - tmp &= ~SDHC_CC2R_FSDCLKD; - tmp |= value << SDHC_CC2R_FSDCLKD_Pos; - ((Sdhc *)hw)->CC2R.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CC2R_FSDCLKD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CC2R.reg &= ~SDHC_CC2R_FSDCLKD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CC2R_FSDCLKD_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CC2R.reg ^= SDHC_CC2R_FSDCLKD; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CC2R.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cc2r_reg_t hri_sdhc_get_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->CC2R.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CC2R.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CC2R.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CC2R.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cc2r_reg_t hri_sdhc_read_CC2R_reg(const void *const hw) -{ - return ((Sdhc *)hw)->CC2R.reg; -} - -static inline void hri_sdhc_set_CACR_CAPWREN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg |= SDHC_CACR_CAPWREN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_CACR_CAPWREN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->CACR.reg; - tmp = (tmp & SDHC_CACR_CAPWREN) >> SDHC_CACR_CAPWREN_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_CACR_CAPWREN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CACR.reg; - tmp &= ~SDHC_CACR_CAPWREN; - tmp |= value << SDHC_CACR_CAPWREN_Pos; - ((Sdhc *)hw)->CACR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CACR_CAPWREN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg &= ~SDHC_CACR_CAPWREN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CACR_CAPWREN_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg ^= SDHC_CACR_CAPWREN; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg |= SDHC_CACR_KEY(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cacr_reg_t hri_sdhc_get_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->CACR.reg; - tmp = (tmp & SDHC_CACR_KEY(mask)) >> SDHC_CACR_KEY_Pos; - return tmp; -} - -static inline void hri_sdhc_write_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t data) -{ - uint32_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->CACR.reg; - tmp &= ~SDHC_CACR_KEY_Msk; - tmp |= SDHC_CACR_KEY(data); - ((Sdhc *)hw)->CACR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg &= ~SDHC_CACR_KEY(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg ^= SDHC_CACR_KEY(mask); - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cacr_reg_t hri_sdhc_read_CACR_KEY_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->CACR.reg; - tmp = (tmp & SDHC_CACR_KEY_Msk) >> SDHC_CACR_KEY_Pos; - return tmp; -} - -static inline void hri_sdhc_set_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cacr_reg_t hri_sdhc_get_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sdhc *)hw)->CACR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->CACR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_cacr_reg_t hri_sdhc_read_CACR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->CACR.reg; -} - -static inline void hri_sdhc_set_DBGR_NIDBG_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->DBGR.reg |= SDHC_DBGR_NIDBG; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sdhc_get_DBGR_NIDBG_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->DBGR.reg; - tmp = (tmp & SDHC_DBGR_NIDBG) >> SDHC_DBGR_NIDBG_Pos; - return (bool)tmp; -} - -static inline void hri_sdhc_write_DBGR_NIDBG_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SDHC_CRITICAL_SECTION_ENTER(); - tmp = ((Sdhc *)hw)->DBGR.reg; - tmp &= ~SDHC_DBGR_NIDBG; - tmp |= value << SDHC_DBGR_NIDBG_Pos; - ((Sdhc *)hw)->DBGR.reg = tmp; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_DBGR_NIDBG_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->DBGR.reg &= ~SDHC_DBGR_NIDBG; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_DBGR_NIDBG_bit(const void *const hw) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->DBGR.reg ^= SDHC_DBGR_NIDBG; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_set_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->DBGR.reg |= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_dbgr_reg_t hri_sdhc_get_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sdhc *)hw)->DBGR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sdhc_write_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->DBGR.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_clear_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->DBGR.reg &= ~mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_toggle_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t mask) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->DBGR.reg ^= mask; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sdhc_dbgr_reg_t hri_sdhc_read_DBGR_reg(const void *const hw) -{ - return ((Sdhc *)hw)->DBGR.reg; -} - -static inline void hri_sdhc_write_FERACES_reg(const void *const hw, hri_sdhc_feraces_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->FERACES.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_write_FEREIS_reg(const void *const hw, hri_sdhc_fereis_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->FEREIS.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sdhc_write_MC2R_reg(const void *const hw, hri_sdhc_mc2r_reg_t data) -{ - SDHC_CRITICAL_SECTION_ENTER(); - ((Sdhc *)hw)->MC2R.reg = data; - SDHC_CRITICAL_SECTION_LEAVE(); -} - -/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */ -#define hri_sdhc_set_SSAR_CMD23_reg(a, b) hri_sdhc_set_SSAR_reg(a, b) -#define hri_sdhc_get_SSAR_CMD23_reg(a, b) hri_sdhc_get_SSAR_reg(a, b) -#define hri_sdhc_write_SSAR_CMD23_reg(a, b) hri_sdhc_write_SSAR_reg(a, b) -#define hri_sdhc_clear_SSAR_CMD23_reg(a, b) hri_sdhc_clear_SSAR_reg(a, b) -#define hri_sdhc_toggle_SSAR_CMD23_reg(a, b) hri_sdhc_toggle_SSAR_reg(a, b) -#define hri_sdhc_read_SSAR_CMD23_reg(a) hri_sdhc_read_SSAR_reg(a) -#define hri_sdhc_set_HC1R_EMMC_DW_bit(a) hri_sdhc_set_HC1R_DW_bit(a) -#define hri_sdhc_get_HC1R_EMMC_DW_bit(a) hri_sdhc_get_HC1R_DW_bit(a) -#define hri_sdhc_write_HC1R_EMMC_DW_bit(a, b) hri_sdhc_write_HC1R_DW_bit(a, b) -#define hri_sdhc_clear_HC1R_EMMC_DW_bit(a) hri_sdhc_clear_HC1R_DW_bit(a) -#define hri_sdhc_toggle_HC1R_EMMC_DW_bit(a) hri_sdhc_toggle_HC1R_DW_bit(a) -#define hri_sdhc_set_HC1R_EMMC_HSEN_bit(a) hri_sdhc_set_HC1R_HSEN_bit(a) -#define hri_sdhc_get_HC1R_EMMC_HSEN_bit(a) hri_sdhc_get_HC1R_HSEN_bit(a) -#define hri_sdhc_write_HC1R_EMMC_HSEN_bit(a, b) hri_sdhc_write_HC1R_HSEN_bit(a, b) -#define hri_sdhc_clear_HC1R_EMMC_HSEN_bit(a) hri_sdhc_clear_HC1R_HSEN_bit(a) -#define hri_sdhc_toggle_HC1R_EMMC_HSEN_bit(a) hri_sdhc_toggle_HC1R_HSEN_bit(a) -#define hri_sdhc_set_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_set_HC1R_DMASEL_bf(a, b) -#define hri_sdhc_get_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_get_HC1R_DMASEL_bf(a, b) -#define hri_sdhc_write_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_write_HC1R_DMASEL_bf(a, b) -#define hri_sdhc_clear_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_clear_HC1R_DMASEL_bf(a, b) -#define hri_sdhc_toggle_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_toggle_HC1R_DMASEL_bf(a, b) -#define hri_sdhc_read_HC1R_EMMC_DMASEL_bf(a) hri_sdhc_read_HC1R_DMASEL_bf(a) -#define hri_sdhc_set_HC1R_EMMC_reg(a, b) hri_sdhc_set_HC1R_reg(a, b) -#define hri_sdhc_get_HC1R_EMMC_reg(a, b) hri_sdhc_get_HC1R_reg(a, b) -#define hri_sdhc_write_HC1R_EMMC_reg(a, b) hri_sdhc_write_HC1R_reg(a, b) -#define hri_sdhc_clear_HC1R_EMMC_reg(a, b) hri_sdhc_clear_HC1R_reg(a, b) -#define hri_sdhc_toggle_HC1R_EMMC_reg(a, b) hri_sdhc_toggle_HC1R_reg(a, b) -#define hri_sdhc_read_HC1R_EMMC_reg(a) hri_sdhc_read_HC1R_reg(a) -#define hri_sdhc_set_BGCR_EMMC_STPBGR_bit(a) hri_sdhc_set_BGCR_STPBGR_bit(a) -#define hri_sdhc_get_BGCR_EMMC_STPBGR_bit(a) hri_sdhc_get_BGCR_STPBGR_bit(a) -#define hri_sdhc_write_BGCR_EMMC_STPBGR_bit(a, b) hri_sdhc_write_BGCR_STPBGR_bit(a, b) -#define hri_sdhc_clear_BGCR_EMMC_STPBGR_bit(a) hri_sdhc_clear_BGCR_STPBGR_bit(a) -#define hri_sdhc_toggle_BGCR_EMMC_STPBGR_bit(a) hri_sdhc_toggle_BGCR_STPBGR_bit(a) -#define hri_sdhc_set_BGCR_EMMC_CONTR_bit(a) hri_sdhc_set_BGCR_CONTR_bit(a) -#define hri_sdhc_get_BGCR_EMMC_CONTR_bit(a) hri_sdhc_get_BGCR_CONTR_bit(a) -#define hri_sdhc_write_BGCR_EMMC_CONTR_bit(a, b) hri_sdhc_write_BGCR_CONTR_bit(a, b) -#define hri_sdhc_clear_BGCR_EMMC_CONTR_bit(a) hri_sdhc_clear_BGCR_CONTR_bit(a) -#define hri_sdhc_toggle_BGCR_EMMC_CONTR_bit(a) hri_sdhc_toggle_BGCR_CONTR_bit(a) -#define hri_sdhc_set_BGCR_EMMC_reg(a, b) hri_sdhc_set_BGCR_reg(a, b) -#define hri_sdhc_get_BGCR_EMMC_reg(a, b) hri_sdhc_get_BGCR_reg(a, b) -#define hri_sdhc_write_BGCR_EMMC_reg(a, b) hri_sdhc_write_BGCR_reg(a, b) -#define hri_sdhc_clear_BGCR_EMMC_reg(a, b) hri_sdhc_clear_BGCR_reg(a, b) -#define hri_sdhc_toggle_BGCR_EMMC_reg(a, b) hri_sdhc_toggle_BGCR_reg(a, b) -#define hri_sdhc_read_BGCR_EMMC_reg(a) hri_sdhc_read_BGCR_reg(a) -#define hri_sdhc_set_NISTR_EMMC_CMDC_bit(a) hri_sdhc_set_NISTR_CMDC_bit(a) -#define hri_sdhc_get_NISTR_EMMC_CMDC_bit(a) hri_sdhc_get_NISTR_CMDC_bit(a) -#define hri_sdhc_write_NISTR_EMMC_CMDC_bit(a, b) hri_sdhc_write_NISTR_CMDC_bit(a, b) -#define hri_sdhc_clear_NISTR_EMMC_CMDC_bit(a) hri_sdhc_clear_NISTR_CMDC_bit(a) -#define hri_sdhc_toggle_NISTR_EMMC_CMDC_bit(a) hri_sdhc_toggle_NISTR_CMDC_bit(a) -#define hri_sdhc_set_NISTR_EMMC_TRFC_bit(a) hri_sdhc_set_NISTR_TRFC_bit(a) -#define hri_sdhc_get_NISTR_EMMC_TRFC_bit(a) hri_sdhc_get_NISTR_TRFC_bit(a) -#define hri_sdhc_write_NISTR_EMMC_TRFC_bit(a, b) hri_sdhc_write_NISTR_TRFC_bit(a, b) -#define hri_sdhc_clear_NISTR_EMMC_TRFC_bit(a) hri_sdhc_clear_NISTR_TRFC_bit(a) -#define hri_sdhc_toggle_NISTR_EMMC_TRFC_bit(a) hri_sdhc_toggle_NISTR_TRFC_bit(a) -#define hri_sdhc_set_NISTR_EMMC_BLKGE_bit(a) hri_sdhc_set_NISTR_BLKGE_bit(a) -#define hri_sdhc_get_NISTR_EMMC_BLKGE_bit(a) hri_sdhc_get_NISTR_BLKGE_bit(a) -#define hri_sdhc_write_NISTR_EMMC_BLKGE_bit(a, b) hri_sdhc_write_NISTR_BLKGE_bit(a, b) -#define hri_sdhc_clear_NISTR_EMMC_BLKGE_bit(a) hri_sdhc_clear_NISTR_BLKGE_bit(a) -#define hri_sdhc_toggle_NISTR_EMMC_BLKGE_bit(a) hri_sdhc_toggle_NISTR_BLKGE_bit(a) -#define hri_sdhc_set_NISTR_EMMC_DMAINT_bit(a) hri_sdhc_set_NISTR_DMAINT_bit(a) -#define hri_sdhc_get_NISTR_EMMC_DMAINT_bit(a) hri_sdhc_get_NISTR_DMAINT_bit(a) -#define hri_sdhc_write_NISTR_EMMC_DMAINT_bit(a, b) hri_sdhc_write_NISTR_DMAINT_bit(a, b) -#define hri_sdhc_clear_NISTR_EMMC_DMAINT_bit(a) hri_sdhc_clear_NISTR_DMAINT_bit(a) -#define hri_sdhc_toggle_NISTR_EMMC_DMAINT_bit(a) hri_sdhc_toggle_NISTR_DMAINT_bit(a) -#define hri_sdhc_set_NISTR_EMMC_BWRRDY_bit(a) hri_sdhc_set_NISTR_BWRRDY_bit(a) -#define hri_sdhc_get_NISTR_EMMC_BWRRDY_bit(a) hri_sdhc_get_NISTR_BWRRDY_bit(a) -#define hri_sdhc_write_NISTR_EMMC_BWRRDY_bit(a, b) hri_sdhc_write_NISTR_BWRRDY_bit(a, b) -#define hri_sdhc_clear_NISTR_EMMC_BWRRDY_bit(a) hri_sdhc_clear_NISTR_BWRRDY_bit(a) -#define hri_sdhc_toggle_NISTR_EMMC_BWRRDY_bit(a) hri_sdhc_toggle_NISTR_BWRRDY_bit(a) -#define hri_sdhc_set_NISTR_EMMC_BRDRDY_bit(a) hri_sdhc_set_NISTR_BRDRDY_bit(a) -#define hri_sdhc_get_NISTR_EMMC_BRDRDY_bit(a) hri_sdhc_get_NISTR_BRDRDY_bit(a) -#define hri_sdhc_write_NISTR_EMMC_BRDRDY_bit(a, b) hri_sdhc_write_NISTR_BRDRDY_bit(a, b) -#define hri_sdhc_clear_NISTR_EMMC_BRDRDY_bit(a) hri_sdhc_clear_NISTR_BRDRDY_bit(a) -#define hri_sdhc_toggle_NISTR_EMMC_BRDRDY_bit(a) hri_sdhc_toggle_NISTR_BRDRDY_bit(a) -#define hri_sdhc_set_NISTR_EMMC_ERRINT_bit(a) hri_sdhc_set_NISTR_ERRINT_bit(a) -#define hri_sdhc_get_NISTR_EMMC_ERRINT_bit(a) hri_sdhc_get_NISTR_ERRINT_bit(a) -#define hri_sdhc_write_NISTR_EMMC_ERRINT_bit(a, b) hri_sdhc_write_NISTR_ERRINT_bit(a, b) -#define hri_sdhc_clear_NISTR_EMMC_ERRINT_bit(a) hri_sdhc_clear_NISTR_ERRINT_bit(a) -#define hri_sdhc_toggle_NISTR_EMMC_ERRINT_bit(a) hri_sdhc_toggle_NISTR_ERRINT_bit(a) -#define hri_sdhc_set_NISTR_EMMC_reg(a, b) hri_sdhc_set_NISTR_reg(a, b) -#define hri_sdhc_get_NISTR_EMMC_reg(a, b) hri_sdhc_get_NISTR_reg(a, b) -#define hri_sdhc_write_NISTR_EMMC_reg(a, b) hri_sdhc_write_NISTR_reg(a, b) -#define hri_sdhc_clear_NISTR_EMMC_reg(a, b) hri_sdhc_clear_NISTR_reg(a, b) -#define hri_sdhc_toggle_NISTR_EMMC_reg(a, b) hri_sdhc_toggle_NISTR_reg(a, b) -#define hri_sdhc_read_NISTR_EMMC_reg(a) hri_sdhc_read_NISTR_reg(a) -#define hri_sdhc_set_EISTR_EMMC_CMDTEO_bit(a) hri_sdhc_set_EISTR_CMDTEO_bit(a) -#define hri_sdhc_get_EISTR_EMMC_CMDTEO_bit(a) hri_sdhc_get_EISTR_CMDTEO_bit(a) -#define hri_sdhc_write_EISTR_EMMC_CMDTEO_bit(a, b) hri_sdhc_write_EISTR_CMDTEO_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_CMDTEO_bit(a) hri_sdhc_clear_EISTR_CMDTEO_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_CMDTEO_bit(a) hri_sdhc_toggle_EISTR_CMDTEO_bit(a) -#define hri_sdhc_set_EISTR_EMMC_CMDCRC_bit(a) hri_sdhc_set_EISTR_CMDCRC_bit(a) -#define hri_sdhc_get_EISTR_EMMC_CMDCRC_bit(a) hri_sdhc_get_EISTR_CMDCRC_bit(a) -#define hri_sdhc_write_EISTR_EMMC_CMDCRC_bit(a, b) hri_sdhc_write_EISTR_CMDCRC_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_CMDCRC_bit(a) hri_sdhc_clear_EISTR_CMDCRC_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_CMDCRC_bit(a) hri_sdhc_toggle_EISTR_CMDCRC_bit(a) -#define hri_sdhc_set_EISTR_EMMC_CMDEND_bit(a) hri_sdhc_set_EISTR_CMDEND_bit(a) -#define hri_sdhc_get_EISTR_EMMC_CMDEND_bit(a) hri_sdhc_get_EISTR_CMDEND_bit(a) -#define hri_sdhc_write_EISTR_EMMC_CMDEND_bit(a, b) hri_sdhc_write_EISTR_CMDEND_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_CMDEND_bit(a) hri_sdhc_clear_EISTR_CMDEND_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_CMDEND_bit(a) hri_sdhc_toggle_EISTR_CMDEND_bit(a) -#define hri_sdhc_set_EISTR_EMMC_CMDIDX_bit(a) hri_sdhc_set_EISTR_CMDIDX_bit(a) -#define hri_sdhc_get_EISTR_EMMC_CMDIDX_bit(a) hri_sdhc_get_EISTR_CMDIDX_bit(a) -#define hri_sdhc_write_EISTR_EMMC_CMDIDX_bit(a, b) hri_sdhc_write_EISTR_CMDIDX_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_CMDIDX_bit(a) hri_sdhc_clear_EISTR_CMDIDX_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_CMDIDX_bit(a) hri_sdhc_toggle_EISTR_CMDIDX_bit(a) -#define hri_sdhc_set_EISTR_EMMC_DATTEO_bit(a) hri_sdhc_set_EISTR_DATTEO_bit(a) -#define hri_sdhc_get_EISTR_EMMC_DATTEO_bit(a) hri_sdhc_get_EISTR_DATTEO_bit(a) -#define hri_sdhc_write_EISTR_EMMC_DATTEO_bit(a, b) hri_sdhc_write_EISTR_DATTEO_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_DATTEO_bit(a) hri_sdhc_clear_EISTR_DATTEO_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_DATTEO_bit(a) hri_sdhc_toggle_EISTR_DATTEO_bit(a) -#define hri_sdhc_set_EISTR_EMMC_DATCRC_bit(a) hri_sdhc_set_EISTR_DATCRC_bit(a) -#define hri_sdhc_get_EISTR_EMMC_DATCRC_bit(a) hri_sdhc_get_EISTR_DATCRC_bit(a) -#define hri_sdhc_write_EISTR_EMMC_DATCRC_bit(a, b) hri_sdhc_write_EISTR_DATCRC_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_DATCRC_bit(a) hri_sdhc_clear_EISTR_DATCRC_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_DATCRC_bit(a) hri_sdhc_toggle_EISTR_DATCRC_bit(a) -#define hri_sdhc_set_EISTR_EMMC_DATEND_bit(a) hri_sdhc_set_EISTR_DATEND_bit(a) -#define hri_sdhc_get_EISTR_EMMC_DATEND_bit(a) hri_sdhc_get_EISTR_DATEND_bit(a) -#define hri_sdhc_write_EISTR_EMMC_DATEND_bit(a, b) hri_sdhc_write_EISTR_DATEND_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_DATEND_bit(a) hri_sdhc_clear_EISTR_DATEND_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_DATEND_bit(a) hri_sdhc_toggle_EISTR_DATEND_bit(a) -#define hri_sdhc_set_EISTR_EMMC_CURLIM_bit(a) hri_sdhc_set_EISTR_CURLIM_bit(a) -#define hri_sdhc_get_EISTR_EMMC_CURLIM_bit(a) hri_sdhc_get_EISTR_CURLIM_bit(a) -#define hri_sdhc_write_EISTR_EMMC_CURLIM_bit(a, b) hri_sdhc_write_EISTR_CURLIM_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_CURLIM_bit(a) hri_sdhc_clear_EISTR_CURLIM_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_CURLIM_bit(a) hri_sdhc_toggle_EISTR_CURLIM_bit(a) -#define hri_sdhc_set_EISTR_EMMC_ACMD_bit(a) hri_sdhc_set_EISTR_ACMD_bit(a) -#define hri_sdhc_get_EISTR_EMMC_ACMD_bit(a) hri_sdhc_get_EISTR_ACMD_bit(a) -#define hri_sdhc_write_EISTR_EMMC_ACMD_bit(a, b) hri_sdhc_write_EISTR_ACMD_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_ACMD_bit(a) hri_sdhc_clear_EISTR_ACMD_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_ACMD_bit(a) hri_sdhc_toggle_EISTR_ACMD_bit(a) -#define hri_sdhc_set_EISTR_EMMC_ADMA_bit(a) hri_sdhc_set_EISTR_ADMA_bit(a) -#define hri_sdhc_get_EISTR_EMMC_ADMA_bit(a) hri_sdhc_get_EISTR_ADMA_bit(a) -#define hri_sdhc_write_EISTR_EMMC_ADMA_bit(a, b) hri_sdhc_write_EISTR_ADMA_bit(a, b) -#define hri_sdhc_clear_EISTR_EMMC_ADMA_bit(a) hri_sdhc_clear_EISTR_ADMA_bit(a) -#define hri_sdhc_toggle_EISTR_EMMC_ADMA_bit(a) hri_sdhc_toggle_EISTR_ADMA_bit(a) -#define hri_sdhc_set_EISTR_EMMC_reg(a, b) hri_sdhc_set_EISTR_reg(a, b) -#define hri_sdhc_get_EISTR_EMMC_reg(a, b) hri_sdhc_get_EISTR_reg(a, b) -#define hri_sdhc_write_EISTR_EMMC_reg(a, b) hri_sdhc_write_EISTR_reg(a, b) -#define hri_sdhc_clear_EISTR_EMMC_reg(a, b) hri_sdhc_clear_EISTR_reg(a, b) -#define hri_sdhc_toggle_EISTR_EMMC_reg(a, b) hri_sdhc_toggle_EISTR_reg(a, b) -#define hri_sdhc_read_EISTR_EMMC_reg(a) hri_sdhc_read_EISTR_reg(a) -#define hri_sdhc_set_NISTER_EMMC_CMDC_bit(a) hri_sdhc_set_NISTER_CMDC_bit(a) -#define hri_sdhc_get_NISTER_EMMC_CMDC_bit(a) hri_sdhc_get_NISTER_CMDC_bit(a) -#define hri_sdhc_write_NISTER_EMMC_CMDC_bit(a, b) hri_sdhc_write_NISTER_CMDC_bit(a, b) -#define hri_sdhc_clear_NISTER_EMMC_CMDC_bit(a) hri_sdhc_clear_NISTER_CMDC_bit(a) -#define hri_sdhc_toggle_NISTER_EMMC_CMDC_bit(a) hri_sdhc_toggle_NISTER_CMDC_bit(a) -#define hri_sdhc_set_NISTER_EMMC_TRFC_bit(a) hri_sdhc_set_NISTER_TRFC_bit(a) -#define hri_sdhc_get_NISTER_EMMC_TRFC_bit(a) hri_sdhc_get_NISTER_TRFC_bit(a) -#define hri_sdhc_write_NISTER_EMMC_TRFC_bit(a, b) hri_sdhc_write_NISTER_TRFC_bit(a, b) -#define hri_sdhc_clear_NISTER_EMMC_TRFC_bit(a) hri_sdhc_clear_NISTER_TRFC_bit(a) -#define hri_sdhc_toggle_NISTER_EMMC_TRFC_bit(a) hri_sdhc_toggle_NISTER_TRFC_bit(a) -#define hri_sdhc_set_NISTER_EMMC_BLKGE_bit(a) hri_sdhc_set_NISTER_BLKGE_bit(a) -#define hri_sdhc_get_NISTER_EMMC_BLKGE_bit(a) hri_sdhc_get_NISTER_BLKGE_bit(a) -#define hri_sdhc_write_NISTER_EMMC_BLKGE_bit(a, b) hri_sdhc_write_NISTER_BLKGE_bit(a, b) -#define hri_sdhc_clear_NISTER_EMMC_BLKGE_bit(a) hri_sdhc_clear_NISTER_BLKGE_bit(a) -#define hri_sdhc_toggle_NISTER_EMMC_BLKGE_bit(a) hri_sdhc_toggle_NISTER_BLKGE_bit(a) -#define hri_sdhc_set_NISTER_EMMC_DMAINT_bit(a) hri_sdhc_set_NISTER_DMAINT_bit(a) -#define hri_sdhc_get_NISTER_EMMC_DMAINT_bit(a) hri_sdhc_get_NISTER_DMAINT_bit(a) -#define hri_sdhc_write_NISTER_EMMC_DMAINT_bit(a, b) hri_sdhc_write_NISTER_DMAINT_bit(a, b) -#define hri_sdhc_clear_NISTER_EMMC_DMAINT_bit(a) hri_sdhc_clear_NISTER_DMAINT_bit(a) -#define hri_sdhc_toggle_NISTER_EMMC_DMAINT_bit(a) hri_sdhc_toggle_NISTER_DMAINT_bit(a) -#define hri_sdhc_set_NISTER_EMMC_BWRRDY_bit(a) hri_sdhc_set_NISTER_BWRRDY_bit(a) -#define hri_sdhc_get_NISTER_EMMC_BWRRDY_bit(a) hri_sdhc_get_NISTER_BWRRDY_bit(a) -#define hri_sdhc_write_NISTER_EMMC_BWRRDY_bit(a, b) hri_sdhc_write_NISTER_BWRRDY_bit(a, b) -#define hri_sdhc_clear_NISTER_EMMC_BWRRDY_bit(a) hri_sdhc_clear_NISTER_BWRRDY_bit(a) -#define hri_sdhc_toggle_NISTER_EMMC_BWRRDY_bit(a) hri_sdhc_toggle_NISTER_BWRRDY_bit(a) -#define hri_sdhc_set_NISTER_EMMC_BRDRDY_bit(a) hri_sdhc_set_NISTER_BRDRDY_bit(a) -#define hri_sdhc_get_NISTER_EMMC_BRDRDY_bit(a) hri_sdhc_get_NISTER_BRDRDY_bit(a) -#define hri_sdhc_write_NISTER_EMMC_BRDRDY_bit(a, b) hri_sdhc_write_NISTER_BRDRDY_bit(a, b) -#define hri_sdhc_clear_NISTER_EMMC_BRDRDY_bit(a) hri_sdhc_clear_NISTER_BRDRDY_bit(a) -#define hri_sdhc_toggle_NISTER_EMMC_BRDRDY_bit(a) hri_sdhc_toggle_NISTER_BRDRDY_bit(a) -#define hri_sdhc_set_NISTER_EMMC_reg(a, b) hri_sdhc_set_NISTER_reg(a, b) -#define hri_sdhc_get_NISTER_EMMC_reg(a, b) hri_sdhc_get_NISTER_reg(a, b) -#define hri_sdhc_write_NISTER_EMMC_reg(a, b) hri_sdhc_write_NISTER_reg(a, b) -#define hri_sdhc_clear_NISTER_EMMC_reg(a, b) hri_sdhc_clear_NISTER_reg(a, b) -#define hri_sdhc_toggle_NISTER_EMMC_reg(a, b) hri_sdhc_toggle_NISTER_reg(a, b) -#define hri_sdhc_read_NISTER_EMMC_reg(a) hri_sdhc_read_NISTER_reg(a) -#define hri_sdhc_set_EISTER_EMMC_CMDTEO_bit(a) hri_sdhc_set_EISTER_CMDTEO_bit(a) -#define hri_sdhc_get_EISTER_EMMC_CMDTEO_bit(a) hri_sdhc_get_EISTER_CMDTEO_bit(a) -#define hri_sdhc_write_EISTER_EMMC_CMDTEO_bit(a, b) hri_sdhc_write_EISTER_CMDTEO_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_CMDTEO_bit(a) hri_sdhc_clear_EISTER_CMDTEO_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_CMDTEO_bit(a) hri_sdhc_toggle_EISTER_CMDTEO_bit(a) -#define hri_sdhc_set_EISTER_EMMC_CMDCRC_bit(a) hri_sdhc_set_EISTER_CMDCRC_bit(a) -#define hri_sdhc_get_EISTER_EMMC_CMDCRC_bit(a) hri_sdhc_get_EISTER_CMDCRC_bit(a) -#define hri_sdhc_write_EISTER_EMMC_CMDCRC_bit(a, b) hri_sdhc_write_EISTER_CMDCRC_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_CMDCRC_bit(a) hri_sdhc_clear_EISTER_CMDCRC_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_CMDCRC_bit(a) hri_sdhc_toggle_EISTER_CMDCRC_bit(a) -#define hri_sdhc_set_EISTER_EMMC_CMDEND_bit(a) hri_sdhc_set_EISTER_CMDEND_bit(a) -#define hri_sdhc_get_EISTER_EMMC_CMDEND_bit(a) hri_sdhc_get_EISTER_CMDEND_bit(a) -#define hri_sdhc_write_EISTER_EMMC_CMDEND_bit(a, b) hri_sdhc_write_EISTER_CMDEND_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_CMDEND_bit(a) hri_sdhc_clear_EISTER_CMDEND_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_CMDEND_bit(a) hri_sdhc_toggle_EISTER_CMDEND_bit(a) -#define hri_sdhc_set_EISTER_EMMC_CMDIDX_bit(a) hri_sdhc_set_EISTER_CMDIDX_bit(a) -#define hri_sdhc_get_EISTER_EMMC_CMDIDX_bit(a) hri_sdhc_get_EISTER_CMDIDX_bit(a) -#define hri_sdhc_write_EISTER_EMMC_CMDIDX_bit(a, b) hri_sdhc_write_EISTER_CMDIDX_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_CMDIDX_bit(a) hri_sdhc_clear_EISTER_CMDIDX_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_CMDIDX_bit(a) hri_sdhc_toggle_EISTER_CMDIDX_bit(a) -#define hri_sdhc_set_EISTER_EMMC_DATTEO_bit(a) hri_sdhc_set_EISTER_DATTEO_bit(a) -#define hri_sdhc_get_EISTER_EMMC_DATTEO_bit(a) hri_sdhc_get_EISTER_DATTEO_bit(a) -#define hri_sdhc_write_EISTER_EMMC_DATTEO_bit(a, b) hri_sdhc_write_EISTER_DATTEO_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_DATTEO_bit(a) hri_sdhc_clear_EISTER_DATTEO_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_DATTEO_bit(a) hri_sdhc_toggle_EISTER_DATTEO_bit(a) -#define hri_sdhc_set_EISTER_EMMC_DATCRC_bit(a) hri_sdhc_set_EISTER_DATCRC_bit(a) -#define hri_sdhc_get_EISTER_EMMC_DATCRC_bit(a) hri_sdhc_get_EISTER_DATCRC_bit(a) -#define hri_sdhc_write_EISTER_EMMC_DATCRC_bit(a, b) hri_sdhc_write_EISTER_DATCRC_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_DATCRC_bit(a) hri_sdhc_clear_EISTER_DATCRC_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_DATCRC_bit(a) hri_sdhc_toggle_EISTER_DATCRC_bit(a) -#define hri_sdhc_set_EISTER_EMMC_DATEND_bit(a) hri_sdhc_set_EISTER_DATEND_bit(a) -#define hri_sdhc_get_EISTER_EMMC_DATEND_bit(a) hri_sdhc_get_EISTER_DATEND_bit(a) -#define hri_sdhc_write_EISTER_EMMC_DATEND_bit(a, b) hri_sdhc_write_EISTER_DATEND_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_DATEND_bit(a) hri_sdhc_clear_EISTER_DATEND_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_DATEND_bit(a) hri_sdhc_toggle_EISTER_DATEND_bit(a) -#define hri_sdhc_set_EISTER_EMMC_CURLIM_bit(a) hri_sdhc_set_EISTER_CURLIM_bit(a) -#define hri_sdhc_get_EISTER_EMMC_CURLIM_bit(a) hri_sdhc_get_EISTER_CURLIM_bit(a) -#define hri_sdhc_write_EISTER_EMMC_CURLIM_bit(a, b) hri_sdhc_write_EISTER_CURLIM_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_CURLIM_bit(a) hri_sdhc_clear_EISTER_CURLIM_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_CURLIM_bit(a) hri_sdhc_toggle_EISTER_CURLIM_bit(a) -#define hri_sdhc_set_EISTER_EMMC_ACMD_bit(a) hri_sdhc_set_EISTER_ACMD_bit(a) -#define hri_sdhc_get_EISTER_EMMC_ACMD_bit(a) hri_sdhc_get_EISTER_ACMD_bit(a) -#define hri_sdhc_write_EISTER_EMMC_ACMD_bit(a, b) hri_sdhc_write_EISTER_ACMD_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_ACMD_bit(a) hri_sdhc_clear_EISTER_ACMD_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_ACMD_bit(a) hri_sdhc_toggle_EISTER_ACMD_bit(a) -#define hri_sdhc_set_EISTER_EMMC_ADMA_bit(a) hri_sdhc_set_EISTER_ADMA_bit(a) -#define hri_sdhc_get_EISTER_EMMC_ADMA_bit(a) hri_sdhc_get_EISTER_ADMA_bit(a) -#define hri_sdhc_write_EISTER_EMMC_ADMA_bit(a, b) hri_sdhc_write_EISTER_ADMA_bit(a, b) -#define hri_sdhc_clear_EISTER_EMMC_ADMA_bit(a) hri_sdhc_clear_EISTER_ADMA_bit(a) -#define hri_sdhc_toggle_EISTER_EMMC_ADMA_bit(a) hri_sdhc_toggle_EISTER_ADMA_bit(a) -#define hri_sdhc_set_EISTER_EMMC_reg(a, b) hri_sdhc_set_EISTER_reg(a, b) -#define hri_sdhc_get_EISTER_EMMC_reg(a, b) hri_sdhc_get_EISTER_reg(a, b) -#define hri_sdhc_write_EISTER_EMMC_reg(a, b) hri_sdhc_write_EISTER_reg(a, b) -#define hri_sdhc_clear_EISTER_EMMC_reg(a, b) hri_sdhc_clear_EISTER_reg(a, b) -#define hri_sdhc_toggle_EISTER_EMMC_reg(a, b) hri_sdhc_toggle_EISTER_reg(a, b) -#define hri_sdhc_read_EISTER_EMMC_reg(a) hri_sdhc_read_EISTER_reg(a) -#define hri_sdhc_set_NISIER_EMMC_CMDC_bit(a) hri_sdhc_set_NISIER_CMDC_bit(a) -#define hri_sdhc_get_NISIER_EMMC_CMDC_bit(a) hri_sdhc_get_NISIER_CMDC_bit(a) -#define hri_sdhc_write_NISIER_EMMC_CMDC_bit(a, b) hri_sdhc_write_NISIER_CMDC_bit(a, b) -#define hri_sdhc_clear_NISIER_EMMC_CMDC_bit(a) hri_sdhc_clear_NISIER_CMDC_bit(a) -#define hri_sdhc_toggle_NISIER_EMMC_CMDC_bit(a) hri_sdhc_toggle_NISIER_CMDC_bit(a) -#define hri_sdhc_set_NISIER_EMMC_TRFC_bit(a) hri_sdhc_set_NISIER_TRFC_bit(a) -#define hri_sdhc_get_NISIER_EMMC_TRFC_bit(a) hri_sdhc_get_NISIER_TRFC_bit(a) -#define hri_sdhc_write_NISIER_EMMC_TRFC_bit(a, b) hri_sdhc_write_NISIER_TRFC_bit(a, b) -#define hri_sdhc_clear_NISIER_EMMC_TRFC_bit(a) hri_sdhc_clear_NISIER_TRFC_bit(a) -#define hri_sdhc_toggle_NISIER_EMMC_TRFC_bit(a) hri_sdhc_toggle_NISIER_TRFC_bit(a) -#define hri_sdhc_set_NISIER_EMMC_BLKGE_bit(a) hri_sdhc_set_NISIER_BLKGE_bit(a) -#define hri_sdhc_get_NISIER_EMMC_BLKGE_bit(a) hri_sdhc_get_NISIER_BLKGE_bit(a) -#define hri_sdhc_write_NISIER_EMMC_BLKGE_bit(a, b) hri_sdhc_write_NISIER_BLKGE_bit(a, b) -#define hri_sdhc_clear_NISIER_EMMC_BLKGE_bit(a) hri_sdhc_clear_NISIER_BLKGE_bit(a) -#define hri_sdhc_toggle_NISIER_EMMC_BLKGE_bit(a) hri_sdhc_toggle_NISIER_BLKGE_bit(a) -#define hri_sdhc_set_NISIER_EMMC_DMAINT_bit(a) hri_sdhc_set_NISIER_DMAINT_bit(a) -#define hri_sdhc_get_NISIER_EMMC_DMAINT_bit(a) hri_sdhc_get_NISIER_DMAINT_bit(a) -#define hri_sdhc_write_NISIER_EMMC_DMAINT_bit(a, b) hri_sdhc_write_NISIER_DMAINT_bit(a, b) -#define hri_sdhc_clear_NISIER_EMMC_DMAINT_bit(a) hri_sdhc_clear_NISIER_DMAINT_bit(a) -#define hri_sdhc_toggle_NISIER_EMMC_DMAINT_bit(a) hri_sdhc_toggle_NISIER_DMAINT_bit(a) -#define hri_sdhc_set_NISIER_EMMC_BWRRDY_bit(a) hri_sdhc_set_NISIER_BWRRDY_bit(a) -#define hri_sdhc_get_NISIER_EMMC_BWRRDY_bit(a) hri_sdhc_get_NISIER_BWRRDY_bit(a) -#define hri_sdhc_write_NISIER_EMMC_BWRRDY_bit(a, b) hri_sdhc_write_NISIER_BWRRDY_bit(a, b) -#define hri_sdhc_clear_NISIER_EMMC_BWRRDY_bit(a) hri_sdhc_clear_NISIER_BWRRDY_bit(a) -#define hri_sdhc_toggle_NISIER_EMMC_BWRRDY_bit(a) hri_sdhc_toggle_NISIER_BWRRDY_bit(a) -#define hri_sdhc_set_NISIER_EMMC_BRDRDY_bit(a) hri_sdhc_set_NISIER_BRDRDY_bit(a) -#define hri_sdhc_get_NISIER_EMMC_BRDRDY_bit(a) hri_sdhc_get_NISIER_BRDRDY_bit(a) -#define hri_sdhc_write_NISIER_EMMC_BRDRDY_bit(a, b) hri_sdhc_write_NISIER_BRDRDY_bit(a, b) -#define hri_sdhc_clear_NISIER_EMMC_BRDRDY_bit(a) hri_sdhc_clear_NISIER_BRDRDY_bit(a) -#define hri_sdhc_toggle_NISIER_EMMC_BRDRDY_bit(a) hri_sdhc_toggle_NISIER_BRDRDY_bit(a) -#define hri_sdhc_set_NISIER_EMMC_reg(a, b) hri_sdhc_set_NISIER_reg(a, b) -#define hri_sdhc_get_NISIER_EMMC_reg(a, b) hri_sdhc_get_NISIER_reg(a, b) -#define hri_sdhc_write_NISIER_EMMC_reg(a, b) hri_sdhc_write_NISIER_reg(a, b) -#define hri_sdhc_clear_NISIER_EMMC_reg(a, b) hri_sdhc_clear_NISIER_reg(a, b) -#define hri_sdhc_toggle_NISIER_EMMC_reg(a, b) hri_sdhc_toggle_NISIER_reg(a, b) -#define hri_sdhc_read_NISIER_EMMC_reg(a) hri_sdhc_read_NISIER_reg(a) -#define hri_sdhc_set_EISIER_EMMC_CMDTEO_bit(a) hri_sdhc_set_EISIER_CMDTEO_bit(a) -#define hri_sdhc_get_EISIER_EMMC_CMDTEO_bit(a) hri_sdhc_get_EISIER_CMDTEO_bit(a) -#define hri_sdhc_write_EISIER_EMMC_CMDTEO_bit(a, b) hri_sdhc_write_EISIER_CMDTEO_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_CMDTEO_bit(a) hri_sdhc_clear_EISIER_CMDTEO_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_CMDTEO_bit(a) hri_sdhc_toggle_EISIER_CMDTEO_bit(a) -#define hri_sdhc_set_EISIER_EMMC_CMDCRC_bit(a) hri_sdhc_set_EISIER_CMDCRC_bit(a) -#define hri_sdhc_get_EISIER_EMMC_CMDCRC_bit(a) hri_sdhc_get_EISIER_CMDCRC_bit(a) -#define hri_sdhc_write_EISIER_EMMC_CMDCRC_bit(a, b) hri_sdhc_write_EISIER_CMDCRC_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_CMDCRC_bit(a) hri_sdhc_clear_EISIER_CMDCRC_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_CMDCRC_bit(a) hri_sdhc_toggle_EISIER_CMDCRC_bit(a) -#define hri_sdhc_set_EISIER_EMMC_CMDEND_bit(a) hri_sdhc_set_EISIER_CMDEND_bit(a) -#define hri_sdhc_get_EISIER_EMMC_CMDEND_bit(a) hri_sdhc_get_EISIER_CMDEND_bit(a) -#define hri_sdhc_write_EISIER_EMMC_CMDEND_bit(a, b) hri_sdhc_write_EISIER_CMDEND_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_CMDEND_bit(a) hri_sdhc_clear_EISIER_CMDEND_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_CMDEND_bit(a) hri_sdhc_toggle_EISIER_CMDEND_bit(a) -#define hri_sdhc_set_EISIER_EMMC_CMDIDX_bit(a) hri_sdhc_set_EISIER_CMDIDX_bit(a) -#define hri_sdhc_get_EISIER_EMMC_CMDIDX_bit(a) hri_sdhc_get_EISIER_CMDIDX_bit(a) -#define hri_sdhc_write_EISIER_EMMC_CMDIDX_bit(a, b) hri_sdhc_write_EISIER_CMDIDX_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_CMDIDX_bit(a) hri_sdhc_clear_EISIER_CMDIDX_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_CMDIDX_bit(a) hri_sdhc_toggle_EISIER_CMDIDX_bit(a) -#define hri_sdhc_set_EISIER_EMMC_DATTEO_bit(a) hri_sdhc_set_EISIER_DATTEO_bit(a) -#define hri_sdhc_get_EISIER_EMMC_DATTEO_bit(a) hri_sdhc_get_EISIER_DATTEO_bit(a) -#define hri_sdhc_write_EISIER_EMMC_DATTEO_bit(a, b) hri_sdhc_write_EISIER_DATTEO_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_DATTEO_bit(a) hri_sdhc_clear_EISIER_DATTEO_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_DATTEO_bit(a) hri_sdhc_toggle_EISIER_DATTEO_bit(a) -#define hri_sdhc_set_EISIER_EMMC_DATCRC_bit(a) hri_sdhc_set_EISIER_DATCRC_bit(a) -#define hri_sdhc_get_EISIER_EMMC_DATCRC_bit(a) hri_sdhc_get_EISIER_DATCRC_bit(a) -#define hri_sdhc_write_EISIER_EMMC_DATCRC_bit(a, b) hri_sdhc_write_EISIER_DATCRC_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_DATCRC_bit(a) hri_sdhc_clear_EISIER_DATCRC_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_DATCRC_bit(a) hri_sdhc_toggle_EISIER_DATCRC_bit(a) -#define hri_sdhc_set_EISIER_EMMC_DATEND_bit(a) hri_sdhc_set_EISIER_DATEND_bit(a) -#define hri_sdhc_get_EISIER_EMMC_DATEND_bit(a) hri_sdhc_get_EISIER_DATEND_bit(a) -#define hri_sdhc_write_EISIER_EMMC_DATEND_bit(a, b) hri_sdhc_write_EISIER_DATEND_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_DATEND_bit(a) hri_sdhc_clear_EISIER_DATEND_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_DATEND_bit(a) hri_sdhc_toggle_EISIER_DATEND_bit(a) -#define hri_sdhc_set_EISIER_EMMC_CURLIM_bit(a) hri_sdhc_set_EISIER_CURLIM_bit(a) -#define hri_sdhc_get_EISIER_EMMC_CURLIM_bit(a) hri_sdhc_get_EISIER_CURLIM_bit(a) -#define hri_sdhc_write_EISIER_EMMC_CURLIM_bit(a, b) hri_sdhc_write_EISIER_CURLIM_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_CURLIM_bit(a) hri_sdhc_clear_EISIER_CURLIM_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_CURLIM_bit(a) hri_sdhc_toggle_EISIER_CURLIM_bit(a) -#define hri_sdhc_set_EISIER_EMMC_ACMD_bit(a) hri_sdhc_set_EISIER_ACMD_bit(a) -#define hri_sdhc_get_EISIER_EMMC_ACMD_bit(a) hri_sdhc_get_EISIER_ACMD_bit(a) -#define hri_sdhc_write_EISIER_EMMC_ACMD_bit(a, b) hri_sdhc_write_EISIER_ACMD_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_ACMD_bit(a) hri_sdhc_clear_EISIER_ACMD_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_ACMD_bit(a) hri_sdhc_toggle_EISIER_ACMD_bit(a) -#define hri_sdhc_set_EISIER_EMMC_ADMA_bit(a) hri_sdhc_set_EISIER_ADMA_bit(a) -#define hri_sdhc_get_EISIER_EMMC_ADMA_bit(a) hri_sdhc_get_EISIER_ADMA_bit(a) -#define hri_sdhc_write_EISIER_EMMC_ADMA_bit(a, b) hri_sdhc_write_EISIER_ADMA_bit(a, b) -#define hri_sdhc_clear_EISIER_EMMC_ADMA_bit(a) hri_sdhc_clear_EISIER_ADMA_bit(a) -#define hri_sdhc_toggle_EISIER_EMMC_ADMA_bit(a) hri_sdhc_toggle_EISIER_ADMA_bit(a) -#define hri_sdhc_set_EISIER_EMMC_reg(a, b) hri_sdhc_set_EISIER_reg(a, b) -#define hri_sdhc_get_EISIER_EMMC_reg(a, b) hri_sdhc_get_EISIER_reg(a, b) -#define hri_sdhc_write_EISIER_EMMC_reg(a, b) hri_sdhc_write_EISIER_reg(a, b) -#define hri_sdhc_clear_EISIER_EMMC_reg(a, b) hri_sdhc_clear_EISIER_reg(a, b) -#define hri_sdhc_toggle_EISIER_EMMC_reg(a, b) hri_sdhc_toggle_EISIER_reg(a, b) -#define hri_sdhc_read_EISIER_EMMC_reg(a) hri_sdhc_read_EISIER_reg(a) -#define hri_sdhc_set_HC2R_EMMC_EXTUN_bit(a) hri_sdhc_set_HC2R_EXTUN_bit(a) -#define hri_sdhc_get_HC2R_EMMC_EXTUN_bit(a) hri_sdhc_get_HC2R_EXTUN_bit(a) -#define hri_sdhc_write_HC2R_EMMC_EXTUN_bit(a, b) hri_sdhc_write_HC2R_EXTUN_bit(a, b) -#define hri_sdhc_clear_HC2R_EMMC_EXTUN_bit(a) hri_sdhc_clear_HC2R_EXTUN_bit(a) -#define hri_sdhc_toggle_HC2R_EMMC_EXTUN_bit(a) hri_sdhc_toggle_HC2R_EXTUN_bit(a) -#define hri_sdhc_set_HC2R_EMMC_SLCKSEL_bit(a) hri_sdhc_set_HC2R_SLCKSEL_bit(a) -#define hri_sdhc_get_HC2R_EMMC_SLCKSEL_bit(a) hri_sdhc_get_HC2R_SLCKSEL_bit(a) -#define hri_sdhc_write_HC2R_EMMC_SLCKSEL_bit(a, b) hri_sdhc_write_HC2R_SLCKSEL_bit(a, b) -#define hri_sdhc_clear_HC2R_EMMC_SLCKSEL_bit(a) hri_sdhc_clear_HC2R_SLCKSEL_bit(a) -#define hri_sdhc_toggle_HC2R_EMMC_SLCKSEL_bit(a) hri_sdhc_toggle_HC2R_SLCKSEL_bit(a) -#define hri_sdhc_set_HC2R_EMMC_PVALEN_bit(a) hri_sdhc_set_HC2R_PVALEN_bit(a) -#define hri_sdhc_get_HC2R_EMMC_PVALEN_bit(a) hri_sdhc_get_HC2R_PVALEN_bit(a) -#define hri_sdhc_write_HC2R_EMMC_PVALEN_bit(a, b) hri_sdhc_write_HC2R_PVALEN_bit(a, b) -#define hri_sdhc_clear_HC2R_EMMC_PVALEN_bit(a) hri_sdhc_clear_HC2R_PVALEN_bit(a) -#define hri_sdhc_toggle_HC2R_EMMC_PVALEN_bit(a) hri_sdhc_toggle_HC2R_PVALEN_bit(a) -#define hri_sdhc_set_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_set_HC2R_DRVSEL_bf(a, b) -#define hri_sdhc_get_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_get_HC2R_DRVSEL_bf(a, b) -#define hri_sdhc_write_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_write_HC2R_DRVSEL_bf(a, b) -#define hri_sdhc_clear_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_clear_HC2R_DRVSEL_bf(a, b) -#define hri_sdhc_toggle_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_toggle_HC2R_DRVSEL_bf(a, b) -#define hri_sdhc_read_HC2R_EMMC_DRVSEL_bf(a) hri_sdhc_read_HC2R_DRVSEL_bf(a) -#define hri_sdhc_set_HC2R_EMMC_reg(a, b) hri_sdhc_set_HC2R_reg(a, b) -#define hri_sdhc_get_HC2R_EMMC_reg(a, b) hri_sdhc_get_HC2R_reg(a, b) -#define hri_sdhc_write_HC2R_EMMC_reg(a, b) hri_sdhc_write_HC2R_reg(a, b) -#define hri_sdhc_clear_HC2R_EMMC_reg(a, b) hri_sdhc_clear_HC2R_reg(a, b) -#define hri_sdhc_toggle_HC2R_EMMC_reg(a, b) hri_sdhc_toggle_HC2R_reg(a, b) -#define hri_sdhc_read_HC2R_EMMC_reg(a) hri_sdhc_read_HC2R_reg(a) - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_SDHC_E54_H_INCLUDED */ -#endif /* _SAME54_SDHC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_sercom_e54.h b/software/firmware/oracle_same54n19a/hri/hri_sercom_e54.h deleted file mode 100644 index fed00ff..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_sercom_e54.h +++ /dev/null @@ -1,8892 +0,0 @@ -/** - * \file - * - * \brief SAM SERCOM - * - * Copyright (c) 2016-2019 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_SERCOM_COMPONENT_ -#ifndef _HRI_SERCOM_E54_H_INCLUDED_ -#define _HRI_SERCOM_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_SERCOM_CRITICAL_SECTIONS) -#define SERCOM_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define SERCOM_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define SERCOM_CRITICAL_SECTION_ENTER() -#define SERCOM_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_sercomi2cm_status_reg_t; -typedef uint16_t hri_sercomi2cs_length_reg_t; -typedef uint16_t hri_sercomi2cs_status_reg_t; -typedef uint16_t hri_sercomspi_length_reg_t; -typedef uint16_t hri_sercomspi_status_reg_t; -typedef uint16_t hri_sercomusart_baud_reg_t; -typedef uint16_t hri_sercomusart_length_reg_t; -typedef uint16_t hri_sercomusart_status_reg_t; -typedef uint32_t hri_sercomi2cm_addr_reg_t; -typedef uint32_t hri_sercomi2cm_baud_reg_t; -typedef uint32_t hri_sercomi2cm_ctrla_reg_t; -typedef uint32_t hri_sercomi2cm_ctrlb_reg_t; -typedef uint32_t hri_sercomi2cm_ctrlc_reg_t; -typedef uint32_t hri_sercomi2cm_data_reg_t; -typedef uint32_t hri_sercomi2cm_syncbusy_reg_t; -typedef uint32_t hri_sercomi2cs_addr_reg_t; -typedef uint32_t hri_sercomi2cs_ctrla_reg_t; -typedef uint32_t hri_sercomi2cs_ctrlb_reg_t; -typedef uint32_t hri_sercomi2cs_ctrlc_reg_t; -typedef uint32_t hri_sercomi2cs_data_reg_t; -typedef uint32_t hri_sercomi2cs_syncbusy_reg_t; -typedef uint32_t hri_sercomspi_addr_reg_t; -typedef uint32_t hri_sercomspi_ctrla_reg_t; -typedef uint32_t hri_sercomspi_ctrlb_reg_t; -typedef uint32_t hri_sercomspi_ctrlc_reg_t; -typedef uint32_t hri_sercomspi_data_reg_t; -typedef uint32_t hri_sercomspi_syncbusy_reg_t; -typedef uint32_t hri_sercomusart_ctrla_reg_t; -typedef uint32_t hri_sercomusart_ctrlb_reg_t; -typedef uint32_t hri_sercomusart_ctrlc_reg_t; -typedef uint32_t hri_sercomusart_data_reg_t; -typedef uint32_t hri_sercomusart_syncbusy_reg_t; -typedef uint8_t hri_sercomi2cm_dbgctrl_reg_t; -typedef uint8_t hri_sercomi2cm_intenset_reg_t; -typedef uint8_t hri_sercomi2cm_intflag_reg_t; -typedef uint8_t hri_sercomi2cs_intenset_reg_t; -typedef uint8_t hri_sercomi2cs_intflag_reg_t; -typedef uint8_t hri_sercomspi_baud_reg_t; -typedef uint8_t hri_sercomspi_dbgctrl_reg_t; -typedef uint8_t hri_sercomspi_intenset_reg_t; -typedef uint8_t hri_sercomspi_intflag_reg_t; -typedef uint8_t hri_sercomusart_dbgctrl_reg_t; -typedef uint8_t hri_sercomusart_intenset_reg_t; -typedef uint8_t hri_sercomusart_intflag_reg_t; -typedef uint8_t hri_sercomusart_rxerrcnt_reg_t; -typedef uint8_t hri_sercomusart_rxpl_reg_t; - -static inline void hri_sercomi2cm_wait_for_sync(const void *const hw, hri_sercomi2cm_syncbusy_reg_t reg) -{ - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_sercomi2cm_is_syncing(const void *const hw, hri_sercomi2cm_syncbusy_reg_t reg) -{ - return ((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg; -} - -static inline void hri_sercomi2cs_wait_for_sync(const void *const hw, hri_sercomi2cs_syncbusy_reg_t reg) -{ - while (((Sercom *)hw)->I2CS.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_sercomi2cs_is_syncing(const void *const hw, hri_sercomi2cs_syncbusy_reg_t reg) -{ - return ((Sercom *)hw)->I2CS.SYNCBUSY.reg & reg; -} - -static inline void hri_sercomspi_wait_for_sync(const void *const hw, hri_sercomspi_syncbusy_reg_t reg) -{ - while (((Sercom *)hw)->SPI.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_sercomspi_is_syncing(const void *const hw, hri_sercomspi_syncbusy_reg_t reg) -{ - return ((Sercom *)hw)->SPI.SYNCBUSY.reg & reg; -} - -static inline void hri_sercomusart_wait_for_sync(const void *const hw, hri_sercomusart_syncbusy_reg_t reg) -{ - while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_sercomusart_is_syncing(const void *const hw, hri_sercomusart_syncbusy_reg_t reg) -{ - return ((Sercom *)hw)->USART.SYNCBUSY.reg & reg; -} - -static inline bool hri_sercomi2cm_get_INTFLAG_MB_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_MB) >> SERCOM_I2CM_INTFLAG_MB_Pos; -} - -static inline void hri_sercomi2cm_clear_INTFLAG_MB_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_MB; -} - -static inline bool hri_sercomi2cm_get_INTFLAG_SB_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_SB) >> SERCOM_I2CM_INTFLAG_SB_Pos; -} - -static inline void hri_sercomi2cm_clear_INTFLAG_SB_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB; -} - -static inline bool hri_sercomi2cm_get_INTFLAG_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_ERROR) >> SERCOM_I2CM_INTFLAG_ERROR_Pos; -} - -static inline void hri_sercomi2cm_clear_INTFLAG_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_ERROR; -} - -static inline bool hri_sercomi2cm_get_interrupt_MB_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_MB) >> SERCOM_I2CM_INTFLAG_MB_Pos; -} - -static inline void hri_sercomi2cm_clear_interrupt_MB_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_MB; -} - -static inline bool hri_sercomi2cm_get_interrupt_SB_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_SB) >> SERCOM_I2CM_INTFLAG_SB_Pos; -} - -static inline void hri_sercomi2cm_clear_interrupt_SB_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB; -} - -static inline bool hri_sercomi2cm_get_interrupt_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_ERROR) >> SERCOM_I2CM_INTFLAG_ERROR_Pos; -} - -static inline void hri_sercomi2cm_clear_interrupt_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_ERROR; -} - -static inline hri_sercomi2cm_intflag_reg_t hri_sercomi2cm_get_INTFLAG_reg(const void *const hw, - hri_sercomi2cm_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->I2CM.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomi2cm_intflag_reg_t hri_sercomi2cm_read_INTFLAG_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CM.INTFLAG.reg; -} - -static inline void hri_sercomi2cm_clear_INTFLAG_reg(const void *const hw, hri_sercomi2cm_intflag_reg_t mask) -{ - ((Sercom *)hw)->I2CM.INTFLAG.reg = mask; -} - -static inline bool hri_sercomi2cs_get_INTFLAG_PREC_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_PREC) >> SERCOM_I2CS_INTFLAG_PREC_Pos; -} - -static inline void hri_sercomi2cs_clear_INTFLAG_PREC_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_PREC; -} - -static inline bool hri_sercomi2cs_get_INTFLAG_AMATCH_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_AMATCH) >> SERCOM_I2CS_INTFLAG_AMATCH_Pos; -} - -static inline void hri_sercomi2cs_clear_INTFLAG_AMATCH_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_AMATCH; -} - -static inline bool hri_sercomi2cs_get_INTFLAG_DRDY_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_DRDY) >> SERCOM_I2CS_INTFLAG_DRDY_Pos; -} - -static inline void hri_sercomi2cs_clear_INTFLAG_DRDY_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_DRDY; -} - -static inline bool hri_sercomi2cs_get_INTFLAG_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_ERROR) >> SERCOM_I2CS_INTFLAG_ERROR_Pos; -} - -static inline void hri_sercomi2cs_clear_INTFLAG_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_ERROR; -} - -static inline bool hri_sercomi2cs_get_interrupt_PREC_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_PREC) >> SERCOM_I2CS_INTFLAG_PREC_Pos; -} - -static inline void hri_sercomi2cs_clear_interrupt_PREC_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_PREC; -} - -static inline bool hri_sercomi2cs_get_interrupt_AMATCH_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_AMATCH) >> SERCOM_I2CS_INTFLAG_AMATCH_Pos; -} - -static inline void hri_sercomi2cs_clear_interrupt_AMATCH_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_AMATCH; -} - -static inline bool hri_sercomi2cs_get_interrupt_DRDY_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_DRDY) >> SERCOM_I2CS_INTFLAG_DRDY_Pos; -} - -static inline void hri_sercomi2cs_clear_interrupt_DRDY_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_DRDY; -} - -static inline bool hri_sercomi2cs_get_interrupt_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_ERROR) >> SERCOM_I2CS_INTFLAG_ERROR_Pos; -} - -static inline void hri_sercomi2cs_clear_interrupt_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_ERROR; -} - -static inline hri_sercomi2cs_intflag_reg_t hri_sercomi2cs_get_INTFLAG_reg(const void *const hw, - hri_sercomi2cs_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->I2CS.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomi2cs_intflag_reg_t hri_sercomi2cs_read_INTFLAG_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CS.INTFLAG.reg; -} - -static inline void hri_sercomi2cs_clear_INTFLAG_reg(const void *const hw, hri_sercomi2cs_intflag_reg_t mask) -{ - ((Sercom *)hw)->I2CS.INTFLAG.reg = mask; -} - -static inline bool hri_sercomspi_get_INTFLAG_DRE_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_DRE) >> SERCOM_SPI_INTFLAG_DRE_Pos; -} - -static inline void hri_sercomspi_clear_INTFLAG_DRE_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_DRE; -} - -static inline bool hri_sercomspi_get_INTFLAG_TXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_TXC) >> SERCOM_SPI_INTFLAG_TXC_Pos; -} - -static inline void hri_sercomspi_clear_INTFLAG_TXC_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_TXC; -} - -static inline bool hri_sercomspi_get_INTFLAG_RXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_RXC) >> SERCOM_SPI_INTFLAG_RXC_Pos; -} - -static inline void hri_sercomspi_clear_INTFLAG_RXC_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_RXC; -} - -static inline bool hri_sercomspi_get_INTFLAG_SSL_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_SSL) >> SERCOM_SPI_INTFLAG_SSL_Pos; -} - -static inline void hri_sercomspi_clear_INTFLAG_SSL_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_SSL; -} - -static inline bool hri_sercomspi_get_INTFLAG_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_ERROR) >> SERCOM_SPI_INTFLAG_ERROR_Pos; -} - -static inline void hri_sercomspi_clear_INTFLAG_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_ERROR; -} - -static inline bool hri_sercomspi_get_interrupt_DRE_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_DRE) >> SERCOM_SPI_INTFLAG_DRE_Pos; -} - -static inline void hri_sercomspi_clear_interrupt_DRE_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_DRE; -} - -static inline bool hri_sercomspi_get_interrupt_TXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_TXC) >> SERCOM_SPI_INTFLAG_TXC_Pos; -} - -static inline void hri_sercomspi_clear_interrupt_TXC_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_TXC; -} - -static inline bool hri_sercomspi_get_interrupt_RXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_RXC) >> SERCOM_SPI_INTFLAG_RXC_Pos; -} - -static inline void hri_sercomspi_clear_interrupt_RXC_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_RXC; -} - -static inline bool hri_sercomspi_get_interrupt_SSL_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_SSL) >> SERCOM_SPI_INTFLAG_SSL_Pos; -} - -static inline void hri_sercomspi_clear_interrupt_SSL_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_SSL; -} - -static inline bool hri_sercomspi_get_interrupt_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_ERROR) >> SERCOM_SPI_INTFLAG_ERROR_Pos; -} - -static inline void hri_sercomspi_clear_interrupt_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_ERROR; -} - -static inline hri_sercomspi_intflag_reg_t hri_sercomspi_get_INTFLAG_reg(const void *const hw, - hri_sercomspi_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->SPI.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomspi_intflag_reg_t hri_sercomspi_read_INTFLAG_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.INTFLAG.reg; -} - -static inline void hri_sercomspi_clear_INTFLAG_reg(const void *const hw, hri_sercomspi_intflag_reg_t mask) -{ - ((Sercom *)hw)->SPI.INTFLAG.reg = mask; -} - -static inline bool hri_sercomusart_get_INTFLAG_DRE_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) >> SERCOM_USART_INTFLAG_DRE_Pos; -} - -static inline void hri_sercomusart_clear_INTFLAG_DRE_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_DRE; -} - -static inline bool hri_sercomusart_get_INTFLAG_TXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) >> SERCOM_USART_INTFLAG_TXC_Pos; -} - -static inline void hri_sercomusart_clear_INTFLAG_TXC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_TXC; -} - -static inline bool hri_sercomusart_get_INTFLAG_RXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC) >> SERCOM_USART_INTFLAG_RXC_Pos; -} - -static inline void hri_sercomusart_clear_INTFLAG_RXC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXC; -} - -static inline bool hri_sercomusart_get_INTFLAG_RXS_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXS) >> SERCOM_USART_INTFLAG_RXS_Pos; -} - -static inline void hri_sercomusart_clear_INTFLAG_RXS_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXS; -} - -static inline bool hri_sercomusart_get_INTFLAG_CTSIC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_CTSIC) >> SERCOM_USART_INTFLAG_CTSIC_Pos; -} - -static inline void hri_sercomusart_clear_INTFLAG_CTSIC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_CTSIC; -} - -static inline bool hri_sercomusart_get_INTFLAG_RXBRK_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXBRK) >> SERCOM_USART_INTFLAG_RXBRK_Pos; -} - -static inline void hri_sercomusart_clear_INTFLAG_RXBRK_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXBRK; -} - -static inline bool hri_sercomusart_get_INTFLAG_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_ERROR) >> SERCOM_USART_INTFLAG_ERROR_Pos; -} - -static inline void hri_sercomusart_clear_INTFLAG_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR; -} - -static inline bool hri_sercomusart_get_interrupt_DRE_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) >> SERCOM_USART_INTFLAG_DRE_Pos; -} - -static inline void hri_sercomusart_clear_interrupt_DRE_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_DRE; -} - -static inline bool hri_sercomusart_get_interrupt_TXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) >> SERCOM_USART_INTFLAG_TXC_Pos; -} - -static inline void hri_sercomusart_clear_interrupt_TXC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_TXC; -} - -static inline bool hri_sercomusart_get_interrupt_RXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC) >> SERCOM_USART_INTFLAG_RXC_Pos; -} - -static inline void hri_sercomusart_clear_interrupt_RXC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXC; -} - -static inline bool hri_sercomusart_get_interrupt_RXS_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXS) >> SERCOM_USART_INTFLAG_RXS_Pos; -} - -static inline void hri_sercomusart_clear_interrupt_RXS_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXS; -} - -static inline bool hri_sercomusart_get_interrupt_CTSIC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_CTSIC) >> SERCOM_USART_INTFLAG_CTSIC_Pos; -} - -static inline void hri_sercomusart_clear_interrupt_CTSIC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_CTSIC; -} - -static inline bool hri_sercomusart_get_interrupt_RXBRK_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXBRK) >> SERCOM_USART_INTFLAG_RXBRK_Pos; -} - -static inline void hri_sercomusart_clear_interrupt_RXBRK_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXBRK; -} - -static inline bool hri_sercomusart_get_interrupt_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_ERROR) >> SERCOM_USART_INTFLAG_ERROR_Pos; -} - -static inline void hri_sercomusart_clear_interrupt_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR; -} - -static inline hri_sercomusart_intflag_reg_t hri_sercomusart_get_INTFLAG_reg(const void *const hw, - hri_sercomusart_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->USART.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomusart_intflag_reg_t hri_sercomusart_read_INTFLAG_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.INTFLAG.reg; -} - -static inline void hri_sercomusart_clear_INTFLAG_reg(const void *const hw, hri_sercomusart_intflag_reg_t mask) -{ - ((Sercom *)hw)->USART.INTFLAG.reg = mask; -} - -static inline void hri_sercomi2cm_set_INTEN_MB_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_MB; -} - -static inline bool hri_sercomi2cm_get_INTEN_MB_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTENSET.reg & SERCOM_I2CM_INTENSET_MB) >> SERCOM_I2CM_INTENSET_MB_Pos; -} - -static inline void hri_sercomi2cm_write_INTEN_MB_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_MB; - } else { - ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_MB; - } -} - -static inline void hri_sercomi2cm_clear_INTEN_MB_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_MB; -} - -static inline void hri_sercomi2cm_set_INTEN_SB_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_SB; -} - -static inline bool hri_sercomi2cm_get_INTEN_SB_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTENSET.reg & SERCOM_I2CM_INTENSET_SB) >> SERCOM_I2CM_INTENSET_SB_Pos; -} - -static inline void hri_sercomi2cm_write_INTEN_SB_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_SB; - } else { - ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_SB; - } -} - -static inline void hri_sercomi2cm_clear_INTEN_SB_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_SB; -} - -static inline void hri_sercomi2cm_set_INTEN_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_ERROR; -} - -static inline bool hri_sercomi2cm_get_INTEN_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.INTENSET.reg & SERCOM_I2CM_INTENSET_ERROR) >> SERCOM_I2CM_INTENSET_ERROR_Pos; -} - -static inline void hri_sercomi2cm_write_INTEN_ERROR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_ERROR; - } else { - ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_ERROR; - } -} - -static inline void hri_sercomi2cm_clear_INTEN_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_ERROR; -} - -static inline void hri_sercomi2cm_set_INTEN_reg(const void *const hw, hri_sercomi2cm_intenset_reg_t mask) -{ - ((Sercom *)hw)->I2CM.INTENSET.reg = mask; -} - -static inline hri_sercomi2cm_intenset_reg_t hri_sercomi2cm_get_INTEN_reg(const void *const hw, - hri_sercomi2cm_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->I2CM.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomi2cm_intenset_reg_t hri_sercomi2cm_read_INTEN_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CM.INTENSET.reg; -} - -static inline void hri_sercomi2cm_write_INTEN_reg(const void *const hw, hri_sercomi2cm_intenset_reg_t data) -{ - ((Sercom *)hw)->I2CM.INTENSET.reg = data; - ((Sercom *)hw)->I2CM.INTENCLR.reg = ~data; -} - -static inline void hri_sercomi2cm_clear_INTEN_reg(const void *const hw, hri_sercomi2cm_intenset_reg_t mask) -{ - ((Sercom *)hw)->I2CM.INTENCLR.reg = mask; -} - -static inline void hri_sercomi2cs_set_INTEN_PREC_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_PREC; -} - -static inline bool hri_sercomi2cs_get_INTEN_PREC_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTENSET.reg & SERCOM_I2CS_INTENSET_PREC) >> SERCOM_I2CS_INTENSET_PREC_Pos; -} - -static inline void hri_sercomi2cs_write_INTEN_PREC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_PREC; - } else { - ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_PREC; - } -} - -static inline void hri_sercomi2cs_clear_INTEN_PREC_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_PREC; -} - -static inline void hri_sercomi2cs_set_INTEN_AMATCH_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_AMATCH; -} - -static inline bool hri_sercomi2cs_get_INTEN_AMATCH_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTENSET.reg & SERCOM_I2CS_INTENSET_AMATCH) >> SERCOM_I2CS_INTENSET_AMATCH_Pos; -} - -static inline void hri_sercomi2cs_write_INTEN_AMATCH_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_AMATCH; - } else { - ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_AMATCH; - } -} - -static inline void hri_sercomi2cs_clear_INTEN_AMATCH_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_AMATCH; -} - -static inline void hri_sercomi2cs_set_INTEN_DRDY_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_DRDY; -} - -static inline bool hri_sercomi2cs_get_INTEN_DRDY_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTENSET.reg & SERCOM_I2CS_INTENSET_DRDY) >> SERCOM_I2CS_INTENSET_DRDY_Pos; -} - -static inline void hri_sercomi2cs_write_INTEN_DRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_DRDY; - } else { - ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_DRDY; - } -} - -static inline void hri_sercomi2cs_clear_INTEN_DRDY_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_DRDY; -} - -static inline void hri_sercomi2cs_set_INTEN_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_ERROR; -} - -static inline bool hri_sercomi2cs_get_INTEN_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.INTENSET.reg & SERCOM_I2CS_INTENSET_ERROR) >> SERCOM_I2CS_INTENSET_ERROR_Pos; -} - -static inline void hri_sercomi2cs_write_INTEN_ERROR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_ERROR; - } else { - ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_ERROR; - } -} - -static inline void hri_sercomi2cs_clear_INTEN_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_ERROR; -} - -static inline void hri_sercomi2cs_set_INTEN_reg(const void *const hw, hri_sercomi2cs_intenset_reg_t mask) -{ - ((Sercom *)hw)->I2CS.INTENSET.reg = mask; -} - -static inline hri_sercomi2cs_intenset_reg_t hri_sercomi2cs_get_INTEN_reg(const void *const hw, - hri_sercomi2cs_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->I2CS.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomi2cs_intenset_reg_t hri_sercomi2cs_read_INTEN_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CS.INTENSET.reg; -} - -static inline void hri_sercomi2cs_write_INTEN_reg(const void *const hw, hri_sercomi2cs_intenset_reg_t data) -{ - ((Sercom *)hw)->I2CS.INTENSET.reg = data; - ((Sercom *)hw)->I2CS.INTENCLR.reg = ~data; -} - -static inline void hri_sercomi2cs_clear_INTEN_reg(const void *const hw, hri_sercomi2cs_intenset_reg_t mask) -{ - ((Sercom *)hw)->I2CS.INTENCLR.reg = mask; -} - -static inline void hri_sercomspi_set_INTEN_DRE_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_DRE; -} - -static inline bool hri_sercomspi_get_INTEN_DRE_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_DRE) >> SERCOM_SPI_INTENSET_DRE_Pos; -} - -static inline void hri_sercomspi_write_INTEN_DRE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_DRE; - } else { - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_DRE; - } -} - -static inline void hri_sercomspi_clear_INTEN_DRE_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_DRE; -} - -static inline void hri_sercomspi_set_INTEN_TXC_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_TXC; -} - -static inline bool hri_sercomspi_get_INTEN_TXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_TXC) >> SERCOM_SPI_INTENSET_TXC_Pos; -} - -static inline void hri_sercomspi_write_INTEN_TXC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_TXC; - } else { - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_TXC; - } -} - -static inline void hri_sercomspi_clear_INTEN_TXC_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_TXC; -} - -static inline void hri_sercomspi_set_INTEN_RXC_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_RXC; -} - -static inline bool hri_sercomspi_get_INTEN_RXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_RXC) >> SERCOM_SPI_INTENSET_RXC_Pos; -} - -static inline void hri_sercomspi_write_INTEN_RXC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_RXC; - } else { - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_RXC; - } -} - -static inline void hri_sercomspi_clear_INTEN_RXC_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_RXC; -} - -static inline void hri_sercomspi_set_INTEN_SSL_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_SSL; -} - -static inline bool hri_sercomspi_get_INTEN_SSL_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_SSL) >> SERCOM_SPI_INTENSET_SSL_Pos; -} - -static inline void hri_sercomspi_write_INTEN_SSL_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_SSL; - } else { - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_SSL; - } -} - -static inline void hri_sercomspi_clear_INTEN_SSL_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_SSL; -} - -static inline void hri_sercomspi_set_INTEN_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_ERROR; -} - -static inline bool hri_sercomspi_get_INTEN_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_ERROR) >> SERCOM_SPI_INTENSET_ERROR_Pos; -} - -static inline void hri_sercomspi_write_INTEN_ERROR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_ERROR; - } else { - ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_ERROR; - } -} - -static inline void hri_sercomspi_clear_INTEN_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_ERROR; -} - -static inline void hri_sercomspi_set_INTEN_reg(const void *const hw, hri_sercomspi_intenset_reg_t mask) -{ - ((Sercom *)hw)->SPI.INTENSET.reg = mask; -} - -static inline hri_sercomspi_intenset_reg_t hri_sercomspi_get_INTEN_reg(const void *const hw, - hri_sercomspi_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->SPI.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomspi_intenset_reg_t hri_sercomspi_read_INTEN_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.INTENSET.reg; -} - -static inline void hri_sercomspi_write_INTEN_reg(const void *const hw, hri_sercomspi_intenset_reg_t data) -{ - ((Sercom *)hw)->SPI.INTENSET.reg = data; - ((Sercom *)hw)->SPI.INTENCLR.reg = ~data; -} - -static inline void hri_sercomspi_clear_INTEN_reg(const void *const hw, hri_sercomspi_intenset_reg_t mask) -{ - ((Sercom *)hw)->SPI.INTENCLR.reg = mask; -} - -static inline void hri_sercomusart_set_INTEN_DRE_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE; -} - -static inline bool hri_sercomusart_get_INTEN_DRE_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_DRE) >> SERCOM_USART_INTENSET_DRE_Pos; -} - -static inline void hri_sercomusart_write_INTEN_DRE_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_DRE; - } else { - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE; - } -} - -static inline void hri_sercomusart_clear_INTEN_DRE_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_DRE; -} - -static inline void hri_sercomusart_set_INTEN_TXC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC; -} - -static inline bool hri_sercomusart_get_INTEN_TXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_TXC) >> SERCOM_USART_INTENSET_TXC_Pos; -} - -static inline void hri_sercomusart_write_INTEN_TXC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_TXC; - } else { - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC; - } -} - -static inline void hri_sercomusart_clear_INTEN_TXC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_TXC; -} - -static inline void hri_sercomusart_set_INTEN_RXC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXC; -} - -static inline bool hri_sercomusart_get_INTEN_RXC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_RXC) >> SERCOM_USART_INTENSET_RXC_Pos; -} - -static inline void hri_sercomusart_write_INTEN_RXC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXC; - } else { - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXC; - } -} - -static inline void hri_sercomusart_clear_INTEN_RXC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXC; -} - -static inline void hri_sercomusart_set_INTEN_RXS_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXS; -} - -static inline bool hri_sercomusart_get_INTEN_RXS_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_RXS) >> SERCOM_USART_INTENSET_RXS_Pos; -} - -static inline void hri_sercomusart_write_INTEN_RXS_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXS; - } else { - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXS; - } -} - -static inline void hri_sercomusart_clear_INTEN_RXS_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXS; -} - -static inline void hri_sercomusart_set_INTEN_CTSIC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_CTSIC; -} - -static inline bool hri_sercomusart_get_INTEN_CTSIC_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_CTSIC) >> SERCOM_USART_INTENSET_CTSIC_Pos; -} - -static inline void hri_sercomusart_write_INTEN_CTSIC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_CTSIC; - } else { - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_CTSIC; - } -} - -static inline void hri_sercomusart_clear_INTEN_CTSIC_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_CTSIC; -} - -static inline void hri_sercomusart_set_INTEN_RXBRK_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXBRK; -} - -static inline bool hri_sercomusart_get_INTEN_RXBRK_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_RXBRK) >> SERCOM_USART_INTENSET_RXBRK_Pos; -} - -static inline void hri_sercomusart_write_INTEN_RXBRK_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXBRK; - } else { - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXBRK; - } -} - -static inline void hri_sercomusart_clear_INTEN_RXBRK_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXBRK; -} - -static inline void hri_sercomusart_set_INTEN_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_ERROR; -} - -static inline bool hri_sercomusart_get_INTEN_ERROR_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_ERROR) >> SERCOM_USART_INTENSET_ERROR_Pos; -} - -static inline void hri_sercomusart_write_INTEN_ERROR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_ERROR; - } else { - ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_ERROR; - } -} - -static inline void hri_sercomusart_clear_INTEN_ERROR_bit(const void *const hw) -{ - ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_ERROR; -} - -static inline void hri_sercomusart_set_INTEN_reg(const void *const hw, hri_sercomusart_intenset_reg_t mask) -{ - ((Sercom *)hw)->USART.INTENSET.reg = mask; -} - -static inline hri_sercomusart_intenset_reg_t hri_sercomusart_get_INTEN_reg(const void *const hw, - hri_sercomusart_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->USART.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomusart_intenset_reg_t hri_sercomusart_read_INTEN_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.INTENSET.reg; -} - -static inline void hri_sercomusart_write_INTEN_reg(const void *const hw, hri_sercomusart_intenset_reg_t data) -{ - ((Sercom *)hw)->USART.INTENSET.reg = data; - ((Sercom *)hw)->USART.INTENCLR.reg = ~data; -} - -static inline void hri_sercomusart_clear_INTEN_reg(const void *const hw, hri_sercomusart_intenset_reg_t mask) -{ - ((Sercom *)hw)->USART.INTENCLR.reg = mask; -} - -static inline bool hri_sercomi2cm_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.SYNCBUSY.reg & SERCOM_I2CM_SYNCBUSY_SWRST) >> SERCOM_I2CM_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_sercomi2cm_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.SYNCBUSY.reg & SERCOM_I2CM_SYNCBUSY_ENABLE) >> SERCOM_I2CM_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_sercomi2cm_get_SYNCBUSY_SYSOP_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.SYNCBUSY.reg & SERCOM_I2CM_SYNCBUSY_SYSOP) >> SERCOM_I2CM_SYNCBUSY_SYSOP_Pos; -} - -static inline bool hri_sercomi2cm_get_SYNCBUSY_LENGTH_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.SYNCBUSY.reg & SERCOM_I2CM_SYNCBUSY_LENGTH) >> SERCOM_I2CM_SYNCBUSY_LENGTH_Pos; -} - -static inline hri_sercomi2cm_syncbusy_reg_t hri_sercomi2cm_get_SYNCBUSY_reg(const void *const hw, - hri_sercomi2cm_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomi2cm_syncbusy_reg_t hri_sercomi2cm_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CM.SYNCBUSY.reg; -} - -static inline bool hri_sercomi2cs_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.SYNCBUSY.reg & SERCOM_I2CS_SYNCBUSY_SWRST) >> SERCOM_I2CS_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_sercomi2cs_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.SYNCBUSY.reg & SERCOM_I2CS_SYNCBUSY_ENABLE) >> SERCOM_I2CS_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_sercomi2cs_get_SYNCBUSY_LENGTH_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.SYNCBUSY.reg & SERCOM_I2CS_SYNCBUSY_LENGTH) >> SERCOM_I2CS_SYNCBUSY_LENGTH_Pos; -} - -static inline hri_sercomi2cs_syncbusy_reg_t hri_sercomi2cs_get_SYNCBUSY_reg(const void *const hw, - hri_sercomi2cs_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomi2cs_syncbusy_reg_t hri_sercomi2cs_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CS.SYNCBUSY.reg; -} - -static inline bool hri_sercomspi_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.SYNCBUSY.reg & SERCOM_SPI_SYNCBUSY_SWRST) >> SERCOM_SPI_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_sercomspi_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.SYNCBUSY.reg & SERCOM_SPI_SYNCBUSY_ENABLE) >> SERCOM_SPI_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_sercomspi_get_SYNCBUSY_CTRLB_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.SYNCBUSY.reg & SERCOM_SPI_SYNCBUSY_CTRLB) >> SERCOM_SPI_SYNCBUSY_CTRLB_Pos; -} - -static inline bool hri_sercomspi_get_SYNCBUSY_LENGTH_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.SYNCBUSY.reg & SERCOM_SPI_SYNCBUSY_LENGTH) >> SERCOM_SPI_SYNCBUSY_LENGTH_Pos; -} - -static inline hri_sercomspi_syncbusy_reg_t hri_sercomspi_get_SYNCBUSY_reg(const void *const hw, - hri_sercomspi_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomspi_syncbusy_reg_t hri_sercomspi_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.SYNCBUSY.reg; -} - -static inline bool hri_sercomusart_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_SWRST) >> SERCOM_USART_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_sercomusart_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_ENABLE) >> SERCOM_USART_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_sercomusart_get_SYNCBUSY_CTRLB_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_CTRLB) >> SERCOM_USART_SYNCBUSY_CTRLB_Pos; -} - -static inline bool hri_sercomusart_get_SYNCBUSY_RXERRCNT_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_RXERRCNT) >> SERCOM_USART_SYNCBUSY_RXERRCNT_Pos; -} - -static inline bool hri_sercomusart_get_SYNCBUSY_LENGTH_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_LENGTH) >> SERCOM_USART_SYNCBUSY_LENGTH_Pos; -} - -static inline hri_sercomusart_syncbusy_reg_t hri_sercomusart_get_SYNCBUSY_reg(const void *const hw, - hri_sercomusart_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomusart_syncbusy_reg_t hri_sercomusart_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.SYNCBUSY.reg; -} - -static inline hri_sercomusart_rxerrcnt_reg_t hri_sercomusart_get_RXERRCNT_reg(const void *const hw, - hri_sercomusart_rxerrcnt_reg_t mask) -{ - uint8_t tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - tmp = ((Sercom *)hw)->USART.RXERRCNT.reg; - tmp &= mask; - return tmp; -} - -static inline hri_sercomusart_rxerrcnt_reg_t hri_sercomusart_read_RXERRCNT_reg(const void *const hw) -{ - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - return ((Sercom *)hw)->USART.RXERRCNT.reg; -} - -static inline void hri_sercomi2cm_set_CTRLA_SWRST_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SWRST; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_SWRST) >> SERCOM_I2CM_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_set_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_ENABLE; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_ENABLE) >> SERCOM_I2CM_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_ENABLE; - tmp |= value << SERCOM_I2CM_CTRLA_ENABLE_Pos; - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_ENABLE; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_ENABLE; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_RUNSTDBY; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_RUNSTDBY) >> SERCOM_I2CM_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_RUNSTDBY; - tmp |= value << SERCOM_I2CM_CTRLA_RUNSTDBY_Pos; - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_RUNSTDBY; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_RUNSTDBY; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLA_PINOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_PINOUT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLA_PINOUT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_PINOUT) >> SERCOM_I2CM_CTRLA_PINOUT_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_PINOUT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_PINOUT; - tmp |= value << SERCOM_I2CM_CTRLA_PINOUT_Pos; - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_PINOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_PINOUT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_PINOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_PINOUT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLA_MEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_MEXTTOEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLA_MEXTTOEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_MEXTTOEN) >> SERCOM_I2CM_CTRLA_MEXTTOEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_MEXTTOEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_MEXTTOEN; - tmp |= value << SERCOM_I2CM_CTRLA_MEXTTOEN_Pos; - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_MEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_MEXTTOEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_MEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_MEXTTOEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLA_SEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SEXTTOEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLA_SEXTTOEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_SEXTTOEN) >> SERCOM_I2CM_CTRLA_SEXTTOEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_SEXTTOEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_SEXTTOEN; - tmp |= value << SERCOM_I2CM_CTRLA_SEXTTOEN_Pos; - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_SEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_SEXTTOEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_SEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_SEXTTOEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLA_SCLSM_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SCLSM; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLA_SCLSM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_SCLSM) >> SERCOM_I2CM_CTRLA_SCLSM_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_SCLSM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_SCLSM; - tmp |= value << SERCOM_I2CM_CTRLA_SCLSM_Pos; - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_SCLSM_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_SCLSM; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_SCLSM_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_SCLSM; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLA_LOWTOUTEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_LOWTOUTEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLA_LOWTOUTEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_LOWTOUTEN) >> SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_LOWTOUTEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_LOWTOUTEN; - tmp |= value << SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos; - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_LOWTOUTEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_LOWTOUTEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_LOWTOUTEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_LOWTOUTEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_MODE(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_MODE_bf(const void *const hw, - hri_sercomi2cm_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_MODE(mask)) >> SERCOM_I2CM_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_MODE_Msk; - tmp |= SERCOM_I2CM_CTRLA_MODE(data); - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_MODE(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_MODE(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_MODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_MODE_Msk) >> SERCOM_I2CM_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SDAHOLD(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_SDAHOLD_bf(const void *const hw, - hri_sercomi2cm_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_SDAHOLD(mask)) >> SERCOM_I2CM_CTRLA_SDAHOLD_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_SDAHOLD_Msk; - tmp |= SERCOM_I2CM_CTRLA_SDAHOLD(data); - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_SDAHOLD(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_SDAHOLD(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_SDAHOLD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_SDAHOLD_Msk) >> SERCOM_I2CM_CTRLA_SDAHOLD_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SPEED(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_SPEED_bf(const void *const hw, - hri_sercomi2cm_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_SPEED(mask)) >> SERCOM_I2CM_CTRLA_SPEED_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_SPEED_Msk; - tmp |= SERCOM_I2CM_CTRLA_SPEED(data); - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_SPEED(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_SPEED(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_SPEED_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_SPEED_Msk) >> SERCOM_I2CM_CTRLA_SPEED_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_CTRLA_INACTOUT_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_INACTOUT(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_INACTOUT_bf(const void *const hw, - hri_sercomi2cm_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_INACTOUT(mask)) >> SERCOM_I2CM_CTRLA_INACTOUT_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_INACTOUT_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= ~SERCOM_I2CM_CTRLA_INACTOUT_Msk; - tmp |= SERCOM_I2CM_CTRLA_INACTOUT(data); - ((Sercom *)hw)->I2CM.CTRLA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_INACTOUT_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_INACTOUT(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_INACTOUT_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_INACTOUT(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_INACTOUT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp = (tmp & SERCOM_I2CM_CTRLA_INACTOUT_Msk) >> SERCOM_I2CM_CTRLA_INACTOUT_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_CTRLA_reg(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg |= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_reg(const void *const hw, - hri_sercomi2cm_ctrla_reg_t mask) -{ - uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cm_write_CTRLA_reg(const void *const hw, hri_sercomi2cm_ctrla_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg = data; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLA_reg(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLA_reg(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLA.reg ^= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_reg(const void *const hw) -{ - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE); - return ((Sercom *)hw)->I2CM.CTRLA.reg; -} - -static inline void hri_sercomi2cs_set_CTRLA_SWRST_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SWRST; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_SWRST) >> SERCOM_I2CS_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_set_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_ENABLE; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_ENABLE) >> SERCOM_I2CS_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_ENABLE; - tmp |= value << SERCOM_I2CS_CTRLA_ENABLE_Pos; - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_ENABLE; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_ENABLE; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_RUNSTDBY; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_RUNSTDBY) >> SERCOM_I2CS_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_RUNSTDBY; - tmp |= value << SERCOM_I2CS_CTRLA_RUNSTDBY_Pos; - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_RUNSTDBY; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_RUNSTDBY; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLA_PINOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_PINOUT; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLA_PINOUT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_PINOUT) >> SERCOM_I2CS_CTRLA_PINOUT_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_PINOUT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_PINOUT; - tmp |= value << SERCOM_I2CS_CTRLA_PINOUT_Pos; - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_PINOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_PINOUT; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_PINOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_PINOUT; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLA_SEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SEXTTOEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLA_SEXTTOEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_SEXTTOEN) >> SERCOM_I2CS_CTRLA_SEXTTOEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_SEXTTOEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_SEXTTOEN; - tmp |= value << SERCOM_I2CS_CTRLA_SEXTTOEN_Pos; - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_SEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_SEXTTOEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_SEXTTOEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_SEXTTOEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLA_SCLSM_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SCLSM; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLA_SCLSM_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_SCLSM) >> SERCOM_I2CS_CTRLA_SCLSM_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_SCLSM_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_SCLSM; - tmp |= value << SERCOM_I2CS_CTRLA_SCLSM_Pos; - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_SCLSM_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_SCLSM; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_SCLSM_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_SCLSM; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLA_LOWTOUTEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_LOWTOUTEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLA_LOWTOUTEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_LOWTOUTEN) >> SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_LOWTOUTEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_LOWTOUTEN; - tmp |= value << SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos; - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_LOWTOUTEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_LOWTOUTEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_LOWTOUTEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_LOWTOUTEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_MODE(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_get_CTRLA_MODE_bf(const void *const hw, - hri_sercomi2cs_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_MODE(mask)) >> SERCOM_I2CS_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_MODE_Msk; - tmp |= SERCOM_I2CS_CTRLA_MODE(data); - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_MODE(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_MODE(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_read_CTRLA_MODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_MODE_Msk) >> SERCOM_I2CS_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SDAHOLD(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_get_CTRLA_SDAHOLD_bf(const void *const hw, - hri_sercomi2cs_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_SDAHOLD(mask)) >> SERCOM_I2CS_CTRLA_SDAHOLD_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_SDAHOLD_Msk; - tmp |= SERCOM_I2CS_CTRLA_SDAHOLD(data); - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_SDAHOLD(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_SDAHOLD(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_read_CTRLA_SDAHOLD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_SDAHOLD_Msk) >> SERCOM_I2CS_CTRLA_SDAHOLD_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SPEED(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_get_CTRLA_SPEED_bf(const void *const hw, - hri_sercomi2cs_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_SPEED(mask)) >> SERCOM_I2CS_CTRLA_SPEED_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= ~SERCOM_I2CS_CTRLA_SPEED_Msk; - tmp |= SERCOM_I2CS_CTRLA_SPEED(data); - ((Sercom *)hw)->I2CS.CTRLA.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_SPEED(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_SPEED(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_read_CTRLA_SPEED_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp = (tmp & SERCOM_I2CS_CTRLA_SPEED_Msk) >> SERCOM_I2CS_CTRLA_SPEED_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_CTRLA_reg(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg |= mask; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_get_CTRLA_reg(const void *const hw, - hri_sercomi2cs_ctrla_reg_t mask) -{ - uint32_t tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - tmp = ((Sercom *)hw)->I2CS.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLA_reg(const void *const hw, hri_sercomi2cs_ctrla_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg = data; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLA_reg(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg &= ~mask; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLA_reg(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLA.reg ^= mask; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_read_CTRLA_reg(const void *const hw) -{ - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE); - return ((Sercom *)hw)->I2CS.CTRLA.reg; -} - -static inline void hri_sercomspi_set_CTRLA_SWRST_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_SWRST; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_SWRST) >> SERCOM_SPI_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_set_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_ENABLE; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_ENABLE) >> SERCOM_SPI_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_ENABLE; - tmp |= value << SERCOM_SPI_CTRLA_ENABLE_Pos; - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_ENABLE; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_ENABLE; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_RUNSTDBY; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_RUNSTDBY) >> SERCOM_SPI_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_RUNSTDBY; - tmp |= value << SERCOM_SPI_CTRLA_RUNSTDBY_Pos; - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_RUNSTDBY; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_RUNSTDBY; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLA_IBON_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_IBON; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLA_IBON_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_IBON) >> SERCOM_SPI_CTRLA_IBON_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLA_IBON_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_IBON; - tmp |= value << SERCOM_SPI_CTRLA_IBON_Pos; - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_IBON_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_IBON; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_IBON_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_IBON; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLA_CPHA_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_CPHA; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLA_CPHA_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_CPHA) >> SERCOM_SPI_CTRLA_CPHA_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLA_CPHA_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_CPHA; - tmp |= value << SERCOM_SPI_CTRLA_CPHA_Pos; - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_CPHA_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_CPHA; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_CPHA_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_CPHA; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLA_CPOL_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_CPOL; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLA_CPOL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_CPOL) >> SERCOM_SPI_CTRLA_CPOL_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLA_CPOL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_CPOL; - tmp |= value << SERCOM_SPI_CTRLA_CPOL_Pos; - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_CPOL_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_CPOL; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_CPOL_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_CPOL; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLA_DORD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_DORD; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLA_DORD_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_DORD) >> SERCOM_SPI_CTRLA_DORD_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLA_DORD_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_DORD; - tmp |= value << SERCOM_SPI_CTRLA_DORD_Pos; - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_DORD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_DORD; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_DORD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_DORD; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLA_MODE_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_MODE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_MODE_bf(const void *const hw, - hri_sercomspi_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_MODE(mask)) >> SERCOM_SPI_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLA_MODE_bf(const void *const hw, hri_sercomspi_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_MODE_Msk; - tmp |= SERCOM_SPI_CTRLA_MODE(data); - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_MODE_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_MODE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_MODE_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_MODE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_MODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_MODE_Msk) >> SERCOM_SPI_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_CTRLA_DOPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_DOPO(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_DOPO_bf(const void *const hw, - hri_sercomspi_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_DOPO(mask)) >> SERCOM_SPI_CTRLA_DOPO_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLA_DOPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_DOPO_Msk; - tmp |= SERCOM_SPI_CTRLA_DOPO(data); - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_DOPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_DOPO(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_DOPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_DOPO(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_DOPO_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_DOPO_Msk) >> SERCOM_SPI_CTRLA_DOPO_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_CTRLA_DIPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_DIPO(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_DIPO_bf(const void *const hw, - hri_sercomspi_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_DIPO(mask)) >> SERCOM_SPI_CTRLA_DIPO_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLA_DIPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_DIPO_Msk; - tmp |= SERCOM_SPI_CTRLA_DIPO(data); - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_DIPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_DIPO(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_DIPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_DIPO(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_DIPO_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_DIPO_Msk) >> SERCOM_SPI_CTRLA_DIPO_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_CTRLA_FORM_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_FORM(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_FORM_bf(const void *const hw, - hri_sercomspi_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_FORM(mask)) >> SERCOM_SPI_CTRLA_FORM_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLA_FORM_bf(const void *const hw, hri_sercomspi_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= ~SERCOM_SPI_CTRLA_FORM_Msk; - tmp |= SERCOM_SPI_CTRLA_FORM(data); - ((Sercom *)hw)->SPI.CTRLA.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_FORM_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_FORM(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_FORM_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_FORM(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_FORM_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp = (tmp & SERCOM_SPI_CTRLA_FORM_Msk) >> SERCOM_SPI_CTRLA_FORM_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_CTRLA_reg(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg |= mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_reg(const void *const hw, - hri_sercomspi_ctrla_reg_t mask) -{ - uint32_t tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - tmp = ((Sercom *)hw)->SPI.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLA_reg(const void *const hw, hri_sercomspi_ctrla_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg = data; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLA_reg(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg &= ~mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLA_reg(const void *const hw, hri_sercomspi_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLA.reg ^= mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_reg(const void *const hw) -{ - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE); - return ((Sercom *)hw)->SPI.CTRLA.reg; -} - -static inline void hri_sercomusart_set_CTRLA_SWRST_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_SWRST; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_SWRST) >> SERCOM_USART_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_set_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_ENABLE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_ENABLE) >> SERCOM_USART_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_ENABLE; - tmp |= value << SERCOM_USART_CTRLA_ENABLE_Pos; - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_ENABLE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_ENABLE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_RUNSTDBY; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_RUNSTDBY) >> SERCOM_USART_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_RUNSTDBY; - tmp |= value << SERCOM_USART_CTRLA_RUNSTDBY_Pos; - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_RUNSTDBY; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_RUNSTDBY; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLA_IBON_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_IBON; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_IBON_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_IBON) >> SERCOM_USART_CTRLA_IBON_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLA_IBON_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_IBON; - tmp |= value << SERCOM_USART_CTRLA_IBON_Pos; - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_IBON_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_IBON; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_IBON_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_IBON; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLA_TXINV_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_TXINV; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_TXINV_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_TXINV) >> SERCOM_USART_CTRLA_TXINV_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLA_TXINV_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_TXINV; - tmp |= value << SERCOM_USART_CTRLA_TXINV_Pos; - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_TXINV_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_TXINV; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_TXINV_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_TXINV; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLA_RXINV_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_RXINV; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_RXINV_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_RXINV) >> SERCOM_USART_CTRLA_RXINV_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLA_RXINV_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_RXINV; - tmp |= value << SERCOM_USART_CTRLA_RXINV_Pos; - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_RXINV_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_RXINV; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_RXINV_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_RXINV; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLA_CMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_CMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_CMODE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_CMODE) >> SERCOM_USART_CTRLA_CMODE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLA_CMODE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_CMODE; - tmp |= value << SERCOM_USART_CTRLA_CMODE_Pos; - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_CMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_CMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_CMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_CMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLA_CPOL_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_CPOL; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_CPOL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_CPOL) >> SERCOM_USART_CTRLA_CPOL_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLA_CPOL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_CPOL; - tmp |= value << SERCOM_USART_CTRLA_CPOL_Pos; - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_CPOL_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_CPOL; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_CPOL_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_CPOL; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLA_DORD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_DORD; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLA_DORD_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_DORD) >> SERCOM_USART_CTRLA_DORD_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLA_DORD_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_DORD; - tmp |= value << SERCOM_USART_CTRLA_DORD_Pos; - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_DORD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_DORD; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_DORD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_DORD; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLA_MODE_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_MODE(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_MODE_bf(const void *const hw, - hri_sercomusart_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_MODE(mask)) >> SERCOM_USART_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLA_MODE_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_MODE_Msk; - tmp |= SERCOM_USART_CTRLA_MODE(data); - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_MODE_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_MODE(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_MODE_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_MODE(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_MODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_MODE_Msk) >> SERCOM_USART_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLA_SAMPR_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_SAMPR(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_SAMPR_bf(const void *const hw, - hri_sercomusart_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_SAMPR(mask)) >> SERCOM_USART_CTRLA_SAMPR_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLA_SAMPR_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_SAMPR_Msk; - tmp |= SERCOM_USART_CTRLA_SAMPR(data); - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_SAMPR_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_SAMPR(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_SAMPR_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_SAMPR(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_SAMPR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_SAMPR_Msk) >> SERCOM_USART_CTRLA_SAMPR_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLA_TXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_TXPO(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_TXPO_bf(const void *const hw, - hri_sercomusart_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_TXPO(mask)) >> SERCOM_USART_CTRLA_TXPO_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLA_TXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_TXPO_Msk; - tmp |= SERCOM_USART_CTRLA_TXPO(data); - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_TXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_TXPO(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_TXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_TXPO(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_TXPO_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_TXPO_Msk) >> SERCOM_USART_CTRLA_TXPO_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLA_RXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_RXPO(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_RXPO_bf(const void *const hw, - hri_sercomusart_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_RXPO(mask)) >> SERCOM_USART_CTRLA_RXPO_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLA_RXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_RXPO_Msk; - tmp |= SERCOM_USART_CTRLA_RXPO(data); - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_RXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_RXPO(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_RXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_RXPO(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_RXPO_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_RXPO_Msk) >> SERCOM_USART_CTRLA_RXPO_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLA_SAMPA_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_SAMPA(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_SAMPA_bf(const void *const hw, - hri_sercomusart_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_SAMPA(mask)) >> SERCOM_USART_CTRLA_SAMPA_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLA_SAMPA_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_SAMPA_Msk; - tmp |= SERCOM_USART_CTRLA_SAMPA(data); - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_SAMPA_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_SAMPA(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_SAMPA_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_SAMPA(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_SAMPA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_SAMPA_Msk) >> SERCOM_USART_CTRLA_SAMPA_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLA_FORM_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_FORM(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_FORM_bf(const void *const hw, - hri_sercomusart_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_FORM(mask)) >> SERCOM_USART_CTRLA_FORM_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLA_FORM_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= ~SERCOM_USART_CTRLA_FORM_Msk; - tmp |= SERCOM_USART_CTRLA_FORM(data); - ((Sercom *)hw)->USART.CTRLA.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_FORM_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_FORM(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_FORM_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_FORM(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_FORM_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp = (tmp & SERCOM_USART_CTRLA_FORM_Msk) >> SERCOM_USART_CTRLA_FORM_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLA_reg(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg |= mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_reg(const void *const hw, - hri_sercomusart_ctrla_reg_t mask) -{ - uint32_t tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - tmp = ((Sercom *)hw)->USART.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLA_reg(const void *const hw, hri_sercomusart_ctrla_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg = data; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLA_reg(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg &= ~mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLA_reg(const void *const hw, hri_sercomusart_ctrla_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLA.reg ^= mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_reg(const void *const hw) -{ - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE); - return ((Sercom *)hw)->USART.CTRLA.reg; -} - -static inline void hri_sercomi2cm_set_CTRLB_SMEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLB_SMEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp = (tmp & SERCOM_I2CM_CTRLB_SMEN) >> SERCOM_I2CM_CTRLB_SMEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLB_SMEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp &= ~SERCOM_I2CM_CTRLB_SMEN; - tmp |= value << SERCOM_I2CM_CTRLB_SMEN_Pos; - ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLB_SMEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLB_SMEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLB_QCEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLB_QCEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp = (tmp & SERCOM_I2CM_CTRLB_QCEN) >> SERCOM_I2CM_CTRLB_QCEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLB_QCEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp &= ~SERCOM_I2CM_CTRLB_QCEN; - tmp |= value << SERCOM_I2CM_CTRLB_QCEN_Pos; - ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLB_QCEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLB_QCEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLB_ACKACT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLB_ACKACT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp = (tmp & SERCOM_I2CM_CTRLB_ACKACT) >> SERCOM_I2CM_CTRLB_ACKACT_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLB_ACKACT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp &= ~SERCOM_I2CM_CTRLB_ACKACT; - tmp |= value << SERCOM_I2CM_CTRLB_ACKACT_Pos; - ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLB_ACKACT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLB_ACKACT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_get_CTRLB_CMD_bf(const void *const hw, - hri_sercomi2cm_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp = (tmp & SERCOM_I2CM_CTRLB_CMD(mask)) >> SERCOM_I2CM_CTRLB_CMD_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cm_ctrlb_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp &= ~SERCOM_I2CM_CTRLB_CMD_Msk; - tmp |= SERCOM_I2CM_CTRLB_CMD(data); - ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_CMD(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_CMD(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_read_CTRLB_CMD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp = (tmp & SERCOM_I2CM_CTRLB_CMD_Msk) >> SERCOM_I2CM_CTRLB_CMD_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_CTRLB_reg(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg |= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_get_CTRLB_reg(const void *const hw, - hri_sercomi2cm_ctrlb_reg_t mask) -{ - uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cm_write_CTRLB_reg(const void *const hw, hri_sercomi2cm_ctrlb_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg = data; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLB_reg(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg &= ~mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLB_reg(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLB.reg ^= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_read_CTRLB_reg(const void *const hw) -{ - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - return ((Sercom *)hw)->I2CM.CTRLB.reg; -} - -static inline void hri_sercomi2cs_set_CTRLB_SMEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_SMEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLB_SMEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp = (tmp & SERCOM_I2CS_CTRLB_SMEN) >> SERCOM_I2CS_CTRLB_SMEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLB_SMEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp &= ~SERCOM_I2CS_CTRLB_SMEN; - tmp |= value << SERCOM_I2CS_CTRLB_SMEN_Pos; - ((Sercom *)hw)->I2CS.CTRLB.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLB_SMEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_SMEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLB_SMEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_SMEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLB_GCMD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_GCMD; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLB_GCMD_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp = (tmp & SERCOM_I2CS_CTRLB_GCMD) >> SERCOM_I2CS_CTRLB_GCMD_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLB_GCMD_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp &= ~SERCOM_I2CS_CTRLB_GCMD; - tmp |= value << SERCOM_I2CS_CTRLB_GCMD_Pos; - ((Sercom *)hw)->I2CS.CTRLB.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLB_GCMD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_GCMD; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLB_GCMD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_GCMD; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLB_AACKEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_AACKEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLB_AACKEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp = (tmp & SERCOM_I2CS_CTRLB_AACKEN) >> SERCOM_I2CS_CTRLB_AACKEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLB_AACKEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp &= ~SERCOM_I2CS_CTRLB_AACKEN; - tmp |= value << SERCOM_I2CS_CTRLB_AACKEN_Pos; - ((Sercom *)hw)->I2CS.CTRLB.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLB_AACKEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_AACKEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLB_AACKEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_AACKEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLB_ACKACT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_ACKACT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLB_ACKACT_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp = (tmp & SERCOM_I2CS_CTRLB_ACKACT) >> SERCOM_I2CS_CTRLB_ACKACT_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLB_ACKACT_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp &= ~SERCOM_I2CS_CTRLB_ACKACT; - tmp |= value << SERCOM_I2CS_CTRLB_ACKACT_Pos; - ((Sercom *)hw)->I2CS.CTRLB.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLB_ACKACT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_ACKACT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLB_ACKACT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_ACKACT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLB_AMODE_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_AMODE(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_get_CTRLB_AMODE_bf(const void *const hw, - hri_sercomi2cs_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp = (tmp & SERCOM_I2CS_CTRLB_AMODE(mask)) >> SERCOM_I2CS_CTRLB_AMODE_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLB_AMODE_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp &= ~SERCOM_I2CS_CTRLB_AMODE_Msk; - tmp |= SERCOM_I2CS_CTRLB_AMODE(data); - ((Sercom *)hw)->I2CS.CTRLB.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLB_AMODE_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_AMODE(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLB_AMODE_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_AMODE(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_read_CTRLB_AMODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp = (tmp & SERCOM_I2CS_CTRLB_AMODE_Msk) >> SERCOM_I2CS_CTRLB_AMODE_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_CMD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_get_CTRLB_CMD_bf(const void *const hw, - hri_sercomi2cs_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp = (tmp & SERCOM_I2CS_CTRLB_CMD(mask)) >> SERCOM_I2CS_CTRLB_CMD_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp &= ~SERCOM_I2CS_CTRLB_CMD_Msk; - tmp |= SERCOM_I2CS_CTRLB_CMD(data); - ((Sercom *)hw)->I2CS.CTRLB.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_CMD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_CMD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_read_CTRLB_CMD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp = (tmp & SERCOM_I2CS_CTRLB_CMD_Msk) >> SERCOM_I2CS_CTRLB_CMD_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_CTRLB_reg(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_get_CTRLB_reg(const void *const hw, - hri_sercomi2cs_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLB_reg(const void *const hw, hri_sercomi2cs_ctrlb_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLB_reg(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLB_reg(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLB.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_read_CTRLB_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CS.CTRLB.reg; -} - -static inline void hri_sercomspi_set_CTRLB_PLOADEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_PLOADEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLB_PLOADEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp = (tmp & SERCOM_SPI_CTRLB_PLOADEN) >> SERCOM_SPI_CTRLB_PLOADEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLB_PLOADEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp &= ~SERCOM_SPI_CTRLB_PLOADEN; - tmp |= value << SERCOM_SPI_CTRLB_PLOADEN_Pos; - ((Sercom *)hw)->SPI.CTRLB.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLB_PLOADEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_PLOADEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLB_PLOADEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_PLOADEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLB_SSDE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_SSDE; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLB_SSDE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp = (tmp & SERCOM_SPI_CTRLB_SSDE) >> SERCOM_SPI_CTRLB_SSDE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLB_SSDE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp &= ~SERCOM_SPI_CTRLB_SSDE; - tmp |= value << SERCOM_SPI_CTRLB_SSDE_Pos; - ((Sercom *)hw)->SPI.CTRLB.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLB_SSDE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_SSDE; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLB_SSDE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_SSDE; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLB_MSSEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_MSSEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLB_MSSEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp = (tmp & SERCOM_SPI_CTRLB_MSSEN) >> SERCOM_SPI_CTRLB_MSSEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLB_MSSEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp &= ~SERCOM_SPI_CTRLB_MSSEN; - tmp |= value << SERCOM_SPI_CTRLB_MSSEN_Pos; - ((Sercom *)hw)->SPI.CTRLB.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLB_MSSEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_MSSEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLB_MSSEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_MSSEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLB_RXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_RXEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLB_RXEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp = (tmp & SERCOM_SPI_CTRLB_RXEN) >> SERCOM_SPI_CTRLB_RXEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLB_RXEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp &= ~SERCOM_SPI_CTRLB_RXEN; - tmp |= value << SERCOM_SPI_CTRLB_RXEN_Pos; - ((Sercom *)hw)->SPI.CTRLB.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLB_RXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_RXEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLB_RXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_RXEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_CHSIZE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_get_CTRLB_CHSIZE_bf(const void *const hw, - hri_sercomspi_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp = (tmp & SERCOM_SPI_CTRLB_CHSIZE(mask)) >> SERCOM_SPI_CTRLB_CHSIZE_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp &= ~SERCOM_SPI_CTRLB_CHSIZE_Msk; - tmp |= SERCOM_SPI_CTRLB_CHSIZE(data); - ((Sercom *)hw)->SPI.CTRLB.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_CHSIZE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_CHSIZE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_read_CTRLB_CHSIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp = (tmp & SERCOM_SPI_CTRLB_CHSIZE_Msk) >> SERCOM_SPI_CTRLB_CHSIZE_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_CTRLB_AMODE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_AMODE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_get_CTRLB_AMODE_bf(const void *const hw, - hri_sercomspi_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp = (tmp & SERCOM_SPI_CTRLB_AMODE(mask)) >> SERCOM_SPI_CTRLB_AMODE_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLB_AMODE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp &= ~SERCOM_SPI_CTRLB_AMODE_Msk; - tmp |= SERCOM_SPI_CTRLB_AMODE(data); - ((Sercom *)hw)->SPI.CTRLB.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLB_AMODE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_AMODE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLB_AMODE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_AMODE(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_read_CTRLB_AMODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp = (tmp & SERCOM_SPI_CTRLB_AMODE_Msk) >> SERCOM_SPI_CTRLB_AMODE_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg |= mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_get_CTRLB_reg(const void *const hw, - hri_sercomspi_ctrlb_reg_t mask) -{ - uint32_t tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - tmp = ((Sercom *)hw)->SPI.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg = data; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg &= ~mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLB.reg ^= mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_read_CTRLB_reg(const void *const hw) -{ - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - return ((Sercom *)hw)->SPI.CTRLB.reg; -} - -static inline void hri_sercomusart_set_CTRLB_SBMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_SBMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLB_SBMODE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_SBMODE) >> SERCOM_USART_CTRLB_SBMODE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLB_SBMODE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_SBMODE; - tmp |= value << SERCOM_USART_CTRLB_SBMODE_Pos; - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_SBMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_SBMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_SBMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_SBMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLB_COLDEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_COLDEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLB_COLDEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_COLDEN) >> SERCOM_USART_CTRLB_COLDEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLB_COLDEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_COLDEN; - tmp |= value << SERCOM_USART_CTRLB_COLDEN_Pos; - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_COLDEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_COLDEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_COLDEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_COLDEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLB_SFDE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_SFDE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLB_SFDE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_SFDE) >> SERCOM_USART_CTRLB_SFDE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLB_SFDE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_SFDE; - tmp |= value << SERCOM_USART_CTRLB_SFDE_Pos; - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_SFDE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_SFDE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_SFDE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_SFDE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLB_ENC_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_ENC; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLB_ENC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_ENC) >> SERCOM_USART_CTRLB_ENC_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLB_ENC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_ENC; - tmp |= value << SERCOM_USART_CTRLB_ENC_Pos; - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_ENC_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_ENC; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_ENC_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_ENC; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLB_PMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_PMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLB_PMODE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_PMODE) >> SERCOM_USART_CTRLB_PMODE_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLB_PMODE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_PMODE; - tmp |= value << SERCOM_USART_CTRLB_PMODE_Pos; - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_PMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_PMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_PMODE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_PMODE; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLB_TXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_TXEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLB_TXEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_TXEN) >> SERCOM_USART_CTRLB_TXEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLB_TXEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_TXEN; - tmp |= value << SERCOM_USART_CTRLB_TXEN_Pos; - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_TXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_TXEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_TXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_TXEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLB_RXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_RXEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLB_RXEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_RXEN) >> SERCOM_USART_CTRLB_RXEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLB_RXEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_RXEN; - tmp |= value << SERCOM_USART_CTRLB_RXEN_Pos; - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_RXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_RXEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_RXEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_RXEN; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_CHSIZE(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_get_CTRLB_CHSIZE_bf(const void *const hw, - hri_sercomusart_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_CHSIZE(mask)) >> SERCOM_USART_CTRLB_CHSIZE_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_CHSIZE_Msk; - tmp |= SERCOM_USART_CTRLB_CHSIZE(data); - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_CHSIZE(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_CHSIZE(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_read_CTRLB_CHSIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_CHSIZE_Msk) >> SERCOM_USART_CTRLB_CHSIZE_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLB_LINCMD_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_LINCMD(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_get_CTRLB_LINCMD_bf(const void *const hw, - hri_sercomusart_ctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_LINCMD(mask)) >> SERCOM_USART_CTRLB_LINCMD_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLB_LINCMD_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= ~SERCOM_USART_CTRLB_LINCMD_Msk; - tmp |= SERCOM_USART_CTRLB_LINCMD(data); - ((Sercom *)hw)->USART.CTRLB.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_LINCMD_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_LINCMD(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_LINCMD_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_LINCMD(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_read_CTRLB_LINCMD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp = (tmp & SERCOM_USART_CTRLB_LINCMD_Msk) >> SERCOM_USART_CTRLB_LINCMD_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLB_reg(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg |= mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_get_CTRLB_reg(const void *const hw, - hri_sercomusart_ctrlb_reg_t mask) -{ - uint32_t tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - tmp = ((Sercom *)hw)->USART.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLB_reg(const void *const hw, hri_sercomusart_ctrlb_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg = data; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLB_reg(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg &= ~mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLB_reg(const void *const hw, hri_sercomusart_ctrlb_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLB.reg ^= mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_read_CTRLB_reg(const void *const hw) -{ - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - return ((Sercom *)hw)->USART.CTRLB.reg; -} - -static inline void hri_sercomi2cm_set_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLC.reg |= SERCOM_I2CM_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_CTRLC_DATA32B_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLC.reg; - tmp = (tmp & SERCOM_I2CM_CTRLC_DATA32B) >> SERCOM_I2CM_CTRLC_DATA32B_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_CTRLC_DATA32B_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.CTRLC.reg; - tmp &= ~SERCOM_I2CM_CTRLC_DATA32B; - tmp |= value << SERCOM_I2CM_CTRLC_DATA32B_Pos; - ((Sercom *)hw)->I2CM.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLC.reg &= ~SERCOM_I2CM_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLC.reg ^= SERCOM_I2CM_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_CTRLC_reg(const void *const hw, hri_sercomi2cm_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLC.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrlc_reg_t hri_sercomi2cm_get_CTRLC_reg(const void *const hw, - hri_sercomi2cm_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.CTRLC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cm_write_CTRLC_reg(const void *const hw, hri_sercomi2cm_ctrlc_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLC.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_CTRLC_reg(const void *const hw, hri_sercomi2cm_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLC.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_CTRLC_reg(const void *const hw, hri_sercomi2cm_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.CTRLC.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_ctrlc_reg_t hri_sercomi2cm_read_CTRLC_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CM.CTRLC.reg; -} - -static inline void hri_sercomi2cs_set_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg |= SERCOM_I2CS_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_CTRLC_DATA32B_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLC.reg; - tmp = (tmp & SERCOM_I2CS_CTRLC_DATA32B) >> SERCOM_I2CS_CTRLC_DATA32B_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_CTRLC_DATA32B_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLC.reg; - tmp &= ~SERCOM_I2CS_CTRLC_DATA32B; - tmp |= value << SERCOM_I2CS_CTRLC_DATA32B_Pos; - ((Sercom *)hw)->I2CS.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg &= ~SERCOM_I2CS_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg ^= SERCOM_I2CS_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_CTRLC_SDASETUP_bf(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg |= SERCOM_I2CS_CTRLC_SDASETUP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlc_reg_t hri_sercomi2cs_get_CTRLC_SDASETUP_bf(const void *const hw, - hri_sercomi2cs_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLC.reg; - tmp = (tmp & SERCOM_I2CS_CTRLC_SDASETUP(mask)) >> SERCOM_I2CS_CTRLC_SDASETUP_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLC_SDASETUP_bf(const void *const hw, hri_sercomi2cs_ctrlc_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.CTRLC.reg; - tmp &= ~SERCOM_I2CS_CTRLC_SDASETUP_Msk; - tmp |= SERCOM_I2CS_CTRLC_SDASETUP(data); - ((Sercom *)hw)->I2CS.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLC_SDASETUP_bf(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg &= ~SERCOM_I2CS_CTRLC_SDASETUP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLC_SDASETUP_bf(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg ^= SERCOM_I2CS_CTRLC_SDASETUP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlc_reg_t hri_sercomi2cs_read_CTRLC_SDASETUP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLC.reg; - tmp = (tmp & SERCOM_I2CS_CTRLC_SDASETUP_Msk) >> SERCOM_I2CS_CTRLC_SDASETUP_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_CTRLC_reg(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlc_reg_t hri_sercomi2cs_get_CTRLC_reg(const void *const hw, - hri_sercomi2cs_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.CTRLC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cs_write_CTRLC_reg(const void *const hw, hri_sercomi2cs_ctrlc_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_CTRLC_reg(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_CTRLC_reg(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.CTRLC.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_ctrlc_reg_t hri_sercomi2cs_read_CTRLC_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CS.CTRLC.reg; -} - -static inline void hri_sercomspi_set_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg |= SERCOM_SPI_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_CTRLC_DATA32B_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLC.reg; - tmp = (tmp & SERCOM_SPI_CTRLC_DATA32B) >> SERCOM_SPI_CTRLC_DATA32B_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_CTRLC_DATA32B_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLC.reg; - tmp &= ~SERCOM_SPI_CTRLC_DATA32B; - tmp |= value << SERCOM_SPI_CTRLC_DATA32B_Pos; - ((Sercom *)hw)->SPI.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg &= ~SERCOM_SPI_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLC_DATA32B_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg ^= SERCOM_SPI_CTRLC_DATA32B; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_CTRLC_ICSPACE_bf(const void *const hw, hri_sercomspi_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg |= SERCOM_SPI_CTRLC_ICSPACE(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlc_reg_t hri_sercomspi_get_CTRLC_ICSPACE_bf(const void *const hw, - hri_sercomspi_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLC.reg; - tmp = (tmp & SERCOM_SPI_CTRLC_ICSPACE(mask)) >> SERCOM_SPI_CTRLC_ICSPACE_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLC_ICSPACE_bf(const void *const hw, hri_sercomspi_ctrlc_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.CTRLC.reg; - tmp &= ~SERCOM_SPI_CTRLC_ICSPACE_Msk; - tmp |= SERCOM_SPI_CTRLC_ICSPACE(data); - ((Sercom *)hw)->SPI.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLC_ICSPACE_bf(const void *const hw, hri_sercomspi_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg &= ~SERCOM_SPI_CTRLC_ICSPACE(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLC_ICSPACE_bf(const void *const hw, hri_sercomspi_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg ^= SERCOM_SPI_CTRLC_ICSPACE(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlc_reg_t hri_sercomspi_read_CTRLC_ICSPACE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLC.reg; - tmp = (tmp & SERCOM_SPI_CTRLC_ICSPACE_Msk) >> SERCOM_SPI_CTRLC_ICSPACE_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_CTRLC_reg(const void *const hw, hri_sercomspi_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlc_reg_t hri_sercomspi_get_CTRLC_reg(const void *const hw, - hri_sercomspi_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.CTRLC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_write_CTRLC_reg(const void *const hw, hri_sercomspi_ctrlc_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_CTRLC_reg(const void *const hw, hri_sercomspi_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_CTRLC_reg(const void *const hw, hri_sercomspi_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.CTRLC.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_ctrlc_reg_t hri_sercomspi_read_CTRLC_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.CTRLC.reg; -} - -static inline void hri_sercomusart_set_CTRLC_INACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_INACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLC_INACK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_INACK) >> SERCOM_USART_CTRLC_INACK_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLC_INACK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp &= ~SERCOM_USART_CTRLC_INACK; - tmp |= value << SERCOM_USART_CTRLC_INACK_Pos; - ((Sercom *)hw)->USART.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLC_INACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_INACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLC_INACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_INACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLC_DSNACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_DSNACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_CTRLC_DSNACK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_DSNACK) >> SERCOM_USART_CTRLC_DSNACK_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_CTRLC_DSNACK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp &= ~SERCOM_USART_CTRLC_DSNACK; - tmp |= value << SERCOM_USART_CTRLC_DSNACK_Pos; - ((Sercom *)hw)->USART.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLC_DSNACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_DSNACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLC_DSNACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_DSNACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_CTRLC_GTIME_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_GTIME(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_GTIME_bf(const void *const hw, - hri_sercomusart_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_GTIME(mask)) >> SERCOM_USART_CTRLC_GTIME_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLC_GTIME_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp &= ~SERCOM_USART_CTRLC_GTIME_Msk; - tmp |= SERCOM_USART_CTRLC_GTIME(data); - ((Sercom *)hw)->USART.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLC_GTIME_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_GTIME(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLC_GTIME_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_GTIME(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_GTIME_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_GTIME_Msk) >> SERCOM_USART_CTRLC_GTIME_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLC_BRKLEN_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_BRKLEN(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_BRKLEN_bf(const void *const hw, - hri_sercomusart_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_BRKLEN(mask)) >> SERCOM_USART_CTRLC_BRKLEN_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLC_BRKLEN_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp &= ~SERCOM_USART_CTRLC_BRKLEN_Msk; - tmp |= SERCOM_USART_CTRLC_BRKLEN(data); - ((Sercom *)hw)->USART.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLC_BRKLEN_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_BRKLEN(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLC_BRKLEN_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_BRKLEN(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_BRKLEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_BRKLEN_Msk) >> SERCOM_USART_CTRLC_BRKLEN_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLC_HDRDLY_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_HDRDLY(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_HDRDLY_bf(const void *const hw, - hri_sercomusart_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_HDRDLY(mask)) >> SERCOM_USART_CTRLC_HDRDLY_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLC_HDRDLY_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp &= ~SERCOM_USART_CTRLC_HDRDLY_Msk; - tmp |= SERCOM_USART_CTRLC_HDRDLY(data); - ((Sercom *)hw)->USART.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLC_HDRDLY_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_HDRDLY(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLC_HDRDLY_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_HDRDLY(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_HDRDLY_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_HDRDLY_Msk) >> SERCOM_USART_CTRLC_HDRDLY_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLC_MAXITER_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_MAXITER(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_MAXITER_bf(const void *const hw, - hri_sercomusart_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_MAXITER(mask)) >> SERCOM_USART_CTRLC_MAXITER_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLC_MAXITER_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp &= ~SERCOM_USART_CTRLC_MAXITER_Msk; - tmp |= SERCOM_USART_CTRLC_MAXITER(data); - ((Sercom *)hw)->USART.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLC_MAXITER_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_MAXITER(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLC_MAXITER_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_MAXITER(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_MAXITER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_MAXITER_Msk) >> SERCOM_USART_CTRLC_MAXITER_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLC_DATA32B_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_DATA32B(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_DATA32B_bf(const void *const hw, - hri_sercomusart_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_DATA32B(mask)) >> SERCOM_USART_CTRLC_DATA32B_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLC_DATA32B_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp &= ~SERCOM_USART_CTRLC_DATA32B_Msk; - tmp |= SERCOM_USART_CTRLC_DATA32B(data); - ((Sercom *)hw)->USART.CTRLC.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLC_DATA32B_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_DATA32B(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLC_DATA32B_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_DATA32B(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_DATA32B_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp = (tmp & SERCOM_USART_CTRLC_DATA32B_Msk) >> SERCOM_USART_CTRLC_DATA32B_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_CTRLC_reg(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_reg(const void *const hw, - hri_sercomusart_ctrlc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.CTRLC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_write_CTRLC_reg(const void *const hw, hri_sercomusart_ctrlc_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_CTRLC_reg(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_CTRLC_reg(const void *const hw, hri_sercomusart_ctrlc_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.CTRLC.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.CTRLC.reg; -} - -static inline void hri_sercomi2cm_set_BAUD_BAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg |= SERCOM_I2CM_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_BAUD_bf(const void *const hw, - hri_sercomi2cm_baud_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp = (tmp & SERCOM_I2CM_BAUD_BAUD(mask)) >> SERCOM_I2CM_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_BAUD_BAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp &= ~SERCOM_I2CM_BAUD_BAUD_Msk; - tmp |= SERCOM_I2CM_BAUD_BAUD(data); - ((Sercom *)hw)->I2CM.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_BAUD_BAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg &= ~SERCOM_I2CM_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_BAUD_BAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg ^= SERCOM_I2CM_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_BAUD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp = (tmp & SERCOM_I2CM_BAUD_BAUD_Msk) >> SERCOM_I2CM_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_BAUD_BAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg |= SERCOM_I2CM_BAUD_BAUDLOW(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_BAUDLOW_bf(const void *const hw, - hri_sercomi2cm_baud_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp = (tmp & SERCOM_I2CM_BAUD_BAUDLOW(mask)) >> SERCOM_I2CM_BAUD_BAUDLOW_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_BAUD_BAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp &= ~SERCOM_I2CM_BAUD_BAUDLOW_Msk; - tmp |= SERCOM_I2CM_BAUD_BAUDLOW(data); - ((Sercom *)hw)->I2CM.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_BAUD_BAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg &= ~SERCOM_I2CM_BAUD_BAUDLOW(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_BAUD_BAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg ^= SERCOM_I2CM_BAUD_BAUDLOW(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_BAUDLOW_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp = (tmp & SERCOM_I2CM_BAUD_BAUDLOW_Msk) >> SERCOM_I2CM_BAUD_BAUDLOW_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_BAUD_HSBAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg |= SERCOM_I2CM_BAUD_HSBAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_HSBAUD_bf(const void *const hw, - hri_sercomi2cm_baud_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp = (tmp & SERCOM_I2CM_BAUD_HSBAUD(mask)) >> SERCOM_I2CM_BAUD_HSBAUD_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_BAUD_HSBAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp &= ~SERCOM_I2CM_BAUD_HSBAUD_Msk; - tmp |= SERCOM_I2CM_BAUD_HSBAUD(data); - ((Sercom *)hw)->I2CM.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_BAUD_HSBAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg &= ~SERCOM_I2CM_BAUD_HSBAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_BAUD_HSBAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg ^= SERCOM_I2CM_BAUD_HSBAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_HSBAUD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp = (tmp & SERCOM_I2CM_BAUD_HSBAUD_Msk) >> SERCOM_I2CM_BAUD_HSBAUD_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_BAUD_HSBAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg |= SERCOM_I2CM_BAUD_HSBAUDLOW(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_HSBAUDLOW_bf(const void *const hw, - hri_sercomi2cm_baud_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp = (tmp & SERCOM_I2CM_BAUD_HSBAUDLOW(mask)) >> SERCOM_I2CM_BAUD_HSBAUDLOW_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_BAUD_HSBAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp &= ~SERCOM_I2CM_BAUD_HSBAUDLOW_Msk; - tmp |= SERCOM_I2CM_BAUD_HSBAUDLOW(data); - ((Sercom *)hw)->I2CM.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_BAUD_HSBAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg &= ~SERCOM_I2CM_BAUD_HSBAUDLOW(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_BAUD_HSBAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg ^= SERCOM_I2CM_BAUD_HSBAUDLOW(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_HSBAUDLOW_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp = (tmp & SERCOM_I2CM_BAUD_HSBAUDLOW_Msk) >> SERCOM_I2CM_BAUD_HSBAUDLOW_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_BAUD_reg(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_reg(const void *const hw, - hri_sercomi2cm_baud_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.BAUD.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cm_write_BAUD_reg(const void *const hw, hri_sercomi2cm_baud_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_BAUD_reg(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_BAUD_reg(const void *const hw, hri_sercomi2cm_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.BAUD.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CM.BAUD.reg; -} - -static inline void hri_sercomspi_set_BAUD_BAUD_bf(const void *const hw, hri_sercomspi_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.BAUD.reg |= SERCOM_SPI_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_baud_reg_t hri_sercomspi_get_BAUD_BAUD_bf(const void *const hw, - hri_sercomspi_baud_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->SPI.BAUD.reg; - tmp = (tmp & SERCOM_SPI_BAUD_BAUD(mask)) >> SERCOM_SPI_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_BAUD_BAUD_bf(const void *const hw, hri_sercomspi_baud_reg_t data) -{ - uint8_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.BAUD.reg; - tmp &= ~SERCOM_SPI_BAUD_BAUD_Msk; - tmp |= SERCOM_SPI_BAUD_BAUD(data); - ((Sercom *)hw)->SPI.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_BAUD_BAUD_bf(const void *const hw, hri_sercomspi_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.BAUD.reg &= ~SERCOM_SPI_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_BAUD_BAUD_bf(const void *const hw, hri_sercomspi_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.BAUD.reg ^= SERCOM_SPI_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_baud_reg_t hri_sercomspi_read_BAUD_BAUD_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->SPI.BAUD.reg; - tmp = (tmp & SERCOM_SPI_BAUD_BAUD_Msk) >> SERCOM_SPI_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.BAUD.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_baud_reg_t hri_sercomspi_get_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->SPI.BAUD.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_write_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.BAUD.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.BAUD.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.BAUD.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_baud_reg_t hri_sercomspi_read_BAUD_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.BAUD.reg; -} - -static inline void hri_sercomusart_set_BAUD_FRAC_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_BAUD_FRACFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_FRAC_BAUD_bf(const void *const hw, - hri_sercomusart_baud_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_BAUD(mask)) >> SERCOM_USART_BAUD_BAUD_Pos; - return tmp; -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_FRACFP_BAUD_bf(const void *const hw, - hri_sercomusart_baud_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_BAUD(mask)) >> SERCOM_USART_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_BAUD_FRAC_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp &= ~SERCOM_USART_BAUD_BAUD_Msk; - tmp |= SERCOM_USART_BAUD_BAUD(data); - ((Sercom *)hw)->USART.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_write_BAUD_FRACFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp &= ~SERCOM_USART_BAUD_BAUD_Msk; - tmp |= SERCOM_USART_BAUD_BAUD(data); - ((Sercom *)hw)->USART.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_BAUD_FRAC_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_BAUD_FRACFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_BAUD_FRAC_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_BAUD_FRACFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_FRAC_BAUD_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_BAUD_Msk) >> SERCOM_USART_BAUD_BAUD_Pos; - return tmp; -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_FRACFP_BAUD_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_BAUD_Msk) >> SERCOM_USART_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_BAUD_FRAC_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_FRAC_FP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_BAUD_FRACFP_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_FRACFP_FP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_FRAC_FP_bf(const void *const hw, - hri_sercomusart_baud_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_FRAC_FP(mask)) >> SERCOM_USART_BAUD_FRAC_FP_Pos; - return tmp; -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_FRACFP_FP_bf(const void *const hw, - hri_sercomusart_baud_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_FRACFP_FP(mask)) >> SERCOM_USART_BAUD_FRACFP_FP_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_BAUD_FRAC_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp &= ~SERCOM_USART_BAUD_FRAC_FP_Msk; - tmp |= SERCOM_USART_BAUD_FRAC_FP(data); - ((Sercom *)hw)->USART.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_write_BAUD_FRACFP_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp &= ~SERCOM_USART_BAUD_FRACFP_FP_Msk; - tmp |= SERCOM_USART_BAUD_FRACFP_FP(data); - ((Sercom *)hw)->USART.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_BAUD_FRAC_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_FRAC_FP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_BAUD_FRACFP_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_FRACFP_FP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_BAUD_FRAC_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_FRAC_FP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_BAUD_FRACFP_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_FRACFP_FP(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_FRAC_FP_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_FRAC_FP_Msk) >> SERCOM_USART_BAUD_FRAC_FP_Pos; - return tmp; -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_FRACFP_FP_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_FRACFP_FP_Msk) >> SERCOM_USART_BAUD_FRACFP_FP_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_BAUD_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_BAUD_USARTFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_BAUD_bf(const void *const hw, - hri_sercomusart_baud_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_BAUD(mask)) >> SERCOM_USART_BAUD_BAUD_Pos; - return tmp; -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_USARTFP_BAUD_bf(const void *const hw, - hri_sercomusart_baud_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_BAUD(mask)) >> SERCOM_USART_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_BAUD_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp &= ~SERCOM_USART_BAUD_BAUD_Msk; - tmp |= SERCOM_USART_BAUD_BAUD(data); - ((Sercom *)hw)->USART.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_write_BAUD_USARTFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp &= ~SERCOM_USART_BAUD_BAUD_Msk; - tmp |= SERCOM_USART_BAUD_BAUD(data); - ((Sercom *)hw)->USART.BAUD.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_BAUD_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_BAUD_USARTFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_BAUD_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_BAUD_USARTFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_BAUD(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_BAUD_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_BAUD_Msk) >> SERCOM_USART_BAUD_BAUD_Pos; - return tmp; -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_USARTFP_BAUD_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp = (tmp & SERCOM_USART_BAUD_BAUD_Msk) >> SERCOM_USART_BAUD_BAUD_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_BAUD_reg(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_reg(const void *const hw, - hri_sercomusart_baud_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.BAUD.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_write_BAUD_reg(const void *const hw, hri_sercomusart_baud_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_BAUD_reg(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_BAUD_reg(const void *const hw, hri_sercomusart_baud_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.BAUD.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.BAUD.reg; -} - -static inline void hri_sercomusart_set_RXPL_RXPL_bf(const void *const hw, hri_sercomusart_rxpl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.RXPL.reg |= SERCOM_USART_RXPL_RXPL(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_rxpl_reg_t hri_sercomusart_get_RXPL_RXPL_bf(const void *const hw, - hri_sercomusart_rxpl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->USART.RXPL.reg; - tmp = (tmp & SERCOM_USART_RXPL_RXPL(mask)) >> SERCOM_USART_RXPL_RXPL_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_RXPL_RXPL_bf(const void *const hw, hri_sercomusart_rxpl_reg_t data) -{ - uint8_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.RXPL.reg; - tmp &= ~SERCOM_USART_RXPL_RXPL_Msk; - tmp |= SERCOM_USART_RXPL_RXPL(data); - ((Sercom *)hw)->USART.RXPL.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_RXPL_RXPL_bf(const void *const hw, hri_sercomusart_rxpl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.RXPL.reg &= ~SERCOM_USART_RXPL_RXPL(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_RXPL_RXPL_bf(const void *const hw, hri_sercomusart_rxpl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.RXPL.reg ^= SERCOM_USART_RXPL_RXPL(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_rxpl_reg_t hri_sercomusart_read_RXPL_RXPL_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->USART.RXPL.reg; - tmp = (tmp & SERCOM_USART_RXPL_RXPL_Msk) >> SERCOM_USART_RXPL_RXPL_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_RXPL_reg(const void *const hw, hri_sercomusart_rxpl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.RXPL.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_rxpl_reg_t hri_sercomusart_get_RXPL_reg(const void *const hw, - hri_sercomusart_rxpl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->USART.RXPL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_write_RXPL_reg(const void *const hw, hri_sercomusart_rxpl_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.RXPL.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_RXPL_reg(const void *const hw, hri_sercomusart_rxpl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.RXPL.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_RXPL_reg(const void *const hw, hri_sercomusart_rxpl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.RXPL.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_rxpl_reg_t hri_sercomusart_read_RXPL_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.RXPL.reg; -} - -static inline void hri_sercomi2cs_set_LENGTH_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg |= SERCOM_I2CS_LENGTH_LENEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_LENGTH_LENEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->I2CS.LENGTH.reg; - tmp = (tmp & SERCOM_I2CS_LENGTH_LENEN) >> SERCOM_I2CS_LENGTH_LENEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_LENGTH_LENEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.LENGTH.reg; - tmp &= ~SERCOM_I2CS_LENGTH_LENEN; - tmp |= value << SERCOM_I2CS_LENGTH_LENEN_Pos; - ((Sercom *)hw)->I2CS.LENGTH.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_LENGTH_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg &= ~SERCOM_I2CS_LENGTH_LENEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_LENGTH_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg ^= SERCOM_I2CS_LENGTH_LENEN; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_LENGTH_LEN_bf(const void *const hw, hri_sercomi2cs_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg |= SERCOM_I2CS_LENGTH_LEN(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_length_reg_t hri_sercomi2cs_get_LENGTH_LEN_bf(const void *const hw, - hri_sercomi2cs_length_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->I2CS.LENGTH.reg; - tmp = (tmp & SERCOM_I2CS_LENGTH_LEN(mask)) >> SERCOM_I2CS_LENGTH_LEN_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_LENGTH_LEN_bf(const void *const hw, hri_sercomi2cs_length_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.LENGTH.reg; - tmp &= ~SERCOM_I2CS_LENGTH_LEN_Msk; - tmp |= SERCOM_I2CS_LENGTH_LEN(data); - ((Sercom *)hw)->I2CS.LENGTH.reg = tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_LENGTH_LEN_bf(const void *const hw, hri_sercomi2cs_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg &= ~SERCOM_I2CS_LENGTH_LEN(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_LENGTH_LEN_bf(const void *const hw, hri_sercomi2cs_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg ^= SERCOM_I2CS_LENGTH_LEN(mask); - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_length_reg_t hri_sercomi2cs_read_LENGTH_LEN_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->I2CS.LENGTH.reg; - tmp = (tmp & SERCOM_I2CS_LENGTH_LEN_Msk) >> SERCOM_I2CS_LENGTH_LEN_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_LENGTH_reg(const void *const hw, hri_sercomi2cs_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg |= mask; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_length_reg_t hri_sercomi2cs_get_LENGTH_reg(const void *const hw, - hri_sercomi2cs_length_reg_t mask) -{ - uint16_t tmp; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - tmp = ((Sercom *)hw)->I2CS.LENGTH.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cs_write_LENGTH_reg(const void *const hw, hri_sercomi2cs_length_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg = data; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_LENGTH_reg(const void *const hw, hri_sercomi2cs_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg &= ~mask; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_LENGTH_reg(const void *const hw, hri_sercomi2cs_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.LENGTH.reg ^= mask; - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_length_reg_t hri_sercomi2cs_read_LENGTH_reg(const void *const hw) -{ - hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK); - return ((Sercom *)hw)->I2CS.LENGTH.reg; -} - -static inline void hri_sercomspi_set_LENGTH_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg |= SERCOM_SPI_LENGTH_LENEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_LENGTH_LENEN_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->SPI.LENGTH.reg; - tmp = (tmp & SERCOM_SPI_LENGTH_LENEN) >> SERCOM_SPI_LENGTH_LENEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_LENGTH_LENEN_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.LENGTH.reg; - tmp &= ~SERCOM_SPI_LENGTH_LENEN; - tmp |= value << SERCOM_SPI_LENGTH_LENEN_Pos; - ((Sercom *)hw)->SPI.LENGTH.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_LENGTH_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg &= ~SERCOM_SPI_LENGTH_LENEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_LENGTH_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg ^= SERCOM_SPI_LENGTH_LENEN; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_LENGTH_LEN_bf(const void *const hw, hri_sercomspi_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg |= SERCOM_SPI_LENGTH_LEN(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_length_reg_t hri_sercomspi_get_LENGTH_LEN_bf(const void *const hw, - hri_sercomspi_length_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->SPI.LENGTH.reg; - tmp = (tmp & SERCOM_SPI_LENGTH_LEN(mask)) >> SERCOM_SPI_LENGTH_LEN_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_LENGTH_LEN_bf(const void *const hw, hri_sercomspi_length_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.LENGTH.reg; - tmp &= ~SERCOM_SPI_LENGTH_LEN_Msk; - tmp |= SERCOM_SPI_LENGTH_LEN(data); - ((Sercom *)hw)->SPI.LENGTH.reg = tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_LENGTH_LEN_bf(const void *const hw, hri_sercomspi_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg &= ~SERCOM_SPI_LENGTH_LEN(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_LENGTH_LEN_bf(const void *const hw, hri_sercomspi_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg ^= SERCOM_SPI_LENGTH_LEN(mask); - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_length_reg_t hri_sercomspi_read_LENGTH_LEN_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->SPI.LENGTH.reg; - tmp = (tmp & SERCOM_SPI_LENGTH_LEN_Msk) >> SERCOM_SPI_LENGTH_LEN_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_LENGTH_reg(const void *const hw, hri_sercomspi_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg |= mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_length_reg_t hri_sercomspi_get_LENGTH_reg(const void *const hw, - hri_sercomspi_length_reg_t mask) -{ - uint16_t tmp; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - tmp = ((Sercom *)hw)->SPI.LENGTH.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_write_LENGTH_reg(const void *const hw, hri_sercomspi_length_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg = data; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_LENGTH_reg(const void *const hw, hri_sercomspi_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg &= ~mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_LENGTH_reg(const void *const hw, hri_sercomspi_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.LENGTH.reg ^= mask; - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_length_reg_t hri_sercomspi_read_LENGTH_reg(const void *const hw) -{ - hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK); - return ((Sercom *)hw)->SPI.LENGTH.reg; -} - -static inline void hri_sercomusart_set_LENGTH_LEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg |= SERCOM_USART_LENGTH_LEN(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_length_reg_t hri_sercomusart_get_LENGTH_LEN_bf(const void *const hw, - hri_sercomusart_length_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.LENGTH.reg; - tmp = (tmp & SERCOM_USART_LENGTH_LEN(mask)) >> SERCOM_USART_LENGTH_LEN_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_LENGTH_LEN_bf(const void *const hw, hri_sercomusart_length_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.LENGTH.reg; - tmp &= ~SERCOM_USART_LENGTH_LEN_Msk; - tmp |= SERCOM_USART_LENGTH_LEN(data); - ((Sercom *)hw)->USART.LENGTH.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_LENGTH_LEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg &= ~SERCOM_USART_LENGTH_LEN(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_LENGTH_LEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg ^= SERCOM_USART_LENGTH_LEN(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_length_reg_t hri_sercomusart_read_LENGTH_LEN_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.LENGTH.reg; - tmp = (tmp & SERCOM_USART_LENGTH_LEN_Msk) >> SERCOM_USART_LENGTH_LEN_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_LENGTH_LENEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg |= SERCOM_USART_LENGTH_LENEN(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_length_reg_t hri_sercomusart_get_LENGTH_LENEN_bf(const void *const hw, - hri_sercomusart_length_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.LENGTH.reg; - tmp = (tmp & SERCOM_USART_LENGTH_LENEN(mask)) >> SERCOM_USART_LENGTH_LENEN_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_LENGTH_LENEN_bf(const void *const hw, hri_sercomusart_length_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.LENGTH.reg; - tmp &= ~SERCOM_USART_LENGTH_LENEN_Msk; - tmp |= SERCOM_USART_LENGTH_LENEN(data); - ((Sercom *)hw)->USART.LENGTH.reg = tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_LENGTH_LENEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg &= ~SERCOM_USART_LENGTH_LENEN(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_LENGTH_LENEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg ^= SERCOM_USART_LENGTH_LENEN(mask); - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_length_reg_t hri_sercomusart_read_LENGTH_LENEN_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.LENGTH.reg; - tmp = (tmp & SERCOM_USART_LENGTH_LENEN_Msk) >> SERCOM_USART_LENGTH_LENEN_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_LENGTH_reg(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg |= mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_length_reg_t hri_sercomusart_get_LENGTH_reg(const void *const hw, - hri_sercomusart_length_reg_t mask) -{ - uint16_t tmp; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - tmp = ((Sercom *)hw)->USART.LENGTH.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_write_LENGTH_reg(const void *const hw, hri_sercomusart_length_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg = data; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_LENGTH_reg(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg &= ~mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_LENGTH_reg(const void *const hw, hri_sercomusart_length_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.LENGTH.reg ^= mask; - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_length_reg_t hri_sercomusart_read_LENGTH_reg(const void *const hw) -{ - hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK); - return ((Sercom *)hw)->USART.LENGTH.reg; -} - -static inline void hri_sercomi2cm_set_ADDR_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_LENEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_ADDR_LENEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp = (tmp & SERCOM_I2CM_ADDR_LENEN) >> SERCOM_I2CM_ADDR_LENEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_ADDR_LENEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp &= ~SERCOM_I2CM_ADDR_LENEN; - tmp |= value << SERCOM_I2CM_ADDR_LENEN_Pos; - ((Sercom *)hw)->I2CM.ADDR.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_ADDR_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_LENEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_ADDR_LENEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_LENEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_ADDR_HS_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_HS; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_ADDR_HS_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp = (tmp & SERCOM_I2CM_ADDR_HS) >> SERCOM_I2CM_ADDR_HS_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_ADDR_HS_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp &= ~SERCOM_I2CM_ADDR_HS; - tmp |= value << SERCOM_I2CM_ADDR_HS_Pos; - ((Sercom *)hw)->I2CM.ADDR.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_ADDR_HS_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_HS; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_ADDR_HS_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_HS; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_ADDR_TENBITEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_TENBITEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_ADDR_TENBITEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp = (tmp & SERCOM_I2CM_ADDR_TENBITEN) >> SERCOM_I2CM_ADDR_TENBITEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_ADDR_TENBITEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp &= ~SERCOM_I2CM_ADDR_TENBITEN; - tmp |= value << SERCOM_I2CM_ADDR_TENBITEN_Pos; - ((Sercom *)hw)->I2CM.ADDR.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_ADDR_TENBITEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_TENBITEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_ADDR_TENBITEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_TENBITEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_ADDR(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_get_ADDR_ADDR_bf(const void *const hw, - hri_sercomi2cm_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp = (tmp & SERCOM_I2CM_ADDR_ADDR(mask)) >> SERCOM_I2CM_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cm_addr_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp &= ~SERCOM_I2CM_ADDR_ADDR_Msk; - tmp |= SERCOM_I2CM_ADDR_ADDR(data); - ((Sercom *)hw)->I2CM.ADDR.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_ADDR(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_ADDR(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_read_ADDR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp = (tmp & SERCOM_I2CM_ADDR_ADDR_Msk) >> SERCOM_I2CM_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_ADDR_LEN_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_LEN(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_get_ADDR_LEN_bf(const void *const hw, - hri_sercomi2cm_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp = (tmp & SERCOM_I2CM_ADDR_LEN(mask)) >> SERCOM_I2CM_ADDR_LEN_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_ADDR_LEN_bf(const void *const hw, hri_sercomi2cm_addr_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp &= ~SERCOM_I2CM_ADDR_LEN_Msk; - tmp |= SERCOM_I2CM_ADDR_LEN(data); - ((Sercom *)hw)->I2CM.ADDR.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_ADDR_LEN_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_LEN(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_ADDR_LEN_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_LEN(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_read_ADDR_LEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp = (tmp & SERCOM_I2CM_ADDR_LEN_Msk) >> SERCOM_I2CM_ADDR_LEN_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_ADDR_reg(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg |= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_get_ADDR_reg(const void *const hw, - hri_sercomi2cm_addr_reg_t mask) -{ - uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cm_write_ADDR_reg(const void *const hw, hri_sercomi2cm_addr_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg = data; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_ADDR_reg(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg &= ~mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_ADDR_reg(const void *const hw, hri_sercomi2cm_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.ADDR.reg ^= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_read_ADDR_reg(const void *const hw) -{ - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - return ((Sercom *)hw)->I2CM.ADDR.reg; -} - -static inline void hri_sercomi2cs_set_ADDR_GENCEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg |= SERCOM_I2CS_ADDR_GENCEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_ADDR_GENCEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp = (tmp & SERCOM_I2CS_ADDR_GENCEN) >> SERCOM_I2CS_ADDR_GENCEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_ADDR_GENCEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp &= ~SERCOM_I2CS_ADDR_GENCEN; - tmp |= value << SERCOM_I2CS_ADDR_GENCEN_Pos; - ((Sercom *)hw)->I2CS.ADDR.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_ADDR_GENCEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg &= ~SERCOM_I2CS_ADDR_GENCEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_ADDR_GENCEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg ^= SERCOM_I2CS_ADDR_GENCEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_ADDR_TENBITEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg |= SERCOM_I2CS_ADDR_TENBITEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_ADDR_TENBITEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp = (tmp & SERCOM_I2CS_ADDR_TENBITEN) >> SERCOM_I2CS_ADDR_TENBITEN_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cs_write_ADDR_TENBITEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp &= ~SERCOM_I2CS_ADDR_TENBITEN; - tmp |= value << SERCOM_I2CS_ADDR_TENBITEN_Pos; - ((Sercom *)hw)->I2CS.ADDR.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_ADDR_TENBITEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg &= ~SERCOM_I2CS_ADDR_TENBITEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_ADDR_TENBITEN_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg ^= SERCOM_I2CS_ADDR_TENBITEN; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_set_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg |= SERCOM_I2CS_ADDR_ADDR(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_get_ADDR_ADDR_bf(const void *const hw, - hri_sercomi2cs_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp = (tmp & SERCOM_I2CS_ADDR_ADDR(mask)) >> SERCOM_I2CS_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cs_addr_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp &= ~SERCOM_I2CS_ADDR_ADDR_Msk; - tmp |= SERCOM_I2CS_ADDR_ADDR(data); - ((Sercom *)hw)->I2CS.ADDR.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg &= ~SERCOM_I2CS_ADDR_ADDR(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg ^= SERCOM_I2CS_ADDR_ADDR(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_read_ADDR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp = (tmp & SERCOM_I2CS_ADDR_ADDR_Msk) >> SERCOM_I2CS_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg |= SERCOM_I2CS_ADDR_ADDRMASK(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_get_ADDR_ADDRMASK_bf(const void *const hw, - hri_sercomi2cs_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp = (tmp & SERCOM_I2CS_ADDR_ADDRMASK(mask)) >> SERCOM_I2CS_ADDR_ADDRMASK_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomi2cs_addr_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp &= ~SERCOM_I2CS_ADDR_ADDRMASK_Msk; - tmp |= SERCOM_I2CS_ADDR_ADDRMASK(data); - ((Sercom *)hw)->I2CS.ADDR.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg &= ~SERCOM_I2CS_ADDR_ADDRMASK(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg ^= SERCOM_I2CS_ADDR_ADDRMASK(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_read_ADDR_ADDRMASK_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp = (tmp & SERCOM_I2CS_ADDR_ADDRMASK_Msk) >> SERCOM_I2CS_ADDR_ADDRMASK_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_ADDR_reg(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_get_ADDR_reg(const void *const hw, - hri_sercomi2cs_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cs_write_ADDR_reg(const void *const hw, hri_sercomi2cs_addr_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_ADDR_reg(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_ADDR_reg(const void *const hw, hri_sercomi2cs_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.ADDR.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_read_ADDR_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CS.ADDR.reg; -} - -static inline void hri_sercomspi_set_ADDR_ADDR_bf(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg |= SERCOM_SPI_ADDR_ADDR(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_addr_reg_t hri_sercomspi_get_ADDR_ADDR_bf(const void *const hw, - hri_sercomspi_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.ADDR.reg; - tmp = (tmp & SERCOM_SPI_ADDR_ADDR(mask)) >> SERCOM_SPI_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_ADDR_ADDR_bf(const void *const hw, hri_sercomspi_addr_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.ADDR.reg; - tmp &= ~SERCOM_SPI_ADDR_ADDR_Msk; - tmp |= SERCOM_SPI_ADDR_ADDR(data); - ((Sercom *)hw)->SPI.ADDR.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_ADDR_ADDR_bf(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg &= ~SERCOM_SPI_ADDR_ADDR(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_ADDR_ADDR_bf(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg ^= SERCOM_SPI_ADDR_ADDR(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_addr_reg_t hri_sercomspi_read_ADDR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.ADDR.reg; - tmp = (tmp & SERCOM_SPI_ADDR_ADDR_Msk) >> SERCOM_SPI_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg |= SERCOM_SPI_ADDR_ADDRMASK(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_addr_reg_t hri_sercomspi_get_ADDR_ADDRMASK_bf(const void *const hw, - hri_sercomspi_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.ADDR.reg; - tmp = (tmp & SERCOM_SPI_ADDR_ADDRMASK(mask)) >> SERCOM_SPI_ADDR_ADDRMASK_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomspi_addr_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.ADDR.reg; - tmp &= ~SERCOM_SPI_ADDR_ADDRMASK_Msk; - tmp |= SERCOM_SPI_ADDR_ADDRMASK(data); - ((Sercom *)hw)->SPI.ADDR.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg &= ~SERCOM_SPI_ADDR_ADDRMASK(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg ^= SERCOM_SPI_ADDR_ADDRMASK(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_addr_reg_t hri_sercomspi_read_ADDR_ADDRMASK_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.ADDR.reg; - tmp = (tmp & SERCOM_SPI_ADDR_ADDRMASK_Msk) >> SERCOM_SPI_ADDR_ADDRMASK_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_addr_reg_t hri_sercomspi_get_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_write_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.ADDR.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_addr_reg_t hri_sercomspi_read_ADDR_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.ADDR.reg; -} - -static inline void hri_sercomi2cm_set_DATA_DATA_bf(const void *const hw, hri_sercomi2cm_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DATA.reg |= SERCOM_I2CM_DATA_DATA(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_data_reg_t hri_sercomi2cm_get_DATA_DATA_bf(const void *const hw, - hri_sercomi2cm_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.DATA.reg; - tmp = (tmp & SERCOM_I2CM_DATA_DATA(mask)) >> SERCOM_I2CM_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_write_DATA_DATA_bf(const void *const hw, hri_sercomi2cm_data_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.DATA.reg; - tmp &= ~SERCOM_I2CM_DATA_DATA_Msk; - tmp |= SERCOM_I2CM_DATA_DATA(data); - ((Sercom *)hw)->I2CM.DATA.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_DATA_DATA_bf(const void *const hw, hri_sercomi2cm_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DATA.reg &= ~SERCOM_I2CM_DATA_DATA(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_DATA_DATA_bf(const void *const hw, hri_sercomi2cm_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DATA.reg ^= SERCOM_I2CM_DATA_DATA(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_data_reg_t hri_sercomi2cm_read_DATA_DATA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CM.DATA.reg; - tmp = (tmp & SERCOM_I2CM_DATA_DATA_Msk) >> SERCOM_I2CM_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_sercomi2cm_set_DATA_reg(const void *const hw, hri_sercomi2cm_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DATA.reg |= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_data_reg_t hri_sercomi2cm_get_DATA_reg(const void *const hw, - hri_sercomi2cm_data_reg_t mask) -{ - uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - tmp = ((Sercom *)hw)->I2CM.DATA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cm_write_DATA_reg(const void *const hw, hri_sercomi2cm_data_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DATA.reg = data; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_DATA_reg(const void *const hw, hri_sercomi2cm_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DATA.reg &= ~mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_DATA_reg(const void *const hw, hri_sercomi2cm_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DATA.reg ^= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_data_reg_t hri_sercomi2cm_read_DATA_reg(const void *const hw) -{ - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - return ((Sercom *)hw)->I2CM.DATA.reg; -} - -static inline void hri_sercomi2cs_set_DATA_DATA_bf(const void *const hw, hri_sercomi2cs_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.DATA.reg |= SERCOM_I2CS_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_data_reg_t hri_sercomi2cs_get_DATA_DATA_bf(const void *const hw, - hri_sercomi2cs_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.DATA.reg; - tmp = (tmp & SERCOM_I2CS_DATA_DATA(mask)) >> SERCOM_I2CS_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_write_DATA_DATA_bf(const void *const hw, hri_sercomi2cs_data_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CS.DATA.reg; - tmp &= ~SERCOM_I2CS_DATA_DATA_Msk; - tmp |= SERCOM_I2CS_DATA_DATA(data); - ((Sercom *)hw)->I2CS.DATA.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_DATA_DATA_bf(const void *const hw, hri_sercomi2cs_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.DATA.reg &= ~SERCOM_I2CS_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_DATA_DATA_bf(const void *const hw, hri_sercomi2cs_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.DATA.reg ^= SERCOM_I2CS_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_data_reg_t hri_sercomi2cs_read_DATA_DATA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.DATA.reg; - tmp = (tmp & SERCOM_I2CS_DATA_DATA_Msk) >> SERCOM_I2CS_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_sercomi2cs_set_DATA_reg(const void *const hw, hri_sercomi2cs_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.DATA.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_data_reg_t hri_sercomi2cs_get_DATA_reg(const void *const hw, - hri_sercomi2cs_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->I2CS.DATA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cs_write_DATA_reg(const void *const hw, hri_sercomi2cs_data_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.DATA.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_clear_DATA_reg(const void *const hw, hri_sercomi2cs_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.DATA.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cs_toggle_DATA_reg(const void *const hw, hri_sercomi2cs_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.DATA.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_data_reg_t hri_sercomi2cs_read_DATA_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CS.DATA.reg; -} - -static inline void hri_sercomspi_set_DATA_DATA_bf(const void *const hw, hri_sercomspi_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DATA.reg |= SERCOM_SPI_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_data_reg_t hri_sercomspi_get_DATA_DATA_bf(const void *const hw, - hri_sercomspi_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.DATA.reg; - tmp = (tmp & SERCOM_SPI_DATA_DATA(mask)) >> SERCOM_SPI_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_sercomspi_write_DATA_DATA_bf(const void *const hw, hri_sercomspi_data_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.DATA.reg; - tmp &= ~SERCOM_SPI_DATA_DATA_Msk; - tmp |= SERCOM_SPI_DATA_DATA(data); - ((Sercom *)hw)->SPI.DATA.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_DATA_DATA_bf(const void *const hw, hri_sercomspi_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DATA.reg &= ~SERCOM_SPI_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_DATA_DATA_bf(const void *const hw, hri_sercomspi_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DATA.reg ^= SERCOM_SPI_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_data_reg_t hri_sercomspi_read_DATA_DATA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.DATA.reg; - tmp = (tmp & SERCOM_SPI_DATA_DATA_Msk) >> SERCOM_SPI_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_sercomspi_set_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DATA.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_data_reg_t hri_sercomspi_get_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->SPI.DATA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_write_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DATA.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DATA.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DATA.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_data_reg_t hri_sercomspi_read_DATA_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.DATA.reg; -} - -static inline void hri_sercomusart_set_DATA_DATA_bf(const void *const hw, hri_sercomusart_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DATA.reg |= SERCOM_USART_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_data_reg_t hri_sercomusart_get_DATA_DATA_bf(const void *const hw, - hri_sercomusart_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.DATA.reg; - tmp = (tmp & SERCOM_USART_DATA_DATA(mask)) >> SERCOM_USART_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_sercomusart_write_DATA_DATA_bf(const void *const hw, hri_sercomusart_data_reg_t data) -{ - uint32_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.DATA.reg; - tmp &= ~SERCOM_USART_DATA_DATA_Msk; - tmp |= SERCOM_USART_DATA_DATA(data); - ((Sercom *)hw)->USART.DATA.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_DATA_DATA_bf(const void *const hw, hri_sercomusart_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DATA.reg &= ~SERCOM_USART_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_DATA_DATA_bf(const void *const hw, hri_sercomusart_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DATA.reg ^= SERCOM_USART_DATA_DATA(mask); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_data_reg_t hri_sercomusart_read_DATA_DATA_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.DATA.reg; - tmp = (tmp & SERCOM_USART_DATA_DATA_Msk) >> SERCOM_USART_DATA_DATA_Pos; - return tmp; -} - -static inline void hri_sercomusart_set_DATA_reg(const void *const hw, hri_sercomusart_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DATA.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_data_reg_t hri_sercomusart_get_DATA_reg(const void *const hw, - hri_sercomusart_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Sercom *)hw)->USART.DATA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_write_DATA_reg(const void *const hw, hri_sercomusart_data_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DATA.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_DATA_reg(const void *const hw, hri_sercomusart_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DATA.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_DATA_reg(const void *const hw, hri_sercomusart_data_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DATA.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_data_reg_t hri_sercomusart_read_DATA_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.DATA.reg; -} - -static inline void hri_sercomi2cm_set_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DBGCTRL.reg |= SERCOM_I2CM_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->I2CM.DBGCTRL.reg; - tmp = (tmp & SERCOM_I2CM_DBGCTRL_DBGSTOP) >> SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos; - return (bool)tmp; -} - -static inline void hri_sercomi2cm_write_DBGCTRL_DBGSTOP_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.DBGCTRL.reg; - tmp &= ~SERCOM_I2CM_DBGCTRL_DBGSTOP; - tmp |= value << SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos; - ((Sercom *)hw)->I2CM.DBGCTRL.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DBGCTRL.reg &= ~SERCOM_I2CM_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DBGCTRL.reg ^= SERCOM_I2CM_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_DBGCTRL_reg(const void *const hw, hri_sercomi2cm_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DBGCTRL.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_dbgctrl_reg_t hri_sercomi2cm_get_DBGCTRL_reg(const void *const hw, - hri_sercomi2cm_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->I2CM.DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cm_write_DBGCTRL_reg(const void *const hw, hri_sercomi2cm_dbgctrl_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DBGCTRL.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_DBGCTRL_reg(const void *const hw, hri_sercomi2cm_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DBGCTRL.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_DBGCTRL_reg(const void *const hw, hri_sercomi2cm_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.DBGCTRL.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_dbgctrl_reg_t hri_sercomi2cm_read_DBGCTRL_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CM.DBGCTRL.reg; -} - -static inline void hri_sercomspi_set_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DBGCTRL.reg |= SERCOM_SPI_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->SPI.DBGCTRL.reg; - tmp = (tmp & SERCOM_SPI_DBGCTRL_DBGSTOP) >> SERCOM_SPI_DBGCTRL_DBGSTOP_Pos; - return (bool)tmp; -} - -static inline void hri_sercomspi_write_DBGCTRL_DBGSTOP_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->SPI.DBGCTRL.reg; - tmp &= ~SERCOM_SPI_DBGCTRL_DBGSTOP; - tmp |= value << SERCOM_SPI_DBGCTRL_DBGSTOP_Pos; - ((Sercom *)hw)->SPI.DBGCTRL.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DBGCTRL.reg &= ~SERCOM_SPI_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DBGCTRL.reg ^= SERCOM_SPI_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_set_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DBGCTRL.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_dbgctrl_reg_t hri_sercomspi_get_DBGCTRL_reg(const void *const hw, - hri_sercomspi_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->SPI.DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_write_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DBGCTRL.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_clear_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DBGCTRL.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomspi_toggle_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.DBGCTRL.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_dbgctrl_reg_t hri_sercomspi_read_DBGCTRL_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.DBGCTRL.reg; -} - -static inline void hri_sercomusart_set_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DBGCTRL.reg |= SERCOM_USART_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->USART.DBGCTRL.reg; - tmp = (tmp & SERCOM_USART_DBGCTRL_DBGSTOP) >> SERCOM_USART_DBGCTRL_DBGSTOP_Pos; - return (bool)tmp; -} - -static inline void hri_sercomusart_write_DBGCTRL_DBGSTOP_bit(const void *const hw, bool value) -{ - uint8_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->USART.DBGCTRL.reg; - tmp &= ~SERCOM_USART_DBGCTRL_DBGSTOP; - tmp |= value << SERCOM_USART_DBGCTRL_DBGSTOP_Pos; - ((Sercom *)hw)->USART.DBGCTRL.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DBGCTRL.reg &= ~SERCOM_USART_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_DBGCTRL_DBGSTOP_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DBGCTRL.reg ^= SERCOM_USART_DBGCTRL_DBGSTOP; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_set_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DBGCTRL.reg |= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_dbgctrl_reg_t hri_sercomusart_get_DBGCTRL_reg(const void *const hw, - hri_sercomusart_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Sercom *)hw)->USART.DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_write_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t data) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DBGCTRL.reg = data; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_clear_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DBGCTRL.reg &= ~mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomusart_toggle_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.DBGCTRL.reg ^= mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_dbgctrl_reg_t hri_sercomusart_read_DBGCTRL_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.DBGCTRL.reg; -} - -static inline bool hri_sercomi2cs_get_STATUS_BUSERR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_BUSERR) >> SERCOM_I2CS_STATUS_BUSERR_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_BUSERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_BUSERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_COLL_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_COLL) >> SERCOM_I2CS_STATUS_COLL_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_COLL_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_COLL; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_RXNACK_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_RXNACK) >> SERCOM_I2CS_STATUS_RXNACK_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_RXNACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_RXNACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_DIR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_DIR) >> SERCOM_I2CS_STATUS_DIR_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_DIR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_DIR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_SR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_SR) >> SERCOM_I2CS_STATUS_SR_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_SR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_SR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_LOWTOUT_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_LOWTOUT) >> SERCOM_I2CS_STATUS_LOWTOUT_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_LOWTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_LOWTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_CLKHOLD_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_CLKHOLD) >> SERCOM_I2CS_STATUS_CLKHOLD_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_CLKHOLD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_CLKHOLD; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_SEXTTOUT_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_SEXTTOUT) >> SERCOM_I2CS_STATUS_SEXTTOUT_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_SEXTTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_SEXTTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_HS_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_HS) >> SERCOM_I2CS_STATUS_HS_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_HS_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_HS; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cs_get_STATUS_LENERR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_LENERR) >> SERCOM_I2CS_STATUS_LENERR_Pos; -} - -static inline void hri_sercomi2cs_clear_STATUS_LENERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_LENERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_status_reg_t hri_sercomi2cs_get_STATUS_reg(const void *const hw, - hri_sercomi2cs_status_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->I2CS.STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cs_clear_STATUS_reg(const void *const hw, hri_sercomi2cs_status_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CS.STATUS.reg = mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cs_status_reg_t hri_sercomi2cs_read_STATUS_reg(const void *const hw) -{ - return ((Sercom *)hw)->I2CS.STATUS.reg; -} - -static inline bool hri_sercomspi_get_STATUS_BUFOVF_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.STATUS.reg & SERCOM_SPI_STATUS_BUFOVF) >> SERCOM_SPI_STATUS_BUFOVF_Pos; -} - -static inline void hri_sercomspi_clear_STATUS_BUFOVF_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.STATUS.reg = SERCOM_SPI_STATUS_BUFOVF; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomspi_get_STATUS_LENERR_bit(const void *const hw) -{ - return (((Sercom *)hw)->SPI.STATUS.reg & SERCOM_SPI_STATUS_LENERR) >> SERCOM_SPI_STATUS_LENERR_Pos; -} - -static inline void hri_sercomspi_clear_STATUS_LENERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.STATUS.reg = SERCOM_SPI_STATUS_LENERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_status_reg_t hri_sercomspi_get_STATUS_reg(const void *const hw, - hri_sercomspi_status_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->SPI.STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomspi_clear_STATUS_reg(const void *const hw, hri_sercomspi_status_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->SPI.STATUS.reg = mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomspi_status_reg_t hri_sercomspi_read_STATUS_reg(const void *const hw) -{ - return ((Sercom *)hw)->SPI.STATUS.reg; -} - -static inline bool hri_sercomusart_get_STATUS_PERR_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_PERR) >> SERCOM_USART_STATUS_PERR_Pos; -} - -static inline void hri_sercomusart_clear_STATUS_PERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_PERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_STATUS_FERR_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_FERR) >> SERCOM_USART_STATUS_FERR_Pos; -} - -static inline void hri_sercomusart_clear_STATUS_FERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_FERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_STATUS_BUFOVF_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_BUFOVF) >> SERCOM_USART_STATUS_BUFOVF_Pos; -} - -static inline void hri_sercomusart_clear_STATUS_BUFOVF_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_BUFOVF; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_STATUS_CTS_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_CTS) >> SERCOM_USART_STATUS_CTS_Pos; -} - -static inline void hri_sercomusart_clear_STATUS_CTS_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_CTS; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_STATUS_ISF_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_ISF) >> SERCOM_USART_STATUS_ISF_Pos; -} - -static inline void hri_sercomusart_clear_STATUS_ISF_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_ISF; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_STATUS_COLL_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_COLL) >> SERCOM_USART_STATUS_COLL_Pos; -} - -static inline void hri_sercomusart_clear_STATUS_COLL_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_COLL; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_STATUS_TXE_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_TXE) >> SERCOM_USART_STATUS_TXE_Pos; -} - -static inline void hri_sercomusart_clear_STATUS_TXE_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_TXE; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomusart_get_STATUS_ITER_bit(const void *const hw) -{ - return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_ITER) >> SERCOM_USART_STATUS_ITER_Pos; -} - -static inline void hri_sercomusart_clear_STATUS_ITER_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_ITER; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_status_reg_t hri_sercomusart_get_STATUS_reg(const void *const hw, - hri_sercomusart_status_reg_t mask) -{ - uint16_t tmp; - tmp = ((Sercom *)hw)->USART.STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomusart_clear_STATUS_reg(const void *const hw, hri_sercomusart_status_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->USART.STATUS.reg = mask; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomusart_status_reg_t hri_sercomusart_read_STATUS_reg(const void *const hw) -{ - return ((Sercom *)hw)->USART.STATUS.reg; -} - -static inline void hri_sercomi2cm_set_STATUS_BUSERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_BUSERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_STATUS_BUSERR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_BUSERR) >> SERCOM_I2CM_STATUS_BUSERR_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_BUSERR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_BUSERR; - tmp |= value << SERCOM_I2CM_STATUS_BUSERR_Pos; - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_BUSERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_BUSERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_BUSERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_BUSERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_STATUS_ARBLOST_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_ARBLOST; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_STATUS_ARBLOST_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_ARBLOST) >> SERCOM_I2CM_STATUS_ARBLOST_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_ARBLOST_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_ARBLOST; - tmp |= value << SERCOM_I2CM_STATUS_ARBLOST_Pos; - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_ARBLOST_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_ARBLOST; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_ARBLOST_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_ARBLOST; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_STATUS_RXNACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_RXNACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_STATUS_RXNACK_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_RXNACK) >> SERCOM_I2CM_STATUS_RXNACK_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_RXNACK_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_RXNACK; - tmp |= value << SERCOM_I2CM_STATUS_RXNACK_Pos; - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_RXNACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_RXNACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_RXNACK_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_RXNACK; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_STATUS_LOWTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_LOWTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_STATUS_LOWTOUT_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_LOWTOUT) >> SERCOM_I2CM_STATUS_LOWTOUT_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_LOWTOUT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_LOWTOUT; - tmp |= value << SERCOM_I2CM_STATUS_LOWTOUT_Pos; - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_LOWTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_LOWTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_LOWTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_LOWTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_STATUS_CLKHOLD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_CLKHOLD; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_STATUS_CLKHOLD_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_CLKHOLD) >> SERCOM_I2CM_STATUS_CLKHOLD_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_CLKHOLD_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_CLKHOLD; - tmp |= value << SERCOM_I2CM_STATUS_CLKHOLD_Pos; - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_CLKHOLD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_CLKHOLD; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_CLKHOLD_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_CLKHOLD; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_STATUS_MEXTTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_MEXTTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_STATUS_MEXTTOUT_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_MEXTTOUT) >> SERCOM_I2CM_STATUS_MEXTTOUT_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_MEXTTOUT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_MEXTTOUT; - tmp |= value << SERCOM_I2CM_STATUS_MEXTTOUT_Pos; - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_MEXTTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_MEXTTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_MEXTTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_MEXTTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_STATUS_SEXTTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_SEXTTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_STATUS_SEXTTOUT_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_SEXTTOUT) >> SERCOM_I2CM_STATUS_SEXTTOUT_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_SEXTTOUT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_SEXTTOUT; - tmp |= value << SERCOM_I2CM_STATUS_SEXTTOUT_Pos; - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_SEXTTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_SEXTTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_SEXTTOUT_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_SEXTTOUT; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_set_STATUS_LENERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_LENERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_sercomi2cm_get_STATUS_LENERR_bit(const void *const hw) -{ - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_LENERR) >> SERCOM_I2CM_STATUS_LENERR_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_LENERR_bit(const void *const hw, bool value) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_LENERR; - tmp |= value << SERCOM_I2CM_STATUS_LENERR_Pos; - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_LENERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_LENERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_LENERR_bit(const void *const hw) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_LENERR; - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_get_STATUS_BUSSTATE_bf(const void *const hw, - hri_sercomi2cm_status_reg_t mask) -{ - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_BUSSTATE(mask)) >> SERCOM_I2CM_STATUS_BUSSTATE_Pos; -} - -static inline void hri_sercomi2cm_set_STATUS_BUSSTATE_bf(const void *const hw, hri_sercomi2cm_status_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_BUSSTATE(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_read_STATUS_BUSSTATE_bf(const void *const hw) -{ - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_BUSSTATE_Msk) >> SERCOM_I2CM_STATUS_BUSSTATE_Pos; -} - -static inline void hri_sercomi2cm_write_STATUS_BUSSTATE_bf(const void *const hw, hri_sercomi2cm_status_reg_t data) -{ - uint16_t tmp; - SERCOM_CRITICAL_SECTION_ENTER(); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= ~SERCOM_I2CM_STATUS_BUSSTATE_Msk; - tmp |= SERCOM_I2CM_STATUS_BUSSTATE(data); - ((Sercom *)hw)->I2CM.STATUS.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_toggle_STATUS_BUSSTATE_bf(const void *const hw, hri_sercomi2cm_status_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_BUSSTATE(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_sercomi2cm_clear_STATUS_BUSSTATE_bf(const void *const hw, hri_sercomi2cm_status_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_BUSSTATE(mask); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_get_STATUS_reg(const void *const hw, - hri_sercomi2cm_status_reg_t mask) -{ - uint16_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - tmp = ((Sercom *)hw)->I2CM.STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_sercomi2cm_set_STATUS_reg(const void *const hw, hri_sercomi2cm_status_reg_t mask) -{ - ((Sercom *)hw)->I2CM.STATUS.reg |= mask; -} - -static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_read_STATUS_reg(const void *const hw) -{ - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - return ((Sercom *)hw)->I2CM.STATUS.reg; -} - -static inline void hri_sercomi2cm_write_STATUS_reg(const void *const hw, hri_sercomi2cm_status_reg_t data) -{ - ((Sercom *)hw)->I2CM.STATUS.reg = data; -} - -static inline void hri_sercomi2cm_toggle_STATUS_reg(const void *const hw, hri_sercomi2cm_status_reg_t mask) -{ - ((Sercom *)hw)->I2CM.STATUS.reg ^= mask; -} - -static inline void hri_sercomi2cm_clear_STATUS_reg(const void *const hw, hri_sercomi2cm_status_reg_t mask) -{ - SERCOM_CRITICAL_SECTION_ENTER(); - ((Sercom *)hw)->I2CM.STATUS.reg = mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - SERCOM_CRITICAL_SECTION_LEAVE(); -} - -/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */ -#define hri_sercomusart_set_BAUD_FRAC_reg(a, b) hri_sercomusart_set_BAUD_reg(a, b) -#define hri_sercomusart_get_BAUD_FRAC_reg(a, b) hri_sercomusart_get_BAUD_reg(a, b) -#define hri_sercomusart_write_BAUD_FRAC_reg(a, b) hri_sercomusart_write_BAUD_reg(a, b) -#define hri_sercomusart_clear_BAUD_FRAC_reg(a, b) hri_sercomusart_clear_BAUD_reg(a, b) -#define hri_sercomusart_toggle_BAUD_FRAC_reg(a, b) hri_sercomusart_toggle_BAUD_reg(a, b) -#define hri_sercomusart_read_BAUD_FRAC_reg(a) hri_sercomusart_read_BAUD_reg(a) -#define hri_sercomusart_set_BAUD_FRACFP_reg(a, b) hri_sercomusart_set_BAUD_reg(a, b) -#define hri_sercomusart_get_BAUD_FRACFP_reg(a, b) hri_sercomusart_get_BAUD_reg(a, b) -#define hri_sercomusart_write_BAUD_FRACFP_reg(a, b) hri_sercomusart_write_BAUD_reg(a, b) -#define hri_sercomusart_clear_BAUD_FRACFP_reg(a, b) hri_sercomusart_clear_BAUD_reg(a, b) -#define hri_sercomusart_toggle_BAUD_FRACFP_reg(a, b) hri_sercomusart_toggle_BAUD_reg(a, b) -#define hri_sercomusart_read_BAUD_FRACFP_reg(a) hri_sercomusart_read_BAUD_reg(a) -#define hri_sercomusart_set_BAUD_USARTFP_reg(a, b) hri_sercomusart_set_BAUD_reg(a, b) -#define hri_sercomusart_get_BAUD_USARTFP_reg(a, b) hri_sercomusart_get_BAUD_reg(a, b) -#define hri_sercomusart_write_BAUD_USARTFP_reg(a, b) hri_sercomusart_write_BAUD_reg(a, b) -#define hri_sercomusart_clear_BAUD_USARTFP_reg(a, b) hri_sercomusart_clear_BAUD_reg(a, b) -#define hri_sercomusart_toggle_BAUD_USARTFP_reg(a, b) hri_sercomusart_toggle_BAUD_reg(a, b) -#define hri_sercomusart_read_BAUD_USARTFP_reg(a) hri_sercomusart_read_BAUD_reg(a) - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_SERCOM_E54_H_INCLUDED */ -#endif /* _SAME54_SERCOM_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_supc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_supc_e54.h deleted file mode 100644 index 501c36f..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_supc_e54.h +++ /dev/null @@ -1,1769 +0,0 @@ -/** - * \file - * - * \brief SAM SUPC - * - * Copyright (c) 2016-2019 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_SUPC_COMPONENT_ -#ifndef _HRI_SUPC_E54_H_INCLUDED_ -#define _HRI_SUPC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_SUPC_CRITICAL_SECTIONS) -#define SUPC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define SUPC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define SUPC_CRITICAL_SECTION_ENTER() -#define SUPC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_supc_bbps_reg_t; -typedef uint32_t hri_supc_bkin_reg_t; -typedef uint32_t hri_supc_bkout_reg_t; -typedef uint32_t hri_supc_bod33_reg_t; -typedef uint32_t hri_supc_intenset_reg_t; -typedef uint32_t hri_supc_intflag_reg_t; -typedef uint32_t hri_supc_status_reg_t; -typedef uint32_t hri_supc_vref_reg_t; -typedef uint32_t hri_supc_vreg_reg_t; - -static inline bool hri_supc_get_INTFLAG_BOD33RDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD33RDY) >> SUPC_INTFLAG_BOD33RDY_Pos; -} - -static inline void hri_supc_clear_INTFLAG_BOD33RDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD33RDY; -} - -static inline bool hri_supc_get_INTFLAG_BOD33DET_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD33DET) >> SUPC_INTFLAG_BOD33DET_Pos; -} - -static inline void hri_supc_clear_INTFLAG_BOD33DET_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD33DET; -} - -static inline bool hri_supc_get_INTFLAG_B33SRDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_B33SRDY) >> SUPC_INTFLAG_B33SRDY_Pos; -} - -static inline void hri_supc_clear_INTFLAG_B33SRDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_B33SRDY; -} - -static inline bool hri_supc_get_INTFLAG_VREGRDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_VREGRDY) >> SUPC_INTFLAG_VREGRDY_Pos; -} - -static inline void hri_supc_clear_INTFLAG_VREGRDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_VREGRDY; -} - -static inline bool hri_supc_get_INTFLAG_VCORERDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_VCORERDY) >> SUPC_INTFLAG_VCORERDY_Pos; -} - -static inline void hri_supc_clear_INTFLAG_VCORERDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_VCORERDY; -} - -static inline bool hri_supc_get_interrupt_BOD33RDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD33RDY) >> SUPC_INTFLAG_BOD33RDY_Pos; -} - -static inline void hri_supc_clear_interrupt_BOD33RDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD33RDY; -} - -static inline bool hri_supc_get_interrupt_BOD33DET_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD33DET) >> SUPC_INTFLAG_BOD33DET_Pos; -} - -static inline void hri_supc_clear_interrupt_BOD33DET_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD33DET; -} - -static inline bool hri_supc_get_interrupt_B33SRDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_B33SRDY) >> SUPC_INTFLAG_B33SRDY_Pos; -} - -static inline void hri_supc_clear_interrupt_B33SRDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_B33SRDY; -} - -static inline bool hri_supc_get_interrupt_VREGRDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_VREGRDY) >> SUPC_INTFLAG_VREGRDY_Pos; -} - -static inline void hri_supc_clear_interrupt_VREGRDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_VREGRDY; -} - -static inline bool hri_supc_get_interrupt_VCORERDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_VCORERDY) >> SUPC_INTFLAG_VCORERDY_Pos; -} - -static inline void hri_supc_clear_interrupt_VCORERDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_VCORERDY; -} - -static inline hri_supc_intflag_reg_t hri_supc_get_INTFLAG_reg(const void *const hw, hri_supc_intflag_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_supc_intflag_reg_t hri_supc_read_INTFLAG_reg(const void *const hw) -{ - return ((Supc *)hw)->INTFLAG.reg; -} - -static inline void hri_supc_clear_INTFLAG_reg(const void *const hw, hri_supc_intflag_reg_t mask) -{ - ((Supc *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_supc_set_INTEN_BOD33RDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD33RDY; -} - -static inline bool hri_supc_get_INTEN_BOD33RDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_BOD33RDY) >> SUPC_INTENSET_BOD33RDY_Pos; -} - -static inline void hri_supc_write_INTEN_BOD33RDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD33RDY; - } else { - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD33RDY; - } -} - -static inline void hri_supc_clear_INTEN_BOD33RDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD33RDY; -} - -static inline void hri_supc_set_INTEN_BOD33DET_bit(const void *const hw) -{ - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD33DET; -} - -static inline bool hri_supc_get_INTEN_BOD33DET_bit(const void *const hw) -{ - return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_BOD33DET) >> SUPC_INTENSET_BOD33DET_Pos; -} - -static inline void hri_supc_write_INTEN_BOD33DET_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD33DET; - } else { - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD33DET; - } -} - -static inline void hri_supc_clear_INTEN_BOD33DET_bit(const void *const hw) -{ - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD33DET; -} - -static inline void hri_supc_set_INTEN_B33SRDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_B33SRDY; -} - -static inline bool hri_supc_get_INTEN_B33SRDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_B33SRDY) >> SUPC_INTENSET_B33SRDY_Pos; -} - -static inline void hri_supc_write_INTEN_B33SRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_B33SRDY; - } else { - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_B33SRDY; - } -} - -static inline void hri_supc_clear_INTEN_B33SRDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_B33SRDY; -} - -static inline void hri_supc_set_INTEN_VREGRDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_VREGRDY; -} - -static inline bool hri_supc_get_INTEN_VREGRDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_VREGRDY) >> SUPC_INTENSET_VREGRDY_Pos; -} - -static inline void hri_supc_write_INTEN_VREGRDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_VREGRDY; - } else { - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_VREGRDY; - } -} - -static inline void hri_supc_clear_INTEN_VREGRDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_VREGRDY; -} - -static inline void hri_supc_set_INTEN_VCORERDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_VCORERDY; -} - -static inline bool hri_supc_get_INTEN_VCORERDY_bit(const void *const hw) -{ - return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_VCORERDY) >> SUPC_INTENSET_VCORERDY_Pos; -} - -static inline void hri_supc_write_INTEN_VCORERDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_VCORERDY; - } else { - ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_VCORERDY; - } -} - -static inline void hri_supc_clear_INTEN_VCORERDY_bit(const void *const hw) -{ - ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_VCORERDY; -} - -static inline void hri_supc_set_INTEN_reg(const void *const hw, hri_supc_intenset_reg_t mask) -{ - ((Supc *)hw)->INTENSET.reg = mask; -} - -static inline hri_supc_intenset_reg_t hri_supc_get_INTEN_reg(const void *const hw, hri_supc_intenset_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_supc_intenset_reg_t hri_supc_read_INTEN_reg(const void *const hw) -{ - return ((Supc *)hw)->INTENSET.reg; -} - -static inline void hri_supc_write_INTEN_reg(const void *const hw, hri_supc_intenset_reg_t data) -{ - ((Supc *)hw)->INTENSET.reg = data; - ((Supc *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_supc_clear_INTEN_reg(const void *const hw, hri_supc_intenset_reg_t mask) -{ - ((Supc *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_supc_get_STATUS_BOD33RDY_bit(const void *const hw) -{ - return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_BOD33RDY) >> SUPC_STATUS_BOD33RDY_Pos; -} - -static inline bool hri_supc_get_STATUS_BOD33DET_bit(const void *const hw) -{ - return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_BOD33DET) >> SUPC_STATUS_BOD33DET_Pos; -} - -static inline bool hri_supc_get_STATUS_B33SRDY_bit(const void *const hw) -{ - return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_B33SRDY) >> SUPC_STATUS_B33SRDY_Pos; -} - -static inline bool hri_supc_get_STATUS_VREGRDY_bit(const void *const hw) -{ - return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_VREGRDY) >> SUPC_STATUS_VREGRDY_Pos; -} - -static inline bool hri_supc_get_STATUS_VCORERDY_bit(const void *const hw) -{ - return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_VCORERDY) >> SUPC_STATUS_VCORERDY_Pos; -} - -static inline hri_supc_status_reg_t hri_supc_get_STATUS_reg(const void *const hw, hri_supc_status_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_supc_status_reg_t hri_supc_read_STATUS_reg(const void *const hw) -{ - return ((Supc *)hw)->STATUS.reg; -} - -static inline hri_supc_bkin_reg_t hri_supc_get_BKIN_BKIN_bf(const void *const hw, hri_supc_bkin_reg_t mask) -{ - return (((Supc *)hw)->BKIN.reg & SUPC_BKIN_BKIN(mask)) >> SUPC_BKIN_BKIN_Pos; -} - -static inline hri_supc_bkin_reg_t hri_supc_read_BKIN_BKIN_bf(const void *const hw) -{ - return (((Supc *)hw)->BKIN.reg & SUPC_BKIN_BKIN_Msk) >> SUPC_BKIN_BKIN_Pos; -} - -static inline hri_supc_bkin_reg_t hri_supc_get_BKIN_reg(const void *const hw, hri_supc_bkin_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKIN.reg; - tmp &= mask; - return tmp; -} - -static inline hri_supc_bkin_reg_t hri_supc_read_BKIN_reg(const void *const hw) -{ - return ((Supc *)hw)->BKIN.reg; -} - -static inline void hri_supc_set_BOD33_ENABLE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_ENABLE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_BOD33_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_ENABLE) >> SUPC_BOD33_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_BOD33_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_ENABLE; - tmp |= value << SUPC_BOD33_ENABLE_Pos; - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_ENABLE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_ENABLE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_ENABLE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_ENABLE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_BOD33_STDBYCFG_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_STDBYCFG; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_BOD33_STDBYCFG_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_STDBYCFG) >> SUPC_BOD33_STDBYCFG_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_BOD33_STDBYCFG_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_STDBYCFG; - tmp |= value << SUPC_BOD33_STDBYCFG_Pos; - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_STDBYCFG_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_STDBYCFG; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_STDBYCFG_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_STDBYCFG; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_BOD33_RUNSTDBY_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_RUNSTDBY; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_BOD33_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_RUNSTDBY) >> SUPC_BOD33_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_BOD33_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_RUNSTDBY; - tmp |= value << SUPC_BOD33_RUNSTDBY_Pos; - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_RUNSTDBY_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_RUNSTDBY; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_RUNSTDBY_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_RUNSTDBY; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_BOD33_RUNHIB_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_RUNHIB; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_BOD33_RUNHIB_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_RUNHIB) >> SUPC_BOD33_RUNHIB_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_BOD33_RUNHIB_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_RUNHIB; - tmp |= value << SUPC_BOD33_RUNHIB_Pos; - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_RUNHIB_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_RUNHIB; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_RUNHIB_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_RUNHIB; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_BOD33_RUNBKUP_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_RUNBKUP; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_BOD33_RUNBKUP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_RUNBKUP) >> SUPC_BOD33_RUNBKUP_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_BOD33_RUNBKUP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_RUNBKUP; - tmp |= value << SUPC_BOD33_RUNBKUP_Pos; - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_RUNBKUP_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_RUNBKUP; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_RUNBKUP_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_RUNBKUP; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_ACTION(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_ACTION(mask)) >> SUPC_BOD33_ACTION_Pos; - return tmp; -} - -static inline void hri_supc_write_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_ACTION_Msk; - tmp |= SUPC_BOD33_ACTION(data); - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_ACTION(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_ACTION(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_ACTION_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_ACTION_Msk) >> SUPC_BOD33_ACTION_Pos; - return tmp; -} - -static inline void hri_supc_set_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_HYST(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_HYST(mask)) >> SUPC_BOD33_HYST_Pos; - return tmp; -} - -static inline void hri_supc_write_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_HYST_Msk; - tmp |= SUPC_BOD33_HYST(data); - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_HYST(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_HYST(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_HYST_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_HYST_Msk) >> SUPC_BOD33_HYST_Pos; - return tmp; -} - -static inline void hri_supc_set_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_PSEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_PSEL(mask)) >> SUPC_BOD33_PSEL_Pos; - return tmp; -} - -static inline void hri_supc_write_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_PSEL_Msk; - tmp |= SUPC_BOD33_PSEL(data); - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_PSEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_PSEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_PSEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_PSEL_Msk) >> SUPC_BOD33_PSEL_Pos; - return tmp; -} - -static inline void hri_supc_set_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_LEVEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_LEVEL(mask)) >> SUPC_BOD33_LEVEL_Pos; - return tmp; -} - -static inline void hri_supc_write_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_LEVEL_Msk; - tmp |= SUPC_BOD33_LEVEL(data); - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_LEVEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_LEVEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_LEVEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_LEVEL_Msk) >> SUPC_BOD33_LEVEL_Pos; - return tmp; -} - -static inline void hri_supc_set_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_VBATLEVEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_VBATLEVEL(mask)) >> SUPC_BOD33_VBATLEVEL_Pos; - return tmp; -} - -static inline void hri_supc_write_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= ~SUPC_BOD33_VBATLEVEL_Msk; - tmp |= SUPC_BOD33_VBATLEVEL(data); - ((Supc *)hw)->BOD33.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_VBATLEVEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_VBATLEVEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_VBATLEVEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp = (tmp & SUPC_BOD33_VBATLEVEL_Msk) >> SUPC_BOD33_VBATLEVEL_Pos; - return tmp; -} - -static inline void hri_supc_set_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg |= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BOD33.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_supc_write_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t data) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg = data; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg &= ~mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BOD33.reg ^= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_reg(const void *const hw) -{ - return ((Supc *)hw)->BOD33.reg; -} - -static inline void hri_supc_set_VREG_ENABLE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg |= SUPC_VREG_ENABLE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREG_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREG.reg; - tmp = (tmp & SUPC_VREG_ENABLE) >> SUPC_VREG_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREG_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREG.reg; - tmp &= ~SUPC_VREG_ENABLE; - tmp |= value << SUPC_VREG_ENABLE_Pos; - ((Supc *)hw)->VREG.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREG_ENABLE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_ENABLE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREG_ENABLE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg ^= SUPC_VREG_ENABLE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREG_SEL_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg |= SUPC_VREG_SEL; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREG_SEL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREG.reg; - tmp = (tmp & SUPC_VREG_SEL) >> SUPC_VREG_SEL_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREG_SEL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREG.reg; - tmp &= ~SUPC_VREG_SEL; - tmp |= value << SUPC_VREG_SEL_Pos; - ((Supc *)hw)->VREG.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREG_SEL_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_SEL; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREG_SEL_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg ^= SUPC_VREG_SEL; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREG_RUNBKUP_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg |= SUPC_VREG_RUNBKUP; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREG_RUNBKUP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREG.reg; - tmp = (tmp & SUPC_VREG_RUNBKUP) >> SUPC_VREG_RUNBKUP_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREG_RUNBKUP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREG.reg; - tmp &= ~SUPC_VREG_RUNBKUP; - tmp |= value << SUPC_VREG_RUNBKUP_Pos; - ((Supc *)hw)->VREG.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREG_RUNBKUP_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_RUNBKUP; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREG_RUNBKUP_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg ^= SUPC_VREG_RUNBKUP; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREG_VSEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg |= SUPC_VREG_VSEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREG_VSEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREG.reg; - tmp = (tmp & SUPC_VREG_VSEN) >> SUPC_VREG_VSEN_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREG_VSEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREG.reg; - tmp &= ~SUPC_VREG_VSEN; - tmp |= value << SUPC_VREG_VSEN_Pos; - ((Supc *)hw)->VREG.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREG_VSEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_VSEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREG_VSEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg ^= SUPC_VREG_VSEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg |= SUPC_VREG_VSPER(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_vreg_reg_t hri_supc_get_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREG.reg; - tmp = (tmp & SUPC_VREG_VSPER(mask)) >> SUPC_VREG_VSPER_Pos; - return tmp; -} - -static inline void hri_supc_write_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREG.reg; - tmp &= ~SUPC_VREG_VSPER_Msk; - tmp |= SUPC_VREG_VSPER(data); - ((Supc *)hw)->VREG.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_VSPER(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg ^= SUPC_VREG_VSPER(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_vreg_reg_t hri_supc_read_VREG_VSPER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREG.reg; - tmp = (tmp & SUPC_VREG_VSPER_Msk) >> SUPC_VREG_VSPER_Pos; - return tmp; -} - -static inline void hri_supc_set_VREG_reg(const void *const hw, hri_supc_vreg_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg |= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_vreg_reg_t hri_supc_get_VREG_reg(const void *const hw, hri_supc_vreg_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_supc_write_VREG_reg(const void *const hw, hri_supc_vreg_reg_t data) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg = data; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREG_reg(const void *const hw, hri_supc_vreg_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg &= ~mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREG_reg(const void *const hw, hri_supc_vreg_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREG.reg ^= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_vreg_reg_t hri_supc_read_VREG_reg(const void *const hw) -{ - return ((Supc *)hw)->VREG.reg; -} - -static inline void hri_supc_set_VREF_TSEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg |= SUPC_VREF_TSEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREF_TSEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREF.reg; - tmp = (tmp & SUPC_VREF_TSEN) >> SUPC_VREF_TSEN_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREF_TSEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREF.reg; - tmp &= ~SUPC_VREF_TSEN; - tmp |= value << SUPC_VREF_TSEN_Pos; - ((Supc *)hw)->VREF.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREF_TSEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_TSEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREF_TSEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg ^= SUPC_VREF_TSEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREF_VREFOE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg |= SUPC_VREF_VREFOE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREF_VREFOE_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREF.reg; - tmp = (tmp & SUPC_VREF_VREFOE) >> SUPC_VREF_VREFOE_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREF_VREFOE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREF.reg; - tmp &= ~SUPC_VREF_VREFOE; - tmp |= value << SUPC_VREF_VREFOE_Pos; - ((Supc *)hw)->VREF.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREF_VREFOE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_VREFOE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREF_VREFOE_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg ^= SUPC_VREF_VREFOE; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREF_TSSEL_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg |= SUPC_VREF_TSSEL; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREF_TSSEL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREF.reg; - tmp = (tmp & SUPC_VREF_TSSEL) >> SUPC_VREF_TSSEL_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREF_TSSEL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREF.reg; - tmp &= ~SUPC_VREF_TSSEL; - tmp |= value << SUPC_VREF_TSSEL_Pos; - ((Supc *)hw)->VREF.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREF_TSSEL_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_TSSEL; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREF_TSSEL_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg ^= SUPC_VREF_TSSEL; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREF_RUNSTDBY_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg |= SUPC_VREF_RUNSTDBY; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREF_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREF.reg; - tmp = (tmp & SUPC_VREF_RUNSTDBY) >> SUPC_VREF_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREF_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREF.reg; - tmp &= ~SUPC_VREF_RUNSTDBY; - tmp |= value << SUPC_VREF_RUNSTDBY_Pos; - ((Supc *)hw)->VREF.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREF_RUNSTDBY_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_RUNSTDBY; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREF_RUNSTDBY_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg ^= SUPC_VREF_RUNSTDBY; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREF_ONDEMAND_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg |= SUPC_VREF_ONDEMAND; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_VREF_ONDEMAND_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREF.reg; - tmp = (tmp & SUPC_VREF_ONDEMAND) >> SUPC_VREF_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_VREF_ONDEMAND_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREF.reg; - tmp &= ~SUPC_VREF_ONDEMAND; - tmp |= value << SUPC_VREF_ONDEMAND_Pos; - ((Supc *)hw)->VREF.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREF_ONDEMAND_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_ONDEMAND; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREF_ONDEMAND_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg ^= SUPC_VREF_ONDEMAND; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg |= SUPC_VREF_SEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_vref_reg_t hri_supc_get_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREF.reg; - tmp = (tmp & SUPC_VREF_SEL(mask)) >> SUPC_VREF_SEL_Pos; - return tmp; -} - -static inline void hri_supc_write_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->VREF.reg; - tmp &= ~SUPC_VREF_SEL_Msk; - tmp |= SUPC_VREF_SEL(data); - ((Supc *)hw)->VREF.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_SEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg ^= SUPC_VREF_SEL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_vref_reg_t hri_supc_read_VREF_SEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREF.reg; - tmp = (tmp & SUPC_VREF_SEL_Msk) >> SUPC_VREF_SEL_Pos; - return tmp; -} - -static inline void hri_supc_set_VREF_reg(const void *const hw, hri_supc_vref_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg |= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_vref_reg_t hri_supc_get_VREF_reg(const void *const hw, hri_supc_vref_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->VREF.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_supc_write_VREF_reg(const void *const hw, hri_supc_vref_reg_t data) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg = data; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_VREF_reg(const void *const hw, hri_supc_vref_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg &= ~mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_VREF_reg(const void *const hw, hri_supc_vref_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->VREF.reg ^= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_vref_reg_t hri_supc_read_VREF_reg(const void *const hw) -{ - return ((Supc *)hw)->VREF.reg; -} - -static inline void hri_supc_set_BBPS_CONF_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg |= SUPC_BBPS_CONF; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_BBPS_CONF_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BBPS.reg; - tmp = (tmp & SUPC_BBPS_CONF) >> SUPC_BBPS_CONF_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_BBPS_CONF_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BBPS.reg; - tmp &= ~SUPC_BBPS_CONF; - tmp |= value << SUPC_BBPS_CONF_Pos; - ((Supc *)hw)->BBPS.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BBPS_CONF_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg &= ~SUPC_BBPS_CONF; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BBPS_CONF_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg ^= SUPC_BBPS_CONF; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_BBPS_WAKEEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg |= SUPC_BBPS_WAKEEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_supc_get_BBPS_WAKEEN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BBPS.reg; - tmp = (tmp & SUPC_BBPS_WAKEEN) >> SUPC_BBPS_WAKEEN_Pos; - return (bool)tmp; -} - -static inline void hri_supc_write_BBPS_WAKEEN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BBPS.reg; - tmp &= ~SUPC_BBPS_WAKEEN; - tmp |= value << SUPC_BBPS_WAKEEN_Pos; - ((Supc *)hw)->BBPS.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BBPS_WAKEEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg &= ~SUPC_BBPS_WAKEEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BBPS_WAKEEN_bit(const void *const hw) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg ^= SUPC_BBPS_WAKEEN; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_set_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg |= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bbps_reg_t hri_supc_get_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BBPS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_supc_write_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t data) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg = data; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg &= ~mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BBPS.reg ^= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bbps_reg_t hri_supc_read_BBPS_reg(const void *const hw) -{ - return ((Supc *)hw)->BBPS.reg; -} - -static inline void hri_supc_set_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg |= SUPC_BKOUT_EN(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp = (tmp & SUPC_BKOUT_EN(mask)) >> SUPC_BKOUT_EN_Pos; - return tmp; -} - -static inline void hri_supc_write_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BKOUT.reg; - tmp &= ~SUPC_BKOUT_EN_Msk; - tmp |= SUPC_BKOUT_EN(data); - ((Supc *)hw)->BKOUT.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg &= ~SUPC_BKOUT_EN(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg ^= SUPC_BKOUT_EN(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_EN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp = (tmp & SUPC_BKOUT_EN_Msk) >> SUPC_BKOUT_EN_Pos; - return tmp; -} - -static inline void hri_supc_set_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg |= SUPC_BKOUT_CLR(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp = (tmp & SUPC_BKOUT_CLR(mask)) >> SUPC_BKOUT_CLR_Pos; - return tmp; -} - -static inline void hri_supc_write_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BKOUT.reg; - tmp &= ~SUPC_BKOUT_CLR_Msk; - tmp |= SUPC_BKOUT_CLR(data); - ((Supc *)hw)->BKOUT.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg &= ~SUPC_BKOUT_CLR(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg ^= SUPC_BKOUT_CLR(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_CLR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp = (tmp & SUPC_BKOUT_CLR_Msk) >> SUPC_BKOUT_CLR_Pos; - return tmp; -} - -static inline void hri_supc_set_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg |= SUPC_BKOUT_SET(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp = (tmp & SUPC_BKOUT_SET(mask)) >> SUPC_BKOUT_SET_Pos; - return tmp; -} - -static inline void hri_supc_write_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BKOUT.reg; - tmp &= ~SUPC_BKOUT_SET_Msk; - tmp |= SUPC_BKOUT_SET(data); - ((Supc *)hw)->BKOUT.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg &= ~SUPC_BKOUT_SET(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg ^= SUPC_BKOUT_SET(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_SET_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp = (tmp & SUPC_BKOUT_SET_Msk) >> SUPC_BKOUT_SET_Pos; - return tmp; -} - -static inline void hri_supc_set_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg |= SUPC_BKOUT_RTCTGL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp = (tmp & SUPC_BKOUT_RTCTGL(mask)) >> SUPC_BKOUT_RTCTGL_Pos; - return tmp; -} - -static inline void hri_supc_write_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t data) -{ - uint32_t tmp; - SUPC_CRITICAL_SECTION_ENTER(); - tmp = ((Supc *)hw)->BKOUT.reg; - tmp &= ~SUPC_BKOUT_RTCTGL_Msk; - tmp |= SUPC_BKOUT_RTCTGL(data); - ((Supc *)hw)->BKOUT.reg = tmp; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg &= ~SUPC_BKOUT_RTCTGL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg ^= SUPC_BKOUT_RTCTGL(mask); - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_RTCTGL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp = (tmp & SUPC_BKOUT_RTCTGL_Msk) >> SUPC_BKOUT_RTCTGL_Pos; - return tmp; -} - -static inline void hri_supc_set_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg |= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t mask) -{ - uint32_t tmp; - tmp = ((Supc *)hw)->BKOUT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_supc_write_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t data) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg = data; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_clear_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg &= ~mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_supc_toggle_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t mask) -{ - SUPC_CRITICAL_SECTION_ENTER(); - ((Supc *)hw)->BKOUT.reg ^= mask; - SUPC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_reg(const void *const hw) -{ - return ((Supc *)hw)->BKOUT.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_SUPC_E54_H_INCLUDED */ -#endif /* _SAME54_SUPC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_tc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_tc_e54.h deleted file mode 100644 index a31cb2c..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_tc_e54.h +++ /dev/null @@ -1,3003 +0,0 @@ -/** - * \file - * - * \brief SAM TC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_TC_COMPONENT_ -#ifndef _HRI_TC_E54_H_INCLUDED_ -#define _HRI_TC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_TC_CRITICAL_SECTIONS) -#define TC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define TC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define TC_CRITICAL_SECTION_ENTER() -#define TC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_tc_evctrl_reg_t; -typedef uint16_t hri_tccount16_cc_reg_t; -typedef uint16_t hri_tccount16_ccbuf_reg_t; -typedef uint16_t hri_tccount16_count_reg_t; -typedef uint32_t hri_tc_ctrla_reg_t; -typedef uint32_t hri_tc_syncbusy_reg_t; -typedef uint32_t hri_tccount32_cc_reg_t; -typedef uint32_t hri_tccount32_ccbuf_reg_t; -typedef uint32_t hri_tccount32_count_reg_t; -typedef uint8_t hri_tc_ctrlbset_reg_t; -typedef uint8_t hri_tc_dbgctrl_reg_t; -typedef uint8_t hri_tc_drvctrl_reg_t; -typedef uint8_t hri_tc_intenset_reg_t; -typedef uint8_t hri_tc_intflag_reg_t; -typedef uint8_t hri_tc_status_reg_t; -typedef uint8_t hri_tc_wave_reg_t; -typedef uint8_t hri_tccount8_cc_reg_t; -typedef uint8_t hri_tccount8_ccbuf_reg_t; -typedef uint8_t hri_tccount8_count_reg_t; -typedef uint8_t hri_tccount8_per_reg_t; -typedef uint8_t hri_tccount8_perbuf_reg_t; - -static inline void hri_tc_wait_for_sync(const void *const hw, hri_tc_syncbusy_reg_t reg) -{ - while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_tc_is_syncing(const void *const hw, hri_tc_syncbusy_reg_t reg) -{ - return ((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg; -} - -static inline bool hri_tc_get_INTFLAG_OVF_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_OVF) >> TC_INTFLAG_OVF_Pos; -} - -static inline void hri_tc_clear_INTFLAG_OVF_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_OVF; -} - -static inline bool hri_tc_get_INTFLAG_ERR_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_ERR) >> TC_INTFLAG_ERR_Pos; -} - -static inline void hri_tc_clear_INTFLAG_ERR_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_ERR; -} - -static inline bool hri_tc_get_INTFLAG_MC0_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_MC0) >> TC_INTFLAG_MC0_Pos; -} - -static inline void hri_tc_clear_INTFLAG_MC0_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0; -} - -static inline bool hri_tc_get_INTFLAG_MC1_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_MC1) >> TC_INTFLAG_MC1_Pos; -} - -static inline void hri_tc_clear_INTFLAG_MC1_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_MC1; -} - -static inline bool hri_tc_get_interrupt_OVF_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_OVF) >> TC_INTFLAG_OVF_Pos; -} - -static inline void hri_tc_clear_interrupt_OVF_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_OVF; -} - -static inline bool hri_tc_get_interrupt_ERR_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_ERR) >> TC_INTFLAG_ERR_Pos; -} - -static inline void hri_tc_clear_interrupt_ERR_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_ERR; -} - -static inline bool hri_tc_get_interrupt_MC0_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_MC0) >> TC_INTFLAG_MC0_Pos; -} - -static inline void hri_tc_clear_interrupt_MC0_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0; -} - -static inline bool hri_tc_get_interrupt_MC1_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_MC1) >> TC_INTFLAG_MC1_Pos; -} - -static inline void hri_tc_clear_interrupt_MC1_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_MC1; -} - -static inline hri_tc_intflag_reg_t hri_tc_get_INTFLAG_reg(const void *const hw, hri_tc_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_tc_intflag_reg_t hri_tc_read_INTFLAG_reg(const void *const hw) -{ - return ((Tc *)hw)->COUNT16.INTFLAG.reg; -} - -static inline void hri_tc_clear_INTFLAG_reg(const void *const hw, hri_tc_intflag_reg_t mask) -{ - ((Tc *)hw)->COUNT16.INTFLAG.reg = mask; -} - -static inline void hri_tc_set_CTRLB_DIR_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_DIR; -} - -static inline bool hri_tc_get_CTRLB_DIR_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.CTRLBSET.reg & TC_CTRLBSET_DIR) >> TC_CTRLBSET_DIR_Pos; -} - -static inline void hri_tc_write_CTRLB_DIR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_DIR; - } else { - ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_DIR; - } -} - -static inline void hri_tc_clear_CTRLB_DIR_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_DIR; -} - -static inline void hri_tc_set_CTRLB_LUPD_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_LUPD; -} - -static inline bool hri_tc_get_CTRLB_LUPD_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.CTRLBSET.reg & TC_CTRLBSET_LUPD) >> TC_CTRLBSET_LUPD_Pos; -} - -static inline void hri_tc_write_CTRLB_LUPD_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_LUPD; - } else { - ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_LUPD; - } -} - -static inline void hri_tc_clear_CTRLB_LUPD_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_LUPD; -} - -static inline void hri_tc_set_CTRLB_ONESHOT_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_ONESHOT; -} - -static inline bool hri_tc_get_CTRLB_ONESHOT_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.CTRLBSET.reg & TC_CTRLBSET_ONESHOT) >> TC_CTRLBSET_ONESHOT_Pos; -} - -static inline void hri_tc_write_CTRLB_ONESHOT_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_ONESHOT; - } else { - ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_ONESHOT; - } -} - -static inline void hri_tc_clear_CTRLB_ONESHOT_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_ONESHOT; -} - -static inline void hri_tc_set_CTRLB_CMD_bf(const void *const hw, hri_tc_ctrlbset_reg_t mask) -{ - ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_CMD(mask); -} - -static inline hri_tc_ctrlbset_reg_t hri_tc_get_CTRLB_CMD_bf(const void *const hw, hri_tc_ctrlbset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLBSET.reg; - tmp = (tmp & TC_CTRLBSET_CMD(mask)) >> TC_CTRLBSET_CMD_Pos; - return tmp; -} - -static inline hri_tc_ctrlbset_reg_t hri_tc_read_CTRLB_CMD_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLBSET.reg; - tmp = (tmp & TC_CTRLBSET_CMD_Msk) >> TC_CTRLBSET_CMD_Pos; - return tmp; -} - -static inline void hri_tc_write_CTRLB_CMD_bf(const void *const hw, hri_tc_ctrlbset_reg_t data) -{ - ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_CMD(data); - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = ~TC_CTRLBSET_CMD(data); -} - -static inline void hri_tc_clear_CTRLB_CMD_bf(const void *const hw, hri_tc_ctrlbset_reg_t mask) -{ - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_CMD(mask); -} - -static inline void hri_tc_set_CTRLB_reg(const void *const hw, hri_tc_ctrlbset_reg_t mask) -{ - ((Tc *)hw)->COUNT16.CTRLBSET.reg = mask; -} - -static inline hri_tc_ctrlbset_reg_t hri_tc_get_CTRLB_reg(const void *const hw, hri_tc_ctrlbset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLBSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_tc_ctrlbset_reg_t hri_tc_read_CTRLB_reg(const void *const hw) -{ - return ((Tc *)hw)->COUNT16.CTRLBSET.reg; -} - -static inline void hri_tc_write_CTRLB_reg(const void *const hw, hri_tc_ctrlbset_reg_t data) -{ - ((Tc *)hw)->COUNT16.CTRLBSET.reg = data; - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = ~data; -} - -static inline void hri_tc_clear_CTRLB_reg(const void *const hw, hri_tc_ctrlbset_reg_t mask) -{ - ((Tc *)hw)->COUNT16.CTRLBCLR.reg = mask; -} - -static inline void hri_tc_set_INTEN_OVF_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_OVF; -} - -static inline bool hri_tc_get_INTEN_OVF_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTENSET.reg & TC_INTENSET_OVF) >> TC_INTENSET_OVF_Pos; -} - -static inline void hri_tc_write_INTEN_OVF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_OVF; - } else { - ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_OVF; - } -} - -static inline void hri_tc_clear_INTEN_OVF_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_OVF; -} - -static inline void hri_tc_set_INTEN_ERR_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_ERR; -} - -static inline bool hri_tc_get_INTEN_ERR_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTENSET.reg & TC_INTENSET_ERR) >> TC_INTENSET_ERR_Pos; -} - -static inline void hri_tc_write_INTEN_ERR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_ERR; - } else { - ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_ERR; - } -} - -static inline void hri_tc_clear_INTEN_ERR_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_ERR; -} - -static inline void hri_tc_set_INTEN_MC0_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_MC0; -} - -static inline bool hri_tc_get_INTEN_MC0_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTENSET.reg & TC_INTENSET_MC0) >> TC_INTENSET_MC0_Pos; -} - -static inline void hri_tc_write_INTEN_MC0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_MC0; - } else { - ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_MC0; - } -} - -static inline void hri_tc_clear_INTEN_MC0_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_MC0; -} - -static inline void hri_tc_set_INTEN_MC1_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_MC1; -} - -static inline bool hri_tc_get_INTEN_MC1_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.INTENSET.reg & TC_INTENSET_MC1) >> TC_INTENSET_MC1_Pos; -} - -static inline void hri_tc_write_INTEN_MC1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_MC1; - } else { - ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_MC1; - } -} - -static inline void hri_tc_clear_INTEN_MC1_bit(const void *const hw) -{ - ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_MC1; -} - -static inline void hri_tc_set_INTEN_reg(const void *const hw, hri_tc_intenset_reg_t mask) -{ - ((Tc *)hw)->COUNT16.INTENSET.reg = mask; -} - -static inline hri_tc_intenset_reg_t hri_tc_get_INTEN_reg(const void *const hw, hri_tc_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_tc_intenset_reg_t hri_tc_read_INTEN_reg(const void *const hw) -{ - return ((Tc *)hw)->COUNT16.INTENSET.reg; -} - -static inline void hri_tc_write_INTEN_reg(const void *const hw, hri_tc_intenset_reg_t data) -{ - ((Tc *)hw)->COUNT16.INTENSET.reg = data; - ((Tc *)hw)->COUNT16.INTENCLR.reg = ~data; -} - -static inline void hri_tc_clear_INTEN_reg(const void *const hw, hri_tc_intenset_reg_t mask) -{ - ((Tc *)hw)->COUNT16.INTENCLR.reg = mask; -} - -static inline bool hri_tc_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_SWRST) >> TC_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_tc_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_ENABLE) >> TC_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_tc_get_SYNCBUSY_CTRLB_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_CTRLB) >> TC_SYNCBUSY_CTRLB_Pos; -} - -static inline bool hri_tc_get_SYNCBUSY_STATUS_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_STATUS) >> TC_SYNCBUSY_STATUS_Pos; -} - -static inline bool hri_tc_get_SYNCBUSY_COUNT_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_COUNT) >> TC_SYNCBUSY_COUNT_Pos; -} - -static inline bool hri_tc_get_SYNCBUSY_PER_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_PER) >> TC_SYNCBUSY_PER_Pos; -} - -static inline bool hri_tc_get_SYNCBUSY_CC0_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_CC0) >> TC_SYNCBUSY_CC0_Pos; -} - -static inline bool hri_tc_get_SYNCBUSY_CC1_bit(const void *const hw) -{ - return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_CC1) >> TC_SYNCBUSY_CC1_Pos; -} - -static inline hri_tc_syncbusy_reg_t hri_tc_get_SYNCBUSY_reg(const void *const hw, hri_tc_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_tc_syncbusy_reg_t hri_tc_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Tc *)hw)->COUNT16.SYNCBUSY.reg; -} - -static inline void hri_tc_set_CTRLA_SWRST_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_SWRST; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_SWRST) >> TC_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_tc_set_CTRLA_ENABLE_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ENABLE; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_ENABLE) >> TC_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_ENABLE; - tmp |= value << TC_CTRLA_ENABLE_Pos; - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ENABLE; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_ENABLE; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_RUNSTDBY; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_RUNSTDBY) >> TC_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_RUNSTDBY; - tmp |= value << TC_CTRLA_RUNSTDBY_Pos; - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_RUNSTDBY; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_RUNSTDBY; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_CTRLA_ONDEMAND_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ONDEMAND; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_ONDEMAND_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_ONDEMAND) >> TC_CTRLA_ONDEMAND_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_CTRLA_ONDEMAND_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_ONDEMAND; - tmp |= value << TC_CTRLA_ONDEMAND_Pos; - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_ONDEMAND_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ONDEMAND; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_ONDEMAND_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_ONDEMAND; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_CTRLA_ALOCK_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ALOCK; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_ALOCK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_ALOCK) >> TC_CTRLA_ALOCK_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_CTRLA_ALOCK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_ALOCK; - tmp |= value << TC_CTRLA_ALOCK_Pos; - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_ALOCK_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ALOCK; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_ALOCK_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_ALOCK; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_CTRLA_CAPTEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_CAPTEN0; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_CAPTEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_CAPTEN0) >> TC_CTRLA_CAPTEN0_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_CTRLA_CAPTEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_CAPTEN0; - tmp |= value << TC_CTRLA_CAPTEN0_Pos; - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_CAPTEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_CAPTEN0; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_CAPTEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_CAPTEN0; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_CTRLA_CAPTEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_CAPTEN1; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_CAPTEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_CAPTEN1) >> TC_CTRLA_CAPTEN1_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_CTRLA_CAPTEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_CAPTEN1; - tmp |= value << TC_CTRLA_CAPTEN1_Pos; - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_CAPTEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_CAPTEN1; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_CAPTEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_CAPTEN1; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_CTRLA_COPEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_COPEN0; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_COPEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_COPEN0) >> TC_CTRLA_COPEN0_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_CTRLA_COPEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_COPEN0; - tmp |= value << TC_CTRLA_COPEN0_Pos; - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_COPEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_COPEN0; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_COPEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_COPEN0; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_CTRLA_COPEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_COPEN1; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_CTRLA_COPEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_COPEN1) >> TC_CTRLA_COPEN1_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_CTRLA_COPEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_COPEN1; - tmp |= value << TC_CTRLA_COPEN1_Pos; - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_COPEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_COPEN1; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_COPEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_COPEN1; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_MODE(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_MODE(mask)) >> TC_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_tc_write_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t data) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_MODE_Msk; - tmp |= TC_CTRLA_MODE(data); - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_MODE(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_MODE(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_MODE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_MODE_Msk) >> TC_CTRLA_MODE_Pos; - return tmp; -} - -static inline void hri_tc_set_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_PRESCSYNC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_PRESCSYNC(mask)) >> TC_CTRLA_PRESCSYNC_Pos; - return tmp; -} - -static inline void hri_tc_write_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t data) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_PRESCSYNC_Msk; - tmp |= TC_CTRLA_PRESCSYNC(data); - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_PRESCSYNC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_PRESCSYNC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_PRESCSYNC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_PRESCSYNC_Msk) >> TC_CTRLA_PRESCSYNC_Pos; - return tmp; -} - -static inline void hri_tc_set_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_PRESCALER(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_PRESCALER(mask)) >> TC_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_tc_write_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t data) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_PRESCALER_Msk; - tmp |= TC_CTRLA_PRESCALER(data); - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_PRESCALER(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_PRESCALER(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_PRESCALER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_PRESCALER_Msk) >> TC_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_tc_set_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_CAPTMODE0(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_CAPTMODE0(mask)) >> TC_CTRLA_CAPTMODE0_Pos; - return tmp; -} - -static inline void hri_tc_write_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t data) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_CAPTMODE0_Msk; - tmp |= TC_CTRLA_CAPTMODE0(data); - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_CAPTMODE0(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_CAPTMODE0(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_CAPTMODE0_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_CAPTMODE0_Msk) >> TC_CTRLA_CAPTMODE0_Pos; - return tmp; -} - -static inline void hri_tc_set_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_CAPTMODE1(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_CAPTMODE1(mask)) >> TC_CTRLA_CAPTMODE1_Pos; - return tmp; -} - -static inline void hri_tc_write_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t data) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= ~TC_CTRLA_CAPTMODE1_Msk; - tmp |= TC_CTRLA_CAPTMODE1(data); - ((Tc *)hw)->COUNT16.CTRLA.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_CAPTMODE1(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_CAPTMODE1(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_CAPTMODE1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp = (tmp & TC_CTRLA_CAPTMODE1_Msk) >> TC_CTRLA_CAPTMODE1_Pos; - return tmp; -} - -static inline void hri_tc_set_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - uint32_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tc_write_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CTRLA.reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_reg(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); - return ((Tc *)hw)->COUNT16.CTRLA.reg; -} - -static inline void hri_tc_set_EVCTRL_TCINV_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_TCINV; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_EVCTRL_TCINV_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp = (tmp & TC_EVCTRL_TCINV) >> TC_EVCTRL_TCINV_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_EVCTRL_TCINV_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp &= ~TC_EVCTRL_TCINV; - tmp |= value << TC_EVCTRL_TCINV_Pos; - ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_EVCTRL_TCINV_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_TCINV; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_EVCTRL_TCINV_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_TCINV; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_EVCTRL_TCEI_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_TCEI; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_EVCTRL_TCEI_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp = (tmp & TC_EVCTRL_TCEI) >> TC_EVCTRL_TCEI_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_EVCTRL_TCEI_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp &= ~TC_EVCTRL_TCEI; - tmp |= value << TC_EVCTRL_TCEI_Pos; - ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_EVCTRL_TCEI_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_TCEI; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_EVCTRL_TCEI_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_TCEI; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_EVCTRL_OVFEO_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_OVFEO; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_EVCTRL_OVFEO_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp = (tmp & TC_EVCTRL_OVFEO) >> TC_EVCTRL_OVFEO_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_EVCTRL_OVFEO_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp &= ~TC_EVCTRL_OVFEO; - tmp |= value << TC_EVCTRL_OVFEO_Pos; - ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_EVCTRL_OVFEO_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_OVFEO; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_EVCTRL_OVFEO_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_OVFEO; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_EVCTRL_MCEO0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_MCEO0; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_EVCTRL_MCEO0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp = (tmp & TC_EVCTRL_MCEO0) >> TC_EVCTRL_MCEO0_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_EVCTRL_MCEO0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp &= ~TC_EVCTRL_MCEO0; - tmp |= value << TC_EVCTRL_MCEO0_Pos; - ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_EVCTRL_MCEO0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_MCEO0; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_EVCTRL_MCEO0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_MCEO0; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_EVCTRL_MCEO1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_MCEO1; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_EVCTRL_MCEO1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp = (tmp & TC_EVCTRL_MCEO1) >> TC_EVCTRL_MCEO1_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_EVCTRL_MCEO1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp &= ~TC_EVCTRL_MCEO1; - tmp |= value << TC_EVCTRL_MCEO1_Pos; - ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_EVCTRL_MCEO1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_MCEO1; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_EVCTRL_MCEO1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_MCEO1; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_EVACT(mask); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_evctrl_reg_t hri_tc_get_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp = (tmp & TC_EVCTRL_EVACT(mask)) >> TC_EVCTRL_EVACT_Pos; - return tmp; -} - -static inline void hri_tc_write_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t data) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp &= ~TC_EVCTRL_EVACT_Msk; - tmp |= TC_EVCTRL_EVACT(data); - ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_EVACT(mask); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_EVACT(mask); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_evctrl_reg_t hri_tc_read_EVCTRL_EVACT_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp = (tmp & TC_EVCTRL_EVACT_Msk) >> TC_EVCTRL_EVACT_Pos; - return tmp; -} - -static inline void hri_tc_set_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg |= mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_evctrl_reg_t hri_tc_get_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t mask) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tc_write_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg = data; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.EVCTRL.reg ^= mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_evctrl_reg_t hri_tc_read_EVCTRL_reg(const void *const hw) -{ - return ((Tc *)hw)->COUNT16.EVCTRL.reg; -} - -static inline void hri_tc_set_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.WAVE.reg |= TC_WAVE_WAVEGEN(mask); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_wave_reg_t hri_tc_get_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.WAVE.reg; - tmp = (tmp & TC_WAVE_WAVEGEN(mask)) >> TC_WAVE_WAVEGEN_Pos; - return tmp; -} - -static inline void hri_tc_write_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t data) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.WAVE.reg; - tmp &= ~TC_WAVE_WAVEGEN_Msk; - tmp |= TC_WAVE_WAVEGEN(data); - ((Tc *)hw)->COUNT16.WAVE.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.WAVE.reg &= ~TC_WAVE_WAVEGEN(mask); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.WAVE.reg ^= TC_WAVE_WAVEGEN(mask); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_wave_reg_t hri_tc_read_WAVE_WAVEGEN_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.WAVE.reg; - tmp = (tmp & TC_WAVE_WAVEGEN_Msk) >> TC_WAVE_WAVEGEN_Pos; - return tmp; -} - -static inline void hri_tc_set_WAVE_reg(const void *const hw, hri_tc_wave_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.WAVE.reg |= mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_wave_reg_t hri_tc_get_WAVE_reg(const void *const hw, hri_tc_wave_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.WAVE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tc_write_WAVE_reg(const void *const hw, hri_tc_wave_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.WAVE.reg = data; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_WAVE_reg(const void *const hw, hri_tc_wave_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.WAVE.reg &= ~mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_WAVE_reg(const void *const hw, hri_tc_wave_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.WAVE.reg ^= mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_wave_reg_t hri_tc_read_WAVE_reg(const void *const hw) -{ - return ((Tc *)hw)->COUNT16.WAVE.reg; -} - -static inline void hri_tc_set_DRVCTRL_INVEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg |= TC_DRVCTRL_INVEN0; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_DRVCTRL_INVEN0_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg; - tmp = (tmp & TC_DRVCTRL_INVEN0) >> TC_DRVCTRL_INVEN0_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_DRVCTRL_INVEN0_bit(const void *const hw, bool value) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg; - tmp &= ~TC_DRVCTRL_INVEN0; - tmp |= value << TC_DRVCTRL_INVEN0_Pos; - ((Tc *)hw)->COUNT16.DRVCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_DRVCTRL_INVEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg &= ~TC_DRVCTRL_INVEN0; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_DRVCTRL_INVEN0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg ^= TC_DRVCTRL_INVEN0; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_DRVCTRL_INVEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg |= TC_DRVCTRL_INVEN1; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_DRVCTRL_INVEN1_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg; - tmp = (tmp & TC_DRVCTRL_INVEN1) >> TC_DRVCTRL_INVEN1_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_DRVCTRL_INVEN1_bit(const void *const hw, bool value) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg; - tmp &= ~TC_DRVCTRL_INVEN1; - tmp |= value << TC_DRVCTRL_INVEN1_Pos; - ((Tc *)hw)->COUNT16.DRVCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_DRVCTRL_INVEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg &= ~TC_DRVCTRL_INVEN1; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_DRVCTRL_INVEN1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg ^= TC_DRVCTRL_INVEN1; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg |= mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_drvctrl_reg_t hri_tc_get_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tc_write_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg = data; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg &= ~mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DRVCTRL.reg ^= mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_drvctrl_reg_t hri_tc_read_DRVCTRL_reg(const void *const hw) -{ - return ((Tc *)hw)->COUNT16.DRVCTRL.reg; -} - -static inline void hri_tc_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DBGCTRL.reg |= TC_DBGCTRL_DBGRUN; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.DBGCTRL.reg; - tmp = (tmp & TC_DBGCTRL_DBGRUN) >> TC_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_tc_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.DBGCTRL.reg; - tmp &= ~TC_DBGCTRL_DBGRUN; - tmp |= value << TC_DBGCTRL_DBGRUN_Pos; - ((Tc *)hw)->COUNT16.DBGCTRL.reg = tmp; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DBGCTRL.reg &= ~TC_DBGCTRL_DBGRUN; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DBGCTRL.reg ^= TC_DBGCTRL_DBGRUN; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_set_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DBGCTRL.reg |= mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_dbgctrl_reg_t hri_tc_get_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT16.DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tc_write_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DBGCTRL.reg = data; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_clear_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DBGCTRL.reg &= ~mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tc_toggle_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.DBGCTRL.reg ^= mask; - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_dbgctrl_reg_t hri_tc_read_DBGCTRL_reg(const void *const hw) -{ - return ((Tc *)hw)->COUNT16.DBGCTRL.reg; -} - -static inline void hri_tccount8_set_COUNT_COUNT_bf(const void *const hw, hri_tccount8_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.COUNT.reg |= TC_COUNT8_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_count_reg_t hri_tccount8_get_COUNT_COUNT_bf(const void *const hw, - hri_tccount8_count_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT8.COUNT.reg; - tmp = (tmp & TC_COUNT8_COUNT_COUNT(mask)) >> TC_COUNT8_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tccount8_write_COUNT_COUNT_bf(const void *const hw, hri_tccount8_count_reg_t data) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT8.COUNT.reg; - tmp &= ~TC_COUNT8_COUNT_COUNT_Msk; - tmp |= TC_COUNT8_COUNT_COUNT(data); - ((Tc *)hw)->COUNT8.COUNT.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_COUNT_COUNT_bf(const void *const hw, hri_tccount8_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.COUNT.reg &= ~TC_COUNT8_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_COUNT_COUNT_bf(const void *const hw, hri_tccount8_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.COUNT.reg ^= TC_COUNT8_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_count_reg_t hri_tccount8_read_COUNT_COUNT_bf(const void *const hw) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT8.COUNT.reg; - tmp = (tmp & TC_COUNT8_COUNT_COUNT_Msk) >> TC_COUNT8_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tccount8_set_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.COUNT.reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_count_reg_t hri_tccount8_get_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT8.COUNT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount8_write_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.COUNT.reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.COUNT.reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.COUNT.reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_count_reg_t hri_tccount8_read_COUNT_reg(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - return ((Tc *)hw)->COUNT8.COUNT.reg; -} - -static inline void hri_tccount16_set_COUNT_COUNT_bf(const void *const hw, hri_tccount16_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.COUNT.reg |= TC_COUNT16_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_count_reg_t hri_tccount16_get_COUNT_COUNT_bf(const void *const hw, - hri_tccount16_count_reg_t mask) -{ - uint16_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT16.COUNT.reg; - tmp = (tmp & TC_COUNT16_COUNT_COUNT(mask)) >> TC_COUNT16_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tccount16_write_COUNT_COUNT_bf(const void *const hw, hri_tccount16_count_reg_t data) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.COUNT.reg; - tmp &= ~TC_COUNT16_COUNT_COUNT_Msk; - tmp |= TC_COUNT16_COUNT_COUNT(data); - ((Tc *)hw)->COUNT16.COUNT.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_clear_COUNT_COUNT_bf(const void *const hw, hri_tccount16_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.COUNT.reg &= ~TC_COUNT16_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_toggle_COUNT_COUNT_bf(const void *const hw, hri_tccount16_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.COUNT.reg ^= TC_COUNT16_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_count_reg_t hri_tccount16_read_COUNT_COUNT_bf(const void *const hw) -{ - uint16_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT16.COUNT.reg; - tmp = (tmp & TC_COUNT16_COUNT_COUNT_Msk) >> TC_COUNT16_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tccount16_set_COUNT_reg(const void *const hw, hri_tccount16_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.COUNT.reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_count_reg_t hri_tccount16_get_COUNT_reg(const void *const hw, - hri_tccount16_count_reg_t mask) -{ - uint16_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT16.COUNT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount16_write_COUNT_reg(const void *const hw, hri_tccount16_count_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.COUNT.reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_clear_COUNT_reg(const void *const hw, hri_tccount16_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.COUNT.reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_toggle_COUNT_reg(const void *const hw, hri_tccount16_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.COUNT.reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_count_reg_t hri_tccount16_read_COUNT_reg(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - return ((Tc *)hw)->COUNT16.COUNT.reg; -} - -static inline void hri_tccount32_set_COUNT_COUNT_bf(const void *const hw, hri_tccount32_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.COUNT.reg |= TC_COUNT32_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_count_reg_t hri_tccount32_get_COUNT_COUNT_bf(const void *const hw, - hri_tccount32_count_reg_t mask) -{ - uint32_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT32.COUNT.reg; - tmp = (tmp & TC_COUNT32_COUNT_COUNT(mask)) >> TC_COUNT32_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tccount32_write_COUNT_COUNT_bf(const void *const hw, hri_tccount32_count_reg_t data) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT32.COUNT.reg; - tmp &= ~TC_COUNT32_COUNT_COUNT_Msk; - tmp |= TC_COUNT32_COUNT_COUNT(data); - ((Tc *)hw)->COUNT32.COUNT.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_clear_COUNT_COUNT_bf(const void *const hw, hri_tccount32_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.COUNT.reg &= ~TC_COUNT32_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_toggle_COUNT_COUNT_bf(const void *const hw, hri_tccount32_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.COUNT.reg ^= TC_COUNT32_COUNT_COUNT(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_count_reg_t hri_tccount32_read_COUNT_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT32.COUNT.reg; - tmp = (tmp & TC_COUNT32_COUNT_COUNT_Msk) >> TC_COUNT32_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tccount32_set_COUNT_reg(const void *const hw, hri_tccount32_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.COUNT.reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_count_reg_t hri_tccount32_get_COUNT_reg(const void *const hw, - hri_tccount32_count_reg_t mask) -{ - uint32_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - tmp = ((Tc *)hw)->COUNT32.COUNT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount32_write_COUNT_reg(const void *const hw, hri_tccount32_count_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.COUNT.reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_clear_COUNT_reg(const void *const hw, hri_tccount32_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.COUNT.reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_toggle_COUNT_reg(const void *const hw, hri_tccount32_count_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.COUNT.reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_count_reg_t hri_tccount32_read_COUNT_reg(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT); - return ((Tc *)hw)->COUNT32.COUNT.reg; -} - -static inline void hri_tccount8_set_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PER.reg |= TC_COUNT8_PER_PER(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_per_reg_t hri_tccount8_get_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - tmp = ((Tc *)hw)->COUNT8.PER.reg; - tmp = (tmp & TC_COUNT8_PER_PER(mask)) >> TC_COUNT8_PER_PER_Pos; - return tmp; -} - -static inline void hri_tccount8_write_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t data) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT8.PER.reg; - tmp &= ~TC_COUNT8_PER_PER_Msk; - tmp |= TC_COUNT8_PER_PER(data); - ((Tc *)hw)->COUNT8.PER.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PER.reg &= ~TC_COUNT8_PER_PER(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PER.reg ^= TC_COUNT8_PER_PER(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_per_reg_t hri_tccount8_read_PER_PER_bf(const void *const hw) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - tmp = ((Tc *)hw)->COUNT8.PER.reg; - tmp = (tmp & TC_COUNT8_PER_PER_Msk) >> TC_COUNT8_PER_PER_Pos; - return tmp; -} - -static inline void hri_tccount8_set_PER_reg(const void *const hw, hri_tccount8_per_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PER.reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_per_reg_t hri_tccount8_get_PER_reg(const void *const hw, hri_tccount8_per_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - tmp = ((Tc *)hw)->COUNT8.PER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount8_write_PER_reg(const void *const hw, hri_tccount8_per_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PER.reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_PER_reg(const void *const hw, hri_tccount8_per_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PER.reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_PER_reg(const void *const hw, hri_tccount8_per_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PER.reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_per_reg_t hri_tccount8_read_PER_reg(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER); - return ((Tc *)hw)->COUNT8.PER.reg; -} - -static inline void hri_tccount8_set_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CC[index].reg |= TC_COUNT8_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_cc_reg_t hri_tccount8_get_CC_CC_bf(const void *const hw, uint8_t index, - hri_tccount8_cc_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - tmp = ((Tc *)hw)->COUNT8.CC[index].reg; - tmp = (tmp & TC_COUNT8_CC_CC(mask)) >> TC_COUNT8_CC_CC_Pos; - return tmp; -} - -static inline void hri_tccount8_write_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t data) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT8.CC[index].reg; - tmp &= ~TC_COUNT8_CC_CC_Msk; - tmp |= TC_COUNT8_CC_CC(data); - ((Tc *)hw)->COUNT8.CC[index].reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CC[index].reg &= ~TC_COUNT8_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CC[index].reg ^= TC_COUNT8_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_cc_reg_t hri_tccount8_read_CC_CC_bf(const void *const hw, uint8_t index) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - tmp = ((Tc *)hw)->COUNT8.CC[index].reg; - tmp = (tmp & TC_COUNT8_CC_CC_Msk) >> TC_COUNT8_CC_CC_Pos; - return tmp; -} - -static inline void hri_tccount8_set_CC_reg(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CC[index].reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_cc_reg_t hri_tccount8_get_CC_reg(const void *const hw, uint8_t index, - hri_tccount8_cc_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - tmp = ((Tc *)hw)->COUNT8.CC[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount8_write_CC_reg(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CC[index].reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_CC_reg(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CC[index].reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_CC_reg(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CC[index].reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_cc_reg_t hri_tccount8_read_CC_reg(const void *const hw, uint8_t index) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - return ((Tc *)hw)->COUNT8.CC[index].reg; -} - -static inline void hri_tccount16_set_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CC[index].reg |= TC_COUNT16_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_cc_reg_t hri_tccount16_get_CC_CC_bf(const void *const hw, uint8_t index, - hri_tccount16_cc_reg_t mask) -{ - uint16_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - tmp = ((Tc *)hw)->COUNT16.CC[index].reg; - tmp = (tmp & TC_COUNT16_CC_CC(mask)) >> TC_COUNT16_CC_CC_Pos; - return tmp; -} - -static inline void hri_tccount16_write_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t data) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CC[index].reg; - tmp &= ~TC_COUNT16_CC_CC_Msk; - tmp |= TC_COUNT16_CC_CC(data); - ((Tc *)hw)->COUNT16.CC[index].reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CC[index].reg &= ~TC_COUNT16_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CC[index].reg ^= TC_COUNT16_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_cc_reg_t hri_tccount16_read_CC_CC_bf(const void *const hw, uint8_t index) -{ - uint16_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - tmp = ((Tc *)hw)->COUNT16.CC[index].reg; - tmp = (tmp & TC_COUNT16_CC_CC_Msk) >> TC_COUNT16_CC_CC_Pos; - return tmp; -} - -static inline void hri_tccount16_set_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CC[index].reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_cc_reg_t hri_tccount16_get_CC_reg(const void *const hw, uint8_t index, - hri_tccount16_cc_reg_t mask) -{ - uint16_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - tmp = ((Tc *)hw)->COUNT16.CC[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount16_write_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CC[index].reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_clear_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CC[index].reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_toggle_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CC[index].reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_cc_reg_t hri_tccount16_read_CC_reg(const void *const hw, uint8_t index) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - return ((Tc *)hw)->COUNT16.CC[index].reg; -} - -static inline void hri_tccount32_set_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CC[index].reg |= TC_COUNT32_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_cc_reg_t hri_tccount32_get_CC_CC_bf(const void *const hw, uint8_t index, - hri_tccount32_cc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT32.CC[index].reg; - tmp = (tmp & TC_COUNT32_CC_CC(mask)) >> TC_COUNT32_CC_CC_Pos; - return tmp; -} - -static inline void hri_tccount32_write_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t data) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT32.CC[index].reg; - tmp &= ~TC_COUNT32_CC_CC_Msk; - tmp |= TC_COUNT32_CC_CC(data); - ((Tc *)hw)->COUNT32.CC[index].reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CC[index].reg &= ~TC_COUNT32_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CC[index].reg ^= TC_COUNT32_CC_CC(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_cc_reg_t hri_tccount32_read_CC_CC_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT32.CC[index].reg; - tmp = (tmp & TC_COUNT32_CC_CC_Msk) >> TC_COUNT32_CC_CC_Pos; - return tmp; -} - -static inline void hri_tccount32_set_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CC[index].reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_cc_reg_t hri_tccount32_get_CC_reg(const void *const hw, uint8_t index, - hri_tccount32_cc_reg_t mask) -{ - uint32_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - tmp = ((Tc *)hw)->COUNT32.CC[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount32_write_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CC[index].reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_clear_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CC[index].reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_toggle_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CC[index].reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_cc_reg_t hri_tccount32_read_CC_reg(const void *const hw, uint8_t index) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1); - return ((Tc *)hw)->COUNT32.CC[index].reg; -} - -static inline void hri_tccount8_set_PERBUF_PERBUF_bf(const void *const hw, hri_tccount8_perbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PERBUF.reg |= TC_COUNT8_PERBUF_PERBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_perbuf_reg_t hri_tccount8_get_PERBUF_PERBUF_bf(const void *const hw, - hri_tccount8_perbuf_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT8.PERBUF.reg; - tmp = (tmp & TC_COUNT8_PERBUF_PERBUF(mask)) >> TC_COUNT8_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tccount8_write_PERBUF_PERBUF_bf(const void *const hw, hri_tccount8_perbuf_reg_t data) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT8.PERBUF.reg; - tmp &= ~TC_COUNT8_PERBUF_PERBUF_Msk; - tmp |= TC_COUNT8_PERBUF_PERBUF(data); - ((Tc *)hw)->COUNT8.PERBUF.reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_PERBUF_PERBUF_bf(const void *const hw, hri_tccount8_perbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PERBUF.reg &= ~TC_COUNT8_PERBUF_PERBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_PERBUF_PERBUF_bf(const void *const hw, hri_tccount8_perbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PERBUF.reg ^= TC_COUNT8_PERBUF_PERBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_perbuf_reg_t hri_tccount8_read_PERBUF_PERBUF_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT8.PERBUF.reg; - tmp = (tmp & TC_COUNT8_PERBUF_PERBUF_Msk) >> TC_COUNT8_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tccount8_set_PERBUF_reg(const void *const hw, hri_tccount8_perbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PERBUF.reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_perbuf_reg_t hri_tccount8_get_PERBUF_reg(const void *const hw, - hri_tccount8_perbuf_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - tmp = ((Tc *)hw)->COUNT8.PERBUF.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount8_write_PERBUF_reg(const void *const hw, hri_tccount8_perbuf_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PERBUF.reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_PERBUF_reg(const void *const hw, hri_tccount8_perbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PERBUF.reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_PERBUF_reg(const void *const hw, hri_tccount8_perbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.PERBUF.reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_perbuf_reg_t hri_tccount8_read_PERBUF_reg(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return ((Tc *)hw)->COUNT8.PERBUF.reg; -} - -static inline void hri_tccount8_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CCBUF[index].reg |= TC_COUNT8_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_ccbuf_reg_t hri_tccount8_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount8_ccbuf_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT8.CCBUF[index].reg; - tmp = (tmp & TC_COUNT8_CCBUF_CCBUF(mask)) >> TC_COUNT8_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tccount8_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t data) -{ - uint8_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT8.CCBUF[index].reg; - tmp &= ~TC_COUNT8_CCBUF_CCBUF_Msk; - tmp |= TC_COUNT8_CCBUF_CCBUF(data); - ((Tc *)hw)->COUNT8.CCBUF[index].reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CCBUF[index].reg &= ~TC_COUNT8_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount8_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CCBUF[index].reg ^= TC_COUNT8_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_ccbuf_reg_t hri_tccount8_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index) -{ - uint8_t tmp; - tmp = ((Tc *)hw)->COUNT8.CCBUF[index].reg; - tmp = (tmp & TC_COUNT8_CCBUF_CCBUF_Msk) >> TC_COUNT8_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tccount8_set_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CCBUF[index].reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_ccbuf_reg_t hri_tccount8_get_CCBUF_reg(const void *const hw, uint8_t index, - hri_tccount8_ccbuf_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - tmp = ((Tc *)hw)->COUNT8.CCBUF[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount8_write_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CCBUF[index].reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CCBUF[index].reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount8_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT8.CCBUF[index].reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount8_ccbuf_reg_t hri_tccount8_read_CCBUF_reg(const void *const hw, uint8_t index) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return ((Tc *)hw)->COUNT8.CCBUF[index].reg; -} - -static inline void hri_tccount16_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CCBUF[index].reg |= TC_COUNT16_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_ccbuf_reg_t hri_tccount16_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount16_ccbuf_reg_t mask) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.CCBUF[index].reg; - tmp = (tmp & TC_COUNT16_CCBUF_CCBUF(mask)) >> TC_COUNT16_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tccount16_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount16_ccbuf_reg_t data) -{ - uint16_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT16.CCBUF[index].reg; - tmp &= ~TC_COUNT16_CCBUF_CCBUF_Msk; - tmp |= TC_COUNT16_CCBUF_CCBUF(data); - ((Tc *)hw)->COUNT16.CCBUF[index].reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount16_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CCBUF[index].reg &= ~TC_COUNT16_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount16_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CCBUF[index].reg ^= TC_COUNT16_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_ccbuf_reg_t hri_tccount16_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index) -{ - uint16_t tmp; - tmp = ((Tc *)hw)->COUNT16.CCBUF[index].reg; - tmp = (tmp & TC_COUNT16_CCBUF_CCBUF_Msk) >> TC_COUNT16_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tccount16_set_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CCBUF[index].reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_ccbuf_reg_t hri_tccount16_get_CCBUF_reg(const void *const hw, uint8_t index, - hri_tccount16_ccbuf_reg_t mask) -{ - uint16_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - tmp = ((Tc *)hw)->COUNT16.CCBUF[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount16_write_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CCBUF[index].reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CCBUF[index].reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount16_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.CCBUF[index].reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount16_ccbuf_reg_t hri_tccount16_read_CCBUF_reg(const void *const hw, uint8_t index) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return ((Tc *)hw)->COUNT16.CCBUF[index].reg; -} - -static inline void hri_tccount32_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CCBUF[index].reg |= TC_COUNT32_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_ccbuf_reg_t hri_tccount32_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount32_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT32.CCBUF[index].reg; - tmp = (tmp & TC_COUNT32_CCBUF_CCBUF(mask)) >> TC_COUNT32_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tccount32_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount32_ccbuf_reg_t data) -{ - uint32_t tmp; - TC_CRITICAL_SECTION_ENTER(); - tmp = ((Tc *)hw)->COUNT32.CCBUF[index].reg; - tmp &= ~TC_COUNT32_CCBUF_CCBUF_Msk; - tmp |= TC_COUNT32_CCBUF_CCBUF(data); - ((Tc *)hw)->COUNT32.CCBUF[index].reg = tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount32_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CCBUF[index].reg &= ~TC_COUNT32_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tccount32_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CCBUF[index].reg ^= TC_COUNT32_CCBUF_CCBUF(mask); - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_ccbuf_reg_t hri_tccount32_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tc *)hw)->COUNT32.CCBUF[index].reg; - tmp = (tmp & TC_COUNT32_CCBUF_CCBUF_Msk) >> TC_COUNT32_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tccount32_set_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CCBUF[index].reg |= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_ccbuf_reg_t hri_tccount32_get_CCBUF_reg(const void *const hw, uint8_t index, - hri_tccount32_ccbuf_reg_t mask) -{ - uint32_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - tmp = ((Tc *)hw)->COUNT32.CCBUF[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tccount32_write_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t data) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CCBUF[index].reg = data; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CCBUF[index].reg &= ~mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tccount32_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT32.CCBUF[index].reg ^= mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tccount32_ccbuf_reg_t hri_tccount32_read_CCBUF_reg(const void *const hw, uint8_t index) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return ((Tc *)hw)->COUNT32.CCBUF[index].reg; -} - -static inline bool hri_tc_get_STATUS_STOP_bit(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_STOP) >> TC_STATUS_STOP_Pos; -} - -static inline void hri_tc_clear_STATUS_STOP_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_STOP; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_STATUS_SLAVE_bit(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_SLAVE) >> TC_STATUS_SLAVE_Pos; -} - -static inline void hri_tc_clear_STATUS_SLAVE_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_SLAVE; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_STATUS_PERBUFV_bit(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_PERBUFV) >> TC_STATUS_PERBUFV_Pos; -} - -static inline void hri_tc_clear_STATUS_PERBUFV_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_PERBUFV; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_STATUS_CCBUFV0_bit(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_CCBUFV0) >> TC_STATUS_CCBUFV0_Pos; -} - -static inline void hri_tc_clear_STATUS_CCBUFV0_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_CCBUFV0; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tc_get_STATUS_CCBUFV1_bit(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_CCBUFV1) >> TC_STATUS_CCBUFV1_Pos; -} - -static inline void hri_tc_clear_STATUS_CCBUFV1_bit(const void *const hw) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_CCBUFV1; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_status_reg_t hri_tc_get_STATUS_reg(const void *const hw, hri_tc_status_reg_t mask) -{ - uint8_t tmp; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - tmp = ((Tc *)hw)->COUNT16.STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tc_clear_STATUS_reg(const void *const hw, hri_tc_status_reg_t mask) -{ - TC_CRITICAL_SECTION_ENTER(); - ((Tc *)hw)->COUNT16.STATUS.reg = mask; - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - TC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tc_status_reg_t hri_tc_read_STATUS_reg(const void *const hw) -{ - hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK); - return ((Tc *)hw)->COUNT16.STATUS.reg; -} - -/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */ -#define hri_tc_set_PER_PER_bf(a, b) hri_tccount8_set_PER_PER_bf(a, b) -#define hri_tc_get_PER_PER_bf(a, b) hri_tccount8_get_PER_PER_bf(a, b) -#define hri_tc_write_PER_PER_bf(a, b) hri_tccount8_write_PER_PER_bf(a, b) -#define hri_tc_clear_PER_PER_bf(a, b) hri_tccount8_clear_PER_PER_bf(a, b) -#define hri_tc_toggle_PER_PER_bf(a, b) hri_tccount8_toggle_PER_PER_bf(a, b) -#define hri_tc_read_PER_PER_bf(a) hri_tccount8_read_PER_PER_bf(a) -#define hri_tc_set_PER_reg(a, b) hri_tccount8_set_PER_reg(a, b) -#define hri_tc_get_PER_reg(a, b) hri_tccount8_get_PER_reg(a, b) -#define hri_tc_write_PER_reg(a, b) hri_tccount8_write_PER_reg(a, b) -#define hri_tc_clear_PER_reg(a, b) hri_tccount8_clear_PER_reg(a, b) -#define hri_tc_toggle_PER_reg(a, b) hri_tccount8_toggle_PER_reg(a, b) -#define hri_tc_read_PER_reg(a) hri_tccount8_read_PER_reg(a) -#define hri_tc_set_PERBUF_PERBUF_bf(a, b) hri_tccount8_set_PERBUF_PERBUF_bf(a, b) -#define hri_tc_get_PERBUF_PERBUF_bf(a, b) hri_tccount8_get_PERBUF_PERBUF_bf(a, b) -#define hri_tc_write_PERBUF_PERBUF_bf(a, b) hri_tccount8_write_PERBUF_PERBUF_bf(a, b) -#define hri_tc_clear_PERBUF_PERBUF_bf(a, b) hri_tccount8_clear_PERBUF_PERBUF_bf(a, b) -#define hri_tc_toggle_PERBUF_PERBUF_bf(a, b) hri_tccount8_toggle_PERBUF_PERBUF_bf(a, b) -#define hri_tc_read_PERBUF_PERBUF_bf(a) hri_tccount8_read_PERBUF_PERBUF_bf(a) -#define hri_tc_set_PERBUF_reg(a, b) hri_tccount8_set_PERBUF_reg(a, b) -#define hri_tc_get_PERBUF_reg(a, b) hri_tccount8_get_PERBUF_reg(a, b) -#define hri_tc_write_PERBUF_reg(a, b) hri_tccount8_write_PERBUF_reg(a, b) -#define hri_tc_clear_PERBUF_reg(a, b) hri_tccount8_clear_PERBUF_reg(a, b) -#define hri_tc_toggle_PERBUF_reg(a, b) hri_tccount8_toggle_PERBUF_reg(a, b) -#define hri_tc_read_PERBUF_reg(a) hri_tccount8_read_PERBUF_reg(a) - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_TC_E54_H_INCLUDED */ -#endif /* _SAME54_TC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_tcc_e54.h b/software/firmware/oracle_same54n19a/hri/hri_tcc_e54.h deleted file mode 100644 index 55f46bd..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_tcc_e54.h +++ /dev/null @@ -1,9992 +0,0 @@ -/** - * \file - * - * \brief SAM TCC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_TCC_COMPONENT_ -#ifndef _HRI_TCC_E54_H_INCLUDED_ -#define _HRI_TCC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_TCC_CRITICAL_SECTIONS) -#define TCC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define TCC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define TCC_CRITICAL_SECTION_ENTER() -#define TCC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_tcc_patt_reg_t; -typedef uint16_t hri_tcc_pattbuf_reg_t; -typedef uint32_t hri_tcc_cc_reg_t; -typedef uint32_t hri_tcc_ccbuf_reg_t; -typedef uint32_t hri_tcc_count_reg_t; -typedef uint32_t hri_tcc_ctrla_reg_t; -typedef uint32_t hri_tcc_drvctrl_reg_t; -typedef uint32_t hri_tcc_evctrl_reg_t; -typedef uint32_t hri_tcc_fctrla_reg_t; -typedef uint32_t hri_tcc_fctrlb_reg_t; -typedef uint32_t hri_tcc_intenset_reg_t; -typedef uint32_t hri_tcc_intflag_reg_t; -typedef uint32_t hri_tcc_per_reg_t; -typedef uint32_t hri_tcc_perbuf_reg_t; -typedef uint32_t hri_tcc_status_reg_t; -typedef uint32_t hri_tcc_syncbusy_reg_t; -typedef uint32_t hri_tcc_wave_reg_t; -typedef uint32_t hri_tcc_wexctrl_reg_t; -typedef uint8_t hri_tcc_ctrlbset_reg_t; -typedef uint8_t hri_tcc_dbgctrl_reg_t; - -static inline void hri_tcc_wait_for_sync(const void *const hw, hri_tcc_syncbusy_reg_t reg) -{ - while (((Tcc *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_tcc_is_syncing(const void *const hw, hri_tcc_syncbusy_reg_t reg) -{ - return ((Tcc *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_tcc_get_INTFLAG_OVF_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_OVF) >> TCC_INTFLAG_OVF_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_OVF_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_OVF; -} - -static inline bool hri_tcc_get_INTFLAG_TRG_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_TRG) >> TCC_INTFLAG_TRG_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_TRG_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_TRG; -} - -static inline bool hri_tcc_get_INTFLAG_CNT_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_CNT) >> TCC_INTFLAG_CNT_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_CNT_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_CNT; -} - -static inline bool hri_tcc_get_INTFLAG_ERR_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_ERR) >> TCC_INTFLAG_ERR_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_ERR_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_ERR; -} - -static inline bool hri_tcc_get_INTFLAG_UFS_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_UFS) >> TCC_INTFLAG_UFS_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_UFS_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_UFS; -} - -static inline bool hri_tcc_get_INTFLAG_DFS_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_DFS) >> TCC_INTFLAG_DFS_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_DFS_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_DFS; -} - -static inline bool hri_tcc_get_INTFLAG_FAULTA_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULTA) >> TCC_INTFLAG_FAULTA_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_FAULTA_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULTA; -} - -static inline bool hri_tcc_get_INTFLAG_FAULTB_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULTB) >> TCC_INTFLAG_FAULTB_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_FAULTB_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULTB; -} - -static inline bool hri_tcc_get_INTFLAG_FAULT0_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULT0) >> TCC_INTFLAG_FAULT0_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_FAULT0_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULT0; -} - -static inline bool hri_tcc_get_INTFLAG_FAULT1_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULT1) >> TCC_INTFLAG_FAULT1_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_FAULT1_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULT1; -} - -static inline bool hri_tcc_get_INTFLAG_MC0_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC0) >> TCC_INTFLAG_MC0_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_MC0_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC0; -} - -static inline bool hri_tcc_get_INTFLAG_MC1_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC1) >> TCC_INTFLAG_MC1_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_MC1_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC1; -} - -static inline bool hri_tcc_get_INTFLAG_MC2_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC2) >> TCC_INTFLAG_MC2_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_MC2_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC2; -} - -static inline bool hri_tcc_get_INTFLAG_MC3_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC3) >> TCC_INTFLAG_MC3_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_MC3_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC3; -} - -static inline bool hri_tcc_get_INTFLAG_MC4_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC4) >> TCC_INTFLAG_MC4_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_MC4_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC4; -} - -static inline bool hri_tcc_get_INTFLAG_MC5_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC5) >> TCC_INTFLAG_MC5_Pos; -} - -static inline void hri_tcc_clear_INTFLAG_MC5_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC5; -} - -static inline bool hri_tcc_get_interrupt_OVF_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_OVF) >> TCC_INTFLAG_OVF_Pos; -} - -static inline void hri_tcc_clear_interrupt_OVF_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_OVF; -} - -static inline bool hri_tcc_get_interrupt_TRG_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_TRG) >> TCC_INTFLAG_TRG_Pos; -} - -static inline void hri_tcc_clear_interrupt_TRG_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_TRG; -} - -static inline bool hri_tcc_get_interrupt_CNT_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_CNT) >> TCC_INTFLAG_CNT_Pos; -} - -static inline void hri_tcc_clear_interrupt_CNT_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_CNT; -} - -static inline bool hri_tcc_get_interrupt_ERR_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_ERR) >> TCC_INTFLAG_ERR_Pos; -} - -static inline void hri_tcc_clear_interrupt_ERR_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_ERR; -} - -static inline bool hri_tcc_get_interrupt_UFS_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_UFS) >> TCC_INTFLAG_UFS_Pos; -} - -static inline void hri_tcc_clear_interrupt_UFS_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_UFS; -} - -static inline bool hri_tcc_get_interrupt_DFS_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_DFS) >> TCC_INTFLAG_DFS_Pos; -} - -static inline void hri_tcc_clear_interrupt_DFS_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_DFS; -} - -static inline bool hri_tcc_get_interrupt_FAULTA_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULTA) >> TCC_INTFLAG_FAULTA_Pos; -} - -static inline void hri_tcc_clear_interrupt_FAULTA_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULTA; -} - -static inline bool hri_tcc_get_interrupt_FAULTB_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULTB) >> TCC_INTFLAG_FAULTB_Pos; -} - -static inline void hri_tcc_clear_interrupt_FAULTB_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULTB; -} - -static inline bool hri_tcc_get_interrupt_FAULT0_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULT0) >> TCC_INTFLAG_FAULT0_Pos; -} - -static inline void hri_tcc_clear_interrupt_FAULT0_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULT0; -} - -static inline bool hri_tcc_get_interrupt_FAULT1_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULT1) >> TCC_INTFLAG_FAULT1_Pos; -} - -static inline void hri_tcc_clear_interrupt_FAULT1_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULT1; -} - -static inline bool hri_tcc_get_interrupt_MC0_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC0) >> TCC_INTFLAG_MC0_Pos; -} - -static inline void hri_tcc_clear_interrupt_MC0_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC0; -} - -static inline bool hri_tcc_get_interrupt_MC1_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC1) >> TCC_INTFLAG_MC1_Pos; -} - -static inline void hri_tcc_clear_interrupt_MC1_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC1; -} - -static inline bool hri_tcc_get_interrupt_MC2_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC2) >> TCC_INTFLAG_MC2_Pos; -} - -static inline void hri_tcc_clear_interrupt_MC2_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC2; -} - -static inline bool hri_tcc_get_interrupt_MC3_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC3) >> TCC_INTFLAG_MC3_Pos; -} - -static inline void hri_tcc_clear_interrupt_MC3_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC3; -} - -static inline bool hri_tcc_get_interrupt_MC4_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC4) >> TCC_INTFLAG_MC4_Pos; -} - -static inline void hri_tcc_clear_interrupt_MC4_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC4; -} - -static inline bool hri_tcc_get_interrupt_MC5_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC5) >> TCC_INTFLAG_MC5_Pos; -} - -static inline void hri_tcc_clear_interrupt_MC5_bit(const void *const hw) -{ - ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC5; -} - -static inline hri_tcc_intflag_reg_t hri_tcc_get_INTFLAG_reg(const void *const hw, hri_tcc_intflag_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_tcc_intflag_reg_t hri_tcc_read_INTFLAG_reg(const void *const hw) -{ - return ((Tcc *)hw)->INTFLAG.reg; -} - -static inline void hri_tcc_clear_INTFLAG_reg(const void *const hw, hri_tcc_intflag_reg_t mask) -{ - ((Tcc *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_tcc_set_CTRLB_DIR_bit(const void *const hw) -{ - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_DIR; -} - -static inline bool hri_tcc_get_CTRLB_DIR_bit(const void *const hw) -{ - return (((Tcc *)hw)->CTRLBSET.reg & TCC_CTRLBSET_DIR) >> TCC_CTRLBSET_DIR_Pos; -} - -static inline void hri_tcc_write_CTRLB_DIR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_DIR; - } else { - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_DIR; - } -} - -static inline void hri_tcc_clear_CTRLB_DIR_bit(const void *const hw) -{ - ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_DIR; -} - -static inline void hri_tcc_set_CTRLB_LUPD_bit(const void *const hw) -{ - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_LUPD; -} - -static inline bool hri_tcc_get_CTRLB_LUPD_bit(const void *const hw) -{ - return (((Tcc *)hw)->CTRLBSET.reg & TCC_CTRLBSET_LUPD) >> TCC_CTRLBSET_LUPD_Pos; -} - -static inline void hri_tcc_write_CTRLB_LUPD_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_LUPD; - } else { - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_LUPD; - } -} - -static inline void hri_tcc_clear_CTRLB_LUPD_bit(const void *const hw) -{ - ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_LUPD; -} - -static inline void hri_tcc_set_CTRLB_ONESHOT_bit(const void *const hw) -{ - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_ONESHOT; -} - -static inline bool hri_tcc_get_CTRLB_ONESHOT_bit(const void *const hw) -{ - return (((Tcc *)hw)->CTRLBSET.reg & TCC_CTRLBSET_ONESHOT) >> TCC_CTRLBSET_ONESHOT_Pos; -} - -static inline void hri_tcc_write_CTRLB_ONESHOT_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_ONESHOT; - } else { - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_ONESHOT; - } -} - -static inline void hri_tcc_clear_CTRLB_ONESHOT_bit(const void *const hw) -{ - ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_ONESHOT; -} - -static inline void hri_tcc_set_CTRLB_IDXCMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_IDXCMD(mask); -} - -static inline hri_tcc_ctrlbset_reg_t hri_tcc_get_CTRLB_IDXCMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tcc *)hw)->CTRLBSET.reg; - tmp = (tmp & TCC_CTRLBSET_IDXCMD(mask)) >> TCC_CTRLBSET_IDXCMD_Pos; - return tmp; -} - -static inline hri_tcc_ctrlbset_reg_t hri_tcc_read_CTRLB_IDXCMD_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tcc *)hw)->CTRLBSET.reg; - tmp = (tmp & TCC_CTRLBSET_IDXCMD_Msk) >> TCC_CTRLBSET_IDXCMD_Pos; - return tmp; -} - -static inline void hri_tcc_write_CTRLB_IDXCMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t data) -{ - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_IDXCMD(data); - ((Tcc *)hw)->CTRLBCLR.reg = ~TCC_CTRLBSET_IDXCMD(data); -} - -static inline void hri_tcc_clear_CTRLB_IDXCMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_IDXCMD(mask); -} - -static inline void hri_tcc_set_CTRLB_CMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_CMD(mask); -} - -static inline hri_tcc_ctrlbset_reg_t hri_tcc_get_CTRLB_CMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tcc *)hw)->CTRLBSET.reg; - tmp = (tmp & TCC_CTRLBSET_CMD(mask)) >> TCC_CTRLBSET_CMD_Pos; - return tmp; -} - -static inline hri_tcc_ctrlbset_reg_t hri_tcc_read_CTRLB_CMD_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tcc *)hw)->CTRLBSET.reg; - tmp = (tmp & TCC_CTRLBSET_CMD_Msk) >> TCC_CTRLBSET_CMD_Pos; - return tmp; -} - -static inline void hri_tcc_write_CTRLB_CMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t data) -{ - ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_CMD(data); - ((Tcc *)hw)->CTRLBCLR.reg = ~TCC_CTRLBSET_CMD(data); -} - -static inline void hri_tcc_clear_CTRLB_CMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_CMD(mask); -} - -static inline void hri_tcc_set_CTRLB_reg(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - ((Tcc *)hw)->CTRLBSET.reg = mask; -} - -static inline hri_tcc_ctrlbset_reg_t hri_tcc_get_CTRLB_reg(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tcc *)hw)->CTRLBSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_tcc_ctrlbset_reg_t hri_tcc_read_CTRLB_reg(const void *const hw) -{ - return ((Tcc *)hw)->CTRLBSET.reg; -} - -static inline void hri_tcc_write_CTRLB_reg(const void *const hw, hri_tcc_ctrlbset_reg_t data) -{ - ((Tcc *)hw)->CTRLBSET.reg = data; - ((Tcc *)hw)->CTRLBCLR.reg = ~data; -} - -static inline void hri_tcc_clear_CTRLB_reg(const void *const hw, hri_tcc_ctrlbset_reg_t mask) -{ - ((Tcc *)hw)->CTRLBCLR.reg = mask; -} - -static inline void hri_tcc_set_INTEN_OVF_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_OVF; -} - -static inline bool hri_tcc_get_INTEN_OVF_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_OVF) >> TCC_INTENSET_OVF_Pos; -} - -static inline void hri_tcc_write_INTEN_OVF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_OVF; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_OVF; - } -} - -static inline void hri_tcc_clear_INTEN_OVF_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_OVF; -} - -static inline void hri_tcc_set_INTEN_TRG_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_TRG; -} - -static inline bool hri_tcc_get_INTEN_TRG_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_TRG) >> TCC_INTENSET_TRG_Pos; -} - -static inline void hri_tcc_write_INTEN_TRG_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_TRG; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_TRG; - } -} - -static inline void hri_tcc_clear_INTEN_TRG_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_TRG; -} - -static inline void hri_tcc_set_INTEN_CNT_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_CNT; -} - -static inline bool hri_tcc_get_INTEN_CNT_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_CNT) >> TCC_INTENSET_CNT_Pos; -} - -static inline void hri_tcc_write_INTEN_CNT_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_CNT; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_CNT; - } -} - -static inline void hri_tcc_clear_INTEN_CNT_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_CNT; -} - -static inline void hri_tcc_set_INTEN_ERR_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_ERR; -} - -static inline bool hri_tcc_get_INTEN_ERR_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_ERR) >> TCC_INTENSET_ERR_Pos; -} - -static inline void hri_tcc_write_INTEN_ERR_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_ERR; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_ERR; - } -} - -static inline void hri_tcc_clear_INTEN_ERR_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_ERR; -} - -static inline void hri_tcc_set_INTEN_UFS_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_UFS; -} - -static inline bool hri_tcc_get_INTEN_UFS_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_UFS) >> TCC_INTENSET_UFS_Pos; -} - -static inline void hri_tcc_write_INTEN_UFS_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_UFS; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_UFS; - } -} - -static inline void hri_tcc_clear_INTEN_UFS_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_UFS; -} - -static inline void hri_tcc_set_INTEN_DFS_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_DFS; -} - -static inline bool hri_tcc_get_INTEN_DFS_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_DFS) >> TCC_INTENSET_DFS_Pos; -} - -static inline void hri_tcc_write_INTEN_DFS_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_DFS; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_DFS; - } -} - -static inline void hri_tcc_clear_INTEN_DFS_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_DFS; -} - -static inline void hri_tcc_set_INTEN_FAULTA_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULTA; -} - -static inline bool hri_tcc_get_INTEN_FAULTA_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_FAULTA) >> TCC_INTENSET_FAULTA_Pos; -} - -static inline void hri_tcc_write_INTEN_FAULTA_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULTA; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULTA; - } -} - -static inline void hri_tcc_clear_INTEN_FAULTA_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULTA; -} - -static inline void hri_tcc_set_INTEN_FAULTB_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULTB; -} - -static inline bool hri_tcc_get_INTEN_FAULTB_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_FAULTB) >> TCC_INTENSET_FAULTB_Pos; -} - -static inline void hri_tcc_write_INTEN_FAULTB_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULTB; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULTB; - } -} - -static inline void hri_tcc_clear_INTEN_FAULTB_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULTB; -} - -static inline void hri_tcc_set_INTEN_FAULT0_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULT0; -} - -static inline bool hri_tcc_get_INTEN_FAULT0_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_FAULT0) >> TCC_INTENSET_FAULT0_Pos; -} - -static inline void hri_tcc_write_INTEN_FAULT0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULT0; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULT0; - } -} - -static inline void hri_tcc_clear_INTEN_FAULT0_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULT0; -} - -static inline void hri_tcc_set_INTEN_FAULT1_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULT1; -} - -static inline bool hri_tcc_get_INTEN_FAULT1_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_FAULT1) >> TCC_INTENSET_FAULT1_Pos; -} - -static inline void hri_tcc_write_INTEN_FAULT1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULT1; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULT1; - } -} - -static inline void hri_tcc_clear_INTEN_FAULT1_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULT1; -} - -static inline void hri_tcc_set_INTEN_MC0_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC0; -} - -static inline bool hri_tcc_get_INTEN_MC0_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC0) >> TCC_INTENSET_MC0_Pos; -} - -static inline void hri_tcc_write_INTEN_MC0_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC0; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC0; - } -} - -static inline void hri_tcc_clear_INTEN_MC0_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC0; -} - -static inline void hri_tcc_set_INTEN_MC1_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC1; -} - -static inline bool hri_tcc_get_INTEN_MC1_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC1) >> TCC_INTENSET_MC1_Pos; -} - -static inline void hri_tcc_write_INTEN_MC1_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC1; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC1; - } -} - -static inline void hri_tcc_clear_INTEN_MC1_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC1; -} - -static inline void hri_tcc_set_INTEN_MC2_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC2; -} - -static inline bool hri_tcc_get_INTEN_MC2_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC2) >> TCC_INTENSET_MC2_Pos; -} - -static inline void hri_tcc_write_INTEN_MC2_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC2; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC2; - } -} - -static inline void hri_tcc_clear_INTEN_MC2_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC2; -} - -static inline void hri_tcc_set_INTEN_MC3_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC3; -} - -static inline bool hri_tcc_get_INTEN_MC3_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC3) >> TCC_INTENSET_MC3_Pos; -} - -static inline void hri_tcc_write_INTEN_MC3_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC3; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC3; - } -} - -static inline void hri_tcc_clear_INTEN_MC3_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC3; -} - -static inline void hri_tcc_set_INTEN_MC4_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC4; -} - -static inline bool hri_tcc_get_INTEN_MC4_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC4) >> TCC_INTENSET_MC4_Pos; -} - -static inline void hri_tcc_write_INTEN_MC4_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC4; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC4; - } -} - -static inline void hri_tcc_clear_INTEN_MC4_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC4; -} - -static inline void hri_tcc_set_INTEN_MC5_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC5; -} - -static inline bool hri_tcc_get_INTEN_MC5_bit(const void *const hw) -{ - return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC5) >> TCC_INTENSET_MC5_Pos; -} - -static inline void hri_tcc_write_INTEN_MC5_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC5; - } else { - ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC5; - } -} - -static inline void hri_tcc_clear_INTEN_MC5_bit(const void *const hw) -{ - ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC5; -} - -static inline void hri_tcc_set_INTEN_reg(const void *const hw, hri_tcc_intenset_reg_t mask) -{ - ((Tcc *)hw)->INTENSET.reg = mask; -} - -static inline hri_tcc_intenset_reg_t hri_tcc_get_INTEN_reg(const void *const hw, hri_tcc_intenset_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_tcc_intenset_reg_t hri_tcc_read_INTEN_reg(const void *const hw) -{ - return ((Tcc *)hw)->INTENSET.reg; -} - -static inline void hri_tcc_write_INTEN_reg(const void *const hw, hri_tcc_intenset_reg_t data) -{ - ((Tcc *)hw)->INTENSET.reg = data; - ((Tcc *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_tcc_clear_INTEN_reg(const void *const hw, hri_tcc_intenset_reg_t mask) -{ - ((Tcc *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_tcc_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_SWRST) >> TCC_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_ENABLE) >> TCC_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_CTRLB_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CTRLB) >> TCC_SYNCBUSY_CTRLB_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_STATUS_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_STATUS) >> TCC_SYNCBUSY_STATUS_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_COUNT_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_COUNT) >> TCC_SYNCBUSY_COUNT_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_PATT_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_PATT) >> TCC_SYNCBUSY_PATT_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_WAVE_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_WAVE) >> TCC_SYNCBUSY_WAVE_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_PER_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_PER) >> TCC_SYNCBUSY_PER_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_CC0_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC0) >> TCC_SYNCBUSY_CC0_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_CC1_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC1) >> TCC_SYNCBUSY_CC1_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_CC2_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC2) >> TCC_SYNCBUSY_CC2_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_CC3_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC3) >> TCC_SYNCBUSY_CC3_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_CC4_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC4) >> TCC_SYNCBUSY_CC4_Pos; -} - -static inline bool hri_tcc_get_SYNCBUSY_CC5_bit(const void *const hw) -{ - return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC5) >> TCC_SYNCBUSY_CC5_Pos; -} - -static inline hri_tcc_syncbusy_reg_t hri_tcc_get_SYNCBUSY_reg(const void *const hw, hri_tcc_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_tcc_syncbusy_reg_t hri_tcc_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Tcc *)hw)->SYNCBUSY.reg; -} - -static inline void hri_tcc_set_CTRLA_SWRST_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_SWRST; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_SWRST) >> TCC_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_set_CTRLA_ENABLE_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_ENABLE; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_ENABLE) >> TCC_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_ENABLE; - tmp |= value << TCC_CTRLA_ENABLE_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_ENABLE; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_ENABLE; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_RUNSTDBY; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_RUNSTDBY) >> TCC_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_RUNSTDBY; - tmp |= value << TCC_CTRLA_RUNSTDBY_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_RUNSTDBY; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_RUNSTDBY; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_ALOCK_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_ALOCK; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_ALOCK_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_ALOCK) >> TCC_CTRLA_ALOCK_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_ALOCK_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_ALOCK; - tmp |= value << TCC_CTRLA_ALOCK_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_ALOCK_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_ALOCK; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_ALOCK_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_ALOCK; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_MSYNC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_MSYNC; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_MSYNC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_MSYNC) >> TCC_CTRLA_MSYNC_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_MSYNC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_MSYNC; - tmp |= value << TCC_CTRLA_MSYNC_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_MSYNC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_MSYNC; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_MSYNC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_MSYNC; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_DMAOS_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_DMAOS; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_DMAOS_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_DMAOS) >> TCC_CTRLA_DMAOS_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_DMAOS_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_DMAOS; - tmp |= value << TCC_CTRLA_DMAOS_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_DMAOS_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_DMAOS; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_DMAOS_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_DMAOS; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_CPTEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_CPTEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_CPTEN0) >> TCC_CTRLA_CPTEN0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_CPTEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_CPTEN0; - tmp |= value << TCC_CTRLA_CPTEN0_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_CPTEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_CPTEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_CPTEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_CPTEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_CPTEN1) >> TCC_CTRLA_CPTEN1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_CPTEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_CPTEN1; - tmp |= value << TCC_CTRLA_CPTEN1_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_CPTEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_CPTEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_CPTEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_CPTEN2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_CPTEN2) >> TCC_CTRLA_CPTEN2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_CPTEN2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_CPTEN2; - tmp |= value << TCC_CTRLA_CPTEN2_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_CPTEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_CPTEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_CPTEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_CPTEN3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_CPTEN3) >> TCC_CTRLA_CPTEN3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_CPTEN3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_CPTEN3; - tmp |= value << TCC_CTRLA_CPTEN3_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_CPTEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_CPTEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_CPTEN4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_CPTEN4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_CPTEN4) >> TCC_CTRLA_CPTEN4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_CPTEN4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_CPTEN4; - tmp |= value << TCC_CTRLA_CPTEN4_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_CPTEN4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_CPTEN4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_CPTEN5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_CTRLA_CPTEN5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_CPTEN5) >> TCC_CTRLA_CPTEN5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_CTRLA_CPTEN5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_CPTEN5; - tmp |= value << TCC_CTRLA_CPTEN5_Pos; - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_CPTEN5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_CPTEN5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_RESOLUTION(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ctrla_reg_t hri_tcc_get_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_RESOLUTION(mask)) >> TCC_CTRLA_RESOLUTION_Pos; - return tmp; -} - -static inline void hri_tcc_write_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_RESOLUTION_Msk; - tmp |= TCC_CTRLA_RESOLUTION(data); - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_RESOLUTION(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_RESOLUTION(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ctrla_reg_t hri_tcc_read_CTRLA_RESOLUTION_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_RESOLUTION_Msk) >> TCC_CTRLA_RESOLUTION_Pos; - return tmp; -} - -static inline void hri_tcc_set_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_PRESCALER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ctrla_reg_t hri_tcc_get_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_PRESCALER(mask)) >> TCC_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_tcc_write_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_PRESCALER_Msk; - tmp |= TCC_CTRLA_PRESCALER(data); - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_PRESCALER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_PRESCALER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ctrla_reg_t hri_tcc_read_CTRLA_PRESCALER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_PRESCALER_Msk) >> TCC_CTRLA_PRESCALER_Pos; - return tmp; -} - -static inline void hri_tcc_set_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_PRESCSYNC(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ctrla_reg_t hri_tcc_get_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_PRESCSYNC(mask)) >> TCC_CTRLA_PRESCSYNC_Pos; - return tmp; -} - -static inline void hri_tcc_write_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= ~TCC_CTRLA_PRESCSYNC_Msk; - tmp |= TCC_CTRLA_PRESCSYNC(data); - ((Tcc *)hw)->CTRLA.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_PRESCSYNC(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_PRESCSYNC(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ctrla_reg_t hri_tcc_read_CTRLA_PRESCSYNC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp = (tmp & TCC_CTRLA_PRESCSYNC_Msk) >> TCC_CTRLA_PRESCSYNC_Pos; - return tmp; -} - -static inline void hri_tcc_set_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg |= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ctrla_reg_t hri_tcc_get_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - tmp = ((Tcc *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg = data; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg &= ~mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CTRLA.reg ^= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ctrla_reg_t hri_tcc_read_CTRLA_reg(const void *const hw) -{ - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE); - return ((Tcc *)hw)->CTRLA.reg; -} - -static inline void hri_tcc_set_FCTRLA_KEEP_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_KEEP; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_FCTRLA_KEEP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_KEEP) >> TCC_FCTRLA_KEEP_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_FCTRLA_KEEP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_KEEP; - tmp |= value << TCC_FCTRLA_KEEP_Pos; - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_KEEP_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_KEEP; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_KEEP_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_KEEP; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_FCTRLA_QUAL_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_QUAL; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_FCTRLA_QUAL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_QUAL) >> TCC_FCTRLA_QUAL_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_FCTRLA_QUAL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_QUAL; - tmp |= value << TCC_FCTRLA_QUAL_Pos; - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_QUAL_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_QUAL; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_QUAL_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_QUAL; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_FCTRLA_RESTART_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_RESTART; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_FCTRLA_RESTART_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_RESTART) >> TCC_FCTRLA_RESTART_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_FCTRLA_RESTART_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_RESTART; - tmp |= value << TCC_FCTRLA_RESTART_Pos; - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_RESTART_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_RESTART; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_RESTART_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_RESTART; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_FCTRLA_BLANKPRESC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_BLANKPRESC; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_FCTRLA_BLANKPRESC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_BLANKPRESC) >> TCC_FCTRLA_BLANKPRESC_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_FCTRLA_BLANKPRESC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_BLANKPRESC; - tmp |= value << TCC_FCTRLA_BLANKPRESC_Pos; - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_BLANKPRESC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_BLANKPRESC; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_BLANKPRESC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_BLANKPRESC; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_SRC(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_SRC(mask)) >> TCC_FCTRLA_SRC_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_SRC_Msk; - tmp |= TCC_FCTRLA_SRC(data); - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_SRC(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_SRC(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_SRC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_SRC_Msk) >> TCC_FCTRLA_SRC_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_BLANK(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_BLANK(mask)) >> TCC_FCTRLA_BLANK_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_BLANK_Msk; - tmp |= TCC_FCTRLA_BLANK(data); - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_BLANK(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_BLANK(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_BLANK_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_BLANK_Msk) >> TCC_FCTRLA_BLANK_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_HALT(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_HALT(mask)) >> TCC_FCTRLA_HALT_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_HALT_Msk; - tmp |= TCC_FCTRLA_HALT(data); - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_HALT(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_HALT(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_HALT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_HALT_Msk) >> TCC_FCTRLA_HALT_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_CHSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_CHSEL(mask)) >> TCC_FCTRLA_CHSEL_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_CHSEL_Msk; - tmp |= TCC_FCTRLA_CHSEL(data); - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_CHSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_CHSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_CHSEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_CHSEL_Msk) >> TCC_FCTRLA_CHSEL_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_CAPTURE(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_CAPTURE(mask)) >> TCC_FCTRLA_CAPTURE_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_CAPTURE_Msk; - tmp |= TCC_FCTRLA_CAPTURE(data); - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_CAPTURE(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_CAPTURE(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_CAPTURE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_CAPTURE_Msk) >> TCC_FCTRLA_CAPTURE_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_BLANKVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_BLANKVAL(mask)) >> TCC_FCTRLA_BLANKVAL_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_BLANKVAL_Msk; - tmp |= TCC_FCTRLA_BLANKVAL(data); - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_BLANKVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_BLANKVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_BLANKVAL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_BLANKVAL_Msk) >> TCC_FCTRLA_BLANKVAL_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_FILTERVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_FILTERVAL(mask)) >> TCC_FCTRLA_FILTERVAL_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= ~TCC_FCTRLA_FILTERVAL_Msk; - tmp |= TCC_FCTRLA_FILTERVAL(data); - ((Tcc *)hw)->FCTRLA.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_FILTERVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_FILTERVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_FILTERVAL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp = (tmp & TCC_FCTRLA_FILTERVAL_Msk) >> TCC_FCTRLA_FILTERVAL_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLA.reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_reg(const void *const hw) -{ - return ((Tcc *)hw)->FCTRLA.reg; -} - -static inline void hri_tcc_set_FCTRLB_KEEP_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_KEEP; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_FCTRLB_KEEP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_KEEP) >> TCC_FCTRLB_KEEP_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_FCTRLB_KEEP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_KEEP; - tmp |= value << TCC_FCTRLB_KEEP_Pos; - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_KEEP_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_KEEP; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_KEEP_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_KEEP; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_FCTRLB_QUAL_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_QUAL; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_FCTRLB_QUAL_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_QUAL) >> TCC_FCTRLB_QUAL_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_FCTRLB_QUAL_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_QUAL; - tmp |= value << TCC_FCTRLB_QUAL_Pos; - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_QUAL_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_QUAL; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_QUAL_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_QUAL; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_FCTRLB_RESTART_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_RESTART; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_FCTRLB_RESTART_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_RESTART) >> TCC_FCTRLB_RESTART_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_FCTRLB_RESTART_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_RESTART; - tmp |= value << TCC_FCTRLB_RESTART_Pos; - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_RESTART_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_RESTART; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_RESTART_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_RESTART; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_FCTRLB_BLANKPRESC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_BLANKPRESC; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_FCTRLB_BLANKPRESC_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_BLANKPRESC) >> TCC_FCTRLB_BLANKPRESC_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_FCTRLB_BLANKPRESC_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_BLANKPRESC; - tmp |= value << TCC_FCTRLB_BLANKPRESC_Pos; - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_BLANKPRESC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_BLANKPRESC; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_BLANKPRESC_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_BLANKPRESC; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_SRC(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_SRC(mask)) >> TCC_FCTRLB_SRC_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_SRC_Msk; - tmp |= TCC_FCTRLB_SRC(data); - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_SRC(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_SRC(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_SRC_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_SRC_Msk) >> TCC_FCTRLB_SRC_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_BLANK(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_BLANK(mask)) >> TCC_FCTRLB_BLANK_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_BLANK_Msk; - tmp |= TCC_FCTRLB_BLANK(data); - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_BLANK(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_BLANK(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_BLANK_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_BLANK_Msk) >> TCC_FCTRLB_BLANK_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_HALT(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_HALT(mask)) >> TCC_FCTRLB_HALT_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_HALT_Msk; - tmp |= TCC_FCTRLB_HALT(data); - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_HALT(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_HALT(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_HALT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_HALT_Msk) >> TCC_FCTRLB_HALT_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_CHSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_CHSEL(mask)) >> TCC_FCTRLB_CHSEL_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_CHSEL_Msk; - tmp |= TCC_FCTRLB_CHSEL(data); - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_CHSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_CHSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_CHSEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_CHSEL_Msk) >> TCC_FCTRLB_CHSEL_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_CAPTURE(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_CAPTURE(mask)) >> TCC_FCTRLB_CAPTURE_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_CAPTURE_Msk; - tmp |= TCC_FCTRLB_CAPTURE(data); - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_CAPTURE(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_CAPTURE(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_CAPTURE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_CAPTURE_Msk) >> TCC_FCTRLB_CAPTURE_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_BLANKVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_BLANKVAL(mask)) >> TCC_FCTRLB_BLANKVAL_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_BLANKVAL_Msk; - tmp |= TCC_FCTRLB_BLANKVAL(data); - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_BLANKVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_BLANKVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_BLANKVAL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_BLANKVAL_Msk) >> TCC_FCTRLB_BLANKVAL_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_FILTERVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_FILTERVAL(mask)) >> TCC_FCTRLB_FILTERVAL_Pos; - return tmp; -} - -static inline void hri_tcc_write_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= ~TCC_FCTRLB_FILTERVAL_Msk; - tmp |= TCC_FCTRLB_FILTERVAL(data); - ((Tcc *)hw)->FCTRLB.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_FILTERVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_FILTERVAL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_FILTERVAL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp = (tmp & TCC_FCTRLB_FILTERVAL_Msk) >> TCC_FCTRLB_FILTERVAL_Pos; - return tmp; -} - -static inline void hri_tcc_set_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->FCTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->FCTRLB.reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_reg(const void *const hw) -{ - return ((Tcc *)hw)->FCTRLB.reg; -} - -static inline void hri_tcc_set_WEXCTRL_DTIEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTIEN0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WEXCTRL_DTIEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_DTIEN0) >> TCC_WEXCTRL_DTIEN0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WEXCTRL_DTIEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp &= ~TCC_WEXCTRL_DTIEN0; - tmp |= value << TCC_WEXCTRL_DTIEN0_Pos; - ((Tcc *)hw)->WEXCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WEXCTRL_DTIEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTIEN0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WEXCTRL_DTIEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTIEN0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WEXCTRL_DTIEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTIEN1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WEXCTRL_DTIEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_DTIEN1) >> TCC_WEXCTRL_DTIEN1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WEXCTRL_DTIEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp &= ~TCC_WEXCTRL_DTIEN1; - tmp |= value << TCC_WEXCTRL_DTIEN1_Pos; - ((Tcc *)hw)->WEXCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WEXCTRL_DTIEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTIEN1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WEXCTRL_DTIEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTIEN1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WEXCTRL_DTIEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTIEN2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WEXCTRL_DTIEN2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_DTIEN2) >> TCC_WEXCTRL_DTIEN2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WEXCTRL_DTIEN2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp &= ~TCC_WEXCTRL_DTIEN2; - tmp |= value << TCC_WEXCTRL_DTIEN2_Pos; - ((Tcc *)hw)->WEXCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WEXCTRL_DTIEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTIEN2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WEXCTRL_DTIEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTIEN2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WEXCTRL_DTIEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTIEN3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WEXCTRL_DTIEN3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_DTIEN3) >> TCC_WEXCTRL_DTIEN3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WEXCTRL_DTIEN3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp &= ~TCC_WEXCTRL_DTIEN3; - tmp |= value << TCC_WEXCTRL_DTIEN3_Pos; - ((Tcc *)hw)->WEXCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WEXCTRL_DTIEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTIEN3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WEXCTRL_DTIEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTIEN3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_OTMX(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wexctrl_reg_t hri_tcc_get_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_OTMX(mask)) >> TCC_WEXCTRL_OTMX_Pos; - return tmp; -} - -static inline void hri_tcc_write_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp &= ~TCC_WEXCTRL_OTMX_Msk; - tmp |= TCC_WEXCTRL_OTMX(data); - ((Tcc *)hw)->WEXCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_OTMX(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_OTMX(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wexctrl_reg_t hri_tcc_read_WEXCTRL_OTMX_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_OTMX_Msk) >> TCC_WEXCTRL_OTMX_Pos; - return tmp; -} - -static inline void hri_tcc_set_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTLS(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wexctrl_reg_t hri_tcc_get_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_DTLS(mask)) >> TCC_WEXCTRL_DTLS_Pos; - return tmp; -} - -static inline void hri_tcc_write_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp &= ~TCC_WEXCTRL_DTLS_Msk; - tmp |= TCC_WEXCTRL_DTLS(data); - ((Tcc *)hw)->WEXCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTLS(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTLS(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wexctrl_reg_t hri_tcc_read_WEXCTRL_DTLS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_DTLS_Msk) >> TCC_WEXCTRL_DTLS_Pos; - return tmp; -} - -static inline void hri_tcc_set_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTHS(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wexctrl_reg_t hri_tcc_get_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_DTHS(mask)) >> TCC_WEXCTRL_DTHS_Pos; - return tmp; -} - -static inline void hri_tcc_write_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp &= ~TCC_WEXCTRL_DTHS_Msk; - tmp |= TCC_WEXCTRL_DTHS(data); - ((Tcc *)hw)->WEXCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTHS(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTHS(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wexctrl_reg_t hri_tcc_read_WEXCTRL_DTHS_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp = (tmp & TCC_WEXCTRL_DTHS_Msk) >> TCC_WEXCTRL_DTHS_Pos; - return tmp; -} - -static inline void hri_tcc_set_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wexctrl_reg_t hri_tcc_get_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WEXCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WEXCTRL.reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wexctrl_reg_t hri_tcc_read_WEXCTRL_reg(const void *const hw) -{ - return ((Tcc *)hw)->WEXCTRL.reg; -} - -static inline void hri_tcc_set_DRVCTRL_NRE0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRE0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRE0) >> TCC_DRVCTRL_NRE0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRE0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRE0; - tmp |= value << TCC_DRVCTRL_NRE0_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRE0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRE0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRE1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRE1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRE1) >> TCC_DRVCTRL_NRE1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRE1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRE1; - tmp |= value << TCC_DRVCTRL_NRE1_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRE1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRE1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRE2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRE2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRE2) >> TCC_DRVCTRL_NRE2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRE2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRE2; - tmp |= value << TCC_DRVCTRL_NRE2_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRE2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRE2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRE3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRE3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRE3) >> TCC_DRVCTRL_NRE3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRE3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRE3; - tmp |= value << TCC_DRVCTRL_NRE3_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRE3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRE3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRE4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRE4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRE4) >> TCC_DRVCTRL_NRE4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRE4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRE4; - tmp |= value << TCC_DRVCTRL_NRE4_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRE4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRE4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRE5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRE5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRE5) >> TCC_DRVCTRL_NRE5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRE5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRE5; - tmp |= value << TCC_DRVCTRL_NRE5_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRE5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRE5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRE6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRE6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRE6) >> TCC_DRVCTRL_NRE6_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRE6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRE6; - tmp |= value << TCC_DRVCTRL_NRE6_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRE6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRE6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRE7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRE7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRE7) >> TCC_DRVCTRL_NRE7_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRE7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRE7; - tmp |= value << TCC_DRVCTRL_NRE7_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRE7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRE7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRV0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRV0) >> TCC_DRVCTRL_NRV0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRV0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRV0; - tmp |= value << TCC_DRVCTRL_NRV0_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRV1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRV1) >> TCC_DRVCTRL_NRV1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRV1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRV1; - tmp |= value << TCC_DRVCTRL_NRV1_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRV2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRV2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRV2) >> TCC_DRVCTRL_NRV2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRV2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRV2; - tmp |= value << TCC_DRVCTRL_NRV2_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRV2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRV2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRV3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRV3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRV3) >> TCC_DRVCTRL_NRV3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRV3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRV3; - tmp |= value << TCC_DRVCTRL_NRV3_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRV3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRV3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRV4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRV4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRV4) >> TCC_DRVCTRL_NRV4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRV4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRV4; - tmp |= value << TCC_DRVCTRL_NRV4_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRV4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRV4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRV5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRV5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRV5) >> TCC_DRVCTRL_NRV5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRV5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRV5; - tmp |= value << TCC_DRVCTRL_NRV5_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRV5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRV5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRV6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRV6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRV6) >> TCC_DRVCTRL_NRV6_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRV6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRV6; - tmp |= value << TCC_DRVCTRL_NRV6_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRV6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRV6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_NRV7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_NRV7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_NRV7) >> TCC_DRVCTRL_NRV7_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_NRV7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_NRV7; - tmp |= value << TCC_DRVCTRL_NRV7_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_NRV7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_NRV7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_INVEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_INVEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_INVEN0) >> TCC_DRVCTRL_INVEN0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_INVEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_INVEN0; - tmp |= value << TCC_DRVCTRL_INVEN0_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_INVEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_INVEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_INVEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_INVEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_INVEN1) >> TCC_DRVCTRL_INVEN1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_INVEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_INVEN1; - tmp |= value << TCC_DRVCTRL_INVEN1_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_INVEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_INVEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_INVEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_INVEN2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_INVEN2) >> TCC_DRVCTRL_INVEN2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_INVEN2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_INVEN2; - tmp |= value << TCC_DRVCTRL_INVEN2_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_INVEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_INVEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_INVEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_INVEN3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_INVEN3) >> TCC_DRVCTRL_INVEN3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_INVEN3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_INVEN3; - tmp |= value << TCC_DRVCTRL_INVEN3_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_INVEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_INVEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_INVEN4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_INVEN4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_INVEN4) >> TCC_DRVCTRL_INVEN4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_INVEN4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_INVEN4; - tmp |= value << TCC_DRVCTRL_INVEN4_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_INVEN4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_INVEN4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_INVEN5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_INVEN5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_INVEN5) >> TCC_DRVCTRL_INVEN5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_INVEN5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_INVEN5; - tmp |= value << TCC_DRVCTRL_INVEN5_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_INVEN5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_INVEN5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_INVEN6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_INVEN6_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_INVEN6) >> TCC_DRVCTRL_INVEN6_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_INVEN6_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_INVEN6; - tmp |= value << TCC_DRVCTRL_INVEN6_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_INVEN6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_INVEN6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_INVEN7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DRVCTRL_INVEN7_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_INVEN7) >> TCC_DRVCTRL_INVEN7_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DRVCTRL_INVEN7_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_INVEN7; - tmp |= value << TCC_DRVCTRL_INVEN7_Pos; - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_INVEN7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_INVEN7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_FILTERVAL0(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_drvctrl_reg_t hri_tcc_get_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_FILTERVAL0(mask)) >> TCC_DRVCTRL_FILTERVAL0_Pos; - return tmp; -} - -static inline void hri_tcc_write_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_FILTERVAL0_Msk; - tmp |= TCC_DRVCTRL_FILTERVAL0(data); - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_FILTERVAL0(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_FILTERVAL0(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_drvctrl_reg_t hri_tcc_read_DRVCTRL_FILTERVAL0_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_FILTERVAL0_Msk) >> TCC_DRVCTRL_FILTERVAL0_Pos; - return tmp; -} - -static inline void hri_tcc_set_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_FILTERVAL1(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_drvctrl_reg_t hri_tcc_get_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_FILTERVAL1(mask)) >> TCC_DRVCTRL_FILTERVAL1_Pos; - return tmp; -} - -static inline void hri_tcc_write_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= ~TCC_DRVCTRL_FILTERVAL1_Msk; - tmp |= TCC_DRVCTRL_FILTERVAL1(data); - ((Tcc *)hw)->DRVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_FILTERVAL1(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_FILTERVAL1(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_drvctrl_reg_t hri_tcc_read_DRVCTRL_FILTERVAL1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp = (tmp & TCC_DRVCTRL_FILTERVAL1_Msk) >> TCC_DRVCTRL_FILTERVAL1_Pos; - return tmp; -} - -static inline void hri_tcc_set_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_drvctrl_reg_t hri_tcc_get_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->DRVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DRVCTRL.reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_drvctrl_reg_t hri_tcc_read_DRVCTRL_reg(const void *const hw) -{ - return ((Tcc *)hw)->DRVCTRL.reg; -} - -static inline void hri_tcc_set_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg |= TCC_DBGCTRL_DBGRUN; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tcc *)hw)->DBGCTRL.reg; - tmp = (tmp & TCC_DBGCTRL_DBGRUN) >> TCC_DBGCTRL_DBGRUN_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DBGCTRL.reg; - tmp &= ~TCC_DBGCTRL_DBGRUN; - tmp |= value << TCC_DBGCTRL_DBGRUN_Pos; - ((Tcc *)hw)->DBGCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg &= ~TCC_DBGCTRL_DBGRUN; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DBGCTRL_DBGRUN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg ^= TCC_DBGCTRL_DBGRUN; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DBGCTRL_FDDBD_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg |= TCC_DBGCTRL_FDDBD; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_DBGCTRL_FDDBD_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Tcc *)hw)->DBGCTRL.reg; - tmp = (tmp & TCC_DBGCTRL_FDDBD) >> TCC_DBGCTRL_FDDBD_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_DBGCTRL_FDDBD_bit(const void *const hw, bool value) -{ - uint8_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->DBGCTRL.reg; - tmp &= ~TCC_DBGCTRL_FDDBD; - tmp |= value << TCC_DBGCTRL_FDDBD_Pos; - ((Tcc *)hw)->DBGCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DBGCTRL_FDDBD_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg &= ~TCC_DBGCTRL_FDDBD; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DBGCTRL_FDDBD_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg ^= TCC_DBGCTRL_FDDBD; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_dbgctrl_reg_t hri_tcc_get_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Tcc *)hw)->DBGCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->DBGCTRL.reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_dbgctrl_reg_t hri_tcc_read_DBGCTRL_reg(const void *const hw) -{ - return ((Tcc *)hw)->DBGCTRL.reg; -} - -static inline void hri_tcc_set_EVCTRL_OVFEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_OVFEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_OVFEO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_OVFEO) >> TCC_EVCTRL_OVFEO_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_OVFEO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_OVFEO; - tmp |= value << TCC_EVCTRL_OVFEO_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_OVFEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_OVFEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_OVFEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_OVFEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_TRGEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TRGEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_TRGEO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_TRGEO) >> TCC_EVCTRL_TRGEO_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_TRGEO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_TRGEO; - tmp |= value << TCC_EVCTRL_TRGEO_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_TRGEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TRGEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_TRGEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TRGEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_CNTEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_CNTEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_CNTEO_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_CNTEO) >> TCC_EVCTRL_CNTEO_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_CNTEO_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_CNTEO; - tmp |= value << TCC_EVCTRL_CNTEO_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_CNTEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_CNTEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_CNTEO_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_CNTEO; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_TCINV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TCINV0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_TCINV0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_TCINV0) >> TCC_EVCTRL_TCINV0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_TCINV0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_TCINV0; - tmp |= value << TCC_EVCTRL_TCINV0_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_TCINV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TCINV0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_TCINV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TCINV0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_TCINV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TCINV1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_TCINV1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_TCINV1) >> TCC_EVCTRL_TCINV1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_TCINV1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_TCINV1; - tmp |= value << TCC_EVCTRL_TCINV1_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_TCINV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TCINV1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_TCINV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TCINV1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_TCEI0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TCEI0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_TCEI0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_TCEI0) >> TCC_EVCTRL_TCEI0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_TCEI0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_TCEI0; - tmp |= value << TCC_EVCTRL_TCEI0_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_TCEI0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TCEI0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_TCEI0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TCEI0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_TCEI1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TCEI1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_TCEI1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_TCEI1) >> TCC_EVCTRL_TCEI1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_TCEI1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_TCEI1; - tmp |= value << TCC_EVCTRL_TCEI1_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_TCEI1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TCEI1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_TCEI1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TCEI1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEI0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEI0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEI0) >> TCC_EVCTRL_MCEI0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEI0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEI0; - tmp |= value << TCC_EVCTRL_MCEI0_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEI0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEI0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEI1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEI1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEI1) >> TCC_EVCTRL_MCEI1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEI1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEI1; - tmp |= value << TCC_EVCTRL_MCEI1_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEI1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEI1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEI2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEI2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEI2) >> TCC_EVCTRL_MCEI2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEI2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEI2; - tmp |= value << TCC_EVCTRL_MCEI2_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEI2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEI2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEI3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEI3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEI3) >> TCC_EVCTRL_MCEI3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEI3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEI3; - tmp |= value << TCC_EVCTRL_MCEI3_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEI3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEI3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEI4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEI4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEI4) >> TCC_EVCTRL_MCEI4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEI4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEI4; - tmp |= value << TCC_EVCTRL_MCEI4_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEI4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEI4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEI5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEI5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEI5) >> TCC_EVCTRL_MCEI5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEI5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEI5; - tmp |= value << TCC_EVCTRL_MCEI5_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEI5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEI5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEO0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEO0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEO0) >> TCC_EVCTRL_MCEO0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEO0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEO0; - tmp |= value << TCC_EVCTRL_MCEO0_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEO0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEO0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEO1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEO1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEO1) >> TCC_EVCTRL_MCEO1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEO1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEO1; - tmp |= value << TCC_EVCTRL_MCEO1_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEO1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEO1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEO2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEO2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEO2) >> TCC_EVCTRL_MCEO2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEO2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEO2; - tmp |= value << TCC_EVCTRL_MCEO2_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEO2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEO2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEO3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEO3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEO3) >> TCC_EVCTRL_MCEO3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEO3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEO3; - tmp |= value << TCC_EVCTRL_MCEO3_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEO3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEO3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEO4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEO4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEO4) >> TCC_EVCTRL_MCEO4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEO4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEO4; - tmp |= value << TCC_EVCTRL_MCEO4_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEO4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEO4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_MCEO5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_EVCTRL_MCEO5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_MCEO5) >> TCC_EVCTRL_MCEO5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_EVCTRL_MCEO5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_MCEO5; - tmp |= value << TCC_EVCTRL_MCEO5_Pos; - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_MCEO5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_MCEO5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_EVACT0(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_evctrl_reg_t hri_tcc_get_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_EVACT0(mask)) >> TCC_EVCTRL_EVACT0_Pos; - return tmp; -} - -static inline void hri_tcc_write_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_EVACT0_Msk; - tmp |= TCC_EVCTRL_EVACT0(data); - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_EVACT0(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_EVACT0(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_evctrl_reg_t hri_tcc_read_EVCTRL_EVACT0_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_EVACT0_Msk) >> TCC_EVCTRL_EVACT0_Pos; - return tmp; -} - -static inline void hri_tcc_set_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_EVACT1(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_evctrl_reg_t hri_tcc_get_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_EVACT1(mask)) >> TCC_EVCTRL_EVACT1_Pos; - return tmp; -} - -static inline void hri_tcc_write_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_EVACT1_Msk; - tmp |= TCC_EVCTRL_EVACT1(data); - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_EVACT1(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_EVACT1(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_evctrl_reg_t hri_tcc_read_EVCTRL_EVACT1_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_EVACT1_Msk) >> TCC_EVCTRL_EVACT1_Pos; - return tmp; -} - -static inline void hri_tcc_set_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_CNTSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_evctrl_reg_t hri_tcc_get_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_CNTSEL(mask)) >> TCC_EVCTRL_CNTSEL_Pos; - return tmp; -} - -static inline void hri_tcc_write_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= ~TCC_EVCTRL_CNTSEL_Msk; - tmp |= TCC_EVCTRL_CNTSEL(data); - ((Tcc *)hw)->EVCTRL.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_CNTSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_CNTSEL(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_evctrl_reg_t hri_tcc_read_EVCTRL_CNTSEL_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp = (tmp & TCC_EVCTRL_CNTSEL_Msk) >> TCC_EVCTRL_CNTSEL_Pos; - return tmp; -} - -static inline void hri_tcc_set_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_evctrl_reg_t hri_tcc_get_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->EVCTRL.reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_evctrl_reg_t hri_tcc_read_EVCTRL_reg(const void *const hw) -{ - return ((Tcc *)hw)->EVCTRL.reg; -} - -static inline void hri_tcc_set_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg |= TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp = (tmp & TCC_COUNT_COUNT(mask)) >> TCC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tcc_write_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp &= ~TCC_COUNT_COUNT_Msk; - tmp |= TCC_COUNT_COUNT(data); - ((Tcc *)hw)->COUNT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg &= ~TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg ^= TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_DITH6_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp = (tmp & TCC_COUNT_COUNT_Msk) >> TCC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tcc_set_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg |= TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp = (tmp & TCC_COUNT_COUNT(mask)) >> TCC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tcc_write_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp &= ~TCC_COUNT_COUNT_Msk; - tmp |= TCC_COUNT_COUNT(data); - ((Tcc *)hw)->COUNT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg &= ~TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg ^= TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_DITH5_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp = (tmp & TCC_COUNT_COUNT_Msk) >> TCC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tcc_set_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg |= TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp = (tmp & TCC_COUNT_COUNT(mask)) >> TCC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tcc_write_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp &= ~TCC_COUNT_COUNT_Msk; - tmp |= TCC_COUNT_COUNT(data); - ((Tcc *)hw)->COUNT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg &= ~TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg ^= TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_DITH4_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp = (tmp & TCC_COUNT_COUNT_Msk) >> TCC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tcc_set_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg |= TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp = (tmp & TCC_COUNT_COUNT(mask)) >> TCC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tcc_write_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp &= ~TCC_COUNT_COUNT_Msk; - tmp |= TCC_COUNT_COUNT(data); - ((Tcc *)hw)->COUNT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg &= ~TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg ^= TCC_COUNT_COUNT(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp = (tmp & TCC_COUNT_COUNT_Msk) >> TCC_COUNT_COUNT_Pos; - return tmp; -} - -static inline void hri_tcc_set_COUNT_reg(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg |= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_reg(const void *const hw, hri_tcc_count_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - tmp = ((Tcc *)hw)->COUNT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_COUNT_reg(const void *const hw, hri_tcc_count_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg = data; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_COUNT_reg(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg &= ~mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_COUNT_reg(const void *const hw, hri_tcc_count_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->COUNT.reg ^= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_reg(const void *const hw) -{ - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT); - return ((Tcc *)hw)->COUNT.reg; -} - -static inline void hri_tcc_set_PATT_PGE0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGE0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGE0) >> TCC_PATT_PGE0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGE0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGE0; - tmp |= value << TCC_PATT_PGE0_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGE0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGE0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGE1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGE1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGE1) >> TCC_PATT_PGE1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGE1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGE1; - tmp |= value << TCC_PATT_PGE1_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGE1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGE1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGE2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGE2_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGE2) >> TCC_PATT_PGE2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGE2_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGE2; - tmp |= value << TCC_PATT_PGE2_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGE2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGE2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGE3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGE3_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGE3) >> TCC_PATT_PGE3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGE3_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGE3; - tmp |= value << TCC_PATT_PGE3_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGE3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGE3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGE4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGE4_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGE4) >> TCC_PATT_PGE4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGE4_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGE4; - tmp |= value << TCC_PATT_PGE4_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGE4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGE4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGE5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGE5_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGE5) >> TCC_PATT_PGE5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGE5_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGE5; - tmp |= value << TCC_PATT_PGE5_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGE5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGE5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGE6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE6; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGE6_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGE6) >> TCC_PATT_PGE6_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGE6_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGE6; - tmp |= value << TCC_PATT_PGE6_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGE6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE6; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGE6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE6; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGE7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE7; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGE7_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGE7) >> TCC_PATT_PGE7_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGE7_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGE7; - tmp |= value << TCC_PATT_PGE7_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGE7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE7; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGE7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE7; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGV0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGV0) >> TCC_PATT_PGV0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGV0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGV0; - tmp |= value << TCC_PATT_PGV0_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGV1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGV1) >> TCC_PATT_PGV1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGV1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGV1; - tmp |= value << TCC_PATT_PGV1_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGV2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGV2_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGV2) >> TCC_PATT_PGV2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGV2_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGV2; - tmp |= value << TCC_PATT_PGV2_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGV2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGV2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGV3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGV3_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGV3) >> TCC_PATT_PGV3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGV3_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGV3; - tmp |= value << TCC_PATT_PGV3_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGV3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGV3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGV4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGV4_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGV4) >> TCC_PATT_PGV4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGV4_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGV4; - tmp |= value << TCC_PATT_PGV4_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGV4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGV4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGV5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGV5_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGV5) >> TCC_PATT_PGV5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGV5_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGV5; - tmp |= value << TCC_PATT_PGV5_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGV5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGV5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGV6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV6; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGV6_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGV6) >> TCC_PATT_PGV6_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGV6_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGV6; - tmp |= value << TCC_PATT_PGV6_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGV6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV6; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGV6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV6; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_PGV7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV7; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATT_PGV7_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATT.reg; - tmp = (tmp & TCC_PATT_PGV7) >> TCC_PATT_PGV7_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATT_PGV7_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= ~TCC_PATT_PGV7; - tmp |= value << TCC_PATT_PGV7_Pos; - ((Tcc *)hw)->PATT.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_PGV7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV7; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_PGV7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV7; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATT_reg(const void *const hw, hri_tcc_patt_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg |= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_patt_reg_t hri_tcc_get_PATT_reg(const void *const hw, hri_tcc_patt_reg_t mask) -{ - uint16_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - tmp = ((Tcc *)hw)->PATT.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_PATT_reg(const void *const hw, hri_tcc_patt_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg = data; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATT_reg(const void *const hw, hri_tcc_patt_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg &= ~mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATT_reg(const void *const hw, hri_tcc_patt_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATT.reg ^= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_patt_reg_t hri_tcc_read_PATT_reg(const void *const hw) -{ - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - return ((Tcc *)hw)->PATT.reg; -} - -static inline void hri_tcc_set_WAVE_CIPEREN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CIPEREN; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_CIPEREN_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_CIPEREN) >> TCC_WAVE_CIPEREN_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_CIPEREN_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_CIPEREN; - tmp |= value << TCC_WAVE_CIPEREN_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_CIPEREN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CIPEREN; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_CIPEREN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CIPEREN; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_CICCEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CICCEN0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_CICCEN0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_CICCEN0) >> TCC_WAVE_CICCEN0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_CICCEN0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_CICCEN0; - tmp |= value << TCC_WAVE_CICCEN0_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_CICCEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CICCEN0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_CICCEN0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CICCEN0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_CICCEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CICCEN1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_CICCEN1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_CICCEN1) >> TCC_WAVE_CICCEN1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_CICCEN1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_CICCEN1; - tmp |= value << TCC_WAVE_CICCEN1_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_CICCEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CICCEN1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_CICCEN1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CICCEN1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_CICCEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CICCEN2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_CICCEN2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_CICCEN2) >> TCC_WAVE_CICCEN2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_CICCEN2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_CICCEN2; - tmp |= value << TCC_WAVE_CICCEN2_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_CICCEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CICCEN2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_CICCEN2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CICCEN2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_CICCEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CICCEN3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_CICCEN3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_CICCEN3) >> TCC_WAVE_CICCEN3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_CICCEN3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_CICCEN3; - tmp |= value << TCC_WAVE_CICCEN3_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_CICCEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CICCEN3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_CICCEN3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CICCEN3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_POL0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_POL0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_POL0) >> TCC_WAVE_POL0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_POL0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_POL0; - tmp |= value << TCC_WAVE_POL0_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_POL0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_POL0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_POL1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_POL1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_POL1) >> TCC_WAVE_POL1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_POL1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_POL1; - tmp |= value << TCC_WAVE_POL1_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_POL1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_POL1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_POL2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_POL2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_POL2) >> TCC_WAVE_POL2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_POL2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_POL2; - tmp |= value << TCC_WAVE_POL2_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_POL2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_POL2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_POL3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_POL3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_POL3) >> TCC_WAVE_POL3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_POL3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_POL3; - tmp |= value << TCC_WAVE_POL3_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_POL3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_POL3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_POL4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_POL4_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_POL4) >> TCC_WAVE_POL4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_POL4_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_POL4; - tmp |= value << TCC_WAVE_POL4_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_POL4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_POL4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_POL5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_POL5_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_POL5) >> TCC_WAVE_POL5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_POL5_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_POL5; - tmp |= value << TCC_WAVE_POL5_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_POL5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_POL5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_SWAP0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_SWAP0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_SWAP0_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_SWAP0) >> TCC_WAVE_SWAP0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_SWAP0_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_SWAP0; - tmp |= value << TCC_WAVE_SWAP0_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_SWAP0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_SWAP0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_SWAP0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_SWAP0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_SWAP1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_SWAP1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_SWAP1_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_SWAP1) >> TCC_WAVE_SWAP1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_SWAP1_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_SWAP1; - tmp |= value << TCC_WAVE_SWAP1_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_SWAP1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_SWAP1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_SWAP1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_SWAP1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_SWAP2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_SWAP2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_SWAP2_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_SWAP2) >> TCC_WAVE_SWAP2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_SWAP2_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_SWAP2; - tmp |= value << TCC_WAVE_SWAP2_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_SWAP2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_SWAP2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_SWAP2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_SWAP2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_SWAP3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_SWAP3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_WAVE_SWAP3_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_SWAP3) >> TCC_WAVE_SWAP3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_WAVE_SWAP3_bit(const void *const hw, bool value) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_SWAP3; - tmp |= value << TCC_WAVE_SWAP3_Pos; - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_SWAP3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_SWAP3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_SWAP3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_SWAP3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_WAVEGEN(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wave_reg_t hri_tcc_get_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_WAVEGEN(mask)) >> TCC_WAVE_WAVEGEN_Pos; - return tmp; -} - -static inline void hri_tcc_write_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_WAVEGEN_Msk; - tmp |= TCC_WAVE_WAVEGEN(data); - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_WAVEGEN(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_WAVEGEN(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wave_reg_t hri_tcc_read_WAVE_WAVEGEN_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_WAVEGEN_Msk) >> TCC_WAVE_WAVEGEN_Pos; - return tmp; -} - -static inline void hri_tcc_set_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_RAMP(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wave_reg_t hri_tcc_get_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_RAMP(mask)) >> TCC_WAVE_RAMP_Pos; - return tmp; -} - -static inline void hri_tcc_write_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= ~TCC_WAVE_RAMP_Msk; - tmp |= TCC_WAVE_RAMP(data); - ((Tcc *)hw)->WAVE.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_RAMP(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_RAMP(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wave_reg_t hri_tcc_read_WAVE_RAMP_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->WAVE.reg; - tmp = (tmp & TCC_WAVE_RAMP_Msk) >> TCC_WAVE_RAMP_Pos; - return tmp; -} - -static inline void hri_tcc_set_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg |= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wave_reg_t hri_tcc_get_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - tmp = ((Tcc *)hw)->WAVE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg = data; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg &= ~mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->WAVE.reg ^= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_wave_reg_t hri_tcc_read_WAVE_reg(const void *const hw) -{ - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - return ((Tcc *)hw)->WAVE.reg; -} - -static inline void hri_tcc_set_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg |= TCC_PER_DITH4_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_DITH4_DITHER(mask)) >> TCC_PER_DITH4_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_write_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PER.reg; - tmp &= ~TCC_PER_DITH4_DITHER_Msk; - tmp |= TCC_PER_DITH4_DITHER(data); - ((Tcc *)hw)->PER.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg &= ~TCC_PER_DITH4_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg ^= TCC_PER_DITH4_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH4_DITHER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_DITH4_DITHER_Msk) >> TCC_PER_DITH4_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_set_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg |= TCC_PER_DITH5_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_DITH5_DITHER(mask)) >> TCC_PER_DITH5_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_write_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PER.reg; - tmp &= ~TCC_PER_DITH5_DITHER_Msk; - tmp |= TCC_PER_DITH5_DITHER(data); - ((Tcc *)hw)->PER.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg &= ~TCC_PER_DITH5_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg ^= TCC_PER_DITH5_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH5_DITHER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_DITH5_DITHER_Msk) >> TCC_PER_DITH5_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_set_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg |= TCC_PER_DITH6_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_DITH6_DITHER(mask)) >> TCC_PER_DITH6_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_write_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PER.reg; - tmp &= ~TCC_PER_DITH6_DITHER_Msk; - tmp |= TCC_PER_DITH6_DITHER(data); - ((Tcc *)hw)->PER.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg &= ~TCC_PER_DITH6_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg ^= TCC_PER_DITH6_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH6_DITHER_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_DITH6_DITHER_Msk) >> TCC_PER_DITH6_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_set_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg |= TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_PER(mask)) >> TCC_PER_PER_Pos; - return tmp; -} - -static inline void hri_tcc_write_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PER.reg; - tmp &= ~TCC_PER_PER_Msk; - tmp |= TCC_PER_PER(data); - ((Tcc *)hw)->PER.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg &= ~TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg ^= TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH6_PER_bf(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_PER_Msk) >> TCC_PER_PER_Pos; - return tmp; -} - -static inline void hri_tcc_set_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg |= TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_PER(mask)) >> TCC_PER_PER_Pos; - return tmp; -} - -static inline void hri_tcc_write_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PER.reg; - tmp &= ~TCC_PER_PER_Msk; - tmp |= TCC_PER_PER(data); - ((Tcc *)hw)->PER.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg &= ~TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg ^= TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH5_PER_bf(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_PER_Msk) >> TCC_PER_PER_Pos; - return tmp; -} - -static inline void hri_tcc_set_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg |= TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_PER(mask)) >> TCC_PER_PER_Pos; - return tmp; -} - -static inline void hri_tcc_write_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PER.reg; - tmp &= ~TCC_PER_PER_Msk; - tmp |= TCC_PER_PER(data); - ((Tcc *)hw)->PER.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg &= ~TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg ^= TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH4_PER_bf(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_PER_Msk) >> TCC_PER_PER_Pos; - return tmp; -} - -static inline void hri_tcc_set_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg |= TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_get_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_PER(mask)) >> TCC_PER_PER_Pos; - return tmp; -} - -static inline void hri_tcc_write_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PER.reg; - tmp &= ~TCC_PER_PER_Msk; - tmp |= TCC_PER_PER(data); - ((Tcc *)hw)->PER.reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg &= ~TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg ^= TCC_PER_PER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_read_PER_PER_bf(const void *const hw) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp = (tmp & TCC_PER_PER_Msk) >> TCC_PER_PER_Pos; - return tmp; -} - -static inline void hri_tcc_set_PER_reg(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg |= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_get_PER_reg(const void *const hw, hri_tcc_per_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - tmp = ((Tcc *)hw)->PER.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_PER_reg(const void *const hw, hri_tcc_per_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg = data; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PER_reg(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg &= ~mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PER_reg(const void *const hw, hri_tcc_per_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PER.reg ^= mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_per_reg_t hri_tcc_read_PER_reg(const void *const hw) -{ - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER); - return ((Tcc *)hw)->PER.reg; -} - -static inline void hri_tcc_set_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg |= TCC_CC_DITH4_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, - hri_tcc_cc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_DITH4_DITHER(mask)) >> TCC_CC_DITH4_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_write_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CC[index].reg; - tmp &= ~TCC_CC_DITH4_DITHER_Msk; - tmp |= TCC_CC_DITH4_DITHER(data); - ((Tcc *)hw)->CC[index].reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_DITH4_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg ^= TCC_CC_DITH4_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_DITH4_DITHER_Msk) >> TCC_CC_DITH4_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_set_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg |= TCC_CC_DITH5_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, - hri_tcc_cc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_DITH5_DITHER(mask)) >> TCC_CC_DITH5_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_write_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CC[index].reg; - tmp &= ~TCC_CC_DITH5_DITHER_Msk; - tmp |= TCC_CC_DITH5_DITHER(data); - ((Tcc *)hw)->CC[index].reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_DITH5_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg ^= TCC_CC_DITH5_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_DITH5_DITHER_Msk) >> TCC_CC_DITH5_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_set_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg |= TCC_CC_DITH6_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, - hri_tcc_cc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_DITH6_DITHER(mask)) >> TCC_CC_DITH6_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_write_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CC[index].reg; - tmp &= ~TCC_CC_DITH6_DITHER_Msk; - tmp |= TCC_CC_DITH6_DITHER(data); - ((Tcc *)hw)->CC[index].reg = tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_DITH6_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg ^= TCC_CC_DITH6_DITHER(mask); - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_DITH6_DITHER_Msk) >> TCC_CC_DITH6_DITHER_Pos; - return tmp; -} - -static inline void hri_tcc_set_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg |= TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_CC(mask)) >> TCC_CC_CC_Pos; - return tmp; -} - -static inline void hri_tcc_write_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CC[index].reg; - tmp &= ~TCC_CC_CC_Msk; - tmp |= TCC_CC_CC(data); - ((Tcc *)hw)->CC[index].reg = tmp; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg ^= TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH6_CC_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_CC_Msk) >> TCC_CC_CC_Pos; - return tmp; -} - -static inline void hri_tcc_set_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg |= TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_CC(mask)) >> TCC_CC_CC_Pos; - return tmp; -} - -static inline void hri_tcc_write_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CC[index].reg; - tmp &= ~TCC_CC_CC_Msk; - tmp |= TCC_CC_CC(data); - ((Tcc *)hw)->CC[index].reg = tmp; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg ^= TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH5_CC_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_CC_Msk) >> TCC_CC_CC_Pos; - return tmp; -} - -static inline void hri_tcc_set_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg |= TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_CC(mask)) >> TCC_CC_CC_Pos; - return tmp; -} - -static inline void hri_tcc_write_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CC[index].reg; - tmp &= ~TCC_CC_CC_Msk; - tmp |= TCC_CC_CC(data); - ((Tcc *)hw)->CC[index].reg = tmp; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg ^= TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH4_CC_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_CC_Msk) >> TCC_CC_CC_Pos; - return tmp; -} - -static inline void hri_tcc_set_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg |= TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_get_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_CC(mask)) >> TCC_CC_CC_Pos; - return tmp; -} - -static inline void hri_tcc_write_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CC[index].reg; - tmp &= ~TCC_CC_CC_Msk; - tmp |= TCC_CC_CC(data); - ((Tcc *)hw)->CC[index].reg = tmp; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg ^= TCC_CC_CC(mask); - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_read_CC_CC_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CC[index].reg; - tmp = (tmp & TCC_CC_CC_Msk) >> TCC_CC_CC_Pos; - return tmp; -} - -static inline void hri_tcc_set_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg |= mask; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_get_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - tmp = ((Tcc *)hw)->CC[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg = data; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg &= ~mask; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CC[index].reg ^= mask; - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_cc_reg_t hri_tcc_read_CC_reg(const void *const hw, uint8_t index) -{ - hri_tcc_wait_for_sync(hw, - TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4 - | TCC_SYNCBUSY_CC5); - return ((Tcc *)hw)->CC[index].reg; -} - -static inline void hri_tcc_set_PATTBUF_PGEB0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGEB0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGEB0) >> TCC_PATTBUF_PGEB0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGEB0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGEB0; - tmp |= value << TCC_PATTBUF_PGEB0_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGEB0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGEB0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGEB1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGEB1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGEB1) >> TCC_PATTBUF_PGEB1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGEB1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGEB1; - tmp |= value << TCC_PATTBUF_PGEB1_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGEB1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGEB1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGEB2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGEB2_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGEB2) >> TCC_PATTBUF_PGEB2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGEB2_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGEB2; - tmp |= value << TCC_PATTBUF_PGEB2_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGEB2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGEB2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGEB3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGEB3_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGEB3) >> TCC_PATTBUF_PGEB3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGEB3_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGEB3; - tmp |= value << TCC_PATTBUF_PGEB3_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGEB3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGEB3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGEB4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGEB4_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGEB4) >> TCC_PATTBUF_PGEB4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGEB4_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGEB4; - tmp |= value << TCC_PATTBUF_PGEB4_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGEB4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGEB4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGEB5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGEB5_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGEB5) >> TCC_PATTBUF_PGEB5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGEB5_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGEB5; - tmp |= value << TCC_PATTBUF_PGEB5_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGEB5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGEB5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGEB6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGEB6_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGEB6) >> TCC_PATTBUF_PGEB6_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGEB6_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGEB6; - tmp |= value << TCC_PATTBUF_PGEB6_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGEB6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGEB6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGEB7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGEB7_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGEB7) >> TCC_PATTBUF_PGEB7_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGEB7_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGEB7; - tmp |= value << TCC_PATTBUF_PGEB7_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGEB7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGEB7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGVB0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGVB0_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGVB0) >> TCC_PATTBUF_PGVB0_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGVB0_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGVB0; - tmp |= value << TCC_PATTBUF_PGVB0_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGVB0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGVB0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB0; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGVB1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGVB1_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGVB1) >> TCC_PATTBUF_PGVB1_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGVB1_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGVB1; - tmp |= value << TCC_PATTBUF_PGVB1_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGVB1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGVB1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB1; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGVB2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGVB2_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGVB2) >> TCC_PATTBUF_PGVB2_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGVB2_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGVB2; - tmp |= value << TCC_PATTBUF_PGVB2_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGVB2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGVB2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB2; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGVB3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGVB3_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGVB3) >> TCC_PATTBUF_PGVB3_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGVB3_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGVB3; - tmp |= value << TCC_PATTBUF_PGVB3_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGVB3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGVB3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB3; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGVB4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGVB4_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGVB4) >> TCC_PATTBUF_PGVB4_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGVB4_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGVB4; - tmp |= value << TCC_PATTBUF_PGVB4_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGVB4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGVB4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB4; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGVB5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGVB5_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGVB5) >> TCC_PATTBUF_PGVB5_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGVB5_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGVB5; - tmp |= value << TCC_PATTBUF_PGVB5_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGVB5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGVB5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB5; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGVB6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGVB6_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGVB6) >> TCC_PATTBUF_PGVB6_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGVB6_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGVB6; - tmp |= value << TCC_PATTBUF_PGVB6_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGVB6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGVB6_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB6; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_PGVB7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_PATTBUF_PGVB7_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp = (tmp & TCC_PATTBUF_PGVB7) >> TCC_PATTBUF_PGVB7_Pos; - return (bool)tmp; -} - -static inline void hri_tcc_write_PATTBUF_PGVB7_bit(const void *const hw, bool value) -{ - uint16_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= ~TCC_PATTBUF_PGVB7; - tmp |= value << TCC_PATTBUF_PGVB7_Pos; - ((Tcc *)hw)->PATTBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_PGVB7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_PGVB7_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB7; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_set_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_pattbuf_reg_t hri_tcc_get_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t mask) -{ - uint16_t tmp; - tmp = ((Tcc *)hw)->PATTBUF.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PATTBUF.reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_pattbuf_reg_t hri_tcc_read_PATTBUF_reg(const void *const hw) -{ - return ((Tcc *)hw)->PATTBUF.reg; -} - -static inline void hri_tcc_set_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_DITH4_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, - hri_tcc_perbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_DITH4_DITHERBUF(mask)) >> TCC_PERBUF_DITH4_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp &= ~TCC_PERBUF_DITH4_DITHERBUF_Msk; - tmp |= TCC_PERBUF_DITH4_DITHERBUF(data); - ((Tcc *)hw)->PERBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_DITH4_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_DITH4_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH4_DITHERBUF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_DITH4_DITHERBUF_Msk) >> TCC_PERBUF_DITH4_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_DITH5_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, - hri_tcc_perbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_DITH5_DITHERBUF(mask)) >> TCC_PERBUF_DITH5_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp &= ~TCC_PERBUF_DITH5_DITHERBUF_Msk; - tmp |= TCC_PERBUF_DITH5_DITHERBUF(data); - ((Tcc *)hw)->PERBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_DITH5_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_DITH5_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH5_DITHERBUF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_DITH5_DITHERBUF_Msk) >> TCC_PERBUF_DITH5_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_DITH6_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, - hri_tcc_perbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_DITH6_DITHERBUF(mask)) >> TCC_PERBUF_DITH6_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp &= ~TCC_PERBUF_DITH6_DITHERBUF_Msk; - tmp |= TCC_PERBUF_DITH6_DITHERBUF(data); - ((Tcc *)hw)->PERBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_DITH6_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_DITH6_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH6_DITHERBUF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_DITH6_DITHERBUF_Msk) >> TCC_PERBUF_DITH6_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_PERBUF(mask)) >> TCC_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp &= ~TCC_PERBUF_PERBUF_Msk; - tmp |= TCC_PERBUF_PERBUF(data); - ((Tcc *)hw)->PERBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH6_PERBUF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_PERBUF_Msk) >> TCC_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_PERBUF(mask)) >> TCC_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp &= ~TCC_PERBUF_PERBUF_Msk; - tmp |= TCC_PERBUF_PERBUF(data); - ((Tcc *)hw)->PERBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH5_PERBUF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_PERBUF_Msk) >> TCC_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_PERBUF(mask)) >> TCC_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp &= ~TCC_PERBUF_PERBUF_Msk; - tmp |= TCC_PERBUF_PERBUF(data); - ((Tcc *)hw)->PERBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH4_PERBUF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_PERBUF_Msk) >> TCC_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_PERBUF(mask)) >> TCC_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp &= ~TCC_PERBUF_PERBUF_Msk; - tmp |= TCC_PERBUF_PERBUF(data); - ((Tcc *)hw)->PERBUF.reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_PERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_PERBUF_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp = (tmp & TCC_PERBUF_PERBUF_Msk) >> TCC_PERBUF_PERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->PERBUF.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->PERBUF.reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_reg(const void *const hw) -{ - return ((Tcc *)hw)->PERBUF.reg; -} - -static inline void hri_tcc_set_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_CCBUF(mask)) >> TCC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp &= ~TCC_CCBUF_CCBUF_Msk; - tmp |= TCC_CCBUF_CCBUF(data); - ((Tcc *)hw)->CCBUF[index].reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_CCBUF_Msk) >> TCC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_DITH5_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_DITH5_DITHERBUF(mask)) >> TCC_CCBUF_DITH5_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp &= ~TCC_CCBUF_DITH5_DITHERBUF_Msk; - tmp |= TCC_CCBUF_DITH5_DITHERBUF(data); - ((Tcc *)hw)->CCBUF[index].reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_DITH5_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_DITH5_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_DITH5_DITHERBUF_Msk) >> TCC_CCBUF_DITH5_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_DITH6_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_DITH6_DITHERBUF(mask)) >> TCC_CCBUF_DITH6_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp &= ~TCC_CCBUF_DITH6_DITHERBUF_Msk; - tmp |= TCC_CCBUF_DITH6_DITHERBUF(data); - ((Tcc *)hw)->CCBUF[index].reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_DITH6_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_DITH6_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_DITH6_DITHERBUF_Msk) >> TCC_CCBUF_DITH6_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_CCBUF(mask)) >> TCC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp &= ~TCC_CCBUF_CCBUF_Msk; - tmp |= TCC_CCBUF_CCBUF(data); - ((Tcc *)hw)->CCBUF[index].reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_CCBUF_Msk) >> TCC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_CCBUF(mask)) >> TCC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp &= ~TCC_CCBUF_CCBUF_Msk; - tmp |= TCC_CCBUF_CCBUF(data); - ((Tcc *)hw)->CCBUF[index].reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_CCBUF_Msk) >> TCC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_DITH4_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_DITH4_DITHERBUF(mask)) >> TCC_CCBUF_DITH4_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp &= ~TCC_CCBUF_DITH4_DITHERBUF_Msk; - tmp |= TCC_CCBUF_DITH4_DITHERBUF(data); - ((Tcc *)hw)->CCBUF[index].reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_DITH4_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_DITH4_DITHERBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_DITH4_DITHERBUF_Msk) >> TCC_CCBUF_DITH4_DITHERBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, - hri_tcc_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_CCBUF(mask)) >> TCC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tcc_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data) -{ - uint32_t tmp; - TCC_CRITICAL_SECTION_ENTER(); - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp &= ~TCC_CCBUF_CCBUF_Msk; - tmp |= TCC_CCBUF_CCBUF(data); - ((Tcc *)hw)->CCBUF[index].reg = tmp; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_CCBUF(mask); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp = (tmp & TCC_CCBUF_CCBUF_Msk) >> TCC_CCBUF_CCBUF_Pos; - return tmp; -} - -static inline void hri_tcc_set_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg |= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - uint32_t tmp; - tmp = ((Tcc *)hw)->CCBUF[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_write_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg = data; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg &= ~mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_tcc_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->CCBUF[index].reg ^= mask; - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_reg(const void *const hw, uint8_t index) -{ - return ((Tcc *)hw)->CCBUF[index].reg; -} - -static inline bool hri_tcc_get_STATUS_STOP_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_STOP) >> TCC_STATUS_STOP_Pos; -} - -static inline void hri_tcc_clear_STATUS_STOP_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_STOP; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_IDX_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_IDX) >> TCC_STATUS_IDX_Pos; -} - -static inline void hri_tcc_clear_STATUS_IDX_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_IDX; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_UFS_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_UFS) >> TCC_STATUS_UFS_Pos; -} - -static inline void hri_tcc_clear_STATUS_UFS_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_UFS; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_DFS_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_DFS) >> TCC_STATUS_DFS_Pos; -} - -static inline void hri_tcc_clear_STATUS_DFS_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_DFS; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_SLAVE_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_SLAVE) >> TCC_STATUS_SLAVE_Pos; -} - -static inline void hri_tcc_clear_STATUS_SLAVE_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_SLAVE; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_PATTBUFV_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_PATTBUFV) >> TCC_STATUS_PATTBUFV_Pos; -} - -static inline void hri_tcc_clear_STATUS_PATTBUFV_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_PATTBUFV; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_PERBUFV_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_PERBUFV) >> TCC_STATUS_PERBUFV_Pos; -} - -static inline void hri_tcc_clear_STATUS_PERBUFV_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_PERBUFV; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_FAULTAIN_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULTAIN) >> TCC_STATUS_FAULTAIN_Pos; -} - -static inline void hri_tcc_clear_STATUS_FAULTAIN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULTAIN; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_FAULTBIN_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULTBIN) >> TCC_STATUS_FAULTBIN_Pos; -} - -static inline void hri_tcc_clear_STATUS_FAULTBIN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULTBIN; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_FAULT0IN_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULT0IN) >> TCC_STATUS_FAULT0IN_Pos; -} - -static inline void hri_tcc_clear_STATUS_FAULT0IN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULT0IN; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_FAULT1IN_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULT1IN) >> TCC_STATUS_FAULT1IN_Pos; -} - -static inline void hri_tcc_clear_STATUS_FAULT1IN_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULT1IN; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_FAULTA_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULTA) >> TCC_STATUS_FAULTA_Pos; -} - -static inline void hri_tcc_clear_STATUS_FAULTA_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULTA; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_FAULTB_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULTB) >> TCC_STATUS_FAULTB_Pos; -} - -static inline void hri_tcc_clear_STATUS_FAULTB_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULTB; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_FAULT0_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULT0) >> TCC_STATUS_FAULT0_Pos; -} - -static inline void hri_tcc_clear_STATUS_FAULT0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULT0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_FAULT1_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULT1) >> TCC_STATUS_FAULT1_Pos; -} - -static inline void hri_tcc_clear_STATUS_FAULT1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULT1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CCBUFV0_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV0) >> TCC_STATUS_CCBUFV0_Pos; -} - -static inline void hri_tcc_clear_STATUS_CCBUFV0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CCBUFV1_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV1) >> TCC_STATUS_CCBUFV1_Pos; -} - -static inline void hri_tcc_clear_STATUS_CCBUFV1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CCBUFV2_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV2) >> TCC_STATUS_CCBUFV2_Pos; -} - -static inline void hri_tcc_clear_STATUS_CCBUFV2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CCBUFV3_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV3) >> TCC_STATUS_CCBUFV3_Pos; -} - -static inline void hri_tcc_clear_STATUS_CCBUFV3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CCBUFV4_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV4) >> TCC_STATUS_CCBUFV4_Pos; -} - -static inline void hri_tcc_clear_STATUS_CCBUFV4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CCBUFV5_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV5) >> TCC_STATUS_CCBUFV5_Pos; -} - -static inline void hri_tcc_clear_STATUS_CCBUFV5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CMP0_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP0) >> TCC_STATUS_CMP0_Pos; -} - -static inline void hri_tcc_clear_STATUS_CMP0_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP0; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CMP1_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP1) >> TCC_STATUS_CMP1_Pos; -} - -static inline void hri_tcc_clear_STATUS_CMP1_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP1; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CMP2_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP2) >> TCC_STATUS_CMP2_Pos; -} - -static inline void hri_tcc_clear_STATUS_CMP2_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP2; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CMP3_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP3) >> TCC_STATUS_CMP3_Pos; -} - -static inline void hri_tcc_clear_STATUS_CMP3_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP3; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CMP4_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP4) >> TCC_STATUS_CMP4_Pos; -} - -static inline void hri_tcc_clear_STATUS_CMP4_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP4; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_tcc_get_STATUS_CMP5_bit(const void *const hw) -{ - return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP5) >> TCC_STATUS_CMP5_Pos; -} - -static inline void hri_tcc_clear_STATUS_CMP5_bit(const void *const hw) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP5; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_status_reg_t hri_tcc_get_STATUS_reg(const void *const hw, hri_tcc_status_reg_t mask) -{ - uint32_t tmp; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - tmp = ((Tcc *)hw)->STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_tcc_clear_STATUS_reg(const void *const hw, hri_tcc_status_reg_t mask) -{ - TCC_CRITICAL_SECTION_ENTER(); - ((Tcc *)hw)->STATUS.reg = mask; - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - TCC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_tcc_status_reg_t hri_tcc_read_STATUS_reg(const void *const hw) -{ - hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK); - return ((Tcc *)hw)->STATUS.reg; -} - -/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */ -#define hri_tcc_set_COUNT_DITH4_reg(a, b) hri_tcc_set_COUNT_reg(a, b) -#define hri_tcc_get_COUNT_DITH4_reg(a, b) hri_tcc_get_COUNT_reg(a, b) -#define hri_tcc_write_COUNT_DITH4_reg(a, b) hri_tcc_write_COUNT_reg(a, b) -#define hri_tcc_clear_COUNT_DITH4_reg(a, b) hri_tcc_clear_COUNT_reg(a, b) -#define hri_tcc_toggle_COUNT_DITH4_reg(a, b) hri_tcc_toggle_COUNT_reg(a, b) -#define hri_tcc_read_COUNT_DITH4_reg(a) hri_tcc_read_COUNT_reg(a) -#define hri_tcc_set_COUNT_DITH5_reg(a, b) hri_tcc_set_COUNT_reg(a, b) -#define hri_tcc_get_COUNT_DITH5_reg(a, b) hri_tcc_get_COUNT_reg(a, b) -#define hri_tcc_write_COUNT_DITH5_reg(a, b) hri_tcc_write_COUNT_reg(a, b) -#define hri_tcc_clear_COUNT_DITH5_reg(a, b) hri_tcc_clear_COUNT_reg(a, b) -#define hri_tcc_toggle_COUNT_DITH5_reg(a, b) hri_tcc_toggle_COUNT_reg(a, b) -#define hri_tcc_read_COUNT_DITH5_reg(a) hri_tcc_read_COUNT_reg(a) -#define hri_tcc_set_COUNT_DITH6_reg(a, b) hri_tcc_set_COUNT_reg(a, b) -#define hri_tcc_get_COUNT_DITH6_reg(a, b) hri_tcc_get_COUNT_reg(a, b) -#define hri_tcc_write_COUNT_DITH6_reg(a, b) hri_tcc_write_COUNT_reg(a, b) -#define hri_tcc_clear_COUNT_DITH6_reg(a, b) hri_tcc_clear_COUNT_reg(a, b) -#define hri_tcc_toggle_COUNT_DITH6_reg(a, b) hri_tcc_toggle_COUNT_reg(a, b) -#define hri_tcc_read_COUNT_DITH6_reg(a) hri_tcc_read_COUNT_reg(a) -#define hri_tcc_set_PER_DITH4_reg(a, b) hri_tcc_set_PER_reg(a, b) -#define hri_tcc_get_PER_DITH4_reg(a, b) hri_tcc_get_PER_reg(a, b) -#define hri_tcc_write_PER_DITH4_reg(a, b) hri_tcc_write_PER_reg(a, b) -#define hri_tcc_clear_PER_DITH4_reg(a, b) hri_tcc_clear_PER_reg(a, b) -#define hri_tcc_toggle_PER_DITH4_reg(a, b) hri_tcc_toggle_PER_reg(a, b) -#define hri_tcc_read_PER_DITH4_reg(a) hri_tcc_read_PER_reg(a) -#define hri_tcc_set_PER_DITH5_reg(a, b) hri_tcc_set_PER_reg(a, b) -#define hri_tcc_get_PER_DITH5_reg(a, b) hri_tcc_get_PER_reg(a, b) -#define hri_tcc_write_PER_DITH5_reg(a, b) hri_tcc_write_PER_reg(a, b) -#define hri_tcc_clear_PER_DITH5_reg(a, b) hri_tcc_clear_PER_reg(a, b) -#define hri_tcc_toggle_PER_DITH5_reg(a, b) hri_tcc_toggle_PER_reg(a, b) -#define hri_tcc_read_PER_DITH5_reg(a) hri_tcc_read_PER_reg(a) -#define hri_tcc_set_PER_DITH6_reg(a, b) hri_tcc_set_PER_reg(a, b) -#define hri_tcc_get_PER_DITH6_reg(a, b) hri_tcc_get_PER_reg(a, b) -#define hri_tcc_write_PER_DITH6_reg(a, b) hri_tcc_write_PER_reg(a, b) -#define hri_tcc_clear_PER_DITH6_reg(a, b) hri_tcc_clear_PER_reg(a, b) -#define hri_tcc_toggle_PER_DITH6_reg(a, b) hri_tcc_toggle_PER_reg(a, b) -#define hri_tcc_read_PER_DITH6_reg(a) hri_tcc_read_PER_reg(a) -#define hri_tcc_set_CC_DITH4_reg(a, b, c) hri_tcc_set_CC_reg(a, b, c) -#define hri_tcc_get_CC_DITH4_reg(a, b, c) hri_tcc_get_CC_reg(a, b, c) -#define hri_tcc_write_CC_DITH4_reg(a, b, c) hri_tcc_write_CC_reg(a, b, c) -#define hri_tcc_clear_CC_DITH4_reg(a, b, c) hri_tcc_clear_CC_reg(a, b, c) -#define hri_tcc_toggle_CC_DITH4_reg(a, b, c) hri_tcc_toggle_CC_reg(a, b, c) -#define hri_tcc_read_CC_DITH4_reg(a, b) hri_tcc_read_CC_reg(a, b) -#define hri_tcc_set_CC_DITH5_reg(a, b, c) hri_tcc_set_CC_reg(a, b, c) -#define hri_tcc_get_CC_DITH5_reg(a, b, c) hri_tcc_get_CC_reg(a, b, c) -#define hri_tcc_write_CC_DITH5_reg(a, b, c) hri_tcc_write_CC_reg(a, b, c) -#define hri_tcc_clear_CC_DITH5_reg(a, b, c) hri_tcc_clear_CC_reg(a, b, c) -#define hri_tcc_toggle_CC_DITH5_reg(a, b, c) hri_tcc_toggle_CC_reg(a, b, c) -#define hri_tcc_read_CC_DITH5_reg(a, b) hri_tcc_read_CC_reg(a, b) -#define hri_tcc_set_CC_DITH6_reg(a, b, c) hri_tcc_set_CC_reg(a, b, c) -#define hri_tcc_get_CC_DITH6_reg(a, b, c) hri_tcc_get_CC_reg(a, b, c) -#define hri_tcc_write_CC_DITH6_reg(a, b, c) hri_tcc_write_CC_reg(a, b, c) -#define hri_tcc_clear_CC_DITH6_reg(a, b, c) hri_tcc_clear_CC_reg(a, b, c) -#define hri_tcc_toggle_CC_DITH6_reg(a, b, c) hri_tcc_toggle_CC_reg(a, b, c) -#define hri_tcc_read_CC_DITH6_reg(a, b) hri_tcc_read_CC_reg(a, b) -#define hri_tcc_set_PERBUF_DITH4_reg(a, b) hri_tcc_set_PERBUF_reg(a, b) -#define hri_tcc_get_PERBUF_DITH4_reg(a, b) hri_tcc_get_PERBUF_reg(a, b) -#define hri_tcc_write_PERBUF_DITH4_reg(a, b) hri_tcc_write_PERBUF_reg(a, b) -#define hri_tcc_clear_PERBUF_DITH4_reg(a, b) hri_tcc_clear_PERBUF_reg(a, b) -#define hri_tcc_toggle_PERBUF_DITH4_reg(a, b) hri_tcc_toggle_PERBUF_reg(a, b) -#define hri_tcc_read_PERBUF_DITH4_reg(a) hri_tcc_read_PERBUF_reg(a) -#define hri_tcc_set_PERBUF_DITH5_reg(a, b) hri_tcc_set_PERBUF_reg(a, b) -#define hri_tcc_get_PERBUF_DITH5_reg(a, b) hri_tcc_get_PERBUF_reg(a, b) -#define hri_tcc_write_PERBUF_DITH5_reg(a, b) hri_tcc_write_PERBUF_reg(a, b) -#define hri_tcc_clear_PERBUF_DITH5_reg(a, b) hri_tcc_clear_PERBUF_reg(a, b) -#define hri_tcc_toggle_PERBUF_DITH5_reg(a, b) hri_tcc_toggle_PERBUF_reg(a, b) -#define hri_tcc_read_PERBUF_DITH5_reg(a) hri_tcc_read_PERBUF_reg(a) -#define hri_tcc_set_PERBUF_DITH6_reg(a, b) hri_tcc_set_PERBUF_reg(a, b) -#define hri_tcc_get_PERBUF_DITH6_reg(a, b) hri_tcc_get_PERBUF_reg(a, b) -#define hri_tcc_write_PERBUF_DITH6_reg(a, b) hri_tcc_write_PERBUF_reg(a, b) -#define hri_tcc_clear_PERBUF_DITH6_reg(a, b) hri_tcc_clear_PERBUF_reg(a, b) -#define hri_tcc_toggle_PERBUF_DITH6_reg(a, b) hri_tcc_toggle_PERBUF_reg(a, b) -#define hri_tcc_read_PERBUF_DITH6_reg(a) hri_tcc_read_PERBUF_reg(a) -#define hri_tcc_set_CCBUF_DITH4_reg(a, b, c) hri_tcc_set_CCBUF_reg(a, b, c) -#define hri_tcc_get_CCBUF_DITH4_reg(a, b, c) hri_tcc_get_CCBUF_reg(a, b, c) -#define hri_tcc_write_CCBUF_DITH4_reg(a, b, c) hri_tcc_write_CCBUF_reg(a, b, c) -#define hri_tcc_clear_CCBUF_DITH4_reg(a, b, c) hri_tcc_clear_CCBUF_reg(a, b, c) -#define hri_tcc_toggle_CCBUF_DITH4_reg(a, b, c) hri_tcc_toggle_CCBUF_reg(a, b, c) -#define hri_tcc_read_CCBUF_DITH4_reg(a, b) hri_tcc_read_CCBUF_reg(a, b) -#define hri_tcc_set_CCBUF_DITH5_reg(a, b, c) hri_tcc_set_CCBUF_reg(a, b, c) -#define hri_tcc_get_CCBUF_DITH5_reg(a, b, c) hri_tcc_get_CCBUF_reg(a, b, c) -#define hri_tcc_write_CCBUF_DITH5_reg(a, b, c) hri_tcc_write_CCBUF_reg(a, b, c) -#define hri_tcc_clear_CCBUF_DITH5_reg(a, b, c) hri_tcc_clear_CCBUF_reg(a, b, c) -#define hri_tcc_toggle_CCBUF_DITH5_reg(a, b, c) hri_tcc_toggle_CCBUF_reg(a, b, c) -#define hri_tcc_read_CCBUF_DITH5_reg(a, b) hri_tcc_read_CCBUF_reg(a, b) -#define hri_tcc_set_CCBUF_DITH6_reg(a, b, c) hri_tcc_set_CCBUF_reg(a, b, c) -#define hri_tcc_get_CCBUF_DITH6_reg(a, b, c) hri_tcc_get_CCBUF_reg(a, b, c) -#define hri_tcc_write_CCBUF_DITH6_reg(a, b, c) hri_tcc_write_CCBUF_reg(a, b, c) -#define hri_tcc_clear_CCBUF_DITH6_reg(a, b, c) hri_tcc_clear_CCBUF_reg(a, b, c) -#define hri_tcc_toggle_CCBUF_DITH6_reg(a, b, c) hri_tcc_toggle_CCBUF_reg(a, b, c) -#define hri_tcc_read_CCBUF_DITH6_reg(a, b) hri_tcc_read_CCBUF_reg(a, b) - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_TCC_E54_H_INCLUDED */ -#endif /* _SAME54_TCC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_trng_e54.h b/software/firmware/oracle_same54n19a/hri/hri_trng_e54.h deleted file mode 100644 index e42caab..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_trng_e54.h +++ /dev/null @@ -1,380 +0,0 @@ -/** - * \file - * - * \brief SAM TRNG - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_TRNG_COMPONENT_ -#ifndef _HRI_TRNG_E54_H_INCLUDED_ -#define _HRI_TRNG_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_TRNG_CRITICAL_SECTIONS) -#define TRNG_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define TRNG_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define TRNG_CRITICAL_SECTION_ENTER() -#define TRNG_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_trng_data_reg_t; -typedef uint8_t hri_trng_ctrla_reg_t; -typedef uint8_t hri_trng_evctrl_reg_t; -typedef uint8_t hri_trng_intenset_reg_t; -typedef uint8_t hri_trng_intflag_reg_t; - -static inline bool hri_trng_get_INTFLAG_DATARDY_bit(const void *const hw) -{ - return (((Trng *)hw)->INTFLAG.reg & TRNG_INTFLAG_DATARDY) >> TRNG_INTFLAG_DATARDY_Pos; -} - -static inline void hri_trng_clear_INTFLAG_DATARDY_bit(const void *const hw) -{ - ((Trng *)hw)->INTFLAG.reg = TRNG_INTFLAG_DATARDY; -} - -static inline bool hri_trng_get_interrupt_DATARDY_bit(const void *const hw) -{ - return (((Trng *)hw)->INTFLAG.reg & TRNG_INTFLAG_DATARDY) >> TRNG_INTFLAG_DATARDY_Pos; -} - -static inline void hri_trng_clear_interrupt_DATARDY_bit(const void *const hw) -{ - ((Trng *)hw)->INTFLAG.reg = TRNG_INTFLAG_DATARDY; -} - -static inline hri_trng_intflag_reg_t hri_trng_get_INTFLAG_reg(const void *const hw, hri_trng_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Trng *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_trng_intflag_reg_t hri_trng_read_INTFLAG_reg(const void *const hw) -{ - return ((Trng *)hw)->INTFLAG.reg; -} - -static inline void hri_trng_clear_INTFLAG_reg(const void *const hw, hri_trng_intflag_reg_t mask) -{ - ((Trng *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_trng_set_INTEN_DATARDY_bit(const void *const hw) -{ - ((Trng *)hw)->INTENSET.reg = TRNG_INTENSET_DATARDY; -} - -static inline bool hri_trng_get_INTEN_DATARDY_bit(const void *const hw) -{ - return (((Trng *)hw)->INTENSET.reg & TRNG_INTENSET_DATARDY) >> TRNG_INTENSET_DATARDY_Pos; -} - -static inline void hri_trng_write_INTEN_DATARDY_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Trng *)hw)->INTENCLR.reg = TRNG_INTENSET_DATARDY; - } else { - ((Trng *)hw)->INTENSET.reg = TRNG_INTENSET_DATARDY; - } -} - -static inline void hri_trng_clear_INTEN_DATARDY_bit(const void *const hw) -{ - ((Trng *)hw)->INTENCLR.reg = TRNG_INTENSET_DATARDY; -} - -static inline void hri_trng_set_INTEN_reg(const void *const hw, hri_trng_intenset_reg_t mask) -{ - ((Trng *)hw)->INTENSET.reg = mask; -} - -static inline hri_trng_intenset_reg_t hri_trng_get_INTEN_reg(const void *const hw, hri_trng_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Trng *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_trng_intenset_reg_t hri_trng_read_INTEN_reg(const void *const hw) -{ - return ((Trng *)hw)->INTENSET.reg; -} - -static inline void hri_trng_write_INTEN_reg(const void *const hw, hri_trng_intenset_reg_t data) -{ - ((Trng *)hw)->INTENSET.reg = data; - ((Trng *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_trng_clear_INTEN_reg(const void *const hw, hri_trng_intenset_reg_t mask) -{ - ((Trng *)hw)->INTENCLR.reg = mask; -} - -static inline hri_trng_data_reg_t hri_trng_get_DATA_DATA_bf(const void *const hw, hri_trng_data_reg_t mask) -{ - return (((Trng *)hw)->DATA.reg & TRNG_DATA_DATA(mask)) >> TRNG_DATA_DATA_Pos; -} - -static inline hri_trng_data_reg_t hri_trng_read_DATA_DATA_bf(const void *const hw) -{ - return (((Trng *)hw)->DATA.reg & TRNG_DATA_DATA_Msk) >> TRNG_DATA_DATA_Pos; -} - -static inline hri_trng_data_reg_t hri_trng_get_DATA_reg(const void *const hw, hri_trng_data_reg_t mask) -{ - uint32_t tmp; - tmp = ((Trng *)hw)->DATA.reg; - tmp &= mask; - return tmp; -} - -static inline hri_trng_data_reg_t hri_trng_read_DATA_reg(const void *const hw) -{ - return ((Trng *)hw)->DATA.reg; -} - -static inline void hri_trng_set_CTRLA_ENABLE_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg |= TRNG_CTRLA_ENABLE; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_trng_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Trng *)hw)->CTRLA.reg; - tmp = (tmp & TRNG_CTRLA_ENABLE) >> TRNG_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_trng_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - TRNG_CRITICAL_SECTION_ENTER(); - tmp = ((Trng *)hw)->CTRLA.reg; - tmp &= ~TRNG_CTRLA_ENABLE; - tmp |= value << TRNG_CTRLA_ENABLE_Pos; - ((Trng *)hw)->CTRLA.reg = tmp; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg &= ~TRNG_CTRLA_ENABLE; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg ^= TRNG_CTRLA_ENABLE; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg |= TRNG_CTRLA_RUNSTDBY; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_trng_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Trng *)hw)->CTRLA.reg; - tmp = (tmp & TRNG_CTRLA_RUNSTDBY) >> TRNG_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_trng_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint8_t tmp; - TRNG_CRITICAL_SECTION_ENTER(); - tmp = ((Trng *)hw)->CTRLA.reg; - tmp &= ~TRNG_CTRLA_RUNSTDBY; - tmp |= value << TRNG_CTRLA_RUNSTDBY_Pos; - ((Trng *)hw)->CTRLA.reg = tmp; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg &= ~TRNG_CTRLA_RUNSTDBY; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg ^= TRNG_CTRLA_RUNSTDBY; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_set_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t mask) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg |= mask; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_trng_ctrla_reg_t hri_trng_get_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t mask) -{ - uint8_t tmp; - tmp = ((Trng *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_trng_write_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t data) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg = data; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_clear_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t mask) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg &= ~mask; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_toggle_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t mask) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->CTRLA.reg ^= mask; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_trng_ctrla_reg_t hri_trng_read_CTRLA_reg(const void *const hw) -{ - return ((Trng *)hw)->CTRLA.reg; -} - -static inline void hri_trng_set_EVCTRL_DATARDYEO_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->EVCTRL.reg |= TRNG_EVCTRL_DATARDYEO; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_trng_get_EVCTRL_DATARDYEO_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Trng *)hw)->EVCTRL.reg; - tmp = (tmp & TRNG_EVCTRL_DATARDYEO) >> TRNG_EVCTRL_DATARDYEO_Pos; - return (bool)tmp; -} - -static inline void hri_trng_write_EVCTRL_DATARDYEO_bit(const void *const hw, bool value) -{ - uint8_t tmp; - TRNG_CRITICAL_SECTION_ENTER(); - tmp = ((Trng *)hw)->EVCTRL.reg; - tmp &= ~TRNG_EVCTRL_DATARDYEO; - tmp |= value << TRNG_EVCTRL_DATARDYEO_Pos; - ((Trng *)hw)->EVCTRL.reg = tmp; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_clear_EVCTRL_DATARDYEO_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->EVCTRL.reg &= ~TRNG_EVCTRL_DATARDYEO; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_toggle_EVCTRL_DATARDYEO_bit(const void *const hw) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->EVCTRL.reg ^= TRNG_EVCTRL_DATARDYEO; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_set_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t mask) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->EVCTRL.reg |= mask; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_trng_evctrl_reg_t hri_trng_get_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Trng *)hw)->EVCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_trng_write_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t data) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->EVCTRL.reg = data; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_clear_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t mask) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->EVCTRL.reg &= ~mask; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_trng_toggle_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t mask) -{ - TRNG_CRITICAL_SECTION_ENTER(); - ((Trng *)hw)->EVCTRL.reg ^= mask; - TRNG_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_trng_evctrl_reg_t hri_trng_read_EVCTRL_reg(const void *const hw) -{ - return ((Trng *)hw)->EVCTRL.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_TRNG_E54_H_INCLUDED */ -#endif /* _SAME54_TRNG_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_usb_e54.h b/software/firmware/oracle_same54n19a/hri/hri_usb_e54.h deleted file mode 100644 index 34b5e02..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_usb_e54.h +++ /dev/null @@ -1,9335 +0,0 @@ -/** - * \file - * - * \brief SAM USB - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_USB_COMPONENT_ -#ifndef _HRI_USB_E54_H_INCLUDED_ -#define _HRI_USB_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_USB_CRITICAL_SECTIONS) -#define USB_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define USB_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define USB_CRITICAL_SECTION_ENTER() -#define USB_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint16_t hri_usb_padcal_reg_t; -typedef uint16_t hri_usbdesc_bank_ctrl_pipe_reg_t; -typedef uint16_t hri_usbdesc_bank_extreg_reg_t; -typedef uint16_t hri_usbdesc_bank_status_pipe_reg_t; -typedef uint16_t hri_usbdescriptordevice_extreg_reg_t; -typedef uint16_t hri_usbdescriptorhost_ctrl_pipe_reg_t; -typedef uint16_t hri_usbdescriptorhost_extreg_reg_t; -typedef uint16_t hri_usbdescriptorhost_status_pipe_reg_t; -typedef uint16_t hri_usbdevice_ctrlb_reg_t; -typedef uint16_t hri_usbdevice_epintsmry_reg_t; -typedef uint16_t hri_usbdevice_fnum_reg_t; -typedef uint16_t hri_usbdevice_intenset_reg_t; -typedef uint16_t hri_usbdevice_intflag_reg_t; -typedef uint16_t hri_usbhost_ctrlb_reg_t; -typedef uint16_t hri_usbhost_fnum_reg_t; -typedef uint16_t hri_usbhost_intenset_reg_t; -typedef uint16_t hri_usbhost_intflag_reg_t; -typedef uint16_t hri_usbhost_pintsmry_reg_t; -typedef uint32_t hri_usb_descadd_reg_t; -typedef uint32_t hri_usbdesc_bank_addr_reg_t; -typedef uint32_t hri_usbdesc_bank_pcksize_reg_t; -typedef uint32_t hri_usbdescriptordevice_addr_reg_t; -typedef uint32_t hri_usbdescriptordevice_pcksize_reg_t; -typedef uint32_t hri_usbdescriptorhost_addr_reg_t; -typedef uint32_t hri_usbdescriptorhost_pcksize_reg_t; -typedef uint8_t hri_usb_ctrla_reg_t; -typedef uint8_t hri_usb_fsmstatus_reg_t; -typedef uint8_t hri_usb_qosctrl_reg_t; -typedef uint8_t hri_usb_syncbusy_reg_t; -typedef uint8_t hri_usbdesc_bank_status_bk_reg_t; -typedef uint8_t hri_usbdescriptordevice_status_bk_reg_t; -typedef uint8_t hri_usbdescriptorhost_status_bk_reg_t; -typedef uint8_t hri_usbdevice_dadd_reg_t; -typedef uint8_t hri_usbdevice_epcfg_reg_t; -typedef uint8_t hri_usbdevice_epintenset_reg_t; -typedef uint8_t hri_usbdevice_epintflag_reg_t; -typedef uint8_t hri_usbdevice_epstatus_reg_t; -typedef uint8_t hri_usbdevice_status_reg_t; -typedef uint8_t hri_usbendpoint_epcfg_reg_t; -typedef uint8_t hri_usbendpoint_epintenset_reg_t; -typedef uint8_t hri_usbendpoint_epintflag_reg_t; -typedef uint8_t hri_usbendpoint_epstatus_reg_t; -typedef uint8_t hri_usbhost_binterval_reg_t; -typedef uint8_t hri_usbhost_flenhigh_reg_t; -typedef uint8_t hri_usbhost_hsofc_reg_t; -typedef uint8_t hri_usbhost_pcfg_reg_t; -typedef uint8_t hri_usbhost_pintenset_reg_t; -typedef uint8_t hri_usbhost_pintflag_reg_t; -typedef uint8_t hri_usbhost_pstatus_reg_t; -typedef uint8_t hri_usbhost_status_reg_t; -typedef uint8_t hri_usbpipe_binterval_reg_t; -typedef uint8_t hri_usbpipe_pcfg_reg_t; -typedef uint8_t hri_usbpipe_pintenset_reg_t; -typedef uint8_t hri_usbpipe_pintflag_reg_t; -typedef uint8_t hri_usbpipe_pstatus_reg_t; - -static inline void hri_usb_wait_for_sync(const void *const hw, hri_usb_syncbusy_reg_t reg) -{ - while (((Usb *)hw)->DEVICE.SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_usb_is_syncing(const void *const hw, hri_usb_syncbusy_reg_t reg) -{ - return ((Usb *)hw)->DEVICE.SYNCBUSY.reg & reg; -} - -static inline bool hri_usbpipe_get_PINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT0) - >> USB_HOST_PINTFLAG_TRCPT0_Pos; -} - -static inline void hri_usbpipe_clear_PINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT0; -} - -static inline bool hri_usbpipe_get_PINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT1) - >> USB_HOST_PINTFLAG_TRCPT1_Pos; -} - -static inline void hri_usbpipe_clear_PINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT1; -} - -static inline bool hri_usbpipe_get_PINTFLAG_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRFAIL) - >> USB_HOST_PINTFLAG_TRFAIL_Pos; -} - -static inline void hri_usbpipe_clear_PINTFLAG_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRFAIL; -} - -static inline bool hri_usbpipe_get_PINTFLAG_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_PERR) - >> USB_HOST_PINTFLAG_PERR_Pos; -} - -static inline void hri_usbpipe_clear_PINTFLAG_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_PERR; -} - -static inline bool hri_usbpipe_get_PINTFLAG_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TXSTP) - >> USB_HOST_PINTFLAG_TXSTP_Pos; -} - -static inline void hri_usbpipe_clear_PINTFLAG_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TXSTP; -} - -static inline bool hri_usbpipe_get_PINTFLAG_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_STALL) - >> USB_HOST_PINTFLAG_STALL_Pos; -} - -static inline void hri_usbpipe_clear_PINTFLAG_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_STALL; -} - -static inline bool hri_usbpipe_get_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT0) - >> USB_HOST_PINTFLAG_TRCPT0_Pos; -} - -static inline void hri_usbpipe_clear_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT0; -} - -static inline bool hri_usbpipe_get_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT1) - >> USB_HOST_PINTFLAG_TRCPT1_Pos; -} - -static inline void hri_usbpipe_clear_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT1; -} - -static inline bool hri_usbpipe_get_interrupt_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRFAIL) - >> USB_HOST_PINTFLAG_TRFAIL_Pos; -} - -static inline void hri_usbpipe_clear_interrupt_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRFAIL; -} - -static inline bool hri_usbpipe_get_interrupt_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_PERR) - >> USB_HOST_PINTFLAG_PERR_Pos; -} - -static inline void hri_usbpipe_clear_interrupt_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_PERR; -} - -static inline bool hri_usbpipe_get_interrupt_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TXSTP) - >> USB_HOST_PINTFLAG_TXSTP_Pos; -} - -static inline void hri_usbpipe_clear_interrupt_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TXSTP; -} - -static inline bool hri_usbpipe_get_interrupt_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_STALL) - >> USB_HOST_PINTFLAG_STALL_Pos; -} - -static inline void hri_usbpipe_clear_interrupt_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_STALL; -} - -static inline hri_usbpipe_pintflag_reg_t hri_usbpipe_get_PINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pintflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbpipe_pintflag_reg_t hri_usbpipe_read_PINTFLAG_reg(const void *const hw, uint8_t submodule_index) -{ - return ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg; -} - -static inline void hri_usbpipe_clear_PINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pintflag_reg_t mask) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = mask; -} - -static inline void hri_usbpipe_set_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_DTGL; -} - -static inline bool hri_usbpipe_get_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_DTGL) - >> USB_HOST_PSTATUS_DTGL_Pos; -} - -static inline void hri_usbpipe_write_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_DTGL; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_DTGL; - } -} - -static inline void hri_usbpipe_clear_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_DTGL; -} - -static inline void hri_usbpipe_set_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_CURBK; -} - -static inline bool hri_usbpipe_get_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_CURBK) - >> USB_HOST_PSTATUS_CURBK_Pos; -} - -static inline void hri_usbpipe_write_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_CURBK; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_CURBK; - } -} - -static inline void hri_usbpipe_clear_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_CURBK; -} - -static inline void hri_usbpipe_set_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_PFREEZE; -} - -static inline bool hri_usbpipe_get_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_PFREEZE) - >> USB_HOST_PSTATUS_PFREEZE_Pos; -} - -static inline void hri_usbpipe_write_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_PFREEZE; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_PFREEZE; - } -} - -static inline void hri_usbpipe_clear_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_PFREEZE; -} - -static inline void hri_usbpipe_set_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK0RDY; -} - -static inline bool hri_usbpipe_get_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_BK0RDY) - >> USB_HOST_PSTATUS_BK0RDY_Pos; -} - -static inline void hri_usbpipe_write_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK0RDY; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK0RDY; - } -} - -static inline void hri_usbpipe_clear_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK0RDY; -} - -static inline void hri_usbpipe_set_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK1RDY; -} - -static inline bool hri_usbpipe_get_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_BK1RDY) - >> USB_HOST_PSTATUS_BK1RDY_Pos; -} - -static inline void hri_usbpipe_write_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK1RDY; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK1RDY; - } -} - -static inline void hri_usbpipe_clear_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK1RDY; -} - -static inline void hri_usbpipe_set_PSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pstatus_reg_t mask) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = mask; -} - -static inline hri_usbpipe_pstatus_reg_t hri_usbpipe_get_PSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbpipe_pstatus_reg_t hri_usbpipe_read_PSTATUS_reg(const void *const hw, uint8_t submodule_index) -{ - return ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg; -} - -static inline void hri_usbpipe_write_PSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pstatus_reg_t data) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = data; - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = ~data; -} - -static inline void hri_usbpipe_clear_PSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pstatus_reg_t mask) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = mask; -} - -static inline void hri_usbpipe_set_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT0; -} - -static inline bool hri_usbpipe_get_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRCPT0) - >> USB_HOST_PINTENSET_TRCPT0_Pos; -} - -static inline void hri_usbpipe_write_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT0; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT0; - } -} - -static inline void hri_usbpipe_clear_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT0; -} - -static inline void hri_usbpipe_set_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT1; -} - -static inline bool hri_usbpipe_get_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRCPT1) - >> USB_HOST_PINTENSET_TRCPT1_Pos; -} - -static inline void hri_usbpipe_write_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT1; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT1; - } -} - -static inline void hri_usbpipe_clear_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT1; -} - -static inline void hri_usbpipe_set_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRFAIL; -} - -static inline bool hri_usbpipe_get_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRFAIL) - >> USB_HOST_PINTENSET_TRFAIL_Pos; -} - -static inline void hri_usbpipe_write_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRFAIL; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRFAIL; - } -} - -static inline void hri_usbpipe_clear_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRFAIL; -} - -static inline void hri_usbpipe_set_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_PERR; -} - -static inline bool hri_usbpipe_get_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_PERR) - >> USB_HOST_PINTENSET_PERR_Pos; -} - -static inline void hri_usbpipe_write_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_PERR; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_PERR; - } -} - -static inline void hri_usbpipe_clear_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_PERR; -} - -static inline void hri_usbpipe_set_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TXSTP; -} - -static inline bool hri_usbpipe_get_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TXSTP) - >> USB_HOST_PINTENSET_TXSTP_Pos; -} - -static inline void hri_usbpipe_write_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TXSTP; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TXSTP; - } -} - -static inline void hri_usbpipe_clear_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TXSTP; -} - -static inline void hri_usbpipe_set_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_STALL; -} - -static inline bool hri_usbpipe_get_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_STALL) - >> USB_HOST_PINTENSET_STALL_Pos; -} - -static inline void hri_usbpipe_write_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_STALL; - } else { - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_STALL; - } -} - -static inline void hri_usbpipe_clear_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_STALL; -} - -static inline void hri_usbpipe_set_PINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pintenset_reg_t mask) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = mask; -} - -static inline hri_usbpipe_pintenset_reg_t hri_usbpipe_get_PINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pintenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbpipe_pintenset_reg_t hri_usbpipe_read_PINTEN_reg(const void *const hw, uint8_t submodule_index) -{ - return ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg; -} - -static inline void hri_usbpipe_write_PINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pintenset_reg_t data) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = data; - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = ~data; -} - -static inline void hri_usbpipe_clear_PINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pintenset_reg_t mask) -{ - ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = mask; -} - -static inline void hri_usbpipe_set_PCFG_BK_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_BK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbpipe_get_PCFG_BK_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_BK) >> USB_HOST_PCFG_BK_Pos; - return (bool)tmp; -} - -static inline void hri_usbpipe_write_PCFG_BK_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp &= ~USB_HOST_PCFG_BK; - tmp |= value << USB_HOST_PCFG_BK_Pos; - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_clear_PCFG_BK_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_BK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_toggle_PCFG_BK_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_BK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_set_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_PTOKEN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_get_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_PTOKEN(mask)) >> USB_HOST_PCFG_PTOKEN_Pos; - return tmp; -} - -static inline void hri_usbpipe_write_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp &= ~USB_HOST_PCFG_PTOKEN_Msk; - tmp |= USB_HOST_PCFG_PTOKEN(data); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_clear_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_PTOKEN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_toggle_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_PTOKEN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_read_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_PTOKEN_Msk) >> USB_HOST_PCFG_PTOKEN_Pos; - return tmp; -} - -static inline void hri_usbpipe_set_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_PTYPE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_get_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_PTYPE(mask)) >> USB_HOST_PCFG_PTYPE_Pos; - return tmp; -} - -static inline void hri_usbpipe_write_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp &= ~USB_HOST_PCFG_PTYPE_Msk; - tmp |= USB_HOST_PCFG_PTYPE(data); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_clear_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_PTYPE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_toggle_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_PTYPE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_read_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_PTYPE_Msk) >> USB_HOST_PCFG_PTYPE_Pos; - return tmp; -} - -static inline void hri_usbpipe_set_PCFG_reg(const void *const hw, uint8_t submodule_index, hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_get_PCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbpipe_write_PCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_clear_PCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_toggle_PCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_read_PCFG_reg(const void *const hw, uint8_t submodule_index) -{ - return ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg; -} - -static inline void hri_usbpipe_set_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg |= USB_HOST_BINTERVAL_BITINTERVAL(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_binterval_reg_t hri_usbpipe_get_BINTERVAL_BITINTERVAL_bf(const void *const hw, - uint8_t submodule_index, - hri_usbpipe_binterval_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg; - tmp = (tmp & USB_HOST_BINTERVAL_BITINTERVAL(mask)) >> USB_HOST_BINTERVAL_BITINTERVAL_Pos; - return tmp; -} - -static inline void hri_usbpipe_write_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg; - tmp &= ~USB_HOST_BINTERVAL_BITINTERVAL_Msk; - tmp |= USB_HOST_BINTERVAL_BITINTERVAL(data); - ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_clear_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg &= ~USB_HOST_BINTERVAL_BITINTERVAL(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_toggle_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg ^= USB_HOST_BINTERVAL_BITINTERVAL(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_binterval_reg_t hri_usbpipe_read_BINTERVAL_BITINTERVAL_bf(const void *const hw, - uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg; - tmp = (tmp & USB_HOST_BINTERVAL_BITINTERVAL_Msk) >> USB_HOST_BINTERVAL_BITINTERVAL_Pos; - return tmp; -} - -static inline void hri_usbpipe_set_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_binterval_reg_t hri_usbpipe_get_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbpipe_write_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_clear_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbpipe_toggle_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbpipe_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbpipe_binterval_reg_t hri_usbpipe_read_BINTERVAL_reg(const void *const hw, uint8_t submodule_index) -{ - return ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg; -} - -static inline bool hri_usbhost_get_PINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT0) - >> USB_HOST_PINTFLAG_TRCPT0_Pos; -} - -static inline void hri_usbhost_clear_PINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT0; -} - -static inline bool hri_usbhost_get_PINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT1) - >> USB_HOST_PINTFLAG_TRCPT1_Pos; -} - -static inline void hri_usbhost_clear_PINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT1; -} - -static inline bool hri_usbhost_get_PINTFLAG_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRFAIL) - >> USB_HOST_PINTFLAG_TRFAIL_Pos; -} - -static inline void hri_usbhost_clear_PINTFLAG_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRFAIL; -} - -static inline bool hri_usbhost_get_PINTFLAG_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_PERR) - >> USB_HOST_PINTFLAG_PERR_Pos; -} - -static inline void hri_usbhost_clear_PINTFLAG_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_PERR; -} - -static inline bool hri_usbhost_get_PINTFLAG_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TXSTP) - >> USB_HOST_PINTFLAG_TXSTP_Pos; -} - -static inline void hri_usbhost_clear_PINTFLAG_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TXSTP; -} - -static inline bool hri_usbhost_get_PINTFLAG_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_STALL) - >> USB_HOST_PINTFLAG_STALL_Pos; -} - -static inline void hri_usbhost_clear_PINTFLAG_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_STALL; -} - -static inline bool hri_usbhost_get_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT0) - >> USB_HOST_PINTFLAG_TRCPT0_Pos; -} - -static inline void hri_usbhost_clear_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT0; -} - -static inline bool hri_usbhost_get_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT1) - >> USB_HOST_PINTFLAG_TRCPT1_Pos; -} - -static inline void hri_usbhost_clear_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT1; -} - -static inline bool hri_usbhost_get_interrupt_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRFAIL) - >> USB_HOST_PINTFLAG_TRFAIL_Pos; -} - -static inline void hri_usbhost_clear_interrupt_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRFAIL; -} - -static inline bool hri_usbhost_get_interrupt_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_PERR) - >> USB_HOST_PINTFLAG_PERR_Pos; -} - -static inline void hri_usbhost_clear_interrupt_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_PERR; -} - -static inline bool hri_usbhost_get_interrupt_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TXSTP) - >> USB_HOST_PINTFLAG_TXSTP_Pos; -} - -static inline void hri_usbhost_clear_interrupt_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TXSTP; -} - -static inline bool hri_usbhost_get_interrupt_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_STALL) - >> USB_HOST_PINTFLAG_STALL_Pos; -} - -static inline void hri_usbhost_clear_interrupt_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_STALL; -} - -static inline hri_usbhost_pintflag_reg_t hri_usbhost_get_PINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pintflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbhost_pintflag_reg_t hri_usbhost_read_PINTFLAG_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg; -} - -static inline void hri_usbhost_clear_PINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pintflag_reg_t mask) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = mask; -} - -static inline void hri_usbhost_set_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_DTGL; -} - -static inline bool hri_usbhost_get_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_DTGL) - >> USB_HOST_PSTATUS_DTGL_Pos; -} - -static inline void hri_usbhost_write_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_DTGL; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_DTGL; - } -} - -static inline void hri_usbhost_clear_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_DTGL; -} - -static inline void hri_usbhost_set_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_CURBK; -} - -static inline bool hri_usbhost_get_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_CURBK) - >> USB_HOST_PSTATUS_CURBK_Pos; -} - -static inline void hri_usbhost_write_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_CURBK; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_CURBK; - } -} - -static inline void hri_usbhost_clear_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_CURBK; -} - -static inline void hri_usbhost_set_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_PFREEZE; -} - -static inline bool hri_usbhost_get_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_PFREEZE) - >> USB_HOST_PSTATUS_PFREEZE_Pos; -} - -static inline void hri_usbhost_write_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_PFREEZE; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_PFREEZE; - } -} - -static inline void hri_usbhost_clear_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_PFREEZE; -} - -static inline void hri_usbhost_set_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK0RDY; -} - -static inline bool hri_usbhost_get_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_BK0RDY) - >> USB_HOST_PSTATUS_BK0RDY_Pos; -} - -static inline void hri_usbhost_write_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK0RDY; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK0RDY; - } -} - -static inline void hri_usbhost_clear_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK0RDY; -} - -static inline void hri_usbhost_set_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK1RDY; -} - -static inline bool hri_usbhost_get_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_BK1RDY) - >> USB_HOST_PSTATUS_BK1RDY_Pos; -} - -static inline void hri_usbhost_write_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK1RDY; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK1RDY; - } -} - -static inline void hri_usbhost_clear_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK1RDY; -} - -static inline void hri_usbhost_set_PSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pstatus_reg_t mask) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = mask; -} - -static inline hri_usbhost_pstatus_reg_t hri_usbhost_get_PSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbhost_pstatus_reg_t hri_usbhost_read_PSTATUS_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg; -} - -static inline void hri_usbhost_write_PSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pstatus_reg_t data) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = data; - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = ~data; -} - -static inline void hri_usbhost_clear_PSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pstatus_reg_t mask) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = mask; -} - -static inline void hri_usbhost_set_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT0; -} - -static inline bool hri_usbhost_get_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRCPT0) - >> USB_HOST_PINTENSET_TRCPT0_Pos; -} - -static inline void hri_usbhost_write_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT0; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT0; - } -} - -static inline void hri_usbhost_clear_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT0; -} - -static inline void hri_usbhost_set_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT1; -} - -static inline bool hri_usbhost_get_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRCPT1) - >> USB_HOST_PINTENSET_TRCPT1_Pos; -} - -static inline void hri_usbhost_write_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT1; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT1; - } -} - -static inline void hri_usbhost_clear_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT1; -} - -static inline void hri_usbhost_set_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRFAIL; -} - -static inline bool hri_usbhost_get_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRFAIL) - >> USB_HOST_PINTENSET_TRFAIL_Pos; -} - -static inline void hri_usbhost_write_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRFAIL; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRFAIL; - } -} - -static inline void hri_usbhost_clear_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRFAIL; -} - -static inline void hri_usbhost_set_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_PERR; -} - -static inline bool hri_usbhost_get_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_PERR) - >> USB_HOST_PINTENSET_PERR_Pos; -} - -static inline void hri_usbhost_write_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_PERR; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_PERR; - } -} - -static inline void hri_usbhost_clear_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_PERR; -} - -static inline void hri_usbhost_set_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TXSTP; -} - -static inline bool hri_usbhost_get_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TXSTP) - >> USB_HOST_PINTENSET_TXSTP_Pos; -} - -static inline void hri_usbhost_write_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TXSTP; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TXSTP; - } -} - -static inline void hri_usbhost_clear_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TXSTP; -} - -static inline void hri_usbhost_set_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_STALL; -} - -static inline bool hri_usbhost_get_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_STALL) - >> USB_HOST_PINTENSET_STALL_Pos; -} - -static inline void hri_usbhost_write_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_STALL; - } else { - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_STALL; - } -} - -static inline void hri_usbhost_clear_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_STALL; -} - -static inline void hri_usbhost_set_PINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pintenset_reg_t mask) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = mask; -} - -static inline hri_usbhost_pintenset_reg_t hri_usbhost_get_PINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pintenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbhost_pintenset_reg_t hri_usbhost_read_PINTEN_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg; -} - -static inline void hri_usbhost_write_PINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pintenset_reg_t data) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = data; - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = ~data; -} - -static inline void hri_usbhost_clear_PINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pintenset_reg_t mask) -{ - ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = mask; -} - -static inline void hri_usbhost_set_PCFG_BK_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_BK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_PCFG_BK_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_BK) >> USB_HOST_PCFG_BK_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_PCFG_BK_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp &= ~USB_HOST_PCFG_BK; - tmp |= value << USB_HOST_PCFG_BK_Pos; - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_PCFG_BK_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_BK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_PCFG_BK_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_BK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_PTOKEN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_pcfg_reg_t hri_usbhost_get_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_PTOKEN(mask)) >> USB_HOST_PCFG_PTOKEN_Pos; - return tmp; -} - -static inline void hri_usbhost_write_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp &= ~USB_HOST_PCFG_PTOKEN_Msk; - tmp |= USB_HOST_PCFG_PTOKEN(data); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_PTOKEN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_PTOKEN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_pcfg_reg_t hri_usbhost_read_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_PTOKEN_Msk) >> USB_HOST_PCFG_PTOKEN_Pos; - return tmp; -} - -static inline void hri_usbhost_set_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_PTYPE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_pcfg_reg_t hri_usbhost_get_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_PTYPE(mask)) >> USB_HOST_PCFG_PTYPE_Pos; - return tmp; -} - -static inline void hri_usbhost_write_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp &= ~USB_HOST_PCFG_PTYPE_Msk; - tmp |= USB_HOST_PCFG_PTYPE(data); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_PTYPE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_PTYPE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_pcfg_reg_t hri_usbhost_read_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp = (tmp & USB_HOST_PCFG_PTYPE_Msk) >> USB_HOST_PCFG_PTYPE_Pos; - return tmp; -} - -static inline void hri_usbhost_set_PCFG_reg(const void *const hw, uint8_t submodule_index, hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_pcfg_reg_t hri_usbhost_get_PCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhost_write_PCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_PCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_PCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_pcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_pcfg_reg_t hri_usbhost_read_PCFG_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg; -} - -static inline void hri_usbhost_set_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg |= USB_HOST_BINTERVAL_BITINTERVAL(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_binterval_reg_t hri_usbhost_get_BINTERVAL_BITINTERVAL_bf(const void *const hw, - uint8_t submodule_index, - hri_usbhost_binterval_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg; - tmp = (tmp & USB_HOST_BINTERVAL_BITINTERVAL(mask)) >> USB_HOST_BINTERVAL_BITINTERVAL_Pos; - return tmp; -} - -static inline void hri_usbhost_write_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg; - tmp &= ~USB_HOST_BINTERVAL_BITINTERVAL_Msk; - tmp |= USB_HOST_BINTERVAL_BITINTERVAL(data); - ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg &= ~USB_HOST_BINTERVAL_BITINTERVAL(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg ^= USB_HOST_BINTERVAL_BITINTERVAL(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_binterval_reg_t hri_usbhost_read_BINTERVAL_BITINTERVAL_bf(const void *const hw, - uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg; - tmp = (tmp & USB_HOST_BINTERVAL_BITINTERVAL_Msk) >> USB_HOST_BINTERVAL_BITINTERVAL_Pos; - return tmp; -} - -static inline void hri_usbhost_set_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_binterval_reg_t hri_usbhost_get_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhost_write_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_BINTERVAL_reg(const void *const hw, uint8_t submodule_index, - hri_usbhost_binterval_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_binterval_reg_t hri_usbhost_read_BINTERVAL_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg; -} - -static inline void hri_usbhostdescbank_set_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->ADDR.reg |= USB_HOST_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_addr_reg_t hri_usbhostdescbank_get_ADDR_ADDR_bf(const void *const hw, - hri_usbdesc_bank_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->ADDR.reg; - tmp = (tmp & USB_HOST_ADDR_ADDR(mask)) >> USB_HOST_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->ADDR.reg; - tmp &= ~USB_HOST_ADDR_ADDR_Msk; - tmp |= USB_HOST_ADDR_ADDR(data); - ((UsbHostDescBank *)hw)->ADDR.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->ADDR.reg &= ~USB_HOST_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->ADDR.reg ^= USB_HOST_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_addr_reg_t hri_usbhostdescbank_read_ADDR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->ADDR.reg; - tmp = (tmp & USB_HOST_ADDR_ADDR_Msk) >> USB_HOST_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->ADDR.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_addr_reg_t hri_usbhostdescbank_get_ADDR_reg(const void *const hw, - hri_usbdesc_bank_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescbank_write_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->ADDR.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->ADDR.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->ADDR.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_addr_reg_t hri_usbhostdescbank_read_ADDR_reg(const void *const hw) -{ - return ((UsbHostDescBank *)hw)->ADDR.reg; -} - -static inline void hri_usbhostdescbank_set_PCKSIZE_AUTO_ZLP_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg |= USB_HOST_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescbank_get_PCKSIZE_AUTO_ZLP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_AUTO_ZLP) >> USB_HOST_PCKSIZE_AUTO_ZLP_Pos; - return (bool)tmp; -} - -static inline void hri_usbhostdescbank_write_PCKSIZE_AUTO_ZLP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp &= ~USB_HOST_PCKSIZE_AUTO_ZLP; - tmp |= value << USB_HOST_PCKSIZE_AUTO_ZLP_Pos; - ((UsbHostDescBank *)hw)->PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_PCKSIZE_AUTO_ZLP_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~USB_HOST_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_PCKSIZE_AUTO_ZLP_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= USB_HOST_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_set_PCKSIZE_BYTE_COUNT_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg |= USB_HOST_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t -hri_usbhostdescbank_get_PCKSIZE_BYTE_COUNT_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_BYTE_COUNT(mask)) >> USB_HOST_PCKSIZE_BYTE_COUNT_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_PCKSIZE_BYTE_COUNT_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp &= ~USB_HOST_PCKSIZE_BYTE_COUNT_Msk; - tmp |= USB_HOST_PCKSIZE_BYTE_COUNT(data); - ((UsbHostDescBank *)hw)->PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_PCKSIZE_BYTE_COUNT_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~USB_HOST_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_PCKSIZE_BYTE_COUNT_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= USB_HOST_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_read_PCKSIZE_BYTE_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_BYTE_COUNT_Msk) >> USB_HOST_PCKSIZE_BYTE_COUNT_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg |= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t -hri_usbhostdescbank_get_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask)) >> USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp &= ~USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk; - tmp |= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(data); - ((UsbHostDescBank *)hw)->PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_read_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk) >> USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg |= USB_HOST_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t -hri_usbhostdescbank_get_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_SIZE(mask)) >> USB_HOST_PCKSIZE_SIZE_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp &= ~USB_HOST_PCKSIZE_SIZE_Msk; - tmp |= USB_HOST_PCKSIZE_SIZE(data); - ((UsbHostDescBank *)hw)->PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~USB_HOST_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= USB_HOST_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_read_PCKSIZE_SIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_SIZE_Msk) >> USB_HOST_PCKSIZE_SIZE_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_get_PCKSIZE_reg(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescbank_write_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_read_PCKSIZE_reg(const void *const hw) -{ - return ((UsbHostDescBank *)hw)->PCKSIZE.reg; -} - -static inline void hri_usbhostdescbank_set_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg |= USB_HOST_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_get_EXTREG_SUBPID_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->EXTREG.reg; - tmp = (tmp & USB_HOST_EXTREG_SUBPID(mask)) >> USB_HOST_EXTREG_SUBPID_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->EXTREG.reg; - tmp &= ~USB_HOST_EXTREG_SUBPID_Msk; - tmp |= USB_HOST_EXTREG_SUBPID(data); - ((UsbHostDescBank *)hw)->EXTREG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg &= ~USB_HOST_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg ^= USB_HOST_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_read_EXTREG_SUBPID_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->EXTREG.reg; - tmp = (tmp & USB_HOST_EXTREG_SUBPID_Msk) >> USB_HOST_EXTREG_SUBPID_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_EXTREG_VARIABLE_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg |= USB_HOST_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t -hri_usbhostdescbank_get_EXTREG_VARIABLE_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->EXTREG.reg; - tmp = (tmp & USB_HOST_EXTREG_VARIABLE(mask)) >> USB_HOST_EXTREG_VARIABLE_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_EXTREG_VARIABLE_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->EXTREG.reg; - tmp &= ~USB_HOST_EXTREG_VARIABLE_Msk; - tmp |= USB_HOST_EXTREG_VARIABLE(data); - ((UsbHostDescBank *)hw)->EXTREG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_EXTREG_VARIABLE_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg &= ~USB_HOST_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_EXTREG_VARIABLE_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg ^= USB_HOST_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_read_EXTREG_VARIABLE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->EXTREG.reg; - tmp = (tmp & USB_HOST_EXTREG_VARIABLE_Msk) >> USB_HOST_EXTREG_VARIABLE_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_get_EXTREG_reg(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->EXTREG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescbank_write_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->EXTREG.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_read_EXTREG_reg(const void *const hw) -{ - return ((UsbHostDescBank *)hw)->EXTREG.reg; -} - -static inline void hri_usbhostdescbank_set_CTRL_PIPE_PDADDR_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PDADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_ctrl_pipe_reg_t -hri_usbhostdescbank_get_CTRL_PIPE_PDADDR_bf(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PDADDR(mask)) >> USB_HOST_CTRL_PIPE_PDADDR_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_CTRL_PIPE_PDADDR_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp &= ~USB_HOST_CTRL_PIPE_PDADDR_Msk; - tmp |= USB_HOST_CTRL_PIPE_PDADDR(data); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_CTRL_PIPE_PDADDR_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PDADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_CTRL_PIPE_PDADDR_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PDADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_ctrl_pipe_reg_t hri_usbhostdescbank_read_CTRL_PIPE_PDADDR_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PDADDR_Msk) >> USB_HOST_CTRL_PIPE_PDADDR_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_CTRL_PIPE_PEPNUM_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PEPNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_ctrl_pipe_reg_t -hri_usbhostdescbank_get_CTRL_PIPE_PEPNUM_bf(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PEPNUM(mask)) >> USB_HOST_CTRL_PIPE_PEPNUM_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_CTRL_PIPE_PEPNUM_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp &= ~USB_HOST_CTRL_PIPE_PEPNUM_Msk; - tmp |= USB_HOST_CTRL_PIPE_PEPNUM(data); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_CTRL_PIPE_PEPNUM_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PEPNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_CTRL_PIPE_PEPNUM_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PEPNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_ctrl_pipe_reg_t hri_usbhostdescbank_read_CTRL_PIPE_PEPNUM_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PEPNUM_Msk) >> USB_HOST_CTRL_PIPE_PEPNUM_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_CTRL_PIPE_PERMAX_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PERMAX(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_ctrl_pipe_reg_t -hri_usbhostdescbank_get_CTRL_PIPE_PERMAX_bf(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PERMAX(mask)) >> USB_HOST_CTRL_PIPE_PERMAX_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_write_CTRL_PIPE_PERMAX_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp &= ~USB_HOST_CTRL_PIPE_PERMAX_Msk; - tmp |= USB_HOST_CTRL_PIPE_PERMAX(data); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_CTRL_PIPE_PERMAX_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PERMAX(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_CTRL_PIPE_PERMAX_bf(const void *const hw, - hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PERMAX(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_ctrl_pipe_reg_t hri_usbhostdescbank_read_CTRL_PIPE_PERMAX_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PERMAX_Msk) >> USB_HOST_CTRL_PIPE_PERMAX_Pos; - return tmp; -} - -static inline void hri_usbhostdescbank_set_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_ctrl_pipe_reg_t -hri_usbhostdescbank_get_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescbank_write_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_clear_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescbank_toggle_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->CTRL_PIPE.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_ctrl_pipe_reg_t hri_usbhostdescbank_read_CTRL_PIPE_reg(const void *const hw) -{ - return ((UsbHostDescBank *)hw)->CTRL_PIPE.reg; -} - -static inline bool hri_usbhostdescbank_get_STATUS_BK_CRCERR_bit(const void *const hw) -{ - return (((UsbHostDescBank *)hw)->STATUS_BK.reg & USB_HOST_STATUS_BK_CRCERR) >> USB_HOST_STATUS_BK_CRCERR_Pos; -} - -static inline void hri_usbhostdescbank_clear_STATUS_BK_CRCERR_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_BK.reg = USB_HOST_STATUS_BK_CRCERR; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescbank_get_STATUS_BK_ERRORFLOW_bit(const void *const hw) -{ - return (((UsbHostDescBank *)hw)->STATUS_BK.reg & USB_HOST_STATUS_BK_ERRORFLOW) >> USB_HOST_STATUS_BK_ERRORFLOW_Pos; -} - -static inline void hri_usbhostdescbank_clear_STATUS_BK_ERRORFLOW_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_BK.reg = USB_HOST_STATUS_BK_ERRORFLOW; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_status_bk_reg_t -hri_usbhostdescbank_get_STATUS_BK_reg(const void *const hw, hri_usbdesc_bank_status_bk_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHostDescBank *)hw)->STATUS_BK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescbank_clear_STATUS_BK_reg(const void *const hw, hri_usbdesc_bank_status_bk_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_BK.reg = mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_status_bk_reg_t hri_usbhostdescbank_read_STATUS_BK_reg(const void *const hw) -{ - return ((UsbHostDescBank *)hw)->STATUS_BK.reg; -} - -static inline bool hri_usbhostdescbank_get_STATUS_PIPE_DTGLER_bit(const void *const hw) -{ - return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_DTGLER) >> USB_HOST_STATUS_PIPE_DTGLER_Pos; -} - -static inline void hri_usbhostdescbank_clear_STATUS_PIPE_DTGLER_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_DTGLER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescbank_get_STATUS_PIPE_DAPIDER_bit(const void *const hw) -{ - return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_DAPIDER) - >> USB_HOST_STATUS_PIPE_DAPIDER_Pos; -} - -static inline void hri_usbhostdescbank_clear_STATUS_PIPE_DAPIDER_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_DAPIDER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescbank_get_STATUS_PIPE_PIDER_bit(const void *const hw) -{ - return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_PIDER) >> USB_HOST_STATUS_PIPE_PIDER_Pos; -} - -static inline void hri_usbhostdescbank_clear_STATUS_PIPE_PIDER_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_PIDER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescbank_get_STATUS_PIPE_TOUTER_bit(const void *const hw) -{ - return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_TOUTER) >> USB_HOST_STATUS_PIPE_TOUTER_Pos; -} - -static inline void hri_usbhostdescbank_clear_STATUS_PIPE_TOUTER_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_TOUTER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescbank_get_STATUS_PIPE_CRC16ER_bit(const void *const hw) -{ - return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_CRC16ER) - >> USB_HOST_STATUS_PIPE_CRC16ER_Pos; -} - -static inline void hri_usbhostdescbank_clear_STATUS_PIPE_CRC16ER_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_CRC16ER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_status_pipe_reg_t -hri_usbhostdescbank_get_STATUS_PIPE_ERCNT_bf(const void *const hw, hri_usbdesc_bank_status_pipe_reg_t mask) -{ - return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_ERCNT(mask)) - >> USB_HOST_STATUS_PIPE_ERCNT_Pos; -} - -static inline void hri_usbhostdescbank_clear_STATUS_PIPE_ERCNT_bf(const void *const hw, - hri_usbdesc_bank_status_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_ERCNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_status_pipe_reg_t hri_usbhostdescbank_read_STATUS_PIPE_ERCNT_bf(const void *const hw) -{ - return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_ERCNT_Msk) - >> USB_HOST_STATUS_PIPE_ERCNT_Pos; -} - -static inline hri_usbdesc_bank_status_pipe_reg_t -hri_usbhostdescbank_get_STATUS_PIPE_reg(const void *const hw, hri_usbdesc_bank_status_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescBank *)hw)->STATUS_PIPE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescbank_clear_STATUS_PIPE_reg(const void *const hw, - hri_usbdesc_bank_status_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_status_pipe_reg_t hri_usbhostdescbank_read_STATUS_PIPE_reg(const void *const hw) -{ - return ((UsbHostDescBank *)hw)->STATUS_PIPE.reg; -} - -static inline void hri_usbhostdescriptor_set_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg |= USB_HOST_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_addr_reg_t -hri_usbhostdescriptor_get_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg; - tmp = (tmp & USB_HOST_ADDR_ADDR(mask)) >> USB_HOST_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg; - tmp &= ~USB_HOST_ADDR_ADDR_Msk; - tmp |= USB_HOST_ADDR_ADDR(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg &= ~USB_HOST_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg ^= USB_HOST_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_addr_reg_t hri_usbhostdescriptor_read_ADDR_ADDR_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg; - tmp = (tmp & USB_HOST_ADDR_ADDR_Msk) >> USB_HOST_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_addr_reg_t -hri_usbhostdescriptor_get_ADDR_reg(const void *const hw, uint8_t submodule_index, hri_usbdescriptorhost_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_addr_reg_t hri_usbhostdescriptor_read_ADDR_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg; -} - -static inline void hri_usbhostdescriptor_set_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= USB_HOST_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescriptor_get_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_AUTO_ZLP) >> USB_HOST_PCKSIZE_AUTO_ZLP_Pos; - return (bool)tmp; -} - -static inline void hri_usbhostdescriptor_write_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index, - bool value) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp &= ~USB_HOST_PCKSIZE_AUTO_ZLP; - tmp |= value << USB_HOST_PCKSIZE_AUTO_ZLP_Pos; - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~USB_HOST_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= USB_HOST_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_set_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= USB_HOST_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_pcksize_reg_t -hri_usbhostdescriptor_get_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_BYTE_COUNT(mask)) >> USB_HOST_PCKSIZE_BYTE_COUNT_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp &= ~USB_HOST_PCKSIZE_BYTE_COUNT_Msk; - tmp |= USB_HOST_PCKSIZE_BYTE_COUNT(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~USB_HOST_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= USB_HOST_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_pcksize_reg_t -hri_usbhostdescriptor_read_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_BYTE_COUNT_Msk) >> USB_HOST_PCKSIZE_BYTE_COUNT_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_pcksize_reg_t -hri_usbhostdescriptor_get_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask)) >> USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp &= ~USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk; - tmp |= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_pcksize_reg_t -hri_usbhostdescriptor_read_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk) >> USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= USB_HOST_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_pcksize_reg_t -hri_usbhostdescriptor_get_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_SIZE(mask)) >> USB_HOST_PCKSIZE_SIZE_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp &= ~USB_HOST_PCKSIZE_SIZE_Msk; - tmp |= USB_HOST_PCKSIZE_SIZE(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~USB_HOST_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= USB_HOST_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_pcksize_reg_t hri_usbhostdescriptor_read_PCKSIZE_SIZE_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_HOST_PCKSIZE_SIZE_Msk) >> USB_HOST_PCKSIZE_SIZE_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_pcksize_reg_t -hri_usbhostdescriptor_get_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_pcksize_reg_t hri_usbhostdescriptor_read_PCKSIZE_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg; -} - -static inline void hri_usbhostdescriptor_set_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg |= USB_HOST_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_extreg_reg_t -hri_usbhostdescriptor_get_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg; - tmp = (tmp & USB_HOST_EXTREG_SUBPID(mask)) >> USB_HOST_EXTREG_SUBPID_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg; - tmp &= ~USB_HOST_EXTREG_SUBPID_Msk; - tmp |= USB_HOST_EXTREG_SUBPID(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg &= ~USB_HOST_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg ^= USB_HOST_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_extreg_reg_t hri_usbhostdescriptor_read_EXTREG_SUBPID_bf(const void *const hw, - uint8_t submodule_index) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg; - tmp = (tmp & USB_HOST_EXTREG_SUBPID_Msk) >> USB_HOST_EXTREG_SUBPID_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg |= USB_HOST_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_extreg_reg_t -hri_usbhostdescriptor_get_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg; - tmp = (tmp & USB_HOST_EXTREG_VARIABLE(mask)) >> USB_HOST_EXTREG_VARIABLE_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg; - tmp &= ~USB_HOST_EXTREG_VARIABLE_Msk; - tmp |= USB_HOST_EXTREG_VARIABLE(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg &= ~USB_HOST_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg ^= USB_HOST_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_extreg_reg_t hri_usbhostdescriptor_read_EXTREG_VARIABLE_bf(const void *const hw, - uint8_t submodule_index) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg; - tmp = (tmp & USB_HOST_EXTREG_VARIABLE_Msk) >> USB_HOST_EXTREG_VARIABLE_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_extreg_reg_t -hri_usbhostdescriptor_get_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_extreg_reg_t hri_usbhostdescriptor_read_EXTREG_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg; -} - -static inline void hri_usbhostdescriptor_set_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PDADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_ctrl_pipe_reg_t -hri_usbhostdescriptor_get_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PDADDR(mask)) >> USB_HOST_CTRL_PIPE_PDADDR_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp &= ~USB_HOST_CTRL_PIPE_PDADDR_Msk; - tmp |= USB_HOST_CTRL_PIPE_PDADDR(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PDADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PDADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_ctrl_pipe_reg_t -hri_usbhostdescriptor_read_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PDADDR_Msk) >> USB_HOST_CTRL_PIPE_PDADDR_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PEPNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_ctrl_pipe_reg_t -hri_usbhostdescriptor_get_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PEPNUM(mask)) >> USB_HOST_CTRL_PIPE_PEPNUM_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp &= ~USB_HOST_CTRL_PIPE_PEPNUM_Msk; - tmp |= USB_HOST_CTRL_PIPE_PEPNUM(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PEPNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PEPNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_ctrl_pipe_reg_t -hri_usbhostdescriptor_read_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PEPNUM_Msk) >> USB_HOST_CTRL_PIPE_PEPNUM_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PERMAX(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_ctrl_pipe_reg_t -hri_usbhostdescriptor_get_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PERMAX(mask)) >> USB_HOST_CTRL_PIPE_PERMAX_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp &= ~USB_HOST_CTRL_PIPE_PERMAX_Msk; - tmp |= USB_HOST_CTRL_PIPE_PERMAX(data); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PERMAX(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PERMAX(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_ctrl_pipe_reg_t -hri_usbhostdescriptor_read_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp = (tmp & USB_HOST_CTRL_PIPE_PERMAX_Msk) >> USB_HOST_CTRL_PIPE_PERMAX_Pos; - return tmp; -} - -static inline void hri_usbhostdescriptor_set_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_ctrl_pipe_reg_t -hri_usbhostdescriptor_get_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescriptor_write_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_clear_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhostdescriptor_toggle_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_ctrl_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_ctrl_pipe_reg_t hri_usbhostdescriptor_read_CTRL_PIPE_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg; -} - -static inline bool hri_usbhostdescriptor_get_STATUS_BK_CRCERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg & USB_HOST_STATUS_BK_CRCERR) - >> USB_HOST_STATUS_BK_CRCERR_Pos; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_BK_CRCERR_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg = USB_HOST_STATUS_BK_CRCERR; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescriptor_get_STATUS_BK_ERRORFLOW_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg & USB_HOST_STATUS_BK_ERRORFLOW) - >> USB_HOST_STATUS_BK_ERRORFLOW_Pos; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_BK_ERRORFLOW_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg = USB_HOST_STATUS_BK_ERRORFLOW; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_status_bk_reg_t -hri_usbhostdescriptor_get_STATUS_BK_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_status_bk_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_BK_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_status_bk_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg = mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_status_bk_reg_t hri_usbhostdescriptor_read_STATUS_BK_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg; -} - -static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_DTGLER_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_DTGLER) - >> USB_HOST_STATUS_PIPE_DTGLER_Pos; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_DTGLER_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_DTGLER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_DAPIDER_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_DAPIDER) - >> USB_HOST_STATUS_PIPE_DAPIDER_Pos; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_DAPIDER_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_DAPIDER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_PIDER_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_PIDER) - >> USB_HOST_STATUS_PIPE_PIDER_Pos; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_PIDER_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_PIDER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_TOUTER_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_TOUTER) - >> USB_HOST_STATUS_PIPE_TOUTER_Pos; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_TOUTER_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_TOUTER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_CRC16ER_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_CRC16ER) - >> USB_HOST_STATUS_PIPE_CRC16ER_Pos; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_CRC16ER_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_CRC16ER; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_status_pipe_reg_t -hri_usbhostdescriptor_get_STATUS_PIPE_ERCNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_status_pipe_reg_t mask) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_ERCNT(mask)) - >> USB_HOST_STATUS_PIPE_ERCNT_Pos; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_ERCNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_status_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_ERCNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_status_pipe_reg_t -hri_usbhostdescriptor_read_STATUS_PIPE_ERCNT_bf(const void *const hw, uint8_t submodule_index) -{ - return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_ERCNT_Msk) - >> USB_HOST_STATUS_PIPE_ERCNT_Pos; -} - -static inline hri_usbdescriptorhost_status_pipe_reg_t -hri_usbhostdescriptor_get_STATUS_PIPE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_status_pipe_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptorhost_status_pipe_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptorhost_status_pipe_reg_t -hri_usbhostdescriptor_read_STATUS_PIPE_reg(const void *const hw, uint8_t submodule_index) -{ - return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg; -} - -static inline bool hri_usbendpoint_get_EPINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT0) - >> USB_DEVICE_EPINTFLAG_TRCPT0_Pos; -} - -static inline void hri_usbendpoint_clear_EPINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0; -} - -static inline bool hri_usbendpoint_get_EPINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT1) - >> USB_DEVICE_EPINTFLAG_TRCPT1_Pos; -} - -static inline void hri_usbendpoint_clear_EPINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1; -} - -static inline bool hri_usbendpoint_get_EPINTFLAG_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL0) - >> USB_DEVICE_EPINTFLAG_TRFAIL0_Pos; -} - -static inline void hri_usbendpoint_clear_EPINTFLAG_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL0; -} - -static inline bool hri_usbendpoint_get_EPINTFLAG_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL1) - >> USB_DEVICE_EPINTFLAG_TRFAIL1_Pos; -} - -static inline void hri_usbendpoint_clear_EPINTFLAG_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL1; -} - -static inline bool hri_usbendpoint_get_EPINTFLAG_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP) - >> USB_DEVICE_EPINTFLAG_RXSTP_Pos; -} - -static inline void hri_usbendpoint_clear_EPINTFLAG_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP; -} - -static inline bool hri_usbendpoint_get_EPINTFLAG_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL0) - >> USB_DEVICE_EPINTFLAG_STALL0_Pos; -} - -static inline void hri_usbendpoint_clear_EPINTFLAG_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0; -} - -static inline bool hri_usbendpoint_get_EPINTFLAG_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL1) - >> USB_DEVICE_EPINTFLAG_STALL1_Pos; -} - -static inline void hri_usbendpoint_clear_EPINTFLAG_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1; -} - -static inline bool hri_usbendpoint_get_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT0) - >> USB_DEVICE_EPINTFLAG_TRCPT0_Pos; -} - -static inline void hri_usbendpoint_clear_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0; -} - -static inline bool hri_usbendpoint_get_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT1) - >> USB_DEVICE_EPINTFLAG_TRCPT1_Pos; -} - -static inline void hri_usbendpoint_clear_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1; -} - -static inline bool hri_usbendpoint_get_interrupt_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL0) - >> USB_DEVICE_EPINTFLAG_TRFAIL0_Pos; -} - -static inline void hri_usbendpoint_clear_interrupt_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL0; -} - -static inline bool hri_usbendpoint_get_interrupt_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL1) - >> USB_DEVICE_EPINTFLAG_TRFAIL1_Pos; -} - -static inline void hri_usbendpoint_clear_interrupt_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL1; -} - -static inline bool hri_usbendpoint_get_interrupt_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP) - >> USB_DEVICE_EPINTFLAG_RXSTP_Pos; -} - -static inline void hri_usbendpoint_clear_interrupt_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP; -} - -static inline bool hri_usbendpoint_get_interrupt_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL0) - >> USB_DEVICE_EPINTFLAG_STALL0_Pos; -} - -static inline void hri_usbendpoint_clear_interrupt_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0; -} - -static inline bool hri_usbendpoint_get_interrupt_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL1) - >> USB_DEVICE_EPINTFLAG_STALL1_Pos; -} - -static inline void hri_usbendpoint_clear_interrupt_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1; -} - -static inline hri_usbendpoint_epintflag_reg_t -hri_usbendpoint_get_EPINTFLAG_reg(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epintflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbendpoint_epintflag_reg_t hri_usbendpoint_read_EPINTFLAG_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg; -} - -static inline void hri_usbendpoint_clear_EPINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epintflag_reg_t mask) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = mask; -} - -static inline void hri_usbendpoint_set_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLOUT; -} - -static inline bool hri_usbendpoint_get_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_DTGLOUT) - >> USB_DEVICE_EPSTATUS_DTGLOUT_Pos; -} - -static inline void hri_usbendpoint_write_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLOUT; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLOUT; - } -} - -static inline void hri_usbendpoint_clear_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLOUT; -} - -static inline void hri_usbendpoint_set_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLIN; -} - -static inline bool hri_usbendpoint_get_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_DTGLIN) - >> USB_DEVICE_EPSTATUS_DTGLIN_Pos; -} - -static inline void hri_usbendpoint_write_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLIN; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLIN; - } -} - -static inline void hri_usbendpoint_clear_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLIN; -} - -static inline void hri_usbendpoint_set_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_CURBK; -} - -static inline bool hri_usbendpoint_get_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_CURBK) - >> USB_DEVICE_EPSTATUS_CURBK_Pos; -} - -static inline void hri_usbendpoint_write_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_CURBK; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_CURBK; - } -} - -static inline void hri_usbendpoint_clear_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_CURBK; -} - -static inline void hri_usbendpoint_set_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ0; -} - -static inline bool hri_usbendpoint_get_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_STALLRQ0) - >> USB_DEVICE_EPSTATUS_STALLRQ0_Pos; -} - -static inline void hri_usbendpoint_write_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index, - bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ0; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ0; - } -} - -static inline void hri_usbendpoint_clear_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ0; -} - -static inline void hri_usbendpoint_set_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ1; -} - -static inline bool hri_usbendpoint_get_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_STALLRQ1) - >> USB_DEVICE_EPSTATUS_STALLRQ1_Pos; -} - -static inline void hri_usbendpoint_write_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index, - bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ1; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ1; - } -} - -static inline void hri_usbendpoint_clear_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ1; -} - -static inline void hri_usbendpoint_set_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK0RDY; -} - -static inline bool hri_usbendpoint_get_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_BK0RDY) - >> USB_DEVICE_EPSTATUS_BK0RDY_Pos; -} - -static inline void hri_usbendpoint_write_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK0RDY; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK0RDY; - } -} - -static inline void hri_usbendpoint_clear_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK0RDY; -} - -static inline void hri_usbendpoint_set_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK1RDY; -} - -static inline bool hri_usbendpoint_get_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_BK1RDY) - >> USB_DEVICE_EPSTATUS_BK1RDY_Pos; -} - -static inline void hri_usbendpoint_write_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK1RDY; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK1RDY; - } -} - -static inline void hri_usbendpoint_clear_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK1RDY; -} - -static inline void hri_usbendpoint_set_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epstatus_reg_t mask) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = mask; -} - -static inline hri_usbendpoint_epstatus_reg_t -hri_usbendpoint_get_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbendpoint_epstatus_reg_t hri_usbendpoint_read_EPSTATUS_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg; -} - -static inline void hri_usbendpoint_write_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epstatus_reg_t data) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = data; - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = ~data; -} - -static inline void hri_usbendpoint_clear_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epstatus_reg_t mask) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = mask; -} - -static inline void hri_usbendpoint_set_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0; -} - -static inline bool hri_usbendpoint_get_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRCPT0) - >> USB_DEVICE_EPINTENSET_TRCPT0_Pos; -} - -static inline void hri_usbendpoint_write_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT0; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0; - } -} - -static inline void hri_usbendpoint_clear_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT0; -} - -static inline void hri_usbendpoint_set_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1; -} - -static inline bool hri_usbendpoint_get_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRCPT1) - >> USB_DEVICE_EPINTENSET_TRCPT1_Pos; -} - -static inline void hri_usbendpoint_write_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT1; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1; - } -} - -static inline void hri_usbendpoint_clear_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT1; -} - -static inline void hri_usbendpoint_set_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0; -} - -static inline bool hri_usbendpoint_get_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRFAIL0) - >> USB_DEVICE_EPINTENSET_TRFAIL0_Pos; -} - -static inline void hri_usbendpoint_write_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL0; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0; - } -} - -static inline void hri_usbendpoint_clear_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL0; -} - -static inline void hri_usbendpoint_set_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1; -} - -static inline bool hri_usbendpoint_get_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRFAIL1) - >> USB_DEVICE_EPINTENSET_TRFAIL1_Pos; -} - -static inline void hri_usbendpoint_write_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL1; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1; - } -} - -static inline void hri_usbendpoint_clear_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL1; -} - -static inline void hri_usbendpoint_set_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_RXSTP; -} - -static inline bool hri_usbendpoint_get_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_RXSTP) - >> USB_DEVICE_EPINTENSET_RXSTP_Pos; -} - -static inline void hri_usbendpoint_write_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_RXSTP; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_RXSTP; - } -} - -static inline void hri_usbendpoint_clear_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_RXSTP; -} - -static inline void hri_usbendpoint_set_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL0; -} - -static inline bool hri_usbendpoint_get_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_STALL0) - >> USB_DEVICE_EPINTENSET_STALL0_Pos; -} - -static inline void hri_usbendpoint_write_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL0; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL0; - } -} - -static inline void hri_usbendpoint_clear_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL0; -} - -static inline void hri_usbendpoint_set_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL1; -} - -static inline bool hri_usbendpoint_get_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_STALL1) - >> USB_DEVICE_EPINTENSET_STALL1_Pos; -} - -static inline void hri_usbendpoint_write_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL1; - } else { - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL1; - } -} - -static inline void hri_usbendpoint_clear_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL1; -} - -static inline void hri_usbendpoint_set_EPINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epintenset_reg_t mask) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = mask; -} - -static inline hri_usbendpoint_epintenset_reg_t -hri_usbendpoint_get_EPINTEN_reg(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epintenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbendpoint_epintenset_reg_t hri_usbendpoint_read_EPINTEN_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg; -} - -static inline void hri_usbendpoint_write_EPINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epintenset_reg_t data) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = data; - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = ~data; -} - -static inline void hri_usbendpoint_clear_EPINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epintenset_reg_t mask) -{ - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = mask; -} - -static inline void hri_usbendpoint_set_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_NYETDIS; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbendpoint_get_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_NYETDIS) >> USB_DEVICE_EPCFG_NYETDIS_Pos; - return (bool)tmp; -} - -static inline void hri_usbendpoint_write_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp &= ~USB_DEVICE_EPCFG_NYETDIS; - tmp |= value << USB_DEVICE_EPCFG_NYETDIS_Pos; - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_clear_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_NYETDIS; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_toggle_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_NYETDIS; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_set_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_EPTYPE0(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbendpoint_epcfg_reg_t -hri_usbendpoint_get_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE0(mask)) >> USB_DEVICE_EPCFG_EPTYPE0_Pos; - return tmp; -} - -static inline void hri_usbendpoint_write_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp &= ~USB_DEVICE_EPCFG_EPTYPE0_Msk; - tmp |= USB_DEVICE_EPCFG_EPTYPE0(data); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_clear_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_EPTYPE0(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_toggle_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_EPTYPE0(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbendpoint_epcfg_reg_t hri_usbendpoint_read_EPCFG_EPTYPE0_bf(const void *const hw, - uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE0_Msk) >> USB_DEVICE_EPCFG_EPTYPE0_Pos; - return tmp; -} - -static inline void hri_usbendpoint_set_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_EPTYPE1(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbendpoint_epcfg_reg_t -hri_usbendpoint_get_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE1(mask)) >> USB_DEVICE_EPCFG_EPTYPE1_Pos; - return tmp; -} - -static inline void hri_usbendpoint_write_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp &= ~USB_DEVICE_EPCFG_EPTYPE1_Msk; - tmp |= USB_DEVICE_EPCFG_EPTYPE1(data); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_clear_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_EPTYPE1(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_toggle_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_EPTYPE1(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbendpoint_epcfg_reg_t hri_usbendpoint_read_EPCFG_EPTYPE1_bf(const void *const hw, - uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE1_Msk) >> USB_DEVICE_EPCFG_EPTYPE1_Pos; - return tmp; -} - -static inline void hri_usbendpoint_set_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbendpoint_epcfg_reg_t hri_usbendpoint_get_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbendpoint_write_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_clear_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbendpoint_toggle_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbendpoint_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbendpoint_epcfg_reg_t hri_usbendpoint_read_EPCFG_reg(const void *const hw, uint8_t submodule_index) -{ - return ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg; -} - -static inline bool hri_usbdevice_get_EPINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT0) - >> USB_DEVICE_EPINTFLAG_TRCPT0_Pos; -} - -static inline void hri_usbdevice_clear_EPINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0; -} - -static inline bool hri_usbdevice_get_EPINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT1) - >> USB_DEVICE_EPINTFLAG_TRCPT1_Pos; -} - -static inline void hri_usbdevice_clear_EPINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1; -} - -static inline bool hri_usbdevice_get_EPINTFLAG_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL0) - >> USB_DEVICE_EPINTFLAG_TRFAIL0_Pos; -} - -static inline void hri_usbdevice_clear_EPINTFLAG_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL0; -} - -static inline bool hri_usbdevice_get_EPINTFLAG_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL1) - >> USB_DEVICE_EPINTFLAG_TRFAIL1_Pos; -} - -static inline void hri_usbdevice_clear_EPINTFLAG_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL1; -} - -static inline bool hri_usbdevice_get_EPINTFLAG_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP) - >> USB_DEVICE_EPINTFLAG_RXSTP_Pos; -} - -static inline void hri_usbdevice_clear_EPINTFLAG_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP; -} - -static inline bool hri_usbdevice_get_EPINTFLAG_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL0) - >> USB_DEVICE_EPINTFLAG_STALL0_Pos; -} - -static inline void hri_usbdevice_clear_EPINTFLAG_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0; -} - -static inline bool hri_usbdevice_get_EPINTFLAG_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL1) - >> USB_DEVICE_EPINTFLAG_STALL1_Pos; -} - -static inline void hri_usbdevice_clear_EPINTFLAG_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1; -} - -static inline bool hri_usbdevice_get_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT0) - >> USB_DEVICE_EPINTFLAG_TRCPT0_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0; -} - -static inline bool hri_usbdevice_get_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT1) - >> USB_DEVICE_EPINTFLAG_TRCPT1_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1; -} - -static inline bool hri_usbdevice_get_interrupt_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL0) - >> USB_DEVICE_EPINTFLAG_TRFAIL0_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL0; -} - -static inline bool hri_usbdevice_get_interrupt_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL1) - >> USB_DEVICE_EPINTFLAG_TRFAIL1_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL1; -} - -static inline bool hri_usbdevice_get_interrupt_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP) - >> USB_DEVICE_EPINTFLAG_RXSTP_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP; -} - -static inline bool hri_usbdevice_get_interrupt_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL0) - >> USB_DEVICE_EPINTFLAG_STALL0_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0; -} - -static inline bool hri_usbdevice_get_interrupt_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL1) - >> USB_DEVICE_EPINTFLAG_STALL1_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1; -} - -static inline hri_usbdevice_epintflag_reg_t -hri_usbdevice_get_EPINTFLAG_reg(const void *const hw, uint8_t submodule_index, hri_usbdevice_epintflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbdevice_epintflag_reg_t hri_usbdevice_read_EPINTFLAG_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg; -} - -static inline void hri_usbdevice_clear_EPINTFLAG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epintflag_reg_t mask) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = mask; -} - -static inline void hri_usbdevice_set_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLOUT; -} - -static inline bool hri_usbdevice_get_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_DTGLOUT) - >> USB_DEVICE_EPSTATUS_DTGLOUT_Pos; -} - -static inline void hri_usbdevice_write_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLOUT; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLOUT; - } -} - -static inline void hri_usbdevice_clear_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLOUT; -} - -static inline void hri_usbdevice_set_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLIN; -} - -static inline bool hri_usbdevice_get_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_DTGLIN) - >> USB_DEVICE_EPSTATUS_DTGLIN_Pos; -} - -static inline void hri_usbdevice_write_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLIN; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLIN; - } -} - -static inline void hri_usbdevice_clear_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLIN; -} - -static inline void hri_usbdevice_set_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_CURBK; -} - -static inline bool hri_usbdevice_get_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_CURBK) - >> USB_DEVICE_EPSTATUS_CURBK_Pos; -} - -static inline void hri_usbdevice_write_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_CURBK; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_CURBK; - } -} - -static inline void hri_usbdevice_clear_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_CURBK; -} - -static inline void hri_usbdevice_set_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ0; -} - -static inline bool hri_usbdevice_get_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_STALLRQ0) - >> USB_DEVICE_EPSTATUS_STALLRQ0_Pos; -} - -static inline void hri_usbdevice_write_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ0; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ0; - } -} - -static inline void hri_usbdevice_clear_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ0; -} - -static inline void hri_usbdevice_set_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ1; -} - -static inline bool hri_usbdevice_get_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_STALLRQ1) - >> USB_DEVICE_EPSTATUS_STALLRQ1_Pos; -} - -static inline void hri_usbdevice_write_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ1; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ1; - } -} - -static inline void hri_usbdevice_clear_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ1; -} - -static inline void hri_usbdevice_set_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK0RDY; -} - -static inline bool hri_usbdevice_get_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_BK0RDY) - >> USB_DEVICE_EPSTATUS_BK0RDY_Pos; -} - -static inline void hri_usbdevice_write_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK0RDY; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK0RDY; - } -} - -static inline void hri_usbdevice_clear_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK0RDY; -} - -static inline void hri_usbdevice_set_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK1RDY; -} - -static inline bool hri_usbdevice_get_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_BK1RDY) - >> USB_DEVICE_EPSTATUS_BK1RDY_Pos; -} - -static inline void hri_usbdevice_write_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK1RDY; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK1RDY; - } -} - -static inline void hri_usbdevice_clear_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK1RDY; -} - -static inline void hri_usbdevice_set_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epstatus_reg_t mask) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = mask; -} - -static inline hri_usbdevice_epstatus_reg_t hri_usbdevice_get_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbdevice_epstatus_reg_t hri_usbdevice_read_EPSTATUS_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg; -} - -static inline void hri_usbdevice_write_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epstatus_reg_t data) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = data; - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = ~data; -} - -static inline void hri_usbdevice_clear_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epstatus_reg_t mask) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = mask; -} - -static inline void hri_usbdevice_set_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0; -} - -static inline bool hri_usbdevice_get_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRCPT0) - >> USB_DEVICE_EPINTENSET_TRCPT0_Pos; -} - -static inline void hri_usbdevice_write_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT0; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0; - } -} - -static inline void hri_usbdevice_clear_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT0; -} - -static inline void hri_usbdevice_set_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1; -} - -static inline bool hri_usbdevice_get_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRCPT1) - >> USB_DEVICE_EPINTENSET_TRCPT1_Pos; -} - -static inline void hri_usbdevice_write_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT1; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1; - } -} - -static inline void hri_usbdevice_clear_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT1; -} - -static inline void hri_usbdevice_set_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0; -} - -static inline bool hri_usbdevice_get_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRFAIL0) - >> USB_DEVICE_EPINTENSET_TRFAIL0_Pos; -} - -static inline void hri_usbdevice_write_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL0; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0; - } -} - -static inline void hri_usbdevice_clear_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL0; -} - -static inline void hri_usbdevice_set_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1; -} - -static inline bool hri_usbdevice_get_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRFAIL1) - >> USB_DEVICE_EPINTENSET_TRFAIL1_Pos; -} - -static inline void hri_usbdevice_write_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL1; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1; - } -} - -static inline void hri_usbdevice_clear_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL1; -} - -static inline void hri_usbdevice_set_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_RXSTP; -} - -static inline bool hri_usbdevice_get_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_RXSTP) - >> USB_DEVICE_EPINTENSET_RXSTP_Pos; -} - -static inline void hri_usbdevice_write_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_RXSTP; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_RXSTP; - } -} - -static inline void hri_usbdevice_clear_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_RXSTP; -} - -static inline void hri_usbdevice_set_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL0; -} - -static inline bool hri_usbdevice_get_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_STALL0) - >> USB_DEVICE_EPINTENSET_STALL0_Pos; -} - -static inline void hri_usbdevice_write_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL0; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL0; - } -} - -static inline void hri_usbdevice_clear_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL0; -} - -static inline void hri_usbdevice_set_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL1; -} - -static inline bool hri_usbdevice_get_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_STALL1) - >> USB_DEVICE_EPINTENSET_STALL1_Pos; -} - -static inline void hri_usbdevice_write_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL1; - } else { - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL1; - } -} - -static inline void hri_usbdevice_clear_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL1; -} - -static inline void hri_usbdevice_set_EPINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epintenset_reg_t mask) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = mask; -} - -static inline hri_usbdevice_epintenset_reg_t -hri_usbdevice_get_EPINTEN_reg(const void *const hw, uint8_t submodule_index, hri_usbdevice_epintenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbdevice_epintenset_reg_t hri_usbdevice_read_EPINTEN_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg; -} - -static inline void hri_usbdevice_write_EPINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epintenset_reg_t data) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = data; - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = ~data; -} - -static inline void hri_usbdevice_clear_EPINTEN_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epintenset_reg_t mask) -{ - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = mask; -} - -static inline void hri_usbdevice_set_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_NYETDIS; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_NYETDIS) >> USB_DEVICE_EPCFG_NYETDIS_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp &= ~USB_DEVICE_EPCFG_NYETDIS; - tmp |= value << USB_DEVICE_EPCFG_NYETDIS_Pos; - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_NYETDIS; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_NYETDIS; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_EPTYPE0(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_epcfg_reg_t -hri_usbdevice_get_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, hri_usbdevice_epcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE0(mask)) >> USB_DEVICE_EPCFG_EPTYPE0_Pos; - return tmp; -} - -static inline void hri_usbdevice_write_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp &= ~USB_DEVICE_EPCFG_EPTYPE0_Msk; - tmp |= USB_DEVICE_EPCFG_EPTYPE0(data); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_EPTYPE0(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_EPTYPE0(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_epcfg_reg_t hri_usbdevice_read_EPCFG_EPTYPE0_bf(const void *const hw, - uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE0_Msk) >> USB_DEVICE_EPCFG_EPTYPE0_Pos; - return tmp; -} - -static inline void hri_usbdevice_set_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_EPTYPE1(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_epcfg_reg_t -hri_usbdevice_get_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, hri_usbdevice_epcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE1(mask)) >> USB_DEVICE_EPCFG_EPTYPE1_Pos; - return tmp; -} - -static inline void hri_usbdevice_write_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp &= ~USB_DEVICE_EPCFG_EPTYPE1_Msk; - tmp |= USB_DEVICE_EPCFG_EPTYPE1(data); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_EPTYPE1(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_EPTYPE1(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_epcfg_reg_t hri_usbdevice_read_EPCFG_EPTYPE1_bf(const void *const hw, - uint8_t submodule_index) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE1_Msk) >> USB_DEVICE_EPCFG_EPTYPE1_Pos; - return tmp; -} - -static inline void hri_usbdevice_set_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_epcfg_reg_t hri_usbdevice_get_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevice_write_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_EPCFG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdevice_epcfg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_epcfg_reg_t hri_usbdevice_read_EPCFG_reg(const void *const hw, uint8_t submodule_index) -{ - return ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg; -} - -static inline bool hri_usbdevice_get_INTFLAG_SUSPEND_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_SUSPEND) >> USB_DEVICE_INTFLAG_SUSPEND_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_SUSPEND_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_SUSPEND; -} - -static inline bool hri_usbdevice_get_INTFLAG_MSOF_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_MSOF) >> USB_DEVICE_INTFLAG_MSOF_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_MSOF_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_MSOF; -} - -static inline bool hri_usbdevice_get_INTFLAG_SOF_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_SOF) >> USB_DEVICE_INTFLAG_SOF_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_SOF_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_SOF; -} - -static inline bool hri_usbdevice_get_INTFLAG_EORST_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORST) >> USB_DEVICE_INTFLAG_EORST_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_EORST_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORST; -} - -static inline bool hri_usbdevice_get_INTFLAG_WAKEUP_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_WAKEUP) >> USB_DEVICE_INTFLAG_WAKEUP_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_WAKEUP_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_WAKEUP; -} - -static inline bool hri_usbdevice_get_INTFLAG_EORSM_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORSM) >> USB_DEVICE_INTFLAG_EORSM_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_EORSM_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORSM; -} - -static inline bool hri_usbdevice_get_INTFLAG_UPRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_UPRSM) >> USB_DEVICE_INTFLAG_UPRSM_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_UPRSM_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_UPRSM; -} - -static inline bool hri_usbdevice_get_INTFLAG_RAMACER_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_RAMACER) >> USB_DEVICE_INTFLAG_RAMACER_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_RAMACER_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_RAMACER; -} - -static inline bool hri_usbdevice_get_INTFLAG_LPMNYET_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_LPMNYET) >> USB_DEVICE_INTFLAG_LPMNYET_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_LPMNYET_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_LPMNYET; -} - -static inline bool hri_usbdevice_get_INTFLAG_LPMSUSP_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_LPMSUSP) >> USB_DEVICE_INTFLAG_LPMSUSP_Pos; -} - -static inline void hri_usbdevice_clear_INTFLAG_LPMSUSP_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_LPMSUSP; -} - -static inline bool hri_usbdevice_get_interrupt_SUSPEND_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_SUSPEND) >> USB_DEVICE_INTFLAG_SUSPEND_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_SUSPEND_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_SUSPEND; -} - -static inline bool hri_usbdevice_get_interrupt_MSOF_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_MSOF) >> USB_DEVICE_INTFLAG_MSOF_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_MSOF_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_MSOF; -} - -static inline bool hri_usbdevice_get_interrupt_SOF_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_SOF) >> USB_DEVICE_INTFLAG_SOF_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_SOF_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_SOF; -} - -static inline bool hri_usbdevice_get_interrupt_EORST_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORST) >> USB_DEVICE_INTFLAG_EORST_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_EORST_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORST; -} - -static inline bool hri_usbdevice_get_interrupt_WAKEUP_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_WAKEUP) >> USB_DEVICE_INTFLAG_WAKEUP_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_WAKEUP_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_WAKEUP; -} - -static inline bool hri_usbdevice_get_interrupt_EORSM_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORSM) >> USB_DEVICE_INTFLAG_EORSM_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_EORSM_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORSM; -} - -static inline bool hri_usbdevice_get_interrupt_UPRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_UPRSM) >> USB_DEVICE_INTFLAG_UPRSM_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_UPRSM_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_UPRSM; -} - -static inline bool hri_usbdevice_get_interrupt_RAMACER_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_RAMACER) >> USB_DEVICE_INTFLAG_RAMACER_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_RAMACER_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_RAMACER; -} - -static inline bool hri_usbdevice_get_interrupt_LPMNYET_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_LPMNYET) >> USB_DEVICE_INTFLAG_LPMNYET_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_LPMNYET_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_LPMNYET; -} - -static inline bool hri_usbdevice_get_interrupt_LPMSUSP_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_LPMSUSP) >> USB_DEVICE_INTFLAG_LPMSUSP_Pos; -} - -static inline void hri_usbdevice_clear_interrupt_LPMSUSP_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_LPMSUSP; -} - -static inline hri_usbdevice_intflag_reg_t hri_usbdevice_get_INTFLAG_reg(const void *const hw, - hri_usbdevice_intflag_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbdevice_intflag_reg_t hri_usbdevice_read_INTFLAG_reg(const void *const hw) -{ - return ((Usb *)hw)->DEVICE.INTFLAG.reg; -} - -static inline void hri_usbdevice_clear_INTFLAG_reg(const void *const hw, hri_usbdevice_intflag_reg_t mask) -{ - ((Usb *)hw)->DEVICE.INTFLAG.reg = mask; -} - -static inline bool hri_usbhost_get_INTFLAG_HSOF_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_HSOF) >> USB_HOST_INTFLAG_HSOF_Pos; -} - -static inline void hri_usbhost_clear_INTFLAG_HSOF_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_HSOF; -} - -static inline bool hri_usbhost_get_INTFLAG_RST_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_RST) >> USB_HOST_INTFLAG_RST_Pos; -} - -static inline void hri_usbhost_clear_INTFLAG_RST_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_RST; -} - -static inline bool hri_usbhost_get_INTFLAG_WAKEUP_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_WAKEUP) >> USB_HOST_INTFLAG_WAKEUP_Pos; -} - -static inline void hri_usbhost_clear_INTFLAG_WAKEUP_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_WAKEUP; -} - -static inline bool hri_usbhost_get_INTFLAG_DNRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DNRSM) >> USB_HOST_INTFLAG_DNRSM_Pos; -} - -static inline void hri_usbhost_clear_INTFLAG_DNRSM_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DNRSM; -} - -static inline bool hri_usbhost_get_INTFLAG_UPRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_UPRSM) >> USB_HOST_INTFLAG_UPRSM_Pos; -} - -static inline void hri_usbhost_clear_INTFLAG_UPRSM_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_UPRSM; -} - -static inline bool hri_usbhost_get_INTFLAG_RAMACER_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_RAMACER) >> USB_HOST_INTFLAG_RAMACER_Pos; -} - -static inline void hri_usbhost_clear_INTFLAG_RAMACER_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_RAMACER; -} - -static inline bool hri_usbhost_get_INTFLAG_DCONN_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DCONN) >> USB_HOST_INTFLAG_DCONN_Pos; -} - -static inline void hri_usbhost_clear_INTFLAG_DCONN_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DCONN; -} - -static inline bool hri_usbhost_get_INTFLAG_DDISC_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DDISC) >> USB_HOST_INTFLAG_DDISC_Pos; -} - -static inline void hri_usbhost_clear_INTFLAG_DDISC_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DDISC; -} - -static inline bool hri_usbhost_get_interrupt_HSOF_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_HSOF) >> USB_HOST_INTFLAG_HSOF_Pos; -} - -static inline void hri_usbhost_clear_interrupt_HSOF_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_HSOF; -} - -static inline bool hri_usbhost_get_interrupt_RST_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_RST) >> USB_HOST_INTFLAG_RST_Pos; -} - -static inline void hri_usbhost_clear_interrupt_RST_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_RST; -} - -static inline bool hri_usbhost_get_interrupt_WAKEUP_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_WAKEUP) >> USB_HOST_INTFLAG_WAKEUP_Pos; -} - -static inline void hri_usbhost_clear_interrupt_WAKEUP_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_WAKEUP; -} - -static inline bool hri_usbhost_get_interrupt_DNRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DNRSM) >> USB_HOST_INTFLAG_DNRSM_Pos; -} - -static inline void hri_usbhost_clear_interrupt_DNRSM_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DNRSM; -} - -static inline bool hri_usbhost_get_interrupt_UPRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_UPRSM) >> USB_HOST_INTFLAG_UPRSM_Pos; -} - -static inline void hri_usbhost_clear_interrupt_UPRSM_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_UPRSM; -} - -static inline bool hri_usbhost_get_interrupt_RAMACER_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_RAMACER) >> USB_HOST_INTFLAG_RAMACER_Pos; -} - -static inline void hri_usbhost_clear_interrupt_RAMACER_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_RAMACER; -} - -static inline bool hri_usbhost_get_interrupt_DCONN_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DCONN) >> USB_HOST_INTFLAG_DCONN_Pos; -} - -static inline void hri_usbhost_clear_interrupt_DCONN_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DCONN; -} - -static inline bool hri_usbhost_get_interrupt_DDISC_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DDISC) >> USB_HOST_INTFLAG_DDISC_Pos; -} - -static inline void hri_usbhost_clear_interrupt_DDISC_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DDISC; -} - -static inline hri_usbhost_intflag_reg_t hri_usbhost_get_INTFLAG_reg(const void *const hw, - hri_usbhost_intflag_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbhost_intflag_reg_t hri_usbhost_read_INTFLAG_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.INTFLAG.reg; -} - -static inline void hri_usbhost_clear_INTFLAG_reg(const void *const hw, hri_usbhost_intflag_reg_t mask) -{ - ((Usb *)hw)->HOST.INTFLAG.reg = mask; -} - -static inline void hri_usbdevice_set_INTEN_SUSPEND_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_SUSPEND; -} - -static inline bool hri_usbdevice_get_INTEN_SUSPEND_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_SUSPEND) >> USB_DEVICE_INTENSET_SUSPEND_Pos; -} - -static inline void hri_usbdevice_write_INTEN_SUSPEND_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_SUSPEND; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_SUSPEND; - } -} - -static inline void hri_usbdevice_clear_INTEN_SUSPEND_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_SUSPEND; -} - -static inline void hri_usbdevice_set_INTEN_MSOF_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_MSOF; -} - -static inline bool hri_usbdevice_get_INTEN_MSOF_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_MSOF) >> USB_DEVICE_INTENSET_MSOF_Pos; -} - -static inline void hri_usbdevice_write_INTEN_MSOF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_MSOF; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_MSOF; - } -} - -static inline void hri_usbdevice_clear_INTEN_MSOF_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_MSOF; -} - -static inline void hri_usbdevice_set_INTEN_SOF_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_SOF; -} - -static inline bool hri_usbdevice_get_INTEN_SOF_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_SOF) >> USB_DEVICE_INTENSET_SOF_Pos; -} - -static inline void hri_usbdevice_write_INTEN_SOF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_SOF; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_SOF; - } -} - -static inline void hri_usbdevice_clear_INTEN_SOF_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_SOF; -} - -static inline void hri_usbdevice_set_INTEN_EORST_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_EORST; -} - -static inline bool hri_usbdevice_get_INTEN_EORST_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_EORST) >> USB_DEVICE_INTENSET_EORST_Pos; -} - -static inline void hri_usbdevice_write_INTEN_EORST_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_EORST; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_EORST; - } -} - -static inline void hri_usbdevice_clear_INTEN_EORST_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_EORST; -} - -static inline void hri_usbdevice_set_INTEN_WAKEUP_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_WAKEUP; -} - -static inline bool hri_usbdevice_get_INTEN_WAKEUP_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_WAKEUP) >> USB_DEVICE_INTENSET_WAKEUP_Pos; -} - -static inline void hri_usbdevice_write_INTEN_WAKEUP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_WAKEUP; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_WAKEUP; - } -} - -static inline void hri_usbdevice_clear_INTEN_WAKEUP_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_WAKEUP; -} - -static inline void hri_usbdevice_set_INTEN_EORSM_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_EORSM; -} - -static inline bool hri_usbdevice_get_INTEN_EORSM_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_EORSM) >> USB_DEVICE_INTENSET_EORSM_Pos; -} - -static inline void hri_usbdevice_write_INTEN_EORSM_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_EORSM; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_EORSM; - } -} - -static inline void hri_usbdevice_clear_INTEN_EORSM_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_EORSM; -} - -static inline void hri_usbdevice_set_INTEN_UPRSM_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_UPRSM; -} - -static inline bool hri_usbdevice_get_INTEN_UPRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_UPRSM) >> USB_DEVICE_INTENSET_UPRSM_Pos; -} - -static inline void hri_usbdevice_write_INTEN_UPRSM_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_UPRSM; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_UPRSM; - } -} - -static inline void hri_usbdevice_clear_INTEN_UPRSM_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_UPRSM; -} - -static inline void hri_usbdevice_set_INTEN_RAMACER_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_RAMACER; -} - -static inline bool hri_usbdevice_get_INTEN_RAMACER_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_RAMACER) >> USB_DEVICE_INTENSET_RAMACER_Pos; -} - -static inline void hri_usbdevice_write_INTEN_RAMACER_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_RAMACER; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_RAMACER; - } -} - -static inline void hri_usbdevice_clear_INTEN_RAMACER_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_RAMACER; -} - -static inline void hri_usbdevice_set_INTEN_LPMNYET_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_LPMNYET; -} - -static inline bool hri_usbdevice_get_INTEN_LPMNYET_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_LPMNYET) >> USB_DEVICE_INTENSET_LPMNYET_Pos; -} - -static inline void hri_usbdevice_write_INTEN_LPMNYET_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_LPMNYET; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_LPMNYET; - } -} - -static inline void hri_usbdevice_clear_INTEN_LPMNYET_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_LPMNYET; -} - -static inline void hri_usbdevice_set_INTEN_LPMSUSP_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_LPMSUSP; -} - -static inline bool hri_usbdevice_get_INTEN_LPMSUSP_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_LPMSUSP) >> USB_DEVICE_INTENSET_LPMSUSP_Pos; -} - -static inline void hri_usbdevice_write_INTEN_LPMSUSP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_LPMSUSP; - } else { - ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_LPMSUSP; - } -} - -static inline void hri_usbdevice_clear_INTEN_LPMSUSP_bit(const void *const hw) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_LPMSUSP; -} - -static inline void hri_usbdevice_set_INTEN_reg(const void *const hw, hri_usbdevice_intenset_reg_t mask) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = mask; -} - -static inline hri_usbdevice_intenset_reg_t hri_usbdevice_get_INTEN_reg(const void *const hw, - hri_usbdevice_intenset_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbdevice_intenset_reg_t hri_usbdevice_read_INTEN_reg(const void *const hw) -{ - return ((Usb *)hw)->DEVICE.INTENSET.reg; -} - -static inline void hri_usbdevice_write_INTEN_reg(const void *const hw, hri_usbdevice_intenset_reg_t data) -{ - ((Usb *)hw)->DEVICE.INTENSET.reg = data; - ((Usb *)hw)->DEVICE.INTENCLR.reg = ~data; -} - -static inline void hri_usbdevice_clear_INTEN_reg(const void *const hw, hri_usbdevice_intenset_reg_t mask) -{ - ((Usb *)hw)->DEVICE.INTENCLR.reg = mask; -} - -static inline void hri_usbhost_set_INTEN_HSOF_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_HSOF; -} - -static inline bool hri_usbhost_get_INTEN_HSOF_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_HSOF) >> USB_HOST_INTENSET_HSOF_Pos; -} - -static inline void hri_usbhost_write_INTEN_HSOF_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_HSOF; - } else { - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_HSOF; - } -} - -static inline void hri_usbhost_clear_INTEN_HSOF_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_HSOF; -} - -static inline void hri_usbhost_set_INTEN_RST_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_RST; -} - -static inline bool hri_usbhost_get_INTEN_RST_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_RST) >> USB_HOST_INTENSET_RST_Pos; -} - -static inline void hri_usbhost_write_INTEN_RST_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_RST; - } else { - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_RST; - } -} - -static inline void hri_usbhost_clear_INTEN_RST_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_RST; -} - -static inline void hri_usbhost_set_INTEN_WAKEUP_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_WAKEUP; -} - -static inline bool hri_usbhost_get_INTEN_WAKEUP_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_WAKEUP) >> USB_HOST_INTENSET_WAKEUP_Pos; -} - -static inline void hri_usbhost_write_INTEN_WAKEUP_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_WAKEUP; - } else { - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_WAKEUP; - } -} - -static inline void hri_usbhost_clear_INTEN_WAKEUP_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_WAKEUP; -} - -static inline void hri_usbhost_set_INTEN_DNRSM_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DNRSM; -} - -static inline bool hri_usbhost_get_INTEN_DNRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_DNRSM) >> USB_HOST_INTENSET_DNRSM_Pos; -} - -static inline void hri_usbhost_write_INTEN_DNRSM_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DNRSM; - } else { - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DNRSM; - } -} - -static inline void hri_usbhost_clear_INTEN_DNRSM_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DNRSM; -} - -static inline void hri_usbhost_set_INTEN_UPRSM_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_UPRSM; -} - -static inline bool hri_usbhost_get_INTEN_UPRSM_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_UPRSM) >> USB_HOST_INTENSET_UPRSM_Pos; -} - -static inline void hri_usbhost_write_INTEN_UPRSM_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_UPRSM; - } else { - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_UPRSM; - } -} - -static inline void hri_usbhost_clear_INTEN_UPRSM_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_UPRSM; -} - -static inline void hri_usbhost_set_INTEN_RAMACER_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_RAMACER; -} - -static inline bool hri_usbhost_get_INTEN_RAMACER_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_RAMACER) >> USB_HOST_INTENSET_RAMACER_Pos; -} - -static inline void hri_usbhost_write_INTEN_RAMACER_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_RAMACER; - } else { - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_RAMACER; - } -} - -static inline void hri_usbhost_clear_INTEN_RAMACER_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_RAMACER; -} - -static inline void hri_usbhost_set_INTEN_DCONN_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DCONN; -} - -static inline bool hri_usbhost_get_INTEN_DCONN_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_DCONN) >> USB_HOST_INTENSET_DCONN_Pos; -} - -static inline void hri_usbhost_write_INTEN_DCONN_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DCONN; - } else { - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DCONN; - } -} - -static inline void hri_usbhost_clear_INTEN_DCONN_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DCONN; -} - -static inline void hri_usbhost_set_INTEN_DDISC_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DDISC; -} - -static inline bool hri_usbhost_get_INTEN_DDISC_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_DDISC) >> USB_HOST_INTENSET_DDISC_Pos; -} - -static inline void hri_usbhost_write_INTEN_DDISC_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DDISC; - } else { - ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DDISC; - } -} - -static inline void hri_usbhost_clear_INTEN_DDISC_bit(const void *const hw) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DDISC; -} - -static inline void hri_usbhost_set_INTEN_reg(const void *const hw, hri_usbhost_intenset_reg_t mask) -{ - ((Usb *)hw)->HOST.INTENSET.reg = mask; -} - -static inline hri_usbhost_intenset_reg_t hri_usbhost_get_INTEN_reg(const void *const hw, - hri_usbhost_intenset_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbhost_intenset_reg_t hri_usbhost_read_INTEN_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.INTENSET.reg; -} - -static inline void hri_usbhost_write_INTEN_reg(const void *const hw, hri_usbhost_intenset_reg_t data) -{ - ((Usb *)hw)->HOST.INTENSET.reg = data; - ((Usb *)hw)->HOST.INTENCLR.reg = ~data; -} - -static inline void hri_usbhost_clear_INTEN_reg(const void *const hw, hri_usbhost_intenset_reg_t mask) -{ - ((Usb *)hw)->HOST.INTENCLR.reg = mask; -} - -static inline bool hri_usb_get_SYNCBUSY_SWRST_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.SYNCBUSY.reg & USB_SYNCBUSY_SWRST) >> USB_SYNCBUSY_SWRST_Pos; -} - -static inline bool hri_usb_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.SYNCBUSY.reg & USB_SYNCBUSY_ENABLE) >> USB_SYNCBUSY_ENABLE_Pos; -} - -static inline hri_usb_syncbusy_reg_t hri_usb_get_SYNCBUSY_reg(const void *const hw, hri_usb_syncbusy_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usb_syncbusy_reg_t hri_usb_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.SYNCBUSY.reg; -} - -static inline hri_usbdevice_status_reg_t hri_usbdevice_get_STATUS_SPEED_bf(const void *const hw, - hri_usbdevice_status_reg_t mask) -{ - return (((Usb *)hw)->DEVICE.STATUS.reg & USB_DEVICE_STATUS_SPEED(mask)) >> USB_DEVICE_STATUS_SPEED_Pos; -} - -static inline hri_usbdevice_status_reg_t hri_usbdevice_read_STATUS_SPEED_bf(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.STATUS.reg & USB_DEVICE_STATUS_SPEED_Msk) >> USB_DEVICE_STATUS_SPEED_Pos; -} - -static inline hri_usbdevice_status_reg_t hri_usbdevice_get_STATUS_LINESTATE_bf(const void *const hw, - hri_usbdevice_status_reg_t mask) -{ - return (((Usb *)hw)->DEVICE.STATUS.reg & USB_DEVICE_STATUS_LINESTATE(mask)) >> USB_DEVICE_STATUS_LINESTATE_Pos; -} - -static inline hri_usbdevice_status_reg_t hri_usbdevice_read_STATUS_LINESTATE_bf(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.STATUS.reg & USB_DEVICE_STATUS_LINESTATE_Msk) >> USB_DEVICE_STATUS_LINESTATE_Pos; -} - -static inline hri_usbdevice_status_reg_t hri_usbdevice_get_STATUS_reg(const void *const hw, - hri_usbdevice_status_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbdevice_status_reg_t hri_usbdevice_read_STATUS_reg(const void *const hw) -{ - return ((Usb *)hw)->DEVICE.STATUS.reg; -} - -static inline hri_usb_fsmstatus_reg_t hri_usb_get_FSMSTATUS_FSMSTATE_bf(const void *const hw, - hri_usb_fsmstatus_reg_t mask) -{ - return (((Usb *)hw)->HOST.FSMSTATUS.reg & USB_FSMSTATUS_FSMSTATE(mask)) >> USB_FSMSTATUS_FSMSTATE_Pos; -} - -static inline hri_usb_fsmstatus_reg_t hri_usb_read_FSMSTATUS_FSMSTATE_bf(const void *const hw) -{ - return (((Usb *)hw)->HOST.FSMSTATUS.reg & USB_FSMSTATUS_FSMSTATE_Msk) >> USB_FSMSTATUS_FSMSTATE_Pos; -} - -static inline hri_usb_fsmstatus_reg_t hri_usb_get_FSMSTATUS_reg(const void *const hw, hri_usb_fsmstatus_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.FSMSTATUS.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usb_fsmstatus_reg_t hri_usb_read_FSMSTATUS_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.FSMSTATUS.reg; -} - -static inline bool hri_usbdevice_get_FNUM_FNCERR_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_FNCERR) >> USB_DEVICE_FNUM_FNCERR_Pos; -} - -static inline hri_usbdevice_fnum_reg_t hri_usbdevice_get_FNUM_MFNUM_bf(const void *const hw, - hri_usbdevice_fnum_reg_t mask) -{ - return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_MFNUM(mask)) >> USB_DEVICE_FNUM_MFNUM_Pos; -} - -static inline hri_usbdevice_fnum_reg_t hri_usbdevice_read_FNUM_MFNUM_bf(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_MFNUM_Msk) >> USB_DEVICE_FNUM_MFNUM_Pos; -} - -static inline hri_usbdevice_fnum_reg_t hri_usbdevice_get_FNUM_FNUM_bf(const void *const hw, - hri_usbdevice_fnum_reg_t mask) -{ - return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_FNUM(mask)) >> USB_DEVICE_FNUM_FNUM_Pos; -} - -static inline hri_usbdevice_fnum_reg_t hri_usbdevice_read_FNUM_FNUM_bf(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_FNUM_Msk) >> USB_DEVICE_FNUM_FNUM_Pos; -} - -static inline hri_usbdevice_fnum_reg_t hri_usbdevice_get_FNUM_reg(const void *const hw, hri_usbdevice_fnum_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.FNUM.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbdevice_fnum_reg_t hri_usbdevice_read_FNUM_reg(const void *const hw) -{ - return ((Usb *)hw)->DEVICE.FNUM.reg; -} - -static inline hri_usbhost_flenhigh_reg_t hri_usbhost_get_FLENHIGH_FLENHIGH_bf(const void *const hw, - hri_usbhost_flenhigh_reg_t mask) -{ - return (((Usb *)hw)->HOST.FLENHIGH.reg & USB_HOST_FLENHIGH_FLENHIGH(mask)) >> USB_HOST_FLENHIGH_FLENHIGH_Pos; -} - -static inline hri_usbhost_flenhigh_reg_t hri_usbhost_read_FLENHIGH_FLENHIGH_bf(const void *const hw) -{ - return (((Usb *)hw)->HOST.FLENHIGH.reg & USB_HOST_FLENHIGH_FLENHIGH_Msk) >> USB_HOST_FLENHIGH_FLENHIGH_Pos; -} - -static inline hri_usbhost_flenhigh_reg_t hri_usbhost_get_FLENHIGH_reg(const void *const hw, - hri_usbhost_flenhigh_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.FLENHIGH.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbhost_flenhigh_reg_t hri_usbhost_read_FLENHIGH_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.FLENHIGH.reg; -} - -static inline bool hri_usbdevice_get_EPINTSMRY_EPINT0_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT0) >> USB_DEVICE_EPINTSMRY_EPINT0_Pos; -} - -static inline bool hri_usbdevice_get_EPINTSMRY_EPINT1_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT1) >> USB_DEVICE_EPINTSMRY_EPINT1_Pos; -} - -static inline bool hri_usbdevice_get_EPINTSMRY_EPINT2_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT2) >> USB_DEVICE_EPINTSMRY_EPINT2_Pos; -} - -static inline bool hri_usbdevice_get_EPINTSMRY_EPINT3_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT3) >> USB_DEVICE_EPINTSMRY_EPINT3_Pos; -} - -static inline bool hri_usbdevice_get_EPINTSMRY_EPINT4_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT4) >> USB_DEVICE_EPINTSMRY_EPINT4_Pos; -} - -static inline bool hri_usbdevice_get_EPINTSMRY_EPINT5_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT5) >> USB_DEVICE_EPINTSMRY_EPINT5_Pos; -} - -static inline bool hri_usbdevice_get_EPINTSMRY_EPINT6_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT6) >> USB_DEVICE_EPINTSMRY_EPINT6_Pos; -} - -static inline bool hri_usbdevice_get_EPINTSMRY_EPINT7_bit(const void *const hw) -{ - return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT7) >> USB_DEVICE_EPINTSMRY_EPINT7_Pos; -} - -static inline hri_usbdevice_epintsmry_reg_t hri_usbdevice_get_EPINTSMRY_reg(const void *const hw, - hri_usbdevice_epintsmry_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.EPINTSMRY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbdevice_epintsmry_reg_t hri_usbdevice_read_EPINTSMRY_reg(const void *const hw) -{ - return ((Usb *)hw)->DEVICE.EPINTSMRY.reg; -} - -static inline bool hri_usbhost_get_PINTSMRY_EPINT0_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT0) >> USB_HOST_PINTSMRY_EPINT0_Pos; -} - -static inline bool hri_usbhost_get_PINTSMRY_EPINT1_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT1) >> USB_HOST_PINTSMRY_EPINT1_Pos; -} - -static inline bool hri_usbhost_get_PINTSMRY_EPINT2_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT2) >> USB_HOST_PINTSMRY_EPINT2_Pos; -} - -static inline bool hri_usbhost_get_PINTSMRY_EPINT3_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT3) >> USB_HOST_PINTSMRY_EPINT3_Pos; -} - -static inline bool hri_usbhost_get_PINTSMRY_EPINT4_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT4) >> USB_HOST_PINTSMRY_EPINT4_Pos; -} - -static inline bool hri_usbhost_get_PINTSMRY_EPINT5_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT5) >> USB_HOST_PINTSMRY_EPINT5_Pos; -} - -static inline bool hri_usbhost_get_PINTSMRY_EPINT6_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT6) >> USB_HOST_PINTSMRY_EPINT6_Pos; -} - -static inline bool hri_usbhost_get_PINTSMRY_EPINT7_bit(const void *const hw) -{ - return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT7) >> USB_HOST_PINTSMRY_EPINT7_Pos; -} - -static inline hri_usbhost_pintsmry_reg_t hri_usbhost_get_PINTSMRY_reg(const void *const hw, - hri_usbhost_pintsmry_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.PINTSMRY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_usbhost_pintsmry_reg_t hri_usbhost_read_PINTSMRY_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.PINTSMRY.reg; -} - -static inline void hri_usb_set_CTRLA_SWRST_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg |= USB_CTRLA_SWRST; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usb_get_CTRLA_SWRST_bit(const void *const hw) -{ - uint8_t tmp; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST); - tmp = ((Usb *)hw)->HOST.CTRLA.reg; - tmp = (tmp & USB_CTRLA_SWRST) >> USB_CTRLA_SWRST_Pos; - return (bool)tmp; -} - -static inline void hri_usb_set_CTRLA_ENABLE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg |= USB_CTRLA_ENABLE; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usb_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE); - tmp = ((Usb *)hw)->HOST.CTRLA.reg; - tmp = (tmp & USB_CTRLA_ENABLE) >> USB_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_usb_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLA.reg; - tmp &= ~USB_CTRLA_ENABLE; - tmp |= value << USB_CTRLA_ENABLE_Pos; - ((Usb *)hw)->HOST.CTRLA.reg = tmp; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg &= ~USB_CTRLA_ENABLE; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg ^= USB_CTRLA_ENABLE; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_set_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg |= USB_CTRLA_RUNSTDBY; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usb_get_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLA.reg; - tmp = (tmp & USB_CTRLA_RUNSTDBY) >> USB_CTRLA_RUNSTDBY_Pos; - return (bool)tmp; -} - -static inline void hri_usb_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLA.reg; - tmp &= ~USB_CTRLA_RUNSTDBY; - tmp |= value << USB_CTRLA_RUNSTDBY_Pos; - ((Usb *)hw)->HOST.CTRLA.reg = tmp; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg &= ~USB_CTRLA_RUNSTDBY; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_CTRLA_RUNSTDBY_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg ^= USB_CTRLA_RUNSTDBY; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_set_CTRLA_MODE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg |= USB_CTRLA_MODE; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usb_get_CTRLA_MODE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLA.reg; - tmp = (tmp & USB_CTRLA_MODE) >> USB_CTRLA_MODE_Pos; - return (bool)tmp; -} - -static inline void hri_usb_write_CTRLA_MODE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLA.reg; - tmp &= ~USB_CTRLA_MODE; - tmp |= value << USB_CTRLA_MODE_Pos; - ((Usb *)hw)->HOST.CTRLA.reg = tmp; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_CTRLA_MODE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg &= ~USB_CTRLA_MODE; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_CTRLA_MODE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg ^= USB_CTRLA_MODE; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_set_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg |= mask; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_ctrla_reg_t hri_usb_get_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t mask) -{ - uint8_t tmp; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - tmp = ((Usb *)hw)->HOST.CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usb_write_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg = data; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg &= ~mask; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLA.reg ^= mask; - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_ctrla_reg_t hri_usb_read_CTRLA_reg(const void *const hw) -{ - hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK); - return ((Usb *)hw)->HOST.CTRLA.reg; -} - -static inline void hri_usb_set_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg |= USB_QOSCTRL_CQOS(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_qosctrl_reg_t hri_usb_get_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.QOSCTRL.reg; - tmp = (tmp & USB_QOSCTRL_CQOS(mask)) >> USB_QOSCTRL_CQOS_Pos; - return tmp; -} - -static inline void hri_usb_write_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.QOSCTRL.reg; - tmp &= ~USB_QOSCTRL_CQOS_Msk; - tmp |= USB_QOSCTRL_CQOS(data); - ((Usb *)hw)->HOST.QOSCTRL.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg &= ~USB_QOSCTRL_CQOS(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg ^= USB_QOSCTRL_CQOS(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_qosctrl_reg_t hri_usb_read_QOSCTRL_CQOS_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.QOSCTRL.reg; - tmp = (tmp & USB_QOSCTRL_CQOS_Msk) >> USB_QOSCTRL_CQOS_Pos; - return tmp; -} - -static inline void hri_usb_set_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg |= USB_QOSCTRL_DQOS(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_qosctrl_reg_t hri_usb_get_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.QOSCTRL.reg; - tmp = (tmp & USB_QOSCTRL_DQOS(mask)) >> USB_QOSCTRL_DQOS_Pos; - return tmp; -} - -static inline void hri_usb_write_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.QOSCTRL.reg; - tmp &= ~USB_QOSCTRL_DQOS_Msk; - tmp |= USB_QOSCTRL_DQOS(data); - ((Usb *)hw)->HOST.QOSCTRL.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg &= ~USB_QOSCTRL_DQOS(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg ^= USB_QOSCTRL_DQOS(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_qosctrl_reg_t hri_usb_read_QOSCTRL_DQOS_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.QOSCTRL.reg; - tmp = (tmp & USB_QOSCTRL_DQOS_Msk) >> USB_QOSCTRL_DQOS_Pos; - return tmp; -} - -static inline void hri_usb_set_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_qosctrl_reg_t hri_usb_get_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.QOSCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usb_write_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.QOSCTRL.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_qosctrl_reg_t hri_usb_read_QOSCTRL_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.QOSCTRL.reg; -} - -static inline void hri_usbdevice_set_CTRLB_DETACH_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_DETACH; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_CTRLB_DETACH_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_DETACH) >> USB_DEVICE_CTRLB_DETACH_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_CTRLB_DETACH_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_DETACH; - tmp |= value << USB_DEVICE_CTRLB_DETACH_Pos; - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_DETACH_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_DETACH; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_DETACH_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_DETACH; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_CTRLB_UPRSM_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_UPRSM; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_CTRLB_UPRSM_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_UPRSM) >> USB_DEVICE_CTRLB_UPRSM_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_CTRLB_UPRSM_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_UPRSM; - tmp |= value << USB_DEVICE_CTRLB_UPRSM_Pos; - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_UPRSM_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_UPRSM; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_UPRSM_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_UPRSM; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_CTRLB_NREPLY_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_NREPLY; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_CTRLB_NREPLY_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_NREPLY) >> USB_DEVICE_CTRLB_NREPLY_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_CTRLB_NREPLY_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_NREPLY; - tmp |= value << USB_DEVICE_CTRLB_NREPLY_Pos; - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_NREPLY_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_NREPLY; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_NREPLY_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_NREPLY; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_CTRLB_TSTJ_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_TSTJ; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_CTRLB_TSTJ_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_TSTJ) >> USB_DEVICE_CTRLB_TSTJ_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_CTRLB_TSTJ_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_TSTJ; - tmp |= value << USB_DEVICE_CTRLB_TSTJ_Pos; - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_TSTJ_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_TSTJ; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_TSTJ_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_TSTJ; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_CTRLB_TSTK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_TSTK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_CTRLB_TSTK_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_TSTK) >> USB_DEVICE_CTRLB_TSTK_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_CTRLB_TSTK_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_TSTK; - tmp |= value << USB_DEVICE_CTRLB_TSTK_Pos; - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_TSTK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_TSTK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_TSTK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_TSTK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_CTRLB_TSTPCKT_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_TSTPCKT; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_CTRLB_TSTPCKT_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_TSTPCKT) >> USB_DEVICE_CTRLB_TSTPCKT_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_CTRLB_TSTPCKT_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_TSTPCKT; - tmp |= value << USB_DEVICE_CTRLB_TSTPCKT_Pos; - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_TSTPCKT_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_TSTPCKT; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_TSTPCKT_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_TSTPCKT; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_CTRLB_OPMODE2_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_OPMODE2; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_CTRLB_OPMODE2_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_OPMODE2) >> USB_DEVICE_CTRLB_OPMODE2_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_CTRLB_OPMODE2_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_OPMODE2; - tmp |= value << USB_DEVICE_CTRLB_OPMODE2_Pos; - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_OPMODE2_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_OPMODE2; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_OPMODE2_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_OPMODE2; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_CTRLB_GNAK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_GNAK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_CTRLB_GNAK_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_GNAK) >> USB_DEVICE_CTRLB_GNAK_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_CTRLB_GNAK_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_GNAK; - tmp |= value << USB_DEVICE_CTRLB_GNAK_Pos; - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_GNAK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_GNAK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_GNAK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_GNAK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_CTRLB_SPDCONF_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_SPDCONF(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_get_CTRLB_SPDCONF_bf(const void *const hw, - hri_usbdevice_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_SPDCONF(mask)) >> USB_DEVICE_CTRLB_SPDCONF_Pos; - return tmp; -} - -static inline void hri_usbdevice_write_CTRLB_SPDCONF_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_SPDCONF_Msk; - tmp |= USB_DEVICE_CTRLB_SPDCONF(data); - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_SPDCONF_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_SPDCONF(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_SPDCONF_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_SPDCONF(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_read_CTRLB_SPDCONF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_SPDCONF_Msk) >> USB_DEVICE_CTRLB_SPDCONF_Pos; - return tmp; -} - -static inline void hri_usbdevice_set_CTRLB_LPMHDSK_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_LPMHDSK(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_get_CTRLB_LPMHDSK_bf(const void *const hw, - hri_usbdevice_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_LPMHDSK(mask)) >> USB_DEVICE_CTRLB_LPMHDSK_Pos; - return tmp; -} - -static inline void hri_usbdevice_write_CTRLB_LPMHDSK_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= ~USB_DEVICE_CTRLB_LPMHDSK_Msk; - tmp |= USB_DEVICE_CTRLB_LPMHDSK(data); - ((Usb *)hw)->DEVICE.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_LPMHDSK_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_LPMHDSK(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_LPMHDSK_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_LPMHDSK(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_read_CTRLB_LPMHDSK_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp = (tmp & USB_DEVICE_CTRLB_LPMHDSK_Msk) >> USB_DEVICE_CTRLB_LPMHDSK_Pos; - return tmp; -} - -static inline void hri_usbdevice_set_CTRLB_reg(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_get_CTRLB_reg(const void *const hw, - hri_usbdevice_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->DEVICE.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevice_write_CTRLB_reg(const void *const hw, hri_usbdevice_ctrlb_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_CTRLB_reg(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_CTRLB_reg(const void *const hw, hri_usbdevice_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.CTRLB.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_read_CTRLB_reg(const void *const hw) -{ - return ((Usb *)hw)->DEVICE.CTRLB.reg; -} - -static inline void hri_usbhost_set_CTRLB_RESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_RESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_CTRLB_RESUME_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_RESUME) >> USB_HOST_CTRLB_RESUME_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_CTRLB_RESUME_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_RESUME; - tmp |= value << USB_HOST_CTRLB_RESUME_Pos; - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_RESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_RESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_RESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_RESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_CTRLB_AUTORESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_AUTORESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_CTRLB_AUTORESUME_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_AUTORESUME) >> USB_HOST_CTRLB_AUTORESUME_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_CTRLB_AUTORESUME_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_AUTORESUME; - tmp |= value << USB_HOST_CTRLB_AUTORESUME_Pos; - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_AUTORESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_AUTORESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_AUTORESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_AUTORESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_CTRLB_TSTJ_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_TSTJ; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_CTRLB_TSTJ_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_TSTJ) >> USB_HOST_CTRLB_TSTJ_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_CTRLB_TSTJ_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_TSTJ; - tmp |= value << USB_HOST_CTRLB_TSTJ_Pos; - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_TSTJ_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_TSTJ; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_TSTJ_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_TSTJ; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_CTRLB_TSTK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_TSTK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_CTRLB_TSTK_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_TSTK) >> USB_HOST_CTRLB_TSTK_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_CTRLB_TSTK_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_TSTK; - tmp |= value << USB_HOST_CTRLB_TSTK_Pos; - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_TSTK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_TSTK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_TSTK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_TSTK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_CTRLB_SOFE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_SOFE; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_CTRLB_SOFE_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_SOFE) >> USB_HOST_CTRLB_SOFE_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_CTRLB_SOFE_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_SOFE; - tmp |= value << USB_HOST_CTRLB_SOFE_Pos; - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_SOFE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_SOFE; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_SOFE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_SOFE; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_CTRLB_BUSRESET_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_BUSRESET; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_CTRLB_BUSRESET_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_BUSRESET) >> USB_HOST_CTRLB_BUSRESET_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_CTRLB_BUSRESET_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_BUSRESET; - tmp |= value << USB_HOST_CTRLB_BUSRESET_Pos; - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_BUSRESET_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_BUSRESET; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_BUSRESET_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_BUSRESET; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_CTRLB_VBUSOK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_VBUSOK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_CTRLB_VBUSOK_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_VBUSOK) >> USB_HOST_CTRLB_VBUSOK_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_CTRLB_VBUSOK_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_VBUSOK; - tmp |= value << USB_HOST_CTRLB_VBUSOK_Pos; - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_VBUSOK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_VBUSOK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_VBUSOK_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_VBUSOK; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_CTRLB_L1RESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_L1RESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_CTRLB_L1RESUME_bit(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_L1RESUME) >> USB_HOST_CTRLB_L1RESUME_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_CTRLB_L1RESUME_bit(const void *const hw, bool value) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_L1RESUME; - tmp |= value << USB_HOST_CTRLB_L1RESUME_Pos; - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_L1RESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_L1RESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_L1RESUME_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_L1RESUME; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_CTRLB_SPDCONF_bf(const void *const hw, hri_usbhost_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_SPDCONF(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_ctrlb_reg_t hri_usbhost_get_CTRLB_SPDCONF_bf(const void *const hw, - hri_usbhost_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_SPDCONF(mask)) >> USB_HOST_CTRLB_SPDCONF_Pos; - return tmp; -} - -static inline void hri_usbhost_write_CTRLB_SPDCONF_bf(const void *const hw, hri_usbhost_ctrlb_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= ~USB_HOST_CTRLB_SPDCONF_Msk; - tmp |= USB_HOST_CTRLB_SPDCONF(data); - ((Usb *)hw)->HOST.CTRLB.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_SPDCONF_bf(const void *const hw, hri_usbhost_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_SPDCONF(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_SPDCONF_bf(const void *const hw, hri_usbhost_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_SPDCONF(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_ctrlb_reg_t hri_usbhost_read_CTRLB_SPDCONF_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp = (tmp & USB_HOST_CTRLB_SPDCONF_Msk) >> USB_HOST_CTRLB_SPDCONF_Pos; - return tmp; -} - -static inline void hri_usbhost_set_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_ctrlb_reg_t hri_usbhost_get_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.CTRLB.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhost_write_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.CTRLB.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_ctrlb_reg_t hri_usbhost_read_CTRLB_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.CTRLB.reg; -} - -static inline void hri_usbdevice_set_DADD_ADDEN_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg |= USB_DEVICE_DADD_ADDEN; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevice_get_DADD_ADDEN_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DADD.reg; - tmp = (tmp & USB_DEVICE_DADD_ADDEN) >> USB_DEVICE_DADD_ADDEN_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevice_write_DADD_ADDEN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.DADD.reg; - tmp &= ~USB_DEVICE_DADD_ADDEN; - tmp |= value << USB_DEVICE_DADD_ADDEN_Pos; - ((Usb *)hw)->DEVICE.DADD.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_DADD_ADDEN_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg &= ~USB_DEVICE_DADD_ADDEN; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_DADD_ADDEN_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg ^= USB_DEVICE_DADD_ADDEN; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_set_DADD_DADD_bf(const void *const hw, hri_usbdevice_dadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg |= USB_DEVICE_DADD_DADD(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_dadd_reg_t hri_usbdevice_get_DADD_DADD_bf(const void *const hw, - hri_usbdevice_dadd_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DADD.reg; - tmp = (tmp & USB_DEVICE_DADD_DADD(mask)) >> USB_DEVICE_DADD_DADD_Pos; - return tmp; -} - -static inline void hri_usbdevice_write_DADD_DADD_bf(const void *const hw, hri_usbdevice_dadd_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->DEVICE.DADD.reg; - tmp &= ~USB_DEVICE_DADD_DADD_Msk; - tmp |= USB_DEVICE_DADD_DADD(data); - ((Usb *)hw)->DEVICE.DADD.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_DADD_DADD_bf(const void *const hw, hri_usbdevice_dadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg &= ~USB_DEVICE_DADD_DADD(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_DADD_DADD_bf(const void *const hw, hri_usbdevice_dadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg ^= USB_DEVICE_DADD_DADD(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_dadd_reg_t hri_usbdevice_read_DADD_DADD_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DADD.reg; - tmp = (tmp & USB_DEVICE_DADD_DADD_Msk) >> USB_DEVICE_DADD_DADD_Pos; - return tmp; -} - -static inline void hri_usbdevice_set_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_dadd_reg_t hri_usbdevice_get_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->DEVICE.DADD.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevice_write_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_clear_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevice_toggle_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->DEVICE.DADD.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdevice_dadd_reg_t hri_usbdevice_read_DADD_reg(const void *const hw) -{ - return ((Usb *)hw)->DEVICE.DADD.reg; -} - -static inline void hri_usbhost_set_HSOFC_FLENCE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg |= USB_HOST_HSOFC_FLENCE; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbhost_get_HSOFC_FLENCE_bit(const void *const hw) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HSOFC.reg; - tmp = (tmp & USB_HOST_HSOFC_FLENCE) >> USB_HOST_HSOFC_FLENCE_Pos; - return (bool)tmp; -} - -static inline void hri_usbhost_write_HSOFC_FLENCE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.HSOFC.reg; - tmp &= ~USB_HOST_HSOFC_FLENCE; - tmp |= value << USB_HOST_HSOFC_FLENCE_Pos; - ((Usb *)hw)->HOST.HSOFC.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_HSOFC_FLENCE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg &= ~USB_HOST_HSOFC_FLENCE; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_HSOFC_FLENCE_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg ^= USB_HOST_HSOFC_FLENCE; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_set_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg |= USB_HOST_HSOFC_FLENC(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_hsofc_reg_t hri_usbhost_get_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HSOFC.reg; - tmp = (tmp & USB_HOST_HSOFC_FLENC(mask)) >> USB_HOST_HSOFC_FLENC_Pos; - return tmp; -} - -static inline void hri_usbhost_write_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t data) -{ - uint8_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.HSOFC.reg; - tmp &= ~USB_HOST_HSOFC_FLENC_Msk; - tmp |= USB_HOST_HSOFC_FLENC(data); - ((Usb *)hw)->HOST.HSOFC.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg &= ~USB_HOST_HSOFC_FLENC(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg ^= USB_HOST_HSOFC_FLENC(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_hsofc_reg_t hri_usbhost_read_HSOFC_FLENC_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HSOFC.reg; - tmp = (tmp & USB_HOST_HSOFC_FLENC_Msk) >> USB_HOST_HSOFC_FLENC_Pos; - return tmp; -} - -static inline void hri_usbhost_set_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_hsofc_reg_t hri_usbhost_get_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.HSOFC.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhost_write_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.HSOFC.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_hsofc_reg_t hri_usbhost_read_HSOFC_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.HSOFC.reg; -} - -static inline void hri_usbhost_set_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg |= USB_HOST_FNUM_MFNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_fnum_reg_t hri_usbhost_get_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.FNUM.reg; - tmp = (tmp & USB_HOST_FNUM_MFNUM(mask)) >> USB_HOST_FNUM_MFNUM_Pos; - return tmp; -} - -static inline void hri_usbhost_write_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.FNUM.reg; - tmp &= ~USB_HOST_FNUM_MFNUM_Msk; - tmp |= USB_HOST_FNUM_MFNUM(data); - ((Usb *)hw)->HOST.FNUM.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg &= ~USB_HOST_FNUM_MFNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg ^= USB_HOST_FNUM_MFNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_fnum_reg_t hri_usbhost_read_FNUM_MFNUM_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.FNUM.reg; - tmp = (tmp & USB_HOST_FNUM_MFNUM_Msk) >> USB_HOST_FNUM_MFNUM_Pos; - return tmp; -} - -static inline void hri_usbhost_set_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg |= USB_HOST_FNUM_FNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_fnum_reg_t hri_usbhost_get_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.FNUM.reg; - tmp = (tmp & USB_HOST_FNUM_FNUM(mask)) >> USB_HOST_FNUM_FNUM_Pos; - return tmp; -} - -static inline void hri_usbhost_write_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.FNUM.reg; - tmp &= ~USB_HOST_FNUM_FNUM_Msk; - tmp |= USB_HOST_FNUM_FNUM(data); - ((Usb *)hw)->HOST.FNUM.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg &= ~USB_HOST_FNUM_FNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg ^= USB_HOST_FNUM_FNUM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_fnum_reg_t hri_usbhost_read_FNUM_FNUM_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.FNUM.reg; - tmp = (tmp & USB_HOST_FNUM_FNUM_Msk) >> USB_HOST_FNUM_FNUM_Pos; - return tmp; -} - -static inline void hri_usbhost_set_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_fnum_reg_t hri_usbhost_get_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.FNUM.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhost_write_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_clear_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbhost_toggle_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.FNUM.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_fnum_reg_t hri_usbhost_read_FNUM_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.FNUM.reg; -} - -static inline void hri_usb_set_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.DESCADD.reg |= USB_DESCADD_DESCADD(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_descadd_reg_t hri_usb_get_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t mask) -{ - uint32_t tmp; - tmp = ((Usb *)hw)->HOST.DESCADD.reg; - tmp = (tmp & USB_DESCADD_DESCADD(mask)) >> USB_DESCADD_DESCADD_Pos; - return tmp; -} - -static inline void hri_usb_write_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.DESCADD.reg; - tmp &= ~USB_DESCADD_DESCADD_Msk; - tmp |= USB_DESCADD_DESCADD(data); - ((Usb *)hw)->HOST.DESCADD.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.DESCADD.reg &= ~USB_DESCADD_DESCADD(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.DESCADD.reg ^= USB_DESCADD_DESCADD(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_descadd_reg_t hri_usb_read_DESCADD_DESCADD_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((Usb *)hw)->HOST.DESCADD.reg; - tmp = (tmp & USB_DESCADD_DESCADD_Msk) >> USB_DESCADD_DESCADD_Pos; - return tmp; -} - -static inline void hri_usb_set_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.DESCADD.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_descadd_reg_t hri_usb_get_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t mask) -{ - uint32_t tmp; - tmp = ((Usb *)hw)->HOST.DESCADD.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usb_write_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.DESCADD.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.DESCADD.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.DESCADD.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_descadd_reg_t hri_usb_read_DESCADD_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.DESCADD.reg; -} - -static inline void hri_usb_set_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg |= USB_PADCAL_TRANSP(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_padcal_reg_t hri_usb_get_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp = (tmp & USB_PADCAL_TRANSP(mask)) >> USB_PADCAL_TRANSP_Pos; - return tmp; -} - -static inline void hri_usb_write_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp &= ~USB_PADCAL_TRANSP_Msk; - tmp |= USB_PADCAL_TRANSP(data); - ((Usb *)hw)->HOST.PADCAL.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg &= ~USB_PADCAL_TRANSP(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg ^= USB_PADCAL_TRANSP(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_padcal_reg_t hri_usb_read_PADCAL_TRANSP_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp = (tmp & USB_PADCAL_TRANSP_Msk) >> USB_PADCAL_TRANSP_Pos; - return tmp; -} - -static inline void hri_usb_set_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg |= USB_PADCAL_TRANSN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_padcal_reg_t hri_usb_get_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp = (tmp & USB_PADCAL_TRANSN(mask)) >> USB_PADCAL_TRANSN_Pos; - return tmp; -} - -static inline void hri_usb_write_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp &= ~USB_PADCAL_TRANSN_Msk; - tmp |= USB_PADCAL_TRANSN(data); - ((Usb *)hw)->HOST.PADCAL.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg &= ~USB_PADCAL_TRANSN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg ^= USB_PADCAL_TRANSN(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_padcal_reg_t hri_usb_read_PADCAL_TRANSN_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp = (tmp & USB_PADCAL_TRANSN_Msk) >> USB_PADCAL_TRANSN_Pos; - return tmp; -} - -static inline void hri_usb_set_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg |= USB_PADCAL_TRIM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_padcal_reg_t hri_usb_get_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp = (tmp & USB_PADCAL_TRIM(mask)) >> USB_PADCAL_TRIM_Pos; - return tmp; -} - -static inline void hri_usb_write_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp &= ~USB_PADCAL_TRIM_Msk; - tmp |= USB_PADCAL_TRIM(data); - ((Usb *)hw)->HOST.PADCAL.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg &= ~USB_PADCAL_TRIM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg ^= USB_PADCAL_TRIM(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_padcal_reg_t hri_usb_read_PADCAL_TRIM_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp = (tmp & USB_PADCAL_TRIM_Msk) >> USB_PADCAL_TRIM_Pos; - return tmp; -} - -static inline void hri_usb_set_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_padcal_reg_t hri_usb_get_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t mask) -{ - uint16_t tmp; - tmp = ((Usb *)hw)->HOST.PADCAL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usb_write_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_clear_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usb_toggle_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.PADCAL.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usb_padcal_reg_t hri_usb_read_PADCAL_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.PADCAL.reg; -} - -static inline hri_usbhost_status_reg_t hri_usbhost_get_STATUS_SPEED_bf(const void *const hw, - hri_usbhost_status_reg_t mask) -{ - return (((Usb *)hw)->HOST.STATUS.reg & USB_HOST_STATUS_SPEED(mask)) >> USB_HOST_STATUS_SPEED_Pos; -} - -static inline void hri_usbhost_clear_STATUS_SPEED_bf(const void *const hw, hri_usbhost_status_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.STATUS.reg = USB_HOST_STATUS_SPEED(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_status_reg_t hri_usbhost_read_STATUS_SPEED_bf(const void *const hw) -{ - return (((Usb *)hw)->HOST.STATUS.reg & USB_HOST_STATUS_SPEED_Msk) >> USB_HOST_STATUS_SPEED_Pos; -} - -static inline hri_usbhost_status_reg_t hri_usbhost_get_STATUS_LINESTATE_bf(const void *const hw, - hri_usbhost_status_reg_t mask) -{ - return (((Usb *)hw)->HOST.STATUS.reg & USB_HOST_STATUS_LINESTATE(mask)) >> USB_HOST_STATUS_LINESTATE_Pos; -} - -static inline void hri_usbhost_clear_STATUS_LINESTATE_bf(const void *const hw, hri_usbhost_status_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.STATUS.reg = USB_HOST_STATUS_LINESTATE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_status_reg_t hri_usbhost_read_STATUS_LINESTATE_bf(const void *const hw) -{ - return (((Usb *)hw)->HOST.STATUS.reg & USB_HOST_STATUS_LINESTATE_Msk) >> USB_HOST_STATUS_LINESTATE_Pos; -} - -static inline hri_usbhost_status_reg_t hri_usbhost_get_STATUS_reg(const void *const hw, hri_usbhost_status_reg_t mask) -{ - uint8_t tmp; - tmp = ((Usb *)hw)->HOST.STATUS.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbhost_clear_STATUS_reg(const void *const hw, hri_usbhost_status_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((Usb *)hw)->HOST.STATUS.reg = mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbhost_status_reg_t hri_usbhost_read_STATUS_reg(const void *const hw) -{ - return ((Usb *)hw)->HOST.STATUS.reg; -} - -static inline void hri_usbdevicedescbank_set_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->ADDR.reg |= USB_DEVICE_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_addr_reg_t hri_usbdevicedescbank_get_ADDR_ADDR_bf(const void *const hw, - hri_usbdesc_bank_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->ADDR.reg; - tmp = (tmp & USB_DEVICE_ADDR_ADDR(mask)) >> USB_DEVICE_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescBank *)hw)->ADDR.reg; - tmp &= ~USB_DEVICE_ADDR_ADDR_Msk; - tmp |= USB_DEVICE_ADDR_ADDR(data); - ((UsbDeviceDescBank *)hw)->ADDR.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->ADDR.reg &= ~USB_DEVICE_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->ADDR.reg ^= USB_DEVICE_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_addr_reg_t hri_usbdevicedescbank_read_ADDR_ADDR_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->ADDR.reg; - tmp = (tmp & USB_DEVICE_ADDR_ADDR_Msk) >> USB_DEVICE_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_set_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->ADDR.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_addr_reg_t hri_usbdevicedescbank_get_ADDR_reg(const void *const hw, - hri_usbdesc_bank_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->ADDR.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->ADDR.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->ADDR.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_addr_reg_t hri_usbdevicedescbank_read_ADDR_reg(const void *const hw) -{ - return ((UsbDeviceDescBank *)hw)->ADDR.reg; -} - -static inline void hri_usbdevicedescbank_set_PCKSIZE_AUTO_ZLP_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= USB_DEVICE_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevicedescbank_get_PCKSIZE_AUTO_ZLP_bit(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_AUTO_ZLP) >> USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevicedescbank_write_PCKSIZE_AUTO_ZLP_bit(const void *const hw, bool value) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp &= ~USB_DEVICE_PCKSIZE_AUTO_ZLP; - tmp |= value << USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos; - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_PCKSIZE_AUTO_ZLP_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_PCKSIZE_AUTO_ZLP_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_set_PCKSIZE_BYTE_COUNT_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= USB_DEVICE_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t -hri_usbdevicedescbank_get_PCKSIZE_BYTE_COUNT_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_BYTE_COUNT(mask)) >> USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_PCKSIZE_BYTE_COUNT_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp &= ~USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk; - tmp |= USB_DEVICE_PCKSIZE_BYTE_COUNT(data); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_PCKSIZE_BYTE_COUNT_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_PCKSIZE_BYTE_COUNT_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbdevicedescbank_read_PCKSIZE_BYTE_COUNT_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk) >> USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_set_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t -hri_usbdevicedescbank_get_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask)) >> USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp &= ~USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk; - tmp |= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(data); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t -hri_usbdevicedescbank_read_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk) >> USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_set_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= USB_DEVICE_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t -hri_usbdevicedescbank_get_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_SIZE(mask)) >> USB_DEVICE_PCKSIZE_SIZE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_PCKSIZE_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp &= ~USB_DEVICE_PCKSIZE_SIZE_Msk; - tmp |= USB_DEVICE_PCKSIZE_SIZE(data); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_PCKSIZE_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_PCKSIZE_SIZE_bf(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbdevicedescbank_read_PCKSIZE_SIZE_bf(const void *const hw) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_SIZE_Msk) >> USB_DEVICE_PCKSIZE_SIZE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_set_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbdevicedescbank_get_PCKSIZE_reg(const void *const hw, - hri_usbdesc_bank_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_pcksize_reg_t hri_usbdevicedescbank_read_PCKSIZE_reg(const void *const hw) -{ - return ((UsbDeviceDescBank *)hw)->PCKSIZE.reg; -} - -static inline void hri_usbdevicedescbank_set_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg |= USB_DEVICE_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t -hri_usbdevicedescbank_get_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg; - tmp = (tmp & USB_DEVICE_EXTREG_SUBPID(mask)) >> USB_DEVICE_EXTREG_SUBPID_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_EXTREG_SUBPID_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg; - tmp &= ~USB_DEVICE_EXTREG_SUBPID_Msk; - tmp |= USB_DEVICE_EXTREG_SUBPID(data); - ((UsbDeviceDescBank *)hw)->EXTREG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_EXTREG_SUBPID_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg &= ~USB_DEVICE_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_EXTREG_SUBPID_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg ^= USB_DEVICE_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbdevicedescbank_read_EXTREG_SUBPID_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg; - tmp = (tmp & USB_DEVICE_EXTREG_SUBPID_Msk) >> USB_DEVICE_EXTREG_SUBPID_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_set_EXTREG_VARIABLE_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg |= USB_DEVICE_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t -hri_usbdevicedescbank_get_EXTREG_VARIABLE_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg; - tmp = (tmp & USB_DEVICE_EXTREG_VARIABLE(mask)) >> USB_DEVICE_EXTREG_VARIABLE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_EXTREG_VARIABLE_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg; - tmp &= ~USB_DEVICE_EXTREG_VARIABLE_Msk; - tmp |= USB_DEVICE_EXTREG_VARIABLE(data); - ((UsbDeviceDescBank *)hw)->EXTREG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_EXTREG_VARIABLE_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg &= ~USB_DEVICE_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_EXTREG_VARIABLE_bf(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg ^= USB_DEVICE_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbdevicedescbank_read_EXTREG_VARIABLE_bf(const void *const hw) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg; - tmp = (tmp & USB_DEVICE_EXTREG_VARIABLE_Msk) >> USB_DEVICE_EXTREG_VARIABLE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescbank_set_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbdevicedescbank_get_EXTREG_reg(const void *const hw, - hri_usbdesc_bank_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevicedescbank_write_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_clear_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescbank_toggle_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->EXTREG.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_extreg_reg_t hri_usbdevicedescbank_read_EXTREG_reg(const void *const hw) -{ - return ((UsbDeviceDescBank *)hw)->EXTREG.reg; -} - -static inline bool hri_usbdevicedescbank_get_STATUS_BK_CRCERR_bit(const void *const hw) -{ - return (((UsbDeviceDescBank *)hw)->STATUS_BK.reg & USB_DEVICE_STATUS_BK_CRCERR) >> USB_DEVICE_STATUS_BK_CRCERR_Pos; -} - -static inline void hri_usbdevicedescbank_clear_STATUS_BK_CRCERR_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->STATUS_BK.reg = USB_DEVICE_STATUS_BK_CRCERR; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevicedescbank_get_STATUS_BK_ERRORFLOW_bit(const void *const hw) -{ - return (((UsbDeviceDescBank *)hw)->STATUS_BK.reg & USB_DEVICE_STATUS_BK_ERRORFLOW) - >> USB_DEVICE_STATUS_BK_ERRORFLOW_Pos; -} - -static inline void hri_usbdevicedescbank_clear_STATUS_BK_ERRORFLOW_bit(const void *const hw) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->STATUS_BK.reg = USB_DEVICE_STATUS_BK_ERRORFLOW; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_status_bk_reg_t -hri_usbdevicedescbank_get_STATUS_BK_reg(const void *const hw, hri_usbdesc_bank_status_bk_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbDeviceDescBank *)hw)->STATUS_BK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevicedescbank_clear_STATUS_BK_reg(const void *const hw, - hri_usbdesc_bank_status_bk_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescBank *)hw)->STATUS_BK.reg = mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdesc_bank_status_bk_reg_t hri_usbdevicedescbank_read_STATUS_BK_reg(const void *const hw) -{ - return ((UsbDeviceDescBank *)hw)->STATUS_BK.reg; -} - -static inline void hri_usbdevicedescriptor_set_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg |= USB_DEVICE_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_addr_reg_t -hri_usbdevicedescriptor_get_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg; - tmp = (tmp & USB_DEVICE_ADDR_ADDR(mask)) >> USB_DEVICE_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_write_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg; - tmp &= ~USB_DEVICE_ADDR_ADDR_Msk; - tmp |= USB_DEVICE_ADDR_ADDR(data); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg &= ~USB_DEVICE_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg ^= USB_DEVICE_ADDR_ADDR(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_addr_reg_t hri_usbdevicedescriptor_read_ADDR_ADDR_bf(const void *const hw, - uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg; - tmp = (tmp & USB_DEVICE_ADDR_ADDR_Msk) >> USB_DEVICE_ADDR_ADDR_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_set_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_addr_reg_t -hri_usbdevicedescriptor_get_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevicedescriptor_write_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_ADDR_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_addr_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_addr_reg_t hri_usbdevicedescriptor_read_ADDR_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg; -} - -static inline void hri_usbdevicedescriptor_set_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg |= USB_DEVICE_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevicedescriptor_get_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_AUTO_ZLP) >> USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos; - return (bool)tmp; -} - -static inline void hri_usbdevicedescriptor_write_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index, - bool value) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp &= ~USB_DEVICE_PCKSIZE_AUTO_ZLP; - tmp |= value << USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos; - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_AUTO_ZLP; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_set_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg |= USB_DEVICE_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_pcksize_reg_t -hri_usbdevicedescriptor_get_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_BYTE_COUNT(mask)) >> USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_write_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp &= ~USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk; - tmp |= USB_DEVICE_PCKSIZE_BYTE_COUNT(data); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_BYTE_COUNT(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_pcksize_reg_t -hri_usbdevicedescriptor_read_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk) >> USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_set_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, - uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg - |= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_pcksize_reg_t -hri_usbdevicedescriptor_get_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask)) >> USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos; - return tmp; -} - -static inline void -hri_usbdevicedescriptor_write_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp &= ~USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk; - tmp |= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(data); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void -hri_usbdevicedescriptor_clear_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg - &= ~USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void -hri_usbdevicedescriptor_toggle_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg - ^= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_pcksize_reg_t -hri_usbdevicedescriptor_read_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk) >> USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_set_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg |= USB_DEVICE_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_pcksize_reg_t -hri_usbdevicedescriptor_get_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_SIZE(mask)) >> USB_DEVICE_PCKSIZE_SIZE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_write_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t data) -{ - uint32_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp &= ~USB_DEVICE_PCKSIZE_SIZE_Msk; - tmp |= USB_DEVICE_PCKSIZE_SIZE(data); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_SIZE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_pcksize_reg_t -hri_usbdevicedescriptor_read_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp = (tmp & USB_DEVICE_PCKSIZE_SIZE_Msk) >> USB_DEVICE_PCKSIZE_SIZE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_set_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_pcksize_reg_t -hri_usbdevicedescriptor_get_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - uint32_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevicedescriptor_write_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_PCKSIZE_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_pcksize_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_pcksize_reg_t hri_usbdevicedescriptor_read_PCKSIZE_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg; -} - -static inline void hri_usbdevicedescriptor_set_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg |= USB_DEVICE_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_extreg_reg_t -hri_usbdevicedescriptor_get_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg; - tmp = (tmp & USB_DEVICE_EXTREG_SUBPID(mask)) >> USB_DEVICE_EXTREG_SUBPID_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_write_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg; - tmp &= ~USB_DEVICE_EXTREG_SUBPID_Msk; - tmp |= USB_DEVICE_EXTREG_SUBPID(data); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg &= ~USB_DEVICE_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg ^= USB_DEVICE_EXTREG_SUBPID(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_extreg_reg_t -hri_usbdevicedescriptor_read_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg; - tmp = (tmp & USB_DEVICE_EXTREG_SUBPID_Msk) >> USB_DEVICE_EXTREG_SUBPID_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_set_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg |= USB_DEVICE_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_extreg_reg_t -hri_usbdevicedescriptor_get_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg; - tmp = (tmp & USB_DEVICE_EXTREG_VARIABLE(mask)) >> USB_DEVICE_EXTREG_VARIABLE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_write_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t data) -{ - uint16_t tmp; - USB_CRITICAL_SECTION_ENTER(); - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg; - tmp &= ~USB_DEVICE_EXTREG_VARIABLE_Msk; - tmp |= USB_DEVICE_EXTREG_VARIABLE(data); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg = tmp; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg &= ~USB_DEVICE_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg ^= USB_DEVICE_EXTREG_VARIABLE(mask); - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_extreg_reg_t -hri_usbdevicedescriptor_read_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg; - tmp = (tmp & USB_DEVICE_EXTREG_VARIABLE_Msk) >> USB_DEVICE_EXTREG_VARIABLE_Pos; - return tmp; -} - -static inline void hri_usbdevicedescriptor_set_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg |= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_extreg_reg_t -hri_usbdevicedescriptor_get_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - uint16_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevicedescriptor_write_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t data) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg = data; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_clear_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg &= ~mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_usbdevicedescriptor_toggle_EXTREG_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_extreg_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg ^= mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_extreg_reg_t hri_usbdevicedescriptor_read_EXTREG_reg(const void *const hw, - uint8_t submodule_index) -{ - return ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg; -} - -static inline bool hri_usbdevicedescriptor_get_STATUS_BK_CRCERR_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg & USB_DEVICE_STATUS_BK_CRCERR) - >> USB_DEVICE_STATUS_BK_CRCERR_Pos; -} - -static inline void hri_usbdevicedescriptor_clear_STATUS_BK_CRCERR_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg = USB_DEVICE_STATUS_BK_CRCERR; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_usbdevicedescriptor_get_STATUS_BK_ERRORFLOW_bit(const void *const hw, uint8_t submodule_index) -{ - return (((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg & USB_DEVICE_STATUS_BK_ERRORFLOW) - >> USB_DEVICE_STATUS_BK_ERRORFLOW_Pos; -} - -static inline void hri_usbdevicedescriptor_clear_STATUS_BK_ERRORFLOW_bit(const void *const hw, uint8_t submodule_index) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg = USB_DEVICE_STATUS_BK_ERRORFLOW; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_status_bk_reg_t -hri_usbdevicedescriptor_get_STATUS_BK_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_status_bk_reg_t mask) -{ - uint8_t tmp; - tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_usbdevicedescriptor_clear_STATUS_BK_reg(const void *const hw, uint8_t submodule_index, - hri_usbdescriptordevice_status_bk_reg_t mask) -{ - USB_CRITICAL_SECTION_ENTER(); - ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg = mask; - USB_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_usbdescriptordevice_status_bk_reg_t -hri_usbdevicedescriptor_read_STATUS_BK_reg(const void *const hw, uint8_t submodule_index) -{ - return ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg; -} - -/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */ -#define hri_usbdevice_wait_for_sync(a, b) hri_usb_wait_for_sync(a, b) -#define hri_usbdevice_is_syncing(a, b) hri_usb_is_syncing(a, b) -#define hri_usbhost_wait_for_sync(a, b) hri_usb_wait_for_sync(a, b) -#define hri_usbhost_is_syncing(a, b) hri_usb_is_syncing(a, b) -#define hri_usbhost_set_CTRLA_SWRST_bit(a) hri_usb_set_CTRLA_SWRST_bit(a) -#define hri_usbhost_get_CTRLA_SWRST_bit(a) hri_usb_get_CTRLA_SWRST_bit(a) -#define hri_usbhost_set_CTRLA_ENABLE_bit(a) hri_usb_set_CTRLA_ENABLE_bit(a) -#define hri_usbhost_get_CTRLA_ENABLE_bit(a) hri_usb_get_CTRLA_ENABLE_bit(a) -#define hri_usbhost_write_CTRLA_ENABLE_bit(a, b) hri_usb_write_CTRLA_ENABLE_bit(a, b) -#define hri_usbhost_clear_CTRLA_ENABLE_bit(a) hri_usb_clear_CTRLA_ENABLE_bit(a) -#define hri_usbhost_toggle_CTRLA_ENABLE_bit(a) hri_usb_toggle_CTRLA_ENABLE_bit(a) -#define hri_usbhost_set_CTRLA_RUNSTDBY_bit(a) hri_usb_set_CTRLA_RUNSTDBY_bit(a) -#define hri_usbhost_get_CTRLA_RUNSTDBY_bit(a) hri_usb_get_CTRLA_RUNSTDBY_bit(a) -#define hri_usbhost_write_CTRLA_RUNSTDBY_bit(a, b) hri_usb_write_CTRLA_RUNSTDBY_bit(a, b) -#define hri_usbhost_clear_CTRLA_RUNSTDBY_bit(a) hri_usb_clear_CTRLA_RUNSTDBY_bit(a) -#define hri_usbhost_toggle_CTRLA_RUNSTDBY_bit(a) hri_usb_toggle_CTRLA_RUNSTDBY_bit(a) -#define hri_usbhost_set_CTRLA_MODE_bit(a) hri_usb_set_CTRLA_MODE_bit(a) -#define hri_usbhost_get_CTRLA_MODE_bit(a) hri_usb_get_CTRLA_MODE_bit(a) -#define hri_usbhost_write_CTRLA_MODE_bit(a, b) hri_usb_write_CTRLA_MODE_bit(a, b) -#define hri_usbhost_clear_CTRLA_MODE_bit(a) hri_usb_clear_CTRLA_MODE_bit(a) -#define hri_usbhost_toggle_CTRLA_MODE_bit(a) hri_usb_toggle_CTRLA_MODE_bit(a) -#define hri_usbhost_set_CTRLA_reg(a, b) hri_usb_set_CTRLA_reg(a, b) -#define hri_usbhost_get_CTRLA_reg(a, b) hri_usb_get_CTRLA_reg(a, b) -#define hri_usbhost_write_CTRLA_reg(a, b) hri_usb_write_CTRLA_reg(a, b) -#define hri_usbhost_clear_CTRLA_reg(a, b) hri_usb_clear_CTRLA_reg(a, b) -#define hri_usbhost_toggle_CTRLA_reg(a, b) hri_usb_toggle_CTRLA_reg(a, b) -#define hri_usbhost_read_CTRLA_reg(a) hri_usb_read_CTRLA_reg(a) -#define hri_usbhost_set_QOSCTRL_CQOS_bf(a, b) hri_usb_set_QOSCTRL_CQOS_bf(a, b) -#define hri_usbhost_get_QOSCTRL_CQOS_bf(a, b) hri_usb_get_QOSCTRL_CQOS_bf(a, b) -#define hri_usbhost_write_QOSCTRL_CQOS_bf(a, b) hri_usb_write_QOSCTRL_CQOS_bf(a, b) -#define hri_usbhost_clear_QOSCTRL_CQOS_bf(a, b) hri_usb_clear_QOSCTRL_CQOS_bf(a, b) -#define hri_usbhost_toggle_QOSCTRL_CQOS_bf(a, b) hri_usb_toggle_QOSCTRL_CQOS_bf(a, b) -#define hri_usbhost_read_QOSCTRL_CQOS_bf(a) hri_usb_read_QOSCTRL_CQOS_bf(a) -#define hri_usbhost_set_QOSCTRL_DQOS_bf(a, b) hri_usb_set_QOSCTRL_DQOS_bf(a, b) -#define hri_usbhost_get_QOSCTRL_DQOS_bf(a, b) hri_usb_get_QOSCTRL_DQOS_bf(a, b) -#define hri_usbhost_write_QOSCTRL_DQOS_bf(a, b) hri_usb_write_QOSCTRL_DQOS_bf(a, b) -#define hri_usbhost_clear_QOSCTRL_DQOS_bf(a, b) hri_usb_clear_QOSCTRL_DQOS_bf(a, b) -#define hri_usbhost_toggle_QOSCTRL_DQOS_bf(a, b) hri_usb_toggle_QOSCTRL_DQOS_bf(a, b) -#define hri_usbhost_read_QOSCTRL_DQOS_bf(a) hri_usb_read_QOSCTRL_DQOS_bf(a) -#define hri_usbhost_set_QOSCTRL_reg(a, b) hri_usb_set_QOSCTRL_reg(a, b) -#define hri_usbhost_get_QOSCTRL_reg(a, b) hri_usb_get_QOSCTRL_reg(a, b) -#define hri_usbhost_write_QOSCTRL_reg(a, b) hri_usb_write_QOSCTRL_reg(a, b) -#define hri_usbhost_clear_QOSCTRL_reg(a, b) hri_usb_clear_QOSCTRL_reg(a, b) -#define hri_usbhost_toggle_QOSCTRL_reg(a, b) hri_usb_toggle_QOSCTRL_reg(a, b) -#define hri_usbhost_read_QOSCTRL_reg(a) hri_usb_read_QOSCTRL_reg(a) -#define hri_usbhost_set_DESCADD_DESCADD_bf(a, b) hri_usb_set_DESCADD_DESCADD_bf(a, b) -#define hri_usbhost_get_DESCADD_DESCADD_bf(a, b) hri_usb_get_DESCADD_DESCADD_bf(a, b) -#define hri_usbhost_write_DESCADD_DESCADD_bf(a, b) hri_usb_write_DESCADD_DESCADD_bf(a, b) -#define hri_usbhost_clear_DESCADD_DESCADD_bf(a, b) hri_usb_clear_DESCADD_DESCADD_bf(a, b) -#define hri_usbhost_toggle_DESCADD_DESCADD_bf(a, b) hri_usb_toggle_DESCADD_DESCADD_bf(a, b) -#define hri_usbhost_read_DESCADD_DESCADD_bf(a) hri_usb_read_DESCADD_DESCADD_bf(a) -#define hri_usbhost_set_DESCADD_reg(a, b) hri_usb_set_DESCADD_reg(a, b) -#define hri_usbhost_get_DESCADD_reg(a, b) hri_usb_get_DESCADD_reg(a, b) -#define hri_usbhost_write_DESCADD_reg(a, b) hri_usb_write_DESCADD_reg(a, b) -#define hri_usbhost_clear_DESCADD_reg(a, b) hri_usb_clear_DESCADD_reg(a, b) -#define hri_usbhost_toggle_DESCADD_reg(a, b) hri_usb_toggle_DESCADD_reg(a, b) -#define hri_usbhost_read_DESCADD_reg(a) hri_usb_read_DESCADD_reg(a) -#define hri_usbhost_set_PADCAL_TRANSP_bf(a, b) hri_usb_set_PADCAL_TRANSP_bf(a, b) -#define hri_usbhost_get_PADCAL_TRANSP_bf(a, b) hri_usb_get_PADCAL_TRANSP_bf(a, b) -#define hri_usbhost_write_PADCAL_TRANSP_bf(a, b) hri_usb_write_PADCAL_TRANSP_bf(a, b) -#define hri_usbhost_clear_PADCAL_TRANSP_bf(a, b) hri_usb_clear_PADCAL_TRANSP_bf(a, b) -#define hri_usbhost_toggle_PADCAL_TRANSP_bf(a, b) hri_usb_toggle_PADCAL_TRANSP_bf(a, b) -#define hri_usbhost_read_PADCAL_TRANSP_bf(a) hri_usb_read_PADCAL_TRANSP_bf(a) -#define hri_usbhost_set_PADCAL_TRANSN_bf(a, b) hri_usb_set_PADCAL_TRANSN_bf(a, b) -#define hri_usbhost_get_PADCAL_TRANSN_bf(a, b) hri_usb_get_PADCAL_TRANSN_bf(a, b) -#define hri_usbhost_write_PADCAL_TRANSN_bf(a, b) hri_usb_write_PADCAL_TRANSN_bf(a, b) -#define hri_usbhost_clear_PADCAL_TRANSN_bf(a, b) hri_usb_clear_PADCAL_TRANSN_bf(a, b) -#define hri_usbhost_toggle_PADCAL_TRANSN_bf(a, b) hri_usb_toggle_PADCAL_TRANSN_bf(a, b) -#define hri_usbhost_read_PADCAL_TRANSN_bf(a) hri_usb_read_PADCAL_TRANSN_bf(a) -#define hri_usbhost_set_PADCAL_TRIM_bf(a, b) hri_usb_set_PADCAL_TRIM_bf(a, b) -#define hri_usbhost_get_PADCAL_TRIM_bf(a, b) hri_usb_get_PADCAL_TRIM_bf(a, b) -#define hri_usbhost_write_PADCAL_TRIM_bf(a, b) hri_usb_write_PADCAL_TRIM_bf(a, b) -#define hri_usbhost_clear_PADCAL_TRIM_bf(a, b) hri_usb_clear_PADCAL_TRIM_bf(a, b) -#define hri_usbhost_toggle_PADCAL_TRIM_bf(a, b) hri_usb_toggle_PADCAL_TRIM_bf(a, b) -#define hri_usbhost_read_PADCAL_TRIM_bf(a) hri_usb_read_PADCAL_TRIM_bf(a) -#define hri_usbhost_set_PADCAL_reg(a, b) hri_usb_set_PADCAL_reg(a, b) -#define hri_usbhost_get_PADCAL_reg(a, b) hri_usb_get_PADCAL_reg(a, b) -#define hri_usbhost_write_PADCAL_reg(a, b) hri_usb_write_PADCAL_reg(a, b) -#define hri_usbhost_clear_PADCAL_reg(a, b) hri_usb_clear_PADCAL_reg(a, b) -#define hri_usbhost_toggle_PADCAL_reg(a, b) hri_usb_toggle_PADCAL_reg(a, b) -#define hri_usbhost_read_PADCAL_reg(a) hri_usb_read_PADCAL_reg(a) -#define hri_usbhost_get_SYNCBUSY_SWRST_bit(a) hri_usb_get_SYNCBUSY_SWRST_bit(a) -#define hri_usbhost_get_SYNCBUSY_ENABLE_bit(a) hri_usb_get_SYNCBUSY_ENABLE_bit(a) -#define hri_usbhost_get_SYNCBUSY_reg(a, b) hri_usb_get_SYNCBUSY_reg(a, b) -#define hri_usbhost_read_SYNCBUSY_reg(a) hri_usb_read_SYNCBUSY_reg(a) -#define hri_usbhost_get_FSMSTATUS_FSMSTATE_bf(a, b) hri_usb_get_FSMSTATUS_FSMSTATE_bf(a, b) -#define hri_usbhost_read_FSMSTATUS_FSMSTATE_bf(a) hri_usb_read_FSMSTATUS_FSMSTATE_bf(a) -#define hri_usbhost_get_FSMSTATUS_reg(a, b) hri_usb_get_FSMSTATUS_reg(a, b) -#define hri_usbhost_read_FSMSTATUS_reg(a) hri_usb_read_FSMSTATUS_reg(a) -#define hri_usbdevice_set_CTRLA_SWRST_bit(a) hri_usb_set_CTRLA_SWRST_bit(a) -#define hri_usbdevice_get_CTRLA_SWRST_bit(a) hri_usb_get_CTRLA_SWRST_bit(a) -#define hri_usbdevice_set_CTRLA_ENABLE_bit(a) hri_usb_set_CTRLA_ENABLE_bit(a) -#define hri_usbdevice_get_CTRLA_ENABLE_bit(a) hri_usb_get_CTRLA_ENABLE_bit(a) -#define hri_usbdevice_write_CTRLA_ENABLE_bit(a, b) hri_usb_write_CTRLA_ENABLE_bit(a, b) -#define hri_usbdevice_clear_CTRLA_ENABLE_bit(a) hri_usb_clear_CTRLA_ENABLE_bit(a) -#define hri_usbdevice_toggle_CTRLA_ENABLE_bit(a) hri_usb_toggle_CTRLA_ENABLE_bit(a) -#define hri_usbdevice_set_CTRLA_RUNSTDBY_bit(a) hri_usb_set_CTRLA_RUNSTDBY_bit(a) -#define hri_usbdevice_get_CTRLA_RUNSTDBY_bit(a) hri_usb_get_CTRLA_RUNSTDBY_bit(a) -#define hri_usbdevice_write_CTRLA_RUNSTDBY_bit(a, b) hri_usb_write_CTRLA_RUNSTDBY_bit(a, b) -#define hri_usbdevice_clear_CTRLA_RUNSTDBY_bit(a) hri_usb_clear_CTRLA_RUNSTDBY_bit(a) -#define hri_usbdevice_toggle_CTRLA_RUNSTDBY_bit(a) hri_usb_toggle_CTRLA_RUNSTDBY_bit(a) -#define hri_usbdevice_set_CTRLA_MODE_bit(a) hri_usb_set_CTRLA_MODE_bit(a) -#define hri_usbdevice_get_CTRLA_MODE_bit(a) hri_usb_get_CTRLA_MODE_bit(a) -#define hri_usbdevice_write_CTRLA_MODE_bit(a, b) hri_usb_write_CTRLA_MODE_bit(a, b) -#define hri_usbdevice_clear_CTRLA_MODE_bit(a) hri_usb_clear_CTRLA_MODE_bit(a) -#define hri_usbdevice_toggle_CTRLA_MODE_bit(a) hri_usb_toggle_CTRLA_MODE_bit(a) -#define hri_usbdevice_set_CTRLA_reg(a, b) hri_usb_set_CTRLA_reg(a, b) -#define hri_usbdevice_get_CTRLA_reg(a, b) hri_usb_get_CTRLA_reg(a, b) -#define hri_usbdevice_write_CTRLA_reg(a, b) hri_usb_write_CTRLA_reg(a, b) -#define hri_usbdevice_clear_CTRLA_reg(a, b) hri_usb_clear_CTRLA_reg(a, b) -#define hri_usbdevice_toggle_CTRLA_reg(a, b) hri_usb_toggle_CTRLA_reg(a, b) -#define hri_usbdevice_read_CTRLA_reg(a) hri_usb_read_CTRLA_reg(a) -#define hri_usbdevice_set_QOSCTRL_CQOS_bf(a, b) hri_usb_set_QOSCTRL_CQOS_bf(a, b) -#define hri_usbdevice_get_QOSCTRL_CQOS_bf(a, b) hri_usb_get_QOSCTRL_CQOS_bf(a, b) -#define hri_usbdevice_write_QOSCTRL_CQOS_bf(a, b) hri_usb_write_QOSCTRL_CQOS_bf(a, b) -#define hri_usbdevice_clear_QOSCTRL_CQOS_bf(a, b) hri_usb_clear_QOSCTRL_CQOS_bf(a, b) -#define hri_usbdevice_toggle_QOSCTRL_CQOS_bf(a, b) hri_usb_toggle_QOSCTRL_CQOS_bf(a, b) -#define hri_usbdevice_read_QOSCTRL_CQOS_bf(a) hri_usb_read_QOSCTRL_CQOS_bf(a) -#define hri_usbdevice_set_QOSCTRL_DQOS_bf(a, b) hri_usb_set_QOSCTRL_DQOS_bf(a, b) -#define hri_usbdevice_get_QOSCTRL_DQOS_bf(a, b) hri_usb_get_QOSCTRL_DQOS_bf(a, b) -#define hri_usbdevice_write_QOSCTRL_DQOS_bf(a, b) hri_usb_write_QOSCTRL_DQOS_bf(a, b) -#define hri_usbdevice_clear_QOSCTRL_DQOS_bf(a, b) hri_usb_clear_QOSCTRL_DQOS_bf(a, b) -#define hri_usbdevice_toggle_QOSCTRL_DQOS_bf(a, b) hri_usb_toggle_QOSCTRL_DQOS_bf(a, b) -#define hri_usbdevice_read_QOSCTRL_DQOS_bf(a) hri_usb_read_QOSCTRL_DQOS_bf(a) -#define hri_usbdevice_set_QOSCTRL_reg(a, b) hri_usb_set_QOSCTRL_reg(a, b) -#define hri_usbdevice_get_QOSCTRL_reg(a, b) hri_usb_get_QOSCTRL_reg(a, b) -#define hri_usbdevice_write_QOSCTRL_reg(a, b) hri_usb_write_QOSCTRL_reg(a, b) -#define hri_usbdevice_clear_QOSCTRL_reg(a, b) hri_usb_clear_QOSCTRL_reg(a, b) -#define hri_usbdevice_toggle_QOSCTRL_reg(a, b) hri_usb_toggle_QOSCTRL_reg(a, b) -#define hri_usbdevice_read_QOSCTRL_reg(a) hri_usb_read_QOSCTRL_reg(a) -#define hri_usbdevice_set_DESCADD_DESCADD_bf(a, b) hri_usb_set_DESCADD_DESCADD_bf(a, b) -#define hri_usbdevice_get_DESCADD_DESCADD_bf(a, b) hri_usb_get_DESCADD_DESCADD_bf(a, b) -#define hri_usbdevice_write_DESCADD_DESCADD_bf(a, b) hri_usb_write_DESCADD_DESCADD_bf(a, b) -#define hri_usbdevice_clear_DESCADD_DESCADD_bf(a, b) hri_usb_clear_DESCADD_DESCADD_bf(a, b) -#define hri_usbdevice_toggle_DESCADD_DESCADD_bf(a, b) hri_usb_toggle_DESCADD_DESCADD_bf(a, b) -#define hri_usbdevice_read_DESCADD_DESCADD_bf(a) hri_usb_read_DESCADD_DESCADD_bf(a) -#define hri_usbdevice_set_DESCADD_reg(a, b) hri_usb_set_DESCADD_reg(a, b) -#define hri_usbdevice_get_DESCADD_reg(a, b) hri_usb_get_DESCADD_reg(a, b) -#define hri_usbdevice_write_DESCADD_reg(a, b) hri_usb_write_DESCADD_reg(a, b) -#define hri_usbdevice_clear_DESCADD_reg(a, b) hri_usb_clear_DESCADD_reg(a, b) -#define hri_usbdevice_toggle_DESCADD_reg(a, b) hri_usb_toggle_DESCADD_reg(a, b) -#define hri_usbdevice_read_DESCADD_reg(a) hri_usb_read_DESCADD_reg(a) -#define hri_usbdevice_set_PADCAL_TRANSP_bf(a, b) hri_usb_set_PADCAL_TRANSP_bf(a, b) -#define hri_usbdevice_get_PADCAL_TRANSP_bf(a, b) hri_usb_get_PADCAL_TRANSP_bf(a, b) -#define hri_usbdevice_write_PADCAL_TRANSP_bf(a, b) hri_usb_write_PADCAL_TRANSP_bf(a, b) -#define hri_usbdevice_clear_PADCAL_TRANSP_bf(a, b) hri_usb_clear_PADCAL_TRANSP_bf(a, b) -#define hri_usbdevice_toggle_PADCAL_TRANSP_bf(a, b) hri_usb_toggle_PADCAL_TRANSP_bf(a, b) -#define hri_usbdevice_read_PADCAL_TRANSP_bf(a) hri_usb_read_PADCAL_TRANSP_bf(a) -#define hri_usbdevice_set_PADCAL_TRANSN_bf(a, b) hri_usb_set_PADCAL_TRANSN_bf(a, b) -#define hri_usbdevice_get_PADCAL_TRANSN_bf(a, b) hri_usb_get_PADCAL_TRANSN_bf(a, b) -#define hri_usbdevice_write_PADCAL_TRANSN_bf(a, b) hri_usb_write_PADCAL_TRANSN_bf(a, b) -#define hri_usbdevice_clear_PADCAL_TRANSN_bf(a, b) hri_usb_clear_PADCAL_TRANSN_bf(a, b) -#define hri_usbdevice_toggle_PADCAL_TRANSN_bf(a, b) hri_usb_toggle_PADCAL_TRANSN_bf(a, b) -#define hri_usbdevice_read_PADCAL_TRANSN_bf(a) hri_usb_read_PADCAL_TRANSN_bf(a) -#define hri_usbdevice_set_PADCAL_TRIM_bf(a, b) hri_usb_set_PADCAL_TRIM_bf(a, b) -#define hri_usbdevice_get_PADCAL_TRIM_bf(a, b) hri_usb_get_PADCAL_TRIM_bf(a, b) -#define hri_usbdevice_write_PADCAL_TRIM_bf(a, b) hri_usb_write_PADCAL_TRIM_bf(a, b) -#define hri_usbdevice_clear_PADCAL_TRIM_bf(a, b) hri_usb_clear_PADCAL_TRIM_bf(a, b) -#define hri_usbdevice_toggle_PADCAL_TRIM_bf(a, b) hri_usb_toggle_PADCAL_TRIM_bf(a, b) -#define hri_usbdevice_read_PADCAL_TRIM_bf(a) hri_usb_read_PADCAL_TRIM_bf(a) -#define hri_usbdevice_set_PADCAL_reg(a, b) hri_usb_set_PADCAL_reg(a, b) -#define hri_usbdevice_get_PADCAL_reg(a, b) hri_usb_get_PADCAL_reg(a, b) -#define hri_usbdevice_write_PADCAL_reg(a, b) hri_usb_write_PADCAL_reg(a, b) -#define hri_usbdevice_clear_PADCAL_reg(a, b) hri_usb_clear_PADCAL_reg(a, b) -#define hri_usbdevice_toggle_PADCAL_reg(a, b) hri_usb_toggle_PADCAL_reg(a, b) -#define hri_usbdevice_read_PADCAL_reg(a) hri_usb_read_PADCAL_reg(a) -#define hri_usbdevice_get_SYNCBUSY_SWRST_bit(a) hri_usb_get_SYNCBUSY_SWRST_bit(a) -#define hri_usbdevice_get_SYNCBUSY_ENABLE_bit(a) hri_usb_get_SYNCBUSY_ENABLE_bit(a) -#define hri_usbdevice_get_SYNCBUSY_reg(a, b) hri_usb_get_SYNCBUSY_reg(a, b) -#define hri_usbdevice_read_SYNCBUSY_reg(a) hri_usb_read_SYNCBUSY_reg(a) -#define hri_usbdevice_get_FSMSTATUS_FSMSTATE_bf(a, b) hri_usb_get_FSMSTATUS_FSMSTATE_bf(a, b) -#define hri_usbdevice_read_FSMSTATUS_FSMSTATE_bf(a) hri_usb_read_FSMSTATUS_FSMSTATE_bf(a) -#define hri_usbdevice_get_FSMSTATUS_reg(a, b) hri_usb_get_FSMSTATUS_reg(a, b) -#define hri_usbdevice_read_FSMSTATUS_reg(a) hri_usb_read_FSMSTATUS_reg(a) - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_USB_E54_H_INCLUDED */ -#endif /* _SAME54_USB_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/hri/hri_wdt_e54.h b/software/firmware/oracle_same54n19a/hri/hri_wdt_e54.h deleted file mode 100644 index 3549e2f..0000000 --- a/software/firmware/oracle_same54n19a/hri/hri_wdt_e54.h +++ /dev/null @@ -1,617 +0,0 @@ -/** - * \file - * - * \brief SAM WDT - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_WDT_COMPONENT_ -#ifndef _HRI_WDT_E54_H_INCLUDED_ -#define _HRI_WDT_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_WDT_CRITICAL_SECTIONS) -#define WDT_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define WDT_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define WDT_CRITICAL_SECTION_ENTER() -#define WDT_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_wdt_syncbusy_reg_t; -typedef uint8_t hri_wdt_clear_reg_t; -typedef uint8_t hri_wdt_config_reg_t; -typedef uint8_t hri_wdt_ctrla_reg_t; -typedef uint8_t hri_wdt_ewctrl_reg_t; -typedef uint8_t hri_wdt_intenset_reg_t; -typedef uint8_t hri_wdt_intflag_reg_t; - -static inline void hri_wdt_wait_for_sync(const void *const hw, hri_wdt_syncbusy_reg_t reg) -{ - while (((Wdt *)hw)->SYNCBUSY.reg & reg) { - }; -} - -static inline bool hri_wdt_is_syncing(const void *const hw, hri_wdt_syncbusy_reg_t reg) -{ - return ((Wdt *)hw)->SYNCBUSY.reg & reg; -} - -static inline bool hri_wdt_get_INTFLAG_EW_bit(const void *const hw) -{ - return (((Wdt *)hw)->INTFLAG.reg & WDT_INTFLAG_EW) >> WDT_INTFLAG_EW_Pos; -} - -static inline void hri_wdt_clear_INTFLAG_EW_bit(const void *const hw) -{ - ((Wdt *)hw)->INTFLAG.reg = WDT_INTFLAG_EW; -} - -static inline bool hri_wdt_get_interrupt_EW_bit(const void *const hw) -{ - return (((Wdt *)hw)->INTFLAG.reg & WDT_INTFLAG_EW) >> WDT_INTFLAG_EW_Pos; -} - -static inline void hri_wdt_clear_interrupt_EW_bit(const void *const hw) -{ - ((Wdt *)hw)->INTFLAG.reg = WDT_INTFLAG_EW; -} - -static inline hri_wdt_intflag_reg_t hri_wdt_get_INTFLAG_reg(const void *const hw, hri_wdt_intflag_reg_t mask) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->INTFLAG.reg; - tmp &= mask; - return tmp; -} - -static inline hri_wdt_intflag_reg_t hri_wdt_read_INTFLAG_reg(const void *const hw) -{ - return ((Wdt *)hw)->INTFLAG.reg; -} - -static inline void hri_wdt_clear_INTFLAG_reg(const void *const hw, hri_wdt_intflag_reg_t mask) -{ - ((Wdt *)hw)->INTFLAG.reg = mask; -} - -static inline void hri_wdt_set_INTEN_EW_bit(const void *const hw) -{ - ((Wdt *)hw)->INTENSET.reg = WDT_INTENSET_EW; -} - -static inline bool hri_wdt_get_INTEN_EW_bit(const void *const hw) -{ - return (((Wdt *)hw)->INTENSET.reg & WDT_INTENSET_EW) >> WDT_INTENSET_EW_Pos; -} - -static inline void hri_wdt_write_INTEN_EW_bit(const void *const hw, bool value) -{ - if (value == 0x0) { - ((Wdt *)hw)->INTENCLR.reg = WDT_INTENSET_EW; - } else { - ((Wdt *)hw)->INTENSET.reg = WDT_INTENSET_EW; - } -} - -static inline void hri_wdt_clear_INTEN_EW_bit(const void *const hw) -{ - ((Wdt *)hw)->INTENCLR.reg = WDT_INTENSET_EW; -} - -static inline void hri_wdt_set_INTEN_reg(const void *const hw, hri_wdt_intenset_reg_t mask) -{ - ((Wdt *)hw)->INTENSET.reg = mask; -} - -static inline hri_wdt_intenset_reg_t hri_wdt_get_INTEN_reg(const void *const hw, hri_wdt_intenset_reg_t mask) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->INTENSET.reg; - tmp &= mask; - return tmp; -} - -static inline hri_wdt_intenset_reg_t hri_wdt_read_INTEN_reg(const void *const hw) -{ - return ((Wdt *)hw)->INTENSET.reg; -} - -static inline void hri_wdt_write_INTEN_reg(const void *const hw, hri_wdt_intenset_reg_t data) -{ - ((Wdt *)hw)->INTENSET.reg = data; - ((Wdt *)hw)->INTENCLR.reg = ~data; -} - -static inline void hri_wdt_clear_INTEN_reg(const void *const hw, hri_wdt_intenset_reg_t mask) -{ - ((Wdt *)hw)->INTENCLR.reg = mask; -} - -static inline bool hri_wdt_get_SYNCBUSY_ENABLE_bit(const void *const hw) -{ - return (((Wdt *)hw)->SYNCBUSY.reg & WDT_SYNCBUSY_ENABLE) >> WDT_SYNCBUSY_ENABLE_Pos; -} - -static inline bool hri_wdt_get_SYNCBUSY_WEN_bit(const void *const hw) -{ - return (((Wdt *)hw)->SYNCBUSY.reg & WDT_SYNCBUSY_WEN) >> WDT_SYNCBUSY_WEN_Pos; -} - -static inline bool hri_wdt_get_SYNCBUSY_ALWAYSON_bit(const void *const hw) -{ - return (((Wdt *)hw)->SYNCBUSY.reg & WDT_SYNCBUSY_ALWAYSON) >> WDT_SYNCBUSY_ALWAYSON_Pos; -} - -static inline bool hri_wdt_get_SYNCBUSY_CLEAR_bit(const void *const hw) -{ - return (((Wdt *)hw)->SYNCBUSY.reg & WDT_SYNCBUSY_CLEAR) >> WDT_SYNCBUSY_CLEAR_Pos; -} - -static inline hri_wdt_syncbusy_reg_t hri_wdt_get_SYNCBUSY_reg(const void *const hw, hri_wdt_syncbusy_reg_t mask) -{ - uint32_t tmp; - tmp = ((Wdt *)hw)->SYNCBUSY.reg; - tmp &= mask; - return tmp; -} - -static inline hri_wdt_syncbusy_reg_t hri_wdt_read_SYNCBUSY_reg(const void *const hw) -{ - return ((Wdt *)hw)->SYNCBUSY.reg; -} - -static inline void hri_wdt_set_CTRLA_ENABLE_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg |= WDT_CTRLA_ENABLE; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_wdt_get_CTRLA_ENABLE_bit(const void *const hw) -{ - uint8_t tmp; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - tmp = ((Wdt *)hw)->CTRLA.reg; - tmp = (tmp & WDT_CTRLA_ENABLE) >> WDT_CTRLA_ENABLE_Pos; - return (bool)tmp; -} - -static inline void hri_wdt_write_CTRLA_ENABLE_bit(const void *const hw, bool value) -{ - uint8_t tmp; - WDT_CRITICAL_SECTION_ENTER(); - tmp = ((Wdt *)hw)->CTRLA.reg; - tmp &= ~WDT_CTRLA_ENABLE; - tmp |= value << WDT_CTRLA_ENABLE_Pos; - ((Wdt *)hw)->CTRLA.reg = tmp; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_CTRLA_ENABLE_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg &= ~WDT_CTRLA_ENABLE; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_CTRLA_ENABLE_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg ^= WDT_CTRLA_ENABLE; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_set_CTRLA_WEN_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg |= WDT_CTRLA_WEN; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_wdt_get_CTRLA_WEN_bit(const void *const hw) -{ - uint8_t tmp; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - tmp = ((Wdt *)hw)->CTRLA.reg; - tmp = (tmp & WDT_CTRLA_WEN) >> WDT_CTRLA_WEN_Pos; - return (bool)tmp; -} - -static inline void hri_wdt_write_CTRLA_WEN_bit(const void *const hw, bool value) -{ - uint8_t tmp; - WDT_CRITICAL_SECTION_ENTER(); - tmp = ((Wdt *)hw)->CTRLA.reg; - tmp &= ~WDT_CTRLA_WEN; - tmp |= value << WDT_CTRLA_WEN_Pos; - ((Wdt *)hw)->CTRLA.reg = tmp; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_CTRLA_WEN_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg &= ~WDT_CTRLA_WEN; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_CTRLA_WEN_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg ^= WDT_CTRLA_WEN; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_set_CTRLA_ALWAYSON_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg |= WDT_CTRLA_ALWAYSON; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline bool hri_wdt_get_CTRLA_ALWAYSON_bit(const void *const hw) -{ - uint8_t tmp; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - tmp = ((Wdt *)hw)->CTRLA.reg; - tmp = (tmp & WDT_CTRLA_ALWAYSON) >> WDT_CTRLA_ALWAYSON_Pos; - return (bool)tmp; -} - -static inline void hri_wdt_write_CTRLA_ALWAYSON_bit(const void *const hw, bool value) -{ - uint8_t tmp; - WDT_CRITICAL_SECTION_ENTER(); - tmp = ((Wdt *)hw)->CTRLA.reg; - tmp &= ~WDT_CTRLA_ALWAYSON; - tmp |= value << WDT_CTRLA_ALWAYSON_Pos; - ((Wdt *)hw)->CTRLA.reg = tmp; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_CTRLA_ALWAYSON_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg &= ~WDT_CTRLA_ALWAYSON; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_CTRLA_ALWAYSON_bit(const void *const hw) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg ^= WDT_CTRLA_ALWAYSON; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_set_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg |= mask; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_ctrla_reg_t hri_wdt_get_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t mask) -{ - uint8_t tmp; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - tmp = ((Wdt *)hw)->CTRLA.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_wdt_write_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t data) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg = data; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg &= ~mask; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CTRLA.reg ^= mask; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_ctrla_reg_t hri_wdt_read_CTRLA_reg(const void *const hw) -{ - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON); - return ((Wdt *)hw)->CTRLA.reg; -} - -static inline void hri_wdt_set_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg |= WDT_CONFIG_PER(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_config_reg_t hri_wdt_get_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t mask) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->CONFIG.reg; - tmp = (tmp & WDT_CONFIG_PER(mask)) >> WDT_CONFIG_PER_Pos; - return tmp; -} - -static inline void hri_wdt_write_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t data) -{ - uint8_t tmp; - WDT_CRITICAL_SECTION_ENTER(); - tmp = ((Wdt *)hw)->CONFIG.reg; - tmp &= ~WDT_CONFIG_PER_Msk; - tmp |= WDT_CONFIG_PER(data); - ((Wdt *)hw)->CONFIG.reg = tmp; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg &= ~WDT_CONFIG_PER(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg ^= WDT_CONFIG_PER(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_config_reg_t hri_wdt_read_CONFIG_PER_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->CONFIG.reg; - tmp = (tmp & WDT_CONFIG_PER_Msk) >> WDT_CONFIG_PER_Pos; - return tmp; -} - -static inline void hri_wdt_set_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg |= WDT_CONFIG_WINDOW(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_config_reg_t hri_wdt_get_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t mask) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->CONFIG.reg; - tmp = (tmp & WDT_CONFIG_WINDOW(mask)) >> WDT_CONFIG_WINDOW_Pos; - return tmp; -} - -static inline void hri_wdt_write_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t data) -{ - uint8_t tmp; - WDT_CRITICAL_SECTION_ENTER(); - tmp = ((Wdt *)hw)->CONFIG.reg; - tmp &= ~WDT_CONFIG_WINDOW_Msk; - tmp |= WDT_CONFIG_WINDOW(data); - ((Wdt *)hw)->CONFIG.reg = tmp; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg &= ~WDT_CONFIG_WINDOW(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg ^= WDT_CONFIG_WINDOW(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_config_reg_t hri_wdt_read_CONFIG_WINDOW_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->CONFIG.reg; - tmp = (tmp & WDT_CONFIG_WINDOW_Msk) >> WDT_CONFIG_WINDOW_Pos; - return tmp; -} - -static inline void hri_wdt_set_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg |= mask; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_config_reg_t hri_wdt_get_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t mask) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->CONFIG.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_wdt_write_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t data) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg = data; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg &= ~mask; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CONFIG.reg ^= mask; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_config_reg_t hri_wdt_read_CONFIG_reg(const void *const hw) -{ - return ((Wdt *)hw)->CONFIG.reg; -} - -static inline void hri_wdt_set_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->EWCTRL.reg |= WDT_EWCTRL_EWOFFSET(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_ewctrl_reg_t hri_wdt_get_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->EWCTRL.reg; - tmp = (tmp & WDT_EWCTRL_EWOFFSET(mask)) >> WDT_EWCTRL_EWOFFSET_Pos; - return tmp; -} - -static inline void hri_wdt_write_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t data) -{ - uint8_t tmp; - WDT_CRITICAL_SECTION_ENTER(); - tmp = ((Wdt *)hw)->EWCTRL.reg; - tmp &= ~WDT_EWCTRL_EWOFFSET_Msk; - tmp |= WDT_EWCTRL_EWOFFSET(data); - ((Wdt *)hw)->EWCTRL.reg = tmp; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->EWCTRL.reg &= ~WDT_EWCTRL_EWOFFSET(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->EWCTRL.reg ^= WDT_EWCTRL_EWOFFSET(mask); - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_ewctrl_reg_t hri_wdt_read_EWCTRL_EWOFFSET_bf(const void *const hw) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->EWCTRL.reg; - tmp = (tmp & WDT_EWCTRL_EWOFFSET_Msk) >> WDT_EWCTRL_EWOFFSET_Pos; - return tmp; -} - -static inline void hri_wdt_set_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->EWCTRL.reg |= mask; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_ewctrl_reg_t hri_wdt_get_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t mask) -{ - uint8_t tmp; - tmp = ((Wdt *)hw)->EWCTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_wdt_write_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t data) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->EWCTRL.reg = data; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_clear_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->EWCTRL.reg &= ~mask; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_wdt_toggle_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t mask) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->EWCTRL.reg ^= mask; - WDT_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_wdt_ewctrl_reg_t hri_wdt_read_EWCTRL_reg(const void *const hw) -{ - return ((Wdt *)hw)->EWCTRL.reg; -} - -static inline void hri_wdt_write_CLEAR_reg(const void *const hw, hri_wdt_clear_reg_t data) -{ - WDT_CRITICAL_SECTION_ENTER(); - ((Wdt *)hw)->CLEAR.reg = data; - hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_CLEAR); - WDT_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_WDT_E54_H_INCLUDED */ -#endif /* _SAME54_WDT_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/include/component-version.h b/software/firmware/oracle_same54n19a/include/component-version.h deleted file mode 100644 index d786d20..0000000 --- a/software/firmware/oracle_same54n19a/include/component-version.h +++ /dev/null @@ -1,64 +0,0 @@ -/** - * \file - * - * \brief Component version header file - * - * Copyright (c) 2019 Atmel Corporation, a wholly owned subsidiary of Microchip Technology Inc. - * - * \license_start - * - * \page License - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \license_stop - * - */ - -#ifndef _COMPONENT_VERSION_H_INCLUDED -#define _COMPONENT_VERSION_H_INCLUDED - -#define COMPONENT_VERSION_MAJOR 1 -#define COMPONENT_VERSION_MINOR 1 - -// -// The COMPONENT_VERSION define is composed of the major and the minor version number. -// -// The last four digits of the COMPONENT_VERSION is the minor version with leading zeros. -// The rest of the COMPONENT_VERSION is the major version. -// -#define COMPONENT_VERSION 10001 - -// -// The build number does not refer to the component, but to the build number -// of the device pack that provides the component. -// -#define BUILD_NUMBER 134 - -// -// The COMPONENT_VERSION_STRING is a string (enclosed in ") that can be used for logging or embedding. -// -#define COMPONENT_VERSION_STRING "1.1" - -// -// The COMPONENT_DATE_STRING contains a timestamp of when the pack was generated. -// -// The COMPONENT_DATE_STRING is written out using the following strftime pattern. -// -// "%Y-%m-%d %H:%M:%S" -// -// -#define COMPONENT_DATE_STRING "2019-04-09 08:16:19" - -#endif/* #ifndef _COMPONENT_VERSION_H_INCLUDED */ - diff --git a/software/firmware/oracle_same54n19a/include/component/ac.h b/software/firmware/oracle_same54n19a/include/component/ac.h deleted file mode 100644 index e8a9fc4..0000000 --- a/software/firmware/oracle_same54n19a/include/component/ac.h +++ /dev/null @@ -1,598 +0,0 @@ -/** - * \file - * - * \brief Component description for AC - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_AC_COMPONENT_ -#define _SAME54_AC_COMPONENT_ - -/* ========================================================================== */ -/** SOFTWARE API DEFINITION FOR AC */ -/* ========================================================================== */ -/** \addtogroup SAME54_AC Analog Comparators */ -/*@{*/ - -#define AC_U2501 -#define REV_AC 0x100 - -/* -------- AC_CTRLA : (AC Offset: 0x00) (R/W 8) Control A -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t SWRST:1; /*!< bit: 0 Software Reset */ - uint8_t ENABLE:1; /*!< bit: 1 Enable */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AC_CTRLA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_CTRLA_OFFSET 0x00 /**< \brief (AC_CTRLA offset) Control A */ -#define AC_CTRLA_RESETVALUE _U_(0x00) /**< \brief (AC_CTRLA reset_value) Control A */ - -#define AC_CTRLA_SWRST_Pos 0 /**< \brief (AC_CTRLA) Software Reset */ -#define AC_CTRLA_SWRST (_U_(0x1) << AC_CTRLA_SWRST_Pos) -#define AC_CTRLA_ENABLE_Pos 1 /**< \brief (AC_CTRLA) Enable */ -#define AC_CTRLA_ENABLE (_U_(0x1) << AC_CTRLA_ENABLE_Pos) -#define AC_CTRLA_MASK _U_(0x03) /**< \brief (AC_CTRLA) MASK Register */ - -/* -------- AC_CTRLB : (AC Offset: 0x01) ( /W 8) Control B -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t START0:1; /*!< bit: 0 Comparator 0 Start Comparison */ - uint8_t START1:1; /*!< bit: 1 Comparator 1 Start Comparison */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t START:2; /*!< bit: 0.. 1 Comparator x Start Comparison */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} AC_CTRLB_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_CTRLB_OFFSET 0x01 /**< \brief (AC_CTRLB offset) Control B */ -#define AC_CTRLB_RESETVALUE _U_(0x00) /**< \brief (AC_CTRLB reset_value) Control B */ - -#define AC_CTRLB_START0_Pos 0 /**< \brief (AC_CTRLB) Comparator 0 Start Comparison */ -#define AC_CTRLB_START0 (_U_(1) << AC_CTRLB_START0_Pos) -#define AC_CTRLB_START1_Pos 1 /**< \brief (AC_CTRLB) Comparator 1 Start Comparison */ -#define AC_CTRLB_START1 (_U_(1) << AC_CTRLB_START1_Pos) -#define AC_CTRLB_START_Pos 0 /**< \brief (AC_CTRLB) Comparator x Start Comparison */ -#define AC_CTRLB_START_Msk (_U_(0x3) << AC_CTRLB_START_Pos) -#define AC_CTRLB_START(value) (AC_CTRLB_START_Msk & ((value) << AC_CTRLB_START_Pos)) -#define AC_CTRLB_MASK _U_(0x03) /**< \brief (AC_CTRLB) MASK Register */ - -/* -------- AC_EVCTRL : (AC Offset: 0x02) (R/W 16) Event Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t COMPEO0:1; /*!< bit: 0 Comparator 0 Event Output Enable */ - uint16_t COMPEO1:1; /*!< bit: 1 Comparator 1 Event Output Enable */ - uint16_t :2; /*!< bit: 2.. 3 Reserved */ - uint16_t WINEO0:1; /*!< bit: 4 Window 0 Event Output Enable */ - uint16_t :3; /*!< bit: 5.. 7 Reserved */ - uint16_t COMPEI0:1; /*!< bit: 8 Comparator 0 Event Input Enable */ - uint16_t COMPEI1:1; /*!< bit: 9 Comparator 1 Event Input Enable */ - uint16_t :2; /*!< bit: 10..11 Reserved */ - uint16_t INVEI0:1; /*!< bit: 12 Comparator 0 Input Event Invert Enable */ - uint16_t INVEI1:1; /*!< bit: 13 Comparator 1 Input Event Invert Enable */ - uint16_t :2; /*!< bit: 14..15 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint16_t COMPEO:2; /*!< bit: 0.. 1 Comparator x Event Output Enable */ - uint16_t :2; /*!< bit: 2.. 3 Reserved */ - uint16_t WINEO:1; /*!< bit: 4 Window x Event Output Enable */ - uint16_t :3; /*!< bit: 5.. 7 Reserved */ - uint16_t COMPEI:2; /*!< bit: 8.. 9 Comparator x Event Input Enable */ - uint16_t :2; /*!< bit: 10..11 Reserved */ - uint16_t INVEI:2; /*!< bit: 12..13 Comparator x Input Event Invert Enable */ - uint16_t :2; /*!< bit: 14..15 Reserved */ - } vec; /*!< Structure used for vec access */ - uint16_t reg; /*!< Type used for register access */ -} AC_EVCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_EVCTRL_OFFSET 0x02 /**< \brief (AC_EVCTRL offset) Event Control */ -#define AC_EVCTRL_RESETVALUE _U_(0x0000) /**< \brief (AC_EVCTRL reset_value) Event Control */ - -#define AC_EVCTRL_COMPEO0_Pos 0 /**< \brief (AC_EVCTRL) Comparator 0 Event Output Enable */ -#define AC_EVCTRL_COMPEO0 (_U_(1) << AC_EVCTRL_COMPEO0_Pos) -#define AC_EVCTRL_COMPEO1_Pos 1 /**< \brief (AC_EVCTRL) Comparator 1 Event Output Enable */ -#define AC_EVCTRL_COMPEO1 (_U_(1) << AC_EVCTRL_COMPEO1_Pos) -#define AC_EVCTRL_COMPEO_Pos 0 /**< \brief (AC_EVCTRL) Comparator x Event Output Enable */ -#define AC_EVCTRL_COMPEO_Msk (_U_(0x3) << AC_EVCTRL_COMPEO_Pos) -#define AC_EVCTRL_COMPEO(value) (AC_EVCTRL_COMPEO_Msk & ((value) << AC_EVCTRL_COMPEO_Pos)) -#define AC_EVCTRL_WINEO0_Pos 4 /**< \brief (AC_EVCTRL) Window 0 Event Output Enable */ -#define AC_EVCTRL_WINEO0 (_U_(1) << AC_EVCTRL_WINEO0_Pos) -#define AC_EVCTRL_WINEO_Pos 4 /**< \brief (AC_EVCTRL) Window x Event Output Enable */ -#define AC_EVCTRL_WINEO_Msk (_U_(0x1) << AC_EVCTRL_WINEO_Pos) -#define AC_EVCTRL_WINEO(value) (AC_EVCTRL_WINEO_Msk & ((value) << AC_EVCTRL_WINEO_Pos)) -#define AC_EVCTRL_COMPEI0_Pos 8 /**< \brief (AC_EVCTRL) Comparator 0 Event Input Enable */ -#define AC_EVCTRL_COMPEI0 (_U_(1) << AC_EVCTRL_COMPEI0_Pos) -#define AC_EVCTRL_COMPEI1_Pos 9 /**< \brief (AC_EVCTRL) Comparator 1 Event Input Enable */ -#define AC_EVCTRL_COMPEI1 (_U_(1) << AC_EVCTRL_COMPEI1_Pos) -#define AC_EVCTRL_COMPEI_Pos 8 /**< \brief (AC_EVCTRL) Comparator x Event Input Enable */ -#define AC_EVCTRL_COMPEI_Msk (_U_(0x3) << AC_EVCTRL_COMPEI_Pos) -#define AC_EVCTRL_COMPEI(value) (AC_EVCTRL_COMPEI_Msk & ((value) << AC_EVCTRL_COMPEI_Pos)) -#define AC_EVCTRL_INVEI0_Pos 12 /**< \brief (AC_EVCTRL) Comparator 0 Input Event Invert Enable */ -#define AC_EVCTRL_INVEI0 (_U_(1) << AC_EVCTRL_INVEI0_Pos) -#define AC_EVCTRL_INVEI1_Pos 13 /**< \brief (AC_EVCTRL) Comparator 1 Input Event Invert Enable */ -#define AC_EVCTRL_INVEI1 (_U_(1) << AC_EVCTRL_INVEI1_Pos) -#define AC_EVCTRL_INVEI_Pos 12 /**< \brief (AC_EVCTRL) Comparator x Input Event Invert Enable */ -#define AC_EVCTRL_INVEI_Msk (_U_(0x3) << AC_EVCTRL_INVEI_Pos) -#define AC_EVCTRL_INVEI(value) (AC_EVCTRL_INVEI_Msk & ((value) << AC_EVCTRL_INVEI_Pos)) -#define AC_EVCTRL_MASK _U_(0x3313) /**< \brief (AC_EVCTRL) MASK Register */ - -/* -------- AC_INTENCLR : (AC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t COMP0:1; /*!< bit: 0 Comparator 0 Interrupt Enable */ - uint8_t COMP1:1; /*!< bit: 1 Comparator 1 Interrupt Enable */ - uint8_t :2; /*!< bit: 2.. 3 Reserved */ - uint8_t WIN0:1; /*!< bit: 4 Window 0 Interrupt Enable */ - uint8_t :3; /*!< bit: 5.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t COMP:2; /*!< bit: 0.. 1 Comparator x Interrupt Enable */ - uint8_t :2; /*!< bit: 2.. 3 Reserved */ - uint8_t WIN:1; /*!< bit: 4 Window x Interrupt Enable */ - uint8_t :3; /*!< bit: 5.. 7 Reserved */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} AC_INTENCLR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_INTENCLR_OFFSET 0x04 /**< \brief (AC_INTENCLR offset) Interrupt Enable Clear */ -#define AC_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (AC_INTENCLR reset_value) Interrupt Enable Clear */ - -#define AC_INTENCLR_COMP0_Pos 0 /**< \brief (AC_INTENCLR) Comparator 0 Interrupt Enable */ -#define AC_INTENCLR_COMP0 (_U_(1) << AC_INTENCLR_COMP0_Pos) -#define AC_INTENCLR_COMP1_Pos 1 /**< \brief (AC_INTENCLR) Comparator 1 Interrupt Enable */ -#define AC_INTENCLR_COMP1 (_U_(1) << AC_INTENCLR_COMP1_Pos) -#define AC_INTENCLR_COMP_Pos 0 /**< \brief (AC_INTENCLR) Comparator x Interrupt Enable */ -#define AC_INTENCLR_COMP_Msk (_U_(0x3) << AC_INTENCLR_COMP_Pos) -#define AC_INTENCLR_COMP(value) (AC_INTENCLR_COMP_Msk & ((value) << AC_INTENCLR_COMP_Pos)) -#define AC_INTENCLR_WIN0_Pos 4 /**< \brief (AC_INTENCLR) Window 0 Interrupt Enable */ -#define AC_INTENCLR_WIN0 (_U_(1) << AC_INTENCLR_WIN0_Pos) -#define AC_INTENCLR_WIN_Pos 4 /**< \brief (AC_INTENCLR) Window x Interrupt Enable */ -#define AC_INTENCLR_WIN_Msk (_U_(0x1) << AC_INTENCLR_WIN_Pos) -#define AC_INTENCLR_WIN(value) (AC_INTENCLR_WIN_Msk & ((value) << AC_INTENCLR_WIN_Pos)) -#define AC_INTENCLR_MASK _U_(0x13) /**< \brief (AC_INTENCLR) MASK Register */ - -/* -------- AC_INTENSET : (AC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t COMP0:1; /*!< bit: 0 Comparator 0 Interrupt Enable */ - uint8_t COMP1:1; /*!< bit: 1 Comparator 1 Interrupt Enable */ - uint8_t :2; /*!< bit: 2.. 3 Reserved */ - uint8_t WIN0:1; /*!< bit: 4 Window 0 Interrupt Enable */ - uint8_t :3; /*!< bit: 5.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t COMP:2; /*!< bit: 0.. 1 Comparator x Interrupt Enable */ - uint8_t :2; /*!< bit: 2.. 3 Reserved */ - uint8_t WIN:1; /*!< bit: 4 Window x Interrupt Enable */ - uint8_t :3; /*!< bit: 5.. 7 Reserved */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} AC_INTENSET_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_INTENSET_OFFSET 0x05 /**< \brief (AC_INTENSET offset) Interrupt Enable Set */ -#define AC_INTENSET_RESETVALUE _U_(0x00) /**< \brief (AC_INTENSET reset_value) Interrupt Enable Set */ - -#define AC_INTENSET_COMP0_Pos 0 /**< \brief (AC_INTENSET) Comparator 0 Interrupt Enable */ -#define AC_INTENSET_COMP0 (_U_(1) << AC_INTENSET_COMP0_Pos) -#define AC_INTENSET_COMP1_Pos 1 /**< \brief (AC_INTENSET) Comparator 1 Interrupt Enable */ -#define AC_INTENSET_COMP1 (_U_(1) << AC_INTENSET_COMP1_Pos) -#define AC_INTENSET_COMP_Pos 0 /**< \brief (AC_INTENSET) Comparator x Interrupt Enable */ -#define AC_INTENSET_COMP_Msk (_U_(0x3) << AC_INTENSET_COMP_Pos) -#define AC_INTENSET_COMP(value) (AC_INTENSET_COMP_Msk & ((value) << AC_INTENSET_COMP_Pos)) -#define AC_INTENSET_WIN0_Pos 4 /**< \brief (AC_INTENSET) Window 0 Interrupt Enable */ -#define AC_INTENSET_WIN0 (_U_(1) << AC_INTENSET_WIN0_Pos) -#define AC_INTENSET_WIN_Pos 4 /**< \brief (AC_INTENSET) Window x Interrupt Enable */ -#define AC_INTENSET_WIN_Msk (_U_(0x1) << AC_INTENSET_WIN_Pos) -#define AC_INTENSET_WIN(value) (AC_INTENSET_WIN_Msk & ((value) << AC_INTENSET_WIN_Pos)) -#define AC_INTENSET_MASK _U_(0x13) /**< \brief (AC_INTENSET) MASK Register */ - -/* -------- AC_INTFLAG : (AC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { // __I to avoid read-modify-write on write-to-clear register - struct { - __I uint8_t COMP0:1; /*!< bit: 0 Comparator 0 */ - __I uint8_t COMP1:1; /*!< bit: 1 Comparator 1 */ - __I uint8_t :2; /*!< bit: 2.. 3 Reserved */ - __I uint8_t WIN0:1; /*!< bit: 4 Window 0 */ - __I uint8_t :3; /*!< bit: 5.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - __I uint8_t COMP:2; /*!< bit: 0.. 1 Comparator x */ - __I uint8_t :2; /*!< bit: 2.. 3 Reserved */ - __I uint8_t WIN:1; /*!< bit: 4 Window x */ - __I uint8_t :3; /*!< bit: 5.. 7 Reserved */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} AC_INTFLAG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_INTFLAG_OFFSET 0x06 /**< \brief (AC_INTFLAG offset) Interrupt Flag Status and Clear */ -#define AC_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (AC_INTFLAG reset_value) Interrupt Flag Status and Clear */ - -#define AC_INTFLAG_COMP0_Pos 0 /**< \brief (AC_INTFLAG) Comparator 0 */ -#define AC_INTFLAG_COMP0 (_U_(1) << AC_INTFLAG_COMP0_Pos) -#define AC_INTFLAG_COMP1_Pos 1 /**< \brief (AC_INTFLAG) Comparator 1 */ -#define AC_INTFLAG_COMP1 (_U_(1) << AC_INTFLAG_COMP1_Pos) -#define AC_INTFLAG_COMP_Pos 0 /**< \brief (AC_INTFLAG) Comparator x */ -#define AC_INTFLAG_COMP_Msk (_U_(0x3) << AC_INTFLAG_COMP_Pos) -#define AC_INTFLAG_COMP(value) (AC_INTFLAG_COMP_Msk & ((value) << AC_INTFLAG_COMP_Pos)) -#define AC_INTFLAG_WIN0_Pos 4 /**< \brief (AC_INTFLAG) Window 0 */ -#define AC_INTFLAG_WIN0 (_U_(1) << AC_INTFLAG_WIN0_Pos) -#define AC_INTFLAG_WIN_Pos 4 /**< \brief (AC_INTFLAG) Window x */ -#define AC_INTFLAG_WIN_Msk (_U_(0x1) << AC_INTFLAG_WIN_Pos) -#define AC_INTFLAG_WIN(value) (AC_INTFLAG_WIN_Msk & ((value) << AC_INTFLAG_WIN_Pos)) -#define AC_INTFLAG_MASK _U_(0x13) /**< \brief (AC_INTFLAG) MASK Register */ - -/* -------- AC_STATUSA : (AC Offset: 0x07) (R/ 8) Status A -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t STATE0:1; /*!< bit: 0 Comparator 0 Current State */ - uint8_t STATE1:1; /*!< bit: 1 Comparator 1 Current State */ - uint8_t :2; /*!< bit: 2.. 3 Reserved */ - uint8_t WSTATE0:2; /*!< bit: 4.. 5 Window 0 Current State */ - uint8_t :2; /*!< bit: 6.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t STATE:2; /*!< bit: 0.. 1 Comparator x Current State */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} AC_STATUSA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_STATUSA_OFFSET 0x07 /**< \brief (AC_STATUSA offset) Status A */ -#define AC_STATUSA_RESETVALUE _U_(0x00) /**< \brief (AC_STATUSA reset_value) Status A */ - -#define AC_STATUSA_STATE0_Pos 0 /**< \brief (AC_STATUSA) Comparator 0 Current State */ -#define AC_STATUSA_STATE0 (_U_(1) << AC_STATUSA_STATE0_Pos) -#define AC_STATUSA_STATE1_Pos 1 /**< \brief (AC_STATUSA) Comparator 1 Current State */ -#define AC_STATUSA_STATE1 (_U_(1) << AC_STATUSA_STATE1_Pos) -#define AC_STATUSA_STATE_Pos 0 /**< \brief (AC_STATUSA) Comparator x Current State */ -#define AC_STATUSA_STATE_Msk (_U_(0x3) << AC_STATUSA_STATE_Pos) -#define AC_STATUSA_STATE(value) (AC_STATUSA_STATE_Msk & ((value) << AC_STATUSA_STATE_Pos)) -#define AC_STATUSA_WSTATE0_Pos 4 /**< \brief (AC_STATUSA) Window 0 Current State */ -#define AC_STATUSA_WSTATE0_Msk (_U_(0x3) << AC_STATUSA_WSTATE0_Pos) -#define AC_STATUSA_WSTATE0(value) (AC_STATUSA_WSTATE0_Msk & ((value) << AC_STATUSA_WSTATE0_Pos)) -#define AC_STATUSA_WSTATE0_ABOVE_Val _U_(0x0) /**< \brief (AC_STATUSA) Signal is above window */ -#define AC_STATUSA_WSTATE0_INSIDE_Val _U_(0x1) /**< \brief (AC_STATUSA) Signal is inside window */ -#define AC_STATUSA_WSTATE0_BELOW_Val _U_(0x2) /**< \brief (AC_STATUSA) Signal is below window */ -#define AC_STATUSA_WSTATE0_ABOVE (AC_STATUSA_WSTATE0_ABOVE_Val << AC_STATUSA_WSTATE0_Pos) -#define AC_STATUSA_WSTATE0_INSIDE (AC_STATUSA_WSTATE0_INSIDE_Val << AC_STATUSA_WSTATE0_Pos) -#define AC_STATUSA_WSTATE0_BELOW (AC_STATUSA_WSTATE0_BELOW_Val << AC_STATUSA_WSTATE0_Pos) -#define AC_STATUSA_MASK _U_(0x33) /**< \brief (AC_STATUSA) MASK Register */ - -/* -------- AC_STATUSB : (AC Offset: 0x08) (R/ 8) Status B -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t READY0:1; /*!< bit: 0 Comparator 0 Ready */ - uint8_t READY1:1; /*!< bit: 1 Comparator 1 Ready */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t READY:2; /*!< bit: 0.. 1 Comparator x Ready */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} AC_STATUSB_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_STATUSB_OFFSET 0x08 /**< \brief (AC_STATUSB offset) Status B */ -#define AC_STATUSB_RESETVALUE _U_(0x00) /**< \brief (AC_STATUSB reset_value) Status B */ - -#define AC_STATUSB_READY0_Pos 0 /**< \brief (AC_STATUSB) Comparator 0 Ready */ -#define AC_STATUSB_READY0 (_U_(1) << AC_STATUSB_READY0_Pos) -#define AC_STATUSB_READY1_Pos 1 /**< \brief (AC_STATUSB) Comparator 1 Ready */ -#define AC_STATUSB_READY1 (_U_(1) << AC_STATUSB_READY1_Pos) -#define AC_STATUSB_READY_Pos 0 /**< \brief (AC_STATUSB) Comparator x Ready */ -#define AC_STATUSB_READY_Msk (_U_(0x3) << AC_STATUSB_READY_Pos) -#define AC_STATUSB_READY(value) (AC_STATUSB_READY_Msk & ((value) << AC_STATUSB_READY_Pos)) -#define AC_STATUSB_MASK _U_(0x03) /**< \brief (AC_STATUSB) MASK Register */ - -/* -------- AC_DBGCTRL : (AC Offset: 0x09) (R/W 8) Debug Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ - uint8_t :7; /*!< bit: 1.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AC_DBGCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_DBGCTRL_OFFSET 0x09 /**< \brief (AC_DBGCTRL offset) Debug Control */ -#define AC_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (AC_DBGCTRL reset_value) Debug Control */ - -#define AC_DBGCTRL_DBGRUN_Pos 0 /**< \brief (AC_DBGCTRL) Debug Run */ -#define AC_DBGCTRL_DBGRUN (_U_(0x1) << AC_DBGCTRL_DBGRUN_Pos) -#define AC_DBGCTRL_MASK _U_(0x01) /**< \brief (AC_DBGCTRL) MASK Register */ - -/* -------- AC_WINCTRL : (AC Offset: 0x0A) (R/W 8) Window Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t WEN0:1; /*!< bit: 0 Window 0 Mode Enable */ - uint8_t WINTSEL0:2; /*!< bit: 1.. 2 Window 0 Interrupt Selection */ - uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AC_WINCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_WINCTRL_OFFSET 0x0A /**< \brief (AC_WINCTRL offset) Window Control */ -#define AC_WINCTRL_RESETVALUE _U_(0x00) /**< \brief (AC_WINCTRL reset_value) Window Control */ - -#define AC_WINCTRL_WEN0_Pos 0 /**< \brief (AC_WINCTRL) Window 0 Mode Enable */ -#define AC_WINCTRL_WEN0 (_U_(0x1) << AC_WINCTRL_WEN0_Pos) -#define AC_WINCTRL_WINTSEL0_Pos 1 /**< \brief (AC_WINCTRL) Window 0 Interrupt Selection */ -#define AC_WINCTRL_WINTSEL0_Msk (_U_(0x3) << AC_WINCTRL_WINTSEL0_Pos) -#define AC_WINCTRL_WINTSEL0(value) (AC_WINCTRL_WINTSEL0_Msk & ((value) << AC_WINCTRL_WINTSEL0_Pos)) -#define AC_WINCTRL_WINTSEL0_ABOVE_Val _U_(0x0) /**< \brief (AC_WINCTRL) Interrupt on signal above window */ -#define AC_WINCTRL_WINTSEL0_INSIDE_Val _U_(0x1) /**< \brief (AC_WINCTRL) Interrupt on signal inside window */ -#define AC_WINCTRL_WINTSEL0_BELOW_Val _U_(0x2) /**< \brief (AC_WINCTRL) Interrupt on signal below window */ -#define AC_WINCTRL_WINTSEL0_OUTSIDE_Val _U_(0x3) /**< \brief (AC_WINCTRL) Interrupt on signal outside window */ -#define AC_WINCTRL_WINTSEL0_ABOVE (AC_WINCTRL_WINTSEL0_ABOVE_Val << AC_WINCTRL_WINTSEL0_Pos) -#define AC_WINCTRL_WINTSEL0_INSIDE (AC_WINCTRL_WINTSEL0_INSIDE_Val << AC_WINCTRL_WINTSEL0_Pos) -#define AC_WINCTRL_WINTSEL0_BELOW (AC_WINCTRL_WINTSEL0_BELOW_Val << AC_WINCTRL_WINTSEL0_Pos) -#define AC_WINCTRL_WINTSEL0_OUTSIDE (AC_WINCTRL_WINTSEL0_OUTSIDE_Val << AC_WINCTRL_WINTSEL0_Pos) -#define AC_WINCTRL_MASK _U_(0x07) /**< \brief (AC_WINCTRL) MASK Register */ - -/* -------- AC_SCALER : (AC Offset: 0x0C) (R/W 8) Scaler n -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t VALUE:6; /*!< bit: 0.. 5 Scaler Value */ - uint8_t :2; /*!< bit: 6.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AC_SCALER_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_SCALER_OFFSET 0x0C /**< \brief (AC_SCALER offset) Scaler n */ -#define AC_SCALER_RESETVALUE _U_(0x00) /**< \brief (AC_SCALER reset_value) Scaler n */ - -#define AC_SCALER_VALUE_Pos 0 /**< \brief (AC_SCALER) Scaler Value */ -#define AC_SCALER_VALUE_Msk (_U_(0x3F) << AC_SCALER_VALUE_Pos) -#define AC_SCALER_VALUE(value) (AC_SCALER_VALUE_Msk & ((value) << AC_SCALER_VALUE_Pos)) -#define AC_SCALER_MASK _U_(0x3F) /**< \brief (AC_SCALER) MASK Register */ - -/* -------- AC_COMPCTRL : (AC Offset: 0x10) (R/W 32) Comparator Control n -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t :1; /*!< bit: 0 Reserved */ - uint32_t ENABLE:1; /*!< bit: 1 Enable */ - uint32_t SINGLE:1; /*!< bit: 2 Single-Shot Mode */ - uint32_t INTSEL:2; /*!< bit: 3.. 4 Interrupt Selection */ - uint32_t :1; /*!< bit: 5 Reserved */ - uint32_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */ - uint32_t :1; /*!< bit: 7 Reserved */ - uint32_t MUXNEG:3; /*!< bit: 8..10 Negative Input Mux Selection */ - uint32_t :1; /*!< bit: 11 Reserved */ - uint32_t MUXPOS:3; /*!< bit: 12..14 Positive Input Mux Selection */ - uint32_t SWAP:1; /*!< bit: 15 Swap Inputs and Invert */ - uint32_t SPEED:2; /*!< bit: 16..17 Speed Selection */ - uint32_t :1; /*!< bit: 18 Reserved */ - uint32_t HYSTEN:1; /*!< bit: 19 Hysteresis Enable */ - uint32_t HYST:2; /*!< bit: 20..21 Hysteresis Level */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t FLEN:3; /*!< bit: 24..26 Filter Length */ - uint32_t :1; /*!< bit: 27 Reserved */ - uint32_t OUT:2; /*!< bit: 28..29 Output */ - uint32_t :2; /*!< bit: 30..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} AC_COMPCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_COMPCTRL_OFFSET 0x10 /**< \brief (AC_COMPCTRL offset) Comparator Control n */ -#define AC_COMPCTRL_RESETVALUE _U_(0x00000000) /**< \brief (AC_COMPCTRL reset_value) Comparator Control n */ - -#define AC_COMPCTRL_ENABLE_Pos 1 /**< \brief (AC_COMPCTRL) Enable */ -#define AC_COMPCTRL_ENABLE (_U_(0x1) << AC_COMPCTRL_ENABLE_Pos) -#define AC_COMPCTRL_SINGLE_Pos 2 /**< \brief (AC_COMPCTRL) Single-Shot Mode */ -#define AC_COMPCTRL_SINGLE (_U_(0x1) << AC_COMPCTRL_SINGLE_Pos) -#define AC_COMPCTRL_INTSEL_Pos 3 /**< \brief (AC_COMPCTRL) Interrupt Selection */ -#define AC_COMPCTRL_INTSEL_Msk (_U_(0x3) << AC_COMPCTRL_INTSEL_Pos) -#define AC_COMPCTRL_INTSEL(value) (AC_COMPCTRL_INTSEL_Msk & ((value) << AC_COMPCTRL_INTSEL_Pos)) -#define AC_COMPCTRL_INTSEL_TOGGLE_Val _U_(0x0) /**< \brief (AC_COMPCTRL) Interrupt on comparator output toggle */ -#define AC_COMPCTRL_INTSEL_RISING_Val _U_(0x1) /**< \brief (AC_COMPCTRL) Interrupt on comparator output rising */ -#define AC_COMPCTRL_INTSEL_FALLING_Val _U_(0x2) /**< \brief (AC_COMPCTRL) Interrupt on comparator output falling */ -#define AC_COMPCTRL_INTSEL_EOC_Val _U_(0x3) /**< \brief (AC_COMPCTRL) Interrupt on end of comparison (single-shot mode only) */ -#define AC_COMPCTRL_INTSEL_TOGGLE (AC_COMPCTRL_INTSEL_TOGGLE_Val << AC_COMPCTRL_INTSEL_Pos) -#define AC_COMPCTRL_INTSEL_RISING (AC_COMPCTRL_INTSEL_RISING_Val << AC_COMPCTRL_INTSEL_Pos) -#define AC_COMPCTRL_INTSEL_FALLING (AC_COMPCTRL_INTSEL_FALLING_Val << AC_COMPCTRL_INTSEL_Pos) -#define AC_COMPCTRL_INTSEL_EOC (AC_COMPCTRL_INTSEL_EOC_Val << AC_COMPCTRL_INTSEL_Pos) -#define AC_COMPCTRL_RUNSTDBY_Pos 6 /**< \brief (AC_COMPCTRL) Run in Standby */ -#define AC_COMPCTRL_RUNSTDBY (_U_(0x1) << AC_COMPCTRL_RUNSTDBY_Pos) -#define AC_COMPCTRL_MUXNEG_Pos 8 /**< \brief (AC_COMPCTRL) Negative Input Mux Selection */ -#define AC_COMPCTRL_MUXNEG_Msk (_U_(0x7) << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXNEG(value) (AC_COMPCTRL_MUXNEG_Msk & ((value) << AC_COMPCTRL_MUXNEG_Pos)) -#define AC_COMPCTRL_MUXNEG_PIN0_Val _U_(0x0) /**< \brief (AC_COMPCTRL) I/O pin 0 */ -#define AC_COMPCTRL_MUXNEG_PIN1_Val _U_(0x1) /**< \brief (AC_COMPCTRL) I/O pin 1 */ -#define AC_COMPCTRL_MUXNEG_PIN2_Val _U_(0x2) /**< \brief (AC_COMPCTRL) I/O pin 2 */ -#define AC_COMPCTRL_MUXNEG_PIN3_Val _U_(0x3) /**< \brief (AC_COMPCTRL) I/O pin 3 */ -#define AC_COMPCTRL_MUXNEG_GND_Val _U_(0x4) /**< \brief (AC_COMPCTRL) Ground */ -#define AC_COMPCTRL_MUXNEG_VSCALE_Val _U_(0x5) /**< \brief (AC_COMPCTRL) VDD scaler */ -#define AC_COMPCTRL_MUXNEG_BANDGAP_Val _U_(0x6) /**< \brief (AC_COMPCTRL) Internal bandgap voltage */ -#define AC_COMPCTRL_MUXNEG_DAC_Val _U_(0x7) /**< \brief (AC_COMPCTRL) DAC output */ -#define AC_COMPCTRL_MUXNEG_PIN0 (AC_COMPCTRL_MUXNEG_PIN0_Val << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXNEG_PIN1 (AC_COMPCTRL_MUXNEG_PIN1_Val << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXNEG_PIN2 (AC_COMPCTRL_MUXNEG_PIN2_Val << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXNEG_PIN3 (AC_COMPCTRL_MUXNEG_PIN3_Val << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXNEG_GND (AC_COMPCTRL_MUXNEG_GND_Val << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXNEG_VSCALE (AC_COMPCTRL_MUXNEG_VSCALE_Val << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXNEG_BANDGAP (AC_COMPCTRL_MUXNEG_BANDGAP_Val << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXNEG_DAC (AC_COMPCTRL_MUXNEG_DAC_Val << AC_COMPCTRL_MUXNEG_Pos) -#define AC_COMPCTRL_MUXPOS_Pos 12 /**< \brief (AC_COMPCTRL) Positive Input Mux Selection */ -#define AC_COMPCTRL_MUXPOS_Msk (_U_(0x7) << AC_COMPCTRL_MUXPOS_Pos) -#define AC_COMPCTRL_MUXPOS(value) (AC_COMPCTRL_MUXPOS_Msk & ((value) << AC_COMPCTRL_MUXPOS_Pos)) -#define AC_COMPCTRL_MUXPOS_PIN0_Val _U_(0x0) /**< \brief (AC_COMPCTRL) I/O pin 0 */ -#define AC_COMPCTRL_MUXPOS_PIN1_Val _U_(0x1) /**< \brief (AC_COMPCTRL) I/O pin 1 */ -#define AC_COMPCTRL_MUXPOS_PIN2_Val _U_(0x2) /**< \brief (AC_COMPCTRL) I/O pin 2 */ -#define AC_COMPCTRL_MUXPOS_PIN3_Val _U_(0x3) /**< \brief (AC_COMPCTRL) I/O pin 3 */ -#define AC_COMPCTRL_MUXPOS_VSCALE_Val _U_(0x4) /**< \brief (AC_COMPCTRL) VDD Scaler */ -#define AC_COMPCTRL_MUXPOS_PIN0 (AC_COMPCTRL_MUXPOS_PIN0_Val << AC_COMPCTRL_MUXPOS_Pos) -#define AC_COMPCTRL_MUXPOS_PIN1 (AC_COMPCTRL_MUXPOS_PIN1_Val << AC_COMPCTRL_MUXPOS_Pos) -#define AC_COMPCTRL_MUXPOS_PIN2 (AC_COMPCTRL_MUXPOS_PIN2_Val << AC_COMPCTRL_MUXPOS_Pos) -#define AC_COMPCTRL_MUXPOS_PIN3 (AC_COMPCTRL_MUXPOS_PIN3_Val << AC_COMPCTRL_MUXPOS_Pos) -#define AC_COMPCTRL_MUXPOS_VSCALE (AC_COMPCTRL_MUXPOS_VSCALE_Val << AC_COMPCTRL_MUXPOS_Pos) -#define AC_COMPCTRL_SWAP_Pos 15 /**< \brief (AC_COMPCTRL) Swap Inputs and Invert */ -#define AC_COMPCTRL_SWAP (_U_(0x1) << AC_COMPCTRL_SWAP_Pos) -#define AC_COMPCTRL_SPEED_Pos 16 /**< \brief (AC_COMPCTRL) Speed Selection */ -#define AC_COMPCTRL_SPEED_Msk (_U_(0x3) << AC_COMPCTRL_SPEED_Pos) -#define AC_COMPCTRL_SPEED(value) (AC_COMPCTRL_SPEED_Msk & ((value) << AC_COMPCTRL_SPEED_Pos)) -#define AC_COMPCTRL_SPEED_HIGH_Val _U_(0x3) /**< \brief (AC_COMPCTRL) High speed */ -#define AC_COMPCTRL_SPEED_HIGH (AC_COMPCTRL_SPEED_HIGH_Val << AC_COMPCTRL_SPEED_Pos) -#define AC_COMPCTRL_HYSTEN_Pos 19 /**< \brief (AC_COMPCTRL) Hysteresis Enable */ -#define AC_COMPCTRL_HYSTEN (_U_(0x1) << AC_COMPCTRL_HYSTEN_Pos) -#define AC_COMPCTRL_HYST_Pos 20 /**< \brief (AC_COMPCTRL) Hysteresis Level */ -#define AC_COMPCTRL_HYST_Msk (_U_(0x3) << AC_COMPCTRL_HYST_Pos) -#define AC_COMPCTRL_HYST(value) (AC_COMPCTRL_HYST_Msk & ((value) << AC_COMPCTRL_HYST_Pos)) -#define AC_COMPCTRL_HYST_HYST50_Val _U_(0x0) /**< \brief (AC_COMPCTRL) 50mV */ -#define AC_COMPCTRL_HYST_HYST100_Val _U_(0x1) /**< \brief (AC_COMPCTRL) 100mV */ -#define AC_COMPCTRL_HYST_HYST150_Val _U_(0x2) /**< \brief (AC_COMPCTRL) 150mV */ -#define AC_COMPCTRL_HYST_HYST50 (AC_COMPCTRL_HYST_HYST50_Val << AC_COMPCTRL_HYST_Pos) -#define AC_COMPCTRL_HYST_HYST100 (AC_COMPCTRL_HYST_HYST100_Val << AC_COMPCTRL_HYST_Pos) -#define AC_COMPCTRL_HYST_HYST150 (AC_COMPCTRL_HYST_HYST150_Val << AC_COMPCTRL_HYST_Pos) -#define AC_COMPCTRL_FLEN_Pos 24 /**< \brief (AC_COMPCTRL) Filter Length */ -#define AC_COMPCTRL_FLEN_Msk (_U_(0x7) << AC_COMPCTRL_FLEN_Pos) -#define AC_COMPCTRL_FLEN(value) (AC_COMPCTRL_FLEN_Msk & ((value) << AC_COMPCTRL_FLEN_Pos)) -#define AC_COMPCTRL_FLEN_OFF_Val _U_(0x0) /**< \brief (AC_COMPCTRL) No filtering */ -#define AC_COMPCTRL_FLEN_MAJ3_Val _U_(0x1) /**< \brief (AC_COMPCTRL) 3-bit majority function (2 of 3) */ -#define AC_COMPCTRL_FLEN_MAJ5_Val _U_(0x2) /**< \brief (AC_COMPCTRL) 5-bit majority function (3 of 5) */ -#define AC_COMPCTRL_FLEN_OFF (AC_COMPCTRL_FLEN_OFF_Val << AC_COMPCTRL_FLEN_Pos) -#define AC_COMPCTRL_FLEN_MAJ3 (AC_COMPCTRL_FLEN_MAJ3_Val << AC_COMPCTRL_FLEN_Pos) -#define AC_COMPCTRL_FLEN_MAJ5 (AC_COMPCTRL_FLEN_MAJ5_Val << AC_COMPCTRL_FLEN_Pos) -#define AC_COMPCTRL_OUT_Pos 28 /**< \brief (AC_COMPCTRL) Output */ -#define AC_COMPCTRL_OUT_Msk (_U_(0x3) << AC_COMPCTRL_OUT_Pos) -#define AC_COMPCTRL_OUT(value) (AC_COMPCTRL_OUT_Msk & ((value) << AC_COMPCTRL_OUT_Pos)) -#define AC_COMPCTRL_OUT_OFF_Val _U_(0x0) /**< \brief (AC_COMPCTRL) The output of COMPn is not routed to the COMPn I/O port */ -#define AC_COMPCTRL_OUT_ASYNC_Val _U_(0x1) /**< \brief (AC_COMPCTRL) The asynchronous output of COMPn is routed to the COMPn I/O port */ -#define AC_COMPCTRL_OUT_SYNC_Val _U_(0x2) /**< \brief (AC_COMPCTRL) The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port */ -#define AC_COMPCTRL_OUT_OFF (AC_COMPCTRL_OUT_OFF_Val << AC_COMPCTRL_OUT_Pos) -#define AC_COMPCTRL_OUT_ASYNC (AC_COMPCTRL_OUT_ASYNC_Val << AC_COMPCTRL_OUT_Pos) -#define AC_COMPCTRL_OUT_SYNC (AC_COMPCTRL_OUT_SYNC_Val << AC_COMPCTRL_OUT_Pos) -#define AC_COMPCTRL_MASK _U_(0x373BF75E) /**< \brief (AC_COMPCTRL) MASK Register */ - -/* -------- AC_SYNCBUSY : (AC Offset: 0x20) (R/ 32) Synchronization Busy -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t SWRST:1; /*!< bit: 0 Software Reset Synchronization Busy */ - uint32_t ENABLE:1; /*!< bit: 1 Enable Synchronization Busy */ - uint32_t WINCTRL:1; /*!< bit: 2 WINCTRL Synchronization Busy */ - uint32_t COMPCTRL0:1; /*!< bit: 3 COMPCTRL 0 Synchronization Busy */ - uint32_t COMPCTRL1:1; /*!< bit: 4 COMPCTRL 1 Synchronization Busy */ - uint32_t :27; /*!< bit: 5..31 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint32_t :3; /*!< bit: 0.. 2 Reserved */ - uint32_t COMPCTRL:2; /*!< bit: 3.. 4 COMPCTRL x Synchronization Busy */ - uint32_t :27; /*!< bit: 5..31 Reserved */ - } vec; /*!< Structure used for vec access */ - uint32_t reg; /*!< Type used for register access */ -} AC_SYNCBUSY_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_SYNCBUSY_OFFSET 0x20 /**< \brief (AC_SYNCBUSY offset) Synchronization Busy */ -#define AC_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (AC_SYNCBUSY reset_value) Synchronization Busy */ - -#define AC_SYNCBUSY_SWRST_Pos 0 /**< \brief (AC_SYNCBUSY) Software Reset Synchronization Busy */ -#define AC_SYNCBUSY_SWRST (_U_(0x1) << AC_SYNCBUSY_SWRST_Pos) -#define AC_SYNCBUSY_ENABLE_Pos 1 /**< \brief (AC_SYNCBUSY) Enable Synchronization Busy */ -#define AC_SYNCBUSY_ENABLE (_U_(0x1) << AC_SYNCBUSY_ENABLE_Pos) -#define AC_SYNCBUSY_WINCTRL_Pos 2 /**< \brief (AC_SYNCBUSY) WINCTRL Synchronization Busy */ -#define AC_SYNCBUSY_WINCTRL (_U_(0x1) << AC_SYNCBUSY_WINCTRL_Pos) -#define AC_SYNCBUSY_COMPCTRL0_Pos 3 /**< \brief (AC_SYNCBUSY) COMPCTRL 0 Synchronization Busy */ -#define AC_SYNCBUSY_COMPCTRL0 (_U_(1) << AC_SYNCBUSY_COMPCTRL0_Pos) -#define AC_SYNCBUSY_COMPCTRL1_Pos 4 /**< \brief (AC_SYNCBUSY) COMPCTRL 1 Synchronization Busy */ -#define AC_SYNCBUSY_COMPCTRL1 (_U_(1) << AC_SYNCBUSY_COMPCTRL1_Pos) -#define AC_SYNCBUSY_COMPCTRL_Pos 3 /**< \brief (AC_SYNCBUSY) COMPCTRL x Synchronization Busy */ -#define AC_SYNCBUSY_COMPCTRL_Msk (_U_(0x3) << AC_SYNCBUSY_COMPCTRL_Pos) -#define AC_SYNCBUSY_COMPCTRL(value) (AC_SYNCBUSY_COMPCTRL_Msk & ((value) << AC_SYNCBUSY_COMPCTRL_Pos)) -#define AC_SYNCBUSY_MASK _U_(0x0000001F) /**< \brief (AC_SYNCBUSY) MASK Register */ - -/* -------- AC_CALIB : (AC Offset: 0x24) (R/W 16) Calibration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t BIAS0:2; /*!< bit: 0.. 1 COMP0/1 Bias Scaling */ - uint16_t :14; /*!< bit: 2..15 Reserved */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} AC_CALIB_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AC_CALIB_OFFSET 0x24 /**< \brief (AC_CALIB offset) Calibration */ -#define AC_CALIB_RESETVALUE _U_(0x0101) /**< \brief (AC_CALIB reset_value) Calibration */ - -#define AC_CALIB_BIAS0_Pos 0 /**< \brief (AC_CALIB) COMP0/1 Bias Scaling */ -#define AC_CALIB_BIAS0_Msk (_U_(0x3) << AC_CALIB_BIAS0_Pos) -#define AC_CALIB_BIAS0(value) (AC_CALIB_BIAS0_Msk & ((value) << AC_CALIB_BIAS0_Pos)) -#define AC_CALIB_MASK _U_(0x0003) /**< \brief (AC_CALIB) MASK Register */ - -/** \brief AC hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO AC_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 8) Control A */ - __O AC_CTRLB_Type CTRLB; /**< \brief Offset: 0x01 ( /W 8) Control B */ - __IO AC_EVCTRL_Type EVCTRL; /**< \brief Offset: 0x02 (R/W 16) Event Control */ - __IO AC_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x04 (R/W 8) Interrupt Enable Clear */ - __IO AC_INTENSET_Type INTENSET; /**< \brief Offset: 0x05 (R/W 8) Interrupt Enable Set */ - __IO AC_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x06 (R/W 8) Interrupt Flag Status and Clear */ - __I AC_STATUSA_Type STATUSA; /**< \brief Offset: 0x07 (R/ 8) Status A */ - __I AC_STATUSB_Type STATUSB; /**< \brief Offset: 0x08 (R/ 8) Status B */ - __IO AC_DBGCTRL_Type DBGCTRL; /**< \brief Offset: 0x09 (R/W 8) Debug Control */ - __IO AC_WINCTRL_Type WINCTRL; /**< \brief Offset: 0x0A (R/W 8) Window Control */ - RoReg8 Reserved1[0x1]; - __IO AC_SCALER_Type SCALER[2]; /**< \brief Offset: 0x0C (R/W 8) Scaler n */ - RoReg8 Reserved2[0x2]; - __IO AC_COMPCTRL_Type COMPCTRL[2]; /**< \brief Offset: 0x10 (R/W 32) Comparator Control n */ - RoReg8 Reserved3[0x8]; - __I AC_SYNCBUSY_Type SYNCBUSY; /**< \brief Offset: 0x20 (R/ 32) Synchronization Busy */ - __IO AC_CALIB_Type CALIB; /**< \brief Offset: 0x24 (R/W 16) Calibration */ -} Ac; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/*@}*/ - -#endif /* _SAME54_AC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/include/component/adc.h b/software/firmware/oracle_same54n19a/include/component/adc.h deleted file mode 100644 index b2fee11..0000000 --- a/software/firmware/oracle_same54n19a/include/component/adc.h +++ /dev/null @@ -1,871 +0,0 @@ -/** - * \file - * - * \brief Component description for ADC - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_ADC_COMPONENT_ -#define _SAME54_ADC_COMPONENT_ - -/* ========================================================================== */ -/** SOFTWARE API DEFINITION FOR ADC */ -/* ========================================================================== */ -/** \addtogroup SAME54_ADC Analog Digital Converter */ -/*@{*/ - -#define ADC_U2500 -#define REV_ADC 0x100 - -/* -------- ADC_CTRLA : (ADC Offset: 0x00) (R/W 16) Control A -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t SWRST:1; /*!< bit: 0 Software Reset */ - uint16_t ENABLE:1; /*!< bit: 1 Enable */ - uint16_t :1; /*!< bit: 2 Reserved */ - uint16_t DUALSEL:2; /*!< bit: 3.. 4 Dual Mode Trigger Selection */ - uint16_t SLAVEEN:1; /*!< bit: 5 Slave Enable */ - uint16_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */ - uint16_t ONDEMAND:1; /*!< bit: 7 On Demand Control */ - uint16_t PRESCALER:3; /*!< bit: 8..10 Prescaler Configuration */ - uint16_t :4; /*!< bit: 11..14 Reserved */ - uint16_t R2R:1; /*!< bit: 15 Rail to Rail Operation Enable */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_CTRLA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_CTRLA_OFFSET 0x00 /**< \brief (ADC_CTRLA offset) Control A */ -#define ADC_CTRLA_RESETVALUE _U_(0x0000) /**< \brief (ADC_CTRLA reset_value) Control A */ - -#define ADC_CTRLA_SWRST_Pos 0 /**< \brief (ADC_CTRLA) Software Reset */ -#define ADC_CTRLA_SWRST (_U_(0x1) << ADC_CTRLA_SWRST_Pos) -#define ADC_CTRLA_ENABLE_Pos 1 /**< \brief (ADC_CTRLA) Enable */ -#define ADC_CTRLA_ENABLE (_U_(0x1) << ADC_CTRLA_ENABLE_Pos) -#define ADC_CTRLA_DUALSEL_Pos 3 /**< \brief (ADC_CTRLA) Dual Mode Trigger Selection */ -#define ADC_CTRLA_DUALSEL_Msk (_U_(0x3) << ADC_CTRLA_DUALSEL_Pos) -#define ADC_CTRLA_DUALSEL(value) (ADC_CTRLA_DUALSEL_Msk & ((value) << ADC_CTRLA_DUALSEL_Pos)) -#define ADC_CTRLA_DUALSEL_BOTH_Val _U_(0x0) /**< \brief (ADC_CTRLA) Start event or software trigger will start a conversion on both ADCs */ -#define ADC_CTRLA_DUALSEL_INTERLEAVE_Val _U_(0x1) /**< \brief (ADC_CTRLA) START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 */ -#define ADC_CTRLA_DUALSEL_BOTH (ADC_CTRLA_DUALSEL_BOTH_Val << ADC_CTRLA_DUALSEL_Pos) -#define ADC_CTRLA_DUALSEL_INTERLEAVE (ADC_CTRLA_DUALSEL_INTERLEAVE_Val << ADC_CTRLA_DUALSEL_Pos) -#define ADC_CTRLA_SLAVEEN_Pos 5 /**< \brief (ADC_CTRLA) Slave Enable */ -#define ADC_CTRLA_SLAVEEN (_U_(0x1) << ADC_CTRLA_SLAVEEN_Pos) -#define ADC_CTRLA_RUNSTDBY_Pos 6 /**< \brief (ADC_CTRLA) Run in Standby */ -#define ADC_CTRLA_RUNSTDBY (_U_(0x1) << ADC_CTRLA_RUNSTDBY_Pos) -#define ADC_CTRLA_ONDEMAND_Pos 7 /**< \brief (ADC_CTRLA) On Demand Control */ -#define ADC_CTRLA_ONDEMAND (_U_(0x1) << ADC_CTRLA_ONDEMAND_Pos) -#define ADC_CTRLA_PRESCALER_Pos 8 /**< \brief (ADC_CTRLA) Prescaler Configuration */ -#define ADC_CTRLA_PRESCALER_Msk (_U_(0x7) << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_PRESCALER(value) (ADC_CTRLA_PRESCALER_Msk & ((value) << ADC_CTRLA_PRESCALER_Pos)) -#define ADC_CTRLA_PRESCALER_DIV2_Val _U_(0x0) /**< \brief (ADC_CTRLA) Peripheral clock divided by 2 */ -#define ADC_CTRLA_PRESCALER_DIV4_Val _U_(0x1) /**< \brief (ADC_CTRLA) Peripheral clock divided by 4 */ -#define ADC_CTRLA_PRESCALER_DIV8_Val _U_(0x2) /**< \brief (ADC_CTRLA) Peripheral clock divided by 8 */ -#define ADC_CTRLA_PRESCALER_DIV16_Val _U_(0x3) /**< \brief (ADC_CTRLA) Peripheral clock divided by 16 */ -#define ADC_CTRLA_PRESCALER_DIV32_Val _U_(0x4) /**< \brief (ADC_CTRLA) Peripheral clock divided by 32 */ -#define ADC_CTRLA_PRESCALER_DIV64_Val _U_(0x5) /**< \brief (ADC_CTRLA) Peripheral clock divided by 64 */ -#define ADC_CTRLA_PRESCALER_DIV128_Val _U_(0x6) /**< \brief (ADC_CTRLA) Peripheral clock divided by 128 */ -#define ADC_CTRLA_PRESCALER_DIV256_Val _U_(0x7) /**< \brief (ADC_CTRLA) Peripheral clock divided by 256 */ -#define ADC_CTRLA_PRESCALER_DIV2 (ADC_CTRLA_PRESCALER_DIV2_Val << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_PRESCALER_DIV4 (ADC_CTRLA_PRESCALER_DIV4_Val << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_PRESCALER_DIV8 (ADC_CTRLA_PRESCALER_DIV8_Val << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_PRESCALER_DIV16 (ADC_CTRLA_PRESCALER_DIV16_Val << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_PRESCALER_DIV32 (ADC_CTRLA_PRESCALER_DIV32_Val << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_PRESCALER_DIV64 (ADC_CTRLA_PRESCALER_DIV64_Val << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_PRESCALER_DIV128 (ADC_CTRLA_PRESCALER_DIV128_Val << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_PRESCALER_DIV256 (ADC_CTRLA_PRESCALER_DIV256_Val << ADC_CTRLA_PRESCALER_Pos) -#define ADC_CTRLA_R2R_Pos 15 /**< \brief (ADC_CTRLA) Rail to Rail Operation Enable */ -#define ADC_CTRLA_R2R (_U_(0x1) << ADC_CTRLA_R2R_Pos) -#define ADC_CTRLA_MASK _U_(0x87FB) /**< \brief (ADC_CTRLA) MASK Register */ - -/* -------- ADC_EVCTRL : (ADC Offset: 0x02) (R/W 8) Event Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t FLUSHEI:1; /*!< bit: 0 Flush Event Input Enable */ - uint8_t STARTEI:1; /*!< bit: 1 Start Conversion Event Input Enable */ - uint8_t FLUSHINV:1; /*!< bit: 2 Flush Event Invert Enable */ - uint8_t STARTINV:1; /*!< bit: 3 Start Conversion Event Invert Enable */ - uint8_t RESRDYEO:1; /*!< bit: 4 Result Ready Event Out */ - uint8_t WINMONEO:1; /*!< bit: 5 Window Monitor Event Out */ - uint8_t :2; /*!< bit: 6.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_EVCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_EVCTRL_OFFSET 0x02 /**< \brief (ADC_EVCTRL offset) Event Control */ -#define ADC_EVCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_EVCTRL reset_value) Event Control */ - -#define ADC_EVCTRL_FLUSHEI_Pos 0 /**< \brief (ADC_EVCTRL) Flush Event Input Enable */ -#define ADC_EVCTRL_FLUSHEI (_U_(0x1) << ADC_EVCTRL_FLUSHEI_Pos) -#define ADC_EVCTRL_STARTEI_Pos 1 /**< \brief (ADC_EVCTRL) Start Conversion Event Input Enable */ -#define ADC_EVCTRL_STARTEI (_U_(0x1) << ADC_EVCTRL_STARTEI_Pos) -#define ADC_EVCTRL_FLUSHINV_Pos 2 /**< \brief (ADC_EVCTRL) Flush Event Invert Enable */ -#define ADC_EVCTRL_FLUSHINV (_U_(0x1) << ADC_EVCTRL_FLUSHINV_Pos) -#define ADC_EVCTRL_STARTINV_Pos 3 /**< \brief (ADC_EVCTRL) Start Conversion Event Invert Enable */ -#define ADC_EVCTRL_STARTINV (_U_(0x1) << ADC_EVCTRL_STARTINV_Pos) -#define ADC_EVCTRL_RESRDYEO_Pos 4 /**< \brief (ADC_EVCTRL) Result Ready Event Out */ -#define ADC_EVCTRL_RESRDYEO (_U_(0x1) << ADC_EVCTRL_RESRDYEO_Pos) -#define ADC_EVCTRL_WINMONEO_Pos 5 /**< \brief (ADC_EVCTRL) Window Monitor Event Out */ -#define ADC_EVCTRL_WINMONEO (_U_(0x1) << ADC_EVCTRL_WINMONEO_Pos) -#define ADC_EVCTRL_MASK _U_(0x3F) /**< \brief (ADC_EVCTRL) MASK Register */ - -/* -------- ADC_DBGCTRL : (ADC Offset: 0x03) (R/W 8) Debug Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ - uint8_t :7; /*!< bit: 1.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_DBGCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_DBGCTRL_OFFSET 0x03 /**< \brief (ADC_DBGCTRL offset) Debug Control */ -#define ADC_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_DBGCTRL reset_value) Debug Control */ - -#define ADC_DBGCTRL_DBGRUN_Pos 0 /**< \brief (ADC_DBGCTRL) Debug Run */ -#define ADC_DBGCTRL_DBGRUN (_U_(0x1) << ADC_DBGCTRL_DBGRUN_Pos) -#define ADC_DBGCTRL_MASK _U_(0x01) /**< \brief (ADC_DBGCTRL) MASK Register */ - -/* -------- ADC_INPUTCTRL : (ADC Offset: 0x04) (R/W 16) Input Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t MUXPOS:5; /*!< bit: 0.. 4 Positive Mux Input Selection */ - uint16_t :2; /*!< bit: 5.. 6 Reserved */ - uint16_t DIFFMODE:1; /*!< bit: 7 Differential Mode */ - uint16_t MUXNEG:5; /*!< bit: 8..12 Negative Mux Input Selection */ - uint16_t :2; /*!< bit: 13..14 Reserved */ - uint16_t DSEQSTOP:1; /*!< bit: 15 Stop DMA Sequencing */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_INPUTCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_INPUTCTRL_OFFSET 0x04 /**< \brief (ADC_INPUTCTRL offset) Input Control */ -#define ADC_INPUTCTRL_RESETVALUE _U_(0x0000) /**< \brief (ADC_INPUTCTRL reset_value) Input Control */ - -#define ADC_INPUTCTRL_MUXPOS_Pos 0 /**< \brief (ADC_INPUTCTRL) Positive Mux Input Selection */ -#define ADC_INPUTCTRL_MUXPOS_Msk (_U_(0x1F) << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS(value) (ADC_INPUTCTRL_MUXPOS_Msk & ((value) << ADC_INPUTCTRL_MUXPOS_Pos)) -#define ADC_INPUTCTRL_MUXPOS_AIN0_Val _U_(0x0) /**< \brief (ADC_INPUTCTRL) ADC AIN0 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN1_Val _U_(0x1) /**< \brief (ADC_INPUTCTRL) ADC AIN1 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN2_Val _U_(0x2) /**< \brief (ADC_INPUTCTRL) ADC AIN2 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN3_Val _U_(0x3) /**< \brief (ADC_INPUTCTRL) ADC AIN3 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN4_Val _U_(0x4) /**< \brief (ADC_INPUTCTRL) ADC AIN4 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN5_Val _U_(0x5) /**< \brief (ADC_INPUTCTRL) ADC AIN5 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN6_Val _U_(0x6) /**< \brief (ADC_INPUTCTRL) ADC AIN6 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN7_Val _U_(0x7) /**< \brief (ADC_INPUTCTRL) ADC AIN7 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN8_Val _U_(0x8) /**< \brief (ADC_INPUTCTRL) ADC AIN8 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN9_Val _U_(0x9) /**< \brief (ADC_INPUTCTRL) ADC AIN9 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN10_Val _U_(0xA) /**< \brief (ADC_INPUTCTRL) ADC AIN10 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN11_Val _U_(0xB) /**< \brief (ADC_INPUTCTRL) ADC AIN11 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN12_Val _U_(0xC) /**< \brief (ADC_INPUTCTRL) ADC AIN12 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN13_Val _U_(0xD) /**< \brief (ADC_INPUTCTRL) ADC AIN13 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN14_Val _U_(0xE) /**< \brief (ADC_INPUTCTRL) ADC AIN14 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN15_Val _U_(0xF) /**< \brief (ADC_INPUTCTRL) ADC AIN15 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN16_Val _U_(0x10) /**< \brief (ADC_INPUTCTRL) ADC AIN16 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN17_Val _U_(0x11) /**< \brief (ADC_INPUTCTRL) ADC AIN17 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN18_Val _U_(0x12) /**< \brief (ADC_INPUTCTRL) ADC AIN18 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN19_Val _U_(0x13) /**< \brief (ADC_INPUTCTRL) ADC AIN19 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN20_Val _U_(0x14) /**< \brief (ADC_INPUTCTRL) ADC AIN20 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN21_Val _U_(0x15) /**< \brief (ADC_INPUTCTRL) ADC AIN21 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN22_Val _U_(0x16) /**< \brief (ADC_INPUTCTRL) ADC AIN22 Pin */ -#define ADC_INPUTCTRL_MUXPOS_AIN23_Val _U_(0x17) /**< \brief (ADC_INPUTCTRL) ADC AIN23 Pin */ -#define ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC_Val _U_(0x18) /**< \brief (ADC_INPUTCTRL) 1/4 Scaled Core Supply */ -#define ADC_INPUTCTRL_MUXPOS_SCALEDVBAT_Val _U_(0x19) /**< \brief (ADC_INPUTCTRL) 1/4 Scaled VBAT Supply */ -#define ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC_Val _U_(0x1A) /**< \brief (ADC_INPUTCTRL) 1/4 Scaled I/O Supply */ -#define ADC_INPUTCTRL_MUXPOS_BANDGAP_Val _U_(0x1B) /**< \brief (ADC_INPUTCTRL) Bandgap Voltage */ -#define ADC_INPUTCTRL_MUXPOS_PTAT_Val _U_(0x1C) /**< \brief (ADC_INPUTCTRL) Temperature Sensor */ -#define ADC_INPUTCTRL_MUXPOS_CTAT_Val _U_(0x1D) /**< \brief (ADC_INPUTCTRL) Temperature Sensor */ -#define ADC_INPUTCTRL_MUXPOS_DAC_Val _U_(0x1E) /**< \brief (ADC_INPUTCTRL) DAC Output */ -#define ADC_INPUTCTRL_MUXPOS_PTC_Val _U_(0x1F) /**< \brief (ADC_INPUTCTRL) PTC output (only on ADC0) */ -#define ADC_INPUTCTRL_MUXPOS_AIN0 (ADC_INPUTCTRL_MUXPOS_AIN0_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN1 (ADC_INPUTCTRL_MUXPOS_AIN1_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN2 (ADC_INPUTCTRL_MUXPOS_AIN2_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN3 (ADC_INPUTCTRL_MUXPOS_AIN3_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN4 (ADC_INPUTCTRL_MUXPOS_AIN4_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN5 (ADC_INPUTCTRL_MUXPOS_AIN5_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN6 (ADC_INPUTCTRL_MUXPOS_AIN6_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN7 (ADC_INPUTCTRL_MUXPOS_AIN7_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN8 (ADC_INPUTCTRL_MUXPOS_AIN8_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN9 (ADC_INPUTCTRL_MUXPOS_AIN9_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN10 (ADC_INPUTCTRL_MUXPOS_AIN10_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN11 (ADC_INPUTCTRL_MUXPOS_AIN11_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN12 (ADC_INPUTCTRL_MUXPOS_AIN12_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN13 (ADC_INPUTCTRL_MUXPOS_AIN13_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN14 (ADC_INPUTCTRL_MUXPOS_AIN14_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN15 (ADC_INPUTCTRL_MUXPOS_AIN15_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN16 (ADC_INPUTCTRL_MUXPOS_AIN16_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN17 (ADC_INPUTCTRL_MUXPOS_AIN17_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN18 (ADC_INPUTCTRL_MUXPOS_AIN18_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN19 (ADC_INPUTCTRL_MUXPOS_AIN19_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN20 (ADC_INPUTCTRL_MUXPOS_AIN20_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN21 (ADC_INPUTCTRL_MUXPOS_AIN21_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN22 (ADC_INPUTCTRL_MUXPOS_AIN22_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_AIN23 (ADC_INPUTCTRL_MUXPOS_AIN23_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC (ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_SCALEDVBAT (ADC_INPUTCTRL_MUXPOS_SCALEDVBAT_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC (ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_BANDGAP (ADC_INPUTCTRL_MUXPOS_BANDGAP_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_PTAT (ADC_INPUTCTRL_MUXPOS_PTAT_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_CTAT (ADC_INPUTCTRL_MUXPOS_CTAT_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_DAC (ADC_INPUTCTRL_MUXPOS_DAC_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_MUXPOS_PTC (ADC_INPUTCTRL_MUXPOS_PTC_Val << ADC_INPUTCTRL_MUXPOS_Pos) -#define ADC_INPUTCTRL_DIFFMODE_Pos 7 /**< \brief (ADC_INPUTCTRL) Differential Mode */ -#define ADC_INPUTCTRL_DIFFMODE (_U_(0x1) << ADC_INPUTCTRL_DIFFMODE_Pos) -#define ADC_INPUTCTRL_MUXNEG_Pos 8 /**< \brief (ADC_INPUTCTRL) Negative Mux Input Selection */ -#define ADC_INPUTCTRL_MUXNEG_Msk (_U_(0x1F) << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG(value) (ADC_INPUTCTRL_MUXNEG_Msk & ((value) << ADC_INPUTCTRL_MUXNEG_Pos)) -#define ADC_INPUTCTRL_MUXNEG_AIN0_Val _U_(0x0) /**< \brief (ADC_INPUTCTRL) ADC AIN0 Pin */ -#define ADC_INPUTCTRL_MUXNEG_AIN1_Val _U_(0x1) /**< \brief (ADC_INPUTCTRL) ADC AIN1 Pin */ -#define ADC_INPUTCTRL_MUXNEG_AIN2_Val _U_(0x2) /**< \brief (ADC_INPUTCTRL) ADC AIN2 Pin */ -#define ADC_INPUTCTRL_MUXNEG_AIN3_Val _U_(0x3) /**< \brief (ADC_INPUTCTRL) ADC AIN3 Pin */ -#define ADC_INPUTCTRL_MUXNEG_AIN4_Val _U_(0x4) /**< \brief (ADC_INPUTCTRL) ADC AIN4 Pin */ -#define ADC_INPUTCTRL_MUXNEG_AIN5_Val _U_(0x5) /**< \brief (ADC_INPUTCTRL) ADC AIN5 Pin */ -#define ADC_INPUTCTRL_MUXNEG_AIN6_Val _U_(0x6) /**< \brief (ADC_INPUTCTRL) ADC AIN6 Pin */ -#define ADC_INPUTCTRL_MUXNEG_AIN7_Val _U_(0x7) /**< \brief (ADC_INPUTCTRL) ADC AIN7 Pin */ -#define ADC_INPUTCTRL_MUXNEG_GND_Val _U_(0x18) /**< \brief (ADC_INPUTCTRL) Internal Ground */ -#define ADC_INPUTCTRL_MUXNEG_AIN0 (ADC_INPUTCTRL_MUXNEG_AIN0_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG_AIN1 (ADC_INPUTCTRL_MUXNEG_AIN1_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG_AIN2 (ADC_INPUTCTRL_MUXNEG_AIN2_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG_AIN3 (ADC_INPUTCTRL_MUXNEG_AIN3_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG_AIN4 (ADC_INPUTCTRL_MUXNEG_AIN4_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG_AIN5 (ADC_INPUTCTRL_MUXNEG_AIN5_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG_AIN6 (ADC_INPUTCTRL_MUXNEG_AIN6_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG_AIN7 (ADC_INPUTCTRL_MUXNEG_AIN7_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_MUXNEG_GND (ADC_INPUTCTRL_MUXNEG_GND_Val << ADC_INPUTCTRL_MUXNEG_Pos) -#define ADC_INPUTCTRL_DSEQSTOP_Pos 15 /**< \brief (ADC_INPUTCTRL) Stop DMA Sequencing */ -#define ADC_INPUTCTRL_DSEQSTOP (_U_(0x1) << ADC_INPUTCTRL_DSEQSTOP_Pos) -#define ADC_INPUTCTRL_MASK _U_(0x9F9F) /**< \brief (ADC_INPUTCTRL) MASK Register */ - -/* -------- ADC_CTRLB : (ADC Offset: 0x06) (R/W 16) Control B -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t LEFTADJ:1; /*!< bit: 0 Left-Adjusted Result */ - uint16_t FREERUN:1; /*!< bit: 1 Free Running Mode */ - uint16_t CORREN:1; /*!< bit: 2 Digital Correction Logic Enable */ - uint16_t RESSEL:2; /*!< bit: 3.. 4 Conversion Result Resolution */ - uint16_t :3; /*!< bit: 5.. 7 Reserved */ - uint16_t WINMODE:3; /*!< bit: 8..10 Window Monitor Mode */ - uint16_t WINSS:1; /*!< bit: 11 Window Single Sample */ - uint16_t :4; /*!< bit: 12..15 Reserved */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_CTRLB_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_CTRLB_OFFSET 0x06 /**< \brief (ADC_CTRLB offset) Control B */ -#define ADC_CTRLB_RESETVALUE _U_(0x0000) /**< \brief (ADC_CTRLB reset_value) Control B */ - -#define ADC_CTRLB_LEFTADJ_Pos 0 /**< \brief (ADC_CTRLB) Left-Adjusted Result */ -#define ADC_CTRLB_LEFTADJ (_U_(0x1) << ADC_CTRLB_LEFTADJ_Pos) -#define ADC_CTRLB_FREERUN_Pos 1 /**< \brief (ADC_CTRLB) Free Running Mode */ -#define ADC_CTRLB_FREERUN (_U_(0x1) << ADC_CTRLB_FREERUN_Pos) -#define ADC_CTRLB_CORREN_Pos 2 /**< \brief (ADC_CTRLB) Digital Correction Logic Enable */ -#define ADC_CTRLB_CORREN (_U_(0x1) << ADC_CTRLB_CORREN_Pos) -#define ADC_CTRLB_RESSEL_Pos 3 /**< \brief (ADC_CTRLB) Conversion Result Resolution */ -#define ADC_CTRLB_RESSEL_Msk (_U_(0x3) << ADC_CTRLB_RESSEL_Pos) -#define ADC_CTRLB_RESSEL(value) (ADC_CTRLB_RESSEL_Msk & ((value) << ADC_CTRLB_RESSEL_Pos)) -#define ADC_CTRLB_RESSEL_12BIT_Val _U_(0x0) /**< \brief (ADC_CTRLB) 12-bit result */ -#define ADC_CTRLB_RESSEL_16BIT_Val _U_(0x1) /**< \brief (ADC_CTRLB) For averaging mode output */ -#define ADC_CTRLB_RESSEL_10BIT_Val _U_(0x2) /**< \brief (ADC_CTRLB) 10-bit result */ -#define ADC_CTRLB_RESSEL_8BIT_Val _U_(0x3) /**< \brief (ADC_CTRLB) 8-bit result */ -#define ADC_CTRLB_RESSEL_12BIT (ADC_CTRLB_RESSEL_12BIT_Val << ADC_CTRLB_RESSEL_Pos) -#define ADC_CTRLB_RESSEL_16BIT (ADC_CTRLB_RESSEL_16BIT_Val << ADC_CTRLB_RESSEL_Pos) -#define ADC_CTRLB_RESSEL_10BIT (ADC_CTRLB_RESSEL_10BIT_Val << ADC_CTRLB_RESSEL_Pos) -#define ADC_CTRLB_RESSEL_8BIT (ADC_CTRLB_RESSEL_8BIT_Val << ADC_CTRLB_RESSEL_Pos) -#define ADC_CTRLB_WINMODE_Pos 8 /**< \brief (ADC_CTRLB) Window Monitor Mode */ -#define ADC_CTRLB_WINMODE_Msk (_U_(0x7) << ADC_CTRLB_WINMODE_Pos) -#define ADC_CTRLB_WINMODE(value) (ADC_CTRLB_WINMODE_Msk & ((value) << ADC_CTRLB_WINMODE_Pos)) -#define ADC_CTRLB_WINMODE_DISABLE_Val _U_(0x0) /**< \brief (ADC_CTRLB) No window mode (default) */ -#define ADC_CTRLB_WINMODE_MODE1_Val _U_(0x1) /**< \brief (ADC_CTRLB) RESULT > WINLT */ -#define ADC_CTRLB_WINMODE_MODE2_Val _U_(0x2) /**< \brief (ADC_CTRLB) RESULT < WINUT */ -#define ADC_CTRLB_WINMODE_MODE3_Val _U_(0x3) /**< \brief (ADC_CTRLB) WINLT < RESULT < WINUT */ -#define ADC_CTRLB_WINMODE_MODE4_Val _U_(0x4) /**< \brief (ADC_CTRLB) !(WINLT < RESULT < WINUT) */ -#define ADC_CTRLB_WINMODE_DISABLE (ADC_CTRLB_WINMODE_DISABLE_Val << ADC_CTRLB_WINMODE_Pos) -#define ADC_CTRLB_WINMODE_MODE1 (ADC_CTRLB_WINMODE_MODE1_Val << ADC_CTRLB_WINMODE_Pos) -#define ADC_CTRLB_WINMODE_MODE2 (ADC_CTRLB_WINMODE_MODE2_Val << ADC_CTRLB_WINMODE_Pos) -#define ADC_CTRLB_WINMODE_MODE3 (ADC_CTRLB_WINMODE_MODE3_Val << ADC_CTRLB_WINMODE_Pos) -#define ADC_CTRLB_WINMODE_MODE4 (ADC_CTRLB_WINMODE_MODE4_Val << ADC_CTRLB_WINMODE_Pos) -#define ADC_CTRLB_WINSS_Pos 11 /**< \brief (ADC_CTRLB) Window Single Sample */ -#define ADC_CTRLB_WINSS (_U_(0x1) << ADC_CTRLB_WINSS_Pos) -#define ADC_CTRLB_MASK _U_(0x0F1F) /**< \brief (ADC_CTRLB) MASK Register */ - -/* -------- ADC_REFCTRL : (ADC Offset: 0x08) (R/W 8) Reference Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t REFSEL:4; /*!< bit: 0.. 3 Reference Selection */ - uint8_t :3; /*!< bit: 4.. 6 Reserved */ - uint8_t REFCOMP:1; /*!< bit: 7 Reference Buffer Offset Compensation Enable */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_REFCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_REFCTRL_OFFSET 0x08 /**< \brief (ADC_REFCTRL offset) Reference Control */ -#define ADC_REFCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_REFCTRL reset_value) Reference Control */ - -#define ADC_REFCTRL_REFSEL_Pos 0 /**< \brief (ADC_REFCTRL) Reference Selection */ -#define ADC_REFCTRL_REFSEL_Msk (_U_(0xF) << ADC_REFCTRL_REFSEL_Pos) -#define ADC_REFCTRL_REFSEL(value) (ADC_REFCTRL_REFSEL_Msk & ((value) << ADC_REFCTRL_REFSEL_Pos)) -#define ADC_REFCTRL_REFSEL_INTREF_Val _U_(0x0) /**< \brief (ADC_REFCTRL) Internal Bandgap Reference */ -#define ADC_REFCTRL_REFSEL_INTVCC0_Val _U_(0x2) /**< \brief (ADC_REFCTRL) 1/2 VDDANA */ -#define ADC_REFCTRL_REFSEL_INTVCC1_Val _U_(0x3) /**< \brief (ADC_REFCTRL) VDDANA */ -#define ADC_REFCTRL_REFSEL_AREFA_Val _U_(0x4) /**< \brief (ADC_REFCTRL) External Reference */ -#define ADC_REFCTRL_REFSEL_AREFB_Val _U_(0x5) /**< \brief (ADC_REFCTRL) External Reference */ -#define ADC_REFCTRL_REFSEL_AREFC_Val _U_(0x6) /**< \brief (ADC_REFCTRL) External Reference (only on ADC1) */ -#define ADC_REFCTRL_REFSEL_INTREF (ADC_REFCTRL_REFSEL_INTREF_Val << ADC_REFCTRL_REFSEL_Pos) -#define ADC_REFCTRL_REFSEL_INTVCC0 (ADC_REFCTRL_REFSEL_INTVCC0_Val << ADC_REFCTRL_REFSEL_Pos) -#define ADC_REFCTRL_REFSEL_INTVCC1 (ADC_REFCTRL_REFSEL_INTVCC1_Val << ADC_REFCTRL_REFSEL_Pos) -#define ADC_REFCTRL_REFSEL_AREFA (ADC_REFCTRL_REFSEL_AREFA_Val << ADC_REFCTRL_REFSEL_Pos) -#define ADC_REFCTRL_REFSEL_AREFB (ADC_REFCTRL_REFSEL_AREFB_Val << ADC_REFCTRL_REFSEL_Pos) -#define ADC_REFCTRL_REFSEL_AREFC (ADC_REFCTRL_REFSEL_AREFC_Val << ADC_REFCTRL_REFSEL_Pos) -#define ADC_REFCTRL_REFCOMP_Pos 7 /**< \brief (ADC_REFCTRL) Reference Buffer Offset Compensation Enable */ -#define ADC_REFCTRL_REFCOMP (_U_(0x1) << ADC_REFCTRL_REFCOMP_Pos) -#define ADC_REFCTRL_MASK _U_(0x8F) /**< \brief (ADC_REFCTRL) MASK Register */ - -/* -------- ADC_AVGCTRL : (ADC Offset: 0x0A) (R/W 8) Average Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t SAMPLENUM:4; /*!< bit: 0.. 3 Number of Samples to be Collected */ - uint8_t ADJRES:3; /*!< bit: 4.. 6 Adjusting Result / Division Coefficient */ - uint8_t :1; /*!< bit: 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_AVGCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_AVGCTRL_OFFSET 0x0A /**< \brief (ADC_AVGCTRL offset) Average Control */ -#define ADC_AVGCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_AVGCTRL reset_value) Average Control */ - -#define ADC_AVGCTRL_SAMPLENUM_Pos 0 /**< \brief (ADC_AVGCTRL) Number of Samples to be Collected */ -#define ADC_AVGCTRL_SAMPLENUM_Msk (_U_(0xF) << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM(value) (ADC_AVGCTRL_SAMPLENUM_Msk & ((value) << ADC_AVGCTRL_SAMPLENUM_Pos)) -#define ADC_AVGCTRL_SAMPLENUM_1_Val _U_(0x0) /**< \brief (ADC_AVGCTRL) 1 sample */ -#define ADC_AVGCTRL_SAMPLENUM_2_Val _U_(0x1) /**< \brief (ADC_AVGCTRL) 2 samples */ -#define ADC_AVGCTRL_SAMPLENUM_4_Val _U_(0x2) /**< \brief (ADC_AVGCTRL) 4 samples */ -#define ADC_AVGCTRL_SAMPLENUM_8_Val _U_(0x3) /**< \brief (ADC_AVGCTRL) 8 samples */ -#define ADC_AVGCTRL_SAMPLENUM_16_Val _U_(0x4) /**< \brief (ADC_AVGCTRL) 16 samples */ -#define ADC_AVGCTRL_SAMPLENUM_32_Val _U_(0x5) /**< \brief (ADC_AVGCTRL) 32 samples */ -#define ADC_AVGCTRL_SAMPLENUM_64_Val _U_(0x6) /**< \brief (ADC_AVGCTRL) 64 samples */ -#define ADC_AVGCTRL_SAMPLENUM_128_Val _U_(0x7) /**< \brief (ADC_AVGCTRL) 128 samples */ -#define ADC_AVGCTRL_SAMPLENUM_256_Val _U_(0x8) /**< \brief (ADC_AVGCTRL) 256 samples */ -#define ADC_AVGCTRL_SAMPLENUM_512_Val _U_(0x9) /**< \brief (ADC_AVGCTRL) 512 samples */ -#define ADC_AVGCTRL_SAMPLENUM_1024_Val _U_(0xA) /**< \brief (ADC_AVGCTRL) 1024 samples */ -#define ADC_AVGCTRL_SAMPLENUM_1 (ADC_AVGCTRL_SAMPLENUM_1_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_2 (ADC_AVGCTRL_SAMPLENUM_2_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_4 (ADC_AVGCTRL_SAMPLENUM_4_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_8 (ADC_AVGCTRL_SAMPLENUM_8_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_16 (ADC_AVGCTRL_SAMPLENUM_16_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_32 (ADC_AVGCTRL_SAMPLENUM_32_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_64 (ADC_AVGCTRL_SAMPLENUM_64_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_128 (ADC_AVGCTRL_SAMPLENUM_128_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_256 (ADC_AVGCTRL_SAMPLENUM_256_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_512 (ADC_AVGCTRL_SAMPLENUM_512_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_SAMPLENUM_1024 (ADC_AVGCTRL_SAMPLENUM_1024_Val << ADC_AVGCTRL_SAMPLENUM_Pos) -#define ADC_AVGCTRL_ADJRES_Pos 4 /**< \brief (ADC_AVGCTRL) Adjusting Result / Division Coefficient */ -#define ADC_AVGCTRL_ADJRES_Msk (_U_(0x7) << ADC_AVGCTRL_ADJRES_Pos) -#define ADC_AVGCTRL_ADJRES(value) (ADC_AVGCTRL_ADJRES_Msk & ((value) << ADC_AVGCTRL_ADJRES_Pos)) -#define ADC_AVGCTRL_MASK _U_(0x7F) /**< \brief (ADC_AVGCTRL) MASK Register */ - -/* -------- ADC_SAMPCTRL : (ADC Offset: 0x0B) (R/W 8) Sample Time Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t SAMPLEN:6; /*!< bit: 0.. 5 Sampling Time Length */ - uint8_t :1; /*!< bit: 6 Reserved */ - uint8_t OFFCOMP:1; /*!< bit: 7 Comparator Offset Compensation Enable */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_SAMPCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_SAMPCTRL_OFFSET 0x0B /**< \brief (ADC_SAMPCTRL offset) Sample Time Control */ -#define ADC_SAMPCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_SAMPCTRL reset_value) Sample Time Control */ - -#define ADC_SAMPCTRL_SAMPLEN_Pos 0 /**< \brief (ADC_SAMPCTRL) Sampling Time Length */ -#define ADC_SAMPCTRL_SAMPLEN_Msk (_U_(0x3F) << ADC_SAMPCTRL_SAMPLEN_Pos) -#define ADC_SAMPCTRL_SAMPLEN(value) (ADC_SAMPCTRL_SAMPLEN_Msk & ((value) << ADC_SAMPCTRL_SAMPLEN_Pos)) -#define ADC_SAMPCTRL_OFFCOMP_Pos 7 /**< \brief (ADC_SAMPCTRL) Comparator Offset Compensation Enable */ -#define ADC_SAMPCTRL_OFFCOMP (_U_(0x1) << ADC_SAMPCTRL_OFFCOMP_Pos) -#define ADC_SAMPCTRL_MASK _U_(0xBF) /**< \brief (ADC_SAMPCTRL) MASK Register */ - -/* -------- ADC_WINLT : (ADC Offset: 0x0C) (R/W 16) Window Monitor Lower Threshold -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t WINLT:16; /*!< bit: 0..15 Window Lower Threshold */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_WINLT_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_WINLT_OFFSET 0x0C /**< \brief (ADC_WINLT offset) Window Monitor Lower Threshold */ -#define ADC_WINLT_RESETVALUE _U_(0x0000) /**< \brief (ADC_WINLT reset_value) Window Monitor Lower Threshold */ - -#define ADC_WINLT_WINLT_Pos 0 /**< \brief (ADC_WINLT) Window Lower Threshold */ -#define ADC_WINLT_WINLT_Msk (_U_(0xFFFF) << ADC_WINLT_WINLT_Pos) -#define ADC_WINLT_WINLT(value) (ADC_WINLT_WINLT_Msk & ((value) << ADC_WINLT_WINLT_Pos)) -#define ADC_WINLT_MASK _U_(0xFFFF) /**< \brief (ADC_WINLT) MASK Register */ - -/* -------- ADC_WINUT : (ADC Offset: 0x0E) (R/W 16) Window Monitor Upper Threshold -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t WINUT:16; /*!< bit: 0..15 Window Upper Threshold */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_WINUT_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_WINUT_OFFSET 0x0E /**< \brief (ADC_WINUT offset) Window Monitor Upper Threshold */ -#define ADC_WINUT_RESETVALUE _U_(0x0000) /**< \brief (ADC_WINUT reset_value) Window Monitor Upper Threshold */ - -#define ADC_WINUT_WINUT_Pos 0 /**< \brief (ADC_WINUT) Window Upper Threshold */ -#define ADC_WINUT_WINUT_Msk (_U_(0xFFFF) << ADC_WINUT_WINUT_Pos) -#define ADC_WINUT_WINUT(value) (ADC_WINUT_WINUT_Msk & ((value) << ADC_WINUT_WINUT_Pos)) -#define ADC_WINUT_MASK _U_(0xFFFF) /**< \brief (ADC_WINUT) MASK Register */ - -/* -------- ADC_GAINCORR : (ADC Offset: 0x10) (R/W 16) Gain Correction -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t GAINCORR:12; /*!< bit: 0..11 Gain Correction Value */ - uint16_t :4; /*!< bit: 12..15 Reserved */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_GAINCORR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_GAINCORR_OFFSET 0x10 /**< \brief (ADC_GAINCORR offset) Gain Correction */ -#define ADC_GAINCORR_RESETVALUE _U_(0x0000) /**< \brief (ADC_GAINCORR reset_value) Gain Correction */ - -#define ADC_GAINCORR_GAINCORR_Pos 0 /**< \brief (ADC_GAINCORR) Gain Correction Value */ -#define ADC_GAINCORR_GAINCORR_Msk (_U_(0xFFF) << ADC_GAINCORR_GAINCORR_Pos) -#define ADC_GAINCORR_GAINCORR(value) (ADC_GAINCORR_GAINCORR_Msk & ((value) << ADC_GAINCORR_GAINCORR_Pos)) -#define ADC_GAINCORR_MASK _U_(0x0FFF) /**< \brief (ADC_GAINCORR) MASK Register */ - -/* -------- ADC_OFFSETCORR : (ADC Offset: 0x12) (R/W 16) Offset Correction -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t OFFSETCORR:12; /*!< bit: 0..11 Offset Correction Value */ - uint16_t :4; /*!< bit: 12..15 Reserved */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_OFFSETCORR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_OFFSETCORR_OFFSET 0x12 /**< \brief (ADC_OFFSETCORR offset) Offset Correction */ -#define ADC_OFFSETCORR_RESETVALUE _U_(0x0000) /**< \brief (ADC_OFFSETCORR reset_value) Offset Correction */ - -#define ADC_OFFSETCORR_OFFSETCORR_Pos 0 /**< \brief (ADC_OFFSETCORR) Offset Correction Value */ -#define ADC_OFFSETCORR_OFFSETCORR_Msk (_U_(0xFFF) << ADC_OFFSETCORR_OFFSETCORR_Pos) -#define ADC_OFFSETCORR_OFFSETCORR(value) (ADC_OFFSETCORR_OFFSETCORR_Msk & ((value) << ADC_OFFSETCORR_OFFSETCORR_Pos)) -#define ADC_OFFSETCORR_MASK _U_(0x0FFF) /**< \brief (ADC_OFFSETCORR) MASK Register */ - -/* -------- ADC_SWTRIG : (ADC Offset: 0x14) (R/W 8) Software Trigger -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t FLUSH:1; /*!< bit: 0 ADC Conversion Flush */ - uint8_t START:1; /*!< bit: 1 Start ADC Conversion */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_SWTRIG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_SWTRIG_OFFSET 0x14 /**< \brief (ADC_SWTRIG offset) Software Trigger */ -#define ADC_SWTRIG_RESETVALUE _U_(0x00) /**< \brief (ADC_SWTRIG reset_value) Software Trigger */ - -#define ADC_SWTRIG_FLUSH_Pos 0 /**< \brief (ADC_SWTRIG) ADC Conversion Flush */ -#define ADC_SWTRIG_FLUSH (_U_(0x1) << ADC_SWTRIG_FLUSH_Pos) -#define ADC_SWTRIG_START_Pos 1 /**< \brief (ADC_SWTRIG) Start ADC Conversion */ -#define ADC_SWTRIG_START (_U_(0x1) << ADC_SWTRIG_START_Pos) -#define ADC_SWTRIG_MASK _U_(0x03) /**< \brief (ADC_SWTRIG) MASK Register */ - -/* -------- ADC_INTENCLR : (ADC Offset: 0x2C) (R/W 8) Interrupt Enable Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t RESRDY:1; /*!< bit: 0 Result Ready Interrupt Disable */ - uint8_t OVERRUN:1; /*!< bit: 1 Overrun Interrupt Disable */ - uint8_t WINMON:1; /*!< bit: 2 Window Monitor Interrupt Disable */ - uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_INTENCLR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_INTENCLR_OFFSET 0x2C /**< \brief (ADC_INTENCLR offset) Interrupt Enable Clear */ -#define ADC_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (ADC_INTENCLR reset_value) Interrupt Enable Clear */ - -#define ADC_INTENCLR_RESRDY_Pos 0 /**< \brief (ADC_INTENCLR) Result Ready Interrupt Disable */ -#define ADC_INTENCLR_RESRDY (_U_(0x1) << ADC_INTENCLR_RESRDY_Pos) -#define ADC_INTENCLR_OVERRUN_Pos 1 /**< \brief (ADC_INTENCLR) Overrun Interrupt Disable */ -#define ADC_INTENCLR_OVERRUN (_U_(0x1) << ADC_INTENCLR_OVERRUN_Pos) -#define ADC_INTENCLR_WINMON_Pos 2 /**< \brief (ADC_INTENCLR) Window Monitor Interrupt Disable */ -#define ADC_INTENCLR_WINMON (_U_(0x1) << ADC_INTENCLR_WINMON_Pos) -#define ADC_INTENCLR_MASK _U_(0x07) /**< \brief (ADC_INTENCLR) MASK Register */ - -/* -------- ADC_INTENSET : (ADC Offset: 0x2D) (R/W 8) Interrupt Enable Set -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t RESRDY:1; /*!< bit: 0 Result Ready Interrupt Enable */ - uint8_t OVERRUN:1; /*!< bit: 1 Overrun Interrupt Enable */ - uint8_t WINMON:1; /*!< bit: 2 Window Monitor Interrupt Enable */ - uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_INTENSET_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_INTENSET_OFFSET 0x2D /**< \brief (ADC_INTENSET offset) Interrupt Enable Set */ -#define ADC_INTENSET_RESETVALUE _U_(0x00) /**< \brief (ADC_INTENSET reset_value) Interrupt Enable Set */ - -#define ADC_INTENSET_RESRDY_Pos 0 /**< \brief (ADC_INTENSET) Result Ready Interrupt Enable */ -#define ADC_INTENSET_RESRDY (_U_(0x1) << ADC_INTENSET_RESRDY_Pos) -#define ADC_INTENSET_OVERRUN_Pos 1 /**< \brief (ADC_INTENSET) Overrun Interrupt Enable */ -#define ADC_INTENSET_OVERRUN (_U_(0x1) << ADC_INTENSET_OVERRUN_Pos) -#define ADC_INTENSET_WINMON_Pos 2 /**< \brief (ADC_INTENSET) Window Monitor Interrupt Enable */ -#define ADC_INTENSET_WINMON (_U_(0x1) << ADC_INTENSET_WINMON_Pos) -#define ADC_INTENSET_MASK _U_(0x07) /**< \brief (ADC_INTENSET) MASK Register */ - -/* -------- ADC_INTFLAG : (ADC Offset: 0x2E) (R/W 8) Interrupt Flag Status and Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { // __I to avoid read-modify-write on write-to-clear register - struct { - __I uint8_t RESRDY:1; /*!< bit: 0 Result Ready Interrupt Flag */ - __I uint8_t OVERRUN:1; /*!< bit: 1 Overrun Interrupt Flag */ - __I uint8_t WINMON:1; /*!< bit: 2 Window Monitor Interrupt Flag */ - __I uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_INTFLAG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_INTFLAG_OFFSET 0x2E /**< \brief (ADC_INTFLAG offset) Interrupt Flag Status and Clear */ -#define ADC_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (ADC_INTFLAG reset_value) Interrupt Flag Status and Clear */ - -#define ADC_INTFLAG_RESRDY_Pos 0 /**< \brief (ADC_INTFLAG) Result Ready Interrupt Flag */ -#define ADC_INTFLAG_RESRDY (_U_(0x1) << ADC_INTFLAG_RESRDY_Pos) -#define ADC_INTFLAG_OVERRUN_Pos 1 /**< \brief (ADC_INTFLAG) Overrun Interrupt Flag */ -#define ADC_INTFLAG_OVERRUN (_U_(0x1) << ADC_INTFLAG_OVERRUN_Pos) -#define ADC_INTFLAG_WINMON_Pos 2 /**< \brief (ADC_INTFLAG) Window Monitor Interrupt Flag */ -#define ADC_INTFLAG_WINMON (_U_(0x1) << ADC_INTFLAG_WINMON_Pos) -#define ADC_INTFLAG_MASK _U_(0x07) /**< \brief (ADC_INTFLAG) MASK Register */ - -/* -------- ADC_STATUS : (ADC Offset: 0x2F) (R/ 8) Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t ADCBUSY:1; /*!< bit: 0 ADC Busy Status */ - uint8_t :1; /*!< bit: 1 Reserved */ - uint8_t WCC:6; /*!< bit: 2.. 7 Window Comparator Counter */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} ADC_STATUS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_STATUS_OFFSET 0x2F /**< \brief (ADC_STATUS offset) Status */ -#define ADC_STATUS_RESETVALUE _U_(0x00) /**< \brief (ADC_STATUS reset_value) Status */ - -#define ADC_STATUS_ADCBUSY_Pos 0 /**< \brief (ADC_STATUS) ADC Busy Status */ -#define ADC_STATUS_ADCBUSY (_U_(0x1) << ADC_STATUS_ADCBUSY_Pos) -#define ADC_STATUS_WCC_Pos 2 /**< \brief (ADC_STATUS) Window Comparator Counter */ -#define ADC_STATUS_WCC_Msk (_U_(0x3F) << ADC_STATUS_WCC_Pos) -#define ADC_STATUS_WCC(value) (ADC_STATUS_WCC_Msk & ((value) << ADC_STATUS_WCC_Pos)) -#define ADC_STATUS_MASK _U_(0xFD) /**< \brief (ADC_STATUS) MASK Register */ - -/* -------- ADC_SYNCBUSY : (ADC Offset: 0x30) (R/ 32) Synchronization Busy -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t SWRST:1; /*!< bit: 0 SWRST Synchronization Busy */ - uint32_t ENABLE:1; /*!< bit: 1 ENABLE Synchronization Busy */ - uint32_t INPUTCTRL:1; /*!< bit: 2 Input Control Synchronization Busy */ - uint32_t CTRLB:1; /*!< bit: 3 Control B Synchronization Busy */ - uint32_t REFCTRL:1; /*!< bit: 4 Reference Control Synchronization Busy */ - uint32_t AVGCTRL:1; /*!< bit: 5 Average Control Synchronization Busy */ - uint32_t SAMPCTRL:1; /*!< bit: 6 Sampling Time Control Synchronization Busy */ - uint32_t WINLT:1; /*!< bit: 7 Window Monitor Lower Threshold Synchronization Busy */ - uint32_t WINUT:1; /*!< bit: 8 Window Monitor Upper Threshold Synchronization Busy */ - uint32_t GAINCORR:1; /*!< bit: 9 Gain Correction Synchronization Busy */ - uint32_t OFFSETCORR:1; /*!< bit: 10 Offset Correction Synchronization Busy */ - uint32_t SWTRIG:1; /*!< bit: 11 Software Trigger Synchronization Busy */ - uint32_t :20; /*!< bit: 12..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} ADC_SYNCBUSY_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_SYNCBUSY_OFFSET 0x30 /**< \brief (ADC_SYNCBUSY offset) Synchronization Busy */ -#define ADC_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (ADC_SYNCBUSY reset_value) Synchronization Busy */ - -#define ADC_SYNCBUSY_SWRST_Pos 0 /**< \brief (ADC_SYNCBUSY) SWRST Synchronization Busy */ -#define ADC_SYNCBUSY_SWRST (_U_(0x1) << ADC_SYNCBUSY_SWRST_Pos) -#define ADC_SYNCBUSY_ENABLE_Pos 1 /**< \brief (ADC_SYNCBUSY) ENABLE Synchronization Busy */ -#define ADC_SYNCBUSY_ENABLE (_U_(0x1) << ADC_SYNCBUSY_ENABLE_Pos) -#define ADC_SYNCBUSY_INPUTCTRL_Pos 2 /**< \brief (ADC_SYNCBUSY) Input Control Synchronization Busy */ -#define ADC_SYNCBUSY_INPUTCTRL (_U_(0x1) << ADC_SYNCBUSY_INPUTCTRL_Pos) -#define ADC_SYNCBUSY_CTRLB_Pos 3 /**< \brief (ADC_SYNCBUSY) Control B Synchronization Busy */ -#define ADC_SYNCBUSY_CTRLB (_U_(0x1) << ADC_SYNCBUSY_CTRLB_Pos) -#define ADC_SYNCBUSY_REFCTRL_Pos 4 /**< \brief (ADC_SYNCBUSY) Reference Control Synchronization Busy */ -#define ADC_SYNCBUSY_REFCTRL (_U_(0x1) << ADC_SYNCBUSY_REFCTRL_Pos) -#define ADC_SYNCBUSY_AVGCTRL_Pos 5 /**< \brief (ADC_SYNCBUSY) Average Control Synchronization Busy */ -#define ADC_SYNCBUSY_AVGCTRL (_U_(0x1) << ADC_SYNCBUSY_AVGCTRL_Pos) -#define ADC_SYNCBUSY_SAMPCTRL_Pos 6 /**< \brief (ADC_SYNCBUSY) Sampling Time Control Synchronization Busy */ -#define ADC_SYNCBUSY_SAMPCTRL (_U_(0x1) << ADC_SYNCBUSY_SAMPCTRL_Pos) -#define ADC_SYNCBUSY_WINLT_Pos 7 /**< \brief (ADC_SYNCBUSY) Window Monitor Lower Threshold Synchronization Busy */ -#define ADC_SYNCBUSY_WINLT (_U_(0x1) << ADC_SYNCBUSY_WINLT_Pos) -#define ADC_SYNCBUSY_WINUT_Pos 8 /**< \brief (ADC_SYNCBUSY) Window Monitor Upper Threshold Synchronization Busy */ -#define ADC_SYNCBUSY_WINUT (_U_(0x1) << ADC_SYNCBUSY_WINUT_Pos) -#define ADC_SYNCBUSY_GAINCORR_Pos 9 /**< \brief (ADC_SYNCBUSY) Gain Correction Synchronization Busy */ -#define ADC_SYNCBUSY_GAINCORR (_U_(0x1) << ADC_SYNCBUSY_GAINCORR_Pos) -#define ADC_SYNCBUSY_OFFSETCORR_Pos 10 /**< \brief (ADC_SYNCBUSY) Offset Correction Synchronization Busy */ -#define ADC_SYNCBUSY_OFFSETCORR (_U_(0x1) << ADC_SYNCBUSY_OFFSETCORR_Pos) -#define ADC_SYNCBUSY_SWTRIG_Pos 11 /**< \brief (ADC_SYNCBUSY) Software Trigger Synchronization Busy */ -#define ADC_SYNCBUSY_SWTRIG (_U_(0x1) << ADC_SYNCBUSY_SWTRIG_Pos) -#define ADC_SYNCBUSY_MASK _U_(0x00000FFF) /**< \brief (ADC_SYNCBUSY) MASK Register */ - -/* -------- ADC_DSEQDATA : (ADC Offset: 0x34) ( /W 32) DMA Sequencial Data -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t DATA:32; /*!< bit: 0..31 DMA Sequential Data */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} ADC_DSEQDATA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_DSEQDATA_OFFSET 0x34 /**< \brief (ADC_DSEQDATA offset) DMA Sequencial Data */ -#define ADC_DSEQDATA_RESETVALUE _U_(0x00000000) /**< \brief (ADC_DSEQDATA reset_value) DMA Sequencial Data */ - -#define ADC_DSEQDATA_DATA_Pos 0 /**< \brief (ADC_DSEQDATA) DMA Sequential Data */ -#define ADC_DSEQDATA_DATA_Msk (_U_(0xFFFFFFFF) << ADC_DSEQDATA_DATA_Pos) -#define ADC_DSEQDATA_DATA(value) (ADC_DSEQDATA_DATA_Msk & ((value) << ADC_DSEQDATA_DATA_Pos)) -#define ADC_DSEQDATA_MASK _U_(0xFFFFFFFF) /**< \brief (ADC_DSEQDATA) MASK Register */ - -/* -------- ADC_DSEQCTRL : (ADC Offset: 0x38) (R/W 32) DMA Sequential Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t INPUTCTRL:1; /*!< bit: 0 Input Control */ - uint32_t CTRLB:1; /*!< bit: 1 Control B */ - uint32_t REFCTRL:1; /*!< bit: 2 Reference Control */ - uint32_t AVGCTRL:1; /*!< bit: 3 Average Control */ - uint32_t SAMPCTRL:1; /*!< bit: 4 Sampling Time Control */ - uint32_t WINLT:1; /*!< bit: 5 Window Monitor Lower Threshold */ - uint32_t WINUT:1; /*!< bit: 6 Window Monitor Upper Threshold */ - uint32_t GAINCORR:1; /*!< bit: 7 Gain Correction */ - uint32_t OFFSETCORR:1; /*!< bit: 8 Offset Correction */ - uint32_t :22; /*!< bit: 9..30 Reserved */ - uint32_t AUTOSTART:1; /*!< bit: 31 ADC Auto-Start Conversion */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} ADC_DSEQCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_DSEQCTRL_OFFSET 0x38 /**< \brief (ADC_DSEQCTRL offset) DMA Sequential Control */ -#define ADC_DSEQCTRL_RESETVALUE _U_(0x00000000) /**< \brief (ADC_DSEQCTRL reset_value) DMA Sequential Control */ - -#define ADC_DSEQCTRL_INPUTCTRL_Pos 0 /**< \brief (ADC_DSEQCTRL) Input Control */ -#define ADC_DSEQCTRL_INPUTCTRL (_U_(0x1) << ADC_DSEQCTRL_INPUTCTRL_Pos) -#define ADC_DSEQCTRL_CTRLB_Pos 1 /**< \brief (ADC_DSEQCTRL) Control B */ -#define ADC_DSEQCTRL_CTRLB (_U_(0x1) << ADC_DSEQCTRL_CTRLB_Pos) -#define ADC_DSEQCTRL_REFCTRL_Pos 2 /**< \brief (ADC_DSEQCTRL) Reference Control */ -#define ADC_DSEQCTRL_REFCTRL (_U_(0x1) << ADC_DSEQCTRL_REFCTRL_Pos) -#define ADC_DSEQCTRL_AVGCTRL_Pos 3 /**< \brief (ADC_DSEQCTRL) Average Control */ -#define ADC_DSEQCTRL_AVGCTRL (_U_(0x1) << ADC_DSEQCTRL_AVGCTRL_Pos) -#define ADC_DSEQCTRL_SAMPCTRL_Pos 4 /**< \brief (ADC_DSEQCTRL) Sampling Time Control */ -#define ADC_DSEQCTRL_SAMPCTRL (_U_(0x1) << ADC_DSEQCTRL_SAMPCTRL_Pos) -#define ADC_DSEQCTRL_WINLT_Pos 5 /**< \brief (ADC_DSEQCTRL) Window Monitor Lower Threshold */ -#define ADC_DSEQCTRL_WINLT (_U_(0x1) << ADC_DSEQCTRL_WINLT_Pos) -#define ADC_DSEQCTRL_WINUT_Pos 6 /**< \brief (ADC_DSEQCTRL) Window Monitor Upper Threshold */ -#define ADC_DSEQCTRL_WINUT (_U_(0x1) << ADC_DSEQCTRL_WINUT_Pos) -#define ADC_DSEQCTRL_GAINCORR_Pos 7 /**< \brief (ADC_DSEQCTRL) Gain Correction */ -#define ADC_DSEQCTRL_GAINCORR (_U_(0x1) << ADC_DSEQCTRL_GAINCORR_Pos) -#define ADC_DSEQCTRL_OFFSETCORR_Pos 8 /**< \brief (ADC_DSEQCTRL) Offset Correction */ -#define ADC_DSEQCTRL_OFFSETCORR (_U_(0x1) << ADC_DSEQCTRL_OFFSETCORR_Pos) -#define ADC_DSEQCTRL_AUTOSTART_Pos 31 /**< \brief (ADC_DSEQCTRL) ADC Auto-Start Conversion */ -#define ADC_DSEQCTRL_AUTOSTART (_U_(0x1) << ADC_DSEQCTRL_AUTOSTART_Pos) -#define ADC_DSEQCTRL_MASK _U_(0x800001FF) /**< \brief (ADC_DSEQCTRL) MASK Register */ - -/* -------- ADC_DSEQSTAT : (ADC Offset: 0x3C) (R/ 32) DMA Sequencial Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t INPUTCTRL:1; /*!< bit: 0 Input Control */ - uint32_t CTRLB:1; /*!< bit: 1 Control B */ - uint32_t REFCTRL:1; /*!< bit: 2 Reference Control */ - uint32_t AVGCTRL:1; /*!< bit: 3 Average Control */ - uint32_t SAMPCTRL:1; /*!< bit: 4 Sampling Time Control */ - uint32_t WINLT:1; /*!< bit: 5 Window Monitor Lower Threshold */ - uint32_t WINUT:1; /*!< bit: 6 Window Monitor Upper Threshold */ - uint32_t GAINCORR:1; /*!< bit: 7 Gain Correction */ - uint32_t OFFSETCORR:1; /*!< bit: 8 Offset Correction */ - uint32_t :22; /*!< bit: 9..30 Reserved */ - uint32_t BUSY:1; /*!< bit: 31 DMA Sequencing Busy */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} ADC_DSEQSTAT_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_DSEQSTAT_OFFSET 0x3C /**< \brief (ADC_DSEQSTAT offset) DMA Sequencial Status */ -#define ADC_DSEQSTAT_RESETVALUE _U_(0x00000000) /**< \brief (ADC_DSEQSTAT reset_value) DMA Sequencial Status */ - -#define ADC_DSEQSTAT_INPUTCTRL_Pos 0 /**< \brief (ADC_DSEQSTAT) Input Control */ -#define ADC_DSEQSTAT_INPUTCTRL (_U_(0x1) << ADC_DSEQSTAT_INPUTCTRL_Pos) -#define ADC_DSEQSTAT_CTRLB_Pos 1 /**< \brief (ADC_DSEQSTAT) Control B */ -#define ADC_DSEQSTAT_CTRLB (_U_(0x1) << ADC_DSEQSTAT_CTRLB_Pos) -#define ADC_DSEQSTAT_REFCTRL_Pos 2 /**< \brief (ADC_DSEQSTAT) Reference Control */ -#define ADC_DSEQSTAT_REFCTRL (_U_(0x1) << ADC_DSEQSTAT_REFCTRL_Pos) -#define ADC_DSEQSTAT_AVGCTRL_Pos 3 /**< \brief (ADC_DSEQSTAT) Average Control */ -#define ADC_DSEQSTAT_AVGCTRL (_U_(0x1) << ADC_DSEQSTAT_AVGCTRL_Pos) -#define ADC_DSEQSTAT_SAMPCTRL_Pos 4 /**< \brief (ADC_DSEQSTAT) Sampling Time Control */ -#define ADC_DSEQSTAT_SAMPCTRL (_U_(0x1) << ADC_DSEQSTAT_SAMPCTRL_Pos) -#define ADC_DSEQSTAT_WINLT_Pos 5 /**< \brief (ADC_DSEQSTAT) Window Monitor Lower Threshold */ -#define ADC_DSEQSTAT_WINLT (_U_(0x1) << ADC_DSEQSTAT_WINLT_Pos) -#define ADC_DSEQSTAT_WINUT_Pos 6 /**< \brief (ADC_DSEQSTAT) Window Monitor Upper Threshold */ -#define ADC_DSEQSTAT_WINUT (_U_(0x1) << ADC_DSEQSTAT_WINUT_Pos) -#define ADC_DSEQSTAT_GAINCORR_Pos 7 /**< \brief (ADC_DSEQSTAT) Gain Correction */ -#define ADC_DSEQSTAT_GAINCORR (_U_(0x1) << ADC_DSEQSTAT_GAINCORR_Pos) -#define ADC_DSEQSTAT_OFFSETCORR_Pos 8 /**< \brief (ADC_DSEQSTAT) Offset Correction */ -#define ADC_DSEQSTAT_OFFSETCORR (_U_(0x1) << ADC_DSEQSTAT_OFFSETCORR_Pos) -#define ADC_DSEQSTAT_BUSY_Pos 31 /**< \brief (ADC_DSEQSTAT) DMA Sequencing Busy */ -#define ADC_DSEQSTAT_BUSY (_U_(0x1) << ADC_DSEQSTAT_BUSY_Pos) -#define ADC_DSEQSTAT_MASK _U_(0x800001FF) /**< \brief (ADC_DSEQSTAT) MASK Register */ - -/* -------- ADC_RESULT : (ADC Offset: 0x40) (R/ 16) Result Conversion Value -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t RESULT:16; /*!< bit: 0..15 Result Conversion Value */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_RESULT_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_RESULT_OFFSET 0x40 /**< \brief (ADC_RESULT offset) Result Conversion Value */ -#define ADC_RESULT_RESETVALUE _U_(0x0000) /**< \brief (ADC_RESULT reset_value) Result Conversion Value */ - -#define ADC_RESULT_RESULT_Pos 0 /**< \brief (ADC_RESULT) Result Conversion Value */ -#define ADC_RESULT_RESULT_Msk (_U_(0xFFFF) << ADC_RESULT_RESULT_Pos) -#define ADC_RESULT_RESULT(value) (ADC_RESULT_RESULT_Msk & ((value) << ADC_RESULT_RESULT_Pos)) -#define ADC_RESULT_MASK _U_(0xFFFF) /**< \brief (ADC_RESULT) MASK Register */ - -/* -------- ADC_RESS : (ADC Offset: 0x44) (R/ 16) Last Sample Result -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t RESS:16; /*!< bit: 0..15 Last ADC conversion result */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_RESS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_RESS_OFFSET 0x44 /**< \brief (ADC_RESS offset) Last Sample Result */ -#define ADC_RESS_RESETVALUE _U_(0x0000) /**< \brief (ADC_RESS reset_value) Last Sample Result */ - -#define ADC_RESS_RESS_Pos 0 /**< \brief (ADC_RESS) Last ADC conversion result */ -#define ADC_RESS_RESS_Msk (_U_(0xFFFF) << ADC_RESS_RESS_Pos) -#define ADC_RESS_RESS(value) (ADC_RESS_RESS_Msk & ((value) << ADC_RESS_RESS_Pos)) -#define ADC_RESS_MASK _U_(0xFFFF) /**< \brief (ADC_RESS) MASK Register */ - -/* -------- ADC_CALIB : (ADC Offset: 0x48) (R/W 16) Calibration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t BIASCOMP:3; /*!< bit: 0.. 2 Bias Comparator Scaling */ - uint16_t :1; /*!< bit: 3 Reserved */ - uint16_t BIASR2R:3; /*!< bit: 4.. 6 Bias R2R Ampli scaling */ - uint16_t :1; /*!< bit: 7 Reserved */ - uint16_t BIASREFBUF:3; /*!< bit: 8..10 Bias Reference Buffer Scaling */ - uint16_t :5; /*!< bit: 11..15 Reserved */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} ADC_CALIB_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define ADC_CALIB_OFFSET 0x48 /**< \brief (ADC_CALIB offset) Calibration */ -#define ADC_CALIB_RESETVALUE _U_(0x0000) /**< \brief (ADC_CALIB reset_value) Calibration */ - -#define ADC_CALIB_BIASCOMP_Pos 0 /**< \brief (ADC_CALIB) Bias Comparator Scaling */ -#define ADC_CALIB_BIASCOMP_Msk (_U_(0x7) << ADC_CALIB_BIASCOMP_Pos) -#define ADC_CALIB_BIASCOMP(value) (ADC_CALIB_BIASCOMP_Msk & ((value) << ADC_CALIB_BIASCOMP_Pos)) -#define ADC_CALIB_BIASR2R_Pos 4 /**< \brief (ADC_CALIB) Bias R2R Ampli scaling */ -#define ADC_CALIB_BIASR2R_Msk (_U_(0x7) << ADC_CALIB_BIASR2R_Pos) -#define ADC_CALIB_BIASR2R(value) (ADC_CALIB_BIASR2R_Msk & ((value) << ADC_CALIB_BIASR2R_Pos)) -#define ADC_CALIB_BIASREFBUF_Pos 8 /**< \brief (ADC_CALIB) Bias Reference Buffer Scaling */ -#define ADC_CALIB_BIASREFBUF_Msk (_U_(0x7) << ADC_CALIB_BIASREFBUF_Pos) -#define ADC_CALIB_BIASREFBUF(value) (ADC_CALIB_BIASREFBUF_Msk & ((value) << ADC_CALIB_BIASREFBUF_Pos)) -#define ADC_CALIB_MASK _U_(0x0777) /**< \brief (ADC_CALIB) MASK Register */ - -/** \brief ADC hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO ADC_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 16) Control A */ - __IO ADC_EVCTRL_Type EVCTRL; /**< \brief Offset: 0x02 (R/W 8) Event Control */ - __IO ADC_DBGCTRL_Type DBGCTRL; /**< \brief Offset: 0x03 (R/W 8) Debug Control */ - __IO ADC_INPUTCTRL_Type INPUTCTRL; /**< \brief Offset: 0x04 (R/W 16) Input Control */ - __IO ADC_CTRLB_Type CTRLB; /**< \brief Offset: 0x06 (R/W 16) Control B */ - __IO ADC_REFCTRL_Type REFCTRL; /**< \brief Offset: 0x08 (R/W 8) Reference Control */ - RoReg8 Reserved1[0x1]; - __IO ADC_AVGCTRL_Type AVGCTRL; /**< \brief Offset: 0x0A (R/W 8) Average Control */ - __IO ADC_SAMPCTRL_Type SAMPCTRL; /**< \brief Offset: 0x0B (R/W 8) Sample Time Control */ - __IO ADC_WINLT_Type WINLT; /**< \brief Offset: 0x0C (R/W 16) Window Monitor Lower Threshold */ - __IO ADC_WINUT_Type WINUT; /**< \brief Offset: 0x0E (R/W 16) Window Monitor Upper Threshold */ - __IO ADC_GAINCORR_Type GAINCORR; /**< \brief Offset: 0x10 (R/W 16) Gain Correction */ - __IO ADC_OFFSETCORR_Type OFFSETCORR; /**< \brief Offset: 0x12 (R/W 16) Offset Correction */ - __IO ADC_SWTRIG_Type SWTRIG; /**< \brief Offset: 0x14 (R/W 8) Software Trigger */ - RoReg8 Reserved2[0x17]; - __IO ADC_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x2C (R/W 8) Interrupt Enable Clear */ - __IO ADC_INTENSET_Type INTENSET; /**< \brief Offset: 0x2D (R/W 8) Interrupt Enable Set */ - __IO ADC_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x2E (R/W 8) Interrupt Flag Status and Clear */ - __I ADC_STATUS_Type STATUS; /**< \brief Offset: 0x2F (R/ 8) Status */ - __I ADC_SYNCBUSY_Type SYNCBUSY; /**< \brief Offset: 0x30 (R/ 32) Synchronization Busy */ - __O ADC_DSEQDATA_Type DSEQDATA; /**< \brief Offset: 0x34 ( /W 32) DMA Sequencial Data */ - __IO ADC_DSEQCTRL_Type DSEQCTRL; /**< \brief Offset: 0x38 (R/W 32) DMA Sequential Control */ - __I ADC_DSEQSTAT_Type DSEQSTAT; /**< \brief Offset: 0x3C (R/ 32) DMA Sequencial Status */ - __I ADC_RESULT_Type RESULT; /**< \brief Offset: 0x40 (R/ 16) Result Conversion Value */ - RoReg8 Reserved3[0x2]; - __I ADC_RESS_Type RESS; /**< \brief Offset: 0x44 (R/ 16) Last Sample Result */ - RoReg8 Reserved4[0x2]; - __IO ADC_CALIB_Type CALIB; /**< \brief Offset: 0x48 (R/W 16) Calibration */ -} Adc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/*@}*/ - -#endif /* _SAME54_ADC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/include/component/aes.h b/software/firmware/oracle_same54n19a/include/component/aes.h deleted file mode 100644 index 2831d0d..0000000 --- a/software/firmware/oracle_same54n19a/include/component/aes.h +++ /dev/null @@ -1,375 +0,0 @@ -/** - * \file - * - * \brief Component description for AES - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_AES_COMPONENT_ -#define _SAME54_AES_COMPONENT_ - -/* ========================================================================== */ -/** SOFTWARE API DEFINITION FOR AES */ -/* ========================================================================== */ -/** \addtogroup SAME54_AES Advanced Encryption Standard */ -/*@{*/ - -#define AES_U2238 -#define REV_AES 0x220 - -/* -------- AES_CTRLA : (AES Offset: 0x00) (R/W 32) Control A -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t SWRST:1; /*!< bit: 0 Software Reset */ - uint32_t ENABLE:1; /*!< bit: 1 Enable */ - uint32_t AESMODE:3; /*!< bit: 2.. 4 AES Modes of operation */ - uint32_t CFBS:3; /*!< bit: 5.. 7 Cipher Feedback Block Size */ - uint32_t KEYSIZE:2; /*!< bit: 8.. 9 Encryption Key Size */ - uint32_t CIPHER:1; /*!< bit: 10 Cipher Mode */ - uint32_t STARTMODE:1; /*!< bit: 11 Start Mode Select */ - uint32_t LOD:1; /*!< bit: 12 Last Output Data Mode */ - uint32_t KEYGEN:1; /*!< bit: 13 Last Key Generation */ - uint32_t XORKEY:1; /*!< bit: 14 XOR Key Operation */ - uint32_t :1; /*!< bit: 15 Reserved */ - uint32_t CTYPE:4; /*!< bit: 16..19 Counter Measure Type */ - uint32_t :12; /*!< bit: 20..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} AES_CTRLA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_CTRLA_OFFSET 0x00 /**< \brief (AES_CTRLA offset) Control A */ -#define AES_CTRLA_RESETVALUE _U_(0x00000000) /**< \brief (AES_CTRLA reset_value) Control A */ - -#define AES_CTRLA_SWRST_Pos 0 /**< \brief (AES_CTRLA) Software Reset */ -#define AES_CTRLA_SWRST (_U_(0x1) << AES_CTRLA_SWRST_Pos) -#define AES_CTRLA_ENABLE_Pos 1 /**< \brief (AES_CTRLA) Enable */ -#define AES_CTRLA_ENABLE (_U_(0x1) << AES_CTRLA_ENABLE_Pos) -#define AES_CTRLA_AESMODE_Pos 2 /**< \brief (AES_CTRLA) AES Modes of operation */ -#define AES_CTRLA_AESMODE_Msk (_U_(0x7) << AES_CTRLA_AESMODE_Pos) -#define AES_CTRLA_AESMODE(value) (AES_CTRLA_AESMODE_Msk & ((value) << AES_CTRLA_AESMODE_Pos)) -#define AES_CTRLA_AESMODE_ECB_Val _U_(0x0) /**< \brief (AES_CTRLA) Electronic code book mode */ -#define AES_CTRLA_AESMODE_CBC_Val _U_(0x1) /**< \brief (AES_CTRLA) Cipher block chaining mode */ -#define AES_CTRLA_AESMODE_OFB_Val _U_(0x2) /**< \brief (AES_CTRLA) Output feedback mode */ -#define AES_CTRLA_AESMODE_CFB_Val _U_(0x3) /**< \brief (AES_CTRLA) Cipher feedback mode */ -#define AES_CTRLA_AESMODE_COUNTER_Val _U_(0x4) /**< \brief (AES_CTRLA) Counter mode */ -#define AES_CTRLA_AESMODE_CCM_Val _U_(0x5) /**< \brief (AES_CTRLA) CCM mode */ -#define AES_CTRLA_AESMODE_GCM_Val _U_(0x6) /**< \brief (AES_CTRLA) Galois counter mode */ -#define AES_CTRLA_AESMODE_ECB (AES_CTRLA_AESMODE_ECB_Val << AES_CTRLA_AESMODE_Pos) -#define AES_CTRLA_AESMODE_CBC (AES_CTRLA_AESMODE_CBC_Val << AES_CTRLA_AESMODE_Pos) -#define AES_CTRLA_AESMODE_OFB (AES_CTRLA_AESMODE_OFB_Val << AES_CTRLA_AESMODE_Pos) -#define AES_CTRLA_AESMODE_CFB (AES_CTRLA_AESMODE_CFB_Val << AES_CTRLA_AESMODE_Pos) -#define AES_CTRLA_AESMODE_COUNTER (AES_CTRLA_AESMODE_COUNTER_Val << AES_CTRLA_AESMODE_Pos) -#define AES_CTRLA_AESMODE_CCM (AES_CTRLA_AESMODE_CCM_Val << AES_CTRLA_AESMODE_Pos) -#define AES_CTRLA_AESMODE_GCM (AES_CTRLA_AESMODE_GCM_Val << AES_CTRLA_AESMODE_Pos) -#define AES_CTRLA_CFBS_Pos 5 /**< \brief (AES_CTRLA) Cipher Feedback Block Size */ -#define AES_CTRLA_CFBS_Msk (_U_(0x7) << AES_CTRLA_CFBS_Pos) -#define AES_CTRLA_CFBS(value) (AES_CTRLA_CFBS_Msk & ((value) << AES_CTRLA_CFBS_Pos)) -#define AES_CTRLA_CFBS_128BIT_Val _U_(0x0) /**< \brief (AES_CTRLA) 128-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ -#define AES_CTRLA_CFBS_64BIT_Val _U_(0x1) /**< \brief (AES_CTRLA) 64-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ -#define AES_CTRLA_CFBS_32BIT_Val _U_(0x2) /**< \brief (AES_CTRLA) 32-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ -#define AES_CTRLA_CFBS_16BIT_Val _U_(0x3) /**< \brief (AES_CTRLA) 16-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ -#define AES_CTRLA_CFBS_8BIT_Val _U_(0x4) /**< \brief (AES_CTRLA) 8-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ -#define AES_CTRLA_CFBS_128BIT (AES_CTRLA_CFBS_128BIT_Val << AES_CTRLA_CFBS_Pos) -#define AES_CTRLA_CFBS_64BIT (AES_CTRLA_CFBS_64BIT_Val << AES_CTRLA_CFBS_Pos) -#define AES_CTRLA_CFBS_32BIT (AES_CTRLA_CFBS_32BIT_Val << AES_CTRLA_CFBS_Pos) -#define AES_CTRLA_CFBS_16BIT (AES_CTRLA_CFBS_16BIT_Val << AES_CTRLA_CFBS_Pos) -#define AES_CTRLA_CFBS_8BIT (AES_CTRLA_CFBS_8BIT_Val << AES_CTRLA_CFBS_Pos) -#define AES_CTRLA_KEYSIZE_Pos 8 /**< \brief (AES_CTRLA) Encryption Key Size */ -#define AES_CTRLA_KEYSIZE_Msk (_U_(0x3) << AES_CTRLA_KEYSIZE_Pos) -#define AES_CTRLA_KEYSIZE(value) (AES_CTRLA_KEYSIZE_Msk & ((value) << AES_CTRLA_KEYSIZE_Pos)) -#define AES_CTRLA_KEYSIZE_128BIT_Val _U_(0x0) /**< \brief (AES_CTRLA) 128-bit Key for Encryption / Decryption */ -#define AES_CTRLA_KEYSIZE_192BIT_Val _U_(0x1) /**< \brief (AES_CTRLA) 192-bit Key for Encryption / Decryption */ -#define AES_CTRLA_KEYSIZE_256BIT_Val _U_(0x2) /**< \brief (AES_CTRLA) 256-bit Key for Encryption / Decryption */ -#define AES_CTRLA_KEYSIZE_128BIT (AES_CTRLA_KEYSIZE_128BIT_Val << AES_CTRLA_KEYSIZE_Pos) -#define AES_CTRLA_KEYSIZE_192BIT (AES_CTRLA_KEYSIZE_192BIT_Val << AES_CTRLA_KEYSIZE_Pos) -#define AES_CTRLA_KEYSIZE_256BIT (AES_CTRLA_KEYSIZE_256BIT_Val << AES_CTRLA_KEYSIZE_Pos) -#define AES_CTRLA_CIPHER_Pos 10 /**< \brief (AES_CTRLA) Cipher Mode */ -#define AES_CTRLA_CIPHER (_U_(0x1) << AES_CTRLA_CIPHER_Pos) -#define AES_CTRLA_CIPHER_DEC_Val _U_(0x0) /**< \brief (AES_CTRLA) Decryption */ -#define AES_CTRLA_CIPHER_ENC_Val _U_(0x1) /**< \brief (AES_CTRLA) Encryption */ -#define AES_CTRLA_CIPHER_DEC (AES_CTRLA_CIPHER_DEC_Val << AES_CTRLA_CIPHER_Pos) -#define AES_CTRLA_CIPHER_ENC (AES_CTRLA_CIPHER_ENC_Val << AES_CTRLA_CIPHER_Pos) -#define AES_CTRLA_STARTMODE_Pos 11 /**< \brief (AES_CTRLA) Start Mode Select */ -#define AES_CTRLA_STARTMODE (_U_(0x1) << AES_CTRLA_STARTMODE_Pos) -#define AES_CTRLA_STARTMODE_MANUAL_Val _U_(0x0) /**< \brief (AES_CTRLA) Start Encryption / Decryption in Manual mode */ -#define AES_CTRLA_STARTMODE_AUTO_Val _U_(0x1) /**< \brief (AES_CTRLA) Start Encryption / Decryption in Auto mode */ -#define AES_CTRLA_STARTMODE_MANUAL (AES_CTRLA_STARTMODE_MANUAL_Val << AES_CTRLA_STARTMODE_Pos) -#define AES_CTRLA_STARTMODE_AUTO (AES_CTRLA_STARTMODE_AUTO_Val << AES_CTRLA_STARTMODE_Pos) -#define AES_CTRLA_LOD_Pos 12 /**< \brief (AES_CTRLA) Last Output Data Mode */ -#define AES_CTRLA_LOD (_U_(0x1) << AES_CTRLA_LOD_Pos) -#define AES_CTRLA_LOD_NONE_Val _U_(0x0) /**< \brief (AES_CTRLA) No effect */ -#define AES_CTRLA_LOD_LAST_Val _U_(0x1) /**< \brief (AES_CTRLA) Start encryption in Last Output Data mode */ -#define AES_CTRLA_LOD_NONE (AES_CTRLA_LOD_NONE_Val << AES_CTRLA_LOD_Pos) -#define AES_CTRLA_LOD_LAST (AES_CTRLA_LOD_LAST_Val << AES_CTRLA_LOD_Pos) -#define AES_CTRLA_KEYGEN_Pos 13 /**< \brief (AES_CTRLA) Last Key Generation */ -#define AES_CTRLA_KEYGEN (_U_(0x1) << AES_CTRLA_KEYGEN_Pos) -#define AES_CTRLA_KEYGEN_NONE_Val _U_(0x0) /**< \brief (AES_CTRLA) No effect */ -#define AES_CTRLA_KEYGEN_LAST_Val _U_(0x1) /**< \brief (AES_CTRLA) Start Computation of the last NK words of the expanded key */ -#define AES_CTRLA_KEYGEN_NONE (AES_CTRLA_KEYGEN_NONE_Val << AES_CTRLA_KEYGEN_Pos) -#define AES_CTRLA_KEYGEN_LAST (AES_CTRLA_KEYGEN_LAST_Val << AES_CTRLA_KEYGEN_Pos) -#define AES_CTRLA_XORKEY_Pos 14 /**< \brief (AES_CTRLA) XOR Key Operation */ -#define AES_CTRLA_XORKEY (_U_(0x1) << AES_CTRLA_XORKEY_Pos) -#define AES_CTRLA_XORKEY_NONE_Val _U_(0x0) /**< \brief (AES_CTRLA) No effect */ -#define AES_CTRLA_XORKEY_XOR_Val _U_(0x1) /**< \brief (AES_CTRLA) The user keyword gets XORed with the previous keyword register content. */ -#define AES_CTRLA_XORKEY_NONE (AES_CTRLA_XORKEY_NONE_Val << AES_CTRLA_XORKEY_Pos) -#define AES_CTRLA_XORKEY_XOR (AES_CTRLA_XORKEY_XOR_Val << AES_CTRLA_XORKEY_Pos) -#define AES_CTRLA_CTYPE_Pos 16 /**< \brief (AES_CTRLA) Counter Measure Type */ -#define AES_CTRLA_CTYPE_Msk (_U_(0xF) << AES_CTRLA_CTYPE_Pos) -#define AES_CTRLA_CTYPE(value) (AES_CTRLA_CTYPE_Msk & ((value) << AES_CTRLA_CTYPE_Pos)) -#define AES_CTRLA_MASK _U_(0x000F7FFF) /**< \brief (AES_CTRLA) MASK Register */ - -/* -------- AES_CTRLB : (AES Offset: 0x04) (R/W 8) Control B -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t START:1; /*!< bit: 0 Start Encryption/Decryption */ - uint8_t NEWMSG:1; /*!< bit: 1 New message */ - uint8_t EOM:1; /*!< bit: 2 End of message */ - uint8_t GFMUL:1; /*!< bit: 3 GF Multiplication */ - uint8_t :4; /*!< bit: 4.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AES_CTRLB_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_CTRLB_OFFSET 0x04 /**< \brief (AES_CTRLB offset) Control B */ -#define AES_CTRLB_RESETVALUE _U_(0x00) /**< \brief (AES_CTRLB reset_value) Control B */ - -#define AES_CTRLB_START_Pos 0 /**< \brief (AES_CTRLB) Start Encryption/Decryption */ -#define AES_CTRLB_START (_U_(0x1) << AES_CTRLB_START_Pos) -#define AES_CTRLB_NEWMSG_Pos 1 /**< \brief (AES_CTRLB) New message */ -#define AES_CTRLB_NEWMSG (_U_(0x1) << AES_CTRLB_NEWMSG_Pos) -#define AES_CTRLB_EOM_Pos 2 /**< \brief (AES_CTRLB) End of message */ -#define AES_CTRLB_EOM (_U_(0x1) << AES_CTRLB_EOM_Pos) -#define AES_CTRLB_GFMUL_Pos 3 /**< \brief (AES_CTRLB) GF Multiplication */ -#define AES_CTRLB_GFMUL (_U_(0x1) << AES_CTRLB_GFMUL_Pos) -#define AES_CTRLB_MASK _U_(0x0F) /**< \brief (AES_CTRLB) MASK Register */ - -/* -------- AES_INTENCLR : (AES Offset: 0x05) (R/W 8) Interrupt Enable Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t ENCCMP:1; /*!< bit: 0 Encryption Complete Interrupt Enable */ - uint8_t GFMCMP:1; /*!< bit: 1 GF Multiplication Complete Interrupt Enable */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AES_INTENCLR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_INTENCLR_OFFSET 0x05 /**< \brief (AES_INTENCLR offset) Interrupt Enable Clear */ -#define AES_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (AES_INTENCLR reset_value) Interrupt Enable Clear */ - -#define AES_INTENCLR_ENCCMP_Pos 0 /**< \brief (AES_INTENCLR) Encryption Complete Interrupt Enable */ -#define AES_INTENCLR_ENCCMP (_U_(0x1) << AES_INTENCLR_ENCCMP_Pos) -#define AES_INTENCLR_GFMCMP_Pos 1 /**< \brief (AES_INTENCLR) GF Multiplication Complete Interrupt Enable */ -#define AES_INTENCLR_GFMCMP (_U_(0x1) << AES_INTENCLR_GFMCMP_Pos) -#define AES_INTENCLR_MASK _U_(0x03) /**< \brief (AES_INTENCLR) MASK Register */ - -/* -------- AES_INTENSET : (AES Offset: 0x06) (R/W 8) Interrupt Enable Set -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t ENCCMP:1; /*!< bit: 0 Encryption Complete Interrupt Enable */ - uint8_t GFMCMP:1; /*!< bit: 1 GF Multiplication Complete Interrupt Enable */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AES_INTENSET_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_INTENSET_OFFSET 0x06 /**< \brief (AES_INTENSET offset) Interrupt Enable Set */ -#define AES_INTENSET_RESETVALUE _U_(0x00) /**< \brief (AES_INTENSET reset_value) Interrupt Enable Set */ - -#define AES_INTENSET_ENCCMP_Pos 0 /**< \brief (AES_INTENSET) Encryption Complete Interrupt Enable */ -#define AES_INTENSET_ENCCMP (_U_(0x1) << AES_INTENSET_ENCCMP_Pos) -#define AES_INTENSET_GFMCMP_Pos 1 /**< \brief (AES_INTENSET) GF Multiplication Complete Interrupt Enable */ -#define AES_INTENSET_GFMCMP (_U_(0x1) << AES_INTENSET_GFMCMP_Pos) -#define AES_INTENSET_MASK _U_(0x03) /**< \brief (AES_INTENSET) MASK Register */ - -/* -------- AES_INTFLAG : (AES Offset: 0x07) (R/W 8) Interrupt Flag Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { // __I to avoid read-modify-write on write-to-clear register - struct { - __I uint8_t ENCCMP:1; /*!< bit: 0 Encryption Complete */ - __I uint8_t GFMCMP:1; /*!< bit: 1 GF Multiplication Complete */ - __I uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AES_INTFLAG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_INTFLAG_OFFSET 0x07 /**< \brief (AES_INTFLAG offset) Interrupt Flag Status */ -#define AES_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (AES_INTFLAG reset_value) Interrupt Flag Status */ - -#define AES_INTFLAG_ENCCMP_Pos 0 /**< \brief (AES_INTFLAG) Encryption Complete */ -#define AES_INTFLAG_ENCCMP (_U_(0x1) << AES_INTFLAG_ENCCMP_Pos) -#define AES_INTFLAG_GFMCMP_Pos 1 /**< \brief (AES_INTFLAG) GF Multiplication Complete */ -#define AES_INTFLAG_GFMCMP (_U_(0x1) << AES_INTFLAG_GFMCMP_Pos) -#define AES_INTFLAG_MASK _U_(0x03) /**< \brief (AES_INTFLAG) MASK Register */ - -/* -------- AES_DATABUFPTR : (AES Offset: 0x08) (R/W 8) Data buffer pointer -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t INDATAPTR:2; /*!< bit: 0.. 1 Input Data Pointer */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AES_DATABUFPTR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_DATABUFPTR_OFFSET 0x08 /**< \brief (AES_DATABUFPTR offset) Data buffer pointer */ -#define AES_DATABUFPTR_RESETVALUE _U_(0x00) /**< \brief (AES_DATABUFPTR reset_value) Data buffer pointer */ - -#define AES_DATABUFPTR_INDATAPTR_Pos 0 /**< \brief (AES_DATABUFPTR) Input Data Pointer */ -#define AES_DATABUFPTR_INDATAPTR_Msk (_U_(0x3) << AES_DATABUFPTR_INDATAPTR_Pos) -#define AES_DATABUFPTR_INDATAPTR(value) (AES_DATABUFPTR_INDATAPTR_Msk & ((value) << AES_DATABUFPTR_INDATAPTR_Pos)) -#define AES_DATABUFPTR_MASK _U_(0x03) /**< \brief (AES_DATABUFPTR) MASK Register */ - -/* -------- AES_DBGCTRL : (AES Offset: 0x09) (R/W 8) Debug control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ - uint8_t :7; /*!< bit: 1.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} AES_DBGCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_DBGCTRL_OFFSET 0x09 /**< \brief (AES_DBGCTRL offset) Debug control */ -#define AES_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (AES_DBGCTRL reset_value) Debug control */ - -#define AES_DBGCTRL_DBGRUN_Pos 0 /**< \brief (AES_DBGCTRL) Debug Run */ -#define AES_DBGCTRL_DBGRUN (_U_(0x1) << AES_DBGCTRL_DBGRUN_Pos) -#define AES_DBGCTRL_MASK _U_(0x01) /**< \brief (AES_DBGCTRL) MASK Register */ - -/* -------- AES_KEYWORD : (AES Offset: 0x0C) ( /W 32) Keyword n -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - uint32_t reg; /*!< Type used for register access */ -} AES_KEYWORD_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_KEYWORD_OFFSET 0x0C /**< \brief (AES_KEYWORD offset) Keyword n */ -#define AES_KEYWORD_RESETVALUE _U_(0x00000000) /**< \brief (AES_KEYWORD reset_value) Keyword n */ -#define AES_KEYWORD_MASK _U_(0xFFFFFFFF) /**< \brief (AES_KEYWORD) MASK Register */ - -/* -------- AES_INDATA : (AES Offset: 0x38) (R/W 32) Indata -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - uint32_t reg; /*!< Type used for register access */ -} AES_INDATA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_INDATA_OFFSET 0x38 /**< \brief (AES_INDATA offset) Indata */ -#define AES_INDATA_RESETVALUE _U_(0x00000000) /**< \brief (AES_INDATA reset_value) Indata */ -#define AES_INDATA_MASK _U_(0xFFFFFFFF) /**< \brief (AES_INDATA) MASK Register */ - -/* -------- AES_INTVECTV : (AES Offset: 0x3C) ( /W 32) Initialisation Vector n -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - uint32_t reg; /*!< Type used for register access */ -} AES_INTVECTV_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_INTVECTV_OFFSET 0x3C /**< \brief (AES_INTVECTV offset) Initialisation Vector n */ -#define AES_INTVECTV_RESETVALUE _U_(0x00000000) /**< \brief (AES_INTVECTV reset_value) Initialisation Vector n */ -#define AES_INTVECTV_MASK _U_(0xFFFFFFFF) /**< \brief (AES_INTVECTV) MASK Register */ - -/* -------- AES_HASHKEY : (AES Offset: 0x5C) (R/W 32) Hash key n -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - uint32_t reg; /*!< Type used for register access */ -} AES_HASHKEY_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_HASHKEY_OFFSET 0x5C /**< \brief (AES_HASHKEY offset) Hash key n */ -#define AES_HASHKEY_RESETVALUE _U_(0x00000000) /**< \brief (AES_HASHKEY reset_value) Hash key n */ -#define AES_HASHKEY_MASK _U_(0xFFFFFFFF) /**< \brief (AES_HASHKEY) MASK Register */ - -/* -------- AES_GHASH : (AES Offset: 0x6C) (R/W 32) Galois Hash n -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - uint32_t reg; /*!< Type used for register access */ -} AES_GHASH_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_GHASH_OFFSET 0x6C /**< \brief (AES_GHASH offset) Galois Hash n */ -#define AES_GHASH_RESETVALUE _U_(0x00000000) /**< \brief (AES_GHASH reset_value) Galois Hash n */ -#define AES_GHASH_MASK _U_(0xFFFFFFFF) /**< \brief (AES_GHASH) MASK Register */ - -/* -------- AES_CIPLEN : (AES Offset: 0x80) (R/W 32) Cipher Length -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - uint32_t reg; /*!< Type used for register access */ -} AES_CIPLEN_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_CIPLEN_OFFSET 0x80 /**< \brief (AES_CIPLEN offset) Cipher Length */ -#define AES_CIPLEN_RESETVALUE _U_(0x00000000) /**< \brief (AES_CIPLEN reset_value) Cipher Length */ -#define AES_CIPLEN_MASK _U_(0xFFFFFFFF) /**< \brief (AES_CIPLEN) MASK Register */ - -/* -------- AES_RANDSEED : (AES Offset: 0x84) (R/W 32) Random Seed -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - uint32_t reg; /*!< Type used for register access */ -} AES_RANDSEED_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define AES_RANDSEED_OFFSET 0x84 /**< \brief (AES_RANDSEED offset) Random Seed */ -#define AES_RANDSEED_RESETVALUE _U_(0x00000000) /**< \brief (AES_RANDSEED reset_value) Random Seed */ -#define AES_RANDSEED_MASK _U_(0xFFFFFFFF) /**< \brief (AES_RANDSEED) MASK Register */ - -/** \brief AES hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO AES_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 32) Control A */ - __IO AES_CTRLB_Type CTRLB; /**< \brief Offset: 0x04 (R/W 8) Control B */ - __IO AES_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x05 (R/W 8) Interrupt Enable Clear */ - __IO AES_INTENSET_Type INTENSET; /**< \brief Offset: 0x06 (R/W 8) Interrupt Enable Set */ - __IO AES_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x07 (R/W 8) Interrupt Flag Status */ - __IO AES_DATABUFPTR_Type DATABUFPTR; /**< \brief Offset: 0x08 (R/W 8) Data buffer pointer */ - __IO AES_DBGCTRL_Type DBGCTRL; /**< \brief Offset: 0x09 (R/W 8) Debug control */ - RoReg8 Reserved1[0x2]; - __O AES_KEYWORD_Type KEYWORD[8]; /**< \brief Offset: 0x0C ( /W 32) Keyword n */ - RoReg8 Reserved2[0xC]; - __IO AES_INDATA_Type INDATA; /**< \brief Offset: 0x38 (R/W 32) Indata */ - __O AES_INTVECTV_Type INTVECTV[4]; /**< \brief Offset: 0x3C ( /W 32) Initialisation Vector n */ - RoReg8 Reserved3[0x10]; - __IO AES_HASHKEY_Type HASHKEY[4]; /**< \brief Offset: 0x5C (R/W 32) Hash key n */ - __IO AES_GHASH_Type GHASH[4]; /**< \brief Offset: 0x6C (R/W 32) Galois Hash n */ - RoReg8 Reserved4[0x4]; - __IO AES_CIPLEN_Type CIPLEN; /**< \brief Offset: 0x80 (R/W 32) Cipher Length */ - __IO AES_RANDSEED_Type RANDSEED; /**< \brief Offset: 0x84 (R/W 32) Random Seed */ -} Aes; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/*@}*/ - -#endif /* _SAME54_AES_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/include/component/can.h b/software/firmware/oracle_same54n19a/include/component/can.h deleted file mode 100644 index 48b3cab..0000000 --- a/software/firmware/oracle_same54n19a/include/component/can.h +++ /dev/null @@ -1,3187 +0,0 @@ -/** - * \file - * - * \brief Component description for CAN - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_CAN_COMPONENT_ -#define _SAME54_CAN_COMPONENT_ - -/* ========================================================================== */ -/** SOFTWARE API DEFINITION FOR CAN */ -/* ========================================================================== */ -/** \addtogroup SAME54_CAN Control Area Network */ -/*@{*/ - -#define CAN_U2003 -#define REV_CAN 0x321 - -/* -------- CAN_CREL : (CAN Offset: 0x00) (R/ 32) Core Release -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t :20; /*!< bit: 0..19 Reserved */ - uint32_t SUBSTEP:4; /*!< bit: 20..23 Sub-step of Core Release */ - uint32_t STEP:4; /*!< bit: 24..27 Step of Core Release */ - uint32_t REL:4; /*!< bit: 28..31 Core Release */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_CREL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_CREL_OFFSET 0x00 /**< \brief (CAN_CREL offset) Core Release */ -#define CAN_CREL_RESETVALUE _U_(0x32100000) /**< \brief (CAN_CREL reset_value) Core Release */ - -#define CAN_CREL_SUBSTEP_Pos 20 /**< \brief (CAN_CREL) Sub-step of Core Release */ -#define CAN_CREL_SUBSTEP_Msk (_U_(0xF) << CAN_CREL_SUBSTEP_Pos) -#define CAN_CREL_SUBSTEP(value) (CAN_CREL_SUBSTEP_Msk & ((value) << CAN_CREL_SUBSTEP_Pos)) -#define CAN_CREL_STEP_Pos 24 /**< \brief (CAN_CREL) Step of Core Release */ -#define CAN_CREL_STEP_Msk (_U_(0xF) << CAN_CREL_STEP_Pos) -#define CAN_CREL_STEP(value) (CAN_CREL_STEP_Msk & ((value) << CAN_CREL_STEP_Pos)) -#define CAN_CREL_REL_Pos 28 /**< \brief (CAN_CREL) Core Release */ -#define CAN_CREL_REL_Msk (_U_(0xF) << CAN_CREL_REL_Pos) -#define CAN_CREL_REL(value) (CAN_CREL_REL_Msk & ((value) << CAN_CREL_REL_Pos)) -#define CAN_CREL_MASK _U_(0xFFF00000) /**< \brief (CAN_CREL) MASK Register */ - -/* -------- CAN_ENDN : (CAN Offset: 0x04) (R/ 32) Endian -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ETV:32; /*!< bit: 0..31 Endianness Test Value */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_ENDN_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_ENDN_OFFSET 0x04 /**< \brief (CAN_ENDN offset) Endian */ -#define CAN_ENDN_RESETVALUE _U_(0x87654321) /**< \brief (CAN_ENDN reset_value) Endian */ - -#define CAN_ENDN_ETV_Pos 0 /**< \brief (CAN_ENDN) Endianness Test Value */ -#define CAN_ENDN_ETV_Msk (_U_(0xFFFFFFFF) << CAN_ENDN_ETV_Pos) -#define CAN_ENDN_ETV(value) (CAN_ENDN_ETV_Msk & ((value) << CAN_ENDN_ETV_Pos)) -#define CAN_ENDN_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_ENDN) MASK Register */ - -/* -------- CAN_MRCFG : (CAN Offset: 0x08) (R/W 32) Message RAM Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t QOS:2; /*!< bit: 0.. 1 Quality of Service */ - uint32_t :30; /*!< bit: 2..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_MRCFG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_MRCFG_OFFSET 0x08 /**< \brief (CAN_MRCFG offset) Message RAM Configuration */ -#define CAN_MRCFG_RESETVALUE _U_(0x00000002) /**< \brief (CAN_MRCFG reset_value) Message RAM Configuration */ - -#define CAN_MRCFG_QOS_Pos 0 /**< \brief (CAN_MRCFG) Quality of Service */ -#define CAN_MRCFG_QOS_Msk (_U_(0x3) << CAN_MRCFG_QOS_Pos) -#define CAN_MRCFG_QOS(value) (CAN_MRCFG_QOS_Msk & ((value) << CAN_MRCFG_QOS_Pos)) -#define CAN_MRCFG_QOS_DISABLE_Val _U_(0x0) /**< \brief (CAN_MRCFG) Background (no sensitive operation) */ -#define CAN_MRCFG_QOS_LOW_Val _U_(0x1) /**< \brief (CAN_MRCFG) Sensitive Bandwidth */ -#define CAN_MRCFG_QOS_MEDIUM_Val _U_(0x2) /**< \brief (CAN_MRCFG) Sensitive Latency */ -#define CAN_MRCFG_QOS_HIGH_Val _U_(0x3) /**< \brief (CAN_MRCFG) Critical Latency */ -#define CAN_MRCFG_QOS_DISABLE (CAN_MRCFG_QOS_DISABLE_Val << CAN_MRCFG_QOS_Pos) -#define CAN_MRCFG_QOS_LOW (CAN_MRCFG_QOS_LOW_Val << CAN_MRCFG_QOS_Pos) -#define CAN_MRCFG_QOS_MEDIUM (CAN_MRCFG_QOS_MEDIUM_Val << CAN_MRCFG_QOS_Pos) -#define CAN_MRCFG_QOS_HIGH (CAN_MRCFG_QOS_HIGH_Val << CAN_MRCFG_QOS_Pos) -#define CAN_MRCFG_MASK _U_(0x00000003) /**< \brief (CAN_MRCFG) MASK Register */ - -/* -------- CAN_DBTP : (CAN Offset: 0x0C) (R/W 32) Fast Bit Timing and Prescaler -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t DSJW:4; /*!< bit: 0.. 3 Data (Re)Synchronization Jump Width */ - uint32_t DTSEG2:4; /*!< bit: 4.. 7 Data time segment after sample point */ - uint32_t DTSEG1:5; /*!< bit: 8..12 Data time segment before sample point */ - uint32_t :3; /*!< bit: 13..15 Reserved */ - uint32_t DBRP:5; /*!< bit: 16..20 Data Baud Rate Prescaler */ - uint32_t :2; /*!< bit: 21..22 Reserved */ - uint32_t TDC:1; /*!< bit: 23 Tranceiver Delay Compensation */ - uint32_t :8; /*!< bit: 24..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_DBTP_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_DBTP_OFFSET 0x0C /**< \brief (CAN_DBTP offset) Fast Bit Timing and Prescaler */ -#define CAN_DBTP_RESETVALUE _U_(0x00000A33) /**< \brief (CAN_DBTP reset_value) Fast Bit Timing and Prescaler */ - -#define CAN_DBTP_DSJW_Pos 0 /**< \brief (CAN_DBTP) Data (Re)Synchronization Jump Width */ -#define CAN_DBTP_DSJW_Msk (_U_(0xF) << CAN_DBTP_DSJW_Pos) -#define CAN_DBTP_DSJW(value) (CAN_DBTP_DSJW_Msk & ((value) << CAN_DBTP_DSJW_Pos)) -#define CAN_DBTP_DTSEG2_Pos 4 /**< \brief (CAN_DBTP) Data time segment after sample point */ -#define CAN_DBTP_DTSEG2_Msk (_U_(0xF) << CAN_DBTP_DTSEG2_Pos) -#define CAN_DBTP_DTSEG2(value) (CAN_DBTP_DTSEG2_Msk & ((value) << CAN_DBTP_DTSEG2_Pos)) -#define CAN_DBTP_DTSEG1_Pos 8 /**< \brief (CAN_DBTP) Data time segment before sample point */ -#define CAN_DBTP_DTSEG1_Msk (_U_(0x1F) << CAN_DBTP_DTSEG1_Pos) -#define CAN_DBTP_DTSEG1(value) (CAN_DBTP_DTSEG1_Msk & ((value) << CAN_DBTP_DTSEG1_Pos)) -#define CAN_DBTP_DBRP_Pos 16 /**< \brief (CAN_DBTP) Data Baud Rate Prescaler */ -#define CAN_DBTP_DBRP_Msk (_U_(0x1F) << CAN_DBTP_DBRP_Pos) -#define CAN_DBTP_DBRP(value) (CAN_DBTP_DBRP_Msk & ((value) << CAN_DBTP_DBRP_Pos)) -#define CAN_DBTP_TDC_Pos 23 /**< \brief (CAN_DBTP) Tranceiver Delay Compensation */ -#define CAN_DBTP_TDC (_U_(0x1) << CAN_DBTP_TDC_Pos) -#define CAN_DBTP_MASK _U_(0x009F1FFF) /**< \brief (CAN_DBTP) MASK Register */ - -/* -------- CAN_TEST : (CAN Offset: 0x10) (R/W 32) Test -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t :4; /*!< bit: 0.. 3 Reserved */ - uint32_t LBCK:1; /*!< bit: 4 Loop Back Mode */ - uint32_t TX:2; /*!< bit: 5.. 6 Control of Transmit Pin */ - uint32_t RX:1; /*!< bit: 7 Receive Pin */ - uint32_t :24; /*!< bit: 8..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TEST_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TEST_OFFSET 0x10 /**< \brief (CAN_TEST offset) Test */ -#define CAN_TEST_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TEST reset_value) Test */ - -#define CAN_TEST_LBCK_Pos 4 /**< \brief (CAN_TEST) Loop Back Mode */ -#define CAN_TEST_LBCK (_U_(0x1) << CAN_TEST_LBCK_Pos) -#define CAN_TEST_TX_Pos 5 /**< \brief (CAN_TEST) Control of Transmit Pin */ -#define CAN_TEST_TX_Msk (_U_(0x3) << CAN_TEST_TX_Pos) -#define CAN_TEST_TX(value) (CAN_TEST_TX_Msk & ((value) << CAN_TEST_TX_Pos)) -#define CAN_TEST_TX_CORE_Val _U_(0x0) /**< \brief (CAN_TEST) TX controlled by CAN core */ -#define CAN_TEST_TX_SAMPLE_Val _U_(0x1) /**< \brief (CAN_TEST) TX monitoring sample point */ -#define CAN_TEST_TX_DOMINANT_Val _U_(0x2) /**< \brief (CAN_TEST) Dominant (0) level at pin CAN_TX */ -#define CAN_TEST_TX_RECESSIVE_Val _U_(0x3) /**< \brief (CAN_TEST) Recessive (1) level at pin CAN_TX */ -#define CAN_TEST_TX_CORE (CAN_TEST_TX_CORE_Val << CAN_TEST_TX_Pos) -#define CAN_TEST_TX_SAMPLE (CAN_TEST_TX_SAMPLE_Val << CAN_TEST_TX_Pos) -#define CAN_TEST_TX_DOMINANT (CAN_TEST_TX_DOMINANT_Val << CAN_TEST_TX_Pos) -#define CAN_TEST_TX_RECESSIVE (CAN_TEST_TX_RECESSIVE_Val << CAN_TEST_TX_Pos) -#define CAN_TEST_RX_Pos 7 /**< \brief (CAN_TEST) Receive Pin */ -#define CAN_TEST_RX (_U_(0x1) << CAN_TEST_RX_Pos) -#define CAN_TEST_MASK _U_(0x000000F0) /**< \brief (CAN_TEST) MASK Register */ - -/* -------- CAN_RWD : (CAN Offset: 0x14) (R/W 32) RAM Watchdog -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t WDC:8; /*!< bit: 0.. 7 Watchdog Configuration */ - uint32_t WDV:8; /*!< bit: 8..15 Watchdog Value */ - uint32_t :16; /*!< bit: 16..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RWD_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RWD_OFFSET 0x14 /**< \brief (CAN_RWD offset) RAM Watchdog */ -#define CAN_RWD_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RWD reset_value) RAM Watchdog */ - -#define CAN_RWD_WDC_Pos 0 /**< \brief (CAN_RWD) Watchdog Configuration */ -#define CAN_RWD_WDC_Msk (_U_(0xFF) << CAN_RWD_WDC_Pos) -#define CAN_RWD_WDC(value) (CAN_RWD_WDC_Msk & ((value) << CAN_RWD_WDC_Pos)) -#define CAN_RWD_WDV_Pos 8 /**< \brief (CAN_RWD) Watchdog Value */ -#define CAN_RWD_WDV_Msk (_U_(0xFF) << CAN_RWD_WDV_Pos) -#define CAN_RWD_WDV(value) (CAN_RWD_WDV_Msk & ((value) << CAN_RWD_WDV_Pos)) -#define CAN_RWD_MASK _U_(0x0000FFFF) /**< \brief (CAN_RWD) MASK Register */ - -/* -------- CAN_CCCR : (CAN Offset: 0x18) (R/W 32) CC Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t INIT:1; /*!< bit: 0 Initialization */ - uint32_t CCE:1; /*!< bit: 1 Configuration Change Enable */ - uint32_t ASM:1; /*!< bit: 2 ASM Restricted Operation Mode */ - uint32_t CSA:1; /*!< bit: 3 Clock Stop Acknowledge */ - uint32_t CSR:1; /*!< bit: 4 Clock Stop Request */ - uint32_t MON:1; /*!< bit: 5 Bus Monitoring Mode */ - uint32_t DAR:1; /*!< bit: 6 Disable Automatic Retransmission */ - uint32_t TEST:1; /*!< bit: 7 Test Mode Enable */ - uint32_t FDOE:1; /*!< bit: 8 FD Operation Enable */ - uint32_t BRSE:1; /*!< bit: 9 Bit Rate Switch Enable */ - uint32_t :2; /*!< bit: 10..11 Reserved */ - uint32_t PXHD:1; /*!< bit: 12 Protocol Exception Handling Disable */ - uint32_t EFBI:1; /*!< bit: 13 Edge Filtering during Bus Integration */ - uint32_t TXP:1; /*!< bit: 14 Transmit Pause */ - uint32_t NISO:1; /*!< bit: 15 Non ISO Operation */ - uint32_t :16; /*!< bit: 16..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_CCCR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_CCCR_OFFSET 0x18 /**< \brief (CAN_CCCR offset) CC Control */ -#define CAN_CCCR_RESETVALUE _U_(0x00000001) /**< \brief (CAN_CCCR reset_value) CC Control */ - -#define CAN_CCCR_INIT_Pos 0 /**< \brief (CAN_CCCR) Initialization */ -#define CAN_CCCR_INIT (_U_(0x1) << CAN_CCCR_INIT_Pos) -#define CAN_CCCR_CCE_Pos 1 /**< \brief (CAN_CCCR) Configuration Change Enable */ -#define CAN_CCCR_CCE (_U_(0x1) << CAN_CCCR_CCE_Pos) -#define CAN_CCCR_ASM_Pos 2 /**< \brief (CAN_CCCR) ASM Restricted Operation Mode */ -#define CAN_CCCR_ASM (_U_(0x1) << CAN_CCCR_ASM_Pos) -#define CAN_CCCR_CSA_Pos 3 /**< \brief (CAN_CCCR) Clock Stop Acknowledge */ -#define CAN_CCCR_CSA (_U_(0x1) << CAN_CCCR_CSA_Pos) -#define CAN_CCCR_CSR_Pos 4 /**< \brief (CAN_CCCR) Clock Stop Request */ -#define CAN_CCCR_CSR (_U_(0x1) << CAN_CCCR_CSR_Pos) -#define CAN_CCCR_MON_Pos 5 /**< \brief (CAN_CCCR) Bus Monitoring Mode */ -#define CAN_CCCR_MON (_U_(0x1) << CAN_CCCR_MON_Pos) -#define CAN_CCCR_DAR_Pos 6 /**< \brief (CAN_CCCR) Disable Automatic Retransmission */ -#define CAN_CCCR_DAR (_U_(0x1) << CAN_CCCR_DAR_Pos) -#define CAN_CCCR_TEST_Pos 7 /**< \brief (CAN_CCCR) Test Mode Enable */ -#define CAN_CCCR_TEST (_U_(0x1) << CAN_CCCR_TEST_Pos) -#define CAN_CCCR_FDOE_Pos 8 /**< \brief (CAN_CCCR) FD Operation Enable */ -#define CAN_CCCR_FDOE (_U_(0x1) << CAN_CCCR_FDOE_Pos) -#define CAN_CCCR_BRSE_Pos 9 /**< \brief (CAN_CCCR) Bit Rate Switch Enable */ -#define CAN_CCCR_BRSE (_U_(0x1) << CAN_CCCR_BRSE_Pos) -#define CAN_CCCR_PXHD_Pos 12 /**< \brief (CAN_CCCR) Protocol Exception Handling Disable */ -#define CAN_CCCR_PXHD (_U_(0x1) << CAN_CCCR_PXHD_Pos) -#define CAN_CCCR_EFBI_Pos 13 /**< \brief (CAN_CCCR) Edge Filtering during Bus Integration */ -#define CAN_CCCR_EFBI (_U_(0x1) << CAN_CCCR_EFBI_Pos) -#define CAN_CCCR_TXP_Pos 14 /**< \brief (CAN_CCCR) Transmit Pause */ -#define CAN_CCCR_TXP (_U_(0x1) << CAN_CCCR_TXP_Pos) -#define CAN_CCCR_NISO_Pos 15 /**< \brief (CAN_CCCR) Non ISO Operation */ -#define CAN_CCCR_NISO (_U_(0x1) << CAN_CCCR_NISO_Pos) -#define CAN_CCCR_MASK _U_(0x0000F3FF) /**< \brief (CAN_CCCR) MASK Register */ - -/* -------- CAN_NBTP : (CAN Offset: 0x1C) (R/W 32) Nominal Bit Timing and Prescaler -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t NTSEG2:7; /*!< bit: 0.. 6 Nominal Time segment after sample point */ - uint32_t :1; /*!< bit: 7 Reserved */ - uint32_t NTSEG1:8; /*!< bit: 8..15 Nominal Time segment before sample point */ - uint32_t NBRP:9; /*!< bit: 16..24 Nominal Baud Rate Prescaler */ - uint32_t NSJW:7; /*!< bit: 25..31 Nominal (Re)Synchronization Jump Width */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_NBTP_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_NBTP_OFFSET 0x1C /**< \brief (CAN_NBTP offset) Nominal Bit Timing and Prescaler */ -#define CAN_NBTP_RESETVALUE _U_(0x06000A03) /**< \brief (CAN_NBTP reset_value) Nominal Bit Timing and Prescaler */ - -#define CAN_NBTP_NTSEG2_Pos 0 /**< \brief (CAN_NBTP) Nominal Time segment after sample point */ -#define CAN_NBTP_NTSEG2_Msk (_U_(0x7F) << CAN_NBTP_NTSEG2_Pos) -#define CAN_NBTP_NTSEG2(value) (CAN_NBTP_NTSEG2_Msk & ((value) << CAN_NBTP_NTSEG2_Pos)) -#define CAN_NBTP_NTSEG1_Pos 8 /**< \brief (CAN_NBTP) Nominal Time segment before sample point */ -#define CAN_NBTP_NTSEG1_Msk (_U_(0xFF) << CAN_NBTP_NTSEG1_Pos) -#define CAN_NBTP_NTSEG1(value) (CAN_NBTP_NTSEG1_Msk & ((value) << CAN_NBTP_NTSEG1_Pos)) -#define CAN_NBTP_NBRP_Pos 16 /**< \brief (CAN_NBTP) Nominal Baud Rate Prescaler */ -#define CAN_NBTP_NBRP_Msk (_U_(0x1FF) << CAN_NBTP_NBRP_Pos) -#define CAN_NBTP_NBRP(value) (CAN_NBTP_NBRP_Msk & ((value) << CAN_NBTP_NBRP_Pos)) -#define CAN_NBTP_NSJW_Pos 25 /**< \brief (CAN_NBTP) Nominal (Re)Synchronization Jump Width */ -#define CAN_NBTP_NSJW_Msk (_U_(0x7F) << CAN_NBTP_NSJW_Pos) -#define CAN_NBTP_NSJW(value) (CAN_NBTP_NSJW_Msk & ((value) << CAN_NBTP_NSJW_Pos)) -#define CAN_NBTP_MASK _U_(0xFFFFFF7F) /**< \brief (CAN_NBTP) MASK Register */ - -/* -------- CAN_TSCC : (CAN Offset: 0x20) (R/W 32) Timestamp Counter Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TSS:2; /*!< bit: 0.. 1 Timestamp Select */ - uint32_t :14; /*!< bit: 2..15 Reserved */ - uint32_t TCP:4; /*!< bit: 16..19 Timestamp Counter Prescaler */ - uint32_t :12; /*!< bit: 20..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TSCC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TSCC_OFFSET 0x20 /**< \brief (CAN_TSCC offset) Timestamp Counter Configuration */ -#define CAN_TSCC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TSCC reset_value) Timestamp Counter Configuration */ - -#define CAN_TSCC_TSS_Pos 0 /**< \brief (CAN_TSCC) Timestamp Select */ -#define CAN_TSCC_TSS_Msk (_U_(0x3) << CAN_TSCC_TSS_Pos) -#define CAN_TSCC_TSS(value) (CAN_TSCC_TSS_Msk & ((value) << CAN_TSCC_TSS_Pos)) -#define CAN_TSCC_TSS_ZERO_Val _U_(0x0) /**< \brief (CAN_TSCC) Timestamp counter value always 0x0000 */ -#define CAN_TSCC_TSS_INC_Val _U_(0x1) /**< \brief (CAN_TSCC) Timestamp counter value incremented by TCP */ -#define CAN_TSCC_TSS_EXT_Val _U_(0x2) /**< \brief (CAN_TSCC) External timestamp counter value used */ -#define CAN_TSCC_TSS_ZERO (CAN_TSCC_TSS_ZERO_Val << CAN_TSCC_TSS_Pos) -#define CAN_TSCC_TSS_INC (CAN_TSCC_TSS_INC_Val << CAN_TSCC_TSS_Pos) -#define CAN_TSCC_TSS_EXT (CAN_TSCC_TSS_EXT_Val << CAN_TSCC_TSS_Pos) -#define CAN_TSCC_TCP_Pos 16 /**< \brief (CAN_TSCC) Timestamp Counter Prescaler */ -#define CAN_TSCC_TCP_Msk (_U_(0xF) << CAN_TSCC_TCP_Pos) -#define CAN_TSCC_TCP(value) (CAN_TSCC_TCP_Msk & ((value) << CAN_TSCC_TCP_Pos)) -#define CAN_TSCC_MASK _U_(0x000F0003) /**< \brief (CAN_TSCC) MASK Register */ - -/* -------- CAN_TSCV : (CAN Offset: 0x24) (R/ 32) Timestamp Counter Value -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TSC:16; /*!< bit: 0..15 Timestamp Counter */ - uint32_t :16; /*!< bit: 16..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TSCV_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TSCV_OFFSET 0x24 /**< \brief (CAN_TSCV offset) Timestamp Counter Value */ -#define CAN_TSCV_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TSCV reset_value) Timestamp Counter Value */ - -#define CAN_TSCV_TSC_Pos 0 /**< \brief (CAN_TSCV) Timestamp Counter */ -#define CAN_TSCV_TSC_Msk (_U_(0xFFFF) << CAN_TSCV_TSC_Pos) -#define CAN_TSCV_TSC(value) (CAN_TSCV_TSC_Msk & ((value) << CAN_TSCV_TSC_Pos)) -#define CAN_TSCV_MASK _U_(0x0000FFFF) /**< \brief (CAN_TSCV) MASK Register */ - -/* -------- CAN_TOCC : (CAN Offset: 0x28) (R/W 32) Timeout Counter Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ETOC:1; /*!< bit: 0 Enable Timeout Counter */ - uint32_t TOS:2; /*!< bit: 1.. 2 Timeout Select */ - uint32_t :13; /*!< bit: 3..15 Reserved */ - uint32_t TOP:16; /*!< bit: 16..31 Timeout Period */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TOCC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TOCC_OFFSET 0x28 /**< \brief (CAN_TOCC offset) Timeout Counter Configuration */ -#define CAN_TOCC_RESETVALUE _U_(0xFFFF0000) /**< \brief (CAN_TOCC reset_value) Timeout Counter Configuration */ - -#define CAN_TOCC_ETOC_Pos 0 /**< \brief (CAN_TOCC) Enable Timeout Counter */ -#define CAN_TOCC_ETOC (_U_(0x1) << CAN_TOCC_ETOC_Pos) -#define CAN_TOCC_TOS_Pos 1 /**< \brief (CAN_TOCC) Timeout Select */ -#define CAN_TOCC_TOS_Msk (_U_(0x3) << CAN_TOCC_TOS_Pos) -#define CAN_TOCC_TOS(value) (CAN_TOCC_TOS_Msk & ((value) << CAN_TOCC_TOS_Pos)) -#define CAN_TOCC_TOS_CONT_Val _U_(0x0) /**< \brief (CAN_TOCC) Continuout operation */ -#define CAN_TOCC_TOS_TXEF_Val _U_(0x1) /**< \brief (CAN_TOCC) Timeout controlled by TX Event FIFO */ -#define CAN_TOCC_TOS_RXF0_Val _U_(0x2) /**< \brief (CAN_TOCC) Timeout controlled by Rx FIFO 0 */ -#define CAN_TOCC_TOS_RXF1_Val _U_(0x3) /**< \brief (CAN_TOCC) Timeout controlled by Rx FIFO 1 */ -#define CAN_TOCC_TOS_CONT (CAN_TOCC_TOS_CONT_Val << CAN_TOCC_TOS_Pos) -#define CAN_TOCC_TOS_TXEF (CAN_TOCC_TOS_TXEF_Val << CAN_TOCC_TOS_Pos) -#define CAN_TOCC_TOS_RXF0 (CAN_TOCC_TOS_RXF0_Val << CAN_TOCC_TOS_Pos) -#define CAN_TOCC_TOS_RXF1 (CAN_TOCC_TOS_RXF1_Val << CAN_TOCC_TOS_Pos) -#define CAN_TOCC_TOP_Pos 16 /**< \brief (CAN_TOCC) Timeout Period */ -#define CAN_TOCC_TOP_Msk (_U_(0xFFFF) << CAN_TOCC_TOP_Pos) -#define CAN_TOCC_TOP(value) (CAN_TOCC_TOP_Msk & ((value) << CAN_TOCC_TOP_Pos)) -#define CAN_TOCC_MASK _U_(0xFFFF0007) /**< \brief (CAN_TOCC) MASK Register */ - -/* -------- CAN_TOCV : (CAN Offset: 0x2C) (R/W 32) Timeout Counter Value -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TOC:16; /*!< bit: 0..15 Timeout Counter */ - uint32_t :16; /*!< bit: 16..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TOCV_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TOCV_OFFSET 0x2C /**< \brief (CAN_TOCV offset) Timeout Counter Value */ -#define CAN_TOCV_RESETVALUE _U_(0x0000FFFF) /**< \brief (CAN_TOCV reset_value) Timeout Counter Value */ - -#define CAN_TOCV_TOC_Pos 0 /**< \brief (CAN_TOCV) Timeout Counter */ -#define CAN_TOCV_TOC_Msk (_U_(0xFFFF) << CAN_TOCV_TOC_Pos) -#define CAN_TOCV_TOC(value) (CAN_TOCV_TOC_Msk & ((value) << CAN_TOCV_TOC_Pos)) -#define CAN_TOCV_MASK _U_(0x0000FFFF) /**< \brief (CAN_TOCV) MASK Register */ - -/* -------- CAN_ECR : (CAN Offset: 0x40) (R/ 32) Error Counter -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TEC:8; /*!< bit: 0.. 7 Transmit Error Counter */ - uint32_t REC:7; /*!< bit: 8..14 Receive Error Counter */ - uint32_t RP:1; /*!< bit: 15 Receive Error Passive */ - uint32_t CEL:8; /*!< bit: 16..23 CAN Error Logging */ - uint32_t :8; /*!< bit: 24..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_ECR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_ECR_OFFSET 0x40 /**< \brief (CAN_ECR offset) Error Counter */ -#define CAN_ECR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_ECR reset_value) Error Counter */ - -#define CAN_ECR_TEC_Pos 0 /**< \brief (CAN_ECR) Transmit Error Counter */ -#define CAN_ECR_TEC_Msk (_U_(0xFF) << CAN_ECR_TEC_Pos) -#define CAN_ECR_TEC(value) (CAN_ECR_TEC_Msk & ((value) << CAN_ECR_TEC_Pos)) -#define CAN_ECR_REC_Pos 8 /**< \brief (CAN_ECR) Receive Error Counter */ -#define CAN_ECR_REC_Msk (_U_(0x7F) << CAN_ECR_REC_Pos) -#define CAN_ECR_REC(value) (CAN_ECR_REC_Msk & ((value) << CAN_ECR_REC_Pos)) -#define CAN_ECR_RP_Pos 15 /**< \brief (CAN_ECR) Receive Error Passive */ -#define CAN_ECR_RP (_U_(0x1) << CAN_ECR_RP_Pos) -#define CAN_ECR_CEL_Pos 16 /**< \brief (CAN_ECR) CAN Error Logging */ -#define CAN_ECR_CEL_Msk (_U_(0xFF) << CAN_ECR_CEL_Pos) -#define CAN_ECR_CEL(value) (CAN_ECR_CEL_Msk & ((value) << CAN_ECR_CEL_Pos)) -#define CAN_ECR_MASK _U_(0x00FFFFFF) /**< \brief (CAN_ECR) MASK Register */ - -/* -------- CAN_PSR : (CAN Offset: 0x44) (R/ 32) Protocol Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t LEC:3; /*!< bit: 0.. 2 Last Error Code */ - uint32_t ACT:2; /*!< bit: 3.. 4 Activity */ - uint32_t EP:1; /*!< bit: 5 Error Passive */ - uint32_t EW:1; /*!< bit: 6 Warning Status */ - uint32_t BO:1; /*!< bit: 7 Bus_Off Status */ - uint32_t DLEC:3; /*!< bit: 8..10 Data Phase Last Error Code */ - uint32_t RESI:1; /*!< bit: 11 ESI flag of last received CAN FD Message */ - uint32_t RBRS:1; /*!< bit: 12 BRS flag of last received CAN FD Message */ - uint32_t RFDF:1; /*!< bit: 13 Received a CAN FD Message */ - uint32_t PXE:1; /*!< bit: 14 Protocol Exception Event */ - uint32_t :1; /*!< bit: 15 Reserved */ - uint32_t TDCV:7; /*!< bit: 16..22 Transmitter Delay Compensation Value */ - uint32_t :9; /*!< bit: 23..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_PSR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_PSR_OFFSET 0x44 /**< \brief (CAN_PSR offset) Protocol Status */ -#define CAN_PSR_RESETVALUE _U_(0x00000707) /**< \brief (CAN_PSR reset_value) Protocol Status */ - -#define CAN_PSR_LEC_Pos 0 /**< \brief (CAN_PSR) Last Error Code */ -#define CAN_PSR_LEC_Msk (_U_(0x7) << CAN_PSR_LEC_Pos) -#define CAN_PSR_LEC(value) (CAN_PSR_LEC_Msk & ((value) << CAN_PSR_LEC_Pos)) -#define CAN_PSR_LEC_NONE_Val _U_(0x0) /**< \brief (CAN_PSR) No Error */ -#define CAN_PSR_LEC_STUFF_Val _U_(0x1) /**< \brief (CAN_PSR) Stuff Error */ -#define CAN_PSR_LEC_FORM_Val _U_(0x2) /**< \brief (CAN_PSR) Form Error */ -#define CAN_PSR_LEC_ACK_Val _U_(0x3) /**< \brief (CAN_PSR) Ack Error */ -#define CAN_PSR_LEC_BIT1_Val _U_(0x4) /**< \brief (CAN_PSR) Bit1 Error */ -#define CAN_PSR_LEC_BIT0_Val _U_(0x5) /**< \brief (CAN_PSR) Bit0 Error */ -#define CAN_PSR_LEC_CRC_Val _U_(0x6) /**< \brief (CAN_PSR) CRC Error */ -#define CAN_PSR_LEC_NC_Val _U_(0x7) /**< \brief (CAN_PSR) No Change */ -#define CAN_PSR_LEC_NONE (CAN_PSR_LEC_NONE_Val << CAN_PSR_LEC_Pos) -#define CAN_PSR_LEC_STUFF (CAN_PSR_LEC_STUFF_Val << CAN_PSR_LEC_Pos) -#define CAN_PSR_LEC_FORM (CAN_PSR_LEC_FORM_Val << CAN_PSR_LEC_Pos) -#define CAN_PSR_LEC_ACK (CAN_PSR_LEC_ACK_Val << CAN_PSR_LEC_Pos) -#define CAN_PSR_LEC_BIT1 (CAN_PSR_LEC_BIT1_Val << CAN_PSR_LEC_Pos) -#define CAN_PSR_LEC_BIT0 (CAN_PSR_LEC_BIT0_Val << CAN_PSR_LEC_Pos) -#define CAN_PSR_LEC_CRC (CAN_PSR_LEC_CRC_Val << CAN_PSR_LEC_Pos) -#define CAN_PSR_LEC_NC (CAN_PSR_LEC_NC_Val << CAN_PSR_LEC_Pos) -#define CAN_PSR_ACT_Pos 3 /**< \brief (CAN_PSR) Activity */ -#define CAN_PSR_ACT_Msk (_U_(0x3) << CAN_PSR_ACT_Pos) -#define CAN_PSR_ACT(value) (CAN_PSR_ACT_Msk & ((value) << CAN_PSR_ACT_Pos)) -#define CAN_PSR_ACT_SYNC_Val _U_(0x0) /**< \brief (CAN_PSR) Node is synchronizing on CAN communication */ -#define CAN_PSR_ACT_IDLE_Val _U_(0x1) /**< \brief (CAN_PSR) Node is neither receiver nor transmitter */ -#define CAN_PSR_ACT_RX_Val _U_(0x2) /**< \brief (CAN_PSR) Node is operating as receiver */ -#define CAN_PSR_ACT_TX_Val _U_(0x3) /**< \brief (CAN_PSR) Node is operating as transmitter */ -#define CAN_PSR_ACT_SYNC (CAN_PSR_ACT_SYNC_Val << CAN_PSR_ACT_Pos) -#define CAN_PSR_ACT_IDLE (CAN_PSR_ACT_IDLE_Val << CAN_PSR_ACT_Pos) -#define CAN_PSR_ACT_RX (CAN_PSR_ACT_RX_Val << CAN_PSR_ACT_Pos) -#define CAN_PSR_ACT_TX (CAN_PSR_ACT_TX_Val << CAN_PSR_ACT_Pos) -#define CAN_PSR_EP_Pos 5 /**< \brief (CAN_PSR) Error Passive */ -#define CAN_PSR_EP (_U_(0x1) << CAN_PSR_EP_Pos) -#define CAN_PSR_EW_Pos 6 /**< \brief (CAN_PSR) Warning Status */ -#define CAN_PSR_EW (_U_(0x1) << CAN_PSR_EW_Pos) -#define CAN_PSR_BO_Pos 7 /**< \brief (CAN_PSR) Bus_Off Status */ -#define CAN_PSR_BO (_U_(0x1) << CAN_PSR_BO_Pos) -#define CAN_PSR_DLEC_Pos 8 /**< \brief (CAN_PSR) Data Phase Last Error Code */ -#define CAN_PSR_DLEC_Msk (_U_(0x7) << CAN_PSR_DLEC_Pos) -#define CAN_PSR_DLEC(value) (CAN_PSR_DLEC_Msk & ((value) << CAN_PSR_DLEC_Pos)) -#define CAN_PSR_DLEC_NONE_Val _U_(0x0) /**< \brief (CAN_PSR) No Error */ -#define CAN_PSR_DLEC_STUFF_Val _U_(0x1) /**< \brief (CAN_PSR) Stuff Error */ -#define CAN_PSR_DLEC_FORM_Val _U_(0x2) /**< \brief (CAN_PSR) Form Error */ -#define CAN_PSR_DLEC_ACK_Val _U_(0x3) /**< \brief (CAN_PSR) Ack Error */ -#define CAN_PSR_DLEC_BIT1_Val _U_(0x4) /**< \brief (CAN_PSR) Bit1 Error */ -#define CAN_PSR_DLEC_BIT0_Val _U_(0x5) /**< \brief (CAN_PSR) Bit0 Error */ -#define CAN_PSR_DLEC_CRC_Val _U_(0x6) /**< \brief (CAN_PSR) CRC Error */ -#define CAN_PSR_DLEC_NC_Val _U_(0x7) /**< \brief (CAN_PSR) No Change */ -#define CAN_PSR_DLEC_NONE (CAN_PSR_DLEC_NONE_Val << CAN_PSR_DLEC_Pos) -#define CAN_PSR_DLEC_STUFF (CAN_PSR_DLEC_STUFF_Val << CAN_PSR_DLEC_Pos) -#define CAN_PSR_DLEC_FORM (CAN_PSR_DLEC_FORM_Val << CAN_PSR_DLEC_Pos) -#define CAN_PSR_DLEC_ACK (CAN_PSR_DLEC_ACK_Val << CAN_PSR_DLEC_Pos) -#define CAN_PSR_DLEC_BIT1 (CAN_PSR_DLEC_BIT1_Val << CAN_PSR_DLEC_Pos) -#define CAN_PSR_DLEC_BIT0 (CAN_PSR_DLEC_BIT0_Val << CAN_PSR_DLEC_Pos) -#define CAN_PSR_DLEC_CRC (CAN_PSR_DLEC_CRC_Val << CAN_PSR_DLEC_Pos) -#define CAN_PSR_DLEC_NC (CAN_PSR_DLEC_NC_Val << CAN_PSR_DLEC_Pos) -#define CAN_PSR_RESI_Pos 11 /**< \brief (CAN_PSR) ESI flag of last received CAN FD Message */ -#define CAN_PSR_RESI (_U_(0x1) << CAN_PSR_RESI_Pos) -#define CAN_PSR_RBRS_Pos 12 /**< \brief (CAN_PSR) BRS flag of last received CAN FD Message */ -#define CAN_PSR_RBRS (_U_(0x1) << CAN_PSR_RBRS_Pos) -#define CAN_PSR_RFDF_Pos 13 /**< \brief (CAN_PSR) Received a CAN FD Message */ -#define CAN_PSR_RFDF (_U_(0x1) << CAN_PSR_RFDF_Pos) -#define CAN_PSR_PXE_Pos 14 /**< \brief (CAN_PSR) Protocol Exception Event */ -#define CAN_PSR_PXE (_U_(0x1) << CAN_PSR_PXE_Pos) -#define CAN_PSR_TDCV_Pos 16 /**< \brief (CAN_PSR) Transmitter Delay Compensation Value */ -#define CAN_PSR_TDCV_Msk (_U_(0x7F) << CAN_PSR_TDCV_Pos) -#define CAN_PSR_TDCV(value) (CAN_PSR_TDCV_Msk & ((value) << CAN_PSR_TDCV_Pos)) -#define CAN_PSR_MASK _U_(0x007F7FFF) /**< \brief (CAN_PSR) MASK Register */ - -/* -------- CAN_TDCR : (CAN Offset: 0x48) (R/W 32) Extended ID Filter Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TDCF:7; /*!< bit: 0.. 6 Transmitter Delay Compensation Filter Length */ - uint32_t :1; /*!< bit: 7 Reserved */ - uint32_t TDCO:7; /*!< bit: 8..14 Transmitter Delay Compensation Offset */ - uint32_t :17; /*!< bit: 15..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TDCR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TDCR_OFFSET 0x48 /**< \brief (CAN_TDCR offset) Extended ID Filter Configuration */ -#define CAN_TDCR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TDCR reset_value) Extended ID Filter Configuration */ - -#define CAN_TDCR_TDCF_Pos 0 /**< \brief (CAN_TDCR) Transmitter Delay Compensation Filter Length */ -#define CAN_TDCR_TDCF_Msk (_U_(0x7F) << CAN_TDCR_TDCF_Pos) -#define CAN_TDCR_TDCF(value) (CAN_TDCR_TDCF_Msk & ((value) << CAN_TDCR_TDCF_Pos)) -#define CAN_TDCR_TDCO_Pos 8 /**< \brief (CAN_TDCR) Transmitter Delay Compensation Offset */ -#define CAN_TDCR_TDCO_Msk (_U_(0x7F) << CAN_TDCR_TDCO_Pos) -#define CAN_TDCR_TDCO(value) (CAN_TDCR_TDCO_Msk & ((value) << CAN_TDCR_TDCO_Pos)) -#define CAN_TDCR_MASK _U_(0x00007F7F) /**< \brief (CAN_TDCR) MASK Register */ - -/* -------- CAN_IR : (CAN Offset: 0x50) (R/W 32) Interrupt -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t RF0N:1; /*!< bit: 0 Rx FIFO 0 New Message */ - uint32_t RF0W:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached */ - uint32_t RF0F:1; /*!< bit: 2 Rx FIFO 0 Full */ - uint32_t RF0L:1; /*!< bit: 3 Rx FIFO 0 Message Lost */ - uint32_t RF1N:1; /*!< bit: 4 Rx FIFO 1 New Message */ - uint32_t RF1W:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached */ - uint32_t RF1F:1; /*!< bit: 6 Rx FIFO 1 FIFO Full */ - uint32_t RF1L:1; /*!< bit: 7 Rx FIFO 1 Message Lost */ - uint32_t HPM:1; /*!< bit: 8 High Priority Message */ - uint32_t TC:1; /*!< bit: 9 Timestamp Completed */ - uint32_t TCF:1; /*!< bit: 10 Transmission Cancellation Finished */ - uint32_t TFE:1; /*!< bit: 11 Tx FIFO Empty */ - uint32_t TEFN:1; /*!< bit: 12 Tx Event FIFO New Entry */ - uint32_t TEFW:1; /*!< bit: 13 Tx Event FIFO Watermark Reached */ - uint32_t TEFF:1; /*!< bit: 14 Tx Event FIFO Full */ - uint32_t TEFL:1; /*!< bit: 15 Tx Event FIFO Element Lost */ - uint32_t TSW:1; /*!< bit: 16 Timestamp Wraparound */ - uint32_t MRAF:1; /*!< bit: 17 Message RAM Access Failure */ - uint32_t TOO:1; /*!< bit: 18 Timeout Occurred */ - uint32_t DRX:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer */ - uint32_t BEC:1; /*!< bit: 20 Bit Error Corrected */ - uint32_t BEU:1; /*!< bit: 21 Bit Error Uncorrected */ - uint32_t ELO:1; /*!< bit: 22 Error Logging Overflow */ - uint32_t EP:1; /*!< bit: 23 Error Passive */ - uint32_t EW:1; /*!< bit: 24 Warning Status */ - uint32_t BO:1; /*!< bit: 25 Bus_Off Status */ - uint32_t WDI:1; /*!< bit: 26 Watchdog Interrupt */ - uint32_t PEA:1; /*!< bit: 27 Protocol Error in Arbitration Phase */ - uint32_t PED:1; /*!< bit: 28 Protocol Error in Data Phase */ - uint32_t ARA:1; /*!< bit: 29 Access to Reserved Address */ - uint32_t :2; /*!< bit: 30..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_IR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_IR_OFFSET 0x50 /**< \brief (CAN_IR offset) Interrupt */ -#define CAN_IR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_IR reset_value) Interrupt */ - -#define CAN_IR_RF0N_Pos 0 /**< \brief (CAN_IR) Rx FIFO 0 New Message */ -#define CAN_IR_RF0N (_U_(0x1) << CAN_IR_RF0N_Pos) -#define CAN_IR_RF0W_Pos 1 /**< \brief (CAN_IR) Rx FIFO 0 Watermark Reached */ -#define CAN_IR_RF0W (_U_(0x1) << CAN_IR_RF0W_Pos) -#define CAN_IR_RF0F_Pos 2 /**< \brief (CAN_IR) Rx FIFO 0 Full */ -#define CAN_IR_RF0F (_U_(0x1) << CAN_IR_RF0F_Pos) -#define CAN_IR_RF0L_Pos 3 /**< \brief (CAN_IR) Rx FIFO 0 Message Lost */ -#define CAN_IR_RF0L (_U_(0x1) << CAN_IR_RF0L_Pos) -#define CAN_IR_RF1N_Pos 4 /**< \brief (CAN_IR) Rx FIFO 1 New Message */ -#define CAN_IR_RF1N (_U_(0x1) << CAN_IR_RF1N_Pos) -#define CAN_IR_RF1W_Pos 5 /**< \brief (CAN_IR) Rx FIFO 1 Watermark Reached */ -#define CAN_IR_RF1W (_U_(0x1) << CAN_IR_RF1W_Pos) -#define CAN_IR_RF1F_Pos 6 /**< \brief (CAN_IR) Rx FIFO 1 FIFO Full */ -#define CAN_IR_RF1F (_U_(0x1) << CAN_IR_RF1F_Pos) -#define CAN_IR_RF1L_Pos 7 /**< \brief (CAN_IR) Rx FIFO 1 Message Lost */ -#define CAN_IR_RF1L (_U_(0x1) << CAN_IR_RF1L_Pos) -#define CAN_IR_HPM_Pos 8 /**< \brief (CAN_IR) High Priority Message */ -#define CAN_IR_HPM (_U_(0x1) << CAN_IR_HPM_Pos) -#define CAN_IR_TC_Pos 9 /**< \brief (CAN_IR) Timestamp Completed */ -#define CAN_IR_TC (_U_(0x1) << CAN_IR_TC_Pos) -#define CAN_IR_TCF_Pos 10 /**< \brief (CAN_IR) Transmission Cancellation Finished */ -#define CAN_IR_TCF (_U_(0x1) << CAN_IR_TCF_Pos) -#define CAN_IR_TFE_Pos 11 /**< \brief (CAN_IR) Tx FIFO Empty */ -#define CAN_IR_TFE (_U_(0x1) << CAN_IR_TFE_Pos) -#define CAN_IR_TEFN_Pos 12 /**< \brief (CAN_IR) Tx Event FIFO New Entry */ -#define CAN_IR_TEFN (_U_(0x1) << CAN_IR_TEFN_Pos) -#define CAN_IR_TEFW_Pos 13 /**< \brief (CAN_IR) Tx Event FIFO Watermark Reached */ -#define CAN_IR_TEFW (_U_(0x1) << CAN_IR_TEFW_Pos) -#define CAN_IR_TEFF_Pos 14 /**< \brief (CAN_IR) Tx Event FIFO Full */ -#define CAN_IR_TEFF (_U_(0x1) << CAN_IR_TEFF_Pos) -#define CAN_IR_TEFL_Pos 15 /**< \brief (CAN_IR) Tx Event FIFO Element Lost */ -#define CAN_IR_TEFL (_U_(0x1) << CAN_IR_TEFL_Pos) -#define CAN_IR_TSW_Pos 16 /**< \brief (CAN_IR) Timestamp Wraparound */ -#define CAN_IR_TSW (_U_(0x1) << CAN_IR_TSW_Pos) -#define CAN_IR_MRAF_Pos 17 /**< \brief (CAN_IR) Message RAM Access Failure */ -#define CAN_IR_MRAF (_U_(0x1) << CAN_IR_MRAF_Pos) -#define CAN_IR_TOO_Pos 18 /**< \brief (CAN_IR) Timeout Occurred */ -#define CAN_IR_TOO (_U_(0x1) << CAN_IR_TOO_Pos) -#define CAN_IR_DRX_Pos 19 /**< \brief (CAN_IR) Message stored to Dedicated Rx Buffer */ -#define CAN_IR_DRX (_U_(0x1) << CAN_IR_DRX_Pos) -#define CAN_IR_BEC_Pos 20 /**< \brief (CAN_IR) Bit Error Corrected */ -#define CAN_IR_BEC (_U_(0x1) << CAN_IR_BEC_Pos) -#define CAN_IR_BEU_Pos 21 /**< \brief (CAN_IR) Bit Error Uncorrected */ -#define CAN_IR_BEU (_U_(0x1) << CAN_IR_BEU_Pos) -#define CAN_IR_ELO_Pos 22 /**< \brief (CAN_IR) Error Logging Overflow */ -#define CAN_IR_ELO (_U_(0x1) << CAN_IR_ELO_Pos) -#define CAN_IR_EP_Pos 23 /**< \brief (CAN_IR) Error Passive */ -#define CAN_IR_EP (_U_(0x1) << CAN_IR_EP_Pos) -#define CAN_IR_EW_Pos 24 /**< \brief (CAN_IR) Warning Status */ -#define CAN_IR_EW (_U_(0x1) << CAN_IR_EW_Pos) -#define CAN_IR_BO_Pos 25 /**< \brief (CAN_IR) Bus_Off Status */ -#define CAN_IR_BO (_U_(0x1) << CAN_IR_BO_Pos) -#define CAN_IR_WDI_Pos 26 /**< \brief (CAN_IR) Watchdog Interrupt */ -#define CAN_IR_WDI (_U_(0x1) << CAN_IR_WDI_Pos) -#define CAN_IR_PEA_Pos 27 /**< \brief (CAN_IR) Protocol Error in Arbitration Phase */ -#define CAN_IR_PEA (_U_(0x1) << CAN_IR_PEA_Pos) -#define CAN_IR_PED_Pos 28 /**< \brief (CAN_IR) Protocol Error in Data Phase */ -#define CAN_IR_PED (_U_(0x1) << CAN_IR_PED_Pos) -#define CAN_IR_ARA_Pos 29 /**< \brief (CAN_IR) Access to Reserved Address */ -#define CAN_IR_ARA (_U_(0x1) << CAN_IR_ARA_Pos) -#define CAN_IR_MASK _U_(0x3FFFFFFF) /**< \brief (CAN_IR) MASK Register */ - -/* -------- CAN_IE : (CAN Offset: 0x54) (R/W 32) Interrupt Enable -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t RF0NE:1; /*!< bit: 0 Rx FIFO 0 New Message Interrupt Enable */ - uint32_t RF0WE:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached Interrupt Enable */ - uint32_t RF0FE:1; /*!< bit: 2 Rx FIFO 0 Full Interrupt Enable */ - uint32_t RF0LE:1; /*!< bit: 3 Rx FIFO 0 Message Lost Interrupt Enable */ - uint32_t RF1NE:1; /*!< bit: 4 Rx FIFO 1 New Message Interrupt Enable */ - uint32_t RF1WE:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached Interrupt Enable */ - uint32_t RF1FE:1; /*!< bit: 6 Rx FIFO 1 FIFO Full Interrupt Enable */ - uint32_t RF1LE:1; /*!< bit: 7 Rx FIFO 1 Message Lost Interrupt Enable */ - uint32_t HPME:1; /*!< bit: 8 High Priority Message Interrupt Enable */ - uint32_t TCE:1; /*!< bit: 9 Timestamp Completed Interrupt Enable */ - uint32_t TCFE:1; /*!< bit: 10 Transmission Cancellation Finished Interrupt Enable */ - uint32_t TFEE:1; /*!< bit: 11 Tx FIFO Empty Interrupt Enable */ - uint32_t TEFNE:1; /*!< bit: 12 Tx Event FIFO New Entry Interrupt Enable */ - uint32_t TEFWE:1; /*!< bit: 13 Tx Event FIFO Watermark Reached Interrupt Enable */ - uint32_t TEFFE:1; /*!< bit: 14 Tx Event FIFO Full Interrupt Enable */ - uint32_t TEFLE:1; /*!< bit: 15 Tx Event FIFO Element Lost Interrupt Enable */ - uint32_t TSWE:1; /*!< bit: 16 Timestamp Wraparound Interrupt Enable */ - uint32_t MRAFE:1; /*!< bit: 17 Message RAM Access Failure Interrupt Enable */ - uint32_t TOOE:1; /*!< bit: 18 Timeout Occurred Interrupt Enable */ - uint32_t DRXE:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer Interrupt Enable */ - uint32_t BECE:1; /*!< bit: 20 Bit Error Corrected Interrupt Enable */ - uint32_t BEUE:1; /*!< bit: 21 Bit Error Uncorrected Interrupt Enable */ - uint32_t ELOE:1; /*!< bit: 22 Error Logging Overflow Interrupt Enable */ - uint32_t EPE:1; /*!< bit: 23 Error Passive Interrupt Enable */ - uint32_t EWE:1; /*!< bit: 24 Warning Status Interrupt Enable */ - uint32_t BOE:1; /*!< bit: 25 Bus_Off Status Interrupt Enable */ - uint32_t WDIE:1; /*!< bit: 26 Watchdog Interrupt Interrupt Enable */ - uint32_t PEAE:1; /*!< bit: 27 Protocol Error in Arbitration Phase Enable */ - uint32_t PEDE:1; /*!< bit: 28 Protocol Error in Data Phase Enable */ - uint32_t ARAE:1; /*!< bit: 29 Access to Reserved Address Enable */ - uint32_t :2; /*!< bit: 30..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_IE_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_IE_OFFSET 0x54 /**< \brief (CAN_IE offset) Interrupt Enable */ -#define CAN_IE_RESETVALUE _U_(0x00000000) /**< \brief (CAN_IE reset_value) Interrupt Enable */ - -#define CAN_IE_RF0NE_Pos 0 /**< \brief (CAN_IE) Rx FIFO 0 New Message Interrupt Enable */ -#define CAN_IE_RF0NE (_U_(0x1) << CAN_IE_RF0NE_Pos) -#define CAN_IE_RF0WE_Pos 1 /**< \brief (CAN_IE) Rx FIFO 0 Watermark Reached Interrupt Enable */ -#define CAN_IE_RF0WE (_U_(0x1) << CAN_IE_RF0WE_Pos) -#define CAN_IE_RF0FE_Pos 2 /**< \brief (CAN_IE) Rx FIFO 0 Full Interrupt Enable */ -#define CAN_IE_RF0FE (_U_(0x1) << CAN_IE_RF0FE_Pos) -#define CAN_IE_RF0LE_Pos 3 /**< \brief (CAN_IE) Rx FIFO 0 Message Lost Interrupt Enable */ -#define CAN_IE_RF0LE (_U_(0x1) << CAN_IE_RF0LE_Pos) -#define CAN_IE_RF1NE_Pos 4 /**< \brief (CAN_IE) Rx FIFO 1 New Message Interrupt Enable */ -#define CAN_IE_RF1NE (_U_(0x1) << CAN_IE_RF1NE_Pos) -#define CAN_IE_RF1WE_Pos 5 /**< \brief (CAN_IE) Rx FIFO 1 Watermark Reached Interrupt Enable */ -#define CAN_IE_RF1WE (_U_(0x1) << CAN_IE_RF1WE_Pos) -#define CAN_IE_RF1FE_Pos 6 /**< \brief (CAN_IE) Rx FIFO 1 FIFO Full Interrupt Enable */ -#define CAN_IE_RF1FE (_U_(0x1) << CAN_IE_RF1FE_Pos) -#define CAN_IE_RF1LE_Pos 7 /**< \brief (CAN_IE) Rx FIFO 1 Message Lost Interrupt Enable */ -#define CAN_IE_RF1LE (_U_(0x1) << CAN_IE_RF1LE_Pos) -#define CAN_IE_HPME_Pos 8 /**< \brief (CAN_IE) High Priority Message Interrupt Enable */ -#define CAN_IE_HPME (_U_(0x1) << CAN_IE_HPME_Pos) -#define CAN_IE_TCE_Pos 9 /**< \brief (CAN_IE) Timestamp Completed Interrupt Enable */ -#define CAN_IE_TCE (_U_(0x1) << CAN_IE_TCE_Pos) -#define CAN_IE_TCFE_Pos 10 /**< \brief (CAN_IE) Transmission Cancellation Finished Interrupt Enable */ -#define CAN_IE_TCFE (_U_(0x1) << CAN_IE_TCFE_Pos) -#define CAN_IE_TFEE_Pos 11 /**< \brief (CAN_IE) Tx FIFO Empty Interrupt Enable */ -#define CAN_IE_TFEE (_U_(0x1) << CAN_IE_TFEE_Pos) -#define CAN_IE_TEFNE_Pos 12 /**< \brief (CAN_IE) Tx Event FIFO New Entry Interrupt Enable */ -#define CAN_IE_TEFNE (_U_(0x1) << CAN_IE_TEFNE_Pos) -#define CAN_IE_TEFWE_Pos 13 /**< \brief (CAN_IE) Tx Event FIFO Watermark Reached Interrupt Enable */ -#define CAN_IE_TEFWE (_U_(0x1) << CAN_IE_TEFWE_Pos) -#define CAN_IE_TEFFE_Pos 14 /**< \brief (CAN_IE) Tx Event FIFO Full Interrupt Enable */ -#define CAN_IE_TEFFE (_U_(0x1) << CAN_IE_TEFFE_Pos) -#define CAN_IE_TEFLE_Pos 15 /**< \brief (CAN_IE) Tx Event FIFO Element Lost Interrupt Enable */ -#define CAN_IE_TEFLE (_U_(0x1) << CAN_IE_TEFLE_Pos) -#define CAN_IE_TSWE_Pos 16 /**< \brief (CAN_IE) Timestamp Wraparound Interrupt Enable */ -#define CAN_IE_TSWE (_U_(0x1) << CAN_IE_TSWE_Pos) -#define CAN_IE_MRAFE_Pos 17 /**< \brief (CAN_IE) Message RAM Access Failure Interrupt Enable */ -#define CAN_IE_MRAFE (_U_(0x1) << CAN_IE_MRAFE_Pos) -#define CAN_IE_TOOE_Pos 18 /**< \brief (CAN_IE) Timeout Occurred Interrupt Enable */ -#define CAN_IE_TOOE (_U_(0x1) << CAN_IE_TOOE_Pos) -#define CAN_IE_DRXE_Pos 19 /**< \brief (CAN_IE) Message stored to Dedicated Rx Buffer Interrupt Enable */ -#define CAN_IE_DRXE (_U_(0x1) << CAN_IE_DRXE_Pos) -#define CAN_IE_BECE_Pos 20 /**< \brief (CAN_IE) Bit Error Corrected Interrupt Enable */ -#define CAN_IE_BECE (_U_(0x1) << CAN_IE_BECE_Pos) -#define CAN_IE_BEUE_Pos 21 /**< \brief (CAN_IE) Bit Error Uncorrected Interrupt Enable */ -#define CAN_IE_BEUE (_U_(0x1) << CAN_IE_BEUE_Pos) -#define CAN_IE_ELOE_Pos 22 /**< \brief (CAN_IE) Error Logging Overflow Interrupt Enable */ -#define CAN_IE_ELOE (_U_(0x1) << CAN_IE_ELOE_Pos) -#define CAN_IE_EPE_Pos 23 /**< \brief (CAN_IE) Error Passive Interrupt Enable */ -#define CAN_IE_EPE (_U_(0x1) << CAN_IE_EPE_Pos) -#define CAN_IE_EWE_Pos 24 /**< \brief (CAN_IE) Warning Status Interrupt Enable */ -#define CAN_IE_EWE (_U_(0x1) << CAN_IE_EWE_Pos) -#define CAN_IE_BOE_Pos 25 /**< \brief (CAN_IE) Bus_Off Status Interrupt Enable */ -#define CAN_IE_BOE (_U_(0x1) << CAN_IE_BOE_Pos) -#define CAN_IE_WDIE_Pos 26 /**< \brief (CAN_IE) Watchdog Interrupt Interrupt Enable */ -#define CAN_IE_WDIE (_U_(0x1) << CAN_IE_WDIE_Pos) -#define CAN_IE_PEAE_Pos 27 /**< \brief (CAN_IE) Protocol Error in Arbitration Phase Enable */ -#define CAN_IE_PEAE (_U_(0x1) << CAN_IE_PEAE_Pos) -#define CAN_IE_PEDE_Pos 28 /**< \brief (CAN_IE) Protocol Error in Data Phase Enable */ -#define CAN_IE_PEDE (_U_(0x1) << CAN_IE_PEDE_Pos) -#define CAN_IE_ARAE_Pos 29 /**< \brief (CAN_IE) Access to Reserved Address Enable */ -#define CAN_IE_ARAE (_U_(0x1) << CAN_IE_ARAE_Pos) -#define CAN_IE_MASK _U_(0x3FFFFFFF) /**< \brief (CAN_IE) MASK Register */ - -/* -------- CAN_ILS : (CAN Offset: 0x58) (R/W 32) Interrupt Line Select -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t RF0NL:1; /*!< bit: 0 Rx FIFO 0 New Message Interrupt Line */ - uint32_t RF0WL:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached Interrupt Line */ - uint32_t RF0FL:1; /*!< bit: 2 Rx FIFO 0 Full Interrupt Line */ - uint32_t RF0LL:1; /*!< bit: 3 Rx FIFO 0 Message Lost Interrupt Line */ - uint32_t RF1NL:1; /*!< bit: 4 Rx FIFO 1 New Message Interrupt Line */ - uint32_t RF1WL:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached Interrupt Line */ - uint32_t RF1FL:1; /*!< bit: 6 Rx FIFO 1 FIFO Full Interrupt Line */ - uint32_t RF1LL:1; /*!< bit: 7 Rx FIFO 1 Message Lost Interrupt Line */ - uint32_t HPML:1; /*!< bit: 8 High Priority Message Interrupt Line */ - uint32_t TCL:1; /*!< bit: 9 Timestamp Completed Interrupt Line */ - uint32_t TCFL:1; /*!< bit: 10 Transmission Cancellation Finished Interrupt Line */ - uint32_t TFEL:1; /*!< bit: 11 Tx FIFO Empty Interrupt Line */ - uint32_t TEFNL:1; /*!< bit: 12 Tx Event FIFO New Entry Interrupt Line */ - uint32_t TEFWL:1; /*!< bit: 13 Tx Event FIFO Watermark Reached Interrupt Line */ - uint32_t TEFFL:1; /*!< bit: 14 Tx Event FIFO Full Interrupt Line */ - uint32_t TEFLL:1; /*!< bit: 15 Tx Event FIFO Element Lost Interrupt Line */ - uint32_t TSWL:1; /*!< bit: 16 Timestamp Wraparound Interrupt Line */ - uint32_t MRAFL:1; /*!< bit: 17 Message RAM Access Failure Interrupt Line */ - uint32_t TOOL:1; /*!< bit: 18 Timeout Occurred Interrupt Line */ - uint32_t DRXL:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer Interrupt Line */ - uint32_t BECL:1; /*!< bit: 20 Bit Error Corrected Interrupt Line */ - uint32_t BEUL:1; /*!< bit: 21 Bit Error Uncorrected Interrupt Line */ - uint32_t ELOL:1; /*!< bit: 22 Error Logging Overflow Interrupt Line */ - uint32_t EPL:1; /*!< bit: 23 Error Passive Interrupt Line */ - uint32_t EWL:1; /*!< bit: 24 Warning Status Interrupt Line */ - uint32_t BOL:1; /*!< bit: 25 Bus_Off Status Interrupt Line */ - uint32_t WDIL:1; /*!< bit: 26 Watchdog Interrupt Interrupt Line */ - uint32_t PEAL:1; /*!< bit: 27 Protocol Error in Arbitration Phase Line */ - uint32_t PEDL:1; /*!< bit: 28 Protocol Error in Data Phase Line */ - uint32_t ARAL:1; /*!< bit: 29 Access to Reserved Address Line */ - uint32_t :2; /*!< bit: 30..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_ILS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_ILS_OFFSET 0x58 /**< \brief (CAN_ILS offset) Interrupt Line Select */ -#define CAN_ILS_RESETVALUE _U_(0x00000000) /**< \brief (CAN_ILS reset_value) Interrupt Line Select */ - -#define CAN_ILS_RF0NL_Pos 0 /**< \brief (CAN_ILS) Rx FIFO 0 New Message Interrupt Line */ -#define CAN_ILS_RF0NL (_U_(0x1) << CAN_ILS_RF0NL_Pos) -#define CAN_ILS_RF0WL_Pos 1 /**< \brief (CAN_ILS) Rx FIFO 0 Watermark Reached Interrupt Line */ -#define CAN_ILS_RF0WL (_U_(0x1) << CAN_ILS_RF0WL_Pos) -#define CAN_ILS_RF0FL_Pos 2 /**< \brief (CAN_ILS) Rx FIFO 0 Full Interrupt Line */ -#define CAN_ILS_RF0FL (_U_(0x1) << CAN_ILS_RF0FL_Pos) -#define CAN_ILS_RF0LL_Pos 3 /**< \brief (CAN_ILS) Rx FIFO 0 Message Lost Interrupt Line */ -#define CAN_ILS_RF0LL (_U_(0x1) << CAN_ILS_RF0LL_Pos) -#define CAN_ILS_RF1NL_Pos 4 /**< \brief (CAN_ILS) Rx FIFO 1 New Message Interrupt Line */ -#define CAN_ILS_RF1NL (_U_(0x1) << CAN_ILS_RF1NL_Pos) -#define CAN_ILS_RF1WL_Pos 5 /**< \brief (CAN_ILS) Rx FIFO 1 Watermark Reached Interrupt Line */ -#define CAN_ILS_RF1WL (_U_(0x1) << CAN_ILS_RF1WL_Pos) -#define CAN_ILS_RF1FL_Pos 6 /**< \brief (CAN_ILS) Rx FIFO 1 FIFO Full Interrupt Line */ -#define CAN_ILS_RF1FL (_U_(0x1) << CAN_ILS_RF1FL_Pos) -#define CAN_ILS_RF1LL_Pos 7 /**< \brief (CAN_ILS) Rx FIFO 1 Message Lost Interrupt Line */ -#define CAN_ILS_RF1LL (_U_(0x1) << CAN_ILS_RF1LL_Pos) -#define CAN_ILS_HPML_Pos 8 /**< \brief (CAN_ILS) High Priority Message Interrupt Line */ -#define CAN_ILS_HPML (_U_(0x1) << CAN_ILS_HPML_Pos) -#define CAN_ILS_TCL_Pos 9 /**< \brief (CAN_ILS) Timestamp Completed Interrupt Line */ -#define CAN_ILS_TCL (_U_(0x1) << CAN_ILS_TCL_Pos) -#define CAN_ILS_TCFL_Pos 10 /**< \brief (CAN_ILS) Transmission Cancellation Finished Interrupt Line */ -#define CAN_ILS_TCFL (_U_(0x1) << CAN_ILS_TCFL_Pos) -#define CAN_ILS_TFEL_Pos 11 /**< \brief (CAN_ILS) Tx FIFO Empty Interrupt Line */ -#define CAN_ILS_TFEL (_U_(0x1) << CAN_ILS_TFEL_Pos) -#define CAN_ILS_TEFNL_Pos 12 /**< \brief (CAN_ILS) Tx Event FIFO New Entry Interrupt Line */ -#define CAN_ILS_TEFNL (_U_(0x1) << CAN_ILS_TEFNL_Pos) -#define CAN_ILS_TEFWL_Pos 13 /**< \brief (CAN_ILS) Tx Event FIFO Watermark Reached Interrupt Line */ -#define CAN_ILS_TEFWL (_U_(0x1) << CAN_ILS_TEFWL_Pos) -#define CAN_ILS_TEFFL_Pos 14 /**< \brief (CAN_ILS) Tx Event FIFO Full Interrupt Line */ -#define CAN_ILS_TEFFL (_U_(0x1) << CAN_ILS_TEFFL_Pos) -#define CAN_ILS_TEFLL_Pos 15 /**< \brief (CAN_ILS) Tx Event FIFO Element Lost Interrupt Line */ -#define CAN_ILS_TEFLL (_U_(0x1) << CAN_ILS_TEFLL_Pos) -#define CAN_ILS_TSWL_Pos 16 /**< \brief (CAN_ILS) Timestamp Wraparound Interrupt Line */ -#define CAN_ILS_TSWL (_U_(0x1) << CAN_ILS_TSWL_Pos) -#define CAN_ILS_MRAFL_Pos 17 /**< \brief (CAN_ILS) Message RAM Access Failure Interrupt Line */ -#define CAN_ILS_MRAFL (_U_(0x1) << CAN_ILS_MRAFL_Pos) -#define CAN_ILS_TOOL_Pos 18 /**< \brief (CAN_ILS) Timeout Occurred Interrupt Line */ -#define CAN_ILS_TOOL (_U_(0x1) << CAN_ILS_TOOL_Pos) -#define CAN_ILS_DRXL_Pos 19 /**< \brief (CAN_ILS) Message stored to Dedicated Rx Buffer Interrupt Line */ -#define CAN_ILS_DRXL (_U_(0x1) << CAN_ILS_DRXL_Pos) -#define CAN_ILS_BECL_Pos 20 /**< \brief (CAN_ILS) Bit Error Corrected Interrupt Line */ -#define CAN_ILS_BECL (_U_(0x1) << CAN_ILS_BECL_Pos) -#define CAN_ILS_BEUL_Pos 21 /**< \brief (CAN_ILS) Bit Error Uncorrected Interrupt Line */ -#define CAN_ILS_BEUL (_U_(0x1) << CAN_ILS_BEUL_Pos) -#define CAN_ILS_ELOL_Pos 22 /**< \brief (CAN_ILS) Error Logging Overflow Interrupt Line */ -#define CAN_ILS_ELOL (_U_(0x1) << CAN_ILS_ELOL_Pos) -#define CAN_ILS_EPL_Pos 23 /**< \brief (CAN_ILS) Error Passive Interrupt Line */ -#define CAN_ILS_EPL (_U_(0x1) << CAN_ILS_EPL_Pos) -#define CAN_ILS_EWL_Pos 24 /**< \brief (CAN_ILS) Warning Status Interrupt Line */ -#define CAN_ILS_EWL (_U_(0x1) << CAN_ILS_EWL_Pos) -#define CAN_ILS_BOL_Pos 25 /**< \brief (CAN_ILS) Bus_Off Status Interrupt Line */ -#define CAN_ILS_BOL (_U_(0x1) << CAN_ILS_BOL_Pos) -#define CAN_ILS_WDIL_Pos 26 /**< \brief (CAN_ILS) Watchdog Interrupt Interrupt Line */ -#define CAN_ILS_WDIL (_U_(0x1) << CAN_ILS_WDIL_Pos) -#define CAN_ILS_PEAL_Pos 27 /**< \brief (CAN_ILS) Protocol Error in Arbitration Phase Line */ -#define CAN_ILS_PEAL (_U_(0x1) << CAN_ILS_PEAL_Pos) -#define CAN_ILS_PEDL_Pos 28 /**< \brief (CAN_ILS) Protocol Error in Data Phase Line */ -#define CAN_ILS_PEDL (_U_(0x1) << CAN_ILS_PEDL_Pos) -#define CAN_ILS_ARAL_Pos 29 /**< \brief (CAN_ILS) Access to Reserved Address Line */ -#define CAN_ILS_ARAL (_U_(0x1) << CAN_ILS_ARAL_Pos) -#define CAN_ILS_MASK _U_(0x3FFFFFFF) /**< \brief (CAN_ILS) MASK Register */ - -/* -------- CAN_ILE : (CAN Offset: 0x5C) (R/W 32) Interrupt Line Enable -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t EINT0:1; /*!< bit: 0 Enable Interrupt Line 0 */ - uint32_t EINT1:1; /*!< bit: 1 Enable Interrupt Line 1 */ - uint32_t :30; /*!< bit: 2..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_ILE_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_ILE_OFFSET 0x5C /**< \brief (CAN_ILE offset) Interrupt Line Enable */ -#define CAN_ILE_RESETVALUE _U_(0x00000000) /**< \brief (CAN_ILE reset_value) Interrupt Line Enable */ - -#define CAN_ILE_EINT0_Pos 0 /**< \brief (CAN_ILE) Enable Interrupt Line 0 */ -#define CAN_ILE_EINT0 (_U_(0x1) << CAN_ILE_EINT0_Pos) -#define CAN_ILE_EINT1_Pos 1 /**< \brief (CAN_ILE) Enable Interrupt Line 1 */ -#define CAN_ILE_EINT1 (_U_(0x1) << CAN_ILE_EINT1_Pos) -#define CAN_ILE_MASK _U_(0x00000003) /**< \brief (CAN_ILE) MASK Register */ - -/* -------- CAN_GFC : (CAN Offset: 0x80) (R/W 32) Global Filter Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t RRFE:1; /*!< bit: 0 Reject Remote Frames Extended */ - uint32_t RRFS:1; /*!< bit: 1 Reject Remote Frames Standard */ - uint32_t ANFE:2; /*!< bit: 2.. 3 Accept Non-matching Frames Extended */ - uint32_t ANFS:2; /*!< bit: 4.. 5 Accept Non-matching Frames Standard */ - uint32_t :26; /*!< bit: 6..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_GFC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_GFC_OFFSET 0x80 /**< \brief (CAN_GFC offset) Global Filter Configuration */ -#define CAN_GFC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_GFC reset_value) Global Filter Configuration */ - -#define CAN_GFC_RRFE_Pos 0 /**< \brief (CAN_GFC) Reject Remote Frames Extended */ -#define CAN_GFC_RRFE (_U_(0x1) << CAN_GFC_RRFE_Pos) -#define CAN_GFC_RRFS_Pos 1 /**< \brief (CAN_GFC) Reject Remote Frames Standard */ -#define CAN_GFC_RRFS (_U_(0x1) << CAN_GFC_RRFS_Pos) -#define CAN_GFC_ANFE_Pos 2 /**< \brief (CAN_GFC) Accept Non-matching Frames Extended */ -#define CAN_GFC_ANFE_Msk (_U_(0x3) << CAN_GFC_ANFE_Pos) -#define CAN_GFC_ANFE(value) (CAN_GFC_ANFE_Msk & ((value) << CAN_GFC_ANFE_Pos)) -#define CAN_GFC_ANFE_RXF0_Val _U_(0x0) /**< \brief (CAN_GFC) Accept in Rx FIFO 0 */ -#define CAN_GFC_ANFE_RXF1_Val _U_(0x1) /**< \brief (CAN_GFC) Accept in Rx FIFO 1 */ -#define CAN_GFC_ANFE_REJECT_Val _U_(0x2) /**< \brief (CAN_GFC) Reject */ -#define CAN_GFC_ANFE_RXF0 (CAN_GFC_ANFE_RXF0_Val << CAN_GFC_ANFE_Pos) -#define CAN_GFC_ANFE_RXF1 (CAN_GFC_ANFE_RXF1_Val << CAN_GFC_ANFE_Pos) -#define CAN_GFC_ANFE_REJECT (CAN_GFC_ANFE_REJECT_Val << CAN_GFC_ANFE_Pos) -#define CAN_GFC_ANFS_Pos 4 /**< \brief (CAN_GFC) Accept Non-matching Frames Standard */ -#define CAN_GFC_ANFS_Msk (_U_(0x3) << CAN_GFC_ANFS_Pos) -#define CAN_GFC_ANFS(value) (CAN_GFC_ANFS_Msk & ((value) << CAN_GFC_ANFS_Pos)) -#define CAN_GFC_ANFS_RXF0_Val _U_(0x0) /**< \brief (CAN_GFC) Accept in Rx FIFO 0 */ -#define CAN_GFC_ANFS_RXF1_Val _U_(0x1) /**< \brief (CAN_GFC) Accept in Rx FIFO 1 */ -#define CAN_GFC_ANFS_REJECT_Val _U_(0x2) /**< \brief (CAN_GFC) Reject */ -#define CAN_GFC_ANFS_RXF0 (CAN_GFC_ANFS_RXF0_Val << CAN_GFC_ANFS_Pos) -#define CAN_GFC_ANFS_RXF1 (CAN_GFC_ANFS_RXF1_Val << CAN_GFC_ANFS_Pos) -#define CAN_GFC_ANFS_REJECT (CAN_GFC_ANFS_REJECT_Val << CAN_GFC_ANFS_Pos) -#define CAN_GFC_MASK _U_(0x0000003F) /**< \brief (CAN_GFC) MASK Register */ - -/* -------- CAN_SIDFC : (CAN Offset: 0x84) (R/W 32) Standard ID Filter Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t FLSSA:16; /*!< bit: 0..15 Filter List Standard Start Address */ - uint32_t LSS:8; /*!< bit: 16..23 List Size Standard */ - uint32_t :8; /*!< bit: 24..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_SIDFC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_SIDFC_OFFSET 0x84 /**< \brief (CAN_SIDFC offset) Standard ID Filter Configuration */ -#define CAN_SIDFC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_SIDFC reset_value) Standard ID Filter Configuration */ - -#define CAN_SIDFC_FLSSA_Pos 0 /**< \brief (CAN_SIDFC) Filter List Standard Start Address */ -#define CAN_SIDFC_FLSSA_Msk (_U_(0xFFFF) << CAN_SIDFC_FLSSA_Pos) -#define CAN_SIDFC_FLSSA(value) (CAN_SIDFC_FLSSA_Msk & ((value) << CAN_SIDFC_FLSSA_Pos)) -#define CAN_SIDFC_LSS_Pos 16 /**< \brief (CAN_SIDFC) List Size Standard */ -#define CAN_SIDFC_LSS_Msk (_U_(0xFF) << CAN_SIDFC_LSS_Pos) -#define CAN_SIDFC_LSS(value) (CAN_SIDFC_LSS_Msk & ((value) << CAN_SIDFC_LSS_Pos)) -#define CAN_SIDFC_MASK _U_(0x00FFFFFF) /**< \brief (CAN_SIDFC) MASK Register */ - -/* -------- CAN_XIDFC : (CAN Offset: 0x88) (R/W 32) Extended ID Filter Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t FLESA:16; /*!< bit: 0..15 Filter List Extended Start Address */ - uint32_t LSE:7; /*!< bit: 16..22 List Size Extended */ - uint32_t :9; /*!< bit: 23..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_XIDFC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_XIDFC_OFFSET 0x88 /**< \brief (CAN_XIDFC offset) Extended ID Filter Configuration */ -#define CAN_XIDFC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_XIDFC reset_value) Extended ID Filter Configuration */ - -#define CAN_XIDFC_FLESA_Pos 0 /**< \brief (CAN_XIDFC) Filter List Extended Start Address */ -#define CAN_XIDFC_FLESA_Msk (_U_(0xFFFF) << CAN_XIDFC_FLESA_Pos) -#define CAN_XIDFC_FLESA(value) (CAN_XIDFC_FLESA_Msk & ((value) << CAN_XIDFC_FLESA_Pos)) -#define CAN_XIDFC_LSE_Pos 16 /**< \brief (CAN_XIDFC) List Size Extended */ -#define CAN_XIDFC_LSE_Msk (_U_(0x7F) << CAN_XIDFC_LSE_Pos) -#define CAN_XIDFC_LSE(value) (CAN_XIDFC_LSE_Msk & ((value) << CAN_XIDFC_LSE_Pos)) -#define CAN_XIDFC_MASK _U_(0x007FFFFF) /**< \brief (CAN_XIDFC) MASK Register */ - -/* -------- CAN_XIDAM : (CAN Offset: 0x90) (R/W 32) Extended ID AND Mask -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t EIDM:29; /*!< bit: 0..28 Extended ID Mask */ - uint32_t :3; /*!< bit: 29..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_XIDAM_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_XIDAM_OFFSET 0x90 /**< \brief (CAN_XIDAM offset) Extended ID AND Mask */ -#define CAN_XIDAM_RESETVALUE _U_(0x1FFFFFFF) /**< \brief (CAN_XIDAM reset_value) Extended ID AND Mask */ - -#define CAN_XIDAM_EIDM_Pos 0 /**< \brief (CAN_XIDAM) Extended ID Mask */ -#define CAN_XIDAM_EIDM_Msk (_U_(0x1FFFFFFF) << CAN_XIDAM_EIDM_Pos) -#define CAN_XIDAM_EIDM(value) (CAN_XIDAM_EIDM_Msk & ((value) << CAN_XIDAM_EIDM_Pos)) -#define CAN_XIDAM_MASK _U_(0x1FFFFFFF) /**< \brief (CAN_XIDAM) MASK Register */ - -/* -------- CAN_HPMS : (CAN Offset: 0x94) (R/ 32) High Priority Message Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t BIDX:6; /*!< bit: 0.. 5 Buffer Index */ - uint32_t MSI:2; /*!< bit: 6.. 7 Message Storage Indicator */ - uint32_t FIDX:7; /*!< bit: 8..14 Filter Index */ - uint32_t FLST:1; /*!< bit: 15 Filter List */ - uint32_t :16; /*!< bit: 16..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_HPMS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_HPMS_OFFSET 0x94 /**< \brief (CAN_HPMS offset) High Priority Message Status */ -#define CAN_HPMS_RESETVALUE _U_(0x00000000) /**< \brief (CAN_HPMS reset_value) High Priority Message Status */ - -#define CAN_HPMS_BIDX_Pos 0 /**< \brief (CAN_HPMS) Buffer Index */ -#define CAN_HPMS_BIDX_Msk (_U_(0x3F) << CAN_HPMS_BIDX_Pos) -#define CAN_HPMS_BIDX(value) (CAN_HPMS_BIDX_Msk & ((value) << CAN_HPMS_BIDX_Pos)) -#define CAN_HPMS_MSI_Pos 6 /**< \brief (CAN_HPMS) Message Storage Indicator */ -#define CAN_HPMS_MSI_Msk (_U_(0x3) << CAN_HPMS_MSI_Pos) -#define CAN_HPMS_MSI(value) (CAN_HPMS_MSI_Msk & ((value) << CAN_HPMS_MSI_Pos)) -#define CAN_HPMS_MSI_NONE_Val _U_(0x0) /**< \brief (CAN_HPMS) No FIFO selected */ -#define CAN_HPMS_MSI_LOST_Val _U_(0x1) /**< \brief (CAN_HPMS) FIFO message lost */ -#define CAN_HPMS_MSI_FIFO0_Val _U_(0x2) /**< \brief (CAN_HPMS) Message stored in FIFO 0 */ -#define CAN_HPMS_MSI_FIFO1_Val _U_(0x3) /**< \brief (CAN_HPMS) Message stored in FIFO 1 */ -#define CAN_HPMS_MSI_NONE (CAN_HPMS_MSI_NONE_Val << CAN_HPMS_MSI_Pos) -#define CAN_HPMS_MSI_LOST (CAN_HPMS_MSI_LOST_Val << CAN_HPMS_MSI_Pos) -#define CAN_HPMS_MSI_FIFO0 (CAN_HPMS_MSI_FIFO0_Val << CAN_HPMS_MSI_Pos) -#define CAN_HPMS_MSI_FIFO1 (CAN_HPMS_MSI_FIFO1_Val << CAN_HPMS_MSI_Pos) -#define CAN_HPMS_FIDX_Pos 8 /**< \brief (CAN_HPMS) Filter Index */ -#define CAN_HPMS_FIDX_Msk (_U_(0x7F) << CAN_HPMS_FIDX_Pos) -#define CAN_HPMS_FIDX(value) (CAN_HPMS_FIDX_Msk & ((value) << CAN_HPMS_FIDX_Pos)) -#define CAN_HPMS_FLST_Pos 15 /**< \brief (CAN_HPMS) Filter List */ -#define CAN_HPMS_FLST (_U_(0x1) << CAN_HPMS_FLST_Pos) -#define CAN_HPMS_MASK _U_(0x0000FFFF) /**< \brief (CAN_HPMS) MASK Register */ - -/* -------- CAN_NDAT1 : (CAN Offset: 0x98) (R/W 32) New Data 1 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ND0:1; /*!< bit: 0 New Data 0 */ - uint32_t ND1:1; /*!< bit: 1 New Data 1 */ - uint32_t ND2:1; /*!< bit: 2 New Data 2 */ - uint32_t ND3:1; /*!< bit: 3 New Data 3 */ - uint32_t ND4:1; /*!< bit: 4 New Data 4 */ - uint32_t ND5:1; /*!< bit: 5 New Data 5 */ - uint32_t ND6:1; /*!< bit: 6 New Data 6 */ - uint32_t ND7:1; /*!< bit: 7 New Data 7 */ - uint32_t ND8:1; /*!< bit: 8 New Data 8 */ - uint32_t ND9:1; /*!< bit: 9 New Data 9 */ - uint32_t ND10:1; /*!< bit: 10 New Data 10 */ - uint32_t ND11:1; /*!< bit: 11 New Data 11 */ - uint32_t ND12:1; /*!< bit: 12 New Data 12 */ - uint32_t ND13:1; /*!< bit: 13 New Data 13 */ - uint32_t ND14:1; /*!< bit: 14 New Data 14 */ - uint32_t ND15:1; /*!< bit: 15 New Data 15 */ - uint32_t ND16:1; /*!< bit: 16 New Data 16 */ - uint32_t ND17:1; /*!< bit: 17 New Data 17 */ - uint32_t ND18:1; /*!< bit: 18 New Data 18 */ - uint32_t ND19:1; /*!< bit: 19 New Data 19 */ - uint32_t ND20:1; /*!< bit: 20 New Data 20 */ - uint32_t ND21:1; /*!< bit: 21 New Data 21 */ - uint32_t ND22:1; /*!< bit: 22 New Data 22 */ - uint32_t ND23:1; /*!< bit: 23 New Data 23 */ - uint32_t ND24:1; /*!< bit: 24 New Data 24 */ - uint32_t ND25:1; /*!< bit: 25 New Data 25 */ - uint32_t ND26:1; /*!< bit: 26 New Data 26 */ - uint32_t ND27:1; /*!< bit: 27 New Data 27 */ - uint32_t ND28:1; /*!< bit: 28 New Data 28 */ - uint32_t ND29:1; /*!< bit: 29 New Data 29 */ - uint32_t ND30:1; /*!< bit: 30 New Data 30 */ - uint32_t ND31:1; /*!< bit: 31 New Data 31 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_NDAT1_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_NDAT1_OFFSET 0x98 /**< \brief (CAN_NDAT1 offset) New Data 1 */ -#define CAN_NDAT1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_NDAT1 reset_value) New Data 1 */ - -#define CAN_NDAT1_ND0_Pos 0 /**< \brief (CAN_NDAT1) New Data 0 */ -#define CAN_NDAT1_ND0 (_U_(0x1) << CAN_NDAT1_ND0_Pos) -#define CAN_NDAT1_ND1_Pos 1 /**< \brief (CAN_NDAT1) New Data 1 */ -#define CAN_NDAT1_ND1 (_U_(0x1) << CAN_NDAT1_ND1_Pos) -#define CAN_NDAT1_ND2_Pos 2 /**< \brief (CAN_NDAT1) New Data 2 */ -#define CAN_NDAT1_ND2 (_U_(0x1) << CAN_NDAT1_ND2_Pos) -#define CAN_NDAT1_ND3_Pos 3 /**< \brief (CAN_NDAT1) New Data 3 */ -#define CAN_NDAT1_ND3 (_U_(0x1) << CAN_NDAT1_ND3_Pos) -#define CAN_NDAT1_ND4_Pos 4 /**< \brief (CAN_NDAT1) New Data 4 */ -#define CAN_NDAT1_ND4 (_U_(0x1) << CAN_NDAT1_ND4_Pos) -#define CAN_NDAT1_ND5_Pos 5 /**< \brief (CAN_NDAT1) New Data 5 */ -#define CAN_NDAT1_ND5 (_U_(0x1) << CAN_NDAT1_ND5_Pos) -#define CAN_NDAT1_ND6_Pos 6 /**< \brief (CAN_NDAT1) New Data 6 */ -#define CAN_NDAT1_ND6 (_U_(0x1) << CAN_NDAT1_ND6_Pos) -#define CAN_NDAT1_ND7_Pos 7 /**< \brief (CAN_NDAT1) New Data 7 */ -#define CAN_NDAT1_ND7 (_U_(0x1) << CAN_NDAT1_ND7_Pos) -#define CAN_NDAT1_ND8_Pos 8 /**< \brief (CAN_NDAT1) New Data 8 */ -#define CAN_NDAT1_ND8 (_U_(0x1) << CAN_NDAT1_ND8_Pos) -#define CAN_NDAT1_ND9_Pos 9 /**< \brief (CAN_NDAT1) New Data 9 */ -#define CAN_NDAT1_ND9 (_U_(0x1) << CAN_NDAT1_ND9_Pos) -#define CAN_NDAT1_ND10_Pos 10 /**< \brief (CAN_NDAT1) New Data 10 */ -#define CAN_NDAT1_ND10 (_U_(0x1) << CAN_NDAT1_ND10_Pos) -#define CAN_NDAT1_ND11_Pos 11 /**< \brief (CAN_NDAT1) New Data 11 */ -#define CAN_NDAT1_ND11 (_U_(0x1) << CAN_NDAT1_ND11_Pos) -#define CAN_NDAT1_ND12_Pos 12 /**< \brief (CAN_NDAT1) New Data 12 */ -#define CAN_NDAT1_ND12 (_U_(0x1) << CAN_NDAT1_ND12_Pos) -#define CAN_NDAT1_ND13_Pos 13 /**< \brief (CAN_NDAT1) New Data 13 */ -#define CAN_NDAT1_ND13 (_U_(0x1) << CAN_NDAT1_ND13_Pos) -#define CAN_NDAT1_ND14_Pos 14 /**< \brief (CAN_NDAT1) New Data 14 */ -#define CAN_NDAT1_ND14 (_U_(0x1) << CAN_NDAT1_ND14_Pos) -#define CAN_NDAT1_ND15_Pos 15 /**< \brief (CAN_NDAT1) New Data 15 */ -#define CAN_NDAT1_ND15 (_U_(0x1) << CAN_NDAT1_ND15_Pos) -#define CAN_NDAT1_ND16_Pos 16 /**< \brief (CAN_NDAT1) New Data 16 */ -#define CAN_NDAT1_ND16 (_U_(0x1) << CAN_NDAT1_ND16_Pos) -#define CAN_NDAT1_ND17_Pos 17 /**< \brief (CAN_NDAT1) New Data 17 */ -#define CAN_NDAT1_ND17 (_U_(0x1) << CAN_NDAT1_ND17_Pos) -#define CAN_NDAT1_ND18_Pos 18 /**< \brief (CAN_NDAT1) New Data 18 */ -#define CAN_NDAT1_ND18 (_U_(0x1) << CAN_NDAT1_ND18_Pos) -#define CAN_NDAT1_ND19_Pos 19 /**< \brief (CAN_NDAT1) New Data 19 */ -#define CAN_NDAT1_ND19 (_U_(0x1) << CAN_NDAT1_ND19_Pos) -#define CAN_NDAT1_ND20_Pos 20 /**< \brief (CAN_NDAT1) New Data 20 */ -#define CAN_NDAT1_ND20 (_U_(0x1) << CAN_NDAT1_ND20_Pos) -#define CAN_NDAT1_ND21_Pos 21 /**< \brief (CAN_NDAT1) New Data 21 */ -#define CAN_NDAT1_ND21 (_U_(0x1) << CAN_NDAT1_ND21_Pos) -#define CAN_NDAT1_ND22_Pos 22 /**< \brief (CAN_NDAT1) New Data 22 */ -#define CAN_NDAT1_ND22 (_U_(0x1) << CAN_NDAT1_ND22_Pos) -#define CAN_NDAT1_ND23_Pos 23 /**< \brief (CAN_NDAT1) New Data 23 */ -#define CAN_NDAT1_ND23 (_U_(0x1) << CAN_NDAT1_ND23_Pos) -#define CAN_NDAT1_ND24_Pos 24 /**< \brief (CAN_NDAT1) New Data 24 */ -#define CAN_NDAT1_ND24 (_U_(0x1) << CAN_NDAT1_ND24_Pos) -#define CAN_NDAT1_ND25_Pos 25 /**< \brief (CAN_NDAT1) New Data 25 */ -#define CAN_NDAT1_ND25 (_U_(0x1) << CAN_NDAT1_ND25_Pos) -#define CAN_NDAT1_ND26_Pos 26 /**< \brief (CAN_NDAT1) New Data 26 */ -#define CAN_NDAT1_ND26 (_U_(0x1) << CAN_NDAT1_ND26_Pos) -#define CAN_NDAT1_ND27_Pos 27 /**< \brief (CAN_NDAT1) New Data 27 */ -#define CAN_NDAT1_ND27 (_U_(0x1) << CAN_NDAT1_ND27_Pos) -#define CAN_NDAT1_ND28_Pos 28 /**< \brief (CAN_NDAT1) New Data 28 */ -#define CAN_NDAT1_ND28 (_U_(0x1) << CAN_NDAT1_ND28_Pos) -#define CAN_NDAT1_ND29_Pos 29 /**< \brief (CAN_NDAT1) New Data 29 */ -#define CAN_NDAT1_ND29 (_U_(0x1) << CAN_NDAT1_ND29_Pos) -#define CAN_NDAT1_ND30_Pos 30 /**< \brief (CAN_NDAT1) New Data 30 */ -#define CAN_NDAT1_ND30 (_U_(0x1) << CAN_NDAT1_ND30_Pos) -#define CAN_NDAT1_ND31_Pos 31 /**< \brief (CAN_NDAT1) New Data 31 */ -#define CAN_NDAT1_ND31 (_U_(0x1) << CAN_NDAT1_ND31_Pos) -#define CAN_NDAT1_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_NDAT1) MASK Register */ - -/* -------- CAN_NDAT2 : (CAN Offset: 0x9C) (R/W 32) New Data 2 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ND32:1; /*!< bit: 0 New Data 32 */ - uint32_t ND33:1; /*!< bit: 1 New Data 33 */ - uint32_t ND34:1; /*!< bit: 2 New Data 34 */ - uint32_t ND35:1; /*!< bit: 3 New Data 35 */ - uint32_t ND36:1; /*!< bit: 4 New Data 36 */ - uint32_t ND37:1; /*!< bit: 5 New Data 37 */ - uint32_t ND38:1; /*!< bit: 6 New Data 38 */ - uint32_t ND39:1; /*!< bit: 7 New Data 39 */ - uint32_t ND40:1; /*!< bit: 8 New Data 40 */ - uint32_t ND41:1; /*!< bit: 9 New Data 41 */ - uint32_t ND42:1; /*!< bit: 10 New Data 42 */ - uint32_t ND43:1; /*!< bit: 11 New Data 43 */ - uint32_t ND44:1; /*!< bit: 12 New Data 44 */ - uint32_t ND45:1; /*!< bit: 13 New Data 45 */ - uint32_t ND46:1; /*!< bit: 14 New Data 46 */ - uint32_t ND47:1; /*!< bit: 15 New Data 47 */ - uint32_t ND48:1; /*!< bit: 16 New Data 48 */ - uint32_t ND49:1; /*!< bit: 17 New Data 49 */ - uint32_t ND50:1; /*!< bit: 18 New Data 50 */ - uint32_t ND51:1; /*!< bit: 19 New Data 51 */ - uint32_t ND52:1; /*!< bit: 20 New Data 52 */ - uint32_t ND53:1; /*!< bit: 21 New Data 53 */ - uint32_t ND54:1; /*!< bit: 22 New Data 54 */ - uint32_t ND55:1; /*!< bit: 23 New Data 55 */ - uint32_t ND56:1; /*!< bit: 24 New Data 56 */ - uint32_t ND57:1; /*!< bit: 25 New Data 57 */ - uint32_t ND58:1; /*!< bit: 26 New Data 58 */ - uint32_t ND59:1; /*!< bit: 27 New Data 59 */ - uint32_t ND60:1; /*!< bit: 28 New Data 60 */ - uint32_t ND61:1; /*!< bit: 29 New Data 61 */ - uint32_t ND62:1; /*!< bit: 30 New Data 62 */ - uint32_t ND63:1; /*!< bit: 31 New Data 63 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_NDAT2_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_NDAT2_OFFSET 0x9C /**< \brief (CAN_NDAT2 offset) New Data 2 */ -#define CAN_NDAT2_RESETVALUE _U_(0x00000000) /**< \brief (CAN_NDAT2 reset_value) New Data 2 */ - -#define CAN_NDAT2_ND32_Pos 0 /**< \brief (CAN_NDAT2) New Data 32 */ -#define CAN_NDAT2_ND32 (_U_(0x1) << CAN_NDAT2_ND32_Pos) -#define CAN_NDAT2_ND33_Pos 1 /**< \brief (CAN_NDAT2) New Data 33 */ -#define CAN_NDAT2_ND33 (_U_(0x1) << CAN_NDAT2_ND33_Pos) -#define CAN_NDAT2_ND34_Pos 2 /**< \brief (CAN_NDAT2) New Data 34 */ -#define CAN_NDAT2_ND34 (_U_(0x1) << CAN_NDAT2_ND34_Pos) -#define CAN_NDAT2_ND35_Pos 3 /**< \brief (CAN_NDAT2) New Data 35 */ -#define CAN_NDAT2_ND35 (_U_(0x1) << CAN_NDAT2_ND35_Pos) -#define CAN_NDAT2_ND36_Pos 4 /**< \brief (CAN_NDAT2) New Data 36 */ -#define CAN_NDAT2_ND36 (_U_(0x1) << CAN_NDAT2_ND36_Pos) -#define CAN_NDAT2_ND37_Pos 5 /**< \brief (CAN_NDAT2) New Data 37 */ -#define CAN_NDAT2_ND37 (_U_(0x1) << CAN_NDAT2_ND37_Pos) -#define CAN_NDAT2_ND38_Pos 6 /**< \brief (CAN_NDAT2) New Data 38 */ -#define CAN_NDAT2_ND38 (_U_(0x1) << CAN_NDAT2_ND38_Pos) -#define CAN_NDAT2_ND39_Pos 7 /**< \brief (CAN_NDAT2) New Data 39 */ -#define CAN_NDAT2_ND39 (_U_(0x1) << CAN_NDAT2_ND39_Pos) -#define CAN_NDAT2_ND40_Pos 8 /**< \brief (CAN_NDAT2) New Data 40 */ -#define CAN_NDAT2_ND40 (_U_(0x1) << CAN_NDAT2_ND40_Pos) -#define CAN_NDAT2_ND41_Pos 9 /**< \brief (CAN_NDAT2) New Data 41 */ -#define CAN_NDAT2_ND41 (_U_(0x1) << CAN_NDAT2_ND41_Pos) -#define CAN_NDAT2_ND42_Pos 10 /**< \brief (CAN_NDAT2) New Data 42 */ -#define CAN_NDAT2_ND42 (_U_(0x1) << CAN_NDAT2_ND42_Pos) -#define CAN_NDAT2_ND43_Pos 11 /**< \brief (CAN_NDAT2) New Data 43 */ -#define CAN_NDAT2_ND43 (_U_(0x1) << CAN_NDAT2_ND43_Pos) -#define CAN_NDAT2_ND44_Pos 12 /**< \brief (CAN_NDAT2) New Data 44 */ -#define CAN_NDAT2_ND44 (_U_(0x1) << CAN_NDAT2_ND44_Pos) -#define CAN_NDAT2_ND45_Pos 13 /**< \brief (CAN_NDAT2) New Data 45 */ -#define CAN_NDAT2_ND45 (_U_(0x1) << CAN_NDAT2_ND45_Pos) -#define CAN_NDAT2_ND46_Pos 14 /**< \brief (CAN_NDAT2) New Data 46 */ -#define CAN_NDAT2_ND46 (_U_(0x1) << CAN_NDAT2_ND46_Pos) -#define CAN_NDAT2_ND47_Pos 15 /**< \brief (CAN_NDAT2) New Data 47 */ -#define CAN_NDAT2_ND47 (_U_(0x1) << CAN_NDAT2_ND47_Pos) -#define CAN_NDAT2_ND48_Pos 16 /**< \brief (CAN_NDAT2) New Data 48 */ -#define CAN_NDAT2_ND48 (_U_(0x1) << CAN_NDAT2_ND48_Pos) -#define CAN_NDAT2_ND49_Pos 17 /**< \brief (CAN_NDAT2) New Data 49 */ -#define CAN_NDAT2_ND49 (_U_(0x1) << CAN_NDAT2_ND49_Pos) -#define CAN_NDAT2_ND50_Pos 18 /**< \brief (CAN_NDAT2) New Data 50 */ -#define CAN_NDAT2_ND50 (_U_(0x1) << CAN_NDAT2_ND50_Pos) -#define CAN_NDAT2_ND51_Pos 19 /**< \brief (CAN_NDAT2) New Data 51 */ -#define CAN_NDAT2_ND51 (_U_(0x1) << CAN_NDAT2_ND51_Pos) -#define CAN_NDAT2_ND52_Pos 20 /**< \brief (CAN_NDAT2) New Data 52 */ -#define CAN_NDAT2_ND52 (_U_(0x1) << CAN_NDAT2_ND52_Pos) -#define CAN_NDAT2_ND53_Pos 21 /**< \brief (CAN_NDAT2) New Data 53 */ -#define CAN_NDAT2_ND53 (_U_(0x1) << CAN_NDAT2_ND53_Pos) -#define CAN_NDAT2_ND54_Pos 22 /**< \brief (CAN_NDAT2) New Data 54 */ -#define CAN_NDAT2_ND54 (_U_(0x1) << CAN_NDAT2_ND54_Pos) -#define CAN_NDAT2_ND55_Pos 23 /**< \brief (CAN_NDAT2) New Data 55 */ -#define CAN_NDAT2_ND55 (_U_(0x1) << CAN_NDAT2_ND55_Pos) -#define CAN_NDAT2_ND56_Pos 24 /**< \brief (CAN_NDAT2) New Data 56 */ -#define CAN_NDAT2_ND56 (_U_(0x1) << CAN_NDAT2_ND56_Pos) -#define CAN_NDAT2_ND57_Pos 25 /**< \brief (CAN_NDAT2) New Data 57 */ -#define CAN_NDAT2_ND57 (_U_(0x1) << CAN_NDAT2_ND57_Pos) -#define CAN_NDAT2_ND58_Pos 26 /**< \brief (CAN_NDAT2) New Data 58 */ -#define CAN_NDAT2_ND58 (_U_(0x1) << CAN_NDAT2_ND58_Pos) -#define CAN_NDAT2_ND59_Pos 27 /**< \brief (CAN_NDAT2) New Data 59 */ -#define CAN_NDAT2_ND59 (_U_(0x1) << CAN_NDAT2_ND59_Pos) -#define CAN_NDAT2_ND60_Pos 28 /**< \brief (CAN_NDAT2) New Data 60 */ -#define CAN_NDAT2_ND60 (_U_(0x1) << CAN_NDAT2_ND60_Pos) -#define CAN_NDAT2_ND61_Pos 29 /**< \brief (CAN_NDAT2) New Data 61 */ -#define CAN_NDAT2_ND61 (_U_(0x1) << CAN_NDAT2_ND61_Pos) -#define CAN_NDAT2_ND62_Pos 30 /**< \brief (CAN_NDAT2) New Data 62 */ -#define CAN_NDAT2_ND62 (_U_(0x1) << CAN_NDAT2_ND62_Pos) -#define CAN_NDAT2_ND63_Pos 31 /**< \brief (CAN_NDAT2) New Data 63 */ -#define CAN_NDAT2_ND63 (_U_(0x1) << CAN_NDAT2_ND63_Pos) -#define CAN_NDAT2_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_NDAT2) MASK Register */ - -/* -------- CAN_RXF0C : (CAN Offset: 0xA0) (R/W 32) Rx FIFO 0 Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t F0SA:16; /*!< bit: 0..15 Rx FIFO 0 Start Address */ - uint32_t F0S:7; /*!< bit: 16..22 Rx FIFO 0 Size */ - uint32_t :1; /*!< bit: 23 Reserved */ - uint32_t F0WM:7; /*!< bit: 24..30 Rx FIFO 0 Watermark */ - uint32_t F0OM:1; /*!< bit: 31 FIFO 0 Operation Mode */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF0C_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF0C_OFFSET 0xA0 /**< \brief (CAN_RXF0C offset) Rx FIFO 0 Configuration */ -#define CAN_RXF0C_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0C reset_value) Rx FIFO 0 Configuration */ - -#define CAN_RXF0C_F0SA_Pos 0 /**< \brief (CAN_RXF0C) Rx FIFO 0 Start Address */ -#define CAN_RXF0C_F0SA_Msk (_U_(0xFFFF) << CAN_RXF0C_F0SA_Pos) -#define CAN_RXF0C_F0SA(value) (CAN_RXF0C_F0SA_Msk & ((value) << CAN_RXF0C_F0SA_Pos)) -#define CAN_RXF0C_F0S_Pos 16 /**< \brief (CAN_RXF0C) Rx FIFO 0 Size */ -#define CAN_RXF0C_F0S_Msk (_U_(0x7F) << CAN_RXF0C_F0S_Pos) -#define CAN_RXF0C_F0S(value) (CAN_RXF0C_F0S_Msk & ((value) << CAN_RXF0C_F0S_Pos)) -#define CAN_RXF0C_F0WM_Pos 24 /**< \brief (CAN_RXF0C) Rx FIFO 0 Watermark */ -#define CAN_RXF0C_F0WM_Msk (_U_(0x7F) << CAN_RXF0C_F0WM_Pos) -#define CAN_RXF0C_F0WM(value) (CAN_RXF0C_F0WM_Msk & ((value) << CAN_RXF0C_F0WM_Pos)) -#define CAN_RXF0C_F0OM_Pos 31 /**< \brief (CAN_RXF0C) FIFO 0 Operation Mode */ -#define CAN_RXF0C_F0OM (_U_(0x1) << CAN_RXF0C_F0OM_Pos) -#define CAN_RXF0C_MASK _U_(0xFF7FFFFF) /**< \brief (CAN_RXF0C) MASK Register */ - -/* -------- CAN_RXF0S : (CAN Offset: 0xA4) (R/ 32) Rx FIFO 0 Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t F0FL:7; /*!< bit: 0.. 6 Rx FIFO 0 Fill Level */ - uint32_t :1; /*!< bit: 7 Reserved */ - uint32_t F0GI:6; /*!< bit: 8..13 Rx FIFO 0 Get Index */ - uint32_t :2; /*!< bit: 14..15 Reserved */ - uint32_t F0PI:6; /*!< bit: 16..21 Rx FIFO 0 Put Index */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t F0F:1; /*!< bit: 24 Rx FIFO 0 Full */ - uint32_t RF0L:1; /*!< bit: 25 Rx FIFO 0 Message Lost */ - uint32_t :6; /*!< bit: 26..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF0S_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF0S_OFFSET 0xA4 /**< \brief (CAN_RXF0S offset) Rx FIFO 0 Status */ -#define CAN_RXF0S_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0S reset_value) Rx FIFO 0 Status */ - -#define CAN_RXF0S_F0FL_Pos 0 /**< \brief (CAN_RXF0S) Rx FIFO 0 Fill Level */ -#define CAN_RXF0S_F0FL_Msk (_U_(0x7F) << CAN_RXF0S_F0FL_Pos) -#define CAN_RXF0S_F0FL(value) (CAN_RXF0S_F0FL_Msk & ((value) << CAN_RXF0S_F0FL_Pos)) -#define CAN_RXF0S_F0GI_Pos 8 /**< \brief (CAN_RXF0S) Rx FIFO 0 Get Index */ -#define CAN_RXF0S_F0GI_Msk (_U_(0x3F) << CAN_RXF0S_F0GI_Pos) -#define CAN_RXF0S_F0GI(value) (CAN_RXF0S_F0GI_Msk & ((value) << CAN_RXF0S_F0GI_Pos)) -#define CAN_RXF0S_F0PI_Pos 16 /**< \brief (CAN_RXF0S) Rx FIFO 0 Put Index */ -#define CAN_RXF0S_F0PI_Msk (_U_(0x3F) << CAN_RXF0S_F0PI_Pos) -#define CAN_RXF0S_F0PI(value) (CAN_RXF0S_F0PI_Msk & ((value) << CAN_RXF0S_F0PI_Pos)) -#define CAN_RXF0S_F0F_Pos 24 /**< \brief (CAN_RXF0S) Rx FIFO 0 Full */ -#define CAN_RXF0S_F0F (_U_(0x1) << CAN_RXF0S_F0F_Pos) -#define CAN_RXF0S_RF0L_Pos 25 /**< \brief (CAN_RXF0S) Rx FIFO 0 Message Lost */ -#define CAN_RXF0S_RF0L (_U_(0x1) << CAN_RXF0S_RF0L_Pos) -#define CAN_RXF0S_MASK _U_(0x033F3F7F) /**< \brief (CAN_RXF0S) MASK Register */ - -/* -------- CAN_RXF0A : (CAN Offset: 0xA8) (R/W 32) Rx FIFO 0 Acknowledge -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t F0AI:6; /*!< bit: 0.. 5 Rx FIFO 0 Acknowledge Index */ - uint32_t :26; /*!< bit: 6..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF0A_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF0A_OFFSET 0xA8 /**< \brief (CAN_RXF0A offset) Rx FIFO 0 Acknowledge */ -#define CAN_RXF0A_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0A reset_value) Rx FIFO 0 Acknowledge */ - -#define CAN_RXF0A_F0AI_Pos 0 /**< \brief (CAN_RXF0A) Rx FIFO 0 Acknowledge Index */ -#define CAN_RXF0A_F0AI_Msk (_U_(0x3F) << CAN_RXF0A_F0AI_Pos) -#define CAN_RXF0A_F0AI(value) (CAN_RXF0A_F0AI_Msk & ((value) << CAN_RXF0A_F0AI_Pos)) -#define CAN_RXF0A_MASK _U_(0x0000003F) /**< \brief (CAN_RXF0A) MASK Register */ - -/* -------- CAN_RXBC : (CAN Offset: 0xAC) (R/W 32) Rx Buffer Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t RBSA:16; /*!< bit: 0..15 Rx Buffer Start Address */ - uint32_t :16; /*!< bit: 16..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXBC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXBC_OFFSET 0xAC /**< \brief (CAN_RXBC offset) Rx Buffer Configuration */ -#define CAN_RXBC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXBC reset_value) Rx Buffer Configuration */ - -#define CAN_RXBC_RBSA_Pos 0 /**< \brief (CAN_RXBC) Rx Buffer Start Address */ -#define CAN_RXBC_RBSA_Msk (_U_(0xFFFF) << CAN_RXBC_RBSA_Pos) -#define CAN_RXBC_RBSA(value) (CAN_RXBC_RBSA_Msk & ((value) << CAN_RXBC_RBSA_Pos)) -#define CAN_RXBC_MASK _U_(0x0000FFFF) /**< \brief (CAN_RXBC) MASK Register */ - -/* -------- CAN_RXF1C : (CAN Offset: 0xB0) (R/W 32) Rx FIFO 1 Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t F1SA:16; /*!< bit: 0..15 Rx FIFO 1 Start Address */ - uint32_t F1S:7; /*!< bit: 16..22 Rx FIFO 1 Size */ - uint32_t :1; /*!< bit: 23 Reserved */ - uint32_t F1WM:7; /*!< bit: 24..30 Rx FIFO 1 Watermark */ - uint32_t F1OM:1; /*!< bit: 31 FIFO 1 Operation Mode */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF1C_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF1C_OFFSET 0xB0 /**< \brief (CAN_RXF1C offset) Rx FIFO 1 Configuration */ -#define CAN_RXF1C_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1C reset_value) Rx FIFO 1 Configuration */ - -#define CAN_RXF1C_F1SA_Pos 0 /**< \brief (CAN_RXF1C) Rx FIFO 1 Start Address */ -#define CAN_RXF1C_F1SA_Msk (_U_(0xFFFF) << CAN_RXF1C_F1SA_Pos) -#define CAN_RXF1C_F1SA(value) (CAN_RXF1C_F1SA_Msk & ((value) << CAN_RXF1C_F1SA_Pos)) -#define CAN_RXF1C_F1S_Pos 16 /**< \brief (CAN_RXF1C) Rx FIFO 1 Size */ -#define CAN_RXF1C_F1S_Msk (_U_(0x7F) << CAN_RXF1C_F1S_Pos) -#define CAN_RXF1C_F1S(value) (CAN_RXF1C_F1S_Msk & ((value) << CAN_RXF1C_F1S_Pos)) -#define CAN_RXF1C_F1WM_Pos 24 /**< \brief (CAN_RXF1C) Rx FIFO 1 Watermark */ -#define CAN_RXF1C_F1WM_Msk (_U_(0x7F) << CAN_RXF1C_F1WM_Pos) -#define CAN_RXF1C_F1WM(value) (CAN_RXF1C_F1WM_Msk & ((value) << CAN_RXF1C_F1WM_Pos)) -#define CAN_RXF1C_F1OM_Pos 31 /**< \brief (CAN_RXF1C) FIFO 1 Operation Mode */ -#define CAN_RXF1C_F1OM (_U_(0x1) << CAN_RXF1C_F1OM_Pos) -#define CAN_RXF1C_MASK _U_(0xFF7FFFFF) /**< \brief (CAN_RXF1C) MASK Register */ - -/* -------- CAN_RXF1S : (CAN Offset: 0xB4) (R/ 32) Rx FIFO 1 Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t F1FL:7; /*!< bit: 0.. 6 Rx FIFO 1 Fill Level */ - uint32_t :1; /*!< bit: 7 Reserved */ - uint32_t F1GI:6; /*!< bit: 8..13 Rx FIFO 1 Get Index */ - uint32_t :2; /*!< bit: 14..15 Reserved */ - uint32_t F1PI:6; /*!< bit: 16..21 Rx FIFO 1 Put Index */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t F1F:1; /*!< bit: 24 Rx FIFO 1 Full */ - uint32_t RF1L:1; /*!< bit: 25 Rx FIFO 1 Message Lost */ - uint32_t :4; /*!< bit: 26..29 Reserved */ - uint32_t DMS:2; /*!< bit: 30..31 Debug Message Status */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF1S_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF1S_OFFSET 0xB4 /**< \brief (CAN_RXF1S offset) Rx FIFO 1 Status */ -#define CAN_RXF1S_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1S reset_value) Rx FIFO 1 Status */ - -#define CAN_RXF1S_F1FL_Pos 0 /**< \brief (CAN_RXF1S) Rx FIFO 1 Fill Level */ -#define CAN_RXF1S_F1FL_Msk (_U_(0x7F) << CAN_RXF1S_F1FL_Pos) -#define CAN_RXF1S_F1FL(value) (CAN_RXF1S_F1FL_Msk & ((value) << CAN_RXF1S_F1FL_Pos)) -#define CAN_RXF1S_F1GI_Pos 8 /**< \brief (CAN_RXF1S) Rx FIFO 1 Get Index */ -#define CAN_RXF1S_F1GI_Msk (_U_(0x3F) << CAN_RXF1S_F1GI_Pos) -#define CAN_RXF1S_F1GI(value) (CAN_RXF1S_F1GI_Msk & ((value) << CAN_RXF1S_F1GI_Pos)) -#define CAN_RXF1S_F1PI_Pos 16 /**< \brief (CAN_RXF1S) Rx FIFO 1 Put Index */ -#define CAN_RXF1S_F1PI_Msk (_U_(0x3F) << CAN_RXF1S_F1PI_Pos) -#define CAN_RXF1S_F1PI(value) (CAN_RXF1S_F1PI_Msk & ((value) << CAN_RXF1S_F1PI_Pos)) -#define CAN_RXF1S_F1F_Pos 24 /**< \brief (CAN_RXF1S) Rx FIFO 1 Full */ -#define CAN_RXF1S_F1F (_U_(0x1) << CAN_RXF1S_F1F_Pos) -#define CAN_RXF1S_RF1L_Pos 25 /**< \brief (CAN_RXF1S) Rx FIFO 1 Message Lost */ -#define CAN_RXF1S_RF1L (_U_(0x1) << CAN_RXF1S_RF1L_Pos) -#define CAN_RXF1S_DMS_Pos 30 /**< \brief (CAN_RXF1S) Debug Message Status */ -#define CAN_RXF1S_DMS_Msk (_U_(0x3) << CAN_RXF1S_DMS_Pos) -#define CAN_RXF1S_DMS(value) (CAN_RXF1S_DMS_Msk & ((value) << CAN_RXF1S_DMS_Pos)) -#define CAN_RXF1S_DMS_IDLE_Val _U_(0x0) /**< \brief (CAN_RXF1S) Idle state */ -#define CAN_RXF1S_DMS_DBGA_Val _U_(0x1) /**< \brief (CAN_RXF1S) Debug message A received */ -#define CAN_RXF1S_DMS_DBGB_Val _U_(0x2) /**< \brief (CAN_RXF1S) Debug message A/B received */ -#define CAN_RXF1S_DMS_DBGC_Val _U_(0x3) /**< \brief (CAN_RXF1S) Debug message A/B/C received, DMA request set */ -#define CAN_RXF1S_DMS_IDLE (CAN_RXF1S_DMS_IDLE_Val << CAN_RXF1S_DMS_Pos) -#define CAN_RXF1S_DMS_DBGA (CAN_RXF1S_DMS_DBGA_Val << CAN_RXF1S_DMS_Pos) -#define CAN_RXF1S_DMS_DBGB (CAN_RXF1S_DMS_DBGB_Val << CAN_RXF1S_DMS_Pos) -#define CAN_RXF1S_DMS_DBGC (CAN_RXF1S_DMS_DBGC_Val << CAN_RXF1S_DMS_Pos) -#define CAN_RXF1S_MASK _U_(0xC33F3F7F) /**< \brief (CAN_RXF1S) MASK Register */ - -/* -------- CAN_RXF1A : (CAN Offset: 0xB8) (R/W 32) Rx FIFO 1 Acknowledge -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t F1AI:6; /*!< bit: 0.. 5 Rx FIFO 1 Acknowledge Index */ - uint32_t :26; /*!< bit: 6..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF1A_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF1A_OFFSET 0xB8 /**< \brief (CAN_RXF1A offset) Rx FIFO 1 Acknowledge */ -#define CAN_RXF1A_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1A reset_value) Rx FIFO 1 Acknowledge */ - -#define CAN_RXF1A_F1AI_Pos 0 /**< \brief (CAN_RXF1A) Rx FIFO 1 Acknowledge Index */ -#define CAN_RXF1A_F1AI_Msk (_U_(0x3F) << CAN_RXF1A_F1AI_Pos) -#define CAN_RXF1A_F1AI(value) (CAN_RXF1A_F1AI_Msk & ((value) << CAN_RXF1A_F1AI_Pos)) -#define CAN_RXF1A_MASK _U_(0x0000003F) /**< \brief (CAN_RXF1A) MASK Register */ - -/* -------- CAN_RXESC : (CAN Offset: 0xBC) (R/W 32) Rx Buffer / FIFO Element Size Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t F0DS:3; /*!< bit: 0.. 2 Rx FIFO 0 Data Field Size */ - uint32_t :1; /*!< bit: 3 Reserved */ - uint32_t F1DS:3; /*!< bit: 4.. 6 Rx FIFO 1 Data Field Size */ - uint32_t :1; /*!< bit: 7 Reserved */ - uint32_t RBDS:3; /*!< bit: 8..10 Rx Buffer Data Field Size */ - uint32_t :21; /*!< bit: 11..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXESC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXESC_OFFSET 0xBC /**< \brief (CAN_RXESC offset) Rx Buffer / FIFO Element Size Configuration */ -#define CAN_RXESC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXESC reset_value) Rx Buffer / FIFO Element Size Configuration */ - -#define CAN_RXESC_F0DS_Pos 0 /**< \brief (CAN_RXESC) Rx FIFO 0 Data Field Size */ -#define CAN_RXESC_F0DS_Msk (_U_(0x7) << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F0DS(value) (CAN_RXESC_F0DS_Msk & ((value) << CAN_RXESC_F0DS_Pos)) -#define CAN_RXESC_F0DS_DATA8_Val _U_(0x0) /**< \brief (CAN_RXESC) 8 byte data field */ -#define CAN_RXESC_F0DS_DATA12_Val _U_(0x1) /**< \brief (CAN_RXESC) 12 byte data field */ -#define CAN_RXESC_F0DS_DATA16_Val _U_(0x2) /**< \brief (CAN_RXESC) 16 byte data field */ -#define CAN_RXESC_F0DS_DATA20_Val _U_(0x3) /**< \brief (CAN_RXESC) 20 byte data field */ -#define CAN_RXESC_F0DS_DATA24_Val _U_(0x4) /**< \brief (CAN_RXESC) 24 byte data field */ -#define CAN_RXESC_F0DS_DATA32_Val _U_(0x5) /**< \brief (CAN_RXESC) 32 byte data field */ -#define CAN_RXESC_F0DS_DATA48_Val _U_(0x6) /**< \brief (CAN_RXESC) 48 byte data field */ -#define CAN_RXESC_F0DS_DATA64_Val _U_(0x7) /**< \brief (CAN_RXESC) 64 byte data field */ -#define CAN_RXESC_F0DS_DATA8 (CAN_RXESC_F0DS_DATA8_Val << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F0DS_DATA12 (CAN_RXESC_F0DS_DATA12_Val << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F0DS_DATA16 (CAN_RXESC_F0DS_DATA16_Val << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F0DS_DATA20 (CAN_RXESC_F0DS_DATA20_Val << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F0DS_DATA24 (CAN_RXESC_F0DS_DATA24_Val << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F0DS_DATA32 (CAN_RXESC_F0DS_DATA32_Val << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F0DS_DATA48 (CAN_RXESC_F0DS_DATA48_Val << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F0DS_DATA64 (CAN_RXESC_F0DS_DATA64_Val << CAN_RXESC_F0DS_Pos) -#define CAN_RXESC_F1DS_Pos 4 /**< \brief (CAN_RXESC) Rx FIFO 1 Data Field Size */ -#define CAN_RXESC_F1DS_Msk (_U_(0x7) << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_F1DS(value) (CAN_RXESC_F1DS_Msk & ((value) << CAN_RXESC_F1DS_Pos)) -#define CAN_RXESC_F1DS_DATA8_Val _U_(0x0) /**< \brief (CAN_RXESC) 8 byte data field */ -#define CAN_RXESC_F1DS_DATA12_Val _U_(0x1) /**< \brief (CAN_RXESC) 12 byte data field */ -#define CAN_RXESC_F1DS_DATA16_Val _U_(0x2) /**< \brief (CAN_RXESC) 16 byte data field */ -#define CAN_RXESC_F1DS_DATA20_Val _U_(0x3) /**< \brief (CAN_RXESC) 20 byte data field */ -#define CAN_RXESC_F1DS_DATA24_Val _U_(0x4) /**< \brief (CAN_RXESC) 24 byte data field */ -#define CAN_RXESC_F1DS_DATA32_Val _U_(0x5) /**< \brief (CAN_RXESC) 32 byte data field */ -#define CAN_RXESC_F1DS_DATA48_Val _U_(0x6) /**< \brief (CAN_RXESC) 48 byte data field */ -#define CAN_RXESC_F1DS_DATA64_Val _U_(0x7) /**< \brief (CAN_RXESC) 64 byte data field */ -#define CAN_RXESC_F1DS_DATA8 (CAN_RXESC_F1DS_DATA8_Val << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_F1DS_DATA12 (CAN_RXESC_F1DS_DATA12_Val << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_F1DS_DATA16 (CAN_RXESC_F1DS_DATA16_Val << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_F1DS_DATA20 (CAN_RXESC_F1DS_DATA20_Val << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_F1DS_DATA24 (CAN_RXESC_F1DS_DATA24_Val << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_F1DS_DATA32 (CAN_RXESC_F1DS_DATA32_Val << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_F1DS_DATA48 (CAN_RXESC_F1DS_DATA48_Val << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_F1DS_DATA64 (CAN_RXESC_F1DS_DATA64_Val << CAN_RXESC_F1DS_Pos) -#define CAN_RXESC_RBDS_Pos 8 /**< \brief (CAN_RXESC) Rx Buffer Data Field Size */ -#define CAN_RXESC_RBDS_Msk (_U_(0x7) << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_RBDS(value) (CAN_RXESC_RBDS_Msk & ((value) << CAN_RXESC_RBDS_Pos)) -#define CAN_RXESC_RBDS_DATA8_Val _U_(0x0) /**< \brief (CAN_RXESC) 8 byte data field */ -#define CAN_RXESC_RBDS_DATA12_Val _U_(0x1) /**< \brief (CAN_RXESC) 12 byte data field */ -#define CAN_RXESC_RBDS_DATA16_Val _U_(0x2) /**< \brief (CAN_RXESC) 16 byte data field */ -#define CAN_RXESC_RBDS_DATA20_Val _U_(0x3) /**< \brief (CAN_RXESC) 20 byte data field */ -#define CAN_RXESC_RBDS_DATA24_Val _U_(0x4) /**< \brief (CAN_RXESC) 24 byte data field */ -#define CAN_RXESC_RBDS_DATA32_Val _U_(0x5) /**< \brief (CAN_RXESC) 32 byte data field */ -#define CAN_RXESC_RBDS_DATA48_Val _U_(0x6) /**< \brief (CAN_RXESC) 48 byte data field */ -#define CAN_RXESC_RBDS_DATA64_Val _U_(0x7) /**< \brief (CAN_RXESC) 64 byte data field */ -#define CAN_RXESC_RBDS_DATA8 (CAN_RXESC_RBDS_DATA8_Val << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_RBDS_DATA12 (CAN_RXESC_RBDS_DATA12_Val << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_RBDS_DATA16 (CAN_RXESC_RBDS_DATA16_Val << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_RBDS_DATA20 (CAN_RXESC_RBDS_DATA20_Val << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_RBDS_DATA24 (CAN_RXESC_RBDS_DATA24_Val << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_RBDS_DATA32 (CAN_RXESC_RBDS_DATA32_Val << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_RBDS_DATA48 (CAN_RXESC_RBDS_DATA48_Val << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_RBDS_DATA64 (CAN_RXESC_RBDS_DATA64_Val << CAN_RXESC_RBDS_Pos) -#define CAN_RXESC_MASK _U_(0x00000777) /**< \brief (CAN_RXESC) MASK Register */ - -/* -------- CAN_TXBC : (CAN Offset: 0xC0) (R/W 32) Tx Buffer Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TBSA:16; /*!< bit: 0..15 Tx Buffers Start Address */ - uint32_t NDTB:6; /*!< bit: 16..21 Number of Dedicated Transmit Buffers */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t TFQS:6; /*!< bit: 24..29 Transmit FIFO/Queue Size */ - uint32_t TFQM:1; /*!< bit: 30 Tx FIFO/Queue Mode */ - uint32_t :1; /*!< bit: 31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBC_OFFSET 0xC0 /**< \brief (CAN_TXBC offset) Tx Buffer Configuration */ -#define CAN_TXBC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBC reset_value) Tx Buffer Configuration */ - -#define CAN_TXBC_TBSA_Pos 0 /**< \brief (CAN_TXBC) Tx Buffers Start Address */ -#define CAN_TXBC_TBSA_Msk (_U_(0xFFFF) << CAN_TXBC_TBSA_Pos) -#define CAN_TXBC_TBSA(value) (CAN_TXBC_TBSA_Msk & ((value) << CAN_TXBC_TBSA_Pos)) -#define CAN_TXBC_NDTB_Pos 16 /**< \brief (CAN_TXBC) Number of Dedicated Transmit Buffers */ -#define CAN_TXBC_NDTB_Msk (_U_(0x3F) << CAN_TXBC_NDTB_Pos) -#define CAN_TXBC_NDTB(value) (CAN_TXBC_NDTB_Msk & ((value) << CAN_TXBC_NDTB_Pos)) -#define CAN_TXBC_TFQS_Pos 24 /**< \brief (CAN_TXBC) Transmit FIFO/Queue Size */ -#define CAN_TXBC_TFQS_Msk (_U_(0x3F) << CAN_TXBC_TFQS_Pos) -#define CAN_TXBC_TFQS(value) (CAN_TXBC_TFQS_Msk & ((value) << CAN_TXBC_TFQS_Pos)) -#define CAN_TXBC_TFQM_Pos 30 /**< \brief (CAN_TXBC) Tx FIFO/Queue Mode */ -#define CAN_TXBC_TFQM (_U_(0x1) << CAN_TXBC_TFQM_Pos) -#define CAN_TXBC_MASK _U_(0x7F3FFFFF) /**< \brief (CAN_TXBC) MASK Register */ - -/* -------- CAN_TXFQS : (CAN Offset: 0xC4) (R/ 32) Tx FIFO / Queue Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TFFL:6; /*!< bit: 0.. 5 Tx FIFO Free Level */ - uint32_t :2; /*!< bit: 6.. 7 Reserved */ - uint32_t TFGI:5; /*!< bit: 8..12 Tx FIFO Get Index */ - uint32_t :3; /*!< bit: 13..15 Reserved */ - uint32_t TFQPI:5; /*!< bit: 16..20 Tx FIFO/Queue Put Index */ - uint32_t TFQF:1; /*!< bit: 21 Tx FIFO/Queue Full */ - uint32_t :10; /*!< bit: 22..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXFQS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXFQS_OFFSET 0xC4 /**< \brief (CAN_TXFQS offset) Tx FIFO / Queue Status */ -#define CAN_TXFQS_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXFQS reset_value) Tx FIFO / Queue Status */ - -#define CAN_TXFQS_TFFL_Pos 0 /**< \brief (CAN_TXFQS) Tx FIFO Free Level */ -#define CAN_TXFQS_TFFL_Msk (_U_(0x3F) << CAN_TXFQS_TFFL_Pos) -#define CAN_TXFQS_TFFL(value) (CAN_TXFQS_TFFL_Msk & ((value) << CAN_TXFQS_TFFL_Pos)) -#define CAN_TXFQS_TFGI_Pos 8 /**< \brief (CAN_TXFQS) Tx FIFO Get Index */ -#define CAN_TXFQS_TFGI_Msk (_U_(0x1F) << CAN_TXFQS_TFGI_Pos) -#define CAN_TXFQS_TFGI(value) (CAN_TXFQS_TFGI_Msk & ((value) << CAN_TXFQS_TFGI_Pos)) -#define CAN_TXFQS_TFQPI_Pos 16 /**< \brief (CAN_TXFQS) Tx FIFO/Queue Put Index */ -#define CAN_TXFQS_TFQPI_Msk (_U_(0x1F) << CAN_TXFQS_TFQPI_Pos) -#define CAN_TXFQS_TFQPI(value) (CAN_TXFQS_TFQPI_Msk & ((value) << CAN_TXFQS_TFQPI_Pos)) -#define CAN_TXFQS_TFQF_Pos 21 /**< \brief (CAN_TXFQS) Tx FIFO/Queue Full */ -#define CAN_TXFQS_TFQF (_U_(0x1) << CAN_TXFQS_TFQF_Pos) -#define CAN_TXFQS_MASK _U_(0x003F1F3F) /**< \brief (CAN_TXFQS) MASK Register */ - -/* -------- CAN_TXESC : (CAN Offset: 0xC8) (R/W 32) Tx Buffer Element Size Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TBDS:3; /*!< bit: 0.. 2 Tx Buffer Data Field Size */ - uint32_t :29; /*!< bit: 3..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXESC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXESC_OFFSET 0xC8 /**< \brief (CAN_TXESC offset) Tx Buffer Element Size Configuration */ -#define CAN_TXESC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXESC reset_value) Tx Buffer Element Size Configuration */ - -#define CAN_TXESC_TBDS_Pos 0 /**< \brief (CAN_TXESC) Tx Buffer Data Field Size */ -#define CAN_TXESC_TBDS_Msk (_U_(0x7) << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_TBDS(value) (CAN_TXESC_TBDS_Msk & ((value) << CAN_TXESC_TBDS_Pos)) -#define CAN_TXESC_TBDS_DATA8_Val _U_(0x0) /**< \brief (CAN_TXESC) 8 byte data field */ -#define CAN_TXESC_TBDS_DATA12_Val _U_(0x1) /**< \brief (CAN_TXESC) 12 byte data field */ -#define CAN_TXESC_TBDS_DATA16_Val _U_(0x2) /**< \brief (CAN_TXESC) 16 byte data field */ -#define CAN_TXESC_TBDS_DATA20_Val _U_(0x3) /**< \brief (CAN_TXESC) 20 byte data field */ -#define CAN_TXESC_TBDS_DATA24_Val _U_(0x4) /**< \brief (CAN_TXESC) 24 byte data field */ -#define CAN_TXESC_TBDS_DATA32_Val _U_(0x5) /**< \brief (CAN_TXESC) 32 byte data field */ -#define CAN_TXESC_TBDS_DATA48_Val _U_(0x6) /**< \brief (CAN_TXESC) 48 byte data field */ -#define CAN_TXESC_TBDS_DATA64_Val _U_(0x7) /**< \brief (CAN_TXESC) 64 byte data field */ -#define CAN_TXESC_TBDS_DATA8 (CAN_TXESC_TBDS_DATA8_Val << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_TBDS_DATA12 (CAN_TXESC_TBDS_DATA12_Val << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_TBDS_DATA16 (CAN_TXESC_TBDS_DATA16_Val << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_TBDS_DATA20 (CAN_TXESC_TBDS_DATA20_Val << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_TBDS_DATA24 (CAN_TXESC_TBDS_DATA24_Val << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_TBDS_DATA32 (CAN_TXESC_TBDS_DATA32_Val << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_TBDS_DATA48 (CAN_TXESC_TBDS_DATA48_Val << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_TBDS_DATA64 (CAN_TXESC_TBDS_DATA64_Val << CAN_TXESC_TBDS_Pos) -#define CAN_TXESC_MASK _U_(0x00000007) /**< \brief (CAN_TXESC) MASK Register */ - -/* -------- CAN_TXBRP : (CAN Offset: 0xCC) (R/ 32) Tx Buffer Request Pending -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TRP0:1; /*!< bit: 0 Transmission Request Pending 0 */ - uint32_t TRP1:1; /*!< bit: 1 Transmission Request Pending 1 */ - uint32_t TRP2:1; /*!< bit: 2 Transmission Request Pending 2 */ - uint32_t TRP3:1; /*!< bit: 3 Transmission Request Pending 3 */ - uint32_t TRP4:1; /*!< bit: 4 Transmission Request Pending 4 */ - uint32_t TRP5:1; /*!< bit: 5 Transmission Request Pending 5 */ - uint32_t TRP6:1; /*!< bit: 6 Transmission Request Pending 6 */ - uint32_t TRP7:1; /*!< bit: 7 Transmission Request Pending 7 */ - uint32_t TRP8:1; /*!< bit: 8 Transmission Request Pending 8 */ - uint32_t TRP9:1; /*!< bit: 9 Transmission Request Pending 9 */ - uint32_t TRP10:1; /*!< bit: 10 Transmission Request Pending 10 */ - uint32_t TRP11:1; /*!< bit: 11 Transmission Request Pending 11 */ - uint32_t TRP12:1; /*!< bit: 12 Transmission Request Pending 12 */ - uint32_t TRP13:1; /*!< bit: 13 Transmission Request Pending 13 */ - uint32_t TRP14:1; /*!< bit: 14 Transmission Request Pending 14 */ - uint32_t TRP15:1; /*!< bit: 15 Transmission Request Pending 15 */ - uint32_t TRP16:1; /*!< bit: 16 Transmission Request Pending 16 */ - uint32_t TRP17:1; /*!< bit: 17 Transmission Request Pending 17 */ - uint32_t TRP18:1; /*!< bit: 18 Transmission Request Pending 18 */ - uint32_t TRP19:1; /*!< bit: 19 Transmission Request Pending 19 */ - uint32_t TRP20:1; /*!< bit: 20 Transmission Request Pending 20 */ - uint32_t TRP21:1; /*!< bit: 21 Transmission Request Pending 21 */ - uint32_t TRP22:1; /*!< bit: 22 Transmission Request Pending 22 */ - uint32_t TRP23:1; /*!< bit: 23 Transmission Request Pending 23 */ - uint32_t TRP24:1; /*!< bit: 24 Transmission Request Pending 24 */ - uint32_t TRP25:1; /*!< bit: 25 Transmission Request Pending 25 */ - uint32_t TRP26:1; /*!< bit: 26 Transmission Request Pending 26 */ - uint32_t TRP27:1; /*!< bit: 27 Transmission Request Pending 27 */ - uint32_t TRP28:1; /*!< bit: 28 Transmission Request Pending 28 */ - uint32_t TRP29:1; /*!< bit: 29 Transmission Request Pending 29 */ - uint32_t TRP30:1; /*!< bit: 30 Transmission Request Pending 30 */ - uint32_t TRP31:1; /*!< bit: 31 Transmission Request Pending 31 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBRP_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBRP_OFFSET 0xCC /**< \brief (CAN_TXBRP offset) Tx Buffer Request Pending */ -#define CAN_TXBRP_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBRP reset_value) Tx Buffer Request Pending */ - -#define CAN_TXBRP_TRP0_Pos 0 /**< \brief (CAN_TXBRP) Transmission Request Pending 0 */ -#define CAN_TXBRP_TRP0 (_U_(0x1) << CAN_TXBRP_TRP0_Pos) -#define CAN_TXBRP_TRP1_Pos 1 /**< \brief (CAN_TXBRP) Transmission Request Pending 1 */ -#define CAN_TXBRP_TRP1 (_U_(0x1) << CAN_TXBRP_TRP1_Pos) -#define CAN_TXBRP_TRP2_Pos 2 /**< \brief (CAN_TXBRP) Transmission Request Pending 2 */ -#define CAN_TXBRP_TRP2 (_U_(0x1) << CAN_TXBRP_TRP2_Pos) -#define CAN_TXBRP_TRP3_Pos 3 /**< \brief (CAN_TXBRP) Transmission Request Pending 3 */ -#define CAN_TXBRP_TRP3 (_U_(0x1) << CAN_TXBRP_TRP3_Pos) -#define CAN_TXBRP_TRP4_Pos 4 /**< \brief (CAN_TXBRP) Transmission Request Pending 4 */ -#define CAN_TXBRP_TRP4 (_U_(0x1) << CAN_TXBRP_TRP4_Pos) -#define CAN_TXBRP_TRP5_Pos 5 /**< \brief (CAN_TXBRP) Transmission Request Pending 5 */ -#define CAN_TXBRP_TRP5 (_U_(0x1) << CAN_TXBRP_TRP5_Pos) -#define CAN_TXBRP_TRP6_Pos 6 /**< \brief (CAN_TXBRP) Transmission Request Pending 6 */ -#define CAN_TXBRP_TRP6 (_U_(0x1) << CAN_TXBRP_TRP6_Pos) -#define CAN_TXBRP_TRP7_Pos 7 /**< \brief (CAN_TXBRP) Transmission Request Pending 7 */ -#define CAN_TXBRP_TRP7 (_U_(0x1) << CAN_TXBRP_TRP7_Pos) -#define CAN_TXBRP_TRP8_Pos 8 /**< \brief (CAN_TXBRP) Transmission Request Pending 8 */ -#define CAN_TXBRP_TRP8 (_U_(0x1) << CAN_TXBRP_TRP8_Pos) -#define CAN_TXBRP_TRP9_Pos 9 /**< \brief (CAN_TXBRP) Transmission Request Pending 9 */ -#define CAN_TXBRP_TRP9 (_U_(0x1) << CAN_TXBRP_TRP9_Pos) -#define CAN_TXBRP_TRP10_Pos 10 /**< \brief (CAN_TXBRP) Transmission Request Pending 10 */ -#define CAN_TXBRP_TRP10 (_U_(0x1) << CAN_TXBRP_TRP10_Pos) -#define CAN_TXBRP_TRP11_Pos 11 /**< \brief (CAN_TXBRP) Transmission Request Pending 11 */ -#define CAN_TXBRP_TRP11 (_U_(0x1) << CAN_TXBRP_TRP11_Pos) -#define CAN_TXBRP_TRP12_Pos 12 /**< \brief (CAN_TXBRP) Transmission Request Pending 12 */ -#define CAN_TXBRP_TRP12 (_U_(0x1) << CAN_TXBRP_TRP12_Pos) -#define CAN_TXBRP_TRP13_Pos 13 /**< \brief (CAN_TXBRP) Transmission Request Pending 13 */ -#define CAN_TXBRP_TRP13 (_U_(0x1) << CAN_TXBRP_TRP13_Pos) -#define CAN_TXBRP_TRP14_Pos 14 /**< \brief (CAN_TXBRP) Transmission Request Pending 14 */ -#define CAN_TXBRP_TRP14 (_U_(0x1) << CAN_TXBRP_TRP14_Pos) -#define CAN_TXBRP_TRP15_Pos 15 /**< \brief (CAN_TXBRP) Transmission Request Pending 15 */ -#define CAN_TXBRP_TRP15 (_U_(0x1) << CAN_TXBRP_TRP15_Pos) -#define CAN_TXBRP_TRP16_Pos 16 /**< \brief (CAN_TXBRP) Transmission Request Pending 16 */ -#define CAN_TXBRP_TRP16 (_U_(0x1) << CAN_TXBRP_TRP16_Pos) -#define CAN_TXBRP_TRP17_Pos 17 /**< \brief (CAN_TXBRP) Transmission Request Pending 17 */ -#define CAN_TXBRP_TRP17 (_U_(0x1) << CAN_TXBRP_TRP17_Pos) -#define CAN_TXBRP_TRP18_Pos 18 /**< \brief (CAN_TXBRP) Transmission Request Pending 18 */ -#define CAN_TXBRP_TRP18 (_U_(0x1) << CAN_TXBRP_TRP18_Pos) -#define CAN_TXBRP_TRP19_Pos 19 /**< \brief (CAN_TXBRP) Transmission Request Pending 19 */ -#define CAN_TXBRP_TRP19 (_U_(0x1) << CAN_TXBRP_TRP19_Pos) -#define CAN_TXBRP_TRP20_Pos 20 /**< \brief (CAN_TXBRP) Transmission Request Pending 20 */ -#define CAN_TXBRP_TRP20 (_U_(0x1) << CAN_TXBRP_TRP20_Pos) -#define CAN_TXBRP_TRP21_Pos 21 /**< \brief (CAN_TXBRP) Transmission Request Pending 21 */ -#define CAN_TXBRP_TRP21 (_U_(0x1) << CAN_TXBRP_TRP21_Pos) -#define CAN_TXBRP_TRP22_Pos 22 /**< \brief (CAN_TXBRP) Transmission Request Pending 22 */ -#define CAN_TXBRP_TRP22 (_U_(0x1) << CAN_TXBRP_TRP22_Pos) -#define CAN_TXBRP_TRP23_Pos 23 /**< \brief (CAN_TXBRP) Transmission Request Pending 23 */ -#define CAN_TXBRP_TRP23 (_U_(0x1) << CAN_TXBRP_TRP23_Pos) -#define CAN_TXBRP_TRP24_Pos 24 /**< \brief (CAN_TXBRP) Transmission Request Pending 24 */ -#define CAN_TXBRP_TRP24 (_U_(0x1) << CAN_TXBRP_TRP24_Pos) -#define CAN_TXBRP_TRP25_Pos 25 /**< \brief (CAN_TXBRP) Transmission Request Pending 25 */ -#define CAN_TXBRP_TRP25 (_U_(0x1) << CAN_TXBRP_TRP25_Pos) -#define CAN_TXBRP_TRP26_Pos 26 /**< \brief (CAN_TXBRP) Transmission Request Pending 26 */ -#define CAN_TXBRP_TRP26 (_U_(0x1) << CAN_TXBRP_TRP26_Pos) -#define CAN_TXBRP_TRP27_Pos 27 /**< \brief (CAN_TXBRP) Transmission Request Pending 27 */ -#define CAN_TXBRP_TRP27 (_U_(0x1) << CAN_TXBRP_TRP27_Pos) -#define CAN_TXBRP_TRP28_Pos 28 /**< \brief (CAN_TXBRP) Transmission Request Pending 28 */ -#define CAN_TXBRP_TRP28 (_U_(0x1) << CAN_TXBRP_TRP28_Pos) -#define CAN_TXBRP_TRP29_Pos 29 /**< \brief (CAN_TXBRP) Transmission Request Pending 29 */ -#define CAN_TXBRP_TRP29 (_U_(0x1) << CAN_TXBRP_TRP29_Pos) -#define CAN_TXBRP_TRP30_Pos 30 /**< \brief (CAN_TXBRP) Transmission Request Pending 30 */ -#define CAN_TXBRP_TRP30 (_U_(0x1) << CAN_TXBRP_TRP30_Pos) -#define CAN_TXBRP_TRP31_Pos 31 /**< \brief (CAN_TXBRP) Transmission Request Pending 31 */ -#define CAN_TXBRP_TRP31 (_U_(0x1) << CAN_TXBRP_TRP31_Pos) -#define CAN_TXBRP_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBRP) MASK Register */ - -/* -------- CAN_TXBAR : (CAN Offset: 0xD0) (R/W 32) Tx Buffer Add Request -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t AR0:1; /*!< bit: 0 Add Request 0 */ - uint32_t AR1:1; /*!< bit: 1 Add Request 1 */ - uint32_t AR2:1; /*!< bit: 2 Add Request 2 */ - uint32_t AR3:1; /*!< bit: 3 Add Request 3 */ - uint32_t AR4:1; /*!< bit: 4 Add Request 4 */ - uint32_t AR5:1; /*!< bit: 5 Add Request 5 */ - uint32_t AR6:1; /*!< bit: 6 Add Request 6 */ - uint32_t AR7:1; /*!< bit: 7 Add Request 7 */ - uint32_t AR8:1; /*!< bit: 8 Add Request 8 */ - uint32_t AR9:1; /*!< bit: 9 Add Request 9 */ - uint32_t AR10:1; /*!< bit: 10 Add Request 10 */ - uint32_t AR11:1; /*!< bit: 11 Add Request 11 */ - uint32_t AR12:1; /*!< bit: 12 Add Request 12 */ - uint32_t AR13:1; /*!< bit: 13 Add Request 13 */ - uint32_t AR14:1; /*!< bit: 14 Add Request 14 */ - uint32_t AR15:1; /*!< bit: 15 Add Request 15 */ - uint32_t AR16:1; /*!< bit: 16 Add Request 16 */ - uint32_t AR17:1; /*!< bit: 17 Add Request 17 */ - uint32_t AR18:1; /*!< bit: 18 Add Request 18 */ - uint32_t AR19:1; /*!< bit: 19 Add Request 19 */ - uint32_t AR20:1; /*!< bit: 20 Add Request 20 */ - uint32_t AR21:1; /*!< bit: 21 Add Request 21 */ - uint32_t AR22:1; /*!< bit: 22 Add Request 22 */ - uint32_t AR23:1; /*!< bit: 23 Add Request 23 */ - uint32_t AR24:1; /*!< bit: 24 Add Request 24 */ - uint32_t AR25:1; /*!< bit: 25 Add Request 25 */ - uint32_t AR26:1; /*!< bit: 26 Add Request 26 */ - uint32_t AR27:1; /*!< bit: 27 Add Request 27 */ - uint32_t AR28:1; /*!< bit: 28 Add Request 28 */ - uint32_t AR29:1; /*!< bit: 29 Add Request 29 */ - uint32_t AR30:1; /*!< bit: 30 Add Request 30 */ - uint32_t AR31:1; /*!< bit: 31 Add Request 31 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBAR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBAR_OFFSET 0xD0 /**< \brief (CAN_TXBAR offset) Tx Buffer Add Request */ -#define CAN_TXBAR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBAR reset_value) Tx Buffer Add Request */ - -#define CAN_TXBAR_AR0_Pos 0 /**< \brief (CAN_TXBAR) Add Request 0 */ -#define CAN_TXBAR_AR0 (_U_(0x1) << CAN_TXBAR_AR0_Pos) -#define CAN_TXBAR_AR1_Pos 1 /**< \brief (CAN_TXBAR) Add Request 1 */ -#define CAN_TXBAR_AR1 (_U_(0x1) << CAN_TXBAR_AR1_Pos) -#define CAN_TXBAR_AR2_Pos 2 /**< \brief (CAN_TXBAR) Add Request 2 */ -#define CAN_TXBAR_AR2 (_U_(0x1) << CAN_TXBAR_AR2_Pos) -#define CAN_TXBAR_AR3_Pos 3 /**< \brief (CAN_TXBAR) Add Request 3 */ -#define CAN_TXBAR_AR3 (_U_(0x1) << CAN_TXBAR_AR3_Pos) -#define CAN_TXBAR_AR4_Pos 4 /**< \brief (CAN_TXBAR) Add Request 4 */ -#define CAN_TXBAR_AR4 (_U_(0x1) << CAN_TXBAR_AR4_Pos) -#define CAN_TXBAR_AR5_Pos 5 /**< \brief (CAN_TXBAR) Add Request 5 */ -#define CAN_TXBAR_AR5 (_U_(0x1) << CAN_TXBAR_AR5_Pos) -#define CAN_TXBAR_AR6_Pos 6 /**< \brief (CAN_TXBAR) Add Request 6 */ -#define CAN_TXBAR_AR6 (_U_(0x1) << CAN_TXBAR_AR6_Pos) -#define CAN_TXBAR_AR7_Pos 7 /**< \brief (CAN_TXBAR) Add Request 7 */ -#define CAN_TXBAR_AR7 (_U_(0x1) << CAN_TXBAR_AR7_Pos) -#define CAN_TXBAR_AR8_Pos 8 /**< \brief (CAN_TXBAR) Add Request 8 */ -#define CAN_TXBAR_AR8 (_U_(0x1) << CAN_TXBAR_AR8_Pos) -#define CAN_TXBAR_AR9_Pos 9 /**< \brief (CAN_TXBAR) Add Request 9 */ -#define CAN_TXBAR_AR9 (_U_(0x1) << CAN_TXBAR_AR9_Pos) -#define CAN_TXBAR_AR10_Pos 10 /**< \brief (CAN_TXBAR) Add Request 10 */ -#define CAN_TXBAR_AR10 (_U_(0x1) << CAN_TXBAR_AR10_Pos) -#define CAN_TXBAR_AR11_Pos 11 /**< \brief (CAN_TXBAR) Add Request 11 */ -#define CAN_TXBAR_AR11 (_U_(0x1) << CAN_TXBAR_AR11_Pos) -#define CAN_TXBAR_AR12_Pos 12 /**< \brief (CAN_TXBAR) Add Request 12 */ -#define CAN_TXBAR_AR12 (_U_(0x1) << CAN_TXBAR_AR12_Pos) -#define CAN_TXBAR_AR13_Pos 13 /**< \brief (CAN_TXBAR) Add Request 13 */ -#define CAN_TXBAR_AR13 (_U_(0x1) << CAN_TXBAR_AR13_Pos) -#define CAN_TXBAR_AR14_Pos 14 /**< \brief (CAN_TXBAR) Add Request 14 */ -#define CAN_TXBAR_AR14 (_U_(0x1) << CAN_TXBAR_AR14_Pos) -#define CAN_TXBAR_AR15_Pos 15 /**< \brief (CAN_TXBAR) Add Request 15 */ -#define CAN_TXBAR_AR15 (_U_(0x1) << CAN_TXBAR_AR15_Pos) -#define CAN_TXBAR_AR16_Pos 16 /**< \brief (CAN_TXBAR) Add Request 16 */ -#define CAN_TXBAR_AR16 (_U_(0x1) << CAN_TXBAR_AR16_Pos) -#define CAN_TXBAR_AR17_Pos 17 /**< \brief (CAN_TXBAR) Add Request 17 */ -#define CAN_TXBAR_AR17 (_U_(0x1) << CAN_TXBAR_AR17_Pos) -#define CAN_TXBAR_AR18_Pos 18 /**< \brief (CAN_TXBAR) Add Request 18 */ -#define CAN_TXBAR_AR18 (_U_(0x1) << CAN_TXBAR_AR18_Pos) -#define CAN_TXBAR_AR19_Pos 19 /**< \brief (CAN_TXBAR) Add Request 19 */ -#define CAN_TXBAR_AR19 (_U_(0x1) << CAN_TXBAR_AR19_Pos) -#define CAN_TXBAR_AR20_Pos 20 /**< \brief (CAN_TXBAR) Add Request 20 */ -#define CAN_TXBAR_AR20 (_U_(0x1) << CAN_TXBAR_AR20_Pos) -#define CAN_TXBAR_AR21_Pos 21 /**< \brief (CAN_TXBAR) Add Request 21 */ -#define CAN_TXBAR_AR21 (_U_(0x1) << CAN_TXBAR_AR21_Pos) -#define CAN_TXBAR_AR22_Pos 22 /**< \brief (CAN_TXBAR) Add Request 22 */ -#define CAN_TXBAR_AR22 (_U_(0x1) << CAN_TXBAR_AR22_Pos) -#define CAN_TXBAR_AR23_Pos 23 /**< \brief (CAN_TXBAR) Add Request 23 */ -#define CAN_TXBAR_AR23 (_U_(0x1) << CAN_TXBAR_AR23_Pos) -#define CAN_TXBAR_AR24_Pos 24 /**< \brief (CAN_TXBAR) Add Request 24 */ -#define CAN_TXBAR_AR24 (_U_(0x1) << CAN_TXBAR_AR24_Pos) -#define CAN_TXBAR_AR25_Pos 25 /**< \brief (CAN_TXBAR) Add Request 25 */ -#define CAN_TXBAR_AR25 (_U_(0x1) << CAN_TXBAR_AR25_Pos) -#define CAN_TXBAR_AR26_Pos 26 /**< \brief (CAN_TXBAR) Add Request 26 */ -#define CAN_TXBAR_AR26 (_U_(0x1) << CAN_TXBAR_AR26_Pos) -#define CAN_TXBAR_AR27_Pos 27 /**< \brief (CAN_TXBAR) Add Request 27 */ -#define CAN_TXBAR_AR27 (_U_(0x1) << CAN_TXBAR_AR27_Pos) -#define CAN_TXBAR_AR28_Pos 28 /**< \brief (CAN_TXBAR) Add Request 28 */ -#define CAN_TXBAR_AR28 (_U_(0x1) << CAN_TXBAR_AR28_Pos) -#define CAN_TXBAR_AR29_Pos 29 /**< \brief (CAN_TXBAR) Add Request 29 */ -#define CAN_TXBAR_AR29 (_U_(0x1) << CAN_TXBAR_AR29_Pos) -#define CAN_TXBAR_AR30_Pos 30 /**< \brief (CAN_TXBAR) Add Request 30 */ -#define CAN_TXBAR_AR30 (_U_(0x1) << CAN_TXBAR_AR30_Pos) -#define CAN_TXBAR_AR31_Pos 31 /**< \brief (CAN_TXBAR) Add Request 31 */ -#define CAN_TXBAR_AR31 (_U_(0x1) << CAN_TXBAR_AR31_Pos) -#define CAN_TXBAR_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBAR) MASK Register */ - -/* -------- CAN_TXBCR : (CAN Offset: 0xD4) (R/W 32) Tx Buffer Cancellation Request -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t CR0:1; /*!< bit: 0 Cancellation Request 0 */ - uint32_t CR1:1; /*!< bit: 1 Cancellation Request 1 */ - uint32_t CR2:1; /*!< bit: 2 Cancellation Request 2 */ - uint32_t CR3:1; /*!< bit: 3 Cancellation Request 3 */ - uint32_t CR4:1; /*!< bit: 4 Cancellation Request 4 */ - uint32_t CR5:1; /*!< bit: 5 Cancellation Request 5 */ - uint32_t CR6:1; /*!< bit: 6 Cancellation Request 6 */ - uint32_t CR7:1; /*!< bit: 7 Cancellation Request 7 */ - uint32_t CR8:1; /*!< bit: 8 Cancellation Request 8 */ - uint32_t CR9:1; /*!< bit: 9 Cancellation Request 9 */ - uint32_t CR10:1; /*!< bit: 10 Cancellation Request 10 */ - uint32_t CR11:1; /*!< bit: 11 Cancellation Request 11 */ - uint32_t CR12:1; /*!< bit: 12 Cancellation Request 12 */ - uint32_t CR13:1; /*!< bit: 13 Cancellation Request 13 */ - uint32_t CR14:1; /*!< bit: 14 Cancellation Request 14 */ - uint32_t CR15:1; /*!< bit: 15 Cancellation Request 15 */ - uint32_t CR16:1; /*!< bit: 16 Cancellation Request 16 */ - uint32_t CR17:1; /*!< bit: 17 Cancellation Request 17 */ - uint32_t CR18:1; /*!< bit: 18 Cancellation Request 18 */ - uint32_t CR19:1; /*!< bit: 19 Cancellation Request 19 */ - uint32_t CR20:1; /*!< bit: 20 Cancellation Request 20 */ - uint32_t CR21:1; /*!< bit: 21 Cancellation Request 21 */ - uint32_t CR22:1; /*!< bit: 22 Cancellation Request 22 */ - uint32_t CR23:1; /*!< bit: 23 Cancellation Request 23 */ - uint32_t CR24:1; /*!< bit: 24 Cancellation Request 24 */ - uint32_t CR25:1; /*!< bit: 25 Cancellation Request 25 */ - uint32_t CR26:1; /*!< bit: 26 Cancellation Request 26 */ - uint32_t CR27:1; /*!< bit: 27 Cancellation Request 27 */ - uint32_t CR28:1; /*!< bit: 28 Cancellation Request 28 */ - uint32_t CR29:1; /*!< bit: 29 Cancellation Request 29 */ - uint32_t CR30:1; /*!< bit: 30 Cancellation Request 30 */ - uint32_t CR31:1; /*!< bit: 31 Cancellation Request 31 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBCR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBCR_OFFSET 0xD4 /**< \brief (CAN_TXBCR offset) Tx Buffer Cancellation Request */ -#define CAN_TXBCR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBCR reset_value) Tx Buffer Cancellation Request */ - -#define CAN_TXBCR_CR0_Pos 0 /**< \brief (CAN_TXBCR) Cancellation Request 0 */ -#define CAN_TXBCR_CR0 (_U_(0x1) << CAN_TXBCR_CR0_Pos) -#define CAN_TXBCR_CR1_Pos 1 /**< \brief (CAN_TXBCR) Cancellation Request 1 */ -#define CAN_TXBCR_CR1 (_U_(0x1) << CAN_TXBCR_CR1_Pos) -#define CAN_TXBCR_CR2_Pos 2 /**< \brief (CAN_TXBCR) Cancellation Request 2 */ -#define CAN_TXBCR_CR2 (_U_(0x1) << CAN_TXBCR_CR2_Pos) -#define CAN_TXBCR_CR3_Pos 3 /**< \brief (CAN_TXBCR) Cancellation Request 3 */ -#define CAN_TXBCR_CR3 (_U_(0x1) << CAN_TXBCR_CR3_Pos) -#define CAN_TXBCR_CR4_Pos 4 /**< \brief (CAN_TXBCR) Cancellation Request 4 */ -#define CAN_TXBCR_CR4 (_U_(0x1) << CAN_TXBCR_CR4_Pos) -#define CAN_TXBCR_CR5_Pos 5 /**< \brief (CAN_TXBCR) Cancellation Request 5 */ -#define CAN_TXBCR_CR5 (_U_(0x1) << CAN_TXBCR_CR5_Pos) -#define CAN_TXBCR_CR6_Pos 6 /**< \brief (CAN_TXBCR) Cancellation Request 6 */ -#define CAN_TXBCR_CR6 (_U_(0x1) << CAN_TXBCR_CR6_Pos) -#define CAN_TXBCR_CR7_Pos 7 /**< \brief (CAN_TXBCR) Cancellation Request 7 */ -#define CAN_TXBCR_CR7 (_U_(0x1) << CAN_TXBCR_CR7_Pos) -#define CAN_TXBCR_CR8_Pos 8 /**< \brief (CAN_TXBCR) Cancellation Request 8 */ -#define CAN_TXBCR_CR8 (_U_(0x1) << CAN_TXBCR_CR8_Pos) -#define CAN_TXBCR_CR9_Pos 9 /**< \brief (CAN_TXBCR) Cancellation Request 9 */ -#define CAN_TXBCR_CR9 (_U_(0x1) << CAN_TXBCR_CR9_Pos) -#define CAN_TXBCR_CR10_Pos 10 /**< \brief (CAN_TXBCR) Cancellation Request 10 */ -#define CAN_TXBCR_CR10 (_U_(0x1) << CAN_TXBCR_CR10_Pos) -#define CAN_TXBCR_CR11_Pos 11 /**< \brief (CAN_TXBCR) Cancellation Request 11 */ -#define CAN_TXBCR_CR11 (_U_(0x1) << CAN_TXBCR_CR11_Pos) -#define CAN_TXBCR_CR12_Pos 12 /**< \brief (CAN_TXBCR) Cancellation Request 12 */ -#define CAN_TXBCR_CR12 (_U_(0x1) << CAN_TXBCR_CR12_Pos) -#define CAN_TXBCR_CR13_Pos 13 /**< \brief (CAN_TXBCR) Cancellation Request 13 */ -#define CAN_TXBCR_CR13 (_U_(0x1) << CAN_TXBCR_CR13_Pos) -#define CAN_TXBCR_CR14_Pos 14 /**< \brief (CAN_TXBCR) Cancellation Request 14 */ -#define CAN_TXBCR_CR14 (_U_(0x1) << CAN_TXBCR_CR14_Pos) -#define CAN_TXBCR_CR15_Pos 15 /**< \brief (CAN_TXBCR) Cancellation Request 15 */ -#define CAN_TXBCR_CR15 (_U_(0x1) << CAN_TXBCR_CR15_Pos) -#define CAN_TXBCR_CR16_Pos 16 /**< \brief (CAN_TXBCR) Cancellation Request 16 */ -#define CAN_TXBCR_CR16 (_U_(0x1) << CAN_TXBCR_CR16_Pos) -#define CAN_TXBCR_CR17_Pos 17 /**< \brief (CAN_TXBCR) Cancellation Request 17 */ -#define CAN_TXBCR_CR17 (_U_(0x1) << CAN_TXBCR_CR17_Pos) -#define CAN_TXBCR_CR18_Pos 18 /**< \brief (CAN_TXBCR) Cancellation Request 18 */ -#define CAN_TXBCR_CR18 (_U_(0x1) << CAN_TXBCR_CR18_Pos) -#define CAN_TXBCR_CR19_Pos 19 /**< \brief (CAN_TXBCR) Cancellation Request 19 */ -#define CAN_TXBCR_CR19 (_U_(0x1) << CAN_TXBCR_CR19_Pos) -#define CAN_TXBCR_CR20_Pos 20 /**< \brief (CAN_TXBCR) Cancellation Request 20 */ -#define CAN_TXBCR_CR20 (_U_(0x1) << CAN_TXBCR_CR20_Pos) -#define CAN_TXBCR_CR21_Pos 21 /**< \brief (CAN_TXBCR) Cancellation Request 21 */ -#define CAN_TXBCR_CR21 (_U_(0x1) << CAN_TXBCR_CR21_Pos) -#define CAN_TXBCR_CR22_Pos 22 /**< \brief (CAN_TXBCR) Cancellation Request 22 */ -#define CAN_TXBCR_CR22 (_U_(0x1) << CAN_TXBCR_CR22_Pos) -#define CAN_TXBCR_CR23_Pos 23 /**< \brief (CAN_TXBCR) Cancellation Request 23 */ -#define CAN_TXBCR_CR23 (_U_(0x1) << CAN_TXBCR_CR23_Pos) -#define CAN_TXBCR_CR24_Pos 24 /**< \brief (CAN_TXBCR) Cancellation Request 24 */ -#define CAN_TXBCR_CR24 (_U_(0x1) << CAN_TXBCR_CR24_Pos) -#define CAN_TXBCR_CR25_Pos 25 /**< \brief (CAN_TXBCR) Cancellation Request 25 */ -#define CAN_TXBCR_CR25 (_U_(0x1) << CAN_TXBCR_CR25_Pos) -#define CAN_TXBCR_CR26_Pos 26 /**< \brief (CAN_TXBCR) Cancellation Request 26 */ -#define CAN_TXBCR_CR26 (_U_(0x1) << CAN_TXBCR_CR26_Pos) -#define CAN_TXBCR_CR27_Pos 27 /**< \brief (CAN_TXBCR) Cancellation Request 27 */ -#define CAN_TXBCR_CR27 (_U_(0x1) << CAN_TXBCR_CR27_Pos) -#define CAN_TXBCR_CR28_Pos 28 /**< \brief (CAN_TXBCR) Cancellation Request 28 */ -#define CAN_TXBCR_CR28 (_U_(0x1) << CAN_TXBCR_CR28_Pos) -#define CAN_TXBCR_CR29_Pos 29 /**< \brief (CAN_TXBCR) Cancellation Request 29 */ -#define CAN_TXBCR_CR29 (_U_(0x1) << CAN_TXBCR_CR29_Pos) -#define CAN_TXBCR_CR30_Pos 30 /**< \brief (CAN_TXBCR) Cancellation Request 30 */ -#define CAN_TXBCR_CR30 (_U_(0x1) << CAN_TXBCR_CR30_Pos) -#define CAN_TXBCR_CR31_Pos 31 /**< \brief (CAN_TXBCR) Cancellation Request 31 */ -#define CAN_TXBCR_CR31 (_U_(0x1) << CAN_TXBCR_CR31_Pos) -#define CAN_TXBCR_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBCR) MASK Register */ - -/* -------- CAN_TXBTO : (CAN Offset: 0xD8) (R/ 32) Tx Buffer Transmission Occurred -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TO0:1; /*!< bit: 0 Transmission Occurred 0 */ - uint32_t TO1:1; /*!< bit: 1 Transmission Occurred 1 */ - uint32_t TO2:1; /*!< bit: 2 Transmission Occurred 2 */ - uint32_t TO3:1; /*!< bit: 3 Transmission Occurred 3 */ - uint32_t TO4:1; /*!< bit: 4 Transmission Occurred 4 */ - uint32_t TO5:1; /*!< bit: 5 Transmission Occurred 5 */ - uint32_t TO6:1; /*!< bit: 6 Transmission Occurred 6 */ - uint32_t TO7:1; /*!< bit: 7 Transmission Occurred 7 */ - uint32_t TO8:1; /*!< bit: 8 Transmission Occurred 8 */ - uint32_t TO9:1; /*!< bit: 9 Transmission Occurred 9 */ - uint32_t TO10:1; /*!< bit: 10 Transmission Occurred 10 */ - uint32_t TO11:1; /*!< bit: 11 Transmission Occurred 11 */ - uint32_t TO12:1; /*!< bit: 12 Transmission Occurred 12 */ - uint32_t TO13:1; /*!< bit: 13 Transmission Occurred 13 */ - uint32_t TO14:1; /*!< bit: 14 Transmission Occurred 14 */ - uint32_t TO15:1; /*!< bit: 15 Transmission Occurred 15 */ - uint32_t TO16:1; /*!< bit: 16 Transmission Occurred 16 */ - uint32_t TO17:1; /*!< bit: 17 Transmission Occurred 17 */ - uint32_t TO18:1; /*!< bit: 18 Transmission Occurred 18 */ - uint32_t TO19:1; /*!< bit: 19 Transmission Occurred 19 */ - uint32_t TO20:1; /*!< bit: 20 Transmission Occurred 20 */ - uint32_t TO21:1; /*!< bit: 21 Transmission Occurred 21 */ - uint32_t TO22:1; /*!< bit: 22 Transmission Occurred 22 */ - uint32_t TO23:1; /*!< bit: 23 Transmission Occurred 23 */ - uint32_t TO24:1; /*!< bit: 24 Transmission Occurred 24 */ - uint32_t TO25:1; /*!< bit: 25 Transmission Occurred 25 */ - uint32_t TO26:1; /*!< bit: 26 Transmission Occurred 26 */ - uint32_t TO27:1; /*!< bit: 27 Transmission Occurred 27 */ - uint32_t TO28:1; /*!< bit: 28 Transmission Occurred 28 */ - uint32_t TO29:1; /*!< bit: 29 Transmission Occurred 29 */ - uint32_t TO30:1; /*!< bit: 30 Transmission Occurred 30 */ - uint32_t TO31:1; /*!< bit: 31 Transmission Occurred 31 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBTO_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBTO_OFFSET 0xD8 /**< \brief (CAN_TXBTO offset) Tx Buffer Transmission Occurred */ -#define CAN_TXBTO_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBTO reset_value) Tx Buffer Transmission Occurred */ - -#define CAN_TXBTO_TO0_Pos 0 /**< \brief (CAN_TXBTO) Transmission Occurred 0 */ -#define CAN_TXBTO_TO0 (_U_(0x1) << CAN_TXBTO_TO0_Pos) -#define CAN_TXBTO_TO1_Pos 1 /**< \brief (CAN_TXBTO) Transmission Occurred 1 */ -#define CAN_TXBTO_TO1 (_U_(0x1) << CAN_TXBTO_TO1_Pos) -#define CAN_TXBTO_TO2_Pos 2 /**< \brief (CAN_TXBTO) Transmission Occurred 2 */ -#define CAN_TXBTO_TO2 (_U_(0x1) << CAN_TXBTO_TO2_Pos) -#define CAN_TXBTO_TO3_Pos 3 /**< \brief (CAN_TXBTO) Transmission Occurred 3 */ -#define CAN_TXBTO_TO3 (_U_(0x1) << CAN_TXBTO_TO3_Pos) -#define CAN_TXBTO_TO4_Pos 4 /**< \brief (CAN_TXBTO) Transmission Occurred 4 */ -#define CAN_TXBTO_TO4 (_U_(0x1) << CAN_TXBTO_TO4_Pos) -#define CAN_TXBTO_TO5_Pos 5 /**< \brief (CAN_TXBTO) Transmission Occurred 5 */ -#define CAN_TXBTO_TO5 (_U_(0x1) << CAN_TXBTO_TO5_Pos) -#define CAN_TXBTO_TO6_Pos 6 /**< \brief (CAN_TXBTO) Transmission Occurred 6 */ -#define CAN_TXBTO_TO6 (_U_(0x1) << CAN_TXBTO_TO6_Pos) -#define CAN_TXBTO_TO7_Pos 7 /**< \brief (CAN_TXBTO) Transmission Occurred 7 */ -#define CAN_TXBTO_TO7 (_U_(0x1) << CAN_TXBTO_TO7_Pos) -#define CAN_TXBTO_TO8_Pos 8 /**< \brief (CAN_TXBTO) Transmission Occurred 8 */ -#define CAN_TXBTO_TO8 (_U_(0x1) << CAN_TXBTO_TO8_Pos) -#define CAN_TXBTO_TO9_Pos 9 /**< \brief (CAN_TXBTO) Transmission Occurred 9 */ -#define CAN_TXBTO_TO9 (_U_(0x1) << CAN_TXBTO_TO9_Pos) -#define CAN_TXBTO_TO10_Pos 10 /**< \brief (CAN_TXBTO) Transmission Occurred 10 */ -#define CAN_TXBTO_TO10 (_U_(0x1) << CAN_TXBTO_TO10_Pos) -#define CAN_TXBTO_TO11_Pos 11 /**< \brief (CAN_TXBTO) Transmission Occurred 11 */ -#define CAN_TXBTO_TO11 (_U_(0x1) << CAN_TXBTO_TO11_Pos) -#define CAN_TXBTO_TO12_Pos 12 /**< \brief (CAN_TXBTO) Transmission Occurred 12 */ -#define CAN_TXBTO_TO12 (_U_(0x1) << CAN_TXBTO_TO12_Pos) -#define CAN_TXBTO_TO13_Pos 13 /**< \brief (CAN_TXBTO) Transmission Occurred 13 */ -#define CAN_TXBTO_TO13 (_U_(0x1) << CAN_TXBTO_TO13_Pos) -#define CAN_TXBTO_TO14_Pos 14 /**< \brief (CAN_TXBTO) Transmission Occurred 14 */ -#define CAN_TXBTO_TO14 (_U_(0x1) << CAN_TXBTO_TO14_Pos) -#define CAN_TXBTO_TO15_Pos 15 /**< \brief (CAN_TXBTO) Transmission Occurred 15 */ -#define CAN_TXBTO_TO15 (_U_(0x1) << CAN_TXBTO_TO15_Pos) -#define CAN_TXBTO_TO16_Pos 16 /**< \brief (CAN_TXBTO) Transmission Occurred 16 */ -#define CAN_TXBTO_TO16 (_U_(0x1) << CAN_TXBTO_TO16_Pos) -#define CAN_TXBTO_TO17_Pos 17 /**< \brief (CAN_TXBTO) Transmission Occurred 17 */ -#define CAN_TXBTO_TO17 (_U_(0x1) << CAN_TXBTO_TO17_Pos) -#define CAN_TXBTO_TO18_Pos 18 /**< \brief (CAN_TXBTO) Transmission Occurred 18 */ -#define CAN_TXBTO_TO18 (_U_(0x1) << CAN_TXBTO_TO18_Pos) -#define CAN_TXBTO_TO19_Pos 19 /**< \brief (CAN_TXBTO) Transmission Occurred 19 */ -#define CAN_TXBTO_TO19 (_U_(0x1) << CAN_TXBTO_TO19_Pos) -#define CAN_TXBTO_TO20_Pos 20 /**< \brief (CAN_TXBTO) Transmission Occurred 20 */ -#define CAN_TXBTO_TO20 (_U_(0x1) << CAN_TXBTO_TO20_Pos) -#define CAN_TXBTO_TO21_Pos 21 /**< \brief (CAN_TXBTO) Transmission Occurred 21 */ -#define CAN_TXBTO_TO21 (_U_(0x1) << CAN_TXBTO_TO21_Pos) -#define CAN_TXBTO_TO22_Pos 22 /**< \brief (CAN_TXBTO) Transmission Occurred 22 */ -#define CAN_TXBTO_TO22 (_U_(0x1) << CAN_TXBTO_TO22_Pos) -#define CAN_TXBTO_TO23_Pos 23 /**< \brief (CAN_TXBTO) Transmission Occurred 23 */ -#define CAN_TXBTO_TO23 (_U_(0x1) << CAN_TXBTO_TO23_Pos) -#define CAN_TXBTO_TO24_Pos 24 /**< \brief (CAN_TXBTO) Transmission Occurred 24 */ -#define CAN_TXBTO_TO24 (_U_(0x1) << CAN_TXBTO_TO24_Pos) -#define CAN_TXBTO_TO25_Pos 25 /**< \brief (CAN_TXBTO) Transmission Occurred 25 */ -#define CAN_TXBTO_TO25 (_U_(0x1) << CAN_TXBTO_TO25_Pos) -#define CAN_TXBTO_TO26_Pos 26 /**< \brief (CAN_TXBTO) Transmission Occurred 26 */ -#define CAN_TXBTO_TO26 (_U_(0x1) << CAN_TXBTO_TO26_Pos) -#define CAN_TXBTO_TO27_Pos 27 /**< \brief (CAN_TXBTO) Transmission Occurred 27 */ -#define CAN_TXBTO_TO27 (_U_(0x1) << CAN_TXBTO_TO27_Pos) -#define CAN_TXBTO_TO28_Pos 28 /**< \brief (CAN_TXBTO) Transmission Occurred 28 */ -#define CAN_TXBTO_TO28 (_U_(0x1) << CAN_TXBTO_TO28_Pos) -#define CAN_TXBTO_TO29_Pos 29 /**< \brief (CAN_TXBTO) Transmission Occurred 29 */ -#define CAN_TXBTO_TO29 (_U_(0x1) << CAN_TXBTO_TO29_Pos) -#define CAN_TXBTO_TO30_Pos 30 /**< \brief (CAN_TXBTO) Transmission Occurred 30 */ -#define CAN_TXBTO_TO30 (_U_(0x1) << CAN_TXBTO_TO30_Pos) -#define CAN_TXBTO_TO31_Pos 31 /**< \brief (CAN_TXBTO) Transmission Occurred 31 */ -#define CAN_TXBTO_TO31 (_U_(0x1) << CAN_TXBTO_TO31_Pos) -#define CAN_TXBTO_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBTO) MASK Register */ - -/* -------- CAN_TXBCF : (CAN Offset: 0xDC) (R/ 32) Tx Buffer Cancellation Finished -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t CF0:1; /*!< bit: 0 Tx Buffer Cancellation Finished 0 */ - uint32_t CF1:1; /*!< bit: 1 Tx Buffer Cancellation Finished 1 */ - uint32_t CF2:1; /*!< bit: 2 Tx Buffer Cancellation Finished 2 */ - uint32_t CF3:1; /*!< bit: 3 Tx Buffer Cancellation Finished 3 */ - uint32_t CF4:1; /*!< bit: 4 Tx Buffer Cancellation Finished 4 */ - uint32_t CF5:1; /*!< bit: 5 Tx Buffer Cancellation Finished 5 */ - uint32_t CF6:1; /*!< bit: 6 Tx Buffer Cancellation Finished 6 */ - uint32_t CF7:1; /*!< bit: 7 Tx Buffer Cancellation Finished 7 */ - uint32_t CF8:1; /*!< bit: 8 Tx Buffer Cancellation Finished 8 */ - uint32_t CF9:1; /*!< bit: 9 Tx Buffer Cancellation Finished 9 */ - uint32_t CF10:1; /*!< bit: 10 Tx Buffer Cancellation Finished 10 */ - uint32_t CF11:1; /*!< bit: 11 Tx Buffer Cancellation Finished 11 */ - uint32_t CF12:1; /*!< bit: 12 Tx Buffer Cancellation Finished 12 */ - uint32_t CF13:1; /*!< bit: 13 Tx Buffer Cancellation Finished 13 */ - uint32_t CF14:1; /*!< bit: 14 Tx Buffer Cancellation Finished 14 */ - uint32_t CF15:1; /*!< bit: 15 Tx Buffer Cancellation Finished 15 */ - uint32_t CF16:1; /*!< bit: 16 Tx Buffer Cancellation Finished 16 */ - uint32_t CF17:1; /*!< bit: 17 Tx Buffer Cancellation Finished 17 */ - uint32_t CF18:1; /*!< bit: 18 Tx Buffer Cancellation Finished 18 */ - uint32_t CF19:1; /*!< bit: 19 Tx Buffer Cancellation Finished 19 */ - uint32_t CF20:1; /*!< bit: 20 Tx Buffer Cancellation Finished 20 */ - uint32_t CF21:1; /*!< bit: 21 Tx Buffer Cancellation Finished 21 */ - uint32_t CF22:1; /*!< bit: 22 Tx Buffer Cancellation Finished 22 */ - uint32_t CF23:1; /*!< bit: 23 Tx Buffer Cancellation Finished 23 */ - uint32_t CF24:1; /*!< bit: 24 Tx Buffer Cancellation Finished 24 */ - uint32_t CF25:1; /*!< bit: 25 Tx Buffer Cancellation Finished 25 */ - uint32_t CF26:1; /*!< bit: 26 Tx Buffer Cancellation Finished 26 */ - uint32_t CF27:1; /*!< bit: 27 Tx Buffer Cancellation Finished 27 */ - uint32_t CF28:1; /*!< bit: 28 Tx Buffer Cancellation Finished 28 */ - uint32_t CF29:1; /*!< bit: 29 Tx Buffer Cancellation Finished 29 */ - uint32_t CF30:1; /*!< bit: 30 Tx Buffer Cancellation Finished 30 */ - uint32_t CF31:1; /*!< bit: 31 Tx Buffer Cancellation Finished 31 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBCF_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBCF_OFFSET 0xDC /**< \brief (CAN_TXBCF offset) Tx Buffer Cancellation Finished */ -#define CAN_TXBCF_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBCF reset_value) Tx Buffer Cancellation Finished */ - -#define CAN_TXBCF_CF0_Pos 0 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 0 */ -#define CAN_TXBCF_CF0 (_U_(0x1) << CAN_TXBCF_CF0_Pos) -#define CAN_TXBCF_CF1_Pos 1 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 1 */ -#define CAN_TXBCF_CF1 (_U_(0x1) << CAN_TXBCF_CF1_Pos) -#define CAN_TXBCF_CF2_Pos 2 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 2 */ -#define CAN_TXBCF_CF2 (_U_(0x1) << CAN_TXBCF_CF2_Pos) -#define CAN_TXBCF_CF3_Pos 3 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 3 */ -#define CAN_TXBCF_CF3 (_U_(0x1) << CAN_TXBCF_CF3_Pos) -#define CAN_TXBCF_CF4_Pos 4 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 4 */ -#define CAN_TXBCF_CF4 (_U_(0x1) << CAN_TXBCF_CF4_Pos) -#define CAN_TXBCF_CF5_Pos 5 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 5 */ -#define CAN_TXBCF_CF5 (_U_(0x1) << CAN_TXBCF_CF5_Pos) -#define CAN_TXBCF_CF6_Pos 6 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 6 */ -#define CAN_TXBCF_CF6 (_U_(0x1) << CAN_TXBCF_CF6_Pos) -#define CAN_TXBCF_CF7_Pos 7 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 7 */ -#define CAN_TXBCF_CF7 (_U_(0x1) << CAN_TXBCF_CF7_Pos) -#define CAN_TXBCF_CF8_Pos 8 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 8 */ -#define CAN_TXBCF_CF8 (_U_(0x1) << CAN_TXBCF_CF8_Pos) -#define CAN_TXBCF_CF9_Pos 9 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 9 */ -#define CAN_TXBCF_CF9 (_U_(0x1) << CAN_TXBCF_CF9_Pos) -#define CAN_TXBCF_CF10_Pos 10 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 10 */ -#define CAN_TXBCF_CF10 (_U_(0x1) << CAN_TXBCF_CF10_Pos) -#define CAN_TXBCF_CF11_Pos 11 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 11 */ -#define CAN_TXBCF_CF11 (_U_(0x1) << CAN_TXBCF_CF11_Pos) -#define CAN_TXBCF_CF12_Pos 12 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 12 */ -#define CAN_TXBCF_CF12 (_U_(0x1) << CAN_TXBCF_CF12_Pos) -#define CAN_TXBCF_CF13_Pos 13 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 13 */ -#define CAN_TXBCF_CF13 (_U_(0x1) << CAN_TXBCF_CF13_Pos) -#define CAN_TXBCF_CF14_Pos 14 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 14 */ -#define CAN_TXBCF_CF14 (_U_(0x1) << CAN_TXBCF_CF14_Pos) -#define CAN_TXBCF_CF15_Pos 15 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 15 */ -#define CAN_TXBCF_CF15 (_U_(0x1) << CAN_TXBCF_CF15_Pos) -#define CAN_TXBCF_CF16_Pos 16 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 16 */ -#define CAN_TXBCF_CF16 (_U_(0x1) << CAN_TXBCF_CF16_Pos) -#define CAN_TXBCF_CF17_Pos 17 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 17 */ -#define CAN_TXBCF_CF17 (_U_(0x1) << CAN_TXBCF_CF17_Pos) -#define CAN_TXBCF_CF18_Pos 18 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 18 */ -#define CAN_TXBCF_CF18 (_U_(0x1) << CAN_TXBCF_CF18_Pos) -#define CAN_TXBCF_CF19_Pos 19 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 19 */ -#define CAN_TXBCF_CF19 (_U_(0x1) << CAN_TXBCF_CF19_Pos) -#define CAN_TXBCF_CF20_Pos 20 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 20 */ -#define CAN_TXBCF_CF20 (_U_(0x1) << CAN_TXBCF_CF20_Pos) -#define CAN_TXBCF_CF21_Pos 21 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 21 */ -#define CAN_TXBCF_CF21 (_U_(0x1) << CAN_TXBCF_CF21_Pos) -#define CAN_TXBCF_CF22_Pos 22 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 22 */ -#define CAN_TXBCF_CF22 (_U_(0x1) << CAN_TXBCF_CF22_Pos) -#define CAN_TXBCF_CF23_Pos 23 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 23 */ -#define CAN_TXBCF_CF23 (_U_(0x1) << CAN_TXBCF_CF23_Pos) -#define CAN_TXBCF_CF24_Pos 24 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 24 */ -#define CAN_TXBCF_CF24 (_U_(0x1) << CAN_TXBCF_CF24_Pos) -#define CAN_TXBCF_CF25_Pos 25 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 25 */ -#define CAN_TXBCF_CF25 (_U_(0x1) << CAN_TXBCF_CF25_Pos) -#define CAN_TXBCF_CF26_Pos 26 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 26 */ -#define CAN_TXBCF_CF26 (_U_(0x1) << CAN_TXBCF_CF26_Pos) -#define CAN_TXBCF_CF27_Pos 27 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 27 */ -#define CAN_TXBCF_CF27 (_U_(0x1) << CAN_TXBCF_CF27_Pos) -#define CAN_TXBCF_CF28_Pos 28 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 28 */ -#define CAN_TXBCF_CF28 (_U_(0x1) << CAN_TXBCF_CF28_Pos) -#define CAN_TXBCF_CF29_Pos 29 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 29 */ -#define CAN_TXBCF_CF29 (_U_(0x1) << CAN_TXBCF_CF29_Pos) -#define CAN_TXBCF_CF30_Pos 30 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 30 */ -#define CAN_TXBCF_CF30 (_U_(0x1) << CAN_TXBCF_CF30_Pos) -#define CAN_TXBCF_CF31_Pos 31 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 31 */ -#define CAN_TXBCF_CF31 (_U_(0x1) << CAN_TXBCF_CF31_Pos) -#define CAN_TXBCF_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBCF) MASK Register */ - -/* -------- CAN_TXBTIE : (CAN Offset: 0xE0) (R/W 32) Tx Buffer Transmission Interrupt Enable -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TIE0:1; /*!< bit: 0 Transmission Interrupt Enable 0 */ - uint32_t TIE1:1; /*!< bit: 1 Transmission Interrupt Enable 1 */ - uint32_t TIE2:1; /*!< bit: 2 Transmission Interrupt Enable 2 */ - uint32_t TIE3:1; /*!< bit: 3 Transmission Interrupt Enable 3 */ - uint32_t TIE4:1; /*!< bit: 4 Transmission Interrupt Enable 4 */ - uint32_t TIE5:1; /*!< bit: 5 Transmission Interrupt Enable 5 */ - uint32_t TIE6:1; /*!< bit: 6 Transmission Interrupt Enable 6 */ - uint32_t TIE7:1; /*!< bit: 7 Transmission Interrupt Enable 7 */ - uint32_t TIE8:1; /*!< bit: 8 Transmission Interrupt Enable 8 */ - uint32_t TIE9:1; /*!< bit: 9 Transmission Interrupt Enable 9 */ - uint32_t TIE10:1; /*!< bit: 10 Transmission Interrupt Enable 10 */ - uint32_t TIE11:1; /*!< bit: 11 Transmission Interrupt Enable 11 */ - uint32_t TIE12:1; /*!< bit: 12 Transmission Interrupt Enable 12 */ - uint32_t TIE13:1; /*!< bit: 13 Transmission Interrupt Enable 13 */ - uint32_t TIE14:1; /*!< bit: 14 Transmission Interrupt Enable 14 */ - uint32_t TIE15:1; /*!< bit: 15 Transmission Interrupt Enable 15 */ - uint32_t TIE16:1; /*!< bit: 16 Transmission Interrupt Enable 16 */ - uint32_t TIE17:1; /*!< bit: 17 Transmission Interrupt Enable 17 */ - uint32_t TIE18:1; /*!< bit: 18 Transmission Interrupt Enable 18 */ - uint32_t TIE19:1; /*!< bit: 19 Transmission Interrupt Enable 19 */ - uint32_t TIE20:1; /*!< bit: 20 Transmission Interrupt Enable 20 */ - uint32_t TIE21:1; /*!< bit: 21 Transmission Interrupt Enable 21 */ - uint32_t TIE22:1; /*!< bit: 22 Transmission Interrupt Enable 22 */ - uint32_t TIE23:1; /*!< bit: 23 Transmission Interrupt Enable 23 */ - uint32_t TIE24:1; /*!< bit: 24 Transmission Interrupt Enable 24 */ - uint32_t TIE25:1; /*!< bit: 25 Transmission Interrupt Enable 25 */ - uint32_t TIE26:1; /*!< bit: 26 Transmission Interrupt Enable 26 */ - uint32_t TIE27:1; /*!< bit: 27 Transmission Interrupt Enable 27 */ - uint32_t TIE28:1; /*!< bit: 28 Transmission Interrupt Enable 28 */ - uint32_t TIE29:1; /*!< bit: 29 Transmission Interrupt Enable 29 */ - uint32_t TIE30:1; /*!< bit: 30 Transmission Interrupt Enable 30 */ - uint32_t TIE31:1; /*!< bit: 31 Transmission Interrupt Enable 31 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBTIE_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBTIE_OFFSET 0xE0 /**< \brief (CAN_TXBTIE offset) Tx Buffer Transmission Interrupt Enable */ -#define CAN_TXBTIE_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBTIE reset_value) Tx Buffer Transmission Interrupt Enable */ - -#define CAN_TXBTIE_TIE0_Pos 0 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 0 */ -#define CAN_TXBTIE_TIE0 (_U_(0x1) << CAN_TXBTIE_TIE0_Pos) -#define CAN_TXBTIE_TIE1_Pos 1 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 1 */ -#define CAN_TXBTIE_TIE1 (_U_(0x1) << CAN_TXBTIE_TIE1_Pos) -#define CAN_TXBTIE_TIE2_Pos 2 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 2 */ -#define CAN_TXBTIE_TIE2 (_U_(0x1) << CAN_TXBTIE_TIE2_Pos) -#define CAN_TXBTIE_TIE3_Pos 3 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 3 */ -#define CAN_TXBTIE_TIE3 (_U_(0x1) << CAN_TXBTIE_TIE3_Pos) -#define CAN_TXBTIE_TIE4_Pos 4 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 4 */ -#define CAN_TXBTIE_TIE4 (_U_(0x1) << CAN_TXBTIE_TIE4_Pos) -#define CAN_TXBTIE_TIE5_Pos 5 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 5 */ -#define CAN_TXBTIE_TIE5 (_U_(0x1) << CAN_TXBTIE_TIE5_Pos) -#define CAN_TXBTIE_TIE6_Pos 6 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 6 */ -#define CAN_TXBTIE_TIE6 (_U_(0x1) << CAN_TXBTIE_TIE6_Pos) -#define CAN_TXBTIE_TIE7_Pos 7 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 7 */ -#define CAN_TXBTIE_TIE7 (_U_(0x1) << CAN_TXBTIE_TIE7_Pos) -#define CAN_TXBTIE_TIE8_Pos 8 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 8 */ -#define CAN_TXBTIE_TIE8 (_U_(0x1) << CAN_TXBTIE_TIE8_Pos) -#define CAN_TXBTIE_TIE9_Pos 9 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 9 */ -#define CAN_TXBTIE_TIE9 (_U_(0x1) << CAN_TXBTIE_TIE9_Pos) -#define CAN_TXBTIE_TIE10_Pos 10 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 10 */ -#define CAN_TXBTIE_TIE10 (_U_(0x1) << CAN_TXBTIE_TIE10_Pos) -#define CAN_TXBTIE_TIE11_Pos 11 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 11 */ -#define CAN_TXBTIE_TIE11 (_U_(0x1) << CAN_TXBTIE_TIE11_Pos) -#define CAN_TXBTIE_TIE12_Pos 12 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 12 */ -#define CAN_TXBTIE_TIE12 (_U_(0x1) << CAN_TXBTIE_TIE12_Pos) -#define CAN_TXBTIE_TIE13_Pos 13 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 13 */ -#define CAN_TXBTIE_TIE13 (_U_(0x1) << CAN_TXBTIE_TIE13_Pos) -#define CAN_TXBTIE_TIE14_Pos 14 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 14 */ -#define CAN_TXBTIE_TIE14 (_U_(0x1) << CAN_TXBTIE_TIE14_Pos) -#define CAN_TXBTIE_TIE15_Pos 15 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 15 */ -#define CAN_TXBTIE_TIE15 (_U_(0x1) << CAN_TXBTIE_TIE15_Pos) -#define CAN_TXBTIE_TIE16_Pos 16 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 16 */ -#define CAN_TXBTIE_TIE16 (_U_(0x1) << CAN_TXBTIE_TIE16_Pos) -#define CAN_TXBTIE_TIE17_Pos 17 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 17 */ -#define CAN_TXBTIE_TIE17 (_U_(0x1) << CAN_TXBTIE_TIE17_Pos) -#define CAN_TXBTIE_TIE18_Pos 18 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 18 */ -#define CAN_TXBTIE_TIE18 (_U_(0x1) << CAN_TXBTIE_TIE18_Pos) -#define CAN_TXBTIE_TIE19_Pos 19 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 19 */ -#define CAN_TXBTIE_TIE19 (_U_(0x1) << CAN_TXBTIE_TIE19_Pos) -#define CAN_TXBTIE_TIE20_Pos 20 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 20 */ -#define CAN_TXBTIE_TIE20 (_U_(0x1) << CAN_TXBTIE_TIE20_Pos) -#define CAN_TXBTIE_TIE21_Pos 21 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 21 */ -#define CAN_TXBTIE_TIE21 (_U_(0x1) << CAN_TXBTIE_TIE21_Pos) -#define CAN_TXBTIE_TIE22_Pos 22 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 22 */ -#define CAN_TXBTIE_TIE22 (_U_(0x1) << CAN_TXBTIE_TIE22_Pos) -#define CAN_TXBTIE_TIE23_Pos 23 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 23 */ -#define CAN_TXBTIE_TIE23 (_U_(0x1) << CAN_TXBTIE_TIE23_Pos) -#define CAN_TXBTIE_TIE24_Pos 24 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 24 */ -#define CAN_TXBTIE_TIE24 (_U_(0x1) << CAN_TXBTIE_TIE24_Pos) -#define CAN_TXBTIE_TIE25_Pos 25 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 25 */ -#define CAN_TXBTIE_TIE25 (_U_(0x1) << CAN_TXBTIE_TIE25_Pos) -#define CAN_TXBTIE_TIE26_Pos 26 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 26 */ -#define CAN_TXBTIE_TIE26 (_U_(0x1) << CAN_TXBTIE_TIE26_Pos) -#define CAN_TXBTIE_TIE27_Pos 27 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 27 */ -#define CAN_TXBTIE_TIE27 (_U_(0x1) << CAN_TXBTIE_TIE27_Pos) -#define CAN_TXBTIE_TIE28_Pos 28 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 28 */ -#define CAN_TXBTIE_TIE28 (_U_(0x1) << CAN_TXBTIE_TIE28_Pos) -#define CAN_TXBTIE_TIE29_Pos 29 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 29 */ -#define CAN_TXBTIE_TIE29 (_U_(0x1) << CAN_TXBTIE_TIE29_Pos) -#define CAN_TXBTIE_TIE30_Pos 30 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 30 */ -#define CAN_TXBTIE_TIE30 (_U_(0x1) << CAN_TXBTIE_TIE30_Pos) -#define CAN_TXBTIE_TIE31_Pos 31 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 31 */ -#define CAN_TXBTIE_TIE31 (_U_(0x1) << CAN_TXBTIE_TIE31_Pos) -#define CAN_TXBTIE_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBTIE) MASK Register */ - -/* -------- CAN_TXBCIE : (CAN Offset: 0xE4) (R/W 32) Tx Buffer Cancellation Finished Interrupt Enable -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t CFIE0:1; /*!< bit: 0 Cancellation Finished Interrupt Enable 0 */ - uint32_t CFIE1:1; /*!< bit: 1 Cancellation Finished Interrupt Enable 1 */ - uint32_t CFIE2:1; /*!< bit: 2 Cancellation Finished Interrupt Enable 2 */ - uint32_t CFIE3:1; /*!< bit: 3 Cancellation Finished Interrupt Enable 3 */ - uint32_t CFIE4:1; /*!< bit: 4 Cancellation Finished Interrupt Enable 4 */ - uint32_t CFIE5:1; /*!< bit: 5 Cancellation Finished Interrupt Enable 5 */ - uint32_t CFIE6:1; /*!< bit: 6 Cancellation Finished Interrupt Enable 6 */ - uint32_t CFIE7:1; /*!< bit: 7 Cancellation Finished Interrupt Enable 7 */ - uint32_t CFIE8:1; /*!< bit: 8 Cancellation Finished Interrupt Enable 8 */ - uint32_t CFIE9:1; /*!< bit: 9 Cancellation Finished Interrupt Enable 9 */ - uint32_t CFIE10:1; /*!< bit: 10 Cancellation Finished Interrupt Enable 10 */ - uint32_t CFIE11:1; /*!< bit: 11 Cancellation Finished Interrupt Enable 11 */ - uint32_t CFIE12:1; /*!< bit: 12 Cancellation Finished Interrupt Enable 12 */ - uint32_t CFIE13:1; /*!< bit: 13 Cancellation Finished Interrupt Enable 13 */ - uint32_t CFIE14:1; /*!< bit: 14 Cancellation Finished Interrupt Enable 14 */ - uint32_t CFIE15:1; /*!< bit: 15 Cancellation Finished Interrupt Enable 15 */ - uint32_t CFIE16:1; /*!< bit: 16 Cancellation Finished Interrupt Enable 16 */ - uint32_t CFIE17:1; /*!< bit: 17 Cancellation Finished Interrupt Enable 17 */ - uint32_t CFIE18:1; /*!< bit: 18 Cancellation Finished Interrupt Enable 18 */ - uint32_t CFIE19:1; /*!< bit: 19 Cancellation Finished Interrupt Enable 19 */ - uint32_t CFIE20:1; /*!< bit: 20 Cancellation Finished Interrupt Enable 20 */ - uint32_t CFIE21:1; /*!< bit: 21 Cancellation Finished Interrupt Enable 21 */ - uint32_t CFIE22:1; /*!< bit: 22 Cancellation Finished Interrupt Enable 22 */ - uint32_t CFIE23:1; /*!< bit: 23 Cancellation Finished Interrupt Enable 23 */ - uint32_t CFIE24:1; /*!< bit: 24 Cancellation Finished Interrupt Enable 24 */ - uint32_t CFIE25:1; /*!< bit: 25 Cancellation Finished Interrupt Enable 25 */ - uint32_t CFIE26:1; /*!< bit: 26 Cancellation Finished Interrupt Enable 26 */ - uint32_t CFIE27:1; /*!< bit: 27 Cancellation Finished Interrupt Enable 27 */ - uint32_t CFIE28:1; /*!< bit: 28 Cancellation Finished Interrupt Enable 28 */ - uint32_t CFIE29:1; /*!< bit: 29 Cancellation Finished Interrupt Enable 29 */ - uint32_t CFIE30:1; /*!< bit: 30 Cancellation Finished Interrupt Enable 30 */ - uint32_t CFIE31:1; /*!< bit: 31 Cancellation Finished Interrupt Enable 31 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBCIE_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBCIE_OFFSET 0xE4 /**< \brief (CAN_TXBCIE offset) Tx Buffer Cancellation Finished Interrupt Enable */ -#define CAN_TXBCIE_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBCIE reset_value) Tx Buffer Cancellation Finished Interrupt Enable */ - -#define CAN_TXBCIE_CFIE0_Pos 0 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 0 */ -#define CAN_TXBCIE_CFIE0 (_U_(0x1) << CAN_TXBCIE_CFIE0_Pos) -#define CAN_TXBCIE_CFIE1_Pos 1 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 1 */ -#define CAN_TXBCIE_CFIE1 (_U_(0x1) << CAN_TXBCIE_CFIE1_Pos) -#define CAN_TXBCIE_CFIE2_Pos 2 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 2 */ -#define CAN_TXBCIE_CFIE2 (_U_(0x1) << CAN_TXBCIE_CFIE2_Pos) -#define CAN_TXBCIE_CFIE3_Pos 3 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 3 */ -#define CAN_TXBCIE_CFIE3 (_U_(0x1) << CAN_TXBCIE_CFIE3_Pos) -#define CAN_TXBCIE_CFIE4_Pos 4 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 4 */ -#define CAN_TXBCIE_CFIE4 (_U_(0x1) << CAN_TXBCIE_CFIE4_Pos) -#define CAN_TXBCIE_CFIE5_Pos 5 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 5 */ -#define CAN_TXBCIE_CFIE5 (_U_(0x1) << CAN_TXBCIE_CFIE5_Pos) -#define CAN_TXBCIE_CFIE6_Pos 6 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 6 */ -#define CAN_TXBCIE_CFIE6 (_U_(0x1) << CAN_TXBCIE_CFIE6_Pos) -#define CAN_TXBCIE_CFIE7_Pos 7 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 7 */ -#define CAN_TXBCIE_CFIE7 (_U_(0x1) << CAN_TXBCIE_CFIE7_Pos) -#define CAN_TXBCIE_CFIE8_Pos 8 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 8 */ -#define CAN_TXBCIE_CFIE8 (_U_(0x1) << CAN_TXBCIE_CFIE8_Pos) -#define CAN_TXBCIE_CFIE9_Pos 9 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 9 */ -#define CAN_TXBCIE_CFIE9 (_U_(0x1) << CAN_TXBCIE_CFIE9_Pos) -#define CAN_TXBCIE_CFIE10_Pos 10 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 10 */ -#define CAN_TXBCIE_CFIE10 (_U_(0x1) << CAN_TXBCIE_CFIE10_Pos) -#define CAN_TXBCIE_CFIE11_Pos 11 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 11 */ -#define CAN_TXBCIE_CFIE11 (_U_(0x1) << CAN_TXBCIE_CFIE11_Pos) -#define CAN_TXBCIE_CFIE12_Pos 12 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 12 */ -#define CAN_TXBCIE_CFIE12 (_U_(0x1) << CAN_TXBCIE_CFIE12_Pos) -#define CAN_TXBCIE_CFIE13_Pos 13 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 13 */ -#define CAN_TXBCIE_CFIE13 (_U_(0x1) << CAN_TXBCIE_CFIE13_Pos) -#define CAN_TXBCIE_CFIE14_Pos 14 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 14 */ -#define CAN_TXBCIE_CFIE14 (_U_(0x1) << CAN_TXBCIE_CFIE14_Pos) -#define CAN_TXBCIE_CFIE15_Pos 15 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 15 */ -#define CAN_TXBCIE_CFIE15 (_U_(0x1) << CAN_TXBCIE_CFIE15_Pos) -#define CAN_TXBCIE_CFIE16_Pos 16 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 16 */ -#define CAN_TXBCIE_CFIE16 (_U_(0x1) << CAN_TXBCIE_CFIE16_Pos) -#define CAN_TXBCIE_CFIE17_Pos 17 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 17 */ -#define CAN_TXBCIE_CFIE17 (_U_(0x1) << CAN_TXBCIE_CFIE17_Pos) -#define CAN_TXBCIE_CFIE18_Pos 18 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 18 */ -#define CAN_TXBCIE_CFIE18 (_U_(0x1) << CAN_TXBCIE_CFIE18_Pos) -#define CAN_TXBCIE_CFIE19_Pos 19 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 19 */ -#define CAN_TXBCIE_CFIE19 (_U_(0x1) << CAN_TXBCIE_CFIE19_Pos) -#define CAN_TXBCIE_CFIE20_Pos 20 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 20 */ -#define CAN_TXBCIE_CFIE20 (_U_(0x1) << CAN_TXBCIE_CFIE20_Pos) -#define CAN_TXBCIE_CFIE21_Pos 21 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 21 */ -#define CAN_TXBCIE_CFIE21 (_U_(0x1) << CAN_TXBCIE_CFIE21_Pos) -#define CAN_TXBCIE_CFIE22_Pos 22 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 22 */ -#define CAN_TXBCIE_CFIE22 (_U_(0x1) << CAN_TXBCIE_CFIE22_Pos) -#define CAN_TXBCIE_CFIE23_Pos 23 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 23 */ -#define CAN_TXBCIE_CFIE23 (_U_(0x1) << CAN_TXBCIE_CFIE23_Pos) -#define CAN_TXBCIE_CFIE24_Pos 24 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 24 */ -#define CAN_TXBCIE_CFIE24 (_U_(0x1) << CAN_TXBCIE_CFIE24_Pos) -#define CAN_TXBCIE_CFIE25_Pos 25 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 25 */ -#define CAN_TXBCIE_CFIE25 (_U_(0x1) << CAN_TXBCIE_CFIE25_Pos) -#define CAN_TXBCIE_CFIE26_Pos 26 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 26 */ -#define CAN_TXBCIE_CFIE26 (_U_(0x1) << CAN_TXBCIE_CFIE26_Pos) -#define CAN_TXBCIE_CFIE27_Pos 27 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 27 */ -#define CAN_TXBCIE_CFIE27 (_U_(0x1) << CAN_TXBCIE_CFIE27_Pos) -#define CAN_TXBCIE_CFIE28_Pos 28 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 28 */ -#define CAN_TXBCIE_CFIE28 (_U_(0x1) << CAN_TXBCIE_CFIE28_Pos) -#define CAN_TXBCIE_CFIE29_Pos 29 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 29 */ -#define CAN_TXBCIE_CFIE29 (_U_(0x1) << CAN_TXBCIE_CFIE29_Pos) -#define CAN_TXBCIE_CFIE30_Pos 30 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 30 */ -#define CAN_TXBCIE_CFIE30 (_U_(0x1) << CAN_TXBCIE_CFIE30_Pos) -#define CAN_TXBCIE_CFIE31_Pos 31 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 31 */ -#define CAN_TXBCIE_CFIE31 (_U_(0x1) << CAN_TXBCIE_CFIE31_Pos) -#define CAN_TXBCIE_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBCIE) MASK Register */ - -/* -------- CAN_TXEFC : (CAN Offset: 0xF0) (R/W 32) Tx Event FIFO Configuration -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t EFSA:16; /*!< bit: 0..15 Event FIFO Start Address */ - uint32_t EFS:6; /*!< bit: 16..21 Event FIFO Size */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t EFWM:6; /*!< bit: 24..29 Event FIFO Watermark */ - uint32_t :2; /*!< bit: 30..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXEFC_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXEFC_OFFSET 0xF0 /**< \brief (CAN_TXEFC offset) Tx Event FIFO Configuration */ -#define CAN_TXEFC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFC reset_value) Tx Event FIFO Configuration */ - -#define CAN_TXEFC_EFSA_Pos 0 /**< \brief (CAN_TXEFC) Event FIFO Start Address */ -#define CAN_TXEFC_EFSA_Msk (_U_(0xFFFF) << CAN_TXEFC_EFSA_Pos) -#define CAN_TXEFC_EFSA(value) (CAN_TXEFC_EFSA_Msk & ((value) << CAN_TXEFC_EFSA_Pos)) -#define CAN_TXEFC_EFS_Pos 16 /**< \brief (CAN_TXEFC) Event FIFO Size */ -#define CAN_TXEFC_EFS_Msk (_U_(0x3F) << CAN_TXEFC_EFS_Pos) -#define CAN_TXEFC_EFS(value) (CAN_TXEFC_EFS_Msk & ((value) << CAN_TXEFC_EFS_Pos)) -#define CAN_TXEFC_EFWM_Pos 24 /**< \brief (CAN_TXEFC) Event FIFO Watermark */ -#define CAN_TXEFC_EFWM_Msk (_U_(0x3F) << CAN_TXEFC_EFWM_Pos) -#define CAN_TXEFC_EFWM(value) (CAN_TXEFC_EFWM_Msk & ((value) << CAN_TXEFC_EFWM_Pos)) -#define CAN_TXEFC_MASK _U_(0x3F3FFFFF) /**< \brief (CAN_TXEFC) MASK Register */ - -/* -------- CAN_TXEFS : (CAN Offset: 0xF4) (R/ 32) Tx Event FIFO Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t EFFL:6; /*!< bit: 0.. 5 Event FIFO Fill Level */ - uint32_t :2; /*!< bit: 6.. 7 Reserved */ - uint32_t EFGI:5; /*!< bit: 8..12 Event FIFO Get Index */ - uint32_t :3; /*!< bit: 13..15 Reserved */ - uint32_t EFPI:5; /*!< bit: 16..20 Event FIFO Put Index */ - uint32_t :3; /*!< bit: 21..23 Reserved */ - uint32_t EFF:1; /*!< bit: 24 Event FIFO Full */ - uint32_t TEFL:1; /*!< bit: 25 Tx Event FIFO Element Lost */ - uint32_t :6; /*!< bit: 26..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXEFS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXEFS_OFFSET 0xF4 /**< \brief (CAN_TXEFS offset) Tx Event FIFO Status */ -#define CAN_TXEFS_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFS reset_value) Tx Event FIFO Status */ - -#define CAN_TXEFS_EFFL_Pos 0 /**< \brief (CAN_TXEFS) Event FIFO Fill Level */ -#define CAN_TXEFS_EFFL_Msk (_U_(0x3F) << CAN_TXEFS_EFFL_Pos) -#define CAN_TXEFS_EFFL(value) (CAN_TXEFS_EFFL_Msk & ((value) << CAN_TXEFS_EFFL_Pos)) -#define CAN_TXEFS_EFGI_Pos 8 /**< \brief (CAN_TXEFS) Event FIFO Get Index */ -#define CAN_TXEFS_EFGI_Msk (_U_(0x1F) << CAN_TXEFS_EFGI_Pos) -#define CAN_TXEFS_EFGI(value) (CAN_TXEFS_EFGI_Msk & ((value) << CAN_TXEFS_EFGI_Pos)) -#define CAN_TXEFS_EFPI_Pos 16 /**< \brief (CAN_TXEFS) Event FIFO Put Index */ -#define CAN_TXEFS_EFPI_Msk (_U_(0x1F) << CAN_TXEFS_EFPI_Pos) -#define CAN_TXEFS_EFPI(value) (CAN_TXEFS_EFPI_Msk & ((value) << CAN_TXEFS_EFPI_Pos)) -#define CAN_TXEFS_EFF_Pos 24 /**< \brief (CAN_TXEFS) Event FIFO Full */ -#define CAN_TXEFS_EFF (_U_(0x1) << CAN_TXEFS_EFF_Pos) -#define CAN_TXEFS_TEFL_Pos 25 /**< \brief (CAN_TXEFS) Tx Event FIFO Element Lost */ -#define CAN_TXEFS_TEFL (_U_(0x1) << CAN_TXEFS_TEFL_Pos) -#define CAN_TXEFS_MASK _U_(0x031F1F3F) /**< \brief (CAN_TXEFS) MASK Register */ - -/* -------- CAN_TXEFA : (CAN Offset: 0xF8) (R/W 32) Tx Event FIFO Acknowledge -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t EFAI:5; /*!< bit: 0.. 4 Event FIFO Acknowledge Index */ - uint32_t :27; /*!< bit: 5..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXEFA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXEFA_OFFSET 0xF8 /**< \brief (CAN_TXEFA offset) Tx Event FIFO Acknowledge */ -#define CAN_TXEFA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFA reset_value) Tx Event FIFO Acknowledge */ - -#define CAN_TXEFA_EFAI_Pos 0 /**< \brief (CAN_TXEFA) Event FIFO Acknowledge Index */ -#define CAN_TXEFA_EFAI_Msk (_U_(0x1F) << CAN_TXEFA_EFAI_Pos) -#define CAN_TXEFA_EFAI(value) (CAN_TXEFA_EFAI_Msk & ((value) << CAN_TXEFA_EFAI_Pos)) -#define CAN_TXEFA_MASK _U_(0x0000001F) /**< \brief (CAN_TXEFA) MASK Register */ - -/* -------- CAN_RXBE_0 : (CAN Offset: 0x00) (R/W 32) Rx Buffer Element 0 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ID:29; /*!< bit: 0..28 Identifier */ - uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ - uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ - uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXBE_0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXBE_0_OFFSET 0x00 /**< \brief (CAN_RXBE_0 offset) Rx Buffer Element 0 */ -#define CAN_RXBE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXBE_0 reset_value) Rx Buffer Element 0 */ - -#define CAN_RXBE_0_ID_Pos 0 /**< \brief (CAN_RXBE_0) Identifier */ -#define CAN_RXBE_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_RXBE_0_ID_Pos) -#define CAN_RXBE_0_ID(value) (CAN_RXBE_0_ID_Msk & ((value) << CAN_RXBE_0_ID_Pos)) -#define CAN_RXBE_0_RTR_Pos 29 /**< \brief (CAN_RXBE_0) Remote Transmission Request */ -#define CAN_RXBE_0_RTR (_U_(0x1) << CAN_RXBE_0_RTR_Pos) -#define CAN_RXBE_0_XTD_Pos 30 /**< \brief (CAN_RXBE_0) Extended Identifier */ -#define CAN_RXBE_0_XTD (_U_(0x1) << CAN_RXBE_0_XTD_Pos) -#define CAN_RXBE_0_ESI_Pos 31 /**< \brief (CAN_RXBE_0) Error State Indicator */ -#define CAN_RXBE_0_ESI (_U_(0x1) << CAN_RXBE_0_ESI_Pos) -#define CAN_RXBE_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXBE_0) MASK Register */ - -/* -------- CAN_RXBE_1 : (CAN Offset: 0x04) (R/W 32) Rx Buffer Element 1 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ - uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ - uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ - uint32_t FDF:1; /*!< bit: 21 FD Format */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ - uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXBE_1_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXBE_1_OFFSET 0x04 /**< \brief (CAN_RXBE_1 offset) Rx Buffer Element 1 */ -#define CAN_RXBE_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXBE_1 reset_value) Rx Buffer Element 1 */ - -#define CAN_RXBE_1_RXTS_Pos 0 /**< \brief (CAN_RXBE_1) Rx Timestamp */ -#define CAN_RXBE_1_RXTS_Msk (_U_(0xFFFF) << CAN_RXBE_1_RXTS_Pos) -#define CAN_RXBE_1_RXTS(value) (CAN_RXBE_1_RXTS_Msk & ((value) << CAN_RXBE_1_RXTS_Pos)) -#define CAN_RXBE_1_DLC_Pos 16 /**< \brief (CAN_RXBE_1) Data Length Code */ -#define CAN_RXBE_1_DLC_Msk (_U_(0xF) << CAN_RXBE_1_DLC_Pos) -#define CAN_RXBE_1_DLC(value) (CAN_RXBE_1_DLC_Msk & ((value) << CAN_RXBE_1_DLC_Pos)) -#define CAN_RXBE_1_BRS_Pos 20 /**< \brief (CAN_RXBE_1) Bit Rate Search */ -#define CAN_RXBE_1_BRS (_U_(0x1) << CAN_RXBE_1_BRS_Pos) -#define CAN_RXBE_1_FDF_Pos 21 /**< \brief (CAN_RXBE_1) FD Format */ -#define CAN_RXBE_1_FDF (_U_(0x1) << CAN_RXBE_1_FDF_Pos) -#define CAN_RXBE_1_FIDX_Pos 24 /**< \brief (CAN_RXBE_1) Filter Index */ -#define CAN_RXBE_1_FIDX_Msk (_U_(0x7F) << CAN_RXBE_1_FIDX_Pos) -#define CAN_RXBE_1_FIDX(value) (CAN_RXBE_1_FIDX_Msk & ((value) << CAN_RXBE_1_FIDX_Pos)) -#define CAN_RXBE_1_ANMF_Pos 31 /**< \brief (CAN_RXBE_1) Accepted Non-matching Frame */ -#define CAN_RXBE_1_ANMF (_U_(0x1) << CAN_RXBE_1_ANMF_Pos) -#define CAN_RXBE_1_MASK _U_(0xFF3FFFFF) /**< \brief (CAN_RXBE_1) MASK Register */ - -/* -------- CAN_RXBE_DATA : (CAN Offset: 0x08) (R/W 32) Rx Buffer Element Data -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ - uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ - uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ - uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXBE_DATA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXBE_DATA_OFFSET 0x08 /**< \brief (CAN_RXBE_DATA offset) Rx Buffer Element Data */ -#define CAN_RXBE_DATA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXBE_DATA reset_value) Rx Buffer Element Data */ - -#define CAN_RXBE_DATA_DB0_Pos 0 /**< \brief (CAN_RXBE_DATA) Data Byte 0 */ -#define CAN_RXBE_DATA_DB0_Msk (_U_(0xFF) << CAN_RXBE_DATA_DB0_Pos) -#define CAN_RXBE_DATA_DB0(value) (CAN_RXBE_DATA_DB0_Msk & ((value) << CAN_RXBE_DATA_DB0_Pos)) -#define CAN_RXBE_DATA_DB1_Pos 8 /**< \brief (CAN_RXBE_DATA) Data Byte 1 */ -#define CAN_RXBE_DATA_DB1_Msk (_U_(0xFF) << CAN_RXBE_DATA_DB1_Pos) -#define CAN_RXBE_DATA_DB1(value) (CAN_RXBE_DATA_DB1_Msk & ((value) << CAN_RXBE_DATA_DB1_Pos)) -#define CAN_RXBE_DATA_DB2_Pos 16 /**< \brief (CAN_RXBE_DATA) Data Byte 2 */ -#define CAN_RXBE_DATA_DB2_Msk (_U_(0xFF) << CAN_RXBE_DATA_DB2_Pos) -#define CAN_RXBE_DATA_DB2(value) (CAN_RXBE_DATA_DB2_Msk & ((value) << CAN_RXBE_DATA_DB2_Pos)) -#define CAN_RXBE_DATA_DB3_Pos 24 /**< \brief (CAN_RXBE_DATA) Data Byte 3 */ -#define CAN_RXBE_DATA_DB3_Msk (_U_(0xFF) << CAN_RXBE_DATA_DB3_Pos) -#define CAN_RXBE_DATA_DB3(value) (CAN_RXBE_DATA_DB3_Msk & ((value) << CAN_RXBE_DATA_DB3_Pos)) -#define CAN_RXBE_DATA_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXBE_DATA) MASK Register */ - -/* -------- CAN_RXF0E_0 : (CAN Offset: 0x00) (R/W 32) Rx FIFO 0 Element 0 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ID:29; /*!< bit: 0..28 Identifier */ - uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ - uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ - uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF0E_0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF0E_0_OFFSET 0x00 /**< \brief (CAN_RXF0E_0 offset) Rx FIFO 0 Element 0 */ -#define CAN_RXF0E_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0E_0 reset_value) Rx FIFO 0 Element 0 */ - -#define CAN_RXF0E_0_ID_Pos 0 /**< \brief (CAN_RXF0E_0) Identifier */ -#define CAN_RXF0E_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_RXF0E_0_ID_Pos) -#define CAN_RXF0E_0_ID(value) (CAN_RXF0E_0_ID_Msk & ((value) << CAN_RXF0E_0_ID_Pos)) -#define CAN_RXF0E_0_RTR_Pos 29 /**< \brief (CAN_RXF0E_0) Remote Transmission Request */ -#define CAN_RXF0E_0_RTR (_U_(0x1) << CAN_RXF0E_0_RTR_Pos) -#define CAN_RXF0E_0_XTD_Pos 30 /**< \brief (CAN_RXF0E_0) Extended Identifier */ -#define CAN_RXF0E_0_XTD (_U_(0x1) << CAN_RXF0E_0_XTD_Pos) -#define CAN_RXF0E_0_ESI_Pos 31 /**< \brief (CAN_RXF0E_0) Error State Indicator */ -#define CAN_RXF0E_0_ESI (_U_(0x1) << CAN_RXF0E_0_ESI_Pos) -#define CAN_RXF0E_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXF0E_0) MASK Register */ - -/* -------- CAN_RXF0E_1 : (CAN Offset: 0x04) (R/W 32) Rx FIFO 0 Element 1 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ - uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ - uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ - uint32_t FDF:1; /*!< bit: 21 FD Format */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ - uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF0E_1_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF0E_1_OFFSET 0x04 /**< \brief (CAN_RXF0E_1 offset) Rx FIFO 0 Element 1 */ -#define CAN_RXF0E_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0E_1 reset_value) Rx FIFO 0 Element 1 */ - -#define CAN_RXF0E_1_RXTS_Pos 0 /**< \brief (CAN_RXF0E_1) Rx Timestamp */ -#define CAN_RXF0E_1_RXTS_Msk (_U_(0xFFFF) << CAN_RXF0E_1_RXTS_Pos) -#define CAN_RXF0E_1_RXTS(value) (CAN_RXF0E_1_RXTS_Msk & ((value) << CAN_RXF0E_1_RXTS_Pos)) -#define CAN_RXF0E_1_DLC_Pos 16 /**< \brief (CAN_RXF0E_1) Data Length Code */ -#define CAN_RXF0E_1_DLC_Msk (_U_(0xF) << CAN_RXF0E_1_DLC_Pos) -#define CAN_RXF0E_1_DLC(value) (CAN_RXF0E_1_DLC_Msk & ((value) << CAN_RXF0E_1_DLC_Pos)) -#define CAN_RXF0E_1_BRS_Pos 20 /**< \brief (CAN_RXF0E_1) Bit Rate Search */ -#define CAN_RXF0E_1_BRS (_U_(0x1) << CAN_RXF0E_1_BRS_Pos) -#define CAN_RXF0E_1_FDF_Pos 21 /**< \brief (CAN_RXF0E_1) FD Format */ -#define CAN_RXF0E_1_FDF (_U_(0x1) << CAN_RXF0E_1_FDF_Pos) -#define CAN_RXF0E_1_FIDX_Pos 24 /**< \brief (CAN_RXF0E_1) Filter Index */ -#define CAN_RXF0E_1_FIDX_Msk (_U_(0x7F) << CAN_RXF0E_1_FIDX_Pos) -#define CAN_RXF0E_1_FIDX(value) (CAN_RXF0E_1_FIDX_Msk & ((value) << CAN_RXF0E_1_FIDX_Pos)) -#define CAN_RXF0E_1_ANMF_Pos 31 /**< \brief (CAN_RXF0E_1) Accepted Non-matching Frame */ -#define CAN_RXF0E_1_ANMF (_U_(0x1) << CAN_RXF0E_1_ANMF_Pos) -#define CAN_RXF0E_1_MASK _U_(0xFF3FFFFF) /**< \brief (CAN_RXF0E_1) MASK Register */ - -/* -------- CAN_RXF0E_DATA : (CAN Offset: 0x08) (R/W 32) Rx FIFO 0 Element Data -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ - uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ - uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ - uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF0E_DATA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF0E_DATA_OFFSET 0x08 /**< \brief (CAN_RXF0E_DATA offset) Rx FIFO 0 Element Data */ -#define CAN_RXF0E_DATA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0E_DATA reset_value) Rx FIFO 0 Element Data */ - -#define CAN_RXF0E_DATA_DB0_Pos 0 /**< \brief (CAN_RXF0E_DATA) Data Byte 0 */ -#define CAN_RXF0E_DATA_DB0_Msk (_U_(0xFF) << CAN_RXF0E_DATA_DB0_Pos) -#define CAN_RXF0E_DATA_DB0(value) (CAN_RXF0E_DATA_DB0_Msk & ((value) << CAN_RXF0E_DATA_DB0_Pos)) -#define CAN_RXF0E_DATA_DB1_Pos 8 /**< \brief (CAN_RXF0E_DATA) Data Byte 1 */ -#define CAN_RXF0E_DATA_DB1_Msk (_U_(0xFF) << CAN_RXF0E_DATA_DB1_Pos) -#define CAN_RXF0E_DATA_DB1(value) (CAN_RXF0E_DATA_DB1_Msk & ((value) << CAN_RXF0E_DATA_DB1_Pos)) -#define CAN_RXF0E_DATA_DB2_Pos 16 /**< \brief (CAN_RXF0E_DATA) Data Byte 2 */ -#define CAN_RXF0E_DATA_DB2_Msk (_U_(0xFF) << CAN_RXF0E_DATA_DB2_Pos) -#define CAN_RXF0E_DATA_DB2(value) (CAN_RXF0E_DATA_DB2_Msk & ((value) << CAN_RXF0E_DATA_DB2_Pos)) -#define CAN_RXF0E_DATA_DB3_Pos 24 /**< \brief (CAN_RXF0E_DATA) Data Byte 3 */ -#define CAN_RXF0E_DATA_DB3_Msk (_U_(0xFF) << CAN_RXF0E_DATA_DB3_Pos) -#define CAN_RXF0E_DATA_DB3(value) (CAN_RXF0E_DATA_DB3_Msk & ((value) << CAN_RXF0E_DATA_DB3_Pos)) -#define CAN_RXF0E_DATA_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXF0E_DATA) MASK Register */ - -/* -------- CAN_RXF1E_0 : (CAN Offset: 0x00) (R/W 32) Rx FIFO 1 Element 0 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ID:29; /*!< bit: 0..28 Identifier */ - uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ - uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ - uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF1E_0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF1E_0_OFFSET 0x00 /**< \brief (CAN_RXF1E_0 offset) Rx FIFO 1 Element 0 */ -#define CAN_RXF1E_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1E_0 reset_value) Rx FIFO 1 Element 0 */ - -#define CAN_RXF1E_0_ID_Pos 0 /**< \brief (CAN_RXF1E_0) Identifier */ -#define CAN_RXF1E_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_RXF1E_0_ID_Pos) -#define CAN_RXF1E_0_ID(value) (CAN_RXF1E_0_ID_Msk & ((value) << CAN_RXF1E_0_ID_Pos)) -#define CAN_RXF1E_0_RTR_Pos 29 /**< \brief (CAN_RXF1E_0) Remote Transmission Request */ -#define CAN_RXF1E_0_RTR (_U_(0x1) << CAN_RXF1E_0_RTR_Pos) -#define CAN_RXF1E_0_XTD_Pos 30 /**< \brief (CAN_RXF1E_0) Extended Identifier */ -#define CAN_RXF1E_0_XTD (_U_(0x1) << CAN_RXF1E_0_XTD_Pos) -#define CAN_RXF1E_0_ESI_Pos 31 /**< \brief (CAN_RXF1E_0) Error State Indicator */ -#define CAN_RXF1E_0_ESI (_U_(0x1) << CAN_RXF1E_0_ESI_Pos) -#define CAN_RXF1E_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXF1E_0) MASK Register */ - -/* -------- CAN_RXF1E_1 : (CAN Offset: 0x04) (R/W 32) Rx FIFO 1 Element 1 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ - uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ - uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ - uint32_t FDF:1; /*!< bit: 21 FD Format */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ - uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF1E_1_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF1E_1_OFFSET 0x04 /**< \brief (CAN_RXF1E_1 offset) Rx FIFO 1 Element 1 */ -#define CAN_RXF1E_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1E_1 reset_value) Rx FIFO 1 Element 1 */ - -#define CAN_RXF1E_1_RXTS_Pos 0 /**< \brief (CAN_RXF1E_1) Rx Timestamp */ -#define CAN_RXF1E_1_RXTS_Msk (_U_(0xFFFF) << CAN_RXF1E_1_RXTS_Pos) -#define CAN_RXF1E_1_RXTS(value) (CAN_RXF1E_1_RXTS_Msk & ((value) << CAN_RXF1E_1_RXTS_Pos)) -#define CAN_RXF1E_1_DLC_Pos 16 /**< \brief (CAN_RXF1E_1) Data Length Code */ -#define CAN_RXF1E_1_DLC_Msk (_U_(0xF) << CAN_RXF1E_1_DLC_Pos) -#define CAN_RXF1E_1_DLC(value) (CAN_RXF1E_1_DLC_Msk & ((value) << CAN_RXF1E_1_DLC_Pos)) -#define CAN_RXF1E_1_BRS_Pos 20 /**< \brief (CAN_RXF1E_1) Bit Rate Search */ -#define CAN_RXF1E_1_BRS (_U_(0x1) << CAN_RXF1E_1_BRS_Pos) -#define CAN_RXF1E_1_FDF_Pos 21 /**< \brief (CAN_RXF1E_1) FD Format */ -#define CAN_RXF1E_1_FDF (_U_(0x1) << CAN_RXF1E_1_FDF_Pos) -#define CAN_RXF1E_1_FIDX_Pos 24 /**< \brief (CAN_RXF1E_1) Filter Index */ -#define CAN_RXF1E_1_FIDX_Msk (_U_(0x7F) << CAN_RXF1E_1_FIDX_Pos) -#define CAN_RXF1E_1_FIDX(value) (CAN_RXF1E_1_FIDX_Msk & ((value) << CAN_RXF1E_1_FIDX_Pos)) -#define CAN_RXF1E_1_ANMF_Pos 31 /**< \brief (CAN_RXF1E_1) Accepted Non-matching Frame */ -#define CAN_RXF1E_1_ANMF (_U_(0x1) << CAN_RXF1E_1_ANMF_Pos) -#define CAN_RXF1E_1_MASK _U_(0xFF3FFFFF) /**< \brief (CAN_RXF1E_1) MASK Register */ - -/* -------- CAN_RXF1E_DATA : (CAN Offset: 0x08) (R/W 32) Rx FIFO 1 Element Data -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ - uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ - uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ - uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_RXF1E_DATA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_RXF1E_DATA_OFFSET 0x08 /**< \brief (CAN_RXF1E_DATA offset) Rx FIFO 1 Element Data */ -#define CAN_RXF1E_DATA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1E_DATA reset_value) Rx FIFO 1 Element Data */ - -#define CAN_RXF1E_DATA_DB0_Pos 0 /**< \brief (CAN_RXF1E_DATA) Data Byte 0 */ -#define CAN_RXF1E_DATA_DB0_Msk (_U_(0xFF) << CAN_RXF1E_DATA_DB0_Pos) -#define CAN_RXF1E_DATA_DB0(value) (CAN_RXF1E_DATA_DB0_Msk & ((value) << CAN_RXF1E_DATA_DB0_Pos)) -#define CAN_RXF1E_DATA_DB1_Pos 8 /**< \brief (CAN_RXF1E_DATA) Data Byte 1 */ -#define CAN_RXF1E_DATA_DB1_Msk (_U_(0xFF) << CAN_RXF1E_DATA_DB1_Pos) -#define CAN_RXF1E_DATA_DB1(value) (CAN_RXF1E_DATA_DB1_Msk & ((value) << CAN_RXF1E_DATA_DB1_Pos)) -#define CAN_RXF1E_DATA_DB2_Pos 16 /**< \brief (CAN_RXF1E_DATA) Data Byte 2 */ -#define CAN_RXF1E_DATA_DB2_Msk (_U_(0xFF) << CAN_RXF1E_DATA_DB2_Pos) -#define CAN_RXF1E_DATA_DB2(value) (CAN_RXF1E_DATA_DB2_Msk & ((value) << CAN_RXF1E_DATA_DB2_Pos)) -#define CAN_RXF1E_DATA_DB3_Pos 24 /**< \brief (CAN_RXF1E_DATA) Data Byte 3 */ -#define CAN_RXF1E_DATA_DB3_Msk (_U_(0xFF) << CAN_RXF1E_DATA_DB3_Pos) -#define CAN_RXF1E_DATA_DB3(value) (CAN_RXF1E_DATA_DB3_Msk & ((value) << CAN_RXF1E_DATA_DB3_Pos)) -#define CAN_RXF1E_DATA_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXF1E_DATA) MASK Register */ - -/* -------- CAN_SIDFE_0 : (CAN Offset: 0x00) (R/W 32) Standard Message ID Filter Element -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t SFID2:11; /*!< bit: 0..10 Standard Filter ID 2 */ - uint32_t :5; /*!< bit: 11..15 Reserved */ - uint32_t SFID1:11; /*!< bit: 16..26 Standard Filter ID 1 */ - uint32_t SFEC:3; /*!< bit: 27..29 Standard Filter Element Configuration */ - uint32_t SFT:2; /*!< bit: 30..31 Standard Filter Type */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_SIDFE_0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_SIDFE_0_OFFSET 0x00 /**< \brief (CAN_SIDFE_0 offset) Standard Message ID Filter Element */ -#define CAN_SIDFE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_SIDFE_0 reset_value) Standard Message ID Filter Element */ - -#define CAN_SIDFE_0_SFID2_Pos 0 /**< \brief (CAN_SIDFE_0) Standard Filter ID 2 */ -#define CAN_SIDFE_0_SFID2_Msk (_U_(0x7FF) << CAN_SIDFE_0_SFID2_Pos) -#define CAN_SIDFE_0_SFID2(value) (CAN_SIDFE_0_SFID2_Msk & ((value) << CAN_SIDFE_0_SFID2_Pos)) -#define CAN_SIDFE_0_SFID1_Pos 16 /**< \brief (CAN_SIDFE_0) Standard Filter ID 1 */ -#define CAN_SIDFE_0_SFID1_Msk (_U_(0x7FF) << CAN_SIDFE_0_SFID1_Pos) -#define CAN_SIDFE_0_SFID1(value) (CAN_SIDFE_0_SFID1_Msk & ((value) << CAN_SIDFE_0_SFID1_Pos)) -#define CAN_SIDFE_0_SFEC_Pos 27 /**< \brief (CAN_SIDFE_0) Standard Filter Element Configuration */ -#define CAN_SIDFE_0_SFEC_Msk (_U_(0x7) << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFEC(value) (CAN_SIDFE_0_SFEC_Msk & ((value) << CAN_SIDFE_0_SFEC_Pos)) -#define CAN_SIDFE_0_SFEC_DISABLE_Val _U_(0x0) /**< \brief (CAN_SIDFE_0) Disable filter element */ -#define CAN_SIDFE_0_SFEC_STF0M_Val _U_(0x1) /**< \brief (CAN_SIDFE_0) Store in Rx FIFO 0 if filter match */ -#define CAN_SIDFE_0_SFEC_STF1M_Val _U_(0x2) /**< \brief (CAN_SIDFE_0) Store in Rx FIFO 1 if filter match */ -#define CAN_SIDFE_0_SFEC_REJECT_Val _U_(0x3) /**< \brief (CAN_SIDFE_0) Reject ID if filter match */ -#define CAN_SIDFE_0_SFEC_PRIORITY_Val _U_(0x4) /**< \brief (CAN_SIDFE_0) Set priority if filter match */ -#define CAN_SIDFE_0_SFEC_PRIF0M_Val _U_(0x5) /**< \brief (CAN_SIDFE_0) Set priority and store in FIFO 0 if filter match */ -#define CAN_SIDFE_0_SFEC_PRIF1M_Val _U_(0x6) /**< \brief (CAN_SIDFE_0) Set priority and store in FIFO 1 if filter match */ -#define CAN_SIDFE_0_SFEC_STRXBUF_Val _U_(0x7) /**< \brief (CAN_SIDFE_0) Store into Rx Buffer */ -#define CAN_SIDFE_0_SFEC_DISABLE (CAN_SIDFE_0_SFEC_DISABLE_Val << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFEC_STF0M (CAN_SIDFE_0_SFEC_STF0M_Val << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFEC_STF1M (CAN_SIDFE_0_SFEC_STF1M_Val << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFEC_REJECT (CAN_SIDFE_0_SFEC_REJECT_Val << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFEC_PRIORITY (CAN_SIDFE_0_SFEC_PRIORITY_Val << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFEC_PRIF0M (CAN_SIDFE_0_SFEC_PRIF0M_Val << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFEC_PRIF1M (CAN_SIDFE_0_SFEC_PRIF1M_Val << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFEC_STRXBUF (CAN_SIDFE_0_SFEC_STRXBUF_Val << CAN_SIDFE_0_SFEC_Pos) -#define CAN_SIDFE_0_SFT_Pos 30 /**< \brief (CAN_SIDFE_0) Standard Filter Type */ -#define CAN_SIDFE_0_SFT_Msk (_U_(0x3) << CAN_SIDFE_0_SFT_Pos) -#define CAN_SIDFE_0_SFT(value) (CAN_SIDFE_0_SFT_Msk & ((value) << CAN_SIDFE_0_SFT_Pos)) -#define CAN_SIDFE_0_SFT_RANGE_Val _U_(0x0) /**< \brief (CAN_SIDFE_0) Range filter from SFID1 to SFID2 */ -#define CAN_SIDFE_0_SFT_DUAL_Val _U_(0x1) /**< \brief (CAN_SIDFE_0) Dual ID filter for SFID1 or SFID2 */ -#define CAN_SIDFE_0_SFT_CLASSIC_Val _U_(0x2) /**< \brief (CAN_SIDFE_0) Classic filter */ -#define CAN_SIDFE_0_SFT_RANGE (CAN_SIDFE_0_SFT_RANGE_Val << CAN_SIDFE_0_SFT_Pos) -#define CAN_SIDFE_0_SFT_DUAL (CAN_SIDFE_0_SFT_DUAL_Val << CAN_SIDFE_0_SFT_Pos) -#define CAN_SIDFE_0_SFT_CLASSIC (CAN_SIDFE_0_SFT_CLASSIC_Val << CAN_SIDFE_0_SFT_Pos) -#define CAN_SIDFE_0_MASK _U_(0xFFFF07FF) /**< \brief (CAN_SIDFE_0) MASK Register */ - -/* -------- CAN_TXBE_0 : (CAN Offset: 0x00) (R/W 32) Tx Buffer Element 0 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ID:29; /*!< bit: 0..28 Identifier */ - uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ - uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ - uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBE_0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBE_0_OFFSET 0x00 /**< \brief (CAN_TXBE_0 offset) Tx Buffer Element 0 */ -#define CAN_TXBE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBE_0 reset_value) Tx Buffer Element 0 */ - -#define CAN_TXBE_0_ID_Pos 0 /**< \brief (CAN_TXBE_0) Identifier */ -#define CAN_TXBE_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_TXBE_0_ID_Pos) -#define CAN_TXBE_0_ID(value) (CAN_TXBE_0_ID_Msk & ((value) << CAN_TXBE_0_ID_Pos)) -#define CAN_TXBE_0_RTR_Pos 29 /**< \brief (CAN_TXBE_0) Remote Transmission Request */ -#define CAN_TXBE_0_RTR (_U_(0x1) << CAN_TXBE_0_RTR_Pos) -#define CAN_TXBE_0_XTD_Pos 30 /**< \brief (CAN_TXBE_0) Extended Identifier */ -#define CAN_TXBE_0_XTD (_U_(0x1) << CAN_TXBE_0_XTD_Pos) -#define CAN_TXBE_0_ESI_Pos 31 /**< \brief (CAN_TXBE_0) Error State Indicator */ -#define CAN_TXBE_0_ESI (_U_(0x1) << CAN_TXBE_0_ESI_Pos) -#define CAN_TXBE_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBE_0) MASK Register */ - -/* -------- CAN_TXBE_1 : (CAN Offset: 0x04) (R/W 32) Tx Buffer Element 1 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t :16; /*!< bit: 0..15 Reserved */ - uint32_t DLC:4; /*!< bit: 16..19 Identifier */ - uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ - uint32_t FDF:1; /*!< bit: 21 FD Format */ - uint32_t :1; /*!< bit: 22 Reserved */ - uint32_t EFC:1; /*!< bit: 23 Event FIFO Control */ - uint32_t MM:8; /*!< bit: 24..31 Message Marker */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBE_1_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBE_1_OFFSET 0x04 /**< \brief (CAN_TXBE_1 offset) Tx Buffer Element 1 */ -#define CAN_TXBE_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBE_1 reset_value) Tx Buffer Element 1 */ - -#define CAN_TXBE_1_DLC_Pos 16 /**< \brief (CAN_TXBE_1) Identifier */ -#define CAN_TXBE_1_DLC_Msk (_U_(0xF) << CAN_TXBE_1_DLC_Pos) -#define CAN_TXBE_1_DLC(value) (CAN_TXBE_1_DLC_Msk & ((value) << CAN_TXBE_1_DLC_Pos)) -#define CAN_TXBE_1_BRS_Pos 20 /**< \brief (CAN_TXBE_1) Bit Rate Search */ -#define CAN_TXBE_1_BRS (_U_(0x1) << CAN_TXBE_1_BRS_Pos) -#define CAN_TXBE_1_FDF_Pos 21 /**< \brief (CAN_TXBE_1) FD Format */ -#define CAN_TXBE_1_FDF (_U_(0x1) << CAN_TXBE_1_FDF_Pos) -#define CAN_TXBE_1_EFC_Pos 23 /**< \brief (CAN_TXBE_1) Event FIFO Control */ -#define CAN_TXBE_1_EFC (_U_(0x1) << CAN_TXBE_1_EFC_Pos) -#define CAN_TXBE_1_MM_Pos 24 /**< \brief (CAN_TXBE_1) Message Marker */ -#define CAN_TXBE_1_MM_Msk (_U_(0xFF) << CAN_TXBE_1_MM_Pos) -#define CAN_TXBE_1_MM(value) (CAN_TXBE_1_MM_Msk & ((value) << CAN_TXBE_1_MM_Pos)) -#define CAN_TXBE_1_MASK _U_(0xFFBF0000) /**< \brief (CAN_TXBE_1) MASK Register */ - -/* -------- CAN_TXBE_DATA : (CAN Offset: 0x08) (R/W 32) Tx Buffer Element Data -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ - uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ - uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ - uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXBE_DATA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXBE_DATA_OFFSET 0x08 /**< \brief (CAN_TXBE_DATA offset) Tx Buffer Element Data */ -#define CAN_TXBE_DATA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBE_DATA reset_value) Tx Buffer Element Data */ - -#define CAN_TXBE_DATA_DB0_Pos 0 /**< \brief (CAN_TXBE_DATA) Data Byte 0 */ -#define CAN_TXBE_DATA_DB0_Msk (_U_(0xFF) << CAN_TXBE_DATA_DB0_Pos) -#define CAN_TXBE_DATA_DB0(value) (CAN_TXBE_DATA_DB0_Msk & ((value) << CAN_TXBE_DATA_DB0_Pos)) -#define CAN_TXBE_DATA_DB1_Pos 8 /**< \brief (CAN_TXBE_DATA) Data Byte 1 */ -#define CAN_TXBE_DATA_DB1_Msk (_U_(0xFF) << CAN_TXBE_DATA_DB1_Pos) -#define CAN_TXBE_DATA_DB1(value) (CAN_TXBE_DATA_DB1_Msk & ((value) << CAN_TXBE_DATA_DB1_Pos)) -#define CAN_TXBE_DATA_DB2_Pos 16 /**< \brief (CAN_TXBE_DATA) Data Byte 2 */ -#define CAN_TXBE_DATA_DB2_Msk (_U_(0xFF) << CAN_TXBE_DATA_DB2_Pos) -#define CAN_TXBE_DATA_DB2(value) (CAN_TXBE_DATA_DB2_Msk & ((value) << CAN_TXBE_DATA_DB2_Pos)) -#define CAN_TXBE_DATA_DB3_Pos 24 /**< \brief (CAN_TXBE_DATA) Data Byte 3 */ -#define CAN_TXBE_DATA_DB3_Msk (_U_(0xFF) << CAN_TXBE_DATA_DB3_Pos) -#define CAN_TXBE_DATA_DB3(value) (CAN_TXBE_DATA_DB3_Msk & ((value) << CAN_TXBE_DATA_DB3_Pos)) -#define CAN_TXBE_DATA_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBE_DATA) MASK Register */ - -/* -------- CAN_TXEFE_0 : (CAN Offset: 0x00) (R/W 32) Tx Event FIFO Element 0 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t ID:29; /*!< bit: 0..28 Identifier */ - uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ - uint32_t XTD:1; /*!< bit: 30 Extended Indentifier */ - uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXEFE_0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXEFE_0_OFFSET 0x00 /**< \brief (CAN_TXEFE_0 offset) Tx Event FIFO Element 0 */ -#define CAN_TXEFE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFE_0 reset_value) Tx Event FIFO Element 0 */ - -#define CAN_TXEFE_0_ID_Pos 0 /**< \brief (CAN_TXEFE_0) Identifier */ -#define CAN_TXEFE_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_TXEFE_0_ID_Pos) -#define CAN_TXEFE_0_ID(value) (CAN_TXEFE_0_ID_Msk & ((value) << CAN_TXEFE_0_ID_Pos)) -#define CAN_TXEFE_0_RTR_Pos 29 /**< \brief (CAN_TXEFE_0) Remote Transmission Request */ -#define CAN_TXEFE_0_RTR (_U_(0x1) << CAN_TXEFE_0_RTR_Pos) -#define CAN_TXEFE_0_XTD_Pos 30 /**< \brief (CAN_TXEFE_0) Extended Indentifier */ -#define CAN_TXEFE_0_XTD (_U_(0x1) << CAN_TXEFE_0_XTD_Pos) -#define CAN_TXEFE_0_ESI_Pos 31 /**< \brief (CAN_TXEFE_0) Error State Indicator */ -#define CAN_TXEFE_0_ESI (_U_(0x1) << CAN_TXEFE_0_ESI_Pos) -#define CAN_TXEFE_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXEFE_0) MASK Register */ - -/* -------- CAN_TXEFE_1 : (CAN Offset: 0x04) (R/W 32) Tx Event FIFO Element 1 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t TXTS:16; /*!< bit: 0..15 Tx Timestamp */ - uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ - uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ - uint32_t FDF:1; /*!< bit: 21 FD Format */ - uint32_t ET:2; /*!< bit: 22..23 Event Type */ - uint32_t MM:8; /*!< bit: 24..31 Message Marker */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_TXEFE_1_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_TXEFE_1_OFFSET 0x04 /**< \brief (CAN_TXEFE_1 offset) Tx Event FIFO Element 1 */ -#define CAN_TXEFE_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFE_1 reset_value) Tx Event FIFO Element 1 */ - -#define CAN_TXEFE_1_TXTS_Pos 0 /**< \brief (CAN_TXEFE_1) Tx Timestamp */ -#define CAN_TXEFE_1_TXTS_Msk (_U_(0xFFFF) << CAN_TXEFE_1_TXTS_Pos) -#define CAN_TXEFE_1_TXTS(value) (CAN_TXEFE_1_TXTS_Msk & ((value) << CAN_TXEFE_1_TXTS_Pos)) -#define CAN_TXEFE_1_DLC_Pos 16 /**< \brief (CAN_TXEFE_1) Data Length Code */ -#define CAN_TXEFE_1_DLC_Msk (_U_(0xF) << CAN_TXEFE_1_DLC_Pos) -#define CAN_TXEFE_1_DLC(value) (CAN_TXEFE_1_DLC_Msk & ((value) << CAN_TXEFE_1_DLC_Pos)) -#define CAN_TXEFE_1_BRS_Pos 20 /**< \brief (CAN_TXEFE_1) Bit Rate Search */ -#define CAN_TXEFE_1_BRS (_U_(0x1) << CAN_TXEFE_1_BRS_Pos) -#define CAN_TXEFE_1_FDF_Pos 21 /**< \brief (CAN_TXEFE_1) FD Format */ -#define CAN_TXEFE_1_FDF (_U_(0x1) << CAN_TXEFE_1_FDF_Pos) -#define CAN_TXEFE_1_ET_Pos 22 /**< \brief (CAN_TXEFE_1) Event Type */ -#define CAN_TXEFE_1_ET_Msk (_U_(0x3) << CAN_TXEFE_1_ET_Pos) -#define CAN_TXEFE_1_ET(value) (CAN_TXEFE_1_ET_Msk & ((value) << CAN_TXEFE_1_ET_Pos)) -#define CAN_TXEFE_1_ET_TXE_Val _U_(0x1) /**< \brief (CAN_TXEFE_1) Tx event */ -#define CAN_TXEFE_1_ET_TXC_Val _U_(0x2) /**< \brief (CAN_TXEFE_1) Transmission in spite of cancellation */ -#define CAN_TXEFE_1_ET_TXE (CAN_TXEFE_1_ET_TXE_Val << CAN_TXEFE_1_ET_Pos) -#define CAN_TXEFE_1_ET_TXC (CAN_TXEFE_1_ET_TXC_Val << CAN_TXEFE_1_ET_Pos) -#define CAN_TXEFE_1_MM_Pos 24 /**< \brief (CAN_TXEFE_1) Message Marker */ -#define CAN_TXEFE_1_MM_Msk (_U_(0xFF) << CAN_TXEFE_1_MM_Pos) -#define CAN_TXEFE_1_MM(value) (CAN_TXEFE_1_MM_Msk & ((value) << CAN_TXEFE_1_MM_Pos)) -#define CAN_TXEFE_1_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXEFE_1) MASK Register */ - -/* -------- CAN_XIDFE_0 : (CAN Offset: 0x00) (R/W 32) Extended Message ID Filter Element 0 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t EFID1:29; /*!< bit: 0..28 Extended Filter ID 1 */ - uint32_t EFEC:3; /*!< bit: 29..31 Extended Filter Element Configuration */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_XIDFE_0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_XIDFE_0_OFFSET 0x00 /**< \brief (CAN_XIDFE_0 offset) Extended Message ID Filter Element 0 */ -#define CAN_XIDFE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_XIDFE_0 reset_value) Extended Message ID Filter Element 0 */ - -#define CAN_XIDFE_0_EFID1_Pos 0 /**< \brief (CAN_XIDFE_0) Extended Filter ID 1 */ -#define CAN_XIDFE_0_EFID1_Msk (_U_(0x1FFFFFFF) << CAN_XIDFE_0_EFID1_Pos) -#define CAN_XIDFE_0_EFID1(value) (CAN_XIDFE_0_EFID1_Msk & ((value) << CAN_XIDFE_0_EFID1_Pos)) -#define CAN_XIDFE_0_EFEC_Pos 29 /**< \brief (CAN_XIDFE_0) Extended Filter Element Configuration */ -#define CAN_XIDFE_0_EFEC_Msk (_U_(0x7) << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_EFEC(value) (CAN_XIDFE_0_EFEC_Msk & ((value) << CAN_XIDFE_0_EFEC_Pos)) -#define CAN_XIDFE_0_EFEC_DISABLE_Val _U_(0x0) /**< \brief (CAN_XIDFE_0) Disable filter element */ -#define CAN_XIDFE_0_EFEC_STF0M_Val _U_(0x1) /**< \brief (CAN_XIDFE_0) Store in Rx FIFO 0 if filter match */ -#define CAN_XIDFE_0_EFEC_STF1M_Val _U_(0x2) /**< \brief (CAN_XIDFE_0) Store in Rx FIFO 1 if filter match */ -#define CAN_XIDFE_0_EFEC_REJECT_Val _U_(0x3) /**< \brief (CAN_XIDFE_0) Reject ID if filter match */ -#define CAN_XIDFE_0_EFEC_PRIORITY_Val _U_(0x4) /**< \brief (CAN_XIDFE_0) Set priority if filter match */ -#define CAN_XIDFE_0_EFEC_PRIF0M_Val _U_(0x5) /**< \brief (CAN_XIDFE_0) Set priority and store in FIFO 0 if filter match */ -#define CAN_XIDFE_0_EFEC_PRIF1M_Val _U_(0x6) /**< \brief (CAN_XIDFE_0) Set priority and store in FIFO 1 if filter match */ -#define CAN_XIDFE_0_EFEC_STRXBUF_Val _U_(0x7) /**< \brief (CAN_XIDFE_0) Store into Rx Buffer */ -#define CAN_XIDFE_0_EFEC_DISABLE (CAN_XIDFE_0_EFEC_DISABLE_Val << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_EFEC_STF0M (CAN_XIDFE_0_EFEC_STF0M_Val << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_EFEC_STF1M (CAN_XIDFE_0_EFEC_STF1M_Val << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_EFEC_REJECT (CAN_XIDFE_0_EFEC_REJECT_Val << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_EFEC_PRIORITY (CAN_XIDFE_0_EFEC_PRIORITY_Val << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_EFEC_PRIF0M (CAN_XIDFE_0_EFEC_PRIF0M_Val << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_EFEC_PRIF1M (CAN_XIDFE_0_EFEC_PRIF1M_Val << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_EFEC_STRXBUF (CAN_XIDFE_0_EFEC_STRXBUF_Val << CAN_XIDFE_0_EFEC_Pos) -#define CAN_XIDFE_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_XIDFE_0) MASK Register */ - -/* -------- CAN_XIDFE_1 : (CAN Offset: 0x04) (R/W 32) Extended Message ID Filter Element 1 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t EFID2:29; /*!< bit: 0..28 Extended Filter ID 2 */ - uint32_t :1; /*!< bit: 29 Reserved */ - uint32_t EFT:2; /*!< bit: 30..31 Extended Filter Type */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CAN_XIDFE_1_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CAN_XIDFE_1_OFFSET 0x04 /**< \brief (CAN_XIDFE_1 offset) Extended Message ID Filter Element 1 */ -#define CAN_XIDFE_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_XIDFE_1 reset_value) Extended Message ID Filter Element 1 */ - -#define CAN_XIDFE_1_EFID2_Pos 0 /**< \brief (CAN_XIDFE_1) Extended Filter ID 2 */ -#define CAN_XIDFE_1_EFID2_Msk (_U_(0x1FFFFFFF) << CAN_XIDFE_1_EFID2_Pos) -#define CAN_XIDFE_1_EFID2(value) (CAN_XIDFE_1_EFID2_Msk & ((value) << CAN_XIDFE_1_EFID2_Pos)) -#define CAN_XIDFE_1_EFT_Pos 30 /**< \brief (CAN_XIDFE_1) Extended Filter Type */ -#define CAN_XIDFE_1_EFT_Msk (_U_(0x3) << CAN_XIDFE_1_EFT_Pos) -#define CAN_XIDFE_1_EFT(value) (CAN_XIDFE_1_EFT_Msk & ((value) << CAN_XIDFE_1_EFT_Pos)) -#define CAN_XIDFE_1_EFT_RANGEM_Val _U_(0x0) /**< \brief (CAN_XIDFE_1) Range filter from EFID1 to EFID2 */ -#define CAN_XIDFE_1_EFT_DUAL_Val _U_(0x1) /**< \brief (CAN_XIDFE_1) Dual ID filter for EFID1 or EFID2 */ -#define CAN_XIDFE_1_EFT_CLASSIC_Val _U_(0x2) /**< \brief (CAN_XIDFE_1) Classic filter */ -#define CAN_XIDFE_1_EFT_RANGE_Val _U_(0x3) /**< \brief (CAN_XIDFE_1) Range filter from EFID1 to EFID2 with no XIDAM mask */ -#define CAN_XIDFE_1_EFT_RANGEM (CAN_XIDFE_1_EFT_RANGEM_Val << CAN_XIDFE_1_EFT_Pos) -#define CAN_XIDFE_1_EFT_DUAL (CAN_XIDFE_1_EFT_DUAL_Val << CAN_XIDFE_1_EFT_Pos) -#define CAN_XIDFE_1_EFT_CLASSIC (CAN_XIDFE_1_EFT_CLASSIC_Val << CAN_XIDFE_1_EFT_Pos) -#define CAN_XIDFE_1_EFT_RANGE (CAN_XIDFE_1_EFT_RANGE_Val << CAN_XIDFE_1_EFT_Pos) -#define CAN_XIDFE_1_MASK _U_(0xDFFFFFFF) /**< \brief (CAN_XIDFE_1) MASK Register */ - -/** \brief CAN APB hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __I CAN_CREL_Type CREL; /**< \brief Offset: 0x00 (R/ 32) Core Release */ - __I CAN_ENDN_Type ENDN; /**< \brief Offset: 0x04 (R/ 32) Endian */ - __IO CAN_MRCFG_Type MRCFG; /**< \brief Offset: 0x08 (R/W 32) Message RAM Configuration */ - __IO CAN_DBTP_Type DBTP; /**< \brief Offset: 0x0C (R/W 32) Fast Bit Timing and Prescaler */ - __IO CAN_TEST_Type TEST; /**< \brief Offset: 0x10 (R/W 32) Test */ - __IO CAN_RWD_Type RWD; /**< \brief Offset: 0x14 (R/W 32) RAM Watchdog */ - __IO CAN_CCCR_Type CCCR; /**< \brief Offset: 0x18 (R/W 32) CC Control */ - __IO CAN_NBTP_Type NBTP; /**< \brief Offset: 0x1C (R/W 32) Nominal Bit Timing and Prescaler */ - __IO CAN_TSCC_Type TSCC; /**< \brief Offset: 0x20 (R/W 32) Timestamp Counter Configuration */ - __I CAN_TSCV_Type TSCV; /**< \brief Offset: 0x24 (R/ 32) Timestamp Counter Value */ - __IO CAN_TOCC_Type TOCC; /**< \brief Offset: 0x28 (R/W 32) Timeout Counter Configuration */ - __IO CAN_TOCV_Type TOCV; /**< \brief Offset: 0x2C (R/W 32) Timeout Counter Value */ - RoReg8 Reserved1[0x10]; - __I CAN_ECR_Type ECR; /**< \brief Offset: 0x40 (R/ 32) Error Counter */ - __I CAN_PSR_Type PSR; /**< \brief Offset: 0x44 (R/ 32) Protocol Status */ - __IO CAN_TDCR_Type TDCR; /**< \brief Offset: 0x48 (R/W 32) Extended ID Filter Configuration */ - RoReg8 Reserved2[0x4]; - __IO CAN_IR_Type IR; /**< \brief Offset: 0x50 (R/W 32) Interrupt */ - __IO CAN_IE_Type IE; /**< \brief Offset: 0x54 (R/W 32) Interrupt Enable */ - __IO CAN_ILS_Type ILS; /**< \brief Offset: 0x58 (R/W 32) Interrupt Line Select */ - __IO CAN_ILE_Type ILE; /**< \brief Offset: 0x5C (R/W 32) Interrupt Line Enable */ - RoReg8 Reserved3[0x20]; - __IO CAN_GFC_Type GFC; /**< \brief Offset: 0x80 (R/W 32) Global Filter Configuration */ - __IO CAN_SIDFC_Type SIDFC; /**< \brief Offset: 0x84 (R/W 32) Standard ID Filter Configuration */ - __IO CAN_XIDFC_Type XIDFC; /**< \brief Offset: 0x88 (R/W 32) Extended ID Filter Configuration */ - RoReg8 Reserved4[0x4]; - __IO CAN_XIDAM_Type XIDAM; /**< \brief Offset: 0x90 (R/W 32) Extended ID AND Mask */ - __I CAN_HPMS_Type HPMS; /**< \brief Offset: 0x94 (R/ 32) High Priority Message Status */ - __IO CAN_NDAT1_Type NDAT1; /**< \brief Offset: 0x98 (R/W 32) New Data 1 */ - __IO CAN_NDAT2_Type NDAT2; /**< \brief Offset: 0x9C (R/W 32) New Data 2 */ - __IO CAN_RXF0C_Type RXF0C; /**< \brief Offset: 0xA0 (R/W 32) Rx FIFO 0 Configuration */ - __I CAN_RXF0S_Type RXF0S; /**< \brief Offset: 0xA4 (R/ 32) Rx FIFO 0 Status */ - __IO CAN_RXF0A_Type RXF0A; /**< \brief Offset: 0xA8 (R/W 32) Rx FIFO 0 Acknowledge */ - __IO CAN_RXBC_Type RXBC; /**< \brief Offset: 0xAC (R/W 32) Rx Buffer Configuration */ - __IO CAN_RXF1C_Type RXF1C; /**< \brief Offset: 0xB0 (R/W 32) Rx FIFO 1 Configuration */ - __I CAN_RXF1S_Type RXF1S; /**< \brief Offset: 0xB4 (R/ 32) Rx FIFO 1 Status */ - __IO CAN_RXF1A_Type RXF1A; /**< \brief Offset: 0xB8 (R/W 32) Rx FIFO 1 Acknowledge */ - __IO CAN_RXESC_Type RXESC; /**< \brief Offset: 0xBC (R/W 32) Rx Buffer / FIFO Element Size Configuration */ - __IO CAN_TXBC_Type TXBC; /**< \brief Offset: 0xC0 (R/W 32) Tx Buffer Configuration */ - __I CAN_TXFQS_Type TXFQS; /**< \brief Offset: 0xC4 (R/ 32) Tx FIFO / Queue Status */ - __IO CAN_TXESC_Type TXESC; /**< \brief Offset: 0xC8 (R/W 32) Tx Buffer Element Size Configuration */ - __I CAN_TXBRP_Type TXBRP; /**< \brief Offset: 0xCC (R/ 32) Tx Buffer Request Pending */ - __IO CAN_TXBAR_Type TXBAR; /**< \brief Offset: 0xD0 (R/W 32) Tx Buffer Add Request */ - __IO CAN_TXBCR_Type TXBCR; /**< \brief Offset: 0xD4 (R/W 32) Tx Buffer Cancellation Request */ - __I CAN_TXBTO_Type TXBTO; /**< \brief Offset: 0xD8 (R/ 32) Tx Buffer Transmission Occurred */ - __I CAN_TXBCF_Type TXBCF; /**< \brief Offset: 0xDC (R/ 32) Tx Buffer Cancellation Finished */ - __IO CAN_TXBTIE_Type TXBTIE; /**< \brief Offset: 0xE0 (R/W 32) Tx Buffer Transmission Interrupt Enable */ - __IO CAN_TXBCIE_Type TXBCIE; /**< \brief Offset: 0xE4 (R/W 32) Tx Buffer Cancellation Finished Interrupt Enable */ - RoReg8 Reserved5[0x8]; - __IO CAN_TXEFC_Type TXEFC; /**< \brief Offset: 0xF0 (R/W 32) Tx Event FIFO Configuration */ - __I CAN_TXEFS_Type TXEFS; /**< \brief Offset: 0xF4 (R/ 32) Tx Event FIFO Status */ - __IO CAN_TXEFA_Type TXEFA; /**< \brief Offset: 0xF8 (R/W 32) Tx Event FIFO Acknowledge */ -} Can; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/** \brief CAN Mram_rxbe hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO CAN_RXBE_0_Type RXBE_0; /**< \brief Offset: 0x00 (R/W 32) Rx Buffer Element 0 */ - __IO CAN_RXBE_1_Type RXBE_1; /**< \brief Offset: 0x04 (R/W 32) Rx Buffer Element 1 */ - __IO CAN_RXBE_DATA_Type RXBE_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx Buffer Element Data */ -} CanMramRxbe -#ifdef __GNUC__ - __attribute__ ((aligned (4))) -#endif -; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/** \brief CAN Mram_rxf0e hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO CAN_RXF0E_0_Type RXF0E_0; /**< \brief Offset: 0x00 (R/W 32) Rx FIFO 0 Element 0 */ - __IO CAN_RXF0E_1_Type RXF0E_1; /**< \brief Offset: 0x04 (R/W 32) Rx FIFO 0 Element 1 */ - __IO CAN_RXF0E_DATA_Type RXF0E_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx FIFO 0 Element Data */ -} CanMramRxf0e -#ifdef __GNUC__ - __attribute__ ((aligned (4))) -#endif -; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/** \brief CAN Mram_rxf1e hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO CAN_RXF1E_0_Type RXF1E_0; /**< \brief Offset: 0x00 (R/W 32) Rx FIFO 1 Element 0 */ - __IO CAN_RXF1E_1_Type RXF1E_1; /**< \brief Offset: 0x04 (R/W 32) Rx FIFO 1 Element 1 */ - __IO CAN_RXF1E_DATA_Type RXF1E_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx FIFO 1 Element Data */ -} CanMramRxf1e -#ifdef __GNUC__ - __attribute__ ((aligned (4))) -#endif -; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/** \brief CAN Mram_sidfe hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO CAN_SIDFE_0_Type SIDFE_0; /**< \brief Offset: 0x00 (R/W 32) Standard Message ID Filter Element */ -} CanMramSidfe -#ifdef __GNUC__ - __attribute__ ((aligned (4))) -#endif -; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/** \brief CAN Mram_txbe hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO CAN_TXBE_0_Type TXBE_0; /**< \brief Offset: 0x00 (R/W 32) Tx Buffer Element 0 */ - __IO CAN_TXBE_1_Type TXBE_1; /**< \brief Offset: 0x04 (R/W 32) Tx Buffer Element 1 */ - __IO CAN_TXBE_DATA_Type TXBE_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Tx Buffer Element Data */ -} CanMramTxbe -#ifdef __GNUC__ - __attribute__ ((aligned (4))) -#endif -; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/** \brief CAN Mram_txefe hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO CAN_TXEFE_0_Type TXEFE_0; /**< \brief Offset: 0x00 (R/W 32) Tx Event FIFO Element 0 */ - __IO CAN_TXEFE_1_Type TXEFE_1; /**< \brief Offset: 0x04 (R/W 32) Tx Event FIFO Element 1 */ -} CanMramTxefe -#ifdef __GNUC__ - __attribute__ ((aligned (4))) -#endif -; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/** \brief CAN Mram_xifde hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO CAN_XIDFE_0_Type XIDFE_0; /**< \brief Offset: 0x00 (R/W 32) Extended Message ID Filter Element 0 */ - __IO CAN_XIDFE_1_Type XIDFE_1; /**< \brief Offset: 0x04 (R/W 32) Extended Message ID Filter Element 1 */ -} CanMramXifde -#ifdef __GNUC__ - __attribute__ ((aligned (4))) -#endif -; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define SECTION_CAN_MRAM_RXBE -#define SECTION_CAN_MRAM_RXF0E -#define SECTION_CAN_MRAM_RXF1E -#define SECTION_CAN_MRAM_SIDFE -#define SECTION_CAN_MRAM_TXBE -#define SECTION_CAN_MRAM_TXEFE -#define SECTION_CAN_MRAM_XIFDE - -/*@}*/ - -#endif /* _SAME54_CAN_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/include/component/ccl.h b/software/firmware/oracle_same54n19a/include/component/ccl.h deleted file mode 100644 index b5dbb9a..0000000 --- a/software/firmware/oracle_same54n19a/include/component/ccl.h +++ /dev/null @@ -1,228 +0,0 @@ -/** - * \file - * - * \brief Component description for CCL - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_CCL_COMPONENT_ -#define _SAME54_CCL_COMPONENT_ - -/* ========================================================================== */ -/** SOFTWARE API DEFINITION FOR CCL */ -/* ========================================================================== */ -/** \addtogroup SAME54_CCL Configurable Custom Logic */ -/*@{*/ - -#define CCL_U2225 -#define REV_CCL 0x110 - -/* -------- CCL_CTRL : (CCL Offset: 0x0) (R/W 8) Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t SWRST:1; /*!< bit: 0 Software Reset */ - uint8_t ENABLE:1; /*!< bit: 1 Enable */ - uint8_t :4; /*!< bit: 2.. 5 Reserved */ - uint8_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */ - uint8_t :1; /*!< bit: 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} CCL_CTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CCL_CTRL_OFFSET 0x0 /**< \brief (CCL_CTRL offset) Control */ -#define CCL_CTRL_RESETVALUE _U_(0x00) /**< \brief (CCL_CTRL reset_value) Control */ - -#define CCL_CTRL_SWRST_Pos 0 /**< \brief (CCL_CTRL) Software Reset */ -#define CCL_CTRL_SWRST (_U_(0x1) << CCL_CTRL_SWRST_Pos) -#define CCL_CTRL_ENABLE_Pos 1 /**< \brief (CCL_CTRL) Enable */ -#define CCL_CTRL_ENABLE (_U_(0x1) << CCL_CTRL_ENABLE_Pos) -#define CCL_CTRL_RUNSTDBY_Pos 6 /**< \brief (CCL_CTRL) Run in Standby */ -#define CCL_CTRL_RUNSTDBY (_U_(0x1) << CCL_CTRL_RUNSTDBY_Pos) -#define CCL_CTRL_MASK _U_(0x43) /**< \brief (CCL_CTRL) MASK Register */ - -/* -------- CCL_SEQCTRL : (CCL Offset: 0x4) (R/W 8) SEQ Control x -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t SEQSEL:4; /*!< bit: 0.. 3 Sequential Selection */ - uint8_t :4; /*!< bit: 4.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} CCL_SEQCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CCL_SEQCTRL_OFFSET 0x4 /**< \brief (CCL_SEQCTRL offset) SEQ Control x */ -#define CCL_SEQCTRL_RESETVALUE _U_(0x00) /**< \brief (CCL_SEQCTRL reset_value) SEQ Control x */ - -#define CCL_SEQCTRL_SEQSEL_Pos 0 /**< \brief (CCL_SEQCTRL) Sequential Selection */ -#define CCL_SEQCTRL_SEQSEL_Msk (_U_(0xF) << CCL_SEQCTRL_SEQSEL_Pos) -#define CCL_SEQCTRL_SEQSEL(value) (CCL_SEQCTRL_SEQSEL_Msk & ((value) << CCL_SEQCTRL_SEQSEL_Pos)) -#define CCL_SEQCTRL_SEQSEL_DISABLE_Val _U_(0x0) /**< \brief (CCL_SEQCTRL) Sequential logic is disabled */ -#define CCL_SEQCTRL_SEQSEL_DFF_Val _U_(0x1) /**< \brief (CCL_SEQCTRL) D flip flop */ -#define CCL_SEQCTRL_SEQSEL_JK_Val _U_(0x2) /**< \brief (CCL_SEQCTRL) JK flip flop */ -#define CCL_SEQCTRL_SEQSEL_LATCH_Val _U_(0x3) /**< \brief (CCL_SEQCTRL) D latch */ -#define CCL_SEQCTRL_SEQSEL_RS_Val _U_(0x4) /**< \brief (CCL_SEQCTRL) RS latch */ -#define CCL_SEQCTRL_SEQSEL_DISABLE (CCL_SEQCTRL_SEQSEL_DISABLE_Val << CCL_SEQCTRL_SEQSEL_Pos) -#define CCL_SEQCTRL_SEQSEL_DFF (CCL_SEQCTRL_SEQSEL_DFF_Val << CCL_SEQCTRL_SEQSEL_Pos) -#define CCL_SEQCTRL_SEQSEL_JK (CCL_SEQCTRL_SEQSEL_JK_Val << CCL_SEQCTRL_SEQSEL_Pos) -#define CCL_SEQCTRL_SEQSEL_LATCH (CCL_SEQCTRL_SEQSEL_LATCH_Val << CCL_SEQCTRL_SEQSEL_Pos) -#define CCL_SEQCTRL_SEQSEL_RS (CCL_SEQCTRL_SEQSEL_RS_Val << CCL_SEQCTRL_SEQSEL_Pos) -#define CCL_SEQCTRL_MASK _U_(0x0F) /**< \brief (CCL_SEQCTRL) MASK Register */ - -/* -------- CCL_LUTCTRL : (CCL Offset: 0x8) (R/W 32) LUT Control x -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t :1; /*!< bit: 0 Reserved */ - uint32_t ENABLE:1; /*!< bit: 1 LUT Enable */ - uint32_t :2; /*!< bit: 2.. 3 Reserved */ - uint32_t FILTSEL:2; /*!< bit: 4.. 5 Filter Selection */ - uint32_t :1; /*!< bit: 6 Reserved */ - uint32_t EDGESEL:1; /*!< bit: 7 Edge Selection */ - uint32_t INSEL0:4; /*!< bit: 8..11 Input Selection 0 */ - uint32_t INSEL1:4; /*!< bit: 12..15 Input Selection 1 */ - uint32_t INSEL2:4; /*!< bit: 16..19 Input Selection 2 */ - uint32_t INVEI:1; /*!< bit: 20 Inverted Event Input Enable */ - uint32_t LUTEI:1; /*!< bit: 21 LUT Event Input Enable */ - uint32_t LUTEO:1; /*!< bit: 22 LUT Event Output Enable */ - uint32_t :1; /*!< bit: 23 Reserved */ - uint32_t TRUTH:8; /*!< bit: 24..31 Truth Value */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CCL_LUTCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CCL_LUTCTRL_OFFSET 0x8 /**< \brief (CCL_LUTCTRL offset) LUT Control x */ -#define CCL_LUTCTRL_RESETVALUE _U_(0x00000000) /**< \brief (CCL_LUTCTRL reset_value) LUT Control x */ - -#define CCL_LUTCTRL_ENABLE_Pos 1 /**< \brief (CCL_LUTCTRL) LUT Enable */ -#define CCL_LUTCTRL_ENABLE (_U_(0x1) << CCL_LUTCTRL_ENABLE_Pos) -#define CCL_LUTCTRL_FILTSEL_Pos 4 /**< \brief (CCL_LUTCTRL) Filter Selection */ -#define CCL_LUTCTRL_FILTSEL_Msk (_U_(0x3) << CCL_LUTCTRL_FILTSEL_Pos) -#define CCL_LUTCTRL_FILTSEL(value) (CCL_LUTCTRL_FILTSEL_Msk & ((value) << CCL_LUTCTRL_FILTSEL_Pos)) -#define CCL_LUTCTRL_FILTSEL_DISABLE_Val _U_(0x0) /**< \brief (CCL_LUTCTRL) Filter disabled */ -#define CCL_LUTCTRL_FILTSEL_SYNCH_Val _U_(0x1) /**< \brief (CCL_LUTCTRL) Synchronizer enabled */ -#define CCL_LUTCTRL_FILTSEL_FILTER_Val _U_(0x2) /**< \brief (CCL_LUTCTRL) Filter enabled */ -#define CCL_LUTCTRL_FILTSEL_DISABLE (CCL_LUTCTRL_FILTSEL_DISABLE_Val << CCL_LUTCTRL_FILTSEL_Pos) -#define CCL_LUTCTRL_FILTSEL_SYNCH (CCL_LUTCTRL_FILTSEL_SYNCH_Val << CCL_LUTCTRL_FILTSEL_Pos) -#define CCL_LUTCTRL_FILTSEL_FILTER (CCL_LUTCTRL_FILTSEL_FILTER_Val << CCL_LUTCTRL_FILTSEL_Pos) -#define CCL_LUTCTRL_EDGESEL_Pos 7 /**< \brief (CCL_LUTCTRL) Edge Selection */ -#define CCL_LUTCTRL_EDGESEL (_U_(0x1) << CCL_LUTCTRL_EDGESEL_Pos) -#define CCL_LUTCTRL_INSEL0_Pos 8 /**< \brief (CCL_LUTCTRL) Input Selection 0 */ -#define CCL_LUTCTRL_INSEL0_Msk (_U_(0xF) << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0(value) (CCL_LUTCTRL_INSEL0_Msk & ((value) << CCL_LUTCTRL_INSEL0_Pos)) -#define CCL_LUTCTRL_INSEL0_MASK_Val _U_(0x0) /**< \brief (CCL_LUTCTRL) Masked input */ -#define CCL_LUTCTRL_INSEL0_FEEDBACK_Val _U_(0x1) /**< \brief (CCL_LUTCTRL) Feedback input source */ -#define CCL_LUTCTRL_INSEL0_LINK_Val _U_(0x2) /**< \brief (CCL_LUTCTRL) Linked LUT input source */ -#define CCL_LUTCTRL_INSEL0_EVENT_Val _U_(0x3) /**< \brief (CCL_LUTCTRL) Event input source */ -#define CCL_LUTCTRL_INSEL0_IO_Val _U_(0x4) /**< \brief (CCL_LUTCTRL) I/O pin input source */ -#define CCL_LUTCTRL_INSEL0_AC_Val _U_(0x5) /**< \brief (CCL_LUTCTRL) AC input source */ -#define CCL_LUTCTRL_INSEL0_TC_Val _U_(0x6) /**< \brief (CCL_LUTCTRL) TC input source */ -#define CCL_LUTCTRL_INSEL0_ALTTC_Val _U_(0x7) /**< \brief (CCL_LUTCTRL) Alternate TC input source */ -#define CCL_LUTCTRL_INSEL0_TCC_Val _U_(0x8) /**< \brief (CCL_LUTCTRL) TCC input source */ -#define CCL_LUTCTRL_INSEL0_SERCOM_Val _U_(0x9) /**< \brief (CCL_LUTCTRL) SERCOM input source */ -#define CCL_LUTCTRL_INSEL0_MASK (CCL_LUTCTRL_INSEL0_MASK_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_FEEDBACK (CCL_LUTCTRL_INSEL0_FEEDBACK_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_LINK (CCL_LUTCTRL_INSEL0_LINK_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_EVENT (CCL_LUTCTRL_INSEL0_EVENT_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_IO (CCL_LUTCTRL_INSEL0_IO_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_AC (CCL_LUTCTRL_INSEL0_AC_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_TC (CCL_LUTCTRL_INSEL0_TC_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_ALTTC (CCL_LUTCTRL_INSEL0_ALTTC_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_TCC (CCL_LUTCTRL_INSEL0_TCC_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL0_SERCOM (CCL_LUTCTRL_INSEL0_SERCOM_Val << CCL_LUTCTRL_INSEL0_Pos) -#define CCL_LUTCTRL_INSEL1_Pos 12 /**< \brief (CCL_LUTCTRL) Input Selection 1 */ -#define CCL_LUTCTRL_INSEL1_Msk (_U_(0xF) << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1(value) (CCL_LUTCTRL_INSEL1_Msk & ((value) << CCL_LUTCTRL_INSEL1_Pos)) -#define CCL_LUTCTRL_INSEL1_MASK_Val _U_(0x0) /**< \brief (CCL_LUTCTRL) Masked input */ -#define CCL_LUTCTRL_INSEL1_FEEDBACK_Val _U_(0x1) /**< \brief (CCL_LUTCTRL) Feedback input source */ -#define CCL_LUTCTRL_INSEL1_LINK_Val _U_(0x2) /**< \brief (CCL_LUTCTRL) Linked LUT input source */ -#define CCL_LUTCTRL_INSEL1_EVENT_Val _U_(0x3) /**< \brief (CCL_LUTCTRL) Event input source */ -#define CCL_LUTCTRL_INSEL1_IO_Val _U_(0x4) /**< \brief (CCL_LUTCTRL) I/O pin input source */ -#define CCL_LUTCTRL_INSEL1_AC_Val _U_(0x5) /**< \brief (CCL_LUTCTRL) AC input source */ -#define CCL_LUTCTRL_INSEL1_TC_Val _U_(0x6) /**< \brief (CCL_LUTCTRL) TC input source */ -#define CCL_LUTCTRL_INSEL1_ALTTC_Val _U_(0x7) /**< \brief (CCL_LUTCTRL) Alternate TC input source */ -#define CCL_LUTCTRL_INSEL1_TCC_Val _U_(0x8) /**< \brief (CCL_LUTCTRL) TCC input source */ -#define CCL_LUTCTRL_INSEL1_SERCOM_Val _U_(0x9) /**< \brief (CCL_LUTCTRL) SERCOM input source */ -#define CCL_LUTCTRL_INSEL1_MASK (CCL_LUTCTRL_INSEL1_MASK_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_FEEDBACK (CCL_LUTCTRL_INSEL1_FEEDBACK_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_LINK (CCL_LUTCTRL_INSEL1_LINK_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_EVENT (CCL_LUTCTRL_INSEL1_EVENT_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_IO (CCL_LUTCTRL_INSEL1_IO_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_AC (CCL_LUTCTRL_INSEL1_AC_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_TC (CCL_LUTCTRL_INSEL1_TC_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_ALTTC (CCL_LUTCTRL_INSEL1_ALTTC_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_TCC (CCL_LUTCTRL_INSEL1_TCC_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL1_SERCOM (CCL_LUTCTRL_INSEL1_SERCOM_Val << CCL_LUTCTRL_INSEL1_Pos) -#define CCL_LUTCTRL_INSEL2_Pos 16 /**< \brief (CCL_LUTCTRL) Input Selection 2 */ -#define CCL_LUTCTRL_INSEL2_Msk (_U_(0xF) << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2(value) (CCL_LUTCTRL_INSEL2_Msk & ((value) << CCL_LUTCTRL_INSEL2_Pos)) -#define CCL_LUTCTRL_INSEL2_MASK_Val _U_(0x0) /**< \brief (CCL_LUTCTRL) Masked input */ -#define CCL_LUTCTRL_INSEL2_FEEDBACK_Val _U_(0x1) /**< \brief (CCL_LUTCTRL) Feedback input source */ -#define CCL_LUTCTRL_INSEL2_LINK_Val _U_(0x2) /**< \brief (CCL_LUTCTRL) Linked LUT input source */ -#define CCL_LUTCTRL_INSEL2_EVENT_Val _U_(0x3) /**< \brief (CCL_LUTCTRL) Event input source */ -#define CCL_LUTCTRL_INSEL2_IO_Val _U_(0x4) /**< \brief (CCL_LUTCTRL) I/O pin input source */ -#define CCL_LUTCTRL_INSEL2_AC_Val _U_(0x5) /**< \brief (CCL_LUTCTRL) AC input source */ -#define CCL_LUTCTRL_INSEL2_TC_Val _U_(0x6) /**< \brief (CCL_LUTCTRL) TC input source */ -#define CCL_LUTCTRL_INSEL2_ALTTC_Val _U_(0x7) /**< \brief (CCL_LUTCTRL) Alternate TC input source */ -#define CCL_LUTCTRL_INSEL2_TCC_Val _U_(0x8) /**< \brief (CCL_LUTCTRL) TCC input source */ -#define CCL_LUTCTRL_INSEL2_SERCOM_Val _U_(0x9) /**< \brief (CCL_LUTCTRL) SERCOM input source */ -#define CCL_LUTCTRL_INSEL2_MASK (CCL_LUTCTRL_INSEL2_MASK_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_FEEDBACK (CCL_LUTCTRL_INSEL2_FEEDBACK_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_LINK (CCL_LUTCTRL_INSEL2_LINK_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_EVENT (CCL_LUTCTRL_INSEL2_EVENT_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_IO (CCL_LUTCTRL_INSEL2_IO_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_AC (CCL_LUTCTRL_INSEL2_AC_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_TC (CCL_LUTCTRL_INSEL2_TC_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_ALTTC (CCL_LUTCTRL_INSEL2_ALTTC_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_TCC (CCL_LUTCTRL_INSEL2_TCC_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INSEL2_SERCOM (CCL_LUTCTRL_INSEL2_SERCOM_Val << CCL_LUTCTRL_INSEL2_Pos) -#define CCL_LUTCTRL_INVEI_Pos 20 /**< \brief (CCL_LUTCTRL) Inverted Event Input Enable */ -#define CCL_LUTCTRL_INVEI (_U_(0x1) << CCL_LUTCTRL_INVEI_Pos) -#define CCL_LUTCTRL_LUTEI_Pos 21 /**< \brief (CCL_LUTCTRL) LUT Event Input Enable */ -#define CCL_LUTCTRL_LUTEI (_U_(0x1) << CCL_LUTCTRL_LUTEI_Pos) -#define CCL_LUTCTRL_LUTEO_Pos 22 /**< \brief (CCL_LUTCTRL) LUT Event Output Enable */ -#define CCL_LUTCTRL_LUTEO (_U_(0x1) << CCL_LUTCTRL_LUTEO_Pos) -#define CCL_LUTCTRL_TRUTH_Pos 24 /**< \brief (CCL_LUTCTRL) Truth Value */ -#define CCL_LUTCTRL_TRUTH_Msk (_U_(0xFF) << CCL_LUTCTRL_TRUTH_Pos) -#define CCL_LUTCTRL_TRUTH(value) (CCL_LUTCTRL_TRUTH_Msk & ((value) << CCL_LUTCTRL_TRUTH_Pos)) -#define CCL_LUTCTRL_MASK _U_(0xFF7FFFB2) /**< \brief (CCL_LUTCTRL) MASK Register */ - -/** \brief CCL hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO CCL_CTRL_Type CTRL; /**< \brief Offset: 0x0 (R/W 8) Control */ - RoReg8 Reserved1[0x3]; - __IO CCL_SEQCTRL_Type SEQCTRL[2]; /**< \brief Offset: 0x4 (R/W 8) SEQ Control x */ - RoReg8 Reserved2[0x2]; - __IO CCL_LUTCTRL_Type LUTCTRL[4]; /**< \brief Offset: 0x8 (R/W 32) LUT Control x */ -} Ccl; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/*@}*/ - -#endif /* _SAME54_CCL_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/include/component/cmcc.h b/software/firmware/oracle_same54n19a/include/component/cmcc.h deleted file mode 100644 index 55799b5..0000000 --- a/software/firmware/oracle_same54n19a/include/component/cmcc.h +++ /dev/null @@ -1,357 +0,0 @@ -/** - * \file - * - * \brief Component description for CMCC - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_CMCC_COMPONENT_ -#define _SAME54_CMCC_COMPONENT_ - -/* ========================================================================== */ -/** SOFTWARE API DEFINITION FOR CMCC */ -/* ========================================================================== */ -/** \addtogroup SAME54_CMCC Cortex M Cache Controller */ -/*@{*/ - -#define CMCC_U2015 -#define REV_CMCC 0x600 - -/* -------- CMCC_TYPE : (CMCC Offset: 0x00) (R/ 32) Cache Type Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t :1; /*!< bit: 0 Reserved */ - uint32_t GCLK:1; /*!< bit: 1 dynamic Clock Gating supported */ - uint32_t :2; /*!< bit: 2.. 3 Reserved */ - uint32_t RRP:1; /*!< bit: 4 Round Robin Policy supported */ - uint32_t WAYNUM:2; /*!< bit: 5.. 6 Number of Way */ - uint32_t LCKDOWN:1; /*!< bit: 7 Lock Down supported */ - uint32_t CSIZE:3; /*!< bit: 8..10 Cache Size */ - uint32_t CLSIZE:3; /*!< bit: 11..13 Cache Line Size */ - uint32_t :18; /*!< bit: 14..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_TYPE_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_TYPE_OFFSET 0x00 /**< \brief (CMCC_TYPE offset) Cache Type Register */ -#define CMCC_TYPE_RESETVALUE _U_(0x000012D2) /**< \brief (CMCC_TYPE reset_value) Cache Type Register */ - -#define CMCC_TYPE_GCLK_Pos 1 /**< \brief (CMCC_TYPE) dynamic Clock Gating supported */ -#define CMCC_TYPE_GCLK (_U_(0x1) << CMCC_TYPE_GCLK_Pos) -#define CMCC_TYPE_RRP_Pos 4 /**< \brief (CMCC_TYPE) Round Robin Policy supported */ -#define CMCC_TYPE_RRP (_U_(0x1) << CMCC_TYPE_RRP_Pos) -#define CMCC_TYPE_WAYNUM_Pos 5 /**< \brief (CMCC_TYPE) Number of Way */ -#define CMCC_TYPE_WAYNUM_Msk (_U_(0x3) << CMCC_TYPE_WAYNUM_Pos) -#define CMCC_TYPE_WAYNUM(value) (CMCC_TYPE_WAYNUM_Msk & ((value) << CMCC_TYPE_WAYNUM_Pos)) -#define CMCC_TYPE_WAYNUM_DMAPPED_Val _U_(0x0) /**< \brief (CMCC_TYPE) Direct Mapped Cache */ -#define CMCC_TYPE_WAYNUM_ARCH2WAY_Val _U_(0x1) /**< \brief (CMCC_TYPE) 2-WAY set associative */ -#define CMCC_TYPE_WAYNUM_ARCH4WAY_Val _U_(0x2) /**< \brief (CMCC_TYPE) 4-WAY set associative */ -#define CMCC_TYPE_WAYNUM_DMAPPED (CMCC_TYPE_WAYNUM_DMAPPED_Val << CMCC_TYPE_WAYNUM_Pos) -#define CMCC_TYPE_WAYNUM_ARCH2WAY (CMCC_TYPE_WAYNUM_ARCH2WAY_Val << CMCC_TYPE_WAYNUM_Pos) -#define CMCC_TYPE_WAYNUM_ARCH4WAY (CMCC_TYPE_WAYNUM_ARCH4WAY_Val << CMCC_TYPE_WAYNUM_Pos) -#define CMCC_TYPE_LCKDOWN_Pos 7 /**< \brief (CMCC_TYPE) Lock Down supported */ -#define CMCC_TYPE_LCKDOWN (_U_(0x1) << CMCC_TYPE_LCKDOWN_Pos) -#define CMCC_TYPE_CSIZE_Pos 8 /**< \brief (CMCC_TYPE) Cache Size */ -#define CMCC_TYPE_CSIZE_Msk (_U_(0x7) << CMCC_TYPE_CSIZE_Pos) -#define CMCC_TYPE_CSIZE(value) (CMCC_TYPE_CSIZE_Msk & ((value) << CMCC_TYPE_CSIZE_Pos)) -#define CMCC_TYPE_CSIZE_CSIZE_1KB_Val _U_(0x0) /**< \brief (CMCC_TYPE) Cache Size is 1 KB */ -#define CMCC_TYPE_CSIZE_CSIZE_2KB_Val _U_(0x1) /**< \brief (CMCC_TYPE) Cache Size is 2 KB */ -#define CMCC_TYPE_CSIZE_CSIZE_4KB_Val _U_(0x2) /**< \brief (CMCC_TYPE) Cache Size is 4 KB */ -#define CMCC_TYPE_CSIZE_CSIZE_8KB_Val _U_(0x3) /**< \brief (CMCC_TYPE) Cache Size is 8 KB */ -#define CMCC_TYPE_CSIZE_CSIZE_16KB_Val _U_(0x4) /**< \brief (CMCC_TYPE) Cache Size is 16 KB */ -#define CMCC_TYPE_CSIZE_CSIZE_32KB_Val _U_(0x5) /**< \brief (CMCC_TYPE) Cache Size is 32 KB */ -#define CMCC_TYPE_CSIZE_CSIZE_64KB_Val _U_(0x6) /**< \brief (CMCC_TYPE) Cache Size is 64 KB */ -#define CMCC_TYPE_CSIZE_CSIZE_1KB (CMCC_TYPE_CSIZE_CSIZE_1KB_Val << CMCC_TYPE_CSIZE_Pos) -#define CMCC_TYPE_CSIZE_CSIZE_2KB (CMCC_TYPE_CSIZE_CSIZE_2KB_Val << CMCC_TYPE_CSIZE_Pos) -#define CMCC_TYPE_CSIZE_CSIZE_4KB (CMCC_TYPE_CSIZE_CSIZE_4KB_Val << CMCC_TYPE_CSIZE_Pos) -#define CMCC_TYPE_CSIZE_CSIZE_8KB (CMCC_TYPE_CSIZE_CSIZE_8KB_Val << CMCC_TYPE_CSIZE_Pos) -#define CMCC_TYPE_CSIZE_CSIZE_16KB (CMCC_TYPE_CSIZE_CSIZE_16KB_Val << CMCC_TYPE_CSIZE_Pos) -#define CMCC_TYPE_CSIZE_CSIZE_32KB (CMCC_TYPE_CSIZE_CSIZE_32KB_Val << CMCC_TYPE_CSIZE_Pos) -#define CMCC_TYPE_CSIZE_CSIZE_64KB (CMCC_TYPE_CSIZE_CSIZE_64KB_Val << CMCC_TYPE_CSIZE_Pos) -#define CMCC_TYPE_CLSIZE_Pos 11 /**< \brief (CMCC_TYPE) Cache Line Size */ -#define CMCC_TYPE_CLSIZE_Msk (_U_(0x7) << CMCC_TYPE_CLSIZE_Pos) -#define CMCC_TYPE_CLSIZE(value) (CMCC_TYPE_CLSIZE_Msk & ((value) << CMCC_TYPE_CLSIZE_Pos)) -#define CMCC_TYPE_CLSIZE_CLSIZE_4B_Val _U_(0x0) /**< \brief (CMCC_TYPE) Cache Line Size is 4 bytes */ -#define CMCC_TYPE_CLSIZE_CLSIZE_8B_Val _U_(0x1) /**< \brief (CMCC_TYPE) Cache Line Size is 8 bytes */ -#define CMCC_TYPE_CLSIZE_CLSIZE_16B_Val _U_(0x2) /**< \brief (CMCC_TYPE) Cache Line Size is 16 bytes */ -#define CMCC_TYPE_CLSIZE_CLSIZE_32B_Val _U_(0x3) /**< \brief (CMCC_TYPE) Cache Line Size is 32 bytes */ -#define CMCC_TYPE_CLSIZE_CLSIZE_64B_Val _U_(0x4) /**< \brief (CMCC_TYPE) Cache Line Size is 64 bytes */ -#define CMCC_TYPE_CLSIZE_CLSIZE_128B_Val _U_(0x5) /**< \brief (CMCC_TYPE) Cache Line Size is 128 bytes */ -#define CMCC_TYPE_CLSIZE_CLSIZE_4B (CMCC_TYPE_CLSIZE_CLSIZE_4B_Val << CMCC_TYPE_CLSIZE_Pos) -#define CMCC_TYPE_CLSIZE_CLSIZE_8B (CMCC_TYPE_CLSIZE_CLSIZE_8B_Val << CMCC_TYPE_CLSIZE_Pos) -#define CMCC_TYPE_CLSIZE_CLSIZE_16B (CMCC_TYPE_CLSIZE_CLSIZE_16B_Val << CMCC_TYPE_CLSIZE_Pos) -#define CMCC_TYPE_CLSIZE_CLSIZE_32B (CMCC_TYPE_CLSIZE_CLSIZE_32B_Val << CMCC_TYPE_CLSIZE_Pos) -#define CMCC_TYPE_CLSIZE_CLSIZE_64B (CMCC_TYPE_CLSIZE_CLSIZE_64B_Val << CMCC_TYPE_CLSIZE_Pos) -#define CMCC_TYPE_CLSIZE_CLSIZE_128B (CMCC_TYPE_CLSIZE_CLSIZE_128B_Val << CMCC_TYPE_CLSIZE_Pos) -#define CMCC_TYPE_MASK _U_(0x00003FF2) /**< \brief (CMCC_TYPE) MASK Register */ - -/* -------- CMCC_CFG : (CMCC Offset: 0x04) (R/W 32) Cache Configuration Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t :1; /*!< bit: 0 Reserved */ - uint32_t ICDIS:1; /*!< bit: 1 Instruction Cache Disable */ - uint32_t DCDIS:1; /*!< bit: 2 Data Cache Disable */ - uint32_t :1; /*!< bit: 3 Reserved */ - uint32_t CSIZESW:3; /*!< bit: 4.. 6 Cache size configured by software */ - uint32_t :25; /*!< bit: 7..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_CFG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_CFG_OFFSET 0x04 /**< \brief (CMCC_CFG offset) Cache Configuration Register */ -#define CMCC_CFG_RESETVALUE _U_(0x00000020) /**< \brief (CMCC_CFG reset_value) Cache Configuration Register */ - -#define CMCC_CFG_ICDIS_Pos 1 /**< \brief (CMCC_CFG) Instruction Cache Disable */ -#define CMCC_CFG_ICDIS (_U_(0x1) << CMCC_CFG_ICDIS_Pos) -#define CMCC_CFG_DCDIS_Pos 2 /**< \brief (CMCC_CFG) Data Cache Disable */ -#define CMCC_CFG_DCDIS (_U_(0x1) << CMCC_CFG_DCDIS_Pos) -#define CMCC_CFG_CSIZESW_Pos 4 /**< \brief (CMCC_CFG) Cache size configured by software */ -#define CMCC_CFG_CSIZESW_Msk (_U_(0x7) << CMCC_CFG_CSIZESW_Pos) -#define CMCC_CFG_CSIZESW(value) (CMCC_CFG_CSIZESW_Msk & ((value) << CMCC_CFG_CSIZESW_Pos)) -#define CMCC_CFG_CSIZESW_CONF_CSIZE_1KB_Val _U_(0x0) /**< \brief (CMCC_CFG) the Cache Size is configured to 1KB */ -#define CMCC_CFG_CSIZESW_CONF_CSIZE_2KB_Val _U_(0x1) /**< \brief (CMCC_CFG) the Cache Size is configured to 2KB */ -#define CMCC_CFG_CSIZESW_CONF_CSIZE_4KB_Val _U_(0x2) /**< \brief (CMCC_CFG) the Cache Size is configured to 4KB */ -#define CMCC_CFG_CSIZESW_CONF_CSIZE_8KB_Val _U_(0x3) /**< \brief (CMCC_CFG) the Cache Size is configured to 8KB */ -#define CMCC_CFG_CSIZESW_CONF_CSIZE_16KB_Val _U_(0x4) /**< \brief (CMCC_CFG) the Cache Size is configured to 16KB */ -#define CMCC_CFG_CSIZESW_CONF_CSIZE_32KB_Val _U_(0x5) /**< \brief (CMCC_CFG) the Cache Size is configured to 32KB */ -#define CMCC_CFG_CSIZESW_CONF_CSIZE_64KB_Val _U_(0x6) /**< \brief (CMCC_CFG) the Cache Size is configured to 64KB */ -#define CMCC_CFG_CSIZESW_CONF_CSIZE_1KB (CMCC_CFG_CSIZESW_CONF_CSIZE_1KB_Val << CMCC_CFG_CSIZESW_Pos) -#define CMCC_CFG_CSIZESW_CONF_CSIZE_2KB (CMCC_CFG_CSIZESW_CONF_CSIZE_2KB_Val << CMCC_CFG_CSIZESW_Pos) -#define CMCC_CFG_CSIZESW_CONF_CSIZE_4KB (CMCC_CFG_CSIZESW_CONF_CSIZE_4KB_Val << CMCC_CFG_CSIZESW_Pos) -#define CMCC_CFG_CSIZESW_CONF_CSIZE_8KB (CMCC_CFG_CSIZESW_CONF_CSIZE_8KB_Val << CMCC_CFG_CSIZESW_Pos) -#define CMCC_CFG_CSIZESW_CONF_CSIZE_16KB (CMCC_CFG_CSIZESW_CONF_CSIZE_16KB_Val << CMCC_CFG_CSIZESW_Pos) -#define CMCC_CFG_CSIZESW_CONF_CSIZE_32KB (CMCC_CFG_CSIZESW_CONF_CSIZE_32KB_Val << CMCC_CFG_CSIZESW_Pos) -#define CMCC_CFG_CSIZESW_CONF_CSIZE_64KB (CMCC_CFG_CSIZESW_CONF_CSIZE_64KB_Val << CMCC_CFG_CSIZESW_Pos) -#define CMCC_CFG_MASK _U_(0x00000076) /**< \brief (CMCC_CFG) MASK Register */ - -/* -------- CMCC_CTRL : (CMCC Offset: 0x08) ( /W 32) Cache Control Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t CEN:1; /*!< bit: 0 Cache Controller Enable */ - uint32_t :31; /*!< bit: 1..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_CTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_CTRL_OFFSET 0x08 /**< \brief (CMCC_CTRL offset) Cache Control Register */ -#define CMCC_CTRL_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_CTRL reset_value) Cache Control Register */ - -#define CMCC_CTRL_CEN_Pos 0 /**< \brief (CMCC_CTRL) Cache Controller Enable */ -#define CMCC_CTRL_CEN (_U_(0x1) << CMCC_CTRL_CEN_Pos) -#define CMCC_CTRL_MASK _U_(0x00000001) /**< \brief (CMCC_CTRL) MASK Register */ - -/* -------- CMCC_SR : (CMCC Offset: 0x0C) (R/ 32) Cache Status Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t CSTS:1; /*!< bit: 0 Cache Controller Status */ - uint32_t :31; /*!< bit: 1..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_SR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_SR_OFFSET 0x0C /**< \brief (CMCC_SR offset) Cache Status Register */ -#define CMCC_SR_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_SR reset_value) Cache Status Register */ - -#define CMCC_SR_CSTS_Pos 0 /**< \brief (CMCC_SR) Cache Controller Status */ -#define CMCC_SR_CSTS (_U_(0x1) << CMCC_SR_CSTS_Pos) -#define CMCC_SR_MASK _U_(0x00000001) /**< \brief (CMCC_SR) MASK Register */ - -/* -------- CMCC_LCKWAY : (CMCC Offset: 0x10) (R/W 32) Cache Lock per Way Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t LCKWAY:4; /*!< bit: 0.. 3 Lockdown way Register */ - uint32_t :28; /*!< bit: 4..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_LCKWAY_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_LCKWAY_OFFSET 0x10 /**< \brief (CMCC_LCKWAY offset) Cache Lock per Way Register */ -#define CMCC_LCKWAY_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_LCKWAY reset_value) Cache Lock per Way Register */ - -#define CMCC_LCKWAY_LCKWAY_Pos 0 /**< \brief (CMCC_LCKWAY) Lockdown way Register */ -#define CMCC_LCKWAY_LCKWAY_Msk (_U_(0xF) << CMCC_LCKWAY_LCKWAY_Pos) -#define CMCC_LCKWAY_LCKWAY(value) (CMCC_LCKWAY_LCKWAY_Msk & ((value) << CMCC_LCKWAY_LCKWAY_Pos)) -#define CMCC_LCKWAY_MASK _U_(0x0000000F) /**< \brief (CMCC_LCKWAY) MASK Register */ - -/* -------- CMCC_MAINT0 : (CMCC Offset: 0x20) ( /W 32) Cache Maintenance Register 0 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t INVALL:1; /*!< bit: 0 Cache Controller invalidate All */ - uint32_t :31; /*!< bit: 1..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_MAINT0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_MAINT0_OFFSET 0x20 /**< \brief (CMCC_MAINT0 offset) Cache Maintenance Register 0 */ -#define CMCC_MAINT0_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MAINT0 reset_value) Cache Maintenance Register 0 */ - -#define CMCC_MAINT0_INVALL_Pos 0 /**< \brief (CMCC_MAINT0) Cache Controller invalidate All */ -#define CMCC_MAINT0_INVALL (_U_(0x1) << CMCC_MAINT0_INVALL_Pos) -#define CMCC_MAINT0_MASK _U_(0x00000001) /**< \brief (CMCC_MAINT0) MASK Register */ - -/* -------- CMCC_MAINT1 : (CMCC Offset: 0x24) ( /W 32) Cache Maintenance Register 1 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t :4; /*!< bit: 0.. 3 Reserved */ - uint32_t INDEX:8; /*!< bit: 4..11 Invalidate Index */ - uint32_t :16; /*!< bit: 12..27 Reserved */ - uint32_t WAY:4; /*!< bit: 28..31 Invalidate Way */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_MAINT1_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_MAINT1_OFFSET 0x24 /**< \brief (CMCC_MAINT1 offset) Cache Maintenance Register 1 */ -#define CMCC_MAINT1_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MAINT1 reset_value) Cache Maintenance Register 1 */ - -#define CMCC_MAINT1_INDEX_Pos 4 /**< \brief (CMCC_MAINT1) Invalidate Index */ -#define CMCC_MAINT1_INDEX_Msk (_U_(0xFF) << CMCC_MAINT1_INDEX_Pos) -#define CMCC_MAINT1_INDEX(value) (CMCC_MAINT1_INDEX_Msk & ((value) << CMCC_MAINT1_INDEX_Pos)) -#define CMCC_MAINT1_WAY_Pos 28 /**< \brief (CMCC_MAINT1) Invalidate Way */ -#define CMCC_MAINT1_WAY_Msk (_U_(0xF) << CMCC_MAINT1_WAY_Pos) -#define CMCC_MAINT1_WAY(value) (CMCC_MAINT1_WAY_Msk & ((value) << CMCC_MAINT1_WAY_Pos)) -#define CMCC_MAINT1_WAY_WAY0_Val _U_(0x0) /**< \brief (CMCC_MAINT1) Way 0 is selection for index invalidation */ -#define CMCC_MAINT1_WAY_WAY1_Val _U_(0x1) /**< \brief (CMCC_MAINT1) Way 1 is selection for index invalidation */ -#define CMCC_MAINT1_WAY_WAY2_Val _U_(0x2) /**< \brief (CMCC_MAINT1) Way 2 is selection for index invalidation */ -#define CMCC_MAINT1_WAY_WAY3_Val _U_(0x3) /**< \brief (CMCC_MAINT1) Way 3 is selection for index invalidation */ -#define CMCC_MAINT1_WAY_WAY0 (CMCC_MAINT1_WAY_WAY0_Val << CMCC_MAINT1_WAY_Pos) -#define CMCC_MAINT1_WAY_WAY1 (CMCC_MAINT1_WAY_WAY1_Val << CMCC_MAINT1_WAY_Pos) -#define CMCC_MAINT1_WAY_WAY2 (CMCC_MAINT1_WAY_WAY2_Val << CMCC_MAINT1_WAY_Pos) -#define CMCC_MAINT1_WAY_WAY3 (CMCC_MAINT1_WAY_WAY3_Val << CMCC_MAINT1_WAY_Pos) -#define CMCC_MAINT1_MASK _U_(0xF0000FF0) /**< \brief (CMCC_MAINT1) MASK Register */ - -/* -------- CMCC_MCFG : (CMCC Offset: 0x28) (R/W 32) Cache Monitor Configuration Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t MODE:2; /*!< bit: 0.. 1 Cache Controller Monitor Counter Mode */ - uint32_t :30; /*!< bit: 2..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_MCFG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_MCFG_OFFSET 0x28 /**< \brief (CMCC_MCFG offset) Cache Monitor Configuration Register */ -#define CMCC_MCFG_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MCFG reset_value) Cache Monitor Configuration Register */ - -#define CMCC_MCFG_MODE_Pos 0 /**< \brief (CMCC_MCFG) Cache Controller Monitor Counter Mode */ -#define CMCC_MCFG_MODE_Msk (_U_(0x3) << CMCC_MCFG_MODE_Pos) -#define CMCC_MCFG_MODE(value) (CMCC_MCFG_MODE_Msk & ((value) << CMCC_MCFG_MODE_Pos)) -#define CMCC_MCFG_MODE_CYCLE_COUNT_Val _U_(0x0) /**< \brief (CMCC_MCFG) cycle counter */ -#define CMCC_MCFG_MODE_IHIT_COUNT_Val _U_(0x1) /**< \brief (CMCC_MCFG) instruction hit counter */ -#define CMCC_MCFG_MODE_DHIT_COUNT_Val _U_(0x2) /**< \brief (CMCC_MCFG) data hit counter */ -#define CMCC_MCFG_MODE_CYCLE_COUNT (CMCC_MCFG_MODE_CYCLE_COUNT_Val << CMCC_MCFG_MODE_Pos) -#define CMCC_MCFG_MODE_IHIT_COUNT (CMCC_MCFG_MODE_IHIT_COUNT_Val << CMCC_MCFG_MODE_Pos) -#define CMCC_MCFG_MODE_DHIT_COUNT (CMCC_MCFG_MODE_DHIT_COUNT_Val << CMCC_MCFG_MODE_Pos) -#define CMCC_MCFG_MASK _U_(0x00000003) /**< \brief (CMCC_MCFG) MASK Register */ - -/* -------- CMCC_MEN : (CMCC Offset: 0x2C) (R/W 32) Cache Monitor Enable Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t MENABLE:1; /*!< bit: 0 Cache Controller Monitor Enable */ - uint32_t :31; /*!< bit: 1..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_MEN_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_MEN_OFFSET 0x2C /**< \brief (CMCC_MEN offset) Cache Monitor Enable Register */ -#define CMCC_MEN_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MEN reset_value) Cache Monitor Enable Register */ - -#define CMCC_MEN_MENABLE_Pos 0 /**< \brief (CMCC_MEN) Cache Controller Monitor Enable */ -#define CMCC_MEN_MENABLE (_U_(0x1) << CMCC_MEN_MENABLE_Pos) -#define CMCC_MEN_MASK _U_(0x00000001) /**< \brief (CMCC_MEN) MASK Register */ - -/* -------- CMCC_MCTRL : (CMCC Offset: 0x30) ( /W 32) Cache Monitor Control Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t SWRST:1; /*!< bit: 0 Cache Controller Software Reset */ - uint32_t :31; /*!< bit: 1..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_MCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_MCTRL_OFFSET 0x30 /**< \brief (CMCC_MCTRL offset) Cache Monitor Control Register */ -#define CMCC_MCTRL_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MCTRL reset_value) Cache Monitor Control Register */ - -#define CMCC_MCTRL_SWRST_Pos 0 /**< \brief (CMCC_MCTRL) Cache Controller Software Reset */ -#define CMCC_MCTRL_SWRST (_U_(0x1) << CMCC_MCTRL_SWRST_Pos) -#define CMCC_MCTRL_MASK _U_(0x00000001) /**< \brief (CMCC_MCTRL) MASK Register */ - -/* -------- CMCC_MSR : (CMCC Offset: 0x34) (R/ 32) Cache Monitor Status Register -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t EVENT_CNT:32; /*!< bit: 0..31 Monitor Event Counter */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} CMCC_MSR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define CMCC_MSR_OFFSET 0x34 /**< \brief (CMCC_MSR offset) Cache Monitor Status Register */ -#define CMCC_MSR_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MSR reset_value) Cache Monitor Status Register */ - -#define CMCC_MSR_EVENT_CNT_Pos 0 /**< \brief (CMCC_MSR) Monitor Event Counter */ -#define CMCC_MSR_EVENT_CNT_Msk (_U_(0xFFFFFFFF) << CMCC_MSR_EVENT_CNT_Pos) -#define CMCC_MSR_EVENT_CNT(value) (CMCC_MSR_EVENT_CNT_Msk & ((value) << CMCC_MSR_EVENT_CNT_Pos)) -#define CMCC_MSR_MASK _U_(0xFFFFFFFF) /**< \brief (CMCC_MSR) MASK Register */ - -/** \brief CMCC APB hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __I CMCC_TYPE_Type TYPE; /**< \brief Offset: 0x00 (R/ 32) Cache Type Register */ - __IO CMCC_CFG_Type CFG; /**< \brief Offset: 0x04 (R/W 32) Cache Configuration Register */ - __O CMCC_CTRL_Type CTRL; /**< \brief Offset: 0x08 ( /W 32) Cache Control Register */ - __I CMCC_SR_Type SR; /**< \brief Offset: 0x0C (R/ 32) Cache Status Register */ - __IO CMCC_LCKWAY_Type LCKWAY; /**< \brief Offset: 0x10 (R/W 32) Cache Lock per Way Register */ - RoReg8 Reserved1[0xC]; - __O CMCC_MAINT0_Type MAINT0; /**< \brief Offset: 0x20 ( /W 32) Cache Maintenance Register 0 */ - __O CMCC_MAINT1_Type MAINT1; /**< \brief Offset: 0x24 ( /W 32) Cache Maintenance Register 1 */ - __IO CMCC_MCFG_Type MCFG; /**< \brief Offset: 0x28 (R/W 32) Cache Monitor Configuration Register */ - __IO CMCC_MEN_Type MEN; /**< \brief Offset: 0x2C (R/W 32) Cache Monitor Enable Register */ - __O CMCC_MCTRL_Type MCTRL; /**< \brief Offset: 0x30 ( /W 32) Cache Monitor Control Register */ - __I CMCC_MSR_Type MSR; /**< \brief Offset: 0x34 (R/ 32) Cache Monitor Status Register */ -} Cmcc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/*@}*/ - -#endif /* _SAME54_CMCC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/include/component/dac.h b/software/firmware/oracle_same54n19a/include/component/dac.h deleted file mode 100644 index 60f28c0..0000000 --- a/software/firmware/oracle_same54n19a/include/component/dac.h +++ /dev/null @@ -1,544 +0,0 @@ -/** - * \file - * - * \brief Component description for DAC - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_DAC_COMPONENT_ -#define _SAME54_DAC_COMPONENT_ - -/* ========================================================================== */ -/** SOFTWARE API DEFINITION FOR DAC */ -/* ========================================================================== */ -/** \addtogroup SAME54_DAC Digital-to-Analog Converter */ -/*@{*/ - -#define DAC_U2502 -#define REV_DAC 0x100 - -/* -------- DAC_CTRLA : (DAC Offset: 0x00) (R/W 8) Control A -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t SWRST:1; /*!< bit: 0 Software Reset */ - uint8_t ENABLE:1; /*!< bit: 1 Enable DAC Controller */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DAC_CTRLA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_CTRLA_OFFSET 0x00 /**< \brief (DAC_CTRLA offset) Control A */ -#define DAC_CTRLA_RESETVALUE _U_(0x00) /**< \brief (DAC_CTRLA reset_value) Control A */ - -#define DAC_CTRLA_SWRST_Pos 0 /**< \brief (DAC_CTRLA) Software Reset */ -#define DAC_CTRLA_SWRST (_U_(0x1) << DAC_CTRLA_SWRST_Pos) -#define DAC_CTRLA_ENABLE_Pos 1 /**< \brief (DAC_CTRLA) Enable DAC Controller */ -#define DAC_CTRLA_ENABLE (_U_(0x1) << DAC_CTRLA_ENABLE_Pos) -#define DAC_CTRLA_MASK _U_(0x03) /**< \brief (DAC_CTRLA) MASK Register */ - -/* -------- DAC_CTRLB : (DAC Offset: 0x01) (R/W 8) Control B -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t DIFF:1; /*!< bit: 0 Differential mode enable */ - uint8_t REFSEL:2; /*!< bit: 1.. 2 Reference Selection for DAC0/1 */ - uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DAC_CTRLB_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_CTRLB_OFFSET 0x01 /**< \brief (DAC_CTRLB offset) Control B */ -#define DAC_CTRLB_RESETVALUE _U_(0x02) /**< \brief (DAC_CTRLB reset_value) Control B */ - -#define DAC_CTRLB_DIFF_Pos 0 /**< \brief (DAC_CTRLB) Differential mode enable */ -#define DAC_CTRLB_DIFF (_U_(0x1) << DAC_CTRLB_DIFF_Pos) -#define DAC_CTRLB_REFSEL_Pos 1 /**< \brief (DAC_CTRLB) Reference Selection for DAC0/1 */ -#define DAC_CTRLB_REFSEL_Msk (_U_(0x3) << DAC_CTRLB_REFSEL_Pos) -#define DAC_CTRLB_REFSEL(value) (DAC_CTRLB_REFSEL_Msk & ((value) << DAC_CTRLB_REFSEL_Pos)) -#define DAC_CTRLB_REFSEL_VREFPU_Val _U_(0x0) /**< \brief (DAC_CTRLB) External reference unbuffered */ -#define DAC_CTRLB_REFSEL_VDDANA_Val _U_(0x1) /**< \brief (DAC_CTRLB) Analog supply */ -#define DAC_CTRLB_REFSEL_VREFPB_Val _U_(0x2) /**< \brief (DAC_CTRLB) External reference buffered */ -#define DAC_CTRLB_REFSEL_INTREF_Val _U_(0x3) /**< \brief (DAC_CTRLB) Internal bandgap reference */ -#define DAC_CTRLB_REFSEL_VREFPU (DAC_CTRLB_REFSEL_VREFPU_Val << DAC_CTRLB_REFSEL_Pos) -#define DAC_CTRLB_REFSEL_VDDANA (DAC_CTRLB_REFSEL_VDDANA_Val << DAC_CTRLB_REFSEL_Pos) -#define DAC_CTRLB_REFSEL_VREFPB (DAC_CTRLB_REFSEL_VREFPB_Val << DAC_CTRLB_REFSEL_Pos) -#define DAC_CTRLB_REFSEL_INTREF (DAC_CTRLB_REFSEL_INTREF_Val << DAC_CTRLB_REFSEL_Pos) -#define DAC_CTRLB_MASK _U_(0x07) /**< \brief (DAC_CTRLB) MASK Register */ - -/* -------- DAC_EVCTRL : (DAC Offset: 0x02) (R/W 8) Event Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t STARTEI0:1; /*!< bit: 0 Start Conversion Event Input DAC 0 */ - uint8_t STARTEI1:1; /*!< bit: 1 Start Conversion Event Input DAC 1 */ - uint8_t EMPTYEO0:1; /*!< bit: 2 Data Buffer Empty Event Output DAC 0 */ - uint8_t EMPTYEO1:1; /*!< bit: 3 Data Buffer Empty Event Output DAC 1 */ - uint8_t INVEI0:1; /*!< bit: 4 Enable Invertion of DAC 0 input event */ - uint8_t INVEI1:1; /*!< bit: 5 Enable Invertion of DAC 1 input event */ - uint8_t RESRDYEO0:1; /*!< bit: 6 Result Ready Event Output 0 */ - uint8_t RESRDYEO1:1; /*!< bit: 7 Result Ready Event Output 1 */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t STARTEI:2; /*!< bit: 0.. 1 Start Conversion Event Input DAC x */ - uint8_t EMPTYEO:2; /*!< bit: 2.. 3 Data Buffer Empty Event Output DAC x */ - uint8_t INVEI:2; /*!< bit: 4.. 5 Enable Invertion of DAC x input event */ - uint8_t RESRDYEO:2; /*!< bit: 6.. 7 Result Ready Event Output x */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} DAC_EVCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_EVCTRL_OFFSET 0x02 /**< \brief (DAC_EVCTRL offset) Event Control */ -#define DAC_EVCTRL_RESETVALUE _U_(0x00) /**< \brief (DAC_EVCTRL reset_value) Event Control */ - -#define DAC_EVCTRL_STARTEI0_Pos 0 /**< \brief (DAC_EVCTRL) Start Conversion Event Input DAC 0 */ -#define DAC_EVCTRL_STARTEI0 (_U_(1) << DAC_EVCTRL_STARTEI0_Pos) -#define DAC_EVCTRL_STARTEI1_Pos 1 /**< \brief (DAC_EVCTRL) Start Conversion Event Input DAC 1 */ -#define DAC_EVCTRL_STARTEI1 (_U_(1) << DAC_EVCTRL_STARTEI1_Pos) -#define DAC_EVCTRL_STARTEI_Pos 0 /**< \brief (DAC_EVCTRL) Start Conversion Event Input DAC x */ -#define DAC_EVCTRL_STARTEI_Msk (_U_(0x3) << DAC_EVCTRL_STARTEI_Pos) -#define DAC_EVCTRL_STARTEI(value) (DAC_EVCTRL_STARTEI_Msk & ((value) << DAC_EVCTRL_STARTEI_Pos)) -#define DAC_EVCTRL_EMPTYEO0_Pos 2 /**< \brief (DAC_EVCTRL) Data Buffer Empty Event Output DAC 0 */ -#define DAC_EVCTRL_EMPTYEO0 (_U_(1) << DAC_EVCTRL_EMPTYEO0_Pos) -#define DAC_EVCTRL_EMPTYEO1_Pos 3 /**< \brief (DAC_EVCTRL) Data Buffer Empty Event Output DAC 1 */ -#define DAC_EVCTRL_EMPTYEO1 (_U_(1) << DAC_EVCTRL_EMPTYEO1_Pos) -#define DAC_EVCTRL_EMPTYEO_Pos 2 /**< \brief (DAC_EVCTRL) Data Buffer Empty Event Output DAC x */ -#define DAC_EVCTRL_EMPTYEO_Msk (_U_(0x3) << DAC_EVCTRL_EMPTYEO_Pos) -#define DAC_EVCTRL_EMPTYEO(value) (DAC_EVCTRL_EMPTYEO_Msk & ((value) << DAC_EVCTRL_EMPTYEO_Pos)) -#define DAC_EVCTRL_INVEI0_Pos 4 /**< \brief (DAC_EVCTRL) Enable Invertion of DAC 0 input event */ -#define DAC_EVCTRL_INVEI0 (_U_(1) << DAC_EVCTRL_INVEI0_Pos) -#define DAC_EVCTRL_INVEI1_Pos 5 /**< \brief (DAC_EVCTRL) Enable Invertion of DAC 1 input event */ -#define DAC_EVCTRL_INVEI1 (_U_(1) << DAC_EVCTRL_INVEI1_Pos) -#define DAC_EVCTRL_INVEI_Pos 4 /**< \brief (DAC_EVCTRL) Enable Invertion of DAC x input event */ -#define DAC_EVCTRL_INVEI_Msk (_U_(0x3) << DAC_EVCTRL_INVEI_Pos) -#define DAC_EVCTRL_INVEI(value) (DAC_EVCTRL_INVEI_Msk & ((value) << DAC_EVCTRL_INVEI_Pos)) -#define DAC_EVCTRL_RESRDYEO0_Pos 6 /**< \brief (DAC_EVCTRL) Result Ready Event Output 0 */ -#define DAC_EVCTRL_RESRDYEO0 (_U_(1) << DAC_EVCTRL_RESRDYEO0_Pos) -#define DAC_EVCTRL_RESRDYEO1_Pos 7 /**< \brief (DAC_EVCTRL) Result Ready Event Output 1 */ -#define DAC_EVCTRL_RESRDYEO1 (_U_(1) << DAC_EVCTRL_RESRDYEO1_Pos) -#define DAC_EVCTRL_RESRDYEO_Pos 6 /**< \brief (DAC_EVCTRL) Result Ready Event Output x */ -#define DAC_EVCTRL_RESRDYEO_Msk (_U_(0x3) << DAC_EVCTRL_RESRDYEO_Pos) -#define DAC_EVCTRL_RESRDYEO(value) (DAC_EVCTRL_RESRDYEO_Msk & ((value) << DAC_EVCTRL_RESRDYEO_Pos)) -#define DAC_EVCTRL_MASK _U_(0xFF) /**< \brief (DAC_EVCTRL) MASK Register */ - -/* -------- DAC_INTENCLR : (DAC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t UNDERRUN0:1; /*!< bit: 0 Underrun 0 Interrupt Enable */ - uint8_t UNDERRUN1:1; /*!< bit: 1 Underrun 1 Interrupt Enable */ - uint8_t EMPTY0:1; /*!< bit: 2 Data Buffer 0 Empty Interrupt Enable */ - uint8_t EMPTY1:1; /*!< bit: 3 Data Buffer 1 Empty Interrupt Enable */ - uint8_t RESRDY0:1; /*!< bit: 4 Result 0 Ready Interrupt Enable */ - uint8_t RESRDY1:1; /*!< bit: 5 Result 1 Ready Interrupt Enable */ - uint8_t OVERRUN0:1; /*!< bit: 6 Overrun 0 Interrupt Enable */ - uint8_t OVERRUN1:1; /*!< bit: 7 Overrun 1 Interrupt Enable */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t UNDERRUN:2; /*!< bit: 0.. 1 Underrun x Interrupt Enable */ - uint8_t EMPTY:2; /*!< bit: 2.. 3 Data Buffer x Empty Interrupt Enable */ - uint8_t RESRDY:2; /*!< bit: 4.. 5 Result x Ready Interrupt Enable */ - uint8_t OVERRUN:2; /*!< bit: 6.. 7 Overrun x Interrupt Enable */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} DAC_INTENCLR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_INTENCLR_OFFSET 0x04 /**< \brief (DAC_INTENCLR offset) Interrupt Enable Clear */ -#define DAC_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (DAC_INTENCLR reset_value) Interrupt Enable Clear */ - -#define DAC_INTENCLR_UNDERRUN0_Pos 0 /**< \brief (DAC_INTENCLR) Underrun 0 Interrupt Enable */ -#define DAC_INTENCLR_UNDERRUN0 (_U_(1) << DAC_INTENCLR_UNDERRUN0_Pos) -#define DAC_INTENCLR_UNDERRUN1_Pos 1 /**< \brief (DAC_INTENCLR) Underrun 1 Interrupt Enable */ -#define DAC_INTENCLR_UNDERRUN1 (_U_(1) << DAC_INTENCLR_UNDERRUN1_Pos) -#define DAC_INTENCLR_UNDERRUN_Pos 0 /**< \brief (DAC_INTENCLR) Underrun x Interrupt Enable */ -#define DAC_INTENCLR_UNDERRUN_Msk (_U_(0x3) << DAC_INTENCLR_UNDERRUN_Pos) -#define DAC_INTENCLR_UNDERRUN(value) (DAC_INTENCLR_UNDERRUN_Msk & ((value) << DAC_INTENCLR_UNDERRUN_Pos)) -#define DAC_INTENCLR_EMPTY0_Pos 2 /**< \brief (DAC_INTENCLR) Data Buffer 0 Empty Interrupt Enable */ -#define DAC_INTENCLR_EMPTY0 (_U_(1) << DAC_INTENCLR_EMPTY0_Pos) -#define DAC_INTENCLR_EMPTY1_Pos 3 /**< \brief (DAC_INTENCLR) Data Buffer 1 Empty Interrupt Enable */ -#define DAC_INTENCLR_EMPTY1 (_U_(1) << DAC_INTENCLR_EMPTY1_Pos) -#define DAC_INTENCLR_EMPTY_Pos 2 /**< \brief (DAC_INTENCLR) Data Buffer x Empty Interrupt Enable */ -#define DAC_INTENCLR_EMPTY_Msk (_U_(0x3) << DAC_INTENCLR_EMPTY_Pos) -#define DAC_INTENCLR_EMPTY(value) (DAC_INTENCLR_EMPTY_Msk & ((value) << DAC_INTENCLR_EMPTY_Pos)) -#define DAC_INTENCLR_RESRDY0_Pos 4 /**< \brief (DAC_INTENCLR) Result 0 Ready Interrupt Enable */ -#define DAC_INTENCLR_RESRDY0 (_U_(1) << DAC_INTENCLR_RESRDY0_Pos) -#define DAC_INTENCLR_RESRDY1_Pos 5 /**< \brief (DAC_INTENCLR) Result 1 Ready Interrupt Enable */ -#define DAC_INTENCLR_RESRDY1 (_U_(1) << DAC_INTENCLR_RESRDY1_Pos) -#define DAC_INTENCLR_RESRDY_Pos 4 /**< \brief (DAC_INTENCLR) Result x Ready Interrupt Enable */ -#define DAC_INTENCLR_RESRDY_Msk (_U_(0x3) << DAC_INTENCLR_RESRDY_Pos) -#define DAC_INTENCLR_RESRDY(value) (DAC_INTENCLR_RESRDY_Msk & ((value) << DAC_INTENCLR_RESRDY_Pos)) -#define DAC_INTENCLR_OVERRUN0_Pos 6 /**< \brief (DAC_INTENCLR) Overrun 0 Interrupt Enable */ -#define DAC_INTENCLR_OVERRUN0 (_U_(1) << DAC_INTENCLR_OVERRUN0_Pos) -#define DAC_INTENCLR_OVERRUN1_Pos 7 /**< \brief (DAC_INTENCLR) Overrun 1 Interrupt Enable */ -#define DAC_INTENCLR_OVERRUN1 (_U_(1) << DAC_INTENCLR_OVERRUN1_Pos) -#define DAC_INTENCLR_OVERRUN_Pos 6 /**< \brief (DAC_INTENCLR) Overrun x Interrupt Enable */ -#define DAC_INTENCLR_OVERRUN_Msk (_U_(0x3) << DAC_INTENCLR_OVERRUN_Pos) -#define DAC_INTENCLR_OVERRUN(value) (DAC_INTENCLR_OVERRUN_Msk & ((value) << DAC_INTENCLR_OVERRUN_Pos)) -#define DAC_INTENCLR_MASK _U_(0xFF) /**< \brief (DAC_INTENCLR) MASK Register */ - -/* -------- DAC_INTENSET : (DAC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t UNDERRUN0:1; /*!< bit: 0 Underrun 0 Interrupt Enable */ - uint8_t UNDERRUN1:1; /*!< bit: 1 Underrun 1 Interrupt Enable */ - uint8_t EMPTY0:1; /*!< bit: 2 Data Buffer 0 Empty Interrupt Enable */ - uint8_t EMPTY1:1; /*!< bit: 3 Data Buffer 1 Empty Interrupt Enable */ - uint8_t RESRDY0:1; /*!< bit: 4 Result 0 Ready Interrupt Enable */ - uint8_t RESRDY1:1; /*!< bit: 5 Result 1 Ready Interrupt Enable */ - uint8_t OVERRUN0:1; /*!< bit: 6 Overrun 0 Interrupt Enable */ - uint8_t OVERRUN1:1; /*!< bit: 7 Overrun 1 Interrupt Enable */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t UNDERRUN:2; /*!< bit: 0.. 1 Underrun x Interrupt Enable */ - uint8_t EMPTY:2; /*!< bit: 2.. 3 Data Buffer x Empty Interrupt Enable */ - uint8_t RESRDY:2; /*!< bit: 4.. 5 Result x Ready Interrupt Enable */ - uint8_t OVERRUN:2; /*!< bit: 6.. 7 Overrun x Interrupt Enable */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} DAC_INTENSET_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_INTENSET_OFFSET 0x05 /**< \brief (DAC_INTENSET offset) Interrupt Enable Set */ -#define DAC_INTENSET_RESETVALUE _U_(0x00) /**< \brief (DAC_INTENSET reset_value) Interrupt Enable Set */ - -#define DAC_INTENSET_UNDERRUN0_Pos 0 /**< \brief (DAC_INTENSET) Underrun 0 Interrupt Enable */ -#define DAC_INTENSET_UNDERRUN0 (_U_(1) << DAC_INTENSET_UNDERRUN0_Pos) -#define DAC_INTENSET_UNDERRUN1_Pos 1 /**< \brief (DAC_INTENSET) Underrun 1 Interrupt Enable */ -#define DAC_INTENSET_UNDERRUN1 (_U_(1) << DAC_INTENSET_UNDERRUN1_Pos) -#define DAC_INTENSET_UNDERRUN_Pos 0 /**< \brief (DAC_INTENSET) Underrun x Interrupt Enable */ -#define DAC_INTENSET_UNDERRUN_Msk (_U_(0x3) << DAC_INTENSET_UNDERRUN_Pos) -#define DAC_INTENSET_UNDERRUN(value) (DAC_INTENSET_UNDERRUN_Msk & ((value) << DAC_INTENSET_UNDERRUN_Pos)) -#define DAC_INTENSET_EMPTY0_Pos 2 /**< \brief (DAC_INTENSET) Data Buffer 0 Empty Interrupt Enable */ -#define DAC_INTENSET_EMPTY0 (_U_(1) << DAC_INTENSET_EMPTY0_Pos) -#define DAC_INTENSET_EMPTY1_Pos 3 /**< \brief (DAC_INTENSET) Data Buffer 1 Empty Interrupt Enable */ -#define DAC_INTENSET_EMPTY1 (_U_(1) << DAC_INTENSET_EMPTY1_Pos) -#define DAC_INTENSET_EMPTY_Pos 2 /**< \brief (DAC_INTENSET) Data Buffer x Empty Interrupt Enable */ -#define DAC_INTENSET_EMPTY_Msk (_U_(0x3) << DAC_INTENSET_EMPTY_Pos) -#define DAC_INTENSET_EMPTY(value) (DAC_INTENSET_EMPTY_Msk & ((value) << DAC_INTENSET_EMPTY_Pos)) -#define DAC_INTENSET_RESRDY0_Pos 4 /**< \brief (DAC_INTENSET) Result 0 Ready Interrupt Enable */ -#define DAC_INTENSET_RESRDY0 (_U_(1) << DAC_INTENSET_RESRDY0_Pos) -#define DAC_INTENSET_RESRDY1_Pos 5 /**< \brief (DAC_INTENSET) Result 1 Ready Interrupt Enable */ -#define DAC_INTENSET_RESRDY1 (_U_(1) << DAC_INTENSET_RESRDY1_Pos) -#define DAC_INTENSET_RESRDY_Pos 4 /**< \brief (DAC_INTENSET) Result x Ready Interrupt Enable */ -#define DAC_INTENSET_RESRDY_Msk (_U_(0x3) << DAC_INTENSET_RESRDY_Pos) -#define DAC_INTENSET_RESRDY(value) (DAC_INTENSET_RESRDY_Msk & ((value) << DAC_INTENSET_RESRDY_Pos)) -#define DAC_INTENSET_OVERRUN0_Pos 6 /**< \brief (DAC_INTENSET) Overrun 0 Interrupt Enable */ -#define DAC_INTENSET_OVERRUN0 (_U_(1) << DAC_INTENSET_OVERRUN0_Pos) -#define DAC_INTENSET_OVERRUN1_Pos 7 /**< \brief (DAC_INTENSET) Overrun 1 Interrupt Enable */ -#define DAC_INTENSET_OVERRUN1 (_U_(1) << DAC_INTENSET_OVERRUN1_Pos) -#define DAC_INTENSET_OVERRUN_Pos 6 /**< \brief (DAC_INTENSET) Overrun x Interrupt Enable */ -#define DAC_INTENSET_OVERRUN_Msk (_U_(0x3) << DAC_INTENSET_OVERRUN_Pos) -#define DAC_INTENSET_OVERRUN(value) (DAC_INTENSET_OVERRUN_Msk & ((value) << DAC_INTENSET_OVERRUN_Pos)) -#define DAC_INTENSET_MASK _U_(0xFF) /**< \brief (DAC_INTENSET) MASK Register */ - -/* -------- DAC_INTFLAG : (DAC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { // __I to avoid read-modify-write on write-to-clear register - struct { - __I uint8_t UNDERRUN0:1; /*!< bit: 0 Result 0 Underrun */ - __I uint8_t UNDERRUN1:1; /*!< bit: 1 Result 1 Underrun */ - __I uint8_t EMPTY0:1; /*!< bit: 2 Data Buffer 0 Empty */ - __I uint8_t EMPTY1:1; /*!< bit: 3 Data Buffer 1 Empty */ - __I uint8_t RESRDY0:1; /*!< bit: 4 Result 0 Ready */ - __I uint8_t RESRDY1:1; /*!< bit: 5 Result 1 Ready */ - __I uint8_t OVERRUN0:1; /*!< bit: 6 Result 0 Overrun */ - __I uint8_t OVERRUN1:1; /*!< bit: 7 Result 1 Overrun */ - } bit; /*!< Structure used for bit access */ - struct { - __I uint8_t UNDERRUN:2; /*!< bit: 0.. 1 Result x Underrun */ - __I uint8_t EMPTY:2; /*!< bit: 2.. 3 Data Buffer x Empty */ - __I uint8_t RESRDY:2; /*!< bit: 4.. 5 Result x Ready */ - __I uint8_t OVERRUN:2; /*!< bit: 6.. 7 Result x Overrun */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} DAC_INTFLAG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_INTFLAG_OFFSET 0x06 /**< \brief (DAC_INTFLAG offset) Interrupt Flag Status and Clear */ -#define DAC_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (DAC_INTFLAG reset_value) Interrupt Flag Status and Clear */ - -#define DAC_INTFLAG_UNDERRUN0_Pos 0 /**< \brief (DAC_INTFLAG) Result 0 Underrun */ -#define DAC_INTFLAG_UNDERRUN0 (_U_(1) << DAC_INTFLAG_UNDERRUN0_Pos) -#define DAC_INTFLAG_UNDERRUN1_Pos 1 /**< \brief (DAC_INTFLAG) Result 1 Underrun */ -#define DAC_INTFLAG_UNDERRUN1 (_U_(1) << DAC_INTFLAG_UNDERRUN1_Pos) -#define DAC_INTFLAG_UNDERRUN_Pos 0 /**< \brief (DAC_INTFLAG) Result x Underrun */ -#define DAC_INTFLAG_UNDERRUN_Msk (_U_(0x3) << DAC_INTFLAG_UNDERRUN_Pos) -#define DAC_INTFLAG_UNDERRUN(value) (DAC_INTFLAG_UNDERRUN_Msk & ((value) << DAC_INTFLAG_UNDERRUN_Pos)) -#define DAC_INTFLAG_EMPTY0_Pos 2 /**< \brief (DAC_INTFLAG) Data Buffer 0 Empty */ -#define DAC_INTFLAG_EMPTY0 (_U_(1) << DAC_INTFLAG_EMPTY0_Pos) -#define DAC_INTFLAG_EMPTY1_Pos 3 /**< \brief (DAC_INTFLAG) Data Buffer 1 Empty */ -#define DAC_INTFLAG_EMPTY1 (_U_(1) << DAC_INTFLAG_EMPTY1_Pos) -#define DAC_INTFLAG_EMPTY_Pos 2 /**< \brief (DAC_INTFLAG) Data Buffer x Empty */ -#define DAC_INTFLAG_EMPTY_Msk (_U_(0x3) << DAC_INTFLAG_EMPTY_Pos) -#define DAC_INTFLAG_EMPTY(value) (DAC_INTFLAG_EMPTY_Msk & ((value) << DAC_INTFLAG_EMPTY_Pos)) -#define DAC_INTFLAG_RESRDY0_Pos 4 /**< \brief (DAC_INTFLAG) Result 0 Ready */ -#define DAC_INTFLAG_RESRDY0 (_U_(1) << DAC_INTFLAG_RESRDY0_Pos) -#define DAC_INTFLAG_RESRDY1_Pos 5 /**< \brief (DAC_INTFLAG) Result 1 Ready */ -#define DAC_INTFLAG_RESRDY1 (_U_(1) << DAC_INTFLAG_RESRDY1_Pos) -#define DAC_INTFLAG_RESRDY_Pos 4 /**< \brief (DAC_INTFLAG) Result x Ready */ -#define DAC_INTFLAG_RESRDY_Msk (_U_(0x3) << DAC_INTFLAG_RESRDY_Pos) -#define DAC_INTFLAG_RESRDY(value) (DAC_INTFLAG_RESRDY_Msk & ((value) << DAC_INTFLAG_RESRDY_Pos)) -#define DAC_INTFLAG_OVERRUN0_Pos 6 /**< \brief (DAC_INTFLAG) Result 0 Overrun */ -#define DAC_INTFLAG_OVERRUN0 (_U_(1) << DAC_INTFLAG_OVERRUN0_Pos) -#define DAC_INTFLAG_OVERRUN1_Pos 7 /**< \brief (DAC_INTFLAG) Result 1 Overrun */ -#define DAC_INTFLAG_OVERRUN1 (_U_(1) << DAC_INTFLAG_OVERRUN1_Pos) -#define DAC_INTFLAG_OVERRUN_Pos 6 /**< \brief (DAC_INTFLAG) Result x Overrun */ -#define DAC_INTFLAG_OVERRUN_Msk (_U_(0x3) << DAC_INTFLAG_OVERRUN_Pos) -#define DAC_INTFLAG_OVERRUN(value) (DAC_INTFLAG_OVERRUN_Msk & ((value) << DAC_INTFLAG_OVERRUN_Pos)) -#define DAC_INTFLAG_MASK _U_(0xFF) /**< \brief (DAC_INTFLAG) MASK Register */ - -/* -------- DAC_STATUS : (DAC Offset: 0x07) (R/ 8) Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t READY0:1; /*!< bit: 0 DAC 0 Startup Ready */ - uint8_t READY1:1; /*!< bit: 1 DAC 1 Startup Ready */ - uint8_t EOC0:1; /*!< bit: 2 DAC 0 End of Conversion */ - uint8_t EOC1:1; /*!< bit: 3 DAC 1 End of Conversion */ - uint8_t :4; /*!< bit: 4.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint8_t READY:2; /*!< bit: 0.. 1 DAC x Startup Ready */ - uint8_t EOC:2; /*!< bit: 2.. 3 DAC x End of Conversion */ - uint8_t :4; /*!< bit: 4.. 7 Reserved */ - } vec; /*!< Structure used for vec access */ - uint8_t reg; /*!< Type used for register access */ -} DAC_STATUS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_STATUS_OFFSET 0x07 /**< \brief (DAC_STATUS offset) Status */ -#define DAC_STATUS_RESETVALUE _U_(0x00) /**< \brief (DAC_STATUS reset_value) Status */ - -#define DAC_STATUS_READY0_Pos 0 /**< \brief (DAC_STATUS) DAC 0 Startup Ready */ -#define DAC_STATUS_READY0 (_U_(1) << DAC_STATUS_READY0_Pos) -#define DAC_STATUS_READY1_Pos 1 /**< \brief (DAC_STATUS) DAC 1 Startup Ready */ -#define DAC_STATUS_READY1 (_U_(1) << DAC_STATUS_READY1_Pos) -#define DAC_STATUS_READY_Pos 0 /**< \brief (DAC_STATUS) DAC x Startup Ready */ -#define DAC_STATUS_READY_Msk (_U_(0x3) << DAC_STATUS_READY_Pos) -#define DAC_STATUS_READY(value) (DAC_STATUS_READY_Msk & ((value) << DAC_STATUS_READY_Pos)) -#define DAC_STATUS_EOC0_Pos 2 /**< \brief (DAC_STATUS) DAC 0 End of Conversion */ -#define DAC_STATUS_EOC0 (_U_(1) << DAC_STATUS_EOC0_Pos) -#define DAC_STATUS_EOC1_Pos 3 /**< \brief (DAC_STATUS) DAC 1 End of Conversion */ -#define DAC_STATUS_EOC1 (_U_(1) << DAC_STATUS_EOC1_Pos) -#define DAC_STATUS_EOC_Pos 2 /**< \brief (DAC_STATUS) DAC x End of Conversion */ -#define DAC_STATUS_EOC_Msk (_U_(0x3) << DAC_STATUS_EOC_Pos) -#define DAC_STATUS_EOC(value) (DAC_STATUS_EOC_Msk & ((value) << DAC_STATUS_EOC_Pos)) -#define DAC_STATUS_MASK _U_(0x0F) /**< \brief (DAC_STATUS) MASK Register */ - -/* -------- DAC_SYNCBUSY : (DAC Offset: 0x08) (R/ 32) Synchronization Busy -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t SWRST:1; /*!< bit: 0 Software Reset */ - uint32_t ENABLE:1; /*!< bit: 1 DAC Enable Status */ - uint32_t DATA0:1; /*!< bit: 2 Data DAC 0 */ - uint32_t DATA1:1; /*!< bit: 3 Data DAC 1 */ - uint32_t DATABUF0:1; /*!< bit: 4 Data Buffer DAC 0 */ - uint32_t DATABUF1:1; /*!< bit: 5 Data Buffer DAC 1 */ - uint32_t :26; /*!< bit: 6..31 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint32_t :2; /*!< bit: 0.. 1 Reserved */ - uint32_t DATA:2; /*!< bit: 2.. 3 Data DAC x */ - uint32_t DATABUF:2; /*!< bit: 4.. 5 Data Buffer DAC x */ - uint32_t :26; /*!< bit: 6..31 Reserved */ - } vec; /*!< Structure used for vec access */ - uint32_t reg; /*!< Type used for register access */ -} DAC_SYNCBUSY_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_SYNCBUSY_OFFSET 0x08 /**< \brief (DAC_SYNCBUSY offset) Synchronization Busy */ -#define DAC_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (DAC_SYNCBUSY reset_value) Synchronization Busy */ - -#define DAC_SYNCBUSY_SWRST_Pos 0 /**< \brief (DAC_SYNCBUSY) Software Reset */ -#define DAC_SYNCBUSY_SWRST (_U_(0x1) << DAC_SYNCBUSY_SWRST_Pos) -#define DAC_SYNCBUSY_ENABLE_Pos 1 /**< \brief (DAC_SYNCBUSY) DAC Enable Status */ -#define DAC_SYNCBUSY_ENABLE (_U_(0x1) << DAC_SYNCBUSY_ENABLE_Pos) -#define DAC_SYNCBUSY_DATA0_Pos 2 /**< \brief (DAC_SYNCBUSY) Data DAC 0 */ -#define DAC_SYNCBUSY_DATA0 (_U_(1) << DAC_SYNCBUSY_DATA0_Pos) -#define DAC_SYNCBUSY_DATA1_Pos 3 /**< \brief (DAC_SYNCBUSY) Data DAC 1 */ -#define DAC_SYNCBUSY_DATA1 (_U_(1) << DAC_SYNCBUSY_DATA1_Pos) -#define DAC_SYNCBUSY_DATA_Pos 2 /**< \brief (DAC_SYNCBUSY) Data DAC x */ -#define DAC_SYNCBUSY_DATA_Msk (_U_(0x3) << DAC_SYNCBUSY_DATA_Pos) -#define DAC_SYNCBUSY_DATA(value) (DAC_SYNCBUSY_DATA_Msk & ((value) << DAC_SYNCBUSY_DATA_Pos)) -#define DAC_SYNCBUSY_DATABUF0_Pos 4 /**< \brief (DAC_SYNCBUSY) Data Buffer DAC 0 */ -#define DAC_SYNCBUSY_DATABUF0 (_U_(1) << DAC_SYNCBUSY_DATABUF0_Pos) -#define DAC_SYNCBUSY_DATABUF1_Pos 5 /**< \brief (DAC_SYNCBUSY) Data Buffer DAC 1 */ -#define DAC_SYNCBUSY_DATABUF1 (_U_(1) << DAC_SYNCBUSY_DATABUF1_Pos) -#define DAC_SYNCBUSY_DATABUF_Pos 4 /**< \brief (DAC_SYNCBUSY) Data Buffer DAC x */ -#define DAC_SYNCBUSY_DATABUF_Msk (_U_(0x3) << DAC_SYNCBUSY_DATABUF_Pos) -#define DAC_SYNCBUSY_DATABUF(value) (DAC_SYNCBUSY_DATABUF_Msk & ((value) << DAC_SYNCBUSY_DATABUF_Pos)) -#define DAC_SYNCBUSY_MASK _U_(0x0000003F) /**< \brief (DAC_SYNCBUSY) MASK Register */ - -/* -------- DAC_DACCTRL : (DAC Offset: 0x0C) (R/W 16) DAC n Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t LEFTADJ:1; /*!< bit: 0 Left Adjusted Data */ - uint16_t ENABLE:1; /*!< bit: 1 Enable DAC0 */ - uint16_t CCTRL:2; /*!< bit: 2.. 3 Current Control */ - uint16_t :1; /*!< bit: 4 Reserved */ - uint16_t FEXT:1; /*!< bit: 5 Standalone Filter */ - uint16_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */ - uint16_t DITHER:1; /*!< bit: 7 Dithering Mode */ - uint16_t REFRESH:4; /*!< bit: 8..11 Refresh period */ - uint16_t :1; /*!< bit: 12 Reserved */ - uint16_t OSR:3; /*!< bit: 13..15 Sampling Rate */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} DAC_DACCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_DACCTRL_OFFSET 0x0C /**< \brief (DAC_DACCTRL offset) DAC n Control */ -#define DAC_DACCTRL_RESETVALUE _U_(0x0000) /**< \brief (DAC_DACCTRL reset_value) DAC n Control */ - -#define DAC_DACCTRL_LEFTADJ_Pos 0 /**< \brief (DAC_DACCTRL) Left Adjusted Data */ -#define DAC_DACCTRL_LEFTADJ (_U_(0x1) << DAC_DACCTRL_LEFTADJ_Pos) -#define DAC_DACCTRL_ENABLE_Pos 1 /**< \brief (DAC_DACCTRL) Enable DAC0 */ -#define DAC_DACCTRL_ENABLE (_U_(0x1) << DAC_DACCTRL_ENABLE_Pos) -#define DAC_DACCTRL_CCTRL_Pos 2 /**< \brief (DAC_DACCTRL) Current Control */ -#define DAC_DACCTRL_CCTRL_Msk (_U_(0x3) << DAC_DACCTRL_CCTRL_Pos) -#define DAC_DACCTRL_CCTRL(value) (DAC_DACCTRL_CCTRL_Msk & ((value) << DAC_DACCTRL_CCTRL_Pos)) -#define DAC_DACCTRL_CCTRL_CC100K_Val _U_(0x0) /**< \brief (DAC_DACCTRL) GCLK_DAC ≤ 1.2MHz (100kSPS) */ -#define DAC_DACCTRL_CCTRL_CC1M_Val _U_(0x1) /**< \brief (DAC_DACCTRL) 1.2MHz < GCLK_DAC ≤ 6MHz (500kSPS) */ -#define DAC_DACCTRL_CCTRL_CC12M_Val _U_(0x2) /**< \brief (DAC_DACCTRL) 6MHz < GCLK_DAC ≤ 12MHz (1MSPS) */ -#define DAC_DACCTRL_CCTRL_CC100K (DAC_DACCTRL_CCTRL_CC100K_Val << DAC_DACCTRL_CCTRL_Pos) -#define DAC_DACCTRL_CCTRL_CC1M (DAC_DACCTRL_CCTRL_CC1M_Val << DAC_DACCTRL_CCTRL_Pos) -#define DAC_DACCTRL_CCTRL_CC12M (DAC_DACCTRL_CCTRL_CC12M_Val << DAC_DACCTRL_CCTRL_Pos) -#define DAC_DACCTRL_FEXT_Pos 5 /**< \brief (DAC_DACCTRL) Standalone Filter */ -#define DAC_DACCTRL_FEXT (_U_(0x1) << DAC_DACCTRL_FEXT_Pos) -#define DAC_DACCTRL_RUNSTDBY_Pos 6 /**< \brief (DAC_DACCTRL) Run in Standby */ -#define DAC_DACCTRL_RUNSTDBY (_U_(0x1) << DAC_DACCTRL_RUNSTDBY_Pos) -#define DAC_DACCTRL_DITHER_Pos 7 /**< \brief (DAC_DACCTRL) Dithering Mode */ -#define DAC_DACCTRL_DITHER (_U_(0x1) << DAC_DACCTRL_DITHER_Pos) -#define DAC_DACCTRL_REFRESH_Pos 8 /**< \brief (DAC_DACCTRL) Refresh period */ -#define DAC_DACCTRL_REFRESH_Msk (_U_(0xF) << DAC_DACCTRL_REFRESH_Pos) -#define DAC_DACCTRL_REFRESH(value) (DAC_DACCTRL_REFRESH_Msk & ((value) << DAC_DACCTRL_REFRESH_Pos)) -#define DAC_DACCTRL_OSR_Pos 13 /**< \brief (DAC_DACCTRL) Sampling Rate */ -#define DAC_DACCTRL_OSR_Msk (_U_(0x7) << DAC_DACCTRL_OSR_Pos) -#define DAC_DACCTRL_OSR(value) (DAC_DACCTRL_OSR_Msk & ((value) << DAC_DACCTRL_OSR_Pos)) -#define DAC_DACCTRL_MASK _U_(0xEFEF) /**< \brief (DAC_DACCTRL) MASK Register */ - -/* -------- DAC_DATA : (DAC Offset: 0x10) ( /W 16) DAC n Data -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t DATA:16; /*!< bit: 0..15 DAC0 Data */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} DAC_DATA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_DATA_OFFSET 0x10 /**< \brief (DAC_DATA offset) DAC n Data */ -#define DAC_DATA_RESETVALUE _U_(0x0000) /**< \brief (DAC_DATA reset_value) DAC n Data */ - -#define DAC_DATA_DATA_Pos 0 /**< \brief (DAC_DATA) DAC0 Data */ -#define DAC_DATA_DATA_Msk (_U_(0xFFFF) << DAC_DATA_DATA_Pos) -#define DAC_DATA_DATA(value) (DAC_DATA_DATA_Msk & ((value) << DAC_DATA_DATA_Pos)) -#define DAC_DATA_MASK _U_(0xFFFF) /**< \brief (DAC_DATA) MASK Register */ - -/* -------- DAC_DATABUF : (DAC Offset: 0x14) ( /W 16) DAC n Data Buffer -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t DATABUF:16; /*!< bit: 0..15 DAC0 Data Buffer */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} DAC_DATABUF_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_DATABUF_OFFSET 0x14 /**< \brief (DAC_DATABUF offset) DAC n Data Buffer */ -#define DAC_DATABUF_RESETVALUE _U_(0x0000) /**< \brief (DAC_DATABUF reset_value) DAC n Data Buffer */ - -#define DAC_DATABUF_DATABUF_Pos 0 /**< \brief (DAC_DATABUF) DAC0 Data Buffer */ -#define DAC_DATABUF_DATABUF_Msk (_U_(0xFFFF) << DAC_DATABUF_DATABUF_Pos) -#define DAC_DATABUF_DATABUF(value) (DAC_DATABUF_DATABUF_Msk & ((value) << DAC_DATABUF_DATABUF_Pos)) -#define DAC_DATABUF_MASK _U_(0xFFFF) /**< \brief (DAC_DATABUF) MASK Register */ - -/* -------- DAC_DBGCTRL : (DAC Offset: 0x18) (R/W 8) Debug Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ - uint8_t :7; /*!< bit: 1.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DAC_DBGCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_DBGCTRL_OFFSET 0x18 /**< \brief (DAC_DBGCTRL offset) Debug Control */ -#define DAC_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (DAC_DBGCTRL reset_value) Debug Control */ - -#define DAC_DBGCTRL_DBGRUN_Pos 0 /**< \brief (DAC_DBGCTRL) Debug Run */ -#define DAC_DBGCTRL_DBGRUN (_U_(0x1) << DAC_DBGCTRL_DBGRUN_Pos) -#define DAC_DBGCTRL_MASK _U_(0x01) /**< \brief (DAC_DBGCTRL) MASK Register */ - -/* -------- DAC_RESULT : (DAC Offset: 0x1C) (R/ 16) Filter Result -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t RESULT:16; /*!< bit: 0..15 Filter Result */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} DAC_RESULT_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DAC_RESULT_OFFSET 0x1C /**< \brief (DAC_RESULT offset) Filter Result */ -#define DAC_RESULT_RESETVALUE _U_(0x0000) /**< \brief (DAC_RESULT reset_value) Filter Result */ - -#define DAC_RESULT_RESULT_Pos 0 /**< \brief (DAC_RESULT) Filter Result */ -#define DAC_RESULT_RESULT_Msk (_U_(0xFFFF) << DAC_RESULT_RESULT_Pos) -#define DAC_RESULT_RESULT(value) (DAC_RESULT_RESULT_Msk & ((value) << DAC_RESULT_RESULT_Pos)) -#define DAC_RESULT_MASK _U_(0xFFFF) /**< \brief (DAC_RESULT) MASK Register */ - -/** \brief DAC hardware registers */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef struct { - __IO DAC_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 8) Control A */ - __IO DAC_CTRLB_Type CTRLB; /**< \brief Offset: 0x01 (R/W 8) Control B */ - __IO DAC_EVCTRL_Type EVCTRL; /**< \brief Offset: 0x02 (R/W 8) Event Control */ - RoReg8 Reserved1[0x1]; - __IO DAC_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x04 (R/W 8) Interrupt Enable Clear */ - __IO DAC_INTENSET_Type INTENSET; /**< \brief Offset: 0x05 (R/W 8) Interrupt Enable Set */ - __IO DAC_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x06 (R/W 8) Interrupt Flag Status and Clear */ - __I DAC_STATUS_Type STATUS; /**< \brief Offset: 0x07 (R/ 8) Status */ - __I DAC_SYNCBUSY_Type SYNCBUSY; /**< \brief Offset: 0x08 (R/ 32) Synchronization Busy */ - __IO DAC_DACCTRL_Type DACCTRL[2]; /**< \brief Offset: 0x0C (R/W 16) DAC n Control */ - __O DAC_DATA_Type DATA[2]; /**< \brief Offset: 0x10 ( /W 16) DAC n Data */ - __O DAC_DATABUF_Type DATABUF[2]; /**< \brief Offset: 0x14 ( /W 16) DAC n Data Buffer */ - __IO DAC_DBGCTRL_Type DBGCTRL; /**< \brief Offset: 0x18 (R/W 8) Debug Control */ - RoReg8 Reserved2[0x3]; - __I DAC_RESULT_Type RESULT[2]; /**< \brief Offset: 0x1C (R/ 16) Filter Result */ -} Dac; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -/*@}*/ - -#endif /* _SAME54_DAC_COMPONENT_ */ diff --git a/software/firmware/oracle_same54n19a/include/component/dmac.h b/software/firmware/oracle_same54n19a/include/component/dmac.h deleted file mode 100644 index a611b79..0000000 --- a/software/firmware/oracle_same54n19a/include/component/dmac.h +++ /dev/null @@ -1,1416 +0,0 @@ -/** - * \file - * - * \brief Component description for DMAC - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_DMAC_COMPONENT_ -#define _SAME54_DMAC_COMPONENT_ - -/* ========================================================================== */ -/** SOFTWARE API DEFINITION FOR DMAC */ -/* ========================================================================== */ -/** \addtogroup SAME54_DMAC Direct Memory Access Controller */ -/*@{*/ - -#define DMAC_U2503 -#define REV_DMAC 0x101 - -/* -------- DMAC_CTRL : (DMAC Offset: 0x00) (R/W 16) Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t SWRST:1; /*!< bit: 0 Software Reset */ - uint16_t DMAENABLE:1; /*!< bit: 1 DMA Enable */ - uint16_t :6; /*!< bit: 2.. 7 Reserved */ - uint16_t LVLEN0:1; /*!< bit: 8 Priority Level 0 Enable */ - uint16_t LVLEN1:1; /*!< bit: 9 Priority Level 1 Enable */ - uint16_t LVLEN2:1; /*!< bit: 10 Priority Level 2 Enable */ - uint16_t LVLEN3:1; /*!< bit: 11 Priority Level 3 Enable */ - uint16_t :4; /*!< bit: 12..15 Reserved */ - } bit; /*!< Structure used for bit access */ - struct { - uint16_t :8; /*!< bit: 0.. 7 Reserved */ - uint16_t LVLEN:4; /*!< bit: 8..11 Priority Level x Enable */ - uint16_t :4; /*!< bit: 12..15 Reserved */ - } vec; /*!< Structure used for vec access */ - uint16_t reg; /*!< Type used for register access */ -} DMAC_CTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CTRL_OFFSET 0x00 /**< \brief (DMAC_CTRL offset) Control */ -#define DMAC_CTRL_RESETVALUE _U_(0x0000) /**< \brief (DMAC_CTRL reset_value) Control */ - -#define DMAC_CTRL_SWRST_Pos 0 /**< \brief (DMAC_CTRL) Software Reset */ -#define DMAC_CTRL_SWRST (_U_(0x1) << DMAC_CTRL_SWRST_Pos) -#define DMAC_CTRL_DMAENABLE_Pos 1 /**< \brief (DMAC_CTRL) DMA Enable */ -#define DMAC_CTRL_DMAENABLE (_U_(0x1) << DMAC_CTRL_DMAENABLE_Pos) -#define DMAC_CTRL_LVLEN0_Pos 8 /**< \brief (DMAC_CTRL) Priority Level 0 Enable */ -#define DMAC_CTRL_LVLEN0 (_U_(1) << DMAC_CTRL_LVLEN0_Pos) -#define DMAC_CTRL_LVLEN1_Pos 9 /**< \brief (DMAC_CTRL) Priority Level 1 Enable */ -#define DMAC_CTRL_LVLEN1 (_U_(1) << DMAC_CTRL_LVLEN1_Pos) -#define DMAC_CTRL_LVLEN2_Pos 10 /**< \brief (DMAC_CTRL) Priority Level 2 Enable */ -#define DMAC_CTRL_LVLEN2 (_U_(1) << DMAC_CTRL_LVLEN2_Pos) -#define DMAC_CTRL_LVLEN3_Pos 11 /**< \brief (DMAC_CTRL) Priority Level 3 Enable */ -#define DMAC_CTRL_LVLEN3 (_U_(1) << DMAC_CTRL_LVLEN3_Pos) -#define DMAC_CTRL_LVLEN_Pos 8 /**< \brief (DMAC_CTRL) Priority Level x Enable */ -#define DMAC_CTRL_LVLEN_Msk (_U_(0xF) << DMAC_CTRL_LVLEN_Pos) -#define DMAC_CTRL_LVLEN(value) (DMAC_CTRL_LVLEN_Msk & ((value) << DMAC_CTRL_LVLEN_Pos)) -#define DMAC_CTRL_MASK _U_(0x0F03) /**< \brief (DMAC_CTRL) MASK Register */ - -/* -------- DMAC_CRCCTRL : (DMAC Offset: 0x02) (R/W 16) CRC Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t CRCBEATSIZE:2; /*!< bit: 0.. 1 CRC Beat Size */ - uint16_t CRCPOLY:2; /*!< bit: 2.. 3 CRC Polynomial Type */ - uint16_t :4; /*!< bit: 4.. 7 Reserved */ - uint16_t CRCSRC:6; /*!< bit: 8..13 CRC Input Source */ - uint16_t CRCMODE:2; /*!< bit: 14..15 CRC Operating Mode */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} DMAC_CRCCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CRCCTRL_OFFSET 0x02 /**< \brief (DMAC_CRCCTRL offset) CRC Control */ -#define DMAC_CRCCTRL_RESETVALUE _U_(0x0000) /**< \brief (DMAC_CRCCTRL reset_value) CRC Control */ - -#define DMAC_CRCCTRL_CRCBEATSIZE_Pos 0 /**< \brief (DMAC_CRCCTRL) CRC Beat Size */ -#define DMAC_CRCCTRL_CRCBEATSIZE_Msk (_U_(0x3) << DMAC_CRCCTRL_CRCBEATSIZE_Pos) -#define DMAC_CRCCTRL_CRCBEATSIZE(value) (DMAC_CRCCTRL_CRCBEATSIZE_Msk & ((value) << DMAC_CRCCTRL_CRCBEATSIZE_Pos)) -#define DMAC_CRCCTRL_CRCBEATSIZE_BYTE_Val _U_(0x0) /**< \brief (DMAC_CRCCTRL) 8-bit bus transfer */ -#define DMAC_CRCCTRL_CRCBEATSIZE_HWORD_Val _U_(0x1) /**< \brief (DMAC_CRCCTRL) 16-bit bus transfer */ -#define DMAC_CRCCTRL_CRCBEATSIZE_WORD_Val _U_(0x2) /**< \brief (DMAC_CRCCTRL) 32-bit bus transfer */ -#define DMAC_CRCCTRL_CRCBEATSIZE_BYTE (DMAC_CRCCTRL_CRCBEATSIZE_BYTE_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos) -#define DMAC_CRCCTRL_CRCBEATSIZE_HWORD (DMAC_CRCCTRL_CRCBEATSIZE_HWORD_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos) -#define DMAC_CRCCTRL_CRCBEATSIZE_WORD (DMAC_CRCCTRL_CRCBEATSIZE_WORD_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos) -#define DMAC_CRCCTRL_CRCPOLY_Pos 2 /**< \brief (DMAC_CRCCTRL) CRC Polynomial Type */ -#define DMAC_CRCCTRL_CRCPOLY_Msk (_U_(0x3) << DMAC_CRCCTRL_CRCPOLY_Pos) -#define DMAC_CRCCTRL_CRCPOLY(value) (DMAC_CRCCTRL_CRCPOLY_Msk & ((value) << DMAC_CRCCTRL_CRCPOLY_Pos)) -#define DMAC_CRCCTRL_CRCPOLY_CRC16_Val _U_(0x0) /**< \brief (DMAC_CRCCTRL) CRC-16 (CRC-CCITT) */ -#define DMAC_CRCCTRL_CRCPOLY_CRC32_Val _U_(0x1) /**< \brief (DMAC_CRCCTRL) CRC32 (IEEE 802.3) */ -#define DMAC_CRCCTRL_CRCPOLY_CRC16 (DMAC_CRCCTRL_CRCPOLY_CRC16_Val << DMAC_CRCCTRL_CRCPOLY_Pos) -#define DMAC_CRCCTRL_CRCPOLY_CRC32 (DMAC_CRCCTRL_CRCPOLY_CRC32_Val << DMAC_CRCCTRL_CRCPOLY_Pos) -#define DMAC_CRCCTRL_CRCSRC_Pos 8 /**< \brief (DMAC_CRCCTRL) CRC Input Source */ -#define DMAC_CRCCTRL_CRCSRC_Msk (_U_(0x3F) << DMAC_CRCCTRL_CRCSRC_Pos) -#define DMAC_CRCCTRL_CRCSRC(value) (DMAC_CRCCTRL_CRCSRC_Msk & ((value) << DMAC_CRCCTRL_CRCSRC_Pos)) -#define DMAC_CRCCTRL_CRCSRC_DISABLE_Val _U_(0x0) /**< \brief (DMAC_CRCCTRL) CRC Disabled */ -#define DMAC_CRCCTRL_CRCSRC_IO_Val _U_(0x1) /**< \brief (DMAC_CRCCTRL) I/O interface */ -#define DMAC_CRCCTRL_CRCSRC_DISABLE (DMAC_CRCCTRL_CRCSRC_DISABLE_Val << DMAC_CRCCTRL_CRCSRC_Pos) -#define DMAC_CRCCTRL_CRCSRC_IO (DMAC_CRCCTRL_CRCSRC_IO_Val << DMAC_CRCCTRL_CRCSRC_Pos) -#define DMAC_CRCCTRL_CRCMODE_Pos 14 /**< \brief (DMAC_CRCCTRL) CRC Operating Mode */ -#define DMAC_CRCCTRL_CRCMODE_Msk (_U_(0x3) << DMAC_CRCCTRL_CRCMODE_Pos) -#define DMAC_CRCCTRL_CRCMODE(value) (DMAC_CRCCTRL_CRCMODE_Msk & ((value) << DMAC_CRCCTRL_CRCMODE_Pos)) -#define DMAC_CRCCTRL_CRCMODE_DEFAULT_Val _U_(0x0) /**< \brief (DMAC_CRCCTRL) Default operating mode */ -#define DMAC_CRCCTRL_CRCMODE_CRCMON_Val _U_(0x2) /**< \brief (DMAC_CRCCTRL) Memory CRC monitor operating mode */ -#define DMAC_CRCCTRL_CRCMODE_CRCGEN_Val _U_(0x3) /**< \brief (DMAC_CRCCTRL) Memory CRC generation operating mode */ -#define DMAC_CRCCTRL_CRCMODE_DEFAULT (DMAC_CRCCTRL_CRCMODE_DEFAULT_Val << DMAC_CRCCTRL_CRCMODE_Pos) -#define DMAC_CRCCTRL_CRCMODE_CRCMON (DMAC_CRCCTRL_CRCMODE_CRCMON_Val << DMAC_CRCCTRL_CRCMODE_Pos) -#define DMAC_CRCCTRL_CRCMODE_CRCGEN (DMAC_CRCCTRL_CRCMODE_CRCGEN_Val << DMAC_CRCCTRL_CRCMODE_Pos) -#define DMAC_CRCCTRL_MASK _U_(0xFF0F) /**< \brief (DMAC_CRCCTRL) MASK Register */ - -/* -------- DMAC_CRCDATAIN : (DMAC Offset: 0x04) (R/W 32) CRC Data Input -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t CRCDATAIN:32; /*!< bit: 0..31 CRC Data Input */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_CRCDATAIN_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CRCDATAIN_OFFSET 0x04 /**< \brief (DMAC_CRCDATAIN offset) CRC Data Input */ -#define DMAC_CRCDATAIN_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_CRCDATAIN reset_value) CRC Data Input */ - -#define DMAC_CRCDATAIN_CRCDATAIN_Pos 0 /**< \brief (DMAC_CRCDATAIN) CRC Data Input */ -#define DMAC_CRCDATAIN_CRCDATAIN_Msk (_U_(0xFFFFFFFF) << DMAC_CRCDATAIN_CRCDATAIN_Pos) -#define DMAC_CRCDATAIN_CRCDATAIN(value) (DMAC_CRCDATAIN_CRCDATAIN_Msk & ((value) << DMAC_CRCDATAIN_CRCDATAIN_Pos)) -#define DMAC_CRCDATAIN_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_CRCDATAIN) MASK Register */ - -/* -------- DMAC_CRCCHKSUM : (DMAC Offset: 0x08) (R/W 32) CRC Checksum -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t CRCCHKSUM:32; /*!< bit: 0..31 CRC Checksum */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_CRCCHKSUM_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CRCCHKSUM_OFFSET 0x08 /**< \brief (DMAC_CRCCHKSUM offset) CRC Checksum */ -#define DMAC_CRCCHKSUM_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_CRCCHKSUM reset_value) CRC Checksum */ - -#define DMAC_CRCCHKSUM_CRCCHKSUM_Pos 0 /**< \brief (DMAC_CRCCHKSUM) CRC Checksum */ -#define DMAC_CRCCHKSUM_CRCCHKSUM_Msk (_U_(0xFFFFFFFF) << DMAC_CRCCHKSUM_CRCCHKSUM_Pos) -#define DMAC_CRCCHKSUM_CRCCHKSUM(value) (DMAC_CRCCHKSUM_CRCCHKSUM_Msk & ((value) << DMAC_CRCCHKSUM_CRCCHKSUM_Pos)) -#define DMAC_CRCCHKSUM_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_CRCCHKSUM) MASK Register */ - -/* -------- DMAC_CRCSTATUS : (DMAC Offset: 0x0C) (R/W 8) CRC Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t CRCBUSY:1; /*!< bit: 0 CRC Module Busy */ - uint8_t CRCZERO:1; /*!< bit: 1 CRC Zero */ - uint8_t CRCERR:1; /*!< bit: 2 CRC Error */ - uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_CRCSTATUS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CRCSTATUS_OFFSET 0x0C /**< \brief (DMAC_CRCSTATUS offset) CRC Status */ -#define DMAC_CRCSTATUS_RESETVALUE _U_(0x00) /**< \brief (DMAC_CRCSTATUS reset_value) CRC Status */ - -#define DMAC_CRCSTATUS_CRCBUSY_Pos 0 /**< \brief (DMAC_CRCSTATUS) CRC Module Busy */ -#define DMAC_CRCSTATUS_CRCBUSY (_U_(0x1) << DMAC_CRCSTATUS_CRCBUSY_Pos) -#define DMAC_CRCSTATUS_CRCZERO_Pos 1 /**< \brief (DMAC_CRCSTATUS) CRC Zero */ -#define DMAC_CRCSTATUS_CRCZERO (_U_(0x1) << DMAC_CRCSTATUS_CRCZERO_Pos) -#define DMAC_CRCSTATUS_CRCERR_Pos 2 /**< \brief (DMAC_CRCSTATUS) CRC Error */ -#define DMAC_CRCSTATUS_CRCERR (_U_(0x1) << DMAC_CRCSTATUS_CRCERR_Pos) -#define DMAC_CRCSTATUS_MASK _U_(0x07) /**< \brief (DMAC_CRCSTATUS) MASK Register */ - -/* -------- DMAC_DBGCTRL : (DMAC Offset: 0x0D) (R/W 8) Debug Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ - uint8_t :7; /*!< bit: 1.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_DBGCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_DBGCTRL_OFFSET 0x0D /**< \brief (DMAC_DBGCTRL offset) Debug Control */ -#define DMAC_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (DMAC_DBGCTRL reset_value) Debug Control */ - -#define DMAC_DBGCTRL_DBGRUN_Pos 0 /**< \brief (DMAC_DBGCTRL) Debug Run */ -#define DMAC_DBGCTRL_DBGRUN (_U_(0x1) << DMAC_DBGCTRL_DBGRUN_Pos) -#define DMAC_DBGCTRL_MASK _U_(0x01) /**< \brief (DMAC_DBGCTRL) MASK Register */ - -/* -------- DMAC_SWTRIGCTRL : (DMAC Offset: 0x10) (R/W 32) Software Trigger Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t SWTRIG0:1; /*!< bit: 0 Channel 0 Software Trigger */ - uint32_t SWTRIG1:1; /*!< bit: 1 Channel 1 Software Trigger */ - uint32_t SWTRIG2:1; /*!< bit: 2 Channel 2 Software Trigger */ - uint32_t SWTRIG3:1; /*!< bit: 3 Channel 3 Software Trigger */ - uint32_t SWTRIG4:1; /*!< bit: 4 Channel 4 Software Trigger */ - uint32_t SWTRIG5:1; /*!< bit: 5 Channel 5 Software Trigger */ - uint32_t SWTRIG6:1; /*!< bit: 6 Channel 6 Software Trigger */ - uint32_t SWTRIG7:1; /*!< bit: 7 Channel 7 Software Trigger */ - uint32_t SWTRIG8:1; /*!< bit: 8 Channel 8 Software Trigger */ - uint32_t SWTRIG9:1; /*!< bit: 9 Channel 9 Software Trigger */ - uint32_t SWTRIG10:1; /*!< bit: 10 Channel 10 Software Trigger */ - uint32_t SWTRIG11:1; /*!< bit: 11 Channel 11 Software Trigger */ - uint32_t SWTRIG12:1; /*!< bit: 12 Channel 12 Software Trigger */ - uint32_t SWTRIG13:1; /*!< bit: 13 Channel 13 Software Trigger */ - uint32_t SWTRIG14:1; /*!< bit: 14 Channel 14 Software Trigger */ - uint32_t SWTRIG15:1; /*!< bit: 15 Channel 15 Software Trigger */ - uint32_t SWTRIG16:1; /*!< bit: 16 Channel 16 Software Trigger */ - uint32_t SWTRIG17:1; /*!< bit: 17 Channel 17 Software Trigger */ - uint32_t SWTRIG18:1; /*!< bit: 18 Channel 18 Software Trigger */ - uint32_t SWTRIG19:1; /*!< bit: 19 Channel 19 Software Trigger */ - uint32_t SWTRIG20:1; /*!< bit: 20 Channel 20 Software Trigger */ - uint32_t SWTRIG21:1; /*!< bit: 21 Channel 21 Software Trigger */ - uint32_t SWTRIG22:1; /*!< bit: 22 Channel 22 Software Trigger */ - uint32_t SWTRIG23:1; /*!< bit: 23 Channel 23 Software Trigger */ - uint32_t SWTRIG24:1; /*!< bit: 24 Channel 24 Software Trigger */ - uint32_t SWTRIG25:1; /*!< bit: 25 Channel 25 Software Trigger */ - uint32_t SWTRIG26:1; /*!< bit: 26 Channel 26 Software Trigger */ - uint32_t SWTRIG27:1; /*!< bit: 27 Channel 27 Software Trigger */ - uint32_t SWTRIG28:1; /*!< bit: 28 Channel 28 Software Trigger */ - uint32_t SWTRIG29:1; /*!< bit: 29 Channel 29 Software Trigger */ - uint32_t SWTRIG30:1; /*!< bit: 30 Channel 30 Software Trigger */ - uint32_t SWTRIG31:1; /*!< bit: 31 Channel 31 Software Trigger */ - } bit; /*!< Structure used for bit access */ - struct { - uint32_t SWTRIG:32; /*!< bit: 0..31 Channel x Software Trigger */ - } vec; /*!< Structure used for vec access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_SWTRIGCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_SWTRIGCTRL_OFFSET 0x10 /**< \brief (DMAC_SWTRIGCTRL offset) Software Trigger Control */ -#define DMAC_SWTRIGCTRL_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_SWTRIGCTRL reset_value) Software Trigger Control */ - -#define DMAC_SWTRIGCTRL_SWTRIG0_Pos 0 /**< \brief (DMAC_SWTRIGCTRL) Channel 0 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG0 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG0_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG1_Pos 1 /**< \brief (DMAC_SWTRIGCTRL) Channel 1 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG1 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG1_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG2_Pos 2 /**< \brief (DMAC_SWTRIGCTRL) Channel 2 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG2 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG2_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG3_Pos 3 /**< \brief (DMAC_SWTRIGCTRL) Channel 3 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG3 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG3_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG4_Pos 4 /**< \brief (DMAC_SWTRIGCTRL) Channel 4 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG4 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG4_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG5_Pos 5 /**< \brief (DMAC_SWTRIGCTRL) Channel 5 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG5 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG5_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG6_Pos 6 /**< \brief (DMAC_SWTRIGCTRL) Channel 6 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG6 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG6_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG7_Pos 7 /**< \brief (DMAC_SWTRIGCTRL) Channel 7 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG7 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG7_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG8_Pos 8 /**< \brief (DMAC_SWTRIGCTRL) Channel 8 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG8 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG8_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG9_Pos 9 /**< \brief (DMAC_SWTRIGCTRL) Channel 9 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG9 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG9_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG10_Pos 10 /**< \brief (DMAC_SWTRIGCTRL) Channel 10 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG10 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG10_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG11_Pos 11 /**< \brief (DMAC_SWTRIGCTRL) Channel 11 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG11 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG11_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG12_Pos 12 /**< \brief (DMAC_SWTRIGCTRL) Channel 12 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG12 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG12_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG13_Pos 13 /**< \brief (DMAC_SWTRIGCTRL) Channel 13 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG13 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG13_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG14_Pos 14 /**< \brief (DMAC_SWTRIGCTRL) Channel 14 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG14 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG14_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG15_Pos 15 /**< \brief (DMAC_SWTRIGCTRL) Channel 15 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG15 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG15_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG16_Pos 16 /**< \brief (DMAC_SWTRIGCTRL) Channel 16 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG16 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG16_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG17_Pos 17 /**< \brief (DMAC_SWTRIGCTRL) Channel 17 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG17 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG17_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG18_Pos 18 /**< \brief (DMAC_SWTRIGCTRL) Channel 18 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG18 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG18_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG19_Pos 19 /**< \brief (DMAC_SWTRIGCTRL) Channel 19 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG19 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG19_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG20_Pos 20 /**< \brief (DMAC_SWTRIGCTRL) Channel 20 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG20 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG20_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG21_Pos 21 /**< \brief (DMAC_SWTRIGCTRL) Channel 21 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG21 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG21_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG22_Pos 22 /**< \brief (DMAC_SWTRIGCTRL) Channel 22 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG22 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG22_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG23_Pos 23 /**< \brief (DMAC_SWTRIGCTRL) Channel 23 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG23 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG23_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG24_Pos 24 /**< \brief (DMAC_SWTRIGCTRL) Channel 24 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG24 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG24_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG25_Pos 25 /**< \brief (DMAC_SWTRIGCTRL) Channel 25 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG25 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG25_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG26_Pos 26 /**< \brief (DMAC_SWTRIGCTRL) Channel 26 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG26 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG26_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG27_Pos 27 /**< \brief (DMAC_SWTRIGCTRL) Channel 27 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG27 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG27_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG28_Pos 28 /**< \brief (DMAC_SWTRIGCTRL) Channel 28 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG28 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG28_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG29_Pos 29 /**< \brief (DMAC_SWTRIGCTRL) Channel 29 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG29 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG29_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG30_Pos 30 /**< \brief (DMAC_SWTRIGCTRL) Channel 30 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG30 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG30_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG31_Pos 31 /**< \brief (DMAC_SWTRIGCTRL) Channel 31 Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG31 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG31_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG_Pos 0 /**< \brief (DMAC_SWTRIGCTRL) Channel x Software Trigger */ -#define DMAC_SWTRIGCTRL_SWTRIG_Msk (_U_(0xFFFFFFFF) << DMAC_SWTRIGCTRL_SWTRIG_Pos) -#define DMAC_SWTRIGCTRL_SWTRIG(value) (DMAC_SWTRIGCTRL_SWTRIG_Msk & ((value) << DMAC_SWTRIGCTRL_SWTRIG_Pos)) -#define DMAC_SWTRIGCTRL_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_SWTRIGCTRL) MASK Register */ - -/* -------- DMAC_PRICTRL0 : (DMAC Offset: 0x14) (R/W 32) Priority Control 0 -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t LVLPRI0:5; /*!< bit: 0.. 4 Level 0 Channel Priority Number */ - uint32_t QOS0:2; /*!< bit: 5.. 6 Level 0 Quality of Service */ - uint32_t RRLVLEN0:1; /*!< bit: 7 Level 0 Round-Robin Scheduling Enable */ - uint32_t LVLPRI1:5; /*!< bit: 8..12 Level 1 Channel Priority Number */ - uint32_t QOS1:2; /*!< bit: 13..14 Level 1 Quality of Service */ - uint32_t RRLVLEN1:1; /*!< bit: 15 Level 1 Round-Robin Scheduling Enable */ - uint32_t LVLPRI2:5; /*!< bit: 16..20 Level 2 Channel Priority Number */ - uint32_t QOS2:2; /*!< bit: 21..22 Level 2 Quality of Service */ - uint32_t RRLVLEN2:1; /*!< bit: 23 Level 2 Round-Robin Scheduling Enable */ - uint32_t LVLPRI3:5; /*!< bit: 24..28 Level 3 Channel Priority Number */ - uint32_t QOS3:2; /*!< bit: 29..30 Level 3 Quality of Service */ - uint32_t RRLVLEN3:1; /*!< bit: 31 Level 3 Round-Robin Scheduling Enable */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_PRICTRL0_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_PRICTRL0_OFFSET 0x14 /**< \brief (DMAC_PRICTRL0 offset) Priority Control 0 */ -#define DMAC_PRICTRL0_RESETVALUE _U_(0x40404040) /**< \brief (DMAC_PRICTRL0 reset_value) Priority Control 0 */ - -#define DMAC_PRICTRL0_LVLPRI0_Pos 0 /**< \brief (DMAC_PRICTRL0) Level 0 Channel Priority Number */ -#define DMAC_PRICTRL0_LVLPRI0_Msk (_U_(0x1F) << DMAC_PRICTRL0_LVLPRI0_Pos) -#define DMAC_PRICTRL0_LVLPRI0(value) (DMAC_PRICTRL0_LVLPRI0_Msk & ((value) << DMAC_PRICTRL0_LVLPRI0_Pos)) -#define DMAC_PRICTRL0_QOS0_Pos 5 /**< \brief (DMAC_PRICTRL0) Level 0 Quality of Service */ -#define DMAC_PRICTRL0_QOS0_Msk (_U_(0x3) << DMAC_PRICTRL0_QOS0_Pos) -#define DMAC_PRICTRL0_QOS0(value) (DMAC_PRICTRL0_QOS0_Msk & ((value) << DMAC_PRICTRL0_QOS0_Pos)) -#define DMAC_PRICTRL0_QOS0_REGULAR_Val _U_(0x0) /**< \brief (DMAC_PRICTRL0) Regular delivery */ -#define DMAC_PRICTRL0_QOS0_SHORTAGE_Val _U_(0x1) /**< \brief (DMAC_PRICTRL0) Bandwidth shortage */ -#define DMAC_PRICTRL0_QOS0_SENSITIVE_Val _U_(0x2) /**< \brief (DMAC_PRICTRL0) Latency sensitive */ -#define DMAC_PRICTRL0_QOS0_CRITICAL_Val _U_(0x3) /**< \brief (DMAC_PRICTRL0) Latency critical */ -#define DMAC_PRICTRL0_QOS0_REGULAR (DMAC_PRICTRL0_QOS0_REGULAR_Val << DMAC_PRICTRL0_QOS0_Pos) -#define DMAC_PRICTRL0_QOS0_SHORTAGE (DMAC_PRICTRL0_QOS0_SHORTAGE_Val << DMAC_PRICTRL0_QOS0_Pos) -#define DMAC_PRICTRL0_QOS0_SENSITIVE (DMAC_PRICTRL0_QOS0_SENSITIVE_Val << DMAC_PRICTRL0_QOS0_Pos) -#define DMAC_PRICTRL0_QOS0_CRITICAL (DMAC_PRICTRL0_QOS0_CRITICAL_Val << DMAC_PRICTRL0_QOS0_Pos) -#define DMAC_PRICTRL0_RRLVLEN0_Pos 7 /**< \brief (DMAC_PRICTRL0) Level 0 Round-Robin Scheduling Enable */ -#define DMAC_PRICTRL0_RRLVLEN0 (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN0_Pos) -#define DMAC_PRICTRL0_LVLPRI1_Pos 8 /**< \brief (DMAC_PRICTRL0) Level 1 Channel Priority Number */ -#define DMAC_PRICTRL0_LVLPRI1_Msk (_U_(0x1F) << DMAC_PRICTRL0_LVLPRI1_Pos) -#define DMAC_PRICTRL0_LVLPRI1(value) (DMAC_PRICTRL0_LVLPRI1_Msk & ((value) << DMAC_PRICTRL0_LVLPRI1_Pos)) -#define DMAC_PRICTRL0_QOS1_Pos 13 /**< \brief (DMAC_PRICTRL0) Level 1 Quality of Service */ -#define DMAC_PRICTRL0_QOS1_Msk (_U_(0x3) << DMAC_PRICTRL0_QOS1_Pos) -#define DMAC_PRICTRL0_QOS1(value) (DMAC_PRICTRL0_QOS1_Msk & ((value) << DMAC_PRICTRL0_QOS1_Pos)) -#define DMAC_PRICTRL0_QOS1_REGULAR_Val _U_(0x0) /**< \brief (DMAC_PRICTRL0) Regular delivery */ -#define DMAC_PRICTRL0_QOS1_SHORTAGE_Val _U_(0x1) /**< \brief (DMAC_PRICTRL0) Bandwidth shortage */ -#define DMAC_PRICTRL0_QOS1_SENSITIVE_Val _U_(0x2) /**< \brief (DMAC_PRICTRL0) Latency sensitive */ -#define DMAC_PRICTRL0_QOS1_CRITICAL_Val _U_(0x3) /**< \brief (DMAC_PRICTRL0) Latency critical */ -#define DMAC_PRICTRL0_QOS1_REGULAR (DMAC_PRICTRL0_QOS1_REGULAR_Val << DMAC_PRICTRL0_QOS1_Pos) -#define DMAC_PRICTRL0_QOS1_SHORTAGE (DMAC_PRICTRL0_QOS1_SHORTAGE_Val << DMAC_PRICTRL0_QOS1_Pos) -#define DMAC_PRICTRL0_QOS1_SENSITIVE (DMAC_PRICTRL0_QOS1_SENSITIVE_Val << DMAC_PRICTRL0_QOS1_Pos) -#define DMAC_PRICTRL0_QOS1_CRITICAL (DMAC_PRICTRL0_QOS1_CRITICAL_Val << DMAC_PRICTRL0_QOS1_Pos) -#define DMAC_PRICTRL0_RRLVLEN1_Pos 15 /**< \brief (DMAC_PRICTRL0) Level 1 Round-Robin Scheduling Enable */ -#define DMAC_PRICTRL0_RRLVLEN1 (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN1_Pos) -#define DMAC_PRICTRL0_LVLPRI2_Pos 16 /**< \brief (DMAC_PRICTRL0) Level 2 Channel Priority Number */ -#define DMAC_PRICTRL0_LVLPRI2_Msk (_U_(0x1F) << DMAC_PRICTRL0_LVLPRI2_Pos) -#define DMAC_PRICTRL0_LVLPRI2(value) (DMAC_PRICTRL0_LVLPRI2_Msk & ((value) << DMAC_PRICTRL0_LVLPRI2_Pos)) -#define DMAC_PRICTRL0_QOS2_Pos 21 /**< \brief (DMAC_PRICTRL0) Level 2 Quality of Service */ -#define DMAC_PRICTRL0_QOS2_Msk (_U_(0x3) << DMAC_PRICTRL0_QOS2_Pos) -#define DMAC_PRICTRL0_QOS2(value) (DMAC_PRICTRL0_QOS2_Msk & ((value) << DMAC_PRICTRL0_QOS2_Pos)) -#define DMAC_PRICTRL0_QOS2_REGULAR_Val _U_(0x0) /**< \brief (DMAC_PRICTRL0) Regular delivery */ -#define DMAC_PRICTRL0_QOS2_SHORTAGE_Val _U_(0x1) /**< \brief (DMAC_PRICTRL0) Bandwidth shortage */ -#define DMAC_PRICTRL0_QOS2_SENSITIVE_Val _U_(0x2) /**< \brief (DMAC_PRICTRL0) Latency sensitive */ -#define DMAC_PRICTRL0_QOS2_CRITICAL_Val _U_(0x3) /**< \brief (DMAC_PRICTRL0) Latency critical */ -#define DMAC_PRICTRL0_QOS2_REGULAR (DMAC_PRICTRL0_QOS2_REGULAR_Val << DMAC_PRICTRL0_QOS2_Pos) -#define DMAC_PRICTRL0_QOS2_SHORTAGE (DMAC_PRICTRL0_QOS2_SHORTAGE_Val << DMAC_PRICTRL0_QOS2_Pos) -#define DMAC_PRICTRL0_QOS2_SENSITIVE (DMAC_PRICTRL0_QOS2_SENSITIVE_Val << DMAC_PRICTRL0_QOS2_Pos) -#define DMAC_PRICTRL0_QOS2_CRITICAL (DMAC_PRICTRL0_QOS2_CRITICAL_Val << DMAC_PRICTRL0_QOS2_Pos) -#define DMAC_PRICTRL0_RRLVLEN2_Pos 23 /**< \brief (DMAC_PRICTRL0) Level 2 Round-Robin Scheduling Enable */ -#define DMAC_PRICTRL0_RRLVLEN2 (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN2_Pos) -#define DMAC_PRICTRL0_LVLPRI3_Pos 24 /**< \brief (DMAC_PRICTRL0) Level 3 Channel Priority Number */ -#define DMAC_PRICTRL0_LVLPRI3_Msk (_U_(0x1F) << DMAC_PRICTRL0_LVLPRI3_Pos) -#define DMAC_PRICTRL0_LVLPRI3(value) (DMAC_PRICTRL0_LVLPRI3_Msk & ((value) << DMAC_PRICTRL0_LVLPRI3_Pos)) -#define DMAC_PRICTRL0_QOS3_Pos 29 /**< \brief (DMAC_PRICTRL0) Level 3 Quality of Service */ -#define DMAC_PRICTRL0_QOS3_Msk (_U_(0x3) << DMAC_PRICTRL0_QOS3_Pos) -#define DMAC_PRICTRL0_QOS3(value) (DMAC_PRICTRL0_QOS3_Msk & ((value) << DMAC_PRICTRL0_QOS3_Pos)) -#define DMAC_PRICTRL0_QOS3_REGULAR_Val _U_(0x0) /**< \brief (DMAC_PRICTRL0) Regular delivery */ -#define DMAC_PRICTRL0_QOS3_SHORTAGE_Val _U_(0x1) /**< \brief (DMAC_PRICTRL0) Bandwidth shortage */ -#define DMAC_PRICTRL0_QOS3_SENSITIVE_Val _U_(0x2) /**< \brief (DMAC_PRICTRL0) Latency sensitive */ -#define DMAC_PRICTRL0_QOS3_CRITICAL_Val _U_(0x3) /**< \brief (DMAC_PRICTRL0) Latency critical */ -#define DMAC_PRICTRL0_QOS3_REGULAR (DMAC_PRICTRL0_QOS3_REGULAR_Val << DMAC_PRICTRL0_QOS3_Pos) -#define DMAC_PRICTRL0_QOS3_SHORTAGE (DMAC_PRICTRL0_QOS3_SHORTAGE_Val << DMAC_PRICTRL0_QOS3_Pos) -#define DMAC_PRICTRL0_QOS3_SENSITIVE (DMAC_PRICTRL0_QOS3_SENSITIVE_Val << DMAC_PRICTRL0_QOS3_Pos) -#define DMAC_PRICTRL0_QOS3_CRITICAL (DMAC_PRICTRL0_QOS3_CRITICAL_Val << DMAC_PRICTRL0_QOS3_Pos) -#define DMAC_PRICTRL0_RRLVLEN3_Pos 31 /**< \brief (DMAC_PRICTRL0) Level 3 Round-Robin Scheduling Enable */ -#define DMAC_PRICTRL0_RRLVLEN3 (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN3_Pos) -#define DMAC_PRICTRL0_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_PRICTRL0) MASK Register */ - -/* -------- DMAC_INTPEND : (DMAC Offset: 0x20) (R/W 16) Interrupt Pending -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t ID:5; /*!< bit: 0.. 4 Channel ID */ - uint16_t :3; /*!< bit: 5.. 7 Reserved */ - uint16_t TERR:1; /*!< bit: 8 Transfer Error */ - uint16_t TCMPL:1; /*!< bit: 9 Transfer Complete */ - uint16_t SUSP:1; /*!< bit: 10 Channel Suspend */ - uint16_t :1; /*!< bit: 11 Reserved */ - uint16_t CRCERR:1; /*!< bit: 12 CRC Error */ - uint16_t FERR:1; /*!< bit: 13 Fetch Error */ - uint16_t BUSY:1; /*!< bit: 14 Busy */ - uint16_t PEND:1; /*!< bit: 15 Pending */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} DMAC_INTPEND_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_INTPEND_OFFSET 0x20 /**< \brief (DMAC_INTPEND offset) Interrupt Pending */ -#define DMAC_INTPEND_RESETVALUE _U_(0x0000) /**< \brief (DMAC_INTPEND reset_value) Interrupt Pending */ - -#define DMAC_INTPEND_ID_Pos 0 /**< \brief (DMAC_INTPEND) Channel ID */ -#define DMAC_INTPEND_ID_Msk (_U_(0x1F) << DMAC_INTPEND_ID_Pos) -#define DMAC_INTPEND_ID(value) (DMAC_INTPEND_ID_Msk & ((value) << DMAC_INTPEND_ID_Pos)) -#define DMAC_INTPEND_TERR_Pos 8 /**< \brief (DMAC_INTPEND) Transfer Error */ -#define DMAC_INTPEND_TERR (_U_(0x1) << DMAC_INTPEND_TERR_Pos) -#define DMAC_INTPEND_TCMPL_Pos 9 /**< \brief (DMAC_INTPEND) Transfer Complete */ -#define DMAC_INTPEND_TCMPL (_U_(0x1) << DMAC_INTPEND_TCMPL_Pos) -#define DMAC_INTPEND_SUSP_Pos 10 /**< \brief (DMAC_INTPEND) Channel Suspend */ -#define DMAC_INTPEND_SUSP (_U_(0x1) << DMAC_INTPEND_SUSP_Pos) -#define DMAC_INTPEND_CRCERR_Pos 12 /**< \brief (DMAC_INTPEND) CRC Error */ -#define DMAC_INTPEND_CRCERR (_U_(0x1) << DMAC_INTPEND_CRCERR_Pos) -#define DMAC_INTPEND_FERR_Pos 13 /**< \brief (DMAC_INTPEND) Fetch Error */ -#define DMAC_INTPEND_FERR (_U_(0x1) << DMAC_INTPEND_FERR_Pos) -#define DMAC_INTPEND_BUSY_Pos 14 /**< \brief (DMAC_INTPEND) Busy */ -#define DMAC_INTPEND_BUSY (_U_(0x1) << DMAC_INTPEND_BUSY_Pos) -#define DMAC_INTPEND_PEND_Pos 15 /**< \brief (DMAC_INTPEND) Pending */ -#define DMAC_INTPEND_PEND (_U_(0x1) << DMAC_INTPEND_PEND_Pos) -#define DMAC_INTPEND_MASK _U_(0xF71F) /**< \brief (DMAC_INTPEND) MASK Register */ - -/* -------- DMAC_INTSTATUS : (DMAC Offset: 0x24) (R/ 32) Interrupt Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t CHINT0:1; /*!< bit: 0 Channel 0 Pending Interrupt */ - uint32_t CHINT1:1; /*!< bit: 1 Channel 1 Pending Interrupt */ - uint32_t CHINT2:1; /*!< bit: 2 Channel 2 Pending Interrupt */ - uint32_t CHINT3:1; /*!< bit: 3 Channel 3 Pending Interrupt */ - uint32_t CHINT4:1; /*!< bit: 4 Channel 4 Pending Interrupt */ - uint32_t CHINT5:1; /*!< bit: 5 Channel 5 Pending Interrupt */ - uint32_t CHINT6:1; /*!< bit: 6 Channel 6 Pending Interrupt */ - uint32_t CHINT7:1; /*!< bit: 7 Channel 7 Pending Interrupt */ - uint32_t CHINT8:1; /*!< bit: 8 Channel 8 Pending Interrupt */ - uint32_t CHINT9:1; /*!< bit: 9 Channel 9 Pending Interrupt */ - uint32_t CHINT10:1; /*!< bit: 10 Channel 10 Pending Interrupt */ - uint32_t CHINT11:1; /*!< bit: 11 Channel 11 Pending Interrupt */ - uint32_t CHINT12:1; /*!< bit: 12 Channel 12 Pending Interrupt */ - uint32_t CHINT13:1; /*!< bit: 13 Channel 13 Pending Interrupt */ - uint32_t CHINT14:1; /*!< bit: 14 Channel 14 Pending Interrupt */ - uint32_t CHINT15:1; /*!< bit: 15 Channel 15 Pending Interrupt */ - uint32_t CHINT16:1; /*!< bit: 16 Channel 16 Pending Interrupt */ - uint32_t CHINT17:1; /*!< bit: 17 Channel 17 Pending Interrupt */ - uint32_t CHINT18:1; /*!< bit: 18 Channel 18 Pending Interrupt */ - uint32_t CHINT19:1; /*!< bit: 19 Channel 19 Pending Interrupt */ - uint32_t CHINT20:1; /*!< bit: 20 Channel 20 Pending Interrupt */ - uint32_t CHINT21:1; /*!< bit: 21 Channel 21 Pending Interrupt */ - uint32_t CHINT22:1; /*!< bit: 22 Channel 22 Pending Interrupt */ - uint32_t CHINT23:1; /*!< bit: 23 Channel 23 Pending Interrupt */ - uint32_t CHINT24:1; /*!< bit: 24 Channel 24 Pending Interrupt */ - uint32_t CHINT25:1; /*!< bit: 25 Channel 25 Pending Interrupt */ - uint32_t CHINT26:1; /*!< bit: 26 Channel 26 Pending Interrupt */ - uint32_t CHINT27:1; /*!< bit: 27 Channel 27 Pending Interrupt */ - uint32_t CHINT28:1; /*!< bit: 28 Channel 28 Pending Interrupt */ - uint32_t CHINT29:1; /*!< bit: 29 Channel 29 Pending Interrupt */ - uint32_t CHINT30:1; /*!< bit: 30 Channel 30 Pending Interrupt */ - uint32_t CHINT31:1; /*!< bit: 31 Channel 31 Pending Interrupt */ - } bit; /*!< Structure used for bit access */ - struct { - uint32_t CHINT:32; /*!< bit: 0..31 Channel x Pending Interrupt */ - } vec; /*!< Structure used for vec access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_INTSTATUS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_INTSTATUS_OFFSET 0x24 /**< \brief (DMAC_INTSTATUS offset) Interrupt Status */ -#define DMAC_INTSTATUS_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_INTSTATUS reset_value) Interrupt Status */ - -#define DMAC_INTSTATUS_CHINT0_Pos 0 /**< \brief (DMAC_INTSTATUS) Channel 0 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT0 (_U_(1) << DMAC_INTSTATUS_CHINT0_Pos) -#define DMAC_INTSTATUS_CHINT1_Pos 1 /**< \brief (DMAC_INTSTATUS) Channel 1 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT1 (_U_(1) << DMAC_INTSTATUS_CHINT1_Pos) -#define DMAC_INTSTATUS_CHINT2_Pos 2 /**< \brief (DMAC_INTSTATUS) Channel 2 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT2 (_U_(1) << DMAC_INTSTATUS_CHINT2_Pos) -#define DMAC_INTSTATUS_CHINT3_Pos 3 /**< \brief (DMAC_INTSTATUS) Channel 3 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT3 (_U_(1) << DMAC_INTSTATUS_CHINT3_Pos) -#define DMAC_INTSTATUS_CHINT4_Pos 4 /**< \brief (DMAC_INTSTATUS) Channel 4 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT4 (_U_(1) << DMAC_INTSTATUS_CHINT4_Pos) -#define DMAC_INTSTATUS_CHINT5_Pos 5 /**< \brief (DMAC_INTSTATUS) Channel 5 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT5 (_U_(1) << DMAC_INTSTATUS_CHINT5_Pos) -#define DMAC_INTSTATUS_CHINT6_Pos 6 /**< \brief (DMAC_INTSTATUS) Channel 6 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT6 (_U_(1) << DMAC_INTSTATUS_CHINT6_Pos) -#define DMAC_INTSTATUS_CHINT7_Pos 7 /**< \brief (DMAC_INTSTATUS) Channel 7 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT7 (_U_(1) << DMAC_INTSTATUS_CHINT7_Pos) -#define DMAC_INTSTATUS_CHINT8_Pos 8 /**< \brief (DMAC_INTSTATUS) Channel 8 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT8 (_U_(1) << DMAC_INTSTATUS_CHINT8_Pos) -#define DMAC_INTSTATUS_CHINT9_Pos 9 /**< \brief (DMAC_INTSTATUS) Channel 9 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT9 (_U_(1) << DMAC_INTSTATUS_CHINT9_Pos) -#define DMAC_INTSTATUS_CHINT10_Pos 10 /**< \brief (DMAC_INTSTATUS) Channel 10 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT10 (_U_(1) << DMAC_INTSTATUS_CHINT10_Pos) -#define DMAC_INTSTATUS_CHINT11_Pos 11 /**< \brief (DMAC_INTSTATUS) Channel 11 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT11 (_U_(1) << DMAC_INTSTATUS_CHINT11_Pos) -#define DMAC_INTSTATUS_CHINT12_Pos 12 /**< \brief (DMAC_INTSTATUS) Channel 12 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT12 (_U_(1) << DMAC_INTSTATUS_CHINT12_Pos) -#define DMAC_INTSTATUS_CHINT13_Pos 13 /**< \brief (DMAC_INTSTATUS) Channel 13 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT13 (_U_(1) << DMAC_INTSTATUS_CHINT13_Pos) -#define DMAC_INTSTATUS_CHINT14_Pos 14 /**< \brief (DMAC_INTSTATUS) Channel 14 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT14 (_U_(1) << DMAC_INTSTATUS_CHINT14_Pos) -#define DMAC_INTSTATUS_CHINT15_Pos 15 /**< \brief (DMAC_INTSTATUS) Channel 15 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT15 (_U_(1) << DMAC_INTSTATUS_CHINT15_Pos) -#define DMAC_INTSTATUS_CHINT16_Pos 16 /**< \brief (DMAC_INTSTATUS) Channel 16 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT16 (_U_(1) << DMAC_INTSTATUS_CHINT16_Pos) -#define DMAC_INTSTATUS_CHINT17_Pos 17 /**< \brief (DMAC_INTSTATUS) Channel 17 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT17 (_U_(1) << DMAC_INTSTATUS_CHINT17_Pos) -#define DMAC_INTSTATUS_CHINT18_Pos 18 /**< \brief (DMAC_INTSTATUS) Channel 18 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT18 (_U_(1) << DMAC_INTSTATUS_CHINT18_Pos) -#define DMAC_INTSTATUS_CHINT19_Pos 19 /**< \brief (DMAC_INTSTATUS) Channel 19 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT19 (_U_(1) << DMAC_INTSTATUS_CHINT19_Pos) -#define DMAC_INTSTATUS_CHINT20_Pos 20 /**< \brief (DMAC_INTSTATUS) Channel 20 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT20 (_U_(1) << DMAC_INTSTATUS_CHINT20_Pos) -#define DMAC_INTSTATUS_CHINT21_Pos 21 /**< \brief (DMAC_INTSTATUS) Channel 21 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT21 (_U_(1) << DMAC_INTSTATUS_CHINT21_Pos) -#define DMAC_INTSTATUS_CHINT22_Pos 22 /**< \brief (DMAC_INTSTATUS) Channel 22 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT22 (_U_(1) << DMAC_INTSTATUS_CHINT22_Pos) -#define DMAC_INTSTATUS_CHINT23_Pos 23 /**< \brief (DMAC_INTSTATUS) Channel 23 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT23 (_U_(1) << DMAC_INTSTATUS_CHINT23_Pos) -#define DMAC_INTSTATUS_CHINT24_Pos 24 /**< \brief (DMAC_INTSTATUS) Channel 24 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT24 (_U_(1) << DMAC_INTSTATUS_CHINT24_Pos) -#define DMAC_INTSTATUS_CHINT25_Pos 25 /**< \brief (DMAC_INTSTATUS) Channel 25 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT25 (_U_(1) << DMAC_INTSTATUS_CHINT25_Pos) -#define DMAC_INTSTATUS_CHINT26_Pos 26 /**< \brief (DMAC_INTSTATUS) Channel 26 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT26 (_U_(1) << DMAC_INTSTATUS_CHINT26_Pos) -#define DMAC_INTSTATUS_CHINT27_Pos 27 /**< \brief (DMAC_INTSTATUS) Channel 27 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT27 (_U_(1) << DMAC_INTSTATUS_CHINT27_Pos) -#define DMAC_INTSTATUS_CHINT28_Pos 28 /**< \brief (DMAC_INTSTATUS) Channel 28 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT28 (_U_(1) << DMAC_INTSTATUS_CHINT28_Pos) -#define DMAC_INTSTATUS_CHINT29_Pos 29 /**< \brief (DMAC_INTSTATUS) Channel 29 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT29 (_U_(1) << DMAC_INTSTATUS_CHINT29_Pos) -#define DMAC_INTSTATUS_CHINT30_Pos 30 /**< \brief (DMAC_INTSTATUS) Channel 30 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT30 (_U_(1) << DMAC_INTSTATUS_CHINT30_Pos) -#define DMAC_INTSTATUS_CHINT31_Pos 31 /**< \brief (DMAC_INTSTATUS) Channel 31 Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT31 (_U_(1) << DMAC_INTSTATUS_CHINT31_Pos) -#define DMAC_INTSTATUS_CHINT_Pos 0 /**< \brief (DMAC_INTSTATUS) Channel x Pending Interrupt */ -#define DMAC_INTSTATUS_CHINT_Msk (_U_(0xFFFFFFFF) << DMAC_INTSTATUS_CHINT_Pos) -#define DMAC_INTSTATUS_CHINT(value) (DMAC_INTSTATUS_CHINT_Msk & ((value) << DMAC_INTSTATUS_CHINT_Pos)) -#define DMAC_INTSTATUS_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_INTSTATUS) MASK Register */ - -/* -------- DMAC_BUSYCH : (DMAC Offset: 0x28) (R/ 32) Busy Channels -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t BUSYCH0:1; /*!< bit: 0 Busy Channel 0 */ - uint32_t BUSYCH1:1; /*!< bit: 1 Busy Channel 1 */ - uint32_t BUSYCH2:1; /*!< bit: 2 Busy Channel 2 */ - uint32_t BUSYCH3:1; /*!< bit: 3 Busy Channel 3 */ - uint32_t BUSYCH4:1; /*!< bit: 4 Busy Channel 4 */ - uint32_t BUSYCH5:1; /*!< bit: 5 Busy Channel 5 */ - uint32_t BUSYCH6:1; /*!< bit: 6 Busy Channel 6 */ - uint32_t BUSYCH7:1; /*!< bit: 7 Busy Channel 7 */ - uint32_t BUSYCH8:1; /*!< bit: 8 Busy Channel 8 */ - uint32_t BUSYCH9:1; /*!< bit: 9 Busy Channel 9 */ - uint32_t BUSYCH10:1; /*!< bit: 10 Busy Channel 10 */ - uint32_t BUSYCH11:1; /*!< bit: 11 Busy Channel 11 */ - uint32_t BUSYCH12:1; /*!< bit: 12 Busy Channel 12 */ - uint32_t BUSYCH13:1; /*!< bit: 13 Busy Channel 13 */ - uint32_t BUSYCH14:1; /*!< bit: 14 Busy Channel 14 */ - uint32_t BUSYCH15:1; /*!< bit: 15 Busy Channel 15 */ - uint32_t BUSYCH16:1; /*!< bit: 16 Busy Channel 16 */ - uint32_t BUSYCH17:1; /*!< bit: 17 Busy Channel 17 */ - uint32_t BUSYCH18:1; /*!< bit: 18 Busy Channel 18 */ - uint32_t BUSYCH19:1; /*!< bit: 19 Busy Channel 19 */ - uint32_t BUSYCH20:1; /*!< bit: 20 Busy Channel 20 */ - uint32_t BUSYCH21:1; /*!< bit: 21 Busy Channel 21 */ - uint32_t BUSYCH22:1; /*!< bit: 22 Busy Channel 22 */ - uint32_t BUSYCH23:1; /*!< bit: 23 Busy Channel 23 */ - uint32_t BUSYCH24:1; /*!< bit: 24 Busy Channel 24 */ - uint32_t BUSYCH25:1; /*!< bit: 25 Busy Channel 25 */ - uint32_t BUSYCH26:1; /*!< bit: 26 Busy Channel 26 */ - uint32_t BUSYCH27:1; /*!< bit: 27 Busy Channel 27 */ - uint32_t BUSYCH28:1; /*!< bit: 28 Busy Channel 28 */ - uint32_t BUSYCH29:1; /*!< bit: 29 Busy Channel 29 */ - uint32_t BUSYCH30:1; /*!< bit: 30 Busy Channel 30 */ - uint32_t BUSYCH31:1; /*!< bit: 31 Busy Channel 31 */ - } bit; /*!< Structure used for bit access */ - struct { - uint32_t BUSYCH:32; /*!< bit: 0..31 Busy Channel x */ - } vec; /*!< Structure used for vec access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_BUSYCH_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_BUSYCH_OFFSET 0x28 /**< \brief (DMAC_BUSYCH offset) Busy Channels */ -#define DMAC_BUSYCH_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_BUSYCH reset_value) Busy Channels */ - -#define DMAC_BUSYCH_BUSYCH0_Pos 0 /**< \brief (DMAC_BUSYCH) Busy Channel 0 */ -#define DMAC_BUSYCH_BUSYCH0 (_U_(1) << DMAC_BUSYCH_BUSYCH0_Pos) -#define DMAC_BUSYCH_BUSYCH1_Pos 1 /**< \brief (DMAC_BUSYCH) Busy Channel 1 */ -#define DMAC_BUSYCH_BUSYCH1 (_U_(1) << DMAC_BUSYCH_BUSYCH1_Pos) -#define DMAC_BUSYCH_BUSYCH2_Pos 2 /**< \brief (DMAC_BUSYCH) Busy Channel 2 */ -#define DMAC_BUSYCH_BUSYCH2 (_U_(1) << DMAC_BUSYCH_BUSYCH2_Pos) -#define DMAC_BUSYCH_BUSYCH3_Pos 3 /**< \brief (DMAC_BUSYCH) Busy Channel 3 */ -#define DMAC_BUSYCH_BUSYCH3 (_U_(1) << DMAC_BUSYCH_BUSYCH3_Pos) -#define DMAC_BUSYCH_BUSYCH4_Pos 4 /**< \brief (DMAC_BUSYCH) Busy Channel 4 */ -#define DMAC_BUSYCH_BUSYCH4 (_U_(1) << DMAC_BUSYCH_BUSYCH4_Pos) -#define DMAC_BUSYCH_BUSYCH5_Pos 5 /**< \brief (DMAC_BUSYCH) Busy Channel 5 */ -#define DMAC_BUSYCH_BUSYCH5 (_U_(1) << DMAC_BUSYCH_BUSYCH5_Pos) -#define DMAC_BUSYCH_BUSYCH6_Pos 6 /**< \brief (DMAC_BUSYCH) Busy Channel 6 */ -#define DMAC_BUSYCH_BUSYCH6 (_U_(1) << DMAC_BUSYCH_BUSYCH6_Pos) -#define DMAC_BUSYCH_BUSYCH7_Pos 7 /**< \brief (DMAC_BUSYCH) Busy Channel 7 */ -#define DMAC_BUSYCH_BUSYCH7 (_U_(1) << DMAC_BUSYCH_BUSYCH7_Pos) -#define DMAC_BUSYCH_BUSYCH8_Pos 8 /**< \brief (DMAC_BUSYCH) Busy Channel 8 */ -#define DMAC_BUSYCH_BUSYCH8 (_U_(1) << DMAC_BUSYCH_BUSYCH8_Pos) -#define DMAC_BUSYCH_BUSYCH9_Pos 9 /**< \brief (DMAC_BUSYCH) Busy Channel 9 */ -#define DMAC_BUSYCH_BUSYCH9 (_U_(1) << DMAC_BUSYCH_BUSYCH9_Pos) -#define DMAC_BUSYCH_BUSYCH10_Pos 10 /**< \brief (DMAC_BUSYCH) Busy Channel 10 */ -#define DMAC_BUSYCH_BUSYCH10 (_U_(1) << DMAC_BUSYCH_BUSYCH10_Pos) -#define DMAC_BUSYCH_BUSYCH11_Pos 11 /**< \brief (DMAC_BUSYCH) Busy Channel 11 */ -#define DMAC_BUSYCH_BUSYCH11 (_U_(1) << DMAC_BUSYCH_BUSYCH11_Pos) -#define DMAC_BUSYCH_BUSYCH12_Pos 12 /**< \brief (DMAC_BUSYCH) Busy Channel 12 */ -#define DMAC_BUSYCH_BUSYCH12 (_U_(1) << DMAC_BUSYCH_BUSYCH12_Pos) -#define DMAC_BUSYCH_BUSYCH13_Pos 13 /**< \brief (DMAC_BUSYCH) Busy Channel 13 */ -#define DMAC_BUSYCH_BUSYCH13 (_U_(1) << DMAC_BUSYCH_BUSYCH13_Pos) -#define DMAC_BUSYCH_BUSYCH14_Pos 14 /**< \brief (DMAC_BUSYCH) Busy Channel 14 */ -#define DMAC_BUSYCH_BUSYCH14 (_U_(1) << DMAC_BUSYCH_BUSYCH14_Pos) -#define DMAC_BUSYCH_BUSYCH15_Pos 15 /**< \brief (DMAC_BUSYCH) Busy Channel 15 */ -#define DMAC_BUSYCH_BUSYCH15 (_U_(1) << DMAC_BUSYCH_BUSYCH15_Pos) -#define DMAC_BUSYCH_BUSYCH16_Pos 16 /**< \brief (DMAC_BUSYCH) Busy Channel 16 */ -#define DMAC_BUSYCH_BUSYCH16 (_U_(1) << DMAC_BUSYCH_BUSYCH16_Pos) -#define DMAC_BUSYCH_BUSYCH17_Pos 17 /**< \brief (DMAC_BUSYCH) Busy Channel 17 */ -#define DMAC_BUSYCH_BUSYCH17 (_U_(1) << DMAC_BUSYCH_BUSYCH17_Pos) -#define DMAC_BUSYCH_BUSYCH18_Pos 18 /**< \brief (DMAC_BUSYCH) Busy Channel 18 */ -#define DMAC_BUSYCH_BUSYCH18 (_U_(1) << DMAC_BUSYCH_BUSYCH18_Pos) -#define DMAC_BUSYCH_BUSYCH19_Pos 19 /**< \brief (DMAC_BUSYCH) Busy Channel 19 */ -#define DMAC_BUSYCH_BUSYCH19 (_U_(1) << DMAC_BUSYCH_BUSYCH19_Pos) -#define DMAC_BUSYCH_BUSYCH20_Pos 20 /**< \brief (DMAC_BUSYCH) Busy Channel 20 */ -#define DMAC_BUSYCH_BUSYCH20 (_U_(1) << DMAC_BUSYCH_BUSYCH20_Pos) -#define DMAC_BUSYCH_BUSYCH21_Pos 21 /**< \brief (DMAC_BUSYCH) Busy Channel 21 */ -#define DMAC_BUSYCH_BUSYCH21 (_U_(1) << DMAC_BUSYCH_BUSYCH21_Pos) -#define DMAC_BUSYCH_BUSYCH22_Pos 22 /**< \brief (DMAC_BUSYCH) Busy Channel 22 */ -#define DMAC_BUSYCH_BUSYCH22 (_U_(1) << DMAC_BUSYCH_BUSYCH22_Pos) -#define DMAC_BUSYCH_BUSYCH23_Pos 23 /**< \brief (DMAC_BUSYCH) Busy Channel 23 */ -#define DMAC_BUSYCH_BUSYCH23 (_U_(1) << DMAC_BUSYCH_BUSYCH23_Pos) -#define DMAC_BUSYCH_BUSYCH24_Pos 24 /**< \brief (DMAC_BUSYCH) Busy Channel 24 */ -#define DMAC_BUSYCH_BUSYCH24 (_U_(1) << DMAC_BUSYCH_BUSYCH24_Pos) -#define DMAC_BUSYCH_BUSYCH25_Pos 25 /**< \brief (DMAC_BUSYCH) Busy Channel 25 */ -#define DMAC_BUSYCH_BUSYCH25 (_U_(1) << DMAC_BUSYCH_BUSYCH25_Pos) -#define DMAC_BUSYCH_BUSYCH26_Pos 26 /**< \brief (DMAC_BUSYCH) Busy Channel 26 */ -#define DMAC_BUSYCH_BUSYCH26 (_U_(1) << DMAC_BUSYCH_BUSYCH26_Pos) -#define DMAC_BUSYCH_BUSYCH27_Pos 27 /**< \brief (DMAC_BUSYCH) Busy Channel 27 */ -#define DMAC_BUSYCH_BUSYCH27 (_U_(1) << DMAC_BUSYCH_BUSYCH27_Pos) -#define DMAC_BUSYCH_BUSYCH28_Pos 28 /**< \brief (DMAC_BUSYCH) Busy Channel 28 */ -#define DMAC_BUSYCH_BUSYCH28 (_U_(1) << DMAC_BUSYCH_BUSYCH28_Pos) -#define DMAC_BUSYCH_BUSYCH29_Pos 29 /**< \brief (DMAC_BUSYCH) Busy Channel 29 */ -#define DMAC_BUSYCH_BUSYCH29 (_U_(1) << DMAC_BUSYCH_BUSYCH29_Pos) -#define DMAC_BUSYCH_BUSYCH30_Pos 30 /**< \brief (DMAC_BUSYCH) Busy Channel 30 */ -#define DMAC_BUSYCH_BUSYCH30 (_U_(1) << DMAC_BUSYCH_BUSYCH30_Pos) -#define DMAC_BUSYCH_BUSYCH31_Pos 31 /**< \brief (DMAC_BUSYCH) Busy Channel 31 */ -#define DMAC_BUSYCH_BUSYCH31 (_U_(1) << DMAC_BUSYCH_BUSYCH31_Pos) -#define DMAC_BUSYCH_BUSYCH_Pos 0 /**< \brief (DMAC_BUSYCH) Busy Channel x */ -#define DMAC_BUSYCH_BUSYCH_Msk (_U_(0xFFFFFFFF) << DMAC_BUSYCH_BUSYCH_Pos) -#define DMAC_BUSYCH_BUSYCH(value) (DMAC_BUSYCH_BUSYCH_Msk & ((value) << DMAC_BUSYCH_BUSYCH_Pos)) -#define DMAC_BUSYCH_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_BUSYCH) MASK Register */ - -/* -------- DMAC_PENDCH : (DMAC Offset: 0x2C) (R/ 32) Pending Channels -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t PENDCH0:1; /*!< bit: 0 Pending Channel 0 */ - uint32_t PENDCH1:1; /*!< bit: 1 Pending Channel 1 */ - uint32_t PENDCH2:1; /*!< bit: 2 Pending Channel 2 */ - uint32_t PENDCH3:1; /*!< bit: 3 Pending Channel 3 */ - uint32_t PENDCH4:1; /*!< bit: 4 Pending Channel 4 */ - uint32_t PENDCH5:1; /*!< bit: 5 Pending Channel 5 */ - uint32_t PENDCH6:1; /*!< bit: 6 Pending Channel 6 */ - uint32_t PENDCH7:1; /*!< bit: 7 Pending Channel 7 */ - uint32_t PENDCH8:1; /*!< bit: 8 Pending Channel 8 */ - uint32_t PENDCH9:1; /*!< bit: 9 Pending Channel 9 */ - uint32_t PENDCH10:1; /*!< bit: 10 Pending Channel 10 */ - uint32_t PENDCH11:1; /*!< bit: 11 Pending Channel 11 */ - uint32_t PENDCH12:1; /*!< bit: 12 Pending Channel 12 */ - uint32_t PENDCH13:1; /*!< bit: 13 Pending Channel 13 */ - uint32_t PENDCH14:1; /*!< bit: 14 Pending Channel 14 */ - uint32_t PENDCH15:1; /*!< bit: 15 Pending Channel 15 */ - uint32_t PENDCH16:1; /*!< bit: 16 Pending Channel 16 */ - uint32_t PENDCH17:1; /*!< bit: 17 Pending Channel 17 */ - uint32_t PENDCH18:1; /*!< bit: 18 Pending Channel 18 */ - uint32_t PENDCH19:1; /*!< bit: 19 Pending Channel 19 */ - uint32_t PENDCH20:1; /*!< bit: 20 Pending Channel 20 */ - uint32_t PENDCH21:1; /*!< bit: 21 Pending Channel 21 */ - uint32_t PENDCH22:1; /*!< bit: 22 Pending Channel 22 */ - uint32_t PENDCH23:1; /*!< bit: 23 Pending Channel 23 */ - uint32_t PENDCH24:1; /*!< bit: 24 Pending Channel 24 */ - uint32_t PENDCH25:1; /*!< bit: 25 Pending Channel 25 */ - uint32_t PENDCH26:1; /*!< bit: 26 Pending Channel 26 */ - uint32_t PENDCH27:1; /*!< bit: 27 Pending Channel 27 */ - uint32_t PENDCH28:1; /*!< bit: 28 Pending Channel 28 */ - uint32_t PENDCH29:1; /*!< bit: 29 Pending Channel 29 */ - uint32_t PENDCH30:1; /*!< bit: 30 Pending Channel 30 */ - uint32_t PENDCH31:1; /*!< bit: 31 Pending Channel 31 */ - } bit; /*!< Structure used for bit access */ - struct { - uint32_t PENDCH:32; /*!< bit: 0..31 Pending Channel x */ - } vec; /*!< Structure used for vec access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_PENDCH_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_PENDCH_OFFSET 0x2C /**< \brief (DMAC_PENDCH offset) Pending Channels */ -#define DMAC_PENDCH_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_PENDCH reset_value) Pending Channels */ - -#define DMAC_PENDCH_PENDCH0_Pos 0 /**< \brief (DMAC_PENDCH) Pending Channel 0 */ -#define DMAC_PENDCH_PENDCH0 (_U_(1) << DMAC_PENDCH_PENDCH0_Pos) -#define DMAC_PENDCH_PENDCH1_Pos 1 /**< \brief (DMAC_PENDCH) Pending Channel 1 */ -#define DMAC_PENDCH_PENDCH1 (_U_(1) << DMAC_PENDCH_PENDCH1_Pos) -#define DMAC_PENDCH_PENDCH2_Pos 2 /**< \brief (DMAC_PENDCH) Pending Channel 2 */ -#define DMAC_PENDCH_PENDCH2 (_U_(1) << DMAC_PENDCH_PENDCH2_Pos) -#define DMAC_PENDCH_PENDCH3_Pos 3 /**< \brief (DMAC_PENDCH) Pending Channel 3 */ -#define DMAC_PENDCH_PENDCH3 (_U_(1) << DMAC_PENDCH_PENDCH3_Pos) -#define DMAC_PENDCH_PENDCH4_Pos 4 /**< \brief (DMAC_PENDCH) Pending Channel 4 */ -#define DMAC_PENDCH_PENDCH4 (_U_(1) << DMAC_PENDCH_PENDCH4_Pos) -#define DMAC_PENDCH_PENDCH5_Pos 5 /**< \brief (DMAC_PENDCH) Pending Channel 5 */ -#define DMAC_PENDCH_PENDCH5 (_U_(1) << DMAC_PENDCH_PENDCH5_Pos) -#define DMAC_PENDCH_PENDCH6_Pos 6 /**< \brief (DMAC_PENDCH) Pending Channel 6 */ -#define DMAC_PENDCH_PENDCH6 (_U_(1) << DMAC_PENDCH_PENDCH6_Pos) -#define DMAC_PENDCH_PENDCH7_Pos 7 /**< \brief (DMAC_PENDCH) Pending Channel 7 */ -#define DMAC_PENDCH_PENDCH7 (_U_(1) << DMAC_PENDCH_PENDCH7_Pos) -#define DMAC_PENDCH_PENDCH8_Pos 8 /**< \brief (DMAC_PENDCH) Pending Channel 8 */ -#define DMAC_PENDCH_PENDCH8 (_U_(1) << DMAC_PENDCH_PENDCH8_Pos) -#define DMAC_PENDCH_PENDCH9_Pos 9 /**< \brief (DMAC_PENDCH) Pending Channel 9 */ -#define DMAC_PENDCH_PENDCH9 (_U_(1) << DMAC_PENDCH_PENDCH9_Pos) -#define DMAC_PENDCH_PENDCH10_Pos 10 /**< \brief (DMAC_PENDCH) Pending Channel 10 */ -#define DMAC_PENDCH_PENDCH10 (_U_(1) << DMAC_PENDCH_PENDCH10_Pos) -#define DMAC_PENDCH_PENDCH11_Pos 11 /**< \brief (DMAC_PENDCH) Pending Channel 11 */ -#define DMAC_PENDCH_PENDCH11 (_U_(1) << DMAC_PENDCH_PENDCH11_Pos) -#define DMAC_PENDCH_PENDCH12_Pos 12 /**< \brief (DMAC_PENDCH) Pending Channel 12 */ -#define DMAC_PENDCH_PENDCH12 (_U_(1) << DMAC_PENDCH_PENDCH12_Pos) -#define DMAC_PENDCH_PENDCH13_Pos 13 /**< \brief (DMAC_PENDCH) Pending Channel 13 */ -#define DMAC_PENDCH_PENDCH13 (_U_(1) << DMAC_PENDCH_PENDCH13_Pos) -#define DMAC_PENDCH_PENDCH14_Pos 14 /**< \brief (DMAC_PENDCH) Pending Channel 14 */ -#define DMAC_PENDCH_PENDCH14 (_U_(1) << DMAC_PENDCH_PENDCH14_Pos) -#define DMAC_PENDCH_PENDCH15_Pos 15 /**< \brief (DMAC_PENDCH) Pending Channel 15 */ -#define DMAC_PENDCH_PENDCH15 (_U_(1) << DMAC_PENDCH_PENDCH15_Pos) -#define DMAC_PENDCH_PENDCH16_Pos 16 /**< \brief (DMAC_PENDCH) Pending Channel 16 */ -#define DMAC_PENDCH_PENDCH16 (_U_(1) << DMAC_PENDCH_PENDCH16_Pos) -#define DMAC_PENDCH_PENDCH17_Pos 17 /**< \brief (DMAC_PENDCH) Pending Channel 17 */ -#define DMAC_PENDCH_PENDCH17 (_U_(1) << DMAC_PENDCH_PENDCH17_Pos) -#define DMAC_PENDCH_PENDCH18_Pos 18 /**< \brief (DMAC_PENDCH) Pending Channel 18 */ -#define DMAC_PENDCH_PENDCH18 (_U_(1) << DMAC_PENDCH_PENDCH18_Pos) -#define DMAC_PENDCH_PENDCH19_Pos 19 /**< \brief (DMAC_PENDCH) Pending Channel 19 */ -#define DMAC_PENDCH_PENDCH19 (_U_(1) << DMAC_PENDCH_PENDCH19_Pos) -#define DMAC_PENDCH_PENDCH20_Pos 20 /**< \brief (DMAC_PENDCH) Pending Channel 20 */ -#define DMAC_PENDCH_PENDCH20 (_U_(1) << DMAC_PENDCH_PENDCH20_Pos) -#define DMAC_PENDCH_PENDCH21_Pos 21 /**< \brief (DMAC_PENDCH) Pending Channel 21 */ -#define DMAC_PENDCH_PENDCH21 (_U_(1) << DMAC_PENDCH_PENDCH21_Pos) -#define DMAC_PENDCH_PENDCH22_Pos 22 /**< \brief (DMAC_PENDCH) Pending Channel 22 */ -#define DMAC_PENDCH_PENDCH22 (_U_(1) << DMAC_PENDCH_PENDCH22_Pos) -#define DMAC_PENDCH_PENDCH23_Pos 23 /**< \brief (DMAC_PENDCH) Pending Channel 23 */ -#define DMAC_PENDCH_PENDCH23 (_U_(1) << DMAC_PENDCH_PENDCH23_Pos) -#define DMAC_PENDCH_PENDCH24_Pos 24 /**< \brief (DMAC_PENDCH) Pending Channel 24 */ -#define DMAC_PENDCH_PENDCH24 (_U_(1) << DMAC_PENDCH_PENDCH24_Pos) -#define DMAC_PENDCH_PENDCH25_Pos 25 /**< \brief (DMAC_PENDCH) Pending Channel 25 */ -#define DMAC_PENDCH_PENDCH25 (_U_(1) << DMAC_PENDCH_PENDCH25_Pos) -#define DMAC_PENDCH_PENDCH26_Pos 26 /**< \brief (DMAC_PENDCH) Pending Channel 26 */ -#define DMAC_PENDCH_PENDCH26 (_U_(1) << DMAC_PENDCH_PENDCH26_Pos) -#define DMAC_PENDCH_PENDCH27_Pos 27 /**< \brief (DMAC_PENDCH) Pending Channel 27 */ -#define DMAC_PENDCH_PENDCH27 (_U_(1) << DMAC_PENDCH_PENDCH27_Pos) -#define DMAC_PENDCH_PENDCH28_Pos 28 /**< \brief (DMAC_PENDCH) Pending Channel 28 */ -#define DMAC_PENDCH_PENDCH28 (_U_(1) << DMAC_PENDCH_PENDCH28_Pos) -#define DMAC_PENDCH_PENDCH29_Pos 29 /**< \brief (DMAC_PENDCH) Pending Channel 29 */ -#define DMAC_PENDCH_PENDCH29 (_U_(1) << DMAC_PENDCH_PENDCH29_Pos) -#define DMAC_PENDCH_PENDCH30_Pos 30 /**< \brief (DMAC_PENDCH) Pending Channel 30 */ -#define DMAC_PENDCH_PENDCH30 (_U_(1) << DMAC_PENDCH_PENDCH30_Pos) -#define DMAC_PENDCH_PENDCH31_Pos 31 /**< \brief (DMAC_PENDCH) Pending Channel 31 */ -#define DMAC_PENDCH_PENDCH31 (_U_(1) << DMAC_PENDCH_PENDCH31_Pos) -#define DMAC_PENDCH_PENDCH_Pos 0 /**< \brief (DMAC_PENDCH) Pending Channel x */ -#define DMAC_PENDCH_PENDCH_Msk (_U_(0xFFFFFFFF) << DMAC_PENDCH_PENDCH_Pos) -#define DMAC_PENDCH_PENDCH(value) (DMAC_PENDCH_PENDCH_Msk & ((value) << DMAC_PENDCH_PENDCH_Pos)) -#define DMAC_PENDCH_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_PENDCH) MASK Register */ - -/* -------- DMAC_ACTIVE : (DMAC Offset: 0x30) (R/ 32) Active Channel and Levels -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t LVLEX0:1; /*!< bit: 0 Level 0 Channel Trigger Request Executing */ - uint32_t LVLEX1:1; /*!< bit: 1 Level 1 Channel Trigger Request Executing */ - uint32_t LVLEX2:1; /*!< bit: 2 Level 2 Channel Trigger Request Executing */ - uint32_t LVLEX3:1; /*!< bit: 3 Level 3 Channel Trigger Request Executing */ - uint32_t :4; /*!< bit: 4.. 7 Reserved */ - uint32_t ID:5; /*!< bit: 8..12 Active Channel ID */ - uint32_t :2; /*!< bit: 13..14 Reserved */ - uint32_t ABUSY:1; /*!< bit: 15 Active Channel Busy */ - uint32_t BTCNT:16; /*!< bit: 16..31 Active Channel Block Transfer Count */ - } bit; /*!< Structure used for bit access */ - struct { - uint32_t LVLEX:4; /*!< bit: 0.. 3 Level x Channel Trigger Request Executing */ - uint32_t :28; /*!< bit: 4..31 Reserved */ - } vec; /*!< Structure used for vec access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_ACTIVE_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_ACTIVE_OFFSET 0x30 /**< \brief (DMAC_ACTIVE offset) Active Channel and Levels */ -#define DMAC_ACTIVE_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_ACTIVE reset_value) Active Channel and Levels */ - -#define DMAC_ACTIVE_LVLEX0_Pos 0 /**< \brief (DMAC_ACTIVE) Level 0 Channel Trigger Request Executing */ -#define DMAC_ACTIVE_LVLEX0 (_U_(1) << DMAC_ACTIVE_LVLEX0_Pos) -#define DMAC_ACTIVE_LVLEX1_Pos 1 /**< \brief (DMAC_ACTIVE) Level 1 Channel Trigger Request Executing */ -#define DMAC_ACTIVE_LVLEX1 (_U_(1) << DMAC_ACTIVE_LVLEX1_Pos) -#define DMAC_ACTIVE_LVLEX2_Pos 2 /**< \brief (DMAC_ACTIVE) Level 2 Channel Trigger Request Executing */ -#define DMAC_ACTIVE_LVLEX2 (_U_(1) << DMAC_ACTIVE_LVLEX2_Pos) -#define DMAC_ACTIVE_LVLEX3_Pos 3 /**< \brief (DMAC_ACTIVE) Level 3 Channel Trigger Request Executing */ -#define DMAC_ACTIVE_LVLEX3 (_U_(1) << DMAC_ACTIVE_LVLEX3_Pos) -#define DMAC_ACTIVE_LVLEX_Pos 0 /**< \brief (DMAC_ACTIVE) Level x Channel Trigger Request Executing */ -#define DMAC_ACTIVE_LVLEX_Msk (_U_(0xF) << DMAC_ACTIVE_LVLEX_Pos) -#define DMAC_ACTIVE_LVLEX(value) (DMAC_ACTIVE_LVLEX_Msk & ((value) << DMAC_ACTIVE_LVLEX_Pos)) -#define DMAC_ACTIVE_ID_Pos 8 /**< \brief (DMAC_ACTIVE) Active Channel ID */ -#define DMAC_ACTIVE_ID_Msk (_U_(0x1F) << DMAC_ACTIVE_ID_Pos) -#define DMAC_ACTIVE_ID(value) (DMAC_ACTIVE_ID_Msk & ((value) << DMAC_ACTIVE_ID_Pos)) -#define DMAC_ACTIVE_ABUSY_Pos 15 /**< \brief (DMAC_ACTIVE) Active Channel Busy */ -#define DMAC_ACTIVE_ABUSY (_U_(0x1) << DMAC_ACTIVE_ABUSY_Pos) -#define DMAC_ACTIVE_BTCNT_Pos 16 /**< \brief (DMAC_ACTIVE) Active Channel Block Transfer Count */ -#define DMAC_ACTIVE_BTCNT_Msk (_U_(0xFFFF) << DMAC_ACTIVE_BTCNT_Pos) -#define DMAC_ACTIVE_BTCNT(value) (DMAC_ACTIVE_BTCNT_Msk & ((value) << DMAC_ACTIVE_BTCNT_Pos)) -#define DMAC_ACTIVE_MASK _U_(0xFFFF9F0F) /**< \brief (DMAC_ACTIVE) MASK Register */ - -/* -------- DMAC_BASEADDR : (DMAC Offset: 0x34) (R/W 32) Descriptor Memory Section Base Address -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t BASEADDR:32; /*!< bit: 0..31 Descriptor Memory Base Address */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_BASEADDR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_BASEADDR_OFFSET 0x34 /**< \brief (DMAC_BASEADDR offset) Descriptor Memory Section Base Address */ -#define DMAC_BASEADDR_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_BASEADDR reset_value) Descriptor Memory Section Base Address */ - -#define DMAC_BASEADDR_BASEADDR_Pos 0 /**< \brief (DMAC_BASEADDR) Descriptor Memory Base Address */ -#define DMAC_BASEADDR_BASEADDR_Msk (_U_(0xFFFFFFFF) << DMAC_BASEADDR_BASEADDR_Pos) -#define DMAC_BASEADDR_BASEADDR(value) (DMAC_BASEADDR_BASEADDR_Msk & ((value) << DMAC_BASEADDR_BASEADDR_Pos)) -#define DMAC_BASEADDR_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_BASEADDR) MASK Register */ - -/* -------- DMAC_WRBADDR : (DMAC Offset: 0x38) (R/W 32) Write-Back Memory Section Base Address -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t WRBADDR:32; /*!< bit: 0..31 Write-Back Memory Base Address */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_WRBADDR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_WRBADDR_OFFSET 0x38 /**< \brief (DMAC_WRBADDR offset) Write-Back Memory Section Base Address */ -#define DMAC_WRBADDR_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_WRBADDR reset_value) Write-Back Memory Section Base Address */ - -#define DMAC_WRBADDR_WRBADDR_Pos 0 /**< \brief (DMAC_WRBADDR) Write-Back Memory Base Address */ -#define DMAC_WRBADDR_WRBADDR_Msk (_U_(0xFFFFFFFF) << DMAC_WRBADDR_WRBADDR_Pos) -#define DMAC_WRBADDR_WRBADDR(value) (DMAC_WRBADDR_WRBADDR_Msk & ((value) << DMAC_WRBADDR_WRBADDR_Pos)) -#define DMAC_WRBADDR_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_WRBADDR) MASK Register */ - -/* -------- DMAC_CHCTRLA : (DMAC Offset: 0x40) (R/W 32) CHANNEL Channel n Control A -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint32_t SWRST:1; /*!< bit: 0 Channel Software Reset */ - uint32_t ENABLE:1; /*!< bit: 1 Channel Enable */ - uint32_t :4; /*!< bit: 2.. 5 Reserved */ - uint32_t RUNSTDBY:1; /*!< bit: 6 Channel Run in Standby */ - uint32_t :1; /*!< bit: 7 Reserved */ - uint32_t TRIGSRC:7; /*!< bit: 8..14 Trigger Source */ - uint32_t :5; /*!< bit: 15..19 Reserved */ - uint32_t TRIGACT:2; /*!< bit: 20..21 Trigger Action */ - uint32_t :2; /*!< bit: 22..23 Reserved */ - uint32_t BURSTLEN:4; /*!< bit: 24..27 Burst Length */ - uint32_t THRESHOLD:2; /*!< bit: 28..29 FIFO Threshold */ - uint32_t :2; /*!< bit: 30..31 Reserved */ - } bit; /*!< Structure used for bit access */ - uint32_t reg; /*!< Type used for register access */ -} DMAC_CHCTRLA_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CHCTRLA_OFFSET 0x40 /**< \brief (DMAC_CHCTRLA offset) Channel n Control A */ -#define DMAC_CHCTRLA_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_CHCTRLA reset_value) Channel n Control A */ - -#define DMAC_CHCTRLA_SWRST_Pos 0 /**< \brief (DMAC_CHCTRLA) Channel Software Reset */ -#define DMAC_CHCTRLA_SWRST (_U_(0x1) << DMAC_CHCTRLA_SWRST_Pos) -#define DMAC_CHCTRLA_ENABLE_Pos 1 /**< \brief (DMAC_CHCTRLA) Channel Enable */ -#define DMAC_CHCTRLA_ENABLE (_U_(0x1) << DMAC_CHCTRLA_ENABLE_Pos) -#define DMAC_CHCTRLA_RUNSTDBY_Pos 6 /**< \brief (DMAC_CHCTRLA) Channel Run in Standby */ -#define DMAC_CHCTRLA_RUNSTDBY (_U_(0x1) << DMAC_CHCTRLA_RUNSTDBY_Pos) -#define DMAC_CHCTRLA_TRIGSRC_Pos 8 /**< \brief (DMAC_CHCTRLA) Trigger Source */ -#define DMAC_CHCTRLA_TRIGSRC_Msk (_U_(0x7F) << DMAC_CHCTRLA_TRIGSRC_Pos) -#define DMAC_CHCTRLA_TRIGSRC(value) (DMAC_CHCTRLA_TRIGSRC_Msk & ((value) << DMAC_CHCTRLA_TRIGSRC_Pos)) -#define DMAC_CHCTRLA_TRIGSRC_DISABLE_Val _U_(0x0) /**< \brief (DMAC_CHCTRLA) Only software/event triggers */ -#define DMAC_CHCTRLA_TRIGSRC_DISABLE (DMAC_CHCTRLA_TRIGSRC_DISABLE_Val << DMAC_CHCTRLA_TRIGSRC_Pos) -#define DMAC_CHCTRLA_TRIGACT_Pos 20 /**< \brief (DMAC_CHCTRLA) Trigger Action */ -#define DMAC_CHCTRLA_TRIGACT_Msk (_U_(0x3) << DMAC_CHCTRLA_TRIGACT_Pos) -#define DMAC_CHCTRLA_TRIGACT(value) (DMAC_CHCTRLA_TRIGACT_Msk & ((value) << DMAC_CHCTRLA_TRIGACT_Pos)) -#define DMAC_CHCTRLA_TRIGACT_BLOCK_Val _U_(0x0) /**< \brief (DMAC_CHCTRLA) One trigger required for each block transfer */ -#define DMAC_CHCTRLA_TRIGACT_BURST_Val _U_(0x2) /**< \brief (DMAC_CHCTRLA) One trigger required for each burst transfer */ -#define DMAC_CHCTRLA_TRIGACT_TRANSACTION_Val _U_(0x3) /**< \brief (DMAC_CHCTRLA) One trigger required for each transaction */ -#define DMAC_CHCTRLA_TRIGACT_BLOCK (DMAC_CHCTRLA_TRIGACT_BLOCK_Val << DMAC_CHCTRLA_TRIGACT_Pos) -#define DMAC_CHCTRLA_TRIGACT_BURST (DMAC_CHCTRLA_TRIGACT_BURST_Val << DMAC_CHCTRLA_TRIGACT_Pos) -#define DMAC_CHCTRLA_TRIGACT_TRANSACTION (DMAC_CHCTRLA_TRIGACT_TRANSACTION_Val << DMAC_CHCTRLA_TRIGACT_Pos) -#define DMAC_CHCTRLA_BURSTLEN_Pos 24 /**< \brief (DMAC_CHCTRLA) Burst Length */ -#define DMAC_CHCTRLA_BURSTLEN_Msk (_U_(0xF) << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN(value) (DMAC_CHCTRLA_BURSTLEN_Msk & ((value) << DMAC_CHCTRLA_BURSTLEN_Pos)) -#define DMAC_CHCTRLA_BURSTLEN_SINGLE_Val _U_(0x0) /**< \brief (DMAC_CHCTRLA) Single-beat burst length */ -#define DMAC_CHCTRLA_BURSTLEN_2BEAT_Val _U_(0x1) /**< \brief (DMAC_CHCTRLA) 2-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_3BEAT_Val _U_(0x2) /**< \brief (DMAC_CHCTRLA) 3-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_4BEAT_Val _U_(0x3) /**< \brief (DMAC_CHCTRLA) 4-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_5BEAT_Val _U_(0x4) /**< \brief (DMAC_CHCTRLA) 5-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_6BEAT_Val _U_(0x5) /**< \brief (DMAC_CHCTRLA) 6-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_7BEAT_Val _U_(0x6) /**< \brief (DMAC_CHCTRLA) 7-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_8BEAT_Val _U_(0x7) /**< \brief (DMAC_CHCTRLA) 8-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_9BEAT_Val _U_(0x8) /**< \brief (DMAC_CHCTRLA) 9-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_10BEAT_Val _U_(0x9) /**< \brief (DMAC_CHCTRLA) 10-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_11BEAT_Val _U_(0xA) /**< \brief (DMAC_CHCTRLA) 11-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_12BEAT_Val _U_(0xB) /**< \brief (DMAC_CHCTRLA) 12-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_13BEAT_Val _U_(0xC) /**< \brief (DMAC_CHCTRLA) 13-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_14BEAT_Val _U_(0xD) /**< \brief (DMAC_CHCTRLA) 14-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_15BEAT_Val _U_(0xE) /**< \brief (DMAC_CHCTRLA) 15-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_16BEAT_Val _U_(0xF) /**< \brief (DMAC_CHCTRLA) 16-beats burst length */ -#define DMAC_CHCTRLA_BURSTLEN_SINGLE (DMAC_CHCTRLA_BURSTLEN_SINGLE_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_2BEAT (DMAC_CHCTRLA_BURSTLEN_2BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_3BEAT (DMAC_CHCTRLA_BURSTLEN_3BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_4BEAT (DMAC_CHCTRLA_BURSTLEN_4BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_5BEAT (DMAC_CHCTRLA_BURSTLEN_5BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_6BEAT (DMAC_CHCTRLA_BURSTLEN_6BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_7BEAT (DMAC_CHCTRLA_BURSTLEN_7BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_8BEAT (DMAC_CHCTRLA_BURSTLEN_8BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_9BEAT (DMAC_CHCTRLA_BURSTLEN_9BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_10BEAT (DMAC_CHCTRLA_BURSTLEN_10BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_11BEAT (DMAC_CHCTRLA_BURSTLEN_11BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_12BEAT (DMAC_CHCTRLA_BURSTLEN_12BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_13BEAT (DMAC_CHCTRLA_BURSTLEN_13BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_14BEAT (DMAC_CHCTRLA_BURSTLEN_14BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_15BEAT (DMAC_CHCTRLA_BURSTLEN_15BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_BURSTLEN_16BEAT (DMAC_CHCTRLA_BURSTLEN_16BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) -#define DMAC_CHCTRLA_THRESHOLD_Pos 28 /**< \brief (DMAC_CHCTRLA) FIFO Threshold */ -#define DMAC_CHCTRLA_THRESHOLD_Msk (_U_(0x3) << DMAC_CHCTRLA_THRESHOLD_Pos) -#define DMAC_CHCTRLA_THRESHOLD(value) (DMAC_CHCTRLA_THRESHOLD_Msk & ((value) << DMAC_CHCTRLA_THRESHOLD_Pos)) -#define DMAC_CHCTRLA_THRESHOLD_1BEAT_Val _U_(0x0) /**< \brief (DMAC_CHCTRLA) Destination write starts after each beat source address read */ -#define DMAC_CHCTRLA_THRESHOLD_2BEATS_Val _U_(0x1) /**< \brief (DMAC_CHCTRLA) Destination write starts after 2-beats source address read */ -#define DMAC_CHCTRLA_THRESHOLD_4BEATS_Val _U_(0x2) /**< \brief (DMAC_CHCTRLA) Destination write starts after 4-beats source address read */ -#define DMAC_CHCTRLA_THRESHOLD_8BEATS_Val _U_(0x3) /**< \brief (DMAC_CHCTRLA) Destination write starts after 8-beats source address read */ -#define DMAC_CHCTRLA_THRESHOLD_1BEAT (DMAC_CHCTRLA_THRESHOLD_1BEAT_Val << DMAC_CHCTRLA_THRESHOLD_Pos) -#define DMAC_CHCTRLA_THRESHOLD_2BEATS (DMAC_CHCTRLA_THRESHOLD_2BEATS_Val << DMAC_CHCTRLA_THRESHOLD_Pos) -#define DMAC_CHCTRLA_THRESHOLD_4BEATS (DMAC_CHCTRLA_THRESHOLD_4BEATS_Val << DMAC_CHCTRLA_THRESHOLD_Pos) -#define DMAC_CHCTRLA_THRESHOLD_8BEATS (DMAC_CHCTRLA_THRESHOLD_8BEATS_Val << DMAC_CHCTRLA_THRESHOLD_Pos) -#define DMAC_CHCTRLA_MASK _U_(0x3F307F43) /**< \brief (DMAC_CHCTRLA) MASK Register */ - -/* -------- DMAC_CHCTRLB : (DMAC Offset: 0x44) (R/W 8) CHANNEL Channel n Control B -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t CMD:2; /*!< bit: 0.. 1 Software Command */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_CHCTRLB_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CHCTRLB_OFFSET 0x44 /**< \brief (DMAC_CHCTRLB offset) Channel n Control B */ -#define DMAC_CHCTRLB_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHCTRLB reset_value) Channel n Control B */ - -#define DMAC_CHCTRLB_CMD_Pos 0 /**< \brief (DMAC_CHCTRLB) Software Command */ -#define DMAC_CHCTRLB_CMD_Msk (_U_(0x3) << DMAC_CHCTRLB_CMD_Pos) -#define DMAC_CHCTRLB_CMD(value) (DMAC_CHCTRLB_CMD_Msk & ((value) << DMAC_CHCTRLB_CMD_Pos)) -#define DMAC_CHCTRLB_CMD_NOACT_Val _U_(0x0) /**< \brief (DMAC_CHCTRLB) No action */ -#define DMAC_CHCTRLB_CMD_SUSPEND_Val _U_(0x1) /**< \brief (DMAC_CHCTRLB) Channel suspend operation */ -#define DMAC_CHCTRLB_CMD_RESUME_Val _U_(0x2) /**< \brief (DMAC_CHCTRLB) Channel resume operation */ -#define DMAC_CHCTRLB_CMD_NOACT (DMAC_CHCTRLB_CMD_NOACT_Val << DMAC_CHCTRLB_CMD_Pos) -#define DMAC_CHCTRLB_CMD_SUSPEND (DMAC_CHCTRLB_CMD_SUSPEND_Val << DMAC_CHCTRLB_CMD_Pos) -#define DMAC_CHCTRLB_CMD_RESUME (DMAC_CHCTRLB_CMD_RESUME_Val << DMAC_CHCTRLB_CMD_Pos) -#define DMAC_CHCTRLB_MASK _U_(0x03) /**< \brief (DMAC_CHCTRLB) MASK Register */ - -/* -------- DMAC_CHPRILVL : (DMAC Offset: 0x45) (R/W 8) CHANNEL Channel n Priority Level -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t PRILVL:2; /*!< bit: 0.. 1 Channel Priority Level */ - uint8_t :6; /*!< bit: 2.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_CHPRILVL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CHPRILVL_OFFSET 0x45 /**< \brief (DMAC_CHPRILVL offset) Channel n Priority Level */ -#define DMAC_CHPRILVL_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHPRILVL reset_value) Channel n Priority Level */ - -#define DMAC_CHPRILVL_PRILVL_Pos 0 /**< \brief (DMAC_CHPRILVL) Channel Priority Level */ -#define DMAC_CHPRILVL_PRILVL_Msk (_U_(0x3) << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_PRILVL(value) (DMAC_CHPRILVL_PRILVL_Msk & ((value) << DMAC_CHPRILVL_PRILVL_Pos)) -#define DMAC_CHPRILVL_PRILVL_LVL0_Val _U_(0x0) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 0 (Lowest Level) */ -#define DMAC_CHPRILVL_PRILVL_LVL1_Val _U_(0x1) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 1 */ -#define DMAC_CHPRILVL_PRILVL_LVL2_Val _U_(0x2) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 2 */ -#define DMAC_CHPRILVL_PRILVL_LVL3_Val _U_(0x3) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 3 */ -#define DMAC_CHPRILVL_PRILVL_LVL4_Val _U_(0x4) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 4 */ -#define DMAC_CHPRILVL_PRILVL_LVL5_Val _U_(0x5) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 5 */ -#define DMAC_CHPRILVL_PRILVL_LVL6_Val _U_(0x6) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 6 */ -#define DMAC_CHPRILVL_PRILVL_LVL7_Val _U_(0x7) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 7 (Highest Level) */ -#define DMAC_CHPRILVL_PRILVL_LVL0 (DMAC_CHPRILVL_PRILVL_LVL0_Val << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_PRILVL_LVL1 (DMAC_CHPRILVL_PRILVL_LVL1_Val << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_PRILVL_LVL2 (DMAC_CHPRILVL_PRILVL_LVL2_Val << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_PRILVL_LVL3 (DMAC_CHPRILVL_PRILVL_LVL3_Val << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_PRILVL_LVL4 (DMAC_CHPRILVL_PRILVL_LVL4_Val << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_PRILVL_LVL5 (DMAC_CHPRILVL_PRILVL_LVL5_Val << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_PRILVL_LVL6 (DMAC_CHPRILVL_PRILVL_LVL6_Val << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_PRILVL_LVL7 (DMAC_CHPRILVL_PRILVL_LVL7_Val << DMAC_CHPRILVL_PRILVL_Pos) -#define DMAC_CHPRILVL_MASK _U_(0x03) /**< \brief (DMAC_CHPRILVL) MASK Register */ - -/* -------- DMAC_CHEVCTRL : (DMAC Offset: 0x46) (R/W 8) CHANNEL Channel n Event Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t EVACT:3; /*!< bit: 0.. 2 Channel Event Input Action */ - uint8_t :1; /*!< bit: 3 Reserved */ - uint8_t EVOMODE:2; /*!< bit: 4.. 5 Channel Event Output Mode */ - uint8_t EVIE:1; /*!< bit: 6 Channel Event Input Enable */ - uint8_t EVOE:1; /*!< bit: 7 Channel Event Output Enable */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_CHEVCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CHEVCTRL_OFFSET 0x46 /**< \brief (DMAC_CHEVCTRL offset) Channel n Event Control */ -#define DMAC_CHEVCTRL_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHEVCTRL reset_value) Channel n Event Control */ - -#define DMAC_CHEVCTRL_EVACT_Pos 0 /**< \brief (DMAC_CHEVCTRL) Channel Event Input Action */ -#define DMAC_CHEVCTRL_EVACT_Msk (_U_(0x7) << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVACT(value) (DMAC_CHEVCTRL_EVACT_Msk & ((value) << DMAC_CHEVCTRL_EVACT_Pos)) -#define DMAC_CHEVCTRL_EVACT_NOACT_Val _U_(0x0) /**< \brief (DMAC_CHEVCTRL) No action */ -#define DMAC_CHEVCTRL_EVACT_TRIG_Val _U_(0x1) /**< \brief (DMAC_CHEVCTRL) Transfer and periodic transfer trigger */ -#define DMAC_CHEVCTRL_EVACT_CTRIG_Val _U_(0x2) /**< \brief (DMAC_CHEVCTRL) Conditional transfer trigger */ -#define DMAC_CHEVCTRL_EVACT_CBLOCK_Val _U_(0x3) /**< \brief (DMAC_CHEVCTRL) Conditional block transfer */ -#define DMAC_CHEVCTRL_EVACT_SUSPEND_Val _U_(0x4) /**< \brief (DMAC_CHEVCTRL) Channel suspend operation */ -#define DMAC_CHEVCTRL_EVACT_RESUME_Val _U_(0x5) /**< \brief (DMAC_CHEVCTRL) Channel resume operation */ -#define DMAC_CHEVCTRL_EVACT_SSKIP_Val _U_(0x6) /**< \brief (DMAC_CHEVCTRL) Skip next block suspend action */ -#define DMAC_CHEVCTRL_EVACT_INCPRI_Val _U_(0x7) /**< \brief (DMAC_CHEVCTRL) Increase priority */ -#define DMAC_CHEVCTRL_EVACT_NOACT (DMAC_CHEVCTRL_EVACT_NOACT_Val << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVACT_TRIG (DMAC_CHEVCTRL_EVACT_TRIG_Val << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVACT_CTRIG (DMAC_CHEVCTRL_EVACT_CTRIG_Val << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVACT_CBLOCK (DMAC_CHEVCTRL_EVACT_CBLOCK_Val << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVACT_SUSPEND (DMAC_CHEVCTRL_EVACT_SUSPEND_Val << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVACT_RESUME (DMAC_CHEVCTRL_EVACT_RESUME_Val << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVACT_SSKIP (DMAC_CHEVCTRL_EVACT_SSKIP_Val << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVACT_INCPRI (DMAC_CHEVCTRL_EVACT_INCPRI_Val << DMAC_CHEVCTRL_EVACT_Pos) -#define DMAC_CHEVCTRL_EVOMODE_Pos 4 /**< \brief (DMAC_CHEVCTRL) Channel Event Output Mode */ -#define DMAC_CHEVCTRL_EVOMODE_Msk (_U_(0x3) << DMAC_CHEVCTRL_EVOMODE_Pos) -#define DMAC_CHEVCTRL_EVOMODE(value) (DMAC_CHEVCTRL_EVOMODE_Msk & ((value) << DMAC_CHEVCTRL_EVOMODE_Pos)) -#define DMAC_CHEVCTRL_EVOMODE_DEFAULT_Val _U_(0x0) /**< \brief (DMAC_CHEVCTRL) Block event output selection. Refer to BTCTRL.EVOSEL for available selections. */ -#define DMAC_CHEVCTRL_EVOMODE_TRIGACT_Val _U_(0x1) /**< \brief (DMAC_CHEVCTRL) Ongoing trigger action */ -#define DMAC_CHEVCTRL_EVOMODE_DEFAULT (DMAC_CHEVCTRL_EVOMODE_DEFAULT_Val << DMAC_CHEVCTRL_EVOMODE_Pos) -#define DMAC_CHEVCTRL_EVOMODE_TRIGACT (DMAC_CHEVCTRL_EVOMODE_TRIGACT_Val << DMAC_CHEVCTRL_EVOMODE_Pos) -#define DMAC_CHEVCTRL_EVIE_Pos 6 /**< \brief (DMAC_CHEVCTRL) Channel Event Input Enable */ -#define DMAC_CHEVCTRL_EVIE (_U_(0x1) << DMAC_CHEVCTRL_EVIE_Pos) -#define DMAC_CHEVCTRL_EVOE_Pos 7 /**< \brief (DMAC_CHEVCTRL) Channel Event Output Enable */ -#define DMAC_CHEVCTRL_EVOE (_U_(0x1) << DMAC_CHEVCTRL_EVOE_Pos) -#define DMAC_CHEVCTRL_MASK _U_(0xF7) /**< \brief (DMAC_CHEVCTRL) MASK Register */ - -/* -------- DMAC_CHINTENCLR : (DMAC Offset: 0x4C) (R/W 8) CHANNEL Channel n Interrupt Enable Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t TERR:1; /*!< bit: 0 Channel Transfer Error Interrupt Enable */ - uint8_t TCMPL:1; /*!< bit: 1 Channel Transfer Complete Interrupt Enable */ - uint8_t SUSP:1; /*!< bit: 2 Channel Suspend Interrupt Enable */ - uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_CHINTENCLR_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CHINTENCLR_OFFSET 0x4C /**< \brief (DMAC_CHINTENCLR offset) Channel n Interrupt Enable Clear */ -#define DMAC_CHINTENCLR_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHINTENCLR reset_value) Channel n Interrupt Enable Clear */ - -#define DMAC_CHINTENCLR_TERR_Pos 0 /**< \brief (DMAC_CHINTENCLR) Channel Transfer Error Interrupt Enable */ -#define DMAC_CHINTENCLR_TERR (_U_(0x1) << DMAC_CHINTENCLR_TERR_Pos) -#define DMAC_CHINTENCLR_TCMPL_Pos 1 /**< \brief (DMAC_CHINTENCLR) Channel Transfer Complete Interrupt Enable */ -#define DMAC_CHINTENCLR_TCMPL (_U_(0x1) << DMAC_CHINTENCLR_TCMPL_Pos) -#define DMAC_CHINTENCLR_SUSP_Pos 2 /**< \brief (DMAC_CHINTENCLR) Channel Suspend Interrupt Enable */ -#define DMAC_CHINTENCLR_SUSP (_U_(0x1) << DMAC_CHINTENCLR_SUSP_Pos) -#define DMAC_CHINTENCLR_MASK _U_(0x07) /**< \brief (DMAC_CHINTENCLR) MASK Register */ - -/* -------- DMAC_CHINTENSET : (DMAC Offset: 0x4D) (R/W 8) CHANNEL Channel n Interrupt Enable Set -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t TERR:1; /*!< bit: 0 Channel Transfer Error Interrupt Enable */ - uint8_t TCMPL:1; /*!< bit: 1 Channel Transfer Complete Interrupt Enable */ - uint8_t SUSP:1; /*!< bit: 2 Channel Suspend Interrupt Enable */ - uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_CHINTENSET_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CHINTENSET_OFFSET 0x4D /**< \brief (DMAC_CHINTENSET offset) Channel n Interrupt Enable Set */ -#define DMAC_CHINTENSET_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHINTENSET reset_value) Channel n Interrupt Enable Set */ - -#define DMAC_CHINTENSET_TERR_Pos 0 /**< \brief (DMAC_CHINTENSET) Channel Transfer Error Interrupt Enable */ -#define DMAC_CHINTENSET_TERR (_U_(0x1) << DMAC_CHINTENSET_TERR_Pos) -#define DMAC_CHINTENSET_TCMPL_Pos 1 /**< \brief (DMAC_CHINTENSET) Channel Transfer Complete Interrupt Enable */ -#define DMAC_CHINTENSET_TCMPL (_U_(0x1) << DMAC_CHINTENSET_TCMPL_Pos) -#define DMAC_CHINTENSET_SUSP_Pos 2 /**< \brief (DMAC_CHINTENSET) Channel Suspend Interrupt Enable */ -#define DMAC_CHINTENSET_SUSP (_U_(0x1) << DMAC_CHINTENSET_SUSP_Pos) -#define DMAC_CHINTENSET_MASK _U_(0x07) /**< \brief (DMAC_CHINTENSET) MASK Register */ - -/* -------- DMAC_CHINTFLAG : (DMAC Offset: 0x4E) (R/W 8) CHANNEL Channel n Interrupt Flag Status and Clear -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { // __I to avoid read-modify-write on write-to-clear register - struct { - __I uint8_t TERR:1; /*!< bit: 0 Channel Transfer Error */ - __I uint8_t TCMPL:1; /*!< bit: 1 Channel Transfer Complete */ - __I uint8_t SUSP:1; /*!< bit: 2 Channel Suspend */ - __I uint8_t :5; /*!< bit: 3.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_CHINTFLAG_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CHINTFLAG_OFFSET 0x4E /**< \brief (DMAC_CHINTFLAG offset) Channel n Interrupt Flag Status and Clear */ -#define DMAC_CHINTFLAG_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHINTFLAG reset_value) Channel n Interrupt Flag Status and Clear */ - -#define DMAC_CHINTFLAG_TERR_Pos 0 /**< \brief (DMAC_CHINTFLAG) Channel Transfer Error */ -#define DMAC_CHINTFLAG_TERR (_U_(0x1) << DMAC_CHINTFLAG_TERR_Pos) -#define DMAC_CHINTFLAG_TCMPL_Pos 1 /**< \brief (DMAC_CHINTFLAG) Channel Transfer Complete */ -#define DMAC_CHINTFLAG_TCMPL (_U_(0x1) << DMAC_CHINTFLAG_TCMPL_Pos) -#define DMAC_CHINTFLAG_SUSP_Pos 2 /**< \brief (DMAC_CHINTFLAG) Channel Suspend */ -#define DMAC_CHINTFLAG_SUSP (_U_(0x1) << DMAC_CHINTFLAG_SUSP_Pos) -#define DMAC_CHINTFLAG_MASK _U_(0x07) /**< \brief (DMAC_CHINTFLAG) MASK Register */ - -/* -------- DMAC_CHSTATUS : (DMAC Offset: 0x4F) (R/W 8) CHANNEL Channel n Status -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint8_t PEND:1; /*!< bit: 0 Channel Pending */ - uint8_t BUSY:1; /*!< bit: 1 Channel Busy */ - uint8_t FERR:1; /*!< bit: 2 Channel Fetch Error */ - uint8_t CRCERR:1; /*!< bit: 3 Channel CRC Error */ - uint8_t :4; /*!< bit: 4.. 7 Reserved */ - } bit; /*!< Structure used for bit access */ - uint8_t reg; /*!< Type used for register access */ -} DMAC_CHSTATUS_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_CHSTATUS_OFFSET 0x4F /**< \brief (DMAC_CHSTATUS offset) Channel n Status */ -#define DMAC_CHSTATUS_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHSTATUS reset_value) Channel n Status */ - -#define DMAC_CHSTATUS_PEND_Pos 0 /**< \brief (DMAC_CHSTATUS) Channel Pending */ -#define DMAC_CHSTATUS_PEND (_U_(0x1) << DMAC_CHSTATUS_PEND_Pos) -#define DMAC_CHSTATUS_BUSY_Pos 1 /**< \brief (DMAC_CHSTATUS) Channel Busy */ -#define DMAC_CHSTATUS_BUSY (_U_(0x1) << DMAC_CHSTATUS_BUSY_Pos) -#define DMAC_CHSTATUS_FERR_Pos 2 /**< \brief (DMAC_CHSTATUS) Channel Fetch Error */ -#define DMAC_CHSTATUS_FERR (_U_(0x1) << DMAC_CHSTATUS_FERR_Pos) -#define DMAC_CHSTATUS_CRCERR_Pos 3 /**< \brief (DMAC_CHSTATUS) Channel CRC Error */ -#define DMAC_CHSTATUS_CRCERR (_U_(0x1) << DMAC_CHSTATUS_CRCERR_Pos) -#define DMAC_CHSTATUS_MASK _U_(0x0F) /**< \brief (DMAC_CHSTATUS) MASK Register */ - -/* -------- DMAC_BTCTRL : (DMAC Offset: 0x00) (R/W 16) Block Transfer Control -------- */ -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -typedef union { - struct { - uint16_t VALID:1; /*!< bit: 0 Descriptor Valid */ - uint16_t EVOSEL:2; /*!< bit: 1.. 2 Block Event Output Selection */ - uint16_t BLOCKACT:2; /*!< bit: 3.. 4 Block Action */ - uint16_t :3; /*!< bit: 5.. 7 Reserved */ - uint16_t BEATSIZE:2; /*!< bit: 8.. 9 Beat Size */ - uint16_t SRCINC:1; /*!< bit: 10 Source Address Increment Enable */ - uint16_t DSTINC:1; /*!< bit: 11 Destination Address Increment Enable */ - uint16_t STEPSEL:1; /*!< bit: 12 Step Selection */ - uint16_t STEPSIZE:3; /*!< bit: 13..15 Address Increment Step Size */ - } bit; /*!< Structure used for bit access */ - uint16_t reg; /*!< Type used for register access */ -} DMAC_BTCTRL_Type; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#define DMAC_BTCTRL_OFFSET 0x00 /**< \brief (DMAC_BTCTRL offset) Block Transfer Control */ -#define DMAC_BTCTRL_RESETVALUE _U_(0x0000) /**< \brief (DMAC_BTCTRL reset_value) Block Transfer Control */ - -#define DMAC_BTCTRL_VALID_Pos 0 /**< \brief (DMAC_BTCTRL) Descriptor Valid */ -#define DMAC_BTCTRL_VALID (_U_(0x1) << DMAC_BTCTRL_VALID_Pos) -#define DMAC_BTCTRL_EVOSEL_Pos 1 /**< \brief (DMAC_BTCTRL) Block Event Output Selection */ -#define DMAC_BTCTRL_EVOSEL_Msk (_U_(0x3) << DMAC_BTCTRL_EVOSEL_Pos) -#define DMAC_BTCTRL_EVOSEL(value) (DMAC_BTCTRL_EVOSEL_Msk & ((value) << DMAC_BTCTRL_EVOSEL_Pos)) -#define DMAC_BTCTRL_EVOSEL_DISABLE_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) Event generation disabled */ -#define DMAC_BTCTRL_EVOSEL_BLOCK_Val _U_(0x1) /**< \brief (DMAC_BTCTRL) Block event strobe */ -#define DMAC_BTCTRL_EVOSEL_BURST_Val _U_(0x3) /**< \brief (DMAC_BTCTRL) Burst event strobe */ -#define DMAC_BTCTRL_EVOSEL_DISABLE (DMAC_BTCTRL_EVOSEL_DISABLE_Val << DMAC_BTCTRL_EVOSEL_Pos) -#define DMAC_BTCTRL_EVOSEL_BLOCK (DMAC_BTCTRL_EVOSEL_BLOCK_Val << DMAC_BTCTRL_EVOSEL_Pos) -#define DMAC_BTCTRL_EVOSEL_BURST (DMAC_BTCTRL_EVOSEL_BURST_Val << DMAC_BTCTRL_EVOSEL_Pos) -#define DMAC_BTCTRL_BLOCKACT_Pos 3 /**< \brief (DMAC_BTCTRL) Block Action */ -#define DMAC_BTCTRL_BLOCKACT_Msk (_U_(0x3) << DMAC_BTCTRL_BLOCKACT_Pos) -#define DMAC_BTCTRL_BLOCKACT(value) (DMAC_BTCTRL_BLOCKACT_Msk & ((value) << DMAC_BTCTRL_BLOCKACT_Pos)) -#define DMAC_BTCTRL_BLOCKACT_NOACT_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction */ -#define DMAC_BTCTRL_BLOCKACT_INT_Val _U_(0x1) /**< \brief (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction and block interrupt */ -#define DMAC_BTCTRL_BLOCKACT_SUSPEND_Val _U_(0x2) /**< \brief (DMAC_BTCTRL) Channel suspend operation is completed */ -#define DMAC_BTCTRL_BLOCKACT_BOTH_Val _U_(0x3) /**< \brief (DMAC_BTCTRL) Both channel suspend operation and block interrupt */ -#define DMAC_BTCTRL_BLOCKACT_NOACT (DMAC_BTCTRL_BLOCKACT_NOACT_Val << DMAC_BTCTRL_BLOCKACT_Pos) -#define DMAC_BTCTRL_BLOCKACT_INT (DMAC_BTCTRL_BLOCKACT_INT_Val << DMAC_BTCTRL_BLOCKACT_Pos) -#define DMAC_BTCTRL_BLOCKACT_SUSPEND (DMAC_BTCTRL_BLOCKACT_SUSPEND_Val << DMAC_BTCTRL_BLOCKACT_Pos) -#define DMAC_BTCTRL_BLOCKACT_BOTH (DMAC_BTCTRL_BLOCKACT_BOTH_Val << DMAC_BTCTRL_BLOCKACT_Pos) -#define DMAC_BTCTRL_BEATSIZE_Pos 8 /**< \brief (DMAC_BTCTRL) Beat Size */ -#define DMAC_BTCTRL_BEATSIZE_Msk (_U_(0x3) << DMAC_BTCTRL_BEATSIZE_Pos) -#define DMAC_BTCTRL_BEATSIZE(value) (DMAC_BTCTRL_BEATSIZE_Msk & ((value) << DMAC_BTCTRL_BEATSIZE_Pos)) -#define DMAC_BTCTRL_BEATSIZE_BYTE_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) 8-bit bus transfer */ -#define DMAC_BTCTRL_BEATSIZE_HWORD_Val _U_(0x1) /**< \brief (DMAC_BTCTRL) 16-bit bus transfer */ -#define DMAC_BTCTRL_BEATSIZE_WORD_Val _U_(0x2) /**< \brief (DMAC_BTCTRL) 32-bit bus transfer */ -#define DMAC_BTCTRL_BEATSIZE_BYTE (DMAC_BTCTRL_BEATSIZE_BYTE_Val << DMAC_BTCTRL_BEATSIZE_Pos) -#define DMAC_BTCTRL_BEATSIZE_HWORD (DMAC_BTCTRL_BEATSIZE_HWORD_Val << DMAC_BTCTRL_BEATSIZE_Pos) -#define DMAC_BTCTRL_BEATSIZE_WORD (DMAC_BTCTRL_BEATSIZE_WORD_Val << DMAC_BTCTRL_BEATSIZE_Pos) -#define DMAC_BTCTRL_SRCINC_Pos 10 /**< \brief (DMAC_BTCTRL) Source Address Increment Enable */ -#define DMAC_BTCTRL_SRCINC (_U_(0x1) << DMAC_BTCTRL_SRCINC_Pos) -#define DMAC_BTCTRL_DSTINC_Pos 11 /**< \brief (DMAC_BTCTRL) Destination Address Increment Enable */ -#define DMAC_BTCTRL_DSTINC (_U_(0x1) << DMAC_BTCTRL_DSTINC_Pos) -#define DMAC_BTCTRL_STEPSEL_Pos 12 /**< \brief (DMAC_BTCTRL) Step Selection */ -#define DMAC_BTCTRL_STEPSEL (_U_(0x1) << DMAC_BTCTRL_STEPSEL_Pos) -#define DMAC_BTCTRL_STEPSEL_DST_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) Step size settings apply to the destination address */ -#define DMAC_BTCTRL_STEPSEL_SRC_Val _U_(0x1) /**< \brief (DMAC_BTCTRL) Step size settings apply to the source address */ -#define DMAC_BTCTRL_STEPSEL_DST (DMAC_BTCTRL_STEPSEL_DST_Val << DMAC_BTCTRL_STEPSEL_Pos) -#define DMAC_BTCTRL_STEPSEL_SRC (DMAC_BTCTRL_STEPSEL_SRC_Val << DMAC_BTCTRL_STEPSEL_Pos) -#define DMAC_BTCTRL_STEPSIZE_Pos 13 /**< \brief (DMAC_BTCTRL) Address Increment Step Size */ -#define DMAC_BTCTRL_STEPSIZE_Msk (_U_(0x7) << DMAC_BTCTRL_STEPSIZE_Pos) -#define DMAC_BTCTRL_STEPSIZE(value) (DMAC_BTCTRL_STEPSIZE_Msk & ((value) << DMAC_BTCTRL_STEPSIZE_Pos)) -#define DMAC_BTCTRL_STEPSIZE_X1_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) Next ADDR = ADDR + (1< 8 bits, 1 -> 16 bits -#define USB_EPNUM 8 // parameter for rtl : max of ENDPOINT and PIPE NUM -#define USB_EPT_NUM 8 // Number of USB end points -#define USB_GCLK_ID 10 // Index of Generic Clock -#define USB_INITIAL_CONTROL_QOS 3 // CONTROL QOS RESET value -#define USB_INITIAL_DATA_QOS 3 // DATA QOS RESET value -#define USB_MISSING_SOF_DET_IMPLEMENTED 1 // 48 mHz xPLL feature implemented -#define USB_PIPE_NUM 8 // Number of USB pipes -#define USB_SYSTEM_CLOCK_IS_CKUSB 0 // Dual (1'b0) or Single (1'b1) clock system -#define USB_USB_2_AHB_FIFO_DEPTH 4 // bytes number, should be at least 2, and 2^n (4,8,16 ...) -#define USB_USB_2_AHB_RD_DATA_BITS 16 // 8, 16 or 32, here : 8-bits is required as UTMI interface should work in 8-bits mode -#define USB_USB_2_AHB_RD_THRESHOLD 2 // as soon as there are 16 bytes-free inside the fifo, ahb read transfer is requested -#define USB_USB_2_AHB_WR_DATA_BITS 8 // 8, 16 or 32 : here : 8-bits is required as UTMI interface should work in 8-bits mode - -#endif /* _SAME54_USB_INSTANCE_ */ diff --git a/software/firmware/oracle_same54n19a/include/instance/wdt.h b/software/firmware/oracle_same54n19a/include/instance/wdt.h deleted file mode 100644 index c96d770..0000000 --- a/software/firmware/oracle_same54n19a/include/instance/wdt.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * \file - * - * \brief Instance description for WDT - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_WDT_INSTANCE_ -#define _SAME54_WDT_INSTANCE_ - -/* ========== Register definition for WDT peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define REG_WDT_CTRLA (0x40002000) /**< \brief (WDT) Control */ -#define REG_WDT_CONFIG (0x40002001) /**< \brief (WDT) Configuration */ -#define REG_WDT_EWCTRL (0x40002002) /**< \brief (WDT) Early Warning Interrupt Control */ -#define REG_WDT_INTENCLR (0x40002004) /**< \brief (WDT) Interrupt Enable Clear */ -#define REG_WDT_INTENSET (0x40002005) /**< \brief (WDT) Interrupt Enable Set */ -#define REG_WDT_INTFLAG (0x40002006) /**< \brief (WDT) Interrupt Flag Status and Clear */ -#define REG_WDT_SYNCBUSY (0x40002008) /**< \brief (WDT) Synchronization Busy */ -#define REG_WDT_CLEAR (0x4000200C) /**< \brief (WDT) Clear */ -#else -#define REG_WDT_CTRLA (*(RwReg8 *)0x40002000UL) /**< \brief (WDT) Control */ -#define REG_WDT_CONFIG (*(RwReg8 *)0x40002001UL) /**< \brief (WDT) Configuration */ -#define REG_WDT_EWCTRL (*(RwReg8 *)0x40002002UL) /**< \brief (WDT) Early Warning Interrupt Control */ -#define REG_WDT_INTENCLR (*(RwReg8 *)0x40002004UL) /**< \brief (WDT) Interrupt Enable Clear */ -#define REG_WDT_INTENSET (*(RwReg8 *)0x40002005UL) /**< \brief (WDT) Interrupt Enable Set */ -#define REG_WDT_INTFLAG (*(RwReg8 *)0x40002006UL) /**< \brief (WDT) Interrupt Flag Status and Clear */ -#define REG_WDT_SYNCBUSY (*(RoReg *)0x40002008UL) /**< \brief (WDT) Synchronization Busy */ -#define REG_WDT_CLEAR (*(WoReg8 *)0x4000200CUL) /**< \brief (WDT) Clear */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - - -#endif /* _SAME54_WDT_INSTANCE_ */ diff --git a/software/firmware/oracle_same54n19a/include/oracle.h b/software/firmware/oracle_same54n19a/include/oracle.h deleted file mode 100644 index 56381a4..0000000 --- a/software/firmware/oracle_same54n19a/include/oracle.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * oracle.h - * - * Created: 5/3/2020 7:05:17 PM - * Author: Penguin - */ -#ifndef _ORACLE_H_ -#define _ORACLE_H_ -#include "pc_board.h" -#include "pc_master.h" -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - - -typedef enum p_err -{ - PE_GOOD = 0x0, // - PE_BAD = 0x1 // -}p_err; - -typedef enum p_log_level -{ - PE_LOG_NONE = 0 -}p_log_level; -void oracle_init(void); - -int p_qprint(const char* str, ...); - -int p_lprint(const char* str, ...); - -void oracle_service(void); - -#endif diff --git a/software/firmware/oracle_same54n19a/include/pio/same54n19a.h b/software/firmware/oracle_same54n19a/include/pio/same54n19a.h deleted file mode 100644 index 8d51a31..0000000 --- a/software/firmware/oracle_same54n19a/include/pio/same54n19a.h +++ /dev/null @@ -1,2688 +0,0 @@ -/** - * \file - * - * \brief Peripheral I/O description for SAME54N19A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54N19A_PIO_ -#define _SAME54N19A_PIO_ - -#define PIN_PA00 0 /**< \brief Pin Number for PA00 */ -#define PORT_PA00 (_UL_(1) << 0) /**< \brief PORT Mask for PA00 */ -#define PIN_PA01 1 /**< \brief Pin Number for PA01 */ -#define PORT_PA01 (_UL_(1) << 1) /**< \brief PORT Mask for PA01 */ -#define PIN_PA02 2 /**< \brief Pin Number for PA02 */ -#define PORT_PA02 (_UL_(1) << 2) /**< \brief PORT Mask for PA02 */ -#define PIN_PA03 3 /**< \brief Pin Number for PA03 */ -#define PORT_PA03 (_UL_(1) << 3) /**< \brief PORT Mask for PA03 */ -#define PIN_PA04 4 /**< \brief Pin Number for PA04 */ -#define PORT_PA04 (_UL_(1) << 4) /**< \brief PORT Mask for PA04 */ -#define PIN_PA05 5 /**< \brief Pin Number for PA05 */ -#define PORT_PA05 (_UL_(1) << 5) /**< \brief PORT Mask for PA05 */ -#define PIN_PA06 6 /**< \brief Pin Number for PA06 */ -#define PORT_PA06 (_UL_(1) << 6) /**< \brief PORT Mask for PA06 */ -#define PIN_PA07 7 /**< \brief Pin Number for PA07 */ -#define PORT_PA07 (_UL_(1) << 7) /**< \brief PORT Mask for PA07 */ -#define PIN_PA08 8 /**< \brief Pin Number for PA08 */ -#define PORT_PA08 (_UL_(1) << 8) /**< \brief PORT Mask for PA08 */ -#define PIN_PA09 9 /**< \brief Pin Number for PA09 */ -#define PORT_PA09 (_UL_(1) << 9) /**< \brief PORT Mask for PA09 */ -#define PIN_PA10 10 /**< \brief Pin Number for PA10 */ -#define PORT_PA10 (_UL_(1) << 10) /**< \brief PORT Mask for PA10 */ -#define PIN_PA11 11 /**< \brief Pin Number for PA11 */ -#define PORT_PA11 (_UL_(1) << 11) /**< \brief PORT Mask for PA11 */ -#define PIN_PA12 12 /**< \brief Pin Number for PA12 */ -#define PORT_PA12 (_UL_(1) << 12) /**< \brief PORT Mask for PA12 */ -#define PIN_PA13 13 /**< \brief Pin Number for PA13 */ -#define PORT_PA13 (_UL_(1) << 13) /**< \brief PORT Mask for PA13 */ -#define PIN_PA14 14 /**< \brief Pin Number for PA14 */ -#define PORT_PA14 (_UL_(1) << 14) /**< \brief PORT Mask for PA14 */ -#define PIN_PA15 15 /**< \brief Pin Number for PA15 */ -#define PORT_PA15 (_UL_(1) << 15) /**< \brief PORT Mask for PA15 */ -#define PIN_PA16 16 /**< \brief Pin Number for PA16 */ -#define PORT_PA16 (_UL_(1) << 16) /**< \brief PORT Mask for PA16 */ -#define PIN_PA17 17 /**< \brief Pin Number for PA17 */ -#define PORT_PA17 (_UL_(1) << 17) /**< \brief PORT Mask for PA17 */ -#define PIN_PA18 18 /**< \brief Pin Number for PA18 */ -#define PORT_PA18 (_UL_(1) << 18) /**< \brief PORT Mask for PA18 */ -#define PIN_PA19 19 /**< \brief Pin Number for PA19 */ -#define PORT_PA19 (_UL_(1) << 19) /**< \brief PORT Mask for PA19 */ -#define PIN_PA20 20 /**< \brief Pin Number for PA20 */ -#define PORT_PA20 (_UL_(1) << 20) /**< \brief PORT Mask for PA20 */ -#define PIN_PA21 21 /**< \brief Pin Number for PA21 */ -#define PORT_PA21 (_UL_(1) << 21) /**< \brief PORT Mask for PA21 */ -#define PIN_PA22 22 /**< \brief Pin Number for PA22 */ -#define PORT_PA22 (_UL_(1) << 22) /**< \brief PORT Mask for PA22 */ -#define PIN_PA23 23 /**< \brief Pin Number for PA23 */ -#define PORT_PA23 (_UL_(1) << 23) /**< \brief PORT Mask for PA23 */ -#define PIN_PA24 24 /**< \brief Pin Number for PA24 */ -#define PORT_PA24 (_UL_(1) << 24) /**< \brief PORT Mask for PA24 */ -#define PIN_PA25 25 /**< \brief Pin Number for PA25 */ -#define PORT_PA25 (_UL_(1) << 25) /**< \brief PORT Mask for PA25 */ -#define PIN_PA27 27 /**< \brief Pin Number for PA27 */ -#define PORT_PA27 (_UL_(1) << 27) /**< \brief PORT Mask for PA27 */ -#define PIN_PA30 30 /**< \brief Pin Number for PA30 */ -#define PORT_PA30 (_UL_(1) << 30) /**< \brief PORT Mask for PA30 */ -#define PIN_PA31 31 /**< \brief Pin Number for PA31 */ -#define PORT_PA31 (_UL_(1) << 31) /**< \brief PORT Mask for PA31 */ -#define PIN_PB00 32 /**< \brief Pin Number for PB00 */ -#define PORT_PB00 (_UL_(1) << 0) /**< \brief PORT Mask for PB00 */ -#define PIN_PB01 33 /**< \brief Pin Number for PB01 */ -#define PORT_PB01 (_UL_(1) << 1) /**< \brief PORT Mask for PB01 */ -#define PIN_PB02 34 /**< \brief Pin Number for PB02 */ -#define PORT_PB02 (_UL_(1) << 2) /**< \brief PORT Mask for PB02 */ -#define PIN_PB03 35 /**< \brief Pin Number for PB03 */ -#define PORT_PB03 (_UL_(1) << 3) /**< \brief PORT Mask for PB03 */ -#define PIN_PB04 36 /**< \brief Pin Number for PB04 */ -#define PORT_PB04 (_UL_(1) << 4) /**< \brief PORT Mask for PB04 */ -#define PIN_PB05 37 /**< \brief Pin Number for PB05 */ -#define PORT_PB05 (_UL_(1) << 5) /**< \brief PORT Mask for PB05 */ -#define PIN_PB06 38 /**< \brief Pin Number for PB06 */ -#define PORT_PB06 (_UL_(1) << 6) /**< \brief PORT Mask for PB06 */ -#define PIN_PB07 39 /**< \brief Pin Number for PB07 */ -#define PORT_PB07 (_UL_(1) << 7) /**< \brief PORT Mask for PB07 */ -#define PIN_PB08 40 /**< \brief Pin Number for PB08 */ -#define PORT_PB08 (_UL_(1) << 8) /**< \brief PORT Mask for PB08 */ -#define PIN_PB09 41 /**< \brief Pin Number for PB09 */ -#define PORT_PB09 (_UL_(1) << 9) /**< \brief PORT Mask for PB09 */ -#define PIN_PB10 42 /**< \brief Pin Number for PB10 */ -#define PORT_PB10 (_UL_(1) << 10) /**< \brief PORT Mask for PB10 */ -#define PIN_PB11 43 /**< \brief Pin Number for PB11 */ -#define PORT_PB11 (_UL_(1) << 11) /**< \brief PORT Mask for PB11 */ -#define PIN_PB12 44 /**< \brief Pin Number for PB12 */ -#define PORT_PB12 (_UL_(1) << 12) /**< \brief PORT Mask for PB12 */ -#define PIN_PB13 45 /**< \brief Pin Number for PB13 */ -#define PORT_PB13 (_UL_(1) << 13) /**< \brief PORT Mask for PB13 */ -#define PIN_PB14 46 /**< \brief Pin Number for PB14 */ -#define PORT_PB14 (_UL_(1) << 14) /**< \brief PORT Mask for PB14 */ -#define PIN_PB15 47 /**< \brief Pin Number for PB15 */ -#define PORT_PB15 (_UL_(1) << 15) /**< \brief PORT Mask for PB15 */ -#define PIN_PB16 48 /**< \brief Pin Number for PB16 */ -#define PORT_PB16 (_UL_(1) << 16) /**< \brief PORT Mask for PB16 */ -#define PIN_PB17 49 /**< \brief Pin Number for PB17 */ -#define PORT_PB17 (_UL_(1) << 17) /**< \brief PORT Mask for PB17 */ -#define PIN_PB18 50 /**< \brief Pin Number for PB18 */ -#define PORT_PB18 (_UL_(1) << 18) /**< \brief PORT Mask for PB18 */ -#define PIN_PB19 51 /**< \brief Pin Number for PB19 */ -#define PORT_PB19 (_UL_(1) << 19) /**< \brief PORT Mask for PB19 */ -#define PIN_PB20 52 /**< \brief Pin Number for PB20 */ -#define PORT_PB20 (_UL_(1) << 20) /**< \brief PORT Mask for PB20 */ -#define PIN_PB21 53 /**< \brief Pin Number for PB21 */ -#define PORT_PB21 (_UL_(1) << 21) /**< \brief PORT Mask for PB21 */ -#define PIN_PB22 54 /**< \brief Pin Number for PB22 */ -#define PORT_PB22 (_UL_(1) << 22) /**< \brief PORT Mask for PB22 */ -#define PIN_PB23 55 /**< \brief Pin Number for PB23 */ -#define PORT_PB23 (_UL_(1) << 23) /**< \brief PORT Mask for PB23 */ -#define PIN_PB24 56 /**< \brief Pin Number for PB24 */ -#define PORT_PB24 (_UL_(1) << 24) /**< \brief PORT Mask for PB24 */ -#define PIN_PB25 57 /**< \brief Pin Number for PB25 */ -#define PORT_PB25 (_UL_(1) << 25) /**< \brief PORT Mask for PB25 */ -#define PIN_PB30 62 /**< \brief Pin Number for PB30 */ -#define PORT_PB30 (_UL_(1) << 30) /**< \brief PORT Mask for PB30 */ -#define PIN_PB31 63 /**< \brief Pin Number for PB31 */ -#define PORT_PB31 (_UL_(1) << 31) /**< \brief PORT Mask for PB31 */ -#define PIN_PC00 64 /**< \brief Pin Number for PC00 */ -#define PORT_PC00 (_UL_(1) << 0) /**< \brief PORT Mask for PC00 */ -#define PIN_PC01 65 /**< \brief Pin Number for PC01 */ -#define PORT_PC01 (_UL_(1) << 1) /**< \brief PORT Mask for PC01 */ -#define PIN_PC02 66 /**< \brief Pin Number for PC02 */ -#define PORT_PC02 (_UL_(1) << 2) /**< \brief PORT Mask for PC02 */ -#define PIN_PC03 67 /**< \brief Pin Number for PC03 */ -#define PORT_PC03 (_UL_(1) << 3) /**< \brief PORT Mask for PC03 */ -#define PIN_PC05 69 /**< \brief Pin Number for PC05 */ -#define PORT_PC05 (_UL_(1) << 5) /**< \brief PORT Mask for PC05 */ -#define PIN_PC06 70 /**< \brief Pin Number for PC06 */ -#define PORT_PC06 (_UL_(1) << 6) /**< \brief PORT Mask for PC06 */ -#define PIN_PC07 71 /**< \brief Pin Number for PC07 */ -#define PORT_PC07 (_UL_(1) << 7) /**< \brief PORT Mask for PC07 */ -#define PIN_PC10 74 /**< \brief Pin Number for PC10 */ -#define PORT_PC10 (_UL_(1) << 10) /**< \brief PORT Mask for PC10 */ -#define PIN_PC11 75 /**< \brief Pin Number for PC11 */ -#define PORT_PC11 (_UL_(1) << 11) /**< \brief PORT Mask for PC11 */ -#define PIN_PC12 76 /**< \brief Pin Number for PC12 */ -#define PORT_PC12 (_UL_(1) << 12) /**< \brief PORT Mask for PC12 */ -#define PIN_PC13 77 /**< \brief Pin Number for PC13 */ -#define PORT_PC13 (_UL_(1) << 13) /**< \brief PORT Mask for PC13 */ -#define PIN_PC14 78 /**< \brief Pin Number for PC14 */ -#define PORT_PC14 (_UL_(1) << 14) /**< \brief PORT Mask for PC14 */ -#define PIN_PC15 79 /**< \brief Pin Number for PC15 */ -#define PORT_PC15 (_UL_(1) << 15) /**< \brief PORT Mask for PC15 */ -#define PIN_PC16 80 /**< \brief Pin Number for PC16 */ -#define PORT_PC16 (_UL_(1) << 16) /**< \brief PORT Mask for PC16 */ -#define PIN_PC17 81 /**< \brief Pin Number for PC17 */ -#define PORT_PC17 (_UL_(1) << 17) /**< \brief PORT Mask for PC17 */ -#define PIN_PC18 82 /**< \brief Pin Number for PC18 */ -#define PORT_PC18 (_UL_(1) << 18) /**< \brief PORT Mask for PC18 */ -#define PIN_PC19 83 /**< \brief Pin Number for PC19 */ -#define PORT_PC19 (_UL_(1) << 19) /**< \brief PORT Mask for PC19 */ -#define PIN_PC20 84 /**< \brief Pin Number for PC20 */ -#define PORT_PC20 (_UL_(1) << 20) /**< \brief PORT Mask for PC20 */ -#define PIN_PC21 85 /**< \brief Pin Number for PC21 */ -#define PORT_PC21 (_UL_(1) << 21) /**< \brief PORT Mask for PC21 */ -#define PIN_PC24 88 /**< \brief Pin Number for PC24 */ -#define PORT_PC24 (_UL_(1) << 24) /**< \brief PORT Mask for PC24 */ -#define PIN_PC25 89 /**< \brief Pin Number for PC25 */ -#define PORT_PC25 (_UL_(1) << 25) /**< \brief PORT Mask for PC25 */ -#define PIN_PC26 90 /**< \brief Pin Number for PC26 */ -#define PORT_PC26 (_UL_(1) << 26) /**< \brief PORT Mask for PC26 */ -#define PIN_PC27 91 /**< \brief Pin Number for PC27 */ -#define PORT_PC27 (_UL_(1) << 27) /**< \brief PORT Mask for PC27 */ -#define PIN_PC28 92 /**< \brief Pin Number for PC28 */ -#define PORT_PC28 (_UL_(1) << 28) /**< \brief PORT Mask for PC28 */ -/* ========== PORT definition for CM4 peripheral ========== */ -#define PIN_PA30H_CM4_SWCLK _L_(30) /**< \brief CM4 signal: SWCLK on PA30 mux H */ -#define MUX_PA30H_CM4_SWCLK _L_(7) -#define PINMUX_PA30H_CM4_SWCLK ((PIN_PA30H_CM4_SWCLK << 16) | MUX_PA30H_CM4_SWCLK) -#define PORT_PA30H_CM4_SWCLK (_UL_(1) << 30) -#define PIN_PC27M_CM4_SWO _L_(91) /**< \brief CM4 signal: SWO on PC27 mux M */ -#define MUX_PC27M_CM4_SWO _L_(12) -#define PINMUX_PC27M_CM4_SWO ((PIN_PC27M_CM4_SWO << 16) | MUX_PC27M_CM4_SWO) -#define PORT_PC27M_CM4_SWO (_UL_(1) << 27) -#define PIN_PB30H_CM4_SWO _L_(62) /**< \brief CM4 signal: SWO on PB30 mux H */ -#define MUX_PB30H_CM4_SWO _L_(7) -#define PINMUX_PB30H_CM4_SWO ((PIN_PB30H_CM4_SWO << 16) | MUX_PB30H_CM4_SWO) -#define PORT_PB30H_CM4_SWO (_UL_(1) << 30) -#define PIN_PC27H_CM4_TRACECLK _L_(91) /**< \brief CM4 signal: TRACECLK on PC27 mux H */ -#define MUX_PC27H_CM4_TRACECLK _L_(7) -#define PINMUX_PC27H_CM4_TRACECLK ((PIN_PC27H_CM4_TRACECLK << 16) | MUX_PC27H_CM4_TRACECLK) -#define PORT_PC27H_CM4_TRACECLK (_UL_(1) << 27) -#define PIN_PC28H_CM4_TRACEDATA0 _L_(92) /**< \brief CM4 signal: TRACEDATA0 on PC28 mux H */ -#define MUX_PC28H_CM4_TRACEDATA0 _L_(7) -#define PINMUX_PC28H_CM4_TRACEDATA0 ((PIN_PC28H_CM4_TRACEDATA0 << 16) | MUX_PC28H_CM4_TRACEDATA0) -#define PORT_PC28H_CM4_TRACEDATA0 (_UL_(1) << 28) -#define PIN_PC26H_CM4_TRACEDATA1 _L_(90) /**< \brief CM4 signal: TRACEDATA1 on PC26 mux H */ -#define MUX_PC26H_CM4_TRACEDATA1 _L_(7) -#define PINMUX_PC26H_CM4_TRACEDATA1 ((PIN_PC26H_CM4_TRACEDATA1 << 16) | MUX_PC26H_CM4_TRACEDATA1) -#define PORT_PC26H_CM4_TRACEDATA1 (_UL_(1) << 26) -#define PIN_PC25H_CM4_TRACEDATA2 _L_(89) /**< \brief CM4 signal: TRACEDATA2 on PC25 mux H */ -#define MUX_PC25H_CM4_TRACEDATA2 _L_(7) -#define PINMUX_PC25H_CM4_TRACEDATA2 ((PIN_PC25H_CM4_TRACEDATA2 << 16) | MUX_PC25H_CM4_TRACEDATA2) -#define PORT_PC25H_CM4_TRACEDATA2 (_UL_(1) << 25) -#define PIN_PC24H_CM4_TRACEDATA3 _L_(88) /**< \brief CM4 signal: TRACEDATA3 on PC24 mux H */ -#define MUX_PC24H_CM4_TRACEDATA3 _L_(7) -#define PINMUX_PC24H_CM4_TRACEDATA3 ((PIN_PC24H_CM4_TRACEDATA3 << 16) | MUX_PC24H_CM4_TRACEDATA3) -#define PORT_PC24H_CM4_TRACEDATA3 (_UL_(1) << 24) -/* ========== PORT definition for ANAREF peripheral ========== */ -#define PIN_PA03B_ANAREF_VREF0 _L_(3) /**< \brief ANAREF signal: VREF0 on PA03 mux B */ -#define MUX_PA03B_ANAREF_VREF0 _L_(1) -#define PINMUX_PA03B_ANAREF_VREF0 ((PIN_PA03B_ANAREF_VREF0 << 16) | MUX_PA03B_ANAREF_VREF0) -#define PORT_PA03B_ANAREF_VREF0 (_UL_(1) << 3) -#define PIN_PA04B_ANAREF_VREF1 _L_(4) /**< \brief ANAREF signal: VREF1 on PA04 mux B */ -#define MUX_PA04B_ANAREF_VREF1 _L_(1) -#define PINMUX_PA04B_ANAREF_VREF1 ((PIN_PA04B_ANAREF_VREF1 << 16) | MUX_PA04B_ANAREF_VREF1) -#define PORT_PA04B_ANAREF_VREF1 (_UL_(1) << 4) -#define PIN_PA06B_ANAREF_VREF2 _L_(6) /**< \brief ANAREF signal: VREF2 on PA06 mux B */ -#define MUX_PA06B_ANAREF_VREF2 _L_(1) -#define PINMUX_PA06B_ANAREF_VREF2 ((PIN_PA06B_ANAREF_VREF2 << 16) | MUX_PA06B_ANAREF_VREF2) -#define PORT_PA06B_ANAREF_VREF2 (_UL_(1) << 6) -/* ========== PORT definition for GCLK peripheral ========== */ -#define PIN_PA30M_GCLK_IO0 _L_(30) /**< \brief GCLK signal: IO0 on PA30 mux M */ -#define MUX_PA30M_GCLK_IO0 _L_(12) -#define PINMUX_PA30M_GCLK_IO0 ((PIN_PA30M_GCLK_IO0 << 16) | MUX_PA30M_GCLK_IO0) -#define PORT_PA30M_GCLK_IO0 (_UL_(1) << 30) -#define PIN_PB14M_GCLK_IO0 _L_(46) /**< \brief GCLK signal: IO0 on PB14 mux M */ -#define MUX_PB14M_GCLK_IO0 _L_(12) -#define PINMUX_PB14M_GCLK_IO0 ((PIN_PB14M_GCLK_IO0 << 16) | MUX_PB14M_GCLK_IO0) -#define PORT_PB14M_GCLK_IO0 (_UL_(1) << 14) -#define PIN_PA14M_GCLK_IO0 _L_(14) /**< \brief GCLK signal: IO0 on PA14 mux M */ -#define MUX_PA14M_GCLK_IO0 _L_(12) -#define PINMUX_PA14M_GCLK_IO0 ((PIN_PA14M_GCLK_IO0 << 16) | MUX_PA14M_GCLK_IO0) -#define PORT_PA14M_GCLK_IO0 (_UL_(1) << 14) -#define PIN_PB22M_GCLK_IO0 _L_(54) /**< \brief GCLK signal: IO0 on PB22 mux M */ -#define MUX_PB22M_GCLK_IO0 _L_(12) -#define PINMUX_PB22M_GCLK_IO0 ((PIN_PB22M_GCLK_IO0 << 16) | MUX_PB22M_GCLK_IO0) -#define PORT_PB22M_GCLK_IO0 (_UL_(1) << 22) -#define PIN_PB15M_GCLK_IO1 _L_(47) /**< \brief GCLK signal: IO1 on PB15 mux M */ -#define MUX_PB15M_GCLK_IO1 _L_(12) -#define PINMUX_PB15M_GCLK_IO1 ((PIN_PB15M_GCLK_IO1 << 16) | MUX_PB15M_GCLK_IO1) -#define PORT_PB15M_GCLK_IO1 (_UL_(1) << 15) -#define PIN_PA15M_GCLK_IO1 _L_(15) /**< \brief GCLK signal: IO1 on PA15 mux M */ -#define MUX_PA15M_GCLK_IO1 _L_(12) -#define PINMUX_PA15M_GCLK_IO1 ((PIN_PA15M_GCLK_IO1 << 16) | MUX_PA15M_GCLK_IO1) -#define PORT_PA15M_GCLK_IO1 (_UL_(1) << 15) -#define PIN_PB23M_GCLK_IO1 _L_(55) /**< \brief GCLK signal: IO1 on PB23 mux M */ -#define MUX_PB23M_GCLK_IO1 _L_(12) -#define PINMUX_PB23M_GCLK_IO1 ((PIN_PB23M_GCLK_IO1 << 16) | MUX_PB23M_GCLK_IO1) -#define PORT_PB23M_GCLK_IO1 (_UL_(1) << 23) -#define PIN_PA27M_GCLK_IO1 _L_(27) /**< \brief GCLK signal: IO1 on PA27 mux M */ -#define MUX_PA27M_GCLK_IO1 _L_(12) -#define PINMUX_PA27M_GCLK_IO1 ((PIN_PA27M_GCLK_IO1 << 16) | MUX_PA27M_GCLK_IO1) -#define PORT_PA27M_GCLK_IO1 (_UL_(1) << 27) -#define PIN_PA16M_GCLK_IO2 _L_(16) /**< \brief GCLK signal: IO2 on PA16 mux M */ -#define MUX_PA16M_GCLK_IO2 _L_(12) -#define PINMUX_PA16M_GCLK_IO2 ((PIN_PA16M_GCLK_IO2 << 16) | MUX_PA16M_GCLK_IO2) -#define PORT_PA16M_GCLK_IO2 (_UL_(1) << 16) -#define PIN_PB16M_GCLK_IO2 _L_(48) /**< \brief GCLK signal: IO2 on PB16 mux M */ -#define MUX_PB16M_GCLK_IO2 _L_(12) -#define PINMUX_PB16M_GCLK_IO2 ((PIN_PB16M_GCLK_IO2 << 16) | MUX_PB16M_GCLK_IO2) -#define PORT_PB16M_GCLK_IO2 (_UL_(1) << 16) -#define PIN_PA17M_GCLK_IO3 _L_(17) /**< \brief GCLK signal: IO3 on PA17 mux M */ -#define MUX_PA17M_GCLK_IO3 _L_(12) -#define PINMUX_PA17M_GCLK_IO3 ((PIN_PA17M_GCLK_IO3 << 16) | MUX_PA17M_GCLK_IO3) -#define PORT_PA17M_GCLK_IO3 (_UL_(1) << 17) -#define PIN_PB17M_GCLK_IO3 _L_(49) /**< \brief GCLK signal: IO3 on PB17 mux M */ -#define MUX_PB17M_GCLK_IO3 _L_(12) -#define PINMUX_PB17M_GCLK_IO3 ((PIN_PB17M_GCLK_IO3 << 16) | MUX_PB17M_GCLK_IO3) -#define PORT_PB17M_GCLK_IO3 (_UL_(1) << 17) -#define PIN_PA10M_GCLK_IO4 _L_(10) /**< \brief GCLK signal: IO4 on PA10 mux M */ -#define MUX_PA10M_GCLK_IO4 _L_(12) -#define PINMUX_PA10M_GCLK_IO4 ((PIN_PA10M_GCLK_IO4 << 16) | MUX_PA10M_GCLK_IO4) -#define PORT_PA10M_GCLK_IO4 (_UL_(1) << 10) -#define PIN_PB10M_GCLK_IO4 _L_(42) /**< \brief GCLK signal: IO4 on PB10 mux M */ -#define MUX_PB10M_GCLK_IO4 _L_(12) -#define PINMUX_PB10M_GCLK_IO4 ((PIN_PB10M_GCLK_IO4 << 16) | MUX_PB10M_GCLK_IO4) -#define PORT_PB10M_GCLK_IO4 (_UL_(1) << 10) -#define PIN_PB18M_GCLK_IO4 _L_(50) /**< \brief GCLK signal: IO4 on PB18 mux M */ -#define MUX_PB18M_GCLK_IO4 _L_(12) -#define PINMUX_PB18M_GCLK_IO4 ((PIN_PB18M_GCLK_IO4 << 16) | MUX_PB18M_GCLK_IO4) -#define PORT_PB18M_GCLK_IO4 (_UL_(1) << 18) -#define PIN_PA11M_GCLK_IO5 _L_(11) /**< \brief GCLK signal: IO5 on PA11 mux M */ -#define MUX_PA11M_GCLK_IO5 _L_(12) -#define PINMUX_PA11M_GCLK_IO5 ((PIN_PA11M_GCLK_IO5 << 16) | MUX_PA11M_GCLK_IO5) -#define PORT_PA11M_GCLK_IO5 (_UL_(1) << 11) -#define PIN_PB11M_GCLK_IO5 _L_(43) /**< \brief GCLK signal: IO5 on PB11 mux M */ -#define MUX_PB11M_GCLK_IO5 _L_(12) -#define PINMUX_PB11M_GCLK_IO5 ((PIN_PB11M_GCLK_IO5 << 16) | MUX_PB11M_GCLK_IO5) -#define PORT_PB11M_GCLK_IO5 (_UL_(1) << 11) -#define PIN_PB19M_GCLK_IO5 _L_(51) /**< \brief GCLK signal: IO5 on PB19 mux M */ -#define MUX_PB19M_GCLK_IO5 _L_(12) -#define PINMUX_PB19M_GCLK_IO5 ((PIN_PB19M_GCLK_IO5 << 16) | MUX_PB19M_GCLK_IO5) -#define PORT_PB19M_GCLK_IO5 (_UL_(1) << 19) -#define PIN_PB12M_GCLK_IO6 _L_(44) /**< \brief GCLK signal: IO6 on PB12 mux M */ -#define MUX_PB12M_GCLK_IO6 _L_(12) -#define PINMUX_PB12M_GCLK_IO6 ((PIN_PB12M_GCLK_IO6 << 16) | MUX_PB12M_GCLK_IO6) -#define PORT_PB12M_GCLK_IO6 (_UL_(1) << 12) -#define PIN_PB20M_GCLK_IO6 _L_(52) /**< \brief GCLK signal: IO6 on PB20 mux M */ -#define MUX_PB20M_GCLK_IO6 _L_(12) -#define PINMUX_PB20M_GCLK_IO6 ((PIN_PB20M_GCLK_IO6 << 16) | MUX_PB20M_GCLK_IO6) -#define PORT_PB20M_GCLK_IO6 (_UL_(1) << 20) -#define PIN_PB13M_GCLK_IO7 _L_(45) /**< \brief GCLK signal: IO7 on PB13 mux M */ -#define MUX_PB13M_GCLK_IO7 _L_(12) -#define PINMUX_PB13M_GCLK_IO7 ((PIN_PB13M_GCLK_IO7 << 16) | MUX_PB13M_GCLK_IO7) -#define PORT_PB13M_GCLK_IO7 (_UL_(1) << 13) -#define PIN_PB21M_GCLK_IO7 _L_(53) /**< \brief GCLK signal: IO7 on PB21 mux M */ -#define MUX_PB21M_GCLK_IO7 _L_(12) -#define PINMUX_PB21M_GCLK_IO7 ((PIN_PB21M_GCLK_IO7 << 16) | MUX_PB21M_GCLK_IO7) -#define PORT_PB21M_GCLK_IO7 (_UL_(1) << 21) -/* ========== PORT definition for EIC peripheral ========== */ -#define PIN_PA00A_EIC_EXTINT0 _L_(0) /**< \brief EIC signal: EXTINT0 on PA00 mux A */ -#define MUX_PA00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PA00A_EIC_EXTINT0 ((PIN_PA00A_EIC_EXTINT0 << 16) | MUX_PA00A_EIC_EXTINT0) -#define PORT_PA00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PA00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA00 External Interrupt Line */ -#define PIN_PA16A_EIC_EXTINT0 _L_(16) /**< \brief EIC signal: EXTINT0 on PA16 mux A */ -#define MUX_PA16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PA16A_EIC_EXTINT0 ((PIN_PA16A_EIC_EXTINT0 << 16) | MUX_PA16A_EIC_EXTINT0) -#define PORT_PA16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PA16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA16 External Interrupt Line */ -#define PIN_PB00A_EIC_EXTINT0 _L_(32) /**< \brief EIC signal: EXTINT0 on PB00 mux A */ -#define MUX_PB00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PB00A_EIC_EXTINT0 ((PIN_PB00A_EIC_EXTINT0 << 16) | MUX_PB00A_EIC_EXTINT0) -#define PORT_PB00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PB00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB00 External Interrupt Line */ -#define PIN_PB16A_EIC_EXTINT0 _L_(48) /**< \brief EIC signal: EXTINT0 on PB16 mux A */ -#define MUX_PB16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PB16A_EIC_EXTINT0 ((PIN_PB16A_EIC_EXTINT0 << 16) | MUX_PB16A_EIC_EXTINT0) -#define PORT_PB16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PB16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB16 External Interrupt Line */ -#define PIN_PC00A_EIC_EXTINT0 _L_(64) /**< \brief EIC signal: EXTINT0 on PC00 mux A */ -#define MUX_PC00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PC00A_EIC_EXTINT0 ((PIN_PC00A_EIC_EXTINT0 << 16) | MUX_PC00A_EIC_EXTINT0) -#define PORT_PC00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PC00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC00 External Interrupt Line */ -#define PIN_PC16A_EIC_EXTINT0 _L_(80) /**< \brief EIC signal: EXTINT0 on PC16 mux A */ -#define MUX_PC16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PC16A_EIC_EXTINT0 ((PIN_PC16A_EIC_EXTINT0 << 16) | MUX_PC16A_EIC_EXTINT0) -#define PORT_PC16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PC16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC16 External Interrupt Line */ -#define PIN_PA01A_EIC_EXTINT1 _L_(1) /**< \brief EIC signal: EXTINT1 on PA01 mux A */ -#define MUX_PA01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PA01A_EIC_EXTINT1 ((PIN_PA01A_EIC_EXTINT1 << 16) | MUX_PA01A_EIC_EXTINT1) -#define PORT_PA01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PA01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA01 External Interrupt Line */ -#define PIN_PA17A_EIC_EXTINT1 _L_(17) /**< \brief EIC signal: EXTINT1 on PA17 mux A */ -#define MUX_PA17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PA17A_EIC_EXTINT1 ((PIN_PA17A_EIC_EXTINT1 << 16) | MUX_PA17A_EIC_EXTINT1) -#define PORT_PA17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PA17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA17 External Interrupt Line */ -#define PIN_PB01A_EIC_EXTINT1 _L_(33) /**< \brief EIC signal: EXTINT1 on PB01 mux A */ -#define MUX_PB01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PB01A_EIC_EXTINT1 ((PIN_PB01A_EIC_EXTINT1 << 16) | MUX_PB01A_EIC_EXTINT1) -#define PORT_PB01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PB01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB01 External Interrupt Line */ -#define PIN_PB17A_EIC_EXTINT1 _L_(49) /**< \brief EIC signal: EXTINT1 on PB17 mux A */ -#define MUX_PB17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PB17A_EIC_EXTINT1 ((PIN_PB17A_EIC_EXTINT1 << 16) | MUX_PB17A_EIC_EXTINT1) -#define PORT_PB17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PB17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB17 External Interrupt Line */ -#define PIN_PC01A_EIC_EXTINT1 _L_(65) /**< \brief EIC signal: EXTINT1 on PC01 mux A */ -#define MUX_PC01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PC01A_EIC_EXTINT1 ((PIN_PC01A_EIC_EXTINT1 << 16) | MUX_PC01A_EIC_EXTINT1) -#define PORT_PC01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PC01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC01 External Interrupt Line */ -#define PIN_PC17A_EIC_EXTINT1 _L_(81) /**< \brief EIC signal: EXTINT1 on PC17 mux A */ -#define MUX_PC17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PC17A_EIC_EXTINT1 ((PIN_PC17A_EIC_EXTINT1 << 16) | MUX_PC17A_EIC_EXTINT1) -#define PORT_PC17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PC17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC17 External Interrupt Line */ -#define PIN_PA02A_EIC_EXTINT2 _L_(2) /**< \brief EIC signal: EXTINT2 on PA02 mux A */ -#define MUX_PA02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PA02A_EIC_EXTINT2 ((PIN_PA02A_EIC_EXTINT2 << 16) | MUX_PA02A_EIC_EXTINT2) -#define PORT_PA02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PA02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA02 External Interrupt Line */ -#define PIN_PA18A_EIC_EXTINT2 _L_(18) /**< \brief EIC signal: EXTINT2 on PA18 mux A */ -#define MUX_PA18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PA18A_EIC_EXTINT2 ((PIN_PA18A_EIC_EXTINT2 << 16) | MUX_PA18A_EIC_EXTINT2) -#define PORT_PA18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PA18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA18 External Interrupt Line */ -#define PIN_PB02A_EIC_EXTINT2 _L_(34) /**< \brief EIC signal: EXTINT2 on PB02 mux A */ -#define MUX_PB02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PB02A_EIC_EXTINT2 ((PIN_PB02A_EIC_EXTINT2 << 16) | MUX_PB02A_EIC_EXTINT2) -#define PORT_PB02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PB02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB02 External Interrupt Line */ -#define PIN_PB18A_EIC_EXTINT2 _L_(50) /**< \brief EIC signal: EXTINT2 on PB18 mux A */ -#define MUX_PB18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PB18A_EIC_EXTINT2 ((PIN_PB18A_EIC_EXTINT2 << 16) | MUX_PB18A_EIC_EXTINT2) -#define PORT_PB18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PB18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB18 External Interrupt Line */ -#define PIN_PC02A_EIC_EXTINT2 _L_(66) /**< \brief EIC signal: EXTINT2 on PC02 mux A */ -#define MUX_PC02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PC02A_EIC_EXTINT2 ((PIN_PC02A_EIC_EXTINT2 << 16) | MUX_PC02A_EIC_EXTINT2) -#define PORT_PC02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PC02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC02 External Interrupt Line */ -#define PIN_PC18A_EIC_EXTINT2 _L_(82) /**< \brief EIC signal: EXTINT2 on PC18 mux A */ -#define MUX_PC18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PC18A_EIC_EXTINT2 ((PIN_PC18A_EIC_EXTINT2 << 16) | MUX_PC18A_EIC_EXTINT2) -#define PORT_PC18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PC18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC18 External Interrupt Line */ -#define PIN_PA03A_EIC_EXTINT3 _L_(3) /**< \brief EIC signal: EXTINT3 on PA03 mux A */ -#define MUX_PA03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PA03A_EIC_EXTINT3 ((PIN_PA03A_EIC_EXTINT3 << 16) | MUX_PA03A_EIC_EXTINT3) -#define PORT_PA03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PA03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA03 External Interrupt Line */ -#define PIN_PA19A_EIC_EXTINT3 _L_(19) /**< \brief EIC signal: EXTINT3 on PA19 mux A */ -#define MUX_PA19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PA19A_EIC_EXTINT3 ((PIN_PA19A_EIC_EXTINT3 << 16) | MUX_PA19A_EIC_EXTINT3) -#define PORT_PA19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PA19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA19 External Interrupt Line */ -#define PIN_PB03A_EIC_EXTINT3 _L_(35) /**< \brief EIC signal: EXTINT3 on PB03 mux A */ -#define MUX_PB03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PB03A_EIC_EXTINT3 ((PIN_PB03A_EIC_EXTINT3 << 16) | MUX_PB03A_EIC_EXTINT3) -#define PORT_PB03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PB03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB03 External Interrupt Line */ -#define PIN_PB19A_EIC_EXTINT3 _L_(51) /**< \brief EIC signal: EXTINT3 on PB19 mux A */ -#define MUX_PB19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PB19A_EIC_EXTINT3 ((PIN_PB19A_EIC_EXTINT3 << 16) | MUX_PB19A_EIC_EXTINT3) -#define PORT_PB19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PB19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB19 External Interrupt Line */ -#define PIN_PC03A_EIC_EXTINT3 _L_(67) /**< \brief EIC signal: EXTINT3 on PC03 mux A */ -#define MUX_PC03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PC03A_EIC_EXTINT3 ((PIN_PC03A_EIC_EXTINT3 << 16) | MUX_PC03A_EIC_EXTINT3) -#define PORT_PC03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PC03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC03 External Interrupt Line */ -#define PIN_PC19A_EIC_EXTINT3 _L_(83) /**< \brief EIC signal: EXTINT3 on PC19 mux A */ -#define MUX_PC19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PC19A_EIC_EXTINT3 ((PIN_PC19A_EIC_EXTINT3 << 16) | MUX_PC19A_EIC_EXTINT3) -#define PORT_PC19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PC19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC19 External Interrupt Line */ -#define PIN_PA04A_EIC_EXTINT4 _L_(4) /**< \brief EIC signal: EXTINT4 on PA04 mux A */ -#define MUX_PA04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PA04A_EIC_EXTINT4 ((PIN_PA04A_EIC_EXTINT4 << 16) | MUX_PA04A_EIC_EXTINT4) -#define PORT_PA04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PA04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA04 External Interrupt Line */ -#define PIN_PA20A_EIC_EXTINT4 _L_(20) /**< \brief EIC signal: EXTINT4 on PA20 mux A */ -#define MUX_PA20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PA20A_EIC_EXTINT4 ((PIN_PA20A_EIC_EXTINT4 << 16) | MUX_PA20A_EIC_EXTINT4) -#define PORT_PA20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PA20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA20 External Interrupt Line */ -#define PIN_PB04A_EIC_EXTINT4 _L_(36) /**< \brief EIC signal: EXTINT4 on PB04 mux A */ -#define MUX_PB04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PB04A_EIC_EXTINT4 ((PIN_PB04A_EIC_EXTINT4 << 16) | MUX_PB04A_EIC_EXTINT4) -#define PORT_PB04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PB04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB04 External Interrupt Line */ -#define PIN_PB20A_EIC_EXTINT4 _L_(52) /**< \brief EIC signal: EXTINT4 on PB20 mux A */ -#define MUX_PB20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PB20A_EIC_EXTINT4 ((PIN_PB20A_EIC_EXTINT4 << 16) | MUX_PB20A_EIC_EXTINT4) -#define PORT_PB20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PB20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB20 External Interrupt Line */ -#define PIN_PC20A_EIC_EXTINT4 _L_(84) /**< \brief EIC signal: EXTINT4 on PC20 mux A */ -#define MUX_PC20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PC20A_EIC_EXTINT4 ((PIN_PC20A_EIC_EXTINT4 << 16) | MUX_PC20A_EIC_EXTINT4) -#define PORT_PC20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PC20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC20 External Interrupt Line */ -#define PIN_PA05A_EIC_EXTINT5 _L_(5) /**< \brief EIC signal: EXTINT5 on PA05 mux A */ -#define MUX_PA05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PA05A_EIC_EXTINT5 ((PIN_PA05A_EIC_EXTINT5 << 16) | MUX_PA05A_EIC_EXTINT5) -#define PORT_PA05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PA05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA05 External Interrupt Line */ -#define PIN_PA21A_EIC_EXTINT5 _L_(21) /**< \brief EIC signal: EXTINT5 on PA21 mux A */ -#define MUX_PA21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PA21A_EIC_EXTINT5 ((PIN_PA21A_EIC_EXTINT5 << 16) | MUX_PA21A_EIC_EXTINT5) -#define PORT_PA21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PA21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA21 External Interrupt Line */ -#define PIN_PB05A_EIC_EXTINT5 _L_(37) /**< \brief EIC signal: EXTINT5 on PB05 mux A */ -#define MUX_PB05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PB05A_EIC_EXTINT5 ((PIN_PB05A_EIC_EXTINT5 << 16) | MUX_PB05A_EIC_EXTINT5) -#define PORT_PB05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PB05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB05 External Interrupt Line */ -#define PIN_PB21A_EIC_EXTINT5 _L_(53) /**< \brief EIC signal: EXTINT5 on PB21 mux A */ -#define MUX_PB21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PB21A_EIC_EXTINT5 ((PIN_PB21A_EIC_EXTINT5 << 16) | MUX_PB21A_EIC_EXTINT5) -#define PORT_PB21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PB21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB21 External Interrupt Line */ -#define PIN_PC05A_EIC_EXTINT5 _L_(69) /**< \brief EIC signal: EXTINT5 on PC05 mux A */ -#define MUX_PC05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PC05A_EIC_EXTINT5 ((PIN_PC05A_EIC_EXTINT5 << 16) | MUX_PC05A_EIC_EXTINT5) -#define PORT_PC05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PC05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC05 External Interrupt Line */ -#define PIN_PC21A_EIC_EXTINT5 _L_(85) /**< \brief EIC signal: EXTINT5 on PC21 mux A */ -#define MUX_PC21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PC21A_EIC_EXTINT5 ((PIN_PC21A_EIC_EXTINT5 << 16) | MUX_PC21A_EIC_EXTINT5) -#define PORT_PC21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PC21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC21 External Interrupt Line */ -#define PIN_PA06A_EIC_EXTINT6 _L_(6) /**< \brief EIC signal: EXTINT6 on PA06 mux A */ -#define MUX_PA06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PA06A_EIC_EXTINT6 ((PIN_PA06A_EIC_EXTINT6 << 16) | MUX_PA06A_EIC_EXTINT6) -#define PORT_PA06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PA06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA06 External Interrupt Line */ -#define PIN_PA22A_EIC_EXTINT6 _L_(22) /**< \brief EIC signal: EXTINT6 on PA22 mux A */ -#define MUX_PA22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PA22A_EIC_EXTINT6 ((PIN_PA22A_EIC_EXTINT6 << 16) | MUX_PA22A_EIC_EXTINT6) -#define PORT_PA22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PA22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA22 External Interrupt Line */ -#define PIN_PB06A_EIC_EXTINT6 _L_(38) /**< \brief EIC signal: EXTINT6 on PB06 mux A */ -#define MUX_PB06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PB06A_EIC_EXTINT6 ((PIN_PB06A_EIC_EXTINT6 << 16) | MUX_PB06A_EIC_EXTINT6) -#define PORT_PB06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PB06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB06 External Interrupt Line */ -#define PIN_PB22A_EIC_EXTINT6 _L_(54) /**< \brief EIC signal: EXTINT6 on PB22 mux A */ -#define MUX_PB22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PB22A_EIC_EXTINT6 ((PIN_PB22A_EIC_EXTINT6 << 16) | MUX_PB22A_EIC_EXTINT6) -#define PORT_PB22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PB22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB22 External Interrupt Line */ -#define PIN_PC06A_EIC_EXTINT6 _L_(70) /**< \brief EIC signal: EXTINT6 on PC06 mux A */ -#define MUX_PC06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PC06A_EIC_EXTINT6 ((PIN_PC06A_EIC_EXTINT6 << 16) | MUX_PC06A_EIC_EXTINT6) -#define PORT_PC06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PC06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC06 External Interrupt Line */ -#define PIN_PA07A_EIC_EXTINT7 _L_(7) /**< \brief EIC signal: EXTINT7 on PA07 mux A */ -#define MUX_PA07A_EIC_EXTINT7 _L_(0) -#define PINMUX_PA07A_EIC_EXTINT7 ((PIN_PA07A_EIC_EXTINT7 << 16) | MUX_PA07A_EIC_EXTINT7) -#define PORT_PA07A_EIC_EXTINT7 (_UL_(1) << 7) -#define PIN_PA07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA07 External Interrupt Line */ -#define PIN_PA23A_EIC_EXTINT7 _L_(23) /**< \brief EIC signal: EXTINT7 on PA23 mux A */ -#define MUX_PA23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PA23A_EIC_EXTINT7 ((PIN_PA23A_EIC_EXTINT7 << 16) | MUX_PA23A_EIC_EXTINT7) -#define PORT_PA23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PA23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA23 External Interrupt Line */ -#define PIN_PB07A_EIC_EXTINT7 _L_(39) /**< \brief EIC signal: EXTINT7 on PB07 mux A */ -#define MUX_PB07A_EIC_EXTINT7 _L_(0) -#define PINMUX_PB07A_EIC_EXTINT7 ((PIN_PB07A_EIC_EXTINT7 << 16) | MUX_PB07A_EIC_EXTINT7) -#define PORT_PB07A_EIC_EXTINT7 (_UL_(1) << 7) -#define PIN_PB07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB07 External Interrupt Line */ -#define PIN_PB23A_EIC_EXTINT7 _L_(55) /**< \brief EIC signal: EXTINT7 on PB23 mux A */ -#define MUX_PB23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PB23A_EIC_EXTINT7 ((PIN_PB23A_EIC_EXTINT7 << 16) | MUX_PB23A_EIC_EXTINT7) -#define PORT_PB23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PB23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB23 External Interrupt Line */ -#define PIN_PA24A_EIC_EXTINT8 _L_(24) /**< \brief EIC signal: EXTINT8 on PA24 mux A */ -#define MUX_PA24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PA24A_EIC_EXTINT8 ((PIN_PA24A_EIC_EXTINT8 << 16) | MUX_PA24A_EIC_EXTINT8) -#define PORT_PA24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PA24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PA24 External Interrupt Line */ -#define PIN_PB08A_EIC_EXTINT8 _L_(40) /**< \brief EIC signal: EXTINT8 on PB08 mux A */ -#define MUX_PB08A_EIC_EXTINT8 _L_(0) -#define PINMUX_PB08A_EIC_EXTINT8 ((PIN_PB08A_EIC_EXTINT8 << 16) | MUX_PB08A_EIC_EXTINT8) -#define PORT_PB08A_EIC_EXTINT8 (_UL_(1) << 8) -#define PIN_PB08A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB08 External Interrupt Line */ -#define PIN_PB24A_EIC_EXTINT8 _L_(56) /**< \brief EIC signal: EXTINT8 on PB24 mux A */ -#define MUX_PB24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PB24A_EIC_EXTINT8 ((PIN_PB24A_EIC_EXTINT8 << 16) | MUX_PB24A_EIC_EXTINT8) -#define PORT_PB24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PB24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB24 External Interrupt Line */ -#define PIN_PC24A_EIC_EXTINT8 _L_(88) /**< \brief EIC signal: EXTINT8 on PC24 mux A */ -#define MUX_PC24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PC24A_EIC_EXTINT8 ((PIN_PC24A_EIC_EXTINT8 << 16) | MUX_PC24A_EIC_EXTINT8) -#define PORT_PC24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PC24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PC24 External Interrupt Line */ -#define PIN_PA09A_EIC_EXTINT9 _L_(9) /**< \brief EIC signal: EXTINT9 on PA09 mux A */ -#define MUX_PA09A_EIC_EXTINT9 _L_(0) -#define PINMUX_PA09A_EIC_EXTINT9 ((PIN_PA09A_EIC_EXTINT9 << 16) | MUX_PA09A_EIC_EXTINT9) -#define PORT_PA09A_EIC_EXTINT9 (_UL_(1) << 9) -#define PIN_PA09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA09 External Interrupt Line */ -#define PIN_PA25A_EIC_EXTINT9 _L_(25) /**< \brief EIC signal: EXTINT9 on PA25 mux A */ -#define MUX_PA25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PA25A_EIC_EXTINT9 ((PIN_PA25A_EIC_EXTINT9 << 16) | MUX_PA25A_EIC_EXTINT9) -#define PORT_PA25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PA25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA25 External Interrupt Line */ -#define PIN_PB09A_EIC_EXTINT9 _L_(41) /**< \brief EIC signal: EXTINT9 on PB09 mux A */ -#define MUX_PB09A_EIC_EXTINT9 _L_(0) -#define PINMUX_PB09A_EIC_EXTINT9 ((PIN_PB09A_EIC_EXTINT9 << 16) | MUX_PB09A_EIC_EXTINT9) -#define PORT_PB09A_EIC_EXTINT9 (_UL_(1) << 9) -#define PIN_PB09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB09 External Interrupt Line */ -#define PIN_PB25A_EIC_EXTINT9 _L_(57) /**< \brief EIC signal: EXTINT9 on PB25 mux A */ -#define MUX_PB25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PB25A_EIC_EXTINT9 ((PIN_PB25A_EIC_EXTINT9 << 16) | MUX_PB25A_EIC_EXTINT9) -#define PORT_PB25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PB25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB25 External Interrupt Line */ -#define PIN_PC07A_EIC_EXTINT9 _L_(71) /**< \brief EIC signal: EXTINT9 on PC07 mux A */ -#define MUX_PC07A_EIC_EXTINT9 _L_(0) -#define PINMUX_PC07A_EIC_EXTINT9 ((PIN_PC07A_EIC_EXTINT9 << 16) | MUX_PC07A_EIC_EXTINT9) -#define PORT_PC07A_EIC_EXTINT9 (_UL_(1) << 7) -#define PIN_PC07A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC07 External Interrupt Line */ -#define PIN_PC25A_EIC_EXTINT9 _L_(89) /**< \brief EIC signal: EXTINT9 on PC25 mux A */ -#define MUX_PC25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PC25A_EIC_EXTINT9 ((PIN_PC25A_EIC_EXTINT9 << 16) | MUX_PC25A_EIC_EXTINT9) -#define PORT_PC25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PC25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC25 External Interrupt Line */ -#define PIN_PA10A_EIC_EXTINT10 _L_(10) /**< \brief EIC signal: EXTINT10 on PA10 mux A */ -#define MUX_PA10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PA10A_EIC_EXTINT10 ((PIN_PA10A_EIC_EXTINT10 << 16) | MUX_PA10A_EIC_EXTINT10) -#define PORT_PA10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PA10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PA10 External Interrupt Line */ -#define PIN_PB10A_EIC_EXTINT10 _L_(42) /**< \brief EIC signal: EXTINT10 on PB10 mux A */ -#define MUX_PB10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PB10A_EIC_EXTINT10 ((PIN_PB10A_EIC_EXTINT10 << 16) | MUX_PB10A_EIC_EXTINT10) -#define PORT_PB10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PB10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PB10 External Interrupt Line */ -#define PIN_PC10A_EIC_EXTINT10 _L_(74) /**< \brief EIC signal: EXTINT10 on PC10 mux A */ -#define MUX_PC10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PC10A_EIC_EXTINT10 ((PIN_PC10A_EIC_EXTINT10 << 16) | MUX_PC10A_EIC_EXTINT10) -#define PORT_PC10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PC10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC10 External Interrupt Line */ -#define PIN_PC26A_EIC_EXTINT10 _L_(90) /**< \brief EIC signal: EXTINT10 on PC26 mux A */ -#define MUX_PC26A_EIC_EXTINT10 _L_(0) -#define PINMUX_PC26A_EIC_EXTINT10 ((PIN_PC26A_EIC_EXTINT10 << 16) | MUX_PC26A_EIC_EXTINT10) -#define PORT_PC26A_EIC_EXTINT10 (_UL_(1) << 26) -#define PIN_PC26A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC26 External Interrupt Line */ -#define PIN_PA11A_EIC_EXTINT11 _L_(11) /**< \brief EIC signal: EXTINT11 on PA11 mux A */ -#define MUX_PA11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PA11A_EIC_EXTINT11 ((PIN_PA11A_EIC_EXTINT11 << 16) | MUX_PA11A_EIC_EXTINT11) -#define PORT_PA11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PA11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA11 External Interrupt Line */ -#define PIN_PA27A_EIC_EXTINT11 _L_(27) /**< \brief EIC signal: EXTINT11 on PA27 mux A */ -#define MUX_PA27A_EIC_EXTINT11 _L_(0) -#define PINMUX_PA27A_EIC_EXTINT11 ((PIN_PA27A_EIC_EXTINT11 << 16) | MUX_PA27A_EIC_EXTINT11) -#define PORT_PA27A_EIC_EXTINT11 (_UL_(1) << 27) -#define PIN_PA27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA27 External Interrupt Line */ -#define PIN_PB11A_EIC_EXTINT11 _L_(43) /**< \brief EIC signal: EXTINT11 on PB11 mux A */ -#define MUX_PB11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PB11A_EIC_EXTINT11 ((PIN_PB11A_EIC_EXTINT11 << 16) | MUX_PB11A_EIC_EXTINT11) -#define PORT_PB11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PB11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PB11 External Interrupt Line */ -#define PIN_PC11A_EIC_EXTINT11 _L_(75) /**< \brief EIC signal: EXTINT11 on PC11 mux A */ -#define MUX_PC11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PC11A_EIC_EXTINT11 ((PIN_PC11A_EIC_EXTINT11 << 16) | MUX_PC11A_EIC_EXTINT11) -#define PORT_PC11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PC11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC11 External Interrupt Line */ -#define PIN_PC27A_EIC_EXTINT11 _L_(91) /**< \brief EIC signal: EXTINT11 on PC27 mux A */ -#define MUX_PC27A_EIC_EXTINT11 _L_(0) -#define PINMUX_PC27A_EIC_EXTINT11 ((PIN_PC27A_EIC_EXTINT11 << 16) | MUX_PC27A_EIC_EXTINT11) -#define PORT_PC27A_EIC_EXTINT11 (_UL_(1) << 27) -#define PIN_PC27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC27 External Interrupt Line */ -#define PIN_PA12A_EIC_EXTINT12 _L_(12) /**< \brief EIC signal: EXTINT12 on PA12 mux A */ -#define MUX_PA12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PA12A_EIC_EXTINT12 ((PIN_PA12A_EIC_EXTINT12 << 16) | MUX_PA12A_EIC_EXTINT12) -#define PORT_PA12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PA12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PA12 External Interrupt Line */ -#define PIN_PB12A_EIC_EXTINT12 _L_(44) /**< \brief EIC signal: EXTINT12 on PB12 mux A */ -#define MUX_PB12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PB12A_EIC_EXTINT12 ((PIN_PB12A_EIC_EXTINT12 << 16) | MUX_PB12A_EIC_EXTINT12) -#define PORT_PB12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PB12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB12 External Interrupt Line */ -#define PIN_PC12A_EIC_EXTINT12 _L_(76) /**< \brief EIC signal: EXTINT12 on PC12 mux A */ -#define MUX_PC12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PC12A_EIC_EXTINT12 ((PIN_PC12A_EIC_EXTINT12 << 16) | MUX_PC12A_EIC_EXTINT12) -#define PORT_PC12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PC12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC12 External Interrupt Line */ -#define PIN_PC28A_EIC_EXTINT12 _L_(92) /**< \brief EIC signal: EXTINT12 on PC28 mux A */ -#define MUX_PC28A_EIC_EXTINT12 _L_(0) -#define PINMUX_PC28A_EIC_EXTINT12 ((PIN_PC28A_EIC_EXTINT12 << 16) | MUX_PC28A_EIC_EXTINT12) -#define PORT_PC28A_EIC_EXTINT12 (_UL_(1) << 28) -#define PIN_PC28A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC28 External Interrupt Line */ -#define PIN_PA13A_EIC_EXTINT13 _L_(13) /**< \brief EIC signal: EXTINT13 on PA13 mux A */ -#define MUX_PA13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PA13A_EIC_EXTINT13 ((PIN_PA13A_EIC_EXTINT13 << 16) | MUX_PA13A_EIC_EXTINT13) -#define PORT_PA13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PA13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PA13 External Interrupt Line */ -#define PIN_PB13A_EIC_EXTINT13 _L_(45) /**< \brief EIC signal: EXTINT13 on PB13 mux A */ -#define MUX_PB13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PB13A_EIC_EXTINT13 ((PIN_PB13A_EIC_EXTINT13 << 16) | MUX_PB13A_EIC_EXTINT13) -#define PORT_PB13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PB13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB13 External Interrupt Line */ -#define PIN_PC13A_EIC_EXTINT13 _L_(77) /**< \brief EIC signal: EXTINT13 on PC13 mux A */ -#define MUX_PC13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PC13A_EIC_EXTINT13 ((PIN_PC13A_EIC_EXTINT13 << 16) | MUX_PC13A_EIC_EXTINT13) -#define PORT_PC13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PC13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PC13 External Interrupt Line */ -#define PIN_PA30A_EIC_EXTINT14 _L_(30) /**< \brief EIC signal: EXTINT14 on PA30 mux A */ -#define MUX_PA30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PA30A_EIC_EXTINT14 ((PIN_PA30A_EIC_EXTINT14 << 16) | MUX_PA30A_EIC_EXTINT14) -#define PORT_PA30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PA30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA30 External Interrupt Line */ -#define PIN_PB14A_EIC_EXTINT14 _L_(46) /**< \brief EIC signal: EXTINT14 on PB14 mux A */ -#define MUX_PB14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB14A_EIC_EXTINT14 ((PIN_PB14A_EIC_EXTINT14 << 16) | MUX_PB14A_EIC_EXTINT14) -#define PORT_PB14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PB14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB14 External Interrupt Line */ -#define PIN_PB30A_EIC_EXTINT14 _L_(62) /**< \brief EIC signal: EXTINT14 on PB30 mux A */ -#define MUX_PB30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB30A_EIC_EXTINT14 ((PIN_PB30A_EIC_EXTINT14 << 16) | MUX_PB30A_EIC_EXTINT14) -#define PORT_PB30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PB30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB30 External Interrupt Line */ -#define PIN_PC14A_EIC_EXTINT14 _L_(78) /**< \brief EIC signal: EXTINT14 on PC14 mux A */ -#define MUX_PC14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PC14A_EIC_EXTINT14 ((PIN_PC14A_EIC_EXTINT14 << 16) | MUX_PC14A_EIC_EXTINT14) -#define PORT_PC14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PC14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC14 External Interrupt Line */ -#define PIN_PA14A_EIC_EXTINT14 _L_(14) /**< \brief EIC signal: EXTINT14 on PA14 mux A */ -#define MUX_PA14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PA14A_EIC_EXTINT14 ((PIN_PA14A_EIC_EXTINT14 << 16) | MUX_PA14A_EIC_EXTINT14) -#define PORT_PA14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PA14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA14 External Interrupt Line */ -#define PIN_PA15A_EIC_EXTINT15 _L_(15) /**< \brief EIC signal: EXTINT15 on PA15 mux A */ -#define MUX_PA15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PA15A_EIC_EXTINT15 ((PIN_PA15A_EIC_EXTINT15 << 16) | MUX_PA15A_EIC_EXTINT15) -#define PORT_PA15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PA15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA15 External Interrupt Line */ -#define PIN_PA31A_EIC_EXTINT15 _L_(31) /**< \brief EIC signal: EXTINT15 on PA31 mux A */ -#define MUX_PA31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PA31A_EIC_EXTINT15 ((PIN_PA31A_EIC_EXTINT15 << 16) | MUX_PA31A_EIC_EXTINT15) -#define PORT_PA31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PA31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA31 External Interrupt Line */ -#define PIN_PB15A_EIC_EXTINT15 _L_(47) /**< \brief EIC signal: EXTINT15 on PB15 mux A */ -#define MUX_PB15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB15A_EIC_EXTINT15 ((PIN_PB15A_EIC_EXTINT15 << 16) | MUX_PB15A_EIC_EXTINT15) -#define PORT_PB15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PB15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB15 External Interrupt Line */ -#define PIN_PB31A_EIC_EXTINT15 _L_(63) /**< \brief EIC signal: EXTINT15 on PB31 mux A */ -#define MUX_PB31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB31A_EIC_EXTINT15 ((PIN_PB31A_EIC_EXTINT15 << 16) | MUX_PB31A_EIC_EXTINT15) -#define PORT_PB31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PB31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB31 External Interrupt Line */ -#define PIN_PC15A_EIC_EXTINT15 _L_(79) /**< \brief EIC signal: EXTINT15 on PC15 mux A */ -#define MUX_PC15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PC15A_EIC_EXTINT15 ((PIN_PC15A_EIC_EXTINT15 << 16) | MUX_PC15A_EIC_EXTINT15) -#define PORT_PC15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PC15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC15 External Interrupt Line */ -#define PIN_PA08A_EIC_NMI _L_(8) /**< \brief EIC signal: NMI on PA08 mux A */ -#define MUX_PA08A_EIC_NMI _L_(0) -#define PINMUX_PA08A_EIC_NMI ((PIN_PA08A_EIC_NMI << 16) | MUX_PA08A_EIC_NMI) -#define PORT_PA08A_EIC_NMI (_UL_(1) << 8) -/* ========== PORT definition for SERCOM0 peripheral ========== */ -#define PIN_PA04D_SERCOM0_PAD0 _L_(4) /**< \brief SERCOM0 signal: PAD0 on PA04 mux D */ -#define MUX_PA04D_SERCOM0_PAD0 _L_(3) -#define PINMUX_PA04D_SERCOM0_PAD0 ((PIN_PA04D_SERCOM0_PAD0 << 16) | MUX_PA04D_SERCOM0_PAD0) -#define PORT_PA04D_SERCOM0_PAD0 (_UL_(1) << 4) -#define PIN_PC17D_SERCOM0_PAD0 _L_(81) /**< \brief SERCOM0 signal: PAD0 on PC17 mux D */ -#define MUX_PC17D_SERCOM0_PAD0 _L_(3) -#define PINMUX_PC17D_SERCOM0_PAD0 ((PIN_PC17D_SERCOM0_PAD0 << 16) | MUX_PC17D_SERCOM0_PAD0) -#define PORT_PC17D_SERCOM0_PAD0 (_UL_(1) << 17) -#define PIN_PA08C_SERCOM0_PAD0 _L_(8) /**< \brief SERCOM0 signal: PAD0 on PA08 mux C */ -#define MUX_PA08C_SERCOM0_PAD0 _L_(2) -#define PINMUX_PA08C_SERCOM0_PAD0 ((PIN_PA08C_SERCOM0_PAD0 << 16) | MUX_PA08C_SERCOM0_PAD0) -#define PORT_PA08C_SERCOM0_PAD0 (_UL_(1) << 8) -#define PIN_PB24C_SERCOM0_PAD0 _L_(56) /**< \brief SERCOM0 signal: PAD0 on PB24 mux C */ -#define MUX_PB24C_SERCOM0_PAD0 _L_(2) -#define PINMUX_PB24C_SERCOM0_PAD0 ((PIN_PB24C_SERCOM0_PAD0 << 16) | MUX_PB24C_SERCOM0_PAD0) -#define PORT_PB24C_SERCOM0_PAD0 (_UL_(1) << 24) -#define PIN_PA05D_SERCOM0_PAD1 _L_(5) /**< \brief SERCOM0 signal: PAD1 on PA05 mux D */ -#define MUX_PA05D_SERCOM0_PAD1 _L_(3) -#define PINMUX_PA05D_SERCOM0_PAD1 ((PIN_PA05D_SERCOM0_PAD1 << 16) | MUX_PA05D_SERCOM0_PAD1) -#define PORT_PA05D_SERCOM0_PAD1 (_UL_(1) << 5) -#define PIN_PC16D_SERCOM0_PAD1 _L_(80) /**< \brief SERCOM0 signal: PAD1 on PC16 mux D */ -#define MUX_PC16D_SERCOM0_PAD1 _L_(3) -#define PINMUX_PC16D_SERCOM0_PAD1 ((PIN_PC16D_SERCOM0_PAD1 << 16) | MUX_PC16D_SERCOM0_PAD1) -#define PORT_PC16D_SERCOM0_PAD1 (_UL_(1) << 16) -#define PIN_PA09C_SERCOM0_PAD1 _L_(9) /**< \brief SERCOM0 signal: PAD1 on PA09 mux C */ -#define MUX_PA09C_SERCOM0_PAD1 _L_(2) -#define PINMUX_PA09C_SERCOM0_PAD1 ((PIN_PA09C_SERCOM0_PAD1 << 16) | MUX_PA09C_SERCOM0_PAD1) -#define PORT_PA09C_SERCOM0_PAD1 (_UL_(1) << 9) -#define PIN_PB25C_SERCOM0_PAD1 _L_(57) /**< \brief SERCOM0 signal: PAD1 on PB25 mux C */ -#define MUX_PB25C_SERCOM0_PAD1 _L_(2) -#define PINMUX_PB25C_SERCOM0_PAD1 ((PIN_PB25C_SERCOM0_PAD1 << 16) | MUX_PB25C_SERCOM0_PAD1) -#define PORT_PB25C_SERCOM0_PAD1 (_UL_(1) << 25) -#define PIN_PA06D_SERCOM0_PAD2 _L_(6) /**< \brief SERCOM0 signal: PAD2 on PA06 mux D */ -#define MUX_PA06D_SERCOM0_PAD2 _L_(3) -#define PINMUX_PA06D_SERCOM0_PAD2 ((PIN_PA06D_SERCOM0_PAD2 << 16) | MUX_PA06D_SERCOM0_PAD2) -#define PORT_PA06D_SERCOM0_PAD2 (_UL_(1) << 6) -#define PIN_PC18D_SERCOM0_PAD2 _L_(82) /**< \brief SERCOM0 signal: PAD2 on PC18 mux D */ -#define MUX_PC18D_SERCOM0_PAD2 _L_(3) -#define PINMUX_PC18D_SERCOM0_PAD2 ((PIN_PC18D_SERCOM0_PAD2 << 16) | MUX_PC18D_SERCOM0_PAD2) -#define PORT_PC18D_SERCOM0_PAD2 (_UL_(1) << 18) -#define PIN_PA10C_SERCOM0_PAD2 _L_(10) /**< \brief SERCOM0 signal: PAD2 on PA10 mux C */ -#define MUX_PA10C_SERCOM0_PAD2 _L_(2) -#define PINMUX_PA10C_SERCOM0_PAD2 ((PIN_PA10C_SERCOM0_PAD2 << 16) | MUX_PA10C_SERCOM0_PAD2) -#define PORT_PA10C_SERCOM0_PAD2 (_UL_(1) << 10) -#define PIN_PC24C_SERCOM0_PAD2 _L_(88) /**< \brief SERCOM0 signal: PAD2 on PC24 mux C */ -#define MUX_PC24C_SERCOM0_PAD2 _L_(2) -#define PINMUX_PC24C_SERCOM0_PAD2 ((PIN_PC24C_SERCOM0_PAD2 << 16) | MUX_PC24C_SERCOM0_PAD2) -#define PORT_PC24C_SERCOM0_PAD2 (_UL_(1) << 24) -#define PIN_PA07D_SERCOM0_PAD3 _L_(7) /**< \brief SERCOM0 signal: PAD3 on PA07 mux D */ -#define MUX_PA07D_SERCOM0_PAD3 _L_(3) -#define PINMUX_PA07D_SERCOM0_PAD3 ((PIN_PA07D_SERCOM0_PAD3 << 16) | MUX_PA07D_SERCOM0_PAD3) -#define PORT_PA07D_SERCOM0_PAD3 (_UL_(1) << 7) -#define PIN_PC19D_SERCOM0_PAD3 _L_(83) /**< \brief SERCOM0 signal: PAD3 on PC19 mux D */ -#define MUX_PC19D_SERCOM0_PAD3 _L_(3) -#define PINMUX_PC19D_SERCOM0_PAD3 ((PIN_PC19D_SERCOM0_PAD3 << 16) | MUX_PC19D_SERCOM0_PAD3) -#define PORT_PC19D_SERCOM0_PAD3 (_UL_(1) << 19) -#define PIN_PA11C_SERCOM0_PAD3 _L_(11) /**< \brief SERCOM0 signal: PAD3 on PA11 mux C */ -#define MUX_PA11C_SERCOM0_PAD3 _L_(2) -#define PINMUX_PA11C_SERCOM0_PAD3 ((PIN_PA11C_SERCOM0_PAD3 << 16) | MUX_PA11C_SERCOM0_PAD3) -#define PORT_PA11C_SERCOM0_PAD3 (_UL_(1) << 11) -#define PIN_PC25C_SERCOM0_PAD3 _L_(89) /**< \brief SERCOM0 signal: PAD3 on PC25 mux C */ -#define MUX_PC25C_SERCOM0_PAD3 _L_(2) -#define PINMUX_PC25C_SERCOM0_PAD3 ((PIN_PC25C_SERCOM0_PAD3 << 16) | MUX_PC25C_SERCOM0_PAD3) -#define PORT_PC25C_SERCOM0_PAD3 (_UL_(1) << 25) -/* ========== PORT definition for SERCOM1 peripheral ========== */ -#define PIN_PA00D_SERCOM1_PAD0 _L_(0) /**< \brief SERCOM1 signal: PAD0 on PA00 mux D */ -#define MUX_PA00D_SERCOM1_PAD0 _L_(3) -#define PINMUX_PA00D_SERCOM1_PAD0 ((PIN_PA00D_SERCOM1_PAD0 << 16) | MUX_PA00D_SERCOM1_PAD0) -#define PORT_PA00D_SERCOM1_PAD0 (_UL_(1) << 0) -#define PIN_PA16C_SERCOM1_PAD0 _L_(16) /**< \brief SERCOM1 signal: PAD0 on PA16 mux C */ -#define MUX_PA16C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PA16C_SERCOM1_PAD0 ((PIN_PA16C_SERCOM1_PAD0 << 16) | MUX_PA16C_SERCOM1_PAD0) -#define PORT_PA16C_SERCOM1_PAD0 (_UL_(1) << 16) -#define PIN_PC27C_SERCOM1_PAD0 _L_(91) /**< \brief SERCOM1 signal: PAD0 on PC27 mux C */ -#define MUX_PC27C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PC27C_SERCOM1_PAD0 ((PIN_PC27C_SERCOM1_PAD0 << 16) | MUX_PC27C_SERCOM1_PAD0) -#define PORT_PC27C_SERCOM1_PAD0 (_UL_(1) << 27) -#define PIN_PA01D_SERCOM1_PAD1 _L_(1) /**< \brief SERCOM1 signal: PAD1 on PA01 mux D */ -#define MUX_PA01D_SERCOM1_PAD1 _L_(3) -#define PINMUX_PA01D_SERCOM1_PAD1 ((PIN_PA01D_SERCOM1_PAD1 << 16) | MUX_PA01D_SERCOM1_PAD1) -#define PORT_PA01D_SERCOM1_PAD1 (_UL_(1) << 1) -#define PIN_PA17C_SERCOM1_PAD1 _L_(17) /**< \brief SERCOM1 signal: PAD1 on PA17 mux C */ -#define MUX_PA17C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PA17C_SERCOM1_PAD1 ((PIN_PA17C_SERCOM1_PAD1 << 16) | MUX_PA17C_SERCOM1_PAD1) -#define PORT_PA17C_SERCOM1_PAD1 (_UL_(1) << 17) -#define PIN_PC28C_SERCOM1_PAD1 _L_(92) /**< \brief SERCOM1 signal: PAD1 on PC28 mux C */ -#define MUX_PC28C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PC28C_SERCOM1_PAD1 ((PIN_PC28C_SERCOM1_PAD1 << 16) | MUX_PC28C_SERCOM1_PAD1) -#define PORT_PC28C_SERCOM1_PAD1 (_UL_(1) << 28) -#define PIN_PA30D_SERCOM1_PAD2 _L_(30) /**< \brief SERCOM1 signal: PAD2 on PA30 mux D */ -#define MUX_PA30D_SERCOM1_PAD2 _L_(3) -#define PINMUX_PA30D_SERCOM1_PAD2 ((PIN_PA30D_SERCOM1_PAD2 << 16) | MUX_PA30D_SERCOM1_PAD2) -#define PORT_PA30D_SERCOM1_PAD2 (_UL_(1) << 30) -#define PIN_PA18C_SERCOM1_PAD2 _L_(18) /**< \brief SERCOM1 signal: PAD2 on PA18 mux C */ -#define MUX_PA18C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PA18C_SERCOM1_PAD2 ((PIN_PA18C_SERCOM1_PAD2 << 16) | MUX_PA18C_SERCOM1_PAD2) -#define PORT_PA18C_SERCOM1_PAD2 (_UL_(1) << 18) -#define PIN_PB22C_SERCOM1_PAD2 _L_(54) /**< \brief SERCOM1 signal: PAD2 on PB22 mux C */ -#define MUX_PB22C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PB22C_SERCOM1_PAD2 ((PIN_PB22C_SERCOM1_PAD2 << 16) | MUX_PB22C_SERCOM1_PAD2) -#define PORT_PB22C_SERCOM1_PAD2 (_UL_(1) << 22) -#define PIN_PA31D_SERCOM1_PAD3 _L_(31) /**< \brief SERCOM1 signal: PAD3 on PA31 mux D */ -#define MUX_PA31D_SERCOM1_PAD3 _L_(3) -#define PINMUX_PA31D_SERCOM1_PAD3 ((PIN_PA31D_SERCOM1_PAD3 << 16) | MUX_PA31D_SERCOM1_PAD3) -#define PORT_PA31D_SERCOM1_PAD3 (_UL_(1) << 31) -#define PIN_PA19C_SERCOM1_PAD3 _L_(19) /**< \brief SERCOM1 signal: PAD3 on PA19 mux C */ -#define MUX_PA19C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PA19C_SERCOM1_PAD3 ((PIN_PA19C_SERCOM1_PAD3 << 16) | MUX_PA19C_SERCOM1_PAD3) -#define PORT_PA19C_SERCOM1_PAD3 (_UL_(1) << 19) -#define PIN_PB23C_SERCOM1_PAD3 _L_(55) /**< \brief SERCOM1 signal: PAD3 on PB23 mux C */ -#define MUX_PB23C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PB23C_SERCOM1_PAD3 ((PIN_PB23C_SERCOM1_PAD3 << 16) | MUX_PB23C_SERCOM1_PAD3) -#define PORT_PB23C_SERCOM1_PAD3 (_UL_(1) << 23) -/* ========== PORT definition for TC0 peripheral ========== */ -#define PIN_PA04E_TC0_WO0 _L_(4) /**< \brief TC0 signal: WO0 on PA04 mux E */ -#define MUX_PA04E_TC0_WO0 _L_(4) -#define PINMUX_PA04E_TC0_WO0 ((PIN_PA04E_TC0_WO0 << 16) | MUX_PA04E_TC0_WO0) -#define PORT_PA04E_TC0_WO0 (_UL_(1) << 4) -#define PIN_PA08E_TC0_WO0 _L_(8) /**< \brief TC0 signal: WO0 on PA08 mux E */ -#define MUX_PA08E_TC0_WO0 _L_(4) -#define PINMUX_PA08E_TC0_WO0 ((PIN_PA08E_TC0_WO0 << 16) | MUX_PA08E_TC0_WO0) -#define PORT_PA08E_TC0_WO0 (_UL_(1) << 8) -#define PIN_PB30E_TC0_WO0 _L_(62) /**< \brief TC0 signal: WO0 on PB30 mux E */ -#define MUX_PB30E_TC0_WO0 _L_(4) -#define PINMUX_PB30E_TC0_WO0 ((PIN_PB30E_TC0_WO0 << 16) | MUX_PB30E_TC0_WO0) -#define PORT_PB30E_TC0_WO0 (_UL_(1) << 30) -#define PIN_PA05E_TC0_WO1 _L_(5) /**< \brief TC0 signal: WO1 on PA05 mux E */ -#define MUX_PA05E_TC0_WO1 _L_(4) -#define PINMUX_PA05E_TC0_WO1 ((PIN_PA05E_TC0_WO1 << 16) | MUX_PA05E_TC0_WO1) -#define PORT_PA05E_TC0_WO1 (_UL_(1) << 5) -#define PIN_PA09E_TC0_WO1 _L_(9) /**< \brief TC0 signal: WO1 on PA09 mux E */ -#define MUX_PA09E_TC0_WO1 _L_(4) -#define PINMUX_PA09E_TC0_WO1 ((PIN_PA09E_TC0_WO1 << 16) | MUX_PA09E_TC0_WO1) -#define PORT_PA09E_TC0_WO1 (_UL_(1) << 9) -#define PIN_PB31E_TC0_WO1 _L_(63) /**< \brief TC0 signal: WO1 on PB31 mux E */ -#define MUX_PB31E_TC0_WO1 _L_(4) -#define PINMUX_PB31E_TC0_WO1 ((PIN_PB31E_TC0_WO1 << 16) | MUX_PB31E_TC0_WO1) -#define PORT_PB31E_TC0_WO1 (_UL_(1) << 31) -/* ========== PORT definition for TC1 peripheral ========== */ -#define PIN_PA06E_TC1_WO0 _L_(6) /**< \brief TC1 signal: WO0 on PA06 mux E */ -#define MUX_PA06E_TC1_WO0 _L_(4) -#define PINMUX_PA06E_TC1_WO0 ((PIN_PA06E_TC1_WO0 << 16) | MUX_PA06E_TC1_WO0) -#define PORT_PA06E_TC1_WO0 (_UL_(1) << 6) -#define PIN_PA10E_TC1_WO0 _L_(10) /**< \brief TC1 signal: WO0 on PA10 mux E */ -#define MUX_PA10E_TC1_WO0 _L_(4) -#define PINMUX_PA10E_TC1_WO0 ((PIN_PA10E_TC1_WO0 << 16) | MUX_PA10E_TC1_WO0) -#define PORT_PA10E_TC1_WO0 (_UL_(1) << 10) -#define PIN_PA07E_TC1_WO1 _L_(7) /**< \brief TC1 signal: WO1 on PA07 mux E */ -#define MUX_PA07E_TC1_WO1 _L_(4) -#define PINMUX_PA07E_TC1_WO1 ((PIN_PA07E_TC1_WO1 << 16) | MUX_PA07E_TC1_WO1) -#define PORT_PA07E_TC1_WO1 (_UL_(1) << 7) -#define PIN_PA11E_TC1_WO1 _L_(11) /**< \brief TC1 signal: WO1 on PA11 mux E */ -#define MUX_PA11E_TC1_WO1 _L_(4) -#define PINMUX_PA11E_TC1_WO1 ((PIN_PA11E_TC1_WO1 << 16) | MUX_PA11E_TC1_WO1) -#define PORT_PA11E_TC1_WO1 (_UL_(1) << 11) -/* ========== PORT definition for USB peripheral ========== */ -#define PIN_PA24H_USB_DM _L_(24) /**< \brief USB signal: DM on PA24 mux H */ -#define MUX_PA24H_USB_DM _L_(7) -#define PINMUX_PA24H_USB_DM ((PIN_PA24H_USB_DM << 16) | MUX_PA24H_USB_DM) -#define PORT_PA24H_USB_DM (_UL_(1) << 24) -#define PIN_PA25H_USB_DP _L_(25) /**< \brief USB signal: DP on PA25 mux H */ -#define MUX_PA25H_USB_DP _L_(7) -#define PINMUX_PA25H_USB_DP ((PIN_PA25H_USB_DP << 16) | MUX_PA25H_USB_DP) -#define PORT_PA25H_USB_DP (_UL_(1) << 25) -#define PIN_PA23H_USB_SOF_1KHZ _L_(23) /**< \brief USB signal: SOF_1KHZ on PA23 mux H */ -#define MUX_PA23H_USB_SOF_1KHZ _L_(7) -#define PINMUX_PA23H_USB_SOF_1KHZ ((PIN_PA23H_USB_SOF_1KHZ << 16) | MUX_PA23H_USB_SOF_1KHZ) -#define PORT_PA23H_USB_SOF_1KHZ (_UL_(1) << 23) -#define PIN_PB22H_USB_SOF_1KHZ _L_(54) /**< \brief USB signal: SOF_1KHZ on PB22 mux H */ -#define MUX_PB22H_USB_SOF_1KHZ _L_(7) -#define PINMUX_PB22H_USB_SOF_1KHZ ((PIN_PB22H_USB_SOF_1KHZ << 16) | MUX_PB22H_USB_SOF_1KHZ) -#define PORT_PB22H_USB_SOF_1KHZ (_UL_(1) << 22) -/* ========== PORT definition for SERCOM2 peripheral ========== */ -#define PIN_PA09D_SERCOM2_PAD0 _L_(9) /**< \brief SERCOM2 signal: PAD0 on PA09 mux D */ -#define MUX_PA09D_SERCOM2_PAD0 _L_(3) -#define PINMUX_PA09D_SERCOM2_PAD0 ((PIN_PA09D_SERCOM2_PAD0 << 16) | MUX_PA09D_SERCOM2_PAD0) -#define PORT_PA09D_SERCOM2_PAD0 (_UL_(1) << 9) -#define PIN_PB25D_SERCOM2_PAD0 _L_(57) /**< \brief SERCOM2 signal: PAD0 on PB25 mux D */ -#define MUX_PB25D_SERCOM2_PAD0 _L_(3) -#define PINMUX_PB25D_SERCOM2_PAD0 ((PIN_PB25D_SERCOM2_PAD0 << 16) | MUX_PB25D_SERCOM2_PAD0) -#define PORT_PB25D_SERCOM2_PAD0 (_UL_(1) << 25) -#define PIN_PA12C_SERCOM2_PAD0 _L_(12) /**< \brief SERCOM2 signal: PAD0 on PA12 mux C */ -#define MUX_PA12C_SERCOM2_PAD0 _L_(2) -#define PINMUX_PA12C_SERCOM2_PAD0 ((PIN_PA12C_SERCOM2_PAD0 << 16) | MUX_PA12C_SERCOM2_PAD0) -#define PORT_PA12C_SERCOM2_PAD0 (_UL_(1) << 12) -#define PIN_PA08D_SERCOM2_PAD1 _L_(8) /**< \brief SERCOM2 signal: PAD1 on PA08 mux D */ -#define MUX_PA08D_SERCOM2_PAD1 _L_(3) -#define PINMUX_PA08D_SERCOM2_PAD1 ((PIN_PA08D_SERCOM2_PAD1 << 16) | MUX_PA08D_SERCOM2_PAD1) -#define PORT_PA08D_SERCOM2_PAD1 (_UL_(1) << 8) -#define PIN_PB24D_SERCOM2_PAD1 _L_(56) /**< \brief SERCOM2 signal: PAD1 on PB24 mux D */ -#define MUX_PB24D_SERCOM2_PAD1 _L_(3) -#define PINMUX_PB24D_SERCOM2_PAD1 ((PIN_PB24D_SERCOM2_PAD1 << 16) | MUX_PB24D_SERCOM2_PAD1) -#define PORT_PB24D_SERCOM2_PAD1 (_UL_(1) << 24) -#define PIN_PA13C_SERCOM2_PAD1 _L_(13) /**< \brief SERCOM2 signal: PAD1 on PA13 mux C */ -#define MUX_PA13C_SERCOM2_PAD1 _L_(2) -#define PINMUX_PA13C_SERCOM2_PAD1 ((PIN_PA13C_SERCOM2_PAD1 << 16) | MUX_PA13C_SERCOM2_PAD1) -#define PORT_PA13C_SERCOM2_PAD1 (_UL_(1) << 13) -#define PIN_PA10D_SERCOM2_PAD2 _L_(10) /**< \brief SERCOM2 signal: PAD2 on PA10 mux D */ -#define MUX_PA10D_SERCOM2_PAD2 _L_(3) -#define PINMUX_PA10D_SERCOM2_PAD2 ((PIN_PA10D_SERCOM2_PAD2 << 16) | MUX_PA10D_SERCOM2_PAD2) -#define PORT_PA10D_SERCOM2_PAD2 (_UL_(1) << 10) -#define PIN_PC24D_SERCOM2_PAD2 _L_(88) /**< \brief SERCOM2 signal: PAD2 on PC24 mux D */ -#define MUX_PC24D_SERCOM2_PAD2 _L_(3) -#define PINMUX_PC24D_SERCOM2_PAD2 ((PIN_PC24D_SERCOM2_PAD2 << 16) | MUX_PC24D_SERCOM2_PAD2) -#define PORT_PC24D_SERCOM2_PAD2 (_UL_(1) << 24) -#define PIN_PA14C_SERCOM2_PAD2 _L_(14) /**< \brief SERCOM2 signal: PAD2 on PA14 mux C */ -#define MUX_PA14C_SERCOM2_PAD2 _L_(2) -#define PINMUX_PA14C_SERCOM2_PAD2 ((PIN_PA14C_SERCOM2_PAD2 << 16) | MUX_PA14C_SERCOM2_PAD2) -#define PORT_PA14C_SERCOM2_PAD2 (_UL_(1) << 14) -#define PIN_PA11D_SERCOM2_PAD3 _L_(11) /**< \brief SERCOM2 signal: PAD3 on PA11 mux D */ -#define MUX_PA11D_SERCOM2_PAD3 _L_(3) -#define PINMUX_PA11D_SERCOM2_PAD3 ((PIN_PA11D_SERCOM2_PAD3 << 16) | MUX_PA11D_SERCOM2_PAD3) -#define PORT_PA11D_SERCOM2_PAD3 (_UL_(1) << 11) -#define PIN_PC25D_SERCOM2_PAD3 _L_(89) /**< \brief SERCOM2 signal: PAD3 on PC25 mux D */ -#define MUX_PC25D_SERCOM2_PAD3 _L_(3) -#define PINMUX_PC25D_SERCOM2_PAD3 ((PIN_PC25D_SERCOM2_PAD3 << 16) | MUX_PC25D_SERCOM2_PAD3) -#define PORT_PC25D_SERCOM2_PAD3 (_UL_(1) << 25) -#define PIN_PA15C_SERCOM2_PAD3 _L_(15) /**< \brief SERCOM2 signal: PAD3 on PA15 mux C */ -#define MUX_PA15C_SERCOM2_PAD3 _L_(2) -#define PINMUX_PA15C_SERCOM2_PAD3 ((PIN_PA15C_SERCOM2_PAD3 << 16) | MUX_PA15C_SERCOM2_PAD3) -#define PORT_PA15C_SERCOM2_PAD3 (_UL_(1) << 15) -/* ========== PORT definition for SERCOM3 peripheral ========== */ -#define PIN_PA17D_SERCOM3_PAD0 _L_(17) /**< \brief SERCOM3 signal: PAD0 on PA17 mux D */ -#define MUX_PA17D_SERCOM3_PAD0 _L_(3) -#define PINMUX_PA17D_SERCOM3_PAD0 ((PIN_PA17D_SERCOM3_PAD0 << 16) | MUX_PA17D_SERCOM3_PAD0) -#define PORT_PA17D_SERCOM3_PAD0 (_UL_(1) << 17) -#define PIN_PA22C_SERCOM3_PAD0 _L_(22) /**< \brief SERCOM3 signal: PAD0 on PA22 mux C */ -#define MUX_PA22C_SERCOM3_PAD0 _L_(2) -#define PINMUX_PA22C_SERCOM3_PAD0 ((PIN_PA22C_SERCOM3_PAD0 << 16) | MUX_PA22C_SERCOM3_PAD0) -#define PORT_PA22C_SERCOM3_PAD0 (_UL_(1) << 22) -#define PIN_PB20C_SERCOM3_PAD0 _L_(52) /**< \brief SERCOM3 signal: PAD0 on PB20 mux C */ -#define MUX_PB20C_SERCOM3_PAD0 _L_(2) -#define PINMUX_PB20C_SERCOM3_PAD0 ((PIN_PB20C_SERCOM3_PAD0 << 16) | MUX_PB20C_SERCOM3_PAD0) -#define PORT_PB20C_SERCOM3_PAD0 (_UL_(1) << 20) -#define PIN_PA16D_SERCOM3_PAD1 _L_(16) /**< \brief SERCOM3 signal: PAD1 on PA16 mux D */ -#define MUX_PA16D_SERCOM3_PAD1 _L_(3) -#define PINMUX_PA16D_SERCOM3_PAD1 ((PIN_PA16D_SERCOM3_PAD1 << 16) | MUX_PA16D_SERCOM3_PAD1) -#define PORT_PA16D_SERCOM3_PAD1 (_UL_(1) << 16) -#define PIN_PA23C_SERCOM3_PAD1 _L_(23) /**< \brief SERCOM3 signal: PAD1 on PA23 mux C */ -#define MUX_PA23C_SERCOM3_PAD1 _L_(2) -#define PINMUX_PA23C_SERCOM3_PAD1 ((PIN_PA23C_SERCOM3_PAD1 << 16) | MUX_PA23C_SERCOM3_PAD1) -#define PORT_PA23C_SERCOM3_PAD1 (_UL_(1) << 23) -#define PIN_PB21C_SERCOM3_PAD1 _L_(53) /**< \brief SERCOM3 signal: PAD1 on PB21 mux C */ -#define MUX_PB21C_SERCOM3_PAD1 _L_(2) -#define PINMUX_PB21C_SERCOM3_PAD1 ((PIN_PB21C_SERCOM3_PAD1 << 16) | MUX_PB21C_SERCOM3_PAD1) -#define PORT_PB21C_SERCOM3_PAD1 (_UL_(1) << 21) -#define PIN_PA18D_SERCOM3_PAD2 _L_(18) /**< \brief SERCOM3 signal: PAD2 on PA18 mux D */ -#define MUX_PA18D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PA18D_SERCOM3_PAD2 ((PIN_PA18D_SERCOM3_PAD2 << 16) | MUX_PA18D_SERCOM3_PAD2) -#define PORT_PA18D_SERCOM3_PAD2 (_UL_(1) << 18) -#define PIN_PA20D_SERCOM3_PAD2 _L_(20) /**< \brief SERCOM3 signal: PAD2 on PA20 mux D */ -#define MUX_PA20D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PA20D_SERCOM3_PAD2 ((PIN_PA20D_SERCOM3_PAD2 << 16) | MUX_PA20D_SERCOM3_PAD2) -#define PORT_PA20D_SERCOM3_PAD2 (_UL_(1) << 20) -#define PIN_PA24C_SERCOM3_PAD2 _L_(24) /**< \brief SERCOM3 signal: PAD2 on PA24 mux C */ -#define MUX_PA24C_SERCOM3_PAD2 _L_(2) -#define PINMUX_PA24C_SERCOM3_PAD2 ((PIN_PA24C_SERCOM3_PAD2 << 16) | MUX_PA24C_SERCOM3_PAD2) -#define PORT_PA24C_SERCOM3_PAD2 (_UL_(1) << 24) -#define PIN_PA19D_SERCOM3_PAD3 _L_(19) /**< \brief SERCOM3 signal: PAD3 on PA19 mux D */ -#define MUX_PA19D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PA19D_SERCOM3_PAD3 ((PIN_PA19D_SERCOM3_PAD3 << 16) | MUX_PA19D_SERCOM3_PAD3) -#define PORT_PA19D_SERCOM3_PAD3 (_UL_(1) << 19) -#define PIN_PA21D_SERCOM3_PAD3 _L_(21) /**< \brief SERCOM3 signal: PAD3 on PA21 mux D */ -#define MUX_PA21D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PA21D_SERCOM3_PAD3 ((PIN_PA21D_SERCOM3_PAD3 << 16) | MUX_PA21D_SERCOM3_PAD3) -#define PORT_PA21D_SERCOM3_PAD3 (_UL_(1) << 21) -#define PIN_PA25C_SERCOM3_PAD3 _L_(25) /**< \brief SERCOM3 signal: PAD3 on PA25 mux C */ -#define MUX_PA25C_SERCOM3_PAD3 _L_(2) -#define PINMUX_PA25C_SERCOM3_PAD3 ((PIN_PA25C_SERCOM3_PAD3 << 16) | MUX_PA25C_SERCOM3_PAD3) -#define PORT_PA25C_SERCOM3_PAD3 (_UL_(1) << 25) -/* ========== PORT definition for TCC0 peripheral ========== */ -#define PIN_PA20G_TCC0_WO0 _L_(20) /**< \brief TCC0 signal: WO0 on PA20 mux G */ -#define MUX_PA20G_TCC0_WO0 _L_(6) -#define PINMUX_PA20G_TCC0_WO0 ((PIN_PA20G_TCC0_WO0 << 16) | MUX_PA20G_TCC0_WO0) -#define PORT_PA20G_TCC0_WO0 (_UL_(1) << 20) -#define PIN_PB12G_TCC0_WO0 _L_(44) /**< \brief TCC0 signal: WO0 on PB12 mux G */ -#define MUX_PB12G_TCC0_WO0 _L_(6) -#define PINMUX_PB12G_TCC0_WO0 ((PIN_PB12G_TCC0_WO0 << 16) | MUX_PB12G_TCC0_WO0) -#define PORT_PB12G_TCC0_WO0 (_UL_(1) << 12) -#define PIN_PA08F_TCC0_WO0 _L_(8) /**< \brief TCC0 signal: WO0 on PA08 mux F */ -#define MUX_PA08F_TCC0_WO0 _L_(5) -#define PINMUX_PA08F_TCC0_WO0 ((PIN_PA08F_TCC0_WO0 << 16) | MUX_PA08F_TCC0_WO0) -#define PORT_PA08F_TCC0_WO0 (_UL_(1) << 8) -#define PIN_PC10F_TCC0_WO0 _L_(74) /**< \brief TCC0 signal: WO0 on PC10 mux F */ -#define MUX_PC10F_TCC0_WO0 _L_(5) -#define PINMUX_PC10F_TCC0_WO0 ((PIN_PC10F_TCC0_WO0 << 16) | MUX_PC10F_TCC0_WO0) -#define PORT_PC10F_TCC0_WO0 (_UL_(1) << 10) -#define PIN_PC16F_TCC0_WO0 _L_(80) /**< \brief TCC0 signal: WO0 on PC16 mux F */ -#define MUX_PC16F_TCC0_WO0 _L_(5) -#define PINMUX_PC16F_TCC0_WO0 ((PIN_PC16F_TCC0_WO0 << 16) | MUX_PC16F_TCC0_WO0) -#define PORT_PC16F_TCC0_WO0 (_UL_(1) << 16) -#define PIN_PA21G_TCC0_WO1 _L_(21) /**< \brief TCC0 signal: WO1 on PA21 mux G */ -#define MUX_PA21G_TCC0_WO1 _L_(6) -#define PINMUX_PA21G_TCC0_WO1 ((PIN_PA21G_TCC0_WO1 << 16) | MUX_PA21G_TCC0_WO1) -#define PORT_PA21G_TCC0_WO1 (_UL_(1) << 21) -#define PIN_PB13G_TCC0_WO1 _L_(45) /**< \brief TCC0 signal: WO1 on PB13 mux G */ -#define MUX_PB13G_TCC0_WO1 _L_(6) -#define PINMUX_PB13G_TCC0_WO1 ((PIN_PB13G_TCC0_WO1 << 16) | MUX_PB13G_TCC0_WO1) -#define PORT_PB13G_TCC0_WO1 (_UL_(1) << 13) -#define PIN_PA09F_TCC0_WO1 _L_(9) /**< \brief TCC0 signal: WO1 on PA09 mux F */ -#define MUX_PA09F_TCC0_WO1 _L_(5) -#define PINMUX_PA09F_TCC0_WO1 ((PIN_PA09F_TCC0_WO1 << 16) | MUX_PA09F_TCC0_WO1) -#define PORT_PA09F_TCC0_WO1 (_UL_(1) << 9) -#define PIN_PC11F_TCC0_WO1 _L_(75) /**< \brief TCC0 signal: WO1 on PC11 mux F */ -#define MUX_PC11F_TCC0_WO1 _L_(5) -#define PINMUX_PC11F_TCC0_WO1 ((PIN_PC11F_TCC0_WO1 << 16) | MUX_PC11F_TCC0_WO1) -#define PORT_PC11F_TCC0_WO1 (_UL_(1) << 11) -#define PIN_PC17F_TCC0_WO1 _L_(81) /**< \brief TCC0 signal: WO1 on PC17 mux F */ -#define MUX_PC17F_TCC0_WO1 _L_(5) -#define PINMUX_PC17F_TCC0_WO1 ((PIN_PC17F_TCC0_WO1 << 16) | MUX_PC17F_TCC0_WO1) -#define PORT_PC17F_TCC0_WO1 (_UL_(1) << 17) -#define PIN_PA22G_TCC0_WO2 _L_(22) /**< \brief TCC0 signal: WO2 on PA22 mux G */ -#define MUX_PA22G_TCC0_WO2 _L_(6) -#define PINMUX_PA22G_TCC0_WO2 ((PIN_PA22G_TCC0_WO2 << 16) | MUX_PA22G_TCC0_WO2) -#define PORT_PA22G_TCC0_WO2 (_UL_(1) << 22) -#define PIN_PB14G_TCC0_WO2 _L_(46) /**< \brief TCC0 signal: WO2 on PB14 mux G */ -#define MUX_PB14G_TCC0_WO2 _L_(6) -#define PINMUX_PB14G_TCC0_WO2 ((PIN_PB14G_TCC0_WO2 << 16) | MUX_PB14G_TCC0_WO2) -#define PORT_PB14G_TCC0_WO2 (_UL_(1) << 14) -#define PIN_PA10F_TCC0_WO2 _L_(10) /**< \brief TCC0 signal: WO2 on PA10 mux F */ -#define MUX_PA10F_TCC0_WO2 _L_(5) -#define PINMUX_PA10F_TCC0_WO2 ((PIN_PA10F_TCC0_WO2 << 16) | MUX_PA10F_TCC0_WO2) -#define PORT_PA10F_TCC0_WO2 (_UL_(1) << 10) -#define PIN_PC12F_TCC0_WO2 _L_(76) /**< \brief TCC0 signal: WO2 on PC12 mux F */ -#define MUX_PC12F_TCC0_WO2 _L_(5) -#define PINMUX_PC12F_TCC0_WO2 ((PIN_PC12F_TCC0_WO2 << 16) | MUX_PC12F_TCC0_WO2) -#define PORT_PC12F_TCC0_WO2 (_UL_(1) << 12) -#define PIN_PC18F_TCC0_WO2 _L_(82) /**< \brief TCC0 signal: WO2 on PC18 mux F */ -#define MUX_PC18F_TCC0_WO2 _L_(5) -#define PINMUX_PC18F_TCC0_WO2 ((PIN_PC18F_TCC0_WO2 << 16) | MUX_PC18F_TCC0_WO2) -#define PORT_PC18F_TCC0_WO2 (_UL_(1) << 18) -#define PIN_PA23G_TCC0_WO3 _L_(23) /**< \brief TCC0 signal: WO3 on PA23 mux G */ -#define MUX_PA23G_TCC0_WO3 _L_(6) -#define PINMUX_PA23G_TCC0_WO3 ((PIN_PA23G_TCC0_WO3 << 16) | MUX_PA23G_TCC0_WO3) -#define PORT_PA23G_TCC0_WO3 (_UL_(1) << 23) -#define PIN_PB15G_TCC0_WO3 _L_(47) /**< \brief TCC0 signal: WO3 on PB15 mux G */ -#define MUX_PB15G_TCC0_WO3 _L_(6) -#define PINMUX_PB15G_TCC0_WO3 ((PIN_PB15G_TCC0_WO3 << 16) | MUX_PB15G_TCC0_WO3) -#define PORT_PB15G_TCC0_WO3 (_UL_(1) << 15) -#define PIN_PA11F_TCC0_WO3 _L_(11) /**< \brief TCC0 signal: WO3 on PA11 mux F */ -#define MUX_PA11F_TCC0_WO3 _L_(5) -#define PINMUX_PA11F_TCC0_WO3 ((PIN_PA11F_TCC0_WO3 << 16) | MUX_PA11F_TCC0_WO3) -#define PORT_PA11F_TCC0_WO3 (_UL_(1) << 11) -#define PIN_PC13F_TCC0_WO3 _L_(77) /**< \brief TCC0 signal: WO3 on PC13 mux F */ -#define MUX_PC13F_TCC0_WO3 _L_(5) -#define PINMUX_PC13F_TCC0_WO3 ((PIN_PC13F_TCC0_WO3 << 16) | MUX_PC13F_TCC0_WO3) -#define PORT_PC13F_TCC0_WO3 (_UL_(1) << 13) -#define PIN_PC19F_TCC0_WO3 _L_(83) /**< \brief TCC0 signal: WO3 on PC19 mux F */ -#define MUX_PC19F_TCC0_WO3 _L_(5) -#define PINMUX_PC19F_TCC0_WO3 ((PIN_PC19F_TCC0_WO3 << 16) | MUX_PC19F_TCC0_WO3) -#define PORT_PC19F_TCC0_WO3 (_UL_(1) << 19) -#define PIN_PA16G_TCC0_WO4 _L_(16) /**< \brief TCC0 signal: WO4 on PA16 mux G */ -#define MUX_PA16G_TCC0_WO4 _L_(6) -#define PINMUX_PA16G_TCC0_WO4 ((PIN_PA16G_TCC0_WO4 << 16) | MUX_PA16G_TCC0_WO4) -#define PORT_PA16G_TCC0_WO4 (_UL_(1) << 16) -#define PIN_PB16G_TCC0_WO4 _L_(48) /**< \brief TCC0 signal: WO4 on PB16 mux G */ -#define MUX_PB16G_TCC0_WO4 _L_(6) -#define PINMUX_PB16G_TCC0_WO4 ((PIN_PB16G_TCC0_WO4 << 16) | MUX_PB16G_TCC0_WO4) -#define PORT_PB16G_TCC0_WO4 (_UL_(1) << 16) -#define PIN_PB10F_TCC0_WO4 _L_(42) /**< \brief TCC0 signal: WO4 on PB10 mux F */ -#define MUX_PB10F_TCC0_WO4 _L_(5) -#define PINMUX_PB10F_TCC0_WO4 ((PIN_PB10F_TCC0_WO4 << 16) | MUX_PB10F_TCC0_WO4) -#define PORT_PB10F_TCC0_WO4 (_UL_(1) << 10) -#define PIN_PC14F_TCC0_WO4 _L_(78) /**< \brief TCC0 signal: WO4 on PC14 mux F */ -#define MUX_PC14F_TCC0_WO4 _L_(5) -#define PINMUX_PC14F_TCC0_WO4 ((PIN_PC14F_TCC0_WO4 << 16) | MUX_PC14F_TCC0_WO4) -#define PORT_PC14F_TCC0_WO4 (_UL_(1) << 14) -#define PIN_PC20F_TCC0_WO4 _L_(84) /**< \brief TCC0 signal: WO4 on PC20 mux F */ -#define MUX_PC20F_TCC0_WO4 _L_(5) -#define PINMUX_PC20F_TCC0_WO4 ((PIN_PC20F_TCC0_WO4 << 16) | MUX_PC20F_TCC0_WO4) -#define PORT_PC20F_TCC0_WO4 (_UL_(1) << 20) -#define PIN_PA17G_TCC0_WO5 _L_(17) /**< \brief TCC0 signal: WO5 on PA17 mux G */ -#define MUX_PA17G_TCC0_WO5 _L_(6) -#define PINMUX_PA17G_TCC0_WO5 ((PIN_PA17G_TCC0_WO5 << 16) | MUX_PA17G_TCC0_WO5) -#define PORT_PA17G_TCC0_WO5 (_UL_(1) << 17) -#define PIN_PB17G_TCC0_WO5 _L_(49) /**< \brief TCC0 signal: WO5 on PB17 mux G */ -#define MUX_PB17G_TCC0_WO5 _L_(6) -#define PINMUX_PB17G_TCC0_WO5 ((PIN_PB17G_TCC0_WO5 << 16) | MUX_PB17G_TCC0_WO5) -#define PORT_PB17G_TCC0_WO5 (_UL_(1) << 17) -#define PIN_PB11F_TCC0_WO5 _L_(43) /**< \brief TCC0 signal: WO5 on PB11 mux F */ -#define MUX_PB11F_TCC0_WO5 _L_(5) -#define PINMUX_PB11F_TCC0_WO5 ((PIN_PB11F_TCC0_WO5 << 16) | MUX_PB11F_TCC0_WO5) -#define PORT_PB11F_TCC0_WO5 (_UL_(1) << 11) -#define PIN_PC15F_TCC0_WO5 _L_(79) /**< \brief TCC0 signal: WO5 on PC15 mux F */ -#define MUX_PC15F_TCC0_WO5 _L_(5) -#define PINMUX_PC15F_TCC0_WO5 ((PIN_PC15F_TCC0_WO5 << 16) | MUX_PC15F_TCC0_WO5) -#define PORT_PC15F_TCC0_WO5 (_UL_(1) << 15) -#define PIN_PC21F_TCC0_WO5 _L_(85) /**< \brief TCC0 signal: WO5 on PC21 mux F */ -#define MUX_PC21F_TCC0_WO5 _L_(5) -#define PINMUX_PC21F_TCC0_WO5 ((PIN_PC21F_TCC0_WO5 << 16) | MUX_PC21F_TCC0_WO5) -#define PORT_PC21F_TCC0_WO5 (_UL_(1) << 21) -#define PIN_PA18G_TCC0_WO6 _L_(18) /**< \brief TCC0 signal: WO6 on PA18 mux G */ -#define MUX_PA18G_TCC0_WO6 _L_(6) -#define PINMUX_PA18G_TCC0_WO6 ((PIN_PA18G_TCC0_WO6 << 16) | MUX_PA18G_TCC0_WO6) -#define PORT_PA18G_TCC0_WO6 (_UL_(1) << 18) -#define PIN_PB30G_TCC0_WO6 _L_(62) /**< \brief TCC0 signal: WO6 on PB30 mux G */ -#define MUX_PB30G_TCC0_WO6 _L_(6) -#define PINMUX_PB30G_TCC0_WO6 ((PIN_PB30G_TCC0_WO6 << 16) | MUX_PB30G_TCC0_WO6) -#define PORT_PB30G_TCC0_WO6 (_UL_(1) << 30) -#define PIN_PA12F_TCC0_WO6 _L_(12) /**< \brief TCC0 signal: WO6 on PA12 mux F */ -#define MUX_PA12F_TCC0_WO6 _L_(5) -#define PINMUX_PA12F_TCC0_WO6 ((PIN_PA12F_TCC0_WO6 << 16) | MUX_PA12F_TCC0_WO6) -#define PORT_PA12F_TCC0_WO6 (_UL_(1) << 12) -#define PIN_PA19G_TCC0_WO7 _L_(19) /**< \brief TCC0 signal: WO7 on PA19 mux G */ -#define MUX_PA19G_TCC0_WO7 _L_(6) -#define PINMUX_PA19G_TCC0_WO7 ((PIN_PA19G_TCC0_WO7 << 16) | MUX_PA19G_TCC0_WO7) -#define PORT_PA19G_TCC0_WO7 (_UL_(1) << 19) -#define PIN_PB31G_TCC0_WO7 _L_(63) /**< \brief TCC0 signal: WO7 on PB31 mux G */ -#define MUX_PB31G_TCC0_WO7 _L_(6) -#define PINMUX_PB31G_TCC0_WO7 ((PIN_PB31G_TCC0_WO7 << 16) | MUX_PB31G_TCC0_WO7) -#define PORT_PB31G_TCC0_WO7 (_UL_(1) << 31) -#define PIN_PA13F_TCC0_WO7 _L_(13) /**< \brief TCC0 signal: WO7 on PA13 mux F */ -#define MUX_PA13F_TCC0_WO7 _L_(5) -#define PINMUX_PA13F_TCC0_WO7 ((PIN_PA13F_TCC0_WO7 << 16) | MUX_PA13F_TCC0_WO7) -#define PORT_PA13F_TCC0_WO7 (_UL_(1) << 13) -/* ========== PORT definition for TCC1 peripheral ========== */ -#define PIN_PB10G_TCC1_WO0 _L_(42) /**< \brief TCC1 signal: WO0 on PB10 mux G */ -#define MUX_PB10G_TCC1_WO0 _L_(6) -#define PINMUX_PB10G_TCC1_WO0 ((PIN_PB10G_TCC1_WO0 << 16) | MUX_PB10G_TCC1_WO0) -#define PORT_PB10G_TCC1_WO0 (_UL_(1) << 10) -#define PIN_PC14G_TCC1_WO0 _L_(78) /**< \brief TCC1 signal: WO0 on PC14 mux G */ -#define MUX_PC14G_TCC1_WO0 _L_(6) -#define PINMUX_PC14G_TCC1_WO0 ((PIN_PC14G_TCC1_WO0 << 16) | MUX_PC14G_TCC1_WO0) -#define PORT_PC14G_TCC1_WO0 (_UL_(1) << 14) -#define PIN_PA16F_TCC1_WO0 _L_(16) /**< \brief TCC1 signal: WO0 on PA16 mux F */ -#define MUX_PA16F_TCC1_WO0 _L_(5) -#define PINMUX_PA16F_TCC1_WO0 ((PIN_PA16F_TCC1_WO0 << 16) | MUX_PA16F_TCC1_WO0) -#define PORT_PA16F_TCC1_WO0 (_UL_(1) << 16) -#define PIN_PB18F_TCC1_WO0 _L_(50) /**< \brief TCC1 signal: WO0 on PB18 mux F */ -#define MUX_PB18F_TCC1_WO0 _L_(5) -#define PINMUX_PB18F_TCC1_WO0 ((PIN_PB18F_TCC1_WO0 << 16) | MUX_PB18F_TCC1_WO0) -#define PORT_PB18F_TCC1_WO0 (_UL_(1) << 18) -#define PIN_PB11G_TCC1_WO1 _L_(43) /**< \brief TCC1 signal: WO1 on PB11 mux G */ -#define MUX_PB11G_TCC1_WO1 _L_(6) -#define PINMUX_PB11G_TCC1_WO1 ((PIN_PB11G_TCC1_WO1 << 16) | MUX_PB11G_TCC1_WO1) -#define PORT_PB11G_TCC1_WO1 (_UL_(1) << 11) -#define PIN_PC15G_TCC1_WO1 _L_(79) /**< \brief TCC1 signal: WO1 on PC15 mux G */ -#define MUX_PC15G_TCC1_WO1 _L_(6) -#define PINMUX_PC15G_TCC1_WO1 ((PIN_PC15G_TCC1_WO1 << 16) | MUX_PC15G_TCC1_WO1) -#define PORT_PC15G_TCC1_WO1 (_UL_(1) << 15) -#define PIN_PA17F_TCC1_WO1 _L_(17) /**< \brief TCC1 signal: WO1 on PA17 mux F */ -#define MUX_PA17F_TCC1_WO1 _L_(5) -#define PINMUX_PA17F_TCC1_WO1 ((PIN_PA17F_TCC1_WO1 << 16) | MUX_PA17F_TCC1_WO1) -#define PORT_PA17F_TCC1_WO1 (_UL_(1) << 17) -#define PIN_PB19F_TCC1_WO1 _L_(51) /**< \brief TCC1 signal: WO1 on PB19 mux F */ -#define MUX_PB19F_TCC1_WO1 _L_(5) -#define PINMUX_PB19F_TCC1_WO1 ((PIN_PB19F_TCC1_WO1 << 16) | MUX_PB19F_TCC1_WO1) -#define PORT_PB19F_TCC1_WO1 (_UL_(1) << 19) -#define PIN_PA12G_TCC1_WO2 _L_(12) /**< \brief TCC1 signal: WO2 on PA12 mux G */ -#define MUX_PA12G_TCC1_WO2 _L_(6) -#define PINMUX_PA12G_TCC1_WO2 ((PIN_PA12G_TCC1_WO2 << 16) | MUX_PA12G_TCC1_WO2) -#define PORT_PA12G_TCC1_WO2 (_UL_(1) << 12) -#define PIN_PA14G_TCC1_WO2 _L_(14) /**< \brief TCC1 signal: WO2 on PA14 mux G */ -#define MUX_PA14G_TCC1_WO2 _L_(6) -#define PINMUX_PA14G_TCC1_WO2 ((PIN_PA14G_TCC1_WO2 << 16) | MUX_PA14G_TCC1_WO2) -#define PORT_PA14G_TCC1_WO2 (_UL_(1) << 14) -#define PIN_PA18F_TCC1_WO2 _L_(18) /**< \brief TCC1 signal: WO2 on PA18 mux F */ -#define MUX_PA18F_TCC1_WO2 _L_(5) -#define PINMUX_PA18F_TCC1_WO2 ((PIN_PA18F_TCC1_WO2 << 16) | MUX_PA18F_TCC1_WO2) -#define PORT_PA18F_TCC1_WO2 (_UL_(1) << 18) -#define PIN_PB20F_TCC1_WO2 _L_(52) /**< \brief TCC1 signal: WO2 on PB20 mux F */ -#define MUX_PB20F_TCC1_WO2 _L_(5) -#define PINMUX_PB20F_TCC1_WO2 ((PIN_PB20F_TCC1_WO2 << 16) | MUX_PB20F_TCC1_WO2) -#define PORT_PB20F_TCC1_WO2 (_UL_(1) << 20) -#define PIN_PA13G_TCC1_WO3 _L_(13) /**< \brief TCC1 signal: WO3 on PA13 mux G */ -#define MUX_PA13G_TCC1_WO3 _L_(6) -#define PINMUX_PA13G_TCC1_WO3 ((PIN_PA13G_TCC1_WO3 << 16) | MUX_PA13G_TCC1_WO3) -#define PORT_PA13G_TCC1_WO3 (_UL_(1) << 13) -#define PIN_PA15G_TCC1_WO3 _L_(15) /**< \brief TCC1 signal: WO3 on PA15 mux G */ -#define MUX_PA15G_TCC1_WO3 _L_(6) -#define PINMUX_PA15G_TCC1_WO3 ((PIN_PA15G_TCC1_WO3 << 16) | MUX_PA15G_TCC1_WO3) -#define PORT_PA15G_TCC1_WO3 (_UL_(1) << 15) -#define PIN_PA19F_TCC1_WO3 _L_(19) /**< \brief TCC1 signal: WO3 on PA19 mux F */ -#define MUX_PA19F_TCC1_WO3 _L_(5) -#define PINMUX_PA19F_TCC1_WO3 ((PIN_PA19F_TCC1_WO3 << 16) | MUX_PA19F_TCC1_WO3) -#define PORT_PA19F_TCC1_WO3 (_UL_(1) << 19) -#define PIN_PB21F_TCC1_WO3 _L_(53) /**< \brief TCC1 signal: WO3 on PB21 mux F */ -#define MUX_PB21F_TCC1_WO3 _L_(5) -#define PINMUX_PB21F_TCC1_WO3 ((PIN_PB21F_TCC1_WO3 << 16) | MUX_PB21F_TCC1_WO3) -#define PORT_PB21F_TCC1_WO3 (_UL_(1) << 21) -#define PIN_PA08G_TCC1_WO4 _L_(8) /**< \brief TCC1 signal: WO4 on PA08 mux G */ -#define MUX_PA08G_TCC1_WO4 _L_(6) -#define PINMUX_PA08G_TCC1_WO4 ((PIN_PA08G_TCC1_WO4 << 16) | MUX_PA08G_TCC1_WO4) -#define PORT_PA08G_TCC1_WO4 (_UL_(1) << 8) -#define PIN_PC10G_TCC1_WO4 _L_(74) /**< \brief TCC1 signal: WO4 on PC10 mux G */ -#define MUX_PC10G_TCC1_WO4 _L_(6) -#define PINMUX_PC10G_TCC1_WO4 ((PIN_PC10G_TCC1_WO4 << 16) | MUX_PC10G_TCC1_WO4) -#define PORT_PC10G_TCC1_WO4 (_UL_(1) << 10) -#define PIN_PA20F_TCC1_WO4 _L_(20) /**< \brief TCC1 signal: WO4 on PA20 mux F */ -#define MUX_PA20F_TCC1_WO4 _L_(5) -#define PINMUX_PA20F_TCC1_WO4 ((PIN_PA20F_TCC1_WO4 << 16) | MUX_PA20F_TCC1_WO4) -#define PORT_PA20F_TCC1_WO4 (_UL_(1) << 20) -#define PIN_PA09G_TCC1_WO5 _L_(9) /**< \brief TCC1 signal: WO5 on PA09 mux G */ -#define MUX_PA09G_TCC1_WO5 _L_(6) -#define PINMUX_PA09G_TCC1_WO5 ((PIN_PA09G_TCC1_WO5 << 16) | MUX_PA09G_TCC1_WO5) -#define PORT_PA09G_TCC1_WO5 (_UL_(1) << 9) -#define PIN_PC11G_TCC1_WO5 _L_(75) /**< \brief TCC1 signal: WO5 on PC11 mux G */ -#define MUX_PC11G_TCC1_WO5 _L_(6) -#define PINMUX_PC11G_TCC1_WO5 ((PIN_PC11G_TCC1_WO5 << 16) | MUX_PC11G_TCC1_WO5) -#define PORT_PC11G_TCC1_WO5 (_UL_(1) << 11) -#define PIN_PA21F_TCC1_WO5 _L_(21) /**< \brief TCC1 signal: WO5 on PA21 mux F */ -#define MUX_PA21F_TCC1_WO5 _L_(5) -#define PINMUX_PA21F_TCC1_WO5 ((PIN_PA21F_TCC1_WO5 << 16) | MUX_PA21F_TCC1_WO5) -#define PORT_PA21F_TCC1_WO5 (_UL_(1) << 21) -#define PIN_PA10G_TCC1_WO6 _L_(10) /**< \brief TCC1 signal: WO6 on PA10 mux G */ -#define MUX_PA10G_TCC1_WO6 _L_(6) -#define PINMUX_PA10G_TCC1_WO6 ((PIN_PA10G_TCC1_WO6 << 16) | MUX_PA10G_TCC1_WO6) -#define PORT_PA10G_TCC1_WO6 (_UL_(1) << 10) -#define PIN_PC12G_TCC1_WO6 _L_(76) /**< \brief TCC1 signal: WO6 on PC12 mux G */ -#define MUX_PC12G_TCC1_WO6 _L_(6) -#define PINMUX_PC12G_TCC1_WO6 ((PIN_PC12G_TCC1_WO6 << 16) | MUX_PC12G_TCC1_WO6) -#define PORT_PC12G_TCC1_WO6 (_UL_(1) << 12) -#define PIN_PA22F_TCC1_WO6 _L_(22) /**< \brief TCC1 signal: WO6 on PA22 mux F */ -#define MUX_PA22F_TCC1_WO6 _L_(5) -#define PINMUX_PA22F_TCC1_WO6 ((PIN_PA22F_TCC1_WO6 << 16) | MUX_PA22F_TCC1_WO6) -#define PORT_PA22F_TCC1_WO6 (_UL_(1) << 22) -#define PIN_PA11G_TCC1_WO7 _L_(11) /**< \brief TCC1 signal: WO7 on PA11 mux G */ -#define MUX_PA11G_TCC1_WO7 _L_(6) -#define PINMUX_PA11G_TCC1_WO7 ((PIN_PA11G_TCC1_WO7 << 16) | MUX_PA11G_TCC1_WO7) -#define PORT_PA11G_TCC1_WO7 (_UL_(1) << 11) -#define PIN_PC13G_TCC1_WO7 _L_(77) /**< \brief TCC1 signal: WO7 on PC13 mux G */ -#define MUX_PC13G_TCC1_WO7 _L_(6) -#define PINMUX_PC13G_TCC1_WO7 ((PIN_PC13G_TCC1_WO7 << 16) | MUX_PC13G_TCC1_WO7) -#define PORT_PC13G_TCC1_WO7 (_UL_(1) << 13) -#define PIN_PA23F_TCC1_WO7 _L_(23) /**< \brief TCC1 signal: WO7 on PA23 mux F */ -#define MUX_PA23F_TCC1_WO7 _L_(5) -#define PINMUX_PA23F_TCC1_WO7 ((PIN_PA23F_TCC1_WO7 << 16) | MUX_PA23F_TCC1_WO7) -#define PORT_PA23F_TCC1_WO7 (_UL_(1) << 23) -/* ========== PORT definition for TC2 peripheral ========== */ -#define PIN_PA12E_TC2_WO0 _L_(12) /**< \brief TC2 signal: WO0 on PA12 mux E */ -#define MUX_PA12E_TC2_WO0 _L_(4) -#define PINMUX_PA12E_TC2_WO0 ((PIN_PA12E_TC2_WO0 << 16) | MUX_PA12E_TC2_WO0) -#define PORT_PA12E_TC2_WO0 (_UL_(1) << 12) -#define PIN_PA16E_TC2_WO0 _L_(16) /**< \brief TC2 signal: WO0 on PA16 mux E */ -#define MUX_PA16E_TC2_WO0 _L_(4) -#define PINMUX_PA16E_TC2_WO0 ((PIN_PA16E_TC2_WO0 << 16) | MUX_PA16E_TC2_WO0) -#define PORT_PA16E_TC2_WO0 (_UL_(1) << 16) -#define PIN_PA00E_TC2_WO0 _L_(0) /**< \brief TC2 signal: WO0 on PA00 mux E */ -#define MUX_PA00E_TC2_WO0 _L_(4) -#define PINMUX_PA00E_TC2_WO0 ((PIN_PA00E_TC2_WO0 << 16) | MUX_PA00E_TC2_WO0) -#define PORT_PA00E_TC2_WO0 (_UL_(1) << 0) -#define PIN_PA01E_TC2_WO1 _L_(1) /**< \brief TC2 signal: WO1 on PA01 mux E */ -#define MUX_PA01E_TC2_WO1 _L_(4) -#define PINMUX_PA01E_TC2_WO1 ((PIN_PA01E_TC2_WO1 << 16) | MUX_PA01E_TC2_WO1) -#define PORT_PA01E_TC2_WO1 (_UL_(1) << 1) -#define PIN_PA13E_TC2_WO1 _L_(13) /**< \brief TC2 signal: WO1 on PA13 mux E */ -#define MUX_PA13E_TC2_WO1 _L_(4) -#define PINMUX_PA13E_TC2_WO1 ((PIN_PA13E_TC2_WO1 << 16) | MUX_PA13E_TC2_WO1) -#define PORT_PA13E_TC2_WO1 (_UL_(1) << 13) -#define PIN_PA17E_TC2_WO1 _L_(17) /**< \brief TC2 signal: WO1 on PA17 mux E */ -#define MUX_PA17E_TC2_WO1 _L_(4) -#define PINMUX_PA17E_TC2_WO1 ((PIN_PA17E_TC2_WO1 << 16) | MUX_PA17E_TC2_WO1) -#define PORT_PA17E_TC2_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC3 peripheral ========== */ -#define PIN_PA18E_TC3_WO0 _L_(18) /**< \brief TC3 signal: WO0 on PA18 mux E */ -#define MUX_PA18E_TC3_WO0 _L_(4) -#define PINMUX_PA18E_TC3_WO0 ((PIN_PA18E_TC3_WO0 << 16) | MUX_PA18E_TC3_WO0) -#define PORT_PA18E_TC3_WO0 (_UL_(1) << 18) -#define PIN_PA14E_TC3_WO0 _L_(14) /**< \brief TC3 signal: WO0 on PA14 mux E */ -#define MUX_PA14E_TC3_WO0 _L_(4) -#define PINMUX_PA14E_TC3_WO0 ((PIN_PA14E_TC3_WO0 << 16) | MUX_PA14E_TC3_WO0) -#define PORT_PA14E_TC3_WO0 (_UL_(1) << 14) -#define PIN_PA15E_TC3_WO1 _L_(15) /**< \brief TC3 signal: WO1 on PA15 mux E */ -#define MUX_PA15E_TC3_WO1 _L_(4) -#define PINMUX_PA15E_TC3_WO1 ((PIN_PA15E_TC3_WO1 << 16) | MUX_PA15E_TC3_WO1) -#define PORT_PA15E_TC3_WO1 (_UL_(1) << 15) -#define PIN_PA19E_TC3_WO1 _L_(19) /**< \brief TC3 signal: WO1 on PA19 mux E */ -#define MUX_PA19E_TC3_WO1 _L_(4) -#define PINMUX_PA19E_TC3_WO1 ((PIN_PA19E_TC3_WO1 << 16) | MUX_PA19E_TC3_WO1) -#define PORT_PA19E_TC3_WO1 (_UL_(1) << 19) -/* ========== PORT definition for CAN0 peripheral ========== */ -#define PIN_PA23I_CAN0_RX _L_(23) /**< \brief CAN0 signal: RX on PA23 mux I */ -#define MUX_PA23I_CAN0_RX _L_(8) -#define PINMUX_PA23I_CAN0_RX ((PIN_PA23I_CAN0_RX << 16) | MUX_PA23I_CAN0_RX) -#define PORT_PA23I_CAN0_RX (_UL_(1) << 23) -#define PIN_PA25I_CAN0_RX _L_(25) /**< \brief CAN0 signal: RX on PA25 mux I */ -#define MUX_PA25I_CAN0_RX _L_(8) -#define PINMUX_PA25I_CAN0_RX ((PIN_PA25I_CAN0_RX << 16) | MUX_PA25I_CAN0_RX) -#define PORT_PA25I_CAN0_RX (_UL_(1) << 25) -#define PIN_PA22I_CAN0_TX _L_(22) /**< \brief CAN0 signal: TX on PA22 mux I */ -#define MUX_PA22I_CAN0_TX _L_(8) -#define PINMUX_PA22I_CAN0_TX ((PIN_PA22I_CAN0_TX << 16) | MUX_PA22I_CAN0_TX) -#define PORT_PA22I_CAN0_TX (_UL_(1) << 22) -#define PIN_PA24I_CAN0_TX _L_(24) /**< \brief CAN0 signal: TX on PA24 mux I */ -#define MUX_PA24I_CAN0_TX _L_(8) -#define PINMUX_PA24I_CAN0_TX ((PIN_PA24I_CAN0_TX << 16) | MUX_PA24I_CAN0_TX) -#define PORT_PA24I_CAN0_TX (_UL_(1) << 24) -/* ========== PORT definition for CAN1 peripheral ========== */ -#define PIN_PB13H_CAN1_RX _L_(45) /**< \brief CAN1 signal: RX on PB13 mux H */ -#define MUX_PB13H_CAN1_RX _L_(7) -#define PINMUX_PB13H_CAN1_RX ((PIN_PB13H_CAN1_RX << 16) | MUX_PB13H_CAN1_RX) -#define PORT_PB13H_CAN1_RX (_UL_(1) << 13) -#define PIN_PB15H_CAN1_RX _L_(47) /**< \brief CAN1 signal: RX on PB15 mux H */ -#define MUX_PB15H_CAN1_RX _L_(7) -#define PINMUX_PB15H_CAN1_RX ((PIN_PB15H_CAN1_RX << 16) | MUX_PB15H_CAN1_RX) -#define PORT_PB15H_CAN1_RX (_UL_(1) << 15) -#define PIN_PB12H_CAN1_TX _L_(44) /**< \brief CAN1 signal: TX on PB12 mux H */ -#define MUX_PB12H_CAN1_TX _L_(7) -#define PINMUX_PB12H_CAN1_TX ((PIN_PB12H_CAN1_TX << 16) | MUX_PB12H_CAN1_TX) -#define PORT_PB12H_CAN1_TX (_UL_(1) << 12) -#define PIN_PB14H_CAN1_TX _L_(46) /**< \brief CAN1 signal: TX on PB14 mux H */ -#define MUX_PB14H_CAN1_TX _L_(7) -#define PINMUX_PB14H_CAN1_TX ((PIN_PB14H_CAN1_TX << 16) | MUX_PB14H_CAN1_TX) -#define PORT_PB14H_CAN1_TX (_UL_(1) << 14) -/* ========== PORT definition for GMAC peripheral ========== */ -#define PIN_PC21L_GMAC_GCOL _L_(85) /**< \brief GMAC signal: GCOL on PC21 mux L */ -#define MUX_PC21L_GMAC_GCOL _L_(11) -#define PINMUX_PC21L_GMAC_GCOL ((PIN_PC21L_GMAC_GCOL << 16) | MUX_PC21L_GMAC_GCOL) -#define PORT_PC21L_GMAC_GCOL (_UL_(1) << 21) -#define PIN_PA16L_GMAC_GCRS _L_(16) /**< \brief GMAC signal: GCRS on PA16 mux L */ -#define MUX_PA16L_GMAC_GCRS _L_(11) -#define PINMUX_PA16L_GMAC_GCRS ((PIN_PA16L_GMAC_GCRS << 16) | MUX_PA16L_GMAC_GCRS) -#define PORT_PA16L_GMAC_GCRS (_UL_(1) << 16) -#define PIN_PA20L_GMAC_GMDC _L_(20) /**< \brief GMAC signal: GMDC on PA20 mux L */ -#define MUX_PA20L_GMAC_GMDC _L_(11) -#define PINMUX_PA20L_GMAC_GMDC ((PIN_PA20L_GMAC_GMDC << 16) | MUX_PA20L_GMAC_GMDC) -#define PORT_PA20L_GMAC_GMDC (_UL_(1) << 20) -#define PIN_PB14L_GMAC_GMDC _L_(46) /**< \brief GMAC signal: GMDC on PB14 mux L */ -#define MUX_PB14L_GMAC_GMDC _L_(11) -#define PINMUX_PB14L_GMAC_GMDC ((PIN_PB14L_GMAC_GMDC << 16) | MUX_PB14L_GMAC_GMDC) -#define PORT_PB14L_GMAC_GMDC (_UL_(1) << 14) -#define PIN_PC11L_GMAC_GMDC _L_(75) /**< \brief GMAC signal: GMDC on PC11 mux L */ -#define MUX_PC11L_GMAC_GMDC _L_(11) -#define PINMUX_PC11L_GMAC_GMDC ((PIN_PC11L_GMAC_GMDC << 16) | MUX_PC11L_GMAC_GMDC) -#define PORT_PC11L_GMAC_GMDC (_UL_(1) << 11) -#define PIN_PA21L_GMAC_GMDIO _L_(21) /**< \brief GMAC signal: GMDIO on PA21 mux L */ -#define MUX_PA21L_GMAC_GMDIO _L_(11) -#define PINMUX_PA21L_GMAC_GMDIO ((PIN_PA21L_GMAC_GMDIO << 16) | MUX_PA21L_GMAC_GMDIO) -#define PORT_PA21L_GMAC_GMDIO (_UL_(1) << 21) -#define PIN_PB15L_GMAC_GMDIO _L_(47) /**< \brief GMAC signal: GMDIO on PB15 mux L */ -#define MUX_PB15L_GMAC_GMDIO _L_(11) -#define PINMUX_PB15L_GMAC_GMDIO ((PIN_PB15L_GMAC_GMDIO << 16) | MUX_PB15L_GMAC_GMDIO) -#define PORT_PB15L_GMAC_GMDIO (_UL_(1) << 15) -#define PIN_PC12L_GMAC_GMDIO _L_(76) /**< \brief GMAC signal: GMDIO on PC12 mux L */ -#define MUX_PC12L_GMAC_GMDIO _L_(11) -#define PINMUX_PC12L_GMAC_GMDIO ((PIN_PC12L_GMAC_GMDIO << 16) | MUX_PC12L_GMAC_GMDIO) -#define PORT_PC12L_GMAC_GMDIO (_UL_(1) << 12) -#define PIN_PA13L_GMAC_GRX0 _L_(13) /**< \brief GMAC signal: GRX0 on PA13 mux L */ -#define MUX_PA13L_GMAC_GRX0 _L_(11) -#define PINMUX_PA13L_GMAC_GRX0 ((PIN_PA13L_GMAC_GRX0 << 16) | MUX_PA13L_GMAC_GRX0) -#define PORT_PA13L_GMAC_GRX0 (_UL_(1) << 13) -#define PIN_PA12L_GMAC_GRX1 _L_(12) /**< \brief GMAC signal: GRX1 on PA12 mux L */ -#define MUX_PA12L_GMAC_GRX1 _L_(11) -#define PINMUX_PA12L_GMAC_GRX1 ((PIN_PA12L_GMAC_GRX1 << 16) | MUX_PA12L_GMAC_GRX1) -#define PORT_PA12L_GMAC_GRX1 (_UL_(1) << 12) -#define PIN_PC15L_GMAC_GRX2 _L_(79) /**< \brief GMAC signal: GRX2 on PC15 mux L */ -#define MUX_PC15L_GMAC_GRX2 _L_(11) -#define PINMUX_PC15L_GMAC_GRX2 ((PIN_PC15L_GMAC_GRX2 << 16) | MUX_PC15L_GMAC_GRX2) -#define PORT_PC15L_GMAC_GRX2 (_UL_(1) << 15) -#define PIN_PC14L_GMAC_GRX3 _L_(78) /**< \brief GMAC signal: GRX3 on PC14 mux L */ -#define MUX_PC14L_GMAC_GRX3 _L_(11) -#define PINMUX_PC14L_GMAC_GRX3 ((PIN_PC14L_GMAC_GRX3 << 16) | MUX_PC14L_GMAC_GRX3) -#define PORT_PC14L_GMAC_GRX3 (_UL_(1) << 14) -#define PIN_PC18L_GMAC_GRXCK _L_(82) /**< \brief GMAC signal: GRXCK on PC18 mux L */ -#define MUX_PC18L_GMAC_GRXCK _L_(11) -#define PINMUX_PC18L_GMAC_GRXCK ((PIN_PC18L_GMAC_GRXCK << 16) | MUX_PC18L_GMAC_GRXCK) -#define PORT_PC18L_GMAC_GRXCK (_UL_(1) << 18) -#define PIN_PC20L_GMAC_GRXDV _L_(84) /**< \brief GMAC signal: GRXDV on PC20 mux L */ -#define MUX_PC20L_GMAC_GRXDV _L_(11) -#define PINMUX_PC20L_GMAC_GRXDV ((PIN_PC20L_GMAC_GRXDV << 16) | MUX_PC20L_GMAC_GRXDV) -#define PORT_PC20L_GMAC_GRXDV (_UL_(1) << 20) -#define PIN_PA15L_GMAC_GRXER _L_(15) /**< \brief GMAC signal: GRXER on PA15 mux L */ -#define MUX_PA15L_GMAC_GRXER _L_(11) -#define PINMUX_PA15L_GMAC_GRXER ((PIN_PA15L_GMAC_GRXER << 16) | MUX_PA15L_GMAC_GRXER) -#define PORT_PA15L_GMAC_GRXER (_UL_(1) << 15) -#define PIN_PA18L_GMAC_GTX0 _L_(18) /**< \brief GMAC signal: GTX0 on PA18 mux L */ -#define MUX_PA18L_GMAC_GTX0 _L_(11) -#define PINMUX_PA18L_GMAC_GTX0 ((PIN_PA18L_GMAC_GTX0 << 16) | MUX_PA18L_GMAC_GTX0) -#define PORT_PA18L_GMAC_GTX0 (_UL_(1) << 18) -#define PIN_PA19L_GMAC_GTX1 _L_(19) /**< \brief GMAC signal: GTX1 on PA19 mux L */ -#define MUX_PA19L_GMAC_GTX1 _L_(11) -#define PINMUX_PA19L_GMAC_GTX1 ((PIN_PA19L_GMAC_GTX1 << 16) | MUX_PA19L_GMAC_GTX1) -#define PORT_PA19L_GMAC_GTX1 (_UL_(1) << 19) -#define PIN_PC16L_GMAC_GTX2 _L_(80) /**< \brief GMAC signal: GTX2 on PC16 mux L */ -#define MUX_PC16L_GMAC_GTX2 _L_(11) -#define PINMUX_PC16L_GMAC_GTX2 ((PIN_PC16L_GMAC_GTX2 << 16) | MUX_PC16L_GMAC_GTX2) -#define PORT_PC16L_GMAC_GTX2 (_UL_(1) << 16) -#define PIN_PC17L_GMAC_GTX3 _L_(81) /**< \brief GMAC signal: GTX3 on PC17 mux L */ -#define MUX_PC17L_GMAC_GTX3 _L_(11) -#define PINMUX_PC17L_GMAC_GTX3 ((PIN_PC17L_GMAC_GTX3 << 16) | MUX_PC17L_GMAC_GTX3) -#define PORT_PC17L_GMAC_GTX3 (_UL_(1) << 17) -#define PIN_PA14L_GMAC_GTXCK _L_(14) /**< \brief GMAC signal: GTXCK on PA14 mux L */ -#define MUX_PA14L_GMAC_GTXCK _L_(11) -#define PINMUX_PA14L_GMAC_GTXCK ((PIN_PA14L_GMAC_GTXCK << 16) | MUX_PA14L_GMAC_GTXCK) -#define PORT_PA14L_GMAC_GTXCK (_UL_(1) << 14) -#define PIN_PA17L_GMAC_GTXEN _L_(17) /**< \brief GMAC signal: GTXEN on PA17 mux L */ -#define MUX_PA17L_GMAC_GTXEN _L_(11) -#define PINMUX_PA17L_GMAC_GTXEN ((PIN_PA17L_GMAC_GTXEN << 16) | MUX_PA17L_GMAC_GTXEN) -#define PORT_PA17L_GMAC_GTXEN (_UL_(1) << 17) -#define PIN_PC19L_GMAC_GTXER _L_(83) /**< \brief GMAC signal: GTXER on PC19 mux L */ -#define MUX_PC19L_GMAC_GTXER _L_(11) -#define PINMUX_PC19L_GMAC_GTXER ((PIN_PC19L_GMAC_GTXER << 16) | MUX_PC19L_GMAC_GTXER) -#define PORT_PC19L_GMAC_GTXER (_UL_(1) << 19) -/* ========== PORT definition for TCC2 peripheral ========== */ -#define PIN_PA14F_TCC2_WO0 _L_(14) /**< \brief TCC2 signal: WO0 on PA14 mux F */ -#define MUX_PA14F_TCC2_WO0 _L_(5) -#define PINMUX_PA14F_TCC2_WO0 ((PIN_PA14F_TCC2_WO0 << 16) | MUX_PA14F_TCC2_WO0) -#define PORT_PA14F_TCC2_WO0 (_UL_(1) << 14) -#define PIN_PA30F_TCC2_WO0 _L_(30) /**< \brief TCC2 signal: WO0 on PA30 mux F */ -#define MUX_PA30F_TCC2_WO0 _L_(5) -#define PINMUX_PA30F_TCC2_WO0 ((PIN_PA30F_TCC2_WO0 << 16) | MUX_PA30F_TCC2_WO0) -#define PORT_PA30F_TCC2_WO0 (_UL_(1) << 30) -#define PIN_PA15F_TCC2_WO1 _L_(15) /**< \brief TCC2 signal: WO1 on PA15 mux F */ -#define MUX_PA15F_TCC2_WO1 _L_(5) -#define PINMUX_PA15F_TCC2_WO1 ((PIN_PA15F_TCC2_WO1 << 16) | MUX_PA15F_TCC2_WO1) -#define PORT_PA15F_TCC2_WO1 (_UL_(1) << 15) -#define PIN_PA31F_TCC2_WO1 _L_(31) /**< \brief TCC2 signal: WO1 on PA31 mux F */ -#define MUX_PA31F_TCC2_WO1 _L_(5) -#define PINMUX_PA31F_TCC2_WO1 ((PIN_PA31F_TCC2_WO1 << 16) | MUX_PA31F_TCC2_WO1) -#define PORT_PA31F_TCC2_WO1 (_UL_(1) << 31) -#define PIN_PA24F_TCC2_WO2 _L_(24) /**< \brief TCC2 signal: WO2 on PA24 mux F */ -#define MUX_PA24F_TCC2_WO2 _L_(5) -#define PINMUX_PA24F_TCC2_WO2 ((PIN_PA24F_TCC2_WO2 << 16) | MUX_PA24F_TCC2_WO2) -#define PORT_PA24F_TCC2_WO2 (_UL_(1) << 24) -#define PIN_PB02F_TCC2_WO2 _L_(34) /**< \brief TCC2 signal: WO2 on PB02 mux F */ -#define MUX_PB02F_TCC2_WO2 _L_(5) -#define PINMUX_PB02F_TCC2_WO2 ((PIN_PB02F_TCC2_WO2 << 16) | MUX_PB02F_TCC2_WO2) -#define PORT_PB02F_TCC2_WO2 (_UL_(1) << 2) -/* ========== PORT definition for TCC3 peripheral ========== */ -#define PIN_PB12F_TCC3_WO0 _L_(44) /**< \brief TCC3 signal: WO0 on PB12 mux F */ -#define MUX_PB12F_TCC3_WO0 _L_(5) -#define PINMUX_PB12F_TCC3_WO0 ((PIN_PB12F_TCC3_WO0 << 16) | MUX_PB12F_TCC3_WO0) -#define PORT_PB12F_TCC3_WO0 (_UL_(1) << 12) -#define PIN_PB16F_TCC3_WO0 _L_(48) /**< \brief TCC3 signal: WO0 on PB16 mux F */ -#define MUX_PB16F_TCC3_WO0 _L_(5) -#define PINMUX_PB16F_TCC3_WO0 ((PIN_PB16F_TCC3_WO0 << 16) | MUX_PB16F_TCC3_WO0) -#define PORT_PB16F_TCC3_WO0 (_UL_(1) << 16) -#define PIN_PB13F_TCC3_WO1 _L_(45) /**< \brief TCC3 signal: WO1 on PB13 mux F */ -#define MUX_PB13F_TCC3_WO1 _L_(5) -#define PINMUX_PB13F_TCC3_WO1 ((PIN_PB13F_TCC3_WO1 << 16) | MUX_PB13F_TCC3_WO1) -#define PORT_PB13F_TCC3_WO1 (_UL_(1) << 13) -#define PIN_PB17F_TCC3_WO1 _L_(49) /**< \brief TCC3 signal: WO1 on PB17 mux F */ -#define MUX_PB17F_TCC3_WO1 _L_(5) -#define PINMUX_PB17F_TCC3_WO1 ((PIN_PB17F_TCC3_WO1 << 16) | MUX_PB17F_TCC3_WO1) -#define PORT_PB17F_TCC3_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC4 peripheral ========== */ -#define PIN_PA22E_TC4_WO0 _L_(22) /**< \brief TC4 signal: WO0 on PA22 mux E */ -#define MUX_PA22E_TC4_WO0 _L_(4) -#define PINMUX_PA22E_TC4_WO0 ((PIN_PA22E_TC4_WO0 << 16) | MUX_PA22E_TC4_WO0) -#define PORT_PA22E_TC4_WO0 (_UL_(1) << 22) -#define PIN_PB08E_TC4_WO0 _L_(40) /**< \brief TC4 signal: WO0 on PB08 mux E */ -#define MUX_PB08E_TC4_WO0 _L_(4) -#define PINMUX_PB08E_TC4_WO0 ((PIN_PB08E_TC4_WO0 << 16) | MUX_PB08E_TC4_WO0) -#define PORT_PB08E_TC4_WO0 (_UL_(1) << 8) -#define PIN_PB12E_TC4_WO0 _L_(44) /**< \brief TC4 signal: WO0 on PB12 mux E */ -#define MUX_PB12E_TC4_WO0 _L_(4) -#define PINMUX_PB12E_TC4_WO0 ((PIN_PB12E_TC4_WO0 << 16) | MUX_PB12E_TC4_WO0) -#define PORT_PB12E_TC4_WO0 (_UL_(1) << 12) -#define PIN_PA23E_TC4_WO1 _L_(23) /**< \brief TC4 signal: WO1 on PA23 mux E */ -#define MUX_PA23E_TC4_WO1 _L_(4) -#define PINMUX_PA23E_TC4_WO1 ((PIN_PA23E_TC4_WO1 << 16) | MUX_PA23E_TC4_WO1) -#define PORT_PA23E_TC4_WO1 (_UL_(1) << 23) -#define PIN_PB09E_TC4_WO1 _L_(41) /**< \brief TC4 signal: WO1 on PB09 mux E */ -#define MUX_PB09E_TC4_WO1 _L_(4) -#define PINMUX_PB09E_TC4_WO1 ((PIN_PB09E_TC4_WO1 << 16) | MUX_PB09E_TC4_WO1) -#define PORT_PB09E_TC4_WO1 (_UL_(1) << 9) -#define PIN_PB13E_TC4_WO1 _L_(45) /**< \brief TC4 signal: WO1 on PB13 mux E */ -#define MUX_PB13E_TC4_WO1 _L_(4) -#define PINMUX_PB13E_TC4_WO1 ((PIN_PB13E_TC4_WO1 << 16) | MUX_PB13E_TC4_WO1) -#define PORT_PB13E_TC4_WO1 (_UL_(1) << 13) -/* ========== PORT definition for TC5 peripheral ========== */ -#define PIN_PA24E_TC5_WO0 _L_(24) /**< \brief TC5 signal: WO0 on PA24 mux E */ -#define MUX_PA24E_TC5_WO0 _L_(4) -#define PINMUX_PA24E_TC5_WO0 ((PIN_PA24E_TC5_WO0 << 16) | MUX_PA24E_TC5_WO0) -#define PORT_PA24E_TC5_WO0 (_UL_(1) << 24) -#define PIN_PB10E_TC5_WO0 _L_(42) /**< \brief TC5 signal: WO0 on PB10 mux E */ -#define MUX_PB10E_TC5_WO0 _L_(4) -#define PINMUX_PB10E_TC5_WO0 ((PIN_PB10E_TC5_WO0 << 16) | MUX_PB10E_TC5_WO0) -#define PORT_PB10E_TC5_WO0 (_UL_(1) << 10) -#define PIN_PB14E_TC5_WO0 _L_(46) /**< \brief TC5 signal: WO0 on PB14 mux E */ -#define MUX_PB14E_TC5_WO0 _L_(4) -#define PINMUX_PB14E_TC5_WO0 ((PIN_PB14E_TC5_WO0 << 16) | MUX_PB14E_TC5_WO0) -#define PORT_PB14E_TC5_WO0 (_UL_(1) << 14) -#define PIN_PA25E_TC5_WO1 _L_(25) /**< \brief TC5 signal: WO1 on PA25 mux E */ -#define MUX_PA25E_TC5_WO1 _L_(4) -#define PINMUX_PA25E_TC5_WO1 ((PIN_PA25E_TC5_WO1 << 16) | MUX_PA25E_TC5_WO1) -#define PORT_PA25E_TC5_WO1 (_UL_(1) << 25) -#define PIN_PB11E_TC5_WO1 _L_(43) /**< \brief TC5 signal: WO1 on PB11 mux E */ -#define MUX_PB11E_TC5_WO1 _L_(4) -#define PINMUX_PB11E_TC5_WO1 ((PIN_PB11E_TC5_WO1 << 16) | MUX_PB11E_TC5_WO1) -#define PORT_PB11E_TC5_WO1 (_UL_(1) << 11) -#define PIN_PB15E_TC5_WO1 _L_(47) /**< \brief TC5 signal: WO1 on PB15 mux E */ -#define MUX_PB15E_TC5_WO1 _L_(4) -#define PINMUX_PB15E_TC5_WO1 ((PIN_PB15E_TC5_WO1 << 16) | MUX_PB15E_TC5_WO1) -#define PORT_PB15E_TC5_WO1 (_UL_(1) << 15) -/* ========== PORT definition for PDEC peripheral ========== */ -#define PIN_PB18G_PDEC_QDI0 _L_(50) /**< \brief PDEC signal: QDI0 on PB18 mux G */ -#define MUX_PB18G_PDEC_QDI0 _L_(6) -#define PINMUX_PB18G_PDEC_QDI0 ((PIN_PB18G_PDEC_QDI0 << 16) | MUX_PB18G_PDEC_QDI0) -#define PORT_PB18G_PDEC_QDI0 (_UL_(1) << 18) -#define PIN_PB23G_PDEC_QDI0 _L_(55) /**< \brief PDEC signal: QDI0 on PB23 mux G */ -#define MUX_PB23G_PDEC_QDI0 _L_(6) -#define PINMUX_PB23G_PDEC_QDI0 ((PIN_PB23G_PDEC_QDI0 << 16) | MUX_PB23G_PDEC_QDI0) -#define PORT_PB23G_PDEC_QDI0 (_UL_(1) << 23) -#define PIN_PC16G_PDEC_QDI0 _L_(80) /**< \brief PDEC signal: QDI0 on PC16 mux G */ -#define MUX_PC16G_PDEC_QDI0 _L_(6) -#define PINMUX_PC16G_PDEC_QDI0 ((PIN_PC16G_PDEC_QDI0 << 16) | MUX_PC16G_PDEC_QDI0) -#define PORT_PC16G_PDEC_QDI0 (_UL_(1) << 16) -#define PIN_PA24G_PDEC_QDI0 _L_(24) /**< \brief PDEC signal: QDI0 on PA24 mux G */ -#define MUX_PA24G_PDEC_QDI0 _L_(6) -#define PINMUX_PA24G_PDEC_QDI0 ((PIN_PA24G_PDEC_QDI0 << 16) | MUX_PA24G_PDEC_QDI0) -#define PORT_PA24G_PDEC_QDI0 (_UL_(1) << 24) -#define PIN_PB19G_PDEC_QDI1 _L_(51) /**< \brief PDEC signal: QDI1 on PB19 mux G */ -#define MUX_PB19G_PDEC_QDI1 _L_(6) -#define PINMUX_PB19G_PDEC_QDI1 ((PIN_PB19G_PDEC_QDI1 << 16) | MUX_PB19G_PDEC_QDI1) -#define PORT_PB19G_PDEC_QDI1 (_UL_(1) << 19) -#define PIN_PB24G_PDEC_QDI1 _L_(56) /**< \brief PDEC signal: QDI1 on PB24 mux G */ -#define MUX_PB24G_PDEC_QDI1 _L_(6) -#define PINMUX_PB24G_PDEC_QDI1 ((PIN_PB24G_PDEC_QDI1 << 16) | MUX_PB24G_PDEC_QDI1) -#define PORT_PB24G_PDEC_QDI1 (_UL_(1) << 24) -#define PIN_PC17G_PDEC_QDI1 _L_(81) /**< \brief PDEC signal: QDI1 on PC17 mux G */ -#define MUX_PC17G_PDEC_QDI1 _L_(6) -#define PINMUX_PC17G_PDEC_QDI1 ((PIN_PC17G_PDEC_QDI1 << 16) | MUX_PC17G_PDEC_QDI1) -#define PORT_PC17G_PDEC_QDI1 (_UL_(1) << 17) -#define PIN_PA25G_PDEC_QDI1 _L_(25) /**< \brief PDEC signal: QDI1 on PA25 mux G */ -#define MUX_PA25G_PDEC_QDI1 _L_(6) -#define PINMUX_PA25G_PDEC_QDI1 ((PIN_PA25G_PDEC_QDI1 << 16) | MUX_PA25G_PDEC_QDI1) -#define PORT_PA25G_PDEC_QDI1 (_UL_(1) << 25) -#define PIN_PB20G_PDEC_QDI2 _L_(52) /**< \brief PDEC signal: QDI2 on PB20 mux G */ -#define MUX_PB20G_PDEC_QDI2 _L_(6) -#define PINMUX_PB20G_PDEC_QDI2 ((PIN_PB20G_PDEC_QDI2 << 16) | MUX_PB20G_PDEC_QDI2) -#define PORT_PB20G_PDEC_QDI2 (_UL_(1) << 20) -#define PIN_PB25G_PDEC_QDI2 _L_(57) /**< \brief PDEC signal: QDI2 on PB25 mux G */ -#define MUX_PB25G_PDEC_QDI2 _L_(6) -#define PINMUX_PB25G_PDEC_QDI2 ((PIN_PB25G_PDEC_QDI2 << 16) | MUX_PB25G_PDEC_QDI2) -#define PORT_PB25G_PDEC_QDI2 (_UL_(1) << 25) -#define PIN_PC18G_PDEC_QDI2 _L_(82) /**< \brief PDEC signal: QDI2 on PC18 mux G */ -#define MUX_PC18G_PDEC_QDI2 _L_(6) -#define PINMUX_PC18G_PDEC_QDI2 ((PIN_PC18G_PDEC_QDI2 << 16) | MUX_PC18G_PDEC_QDI2) -#define PORT_PC18G_PDEC_QDI2 (_UL_(1) << 18) -#define PIN_PB22G_PDEC_QDI2 _L_(54) /**< \brief PDEC signal: QDI2 on PB22 mux G */ -#define MUX_PB22G_PDEC_QDI2 _L_(6) -#define PINMUX_PB22G_PDEC_QDI2 ((PIN_PB22G_PDEC_QDI2 << 16) | MUX_PB22G_PDEC_QDI2) -#define PORT_PB22G_PDEC_QDI2 (_UL_(1) << 22) -/* ========== PORT definition for AC peripheral ========== */ -#define PIN_PA04B_AC_AIN0 _L_(4) /**< \brief AC signal: AIN0 on PA04 mux B */ -#define MUX_PA04B_AC_AIN0 _L_(1) -#define PINMUX_PA04B_AC_AIN0 ((PIN_PA04B_AC_AIN0 << 16) | MUX_PA04B_AC_AIN0) -#define PORT_PA04B_AC_AIN0 (_UL_(1) << 4) -#define PIN_PA05B_AC_AIN1 _L_(5) /**< \brief AC signal: AIN1 on PA05 mux B */ -#define MUX_PA05B_AC_AIN1 _L_(1) -#define PINMUX_PA05B_AC_AIN1 ((PIN_PA05B_AC_AIN1 << 16) | MUX_PA05B_AC_AIN1) -#define PORT_PA05B_AC_AIN1 (_UL_(1) << 5) -#define PIN_PA06B_AC_AIN2 _L_(6) /**< \brief AC signal: AIN2 on PA06 mux B */ -#define MUX_PA06B_AC_AIN2 _L_(1) -#define PINMUX_PA06B_AC_AIN2 ((PIN_PA06B_AC_AIN2 << 16) | MUX_PA06B_AC_AIN2) -#define PORT_PA06B_AC_AIN2 (_UL_(1) << 6) -#define PIN_PA07B_AC_AIN3 _L_(7) /**< \brief AC signal: AIN3 on PA07 mux B */ -#define MUX_PA07B_AC_AIN3 _L_(1) -#define PINMUX_PA07B_AC_AIN3 ((PIN_PA07B_AC_AIN3 << 16) | MUX_PA07B_AC_AIN3) -#define PORT_PA07B_AC_AIN3 (_UL_(1) << 7) -#define PIN_PA12M_AC_CMP0 _L_(12) /**< \brief AC signal: CMP0 on PA12 mux M */ -#define MUX_PA12M_AC_CMP0 _L_(12) -#define PINMUX_PA12M_AC_CMP0 ((PIN_PA12M_AC_CMP0 << 16) | MUX_PA12M_AC_CMP0) -#define PORT_PA12M_AC_CMP0 (_UL_(1) << 12) -#define PIN_PA18M_AC_CMP0 _L_(18) /**< \brief AC signal: CMP0 on PA18 mux M */ -#define MUX_PA18M_AC_CMP0 _L_(12) -#define PINMUX_PA18M_AC_CMP0 ((PIN_PA18M_AC_CMP0 << 16) | MUX_PA18M_AC_CMP0) -#define PORT_PA18M_AC_CMP0 (_UL_(1) << 18) -#define PIN_PB24M_AC_CMP0 _L_(56) /**< \brief AC signal: CMP0 on PB24 mux M */ -#define MUX_PB24M_AC_CMP0 _L_(12) -#define PINMUX_PB24M_AC_CMP0 ((PIN_PB24M_AC_CMP0 << 16) | MUX_PB24M_AC_CMP0) -#define PORT_PB24M_AC_CMP0 (_UL_(1) << 24) -#define PIN_PA13M_AC_CMP1 _L_(13) /**< \brief AC signal: CMP1 on PA13 mux M */ -#define MUX_PA13M_AC_CMP1 _L_(12) -#define PINMUX_PA13M_AC_CMP1 ((PIN_PA13M_AC_CMP1 << 16) | MUX_PA13M_AC_CMP1) -#define PORT_PA13M_AC_CMP1 (_UL_(1) << 13) -#define PIN_PA19M_AC_CMP1 _L_(19) /**< \brief AC signal: CMP1 on PA19 mux M */ -#define MUX_PA19M_AC_CMP1 _L_(12) -#define PINMUX_PA19M_AC_CMP1 ((PIN_PA19M_AC_CMP1 << 16) | MUX_PA19M_AC_CMP1) -#define PORT_PA19M_AC_CMP1 (_UL_(1) << 19) -#define PIN_PB25M_AC_CMP1 _L_(57) /**< \brief AC signal: CMP1 on PB25 mux M */ -#define MUX_PB25M_AC_CMP1 _L_(12) -#define PINMUX_PB25M_AC_CMP1 ((PIN_PB25M_AC_CMP1 << 16) | MUX_PB25M_AC_CMP1) -#define PORT_PB25M_AC_CMP1 (_UL_(1) << 25) -/* ========== PORT definition for QSPI peripheral ========== */ -#define PIN_PB11H_QSPI_CS _L_(43) /**< \brief QSPI signal: CS on PB11 mux H */ -#define MUX_PB11H_QSPI_CS _L_(7) -#define PINMUX_PB11H_QSPI_CS ((PIN_PB11H_QSPI_CS << 16) | MUX_PB11H_QSPI_CS) -#define PORT_PB11H_QSPI_CS (_UL_(1) << 11) -#define PIN_PA08H_QSPI_DATA0 _L_(8) /**< \brief QSPI signal: DATA0 on PA08 mux H */ -#define MUX_PA08H_QSPI_DATA0 _L_(7) -#define PINMUX_PA08H_QSPI_DATA0 ((PIN_PA08H_QSPI_DATA0 << 16) | MUX_PA08H_QSPI_DATA0) -#define PORT_PA08H_QSPI_DATA0 (_UL_(1) << 8) -#define PIN_PA09H_QSPI_DATA1 _L_(9) /**< \brief QSPI signal: DATA1 on PA09 mux H */ -#define MUX_PA09H_QSPI_DATA1 _L_(7) -#define PINMUX_PA09H_QSPI_DATA1 ((PIN_PA09H_QSPI_DATA1 << 16) | MUX_PA09H_QSPI_DATA1) -#define PORT_PA09H_QSPI_DATA1 (_UL_(1) << 9) -#define PIN_PA10H_QSPI_DATA2 _L_(10) /**< \brief QSPI signal: DATA2 on PA10 mux H */ -#define MUX_PA10H_QSPI_DATA2 _L_(7) -#define PINMUX_PA10H_QSPI_DATA2 ((PIN_PA10H_QSPI_DATA2 << 16) | MUX_PA10H_QSPI_DATA2) -#define PORT_PA10H_QSPI_DATA2 (_UL_(1) << 10) -#define PIN_PA11H_QSPI_DATA3 _L_(11) /**< \brief QSPI signal: DATA3 on PA11 mux H */ -#define MUX_PA11H_QSPI_DATA3 _L_(7) -#define PINMUX_PA11H_QSPI_DATA3 ((PIN_PA11H_QSPI_DATA3 << 16) | MUX_PA11H_QSPI_DATA3) -#define PORT_PA11H_QSPI_DATA3 (_UL_(1) << 11) -#define PIN_PB10H_QSPI_SCK _L_(42) /**< \brief QSPI signal: SCK on PB10 mux H */ -#define MUX_PB10H_QSPI_SCK _L_(7) -#define PINMUX_PB10H_QSPI_SCK ((PIN_PB10H_QSPI_SCK << 16) | MUX_PB10H_QSPI_SCK) -#define PORT_PB10H_QSPI_SCK (_UL_(1) << 10) -/* ========== PORT definition for CCL peripheral ========== */ -#define PIN_PA04N_CCL_IN0 _L_(4) /**< \brief CCL signal: IN0 on PA04 mux N */ -#define MUX_PA04N_CCL_IN0 _L_(13) -#define PINMUX_PA04N_CCL_IN0 ((PIN_PA04N_CCL_IN0 << 16) | MUX_PA04N_CCL_IN0) -#define PORT_PA04N_CCL_IN0 (_UL_(1) << 4) -#define PIN_PA16N_CCL_IN0 _L_(16) /**< \brief CCL signal: IN0 on PA16 mux N */ -#define MUX_PA16N_CCL_IN0 _L_(13) -#define PINMUX_PA16N_CCL_IN0 ((PIN_PA16N_CCL_IN0 << 16) | MUX_PA16N_CCL_IN0) -#define PORT_PA16N_CCL_IN0 (_UL_(1) << 16) -#define PIN_PB22N_CCL_IN0 _L_(54) /**< \brief CCL signal: IN0 on PB22 mux N */ -#define MUX_PB22N_CCL_IN0 _L_(13) -#define PINMUX_PB22N_CCL_IN0 ((PIN_PB22N_CCL_IN0 << 16) | MUX_PB22N_CCL_IN0) -#define PORT_PB22N_CCL_IN0 (_UL_(1) << 22) -#define PIN_PA05N_CCL_IN1 _L_(5) /**< \brief CCL signal: IN1 on PA05 mux N */ -#define MUX_PA05N_CCL_IN1 _L_(13) -#define PINMUX_PA05N_CCL_IN1 ((PIN_PA05N_CCL_IN1 << 16) | MUX_PA05N_CCL_IN1) -#define PORT_PA05N_CCL_IN1 (_UL_(1) << 5) -#define PIN_PA17N_CCL_IN1 _L_(17) /**< \brief CCL signal: IN1 on PA17 mux N */ -#define MUX_PA17N_CCL_IN1 _L_(13) -#define PINMUX_PA17N_CCL_IN1 ((PIN_PA17N_CCL_IN1 << 16) | MUX_PA17N_CCL_IN1) -#define PORT_PA17N_CCL_IN1 (_UL_(1) << 17) -#define PIN_PB00N_CCL_IN1 _L_(32) /**< \brief CCL signal: IN1 on PB00 mux N */ -#define MUX_PB00N_CCL_IN1 _L_(13) -#define PINMUX_PB00N_CCL_IN1 ((PIN_PB00N_CCL_IN1 << 16) | MUX_PB00N_CCL_IN1) -#define PORT_PB00N_CCL_IN1 (_UL_(1) << 0) -#define PIN_PA06N_CCL_IN2 _L_(6) /**< \brief CCL signal: IN2 on PA06 mux N */ -#define MUX_PA06N_CCL_IN2 _L_(13) -#define PINMUX_PA06N_CCL_IN2 ((PIN_PA06N_CCL_IN2 << 16) | MUX_PA06N_CCL_IN2) -#define PORT_PA06N_CCL_IN2 (_UL_(1) << 6) -#define PIN_PA18N_CCL_IN2 _L_(18) /**< \brief CCL signal: IN2 on PA18 mux N */ -#define MUX_PA18N_CCL_IN2 _L_(13) -#define PINMUX_PA18N_CCL_IN2 ((PIN_PA18N_CCL_IN2 << 16) | MUX_PA18N_CCL_IN2) -#define PORT_PA18N_CCL_IN2 (_UL_(1) << 18) -#define PIN_PB01N_CCL_IN2 _L_(33) /**< \brief CCL signal: IN2 on PB01 mux N */ -#define MUX_PB01N_CCL_IN2 _L_(13) -#define PINMUX_PB01N_CCL_IN2 ((PIN_PB01N_CCL_IN2 << 16) | MUX_PB01N_CCL_IN2) -#define PORT_PB01N_CCL_IN2 (_UL_(1) << 1) -#define PIN_PA08N_CCL_IN3 _L_(8) /**< \brief CCL signal: IN3 on PA08 mux N */ -#define MUX_PA08N_CCL_IN3 _L_(13) -#define PINMUX_PA08N_CCL_IN3 ((PIN_PA08N_CCL_IN3 << 16) | MUX_PA08N_CCL_IN3) -#define PORT_PA08N_CCL_IN3 (_UL_(1) << 8) -#define PIN_PA30N_CCL_IN3 _L_(30) /**< \brief CCL signal: IN3 on PA30 mux N */ -#define MUX_PA30N_CCL_IN3 _L_(13) -#define PINMUX_PA30N_CCL_IN3 ((PIN_PA30N_CCL_IN3 << 16) | MUX_PA30N_CCL_IN3) -#define PORT_PA30N_CCL_IN3 (_UL_(1) << 30) -#define PIN_PA09N_CCL_IN4 _L_(9) /**< \brief CCL signal: IN4 on PA09 mux N */ -#define MUX_PA09N_CCL_IN4 _L_(13) -#define PINMUX_PA09N_CCL_IN4 ((PIN_PA09N_CCL_IN4 << 16) | MUX_PA09N_CCL_IN4) -#define PORT_PA09N_CCL_IN4 (_UL_(1) << 9) -#define PIN_PC27N_CCL_IN4 _L_(91) /**< \brief CCL signal: IN4 on PC27 mux N */ -#define MUX_PC27N_CCL_IN4 _L_(13) -#define PINMUX_PC27N_CCL_IN4 ((PIN_PC27N_CCL_IN4 << 16) | MUX_PC27N_CCL_IN4) -#define PORT_PC27N_CCL_IN4 (_UL_(1) << 27) -#define PIN_PA10N_CCL_IN5 _L_(10) /**< \brief CCL signal: IN5 on PA10 mux N */ -#define MUX_PA10N_CCL_IN5 _L_(13) -#define PINMUX_PA10N_CCL_IN5 ((PIN_PA10N_CCL_IN5 << 16) | MUX_PA10N_CCL_IN5) -#define PORT_PA10N_CCL_IN5 (_UL_(1) << 10) -#define PIN_PC28N_CCL_IN5 _L_(92) /**< \brief CCL signal: IN5 on PC28 mux N */ -#define MUX_PC28N_CCL_IN5 _L_(13) -#define PINMUX_PC28N_CCL_IN5 ((PIN_PC28N_CCL_IN5 << 16) | MUX_PC28N_CCL_IN5) -#define PORT_PC28N_CCL_IN5 (_UL_(1) << 28) -#define PIN_PA22N_CCL_IN6 _L_(22) /**< \brief CCL signal: IN6 on PA22 mux N */ -#define MUX_PA22N_CCL_IN6 _L_(13) -#define PINMUX_PA22N_CCL_IN6 ((PIN_PA22N_CCL_IN6 << 16) | MUX_PA22N_CCL_IN6) -#define PORT_PA22N_CCL_IN6 (_UL_(1) << 22) -#define PIN_PB06N_CCL_IN6 _L_(38) /**< \brief CCL signal: IN6 on PB06 mux N */ -#define MUX_PB06N_CCL_IN6 _L_(13) -#define PINMUX_PB06N_CCL_IN6 ((PIN_PB06N_CCL_IN6 << 16) | MUX_PB06N_CCL_IN6) -#define PORT_PB06N_CCL_IN6 (_UL_(1) << 6) -#define PIN_PA23N_CCL_IN7 _L_(23) /**< \brief CCL signal: IN7 on PA23 mux N */ -#define MUX_PA23N_CCL_IN7 _L_(13) -#define PINMUX_PA23N_CCL_IN7 ((PIN_PA23N_CCL_IN7 << 16) | MUX_PA23N_CCL_IN7) -#define PORT_PA23N_CCL_IN7 (_UL_(1) << 23) -#define PIN_PB07N_CCL_IN7 _L_(39) /**< \brief CCL signal: IN7 on PB07 mux N */ -#define MUX_PB07N_CCL_IN7 _L_(13) -#define PINMUX_PB07N_CCL_IN7 ((PIN_PB07N_CCL_IN7 << 16) | MUX_PB07N_CCL_IN7) -#define PORT_PB07N_CCL_IN7 (_UL_(1) << 7) -#define PIN_PA24N_CCL_IN8 _L_(24) /**< \brief CCL signal: IN8 on PA24 mux N */ -#define MUX_PA24N_CCL_IN8 _L_(13) -#define PINMUX_PA24N_CCL_IN8 ((PIN_PA24N_CCL_IN8 << 16) | MUX_PA24N_CCL_IN8) -#define PORT_PA24N_CCL_IN8 (_UL_(1) << 24) -#define PIN_PB08N_CCL_IN8 _L_(40) /**< \brief CCL signal: IN8 on PB08 mux N */ -#define MUX_PB08N_CCL_IN8 _L_(13) -#define PINMUX_PB08N_CCL_IN8 ((PIN_PB08N_CCL_IN8 << 16) | MUX_PB08N_CCL_IN8) -#define PORT_PB08N_CCL_IN8 (_UL_(1) << 8) -#define PIN_PB14N_CCL_IN9 _L_(46) /**< \brief CCL signal: IN9 on PB14 mux N */ -#define MUX_PB14N_CCL_IN9 _L_(13) -#define PINMUX_PB14N_CCL_IN9 ((PIN_PB14N_CCL_IN9 << 16) | MUX_PB14N_CCL_IN9) -#define PORT_PB14N_CCL_IN9 (_UL_(1) << 14) -#define PIN_PC20N_CCL_IN9 _L_(84) /**< \brief CCL signal: IN9 on PC20 mux N */ -#define MUX_PC20N_CCL_IN9 _L_(13) -#define PINMUX_PC20N_CCL_IN9 ((PIN_PC20N_CCL_IN9 << 16) | MUX_PC20N_CCL_IN9) -#define PORT_PC20N_CCL_IN9 (_UL_(1) << 20) -#define PIN_PB15N_CCL_IN10 _L_(47) /**< \brief CCL signal: IN10 on PB15 mux N */ -#define MUX_PB15N_CCL_IN10 _L_(13) -#define PINMUX_PB15N_CCL_IN10 ((PIN_PB15N_CCL_IN10 << 16) | MUX_PB15N_CCL_IN10) -#define PORT_PB15N_CCL_IN10 (_UL_(1) << 15) -#define PIN_PC21N_CCL_IN10 _L_(85) /**< \brief CCL signal: IN10 on PC21 mux N */ -#define MUX_PC21N_CCL_IN10 _L_(13) -#define PINMUX_PC21N_CCL_IN10 ((PIN_PC21N_CCL_IN10 << 16) | MUX_PC21N_CCL_IN10) -#define PORT_PC21N_CCL_IN10 (_UL_(1) << 21) -#define PIN_PB10N_CCL_IN11 _L_(42) /**< \brief CCL signal: IN11 on PB10 mux N */ -#define MUX_PB10N_CCL_IN11 _L_(13) -#define PINMUX_PB10N_CCL_IN11 ((PIN_PB10N_CCL_IN11 << 16) | MUX_PB10N_CCL_IN11) -#define PORT_PB10N_CCL_IN11 (_UL_(1) << 10) -#define PIN_PB16N_CCL_IN11 _L_(48) /**< \brief CCL signal: IN11 on PB16 mux N */ -#define MUX_PB16N_CCL_IN11 _L_(13) -#define PINMUX_PB16N_CCL_IN11 ((PIN_PB16N_CCL_IN11 << 16) | MUX_PB16N_CCL_IN11) -#define PORT_PB16N_CCL_IN11 (_UL_(1) << 16) -#define PIN_PA07N_CCL_OUT0 _L_(7) /**< \brief CCL signal: OUT0 on PA07 mux N */ -#define MUX_PA07N_CCL_OUT0 _L_(13) -#define PINMUX_PA07N_CCL_OUT0 ((PIN_PA07N_CCL_OUT0 << 16) | MUX_PA07N_CCL_OUT0) -#define PORT_PA07N_CCL_OUT0 (_UL_(1) << 7) -#define PIN_PA19N_CCL_OUT0 _L_(19) /**< \brief CCL signal: OUT0 on PA19 mux N */ -#define MUX_PA19N_CCL_OUT0 _L_(13) -#define PINMUX_PA19N_CCL_OUT0 ((PIN_PA19N_CCL_OUT0 << 16) | MUX_PA19N_CCL_OUT0) -#define PORT_PA19N_CCL_OUT0 (_UL_(1) << 19) -#define PIN_PB02N_CCL_OUT0 _L_(34) /**< \brief CCL signal: OUT0 on PB02 mux N */ -#define MUX_PB02N_CCL_OUT0 _L_(13) -#define PINMUX_PB02N_CCL_OUT0 ((PIN_PB02N_CCL_OUT0 << 16) | MUX_PB02N_CCL_OUT0) -#define PORT_PB02N_CCL_OUT0 (_UL_(1) << 2) -#define PIN_PB23N_CCL_OUT0 _L_(55) /**< \brief CCL signal: OUT0 on PB23 mux N */ -#define MUX_PB23N_CCL_OUT0 _L_(13) -#define PINMUX_PB23N_CCL_OUT0 ((PIN_PB23N_CCL_OUT0 << 16) | MUX_PB23N_CCL_OUT0) -#define PORT_PB23N_CCL_OUT0 (_UL_(1) << 23) -#define PIN_PA11N_CCL_OUT1 _L_(11) /**< \brief CCL signal: OUT1 on PA11 mux N */ -#define MUX_PA11N_CCL_OUT1 _L_(13) -#define PINMUX_PA11N_CCL_OUT1 ((PIN_PA11N_CCL_OUT1 << 16) | MUX_PA11N_CCL_OUT1) -#define PORT_PA11N_CCL_OUT1 (_UL_(1) << 11) -#define PIN_PA31N_CCL_OUT1 _L_(31) /**< \brief CCL signal: OUT1 on PA31 mux N */ -#define MUX_PA31N_CCL_OUT1 _L_(13) -#define PINMUX_PA31N_CCL_OUT1 ((PIN_PA31N_CCL_OUT1 << 16) | MUX_PA31N_CCL_OUT1) -#define PORT_PA31N_CCL_OUT1 (_UL_(1) << 31) -#define PIN_PB11N_CCL_OUT1 _L_(43) /**< \brief CCL signal: OUT1 on PB11 mux N */ -#define MUX_PB11N_CCL_OUT1 _L_(13) -#define PINMUX_PB11N_CCL_OUT1 ((PIN_PB11N_CCL_OUT1 << 16) | MUX_PB11N_CCL_OUT1) -#define PORT_PB11N_CCL_OUT1 (_UL_(1) << 11) -#define PIN_PA25N_CCL_OUT2 _L_(25) /**< \brief CCL signal: OUT2 on PA25 mux N */ -#define MUX_PA25N_CCL_OUT2 _L_(13) -#define PINMUX_PA25N_CCL_OUT2 ((PIN_PA25N_CCL_OUT2 << 16) | MUX_PA25N_CCL_OUT2) -#define PORT_PA25N_CCL_OUT2 (_UL_(1) << 25) -#define PIN_PB09N_CCL_OUT2 _L_(41) /**< \brief CCL signal: OUT2 on PB09 mux N */ -#define MUX_PB09N_CCL_OUT2 _L_(13) -#define PINMUX_PB09N_CCL_OUT2 ((PIN_PB09N_CCL_OUT2 << 16) | MUX_PB09N_CCL_OUT2) -#define PORT_PB09N_CCL_OUT2 (_UL_(1) << 9) -#define PIN_PB17N_CCL_OUT3 _L_(49) /**< \brief CCL signal: OUT3 on PB17 mux N */ -#define MUX_PB17N_CCL_OUT3 _L_(13) -#define PINMUX_PB17N_CCL_OUT3 ((PIN_PB17N_CCL_OUT3 << 16) | MUX_PB17N_CCL_OUT3) -#define PORT_PB17N_CCL_OUT3 (_UL_(1) << 17) -/* ========== PORT definition for SERCOM4 peripheral ========== */ -#define PIN_PA13D_SERCOM4_PAD0 _L_(13) /**< \brief SERCOM4 signal: PAD0 on PA13 mux D */ -#define MUX_PA13D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PA13D_SERCOM4_PAD0 ((PIN_PA13D_SERCOM4_PAD0 << 16) | MUX_PA13D_SERCOM4_PAD0) -#define PORT_PA13D_SERCOM4_PAD0 (_UL_(1) << 13) -#define PIN_PB08D_SERCOM4_PAD0 _L_(40) /**< \brief SERCOM4 signal: PAD0 on PB08 mux D */ -#define MUX_PB08D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PB08D_SERCOM4_PAD0 ((PIN_PB08D_SERCOM4_PAD0 << 16) | MUX_PB08D_SERCOM4_PAD0) -#define PORT_PB08D_SERCOM4_PAD0 (_UL_(1) << 8) -#define PIN_PB12C_SERCOM4_PAD0 _L_(44) /**< \brief SERCOM4 signal: PAD0 on PB12 mux C */ -#define MUX_PB12C_SERCOM4_PAD0 _L_(2) -#define PINMUX_PB12C_SERCOM4_PAD0 ((PIN_PB12C_SERCOM4_PAD0 << 16) | MUX_PB12C_SERCOM4_PAD0) -#define PORT_PB12C_SERCOM4_PAD0 (_UL_(1) << 12) -#define PIN_PA12D_SERCOM4_PAD1 _L_(12) /**< \brief SERCOM4 signal: PAD1 on PA12 mux D */ -#define MUX_PA12D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PA12D_SERCOM4_PAD1 ((PIN_PA12D_SERCOM4_PAD1 << 16) | MUX_PA12D_SERCOM4_PAD1) -#define PORT_PA12D_SERCOM4_PAD1 (_UL_(1) << 12) -#define PIN_PB09D_SERCOM4_PAD1 _L_(41) /**< \brief SERCOM4 signal: PAD1 on PB09 mux D */ -#define MUX_PB09D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PB09D_SERCOM4_PAD1 ((PIN_PB09D_SERCOM4_PAD1 << 16) | MUX_PB09D_SERCOM4_PAD1) -#define PORT_PB09D_SERCOM4_PAD1 (_UL_(1) << 9) -#define PIN_PB13C_SERCOM4_PAD1 _L_(45) /**< \brief SERCOM4 signal: PAD1 on PB13 mux C */ -#define MUX_PB13C_SERCOM4_PAD1 _L_(2) -#define PINMUX_PB13C_SERCOM4_PAD1 ((PIN_PB13C_SERCOM4_PAD1 << 16) | MUX_PB13C_SERCOM4_PAD1) -#define PORT_PB13C_SERCOM4_PAD1 (_UL_(1) << 13) -#define PIN_PA14D_SERCOM4_PAD2 _L_(14) /**< \brief SERCOM4 signal: PAD2 on PA14 mux D */ -#define MUX_PA14D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PA14D_SERCOM4_PAD2 ((PIN_PA14D_SERCOM4_PAD2 << 16) | MUX_PA14D_SERCOM4_PAD2) -#define PORT_PA14D_SERCOM4_PAD2 (_UL_(1) << 14) -#define PIN_PB10D_SERCOM4_PAD2 _L_(42) /**< \brief SERCOM4 signal: PAD2 on PB10 mux D */ -#define MUX_PB10D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PB10D_SERCOM4_PAD2 ((PIN_PB10D_SERCOM4_PAD2 << 16) | MUX_PB10D_SERCOM4_PAD2) -#define PORT_PB10D_SERCOM4_PAD2 (_UL_(1) << 10) -#define PIN_PB14C_SERCOM4_PAD2 _L_(46) /**< \brief SERCOM4 signal: PAD2 on PB14 mux C */ -#define MUX_PB14C_SERCOM4_PAD2 _L_(2) -#define PINMUX_PB14C_SERCOM4_PAD2 ((PIN_PB14C_SERCOM4_PAD2 << 16) | MUX_PB14C_SERCOM4_PAD2) -#define PORT_PB14C_SERCOM4_PAD2 (_UL_(1) << 14) -#define PIN_PB11D_SERCOM4_PAD3 _L_(43) /**< \brief SERCOM4 signal: PAD3 on PB11 mux D */ -#define MUX_PB11D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PB11D_SERCOM4_PAD3 ((PIN_PB11D_SERCOM4_PAD3 << 16) | MUX_PB11D_SERCOM4_PAD3) -#define PORT_PB11D_SERCOM4_PAD3 (_UL_(1) << 11) -#define PIN_PA15D_SERCOM4_PAD3 _L_(15) /**< \brief SERCOM4 signal: PAD3 on PA15 mux D */ -#define MUX_PA15D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PA15D_SERCOM4_PAD3 ((PIN_PA15D_SERCOM4_PAD3 << 16) | MUX_PA15D_SERCOM4_PAD3) -#define PORT_PA15D_SERCOM4_PAD3 (_UL_(1) << 15) -#define PIN_PB15C_SERCOM4_PAD3 _L_(47) /**< \brief SERCOM4 signal: PAD3 on PB15 mux C */ -#define MUX_PB15C_SERCOM4_PAD3 _L_(2) -#define PINMUX_PB15C_SERCOM4_PAD3 ((PIN_PB15C_SERCOM4_PAD3 << 16) | MUX_PB15C_SERCOM4_PAD3) -#define PORT_PB15C_SERCOM4_PAD3 (_UL_(1) << 15) -/* ========== PORT definition for SERCOM5 peripheral ========== */ -#define PIN_PA23D_SERCOM5_PAD0 _L_(23) /**< \brief SERCOM5 signal: PAD0 on PA23 mux D */ -#define MUX_PA23D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PA23D_SERCOM5_PAD0 ((PIN_PA23D_SERCOM5_PAD0 << 16) | MUX_PA23D_SERCOM5_PAD0) -#define PORT_PA23D_SERCOM5_PAD0 (_UL_(1) << 23) -#define PIN_PB02D_SERCOM5_PAD0 _L_(34) /**< \brief SERCOM5 signal: PAD0 on PB02 mux D */ -#define MUX_PB02D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PB02D_SERCOM5_PAD0 ((PIN_PB02D_SERCOM5_PAD0 << 16) | MUX_PB02D_SERCOM5_PAD0) -#define PORT_PB02D_SERCOM5_PAD0 (_UL_(1) << 2) -#define PIN_PB31D_SERCOM5_PAD0 _L_(63) /**< \brief SERCOM5 signal: PAD0 on PB31 mux D */ -#define MUX_PB31D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PB31D_SERCOM5_PAD0 ((PIN_PB31D_SERCOM5_PAD0 << 16) | MUX_PB31D_SERCOM5_PAD0) -#define PORT_PB31D_SERCOM5_PAD0 (_UL_(1) << 31) -#define PIN_PB16C_SERCOM5_PAD0 _L_(48) /**< \brief SERCOM5 signal: PAD0 on PB16 mux C */ -#define MUX_PB16C_SERCOM5_PAD0 _L_(2) -#define PINMUX_PB16C_SERCOM5_PAD0 ((PIN_PB16C_SERCOM5_PAD0 << 16) | MUX_PB16C_SERCOM5_PAD0) -#define PORT_PB16C_SERCOM5_PAD0 (_UL_(1) << 16) -#define PIN_PA22D_SERCOM5_PAD1 _L_(22) /**< \brief SERCOM5 signal: PAD1 on PA22 mux D */ -#define MUX_PA22D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PA22D_SERCOM5_PAD1 ((PIN_PA22D_SERCOM5_PAD1 << 16) | MUX_PA22D_SERCOM5_PAD1) -#define PORT_PA22D_SERCOM5_PAD1 (_UL_(1) << 22) -#define PIN_PB03D_SERCOM5_PAD1 _L_(35) /**< \brief SERCOM5 signal: PAD1 on PB03 mux D */ -#define MUX_PB03D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PB03D_SERCOM5_PAD1 ((PIN_PB03D_SERCOM5_PAD1 << 16) | MUX_PB03D_SERCOM5_PAD1) -#define PORT_PB03D_SERCOM5_PAD1 (_UL_(1) << 3) -#define PIN_PB30D_SERCOM5_PAD1 _L_(62) /**< \brief SERCOM5 signal: PAD1 on PB30 mux D */ -#define MUX_PB30D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PB30D_SERCOM5_PAD1 ((PIN_PB30D_SERCOM5_PAD1 << 16) | MUX_PB30D_SERCOM5_PAD1) -#define PORT_PB30D_SERCOM5_PAD1 (_UL_(1) << 30) -#define PIN_PB17C_SERCOM5_PAD1 _L_(49) /**< \brief SERCOM5 signal: PAD1 on PB17 mux C */ -#define MUX_PB17C_SERCOM5_PAD1 _L_(2) -#define PINMUX_PB17C_SERCOM5_PAD1 ((PIN_PB17C_SERCOM5_PAD1 << 16) | MUX_PB17C_SERCOM5_PAD1) -#define PORT_PB17C_SERCOM5_PAD1 (_UL_(1) << 17) -#define PIN_PA24D_SERCOM5_PAD2 _L_(24) /**< \brief SERCOM5 signal: PAD2 on PA24 mux D */ -#define MUX_PA24D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PA24D_SERCOM5_PAD2 ((PIN_PA24D_SERCOM5_PAD2 << 16) | MUX_PA24D_SERCOM5_PAD2) -#define PORT_PA24D_SERCOM5_PAD2 (_UL_(1) << 24) -#define PIN_PB00D_SERCOM5_PAD2 _L_(32) /**< \brief SERCOM5 signal: PAD2 on PB00 mux D */ -#define MUX_PB00D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PB00D_SERCOM5_PAD2 ((PIN_PB00D_SERCOM5_PAD2 << 16) | MUX_PB00D_SERCOM5_PAD2) -#define PORT_PB00D_SERCOM5_PAD2 (_UL_(1) << 0) -#define PIN_PB22D_SERCOM5_PAD2 _L_(54) /**< \brief SERCOM5 signal: PAD2 on PB22 mux D */ -#define MUX_PB22D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PB22D_SERCOM5_PAD2 ((PIN_PB22D_SERCOM5_PAD2 << 16) | MUX_PB22D_SERCOM5_PAD2) -#define PORT_PB22D_SERCOM5_PAD2 (_UL_(1) << 22) -#define PIN_PA20C_SERCOM5_PAD2 _L_(20) /**< \brief SERCOM5 signal: PAD2 on PA20 mux C */ -#define MUX_PA20C_SERCOM5_PAD2 _L_(2) -#define PINMUX_PA20C_SERCOM5_PAD2 ((PIN_PA20C_SERCOM5_PAD2 << 16) | MUX_PA20C_SERCOM5_PAD2) -#define PORT_PA20C_SERCOM5_PAD2 (_UL_(1) << 20) -#define PIN_PB18C_SERCOM5_PAD2 _L_(50) /**< \brief SERCOM5 signal: PAD2 on PB18 mux C */ -#define MUX_PB18C_SERCOM5_PAD2 _L_(2) -#define PINMUX_PB18C_SERCOM5_PAD2 ((PIN_PB18C_SERCOM5_PAD2 << 16) | MUX_PB18C_SERCOM5_PAD2) -#define PORT_PB18C_SERCOM5_PAD2 (_UL_(1) << 18) -#define PIN_PA25D_SERCOM5_PAD3 _L_(25) /**< \brief SERCOM5 signal: PAD3 on PA25 mux D */ -#define MUX_PA25D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PA25D_SERCOM5_PAD3 ((PIN_PA25D_SERCOM5_PAD3 << 16) | MUX_PA25D_SERCOM5_PAD3) -#define PORT_PA25D_SERCOM5_PAD3 (_UL_(1) << 25) -#define PIN_PB01D_SERCOM5_PAD3 _L_(33) /**< \brief SERCOM5 signal: PAD3 on PB01 mux D */ -#define MUX_PB01D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PB01D_SERCOM5_PAD3 ((PIN_PB01D_SERCOM5_PAD3 << 16) | MUX_PB01D_SERCOM5_PAD3) -#define PORT_PB01D_SERCOM5_PAD3 (_UL_(1) << 1) -#define PIN_PB23D_SERCOM5_PAD3 _L_(55) /**< \brief SERCOM5 signal: PAD3 on PB23 mux D */ -#define MUX_PB23D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PB23D_SERCOM5_PAD3 ((PIN_PB23D_SERCOM5_PAD3 << 16) | MUX_PB23D_SERCOM5_PAD3) -#define PORT_PB23D_SERCOM5_PAD3 (_UL_(1) << 23) -#define PIN_PA21C_SERCOM5_PAD3 _L_(21) /**< \brief SERCOM5 signal: PAD3 on PA21 mux C */ -#define MUX_PA21C_SERCOM5_PAD3 _L_(2) -#define PINMUX_PA21C_SERCOM5_PAD3 ((PIN_PA21C_SERCOM5_PAD3 << 16) | MUX_PA21C_SERCOM5_PAD3) -#define PORT_PA21C_SERCOM5_PAD3 (_UL_(1) << 21) -#define PIN_PB19C_SERCOM5_PAD3 _L_(51) /**< \brief SERCOM5 signal: PAD3 on PB19 mux C */ -#define MUX_PB19C_SERCOM5_PAD3 _L_(2) -#define PINMUX_PB19C_SERCOM5_PAD3 ((PIN_PB19C_SERCOM5_PAD3 << 16) | MUX_PB19C_SERCOM5_PAD3) -#define PORT_PB19C_SERCOM5_PAD3 (_UL_(1) << 19) -/* ========== PORT definition for SERCOM6 peripheral ========== */ -#define PIN_PC13D_SERCOM6_PAD0 _L_(77) /**< \brief SERCOM6 signal: PAD0 on PC13 mux D */ -#define MUX_PC13D_SERCOM6_PAD0 _L_(3) -#define PINMUX_PC13D_SERCOM6_PAD0 ((PIN_PC13D_SERCOM6_PAD0 << 16) | MUX_PC13D_SERCOM6_PAD0) -#define PORT_PC13D_SERCOM6_PAD0 (_UL_(1) << 13) -#define PIN_PC16C_SERCOM6_PAD0 _L_(80) /**< \brief SERCOM6 signal: PAD0 on PC16 mux C */ -#define MUX_PC16C_SERCOM6_PAD0 _L_(2) -#define PINMUX_PC16C_SERCOM6_PAD0 ((PIN_PC16C_SERCOM6_PAD0 << 16) | MUX_PC16C_SERCOM6_PAD0) -#define PORT_PC16C_SERCOM6_PAD0 (_UL_(1) << 16) -#define PIN_PC12D_SERCOM6_PAD1 _L_(76) /**< \brief SERCOM6 signal: PAD1 on PC12 mux D */ -#define MUX_PC12D_SERCOM6_PAD1 _L_(3) -#define PINMUX_PC12D_SERCOM6_PAD1 ((PIN_PC12D_SERCOM6_PAD1 << 16) | MUX_PC12D_SERCOM6_PAD1) -#define PORT_PC12D_SERCOM6_PAD1 (_UL_(1) << 12) -#define PIN_PC05C_SERCOM6_PAD1 _L_(69) /**< \brief SERCOM6 signal: PAD1 on PC05 mux C */ -#define MUX_PC05C_SERCOM6_PAD1 _L_(2) -#define PINMUX_PC05C_SERCOM6_PAD1 ((PIN_PC05C_SERCOM6_PAD1 << 16) | MUX_PC05C_SERCOM6_PAD1) -#define PORT_PC05C_SERCOM6_PAD1 (_UL_(1) << 5) -#define PIN_PC17C_SERCOM6_PAD1 _L_(81) /**< \brief SERCOM6 signal: PAD1 on PC17 mux C */ -#define MUX_PC17C_SERCOM6_PAD1 _L_(2) -#define PINMUX_PC17C_SERCOM6_PAD1 ((PIN_PC17C_SERCOM6_PAD1 << 16) | MUX_PC17C_SERCOM6_PAD1) -#define PORT_PC17C_SERCOM6_PAD1 (_UL_(1) << 17) -#define PIN_PC14D_SERCOM6_PAD2 _L_(78) /**< \brief SERCOM6 signal: PAD2 on PC14 mux D */ -#define MUX_PC14D_SERCOM6_PAD2 _L_(3) -#define PINMUX_PC14D_SERCOM6_PAD2 ((PIN_PC14D_SERCOM6_PAD2 << 16) | MUX_PC14D_SERCOM6_PAD2) -#define PORT_PC14D_SERCOM6_PAD2 (_UL_(1) << 14) -#define PIN_PC06C_SERCOM6_PAD2 _L_(70) /**< \brief SERCOM6 signal: PAD2 on PC06 mux C */ -#define MUX_PC06C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC06C_SERCOM6_PAD2 ((PIN_PC06C_SERCOM6_PAD2 << 16) | MUX_PC06C_SERCOM6_PAD2) -#define PORT_PC06C_SERCOM6_PAD2 (_UL_(1) << 6) -#define PIN_PC10C_SERCOM6_PAD2 _L_(74) /**< \brief SERCOM6 signal: PAD2 on PC10 mux C */ -#define MUX_PC10C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC10C_SERCOM6_PAD2 ((PIN_PC10C_SERCOM6_PAD2 << 16) | MUX_PC10C_SERCOM6_PAD2) -#define PORT_PC10C_SERCOM6_PAD2 (_UL_(1) << 10) -#define PIN_PC18C_SERCOM6_PAD2 _L_(82) /**< \brief SERCOM6 signal: PAD2 on PC18 mux C */ -#define MUX_PC18C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC18C_SERCOM6_PAD2 ((PIN_PC18C_SERCOM6_PAD2 << 16) | MUX_PC18C_SERCOM6_PAD2) -#define PORT_PC18C_SERCOM6_PAD2 (_UL_(1) << 18) -#define PIN_PC15D_SERCOM6_PAD3 _L_(79) /**< \brief SERCOM6 signal: PAD3 on PC15 mux D */ -#define MUX_PC15D_SERCOM6_PAD3 _L_(3) -#define PINMUX_PC15D_SERCOM6_PAD3 ((PIN_PC15D_SERCOM6_PAD3 << 16) | MUX_PC15D_SERCOM6_PAD3) -#define PORT_PC15D_SERCOM6_PAD3 (_UL_(1) << 15) -#define PIN_PC07C_SERCOM6_PAD3 _L_(71) /**< \brief SERCOM6 signal: PAD3 on PC07 mux C */ -#define MUX_PC07C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC07C_SERCOM6_PAD3 ((PIN_PC07C_SERCOM6_PAD3 << 16) | MUX_PC07C_SERCOM6_PAD3) -#define PORT_PC07C_SERCOM6_PAD3 (_UL_(1) << 7) -#define PIN_PC11C_SERCOM6_PAD3 _L_(75) /**< \brief SERCOM6 signal: PAD3 on PC11 mux C */ -#define MUX_PC11C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC11C_SERCOM6_PAD3 ((PIN_PC11C_SERCOM6_PAD3 << 16) | MUX_PC11C_SERCOM6_PAD3) -#define PORT_PC11C_SERCOM6_PAD3 (_UL_(1) << 11) -#define PIN_PC19C_SERCOM6_PAD3 _L_(83) /**< \brief SERCOM6 signal: PAD3 on PC19 mux C */ -#define MUX_PC19C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC19C_SERCOM6_PAD3 ((PIN_PC19C_SERCOM6_PAD3 << 16) | MUX_PC19C_SERCOM6_PAD3) -#define PORT_PC19C_SERCOM6_PAD3 (_UL_(1) << 19) -/* ========== PORT definition for SERCOM7 peripheral ========== */ -#define PIN_PB21D_SERCOM7_PAD0 _L_(53) /**< \brief SERCOM7 signal: PAD0 on PB21 mux D */ -#define MUX_PB21D_SERCOM7_PAD0 _L_(3) -#define PINMUX_PB21D_SERCOM7_PAD0 ((PIN_PB21D_SERCOM7_PAD0 << 16) | MUX_PB21D_SERCOM7_PAD0) -#define PORT_PB21D_SERCOM7_PAD0 (_UL_(1) << 21) -#define PIN_PB30C_SERCOM7_PAD0 _L_(62) /**< \brief SERCOM7 signal: PAD0 on PB30 mux C */ -#define MUX_PB30C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PB30C_SERCOM7_PAD0 ((PIN_PB30C_SERCOM7_PAD0 << 16) | MUX_PB30C_SERCOM7_PAD0) -#define PORT_PB30C_SERCOM7_PAD0 (_UL_(1) << 30) -#define PIN_PC12C_SERCOM7_PAD0 _L_(76) /**< \brief SERCOM7 signal: PAD0 on PC12 mux C */ -#define MUX_PC12C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PC12C_SERCOM7_PAD0 ((PIN_PC12C_SERCOM7_PAD0 << 16) | MUX_PC12C_SERCOM7_PAD0) -#define PORT_PC12C_SERCOM7_PAD0 (_UL_(1) << 12) -#define PIN_PB20D_SERCOM7_PAD1 _L_(52) /**< \brief SERCOM7 signal: PAD1 on PB20 mux D */ -#define MUX_PB20D_SERCOM7_PAD1 _L_(3) -#define PINMUX_PB20D_SERCOM7_PAD1 ((PIN_PB20D_SERCOM7_PAD1 << 16) | MUX_PB20D_SERCOM7_PAD1) -#define PORT_PB20D_SERCOM7_PAD1 (_UL_(1) << 20) -#define PIN_PB31C_SERCOM7_PAD1 _L_(63) /**< \brief SERCOM7 signal: PAD1 on PB31 mux C */ -#define MUX_PB31C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PB31C_SERCOM7_PAD1 ((PIN_PB31C_SERCOM7_PAD1 << 16) | MUX_PB31C_SERCOM7_PAD1) -#define PORT_PB31C_SERCOM7_PAD1 (_UL_(1) << 31) -#define PIN_PC13C_SERCOM7_PAD1 _L_(77) /**< \brief SERCOM7 signal: PAD1 on PC13 mux C */ -#define MUX_PC13C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PC13C_SERCOM7_PAD1 ((PIN_PC13C_SERCOM7_PAD1 << 16) | MUX_PC13C_SERCOM7_PAD1) -#define PORT_PC13C_SERCOM7_PAD1 (_UL_(1) << 13) -#define PIN_PB18D_SERCOM7_PAD2 _L_(50) /**< \brief SERCOM7 signal: PAD2 on PB18 mux D */ -#define MUX_PB18D_SERCOM7_PAD2 _L_(3) -#define PINMUX_PB18D_SERCOM7_PAD2 ((PIN_PB18D_SERCOM7_PAD2 << 16) | MUX_PB18D_SERCOM7_PAD2) -#define PORT_PB18D_SERCOM7_PAD2 (_UL_(1) << 18) -#define PIN_PC10D_SERCOM7_PAD2 _L_(74) /**< \brief SERCOM7 signal: PAD2 on PC10 mux D */ -#define MUX_PC10D_SERCOM7_PAD2 _L_(3) -#define PINMUX_PC10D_SERCOM7_PAD2 ((PIN_PC10D_SERCOM7_PAD2 << 16) | MUX_PC10D_SERCOM7_PAD2) -#define PORT_PC10D_SERCOM7_PAD2 (_UL_(1) << 10) -#define PIN_PC14C_SERCOM7_PAD2 _L_(78) /**< \brief SERCOM7 signal: PAD2 on PC14 mux C */ -#define MUX_PC14C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PC14C_SERCOM7_PAD2 ((PIN_PC14C_SERCOM7_PAD2 << 16) | MUX_PC14C_SERCOM7_PAD2) -#define PORT_PC14C_SERCOM7_PAD2 (_UL_(1) << 14) -#define PIN_PA30C_SERCOM7_PAD2 _L_(30) /**< \brief SERCOM7 signal: PAD2 on PA30 mux C */ -#define MUX_PA30C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PA30C_SERCOM7_PAD2 ((PIN_PA30C_SERCOM7_PAD2 << 16) | MUX_PA30C_SERCOM7_PAD2) -#define PORT_PA30C_SERCOM7_PAD2 (_UL_(1) << 30) -#define PIN_PB19D_SERCOM7_PAD3 _L_(51) /**< \brief SERCOM7 signal: PAD3 on PB19 mux D */ -#define MUX_PB19D_SERCOM7_PAD3 _L_(3) -#define PINMUX_PB19D_SERCOM7_PAD3 ((PIN_PB19D_SERCOM7_PAD3 << 16) | MUX_PB19D_SERCOM7_PAD3) -#define PORT_PB19D_SERCOM7_PAD3 (_UL_(1) << 19) -#define PIN_PC11D_SERCOM7_PAD3 _L_(75) /**< \brief SERCOM7 signal: PAD3 on PC11 mux D */ -#define MUX_PC11D_SERCOM7_PAD3 _L_(3) -#define PINMUX_PC11D_SERCOM7_PAD3 ((PIN_PC11D_SERCOM7_PAD3 << 16) | MUX_PC11D_SERCOM7_PAD3) -#define PORT_PC11D_SERCOM7_PAD3 (_UL_(1) << 11) -#define PIN_PC15C_SERCOM7_PAD3 _L_(79) /**< \brief SERCOM7 signal: PAD3 on PC15 mux C */ -#define MUX_PC15C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PC15C_SERCOM7_PAD3 ((PIN_PC15C_SERCOM7_PAD3 << 16) | MUX_PC15C_SERCOM7_PAD3) -#define PORT_PC15C_SERCOM7_PAD3 (_UL_(1) << 15) -#define PIN_PA31C_SERCOM7_PAD3 _L_(31) /**< \brief SERCOM7 signal: PAD3 on PA31 mux C */ -#define MUX_PA31C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PA31C_SERCOM7_PAD3 ((PIN_PA31C_SERCOM7_PAD3 << 16) | MUX_PA31C_SERCOM7_PAD3) -#define PORT_PA31C_SERCOM7_PAD3 (_UL_(1) << 31) -/* ========== PORT definition for TCC4 peripheral ========== */ -#define PIN_PB14F_TCC4_WO0 _L_(46) /**< \brief TCC4 signal: WO0 on PB14 mux F */ -#define MUX_PB14F_TCC4_WO0 _L_(5) -#define PINMUX_PB14F_TCC4_WO0 ((PIN_PB14F_TCC4_WO0 << 16) | MUX_PB14F_TCC4_WO0) -#define PORT_PB14F_TCC4_WO0 (_UL_(1) << 14) -#define PIN_PB30F_TCC4_WO0 _L_(62) /**< \brief TCC4 signal: WO0 on PB30 mux F */ -#define MUX_PB30F_TCC4_WO0 _L_(5) -#define PINMUX_PB30F_TCC4_WO0 ((PIN_PB30F_TCC4_WO0 << 16) | MUX_PB30F_TCC4_WO0) -#define PORT_PB30F_TCC4_WO0 (_UL_(1) << 30) -#define PIN_PB15F_TCC4_WO1 _L_(47) /**< \brief TCC4 signal: WO1 on PB15 mux F */ -#define MUX_PB15F_TCC4_WO1 _L_(5) -#define PINMUX_PB15F_TCC4_WO1 ((PIN_PB15F_TCC4_WO1 << 16) | MUX_PB15F_TCC4_WO1) -#define PORT_PB15F_TCC4_WO1 (_UL_(1) << 15) -#define PIN_PB31F_TCC4_WO1 _L_(63) /**< \brief TCC4 signal: WO1 on PB31 mux F */ -#define MUX_PB31F_TCC4_WO1 _L_(5) -#define PINMUX_PB31F_TCC4_WO1 ((PIN_PB31F_TCC4_WO1 << 16) | MUX_PB31F_TCC4_WO1) -#define PORT_PB31F_TCC4_WO1 (_UL_(1) << 31) -/* ========== PORT definition for TC6 peripheral ========== */ -#define PIN_PA30E_TC6_WO0 _L_(30) /**< \brief TC6 signal: WO0 on PA30 mux E */ -#define MUX_PA30E_TC6_WO0 _L_(4) -#define PINMUX_PA30E_TC6_WO0 ((PIN_PA30E_TC6_WO0 << 16) | MUX_PA30E_TC6_WO0) -#define PORT_PA30E_TC6_WO0 (_UL_(1) << 30) -#define PIN_PB02E_TC6_WO0 _L_(34) /**< \brief TC6 signal: WO0 on PB02 mux E */ -#define MUX_PB02E_TC6_WO0 _L_(4) -#define PINMUX_PB02E_TC6_WO0 ((PIN_PB02E_TC6_WO0 << 16) | MUX_PB02E_TC6_WO0) -#define PORT_PB02E_TC6_WO0 (_UL_(1) << 2) -#define PIN_PB16E_TC6_WO0 _L_(48) /**< \brief TC6 signal: WO0 on PB16 mux E */ -#define MUX_PB16E_TC6_WO0 _L_(4) -#define PINMUX_PB16E_TC6_WO0 ((PIN_PB16E_TC6_WO0 << 16) | MUX_PB16E_TC6_WO0) -#define PORT_PB16E_TC6_WO0 (_UL_(1) << 16) -#define PIN_PA31E_TC6_WO1 _L_(31) /**< \brief TC6 signal: WO1 on PA31 mux E */ -#define MUX_PA31E_TC6_WO1 _L_(4) -#define PINMUX_PA31E_TC6_WO1 ((PIN_PA31E_TC6_WO1 << 16) | MUX_PA31E_TC6_WO1) -#define PORT_PA31E_TC6_WO1 (_UL_(1) << 31) -#define PIN_PB03E_TC6_WO1 _L_(35) /**< \brief TC6 signal: WO1 on PB03 mux E */ -#define MUX_PB03E_TC6_WO1 _L_(4) -#define PINMUX_PB03E_TC6_WO1 ((PIN_PB03E_TC6_WO1 << 16) | MUX_PB03E_TC6_WO1) -#define PORT_PB03E_TC6_WO1 (_UL_(1) << 3) -#define PIN_PB17E_TC6_WO1 _L_(49) /**< \brief TC6 signal: WO1 on PB17 mux E */ -#define MUX_PB17E_TC6_WO1 _L_(4) -#define PINMUX_PB17E_TC6_WO1 ((PIN_PB17E_TC6_WO1 << 16) | MUX_PB17E_TC6_WO1) -#define PORT_PB17E_TC6_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC7 peripheral ========== */ -#define PIN_PA20E_TC7_WO0 _L_(20) /**< \brief TC7 signal: WO0 on PA20 mux E */ -#define MUX_PA20E_TC7_WO0 _L_(4) -#define PINMUX_PA20E_TC7_WO0 ((PIN_PA20E_TC7_WO0 << 16) | MUX_PA20E_TC7_WO0) -#define PORT_PA20E_TC7_WO0 (_UL_(1) << 20) -#define PIN_PB00E_TC7_WO0 _L_(32) /**< \brief TC7 signal: WO0 on PB00 mux E */ -#define MUX_PB00E_TC7_WO0 _L_(4) -#define PINMUX_PB00E_TC7_WO0 ((PIN_PB00E_TC7_WO0 << 16) | MUX_PB00E_TC7_WO0) -#define PORT_PB00E_TC7_WO0 (_UL_(1) << 0) -#define PIN_PB22E_TC7_WO0 _L_(54) /**< \brief TC7 signal: WO0 on PB22 mux E */ -#define MUX_PB22E_TC7_WO0 _L_(4) -#define PINMUX_PB22E_TC7_WO0 ((PIN_PB22E_TC7_WO0 << 16) | MUX_PB22E_TC7_WO0) -#define PORT_PB22E_TC7_WO0 (_UL_(1) << 22) -#define PIN_PA21E_TC7_WO1 _L_(21) /**< \brief TC7 signal: WO1 on PA21 mux E */ -#define MUX_PA21E_TC7_WO1 _L_(4) -#define PINMUX_PA21E_TC7_WO1 ((PIN_PA21E_TC7_WO1 << 16) | MUX_PA21E_TC7_WO1) -#define PORT_PA21E_TC7_WO1 (_UL_(1) << 21) -#define PIN_PB01E_TC7_WO1 _L_(33) /**< \brief TC7 signal: WO1 on PB01 mux E */ -#define MUX_PB01E_TC7_WO1 _L_(4) -#define PINMUX_PB01E_TC7_WO1 ((PIN_PB01E_TC7_WO1 << 16) | MUX_PB01E_TC7_WO1) -#define PORT_PB01E_TC7_WO1 (_UL_(1) << 1) -#define PIN_PB23E_TC7_WO1 _L_(55) /**< \brief TC7 signal: WO1 on PB23 mux E */ -#define MUX_PB23E_TC7_WO1 _L_(4) -#define PINMUX_PB23E_TC7_WO1 ((PIN_PB23E_TC7_WO1 << 16) | MUX_PB23E_TC7_WO1) -#define PORT_PB23E_TC7_WO1 (_UL_(1) << 23) -/* ========== PORT definition for ADC0 peripheral ========== */ -#define PIN_PA02B_ADC0_AIN0 _L_(2) /**< \brief ADC0 signal: AIN0 on PA02 mux B */ -#define MUX_PA02B_ADC0_AIN0 _L_(1) -#define PINMUX_PA02B_ADC0_AIN0 ((PIN_PA02B_ADC0_AIN0 << 16) | MUX_PA02B_ADC0_AIN0) -#define PORT_PA02B_ADC0_AIN0 (_UL_(1) << 2) -#define PIN_PA03B_ADC0_AIN1 _L_(3) /**< \brief ADC0 signal: AIN1 on PA03 mux B */ -#define MUX_PA03B_ADC0_AIN1 _L_(1) -#define PINMUX_PA03B_ADC0_AIN1 ((PIN_PA03B_ADC0_AIN1 << 16) | MUX_PA03B_ADC0_AIN1) -#define PORT_PA03B_ADC0_AIN1 (_UL_(1) << 3) -#define PIN_PB08B_ADC0_AIN2 _L_(40) /**< \brief ADC0 signal: AIN2 on PB08 mux B */ -#define MUX_PB08B_ADC0_AIN2 _L_(1) -#define PINMUX_PB08B_ADC0_AIN2 ((PIN_PB08B_ADC0_AIN2 << 16) | MUX_PB08B_ADC0_AIN2) -#define PORT_PB08B_ADC0_AIN2 (_UL_(1) << 8) -#define PIN_PB09B_ADC0_AIN3 _L_(41) /**< \brief ADC0 signal: AIN3 on PB09 mux B */ -#define MUX_PB09B_ADC0_AIN3 _L_(1) -#define PINMUX_PB09B_ADC0_AIN3 ((PIN_PB09B_ADC0_AIN3 << 16) | MUX_PB09B_ADC0_AIN3) -#define PORT_PB09B_ADC0_AIN3 (_UL_(1) << 9) -#define PIN_PA04B_ADC0_AIN4 _L_(4) /**< \brief ADC0 signal: AIN4 on PA04 mux B */ -#define MUX_PA04B_ADC0_AIN4 _L_(1) -#define PINMUX_PA04B_ADC0_AIN4 ((PIN_PA04B_ADC0_AIN4 << 16) | MUX_PA04B_ADC0_AIN4) -#define PORT_PA04B_ADC0_AIN4 (_UL_(1) << 4) -#define PIN_PA05B_ADC0_AIN5 _L_(5) /**< \brief ADC0 signal: AIN5 on PA05 mux B */ -#define MUX_PA05B_ADC0_AIN5 _L_(1) -#define PINMUX_PA05B_ADC0_AIN5 ((PIN_PA05B_ADC0_AIN5 << 16) | MUX_PA05B_ADC0_AIN5) -#define PORT_PA05B_ADC0_AIN5 (_UL_(1) << 5) -#define PIN_PA06B_ADC0_AIN6 _L_(6) /**< \brief ADC0 signal: AIN6 on PA06 mux B */ -#define MUX_PA06B_ADC0_AIN6 _L_(1) -#define PINMUX_PA06B_ADC0_AIN6 ((PIN_PA06B_ADC0_AIN6 << 16) | MUX_PA06B_ADC0_AIN6) -#define PORT_PA06B_ADC0_AIN6 (_UL_(1) << 6) -#define PIN_PA07B_ADC0_AIN7 _L_(7) /**< \brief ADC0 signal: AIN7 on PA07 mux B */ -#define MUX_PA07B_ADC0_AIN7 _L_(1) -#define PINMUX_PA07B_ADC0_AIN7 ((PIN_PA07B_ADC0_AIN7 << 16) | MUX_PA07B_ADC0_AIN7) -#define PORT_PA07B_ADC0_AIN7 (_UL_(1) << 7) -#define PIN_PA08B_ADC0_AIN8 _L_(8) /**< \brief ADC0 signal: AIN8 on PA08 mux B */ -#define MUX_PA08B_ADC0_AIN8 _L_(1) -#define PINMUX_PA08B_ADC0_AIN8 ((PIN_PA08B_ADC0_AIN8 << 16) | MUX_PA08B_ADC0_AIN8) -#define PORT_PA08B_ADC0_AIN8 (_UL_(1) << 8) -#define PIN_PA09B_ADC0_AIN9 _L_(9) /**< \brief ADC0 signal: AIN9 on PA09 mux B */ -#define MUX_PA09B_ADC0_AIN9 _L_(1) -#define PINMUX_PA09B_ADC0_AIN9 ((PIN_PA09B_ADC0_AIN9 << 16) | MUX_PA09B_ADC0_AIN9) -#define PORT_PA09B_ADC0_AIN9 (_UL_(1) << 9) -#define PIN_PA10B_ADC0_AIN10 _L_(10) /**< \brief ADC0 signal: AIN10 on PA10 mux B */ -#define MUX_PA10B_ADC0_AIN10 _L_(1) -#define PINMUX_PA10B_ADC0_AIN10 ((PIN_PA10B_ADC0_AIN10 << 16) | MUX_PA10B_ADC0_AIN10) -#define PORT_PA10B_ADC0_AIN10 (_UL_(1) << 10) -#define PIN_PA11B_ADC0_AIN11 _L_(11) /**< \brief ADC0 signal: AIN11 on PA11 mux B */ -#define MUX_PA11B_ADC0_AIN11 _L_(1) -#define PINMUX_PA11B_ADC0_AIN11 ((PIN_PA11B_ADC0_AIN11 << 16) | MUX_PA11B_ADC0_AIN11) -#define PORT_PA11B_ADC0_AIN11 (_UL_(1) << 11) -#define PIN_PB00B_ADC0_AIN12 _L_(32) /**< \brief ADC0 signal: AIN12 on PB00 mux B */ -#define MUX_PB00B_ADC0_AIN12 _L_(1) -#define PINMUX_PB00B_ADC0_AIN12 ((PIN_PB00B_ADC0_AIN12 << 16) | MUX_PB00B_ADC0_AIN12) -#define PORT_PB00B_ADC0_AIN12 (_UL_(1) << 0) -#define PIN_PB01B_ADC0_AIN13 _L_(33) /**< \brief ADC0 signal: AIN13 on PB01 mux B */ -#define MUX_PB01B_ADC0_AIN13 _L_(1) -#define PINMUX_PB01B_ADC0_AIN13 ((PIN_PB01B_ADC0_AIN13 << 16) | MUX_PB01B_ADC0_AIN13) -#define PORT_PB01B_ADC0_AIN13 (_UL_(1) << 1) -#define PIN_PB02B_ADC0_AIN14 _L_(34) /**< \brief ADC0 signal: AIN14 on PB02 mux B */ -#define MUX_PB02B_ADC0_AIN14 _L_(1) -#define PINMUX_PB02B_ADC0_AIN14 ((PIN_PB02B_ADC0_AIN14 << 16) | MUX_PB02B_ADC0_AIN14) -#define PORT_PB02B_ADC0_AIN14 (_UL_(1) << 2) -#define PIN_PB03B_ADC0_AIN15 _L_(35) /**< \brief ADC0 signal: AIN15 on PB03 mux B */ -#define MUX_PB03B_ADC0_AIN15 _L_(1) -#define PINMUX_PB03B_ADC0_AIN15 ((PIN_PB03B_ADC0_AIN15 << 16) | MUX_PB03B_ADC0_AIN15) -#define PORT_PB03B_ADC0_AIN15 (_UL_(1) << 3) -#define PIN_PA03O_ADC0_DRV0 _L_(3) /**< \brief ADC0 signal: DRV0 on PA03 mux O */ -#define MUX_PA03O_ADC0_DRV0 _L_(14) -#define PINMUX_PA03O_ADC0_DRV0 ((PIN_PA03O_ADC0_DRV0 << 16) | MUX_PA03O_ADC0_DRV0) -#define PORT_PA03O_ADC0_DRV0 (_UL_(1) << 3) -#define PIN_PB08O_ADC0_DRV1 _L_(40) /**< \brief ADC0 signal: DRV1 on PB08 mux O */ -#define MUX_PB08O_ADC0_DRV1 _L_(14) -#define PINMUX_PB08O_ADC0_DRV1 ((PIN_PB08O_ADC0_DRV1 << 16) | MUX_PB08O_ADC0_DRV1) -#define PORT_PB08O_ADC0_DRV1 (_UL_(1) << 8) -#define PIN_PB09O_ADC0_DRV2 _L_(41) /**< \brief ADC0 signal: DRV2 on PB09 mux O */ -#define MUX_PB09O_ADC0_DRV2 _L_(14) -#define PINMUX_PB09O_ADC0_DRV2 ((PIN_PB09O_ADC0_DRV2 << 16) | MUX_PB09O_ADC0_DRV2) -#define PORT_PB09O_ADC0_DRV2 (_UL_(1) << 9) -#define PIN_PA04O_ADC0_DRV3 _L_(4) /**< \brief ADC0 signal: DRV3 on PA04 mux O */ -#define MUX_PA04O_ADC0_DRV3 _L_(14) -#define PINMUX_PA04O_ADC0_DRV3 ((PIN_PA04O_ADC0_DRV3 << 16) | MUX_PA04O_ADC0_DRV3) -#define PORT_PA04O_ADC0_DRV3 (_UL_(1) << 4) -#define PIN_PA06O_ADC0_DRV4 _L_(6) /**< \brief ADC0 signal: DRV4 on PA06 mux O */ -#define MUX_PA06O_ADC0_DRV4 _L_(14) -#define PINMUX_PA06O_ADC0_DRV4 ((PIN_PA06O_ADC0_DRV4 << 16) | MUX_PA06O_ADC0_DRV4) -#define PORT_PA06O_ADC0_DRV4 (_UL_(1) << 6) -#define PIN_PA07O_ADC0_DRV5 _L_(7) /**< \brief ADC0 signal: DRV5 on PA07 mux O */ -#define MUX_PA07O_ADC0_DRV5 _L_(14) -#define PINMUX_PA07O_ADC0_DRV5 ((PIN_PA07O_ADC0_DRV5 << 16) | MUX_PA07O_ADC0_DRV5) -#define PORT_PA07O_ADC0_DRV5 (_UL_(1) << 7) -#define PIN_PA08O_ADC0_DRV6 _L_(8) /**< \brief ADC0 signal: DRV6 on PA08 mux O */ -#define MUX_PA08O_ADC0_DRV6 _L_(14) -#define PINMUX_PA08O_ADC0_DRV6 ((PIN_PA08O_ADC0_DRV6 << 16) | MUX_PA08O_ADC0_DRV6) -#define PORT_PA08O_ADC0_DRV6 (_UL_(1) << 8) -#define PIN_PA09O_ADC0_DRV7 _L_(9) /**< \brief ADC0 signal: DRV7 on PA09 mux O */ -#define MUX_PA09O_ADC0_DRV7 _L_(14) -#define PINMUX_PA09O_ADC0_DRV7 ((PIN_PA09O_ADC0_DRV7 << 16) | MUX_PA09O_ADC0_DRV7) -#define PORT_PA09O_ADC0_DRV7 (_UL_(1) << 9) -#define PIN_PA10O_ADC0_DRV8 _L_(10) /**< \brief ADC0 signal: DRV8 on PA10 mux O */ -#define MUX_PA10O_ADC0_DRV8 _L_(14) -#define PINMUX_PA10O_ADC0_DRV8 ((PIN_PA10O_ADC0_DRV8 << 16) | MUX_PA10O_ADC0_DRV8) -#define PORT_PA10O_ADC0_DRV8 (_UL_(1) << 10) -#define PIN_PA11O_ADC0_DRV9 _L_(11) /**< \brief ADC0 signal: DRV9 on PA11 mux O */ -#define MUX_PA11O_ADC0_DRV9 _L_(14) -#define PINMUX_PA11O_ADC0_DRV9 ((PIN_PA11O_ADC0_DRV9 << 16) | MUX_PA11O_ADC0_DRV9) -#define PORT_PA11O_ADC0_DRV9 (_UL_(1) << 11) -#define PIN_PA16O_ADC0_DRV10 _L_(16) /**< \brief ADC0 signal: DRV10 on PA16 mux O */ -#define MUX_PA16O_ADC0_DRV10 _L_(14) -#define PINMUX_PA16O_ADC0_DRV10 ((PIN_PA16O_ADC0_DRV10 << 16) | MUX_PA16O_ADC0_DRV10) -#define PORT_PA16O_ADC0_DRV10 (_UL_(1) << 16) -#define PIN_PA17O_ADC0_DRV11 _L_(17) /**< \brief ADC0 signal: DRV11 on PA17 mux O */ -#define MUX_PA17O_ADC0_DRV11 _L_(14) -#define PINMUX_PA17O_ADC0_DRV11 ((PIN_PA17O_ADC0_DRV11 << 16) | MUX_PA17O_ADC0_DRV11) -#define PORT_PA17O_ADC0_DRV11 (_UL_(1) << 17) -#define PIN_PA18O_ADC0_DRV12 _L_(18) /**< \brief ADC0 signal: DRV12 on PA18 mux O */ -#define MUX_PA18O_ADC0_DRV12 _L_(14) -#define PINMUX_PA18O_ADC0_DRV12 ((PIN_PA18O_ADC0_DRV12 << 16) | MUX_PA18O_ADC0_DRV12) -#define PORT_PA18O_ADC0_DRV12 (_UL_(1) << 18) -#define PIN_PA19O_ADC0_DRV13 _L_(19) /**< \brief ADC0 signal: DRV13 on PA19 mux O */ -#define MUX_PA19O_ADC0_DRV13 _L_(14) -#define PINMUX_PA19O_ADC0_DRV13 ((PIN_PA19O_ADC0_DRV13 << 16) | MUX_PA19O_ADC0_DRV13) -#define PORT_PA19O_ADC0_DRV13 (_UL_(1) << 19) -#define PIN_PA20O_ADC0_DRV14 _L_(20) /**< \brief ADC0 signal: DRV14 on PA20 mux O */ -#define MUX_PA20O_ADC0_DRV14 _L_(14) -#define PINMUX_PA20O_ADC0_DRV14 ((PIN_PA20O_ADC0_DRV14 << 16) | MUX_PA20O_ADC0_DRV14) -#define PORT_PA20O_ADC0_DRV14 (_UL_(1) << 20) -#define PIN_PA21O_ADC0_DRV15 _L_(21) /**< \brief ADC0 signal: DRV15 on PA21 mux O */ -#define MUX_PA21O_ADC0_DRV15 _L_(14) -#define PINMUX_PA21O_ADC0_DRV15 ((PIN_PA21O_ADC0_DRV15 << 16) | MUX_PA21O_ADC0_DRV15) -#define PORT_PA21O_ADC0_DRV15 (_UL_(1) << 21) -#define PIN_PA22O_ADC0_DRV16 _L_(22) /**< \brief ADC0 signal: DRV16 on PA22 mux O */ -#define MUX_PA22O_ADC0_DRV16 _L_(14) -#define PINMUX_PA22O_ADC0_DRV16 ((PIN_PA22O_ADC0_DRV16 << 16) | MUX_PA22O_ADC0_DRV16) -#define PORT_PA22O_ADC0_DRV16 (_UL_(1) << 22) -#define PIN_PA23O_ADC0_DRV17 _L_(23) /**< \brief ADC0 signal: DRV17 on PA23 mux O */ -#define MUX_PA23O_ADC0_DRV17 _L_(14) -#define PINMUX_PA23O_ADC0_DRV17 ((PIN_PA23O_ADC0_DRV17 << 16) | MUX_PA23O_ADC0_DRV17) -#define PORT_PA23O_ADC0_DRV17 (_UL_(1) << 23) -#define PIN_PA27O_ADC0_DRV18 _L_(27) /**< \brief ADC0 signal: DRV18 on PA27 mux O */ -#define MUX_PA27O_ADC0_DRV18 _L_(14) -#define PINMUX_PA27O_ADC0_DRV18 ((PIN_PA27O_ADC0_DRV18 << 16) | MUX_PA27O_ADC0_DRV18) -#define PORT_PA27O_ADC0_DRV18 (_UL_(1) << 27) -#define PIN_PA30O_ADC0_DRV19 _L_(30) /**< \brief ADC0 signal: DRV19 on PA30 mux O */ -#define MUX_PA30O_ADC0_DRV19 _L_(14) -#define PINMUX_PA30O_ADC0_DRV19 ((PIN_PA30O_ADC0_DRV19 << 16) | MUX_PA30O_ADC0_DRV19) -#define PORT_PA30O_ADC0_DRV19 (_UL_(1) << 30) -#define PIN_PB02O_ADC0_DRV20 _L_(34) /**< \brief ADC0 signal: DRV20 on PB02 mux O */ -#define MUX_PB02O_ADC0_DRV20 _L_(14) -#define PINMUX_PB02O_ADC0_DRV20 ((PIN_PB02O_ADC0_DRV20 << 16) | MUX_PB02O_ADC0_DRV20) -#define PORT_PB02O_ADC0_DRV20 (_UL_(1) << 2) -#define PIN_PB03O_ADC0_DRV21 _L_(35) /**< \brief ADC0 signal: DRV21 on PB03 mux O */ -#define MUX_PB03O_ADC0_DRV21 _L_(14) -#define PINMUX_PB03O_ADC0_DRV21 ((PIN_PB03O_ADC0_DRV21 << 16) | MUX_PB03O_ADC0_DRV21) -#define PORT_PB03O_ADC0_DRV21 (_UL_(1) << 3) -#define PIN_PB04O_ADC0_DRV22 _L_(36) /**< \brief ADC0 signal: DRV22 on PB04 mux O */ -#define MUX_PB04O_ADC0_DRV22 _L_(14) -#define PINMUX_PB04O_ADC0_DRV22 ((PIN_PB04O_ADC0_DRV22 << 16) | MUX_PB04O_ADC0_DRV22) -#define PORT_PB04O_ADC0_DRV22 (_UL_(1) << 4) -#define PIN_PB05O_ADC0_DRV23 _L_(37) /**< \brief ADC0 signal: DRV23 on PB05 mux O */ -#define MUX_PB05O_ADC0_DRV23 _L_(14) -#define PINMUX_PB05O_ADC0_DRV23 ((PIN_PB05O_ADC0_DRV23 << 16) | MUX_PB05O_ADC0_DRV23) -#define PORT_PB05O_ADC0_DRV23 (_UL_(1) << 5) -#define PIN_PB06O_ADC0_DRV24 _L_(38) /**< \brief ADC0 signal: DRV24 on PB06 mux O */ -#define MUX_PB06O_ADC0_DRV24 _L_(14) -#define PINMUX_PB06O_ADC0_DRV24 ((PIN_PB06O_ADC0_DRV24 << 16) | MUX_PB06O_ADC0_DRV24) -#define PORT_PB06O_ADC0_DRV24 (_UL_(1) << 6) -#define PIN_PB07O_ADC0_DRV25 _L_(39) /**< \brief ADC0 signal: DRV25 on PB07 mux O */ -#define MUX_PB07O_ADC0_DRV25 _L_(14) -#define PINMUX_PB07O_ADC0_DRV25 ((PIN_PB07O_ADC0_DRV25 << 16) | MUX_PB07O_ADC0_DRV25) -#define PORT_PB07O_ADC0_DRV25 (_UL_(1) << 7) -#define PIN_PB12O_ADC0_DRV26 _L_(44) /**< \brief ADC0 signal: DRV26 on PB12 mux O */ -#define MUX_PB12O_ADC0_DRV26 _L_(14) -#define PINMUX_PB12O_ADC0_DRV26 ((PIN_PB12O_ADC0_DRV26 << 16) | MUX_PB12O_ADC0_DRV26) -#define PORT_PB12O_ADC0_DRV26 (_UL_(1) << 12) -#define PIN_PB13O_ADC0_DRV27 _L_(45) /**< \brief ADC0 signal: DRV27 on PB13 mux O */ -#define MUX_PB13O_ADC0_DRV27 _L_(14) -#define PINMUX_PB13O_ADC0_DRV27 ((PIN_PB13O_ADC0_DRV27 << 16) | MUX_PB13O_ADC0_DRV27) -#define PORT_PB13O_ADC0_DRV27 (_UL_(1) << 13) -#define PIN_PB14O_ADC0_DRV28 _L_(46) /**< \brief ADC0 signal: DRV28 on PB14 mux O */ -#define MUX_PB14O_ADC0_DRV28 _L_(14) -#define PINMUX_PB14O_ADC0_DRV28 ((PIN_PB14O_ADC0_DRV28 << 16) | MUX_PB14O_ADC0_DRV28) -#define PORT_PB14O_ADC0_DRV28 (_UL_(1) << 14) -#define PIN_PB15O_ADC0_DRV29 _L_(47) /**< \brief ADC0 signal: DRV29 on PB15 mux O */ -#define MUX_PB15O_ADC0_DRV29 _L_(14) -#define PINMUX_PB15O_ADC0_DRV29 ((PIN_PB15O_ADC0_DRV29 << 16) | MUX_PB15O_ADC0_DRV29) -#define PORT_PB15O_ADC0_DRV29 (_UL_(1) << 15) -#define PIN_PB00O_ADC0_DRV30 _L_(32) /**< \brief ADC0 signal: DRV30 on PB00 mux O */ -#define MUX_PB00O_ADC0_DRV30 _L_(14) -#define PINMUX_PB00O_ADC0_DRV30 ((PIN_PB00O_ADC0_DRV30 << 16) | MUX_PB00O_ADC0_DRV30) -#define PORT_PB00O_ADC0_DRV30 (_UL_(1) << 0) -#define PIN_PB01O_ADC0_DRV31 _L_(33) /**< \brief ADC0 signal: DRV31 on PB01 mux O */ -#define MUX_PB01O_ADC0_DRV31 _L_(14) -#define PINMUX_PB01O_ADC0_DRV31 ((PIN_PB01O_ADC0_DRV31 << 16) | MUX_PB01O_ADC0_DRV31) -#define PORT_PB01O_ADC0_DRV31 (_UL_(1) << 1) -#define PIN_PA03B_ADC0_PTCXY0 _L_(3) /**< \brief ADC0 signal: PTCXY0 on PA03 mux B */ -#define MUX_PA03B_ADC0_PTCXY0 _L_(1) -#define PINMUX_PA03B_ADC0_PTCXY0 ((PIN_PA03B_ADC0_PTCXY0 << 16) | MUX_PA03B_ADC0_PTCXY0) -#define PORT_PA03B_ADC0_PTCXY0 (_UL_(1) << 3) -#define PIN_PB08B_ADC0_PTCXY1 _L_(40) /**< \brief ADC0 signal: PTCXY1 on PB08 mux B */ -#define MUX_PB08B_ADC0_PTCXY1 _L_(1) -#define PINMUX_PB08B_ADC0_PTCXY1 ((PIN_PB08B_ADC0_PTCXY1 << 16) | MUX_PB08B_ADC0_PTCXY1) -#define PORT_PB08B_ADC0_PTCXY1 (_UL_(1) << 8) -#define PIN_PB09B_ADC0_PTCXY2 _L_(41) /**< \brief ADC0 signal: PTCXY2 on PB09 mux B */ -#define MUX_PB09B_ADC0_PTCXY2 _L_(1) -#define PINMUX_PB09B_ADC0_PTCXY2 ((PIN_PB09B_ADC0_PTCXY2 << 16) | MUX_PB09B_ADC0_PTCXY2) -#define PORT_PB09B_ADC0_PTCXY2 (_UL_(1) << 9) -#define PIN_PA04B_ADC0_PTCXY3 _L_(4) /**< \brief ADC0 signal: PTCXY3 on PA04 mux B */ -#define MUX_PA04B_ADC0_PTCXY3 _L_(1) -#define PINMUX_PA04B_ADC0_PTCXY3 ((PIN_PA04B_ADC0_PTCXY3 << 16) | MUX_PA04B_ADC0_PTCXY3) -#define PORT_PA04B_ADC0_PTCXY3 (_UL_(1) << 4) -#define PIN_PA06B_ADC0_PTCXY4 _L_(6) /**< \brief ADC0 signal: PTCXY4 on PA06 mux B */ -#define MUX_PA06B_ADC0_PTCXY4 _L_(1) -#define PINMUX_PA06B_ADC0_PTCXY4 ((PIN_PA06B_ADC0_PTCXY4 << 16) | MUX_PA06B_ADC0_PTCXY4) -#define PORT_PA06B_ADC0_PTCXY4 (_UL_(1) << 6) -#define PIN_PA07B_ADC0_PTCXY5 _L_(7) /**< \brief ADC0 signal: PTCXY5 on PA07 mux B */ -#define MUX_PA07B_ADC0_PTCXY5 _L_(1) -#define PINMUX_PA07B_ADC0_PTCXY5 ((PIN_PA07B_ADC0_PTCXY5 << 16) | MUX_PA07B_ADC0_PTCXY5) -#define PORT_PA07B_ADC0_PTCXY5 (_UL_(1) << 7) -#define PIN_PA08B_ADC0_PTCXY6 _L_(8) /**< \brief ADC0 signal: PTCXY6 on PA08 mux B */ -#define MUX_PA08B_ADC0_PTCXY6 _L_(1) -#define PINMUX_PA08B_ADC0_PTCXY6 ((PIN_PA08B_ADC0_PTCXY6 << 16) | MUX_PA08B_ADC0_PTCXY6) -#define PORT_PA08B_ADC0_PTCXY6 (_UL_(1) << 8) -#define PIN_PA09B_ADC0_PTCXY7 _L_(9) /**< \brief ADC0 signal: PTCXY7 on PA09 mux B */ -#define MUX_PA09B_ADC0_PTCXY7 _L_(1) -#define PINMUX_PA09B_ADC0_PTCXY7 ((PIN_PA09B_ADC0_PTCXY7 << 16) | MUX_PA09B_ADC0_PTCXY7) -#define PORT_PA09B_ADC0_PTCXY7 (_UL_(1) << 9) -#define PIN_PA10B_ADC0_PTCXY8 _L_(10) /**< \brief ADC0 signal: PTCXY8 on PA10 mux B */ -#define MUX_PA10B_ADC0_PTCXY8 _L_(1) -#define PINMUX_PA10B_ADC0_PTCXY8 ((PIN_PA10B_ADC0_PTCXY8 << 16) | MUX_PA10B_ADC0_PTCXY8) -#define PORT_PA10B_ADC0_PTCXY8 (_UL_(1) << 10) -#define PIN_PA11B_ADC0_PTCXY9 _L_(11) /**< \brief ADC0 signal: PTCXY9 on PA11 mux B */ -#define MUX_PA11B_ADC0_PTCXY9 _L_(1) -#define PINMUX_PA11B_ADC0_PTCXY9 ((PIN_PA11B_ADC0_PTCXY9 << 16) | MUX_PA11B_ADC0_PTCXY9) -#define PORT_PA11B_ADC0_PTCXY9 (_UL_(1) << 11) -#define PIN_PA16B_ADC0_PTCXY10 _L_(16) /**< \brief ADC0 signal: PTCXY10 on PA16 mux B */ -#define MUX_PA16B_ADC0_PTCXY10 _L_(1) -#define PINMUX_PA16B_ADC0_PTCXY10 ((PIN_PA16B_ADC0_PTCXY10 << 16) | MUX_PA16B_ADC0_PTCXY10) -#define PORT_PA16B_ADC0_PTCXY10 (_UL_(1) << 16) -#define PIN_PA17B_ADC0_PTCXY11 _L_(17) /**< \brief ADC0 signal: PTCXY11 on PA17 mux B */ -#define MUX_PA17B_ADC0_PTCXY11 _L_(1) -#define PINMUX_PA17B_ADC0_PTCXY11 ((PIN_PA17B_ADC0_PTCXY11 << 16) | MUX_PA17B_ADC0_PTCXY11) -#define PORT_PA17B_ADC0_PTCXY11 (_UL_(1) << 17) -#define PIN_PA18B_ADC0_PTCXY12 _L_(18) /**< \brief ADC0 signal: PTCXY12 on PA18 mux B */ -#define MUX_PA18B_ADC0_PTCXY12 _L_(1) -#define PINMUX_PA18B_ADC0_PTCXY12 ((PIN_PA18B_ADC0_PTCXY12 << 16) | MUX_PA18B_ADC0_PTCXY12) -#define PORT_PA18B_ADC0_PTCXY12 (_UL_(1) << 18) -#define PIN_PA19B_ADC0_PTCXY13 _L_(19) /**< \brief ADC0 signal: PTCXY13 on PA19 mux B */ -#define MUX_PA19B_ADC0_PTCXY13 _L_(1) -#define PINMUX_PA19B_ADC0_PTCXY13 ((PIN_PA19B_ADC0_PTCXY13 << 16) | MUX_PA19B_ADC0_PTCXY13) -#define PORT_PA19B_ADC0_PTCXY13 (_UL_(1) << 19) -#define PIN_PA20B_ADC0_PTCXY14 _L_(20) /**< \brief ADC0 signal: PTCXY14 on PA20 mux B */ -#define MUX_PA20B_ADC0_PTCXY14 _L_(1) -#define PINMUX_PA20B_ADC0_PTCXY14 ((PIN_PA20B_ADC0_PTCXY14 << 16) | MUX_PA20B_ADC0_PTCXY14) -#define PORT_PA20B_ADC0_PTCXY14 (_UL_(1) << 20) -#define PIN_PA21B_ADC0_PTCXY15 _L_(21) /**< \brief ADC0 signal: PTCXY15 on PA21 mux B */ -#define MUX_PA21B_ADC0_PTCXY15 _L_(1) -#define PINMUX_PA21B_ADC0_PTCXY15 ((PIN_PA21B_ADC0_PTCXY15 << 16) | MUX_PA21B_ADC0_PTCXY15) -#define PORT_PA21B_ADC0_PTCXY15 (_UL_(1) << 21) -#define PIN_PA22B_ADC0_PTCXY16 _L_(22) /**< \brief ADC0 signal: PTCXY16 on PA22 mux B */ -#define MUX_PA22B_ADC0_PTCXY16 _L_(1) -#define PINMUX_PA22B_ADC0_PTCXY16 ((PIN_PA22B_ADC0_PTCXY16 << 16) | MUX_PA22B_ADC0_PTCXY16) -#define PORT_PA22B_ADC0_PTCXY16 (_UL_(1) << 22) -#define PIN_PA23B_ADC0_PTCXY17 _L_(23) /**< \brief ADC0 signal: PTCXY17 on PA23 mux B */ -#define MUX_PA23B_ADC0_PTCXY17 _L_(1) -#define PINMUX_PA23B_ADC0_PTCXY17 ((PIN_PA23B_ADC0_PTCXY17 << 16) | MUX_PA23B_ADC0_PTCXY17) -#define PORT_PA23B_ADC0_PTCXY17 (_UL_(1) << 23) -#define PIN_PA27B_ADC0_PTCXY18 _L_(27) /**< \brief ADC0 signal: PTCXY18 on PA27 mux B */ -#define MUX_PA27B_ADC0_PTCXY18 _L_(1) -#define PINMUX_PA27B_ADC0_PTCXY18 ((PIN_PA27B_ADC0_PTCXY18 << 16) | MUX_PA27B_ADC0_PTCXY18) -#define PORT_PA27B_ADC0_PTCXY18 (_UL_(1) << 27) -#define PIN_PA30B_ADC0_PTCXY19 _L_(30) /**< \brief ADC0 signal: PTCXY19 on PA30 mux B */ -#define MUX_PA30B_ADC0_PTCXY19 _L_(1) -#define PINMUX_PA30B_ADC0_PTCXY19 ((PIN_PA30B_ADC0_PTCXY19 << 16) | MUX_PA30B_ADC0_PTCXY19) -#define PORT_PA30B_ADC0_PTCXY19 (_UL_(1) << 30) -#define PIN_PB02B_ADC0_PTCXY20 _L_(34) /**< \brief ADC0 signal: PTCXY20 on PB02 mux B */ -#define MUX_PB02B_ADC0_PTCXY20 _L_(1) -#define PINMUX_PB02B_ADC0_PTCXY20 ((PIN_PB02B_ADC0_PTCXY20 << 16) | MUX_PB02B_ADC0_PTCXY20) -#define PORT_PB02B_ADC0_PTCXY20 (_UL_(1) << 2) -#define PIN_PB03B_ADC0_PTCXY21 _L_(35) /**< \brief ADC0 signal: PTCXY21 on PB03 mux B */ -#define MUX_PB03B_ADC0_PTCXY21 _L_(1) -#define PINMUX_PB03B_ADC0_PTCXY21 ((PIN_PB03B_ADC0_PTCXY21 << 16) | MUX_PB03B_ADC0_PTCXY21) -#define PORT_PB03B_ADC0_PTCXY21 (_UL_(1) << 3) -#define PIN_PB04B_ADC0_PTCXY22 _L_(36) /**< \brief ADC0 signal: PTCXY22 on PB04 mux B */ -#define MUX_PB04B_ADC0_PTCXY22 _L_(1) -#define PINMUX_PB04B_ADC0_PTCXY22 ((PIN_PB04B_ADC0_PTCXY22 << 16) | MUX_PB04B_ADC0_PTCXY22) -#define PORT_PB04B_ADC0_PTCXY22 (_UL_(1) << 4) -#define PIN_PB05B_ADC0_PTCXY23 _L_(37) /**< \brief ADC0 signal: PTCXY23 on PB05 mux B */ -#define MUX_PB05B_ADC0_PTCXY23 _L_(1) -#define PINMUX_PB05B_ADC0_PTCXY23 ((PIN_PB05B_ADC0_PTCXY23 << 16) | MUX_PB05B_ADC0_PTCXY23) -#define PORT_PB05B_ADC0_PTCXY23 (_UL_(1) << 5) -#define PIN_PB06B_ADC0_PTCXY24 _L_(38) /**< \brief ADC0 signal: PTCXY24 on PB06 mux B */ -#define MUX_PB06B_ADC0_PTCXY24 _L_(1) -#define PINMUX_PB06B_ADC0_PTCXY24 ((PIN_PB06B_ADC0_PTCXY24 << 16) | MUX_PB06B_ADC0_PTCXY24) -#define PORT_PB06B_ADC0_PTCXY24 (_UL_(1) << 6) -#define PIN_PB07B_ADC0_PTCXY25 _L_(39) /**< \brief ADC0 signal: PTCXY25 on PB07 mux B */ -#define MUX_PB07B_ADC0_PTCXY25 _L_(1) -#define PINMUX_PB07B_ADC0_PTCXY25 ((PIN_PB07B_ADC0_PTCXY25 << 16) | MUX_PB07B_ADC0_PTCXY25) -#define PORT_PB07B_ADC0_PTCXY25 (_UL_(1) << 7) -#define PIN_PB12B_ADC0_PTCXY26 _L_(44) /**< \brief ADC0 signal: PTCXY26 on PB12 mux B */ -#define MUX_PB12B_ADC0_PTCXY26 _L_(1) -#define PINMUX_PB12B_ADC0_PTCXY26 ((PIN_PB12B_ADC0_PTCXY26 << 16) | MUX_PB12B_ADC0_PTCXY26) -#define PORT_PB12B_ADC0_PTCXY26 (_UL_(1) << 12) -#define PIN_PB13B_ADC0_PTCXY27 _L_(45) /**< \brief ADC0 signal: PTCXY27 on PB13 mux B */ -#define MUX_PB13B_ADC0_PTCXY27 _L_(1) -#define PINMUX_PB13B_ADC0_PTCXY27 ((PIN_PB13B_ADC0_PTCXY27 << 16) | MUX_PB13B_ADC0_PTCXY27) -#define PORT_PB13B_ADC0_PTCXY27 (_UL_(1) << 13) -#define PIN_PB14B_ADC0_PTCXY28 _L_(46) /**< \brief ADC0 signal: PTCXY28 on PB14 mux B */ -#define MUX_PB14B_ADC0_PTCXY28 _L_(1) -#define PINMUX_PB14B_ADC0_PTCXY28 ((PIN_PB14B_ADC0_PTCXY28 << 16) | MUX_PB14B_ADC0_PTCXY28) -#define PORT_PB14B_ADC0_PTCXY28 (_UL_(1) << 14) -#define PIN_PB15B_ADC0_PTCXY29 _L_(47) /**< \brief ADC0 signal: PTCXY29 on PB15 mux B */ -#define MUX_PB15B_ADC0_PTCXY29 _L_(1) -#define PINMUX_PB15B_ADC0_PTCXY29 ((PIN_PB15B_ADC0_PTCXY29 << 16) | MUX_PB15B_ADC0_PTCXY29) -#define PORT_PB15B_ADC0_PTCXY29 (_UL_(1) << 15) -#define PIN_PB00B_ADC0_PTCXY30 _L_(32) /**< \brief ADC0 signal: PTCXY30 on PB00 mux B */ -#define MUX_PB00B_ADC0_PTCXY30 _L_(1) -#define PINMUX_PB00B_ADC0_PTCXY30 ((PIN_PB00B_ADC0_PTCXY30 << 16) | MUX_PB00B_ADC0_PTCXY30) -#define PORT_PB00B_ADC0_PTCXY30 (_UL_(1) << 0) -#define PIN_PB01B_ADC0_PTCXY31 _L_(33) /**< \brief ADC0 signal: PTCXY31 on PB01 mux B */ -#define MUX_PB01B_ADC0_PTCXY31 _L_(1) -#define PINMUX_PB01B_ADC0_PTCXY31 ((PIN_PB01B_ADC0_PTCXY31 << 16) | MUX_PB01B_ADC0_PTCXY31) -#define PORT_PB01B_ADC0_PTCXY31 (_UL_(1) << 1) -/* ========== PORT definition for ADC1 peripheral ========== */ -#define PIN_PB08B_ADC1_AIN0 _L_(40) /**< \brief ADC1 signal: AIN0 on PB08 mux B */ -#define MUX_PB08B_ADC1_AIN0 _L_(1) -#define PINMUX_PB08B_ADC1_AIN0 ((PIN_PB08B_ADC1_AIN0 << 16) | MUX_PB08B_ADC1_AIN0) -#define PORT_PB08B_ADC1_AIN0 (_UL_(1) << 8) -#define PIN_PB09B_ADC1_AIN1 _L_(41) /**< \brief ADC1 signal: AIN1 on PB09 mux B */ -#define MUX_PB09B_ADC1_AIN1 _L_(1) -#define PINMUX_PB09B_ADC1_AIN1 ((PIN_PB09B_ADC1_AIN1 << 16) | MUX_PB09B_ADC1_AIN1) -#define PORT_PB09B_ADC1_AIN1 (_UL_(1) << 9) -#define PIN_PA08B_ADC1_AIN2 _L_(8) /**< \brief ADC1 signal: AIN2 on PA08 mux B */ -#define MUX_PA08B_ADC1_AIN2 _L_(1) -#define PINMUX_PA08B_ADC1_AIN2 ((PIN_PA08B_ADC1_AIN2 << 16) | MUX_PA08B_ADC1_AIN2) -#define PORT_PA08B_ADC1_AIN2 (_UL_(1) << 8) -#define PIN_PA09B_ADC1_AIN3 _L_(9) /**< \brief ADC1 signal: AIN3 on PA09 mux B */ -#define MUX_PA09B_ADC1_AIN3 _L_(1) -#define PINMUX_PA09B_ADC1_AIN3 ((PIN_PA09B_ADC1_AIN3 << 16) | MUX_PA09B_ADC1_AIN3) -#define PORT_PA09B_ADC1_AIN3 (_UL_(1) << 9) -#define PIN_PC02B_ADC1_AIN4 _L_(66) /**< \brief ADC1 signal: AIN4 on PC02 mux B */ -#define MUX_PC02B_ADC1_AIN4 _L_(1) -#define PINMUX_PC02B_ADC1_AIN4 ((PIN_PC02B_ADC1_AIN4 << 16) | MUX_PC02B_ADC1_AIN4) -#define PORT_PC02B_ADC1_AIN4 (_UL_(1) << 2) -#define PIN_PC03B_ADC1_AIN5 _L_(67) /**< \brief ADC1 signal: AIN5 on PC03 mux B */ -#define MUX_PC03B_ADC1_AIN5 _L_(1) -#define PINMUX_PC03B_ADC1_AIN5 ((PIN_PC03B_ADC1_AIN5 << 16) | MUX_PC03B_ADC1_AIN5) -#define PORT_PC03B_ADC1_AIN5 (_UL_(1) << 3) -#define PIN_PB04B_ADC1_AIN6 _L_(36) /**< \brief ADC1 signal: AIN6 on PB04 mux B */ -#define MUX_PB04B_ADC1_AIN6 _L_(1) -#define PINMUX_PB04B_ADC1_AIN6 ((PIN_PB04B_ADC1_AIN6 << 16) | MUX_PB04B_ADC1_AIN6) -#define PORT_PB04B_ADC1_AIN6 (_UL_(1) << 4) -#define PIN_PB05B_ADC1_AIN7 _L_(37) /**< \brief ADC1 signal: AIN7 on PB05 mux B */ -#define MUX_PB05B_ADC1_AIN7 _L_(1) -#define PINMUX_PB05B_ADC1_AIN7 ((PIN_PB05B_ADC1_AIN7 << 16) | MUX_PB05B_ADC1_AIN7) -#define PORT_PB05B_ADC1_AIN7 (_UL_(1) << 5) -#define PIN_PB06B_ADC1_AIN8 _L_(38) /**< \brief ADC1 signal: AIN8 on PB06 mux B */ -#define MUX_PB06B_ADC1_AIN8 _L_(1) -#define PINMUX_PB06B_ADC1_AIN8 ((PIN_PB06B_ADC1_AIN8 << 16) | MUX_PB06B_ADC1_AIN8) -#define PORT_PB06B_ADC1_AIN8 (_UL_(1) << 6) -#define PIN_PB07B_ADC1_AIN9 _L_(39) /**< \brief ADC1 signal: AIN9 on PB07 mux B */ -#define MUX_PB07B_ADC1_AIN9 _L_(1) -#define PINMUX_PB07B_ADC1_AIN9 ((PIN_PB07B_ADC1_AIN9 << 16) | MUX_PB07B_ADC1_AIN9) -#define PORT_PB07B_ADC1_AIN9 (_UL_(1) << 7) -#define PIN_PC00B_ADC1_AIN10 _L_(64) /**< \brief ADC1 signal: AIN10 on PC00 mux B */ -#define MUX_PC00B_ADC1_AIN10 _L_(1) -#define PINMUX_PC00B_ADC1_AIN10 ((PIN_PC00B_ADC1_AIN10 << 16) | MUX_PC00B_ADC1_AIN10) -#define PORT_PC00B_ADC1_AIN10 (_UL_(1) << 0) -#define PIN_PC01B_ADC1_AIN11 _L_(65) /**< \brief ADC1 signal: AIN11 on PC01 mux B */ -#define MUX_PC01B_ADC1_AIN11 _L_(1) -#define PINMUX_PC01B_ADC1_AIN11 ((PIN_PC01B_ADC1_AIN11 << 16) | MUX_PC01B_ADC1_AIN11) -#define PORT_PC01B_ADC1_AIN11 (_UL_(1) << 1) -/* ========== PORT definition for DAC peripheral ========== */ -#define PIN_PA02B_DAC_VOUT0 _L_(2) /**< \brief DAC signal: VOUT0 on PA02 mux B */ -#define MUX_PA02B_DAC_VOUT0 _L_(1) -#define PINMUX_PA02B_DAC_VOUT0 ((PIN_PA02B_DAC_VOUT0 << 16) | MUX_PA02B_DAC_VOUT0) -#define PORT_PA02B_DAC_VOUT0 (_UL_(1) << 2) -#define PIN_PA05B_DAC_VOUT1 _L_(5) /**< \brief DAC signal: VOUT1 on PA05 mux B */ -#define MUX_PA05B_DAC_VOUT1 _L_(1) -#define PINMUX_PA05B_DAC_VOUT1 ((PIN_PA05B_DAC_VOUT1 << 16) | MUX_PA05B_DAC_VOUT1) -#define PORT_PA05B_DAC_VOUT1 (_UL_(1) << 5) -/* ========== PORT definition for I2S peripheral ========== */ -#define PIN_PA09J_I2S_FS0 _L_(9) /**< \brief I2S signal: FS0 on PA09 mux J */ -#define MUX_PA09J_I2S_FS0 _L_(9) -#define PINMUX_PA09J_I2S_FS0 ((PIN_PA09J_I2S_FS0 << 16) | MUX_PA09J_I2S_FS0) -#define PORT_PA09J_I2S_FS0 (_UL_(1) << 9) -#define PIN_PA20J_I2S_FS0 _L_(20) /**< \brief I2S signal: FS0 on PA20 mux J */ -#define MUX_PA20J_I2S_FS0 _L_(9) -#define PINMUX_PA20J_I2S_FS0 ((PIN_PA20J_I2S_FS0 << 16) | MUX_PA20J_I2S_FS0) -#define PORT_PA20J_I2S_FS0 (_UL_(1) << 20) -#define PIN_PA23J_I2S_FS1 _L_(23) /**< \brief I2S signal: FS1 on PA23 mux J */ -#define MUX_PA23J_I2S_FS1 _L_(9) -#define PINMUX_PA23J_I2S_FS1 ((PIN_PA23J_I2S_FS1 << 16) | MUX_PA23J_I2S_FS1) -#define PORT_PA23J_I2S_FS1 (_UL_(1) << 23) -#define PIN_PB11J_I2S_FS1 _L_(43) /**< \brief I2S signal: FS1 on PB11 mux J */ -#define MUX_PB11J_I2S_FS1 _L_(9) -#define PINMUX_PB11J_I2S_FS1 ((PIN_PB11J_I2S_FS1 << 16) | MUX_PB11J_I2S_FS1) -#define PORT_PB11J_I2S_FS1 (_UL_(1) << 11) -#define PIN_PA08J_I2S_MCK0 _L_(8) /**< \brief I2S signal: MCK0 on PA08 mux J */ -#define MUX_PA08J_I2S_MCK0 _L_(9) -#define PINMUX_PA08J_I2S_MCK0 ((PIN_PA08J_I2S_MCK0 << 16) | MUX_PA08J_I2S_MCK0) -#define PORT_PA08J_I2S_MCK0 (_UL_(1) << 8) -#define PIN_PB17J_I2S_MCK0 _L_(49) /**< \brief I2S signal: MCK0 on PB17 mux J */ -#define MUX_PB17J_I2S_MCK0 _L_(9) -#define PINMUX_PB17J_I2S_MCK0 ((PIN_PB17J_I2S_MCK0 << 16) | MUX_PB17J_I2S_MCK0) -#define PORT_PB17J_I2S_MCK0 (_UL_(1) << 17) -#define PIN_PB13J_I2S_MCK1 _L_(45) /**< \brief I2S signal: MCK1 on PB13 mux J */ -#define MUX_PB13J_I2S_MCK1 _L_(9) -#define PINMUX_PB13J_I2S_MCK1 ((PIN_PB13J_I2S_MCK1 << 16) | MUX_PB13J_I2S_MCK1) -#define PORT_PB13J_I2S_MCK1 (_UL_(1) << 13) -#define PIN_PA10J_I2S_SCK0 _L_(10) /**< \brief I2S signal: SCK0 on PA10 mux J */ -#define MUX_PA10J_I2S_SCK0 _L_(9) -#define PINMUX_PA10J_I2S_SCK0 ((PIN_PA10J_I2S_SCK0 << 16) | MUX_PA10J_I2S_SCK0) -#define PORT_PA10J_I2S_SCK0 (_UL_(1) << 10) -#define PIN_PB16J_I2S_SCK0 _L_(48) /**< \brief I2S signal: SCK0 on PB16 mux J */ -#define MUX_PB16J_I2S_SCK0 _L_(9) -#define PINMUX_PB16J_I2S_SCK0 ((PIN_PB16J_I2S_SCK0 << 16) | MUX_PB16J_I2S_SCK0) -#define PORT_PB16J_I2S_SCK0 (_UL_(1) << 16) -#define PIN_PB12J_I2S_SCK1 _L_(44) /**< \brief I2S signal: SCK1 on PB12 mux J */ -#define MUX_PB12J_I2S_SCK1 _L_(9) -#define PINMUX_PB12J_I2S_SCK1 ((PIN_PB12J_I2S_SCK1 << 16) | MUX_PB12J_I2S_SCK1) -#define PORT_PB12J_I2S_SCK1 (_UL_(1) << 12) -#define PIN_PA22J_I2S_SDI _L_(22) /**< \brief I2S signal: SDI on PA22 mux J */ -#define MUX_PA22J_I2S_SDI _L_(9) -#define PINMUX_PA22J_I2S_SDI ((PIN_PA22J_I2S_SDI << 16) | MUX_PA22J_I2S_SDI) -#define PORT_PA22J_I2S_SDI (_UL_(1) << 22) -#define PIN_PB10J_I2S_SDI _L_(42) /**< \brief I2S signal: SDI on PB10 mux J */ -#define MUX_PB10J_I2S_SDI _L_(9) -#define PINMUX_PB10J_I2S_SDI ((PIN_PB10J_I2S_SDI << 16) | MUX_PB10J_I2S_SDI) -#define PORT_PB10J_I2S_SDI (_UL_(1) << 10) -#define PIN_PA11J_I2S_SDO _L_(11) /**< \brief I2S signal: SDO on PA11 mux J */ -#define MUX_PA11J_I2S_SDO _L_(9) -#define PINMUX_PA11J_I2S_SDO ((PIN_PA11J_I2S_SDO << 16) | MUX_PA11J_I2S_SDO) -#define PORT_PA11J_I2S_SDO (_UL_(1) << 11) -#define PIN_PA21J_I2S_SDO _L_(21) /**< \brief I2S signal: SDO on PA21 mux J */ -#define MUX_PA21J_I2S_SDO _L_(9) -#define PINMUX_PA21J_I2S_SDO ((PIN_PA21J_I2S_SDO << 16) | MUX_PA21J_I2S_SDO) -#define PORT_PA21J_I2S_SDO (_UL_(1) << 21) -/* ========== PORT definition for PCC peripheral ========== */ -#define PIN_PA14K_PCC_CLK _L_(14) /**< \brief PCC signal: CLK on PA14 mux K */ -#define MUX_PA14K_PCC_CLK _L_(10) -#define PINMUX_PA14K_PCC_CLK ((PIN_PA14K_PCC_CLK << 16) | MUX_PA14K_PCC_CLK) -#define PORT_PA14K_PCC_CLK (_UL_(1) << 14) -#define PIN_PA16K_PCC_DATA0 _L_(16) /**< \brief PCC signal: DATA0 on PA16 mux K */ -#define MUX_PA16K_PCC_DATA0 _L_(10) -#define PINMUX_PA16K_PCC_DATA0 ((PIN_PA16K_PCC_DATA0 << 16) | MUX_PA16K_PCC_DATA0) -#define PORT_PA16K_PCC_DATA0 (_UL_(1) << 16) -#define PIN_PA17K_PCC_DATA1 _L_(17) /**< \brief PCC signal: DATA1 on PA17 mux K */ -#define MUX_PA17K_PCC_DATA1 _L_(10) -#define PINMUX_PA17K_PCC_DATA1 ((PIN_PA17K_PCC_DATA1 << 16) | MUX_PA17K_PCC_DATA1) -#define PORT_PA17K_PCC_DATA1 (_UL_(1) << 17) -#define PIN_PA18K_PCC_DATA2 _L_(18) /**< \brief PCC signal: DATA2 on PA18 mux K */ -#define MUX_PA18K_PCC_DATA2 _L_(10) -#define PINMUX_PA18K_PCC_DATA2 ((PIN_PA18K_PCC_DATA2 << 16) | MUX_PA18K_PCC_DATA2) -#define PORT_PA18K_PCC_DATA2 (_UL_(1) << 18) -#define PIN_PA19K_PCC_DATA3 _L_(19) /**< \brief PCC signal: DATA3 on PA19 mux K */ -#define MUX_PA19K_PCC_DATA3 _L_(10) -#define PINMUX_PA19K_PCC_DATA3 ((PIN_PA19K_PCC_DATA3 << 16) | MUX_PA19K_PCC_DATA3) -#define PORT_PA19K_PCC_DATA3 (_UL_(1) << 19) -#define PIN_PA20K_PCC_DATA4 _L_(20) /**< \brief PCC signal: DATA4 on PA20 mux K */ -#define MUX_PA20K_PCC_DATA4 _L_(10) -#define PINMUX_PA20K_PCC_DATA4 ((PIN_PA20K_PCC_DATA4 << 16) | MUX_PA20K_PCC_DATA4) -#define PORT_PA20K_PCC_DATA4 (_UL_(1) << 20) -#define PIN_PA21K_PCC_DATA5 _L_(21) /**< \brief PCC signal: DATA5 on PA21 mux K */ -#define MUX_PA21K_PCC_DATA5 _L_(10) -#define PINMUX_PA21K_PCC_DATA5 ((PIN_PA21K_PCC_DATA5 << 16) | MUX_PA21K_PCC_DATA5) -#define PORT_PA21K_PCC_DATA5 (_UL_(1) << 21) -#define PIN_PA22K_PCC_DATA6 _L_(22) /**< \brief PCC signal: DATA6 on PA22 mux K */ -#define MUX_PA22K_PCC_DATA6 _L_(10) -#define PINMUX_PA22K_PCC_DATA6 ((PIN_PA22K_PCC_DATA6 << 16) | MUX_PA22K_PCC_DATA6) -#define PORT_PA22K_PCC_DATA6 (_UL_(1) << 22) -#define PIN_PA23K_PCC_DATA7 _L_(23) /**< \brief PCC signal: DATA7 on PA23 mux K */ -#define MUX_PA23K_PCC_DATA7 _L_(10) -#define PINMUX_PA23K_PCC_DATA7 ((PIN_PA23K_PCC_DATA7 << 16) | MUX_PA23K_PCC_DATA7) -#define PORT_PA23K_PCC_DATA7 (_UL_(1) << 23) -#define PIN_PB14K_PCC_DATA8 _L_(46) /**< \brief PCC signal: DATA8 on PB14 mux K */ -#define MUX_PB14K_PCC_DATA8 _L_(10) -#define PINMUX_PB14K_PCC_DATA8 ((PIN_PB14K_PCC_DATA8 << 16) | MUX_PB14K_PCC_DATA8) -#define PORT_PB14K_PCC_DATA8 (_UL_(1) << 14) -#define PIN_PB15K_PCC_DATA9 _L_(47) /**< \brief PCC signal: DATA9 on PB15 mux K */ -#define MUX_PB15K_PCC_DATA9 _L_(10) -#define PINMUX_PB15K_PCC_DATA9 ((PIN_PB15K_PCC_DATA9 << 16) | MUX_PB15K_PCC_DATA9) -#define PORT_PB15K_PCC_DATA9 (_UL_(1) << 15) -#define PIN_PC12K_PCC_DATA10 _L_(76) /**< \brief PCC signal: DATA10 on PC12 mux K */ -#define MUX_PC12K_PCC_DATA10 _L_(10) -#define PINMUX_PC12K_PCC_DATA10 ((PIN_PC12K_PCC_DATA10 << 16) | MUX_PC12K_PCC_DATA10) -#define PORT_PC12K_PCC_DATA10 (_UL_(1) << 12) -#define PIN_PC13K_PCC_DATA11 _L_(77) /**< \brief PCC signal: DATA11 on PC13 mux K */ -#define MUX_PC13K_PCC_DATA11 _L_(10) -#define PINMUX_PC13K_PCC_DATA11 ((PIN_PC13K_PCC_DATA11 << 16) | MUX_PC13K_PCC_DATA11) -#define PORT_PC13K_PCC_DATA11 (_UL_(1) << 13) -#define PIN_PC14K_PCC_DATA12 _L_(78) /**< \brief PCC signal: DATA12 on PC14 mux K */ -#define MUX_PC14K_PCC_DATA12 _L_(10) -#define PINMUX_PC14K_PCC_DATA12 ((PIN_PC14K_PCC_DATA12 << 16) | MUX_PC14K_PCC_DATA12) -#define PORT_PC14K_PCC_DATA12 (_UL_(1) << 14) -#define PIN_PC15K_PCC_DATA13 _L_(79) /**< \brief PCC signal: DATA13 on PC15 mux K */ -#define MUX_PC15K_PCC_DATA13 _L_(10) -#define PINMUX_PC15K_PCC_DATA13 ((PIN_PC15K_PCC_DATA13 << 16) | MUX_PC15K_PCC_DATA13) -#define PORT_PC15K_PCC_DATA13 (_UL_(1) << 15) -#define PIN_PA12K_PCC_DEN1 _L_(12) /**< \brief PCC signal: DEN1 on PA12 mux K */ -#define MUX_PA12K_PCC_DEN1 _L_(10) -#define PINMUX_PA12K_PCC_DEN1 ((PIN_PA12K_PCC_DEN1 << 16) | MUX_PA12K_PCC_DEN1) -#define PORT_PA12K_PCC_DEN1 (_UL_(1) << 12) -#define PIN_PA13K_PCC_DEN2 _L_(13) /**< \brief PCC signal: DEN2 on PA13 mux K */ -#define MUX_PA13K_PCC_DEN2 _L_(10) -#define PINMUX_PA13K_PCC_DEN2 ((PIN_PA13K_PCC_DEN2 << 16) | MUX_PA13K_PCC_DEN2) -#define PORT_PA13K_PCC_DEN2 (_UL_(1) << 13) -/* ========== PORT definition for SDHC0 peripheral ========== */ -#define PIN_PA06I_SDHC0_SDCD _L_(6) /**< \brief SDHC0 signal: SDCD on PA06 mux I */ -#define MUX_PA06I_SDHC0_SDCD _L_(8) -#define PINMUX_PA06I_SDHC0_SDCD ((PIN_PA06I_SDHC0_SDCD << 16) | MUX_PA06I_SDHC0_SDCD) -#define PORT_PA06I_SDHC0_SDCD (_UL_(1) << 6) -#define PIN_PA12I_SDHC0_SDCD _L_(12) /**< \brief SDHC0 signal: SDCD on PA12 mux I */ -#define MUX_PA12I_SDHC0_SDCD _L_(8) -#define PINMUX_PA12I_SDHC0_SDCD ((PIN_PA12I_SDHC0_SDCD << 16) | MUX_PA12I_SDHC0_SDCD) -#define PORT_PA12I_SDHC0_SDCD (_UL_(1) << 12) -#define PIN_PB12I_SDHC0_SDCD _L_(44) /**< \brief SDHC0 signal: SDCD on PB12 mux I */ -#define MUX_PB12I_SDHC0_SDCD _L_(8) -#define PINMUX_PB12I_SDHC0_SDCD ((PIN_PB12I_SDHC0_SDCD << 16) | MUX_PB12I_SDHC0_SDCD) -#define PORT_PB12I_SDHC0_SDCD (_UL_(1) << 12) -#define PIN_PC06I_SDHC0_SDCD _L_(70) /**< \brief SDHC0 signal: SDCD on PC06 mux I */ -#define MUX_PC06I_SDHC0_SDCD _L_(8) -#define PINMUX_PC06I_SDHC0_SDCD ((PIN_PC06I_SDHC0_SDCD << 16) | MUX_PC06I_SDHC0_SDCD) -#define PORT_PC06I_SDHC0_SDCD (_UL_(1) << 6) -#define PIN_PB11I_SDHC0_SDCK _L_(43) /**< \brief SDHC0 signal: SDCK on PB11 mux I */ -#define MUX_PB11I_SDHC0_SDCK _L_(8) -#define PINMUX_PB11I_SDHC0_SDCK ((PIN_PB11I_SDHC0_SDCK << 16) | MUX_PB11I_SDHC0_SDCK) -#define PORT_PB11I_SDHC0_SDCK (_UL_(1) << 11) -#define PIN_PA08I_SDHC0_SDCMD _L_(8) /**< \brief SDHC0 signal: SDCMD on PA08 mux I */ -#define MUX_PA08I_SDHC0_SDCMD _L_(8) -#define PINMUX_PA08I_SDHC0_SDCMD ((PIN_PA08I_SDHC0_SDCMD << 16) | MUX_PA08I_SDHC0_SDCMD) -#define PORT_PA08I_SDHC0_SDCMD (_UL_(1) << 8) -#define PIN_PA09I_SDHC0_SDDAT0 _L_(9) /**< \brief SDHC0 signal: SDDAT0 on PA09 mux I */ -#define MUX_PA09I_SDHC0_SDDAT0 _L_(8) -#define PINMUX_PA09I_SDHC0_SDDAT0 ((PIN_PA09I_SDHC0_SDDAT0 << 16) | MUX_PA09I_SDHC0_SDDAT0) -#define PORT_PA09I_SDHC0_SDDAT0 (_UL_(1) << 9) -#define PIN_PA10I_SDHC0_SDDAT1 _L_(10) /**< \brief SDHC0 signal: SDDAT1 on PA10 mux I */ -#define MUX_PA10I_SDHC0_SDDAT1 _L_(8) -#define PINMUX_PA10I_SDHC0_SDDAT1 ((PIN_PA10I_SDHC0_SDDAT1 << 16) | MUX_PA10I_SDHC0_SDDAT1) -#define PORT_PA10I_SDHC0_SDDAT1 (_UL_(1) << 10) -#define PIN_PA11I_SDHC0_SDDAT2 _L_(11) /**< \brief SDHC0 signal: SDDAT2 on PA11 mux I */ -#define MUX_PA11I_SDHC0_SDDAT2 _L_(8) -#define PINMUX_PA11I_SDHC0_SDDAT2 ((PIN_PA11I_SDHC0_SDDAT2 << 16) | MUX_PA11I_SDHC0_SDDAT2) -#define PORT_PA11I_SDHC0_SDDAT2 (_UL_(1) << 11) -#define PIN_PB10I_SDHC0_SDDAT3 _L_(42) /**< \brief SDHC0 signal: SDDAT3 on PB10 mux I */ -#define MUX_PB10I_SDHC0_SDDAT3 _L_(8) -#define PINMUX_PB10I_SDHC0_SDDAT3 ((PIN_PB10I_SDHC0_SDDAT3 << 16) | MUX_PB10I_SDHC0_SDDAT3) -#define PORT_PB10I_SDHC0_SDDAT3 (_UL_(1) << 10) -#define PIN_PA07I_SDHC0_SDWP _L_(7) /**< \brief SDHC0 signal: SDWP on PA07 mux I */ -#define MUX_PA07I_SDHC0_SDWP _L_(8) -#define PINMUX_PA07I_SDHC0_SDWP ((PIN_PA07I_SDHC0_SDWP << 16) | MUX_PA07I_SDHC0_SDWP) -#define PORT_PA07I_SDHC0_SDWP (_UL_(1) << 7) -#define PIN_PA13I_SDHC0_SDWP _L_(13) /**< \brief SDHC0 signal: SDWP on PA13 mux I */ -#define MUX_PA13I_SDHC0_SDWP _L_(8) -#define PINMUX_PA13I_SDHC0_SDWP ((PIN_PA13I_SDHC0_SDWP << 16) | MUX_PA13I_SDHC0_SDWP) -#define PORT_PA13I_SDHC0_SDWP (_UL_(1) << 13) -#define PIN_PB13I_SDHC0_SDWP _L_(45) /**< \brief SDHC0 signal: SDWP on PB13 mux I */ -#define MUX_PB13I_SDHC0_SDWP _L_(8) -#define PINMUX_PB13I_SDHC0_SDWP ((PIN_PB13I_SDHC0_SDWP << 16) | MUX_PB13I_SDHC0_SDWP) -#define PORT_PB13I_SDHC0_SDWP (_UL_(1) << 13) -#define PIN_PC07I_SDHC0_SDWP _L_(71) /**< \brief SDHC0 signal: SDWP on PC07 mux I */ -#define MUX_PC07I_SDHC0_SDWP _L_(8) -#define PINMUX_PC07I_SDHC0_SDWP ((PIN_PC07I_SDHC0_SDWP << 16) | MUX_PC07I_SDHC0_SDWP) -#define PORT_PC07I_SDHC0_SDWP (_UL_(1) << 7) -/* ========== PORT definition for SDHC1 peripheral ========== */ -#define PIN_PB16I_SDHC1_SDCD _L_(48) /**< \brief SDHC1 signal: SDCD on PB16 mux I */ -#define MUX_PB16I_SDHC1_SDCD _L_(8) -#define PINMUX_PB16I_SDHC1_SDCD ((PIN_PB16I_SDHC1_SDCD << 16) | MUX_PB16I_SDHC1_SDCD) -#define PORT_PB16I_SDHC1_SDCD (_UL_(1) << 16) -#define PIN_PC20I_SDHC1_SDCD _L_(84) /**< \brief SDHC1 signal: SDCD on PC20 mux I */ -#define MUX_PC20I_SDHC1_SDCD _L_(8) -#define PINMUX_PC20I_SDHC1_SDCD ((PIN_PC20I_SDHC1_SDCD << 16) | MUX_PC20I_SDHC1_SDCD) -#define PORT_PC20I_SDHC1_SDCD (_UL_(1) << 20) -#define PIN_PA21I_SDHC1_SDCK _L_(21) /**< \brief SDHC1 signal: SDCK on PA21 mux I */ -#define MUX_PA21I_SDHC1_SDCK _L_(8) -#define PINMUX_PA21I_SDHC1_SDCK ((PIN_PA21I_SDHC1_SDCK << 16) | MUX_PA21I_SDHC1_SDCK) -#define PORT_PA21I_SDHC1_SDCK (_UL_(1) << 21) -#define PIN_PA20I_SDHC1_SDCMD _L_(20) /**< \brief SDHC1 signal: SDCMD on PA20 mux I */ -#define MUX_PA20I_SDHC1_SDCMD _L_(8) -#define PINMUX_PA20I_SDHC1_SDCMD ((PIN_PA20I_SDHC1_SDCMD << 16) | MUX_PA20I_SDHC1_SDCMD) -#define PORT_PA20I_SDHC1_SDCMD (_UL_(1) << 20) -#define PIN_PB18I_SDHC1_SDDAT0 _L_(50) /**< \brief SDHC1 signal: SDDAT0 on PB18 mux I */ -#define MUX_PB18I_SDHC1_SDDAT0 _L_(8) -#define PINMUX_PB18I_SDHC1_SDDAT0 ((PIN_PB18I_SDHC1_SDDAT0 << 16) | MUX_PB18I_SDHC1_SDDAT0) -#define PORT_PB18I_SDHC1_SDDAT0 (_UL_(1) << 18) -#define PIN_PB19I_SDHC1_SDDAT1 _L_(51) /**< \brief SDHC1 signal: SDDAT1 on PB19 mux I */ -#define MUX_PB19I_SDHC1_SDDAT1 _L_(8) -#define PINMUX_PB19I_SDHC1_SDDAT1 ((PIN_PB19I_SDHC1_SDDAT1 << 16) | MUX_PB19I_SDHC1_SDDAT1) -#define PORT_PB19I_SDHC1_SDDAT1 (_UL_(1) << 19) -#define PIN_PB20I_SDHC1_SDDAT2 _L_(52) /**< \brief SDHC1 signal: SDDAT2 on PB20 mux I */ -#define MUX_PB20I_SDHC1_SDDAT2 _L_(8) -#define PINMUX_PB20I_SDHC1_SDDAT2 ((PIN_PB20I_SDHC1_SDDAT2 << 16) | MUX_PB20I_SDHC1_SDDAT2) -#define PORT_PB20I_SDHC1_SDDAT2 (_UL_(1) << 20) -#define PIN_PB21I_SDHC1_SDDAT3 _L_(53) /**< \brief SDHC1 signal: SDDAT3 on PB21 mux I */ -#define MUX_PB21I_SDHC1_SDDAT3 _L_(8) -#define PINMUX_PB21I_SDHC1_SDDAT3 ((PIN_PB21I_SDHC1_SDDAT3 << 16) | MUX_PB21I_SDHC1_SDDAT3) -#define PORT_PB21I_SDHC1_SDDAT3 (_UL_(1) << 21) -#define PIN_PB17I_SDHC1_SDWP _L_(49) /**< \brief SDHC1 signal: SDWP on PB17 mux I */ -#define MUX_PB17I_SDHC1_SDWP _L_(8) -#define PINMUX_PB17I_SDHC1_SDWP ((PIN_PB17I_SDHC1_SDWP << 16) | MUX_PB17I_SDHC1_SDWP) -#define PORT_PB17I_SDHC1_SDWP (_UL_(1) << 17) -#define PIN_PC21I_SDHC1_SDWP _L_(85) /**< \brief SDHC1 signal: SDWP on PC21 mux I */ -#define MUX_PC21I_SDHC1_SDWP _L_(8) -#define PINMUX_PC21I_SDHC1_SDWP ((PIN_PC21I_SDHC1_SDWP << 16) | MUX_PC21I_SDHC1_SDWP) -#define PORT_PC21I_SDHC1_SDWP (_UL_(1) << 21) - -#endif /* _SAME54N19A_PIO_ */ diff --git a/software/firmware/oracle_same54n19a/include/pio/same54n20a.h b/software/firmware/oracle_same54n19a/include/pio/same54n20a.h deleted file mode 100644 index d8a7ac4..0000000 --- a/software/firmware/oracle_same54n19a/include/pio/same54n20a.h +++ /dev/null @@ -1,2688 +0,0 @@ -/** - * \file - * - * \brief Peripheral I/O description for SAME54N20A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54N20A_PIO_ -#define _SAME54N20A_PIO_ - -#define PIN_PA00 0 /**< \brief Pin Number for PA00 */ -#define PORT_PA00 (_UL_(1) << 0) /**< \brief PORT Mask for PA00 */ -#define PIN_PA01 1 /**< \brief Pin Number for PA01 */ -#define PORT_PA01 (_UL_(1) << 1) /**< \brief PORT Mask for PA01 */ -#define PIN_PA02 2 /**< \brief Pin Number for PA02 */ -#define PORT_PA02 (_UL_(1) << 2) /**< \brief PORT Mask for PA02 */ -#define PIN_PA03 3 /**< \brief Pin Number for PA03 */ -#define PORT_PA03 (_UL_(1) << 3) /**< \brief PORT Mask for PA03 */ -#define PIN_PA04 4 /**< \brief Pin Number for PA04 */ -#define PORT_PA04 (_UL_(1) << 4) /**< \brief PORT Mask for PA04 */ -#define PIN_PA05 5 /**< \brief Pin Number for PA05 */ -#define PORT_PA05 (_UL_(1) << 5) /**< \brief PORT Mask for PA05 */ -#define PIN_PA06 6 /**< \brief Pin Number for PA06 */ -#define PORT_PA06 (_UL_(1) << 6) /**< \brief PORT Mask for PA06 */ -#define PIN_PA07 7 /**< \brief Pin Number for PA07 */ -#define PORT_PA07 (_UL_(1) << 7) /**< \brief PORT Mask for PA07 */ -#define PIN_PA08 8 /**< \brief Pin Number for PA08 */ -#define PORT_PA08 (_UL_(1) << 8) /**< \brief PORT Mask for PA08 */ -#define PIN_PA09 9 /**< \brief Pin Number for PA09 */ -#define PORT_PA09 (_UL_(1) << 9) /**< \brief PORT Mask for PA09 */ -#define PIN_PA10 10 /**< \brief Pin Number for PA10 */ -#define PORT_PA10 (_UL_(1) << 10) /**< \brief PORT Mask for PA10 */ -#define PIN_PA11 11 /**< \brief Pin Number for PA11 */ -#define PORT_PA11 (_UL_(1) << 11) /**< \brief PORT Mask for PA11 */ -#define PIN_PA12 12 /**< \brief Pin Number for PA12 */ -#define PORT_PA12 (_UL_(1) << 12) /**< \brief PORT Mask for PA12 */ -#define PIN_PA13 13 /**< \brief Pin Number for PA13 */ -#define PORT_PA13 (_UL_(1) << 13) /**< \brief PORT Mask for PA13 */ -#define PIN_PA14 14 /**< \brief Pin Number for PA14 */ -#define PORT_PA14 (_UL_(1) << 14) /**< \brief PORT Mask for PA14 */ -#define PIN_PA15 15 /**< \brief Pin Number for PA15 */ -#define PORT_PA15 (_UL_(1) << 15) /**< \brief PORT Mask for PA15 */ -#define PIN_PA16 16 /**< \brief Pin Number for PA16 */ -#define PORT_PA16 (_UL_(1) << 16) /**< \brief PORT Mask for PA16 */ -#define PIN_PA17 17 /**< \brief Pin Number for PA17 */ -#define PORT_PA17 (_UL_(1) << 17) /**< \brief PORT Mask for PA17 */ -#define PIN_PA18 18 /**< \brief Pin Number for PA18 */ -#define PORT_PA18 (_UL_(1) << 18) /**< \brief PORT Mask for PA18 */ -#define PIN_PA19 19 /**< \brief Pin Number for PA19 */ -#define PORT_PA19 (_UL_(1) << 19) /**< \brief PORT Mask for PA19 */ -#define PIN_PA20 20 /**< \brief Pin Number for PA20 */ -#define PORT_PA20 (_UL_(1) << 20) /**< \brief PORT Mask for PA20 */ -#define PIN_PA21 21 /**< \brief Pin Number for PA21 */ -#define PORT_PA21 (_UL_(1) << 21) /**< \brief PORT Mask for PA21 */ -#define PIN_PA22 22 /**< \brief Pin Number for PA22 */ -#define PORT_PA22 (_UL_(1) << 22) /**< \brief PORT Mask for PA22 */ -#define PIN_PA23 23 /**< \brief Pin Number for PA23 */ -#define PORT_PA23 (_UL_(1) << 23) /**< \brief PORT Mask for PA23 */ -#define PIN_PA24 24 /**< \brief Pin Number for PA24 */ -#define PORT_PA24 (_UL_(1) << 24) /**< \brief PORT Mask for PA24 */ -#define PIN_PA25 25 /**< \brief Pin Number for PA25 */ -#define PORT_PA25 (_UL_(1) << 25) /**< \brief PORT Mask for PA25 */ -#define PIN_PA27 27 /**< \brief Pin Number for PA27 */ -#define PORT_PA27 (_UL_(1) << 27) /**< \brief PORT Mask for PA27 */ -#define PIN_PA30 30 /**< \brief Pin Number for PA30 */ -#define PORT_PA30 (_UL_(1) << 30) /**< \brief PORT Mask for PA30 */ -#define PIN_PA31 31 /**< \brief Pin Number for PA31 */ -#define PORT_PA31 (_UL_(1) << 31) /**< \brief PORT Mask for PA31 */ -#define PIN_PB00 32 /**< \brief Pin Number for PB00 */ -#define PORT_PB00 (_UL_(1) << 0) /**< \brief PORT Mask for PB00 */ -#define PIN_PB01 33 /**< \brief Pin Number for PB01 */ -#define PORT_PB01 (_UL_(1) << 1) /**< \brief PORT Mask for PB01 */ -#define PIN_PB02 34 /**< \brief Pin Number for PB02 */ -#define PORT_PB02 (_UL_(1) << 2) /**< \brief PORT Mask for PB02 */ -#define PIN_PB03 35 /**< \brief Pin Number for PB03 */ -#define PORT_PB03 (_UL_(1) << 3) /**< \brief PORT Mask for PB03 */ -#define PIN_PB04 36 /**< \brief Pin Number for PB04 */ -#define PORT_PB04 (_UL_(1) << 4) /**< \brief PORT Mask for PB04 */ -#define PIN_PB05 37 /**< \brief Pin Number for PB05 */ -#define PORT_PB05 (_UL_(1) << 5) /**< \brief PORT Mask for PB05 */ -#define PIN_PB06 38 /**< \brief Pin Number for PB06 */ -#define PORT_PB06 (_UL_(1) << 6) /**< \brief PORT Mask for PB06 */ -#define PIN_PB07 39 /**< \brief Pin Number for PB07 */ -#define PORT_PB07 (_UL_(1) << 7) /**< \brief PORT Mask for PB07 */ -#define PIN_PB08 40 /**< \brief Pin Number for PB08 */ -#define PORT_PB08 (_UL_(1) << 8) /**< \brief PORT Mask for PB08 */ -#define PIN_PB09 41 /**< \brief Pin Number for PB09 */ -#define PORT_PB09 (_UL_(1) << 9) /**< \brief PORT Mask for PB09 */ -#define PIN_PB10 42 /**< \brief Pin Number for PB10 */ -#define PORT_PB10 (_UL_(1) << 10) /**< \brief PORT Mask for PB10 */ -#define PIN_PB11 43 /**< \brief Pin Number for PB11 */ -#define PORT_PB11 (_UL_(1) << 11) /**< \brief PORT Mask for PB11 */ -#define PIN_PB12 44 /**< \brief Pin Number for PB12 */ -#define PORT_PB12 (_UL_(1) << 12) /**< \brief PORT Mask for PB12 */ -#define PIN_PB13 45 /**< \brief Pin Number for PB13 */ -#define PORT_PB13 (_UL_(1) << 13) /**< \brief PORT Mask for PB13 */ -#define PIN_PB14 46 /**< \brief Pin Number for PB14 */ -#define PORT_PB14 (_UL_(1) << 14) /**< \brief PORT Mask for PB14 */ -#define PIN_PB15 47 /**< \brief Pin Number for PB15 */ -#define PORT_PB15 (_UL_(1) << 15) /**< \brief PORT Mask for PB15 */ -#define PIN_PB16 48 /**< \brief Pin Number for PB16 */ -#define PORT_PB16 (_UL_(1) << 16) /**< \brief PORT Mask for PB16 */ -#define PIN_PB17 49 /**< \brief Pin Number for PB17 */ -#define PORT_PB17 (_UL_(1) << 17) /**< \brief PORT Mask for PB17 */ -#define PIN_PB18 50 /**< \brief Pin Number for PB18 */ -#define PORT_PB18 (_UL_(1) << 18) /**< \brief PORT Mask for PB18 */ -#define PIN_PB19 51 /**< \brief Pin Number for PB19 */ -#define PORT_PB19 (_UL_(1) << 19) /**< \brief PORT Mask for PB19 */ -#define PIN_PB20 52 /**< \brief Pin Number for PB20 */ -#define PORT_PB20 (_UL_(1) << 20) /**< \brief PORT Mask for PB20 */ -#define PIN_PB21 53 /**< \brief Pin Number for PB21 */ -#define PORT_PB21 (_UL_(1) << 21) /**< \brief PORT Mask for PB21 */ -#define PIN_PB22 54 /**< \brief Pin Number for PB22 */ -#define PORT_PB22 (_UL_(1) << 22) /**< \brief PORT Mask for PB22 */ -#define PIN_PB23 55 /**< \brief Pin Number for PB23 */ -#define PORT_PB23 (_UL_(1) << 23) /**< \brief PORT Mask for PB23 */ -#define PIN_PB24 56 /**< \brief Pin Number for PB24 */ -#define PORT_PB24 (_UL_(1) << 24) /**< \brief PORT Mask for PB24 */ -#define PIN_PB25 57 /**< \brief Pin Number for PB25 */ -#define PORT_PB25 (_UL_(1) << 25) /**< \brief PORT Mask for PB25 */ -#define PIN_PB30 62 /**< \brief Pin Number for PB30 */ -#define PORT_PB30 (_UL_(1) << 30) /**< \brief PORT Mask for PB30 */ -#define PIN_PB31 63 /**< \brief Pin Number for PB31 */ -#define PORT_PB31 (_UL_(1) << 31) /**< \brief PORT Mask for PB31 */ -#define PIN_PC00 64 /**< \brief Pin Number for PC00 */ -#define PORT_PC00 (_UL_(1) << 0) /**< \brief PORT Mask for PC00 */ -#define PIN_PC01 65 /**< \brief Pin Number for PC01 */ -#define PORT_PC01 (_UL_(1) << 1) /**< \brief PORT Mask for PC01 */ -#define PIN_PC02 66 /**< \brief Pin Number for PC02 */ -#define PORT_PC02 (_UL_(1) << 2) /**< \brief PORT Mask for PC02 */ -#define PIN_PC03 67 /**< \brief Pin Number for PC03 */ -#define PORT_PC03 (_UL_(1) << 3) /**< \brief PORT Mask for PC03 */ -#define PIN_PC05 69 /**< \brief Pin Number for PC05 */ -#define PORT_PC05 (_UL_(1) << 5) /**< \brief PORT Mask for PC05 */ -#define PIN_PC06 70 /**< \brief Pin Number for PC06 */ -#define PORT_PC06 (_UL_(1) << 6) /**< \brief PORT Mask for PC06 */ -#define PIN_PC07 71 /**< \brief Pin Number for PC07 */ -#define PORT_PC07 (_UL_(1) << 7) /**< \brief PORT Mask for PC07 */ -#define PIN_PC10 74 /**< \brief Pin Number for PC10 */ -#define PORT_PC10 (_UL_(1) << 10) /**< \brief PORT Mask for PC10 */ -#define PIN_PC11 75 /**< \brief Pin Number for PC11 */ -#define PORT_PC11 (_UL_(1) << 11) /**< \brief PORT Mask for PC11 */ -#define PIN_PC12 76 /**< \brief Pin Number for PC12 */ -#define PORT_PC12 (_UL_(1) << 12) /**< \brief PORT Mask for PC12 */ -#define PIN_PC13 77 /**< \brief Pin Number for PC13 */ -#define PORT_PC13 (_UL_(1) << 13) /**< \brief PORT Mask for PC13 */ -#define PIN_PC14 78 /**< \brief Pin Number for PC14 */ -#define PORT_PC14 (_UL_(1) << 14) /**< \brief PORT Mask for PC14 */ -#define PIN_PC15 79 /**< \brief Pin Number for PC15 */ -#define PORT_PC15 (_UL_(1) << 15) /**< \brief PORT Mask for PC15 */ -#define PIN_PC16 80 /**< \brief Pin Number for PC16 */ -#define PORT_PC16 (_UL_(1) << 16) /**< \brief PORT Mask for PC16 */ -#define PIN_PC17 81 /**< \brief Pin Number for PC17 */ -#define PORT_PC17 (_UL_(1) << 17) /**< \brief PORT Mask for PC17 */ -#define PIN_PC18 82 /**< \brief Pin Number for PC18 */ -#define PORT_PC18 (_UL_(1) << 18) /**< \brief PORT Mask for PC18 */ -#define PIN_PC19 83 /**< \brief Pin Number for PC19 */ -#define PORT_PC19 (_UL_(1) << 19) /**< \brief PORT Mask for PC19 */ -#define PIN_PC20 84 /**< \brief Pin Number for PC20 */ -#define PORT_PC20 (_UL_(1) << 20) /**< \brief PORT Mask for PC20 */ -#define PIN_PC21 85 /**< \brief Pin Number for PC21 */ -#define PORT_PC21 (_UL_(1) << 21) /**< \brief PORT Mask for PC21 */ -#define PIN_PC24 88 /**< \brief Pin Number for PC24 */ -#define PORT_PC24 (_UL_(1) << 24) /**< \brief PORT Mask for PC24 */ -#define PIN_PC25 89 /**< \brief Pin Number for PC25 */ -#define PORT_PC25 (_UL_(1) << 25) /**< \brief PORT Mask for PC25 */ -#define PIN_PC26 90 /**< \brief Pin Number for PC26 */ -#define PORT_PC26 (_UL_(1) << 26) /**< \brief PORT Mask for PC26 */ -#define PIN_PC27 91 /**< \brief Pin Number for PC27 */ -#define PORT_PC27 (_UL_(1) << 27) /**< \brief PORT Mask for PC27 */ -#define PIN_PC28 92 /**< \brief Pin Number for PC28 */ -#define PORT_PC28 (_UL_(1) << 28) /**< \brief PORT Mask for PC28 */ -/* ========== PORT definition for CM4 peripheral ========== */ -#define PIN_PA30H_CM4_SWCLK _L_(30) /**< \brief CM4 signal: SWCLK on PA30 mux H */ -#define MUX_PA30H_CM4_SWCLK _L_(7) -#define PINMUX_PA30H_CM4_SWCLK ((PIN_PA30H_CM4_SWCLK << 16) | MUX_PA30H_CM4_SWCLK) -#define PORT_PA30H_CM4_SWCLK (_UL_(1) << 30) -#define PIN_PC27M_CM4_SWO _L_(91) /**< \brief CM4 signal: SWO on PC27 mux M */ -#define MUX_PC27M_CM4_SWO _L_(12) -#define PINMUX_PC27M_CM4_SWO ((PIN_PC27M_CM4_SWO << 16) | MUX_PC27M_CM4_SWO) -#define PORT_PC27M_CM4_SWO (_UL_(1) << 27) -#define PIN_PB30H_CM4_SWO _L_(62) /**< \brief CM4 signal: SWO on PB30 mux H */ -#define MUX_PB30H_CM4_SWO _L_(7) -#define PINMUX_PB30H_CM4_SWO ((PIN_PB30H_CM4_SWO << 16) | MUX_PB30H_CM4_SWO) -#define PORT_PB30H_CM4_SWO (_UL_(1) << 30) -#define PIN_PC27H_CM4_TRACECLK _L_(91) /**< \brief CM4 signal: TRACECLK on PC27 mux H */ -#define MUX_PC27H_CM4_TRACECLK _L_(7) -#define PINMUX_PC27H_CM4_TRACECLK ((PIN_PC27H_CM4_TRACECLK << 16) | MUX_PC27H_CM4_TRACECLK) -#define PORT_PC27H_CM4_TRACECLK (_UL_(1) << 27) -#define PIN_PC28H_CM4_TRACEDATA0 _L_(92) /**< \brief CM4 signal: TRACEDATA0 on PC28 mux H */ -#define MUX_PC28H_CM4_TRACEDATA0 _L_(7) -#define PINMUX_PC28H_CM4_TRACEDATA0 ((PIN_PC28H_CM4_TRACEDATA0 << 16) | MUX_PC28H_CM4_TRACEDATA0) -#define PORT_PC28H_CM4_TRACEDATA0 (_UL_(1) << 28) -#define PIN_PC26H_CM4_TRACEDATA1 _L_(90) /**< \brief CM4 signal: TRACEDATA1 on PC26 mux H */ -#define MUX_PC26H_CM4_TRACEDATA1 _L_(7) -#define PINMUX_PC26H_CM4_TRACEDATA1 ((PIN_PC26H_CM4_TRACEDATA1 << 16) | MUX_PC26H_CM4_TRACEDATA1) -#define PORT_PC26H_CM4_TRACEDATA1 (_UL_(1) << 26) -#define PIN_PC25H_CM4_TRACEDATA2 _L_(89) /**< \brief CM4 signal: TRACEDATA2 on PC25 mux H */ -#define MUX_PC25H_CM4_TRACEDATA2 _L_(7) -#define PINMUX_PC25H_CM4_TRACEDATA2 ((PIN_PC25H_CM4_TRACEDATA2 << 16) | MUX_PC25H_CM4_TRACEDATA2) -#define PORT_PC25H_CM4_TRACEDATA2 (_UL_(1) << 25) -#define PIN_PC24H_CM4_TRACEDATA3 _L_(88) /**< \brief CM4 signal: TRACEDATA3 on PC24 mux H */ -#define MUX_PC24H_CM4_TRACEDATA3 _L_(7) -#define PINMUX_PC24H_CM4_TRACEDATA3 ((PIN_PC24H_CM4_TRACEDATA3 << 16) | MUX_PC24H_CM4_TRACEDATA3) -#define PORT_PC24H_CM4_TRACEDATA3 (_UL_(1) << 24) -/* ========== PORT definition for ANAREF peripheral ========== */ -#define PIN_PA03B_ANAREF_VREF0 _L_(3) /**< \brief ANAREF signal: VREF0 on PA03 mux B */ -#define MUX_PA03B_ANAREF_VREF0 _L_(1) -#define PINMUX_PA03B_ANAREF_VREF0 ((PIN_PA03B_ANAREF_VREF0 << 16) | MUX_PA03B_ANAREF_VREF0) -#define PORT_PA03B_ANAREF_VREF0 (_UL_(1) << 3) -#define PIN_PA04B_ANAREF_VREF1 _L_(4) /**< \brief ANAREF signal: VREF1 on PA04 mux B */ -#define MUX_PA04B_ANAREF_VREF1 _L_(1) -#define PINMUX_PA04B_ANAREF_VREF1 ((PIN_PA04B_ANAREF_VREF1 << 16) | MUX_PA04B_ANAREF_VREF1) -#define PORT_PA04B_ANAREF_VREF1 (_UL_(1) << 4) -#define PIN_PA06B_ANAREF_VREF2 _L_(6) /**< \brief ANAREF signal: VREF2 on PA06 mux B */ -#define MUX_PA06B_ANAREF_VREF2 _L_(1) -#define PINMUX_PA06B_ANAREF_VREF2 ((PIN_PA06B_ANAREF_VREF2 << 16) | MUX_PA06B_ANAREF_VREF2) -#define PORT_PA06B_ANAREF_VREF2 (_UL_(1) << 6) -/* ========== PORT definition for GCLK peripheral ========== */ -#define PIN_PA30M_GCLK_IO0 _L_(30) /**< \brief GCLK signal: IO0 on PA30 mux M */ -#define MUX_PA30M_GCLK_IO0 _L_(12) -#define PINMUX_PA30M_GCLK_IO0 ((PIN_PA30M_GCLK_IO0 << 16) | MUX_PA30M_GCLK_IO0) -#define PORT_PA30M_GCLK_IO0 (_UL_(1) << 30) -#define PIN_PB14M_GCLK_IO0 _L_(46) /**< \brief GCLK signal: IO0 on PB14 mux M */ -#define MUX_PB14M_GCLK_IO0 _L_(12) -#define PINMUX_PB14M_GCLK_IO0 ((PIN_PB14M_GCLK_IO0 << 16) | MUX_PB14M_GCLK_IO0) -#define PORT_PB14M_GCLK_IO0 (_UL_(1) << 14) -#define PIN_PA14M_GCLK_IO0 _L_(14) /**< \brief GCLK signal: IO0 on PA14 mux M */ -#define MUX_PA14M_GCLK_IO0 _L_(12) -#define PINMUX_PA14M_GCLK_IO0 ((PIN_PA14M_GCLK_IO0 << 16) | MUX_PA14M_GCLK_IO0) -#define PORT_PA14M_GCLK_IO0 (_UL_(1) << 14) -#define PIN_PB22M_GCLK_IO0 _L_(54) /**< \brief GCLK signal: IO0 on PB22 mux M */ -#define MUX_PB22M_GCLK_IO0 _L_(12) -#define PINMUX_PB22M_GCLK_IO0 ((PIN_PB22M_GCLK_IO0 << 16) | MUX_PB22M_GCLK_IO0) -#define PORT_PB22M_GCLK_IO0 (_UL_(1) << 22) -#define PIN_PB15M_GCLK_IO1 _L_(47) /**< \brief GCLK signal: IO1 on PB15 mux M */ -#define MUX_PB15M_GCLK_IO1 _L_(12) -#define PINMUX_PB15M_GCLK_IO1 ((PIN_PB15M_GCLK_IO1 << 16) | MUX_PB15M_GCLK_IO1) -#define PORT_PB15M_GCLK_IO1 (_UL_(1) << 15) -#define PIN_PA15M_GCLK_IO1 _L_(15) /**< \brief GCLK signal: IO1 on PA15 mux M */ -#define MUX_PA15M_GCLK_IO1 _L_(12) -#define PINMUX_PA15M_GCLK_IO1 ((PIN_PA15M_GCLK_IO1 << 16) | MUX_PA15M_GCLK_IO1) -#define PORT_PA15M_GCLK_IO1 (_UL_(1) << 15) -#define PIN_PB23M_GCLK_IO1 _L_(55) /**< \brief GCLK signal: IO1 on PB23 mux M */ -#define MUX_PB23M_GCLK_IO1 _L_(12) -#define PINMUX_PB23M_GCLK_IO1 ((PIN_PB23M_GCLK_IO1 << 16) | MUX_PB23M_GCLK_IO1) -#define PORT_PB23M_GCLK_IO1 (_UL_(1) << 23) -#define PIN_PA27M_GCLK_IO1 _L_(27) /**< \brief GCLK signal: IO1 on PA27 mux M */ -#define MUX_PA27M_GCLK_IO1 _L_(12) -#define PINMUX_PA27M_GCLK_IO1 ((PIN_PA27M_GCLK_IO1 << 16) | MUX_PA27M_GCLK_IO1) -#define PORT_PA27M_GCLK_IO1 (_UL_(1) << 27) -#define PIN_PA16M_GCLK_IO2 _L_(16) /**< \brief GCLK signal: IO2 on PA16 mux M */ -#define MUX_PA16M_GCLK_IO2 _L_(12) -#define PINMUX_PA16M_GCLK_IO2 ((PIN_PA16M_GCLK_IO2 << 16) | MUX_PA16M_GCLK_IO2) -#define PORT_PA16M_GCLK_IO2 (_UL_(1) << 16) -#define PIN_PB16M_GCLK_IO2 _L_(48) /**< \brief GCLK signal: IO2 on PB16 mux M */ -#define MUX_PB16M_GCLK_IO2 _L_(12) -#define PINMUX_PB16M_GCLK_IO2 ((PIN_PB16M_GCLK_IO2 << 16) | MUX_PB16M_GCLK_IO2) -#define PORT_PB16M_GCLK_IO2 (_UL_(1) << 16) -#define PIN_PA17M_GCLK_IO3 _L_(17) /**< \brief GCLK signal: IO3 on PA17 mux M */ -#define MUX_PA17M_GCLK_IO3 _L_(12) -#define PINMUX_PA17M_GCLK_IO3 ((PIN_PA17M_GCLK_IO3 << 16) | MUX_PA17M_GCLK_IO3) -#define PORT_PA17M_GCLK_IO3 (_UL_(1) << 17) -#define PIN_PB17M_GCLK_IO3 _L_(49) /**< \brief GCLK signal: IO3 on PB17 mux M */ -#define MUX_PB17M_GCLK_IO3 _L_(12) -#define PINMUX_PB17M_GCLK_IO3 ((PIN_PB17M_GCLK_IO3 << 16) | MUX_PB17M_GCLK_IO3) -#define PORT_PB17M_GCLK_IO3 (_UL_(1) << 17) -#define PIN_PA10M_GCLK_IO4 _L_(10) /**< \brief GCLK signal: IO4 on PA10 mux M */ -#define MUX_PA10M_GCLK_IO4 _L_(12) -#define PINMUX_PA10M_GCLK_IO4 ((PIN_PA10M_GCLK_IO4 << 16) | MUX_PA10M_GCLK_IO4) -#define PORT_PA10M_GCLK_IO4 (_UL_(1) << 10) -#define PIN_PB10M_GCLK_IO4 _L_(42) /**< \brief GCLK signal: IO4 on PB10 mux M */ -#define MUX_PB10M_GCLK_IO4 _L_(12) -#define PINMUX_PB10M_GCLK_IO4 ((PIN_PB10M_GCLK_IO4 << 16) | MUX_PB10M_GCLK_IO4) -#define PORT_PB10M_GCLK_IO4 (_UL_(1) << 10) -#define PIN_PB18M_GCLK_IO4 _L_(50) /**< \brief GCLK signal: IO4 on PB18 mux M */ -#define MUX_PB18M_GCLK_IO4 _L_(12) -#define PINMUX_PB18M_GCLK_IO4 ((PIN_PB18M_GCLK_IO4 << 16) | MUX_PB18M_GCLK_IO4) -#define PORT_PB18M_GCLK_IO4 (_UL_(1) << 18) -#define PIN_PA11M_GCLK_IO5 _L_(11) /**< \brief GCLK signal: IO5 on PA11 mux M */ -#define MUX_PA11M_GCLK_IO5 _L_(12) -#define PINMUX_PA11M_GCLK_IO5 ((PIN_PA11M_GCLK_IO5 << 16) | MUX_PA11M_GCLK_IO5) -#define PORT_PA11M_GCLK_IO5 (_UL_(1) << 11) -#define PIN_PB11M_GCLK_IO5 _L_(43) /**< \brief GCLK signal: IO5 on PB11 mux M */ -#define MUX_PB11M_GCLK_IO5 _L_(12) -#define PINMUX_PB11M_GCLK_IO5 ((PIN_PB11M_GCLK_IO5 << 16) | MUX_PB11M_GCLK_IO5) -#define PORT_PB11M_GCLK_IO5 (_UL_(1) << 11) -#define PIN_PB19M_GCLK_IO5 _L_(51) /**< \brief GCLK signal: IO5 on PB19 mux M */ -#define MUX_PB19M_GCLK_IO5 _L_(12) -#define PINMUX_PB19M_GCLK_IO5 ((PIN_PB19M_GCLK_IO5 << 16) | MUX_PB19M_GCLK_IO5) -#define PORT_PB19M_GCLK_IO5 (_UL_(1) << 19) -#define PIN_PB12M_GCLK_IO6 _L_(44) /**< \brief GCLK signal: IO6 on PB12 mux M */ -#define MUX_PB12M_GCLK_IO6 _L_(12) -#define PINMUX_PB12M_GCLK_IO6 ((PIN_PB12M_GCLK_IO6 << 16) | MUX_PB12M_GCLK_IO6) -#define PORT_PB12M_GCLK_IO6 (_UL_(1) << 12) -#define PIN_PB20M_GCLK_IO6 _L_(52) /**< \brief GCLK signal: IO6 on PB20 mux M */ -#define MUX_PB20M_GCLK_IO6 _L_(12) -#define PINMUX_PB20M_GCLK_IO6 ((PIN_PB20M_GCLK_IO6 << 16) | MUX_PB20M_GCLK_IO6) -#define PORT_PB20M_GCLK_IO6 (_UL_(1) << 20) -#define PIN_PB13M_GCLK_IO7 _L_(45) /**< \brief GCLK signal: IO7 on PB13 mux M */ -#define MUX_PB13M_GCLK_IO7 _L_(12) -#define PINMUX_PB13M_GCLK_IO7 ((PIN_PB13M_GCLK_IO7 << 16) | MUX_PB13M_GCLK_IO7) -#define PORT_PB13M_GCLK_IO7 (_UL_(1) << 13) -#define PIN_PB21M_GCLK_IO7 _L_(53) /**< \brief GCLK signal: IO7 on PB21 mux M */ -#define MUX_PB21M_GCLK_IO7 _L_(12) -#define PINMUX_PB21M_GCLK_IO7 ((PIN_PB21M_GCLK_IO7 << 16) | MUX_PB21M_GCLK_IO7) -#define PORT_PB21M_GCLK_IO7 (_UL_(1) << 21) -/* ========== PORT definition for EIC peripheral ========== */ -#define PIN_PA00A_EIC_EXTINT0 _L_(0) /**< \brief EIC signal: EXTINT0 on PA00 mux A */ -#define MUX_PA00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PA00A_EIC_EXTINT0 ((PIN_PA00A_EIC_EXTINT0 << 16) | MUX_PA00A_EIC_EXTINT0) -#define PORT_PA00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PA00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA00 External Interrupt Line */ -#define PIN_PA16A_EIC_EXTINT0 _L_(16) /**< \brief EIC signal: EXTINT0 on PA16 mux A */ -#define MUX_PA16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PA16A_EIC_EXTINT0 ((PIN_PA16A_EIC_EXTINT0 << 16) | MUX_PA16A_EIC_EXTINT0) -#define PORT_PA16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PA16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA16 External Interrupt Line */ -#define PIN_PB00A_EIC_EXTINT0 _L_(32) /**< \brief EIC signal: EXTINT0 on PB00 mux A */ -#define MUX_PB00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PB00A_EIC_EXTINT0 ((PIN_PB00A_EIC_EXTINT0 << 16) | MUX_PB00A_EIC_EXTINT0) -#define PORT_PB00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PB00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB00 External Interrupt Line */ -#define PIN_PB16A_EIC_EXTINT0 _L_(48) /**< \brief EIC signal: EXTINT0 on PB16 mux A */ -#define MUX_PB16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PB16A_EIC_EXTINT0 ((PIN_PB16A_EIC_EXTINT0 << 16) | MUX_PB16A_EIC_EXTINT0) -#define PORT_PB16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PB16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB16 External Interrupt Line */ -#define PIN_PC00A_EIC_EXTINT0 _L_(64) /**< \brief EIC signal: EXTINT0 on PC00 mux A */ -#define MUX_PC00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PC00A_EIC_EXTINT0 ((PIN_PC00A_EIC_EXTINT0 << 16) | MUX_PC00A_EIC_EXTINT0) -#define PORT_PC00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PC00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC00 External Interrupt Line */ -#define PIN_PC16A_EIC_EXTINT0 _L_(80) /**< \brief EIC signal: EXTINT0 on PC16 mux A */ -#define MUX_PC16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PC16A_EIC_EXTINT0 ((PIN_PC16A_EIC_EXTINT0 << 16) | MUX_PC16A_EIC_EXTINT0) -#define PORT_PC16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PC16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC16 External Interrupt Line */ -#define PIN_PA01A_EIC_EXTINT1 _L_(1) /**< \brief EIC signal: EXTINT1 on PA01 mux A */ -#define MUX_PA01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PA01A_EIC_EXTINT1 ((PIN_PA01A_EIC_EXTINT1 << 16) | MUX_PA01A_EIC_EXTINT1) -#define PORT_PA01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PA01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA01 External Interrupt Line */ -#define PIN_PA17A_EIC_EXTINT1 _L_(17) /**< \brief EIC signal: EXTINT1 on PA17 mux A */ -#define MUX_PA17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PA17A_EIC_EXTINT1 ((PIN_PA17A_EIC_EXTINT1 << 16) | MUX_PA17A_EIC_EXTINT1) -#define PORT_PA17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PA17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA17 External Interrupt Line */ -#define PIN_PB01A_EIC_EXTINT1 _L_(33) /**< \brief EIC signal: EXTINT1 on PB01 mux A */ -#define MUX_PB01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PB01A_EIC_EXTINT1 ((PIN_PB01A_EIC_EXTINT1 << 16) | MUX_PB01A_EIC_EXTINT1) -#define PORT_PB01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PB01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB01 External Interrupt Line */ -#define PIN_PB17A_EIC_EXTINT1 _L_(49) /**< \brief EIC signal: EXTINT1 on PB17 mux A */ -#define MUX_PB17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PB17A_EIC_EXTINT1 ((PIN_PB17A_EIC_EXTINT1 << 16) | MUX_PB17A_EIC_EXTINT1) -#define PORT_PB17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PB17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB17 External Interrupt Line */ -#define PIN_PC01A_EIC_EXTINT1 _L_(65) /**< \brief EIC signal: EXTINT1 on PC01 mux A */ -#define MUX_PC01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PC01A_EIC_EXTINT1 ((PIN_PC01A_EIC_EXTINT1 << 16) | MUX_PC01A_EIC_EXTINT1) -#define PORT_PC01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PC01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC01 External Interrupt Line */ -#define PIN_PC17A_EIC_EXTINT1 _L_(81) /**< \brief EIC signal: EXTINT1 on PC17 mux A */ -#define MUX_PC17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PC17A_EIC_EXTINT1 ((PIN_PC17A_EIC_EXTINT1 << 16) | MUX_PC17A_EIC_EXTINT1) -#define PORT_PC17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PC17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC17 External Interrupt Line */ -#define PIN_PA02A_EIC_EXTINT2 _L_(2) /**< \brief EIC signal: EXTINT2 on PA02 mux A */ -#define MUX_PA02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PA02A_EIC_EXTINT2 ((PIN_PA02A_EIC_EXTINT2 << 16) | MUX_PA02A_EIC_EXTINT2) -#define PORT_PA02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PA02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA02 External Interrupt Line */ -#define PIN_PA18A_EIC_EXTINT2 _L_(18) /**< \brief EIC signal: EXTINT2 on PA18 mux A */ -#define MUX_PA18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PA18A_EIC_EXTINT2 ((PIN_PA18A_EIC_EXTINT2 << 16) | MUX_PA18A_EIC_EXTINT2) -#define PORT_PA18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PA18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA18 External Interrupt Line */ -#define PIN_PB02A_EIC_EXTINT2 _L_(34) /**< \brief EIC signal: EXTINT2 on PB02 mux A */ -#define MUX_PB02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PB02A_EIC_EXTINT2 ((PIN_PB02A_EIC_EXTINT2 << 16) | MUX_PB02A_EIC_EXTINT2) -#define PORT_PB02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PB02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB02 External Interrupt Line */ -#define PIN_PB18A_EIC_EXTINT2 _L_(50) /**< \brief EIC signal: EXTINT2 on PB18 mux A */ -#define MUX_PB18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PB18A_EIC_EXTINT2 ((PIN_PB18A_EIC_EXTINT2 << 16) | MUX_PB18A_EIC_EXTINT2) -#define PORT_PB18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PB18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB18 External Interrupt Line */ -#define PIN_PC02A_EIC_EXTINT2 _L_(66) /**< \brief EIC signal: EXTINT2 on PC02 mux A */ -#define MUX_PC02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PC02A_EIC_EXTINT2 ((PIN_PC02A_EIC_EXTINT2 << 16) | MUX_PC02A_EIC_EXTINT2) -#define PORT_PC02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PC02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC02 External Interrupt Line */ -#define PIN_PC18A_EIC_EXTINT2 _L_(82) /**< \brief EIC signal: EXTINT2 on PC18 mux A */ -#define MUX_PC18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PC18A_EIC_EXTINT2 ((PIN_PC18A_EIC_EXTINT2 << 16) | MUX_PC18A_EIC_EXTINT2) -#define PORT_PC18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PC18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC18 External Interrupt Line */ -#define PIN_PA03A_EIC_EXTINT3 _L_(3) /**< \brief EIC signal: EXTINT3 on PA03 mux A */ -#define MUX_PA03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PA03A_EIC_EXTINT3 ((PIN_PA03A_EIC_EXTINT3 << 16) | MUX_PA03A_EIC_EXTINT3) -#define PORT_PA03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PA03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA03 External Interrupt Line */ -#define PIN_PA19A_EIC_EXTINT3 _L_(19) /**< \brief EIC signal: EXTINT3 on PA19 mux A */ -#define MUX_PA19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PA19A_EIC_EXTINT3 ((PIN_PA19A_EIC_EXTINT3 << 16) | MUX_PA19A_EIC_EXTINT3) -#define PORT_PA19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PA19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA19 External Interrupt Line */ -#define PIN_PB03A_EIC_EXTINT3 _L_(35) /**< \brief EIC signal: EXTINT3 on PB03 mux A */ -#define MUX_PB03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PB03A_EIC_EXTINT3 ((PIN_PB03A_EIC_EXTINT3 << 16) | MUX_PB03A_EIC_EXTINT3) -#define PORT_PB03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PB03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB03 External Interrupt Line */ -#define PIN_PB19A_EIC_EXTINT3 _L_(51) /**< \brief EIC signal: EXTINT3 on PB19 mux A */ -#define MUX_PB19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PB19A_EIC_EXTINT3 ((PIN_PB19A_EIC_EXTINT3 << 16) | MUX_PB19A_EIC_EXTINT3) -#define PORT_PB19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PB19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB19 External Interrupt Line */ -#define PIN_PC03A_EIC_EXTINT3 _L_(67) /**< \brief EIC signal: EXTINT3 on PC03 mux A */ -#define MUX_PC03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PC03A_EIC_EXTINT3 ((PIN_PC03A_EIC_EXTINT3 << 16) | MUX_PC03A_EIC_EXTINT3) -#define PORT_PC03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PC03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC03 External Interrupt Line */ -#define PIN_PC19A_EIC_EXTINT3 _L_(83) /**< \brief EIC signal: EXTINT3 on PC19 mux A */ -#define MUX_PC19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PC19A_EIC_EXTINT3 ((PIN_PC19A_EIC_EXTINT3 << 16) | MUX_PC19A_EIC_EXTINT3) -#define PORT_PC19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PC19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC19 External Interrupt Line */ -#define PIN_PA04A_EIC_EXTINT4 _L_(4) /**< \brief EIC signal: EXTINT4 on PA04 mux A */ -#define MUX_PA04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PA04A_EIC_EXTINT4 ((PIN_PA04A_EIC_EXTINT4 << 16) | MUX_PA04A_EIC_EXTINT4) -#define PORT_PA04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PA04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA04 External Interrupt Line */ -#define PIN_PA20A_EIC_EXTINT4 _L_(20) /**< \brief EIC signal: EXTINT4 on PA20 mux A */ -#define MUX_PA20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PA20A_EIC_EXTINT4 ((PIN_PA20A_EIC_EXTINT4 << 16) | MUX_PA20A_EIC_EXTINT4) -#define PORT_PA20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PA20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA20 External Interrupt Line */ -#define PIN_PB04A_EIC_EXTINT4 _L_(36) /**< \brief EIC signal: EXTINT4 on PB04 mux A */ -#define MUX_PB04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PB04A_EIC_EXTINT4 ((PIN_PB04A_EIC_EXTINT4 << 16) | MUX_PB04A_EIC_EXTINT4) -#define PORT_PB04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PB04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB04 External Interrupt Line */ -#define PIN_PB20A_EIC_EXTINT4 _L_(52) /**< \brief EIC signal: EXTINT4 on PB20 mux A */ -#define MUX_PB20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PB20A_EIC_EXTINT4 ((PIN_PB20A_EIC_EXTINT4 << 16) | MUX_PB20A_EIC_EXTINT4) -#define PORT_PB20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PB20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB20 External Interrupt Line */ -#define PIN_PC20A_EIC_EXTINT4 _L_(84) /**< \brief EIC signal: EXTINT4 on PC20 mux A */ -#define MUX_PC20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PC20A_EIC_EXTINT4 ((PIN_PC20A_EIC_EXTINT4 << 16) | MUX_PC20A_EIC_EXTINT4) -#define PORT_PC20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PC20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC20 External Interrupt Line */ -#define PIN_PA05A_EIC_EXTINT5 _L_(5) /**< \brief EIC signal: EXTINT5 on PA05 mux A */ -#define MUX_PA05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PA05A_EIC_EXTINT5 ((PIN_PA05A_EIC_EXTINT5 << 16) | MUX_PA05A_EIC_EXTINT5) -#define PORT_PA05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PA05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA05 External Interrupt Line */ -#define PIN_PA21A_EIC_EXTINT5 _L_(21) /**< \brief EIC signal: EXTINT5 on PA21 mux A */ -#define MUX_PA21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PA21A_EIC_EXTINT5 ((PIN_PA21A_EIC_EXTINT5 << 16) | MUX_PA21A_EIC_EXTINT5) -#define PORT_PA21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PA21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA21 External Interrupt Line */ -#define PIN_PB05A_EIC_EXTINT5 _L_(37) /**< \brief EIC signal: EXTINT5 on PB05 mux A */ -#define MUX_PB05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PB05A_EIC_EXTINT5 ((PIN_PB05A_EIC_EXTINT5 << 16) | MUX_PB05A_EIC_EXTINT5) -#define PORT_PB05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PB05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB05 External Interrupt Line */ -#define PIN_PB21A_EIC_EXTINT5 _L_(53) /**< \brief EIC signal: EXTINT5 on PB21 mux A */ -#define MUX_PB21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PB21A_EIC_EXTINT5 ((PIN_PB21A_EIC_EXTINT5 << 16) | MUX_PB21A_EIC_EXTINT5) -#define PORT_PB21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PB21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB21 External Interrupt Line */ -#define PIN_PC05A_EIC_EXTINT5 _L_(69) /**< \brief EIC signal: EXTINT5 on PC05 mux A */ -#define MUX_PC05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PC05A_EIC_EXTINT5 ((PIN_PC05A_EIC_EXTINT5 << 16) | MUX_PC05A_EIC_EXTINT5) -#define PORT_PC05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PC05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC05 External Interrupt Line */ -#define PIN_PC21A_EIC_EXTINT5 _L_(85) /**< \brief EIC signal: EXTINT5 on PC21 mux A */ -#define MUX_PC21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PC21A_EIC_EXTINT5 ((PIN_PC21A_EIC_EXTINT5 << 16) | MUX_PC21A_EIC_EXTINT5) -#define PORT_PC21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PC21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC21 External Interrupt Line */ -#define PIN_PA06A_EIC_EXTINT6 _L_(6) /**< \brief EIC signal: EXTINT6 on PA06 mux A */ -#define MUX_PA06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PA06A_EIC_EXTINT6 ((PIN_PA06A_EIC_EXTINT6 << 16) | MUX_PA06A_EIC_EXTINT6) -#define PORT_PA06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PA06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA06 External Interrupt Line */ -#define PIN_PA22A_EIC_EXTINT6 _L_(22) /**< \brief EIC signal: EXTINT6 on PA22 mux A */ -#define MUX_PA22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PA22A_EIC_EXTINT6 ((PIN_PA22A_EIC_EXTINT6 << 16) | MUX_PA22A_EIC_EXTINT6) -#define PORT_PA22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PA22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA22 External Interrupt Line */ -#define PIN_PB06A_EIC_EXTINT6 _L_(38) /**< \brief EIC signal: EXTINT6 on PB06 mux A */ -#define MUX_PB06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PB06A_EIC_EXTINT6 ((PIN_PB06A_EIC_EXTINT6 << 16) | MUX_PB06A_EIC_EXTINT6) -#define PORT_PB06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PB06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB06 External Interrupt Line */ -#define PIN_PB22A_EIC_EXTINT6 _L_(54) /**< \brief EIC signal: EXTINT6 on PB22 mux A */ -#define MUX_PB22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PB22A_EIC_EXTINT6 ((PIN_PB22A_EIC_EXTINT6 << 16) | MUX_PB22A_EIC_EXTINT6) -#define PORT_PB22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PB22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB22 External Interrupt Line */ -#define PIN_PC06A_EIC_EXTINT6 _L_(70) /**< \brief EIC signal: EXTINT6 on PC06 mux A */ -#define MUX_PC06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PC06A_EIC_EXTINT6 ((PIN_PC06A_EIC_EXTINT6 << 16) | MUX_PC06A_EIC_EXTINT6) -#define PORT_PC06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PC06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC06 External Interrupt Line */ -#define PIN_PA07A_EIC_EXTINT7 _L_(7) /**< \brief EIC signal: EXTINT7 on PA07 mux A */ -#define MUX_PA07A_EIC_EXTINT7 _L_(0) -#define PINMUX_PA07A_EIC_EXTINT7 ((PIN_PA07A_EIC_EXTINT7 << 16) | MUX_PA07A_EIC_EXTINT7) -#define PORT_PA07A_EIC_EXTINT7 (_UL_(1) << 7) -#define PIN_PA07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA07 External Interrupt Line */ -#define PIN_PA23A_EIC_EXTINT7 _L_(23) /**< \brief EIC signal: EXTINT7 on PA23 mux A */ -#define MUX_PA23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PA23A_EIC_EXTINT7 ((PIN_PA23A_EIC_EXTINT7 << 16) | MUX_PA23A_EIC_EXTINT7) -#define PORT_PA23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PA23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA23 External Interrupt Line */ -#define PIN_PB07A_EIC_EXTINT7 _L_(39) /**< \brief EIC signal: EXTINT7 on PB07 mux A */ -#define MUX_PB07A_EIC_EXTINT7 _L_(0) -#define PINMUX_PB07A_EIC_EXTINT7 ((PIN_PB07A_EIC_EXTINT7 << 16) | MUX_PB07A_EIC_EXTINT7) -#define PORT_PB07A_EIC_EXTINT7 (_UL_(1) << 7) -#define PIN_PB07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB07 External Interrupt Line */ -#define PIN_PB23A_EIC_EXTINT7 _L_(55) /**< \brief EIC signal: EXTINT7 on PB23 mux A */ -#define MUX_PB23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PB23A_EIC_EXTINT7 ((PIN_PB23A_EIC_EXTINT7 << 16) | MUX_PB23A_EIC_EXTINT7) -#define PORT_PB23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PB23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB23 External Interrupt Line */ -#define PIN_PA24A_EIC_EXTINT8 _L_(24) /**< \brief EIC signal: EXTINT8 on PA24 mux A */ -#define MUX_PA24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PA24A_EIC_EXTINT8 ((PIN_PA24A_EIC_EXTINT8 << 16) | MUX_PA24A_EIC_EXTINT8) -#define PORT_PA24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PA24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PA24 External Interrupt Line */ -#define PIN_PB08A_EIC_EXTINT8 _L_(40) /**< \brief EIC signal: EXTINT8 on PB08 mux A */ -#define MUX_PB08A_EIC_EXTINT8 _L_(0) -#define PINMUX_PB08A_EIC_EXTINT8 ((PIN_PB08A_EIC_EXTINT8 << 16) | MUX_PB08A_EIC_EXTINT8) -#define PORT_PB08A_EIC_EXTINT8 (_UL_(1) << 8) -#define PIN_PB08A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB08 External Interrupt Line */ -#define PIN_PB24A_EIC_EXTINT8 _L_(56) /**< \brief EIC signal: EXTINT8 on PB24 mux A */ -#define MUX_PB24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PB24A_EIC_EXTINT8 ((PIN_PB24A_EIC_EXTINT8 << 16) | MUX_PB24A_EIC_EXTINT8) -#define PORT_PB24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PB24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB24 External Interrupt Line */ -#define PIN_PC24A_EIC_EXTINT8 _L_(88) /**< \brief EIC signal: EXTINT8 on PC24 mux A */ -#define MUX_PC24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PC24A_EIC_EXTINT8 ((PIN_PC24A_EIC_EXTINT8 << 16) | MUX_PC24A_EIC_EXTINT8) -#define PORT_PC24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PC24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PC24 External Interrupt Line */ -#define PIN_PA09A_EIC_EXTINT9 _L_(9) /**< \brief EIC signal: EXTINT9 on PA09 mux A */ -#define MUX_PA09A_EIC_EXTINT9 _L_(0) -#define PINMUX_PA09A_EIC_EXTINT9 ((PIN_PA09A_EIC_EXTINT9 << 16) | MUX_PA09A_EIC_EXTINT9) -#define PORT_PA09A_EIC_EXTINT9 (_UL_(1) << 9) -#define PIN_PA09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA09 External Interrupt Line */ -#define PIN_PA25A_EIC_EXTINT9 _L_(25) /**< \brief EIC signal: EXTINT9 on PA25 mux A */ -#define MUX_PA25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PA25A_EIC_EXTINT9 ((PIN_PA25A_EIC_EXTINT9 << 16) | MUX_PA25A_EIC_EXTINT9) -#define PORT_PA25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PA25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA25 External Interrupt Line */ -#define PIN_PB09A_EIC_EXTINT9 _L_(41) /**< \brief EIC signal: EXTINT9 on PB09 mux A */ -#define MUX_PB09A_EIC_EXTINT9 _L_(0) -#define PINMUX_PB09A_EIC_EXTINT9 ((PIN_PB09A_EIC_EXTINT9 << 16) | MUX_PB09A_EIC_EXTINT9) -#define PORT_PB09A_EIC_EXTINT9 (_UL_(1) << 9) -#define PIN_PB09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB09 External Interrupt Line */ -#define PIN_PB25A_EIC_EXTINT9 _L_(57) /**< \brief EIC signal: EXTINT9 on PB25 mux A */ -#define MUX_PB25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PB25A_EIC_EXTINT9 ((PIN_PB25A_EIC_EXTINT9 << 16) | MUX_PB25A_EIC_EXTINT9) -#define PORT_PB25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PB25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB25 External Interrupt Line */ -#define PIN_PC07A_EIC_EXTINT9 _L_(71) /**< \brief EIC signal: EXTINT9 on PC07 mux A */ -#define MUX_PC07A_EIC_EXTINT9 _L_(0) -#define PINMUX_PC07A_EIC_EXTINT9 ((PIN_PC07A_EIC_EXTINT9 << 16) | MUX_PC07A_EIC_EXTINT9) -#define PORT_PC07A_EIC_EXTINT9 (_UL_(1) << 7) -#define PIN_PC07A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC07 External Interrupt Line */ -#define PIN_PC25A_EIC_EXTINT9 _L_(89) /**< \brief EIC signal: EXTINT9 on PC25 mux A */ -#define MUX_PC25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PC25A_EIC_EXTINT9 ((PIN_PC25A_EIC_EXTINT9 << 16) | MUX_PC25A_EIC_EXTINT9) -#define PORT_PC25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PC25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC25 External Interrupt Line */ -#define PIN_PA10A_EIC_EXTINT10 _L_(10) /**< \brief EIC signal: EXTINT10 on PA10 mux A */ -#define MUX_PA10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PA10A_EIC_EXTINT10 ((PIN_PA10A_EIC_EXTINT10 << 16) | MUX_PA10A_EIC_EXTINT10) -#define PORT_PA10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PA10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PA10 External Interrupt Line */ -#define PIN_PB10A_EIC_EXTINT10 _L_(42) /**< \brief EIC signal: EXTINT10 on PB10 mux A */ -#define MUX_PB10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PB10A_EIC_EXTINT10 ((PIN_PB10A_EIC_EXTINT10 << 16) | MUX_PB10A_EIC_EXTINT10) -#define PORT_PB10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PB10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PB10 External Interrupt Line */ -#define PIN_PC10A_EIC_EXTINT10 _L_(74) /**< \brief EIC signal: EXTINT10 on PC10 mux A */ -#define MUX_PC10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PC10A_EIC_EXTINT10 ((PIN_PC10A_EIC_EXTINT10 << 16) | MUX_PC10A_EIC_EXTINT10) -#define PORT_PC10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PC10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC10 External Interrupt Line */ -#define PIN_PC26A_EIC_EXTINT10 _L_(90) /**< \brief EIC signal: EXTINT10 on PC26 mux A */ -#define MUX_PC26A_EIC_EXTINT10 _L_(0) -#define PINMUX_PC26A_EIC_EXTINT10 ((PIN_PC26A_EIC_EXTINT10 << 16) | MUX_PC26A_EIC_EXTINT10) -#define PORT_PC26A_EIC_EXTINT10 (_UL_(1) << 26) -#define PIN_PC26A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC26 External Interrupt Line */ -#define PIN_PA11A_EIC_EXTINT11 _L_(11) /**< \brief EIC signal: EXTINT11 on PA11 mux A */ -#define MUX_PA11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PA11A_EIC_EXTINT11 ((PIN_PA11A_EIC_EXTINT11 << 16) | MUX_PA11A_EIC_EXTINT11) -#define PORT_PA11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PA11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA11 External Interrupt Line */ -#define PIN_PA27A_EIC_EXTINT11 _L_(27) /**< \brief EIC signal: EXTINT11 on PA27 mux A */ -#define MUX_PA27A_EIC_EXTINT11 _L_(0) -#define PINMUX_PA27A_EIC_EXTINT11 ((PIN_PA27A_EIC_EXTINT11 << 16) | MUX_PA27A_EIC_EXTINT11) -#define PORT_PA27A_EIC_EXTINT11 (_UL_(1) << 27) -#define PIN_PA27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA27 External Interrupt Line */ -#define PIN_PB11A_EIC_EXTINT11 _L_(43) /**< \brief EIC signal: EXTINT11 on PB11 mux A */ -#define MUX_PB11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PB11A_EIC_EXTINT11 ((PIN_PB11A_EIC_EXTINT11 << 16) | MUX_PB11A_EIC_EXTINT11) -#define PORT_PB11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PB11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PB11 External Interrupt Line */ -#define PIN_PC11A_EIC_EXTINT11 _L_(75) /**< \brief EIC signal: EXTINT11 on PC11 mux A */ -#define MUX_PC11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PC11A_EIC_EXTINT11 ((PIN_PC11A_EIC_EXTINT11 << 16) | MUX_PC11A_EIC_EXTINT11) -#define PORT_PC11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PC11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC11 External Interrupt Line */ -#define PIN_PC27A_EIC_EXTINT11 _L_(91) /**< \brief EIC signal: EXTINT11 on PC27 mux A */ -#define MUX_PC27A_EIC_EXTINT11 _L_(0) -#define PINMUX_PC27A_EIC_EXTINT11 ((PIN_PC27A_EIC_EXTINT11 << 16) | MUX_PC27A_EIC_EXTINT11) -#define PORT_PC27A_EIC_EXTINT11 (_UL_(1) << 27) -#define PIN_PC27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC27 External Interrupt Line */ -#define PIN_PA12A_EIC_EXTINT12 _L_(12) /**< \brief EIC signal: EXTINT12 on PA12 mux A */ -#define MUX_PA12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PA12A_EIC_EXTINT12 ((PIN_PA12A_EIC_EXTINT12 << 16) | MUX_PA12A_EIC_EXTINT12) -#define PORT_PA12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PA12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PA12 External Interrupt Line */ -#define PIN_PB12A_EIC_EXTINT12 _L_(44) /**< \brief EIC signal: EXTINT12 on PB12 mux A */ -#define MUX_PB12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PB12A_EIC_EXTINT12 ((PIN_PB12A_EIC_EXTINT12 << 16) | MUX_PB12A_EIC_EXTINT12) -#define PORT_PB12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PB12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB12 External Interrupt Line */ -#define PIN_PC12A_EIC_EXTINT12 _L_(76) /**< \brief EIC signal: EXTINT12 on PC12 mux A */ -#define MUX_PC12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PC12A_EIC_EXTINT12 ((PIN_PC12A_EIC_EXTINT12 << 16) | MUX_PC12A_EIC_EXTINT12) -#define PORT_PC12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PC12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC12 External Interrupt Line */ -#define PIN_PC28A_EIC_EXTINT12 _L_(92) /**< \brief EIC signal: EXTINT12 on PC28 mux A */ -#define MUX_PC28A_EIC_EXTINT12 _L_(0) -#define PINMUX_PC28A_EIC_EXTINT12 ((PIN_PC28A_EIC_EXTINT12 << 16) | MUX_PC28A_EIC_EXTINT12) -#define PORT_PC28A_EIC_EXTINT12 (_UL_(1) << 28) -#define PIN_PC28A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC28 External Interrupt Line */ -#define PIN_PA13A_EIC_EXTINT13 _L_(13) /**< \brief EIC signal: EXTINT13 on PA13 mux A */ -#define MUX_PA13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PA13A_EIC_EXTINT13 ((PIN_PA13A_EIC_EXTINT13 << 16) | MUX_PA13A_EIC_EXTINT13) -#define PORT_PA13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PA13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PA13 External Interrupt Line */ -#define PIN_PB13A_EIC_EXTINT13 _L_(45) /**< \brief EIC signal: EXTINT13 on PB13 mux A */ -#define MUX_PB13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PB13A_EIC_EXTINT13 ((PIN_PB13A_EIC_EXTINT13 << 16) | MUX_PB13A_EIC_EXTINT13) -#define PORT_PB13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PB13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB13 External Interrupt Line */ -#define PIN_PC13A_EIC_EXTINT13 _L_(77) /**< \brief EIC signal: EXTINT13 on PC13 mux A */ -#define MUX_PC13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PC13A_EIC_EXTINT13 ((PIN_PC13A_EIC_EXTINT13 << 16) | MUX_PC13A_EIC_EXTINT13) -#define PORT_PC13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PC13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PC13 External Interrupt Line */ -#define PIN_PA30A_EIC_EXTINT14 _L_(30) /**< \brief EIC signal: EXTINT14 on PA30 mux A */ -#define MUX_PA30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PA30A_EIC_EXTINT14 ((PIN_PA30A_EIC_EXTINT14 << 16) | MUX_PA30A_EIC_EXTINT14) -#define PORT_PA30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PA30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA30 External Interrupt Line */ -#define PIN_PB14A_EIC_EXTINT14 _L_(46) /**< \brief EIC signal: EXTINT14 on PB14 mux A */ -#define MUX_PB14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB14A_EIC_EXTINT14 ((PIN_PB14A_EIC_EXTINT14 << 16) | MUX_PB14A_EIC_EXTINT14) -#define PORT_PB14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PB14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB14 External Interrupt Line */ -#define PIN_PB30A_EIC_EXTINT14 _L_(62) /**< \brief EIC signal: EXTINT14 on PB30 mux A */ -#define MUX_PB30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB30A_EIC_EXTINT14 ((PIN_PB30A_EIC_EXTINT14 << 16) | MUX_PB30A_EIC_EXTINT14) -#define PORT_PB30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PB30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB30 External Interrupt Line */ -#define PIN_PC14A_EIC_EXTINT14 _L_(78) /**< \brief EIC signal: EXTINT14 on PC14 mux A */ -#define MUX_PC14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PC14A_EIC_EXTINT14 ((PIN_PC14A_EIC_EXTINT14 << 16) | MUX_PC14A_EIC_EXTINT14) -#define PORT_PC14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PC14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC14 External Interrupt Line */ -#define PIN_PA14A_EIC_EXTINT14 _L_(14) /**< \brief EIC signal: EXTINT14 on PA14 mux A */ -#define MUX_PA14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PA14A_EIC_EXTINT14 ((PIN_PA14A_EIC_EXTINT14 << 16) | MUX_PA14A_EIC_EXTINT14) -#define PORT_PA14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PA14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA14 External Interrupt Line */ -#define PIN_PA15A_EIC_EXTINT15 _L_(15) /**< \brief EIC signal: EXTINT15 on PA15 mux A */ -#define MUX_PA15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PA15A_EIC_EXTINT15 ((PIN_PA15A_EIC_EXTINT15 << 16) | MUX_PA15A_EIC_EXTINT15) -#define PORT_PA15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PA15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA15 External Interrupt Line */ -#define PIN_PA31A_EIC_EXTINT15 _L_(31) /**< \brief EIC signal: EXTINT15 on PA31 mux A */ -#define MUX_PA31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PA31A_EIC_EXTINT15 ((PIN_PA31A_EIC_EXTINT15 << 16) | MUX_PA31A_EIC_EXTINT15) -#define PORT_PA31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PA31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA31 External Interrupt Line */ -#define PIN_PB15A_EIC_EXTINT15 _L_(47) /**< \brief EIC signal: EXTINT15 on PB15 mux A */ -#define MUX_PB15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB15A_EIC_EXTINT15 ((PIN_PB15A_EIC_EXTINT15 << 16) | MUX_PB15A_EIC_EXTINT15) -#define PORT_PB15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PB15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB15 External Interrupt Line */ -#define PIN_PB31A_EIC_EXTINT15 _L_(63) /**< \brief EIC signal: EXTINT15 on PB31 mux A */ -#define MUX_PB31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB31A_EIC_EXTINT15 ((PIN_PB31A_EIC_EXTINT15 << 16) | MUX_PB31A_EIC_EXTINT15) -#define PORT_PB31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PB31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB31 External Interrupt Line */ -#define PIN_PC15A_EIC_EXTINT15 _L_(79) /**< \brief EIC signal: EXTINT15 on PC15 mux A */ -#define MUX_PC15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PC15A_EIC_EXTINT15 ((PIN_PC15A_EIC_EXTINT15 << 16) | MUX_PC15A_EIC_EXTINT15) -#define PORT_PC15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PC15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC15 External Interrupt Line */ -#define PIN_PA08A_EIC_NMI _L_(8) /**< \brief EIC signal: NMI on PA08 mux A */ -#define MUX_PA08A_EIC_NMI _L_(0) -#define PINMUX_PA08A_EIC_NMI ((PIN_PA08A_EIC_NMI << 16) | MUX_PA08A_EIC_NMI) -#define PORT_PA08A_EIC_NMI (_UL_(1) << 8) -/* ========== PORT definition for SERCOM0 peripheral ========== */ -#define PIN_PA04D_SERCOM0_PAD0 _L_(4) /**< \brief SERCOM0 signal: PAD0 on PA04 mux D */ -#define MUX_PA04D_SERCOM0_PAD0 _L_(3) -#define PINMUX_PA04D_SERCOM0_PAD0 ((PIN_PA04D_SERCOM0_PAD0 << 16) | MUX_PA04D_SERCOM0_PAD0) -#define PORT_PA04D_SERCOM0_PAD0 (_UL_(1) << 4) -#define PIN_PC17D_SERCOM0_PAD0 _L_(81) /**< \brief SERCOM0 signal: PAD0 on PC17 mux D */ -#define MUX_PC17D_SERCOM0_PAD0 _L_(3) -#define PINMUX_PC17D_SERCOM0_PAD0 ((PIN_PC17D_SERCOM0_PAD0 << 16) | MUX_PC17D_SERCOM0_PAD0) -#define PORT_PC17D_SERCOM0_PAD0 (_UL_(1) << 17) -#define PIN_PA08C_SERCOM0_PAD0 _L_(8) /**< \brief SERCOM0 signal: PAD0 on PA08 mux C */ -#define MUX_PA08C_SERCOM0_PAD0 _L_(2) -#define PINMUX_PA08C_SERCOM0_PAD0 ((PIN_PA08C_SERCOM0_PAD0 << 16) | MUX_PA08C_SERCOM0_PAD0) -#define PORT_PA08C_SERCOM0_PAD0 (_UL_(1) << 8) -#define PIN_PB24C_SERCOM0_PAD0 _L_(56) /**< \brief SERCOM0 signal: PAD0 on PB24 mux C */ -#define MUX_PB24C_SERCOM0_PAD0 _L_(2) -#define PINMUX_PB24C_SERCOM0_PAD0 ((PIN_PB24C_SERCOM0_PAD0 << 16) | MUX_PB24C_SERCOM0_PAD0) -#define PORT_PB24C_SERCOM0_PAD0 (_UL_(1) << 24) -#define PIN_PA05D_SERCOM0_PAD1 _L_(5) /**< \brief SERCOM0 signal: PAD1 on PA05 mux D */ -#define MUX_PA05D_SERCOM0_PAD1 _L_(3) -#define PINMUX_PA05D_SERCOM0_PAD1 ((PIN_PA05D_SERCOM0_PAD1 << 16) | MUX_PA05D_SERCOM0_PAD1) -#define PORT_PA05D_SERCOM0_PAD1 (_UL_(1) << 5) -#define PIN_PC16D_SERCOM0_PAD1 _L_(80) /**< \brief SERCOM0 signal: PAD1 on PC16 mux D */ -#define MUX_PC16D_SERCOM0_PAD1 _L_(3) -#define PINMUX_PC16D_SERCOM0_PAD1 ((PIN_PC16D_SERCOM0_PAD1 << 16) | MUX_PC16D_SERCOM0_PAD1) -#define PORT_PC16D_SERCOM0_PAD1 (_UL_(1) << 16) -#define PIN_PA09C_SERCOM0_PAD1 _L_(9) /**< \brief SERCOM0 signal: PAD1 on PA09 mux C */ -#define MUX_PA09C_SERCOM0_PAD1 _L_(2) -#define PINMUX_PA09C_SERCOM0_PAD1 ((PIN_PA09C_SERCOM0_PAD1 << 16) | MUX_PA09C_SERCOM0_PAD1) -#define PORT_PA09C_SERCOM0_PAD1 (_UL_(1) << 9) -#define PIN_PB25C_SERCOM0_PAD1 _L_(57) /**< \brief SERCOM0 signal: PAD1 on PB25 mux C */ -#define MUX_PB25C_SERCOM0_PAD1 _L_(2) -#define PINMUX_PB25C_SERCOM0_PAD1 ((PIN_PB25C_SERCOM0_PAD1 << 16) | MUX_PB25C_SERCOM0_PAD1) -#define PORT_PB25C_SERCOM0_PAD1 (_UL_(1) << 25) -#define PIN_PA06D_SERCOM0_PAD2 _L_(6) /**< \brief SERCOM0 signal: PAD2 on PA06 mux D */ -#define MUX_PA06D_SERCOM0_PAD2 _L_(3) -#define PINMUX_PA06D_SERCOM0_PAD2 ((PIN_PA06D_SERCOM0_PAD2 << 16) | MUX_PA06D_SERCOM0_PAD2) -#define PORT_PA06D_SERCOM0_PAD2 (_UL_(1) << 6) -#define PIN_PC18D_SERCOM0_PAD2 _L_(82) /**< \brief SERCOM0 signal: PAD2 on PC18 mux D */ -#define MUX_PC18D_SERCOM0_PAD2 _L_(3) -#define PINMUX_PC18D_SERCOM0_PAD2 ((PIN_PC18D_SERCOM0_PAD2 << 16) | MUX_PC18D_SERCOM0_PAD2) -#define PORT_PC18D_SERCOM0_PAD2 (_UL_(1) << 18) -#define PIN_PA10C_SERCOM0_PAD2 _L_(10) /**< \brief SERCOM0 signal: PAD2 on PA10 mux C */ -#define MUX_PA10C_SERCOM0_PAD2 _L_(2) -#define PINMUX_PA10C_SERCOM0_PAD2 ((PIN_PA10C_SERCOM0_PAD2 << 16) | MUX_PA10C_SERCOM0_PAD2) -#define PORT_PA10C_SERCOM0_PAD2 (_UL_(1) << 10) -#define PIN_PC24C_SERCOM0_PAD2 _L_(88) /**< \brief SERCOM0 signal: PAD2 on PC24 mux C */ -#define MUX_PC24C_SERCOM0_PAD2 _L_(2) -#define PINMUX_PC24C_SERCOM0_PAD2 ((PIN_PC24C_SERCOM0_PAD2 << 16) | MUX_PC24C_SERCOM0_PAD2) -#define PORT_PC24C_SERCOM0_PAD2 (_UL_(1) << 24) -#define PIN_PA07D_SERCOM0_PAD3 _L_(7) /**< \brief SERCOM0 signal: PAD3 on PA07 mux D */ -#define MUX_PA07D_SERCOM0_PAD3 _L_(3) -#define PINMUX_PA07D_SERCOM0_PAD3 ((PIN_PA07D_SERCOM0_PAD3 << 16) | MUX_PA07D_SERCOM0_PAD3) -#define PORT_PA07D_SERCOM0_PAD3 (_UL_(1) << 7) -#define PIN_PC19D_SERCOM0_PAD3 _L_(83) /**< \brief SERCOM0 signal: PAD3 on PC19 mux D */ -#define MUX_PC19D_SERCOM0_PAD3 _L_(3) -#define PINMUX_PC19D_SERCOM0_PAD3 ((PIN_PC19D_SERCOM0_PAD3 << 16) | MUX_PC19D_SERCOM0_PAD3) -#define PORT_PC19D_SERCOM0_PAD3 (_UL_(1) << 19) -#define PIN_PA11C_SERCOM0_PAD3 _L_(11) /**< \brief SERCOM0 signal: PAD3 on PA11 mux C */ -#define MUX_PA11C_SERCOM0_PAD3 _L_(2) -#define PINMUX_PA11C_SERCOM0_PAD3 ((PIN_PA11C_SERCOM0_PAD3 << 16) | MUX_PA11C_SERCOM0_PAD3) -#define PORT_PA11C_SERCOM0_PAD3 (_UL_(1) << 11) -#define PIN_PC25C_SERCOM0_PAD3 _L_(89) /**< \brief SERCOM0 signal: PAD3 on PC25 mux C */ -#define MUX_PC25C_SERCOM0_PAD3 _L_(2) -#define PINMUX_PC25C_SERCOM0_PAD3 ((PIN_PC25C_SERCOM0_PAD3 << 16) | MUX_PC25C_SERCOM0_PAD3) -#define PORT_PC25C_SERCOM0_PAD3 (_UL_(1) << 25) -/* ========== PORT definition for SERCOM1 peripheral ========== */ -#define PIN_PA00D_SERCOM1_PAD0 _L_(0) /**< \brief SERCOM1 signal: PAD0 on PA00 mux D */ -#define MUX_PA00D_SERCOM1_PAD0 _L_(3) -#define PINMUX_PA00D_SERCOM1_PAD0 ((PIN_PA00D_SERCOM1_PAD0 << 16) | MUX_PA00D_SERCOM1_PAD0) -#define PORT_PA00D_SERCOM1_PAD0 (_UL_(1) << 0) -#define PIN_PA16C_SERCOM1_PAD0 _L_(16) /**< \brief SERCOM1 signal: PAD0 on PA16 mux C */ -#define MUX_PA16C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PA16C_SERCOM1_PAD0 ((PIN_PA16C_SERCOM1_PAD0 << 16) | MUX_PA16C_SERCOM1_PAD0) -#define PORT_PA16C_SERCOM1_PAD0 (_UL_(1) << 16) -#define PIN_PC27C_SERCOM1_PAD0 _L_(91) /**< \brief SERCOM1 signal: PAD0 on PC27 mux C */ -#define MUX_PC27C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PC27C_SERCOM1_PAD0 ((PIN_PC27C_SERCOM1_PAD0 << 16) | MUX_PC27C_SERCOM1_PAD0) -#define PORT_PC27C_SERCOM1_PAD0 (_UL_(1) << 27) -#define PIN_PA01D_SERCOM1_PAD1 _L_(1) /**< \brief SERCOM1 signal: PAD1 on PA01 mux D */ -#define MUX_PA01D_SERCOM1_PAD1 _L_(3) -#define PINMUX_PA01D_SERCOM1_PAD1 ((PIN_PA01D_SERCOM1_PAD1 << 16) | MUX_PA01D_SERCOM1_PAD1) -#define PORT_PA01D_SERCOM1_PAD1 (_UL_(1) << 1) -#define PIN_PA17C_SERCOM1_PAD1 _L_(17) /**< \brief SERCOM1 signal: PAD1 on PA17 mux C */ -#define MUX_PA17C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PA17C_SERCOM1_PAD1 ((PIN_PA17C_SERCOM1_PAD1 << 16) | MUX_PA17C_SERCOM1_PAD1) -#define PORT_PA17C_SERCOM1_PAD1 (_UL_(1) << 17) -#define PIN_PC28C_SERCOM1_PAD1 _L_(92) /**< \brief SERCOM1 signal: PAD1 on PC28 mux C */ -#define MUX_PC28C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PC28C_SERCOM1_PAD1 ((PIN_PC28C_SERCOM1_PAD1 << 16) | MUX_PC28C_SERCOM1_PAD1) -#define PORT_PC28C_SERCOM1_PAD1 (_UL_(1) << 28) -#define PIN_PA30D_SERCOM1_PAD2 _L_(30) /**< \brief SERCOM1 signal: PAD2 on PA30 mux D */ -#define MUX_PA30D_SERCOM1_PAD2 _L_(3) -#define PINMUX_PA30D_SERCOM1_PAD2 ((PIN_PA30D_SERCOM1_PAD2 << 16) | MUX_PA30D_SERCOM1_PAD2) -#define PORT_PA30D_SERCOM1_PAD2 (_UL_(1) << 30) -#define PIN_PA18C_SERCOM1_PAD2 _L_(18) /**< \brief SERCOM1 signal: PAD2 on PA18 mux C */ -#define MUX_PA18C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PA18C_SERCOM1_PAD2 ((PIN_PA18C_SERCOM1_PAD2 << 16) | MUX_PA18C_SERCOM1_PAD2) -#define PORT_PA18C_SERCOM1_PAD2 (_UL_(1) << 18) -#define PIN_PB22C_SERCOM1_PAD2 _L_(54) /**< \brief SERCOM1 signal: PAD2 on PB22 mux C */ -#define MUX_PB22C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PB22C_SERCOM1_PAD2 ((PIN_PB22C_SERCOM1_PAD2 << 16) | MUX_PB22C_SERCOM1_PAD2) -#define PORT_PB22C_SERCOM1_PAD2 (_UL_(1) << 22) -#define PIN_PA31D_SERCOM1_PAD3 _L_(31) /**< \brief SERCOM1 signal: PAD3 on PA31 mux D */ -#define MUX_PA31D_SERCOM1_PAD3 _L_(3) -#define PINMUX_PA31D_SERCOM1_PAD3 ((PIN_PA31D_SERCOM1_PAD3 << 16) | MUX_PA31D_SERCOM1_PAD3) -#define PORT_PA31D_SERCOM1_PAD3 (_UL_(1) << 31) -#define PIN_PA19C_SERCOM1_PAD3 _L_(19) /**< \brief SERCOM1 signal: PAD3 on PA19 mux C */ -#define MUX_PA19C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PA19C_SERCOM1_PAD3 ((PIN_PA19C_SERCOM1_PAD3 << 16) | MUX_PA19C_SERCOM1_PAD3) -#define PORT_PA19C_SERCOM1_PAD3 (_UL_(1) << 19) -#define PIN_PB23C_SERCOM1_PAD3 _L_(55) /**< \brief SERCOM1 signal: PAD3 on PB23 mux C */ -#define MUX_PB23C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PB23C_SERCOM1_PAD3 ((PIN_PB23C_SERCOM1_PAD3 << 16) | MUX_PB23C_SERCOM1_PAD3) -#define PORT_PB23C_SERCOM1_PAD3 (_UL_(1) << 23) -/* ========== PORT definition for TC0 peripheral ========== */ -#define PIN_PA04E_TC0_WO0 _L_(4) /**< \brief TC0 signal: WO0 on PA04 mux E */ -#define MUX_PA04E_TC0_WO0 _L_(4) -#define PINMUX_PA04E_TC0_WO0 ((PIN_PA04E_TC0_WO0 << 16) | MUX_PA04E_TC0_WO0) -#define PORT_PA04E_TC0_WO0 (_UL_(1) << 4) -#define PIN_PA08E_TC0_WO0 _L_(8) /**< \brief TC0 signal: WO0 on PA08 mux E */ -#define MUX_PA08E_TC0_WO0 _L_(4) -#define PINMUX_PA08E_TC0_WO0 ((PIN_PA08E_TC0_WO0 << 16) | MUX_PA08E_TC0_WO0) -#define PORT_PA08E_TC0_WO0 (_UL_(1) << 8) -#define PIN_PB30E_TC0_WO0 _L_(62) /**< \brief TC0 signal: WO0 on PB30 mux E */ -#define MUX_PB30E_TC0_WO0 _L_(4) -#define PINMUX_PB30E_TC0_WO0 ((PIN_PB30E_TC0_WO0 << 16) | MUX_PB30E_TC0_WO0) -#define PORT_PB30E_TC0_WO0 (_UL_(1) << 30) -#define PIN_PA05E_TC0_WO1 _L_(5) /**< \brief TC0 signal: WO1 on PA05 mux E */ -#define MUX_PA05E_TC0_WO1 _L_(4) -#define PINMUX_PA05E_TC0_WO1 ((PIN_PA05E_TC0_WO1 << 16) | MUX_PA05E_TC0_WO1) -#define PORT_PA05E_TC0_WO1 (_UL_(1) << 5) -#define PIN_PA09E_TC0_WO1 _L_(9) /**< \brief TC0 signal: WO1 on PA09 mux E */ -#define MUX_PA09E_TC0_WO1 _L_(4) -#define PINMUX_PA09E_TC0_WO1 ((PIN_PA09E_TC0_WO1 << 16) | MUX_PA09E_TC0_WO1) -#define PORT_PA09E_TC0_WO1 (_UL_(1) << 9) -#define PIN_PB31E_TC0_WO1 _L_(63) /**< \brief TC0 signal: WO1 on PB31 mux E */ -#define MUX_PB31E_TC0_WO1 _L_(4) -#define PINMUX_PB31E_TC0_WO1 ((PIN_PB31E_TC0_WO1 << 16) | MUX_PB31E_TC0_WO1) -#define PORT_PB31E_TC0_WO1 (_UL_(1) << 31) -/* ========== PORT definition for TC1 peripheral ========== */ -#define PIN_PA06E_TC1_WO0 _L_(6) /**< \brief TC1 signal: WO0 on PA06 mux E */ -#define MUX_PA06E_TC1_WO0 _L_(4) -#define PINMUX_PA06E_TC1_WO0 ((PIN_PA06E_TC1_WO0 << 16) | MUX_PA06E_TC1_WO0) -#define PORT_PA06E_TC1_WO0 (_UL_(1) << 6) -#define PIN_PA10E_TC1_WO0 _L_(10) /**< \brief TC1 signal: WO0 on PA10 mux E */ -#define MUX_PA10E_TC1_WO0 _L_(4) -#define PINMUX_PA10E_TC1_WO0 ((PIN_PA10E_TC1_WO0 << 16) | MUX_PA10E_TC1_WO0) -#define PORT_PA10E_TC1_WO0 (_UL_(1) << 10) -#define PIN_PA07E_TC1_WO1 _L_(7) /**< \brief TC1 signal: WO1 on PA07 mux E */ -#define MUX_PA07E_TC1_WO1 _L_(4) -#define PINMUX_PA07E_TC1_WO1 ((PIN_PA07E_TC1_WO1 << 16) | MUX_PA07E_TC1_WO1) -#define PORT_PA07E_TC1_WO1 (_UL_(1) << 7) -#define PIN_PA11E_TC1_WO1 _L_(11) /**< \brief TC1 signal: WO1 on PA11 mux E */ -#define MUX_PA11E_TC1_WO1 _L_(4) -#define PINMUX_PA11E_TC1_WO1 ((PIN_PA11E_TC1_WO1 << 16) | MUX_PA11E_TC1_WO1) -#define PORT_PA11E_TC1_WO1 (_UL_(1) << 11) -/* ========== PORT definition for USB peripheral ========== */ -#define PIN_PA24H_USB_DM _L_(24) /**< \brief USB signal: DM on PA24 mux H */ -#define MUX_PA24H_USB_DM _L_(7) -#define PINMUX_PA24H_USB_DM ((PIN_PA24H_USB_DM << 16) | MUX_PA24H_USB_DM) -#define PORT_PA24H_USB_DM (_UL_(1) << 24) -#define PIN_PA25H_USB_DP _L_(25) /**< \brief USB signal: DP on PA25 mux H */ -#define MUX_PA25H_USB_DP _L_(7) -#define PINMUX_PA25H_USB_DP ((PIN_PA25H_USB_DP << 16) | MUX_PA25H_USB_DP) -#define PORT_PA25H_USB_DP (_UL_(1) << 25) -#define PIN_PA23H_USB_SOF_1KHZ _L_(23) /**< \brief USB signal: SOF_1KHZ on PA23 mux H */ -#define MUX_PA23H_USB_SOF_1KHZ _L_(7) -#define PINMUX_PA23H_USB_SOF_1KHZ ((PIN_PA23H_USB_SOF_1KHZ << 16) | MUX_PA23H_USB_SOF_1KHZ) -#define PORT_PA23H_USB_SOF_1KHZ (_UL_(1) << 23) -#define PIN_PB22H_USB_SOF_1KHZ _L_(54) /**< \brief USB signal: SOF_1KHZ on PB22 mux H */ -#define MUX_PB22H_USB_SOF_1KHZ _L_(7) -#define PINMUX_PB22H_USB_SOF_1KHZ ((PIN_PB22H_USB_SOF_1KHZ << 16) | MUX_PB22H_USB_SOF_1KHZ) -#define PORT_PB22H_USB_SOF_1KHZ (_UL_(1) << 22) -/* ========== PORT definition for SERCOM2 peripheral ========== */ -#define PIN_PA09D_SERCOM2_PAD0 _L_(9) /**< \brief SERCOM2 signal: PAD0 on PA09 mux D */ -#define MUX_PA09D_SERCOM2_PAD0 _L_(3) -#define PINMUX_PA09D_SERCOM2_PAD0 ((PIN_PA09D_SERCOM2_PAD0 << 16) | MUX_PA09D_SERCOM2_PAD0) -#define PORT_PA09D_SERCOM2_PAD0 (_UL_(1) << 9) -#define PIN_PB25D_SERCOM2_PAD0 _L_(57) /**< \brief SERCOM2 signal: PAD0 on PB25 mux D */ -#define MUX_PB25D_SERCOM2_PAD0 _L_(3) -#define PINMUX_PB25D_SERCOM2_PAD0 ((PIN_PB25D_SERCOM2_PAD0 << 16) | MUX_PB25D_SERCOM2_PAD0) -#define PORT_PB25D_SERCOM2_PAD0 (_UL_(1) << 25) -#define PIN_PA12C_SERCOM2_PAD0 _L_(12) /**< \brief SERCOM2 signal: PAD0 on PA12 mux C */ -#define MUX_PA12C_SERCOM2_PAD0 _L_(2) -#define PINMUX_PA12C_SERCOM2_PAD0 ((PIN_PA12C_SERCOM2_PAD0 << 16) | MUX_PA12C_SERCOM2_PAD0) -#define PORT_PA12C_SERCOM2_PAD0 (_UL_(1) << 12) -#define PIN_PA08D_SERCOM2_PAD1 _L_(8) /**< \brief SERCOM2 signal: PAD1 on PA08 mux D */ -#define MUX_PA08D_SERCOM2_PAD1 _L_(3) -#define PINMUX_PA08D_SERCOM2_PAD1 ((PIN_PA08D_SERCOM2_PAD1 << 16) | MUX_PA08D_SERCOM2_PAD1) -#define PORT_PA08D_SERCOM2_PAD1 (_UL_(1) << 8) -#define PIN_PB24D_SERCOM2_PAD1 _L_(56) /**< \brief SERCOM2 signal: PAD1 on PB24 mux D */ -#define MUX_PB24D_SERCOM2_PAD1 _L_(3) -#define PINMUX_PB24D_SERCOM2_PAD1 ((PIN_PB24D_SERCOM2_PAD1 << 16) | MUX_PB24D_SERCOM2_PAD1) -#define PORT_PB24D_SERCOM2_PAD1 (_UL_(1) << 24) -#define PIN_PA13C_SERCOM2_PAD1 _L_(13) /**< \brief SERCOM2 signal: PAD1 on PA13 mux C */ -#define MUX_PA13C_SERCOM2_PAD1 _L_(2) -#define PINMUX_PA13C_SERCOM2_PAD1 ((PIN_PA13C_SERCOM2_PAD1 << 16) | MUX_PA13C_SERCOM2_PAD1) -#define PORT_PA13C_SERCOM2_PAD1 (_UL_(1) << 13) -#define PIN_PA10D_SERCOM2_PAD2 _L_(10) /**< \brief SERCOM2 signal: PAD2 on PA10 mux D */ -#define MUX_PA10D_SERCOM2_PAD2 _L_(3) -#define PINMUX_PA10D_SERCOM2_PAD2 ((PIN_PA10D_SERCOM2_PAD2 << 16) | MUX_PA10D_SERCOM2_PAD2) -#define PORT_PA10D_SERCOM2_PAD2 (_UL_(1) << 10) -#define PIN_PC24D_SERCOM2_PAD2 _L_(88) /**< \brief SERCOM2 signal: PAD2 on PC24 mux D */ -#define MUX_PC24D_SERCOM2_PAD2 _L_(3) -#define PINMUX_PC24D_SERCOM2_PAD2 ((PIN_PC24D_SERCOM2_PAD2 << 16) | MUX_PC24D_SERCOM2_PAD2) -#define PORT_PC24D_SERCOM2_PAD2 (_UL_(1) << 24) -#define PIN_PA14C_SERCOM2_PAD2 _L_(14) /**< \brief SERCOM2 signal: PAD2 on PA14 mux C */ -#define MUX_PA14C_SERCOM2_PAD2 _L_(2) -#define PINMUX_PA14C_SERCOM2_PAD2 ((PIN_PA14C_SERCOM2_PAD2 << 16) | MUX_PA14C_SERCOM2_PAD2) -#define PORT_PA14C_SERCOM2_PAD2 (_UL_(1) << 14) -#define PIN_PA11D_SERCOM2_PAD3 _L_(11) /**< \brief SERCOM2 signal: PAD3 on PA11 mux D */ -#define MUX_PA11D_SERCOM2_PAD3 _L_(3) -#define PINMUX_PA11D_SERCOM2_PAD3 ((PIN_PA11D_SERCOM2_PAD3 << 16) | MUX_PA11D_SERCOM2_PAD3) -#define PORT_PA11D_SERCOM2_PAD3 (_UL_(1) << 11) -#define PIN_PC25D_SERCOM2_PAD3 _L_(89) /**< \brief SERCOM2 signal: PAD3 on PC25 mux D */ -#define MUX_PC25D_SERCOM2_PAD3 _L_(3) -#define PINMUX_PC25D_SERCOM2_PAD3 ((PIN_PC25D_SERCOM2_PAD3 << 16) | MUX_PC25D_SERCOM2_PAD3) -#define PORT_PC25D_SERCOM2_PAD3 (_UL_(1) << 25) -#define PIN_PA15C_SERCOM2_PAD3 _L_(15) /**< \brief SERCOM2 signal: PAD3 on PA15 mux C */ -#define MUX_PA15C_SERCOM2_PAD3 _L_(2) -#define PINMUX_PA15C_SERCOM2_PAD3 ((PIN_PA15C_SERCOM2_PAD3 << 16) | MUX_PA15C_SERCOM2_PAD3) -#define PORT_PA15C_SERCOM2_PAD3 (_UL_(1) << 15) -/* ========== PORT definition for SERCOM3 peripheral ========== */ -#define PIN_PA17D_SERCOM3_PAD0 _L_(17) /**< \brief SERCOM3 signal: PAD0 on PA17 mux D */ -#define MUX_PA17D_SERCOM3_PAD0 _L_(3) -#define PINMUX_PA17D_SERCOM3_PAD0 ((PIN_PA17D_SERCOM3_PAD0 << 16) | MUX_PA17D_SERCOM3_PAD0) -#define PORT_PA17D_SERCOM3_PAD0 (_UL_(1) << 17) -#define PIN_PA22C_SERCOM3_PAD0 _L_(22) /**< \brief SERCOM3 signal: PAD0 on PA22 mux C */ -#define MUX_PA22C_SERCOM3_PAD0 _L_(2) -#define PINMUX_PA22C_SERCOM3_PAD0 ((PIN_PA22C_SERCOM3_PAD0 << 16) | MUX_PA22C_SERCOM3_PAD0) -#define PORT_PA22C_SERCOM3_PAD0 (_UL_(1) << 22) -#define PIN_PB20C_SERCOM3_PAD0 _L_(52) /**< \brief SERCOM3 signal: PAD0 on PB20 mux C */ -#define MUX_PB20C_SERCOM3_PAD0 _L_(2) -#define PINMUX_PB20C_SERCOM3_PAD0 ((PIN_PB20C_SERCOM3_PAD0 << 16) | MUX_PB20C_SERCOM3_PAD0) -#define PORT_PB20C_SERCOM3_PAD0 (_UL_(1) << 20) -#define PIN_PA16D_SERCOM3_PAD1 _L_(16) /**< \brief SERCOM3 signal: PAD1 on PA16 mux D */ -#define MUX_PA16D_SERCOM3_PAD1 _L_(3) -#define PINMUX_PA16D_SERCOM3_PAD1 ((PIN_PA16D_SERCOM3_PAD1 << 16) | MUX_PA16D_SERCOM3_PAD1) -#define PORT_PA16D_SERCOM3_PAD1 (_UL_(1) << 16) -#define PIN_PA23C_SERCOM3_PAD1 _L_(23) /**< \brief SERCOM3 signal: PAD1 on PA23 mux C */ -#define MUX_PA23C_SERCOM3_PAD1 _L_(2) -#define PINMUX_PA23C_SERCOM3_PAD1 ((PIN_PA23C_SERCOM3_PAD1 << 16) | MUX_PA23C_SERCOM3_PAD1) -#define PORT_PA23C_SERCOM3_PAD1 (_UL_(1) << 23) -#define PIN_PB21C_SERCOM3_PAD1 _L_(53) /**< \brief SERCOM3 signal: PAD1 on PB21 mux C */ -#define MUX_PB21C_SERCOM3_PAD1 _L_(2) -#define PINMUX_PB21C_SERCOM3_PAD1 ((PIN_PB21C_SERCOM3_PAD1 << 16) | MUX_PB21C_SERCOM3_PAD1) -#define PORT_PB21C_SERCOM3_PAD1 (_UL_(1) << 21) -#define PIN_PA18D_SERCOM3_PAD2 _L_(18) /**< \brief SERCOM3 signal: PAD2 on PA18 mux D */ -#define MUX_PA18D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PA18D_SERCOM3_PAD2 ((PIN_PA18D_SERCOM3_PAD2 << 16) | MUX_PA18D_SERCOM3_PAD2) -#define PORT_PA18D_SERCOM3_PAD2 (_UL_(1) << 18) -#define PIN_PA20D_SERCOM3_PAD2 _L_(20) /**< \brief SERCOM3 signal: PAD2 on PA20 mux D */ -#define MUX_PA20D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PA20D_SERCOM3_PAD2 ((PIN_PA20D_SERCOM3_PAD2 << 16) | MUX_PA20D_SERCOM3_PAD2) -#define PORT_PA20D_SERCOM3_PAD2 (_UL_(1) << 20) -#define PIN_PA24C_SERCOM3_PAD2 _L_(24) /**< \brief SERCOM3 signal: PAD2 on PA24 mux C */ -#define MUX_PA24C_SERCOM3_PAD2 _L_(2) -#define PINMUX_PA24C_SERCOM3_PAD2 ((PIN_PA24C_SERCOM3_PAD2 << 16) | MUX_PA24C_SERCOM3_PAD2) -#define PORT_PA24C_SERCOM3_PAD2 (_UL_(1) << 24) -#define PIN_PA19D_SERCOM3_PAD3 _L_(19) /**< \brief SERCOM3 signal: PAD3 on PA19 mux D */ -#define MUX_PA19D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PA19D_SERCOM3_PAD3 ((PIN_PA19D_SERCOM3_PAD3 << 16) | MUX_PA19D_SERCOM3_PAD3) -#define PORT_PA19D_SERCOM3_PAD3 (_UL_(1) << 19) -#define PIN_PA21D_SERCOM3_PAD3 _L_(21) /**< \brief SERCOM3 signal: PAD3 on PA21 mux D */ -#define MUX_PA21D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PA21D_SERCOM3_PAD3 ((PIN_PA21D_SERCOM3_PAD3 << 16) | MUX_PA21D_SERCOM3_PAD3) -#define PORT_PA21D_SERCOM3_PAD3 (_UL_(1) << 21) -#define PIN_PA25C_SERCOM3_PAD3 _L_(25) /**< \brief SERCOM3 signal: PAD3 on PA25 mux C */ -#define MUX_PA25C_SERCOM3_PAD3 _L_(2) -#define PINMUX_PA25C_SERCOM3_PAD3 ((PIN_PA25C_SERCOM3_PAD3 << 16) | MUX_PA25C_SERCOM3_PAD3) -#define PORT_PA25C_SERCOM3_PAD3 (_UL_(1) << 25) -/* ========== PORT definition for TCC0 peripheral ========== */ -#define PIN_PA20G_TCC0_WO0 _L_(20) /**< \brief TCC0 signal: WO0 on PA20 mux G */ -#define MUX_PA20G_TCC0_WO0 _L_(6) -#define PINMUX_PA20G_TCC0_WO0 ((PIN_PA20G_TCC0_WO0 << 16) | MUX_PA20G_TCC0_WO0) -#define PORT_PA20G_TCC0_WO0 (_UL_(1) << 20) -#define PIN_PB12G_TCC0_WO0 _L_(44) /**< \brief TCC0 signal: WO0 on PB12 mux G */ -#define MUX_PB12G_TCC0_WO0 _L_(6) -#define PINMUX_PB12G_TCC0_WO0 ((PIN_PB12G_TCC0_WO0 << 16) | MUX_PB12G_TCC0_WO0) -#define PORT_PB12G_TCC0_WO0 (_UL_(1) << 12) -#define PIN_PA08F_TCC0_WO0 _L_(8) /**< \brief TCC0 signal: WO0 on PA08 mux F */ -#define MUX_PA08F_TCC0_WO0 _L_(5) -#define PINMUX_PA08F_TCC0_WO0 ((PIN_PA08F_TCC0_WO0 << 16) | MUX_PA08F_TCC0_WO0) -#define PORT_PA08F_TCC0_WO0 (_UL_(1) << 8) -#define PIN_PC10F_TCC0_WO0 _L_(74) /**< \brief TCC0 signal: WO0 on PC10 mux F */ -#define MUX_PC10F_TCC0_WO0 _L_(5) -#define PINMUX_PC10F_TCC0_WO0 ((PIN_PC10F_TCC0_WO0 << 16) | MUX_PC10F_TCC0_WO0) -#define PORT_PC10F_TCC0_WO0 (_UL_(1) << 10) -#define PIN_PC16F_TCC0_WO0 _L_(80) /**< \brief TCC0 signal: WO0 on PC16 mux F */ -#define MUX_PC16F_TCC0_WO0 _L_(5) -#define PINMUX_PC16F_TCC0_WO0 ((PIN_PC16F_TCC0_WO0 << 16) | MUX_PC16F_TCC0_WO0) -#define PORT_PC16F_TCC0_WO0 (_UL_(1) << 16) -#define PIN_PA21G_TCC0_WO1 _L_(21) /**< \brief TCC0 signal: WO1 on PA21 mux G */ -#define MUX_PA21G_TCC0_WO1 _L_(6) -#define PINMUX_PA21G_TCC0_WO1 ((PIN_PA21G_TCC0_WO1 << 16) | MUX_PA21G_TCC0_WO1) -#define PORT_PA21G_TCC0_WO1 (_UL_(1) << 21) -#define PIN_PB13G_TCC0_WO1 _L_(45) /**< \brief TCC0 signal: WO1 on PB13 mux G */ -#define MUX_PB13G_TCC0_WO1 _L_(6) -#define PINMUX_PB13G_TCC0_WO1 ((PIN_PB13G_TCC0_WO1 << 16) | MUX_PB13G_TCC0_WO1) -#define PORT_PB13G_TCC0_WO1 (_UL_(1) << 13) -#define PIN_PA09F_TCC0_WO1 _L_(9) /**< \brief TCC0 signal: WO1 on PA09 mux F */ -#define MUX_PA09F_TCC0_WO1 _L_(5) -#define PINMUX_PA09F_TCC0_WO1 ((PIN_PA09F_TCC0_WO1 << 16) | MUX_PA09F_TCC0_WO1) -#define PORT_PA09F_TCC0_WO1 (_UL_(1) << 9) -#define PIN_PC11F_TCC0_WO1 _L_(75) /**< \brief TCC0 signal: WO1 on PC11 mux F */ -#define MUX_PC11F_TCC0_WO1 _L_(5) -#define PINMUX_PC11F_TCC0_WO1 ((PIN_PC11F_TCC0_WO1 << 16) | MUX_PC11F_TCC0_WO1) -#define PORT_PC11F_TCC0_WO1 (_UL_(1) << 11) -#define PIN_PC17F_TCC0_WO1 _L_(81) /**< \brief TCC0 signal: WO1 on PC17 mux F */ -#define MUX_PC17F_TCC0_WO1 _L_(5) -#define PINMUX_PC17F_TCC0_WO1 ((PIN_PC17F_TCC0_WO1 << 16) | MUX_PC17F_TCC0_WO1) -#define PORT_PC17F_TCC0_WO1 (_UL_(1) << 17) -#define PIN_PA22G_TCC0_WO2 _L_(22) /**< \brief TCC0 signal: WO2 on PA22 mux G */ -#define MUX_PA22G_TCC0_WO2 _L_(6) -#define PINMUX_PA22G_TCC0_WO2 ((PIN_PA22G_TCC0_WO2 << 16) | MUX_PA22G_TCC0_WO2) -#define PORT_PA22G_TCC0_WO2 (_UL_(1) << 22) -#define PIN_PB14G_TCC0_WO2 _L_(46) /**< \brief TCC0 signal: WO2 on PB14 mux G */ -#define MUX_PB14G_TCC0_WO2 _L_(6) -#define PINMUX_PB14G_TCC0_WO2 ((PIN_PB14G_TCC0_WO2 << 16) | MUX_PB14G_TCC0_WO2) -#define PORT_PB14G_TCC0_WO2 (_UL_(1) << 14) -#define PIN_PA10F_TCC0_WO2 _L_(10) /**< \brief TCC0 signal: WO2 on PA10 mux F */ -#define MUX_PA10F_TCC0_WO2 _L_(5) -#define PINMUX_PA10F_TCC0_WO2 ((PIN_PA10F_TCC0_WO2 << 16) | MUX_PA10F_TCC0_WO2) -#define PORT_PA10F_TCC0_WO2 (_UL_(1) << 10) -#define PIN_PC12F_TCC0_WO2 _L_(76) /**< \brief TCC0 signal: WO2 on PC12 mux F */ -#define MUX_PC12F_TCC0_WO2 _L_(5) -#define PINMUX_PC12F_TCC0_WO2 ((PIN_PC12F_TCC0_WO2 << 16) | MUX_PC12F_TCC0_WO2) -#define PORT_PC12F_TCC0_WO2 (_UL_(1) << 12) -#define PIN_PC18F_TCC0_WO2 _L_(82) /**< \brief TCC0 signal: WO2 on PC18 mux F */ -#define MUX_PC18F_TCC0_WO2 _L_(5) -#define PINMUX_PC18F_TCC0_WO2 ((PIN_PC18F_TCC0_WO2 << 16) | MUX_PC18F_TCC0_WO2) -#define PORT_PC18F_TCC0_WO2 (_UL_(1) << 18) -#define PIN_PA23G_TCC0_WO3 _L_(23) /**< \brief TCC0 signal: WO3 on PA23 mux G */ -#define MUX_PA23G_TCC0_WO3 _L_(6) -#define PINMUX_PA23G_TCC0_WO3 ((PIN_PA23G_TCC0_WO3 << 16) | MUX_PA23G_TCC0_WO3) -#define PORT_PA23G_TCC0_WO3 (_UL_(1) << 23) -#define PIN_PB15G_TCC0_WO3 _L_(47) /**< \brief TCC0 signal: WO3 on PB15 mux G */ -#define MUX_PB15G_TCC0_WO3 _L_(6) -#define PINMUX_PB15G_TCC0_WO3 ((PIN_PB15G_TCC0_WO3 << 16) | MUX_PB15G_TCC0_WO3) -#define PORT_PB15G_TCC0_WO3 (_UL_(1) << 15) -#define PIN_PA11F_TCC0_WO3 _L_(11) /**< \brief TCC0 signal: WO3 on PA11 mux F */ -#define MUX_PA11F_TCC0_WO3 _L_(5) -#define PINMUX_PA11F_TCC0_WO3 ((PIN_PA11F_TCC0_WO3 << 16) | MUX_PA11F_TCC0_WO3) -#define PORT_PA11F_TCC0_WO3 (_UL_(1) << 11) -#define PIN_PC13F_TCC0_WO3 _L_(77) /**< \brief TCC0 signal: WO3 on PC13 mux F */ -#define MUX_PC13F_TCC0_WO3 _L_(5) -#define PINMUX_PC13F_TCC0_WO3 ((PIN_PC13F_TCC0_WO3 << 16) | MUX_PC13F_TCC0_WO3) -#define PORT_PC13F_TCC0_WO3 (_UL_(1) << 13) -#define PIN_PC19F_TCC0_WO3 _L_(83) /**< \brief TCC0 signal: WO3 on PC19 mux F */ -#define MUX_PC19F_TCC0_WO3 _L_(5) -#define PINMUX_PC19F_TCC0_WO3 ((PIN_PC19F_TCC0_WO3 << 16) | MUX_PC19F_TCC0_WO3) -#define PORT_PC19F_TCC0_WO3 (_UL_(1) << 19) -#define PIN_PA16G_TCC0_WO4 _L_(16) /**< \brief TCC0 signal: WO4 on PA16 mux G */ -#define MUX_PA16G_TCC0_WO4 _L_(6) -#define PINMUX_PA16G_TCC0_WO4 ((PIN_PA16G_TCC0_WO4 << 16) | MUX_PA16G_TCC0_WO4) -#define PORT_PA16G_TCC0_WO4 (_UL_(1) << 16) -#define PIN_PB16G_TCC0_WO4 _L_(48) /**< \brief TCC0 signal: WO4 on PB16 mux G */ -#define MUX_PB16G_TCC0_WO4 _L_(6) -#define PINMUX_PB16G_TCC0_WO4 ((PIN_PB16G_TCC0_WO4 << 16) | MUX_PB16G_TCC0_WO4) -#define PORT_PB16G_TCC0_WO4 (_UL_(1) << 16) -#define PIN_PB10F_TCC0_WO4 _L_(42) /**< \brief TCC0 signal: WO4 on PB10 mux F */ -#define MUX_PB10F_TCC0_WO4 _L_(5) -#define PINMUX_PB10F_TCC0_WO4 ((PIN_PB10F_TCC0_WO4 << 16) | MUX_PB10F_TCC0_WO4) -#define PORT_PB10F_TCC0_WO4 (_UL_(1) << 10) -#define PIN_PC14F_TCC0_WO4 _L_(78) /**< \brief TCC0 signal: WO4 on PC14 mux F */ -#define MUX_PC14F_TCC0_WO4 _L_(5) -#define PINMUX_PC14F_TCC0_WO4 ((PIN_PC14F_TCC0_WO4 << 16) | MUX_PC14F_TCC0_WO4) -#define PORT_PC14F_TCC0_WO4 (_UL_(1) << 14) -#define PIN_PC20F_TCC0_WO4 _L_(84) /**< \brief TCC0 signal: WO4 on PC20 mux F */ -#define MUX_PC20F_TCC0_WO4 _L_(5) -#define PINMUX_PC20F_TCC0_WO4 ((PIN_PC20F_TCC0_WO4 << 16) | MUX_PC20F_TCC0_WO4) -#define PORT_PC20F_TCC0_WO4 (_UL_(1) << 20) -#define PIN_PA17G_TCC0_WO5 _L_(17) /**< \brief TCC0 signal: WO5 on PA17 mux G */ -#define MUX_PA17G_TCC0_WO5 _L_(6) -#define PINMUX_PA17G_TCC0_WO5 ((PIN_PA17G_TCC0_WO5 << 16) | MUX_PA17G_TCC0_WO5) -#define PORT_PA17G_TCC0_WO5 (_UL_(1) << 17) -#define PIN_PB17G_TCC0_WO5 _L_(49) /**< \brief TCC0 signal: WO5 on PB17 mux G */ -#define MUX_PB17G_TCC0_WO5 _L_(6) -#define PINMUX_PB17G_TCC0_WO5 ((PIN_PB17G_TCC0_WO5 << 16) | MUX_PB17G_TCC0_WO5) -#define PORT_PB17G_TCC0_WO5 (_UL_(1) << 17) -#define PIN_PB11F_TCC0_WO5 _L_(43) /**< \brief TCC0 signal: WO5 on PB11 mux F */ -#define MUX_PB11F_TCC0_WO5 _L_(5) -#define PINMUX_PB11F_TCC0_WO5 ((PIN_PB11F_TCC0_WO5 << 16) | MUX_PB11F_TCC0_WO5) -#define PORT_PB11F_TCC0_WO5 (_UL_(1) << 11) -#define PIN_PC15F_TCC0_WO5 _L_(79) /**< \brief TCC0 signal: WO5 on PC15 mux F */ -#define MUX_PC15F_TCC0_WO5 _L_(5) -#define PINMUX_PC15F_TCC0_WO5 ((PIN_PC15F_TCC0_WO5 << 16) | MUX_PC15F_TCC0_WO5) -#define PORT_PC15F_TCC0_WO5 (_UL_(1) << 15) -#define PIN_PC21F_TCC0_WO5 _L_(85) /**< \brief TCC0 signal: WO5 on PC21 mux F */ -#define MUX_PC21F_TCC0_WO5 _L_(5) -#define PINMUX_PC21F_TCC0_WO5 ((PIN_PC21F_TCC0_WO5 << 16) | MUX_PC21F_TCC0_WO5) -#define PORT_PC21F_TCC0_WO5 (_UL_(1) << 21) -#define PIN_PA18G_TCC0_WO6 _L_(18) /**< \brief TCC0 signal: WO6 on PA18 mux G */ -#define MUX_PA18G_TCC0_WO6 _L_(6) -#define PINMUX_PA18G_TCC0_WO6 ((PIN_PA18G_TCC0_WO6 << 16) | MUX_PA18G_TCC0_WO6) -#define PORT_PA18G_TCC0_WO6 (_UL_(1) << 18) -#define PIN_PB30G_TCC0_WO6 _L_(62) /**< \brief TCC0 signal: WO6 on PB30 mux G */ -#define MUX_PB30G_TCC0_WO6 _L_(6) -#define PINMUX_PB30G_TCC0_WO6 ((PIN_PB30G_TCC0_WO6 << 16) | MUX_PB30G_TCC0_WO6) -#define PORT_PB30G_TCC0_WO6 (_UL_(1) << 30) -#define PIN_PA12F_TCC0_WO6 _L_(12) /**< \brief TCC0 signal: WO6 on PA12 mux F */ -#define MUX_PA12F_TCC0_WO6 _L_(5) -#define PINMUX_PA12F_TCC0_WO6 ((PIN_PA12F_TCC0_WO6 << 16) | MUX_PA12F_TCC0_WO6) -#define PORT_PA12F_TCC0_WO6 (_UL_(1) << 12) -#define PIN_PA19G_TCC0_WO7 _L_(19) /**< \brief TCC0 signal: WO7 on PA19 mux G */ -#define MUX_PA19G_TCC0_WO7 _L_(6) -#define PINMUX_PA19G_TCC0_WO7 ((PIN_PA19G_TCC0_WO7 << 16) | MUX_PA19G_TCC0_WO7) -#define PORT_PA19G_TCC0_WO7 (_UL_(1) << 19) -#define PIN_PB31G_TCC0_WO7 _L_(63) /**< \brief TCC0 signal: WO7 on PB31 mux G */ -#define MUX_PB31G_TCC0_WO7 _L_(6) -#define PINMUX_PB31G_TCC0_WO7 ((PIN_PB31G_TCC0_WO7 << 16) | MUX_PB31G_TCC0_WO7) -#define PORT_PB31G_TCC0_WO7 (_UL_(1) << 31) -#define PIN_PA13F_TCC0_WO7 _L_(13) /**< \brief TCC0 signal: WO7 on PA13 mux F */ -#define MUX_PA13F_TCC0_WO7 _L_(5) -#define PINMUX_PA13F_TCC0_WO7 ((PIN_PA13F_TCC0_WO7 << 16) | MUX_PA13F_TCC0_WO7) -#define PORT_PA13F_TCC0_WO7 (_UL_(1) << 13) -/* ========== PORT definition for TCC1 peripheral ========== */ -#define PIN_PB10G_TCC1_WO0 _L_(42) /**< \brief TCC1 signal: WO0 on PB10 mux G */ -#define MUX_PB10G_TCC1_WO0 _L_(6) -#define PINMUX_PB10G_TCC1_WO0 ((PIN_PB10G_TCC1_WO0 << 16) | MUX_PB10G_TCC1_WO0) -#define PORT_PB10G_TCC1_WO0 (_UL_(1) << 10) -#define PIN_PC14G_TCC1_WO0 _L_(78) /**< \brief TCC1 signal: WO0 on PC14 mux G */ -#define MUX_PC14G_TCC1_WO0 _L_(6) -#define PINMUX_PC14G_TCC1_WO0 ((PIN_PC14G_TCC1_WO0 << 16) | MUX_PC14G_TCC1_WO0) -#define PORT_PC14G_TCC1_WO0 (_UL_(1) << 14) -#define PIN_PA16F_TCC1_WO0 _L_(16) /**< \brief TCC1 signal: WO0 on PA16 mux F */ -#define MUX_PA16F_TCC1_WO0 _L_(5) -#define PINMUX_PA16F_TCC1_WO0 ((PIN_PA16F_TCC1_WO0 << 16) | MUX_PA16F_TCC1_WO0) -#define PORT_PA16F_TCC1_WO0 (_UL_(1) << 16) -#define PIN_PB18F_TCC1_WO0 _L_(50) /**< \brief TCC1 signal: WO0 on PB18 mux F */ -#define MUX_PB18F_TCC1_WO0 _L_(5) -#define PINMUX_PB18F_TCC1_WO0 ((PIN_PB18F_TCC1_WO0 << 16) | MUX_PB18F_TCC1_WO0) -#define PORT_PB18F_TCC1_WO0 (_UL_(1) << 18) -#define PIN_PB11G_TCC1_WO1 _L_(43) /**< \brief TCC1 signal: WO1 on PB11 mux G */ -#define MUX_PB11G_TCC1_WO1 _L_(6) -#define PINMUX_PB11G_TCC1_WO1 ((PIN_PB11G_TCC1_WO1 << 16) | MUX_PB11G_TCC1_WO1) -#define PORT_PB11G_TCC1_WO1 (_UL_(1) << 11) -#define PIN_PC15G_TCC1_WO1 _L_(79) /**< \brief TCC1 signal: WO1 on PC15 mux G */ -#define MUX_PC15G_TCC1_WO1 _L_(6) -#define PINMUX_PC15G_TCC1_WO1 ((PIN_PC15G_TCC1_WO1 << 16) | MUX_PC15G_TCC1_WO1) -#define PORT_PC15G_TCC1_WO1 (_UL_(1) << 15) -#define PIN_PA17F_TCC1_WO1 _L_(17) /**< \brief TCC1 signal: WO1 on PA17 mux F */ -#define MUX_PA17F_TCC1_WO1 _L_(5) -#define PINMUX_PA17F_TCC1_WO1 ((PIN_PA17F_TCC1_WO1 << 16) | MUX_PA17F_TCC1_WO1) -#define PORT_PA17F_TCC1_WO1 (_UL_(1) << 17) -#define PIN_PB19F_TCC1_WO1 _L_(51) /**< \brief TCC1 signal: WO1 on PB19 mux F */ -#define MUX_PB19F_TCC1_WO1 _L_(5) -#define PINMUX_PB19F_TCC1_WO1 ((PIN_PB19F_TCC1_WO1 << 16) | MUX_PB19F_TCC1_WO1) -#define PORT_PB19F_TCC1_WO1 (_UL_(1) << 19) -#define PIN_PA12G_TCC1_WO2 _L_(12) /**< \brief TCC1 signal: WO2 on PA12 mux G */ -#define MUX_PA12G_TCC1_WO2 _L_(6) -#define PINMUX_PA12G_TCC1_WO2 ((PIN_PA12G_TCC1_WO2 << 16) | MUX_PA12G_TCC1_WO2) -#define PORT_PA12G_TCC1_WO2 (_UL_(1) << 12) -#define PIN_PA14G_TCC1_WO2 _L_(14) /**< \brief TCC1 signal: WO2 on PA14 mux G */ -#define MUX_PA14G_TCC1_WO2 _L_(6) -#define PINMUX_PA14G_TCC1_WO2 ((PIN_PA14G_TCC1_WO2 << 16) | MUX_PA14G_TCC1_WO2) -#define PORT_PA14G_TCC1_WO2 (_UL_(1) << 14) -#define PIN_PA18F_TCC1_WO2 _L_(18) /**< \brief TCC1 signal: WO2 on PA18 mux F */ -#define MUX_PA18F_TCC1_WO2 _L_(5) -#define PINMUX_PA18F_TCC1_WO2 ((PIN_PA18F_TCC1_WO2 << 16) | MUX_PA18F_TCC1_WO2) -#define PORT_PA18F_TCC1_WO2 (_UL_(1) << 18) -#define PIN_PB20F_TCC1_WO2 _L_(52) /**< \brief TCC1 signal: WO2 on PB20 mux F */ -#define MUX_PB20F_TCC1_WO2 _L_(5) -#define PINMUX_PB20F_TCC1_WO2 ((PIN_PB20F_TCC1_WO2 << 16) | MUX_PB20F_TCC1_WO2) -#define PORT_PB20F_TCC1_WO2 (_UL_(1) << 20) -#define PIN_PA13G_TCC1_WO3 _L_(13) /**< \brief TCC1 signal: WO3 on PA13 mux G */ -#define MUX_PA13G_TCC1_WO3 _L_(6) -#define PINMUX_PA13G_TCC1_WO3 ((PIN_PA13G_TCC1_WO3 << 16) | MUX_PA13G_TCC1_WO3) -#define PORT_PA13G_TCC1_WO3 (_UL_(1) << 13) -#define PIN_PA15G_TCC1_WO3 _L_(15) /**< \brief TCC1 signal: WO3 on PA15 mux G */ -#define MUX_PA15G_TCC1_WO3 _L_(6) -#define PINMUX_PA15G_TCC1_WO3 ((PIN_PA15G_TCC1_WO3 << 16) | MUX_PA15G_TCC1_WO3) -#define PORT_PA15G_TCC1_WO3 (_UL_(1) << 15) -#define PIN_PA19F_TCC1_WO3 _L_(19) /**< \brief TCC1 signal: WO3 on PA19 mux F */ -#define MUX_PA19F_TCC1_WO3 _L_(5) -#define PINMUX_PA19F_TCC1_WO3 ((PIN_PA19F_TCC1_WO3 << 16) | MUX_PA19F_TCC1_WO3) -#define PORT_PA19F_TCC1_WO3 (_UL_(1) << 19) -#define PIN_PB21F_TCC1_WO3 _L_(53) /**< \brief TCC1 signal: WO3 on PB21 mux F */ -#define MUX_PB21F_TCC1_WO3 _L_(5) -#define PINMUX_PB21F_TCC1_WO3 ((PIN_PB21F_TCC1_WO3 << 16) | MUX_PB21F_TCC1_WO3) -#define PORT_PB21F_TCC1_WO3 (_UL_(1) << 21) -#define PIN_PA08G_TCC1_WO4 _L_(8) /**< \brief TCC1 signal: WO4 on PA08 mux G */ -#define MUX_PA08G_TCC1_WO4 _L_(6) -#define PINMUX_PA08G_TCC1_WO4 ((PIN_PA08G_TCC1_WO4 << 16) | MUX_PA08G_TCC1_WO4) -#define PORT_PA08G_TCC1_WO4 (_UL_(1) << 8) -#define PIN_PC10G_TCC1_WO4 _L_(74) /**< \brief TCC1 signal: WO4 on PC10 mux G */ -#define MUX_PC10G_TCC1_WO4 _L_(6) -#define PINMUX_PC10G_TCC1_WO4 ((PIN_PC10G_TCC1_WO4 << 16) | MUX_PC10G_TCC1_WO4) -#define PORT_PC10G_TCC1_WO4 (_UL_(1) << 10) -#define PIN_PA20F_TCC1_WO4 _L_(20) /**< \brief TCC1 signal: WO4 on PA20 mux F */ -#define MUX_PA20F_TCC1_WO4 _L_(5) -#define PINMUX_PA20F_TCC1_WO4 ((PIN_PA20F_TCC1_WO4 << 16) | MUX_PA20F_TCC1_WO4) -#define PORT_PA20F_TCC1_WO4 (_UL_(1) << 20) -#define PIN_PA09G_TCC1_WO5 _L_(9) /**< \brief TCC1 signal: WO5 on PA09 mux G */ -#define MUX_PA09G_TCC1_WO5 _L_(6) -#define PINMUX_PA09G_TCC1_WO5 ((PIN_PA09G_TCC1_WO5 << 16) | MUX_PA09G_TCC1_WO5) -#define PORT_PA09G_TCC1_WO5 (_UL_(1) << 9) -#define PIN_PC11G_TCC1_WO5 _L_(75) /**< \brief TCC1 signal: WO5 on PC11 mux G */ -#define MUX_PC11G_TCC1_WO5 _L_(6) -#define PINMUX_PC11G_TCC1_WO5 ((PIN_PC11G_TCC1_WO5 << 16) | MUX_PC11G_TCC1_WO5) -#define PORT_PC11G_TCC1_WO5 (_UL_(1) << 11) -#define PIN_PA21F_TCC1_WO5 _L_(21) /**< \brief TCC1 signal: WO5 on PA21 mux F */ -#define MUX_PA21F_TCC1_WO5 _L_(5) -#define PINMUX_PA21F_TCC1_WO5 ((PIN_PA21F_TCC1_WO5 << 16) | MUX_PA21F_TCC1_WO5) -#define PORT_PA21F_TCC1_WO5 (_UL_(1) << 21) -#define PIN_PA10G_TCC1_WO6 _L_(10) /**< \brief TCC1 signal: WO6 on PA10 mux G */ -#define MUX_PA10G_TCC1_WO6 _L_(6) -#define PINMUX_PA10G_TCC1_WO6 ((PIN_PA10G_TCC1_WO6 << 16) | MUX_PA10G_TCC1_WO6) -#define PORT_PA10G_TCC1_WO6 (_UL_(1) << 10) -#define PIN_PC12G_TCC1_WO6 _L_(76) /**< \brief TCC1 signal: WO6 on PC12 mux G */ -#define MUX_PC12G_TCC1_WO6 _L_(6) -#define PINMUX_PC12G_TCC1_WO6 ((PIN_PC12G_TCC1_WO6 << 16) | MUX_PC12G_TCC1_WO6) -#define PORT_PC12G_TCC1_WO6 (_UL_(1) << 12) -#define PIN_PA22F_TCC1_WO6 _L_(22) /**< \brief TCC1 signal: WO6 on PA22 mux F */ -#define MUX_PA22F_TCC1_WO6 _L_(5) -#define PINMUX_PA22F_TCC1_WO6 ((PIN_PA22F_TCC1_WO6 << 16) | MUX_PA22F_TCC1_WO6) -#define PORT_PA22F_TCC1_WO6 (_UL_(1) << 22) -#define PIN_PA11G_TCC1_WO7 _L_(11) /**< \brief TCC1 signal: WO7 on PA11 mux G */ -#define MUX_PA11G_TCC1_WO7 _L_(6) -#define PINMUX_PA11G_TCC1_WO7 ((PIN_PA11G_TCC1_WO7 << 16) | MUX_PA11G_TCC1_WO7) -#define PORT_PA11G_TCC1_WO7 (_UL_(1) << 11) -#define PIN_PC13G_TCC1_WO7 _L_(77) /**< \brief TCC1 signal: WO7 on PC13 mux G */ -#define MUX_PC13G_TCC1_WO7 _L_(6) -#define PINMUX_PC13G_TCC1_WO7 ((PIN_PC13G_TCC1_WO7 << 16) | MUX_PC13G_TCC1_WO7) -#define PORT_PC13G_TCC1_WO7 (_UL_(1) << 13) -#define PIN_PA23F_TCC1_WO7 _L_(23) /**< \brief TCC1 signal: WO7 on PA23 mux F */ -#define MUX_PA23F_TCC1_WO7 _L_(5) -#define PINMUX_PA23F_TCC1_WO7 ((PIN_PA23F_TCC1_WO7 << 16) | MUX_PA23F_TCC1_WO7) -#define PORT_PA23F_TCC1_WO7 (_UL_(1) << 23) -/* ========== PORT definition for TC2 peripheral ========== */ -#define PIN_PA12E_TC2_WO0 _L_(12) /**< \brief TC2 signal: WO0 on PA12 mux E */ -#define MUX_PA12E_TC2_WO0 _L_(4) -#define PINMUX_PA12E_TC2_WO0 ((PIN_PA12E_TC2_WO0 << 16) | MUX_PA12E_TC2_WO0) -#define PORT_PA12E_TC2_WO0 (_UL_(1) << 12) -#define PIN_PA16E_TC2_WO0 _L_(16) /**< \brief TC2 signal: WO0 on PA16 mux E */ -#define MUX_PA16E_TC2_WO0 _L_(4) -#define PINMUX_PA16E_TC2_WO0 ((PIN_PA16E_TC2_WO0 << 16) | MUX_PA16E_TC2_WO0) -#define PORT_PA16E_TC2_WO0 (_UL_(1) << 16) -#define PIN_PA00E_TC2_WO0 _L_(0) /**< \brief TC2 signal: WO0 on PA00 mux E */ -#define MUX_PA00E_TC2_WO0 _L_(4) -#define PINMUX_PA00E_TC2_WO0 ((PIN_PA00E_TC2_WO0 << 16) | MUX_PA00E_TC2_WO0) -#define PORT_PA00E_TC2_WO0 (_UL_(1) << 0) -#define PIN_PA01E_TC2_WO1 _L_(1) /**< \brief TC2 signal: WO1 on PA01 mux E */ -#define MUX_PA01E_TC2_WO1 _L_(4) -#define PINMUX_PA01E_TC2_WO1 ((PIN_PA01E_TC2_WO1 << 16) | MUX_PA01E_TC2_WO1) -#define PORT_PA01E_TC2_WO1 (_UL_(1) << 1) -#define PIN_PA13E_TC2_WO1 _L_(13) /**< \brief TC2 signal: WO1 on PA13 mux E */ -#define MUX_PA13E_TC2_WO1 _L_(4) -#define PINMUX_PA13E_TC2_WO1 ((PIN_PA13E_TC2_WO1 << 16) | MUX_PA13E_TC2_WO1) -#define PORT_PA13E_TC2_WO1 (_UL_(1) << 13) -#define PIN_PA17E_TC2_WO1 _L_(17) /**< \brief TC2 signal: WO1 on PA17 mux E */ -#define MUX_PA17E_TC2_WO1 _L_(4) -#define PINMUX_PA17E_TC2_WO1 ((PIN_PA17E_TC2_WO1 << 16) | MUX_PA17E_TC2_WO1) -#define PORT_PA17E_TC2_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC3 peripheral ========== */ -#define PIN_PA18E_TC3_WO0 _L_(18) /**< \brief TC3 signal: WO0 on PA18 mux E */ -#define MUX_PA18E_TC3_WO0 _L_(4) -#define PINMUX_PA18E_TC3_WO0 ((PIN_PA18E_TC3_WO0 << 16) | MUX_PA18E_TC3_WO0) -#define PORT_PA18E_TC3_WO0 (_UL_(1) << 18) -#define PIN_PA14E_TC3_WO0 _L_(14) /**< \brief TC3 signal: WO0 on PA14 mux E */ -#define MUX_PA14E_TC3_WO0 _L_(4) -#define PINMUX_PA14E_TC3_WO0 ((PIN_PA14E_TC3_WO0 << 16) | MUX_PA14E_TC3_WO0) -#define PORT_PA14E_TC3_WO0 (_UL_(1) << 14) -#define PIN_PA15E_TC3_WO1 _L_(15) /**< \brief TC3 signal: WO1 on PA15 mux E */ -#define MUX_PA15E_TC3_WO1 _L_(4) -#define PINMUX_PA15E_TC3_WO1 ((PIN_PA15E_TC3_WO1 << 16) | MUX_PA15E_TC3_WO1) -#define PORT_PA15E_TC3_WO1 (_UL_(1) << 15) -#define PIN_PA19E_TC3_WO1 _L_(19) /**< \brief TC3 signal: WO1 on PA19 mux E */ -#define MUX_PA19E_TC3_WO1 _L_(4) -#define PINMUX_PA19E_TC3_WO1 ((PIN_PA19E_TC3_WO1 << 16) | MUX_PA19E_TC3_WO1) -#define PORT_PA19E_TC3_WO1 (_UL_(1) << 19) -/* ========== PORT definition for CAN0 peripheral ========== */ -#define PIN_PA23I_CAN0_RX _L_(23) /**< \brief CAN0 signal: RX on PA23 mux I */ -#define MUX_PA23I_CAN0_RX _L_(8) -#define PINMUX_PA23I_CAN0_RX ((PIN_PA23I_CAN0_RX << 16) | MUX_PA23I_CAN0_RX) -#define PORT_PA23I_CAN0_RX (_UL_(1) << 23) -#define PIN_PA25I_CAN0_RX _L_(25) /**< \brief CAN0 signal: RX on PA25 mux I */ -#define MUX_PA25I_CAN0_RX _L_(8) -#define PINMUX_PA25I_CAN0_RX ((PIN_PA25I_CAN0_RX << 16) | MUX_PA25I_CAN0_RX) -#define PORT_PA25I_CAN0_RX (_UL_(1) << 25) -#define PIN_PA22I_CAN0_TX _L_(22) /**< \brief CAN0 signal: TX on PA22 mux I */ -#define MUX_PA22I_CAN0_TX _L_(8) -#define PINMUX_PA22I_CAN0_TX ((PIN_PA22I_CAN0_TX << 16) | MUX_PA22I_CAN0_TX) -#define PORT_PA22I_CAN0_TX (_UL_(1) << 22) -#define PIN_PA24I_CAN0_TX _L_(24) /**< \brief CAN0 signal: TX on PA24 mux I */ -#define MUX_PA24I_CAN0_TX _L_(8) -#define PINMUX_PA24I_CAN0_TX ((PIN_PA24I_CAN0_TX << 16) | MUX_PA24I_CAN0_TX) -#define PORT_PA24I_CAN0_TX (_UL_(1) << 24) -/* ========== PORT definition for CAN1 peripheral ========== */ -#define PIN_PB13H_CAN1_RX _L_(45) /**< \brief CAN1 signal: RX on PB13 mux H */ -#define MUX_PB13H_CAN1_RX _L_(7) -#define PINMUX_PB13H_CAN1_RX ((PIN_PB13H_CAN1_RX << 16) | MUX_PB13H_CAN1_RX) -#define PORT_PB13H_CAN1_RX (_UL_(1) << 13) -#define PIN_PB15H_CAN1_RX _L_(47) /**< \brief CAN1 signal: RX on PB15 mux H */ -#define MUX_PB15H_CAN1_RX _L_(7) -#define PINMUX_PB15H_CAN1_RX ((PIN_PB15H_CAN1_RX << 16) | MUX_PB15H_CAN1_RX) -#define PORT_PB15H_CAN1_RX (_UL_(1) << 15) -#define PIN_PB12H_CAN1_TX _L_(44) /**< \brief CAN1 signal: TX on PB12 mux H */ -#define MUX_PB12H_CAN1_TX _L_(7) -#define PINMUX_PB12H_CAN1_TX ((PIN_PB12H_CAN1_TX << 16) | MUX_PB12H_CAN1_TX) -#define PORT_PB12H_CAN1_TX (_UL_(1) << 12) -#define PIN_PB14H_CAN1_TX _L_(46) /**< \brief CAN1 signal: TX on PB14 mux H */ -#define MUX_PB14H_CAN1_TX _L_(7) -#define PINMUX_PB14H_CAN1_TX ((PIN_PB14H_CAN1_TX << 16) | MUX_PB14H_CAN1_TX) -#define PORT_PB14H_CAN1_TX (_UL_(1) << 14) -/* ========== PORT definition for GMAC peripheral ========== */ -#define PIN_PC21L_GMAC_GCOL _L_(85) /**< \brief GMAC signal: GCOL on PC21 mux L */ -#define MUX_PC21L_GMAC_GCOL _L_(11) -#define PINMUX_PC21L_GMAC_GCOL ((PIN_PC21L_GMAC_GCOL << 16) | MUX_PC21L_GMAC_GCOL) -#define PORT_PC21L_GMAC_GCOL (_UL_(1) << 21) -#define PIN_PA16L_GMAC_GCRS _L_(16) /**< \brief GMAC signal: GCRS on PA16 mux L */ -#define MUX_PA16L_GMAC_GCRS _L_(11) -#define PINMUX_PA16L_GMAC_GCRS ((PIN_PA16L_GMAC_GCRS << 16) | MUX_PA16L_GMAC_GCRS) -#define PORT_PA16L_GMAC_GCRS (_UL_(1) << 16) -#define PIN_PA20L_GMAC_GMDC _L_(20) /**< \brief GMAC signal: GMDC on PA20 mux L */ -#define MUX_PA20L_GMAC_GMDC _L_(11) -#define PINMUX_PA20L_GMAC_GMDC ((PIN_PA20L_GMAC_GMDC << 16) | MUX_PA20L_GMAC_GMDC) -#define PORT_PA20L_GMAC_GMDC (_UL_(1) << 20) -#define PIN_PB14L_GMAC_GMDC _L_(46) /**< \brief GMAC signal: GMDC on PB14 mux L */ -#define MUX_PB14L_GMAC_GMDC _L_(11) -#define PINMUX_PB14L_GMAC_GMDC ((PIN_PB14L_GMAC_GMDC << 16) | MUX_PB14L_GMAC_GMDC) -#define PORT_PB14L_GMAC_GMDC (_UL_(1) << 14) -#define PIN_PC11L_GMAC_GMDC _L_(75) /**< \brief GMAC signal: GMDC on PC11 mux L */ -#define MUX_PC11L_GMAC_GMDC _L_(11) -#define PINMUX_PC11L_GMAC_GMDC ((PIN_PC11L_GMAC_GMDC << 16) | MUX_PC11L_GMAC_GMDC) -#define PORT_PC11L_GMAC_GMDC (_UL_(1) << 11) -#define PIN_PA21L_GMAC_GMDIO _L_(21) /**< \brief GMAC signal: GMDIO on PA21 mux L */ -#define MUX_PA21L_GMAC_GMDIO _L_(11) -#define PINMUX_PA21L_GMAC_GMDIO ((PIN_PA21L_GMAC_GMDIO << 16) | MUX_PA21L_GMAC_GMDIO) -#define PORT_PA21L_GMAC_GMDIO (_UL_(1) << 21) -#define PIN_PB15L_GMAC_GMDIO _L_(47) /**< \brief GMAC signal: GMDIO on PB15 mux L */ -#define MUX_PB15L_GMAC_GMDIO _L_(11) -#define PINMUX_PB15L_GMAC_GMDIO ((PIN_PB15L_GMAC_GMDIO << 16) | MUX_PB15L_GMAC_GMDIO) -#define PORT_PB15L_GMAC_GMDIO (_UL_(1) << 15) -#define PIN_PC12L_GMAC_GMDIO _L_(76) /**< \brief GMAC signal: GMDIO on PC12 mux L */ -#define MUX_PC12L_GMAC_GMDIO _L_(11) -#define PINMUX_PC12L_GMAC_GMDIO ((PIN_PC12L_GMAC_GMDIO << 16) | MUX_PC12L_GMAC_GMDIO) -#define PORT_PC12L_GMAC_GMDIO (_UL_(1) << 12) -#define PIN_PA13L_GMAC_GRX0 _L_(13) /**< \brief GMAC signal: GRX0 on PA13 mux L */ -#define MUX_PA13L_GMAC_GRX0 _L_(11) -#define PINMUX_PA13L_GMAC_GRX0 ((PIN_PA13L_GMAC_GRX0 << 16) | MUX_PA13L_GMAC_GRX0) -#define PORT_PA13L_GMAC_GRX0 (_UL_(1) << 13) -#define PIN_PA12L_GMAC_GRX1 _L_(12) /**< \brief GMAC signal: GRX1 on PA12 mux L */ -#define MUX_PA12L_GMAC_GRX1 _L_(11) -#define PINMUX_PA12L_GMAC_GRX1 ((PIN_PA12L_GMAC_GRX1 << 16) | MUX_PA12L_GMAC_GRX1) -#define PORT_PA12L_GMAC_GRX1 (_UL_(1) << 12) -#define PIN_PC15L_GMAC_GRX2 _L_(79) /**< \brief GMAC signal: GRX2 on PC15 mux L */ -#define MUX_PC15L_GMAC_GRX2 _L_(11) -#define PINMUX_PC15L_GMAC_GRX2 ((PIN_PC15L_GMAC_GRX2 << 16) | MUX_PC15L_GMAC_GRX2) -#define PORT_PC15L_GMAC_GRX2 (_UL_(1) << 15) -#define PIN_PC14L_GMAC_GRX3 _L_(78) /**< \brief GMAC signal: GRX3 on PC14 mux L */ -#define MUX_PC14L_GMAC_GRX3 _L_(11) -#define PINMUX_PC14L_GMAC_GRX3 ((PIN_PC14L_GMAC_GRX3 << 16) | MUX_PC14L_GMAC_GRX3) -#define PORT_PC14L_GMAC_GRX3 (_UL_(1) << 14) -#define PIN_PC18L_GMAC_GRXCK _L_(82) /**< \brief GMAC signal: GRXCK on PC18 mux L */ -#define MUX_PC18L_GMAC_GRXCK _L_(11) -#define PINMUX_PC18L_GMAC_GRXCK ((PIN_PC18L_GMAC_GRXCK << 16) | MUX_PC18L_GMAC_GRXCK) -#define PORT_PC18L_GMAC_GRXCK (_UL_(1) << 18) -#define PIN_PC20L_GMAC_GRXDV _L_(84) /**< \brief GMAC signal: GRXDV on PC20 mux L */ -#define MUX_PC20L_GMAC_GRXDV _L_(11) -#define PINMUX_PC20L_GMAC_GRXDV ((PIN_PC20L_GMAC_GRXDV << 16) | MUX_PC20L_GMAC_GRXDV) -#define PORT_PC20L_GMAC_GRXDV (_UL_(1) << 20) -#define PIN_PA15L_GMAC_GRXER _L_(15) /**< \brief GMAC signal: GRXER on PA15 mux L */ -#define MUX_PA15L_GMAC_GRXER _L_(11) -#define PINMUX_PA15L_GMAC_GRXER ((PIN_PA15L_GMAC_GRXER << 16) | MUX_PA15L_GMAC_GRXER) -#define PORT_PA15L_GMAC_GRXER (_UL_(1) << 15) -#define PIN_PA18L_GMAC_GTX0 _L_(18) /**< \brief GMAC signal: GTX0 on PA18 mux L */ -#define MUX_PA18L_GMAC_GTX0 _L_(11) -#define PINMUX_PA18L_GMAC_GTX0 ((PIN_PA18L_GMAC_GTX0 << 16) | MUX_PA18L_GMAC_GTX0) -#define PORT_PA18L_GMAC_GTX0 (_UL_(1) << 18) -#define PIN_PA19L_GMAC_GTX1 _L_(19) /**< \brief GMAC signal: GTX1 on PA19 mux L */ -#define MUX_PA19L_GMAC_GTX1 _L_(11) -#define PINMUX_PA19L_GMAC_GTX1 ((PIN_PA19L_GMAC_GTX1 << 16) | MUX_PA19L_GMAC_GTX1) -#define PORT_PA19L_GMAC_GTX1 (_UL_(1) << 19) -#define PIN_PC16L_GMAC_GTX2 _L_(80) /**< \brief GMAC signal: GTX2 on PC16 mux L */ -#define MUX_PC16L_GMAC_GTX2 _L_(11) -#define PINMUX_PC16L_GMAC_GTX2 ((PIN_PC16L_GMAC_GTX2 << 16) | MUX_PC16L_GMAC_GTX2) -#define PORT_PC16L_GMAC_GTX2 (_UL_(1) << 16) -#define PIN_PC17L_GMAC_GTX3 _L_(81) /**< \brief GMAC signal: GTX3 on PC17 mux L */ -#define MUX_PC17L_GMAC_GTX3 _L_(11) -#define PINMUX_PC17L_GMAC_GTX3 ((PIN_PC17L_GMAC_GTX3 << 16) | MUX_PC17L_GMAC_GTX3) -#define PORT_PC17L_GMAC_GTX3 (_UL_(1) << 17) -#define PIN_PA14L_GMAC_GTXCK _L_(14) /**< \brief GMAC signal: GTXCK on PA14 mux L */ -#define MUX_PA14L_GMAC_GTXCK _L_(11) -#define PINMUX_PA14L_GMAC_GTXCK ((PIN_PA14L_GMAC_GTXCK << 16) | MUX_PA14L_GMAC_GTXCK) -#define PORT_PA14L_GMAC_GTXCK (_UL_(1) << 14) -#define PIN_PA17L_GMAC_GTXEN _L_(17) /**< \brief GMAC signal: GTXEN on PA17 mux L */ -#define MUX_PA17L_GMAC_GTXEN _L_(11) -#define PINMUX_PA17L_GMAC_GTXEN ((PIN_PA17L_GMAC_GTXEN << 16) | MUX_PA17L_GMAC_GTXEN) -#define PORT_PA17L_GMAC_GTXEN (_UL_(1) << 17) -#define PIN_PC19L_GMAC_GTXER _L_(83) /**< \brief GMAC signal: GTXER on PC19 mux L */ -#define MUX_PC19L_GMAC_GTXER _L_(11) -#define PINMUX_PC19L_GMAC_GTXER ((PIN_PC19L_GMAC_GTXER << 16) | MUX_PC19L_GMAC_GTXER) -#define PORT_PC19L_GMAC_GTXER (_UL_(1) << 19) -/* ========== PORT definition for TCC2 peripheral ========== */ -#define PIN_PA14F_TCC2_WO0 _L_(14) /**< \brief TCC2 signal: WO0 on PA14 mux F */ -#define MUX_PA14F_TCC2_WO0 _L_(5) -#define PINMUX_PA14F_TCC2_WO0 ((PIN_PA14F_TCC2_WO0 << 16) | MUX_PA14F_TCC2_WO0) -#define PORT_PA14F_TCC2_WO0 (_UL_(1) << 14) -#define PIN_PA30F_TCC2_WO0 _L_(30) /**< \brief TCC2 signal: WO0 on PA30 mux F */ -#define MUX_PA30F_TCC2_WO0 _L_(5) -#define PINMUX_PA30F_TCC2_WO0 ((PIN_PA30F_TCC2_WO0 << 16) | MUX_PA30F_TCC2_WO0) -#define PORT_PA30F_TCC2_WO0 (_UL_(1) << 30) -#define PIN_PA15F_TCC2_WO1 _L_(15) /**< \brief TCC2 signal: WO1 on PA15 mux F */ -#define MUX_PA15F_TCC2_WO1 _L_(5) -#define PINMUX_PA15F_TCC2_WO1 ((PIN_PA15F_TCC2_WO1 << 16) | MUX_PA15F_TCC2_WO1) -#define PORT_PA15F_TCC2_WO1 (_UL_(1) << 15) -#define PIN_PA31F_TCC2_WO1 _L_(31) /**< \brief TCC2 signal: WO1 on PA31 mux F */ -#define MUX_PA31F_TCC2_WO1 _L_(5) -#define PINMUX_PA31F_TCC2_WO1 ((PIN_PA31F_TCC2_WO1 << 16) | MUX_PA31F_TCC2_WO1) -#define PORT_PA31F_TCC2_WO1 (_UL_(1) << 31) -#define PIN_PA24F_TCC2_WO2 _L_(24) /**< \brief TCC2 signal: WO2 on PA24 mux F */ -#define MUX_PA24F_TCC2_WO2 _L_(5) -#define PINMUX_PA24F_TCC2_WO2 ((PIN_PA24F_TCC2_WO2 << 16) | MUX_PA24F_TCC2_WO2) -#define PORT_PA24F_TCC2_WO2 (_UL_(1) << 24) -#define PIN_PB02F_TCC2_WO2 _L_(34) /**< \brief TCC2 signal: WO2 on PB02 mux F */ -#define MUX_PB02F_TCC2_WO2 _L_(5) -#define PINMUX_PB02F_TCC2_WO2 ((PIN_PB02F_TCC2_WO2 << 16) | MUX_PB02F_TCC2_WO2) -#define PORT_PB02F_TCC2_WO2 (_UL_(1) << 2) -/* ========== PORT definition for TCC3 peripheral ========== */ -#define PIN_PB12F_TCC3_WO0 _L_(44) /**< \brief TCC3 signal: WO0 on PB12 mux F */ -#define MUX_PB12F_TCC3_WO0 _L_(5) -#define PINMUX_PB12F_TCC3_WO0 ((PIN_PB12F_TCC3_WO0 << 16) | MUX_PB12F_TCC3_WO0) -#define PORT_PB12F_TCC3_WO0 (_UL_(1) << 12) -#define PIN_PB16F_TCC3_WO0 _L_(48) /**< \brief TCC3 signal: WO0 on PB16 mux F */ -#define MUX_PB16F_TCC3_WO0 _L_(5) -#define PINMUX_PB16F_TCC3_WO0 ((PIN_PB16F_TCC3_WO0 << 16) | MUX_PB16F_TCC3_WO0) -#define PORT_PB16F_TCC3_WO0 (_UL_(1) << 16) -#define PIN_PB13F_TCC3_WO1 _L_(45) /**< \brief TCC3 signal: WO1 on PB13 mux F */ -#define MUX_PB13F_TCC3_WO1 _L_(5) -#define PINMUX_PB13F_TCC3_WO1 ((PIN_PB13F_TCC3_WO1 << 16) | MUX_PB13F_TCC3_WO1) -#define PORT_PB13F_TCC3_WO1 (_UL_(1) << 13) -#define PIN_PB17F_TCC3_WO1 _L_(49) /**< \brief TCC3 signal: WO1 on PB17 mux F */ -#define MUX_PB17F_TCC3_WO1 _L_(5) -#define PINMUX_PB17F_TCC3_WO1 ((PIN_PB17F_TCC3_WO1 << 16) | MUX_PB17F_TCC3_WO1) -#define PORT_PB17F_TCC3_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC4 peripheral ========== */ -#define PIN_PA22E_TC4_WO0 _L_(22) /**< \brief TC4 signal: WO0 on PA22 mux E */ -#define MUX_PA22E_TC4_WO0 _L_(4) -#define PINMUX_PA22E_TC4_WO0 ((PIN_PA22E_TC4_WO0 << 16) | MUX_PA22E_TC4_WO0) -#define PORT_PA22E_TC4_WO0 (_UL_(1) << 22) -#define PIN_PB08E_TC4_WO0 _L_(40) /**< \brief TC4 signal: WO0 on PB08 mux E */ -#define MUX_PB08E_TC4_WO0 _L_(4) -#define PINMUX_PB08E_TC4_WO0 ((PIN_PB08E_TC4_WO0 << 16) | MUX_PB08E_TC4_WO0) -#define PORT_PB08E_TC4_WO0 (_UL_(1) << 8) -#define PIN_PB12E_TC4_WO0 _L_(44) /**< \brief TC4 signal: WO0 on PB12 mux E */ -#define MUX_PB12E_TC4_WO0 _L_(4) -#define PINMUX_PB12E_TC4_WO0 ((PIN_PB12E_TC4_WO0 << 16) | MUX_PB12E_TC4_WO0) -#define PORT_PB12E_TC4_WO0 (_UL_(1) << 12) -#define PIN_PA23E_TC4_WO1 _L_(23) /**< \brief TC4 signal: WO1 on PA23 mux E */ -#define MUX_PA23E_TC4_WO1 _L_(4) -#define PINMUX_PA23E_TC4_WO1 ((PIN_PA23E_TC4_WO1 << 16) | MUX_PA23E_TC4_WO1) -#define PORT_PA23E_TC4_WO1 (_UL_(1) << 23) -#define PIN_PB09E_TC4_WO1 _L_(41) /**< \brief TC4 signal: WO1 on PB09 mux E */ -#define MUX_PB09E_TC4_WO1 _L_(4) -#define PINMUX_PB09E_TC4_WO1 ((PIN_PB09E_TC4_WO1 << 16) | MUX_PB09E_TC4_WO1) -#define PORT_PB09E_TC4_WO1 (_UL_(1) << 9) -#define PIN_PB13E_TC4_WO1 _L_(45) /**< \brief TC4 signal: WO1 on PB13 mux E */ -#define MUX_PB13E_TC4_WO1 _L_(4) -#define PINMUX_PB13E_TC4_WO1 ((PIN_PB13E_TC4_WO1 << 16) | MUX_PB13E_TC4_WO1) -#define PORT_PB13E_TC4_WO1 (_UL_(1) << 13) -/* ========== PORT definition for TC5 peripheral ========== */ -#define PIN_PA24E_TC5_WO0 _L_(24) /**< \brief TC5 signal: WO0 on PA24 mux E */ -#define MUX_PA24E_TC5_WO0 _L_(4) -#define PINMUX_PA24E_TC5_WO0 ((PIN_PA24E_TC5_WO0 << 16) | MUX_PA24E_TC5_WO0) -#define PORT_PA24E_TC5_WO0 (_UL_(1) << 24) -#define PIN_PB10E_TC5_WO0 _L_(42) /**< \brief TC5 signal: WO0 on PB10 mux E */ -#define MUX_PB10E_TC5_WO0 _L_(4) -#define PINMUX_PB10E_TC5_WO0 ((PIN_PB10E_TC5_WO0 << 16) | MUX_PB10E_TC5_WO0) -#define PORT_PB10E_TC5_WO0 (_UL_(1) << 10) -#define PIN_PB14E_TC5_WO0 _L_(46) /**< \brief TC5 signal: WO0 on PB14 mux E */ -#define MUX_PB14E_TC5_WO0 _L_(4) -#define PINMUX_PB14E_TC5_WO0 ((PIN_PB14E_TC5_WO0 << 16) | MUX_PB14E_TC5_WO0) -#define PORT_PB14E_TC5_WO0 (_UL_(1) << 14) -#define PIN_PA25E_TC5_WO1 _L_(25) /**< \brief TC5 signal: WO1 on PA25 mux E */ -#define MUX_PA25E_TC5_WO1 _L_(4) -#define PINMUX_PA25E_TC5_WO1 ((PIN_PA25E_TC5_WO1 << 16) | MUX_PA25E_TC5_WO1) -#define PORT_PA25E_TC5_WO1 (_UL_(1) << 25) -#define PIN_PB11E_TC5_WO1 _L_(43) /**< \brief TC5 signal: WO1 on PB11 mux E */ -#define MUX_PB11E_TC5_WO1 _L_(4) -#define PINMUX_PB11E_TC5_WO1 ((PIN_PB11E_TC5_WO1 << 16) | MUX_PB11E_TC5_WO1) -#define PORT_PB11E_TC5_WO1 (_UL_(1) << 11) -#define PIN_PB15E_TC5_WO1 _L_(47) /**< \brief TC5 signal: WO1 on PB15 mux E */ -#define MUX_PB15E_TC5_WO1 _L_(4) -#define PINMUX_PB15E_TC5_WO1 ((PIN_PB15E_TC5_WO1 << 16) | MUX_PB15E_TC5_WO1) -#define PORT_PB15E_TC5_WO1 (_UL_(1) << 15) -/* ========== PORT definition for PDEC peripheral ========== */ -#define PIN_PB18G_PDEC_QDI0 _L_(50) /**< \brief PDEC signal: QDI0 on PB18 mux G */ -#define MUX_PB18G_PDEC_QDI0 _L_(6) -#define PINMUX_PB18G_PDEC_QDI0 ((PIN_PB18G_PDEC_QDI0 << 16) | MUX_PB18G_PDEC_QDI0) -#define PORT_PB18G_PDEC_QDI0 (_UL_(1) << 18) -#define PIN_PB23G_PDEC_QDI0 _L_(55) /**< \brief PDEC signal: QDI0 on PB23 mux G */ -#define MUX_PB23G_PDEC_QDI0 _L_(6) -#define PINMUX_PB23G_PDEC_QDI0 ((PIN_PB23G_PDEC_QDI0 << 16) | MUX_PB23G_PDEC_QDI0) -#define PORT_PB23G_PDEC_QDI0 (_UL_(1) << 23) -#define PIN_PC16G_PDEC_QDI0 _L_(80) /**< \brief PDEC signal: QDI0 on PC16 mux G */ -#define MUX_PC16G_PDEC_QDI0 _L_(6) -#define PINMUX_PC16G_PDEC_QDI0 ((PIN_PC16G_PDEC_QDI0 << 16) | MUX_PC16G_PDEC_QDI0) -#define PORT_PC16G_PDEC_QDI0 (_UL_(1) << 16) -#define PIN_PA24G_PDEC_QDI0 _L_(24) /**< \brief PDEC signal: QDI0 on PA24 mux G */ -#define MUX_PA24G_PDEC_QDI0 _L_(6) -#define PINMUX_PA24G_PDEC_QDI0 ((PIN_PA24G_PDEC_QDI0 << 16) | MUX_PA24G_PDEC_QDI0) -#define PORT_PA24G_PDEC_QDI0 (_UL_(1) << 24) -#define PIN_PB19G_PDEC_QDI1 _L_(51) /**< \brief PDEC signal: QDI1 on PB19 mux G */ -#define MUX_PB19G_PDEC_QDI1 _L_(6) -#define PINMUX_PB19G_PDEC_QDI1 ((PIN_PB19G_PDEC_QDI1 << 16) | MUX_PB19G_PDEC_QDI1) -#define PORT_PB19G_PDEC_QDI1 (_UL_(1) << 19) -#define PIN_PB24G_PDEC_QDI1 _L_(56) /**< \brief PDEC signal: QDI1 on PB24 mux G */ -#define MUX_PB24G_PDEC_QDI1 _L_(6) -#define PINMUX_PB24G_PDEC_QDI1 ((PIN_PB24G_PDEC_QDI1 << 16) | MUX_PB24G_PDEC_QDI1) -#define PORT_PB24G_PDEC_QDI1 (_UL_(1) << 24) -#define PIN_PC17G_PDEC_QDI1 _L_(81) /**< \brief PDEC signal: QDI1 on PC17 mux G */ -#define MUX_PC17G_PDEC_QDI1 _L_(6) -#define PINMUX_PC17G_PDEC_QDI1 ((PIN_PC17G_PDEC_QDI1 << 16) | MUX_PC17G_PDEC_QDI1) -#define PORT_PC17G_PDEC_QDI1 (_UL_(1) << 17) -#define PIN_PA25G_PDEC_QDI1 _L_(25) /**< \brief PDEC signal: QDI1 on PA25 mux G */ -#define MUX_PA25G_PDEC_QDI1 _L_(6) -#define PINMUX_PA25G_PDEC_QDI1 ((PIN_PA25G_PDEC_QDI1 << 16) | MUX_PA25G_PDEC_QDI1) -#define PORT_PA25G_PDEC_QDI1 (_UL_(1) << 25) -#define PIN_PB20G_PDEC_QDI2 _L_(52) /**< \brief PDEC signal: QDI2 on PB20 mux G */ -#define MUX_PB20G_PDEC_QDI2 _L_(6) -#define PINMUX_PB20G_PDEC_QDI2 ((PIN_PB20G_PDEC_QDI2 << 16) | MUX_PB20G_PDEC_QDI2) -#define PORT_PB20G_PDEC_QDI2 (_UL_(1) << 20) -#define PIN_PB25G_PDEC_QDI2 _L_(57) /**< \brief PDEC signal: QDI2 on PB25 mux G */ -#define MUX_PB25G_PDEC_QDI2 _L_(6) -#define PINMUX_PB25G_PDEC_QDI2 ((PIN_PB25G_PDEC_QDI2 << 16) | MUX_PB25G_PDEC_QDI2) -#define PORT_PB25G_PDEC_QDI2 (_UL_(1) << 25) -#define PIN_PC18G_PDEC_QDI2 _L_(82) /**< \brief PDEC signal: QDI2 on PC18 mux G */ -#define MUX_PC18G_PDEC_QDI2 _L_(6) -#define PINMUX_PC18G_PDEC_QDI2 ((PIN_PC18G_PDEC_QDI2 << 16) | MUX_PC18G_PDEC_QDI2) -#define PORT_PC18G_PDEC_QDI2 (_UL_(1) << 18) -#define PIN_PB22G_PDEC_QDI2 _L_(54) /**< \brief PDEC signal: QDI2 on PB22 mux G */ -#define MUX_PB22G_PDEC_QDI2 _L_(6) -#define PINMUX_PB22G_PDEC_QDI2 ((PIN_PB22G_PDEC_QDI2 << 16) | MUX_PB22G_PDEC_QDI2) -#define PORT_PB22G_PDEC_QDI2 (_UL_(1) << 22) -/* ========== PORT definition for AC peripheral ========== */ -#define PIN_PA04B_AC_AIN0 _L_(4) /**< \brief AC signal: AIN0 on PA04 mux B */ -#define MUX_PA04B_AC_AIN0 _L_(1) -#define PINMUX_PA04B_AC_AIN0 ((PIN_PA04B_AC_AIN0 << 16) | MUX_PA04B_AC_AIN0) -#define PORT_PA04B_AC_AIN0 (_UL_(1) << 4) -#define PIN_PA05B_AC_AIN1 _L_(5) /**< \brief AC signal: AIN1 on PA05 mux B */ -#define MUX_PA05B_AC_AIN1 _L_(1) -#define PINMUX_PA05B_AC_AIN1 ((PIN_PA05B_AC_AIN1 << 16) | MUX_PA05B_AC_AIN1) -#define PORT_PA05B_AC_AIN1 (_UL_(1) << 5) -#define PIN_PA06B_AC_AIN2 _L_(6) /**< \brief AC signal: AIN2 on PA06 mux B */ -#define MUX_PA06B_AC_AIN2 _L_(1) -#define PINMUX_PA06B_AC_AIN2 ((PIN_PA06B_AC_AIN2 << 16) | MUX_PA06B_AC_AIN2) -#define PORT_PA06B_AC_AIN2 (_UL_(1) << 6) -#define PIN_PA07B_AC_AIN3 _L_(7) /**< \brief AC signal: AIN3 on PA07 mux B */ -#define MUX_PA07B_AC_AIN3 _L_(1) -#define PINMUX_PA07B_AC_AIN3 ((PIN_PA07B_AC_AIN3 << 16) | MUX_PA07B_AC_AIN3) -#define PORT_PA07B_AC_AIN3 (_UL_(1) << 7) -#define PIN_PA12M_AC_CMP0 _L_(12) /**< \brief AC signal: CMP0 on PA12 mux M */ -#define MUX_PA12M_AC_CMP0 _L_(12) -#define PINMUX_PA12M_AC_CMP0 ((PIN_PA12M_AC_CMP0 << 16) | MUX_PA12M_AC_CMP0) -#define PORT_PA12M_AC_CMP0 (_UL_(1) << 12) -#define PIN_PA18M_AC_CMP0 _L_(18) /**< \brief AC signal: CMP0 on PA18 mux M */ -#define MUX_PA18M_AC_CMP0 _L_(12) -#define PINMUX_PA18M_AC_CMP0 ((PIN_PA18M_AC_CMP0 << 16) | MUX_PA18M_AC_CMP0) -#define PORT_PA18M_AC_CMP0 (_UL_(1) << 18) -#define PIN_PB24M_AC_CMP0 _L_(56) /**< \brief AC signal: CMP0 on PB24 mux M */ -#define MUX_PB24M_AC_CMP0 _L_(12) -#define PINMUX_PB24M_AC_CMP0 ((PIN_PB24M_AC_CMP0 << 16) | MUX_PB24M_AC_CMP0) -#define PORT_PB24M_AC_CMP0 (_UL_(1) << 24) -#define PIN_PA13M_AC_CMP1 _L_(13) /**< \brief AC signal: CMP1 on PA13 mux M */ -#define MUX_PA13M_AC_CMP1 _L_(12) -#define PINMUX_PA13M_AC_CMP1 ((PIN_PA13M_AC_CMP1 << 16) | MUX_PA13M_AC_CMP1) -#define PORT_PA13M_AC_CMP1 (_UL_(1) << 13) -#define PIN_PA19M_AC_CMP1 _L_(19) /**< \brief AC signal: CMP1 on PA19 mux M */ -#define MUX_PA19M_AC_CMP1 _L_(12) -#define PINMUX_PA19M_AC_CMP1 ((PIN_PA19M_AC_CMP1 << 16) | MUX_PA19M_AC_CMP1) -#define PORT_PA19M_AC_CMP1 (_UL_(1) << 19) -#define PIN_PB25M_AC_CMP1 _L_(57) /**< \brief AC signal: CMP1 on PB25 mux M */ -#define MUX_PB25M_AC_CMP1 _L_(12) -#define PINMUX_PB25M_AC_CMP1 ((PIN_PB25M_AC_CMP1 << 16) | MUX_PB25M_AC_CMP1) -#define PORT_PB25M_AC_CMP1 (_UL_(1) << 25) -/* ========== PORT definition for QSPI peripheral ========== */ -#define PIN_PB11H_QSPI_CS _L_(43) /**< \brief QSPI signal: CS on PB11 mux H */ -#define MUX_PB11H_QSPI_CS _L_(7) -#define PINMUX_PB11H_QSPI_CS ((PIN_PB11H_QSPI_CS << 16) | MUX_PB11H_QSPI_CS) -#define PORT_PB11H_QSPI_CS (_UL_(1) << 11) -#define PIN_PA08H_QSPI_DATA0 _L_(8) /**< \brief QSPI signal: DATA0 on PA08 mux H */ -#define MUX_PA08H_QSPI_DATA0 _L_(7) -#define PINMUX_PA08H_QSPI_DATA0 ((PIN_PA08H_QSPI_DATA0 << 16) | MUX_PA08H_QSPI_DATA0) -#define PORT_PA08H_QSPI_DATA0 (_UL_(1) << 8) -#define PIN_PA09H_QSPI_DATA1 _L_(9) /**< \brief QSPI signal: DATA1 on PA09 mux H */ -#define MUX_PA09H_QSPI_DATA1 _L_(7) -#define PINMUX_PA09H_QSPI_DATA1 ((PIN_PA09H_QSPI_DATA1 << 16) | MUX_PA09H_QSPI_DATA1) -#define PORT_PA09H_QSPI_DATA1 (_UL_(1) << 9) -#define PIN_PA10H_QSPI_DATA2 _L_(10) /**< \brief QSPI signal: DATA2 on PA10 mux H */ -#define MUX_PA10H_QSPI_DATA2 _L_(7) -#define PINMUX_PA10H_QSPI_DATA2 ((PIN_PA10H_QSPI_DATA2 << 16) | MUX_PA10H_QSPI_DATA2) -#define PORT_PA10H_QSPI_DATA2 (_UL_(1) << 10) -#define PIN_PA11H_QSPI_DATA3 _L_(11) /**< \brief QSPI signal: DATA3 on PA11 mux H */ -#define MUX_PA11H_QSPI_DATA3 _L_(7) -#define PINMUX_PA11H_QSPI_DATA3 ((PIN_PA11H_QSPI_DATA3 << 16) | MUX_PA11H_QSPI_DATA3) -#define PORT_PA11H_QSPI_DATA3 (_UL_(1) << 11) -#define PIN_PB10H_QSPI_SCK _L_(42) /**< \brief QSPI signal: SCK on PB10 mux H */ -#define MUX_PB10H_QSPI_SCK _L_(7) -#define PINMUX_PB10H_QSPI_SCK ((PIN_PB10H_QSPI_SCK << 16) | MUX_PB10H_QSPI_SCK) -#define PORT_PB10H_QSPI_SCK (_UL_(1) << 10) -/* ========== PORT definition for CCL peripheral ========== */ -#define PIN_PA04N_CCL_IN0 _L_(4) /**< \brief CCL signal: IN0 on PA04 mux N */ -#define MUX_PA04N_CCL_IN0 _L_(13) -#define PINMUX_PA04N_CCL_IN0 ((PIN_PA04N_CCL_IN0 << 16) | MUX_PA04N_CCL_IN0) -#define PORT_PA04N_CCL_IN0 (_UL_(1) << 4) -#define PIN_PA16N_CCL_IN0 _L_(16) /**< \brief CCL signal: IN0 on PA16 mux N */ -#define MUX_PA16N_CCL_IN0 _L_(13) -#define PINMUX_PA16N_CCL_IN0 ((PIN_PA16N_CCL_IN0 << 16) | MUX_PA16N_CCL_IN0) -#define PORT_PA16N_CCL_IN0 (_UL_(1) << 16) -#define PIN_PB22N_CCL_IN0 _L_(54) /**< \brief CCL signal: IN0 on PB22 mux N */ -#define MUX_PB22N_CCL_IN0 _L_(13) -#define PINMUX_PB22N_CCL_IN0 ((PIN_PB22N_CCL_IN0 << 16) | MUX_PB22N_CCL_IN0) -#define PORT_PB22N_CCL_IN0 (_UL_(1) << 22) -#define PIN_PA05N_CCL_IN1 _L_(5) /**< \brief CCL signal: IN1 on PA05 mux N */ -#define MUX_PA05N_CCL_IN1 _L_(13) -#define PINMUX_PA05N_CCL_IN1 ((PIN_PA05N_CCL_IN1 << 16) | MUX_PA05N_CCL_IN1) -#define PORT_PA05N_CCL_IN1 (_UL_(1) << 5) -#define PIN_PA17N_CCL_IN1 _L_(17) /**< \brief CCL signal: IN1 on PA17 mux N */ -#define MUX_PA17N_CCL_IN1 _L_(13) -#define PINMUX_PA17N_CCL_IN1 ((PIN_PA17N_CCL_IN1 << 16) | MUX_PA17N_CCL_IN1) -#define PORT_PA17N_CCL_IN1 (_UL_(1) << 17) -#define PIN_PB00N_CCL_IN1 _L_(32) /**< \brief CCL signal: IN1 on PB00 mux N */ -#define MUX_PB00N_CCL_IN1 _L_(13) -#define PINMUX_PB00N_CCL_IN1 ((PIN_PB00N_CCL_IN1 << 16) | MUX_PB00N_CCL_IN1) -#define PORT_PB00N_CCL_IN1 (_UL_(1) << 0) -#define PIN_PA06N_CCL_IN2 _L_(6) /**< \brief CCL signal: IN2 on PA06 mux N */ -#define MUX_PA06N_CCL_IN2 _L_(13) -#define PINMUX_PA06N_CCL_IN2 ((PIN_PA06N_CCL_IN2 << 16) | MUX_PA06N_CCL_IN2) -#define PORT_PA06N_CCL_IN2 (_UL_(1) << 6) -#define PIN_PA18N_CCL_IN2 _L_(18) /**< \brief CCL signal: IN2 on PA18 mux N */ -#define MUX_PA18N_CCL_IN2 _L_(13) -#define PINMUX_PA18N_CCL_IN2 ((PIN_PA18N_CCL_IN2 << 16) | MUX_PA18N_CCL_IN2) -#define PORT_PA18N_CCL_IN2 (_UL_(1) << 18) -#define PIN_PB01N_CCL_IN2 _L_(33) /**< \brief CCL signal: IN2 on PB01 mux N */ -#define MUX_PB01N_CCL_IN2 _L_(13) -#define PINMUX_PB01N_CCL_IN2 ((PIN_PB01N_CCL_IN2 << 16) | MUX_PB01N_CCL_IN2) -#define PORT_PB01N_CCL_IN2 (_UL_(1) << 1) -#define PIN_PA08N_CCL_IN3 _L_(8) /**< \brief CCL signal: IN3 on PA08 mux N */ -#define MUX_PA08N_CCL_IN3 _L_(13) -#define PINMUX_PA08N_CCL_IN3 ((PIN_PA08N_CCL_IN3 << 16) | MUX_PA08N_CCL_IN3) -#define PORT_PA08N_CCL_IN3 (_UL_(1) << 8) -#define PIN_PA30N_CCL_IN3 _L_(30) /**< \brief CCL signal: IN3 on PA30 mux N */ -#define MUX_PA30N_CCL_IN3 _L_(13) -#define PINMUX_PA30N_CCL_IN3 ((PIN_PA30N_CCL_IN3 << 16) | MUX_PA30N_CCL_IN3) -#define PORT_PA30N_CCL_IN3 (_UL_(1) << 30) -#define PIN_PA09N_CCL_IN4 _L_(9) /**< \brief CCL signal: IN4 on PA09 mux N */ -#define MUX_PA09N_CCL_IN4 _L_(13) -#define PINMUX_PA09N_CCL_IN4 ((PIN_PA09N_CCL_IN4 << 16) | MUX_PA09N_CCL_IN4) -#define PORT_PA09N_CCL_IN4 (_UL_(1) << 9) -#define PIN_PC27N_CCL_IN4 _L_(91) /**< \brief CCL signal: IN4 on PC27 mux N */ -#define MUX_PC27N_CCL_IN4 _L_(13) -#define PINMUX_PC27N_CCL_IN4 ((PIN_PC27N_CCL_IN4 << 16) | MUX_PC27N_CCL_IN4) -#define PORT_PC27N_CCL_IN4 (_UL_(1) << 27) -#define PIN_PA10N_CCL_IN5 _L_(10) /**< \brief CCL signal: IN5 on PA10 mux N */ -#define MUX_PA10N_CCL_IN5 _L_(13) -#define PINMUX_PA10N_CCL_IN5 ((PIN_PA10N_CCL_IN5 << 16) | MUX_PA10N_CCL_IN5) -#define PORT_PA10N_CCL_IN5 (_UL_(1) << 10) -#define PIN_PC28N_CCL_IN5 _L_(92) /**< \brief CCL signal: IN5 on PC28 mux N */ -#define MUX_PC28N_CCL_IN5 _L_(13) -#define PINMUX_PC28N_CCL_IN5 ((PIN_PC28N_CCL_IN5 << 16) | MUX_PC28N_CCL_IN5) -#define PORT_PC28N_CCL_IN5 (_UL_(1) << 28) -#define PIN_PA22N_CCL_IN6 _L_(22) /**< \brief CCL signal: IN6 on PA22 mux N */ -#define MUX_PA22N_CCL_IN6 _L_(13) -#define PINMUX_PA22N_CCL_IN6 ((PIN_PA22N_CCL_IN6 << 16) | MUX_PA22N_CCL_IN6) -#define PORT_PA22N_CCL_IN6 (_UL_(1) << 22) -#define PIN_PB06N_CCL_IN6 _L_(38) /**< \brief CCL signal: IN6 on PB06 mux N */ -#define MUX_PB06N_CCL_IN6 _L_(13) -#define PINMUX_PB06N_CCL_IN6 ((PIN_PB06N_CCL_IN6 << 16) | MUX_PB06N_CCL_IN6) -#define PORT_PB06N_CCL_IN6 (_UL_(1) << 6) -#define PIN_PA23N_CCL_IN7 _L_(23) /**< \brief CCL signal: IN7 on PA23 mux N */ -#define MUX_PA23N_CCL_IN7 _L_(13) -#define PINMUX_PA23N_CCL_IN7 ((PIN_PA23N_CCL_IN7 << 16) | MUX_PA23N_CCL_IN7) -#define PORT_PA23N_CCL_IN7 (_UL_(1) << 23) -#define PIN_PB07N_CCL_IN7 _L_(39) /**< \brief CCL signal: IN7 on PB07 mux N */ -#define MUX_PB07N_CCL_IN7 _L_(13) -#define PINMUX_PB07N_CCL_IN7 ((PIN_PB07N_CCL_IN7 << 16) | MUX_PB07N_CCL_IN7) -#define PORT_PB07N_CCL_IN7 (_UL_(1) << 7) -#define PIN_PA24N_CCL_IN8 _L_(24) /**< \brief CCL signal: IN8 on PA24 mux N */ -#define MUX_PA24N_CCL_IN8 _L_(13) -#define PINMUX_PA24N_CCL_IN8 ((PIN_PA24N_CCL_IN8 << 16) | MUX_PA24N_CCL_IN8) -#define PORT_PA24N_CCL_IN8 (_UL_(1) << 24) -#define PIN_PB08N_CCL_IN8 _L_(40) /**< \brief CCL signal: IN8 on PB08 mux N */ -#define MUX_PB08N_CCL_IN8 _L_(13) -#define PINMUX_PB08N_CCL_IN8 ((PIN_PB08N_CCL_IN8 << 16) | MUX_PB08N_CCL_IN8) -#define PORT_PB08N_CCL_IN8 (_UL_(1) << 8) -#define PIN_PB14N_CCL_IN9 _L_(46) /**< \brief CCL signal: IN9 on PB14 mux N */ -#define MUX_PB14N_CCL_IN9 _L_(13) -#define PINMUX_PB14N_CCL_IN9 ((PIN_PB14N_CCL_IN9 << 16) | MUX_PB14N_CCL_IN9) -#define PORT_PB14N_CCL_IN9 (_UL_(1) << 14) -#define PIN_PC20N_CCL_IN9 _L_(84) /**< \brief CCL signal: IN9 on PC20 mux N */ -#define MUX_PC20N_CCL_IN9 _L_(13) -#define PINMUX_PC20N_CCL_IN9 ((PIN_PC20N_CCL_IN9 << 16) | MUX_PC20N_CCL_IN9) -#define PORT_PC20N_CCL_IN9 (_UL_(1) << 20) -#define PIN_PB15N_CCL_IN10 _L_(47) /**< \brief CCL signal: IN10 on PB15 mux N */ -#define MUX_PB15N_CCL_IN10 _L_(13) -#define PINMUX_PB15N_CCL_IN10 ((PIN_PB15N_CCL_IN10 << 16) | MUX_PB15N_CCL_IN10) -#define PORT_PB15N_CCL_IN10 (_UL_(1) << 15) -#define PIN_PC21N_CCL_IN10 _L_(85) /**< \brief CCL signal: IN10 on PC21 mux N */ -#define MUX_PC21N_CCL_IN10 _L_(13) -#define PINMUX_PC21N_CCL_IN10 ((PIN_PC21N_CCL_IN10 << 16) | MUX_PC21N_CCL_IN10) -#define PORT_PC21N_CCL_IN10 (_UL_(1) << 21) -#define PIN_PB10N_CCL_IN11 _L_(42) /**< \brief CCL signal: IN11 on PB10 mux N */ -#define MUX_PB10N_CCL_IN11 _L_(13) -#define PINMUX_PB10N_CCL_IN11 ((PIN_PB10N_CCL_IN11 << 16) | MUX_PB10N_CCL_IN11) -#define PORT_PB10N_CCL_IN11 (_UL_(1) << 10) -#define PIN_PB16N_CCL_IN11 _L_(48) /**< \brief CCL signal: IN11 on PB16 mux N */ -#define MUX_PB16N_CCL_IN11 _L_(13) -#define PINMUX_PB16N_CCL_IN11 ((PIN_PB16N_CCL_IN11 << 16) | MUX_PB16N_CCL_IN11) -#define PORT_PB16N_CCL_IN11 (_UL_(1) << 16) -#define PIN_PA07N_CCL_OUT0 _L_(7) /**< \brief CCL signal: OUT0 on PA07 mux N */ -#define MUX_PA07N_CCL_OUT0 _L_(13) -#define PINMUX_PA07N_CCL_OUT0 ((PIN_PA07N_CCL_OUT0 << 16) | MUX_PA07N_CCL_OUT0) -#define PORT_PA07N_CCL_OUT0 (_UL_(1) << 7) -#define PIN_PA19N_CCL_OUT0 _L_(19) /**< \brief CCL signal: OUT0 on PA19 mux N */ -#define MUX_PA19N_CCL_OUT0 _L_(13) -#define PINMUX_PA19N_CCL_OUT0 ((PIN_PA19N_CCL_OUT0 << 16) | MUX_PA19N_CCL_OUT0) -#define PORT_PA19N_CCL_OUT0 (_UL_(1) << 19) -#define PIN_PB02N_CCL_OUT0 _L_(34) /**< \brief CCL signal: OUT0 on PB02 mux N */ -#define MUX_PB02N_CCL_OUT0 _L_(13) -#define PINMUX_PB02N_CCL_OUT0 ((PIN_PB02N_CCL_OUT0 << 16) | MUX_PB02N_CCL_OUT0) -#define PORT_PB02N_CCL_OUT0 (_UL_(1) << 2) -#define PIN_PB23N_CCL_OUT0 _L_(55) /**< \brief CCL signal: OUT0 on PB23 mux N */ -#define MUX_PB23N_CCL_OUT0 _L_(13) -#define PINMUX_PB23N_CCL_OUT0 ((PIN_PB23N_CCL_OUT0 << 16) | MUX_PB23N_CCL_OUT0) -#define PORT_PB23N_CCL_OUT0 (_UL_(1) << 23) -#define PIN_PA11N_CCL_OUT1 _L_(11) /**< \brief CCL signal: OUT1 on PA11 mux N */ -#define MUX_PA11N_CCL_OUT1 _L_(13) -#define PINMUX_PA11N_CCL_OUT1 ((PIN_PA11N_CCL_OUT1 << 16) | MUX_PA11N_CCL_OUT1) -#define PORT_PA11N_CCL_OUT1 (_UL_(1) << 11) -#define PIN_PA31N_CCL_OUT1 _L_(31) /**< \brief CCL signal: OUT1 on PA31 mux N */ -#define MUX_PA31N_CCL_OUT1 _L_(13) -#define PINMUX_PA31N_CCL_OUT1 ((PIN_PA31N_CCL_OUT1 << 16) | MUX_PA31N_CCL_OUT1) -#define PORT_PA31N_CCL_OUT1 (_UL_(1) << 31) -#define PIN_PB11N_CCL_OUT1 _L_(43) /**< \brief CCL signal: OUT1 on PB11 mux N */ -#define MUX_PB11N_CCL_OUT1 _L_(13) -#define PINMUX_PB11N_CCL_OUT1 ((PIN_PB11N_CCL_OUT1 << 16) | MUX_PB11N_CCL_OUT1) -#define PORT_PB11N_CCL_OUT1 (_UL_(1) << 11) -#define PIN_PA25N_CCL_OUT2 _L_(25) /**< \brief CCL signal: OUT2 on PA25 mux N */ -#define MUX_PA25N_CCL_OUT2 _L_(13) -#define PINMUX_PA25N_CCL_OUT2 ((PIN_PA25N_CCL_OUT2 << 16) | MUX_PA25N_CCL_OUT2) -#define PORT_PA25N_CCL_OUT2 (_UL_(1) << 25) -#define PIN_PB09N_CCL_OUT2 _L_(41) /**< \brief CCL signal: OUT2 on PB09 mux N */ -#define MUX_PB09N_CCL_OUT2 _L_(13) -#define PINMUX_PB09N_CCL_OUT2 ((PIN_PB09N_CCL_OUT2 << 16) | MUX_PB09N_CCL_OUT2) -#define PORT_PB09N_CCL_OUT2 (_UL_(1) << 9) -#define PIN_PB17N_CCL_OUT3 _L_(49) /**< \brief CCL signal: OUT3 on PB17 mux N */ -#define MUX_PB17N_CCL_OUT3 _L_(13) -#define PINMUX_PB17N_CCL_OUT3 ((PIN_PB17N_CCL_OUT3 << 16) | MUX_PB17N_CCL_OUT3) -#define PORT_PB17N_CCL_OUT3 (_UL_(1) << 17) -/* ========== PORT definition for SERCOM4 peripheral ========== */ -#define PIN_PA13D_SERCOM4_PAD0 _L_(13) /**< \brief SERCOM4 signal: PAD0 on PA13 mux D */ -#define MUX_PA13D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PA13D_SERCOM4_PAD0 ((PIN_PA13D_SERCOM4_PAD0 << 16) | MUX_PA13D_SERCOM4_PAD0) -#define PORT_PA13D_SERCOM4_PAD0 (_UL_(1) << 13) -#define PIN_PB08D_SERCOM4_PAD0 _L_(40) /**< \brief SERCOM4 signal: PAD0 on PB08 mux D */ -#define MUX_PB08D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PB08D_SERCOM4_PAD0 ((PIN_PB08D_SERCOM4_PAD0 << 16) | MUX_PB08D_SERCOM4_PAD0) -#define PORT_PB08D_SERCOM4_PAD0 (_UL_(1) << 8) -#define PIN_PB12C_SERCOM4_PAD0 _L_(44) /**< \brief SERCOM4 signal: PAD0 on PB12 mux C */ -#define MUX_PB12C_SERCOM4_PAD0 _L_(2) -#define PINMUX_PB12C_SERCOM4_PAD0 ((PIN_PB12C_SERCOM4_PAD0 << 16) | MUX_PB12C_SERCOM4_PAD0) -#define PORT_PB12C_SERCOM4_PAD0 (_UL_(1) << 12) -#define PIN_PA12D_SERCOM4_PAD1 _L_(12) /**< \brief SERCOM4 signal: PAD1 on PA12 mux D */ -#define MUX_PA12D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PA12D_SERCOM4_PAD1 ((PIN_PA12D_SERCOM4_PAD1 << 16) | MUX_PA12D_SERCOM4_PAD1) -#define PORT_PA12D_SERCOM4_PAD1 (_UL_(1) << 12) -#define PIN_PB09D_SERCOM4_PAD1 _L_(41) /**< \brief SERCOM4 signal: PAD1 on PB09 mux D */ -#define MUX_PB09D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PB09D_SERCOM4_PAD1 ((PIN_PB09D_SERCOM4_PAD1 << 16) | MUX_PB09D_SERCOM4_PAD1) -#define PORT_PB09D_SERCOM4_PAD1 (_UL_(1) << 9) -#define PIN_PB13C_SERCOM4_PAD1 _L_(45) /**< \brief SERCOM4 signal: PAD1 on PB13 mux C */ -#define MUX_PB13C_SERCOM4_PAD1 _L_(2) -#define PINMUX_PB13C_SERCOM4_PAD1 ((PIN_PB13C_SERCOM4_PAD1 << 16) | MUX_PB13C_SERCOM4_PAD1) -#define PORT_PB13C_SERCOM4_PAD1 (_UL_(1) << 13) -#define PIN_PA14D_SERCOM4_PAD2 _L_(14) /**< \brief SERCOM4 signal: PAD2 on PA14 mux D */ -#define MUX_PA14D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PA14D_SERCOM4_PAD2 ((PIN_PA14D_SERCOM4_PAD2 << 16) | MUX_PA14D_SERCOM4_PAD2) -#define PORT_PA14D_SERCOM4_PAD2 (_UL_(1) << 14) -#define PIN_PB10D_SERCOM4_PAD2 _L_(42) /**< \brief SERCOM4 signal: PAD2 on PB10 mux D */ -#define MUX_PB10D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PB10D_SERCOM4_PAD2 ((PIN_PB10D_SERCOM4_PAD2 << 16) | MUX_PB10D_SERCOM4_PAD2) -#define PORT_PB10D_SERCOM4_PAD2 (_UL_(1) << 10) -#define PIN_PB14C_SERCOM4_PAD2 _L_(46) /**< \brief SERCOM4 signal: PAD2 on PB14 mux C */ -#define MUX_PB14C_SERCOM4_PAD2 _L_(2) -#define PINMUX_PB14C_SERCOM4_PAD2 ((PIN_PB14C_SERCOM4_PAD2 << 16) | MUX_PB14C_SERCOM4_PAD2) -#define PORT_PB14C_SERCOM4_PAD2 (_UL_(1) << 14) -#define PIN_PB11D_SERCOM4_PAD3 _L_(43) /**< \brief SERCOM4 signal: PAD3 on PB11 mux D */ -#define MUX_PB11D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PB11D_SERCOM4_PAD3 ((PIN_PB11D_SERCOM4_PAD3 << 16) | MUX_PB11D_SERCOM4_PAD3) -#define PORT_PB11D_SERCOM4_PAD3 (_UL_(1) << 11) -#define PIN_PA15D_SERCOM4_PAD3 _L_(15) /**< \brief SERCOM4 signal: PAD3 on PA15 mux D */ -#define MUX_PA15D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PA15D_SERCOM4_PAD3 ((PIN_PA15D_SERCOM4_PAD3 << 16) | MUX_PA15D_SERCOM4_PAD3) -#define PORT_PA15D_SERCOM4_PAD3 (_UL_(1) << 15) -#define PIN_PB15C_SERCOM4_PAD3 _L_(47) /**< \brief SERCOM4 signal: PAD3 on PB15 mux C */ -#define MUX_PB15C_SERCOM4_PAD3 _L_(2) -#define PINMUX_PB15C_SERCOM4_PAD3 ((PIN_PB15C_SERCOM4_PAD3 << 16) | MUX_PB15C_SERCOM4_PAD3) -#define PORT_PB15C_SERCOM4_PAD3 (_UL_(1) << 15) -/* ========== PORT definition for SERCOM5 peripheral ========== */ -#define PIN_PA23D_SERCOM5_PAD0 _L_(23) /**< \brief SERCOM5 signal: PAD0 on PA23 mux D */ -#define MUX_PA23D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PA23D_SERCOM5_PAD0 ((PIN_PA23D_SERCOM5_PAD0 << 16) | MUX_PA23D_SERCOM5_PAD0) -#define PORT_PA23D_SERCOM5_PAD0 (_UL_(1) << 23) -#define PIN_PB02D_SERCOM5_PAD0 _L_(34) /**< \brief SERCOM5 signal: PAD0 on PB02 mux D */ -#define MUX_PB02D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PB02D_SERCOM5_PAD0 ((PIN_PB02D_SERCOM5_PAD0 << 16) | MUX_PB02D_SERCOM5_PAD0) -#define PORT_PB02D_SERCOM5_PAD0 (_UL_(1) << 2) -#define PIN_PB31D_SERCOM5_PAD0 _L_(63) /**< \brief SERCOM5 signal: PAD0 on PB31 mux D */ -#define MUX_PB31D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PB31D_SERCOM5_PAD0 ((PIN_PB31D_SERCOM5_PAD0 << 16) | MUX_PB31D_SERCOM5_PAD0) -#define PORT_PB31D_SERCOM5_PAD0 (_UL_(1) << 31) -#define PIN_PB16C_SERCOM5_PAD0 _L_(48) /**< \brief SERCOM5 signal: PAD0 on PB16 mux C */ -#define MUX_PB16C_SERCOM5_PAD0 _L_(2) -#define PINMUX_PB16C_SERCOM5_PAD0 ((PIN_PB16C_SERCOM5_PAD0 << 16) | MUX_PB16C_SERCOM5_PAD0) -#define PORT_PB16C_SERCOM5_PAD0 (_UL_(1) << 16) -#define PIN_PA22D_SERCOM5_PAD1 _L_(22) /**< \brief SERCOM5 signal: PAD1 on PA22 mux D */ -#define MUX_PA22D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PA22D_SERCOM5_PAD1 ((PIN_PA22D_SERCOM5_PAD1 << 16) | MUX_PA22D_SERCOM5_PAD1) -#define PORT_PA22D_SERCOM5_PAD1 (_UL_(1) << 22) -#define PIN_PB03D_SERCOM5_PAD1 _L_(35) /**< \brief SERCOM5 signal: PAD1 on PB03 mux D */ -#define MUX_PB03D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PB03D_SERCOM5_PAD1 ((PIN_PB03D_SERCOM5_PAD1 << 16) | MUX_PB03D_SERCOM5_PAD1) -#define PORT_PB03D_SERCOM5_PAD1 (_UL_(1) << 3) -#define PIN_PB30D_SERCOM5_PAD1 _L_(62) /**< \brief SERCOM5 signal: PAD1 on PB30 mux D */ -#define MUX_PB30D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PB30D_SERCOM5_PAD1 ((PIN_PB30D_SERCOM5_PAD1 << 16) | MUX_PB30D_SERCOM5_PAD1) -#define PORT_PB30D_SERCOM5_PAD1 (_UL_(1) << 30) -#define PIN_PB17C_SERCOM5_PAD1 _L_(49) /**< \brief SERCOM5 signal: PAD1 on PB17 mux C */ -#define MUX_PB17C_SERCOM5_PAD1 _L_(2) -#define PINMUX_PB17C_SERCOM5_PAD1 ((PIN_PB17C_SERCOM5_PAD1 << 16) | MUX_PB17C_SERCOM5_PAD1) -#define PORT_PB17C_SERCOM5_PAD1 (_UL_(1) << 17) -#define PIN_PA24D_SERCOM5_PAD2 _L_(24) /**< \brief SERCOM5 signal: PAD2 on PA24 mux D */ -#define MUX_PA24D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PA24D_SERCOM5_PAD2 ((PIN_PA24D_SERCOM5_PAD2 << 16) | MUX_PA24D_SERCOM5_PAD2) -#define PORT_PA24D_SERCOM5_PAD2 (_UL_(1) << 24) -#define PIN_PB00D_SERCOM5_PAD2 _L_(32) /**< \brief SERCOM5 signal: PAD2 on PB00 mux D */ -#define MUX_PB00D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PB00D_SERCOM5_PAD2 ((PIN_PB00D_SERCOM5_PAD2 << 16) | MUX_PB00D_SERCOM5_PAD2) -#define PORT_PB00D_SERCOM5_PAD2 (_UL_(1) << 0) -#define PIN_PB22D_SERCOM5_PAD2 _L_(54) /**< \brief SERCOM5 signal: PAD2 on PB22 mux D */ -#define MUX_PB22D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PB22D_SERCOM5_PAD2 ((PIN_PB22D_SERCOM5_PAD2 << 16) | MUX_PB22D_SERCOM5_PAD2) -#define PORT_PB22D_SERCOM5_PAD2 (_UL_(1) << 22) -#define PIN_PA20C_SERCOM5_PAD2 _L_(20) /**< \brief SERCOM5 signal: PAD2 on PA20 mux C */ -#define MUX_PA20C_SERCOM5_PAD2 _L_(2) -#define PINMUX_PA20C_SERCOM5_PAD2 ((PIN_PA20C_SERCOM5_PAD2 << 16) | MUX_PA20C_SERCOM5_PAD2) -#define PORT_PA20C_SERCOM5_PAD2 (_UL_(1) << 20) -#define PIN_PB18C_SERCOM5_PAD2 _L_(50) /**< \brief SERCOM5 signal: PAD2 on PB18 mux C */ -#define MUX_PB18C_SERCOM5_PAD2 _L_(2) -#define PINMUX_PB18C_SERCOM5_PAD2 ((PIN_PB18C_SERCOM5_PAD2 << 16) | MUX_PB18C_SERCOM5_PAD2) -#define PORT_PB18C_SERCOM5_PAD2 (_UL_(1) << 18) -#define PIN_PA25D_SERCOM5_PAD3 _L_(25) /**< \brief SERCOM5 signal: PAD3 on PA25 mux D */ -#define MUX_PA25D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PA25D_SERCOM5_PAD3 ((PIN_PA25D_SERCOM5_PAD3 << 16) | MUX_PA25D_SERCOM5_PAD3) -#define PORT_PA25D_SERCOM5_PAD3 (_UL_(1) << 25) -#define PIN_PB01D_SERCOM5_PAD3 _L_(33) /**< \brief SERCOM5 signal: PAD3 on PB01 mux D */ -#define MUX_PB01D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PB01D_SERCOM5_PAD3 ((PIN_PB01D_SERCOM5_PAD3 << 16) | MUX_PB01D_SERCOM5_PAD3) -#define PORT_PB01D_SERCOM5_PAD3 (_UL_(1) << 1) -#define PIN_PB23D_SERCOM5_PAD3 _L_(55) /**< \brief SERCOM5 signal: PAD3 on PB23 mux D */ -#define MUX_PB23D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PB23D_SERCOM5_PAD3 ((PIN_PB23D_SERCOM5_PAD3 << 16) | MUX_PB23D_SERCOM5_PAD3) -#define PORT_PB23D_SERCOM5_PAD3 (_UL_(1) << 23) -#define PIN_PA21C_SERCOM5_PAD3 _L_(21) /**< \brief SERCOM5 signal: PAD3 on PA21 mux C */ -#define MUX_PA21C_SERCOM5_PAD3 _L_(2) -#define PINMUX_PA21C_SERCOM5_PAD3 ((PIN_PA21C_SERCOM5_PAD3 << 16) | MUX_PA21C_SERCOM5_PAD3) -#define PORT_PA21C_SERCOM5_PAD3 (_UL_(1) << 21) -#define PIN_PB19C_SERCOM5_PAD3 _L_(51) /**< \brief SERCOM5 signal: PAD3 on PB19 mux C */ -#define MUX_PB19C_SERCOM5_PAD3 _L_(2) -#define PINMUX_PB19C_SERCOM5_PAD3 ((PIN_PB19C_SERCOM5_PAD3 << 16) | MUX_PB19C_SERCOM5_PAD3) -#define PORT_PB19C_SERCOM5_PAD3 (_UL_(1) << 19) -/* ========== PORT definition for SERCOM6 peripheral ========== */ -#define PIN_PC13D_SERCOM6_PAD0 _L_(77) /**< \brief SERCOM6 signal: PAD0 on PC13 mux D */ -#define MUX_PC13D_SERCOM6_PAD0 _L_(3) -#define PINMUX_PC13D_SERCOM6_PAD0 ((PIN_PC13D_SERCOM6_PAD0 << 16) | MUX_PC13D_SERCOM6_PAD0) -#define PORT_PC13D_SERCOM6_PAD0 (_UL_(1) << 13) -#define PIN_PC16C_SERCOM6_PAD0 _L_(80) /**< \brief SERCOM6 signal: PAD0 on PC16 mux C */ -#define MUX_PC16C_SERCOM6_PAD0 _L_(2) -#define PINMUX_PC16C_SERCOM6_PAD0 ((PIN_PC16C_SERCOM6_PAD0 << 16) | MUX_PC16C_SERCOM6_PAD0) -#define PORT_PC16C_SERCOM6_PAD0 (_UL_(1) << 16) -#define PIN_PC12D_SERCOM6_PAD1 _L_(76) /**< \brief SERCOM6 signal: PAD1 on PC12 mux D */ -#define MUX_PC12D_SERCOM6_PAD1 _L_(3) -#define PINMUX_PC12D_SERCOM6_PAD1 ((PIN_PC12D_SERCOM6_PAD1 << 16) | MUX_PC12D_SERCOM6_PAD1) -#define PORT_PC12D_SERCOM6_PAD1 (_UL_(1) << 12) -#define PIN_PC05C_SERCOM6_PAD1 _L_(69) /**< \brief SERCOM6 signal: PAD1 on PC05 mux C */ -#define MUX_PC05C_SERCOM6_PAD1 _L_(2) -#define PINMUX_PC05C_SERCOM6_PAD1 ((PIN_PC05C_SERCOM6_PAD1 << 16) | MUX_PC05C_SERCOM6_PAD1) -#define PORT_PC05C_SERCOM6_PAD1 (_UL_(1) << 5) -#define PIN_PC17C_SERCOM6_PAD1 _L_(81) /**< \brief SERCOM6 signal: PAD1 on PC17 mux C */ -#define MUX_PC17C_SERCOM6_PAD1 _L_(2) -#define PINMUX_PC17C_SERCOM6_PAD1 ((PIN_PC17C_SERCOM6_PAD1 << 16) | MUX_PC17C_SERCOM6_PAD1) -#define PORT_PC17C_SERCOM6_PAD1 (_UL_(1) << 17) -#define PIN_PC14D_SERCOM6_PAD2 _L_(78) /**< \brief SERCOM6 signal: PAD2 on PC14 mux D */ -#define MUX_PC14D_SERCOM6_PAD2 _L_(3) -#define PINMUX_PC14D_SERCOM6_PAD2 ((PIN_PC14D_SERCOM6_PAD2 << 16) | MUX_PC14D_SERCOM6_PAD2) -#define PORT_PC14D_SERCOM6_PAD2 (_UL_(1) << 14) -#define PIN_PC06C_SERCOM6_PAD2 _L_(70) /**< \brief SERCOM6 signal: PAD2 on PC06 mux C */ -#define MUX_PC06C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC06C_SERCOM6_PAD2 ((PIN_PC06C_SERCOM6_PAD2 << 16) | MUX_PC06C_SERCOM6_PAD2) -#define PORT_PC06C_SERCOM6_PAD2 (_UL_(1) << 6) -#define PIN_PC10C_SERCOM6_PAD2 _L_(74) /**< \brief SERCOM6 signal: PAD2 on PC10 mux C */ -#define MUX_PC10C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC10C_SERCOM6_PAD2 ((PIN_PC10C_SERCOM6_PAD2 << 16) | MUX_PC10C_SERCOM6_PAD2) -#define PORT_PC10C_SERCOM6_PAD2 (_UL_(1) << 10) -#define PIN_PC18C_SERCOM6_PAD2 _L_(82) /**< \brief SERCOM6 signal: PAD2 on PC18 mux C */ -#define MUX_PC18C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC18C_SERCOM6_PAD2 ((PIN_PC18C_SERCOM6_PAD2 << 16) | MUX_PC18C_SERCOM6_PAD2) -#define PORT_PC18C_SERCOM6_PAD2 (_UL_(1) << 18) -#define PIN_PC15D_SERCOM6_PAD3 _L_(79) /**< \brief SERCOM6 signal: PAD3 on PC15 mux D */ -#define MUX_PC15D_SERCOM6_PAD3 _L_(3) -#define PINMUX_PC15D_SERCOM6_PAD3 ((PIN_PC15D_SERCOM6_PAD3 << 16) | MUX_PC15D_SERCOM6_PAD3) -#define PORT_PC15D_SERCOM6_PAD3 (_UL_(1) << 15) -#define PIN_PC07C_SERCOM6_PAD3 _L_(71) /**< \brief SERCOM6 signal: PAD3 on PC07 mux C */ -#define MUX_PC07C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC07C_SERCOM6_PAD3 ((PIN_PC07C_SERCOM6_PAD3 << 16) | MUX_PC07C_SERCOM6_PAD3) -#define PORT_PC07C_SERCOM6_PAD3 (_UL_(1) << 7) -#define PIN_PC11C_SERCOM6_PAD3 _L_(75) /**< \brief SERCOM6 signal: PAD3 on PC11 mux C */ -#define MUX_PC11C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC11C_SERCOM6_PAD3 ((PIN_PC11C_SERCOM6_PAD3 << 16) | MUX_PC11C_SERCOM6_PAD3) -#define PORT_PC11C_SERCOM6_PAD3 (_UL_(1) << 11) -#define PIN_PC19C_SERCOM6_PAD3 _L_(83) /**< \brief SERCOM6 signal: PAD3 on PC19 mux C */ -#define MUX_PC19C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC19C_SERCOM6_PAD3 ((PIN_PC19C_SERCOM6_PAD3 << 16) | MUX_PC19C_SERCOM6_PAD3) -#define PORT_PC19C_SERCOM6_PAD3 (_UL_(1) << 19) -/* ========== PORT definition for SERCOM7 peripheral ========== */ -#define PIN_PB21D_SERCOM7_PAD0 _L_(53) /**< \brief SERCOM7 signal: PAD0 on PB21 mux D */ -#define MUX_PB21D_SERCOM7_PAD0 _L_(3) -#define PINMUX_PB21D_SERCOM7_PAD0 ((PIN_PB21D_SERCOM7_PAD0 << 16) | MUX_PB21D_SERCOM7_PAD0) -#define PORT_PB21D_SERCOM7_PAD0 (_UL_(1) << 21) -#define PIN_PB30C_SERCOM7_PAD0 _L_(62) /**< \brief SERCOM7 signal: PAD0 on PB30 mux C */ -#define MUX_PB30C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PB30C_SERCOM7_PAD0 ((PIN_PB30C_SERCOM7_PAD0 << 16) | MUX_PB30C_SERCOM7_PAD0) -#define PORT_PB30C_SERCOM7_PAD0 (_UL_(1) << 30) -#define PIN_PC12C_SERCOM7_PAD0 _L_(76) /**< \brief SERCOM7 signal: PAD0 on PC12 mux C */ -#define MUX_PC12C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PC12C_SERCOM7_PAD0 ((PIN_PC12C_SERCOM7_PAD0 << 16) | MUX_PC12C_SERCOM7_PAD0) -#define PORT_PC12C_SERCOM7_PAD0 (_UL_(1) << 12) -#define PIN_PB20D_SERCOM7_PAD1 _L_(52) /**< \brief SERCOM7 signal: PAD1 on PB20 mux D */ -#define MUX_PB20D_SERCOM7_PAD1 _L_(3) -#define PINMUX_PB20D_SERCOM7_PAD1 ((PIN_PB20D_SERCOM7_PAD1 << 16) | MUX_PB20D_SERCOM7_PAD1) -#define PORT_PB20D_SERCOM7_PAD1 (_UL_(1) << 20) -#define PIN_PB31C_SERCOM7_PAD1 _L_(63) /**< \brief SERCOM7 signal: PAD1 on PB31 mux C */ -#define MUX_PB31C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PB31C_SERCOM7_PAD1 ((PIN_PB31C_SERCOM7_PAD1 << 16) | MUX_PB31C_SERCOM7_PAD1) -#define PORT_PB31C_SERCOM7_PAD1 (_UL_(1) << 31) -#define PIN_PC13C_SERCOM7_PAD1 _L_(77) /**< \brief SERCOM7 signal: PAD1 on PC13 mux C */ -#define MUX_PC13C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PC13C_SERCOM7_PAD1 ((PIN_PC13C_SERCOM7_PAD1 << 16) | MUX_PC13C_SERCOM7_PAD1) -#define PORT_PC13C_SERCOM7_PAD1 (_UL_(1) << 13) -#define PIN_PB18D_SERCOM7_PAD2 _L_(50) /**< \brief SERCOM7 signal: PAD2 on PB18 mux D */ -#define MUX_PB18D_SERCOM7_PAD2 _L_(3) -#define PINMUX_PB18D_SERCOM7_PAD2 ((PIN_PB18D_SERCOM7_PAD2 << 16) | MUX_PB18D_SERCOM7_PAD2) -#define PORT_PB18D_SERCOM7_PAD2 (_UL_(1) << 18) -#define PIN_PC10D_SERCOM7_PAD2 _L_(74) /**< \brief SERCOM7 signal: PAD2 on PC10 mux D */ -#define MUX_PC10D_SERCOM7_PAD2 _L_(3) -#define PINMUX_PC10D_SERCOM7_PAD2 ((PIN_PC10D_SERCOM7_PAD2 << 16) | MUX_PC10D_SERCOM7_PAD2) -#define PORT_PC10D_SERCOM7_PAD2 (_UL_(1) << 10) -#define PIN_PC14C_SERCOM7_PAD2 _L_(78) /**< \brief SERCOM7 signal: PAD2 on PC14 mux C */ -#define MUX_PC14C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PC14C_SERCOM7_PAD2 ((PIN_PC14C_SERCOM7_PAD2 << 16) | MUX_PC14C_SERCOM7_PAD2) -#define PORT_PC14C_SERCOM7_PAD2 (_UL_(1) << 14) -#define PIN_PA30C_SERCOM7_PAD2 _L_(30) /**< \brief SERCOM7 signal: PAD2 on PA30 mux C */ -#define MUX_PA30C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PA30C_SERCOM7_PAD2 ((PIN_PA30C_SERCOM7_PAD2 << 16) | MUX_PA30C_SERCOM7_PAD2) -#define PORT_PA30C_SERCOM7_PAD2 (_UL_(1) << 30) -#define PIN_PB19D_SERCOM7_PAD3 _L_(51) /**< \brief SERCOM7 signal: PAD3 on PB19 mux D */ -#define MUX_PB19D_SERCOM7_PAD3 _L_(3) -#define PINMUX_PB19D_SERCOM7_PAD3 ((PIN_PB19D_SERCOM7_PAD3 << 16) | MUX_PB19D_SERCOM7_PAD3) -#define PORT_PB19D_SERCOM7_PAD3 (_UL_(1) << 19) -#define PIN_PC11D_SERCOM7_PAD3 _L_(75) /**< \brief SERCOM7 signal: PAD3 on PC11 mux D */ -#define MUX_PC11D_SERCOM7_PAD3 _L_(3) -#define PINMUX_PC11D_SERCOM7_PAD3 ((PIN_PC11D_SERCOM7_PAD3 << 16) | MUX_PC11D_SERCOM7_PAD3) -#define PORT_PC11D_SERCOM7_PAD3 (_UL_(1) << 11) -#define PIN_PC15C_SERCOM7_PAD3 _L_(79) /**< \brief SERCOM7 signal: PAD3 on PC15 mux C */ -#define MUX_PC15C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PC15C_SERCOM7_PAD3 ((PIN_PC15C_SERCOM7_PAD3 << 16) | MUX_PC15C_SERCOM7_PAD3) -#define PORT_PC15C_SERCOM7_PAD3 (_UL_(1) << 15) -#define PIN_PA31C_SERCOM7_PAD3 _L_(31) /**< \brief SERCOM7 signal: PAD3 on PA31 mux C */ -#define MUX_PA31C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PA31C_SERCOM7_PAD3 ((PIN_PA31C_SERCOM7_PAD3 << 16) | MUX_PA31C_SERCOM7_PAD3) -#define PORT_PA31C_SERCOM7_PAD3 (_UL_(1) << 31) -/* ========== PORT definition for TCC4 peripheral ========== */ -#define PIN_PB14F_TCC4_WO0 _L_(46) /**< \brief TCC4 signal: WO0 on PB14 mux F */ -#define MUX_PB14F_TCC4_WO0 _L_(5) -#define PINMUX_PB14F_TCC4_WO0 ((PIN_PB14F_TCC4_WO0 << 16) | MUX_PB14F_TCC4_WO0) -#define PORT_PB14F_TCC4_WO0 (_UL_(1) << 14) -#define PIN_PB30F_TCC4_WO0 _L_(62) /**< \brief TCC4 signal: WO0 on PB30 mux F */ -#define MUX_PB30F_TCC4_WO0 _L_(5) -#define PINMUX_PB30F_TCC4_WO0 ((PIN_PB30F_TCC4_WO0 << 16) | MUX_PB30F_TCC4_WO0) -#define PORT_PB30F_TCC4_WO0 (_UL_(1) << 30) -#define PIN_PB15F_TCC4_WO1 _L_(47) /**< \brief TCC4 signal: WO1 on PB15 mux F */ -#define MUX_PB15F_TCC4_WO1 _L_(5) -#define PINMUX_PB15F_TCC4_WO1 ((PIN_PB15F_TCC4_WO1 << 16) | MUX_PB15F_TCC4_WO1) -#define PORT_PB15F_TCC4_WO1 (_UL_(1) << 15) -#define PIN_PB31F_TCC4_WO1 _L_(63) /**< \brief TCC4 signal: WO1 on PB31 mux F */ -#define MUX_PB31F_TCC4_WO1 _L_(5) -#define PINMUX_PB31F_TCC4_WO1 ((PIN_PB31F_TCC4_WO1 << 16) | MUX_PB31F_TCC4_WO1) -#define PORT_PB31F_TCC4_WO1 (_UL_(1) << 31) -/* ========== PORT definition for TC6 peripheral ========== */ -#define PIN_PA30E_TC6_WO0 _L_(30) /**< \brief TC6 signal: WO0 on PA30 mux E */ -#define MUX_PA30E_TC6_WO0 _L_(4) -#define PINMUX_PA30E_TC6_WO0 ((PIN_PA30E_TC6_WO0 << 16) | MUX_PA30E_TC6_WO0) -#define PORT_PA30E_TC6_WO0 (_UL_(1) << 30) -#define PIN_PB02E_TC6_WO0 _L_(34) /**< \brief TC6 signal: WO0 on PB02 mux E */ -#define MUX_PB02E_TC6_WO0 _L_(4) -#define PINMUX_PB02E_TC6_WO0 ((PIN_PB02E_TC6_WO0 << 16) | MUX_PB02E_TC6_WO0) -#define PORT_PB02E_TC6_WO0 (_UL_(1) << 2) -#define PIN_PB16E_TC6_WO0 _L_(48) /**< \brief TC6 signal: WO0 on PB16 mux E */ -#define MUX_PB16E_TC6_WO0 _L_(4) -#define PINMUX_PB16E_TC6_WO0 ((PIN_PB16E_TC6_WO0 << 16) | MUX_PB16E_TC6_WO0) -#define PORT_PB16E_TC6_WO0 (_UL_(1) << 16) -#define PIN_PA31E_TC6_WO1 _L_(31) /**< \brief TC6 signal: WO1 on PA31 mux E */ -#define MUX_PA31E_TC6_WO1 _L_(4) -#define PINMUX_PA31E_TC6_WO1 ((PIN_PA31E_TC6_WO1 << 16) | MUX_PA31E_TC6_WO1) -#define PORT_PA31E_TC6_WO1 (_UL_(1) << 31) -#define PIN_PB03E_TC6_WO1 _L_(35) /**< \brief TC6 signal: WO1 on PB03 mux E */ -#define MUX_PB03E_TC6_WO1 _L_(4) -#define PINMUX_PB03E_TC6_WO1 ((PIN_PB03E_TC6_WO1 << 16) | MUX_PB03E_TC6_WO1) -#define PORT_PB03E_TC6_WO1 (_UL_(1) << 3) -#define PIN_PB17E_TC6_WO1 _L_(49) /**< \brief TC6 signal: WO1 on PB17 mux E */ -#define MUX_PB17E_TC6_WO1 _L_(4) -#define PINMUX_PB17E_TC6_WO1 ((PIN_PB17E_TC6_WO1 << 16) | MUX_PB17E_TC6_WO1) -#define PORT_PB17E_TC6_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC7 peripheral ========== */ -#define PIN_PA20E_TC7_WO0 _L_(20) /**< \brief TC7 signal: WO0 on PA20 mux E */ -#define MUX_PA20E_TC7_WO0 _L_(4) -#define PINMUX_PA20E_TC7_WO0 ((PIN_PA20E_TC7_WO0 << 16) | MUX_PA20E_TC7_WO0) -#define PORT_PA20E_TC7_WO0 (_UL_(1) << 20) -#define PIN_PB00E_TC7_WO0 _L_(32) /**< \brief TC7 signal: WO0 on PB00 mux E */ -#define MUX_PB00E_TC7_WO0 _L_(4) -#define PINMUX_PB00E_TC7_WO0 ((PIN_PB00E_TC7_WO0 << 16) | MUX_PB00E_TC7_WO0) -#define PORT_PB00E_TC7_WO0 (_UL_(1) << 0) -#define PIN_PB22E_TC7_WO0 _L_(54) /**< \brief TC7 signal: WO0 on PB22 mux E */ -#define MUX_PB22E_TC7_WO0 _L_(4) -#define PINMUX_PB22E_TC7_WO0 ((PIN_PB22E_TC7_WO0 << 16) | MUX_PB22E_TC7_WO0) -#define PORT_PB22E_TC7_WO0 (_UL_(1) << 22) -#define PIN_PA21E_TC7_WO1 _L_(21) /**< \brief TC7 signal: WO1 on PA21 mux E */ -#define MUX_PA21E_TC7_WO1 _L_(4) -#define PINMUX_PA21E_TC7_WO1 ((PIN_PA21E_TC7_WO1 << 16) | MUX_PA21E_TC7_WO1) -#define PORT_PA21E_TC7_WO1 (_UL_(1) << 21) -#define PIN_PB01E_TC7_WO1 _L_(33) /**< \brief TC7 signal: WO1 on PB01 mux E */ -#define MUX_PB01E_TC7_WO1 _L_(4) -#define PINMUX_PB01E_TC7_WO1 ((PIN_PB01E_TC7_WO1 << 16) | MUX_PB01E_TC7_WO1) -#define PORT_PB01E_TC7_WO1 (_UL_(1) << 1) -#define PIN_PB23E_TC7_WO1 _L_(55) /**< \brief TC7 signal: WO1 on PB23 mux E */ -#define MUX_PB23E_TC7_WO1 _L_(4) -#define PINMUX_PB23E_TC7_WO1 ((PIN_PB23E_TC7_WO1 << 16) | MUX_PB23E_TC7_WO1) -#define PORT_PB23E_TC7_WO1 (_UL_(1) << 23) -/* ========== PORT definition for ADC0 peripheral ========== */ -#define PIN_PA02B_ADC0_AIN0 _L_(2) /**< \brief ADC0 signal: AIN0 on PA02 mux B */ -#define MUX_PA02B_ADC0_AIN0 _L_(1) -#define PINMUX_PA02B_ADC0_AIN0 ((PIN_PA02B_ADC0_AIN0 << 16) | MUX_PA02B_ADC0_AIN0) -#define PORT_PA02B_ADC0_AIN0 (_UL_(1) << 2) -#define PIN_PA03B_ADC0_AIN1 _L_(3) /**< \brief ADC0 signal: AIN1 on PA03 mux B */ -#define MUX_PA03B_ADC0_AIN1 _L_(1) -#define PINMUX_PA03B_ADC0_AIN1 ((PIN_PA03B_ADC0_AIN1 << 16) | MUX_PA03B_ADC0_AIN1) -#define PORT_PA03B_ADC0_AIN1 (_UL_(1) << 3) -#define PIN_PB08B_ADC0_AIN2 _L_(40) /**< \brief ADC0 signal: AIN2 on PB08 mux B */ -#define MUX_PB08B_ADC0_AIN2 _L_(1) -#define PINMUX_PB08B_ADC0_AIN2 ((PIN_PB08B_ADC0_AIN2 << 16) | MUX_PB08B_ADC0_AIN2) -#define PORT_PB08B_ADC0_AIN2 (_UL_(1) << 8) -#define PIN_PB09B_ADC0_AIN3 _L_(41) /**< \brief ADC0 signal: AIN3 on PB09 mux B */ -#define MUX_PB09B_ADC0_AIN3 _L_(1) -#define PINMUX_PB09B_ADC0_AIN3 ((PIN_PB09B_ADC0_AIN3 << 16) | MUX_PB09B_ADC0_AIN3) -#define PORT_PB09B_ADC0_AIN3 (_UL_(1) << 9) -#define PIN_PA04B_ADC0_AIN4 _L_(4) /**< \brief ADC0 signal: AIN4 on PA04 mux B */ -#define MUX_PA04B_ADC0_AIN4 _L_(1) -#define PINMUX_PA04B_ADC0_AIN4 ((PIN_PA04B_ADC0_AIN4 << 16) | MUX_PA04B_ADC0_AIN4) -#define PORT_PA04B_ADC0_AIN4 (_UL_(1) << 4) -#define PIN_PA05B_ADC0_AIN5 _L_(5) /**< \brief ADC0 signal: AIN5 on PA05 mux B */ -#define MUX_PA05B_ADC0_AIN5 _L_(1) -#define PINMUX_PA05B_ADC0_AIN5 ((PIN_PA05B_ADC0_AIN5 << 16) | MUX_PA05B_ADC0_AIN5) -#define PORT_PA05B_ADC0_AIN5 (_UL_(1) << 5) -#define PIN_PA06B_ADC0_AIN6 _L_(6) /**< \brief ADC0 signal: AIN6 on PA06 mux B */ -#define MUX_PA06B_ADC0_AIN6 _L_(1) -#define PINMUX_PA06B_ADC0_AIN6 ((PIN_PA06B_ADC0_AIN6 << 16) | MUX_PA06B_ADC0_AIN6) -#define PORT_PA06B_ADC0_AIN6 (_UL_(1) << 6) -#define PIN_PA07B_ADC0_AIN7 _L_(7) /**< \brief ADC0 signal: AIN7 on PA07 mux B */ -#define MUX_PA07B_ADC0_AIN7 _L_(1) -#define PINMUX_PA07B_ADC0_AIN7 ((PIN_PA07B_ADC0_AIN7 << 16) | MUX_PA07B_ADC0_AIN7) -#define PORT_PA07B_ADC0_AIN7 (_UL_(1) << 7) -#define PIN_PA08B_ADC0_AIN8 _L_(8) /**< \brief ADC0 signal: AIN8 on PA08 mux B */ -#define MUX_PA08B_ADC0_AIN8 _L_(1) -#define PINMUX_PA08B_ADC0_AIN8 ((PIN_PA08B_ADC0_AIN8 << 16) | MUX_PA08B_ADC0_AIN8) -#define PORT_PA08B_ADC0_AIN8 (_UL_(1) << 8) -#define PIN_PA09B_ADC0_AIN9 _L_(9) /**< \brief ADC0 signal: AIN9 on PA09 mux B */ -#define MUX_PA09B_ADC0_AIN9 _L_(1) -#define PINMUX_PA09B_ADC0_AIN9 ((PIN_PA09B_ADC0_AIN9 << 16) | MUX_PA09B_ADC0_AIN9) -#define PORT_PA09B_ADC0_AIN9 (_UL_(1) << 9) -#define PIN_PA10B_ADC0_AIN10 _L_(10) /**< \brief ADC0 signal: AIN10 on PA10 mux B */ -#define MUX_PA10B_ADC0_AIN10 _L_(1) -#define PINMUX_PA10B_ADC0_AIN10 ((PIN_PA10B_ADC0_AIN10 << 16) | MUX_PA10B_ADC0_AIN10) -#define PORT_PA10B_ADC0_AIN10 (_UL_(1) << 10) -#define PIN_PA11B_ADC0_AIN11 _L_(11) /**< \brief ADC0 signal: AIN11 on PA11 mux B */ -#define MUX_PA11B_ADC0_AIN11 _L_(1) -#define PINMUX_PA11B_ADC0_AIN11 ((PIN_PA11B_ADC0_AIN11 << 16) | MUX_PA11B_ADC0_AIN11) -#define PORT_PA11B_ADC0_AIN11 (_UL_(1) << 11) -#define PIN_PB00B_ADC0_AIN12 _L_(32) /**< \brief ADC0 signal: AIN12 on PB00 mux B */ -#define MUX_PB00B_ADC0_AIN12 _L_(1) -#define PINMUX_PB00B_ADC0_AIN12 ((PIN_PB00B_ADC0_AIN12 << 16) | MUX_PB00B_ADC0_AIN12) -#define PORT_PB00B_ADC0_AIN12 (_UL_(1) << 0) -#define PIN_PB01B_ADC0_AIN13 _L_(33) /**< \brief ADC0 signal: AIN13 on PB01 mux B */ -#define MUX_PB01B_ADC0_AIN13 _L_(1) -#define PINMUX_PB01B_ADC0_AIN13 ((PIN_PB01B_ADC0_AIN13 << 16) | MUX_PB01B_ADC0_AIN13) -#define PORT_PB01B_ADC0_AIN13 (_UL_(1) << 1) -#define PIN_PB02B_ADC0_AIN14 _L_(34) /**< \brief ADC0 signal: AIN14 on PB02 mux B */ -#define MUX_PB02B_ADC0_AIN14 _L_(1) -#define PINMUX_PB02B_ADC0_AIN14 ((PIN_PB02B_ADC0_AIN14 << 16) | MUX_PB02B_ADC0_AIN14) -#define PORT_PB02B_ADC0_AIN14 (_UL_(1) << 2) -#define PIN_PB03B_ADC0_AIN15 _L_(35) /**< \brief ADC0 signal: AIN15 on PB03 mux B */ -#define MUX_PB03B_ADC0_AIN15 _L_(1) -#define PINMUX_PB03B_ADC0_AIN15 ((PIN_PB03B_ADC0_AIN15 << 16) | MUX_PB03B_ADC0_AIN15) -#define PORT_PB03B_ADC0_AIN15 (_UL_(1) << 3) -#define PIN_PA03O_ADC0_DRV0 _L_(3) /**< \brief ADC0 signal: DRV0 on PA03 mux O */ -#define MUX_PA03O_ADC0_DRV0 _L_(14) -#define PINMUX_PA03O_ADC0_DRV0 ((PIN_PA03O_ADC0_DRV0 << 16) | MUX_PA03O_ADC0_DRV0) -#define PORT_PA03O_ADC0_DRV0 (_UL_(1) << 3) -#define PIN_PB08O_ADC0_DRV1 _L_(40) /**< \brief ADC0 signal: DRV1 on PB08 mux O */ -#define MUX_PB08O_ADC0_DRV1 _L_(14) -#define PINMUX_PB08O_ADC0_DRV1 ((PIN_PB08O_ADC0_DRV1 << 16) | MUX_PB08O_ADC0_DRV1) -#define PORT_PB08O_ADC0_DRV1 (_UL_(1) << 8) -#define PIN_PB09O_ADC0_DRV2 _L_(41) /**< \brief ADC0 signal: DRV2 on PB09 mux O */ -#define MUX_PB09O_ADC0_DRV2 _L_(14) -#define PINMUX_PB09O_ADC0_DRV2 ((PIN_PB09O_ADC0_DRV2 << 16) | MUX_PB09O_ADC0_DRV2) -#define PORT_PB09O_ADC0_DRV2 (_UL_(1) << 9) -#define PIN_PA04O_ADC0_DRV3 _L_(4) /**< \brief ADC0 signal: DRV3 on PA04 mux O */ -#define MUX_PA04O_ADC0_DRV3 _L_(14) -#define PINMUX_PA04O_ADC0_DRV3 ((PIN_PA04O_ADC0_DRV3 << 16) | MUX_PA04O_ADC0_DRV3) -#define PORT_PA04O_ADC0_DRV3 (_UL_(1) << 4) -#define PIN_PA06O_ADC0_DRV4 _L_(6) /**< \brief ADC0 signal: DRV4 on PA06 mux O */ -#define MUX_PA06O_ADC0_DRV4 _L_(14) -#define PINMUX_PA06O_ADC0_DRV4 ((PIN_PA06O_ADC0_DRV4 << 16) | MUX_PA06O_ADC0_DRV4) -#define PORT_PA06O_ADC0_DRV4 (_UL_(1) << 6) -#define PIN_PA07O_ADC0_DRV5 _L_(7) /**< \brief ADC0 signal: DRV5 on PA07 mux O */ -#define MUX_PA07O_ADC0_DRV5 _L_(14) -#define PINMUX_PA07O_ADC0_DRV5 ((PIN_PA07O_ADC0_DRV5 << 16) | MUX_PA07O_ADC0_DRV5) -#define PORT_PA07O_ADC0_DRV5 (_UL_(1) << 7) -#define PIN_PA08O_ADC0_DRV6 _L_(8) /**< \brief ADC0 signal: DRV6 on PA08 mux O */ -#define MUX_PA08O_ADC0_DRV6 _L_(14) -#define PINMUX_PA08O_ADC0_DRV6 ((PIN_PA08O_ADC0_DRV6 << 16) | MUX_PA08O_ADC0_DRV6) -#define PORT_PA08O_ADC0_DRV6 (_UL_(1) << 8) -#define PIN_PA09O_ADC0_DRV7 _L_(9) /**< \brief ADC0 signal: DRV7 on PA09 mux O */ -#define MUX_PA09O_ADC0_DRV7 _L_(14) -#define PINMUX_PA09O_ADC0_DRV7 ((PIN_PA09O_ADC0_DRV7 << 16) | MUX_PA09O_ADC0_DRV7) -#define PORT_PA09O_ADC0_DRV7 (_UL_(1) << 9) -#define PIN_PA10O_ADC0_DRV8 _L_(10) /**< \brief ADC0 signal: DRV8 on PA10 mux O */ -#define MUX_PA10O_ADC0_DRV8 _L_(14) -#define PINMUX_PA10O_ADC0_DRV8 ((PIN_PA10O_ADC0_DRV8 << 16) | MUX_PA10O_ADC0_DRV8) -#define PORT_PA10O_ADC0_DRV8 (_UL_(1) << 10) -#define PIN_PA11O_ADC0_DRV9 _L_(11) /**< \brief ADC0 signal: DRV9 on PA11 mux O */ -#define MUX_PA11O_ADC0_DRV9 _L_(14) -#define PINMUX_PA11O_ADC0_DRV9 ((PIN_PA11O_ADC0_DRV9 << 16) | MUX_PA11O_ADC0_DRV9) -#define PORT_PA11O_ADC0_DRV9 (_UL_(1) << 11) -#define PIN_PA16O_ADC0_DRV10 _L_(16) /**< \brief ADC0 signal: DRV10 on PA16 mux O */ -#define MUX_PA16O_ADC0_DRV10 _L_(14) -#define PINMUX_PA16O_ADC0_DRV10 ((PIN_PA16O_ADC0_DRV10 << 16) | MUX_PA16O_ADC0_DRV10) -#define PORT_PA16O_ADC0_DRV10 (_UL_(1) << 16) -#define PIN_PA17O_ADC0_DRV11 _L_(17) /**< \brief ADC0 signal: DRV11 on PA17 mux O */ -#define MUX_PA17O_ADC0_DRV11 _L_(14) -#define PINMUX_PA17O_ADC0_DRV11 ((PIN_PA17O_ADC0_DRV11 << 16) | MUX_PA17O_ADC0_DRV11) -#define PORT_PA17O_ADC0_DRV11 (_UL_(1) << 17) -#define PIN_PA18O_ADC0_DRV12 _L_(18) /**< \brief ADC0 signal: DRV12 on PA18 mux O */ -#define MUX_PA18O_ADC0_DRV12 _L_(14) -#define PINMUX_PA18O_ADC0_DRV12 ((PIN_PA18O_ADC0_DRV12 << 16) | MUX_PA18O_ADC0_DRV12) -#define PORT_PA18O_ADC0_DRV12 (_UL_(1) << 18) -#define PIN_PA19O_ADC0_DRV13 _L_(19) /**< \brief ADC0 signal: DRV13 on PA19 mux O */ -#define MUX_PA19O_ADC0_DRV13 _L_(14) -#define PINMUX_PA19O_ADC0_DRV13 ((PIN_PA19O_ADC0_DRV13 << 16) | MUX_PA19O_ADC0_DRV13) -#define PORT_PA19O_ADC0_DRV13 (_UL_(1) << 19) -#define PIN_PA20O_ADC0_DRV14 _L_(20) /**< \brief ADC0 signal: DRV14 on PA20 mux O */ -#define MUX_PA20O_ADC0_DRV14 _L_(14) -#define PINMUX_PA20O_ADC0_DRV14 ((PIN_PA20O_ADC0_DRV14 << 16) | MUX_PA20O_ADC0_DRV14) -#define PORT_PA20O_ADC0_DRV14 (_UL_(1) << 20) -#define PIN_PA21O_ADC0_DRV15 _L_(21) /**< \brief ADC0 signal: DRV15 on PA21 mux O */ -#define MUX_PA21O_ADC0_DRV15 _L_(14) -#define PINMUX_PA21O_ADC0_DRV15 ((PIN_PA21O_ADC0_DRV15 << 16) | MUX_PA21O_ADC0_DRV15) -#define PORT_PA21O_ADC0_DRV15 (_UL_(1) << 21) -#define PIN_PA22O_ADC0_DRV16 _L_(22) /**< \brief ADC0 signal: DRV16 on PA22 mux O */ -#define MUX_PA22O_ADC0_DRV16 _L_(14) -#define PINMUX_PA22O_ADC0_DRV16 ((PIN_PA22O_ADC0_DRV16 << 16) | MUX_PA22O_ADC0_DRV16) -#define PORT_PA22O_ADC0_DRV16 (_UL_(1) << 22) -#define PIN_PA23O_ADC0_DRV17 _L_(23) /**< \brief ADC0 signal: DRV17 on PA23 mux O */ -#define MUX_PA23O_ADC0_DRV17 _L_(14) -#define PINMUX_PA23O_ADC0_DRV17 ((PIN_PA23O_ADC0_DRV17 << 16) | MUX_PA23O_ADC0_DRV17) -#define PORT_PA23O_ADC0_DRV17 (_UL_(1) << 23) -#define PIN_PA27O_ADC0_DRV18 _L_(27) /**< \brief ADC0 signal: DRV18 on PA27 mux O */ -#define MUX_PA27O_ADC0_DRV18 _L_(14) -#define PINMUX_PA27O_ADC0_DRV18 ((PIN_PA27O_ADC0_DRV18 << 16) | MUX_PA27O_ADC0_DRV18) -#define PORT_PA27O_ADC0_DRV18 (_UL_(1) << 27) -#define PIN_PA30O_ADC0_DRV19 _L_(30) /**< \brief ADC0 signal: DRV19 on PA30 mux O */ -#define MUX_PA30O_ADC0_DRV19 _L_(14) -#define PINMUX_PA30O_ADC0_DRV19 ((PIN_PA30O_ADC0_DRV19 << 16) | MUX_PA30O_ADC0_DRV19) -#define PORT_PA30O_ADC0_DRV19 (_UL_(1) << 30) -#define PIN_PB02O_ADC0_DRV20 _L_(34) /**< \brief ADC0 signal: DRV20 on PB02 mux O */ -#define MUX_PB02O_ADC0_DRV20 _L_(14) -#define PINMUX_PB02O_ADC0_DRV20 ((PIN_PB02O_ADC0_DRV20 << 16) | MUX_PB02O_ADC0_DRV20) -#define PORT_PB02O_ADC0_DRV20 (_UL_(1) << 2) -#define PIN_PB03O_ADC0_DRV21 _L_(35) /**< \brief ADC0 signal: DRV21 on PB03 mux O */ -#define MUX_PB03O_ADC0_DRV21 _L_(14) -#define PINMUX_PB03O_ADC0_DRV21 ((PIN_PB03O_ADC0_DRV21 << 16) | MUX_PB03O_ADC0_DRV21) -#define PORT_PB03O_ADC0_DRV21 (_UL_(1) << 3) -#define PIN_PB04O_ADC0_DRV22 _L_(36) /**< \brief ADC0 signal: DRV22 on PB04 mux O */ -#define MUX_PB04O_ADC0_DRV22 _L_(14) -#define PINMUX_PB04O_ADC0_DRV22 ((PIN_PB04O_ADC0_DRV22 << 16) | MUX_PB04O_ADC0_DRV22) -#define PORT_PB04O_ADC0_DRV22 (_UL_(1) << 4) -#define PIN_PB05O_ADC0_DRV23 _L_(37) /**< \brief ADC0 signal: DRV23 on PB05 mux O */ -#define MUX_PB05O_ADC0_DRV23 _L_(14) -#define PINMUX_PB05O_ADC0_DRV23 ((PIN_PB05O_ADC0_DRV23 << 16) | MUX_PB05O_ADC0_DRV23) -#define PORT_PB05O_ADC0_DRV23 (_UL_(1) << 5) -#define PIN_PB06O_ADC0_DRV24 _L_(38) /**< \brief ADC0 signal: DRV24 on PB06 mux O */ -#define MUX_PB06O_ADC0_DRV24 _L_(14) -#define PINMUX_PB06O_ADC0_DRV24 ((PIN_PB06O_ADC0_DRV24 << 16) | MUX_PB06O_ADC0_DRV24) -#define PORT_PB06O_ADC0_DRV24 (_UL_(1) << 6) -#define PIN_PB07O_ADC0_DRV25 _L_(39) /**< \brief ADC0 signal: DRV25 on PB07 mux O */ -#define MUX_PB07O_ADC0_DRV25 _L_(14) -#define PINMUX_PB07O_ADC0_DRV25 ((PIN_PB07O_ADC0_DRV25 << 16) | MUX_PB07O_ADC0_DRV25) -#define PORT_PB07O_ADC0_DRV25 (_UL_(1) << 7) -#define PIN_PB12O_ADC0_DRV26 _L_(44) /**< \brief ADC0 signal: DRV26 on PB12 mux O */ -#define MUX_PB12O_ADC0_DRV26 _L_(14) -#define PINMUX_PB12O_ADC0_DRV26 ((PIN_PB12O_ADC0_DRV26 << 16) | MUX_PB12O_ADC0_DRV26) -#define PORT_PB12O_ADC0_DRV26 (_UL_(1) << 12) -#define PIN_PB13O_ADC0_DRV27 _L_(45) /**< \brief ADC0 signal: DRV27 on PB13 mux O */ -#define MUX_PB13O_ADC0_DRV27 _L_(14) -#define PINMUX_PB13O_ADC0_DRV27 ((PIN_PB13O_ADC0_DRV27 << 16) | MUX_PB13O_ADC0_DRV27) -#define PORT_PB13O_ADC0_DRV27 (_UL_(1) << 13) -#define PIN_PB14O_ADC0_DRV28 _L_(46) /**< \brief ADC0 signal: DRV28 on PB14 mux O */ -#define MUX_PB14O_ADC0_DRV28 _L_(14) -#define PINMUX_PB14O_ADC0_DRV28 ((PIN_PB14O_ADC0_DRV28 << 16) | MUX_PB14O_ADC0_DRV28) -#define PORT_PB14O_ADC0_DRV28 (_UL_(1) << 14) -#define PIN_PB15O_ADC0_DRV29 _L_(47) /**< \brief ADC0 signal: DRV29 on PB15 mux O */ -#define MUX_PB15O_ADC0_DRV29 _L_(14) -#define PINMUX_PB15O_ADC0_DRV29 ((PIN_PB15O_ADC0_DRV29 << 16) | MUX_PB15O_ADC0_DRV29) -#define PORT_PB15O_ADC0_DRV29 (_UL_(1) << 15) -#define PIN_PB00O_ADC0_DRV30 _L_(32) /**< \brief ADC0 signal: DRV30 on PB00 mux O */ -#define MUX_PB00O_ADC0_DRV30 _L_(14) -#define PINMUX_PB00O_ADC0_DRV30 ((PIN_PB00O_ADC0_DRV30 << 16) | MUX_PB00O_ADC0_DRV30) -#define PORT_PB00O_ADC0_DRV30 (_UL_(1) << 0) -#define PIN_PB01O_ADC0_DRV31 _L_(33) /**< \brief ADC0 signal: DRV31 on PB01 mux O */ -#define MUX_PB01O_ADC0_DRV31 _L_(14) -#define PINMUX_PB01O_ADC0_DRV31 ((PIN_PB01O_ADC0_DRV31 << 16) | MUX_PB01O_ADC0_DRV31) -#define PORT_PB01O_ADC0_DRV31 (_UL_(1) << 1) -#define PIN_PA03B_ADC0_PTCXY0 _L_(3) /**< \brief ADC0 signal: PTCXY0 on PA03 mux B */ -#define MUX_PA03B_ADC0_PTCXY0 _L_(1) -#define PINMUX_PA03B_ADC0_PTCXY0 ((PIN_PA03B_ADC0_PTCXY0 << 16) | MUX_PA03B_ADC0_PTCXY0) -#define PORT_PA03B_ADC0_PTCXY0 (_UL_(1) << 3) -#define PIN_PB08B_ADC0_PTCXY1 _L_(40) /**< \brief ADC0 signal: PTCXY1 on PB08 mux B */ -#define MUX_PB08B_ADC0_PTCXY1 _L_(1) -#define PINMUX_PB08B_ADC0_PTCXY1 ((PIN_PB08B_ADC0_PTCXY1 << 16) | MUX_PB08B_ADC0_PTCXY1) -#define PORT_PB08B_ADC0_PTCXY1 (_UL_(1) << 8) -#define PIN_PB09B_ADC0_PTCXY2 _L_(41) /**< \brief ADC0 signal: PTCXY2 on PB09 mux B */ -#define MUX_PB09B_ADC0_PTCXY2 _L_(1) -#define PINMUX_PB09B_ADC0_PTCXY2 ((PIN_PB09B_ADC0_PTCXY2 << 16) | MUX_PB09B_ADC0_PTCXY2) -#define PORT_PB09B_ADC0_PTCXY2 (_UL_(1) << 9) -#define PIN_PA04B_ADC0_PTCXY3 _L_(4) /**< \brief ADC0 signal: PTCXY3 on PA04 mux B */ -#define MUX_PA04B_ADC0_PTCXY3 _L_(1) -#define PINMUX_PA04B_ADC0_PTCXY3 ((PIN_PA04B_ADC0_PTCXY3 << 16) | MUX_PA04B_ADC0_PTCXY3) -#define PORT_PA04B_ADC0_PTCXY3 (_UL_(1) << 4) -#define PIN_PA06B_ADC0_PTCXY4 _L_(6) /**< \brief ADC0 signal: PTCXY4 on PA06 mux B */ -#define MUX_PA06B_ADC0_PTCXY4 _L_(1) -#define PINMUX_PA06B_ADC0_PTCXY4 ((PIN_PA06B_ADC0_PTCXY4 << 16) | MUX_PA06B_ADC0_PTCXY4) -#define PORT_PA06B_ADC0_PTCXY4 (_UL_(1) << 6) -#define PIN_PA07B_ADC0_PTCXY5 _L_(7) /**< \brief ADC0 signal: PTCXY5 on PA07 mux B */ -#define MUX_PA07B_ADC0_PTCXY5 _L_(1) -#define PINMUX_PA07B_ADC0_PTCXY5 ((PIN_PA07B_ADC0_PTCXY5 << 16) | MUX_PA07B_ADC0_PTCXY5) -#define PORT_PA07B_ADC0_PTCXY5 (_UL_(1) << 7) -#define PIN_PA08B_ADC0_PTCXY6 _L_(8) /**< \brief ADC0 signal: PTCXY6 on PA08 mux B */ -#define MUX_PA08B_ADC0_PTCXY6 _L_(1) -#define PINMUX_PA08B_ADC0_PTCXY6 ((PIN_PA08B_ADC0_PTCXY6 << 16) | MUX_PA08B_ADC0_PTCXY6) -#define PORT_PA08B_ADC0_PTCXY6 (_UL_(1) << 8) -#define PIN_PA09B_ADC0_PTCXY7 _L_(9) /**< \brief ADC0 signal: PTCXY7 on PA09 mux B */ -#define MUX_PA09B_ADC0_PTCXY7 _L_(1) -#define PINMUX_PA09B_ADC0_PTCXY7 ((PIN_PA09B_ADC0_PTCXY7 << 16) | MUX_PA09B_ADC0_PTCXY7) -#define PORT_PA09B_ADC0_PTCXY7 (_UL_(1) << 9) -#define PIN_PA10B_ADC0_PTCXY8 _L_(10) /**< \brief ADC0 signal: PTCXY8 on PA10 mux B */ -#define MUX_PA10B_ADC0_PTCXY8 _L_(1) -#define PINMUX_PA10B_ADC0_PTCXY8 ((PIN_PA10B_ADC0_PTCXY8 << 16) | MUX_PA10B_ADC0_PTCXY8) -#define PORT_PA10B_ADC0_PTCXY8 (_UL_(1) << 10) -#define PIN_PA11B_ADC0_PTCXY9 _L_(11) /**< \brief ADC0 signal: PTCXY9 on PA11 mux B */ -#define MUX_PA11B_ADC0_PTCXY9 _L_(1) -#define PINMUX_PA11B_ADC0_PTCXY9 ((PIN_PA11B_ADC0_PTCXY9 << 16) | MUX_PA11B_ADC0_PTCXY9) -#define PORT_PA11B_ADC0_PTCXY9 (_UL_(1) << 11) -#define PIN_PA16B_ADC0_PTCXY10 _L_(16) /**< \brief ADC0 signal: PTCXY10 on PA16 mux B */ -#define MUX_PA16B_ADC0_PTCXY10 _L_(1) -#define PINMUX_PA16B_ADC0_PTCXY10 ((PIN_PA16B_ADC0_PTCXY10 << 16) | MUX_PA16B_ADC0_PTCXY10) -#define PORT_PA16B_ADC0_PTCXY10 (_UL_(1) << 16) -#define PIN_PA17B_ADC0_PTCXY11 _L_(17) /**< \brief ADC0 signal: PTCXY11 on PA17 mux B */ -#define MUX_PA17B_ADC0_PTCXY11 _L_(1) -#define PINMUX_PA17B_ADC0_PTCXY11 ((PIN_PA17B_ADC0_PTCXY11 << 16) | MUX_PA17B_ADC0_PTCXY11) -#define PORT_PA17B_ADC0_PTCXY11 (_UL_(1) << 17) -#define PIN_PA18B_ADC0_PTCXY12 _L_(18) /**< \brief ADC0 signal: PTCXY12 on PA18 mux B */ -#define MUX_PA18B_ADC0_PTCXY12 _L_(1) -#define PINMUX_PA18B_ADC0_PTCXY12 ((PIN_PA18B_ADC0_PTCXY12 << 16) | MUX_PA18B_ADC0_PTCXY12) -#define PORT_PA18B_ADC0_PTCXY12 (_UL_(1) << 18) -#define PIN_PA19B_ADC0_PTCXY13 _L_(19) /**< \brief ADC0 signal: PTCXY13 on PA19 mux B */ -#define MUX_PA19B_ADC0_PTCXY13 _L_(1) -#define PINMUX_PA19B_ADC0_PTCXY13 ((PIN_PA19B_ADC0_PTCXY13 << 16) | MUX_PA19B_ADC0_PTCXY13) -#define PORT_PA19B_ADC0_PTCXY13 (_UL_(1) << 19) -#define PIN_PA20B_ADC0_PTCXY14 _L_(20) /**< \brief ADC0 signal: PTCXY14 on PA20 mux B */ -#define MUX_PA20B_ADC0_PTCXY14 _L_(1) -#define PINMUX_PA20B_ADC0_PTCXY14 ((PIN_PA20B_ADC0_PTCXY14 << 16) | MUX_PA20B_ADC0_PTCXY14) -#define PORT_PA20B_ADC0_PTCXY14 (_UL_(1) << 20) -#define PIN_PA21B_ADC0_PTCXY15 _L_(21) /**< \brief ADC0 signal: PTCXY15 on PA21 mux B */ -#define MUX_PA21B_ADC0_PTCXY15 _L_(1) -#define PINMUX_PA21B_ADC0_PTCXY15 ((PIN_PA21B_ADC0_PTCXY15 << 16) | MUX_PA21B_ADC0_PTCXY15) -#define PORT_PA21B_ADC0_PTCXY15 (_UL_(1) << 21) -#define PIN_PA22B_ADC0_PTCXY16 _L_(22) /**< \brief ADC0 signal: PTCXY16 on PA22 mux B */ -#define MUX_PA22B_ADC0_PTCXY16 _L_(1) -#define PINMUX_PA22B_ADC0_PTCXY16 ((PIN_PA22B_ADC0_PTCXY16 << 16) | MUX_PA22B_ADC0_PTCXY16) -#define PORT_PA22B_ADC0_PTCXY16 (_UL_(1) << 22) -#define PIN_PA23B_ADC0_PTCXY17 _L_(23) /**< \brief ADC0 signal: PTCXY17 on PA23 mux B */ -#define MUX_PA23B_ADC0_PTCXY17 _L_(1) -#define PINMUX_PA23B_ADC0_PTCXY17 ((PIN_PA23B_ADC0_PTCXY17 << 16) | MUX_PA23B_ADC0_PTCXY17) -#define PORT_PA23B_ADC0_PTCXY17 (_UL_(1) << 23) -#define PIN_PA27B_ADC0_PTCXY18 _L_(27) /**< \brief ADC0 signal: PTCXY18 on PA27 mux B */ -#define MUX_PA27B_ADC0_PTCXY18 _L_(1) -#define PINMUX_PA27B_ADC0_PTCXY18 ((PIN_PA27B_ADC0_PTCXY18 << 16) | MUX_PA27B_ADC0_PTCXY18) -#define PORT_PA27B_ADC0_PTCXY18 (_UL_(1) << 27) -#define PIN_PA30B_ADC0_PTCXY19 _L_(30) /**< \brief ADC0 signal: PTCXY19 on PA30 mux B */ -#define MUX_PA30B_ADC0_PTCXY19 _L_(1) -#define PINMUX_PA30B_ADC0_PTCXY19 ((PIN_PA30B_ADC0_PTCXY19 << 16) | MUX_PA30B_ADC0_PTCXY19) -#define PORT_PA30B_ADC0_PTCXY19 (_UL_(1) << 30) -#define PIN_PB02B_ADC0_PTCXY20 _L_(34) /**< \brief ADC0 signal: PTCXY20 on PB02 mux B */ -#define MUX_PB02B_ADC0_PTCXY20 _L_(1) -#define PINMUX_PB02B_ADC0_PTCXY20 ((PIN_PB02B_ADC0_PTCXY20 << 16) | MUX_PB02B_ADC0_PTCXY20) -#define PORT_PB02B_ADC0_PTCXY20 (_UL_(1) << 2) -#define PIN_PB03B_ADC0_PTCXY21 _L_(35) /**< \brief ADC0 signal: PTCXY21 on PB03 mux B */ -#define MUX_PB03B_ADC0_PTCXY21 _L_(1) -#define PINMUX_PB03B_ADC0_PTCXY21 ((PIN_PB03B_ADC0_PTCXY21 << 16) | MUX_PB03B_ADC0_PTCXY21) -#define PORT_PB03B_ADC0_PTCXY21 (_UL_(1) << 3) -#define PIN_PB04B_ADC0_PTCXY22 _L_(36) /**< \brief ADC0 signal: PTCXY22 on PB04 mux B */ -#define MUX_PB04B_ADC0_PTCXY22 _L_(1) -#define PINMUX_PB04B_ADC0_PTCXY22 ((PIN_PB04B_ADC0_PTCXY22 << 16) | MUX_PB04B_ADC0_PTCXY22) -#define PORT_PB04B_ADC0_PTCXY22 (_UL_(1) << 4) -#define PIN_PB05B_ADC0_PTCXY23 _L_(37) /**< \brief ADC0 signal: PTCXY23 on PB05 mux B */ -#define MUX_PB05B_ADC0_PTCXY23 _L_(1) -#define PINMUX_PB05B_ADC0_PTCXY23 ((PIN_PB05B_ADC0_PTCXY23 << 16) | MUX_PB05B_ADC0_PTCXY23) -#define PORT_PB05B_ADC0_PTCXY23 (_UL_(1) << 5) -#define PIN_PB06B_ADC0_PTCXY24 _L_(38) /**< \brief ADC0 signal: PTCXY24 on PB06 mux B */ -#define MUX_PB06B_ADC0_PTCXY24 _L_(1) -#define PINMUX_PB06B_ADC0_PTCXY24 ((PIN_PB06B_ADC0_PTCXY24 << 16) | MUX_PB06B_ADC0_PTCXY24) -#define PORT_PB06B_ADC0_PTCXY24 (_UL_(1) << 6) -#define PIN_PB07B_ADC0_PTCXY25 _L_(39) /**< \brief ADC0 signal: PTCXY25 on PB07 mux B */ -#define MUX_PB07B_ADC0_PTCXY25 _L_(1) -#define PINMUX_PB07B_ADC0_PTCXY25 ((PIN_PB07B_ADC0_PTCXY25 << 16) | MUX_PB07B_ADC0_PTCXY25) -#define PORT_PB07B_ADC0_PTCXY25 (_UL_(1) << 7) -#define PIN_PB12B_ADC0_PTCXY26 _L_(44) /**< \brief ADC0 signal: PTCXY26 on PB12 mux B */ -#define MUX_PB12B_ADC0_PTCXY26 _L_(1) -#define PINMUX_PB12B_ADC0_PTCXY26 ((PIN_PB12B_ADC0_PTCXY26 << 16) | MUX_PB12B_ADC0_PTCXY26) -#define PORT_PB12B_ADC0_PTCXY26 (_UL_(1) << 12) -#define PIN_PB13B_ADC0_PTCXY27 _L_(45) /**< \brief ADC0 signal: PTCXY27 on PB13 mux B */ -#define MUX_PB13B_ADC0_PTCXY27 _L_(1) -#define PINMUX_PB13B_ADC0_PTCXY27 ((PIN_PB13B_ADC0_PTCXY27 << 16) | MUX_PB13B_ADC0_PTCXY27) -#define PORT_PB13B_ADC0_PTCXY27 (_UL_(1) << 13) -#define PIN_PB14B_ADC0_PTCXY28 _L_(46) /**< \brief ADC0 signal: PTCXY28 on PB14 mux B */ -#define MUX_PB14B_ADC0_PTCXY28 _L_(1) -#define PINMUX_PB14B_ADC0_PTCXY28 ((PIN_PB14B_ADC0_PTCXY28 << 16) | MUX_PB14B_ADC0_PTCXY28) -#define PORT_PB14B_ADC0_PTCXY28 (_UL_(1) << 14) -#define PIN_PB15B_ADC0_PTCXY29 _L_(47) /**< \brief ADC0 signal: PTCXY29 on PB15 mux B */ -#define MUX_PB15B_ADC0_PTCXY29 _L_(1) -#define PINMUX_PB15B_ADC0_PTCXY29 ((PIN_PB15B_ADC0_PTCXY29 << 16) | MUX_PB15B_ADC0_PTCXY29) -#define PORT_PB15B_ADC0_PTCXY29 (_UL_(1) << 15) -#define PIN_PB00B_ADC0_PTCXY30 _L_(32) /**< \brief ADC0 signal: PTCXY30 on PB00 mux B */ -#define MUX_PB00B_ADC0_PTCXY30 _L_(1) -#define PINMUX_PB00B_ADC0_PTCXY30 ((PIN_PB00B_ADC0_PTCXY30 << 16) | MUX_PB00B_ADC0_PTCXY30) -#define PORT_PB00B_ADC0_PTCXY30 (_UL_(1) << 0) -#define PIN_PB01B_ADC0_PTCXY31 _L_(33) /**< \brief ADC0 signal: PTCXY31 on PB01 mux B */ -#define MUX_PB01B_ADC0_PTCXY31 _L_(1) -#define PINMUX_PB01B_ADC0_PTCXY31 ((PIN_PB01B_ADC0_PTCXY31 << 16) | MUX_PB01B_ADC0_PTCXY31) -#define PORT_PB01B_ADC0_PTCXY31 (_UL_(1) << 1) -/* ========== PORT definition for ADC1 peripheral ========== */ -#define PIN_PB08B_ADC1_AIN0 _L_(40) /**< \brief ADC1 signal: AIN0 on PB08 mux B */ -#define MUX_PB08B_ADC1_AIN0 _L_(1) -#define PINMUX_PB08B_ADC1_AIN0 ((PIN_PB08B_ADC1_AIN0 << 16) | MUX_PB08B_ADC1_AIN0) -#define PORT_PB08B_ADC1_AIN0 (_UL_(1) << 8) -#define PIN_PB09B_ADC1_AIN1 _L_(41) /**< \brief ADC1 signal: AIN1 on PB09 mux B */ -#define MUX_PB09B_ADC1_AIN1 _L_(1) -#define PINMUX_PB09B_ADC1_AIN1 ((PIN_PB09B_ADC1_AIN1 << 16) | MUX_PB09B_ADC1_AIN1) -#define PORT_PB09B_ADC1_AIN1 (_UL_(1) << 9) -#define PIN_PA08B_ADC1_AIN2 _L_(8) /**< \brief ADC1 signal: AIN2 on PA08 mux B */ -#define MUX_PA08B_ADC1_AIN2 _L_(1) -#define PINMUX_PA08B_ADC1_AIN2 ((PIN_PA08B_ADC1_AIN2 << 16) | MUX_PA08B_ADC1_AIN2) -#define PORT_PA08B_ADC1_AIN2 (_UL_(1) << 8) -#define PIN_PA09B_ADC1_AIN3 _L_(9) /**< \brief ADC1 signal: AIN3 on PA09 mux B */ -#define MUX_PA09B_ADC1_AIN3 _L_(1) -#define PINMUX_PA09B_ADC1_AIN3 ((PIN_PA09B_ADC1_AIN3 << 16) | MUX_PA09B_ADC1_AIN3) -#define PORT_PA09B_ADC1_AIN3 (_UL_(1) << 9) -#define PIN_PC02B_ADC1_AIN4 _L_(66) /**< \brief ADC1 signal: AIN4 on PC02 mux B */ -#define MUX_PC02B_ADC1_AIN4 _L_(1) -#define PINMUX_PC02B_ADC1_AIN4 ((PIN_PC02B_ADC1_AIN4 << 16) | MUX_PC02B_ADC1_AIN4) -#define PORT_PC02B_ADC1_AIN4 (_UL_(1) << 2) -#define PIN_PC03B_ADC1_AIN5 _L_(67) /**< \brief ADC1 signal: AIN5 on PC03 mux B */ -#define MUX_PC03B_ADC1_AIN5 _L_(1) -#define PINMUX_PC03B_ADC1_AIN5 ((PIN_PC03B_ADC1_AIN5 << 16) | MUX_PC03B_ADC1_AIN5) -#define PORT_PC03B_ADC1_AIN5 (_UL_(1) << 3) -#define PIN_PB04B_ADC1_AIN6 _L_(36) /**< \brief ADC1 signal: AIN6 on PB04 mux B */ -#define MUX_PB04B_ADC1_AIN6 _L_(1) -#define PINMUX_PB04B_ADC1_AIN6 ((PIN_PB04B_ADC1_AIN6 << 16) | MUX_PB04B_ADC1_AIN6) -#define PORT_PB04B_ADC1_AIN6 (_UL_(1) << 4) -#define PIN_PB05B_ADC1_AIN7 _L_(37) /**< \brief ADC1 signal: AIN7 on PB05 mux B */ -#define MUX_PB05B_ADC1_AIN7 _L_(1) -#define PINMUX_PB05B_ADC1_AIN7 ((PIN_PB05B_ADC1_AIN7 << 16) | MUX_PB05B_ADC1_AIN7) -#define PORT_PB05B_ADC1_AIN7 (_UL_(1) << 5) -#define PIN_PB06B_ADC1_AIN8 _L_(38) /**< \brief ADC1 signal: AIN8 on PB06 mux B */ -#define MUX_PB06B_ADC1_AIN8 _L_(1) -#define PINMUX_PB06B_ADC1_AIN8 ((PIN_PB06B_ADC1_AIN8 << 16) | MUX_PB06B_ADC1_AIN8) -#define PORT_PB06B_ADC1_AIN8 (_UL_(1) << 6) -#define PIN_PB07B_ADC1_AIN9 _L_(39) /**< \brief ADC1 signal: AIN9 on PB07 mux B */ -#define MUX_PB07B_ADC1_AIN9 _L_(1) -#define PINMUX_PB07B_ADC1_AIN9 ((PIN_PB07B_ADC1_AIN9 << 16) | MUX_PB07B_ADC1_AIN9) -#define PORT_PB07B_ADC1_AIN9 (_UL_(1) << 7) -#define PIN_PC00B_ADC1_AIN10 _L_(64) /**< \brief ADC1 signal: AIN10 on PC00 mux B */ -#define MUX_PC00B_ADC1_AIN10 _L_(1) -#define PINMUX_PC00B_ADC1_AIN10 ((PIN_PC00B_ADC1_AIN10 << 16) | MUX_PC00B_ADC1_AIN10) -#define PORT_PC00B_ADC1_AIN10 (_UL_(1) << 0) -#define PIN_PC01B_ADC1_AIN11 _L_(65) /**< \brief ADC1 signal: AIN11 on PC01 mux B */ -#define MUX_PC01B_ADC1_AIN11 _L_(1) -#define PINMUX_PC01B_ADC1_AIN11 ((PIN_PC01B_ADC1_AIN11 << 16) | MUX_PC01B_ADC1_AIN11) -#define PORT_PC01B_ADC1_AIN11 (_UL_(1) << 1) -/* ========== PORT definition for DAC peripheral ========== */ -#define PIN_PA02B_DAC_VOUT0 _L_(2) /**< \brief DAC signal: VOUT0 on PA02 mux B */ -#define MUX_PA02B_DAC_VOUT0 _L_(1) -#define PINMUX_PA02B_DAC_VOUT0 ((PIN_PA02B_DAC_VOUT0 << 16) | MUX_PA02B_DAC_VOUT0) -#define PORT_PA02B_DAC_VOUT0 (_UL_(1) << 2) -#define PIN_PA05B_DAC_VOUT1 _L_(5) /**< \brief DAC signal: VOUT1 on PA05 mux B */ -#define MUX_PA05B_DAC_VOUT1 _L_(1) -#define PINMUX_PA05B_DAC_VOUT1 ((PIN_PA05B_DAC_VOUT1 << 16) | MUX_PA05B_DAC_VOUT1) -#define PORT_PA05B_DAC_VOUT1 (_UL_(1) << 5) -/* ========== PORT definition for I2S peripheral ========== */ -#define PIN_PA09J_I2S_FS0 _L_(9) /**< \brief I2S signal: FS0 on PA09 mux J */ -#define MUX_PA09J_I2S_FS0 _L_(9) -#define PINMUX_PA09J_I2S_FS0 ((PIN_PA09J_I2S_FS0 << 16) | MUX_PA09J_I2S_FS0) -#define PORT_PA09J_I2S_FS0 (_UL_(1) << 9) -#define PIN_PA20J_I2S_FS0 _L_(20) /**< \brief I2S signal: FS0 on PA20 mux J */ -#define MUX_PA20J_I2S_FS0 _L_(9) -#define PINMUX_PA20J_I2S_FS0 ((PIN_PA20J_I2S_FS0 << 16) | MUX_PA20J_I2S_FS0) -#define PORT_PA20J_I2S_FS0 (_UL_(1) << 20) -#define PIN_PA23J_I2S_FS1 _L_(23) /**< \brief I2S signal: FS1 on PA23 mux J */ -#define MUX_PA23J_I2S_FS1 _L_(9) -#define PINMUX_PA23J_I2S_FS1 ((PIN_PA23J_I2S_FS1 << 16) | MUX_PA23J_I2S_FS1) -#define PORT_PA23J_I2S_FS1 (_UL_(1) << 23) -#define PIN_PB11J_I2S_FS1 _L_(43) /**< \brief I2S signal: FS1 on PB11 mux J */ -#define MUX_PB11J_I2S_FS1 _L_(9) -#define PINMUX_PB11J_I2S_FS1 ((PIN_PB11J_I2S_FS1 << 16) | MUX_PB11J_I2S_FS1) -#define PORT_PB11J_I2S_FS1 (_UL_(1) << 11) -#define PIN_PA08J_I2S_MCK0 _L_(8) /**< \brief I2S signal: MCK0 on PA08 mux J */ -#define MUX_PA08J_I2S_MCK0 _L_(9) -#define PINMUX_PA08J_I2S_MCK0 ((PIN_PA08J_I2S_MCK0 << 16) | MUX_PA08J_I2S_MCK0) -#define PORT_PA08J_I2S_MCK0 (_UL_(1) << 8) -#define PIN_PB17J_I2S_MCK0 _L_(49) /**< \brief I2S signal: MCK0 on PB17 mux J */ -#define MUX_PB17J_I2S_MCK0 _L_(9) -#define PINMUX_PB17J_I2S_MCK0 ((PIN_PB17J_I2S_MCK0 << 16) | MUX_PB17J_I2S_MCK0) -#define PORT_PB17J_I2S_MCK0 (_UL_(1) << 17) -#define PIN_PB13J_I2S_MCK1 _L_(45) /**< \brief I2S signal: MCK1 on PB13 mux J */ -#define MUX_PB13J_I2S_MCK1 _L_(9) -#define PINMUX_PB13J_I2S_MCK1 ((PIN_PB13J_I2S_MCK1 << 16) | MUX_PB13J_I2S_MCK1) -#define PORT_PB13J_I2S_MCK1 (_UL_(1) << 13) -#define PIN_PA10J_I2S_SCK0 _L_(10) /**< \brief I2S signal: SCK0 on PA10 mux J */ -#define MUX_PA10J_I2S_SCK0 _L_(9) -#define PINMUX_PA10J_I2S_SCK0 ((PIN_PA10J_I2S_SCK0 << 16) | MUX_PA10J_I2S_SCK0) -#define PORT_PA10J_I2S_SCK0 (_UL_(1) << 10) -#define PIN_PB16J_I2S_SCK0 _L_(48) /**< \brief I2S signal: SCK0 on PB16 mux J */ -#define MUX_PB16J_I2S_SCK0 _L_(9) -#define PINMUX_PB16J_I2S_SCK0 ((PIN_PB16J_I2S_SCK0 << 16) | MUX_PB16J_I2S_SCK0) -#define PORT_PB16J_I2S_SCK0 (_UL_(1) << 16) -#define PIN_PB12J_I2S_SCK1 _L_(44) /**< \brief I2S signal: SCK1 on PB12 mux J */ -#define MUX_PB12J_I2S_SCK1 _L_(9) -#define PINMUX_PB12J_I2S_SCK1 ((PIN_PB12J_I2S_SCK1 << 16) | MUX_PB12J_I2S_SCK1) -#define PORT_PB12J_I2S_SCK1 (_UL_(1) << 12) -#define PIN_PA22J_I2S_SDI _L_(22) /**< \brief I2S signal: SDI on PA22 mux J */ -#define MUX_PA22J_I2S_SDI _L_(9) -#define PINMUX_PA22J_I2S_SDI ((PIN_PA22J_I2S_SDI << 16) | MUX_PA22J_I2S_SDI) -#define PORT_PA22J_I2S_SDI (_UL_(1) << 22) -#define PIN_PB10J_I2S_SDI _L_(42) /**< \brief I2S signal: SDI on PB10 mux J */ -#define MUX_PB10J_I2S_SDI _L_(9) -#define PINMUX_PB10J_I2S_SDI ((PIN_PB10J_I2S_SDI << 16) | MUX_PB10J_I2S_SDI) -#define PORT_PB10J_I2S_SDI (_UL_(1) << 10) -#define PIN_PA11J_I2S_SDO _L_(11) /**< \brief I2S signal: SDO on PA11 mux J */ -#define MUX_PA11J_I2S_SDO _L_(9) -#define PINMUX_PA11J_I2S_SDO ((PIN_PA11J_I2S_SDO << 16) | MUX_PA11J_I2S_SDO) -#define PORT_PA11J_I2S_SDO (_UL_(1) << 11) -#define PIN_PA21J_I2S_SDO _L_(21) /**< \brief I2S signal: SDO on PA21 mux J */ -#define MUX_PA21J_I2S_SDO _L_(9) -#define PINMUX_PA21J_I2S_SDO ((PIN_PA21J_I2S_SDO << 16) | MUX_PA21J_I2S_SDO) -#define PORT_PA21J_I2S_SDO (_UL_(1) << 21) -/* ========== PORT definition for PCC peripheral ========== */ -#define PIN_PA14K_PCC_CLK _L_(14) /**< \brief PCC signal: CLK on PA14 mux K */ -#define MUX_PA14K_PCC_CLK _L_(10) -#define PINMUX_PA14K_PCC_CLK ((PIN_PA14K_PCC_CLK << 16) | MUX_PA14K_PCC_CLK) -#define PORT_PA14K_PCC_CLK (_UL_(1) << 14) -#define PIN_PA16K_PCC_DATA0 _L_(16) /**< \brief PCC signal: DATA0 on PA16 mux K */ -#define MUX_PA16K_PCC_DATA0 _L_(10) -#define PINMUX_PA16K_PCC_DATA0 ((PIN_PA16K_PCC_DATA0 << 16) | MUX_PA16K_PCC_DATA0) -#define PORT_PA16K_PCC_DATA0 (_UL_(1) << 16) -#define PIN_PA17K_PCC_DATA1 _L_(17) /**< \brief PCC signal: DATA1 on PA17 mux K */ -#define MUX_PA17K_PCC_DATA1 _L_(10) -#define PINMUX_PA17K_PCC_DATA1 ((PIN_PA17K_PCC_DATA1 << 16) | MUX_PA17K_PCC_DATA1) -#define PORT_PA17K_PCC_DATA1 (_UL_(1) << 17) -#define PIN_PA18K_PCC_DATA2 _L_(18) /**< \brief PCC signal: DATA2 on PA18 mux K */ -#define MUX_PA18K_PCC_DATA2 _L_(10) -#define PINMUX_PA18K_PCC_DATA2 ((PIN_PA18K_PCC_DATA2 << 16) | MUX_PA18K_PCC_DATA2) -#define PORT_PA18K_PCC_DATA2 (_UL_(1) << 18) -#define PIN_PA19K_PCC_DATA3 _L_(19) /**< \brief PCC signal: DATA3 on PA19 mux K */ -#define MUX_PA19K_PCC_DATA3 _L_(10) -#define PINMUX_PA19K_PCC_DATA3 ((PIN_PA19K_PCC_DATA3 << 16) | MUX_PA19K_PCC_DATA3) -#define PORT_PA19K_PCC_DATA3 (_UL_(1) << 19) -#define PIN_PA20K_PCC_DATA4 _L_(20) /**< \brief PCC signal: DATA4 on PA20 mux K */ -#define MUX_PA20K_PCC_DATA4 _L_(10) -#define PINMUX_PA20K_PCC_DATA4 ((PIN_PA20K_PCC_DATA4 << 16) | MUX_PA20K_PCC_DATA4) -#define PORT_PA20K_PCC_DATA4 (_UL_(1) << 20) -#define PIN_PA21K_PCC_DATA5 _L_(21) /**< \brief PCC signal: DATA5 on PA21 mux K */ -#define MUX_PA21K_PCC_DATA5 _L_(10) -#define PINMUX_PA21K_PCC_DATA5 ((PIN_PA21K_PCC_DATA5 << 16) | MUX_PA21K_PCC_DATA5) -#define PORT_PA21K_PCC_DATA5 (_UL_(1) << 21) -#define PIN_PA22K_PCC_DATA6 _L_(22) /**< \brief PCC signal: DATA6 on PA22 mux K */ -#define MUX_PA22K_PCC_DATA6 _L_(10) -#define PINMUX_PA22K_PCC_DATA6 ((PIN_PA22K_PCC_DATA6 << 16) | MUX_PA22K_PCC_DATA6) -#define PORT_PA22K_PCC_DATA6 (_UL_(1) << 22) -#define PIN_PA23K_PCC_DATA7 _L_(23) /**< \brief PCC signal: DATA7 on PA23 mux K */ -#define MUX_PA23K_PCC_DATA7 _L_(10) -#define PINMUX_PA23K_PCC_DATA7 ((PIN_PA23K_PCC_DATA7 << 16) | MUX_PA23K_PCC_DATA7) -#define PORT_PA23K_PCC_DATA7 (_UL_(1) << 23) -#define PIN_PB14K_PCC_DATA8 _L_(46) /**< \brief PCC signal: DATA8 on PB14 mux K */ -#define MUX_PB14K_PCC_DATA8 _L_(10) -#define PINMUX_PB14K_PCC_DATA8 ((PIN_PB14K_PCC_DATA8 << 16) | MUX_PB14K_PCC_DATA8) -#define PORT_PB14K_PCC_DATA8 (_UL_(1) << 14) -#define PIN_PB15K_PCC_DATA9 _L_(47) /**< \brief PCC signal: DATA9 on PB15 mux K */ -#define MUX_PB15K_PCC_DATA9 _L_(10) -#define PINMUX_PB15K_PCC_DATA9 ((PIN_PB15K_PCC_DATA9 << 16) | MUX_PB15K_PCC_DATA9) -#define PORT_PB15K_PCC_DATA9 (_UL_(1) << 15) -#define PIN_PC12K_PCC_DATA10 _L_(76) /**< \brief PCC signal: DATA10 on PC12 mux K */ -#define MUX_PC12K_PCC_DATA10 _L_(10) -#define PINMUX_PC12K_PCC_DATA10 ((PIN_PC12K_PCC_DATA10 << 16) | MUX_PC12K_PCC_DATA10) -#define PORT_PC12K_PCC_DATA10 (_UL_(1) << 12) -#define PIN_PC13K_PCC_DATA11 _L_(77) /**< \brief PCC signal: DATA11 on PC13 mux K */ -#define MUX_PC13K_PCC_DATA11 _L_(10) -#define PINMUX_PC13K_PCC_DATA11 ((PIN_PC13K_PCC_DATA11 << 16) | MUX_PC13K_PCC_DATA11) -#define PORT_PC13K_PCC_DATA11 (_UL_(1) << 13) -#define PIN_PC14K_PCC_DATA12 _L_(78) /**< \brief PCC signal: DATA12 on PC14 mux K */ -#define MUX_PC14K_PCC_DATA12 _L_(10) -#define PINMUX_PC14K_PCC_DATA12 ((PIN_PC14K_PCC_DATA12 << 16) | MUX_PC14K_PCC_DATA12) -#define PORT_PC14K_PCC_DATA12 (_UL_(1) << 14) -#define PIN_PC15K_PCC_DATA13 _L_(79) /**< \brief PCC signal: DATA13 on PC15 mux K */ -#define MUX_PC15K_PCC_DATA13 _L_(10) -#define PINMUX_PC15K_PCC_DATA13 ((PIN_PC15K_PCC_DATA13 << 16) | MUX_PC15K_PCC_DATA13) -#define PORT_PC15K_PCC_DATA13 (_UL_(1) << 15) -#define PIN_PA12K_PCC_DEN1 _L_(12) /**< \brief PCC signal: DEN1 on PA12 mux K */ -#define MUX_PA12K_PCC_DEN1 _L_(10) -#define PINMUX_PA12K_PCC_DEN1 ((PIN_PA12K_PCC_DEN1 << 16) | MUX_PA12K_PCC_DEN1) -#define PORT_PA12K_PCC_DEN1 (_UL_(1) << 12) -#define PIN_PA13K_PCC_DEN2 _L_(13) /**< \brief PCC signal: DEN2 on PA13 mux K */ -#define MUX_PA13K_PCC_DEN2 _L_(10) -#define PINMUX_PA13K_PCC_DEN2 ((PIN_PA13K_PCC_DEN2 << 16) | MUX_PA13K_PCC_DEN2) -#define PORT_PA13K_PCC_DEN2 (_UL_(1) << 13) -/* ========== PORT definition for SDHC0 peripheral ========== */ -#define PIN_PA06I_SDHC0_SDCD _L_(6) /**< \brief SDHC0 signal: SDCD on PA06 mux I */ -#define MUX_PA06I_SDHC0_SDCD _L_(8) -#define PINMUX_PA06I_SDHC0_SDCD ((PIN_PA06I_SDHC0_SDCD << 16) | MUX_PA06I_SDHC0_SDCD) -#define PORT_PA06I_SDHC0_SDCD (_UL_(1) << 6) -#define PIN_PA12I_SDHC0_SDCD _L_(12) /**< \brief SDHC0 signal: SDCD on PA12 mux I */ -#define MUX_PA12I_SDHC0_SDCD _L_(8) -#define PINMUX_PA12I_SDHC0_SDCD ((PIN_PA12I_SDHC0_SDCD << 16) | MUX_PA12I_SDHC0_SDCD) -#define PORT_PA12I_SDHC0_SDCD (_UL_(1) << 12) -#define PIN_PB12I_SDHC0_SDCD _L_(44) /**< \brief SDHC0 signal: SDCD on PB12 mux I */ -#define MUX_PB12I_SDHC0_SDCD _L_(8) -#define PINMUX_PB12I_SDHC0_SDCD ((PIN_PB12I_SDHC0_SDCD << 16) | MUX_PB12I_SDHC0_SDCD) -#define PORT_PB12I_SDHC0_SDCD (_UL_(1) << 12) -#define PIN_PC06I_SDHC0_SDCD _L_(70) /**< \brief SDHC0 signal: SDCD on PC06 mux I */ -#define MUX_PC06I_SDHC0_SDCD _L_(8) -#define PINMUX_PC06I_SDHC0_SDCD ((PIN_PC06I_SDHC0_SDCD << 16) | MUX_PC06I_SDHC0_SDCD) -#define PORT_PC06I_SDHC0_SDCD (_UL_(1) << 6) -#define PIN_PB11I_SDHC0_SDCK _L_(43) /**< \brief SDHC0 signal: SDCK on PB11 mux I */ -#define MUX_PB11I_SDHC0_SDCK _L_(8) -#define PINMUX_PB11I_SDHC0_SDCK ((PIN_PB11I_SDHC0_SDCK << 16) | MUX_PB11I_SDHC0_SDCK) -#define PORT_PB11I_SDHC0_SDCK (_UL_(1) << 11) -#define PIN_PA08I_SDHC0_SDCMD _L_(8) /**< \brief SDHC0 signal: SDCMD on PA08 mux I */ -#define MUX_PA08I_SDHC0_SDCMD _L_(8) -#define PINMUX_PA08I_SDHC0_SDCMD ((PIN_PA08I_SDHC0_SDCMD << 16) | MUX_PA08I_SDHC0_SDCMD) -#define PORT_PA08I_SDHC0_SDCMD (_UL_(1) << 8) -#define PIN_PA09I_SDHC0_SDDAT0 _L_(9) /**< \brief SDHC0 signal: SDDAT0 on PA09 mux I */ -#define MUX_PA09I_SDHC0_SDDAT0 _L_(8) -#define PINMUX_PA09I_SDHC0_SDDAT0 ((PIN_PA09I_SDHC0_SDDAT0 << 16) | MUX_PA09I_SDHC0_SDDAT0) -#define PORT_PA09I_SDHC0_SDDAT0 (_UL_(1) << 9) -#define PIN_PA10I_SDHC0_SDDAT1 _L_(10) /**< \brief SDHC0 signal: SDDAT1 on PA10 mux I */ -#define MUX_PA10I_SDHC0_SDDAT1 _L_(8) -#define PINMUX_PA10I_SDHC0_SDDAT1 ((PIN_PA10I_SDHC0_SDDAT1 << 16) | MUX_PA10I_SDHC0_SDDAT1) -#define PORT_PA10I_SDHC0_SDDAT1 (_UL_(1) << 10) -#define PIN_PA11I_SDHC0_SDDAT2 _L_(11) /**< \brief SDHC0 signal: SDDAT2 on PA11 mux I */ -#define MUX_PA11I_SDHC0_SDDAT2 _L_(8) -#define PINMUX_PA11I_SDHC0_SDDAT2 ((PIN_PA11I_SDHC0_SDDAT2 << 16) | MUX_PA11I_SDHC0_SDDAT2) -#define PORT_PA11I_SDHC0_SDDAT2 (_UL_(1) << 11) -#define PIN_PB10I_SDHC0_SDDAT3 _L_(42) /**< \brief SDHC0 signal: SDDAT3 on PB10 mux I */ -#define MUX_PB10I_SDHC0_SDDAT3 _L_(8) -#define PINMUX_PB10I_SDHC0_SDDAT3 ((PIN_PB10I_SDHC0_SDDAT3 << 16) | MUX_PB10I_SDHC0_SDDAT3) -#define PORT_PB10I_SDHC0_SDDAT3 (_UL_(1) << 10) -#define PIN_PA07I_SDHC0_SDWP _L_(7) /**< \brief SDHC0 signal: SDWP on PA07 mux I */ -#define MUX_PA07I_SDHC0_SDWP _L_(8) -#define PINMUX_PA07I_SDHC0_SDWP ((PIN_PA07I_SDHC0_SDWP << 16) | MUX_PA07I_SDHC0_SDWP) -#define PORT_PA07I_SDHC0_SDWP (_UL_(1) << 7) -#define PIN_PA13I_SDHC0_SDWP _L_(13) /**< \brief SDHC0 signal: SDWP on PA13 mux I */ -#define MUX_PA13I_SDHC0_SDWP _L_(8) -#define PINMUX_PA13I_SDHC0_SDWP ((PIN_PA13I_SDHC0_SDWP << 16) | MUX_PA13I_SDHC0_SDWP) -#define PORT_PA13I_SDHC0_SDWP (_UL_(1) << 13) -#define PIN_PB13I_SDHC0_SDWP _L_(45) /**< \brief SDHC0 signal: SDWP on PB13 mux I */ -#define MUX_PB13I_SDHC0_SDWP _L_(8) -#define PINMUX_PB13I_SDHC0_SDWP ((PIN_PB13I_SDHC0_SDWP << 16) | MUX_PB13I_SDHC0_SDWP) -#define PORT_PB13I_SDHC0_SDWP (_UL_(1) << 13) -#define PIN_PC07I_SDHC0_SDWP _L_(71) /**< \brief SDHC0 signal: SDWP on PC07 mux I */ -#define MUX_PC07I_SDHC0_SDWP _L_(8) -#define PINMUX_PC07I_SDHC0_SDWP ((PIN_PC07I_SDHC0_SDWP << 16) | MUX_PC07I_SDHC0_SDWP) -#define PORT_PC07I_SDHC0_SDWP (_UL_(1) << 7) -/* ========== PORT definition for SDHC1 peripheral ========== */ -#define PIN_PB16I_SDHC1_SDCD _L_(48) /**< \brief SDHC1 signal: SDCD on PB16 mux I */ -#define MUX_PB16I_SDHC1_SDCD _L_(8) -#define PINMUX_PB16I_SDHC1_SDCD ((PIN_PB16I_SDHC1_SDCD << 16) | MUX_PB16I_SDHC1_SDCD) -#define PORT_PB16I_SDHC1_SDCD (_UL_(1) << 16) -#define PIN_PC20I_SDHC1_SDCD _L_(84) /**< \brief SDHC1 signal: SDCD on PC20 mux I */ -#define MUX_PC20I_SDHC1_SDCD _L_(8) -#define PINMUX_PC20I_SDHC1_SDCD ((PIN_PC20I_SDHC1_SDCD << 16) | MUX_PC20I_SDHC1_SDCD) -#define PORT_PC20I_SDHC1_SDCD (_UL_(1) << 20) -#define PIN_PA21I_SDHC1_SDCK _L_(21) /**< \brief SDHC1 signal: SDCK on PA21 mux I */ -#define MUX_PA21I_SDHC1_SDCK _L_(8) -#define PINMUX_PA21I_SDHC1_SDCK ((PIN_PA21I_SDHC1_SDCK << 16) | MUX_PA21I_SDHC1_SDCK) -#define PORT_PA21I_SDHC1_SDCK (_UL_(1) << 21) -#define PIN_PA20I_SDHC1_SDCMD _L_(20) /**< \brief SDHC1 signal: SDCMD on PA20 mux I */ -#define MUX_PA20I_SDHC1_SDCMD _L_(8) -#define PINMUX_PA20I_SDHC1_SDCMD ((PIN_PA20I_SDHC1_SDCMD << 16) | MUX_PA20I_SDHC1_SDCMD) -#define PORT_PA20I_SDHC1_SDCMD (_UL_(1) << 20) -#define PIN_PB18I_SDHC1_SDDAT0 _L_(50) /**< \brief SDHC1 signal: SDDAT0 on PB18 mux I */ -#define MUX_PB18I_SDHC1_SDDAT0 _L_(8) -#define PINMUX_PB18I_SDHC1_SDDAT0 ((PIN_PB18I_SDHC1_SDDAT0 << 16) | MUX_PB18I_SDHC1_SDDAT0) -#define PORT_PB18I_SDHC1_SDDAT0 (_UL_(1) << 18) -#define PIN_PB19I_SDHC1_SDDAT1 _L_(51) /**< \brief SDHC1 signal: SDDAT1 on PB19 mux I */ -#define MUX_PB19I_SDHC1_SDDAT1 _L_(8) -#define PINMUX_PB19I_SDHC1_SDDAT1 ((PIN_PB19I_SDHC1_SDDAT1 << 16) | MUX_PB19I_SDHC1_SDDAT1) -#define PORT_PB19I_SDHC1_SDDAT1 (_UL_(1) << 19) -#define PIN_PB20I_SDHC1_SDDAT2 _L_(52) /**< \brief SDHC1 signal: SDDAT2 on PB20 mux I */ -#define MUX_PB20I_SDHC1_SDDAT2 _L_(8) -#define PINMUX_PB20I_SDHC1_SDDAT2 ((PIN_PB20I_SDHC1_SDDAT2 << 16) | MUX_PB20I_SDHC1_SDDAT2) -#define PORT_PB20I_SDHC1_SDDAT2 (_UL_(1) << 20) -#define PIN_PB21I_SDHC1_SDDAT3 _L_(53) /**< \brief SDHC1 signal: SDDAT3 on PB21 mux I */ -#define MUX_PB21I_SDHC1_SDDAT3 _L_(8) -#define PINMUX_PB21I_SDHC1_SDDAT3 ((PIN_PB21I_SDHC1_SDDAT3 << 16) | MUX_PB21I_SDHC1_SDDAT3) -#define PORT_PB21I_SDHC1_SDDAT3 (_UL_(1) << 21) -#define PIN_PB17I_SDHC1_SDWP _L_(49) /**< \brief SDHC1 signal: SDWP on PB17 mux I */ -#define MUX_PB17I_SDHC1_SDWP _L_(8) -#define PINMUX_PB17I_SDHC1_SDWP ((PIN_PB17I_SDHC1_SDWP << 16) | MUX_PB17I_SDHC1_SDWP) -#define PORT_PB17I_SDHC1_SDWP (_UL_(1) << 17) -#define PIN_PC21I_SDHC1_SDWP _L_(85) /**< \brief SDHC1 signal: SDWP on PC21 mux I */ -#define MUX_PC21I_SDHC1_SDWP _L_(8) -#define PINMUX_PC21I_SDHC1_SDWP ((PIN_PC21I_SDHC1_SDWP << 16) | MUX_PC21I_SDHC1_SDWP) -#define PORT_PC21I_SDHC1_SDWP (_UL_(1) << 21) - -#endif /* _SAME54N20A_PIO_ */ diff --git a/software/firmware/oracle_same54n19a/include/pio/same54p19a.h b/software/firmware/oracle_same54n19a/include/pio/same54p19a.h deleted file mode 100644 index 93afbcc..0000000 --- a/software/firmware/oracle_same54n19a/include/pio/same54p19a.h +++ /dev/null @@ -1,3010 +0,0 @@ -/** - * \file - * - * \brief Peripheral I/O description for SAME54P19A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54P19A_PIO_ -#define _SAME54P19A_PIO_ - -#define PIN_PA00 0 /**< \brief Pin Number for PA00 */ -#define PORT_PA00 (_UL_(1) << 0) /**< \brief PORT Mask for PA00 */ -#define PIN_PA01 1 /**< \brief Pin Number for PA01 */ -#define PORT_PA01 (_UL_(1) << 1) /**< \brief PORT Mask for PA01 */ -#define PIN_PA02 2 /**< \brief Pin Number for PA02 */ -#define PORT_PA02 (_UL_(1) << 2) /**< \brief PORT Mask for PA02 */ -#define PIN_PA03 3 /**< \brief Pin Number for PA03 */ -#define PORT_PA03 (_UL_(1) << 3) /**< \brief PORT Mask for PA03 */ -#define PIN_PA04 4 /**< \brief Pin Number for PA04 */ -#define PORT_PA04 (_UL_(1) << 4) /**< \brief PORT Mask for PA04 */ -#define PIN_PA05 5 /**< \brief Pin Number for PA05 */ -#define PORT_PA05 (_UL_(1) << 5) /**< \brief PORT Mask for PA05 */ -#define PIN_PA06 6 /**< \brief Pin Number for PA06 */ -#define PORT_PA06 (_UL_(1) << 6) /**< \brief PORT Mask for PA06 */ -#define PIN_PA07 7 /**< \brief Pin Number for PA07 */ -#define PORT_PA07 (_UL_(1) << 7) /**< \brief PORT Mask for PA07 */ -#define PIN_PA08 8 /**< \brief Pin Number for PA08 */ -#define PORT_PA08 (_UL_(1) << 8) /**< \brief PORT Mask for PA08 */ -#define PIN_PA09 9 /**< \brief Pin Number for PA09 */ -#define PORT_PA09 (_UL_(1) << 9) /**< \brief PORT Mask for PA09 */ -#define PIN_PA10 10 /**< \brief Pin Number for PA10 */ -#define PORT_PA10 (_UL_(1) << 10) /**< \brief PORT Mask for PA10 */ -#define PIN_PA11 11 /**< \brief Pin Number for PA11 */ -#define PORT_PA11 (_UL_(1) << 11) /**< \brief PORT Mask for PA11 */ -#define PIN_PA12 12 /**< \brief Pin Number for PA12 */ -#define PORT_PA12 (_UL_(1) << 12) /**< \brief PORT Mask for PA12 */ -#define PIN_PA13 13 /**< \brief Pin Number for PA13 */ -#define PORT_PA13 (_UL_(1) << 13) /**< \brief PORT Mask for PA13 */ -#define PIN_PA14 14 /**< \brief Pin Number for PA14 */ -#define PORT_PA14 (_UL_(1) << 14) /**< \brief PORT Mask for PA14 */ -#define PIN_PA15 15 /**< \brief Pin Number for PA15 */ -#define PORT_PA15 (_UL_(1) << 15) /**< \brief PORT Mask for PA15 */ -#define PIN_PA16 16 /**< \brief Pin Number for PA16 */ -#define PORT_PA16 (_UL_(1) << 16) /**< \brief PORT Mask for PA16 */ -#define PIN_PA17 17 /**< \brief Pin Number for PA17 */ -#define PORT_PA17 (_UL_(1) << 17) /**< \brief PORT Mask for PA17 */ -#define PIN_PA18 18 /**< \brief Pin Number for PA18 */ -#define PORT_PA18 (_UL_(1) << 18) /**< \brief PORT Mask for PA18 */ -#define PIN_PA19 19 /**< \brief Pin Number for PA19 */ -#define PORT_PA19 (_UL_(1) << 19) /**< \brief PORT Mask for PA19 */ -#define PIN_PA20 20 /**< \brief Pin Number for PA20 */ -#define PORT_PA20 (_UL_(1) << 20) /**< \brief PORT Mask for PA20 */ -#define PIN_PA21 21 /**< \brief Pin Number for PA21 */ -#define PORT_PA21 (_UL_(1) << 21) /**< \brief PORT Mask for PA21 */ -#define PIN_PA22 22 /**< \brief Pin Number for PA22 */ -#define PORT_PA22 (_UL_(1) << 22) /**< \brief PORT Mask for PA22 */ -#define PIN_PA23 23 /**< \brief Pin Number for PA23 */ -#define PORT_PA23 (_UL_(1) << 23) /**< \brief PORT Mask for PA23 */ -#define PIN_PA24 24 /**< \brief Pin Number for PA24 */ -#define PORT_PA24 (_UL_(1) << 24) /**< \brief PORT Mask for PA24 */ -#define PIN_PA25 25 /**< \brief Pin Number for PA25 */ -#define PORT_PA25 (_UL_(1) << 25) /**< \brief PORT Mask for PA25 */ -#define PIN_PA27 27 /**< \brief Pin Number for PA27 */ -#define PORT_PA27 (_UL_(1) << 27) /**< \brief PORT Mask for PA27 */ -#define PIN_PA30 30 /**< \brief Pin Number for PA30 */ -#define PORT_PA30 (_UL_(1) << 30) /**< \brief PORT Mask for PA30 */ -#define PIN_PA31 31 /**< \brief Pin Number for PA31 */ -#define PORT_PA31 (_UL_(1) << 31) /**< \brief PORT Mask for PA31 */ -#define PIN_PB00 32 /**< \brief Pin Number for PB00 */ -#define PORT_PB00 (_UL_(1) << 0) /**< \brief PORT Mask for PB00 */ -#define PIN_PB01 33 /**< \brief Pin Number for PB01 */ -#define PORT_PB01 (_UL_(1) << 1) /**< \brief PORT Mask for PB01 */ -#define PIN_PB02 34 /**< \brief Pin Number for PB02 */ -#define PORT_PB02 (_UL_(1) << 2) /**< \brief PORT Mask for PB02 */ -#define PIN_PB03 35 /**< \brief Pin Number for PB03 */ -#define PORT_PB03 (_UL_(1) << 3) /**< \brief PORT Mask for PB03 */ -#define PIN_PB04 36 /**< \brief Pin Number for PB04 */ -#define PORT_PB04 (_UL_(1) << 4) /**< \brief PORT Mask for PB04 */ -#define PIN_PB05 37 /**< \brief Pin Number for PB05 */ -#define PORT_PB05 (_UL_(1) << 5) /**< \brief PORT Mask for PB05 */ -#define PIN_PB06 38 /**< \brief Pin Number for PB06 */ -#define PORT_PB06 (_UL_(1) << 6) /**< \brief PORT Mask for PB06 */ -#define PIN_PB07 39 /**< \brief Pin Number for PB07 */ -#define PORT_PB07 (_UL_(1) << 7) /**< \brief PORT Mask for PB07 */ -#define PIN_PB08 40 /**< \brief Pin Number for PB08 */ -#define PORT_PB08 (_UL_(1) << 8) /**< \brief PORT Mask for PB08 */ -#define PIN_PB09 41 /**< \brief Pin Number for PB09 */ -#define PORT_PB09 (_UL_(1) << 9) /**< \brief PORT Mask for PB09 */ -#define PIN_PB10 42 /**< \brief Pin Number for PB10 */ -#define PORT_PB10 (_UL_(1) << 10) /**< \brief PORT Mask for PB10 */ -#define PIN_PB11 43 /**< \brief Pin Number for PB11 */ -#define PORT_PB11 (_UL_(1) << 11) /**< \brief PORT Mask for PB11 */ -#define PIN_PB12 44 /**< \brief Pin Number for PB12 */ -#define PORT_PB12 (_UL_(1) << 12) /**< \brief PORT Mask for PB12 */ -#define PIN_PB13 45 /**< \brief Pin Number for PB13 */ -#define PORT_PB13 (_UL_(1) << 13) /**< \brief PORT Mask for PB13 */ -#define PIN_PB14 46 /**< \brief Pin Number for PB14 */ -#define PORT_PB14 (_UL_(1) << 14) /**< \brief PORT Mask for PB14 */ -#define PIN_PB15 47 /**< \brief Pin Number for PB15 */ -#define PORT_PB15 (_UL_(1) << 15) /**< \brief PORT Mask for PB15 */ -#define PIN_PB16 48 /**< \brief Pin Number for PB16 */ -#define PORT_PB16 (_UL_(1) << 16) /**< \brief PORT Mask for PB16 */ -#define PIN_PB17 49 /**< \brief Pin Number for PB17 */ -#define PORT_PB17 (_UL_(1) << 17) /**< \brief PORT Mask for PB17 */ -#define PIN_PB18 50 /**< \brief Pin Number for PB18 */ -#define PORT_PB18 (_UL_(1) << 18) /**< \brief PORT Mask for PB18 */ -#define PIN_PB19 51 /**< \brief Pin Number for PB19 */ -#define PORT_PB19 (_UL_(1) << 19) /**< \brief PORT Mask for PB19 */ -#define PIN_PB20 52 /**< \brief Pin Number for PB20 */ -#define PORT_PB20 (_UL_(1) << 20) /**< \brief PORT Mask for PB20 */ -#define PIN_PB21 53 /**< \brief Pin Number for PB21 */ -#define PORT_PB21 (_UL_(1) << 21) /**< \brief PORT Mask for PB21 */ -#define PIN_PB22 54 /**< \brief Pin Number for PB22 */ -#define PORT_PB22 (_UL_(1) << 22) /**< \brief PORT Mask for PB22 */ -#define PIN_PB23 55 /**< \brief Pin Number for PB23 */ -#define PORT_PB23 (_UL_(1) << 23) /**< \brief PORT Mask for PB23 */ -#define PIN_PB24 56 /**< \brief Pin Number for PB24 */ -#define PORT_PB24 (_UL_(1) << 24) /**< \brief PORT Mask for PB24 */ -#define PIN_PB25 57 /**< \brief Pin Number for PB25 */ -#define PORT_PB25 (_UL_(1) << 25) /**< \brief PORT Mask for PB25 */ -#define PIN_PB26 58 /**< \brief Pin Number for PB26 */ -#define PORT_PB26 (_UL_(1) << 26) /**< \brief PORT Mask for PB26 */ -#define PIN_PB27 59 /**< \brief Pin Number for PB27 */ -#define PORT_PB27 (_UL_(1) << 27) /**< \brief PORT Mask for PB27 */ -#define PIN_PB28 60 /**< \brief Pin Number for PB28 */ -#define PORT_PB28 (_UL_(1) << 28) /**< \brief PORT Mask for PB28 */ -#define PIN_PB29 61 /**< \brief Pin Number for PB29 */ -#define PORT_PB29 (_UL_(1) << 29) /**< \brief PORT Mask for PB29 */ -#define PIN_PB30 62 /**< \brief Pin Number for PB30 */ -#define PORT_PB30 (_UL_(1) << 30) /**< \brief PORT Mask for PB30 */ -#define PIN_PB31 63 /**< \brief Pin Number for PB31 */ -#define PORT_PB31 (_UL_(1) << 31) /**< \brief PORT Mask for PB31 */ -#define PIN_PC00 64 /**< \brief Pin Number for PC00 */ -#define PORT_PC00 (_UL_(1) << 0) /**< \brief PORT Mask for PC00 */ -#define PIN_PC01 65 /**< \brief Pin Number for PC01 */ -#define PORT_PC01 (_UL_(1) << 1) /**< \brief PORT Mask for PC01 */ -#define PIN_PC02 66 /**< \brief Pin Number for PC02 */ -#define PORT_PC02 (_UL_(1) << 2) /**< \brief PORT Mask for PC02 */ -#define PIN_PC03 67 /**< \brief Pin Number for PC03 */ -#define PORT_PC03 (_UL_(1) << 3) /**< \brief PORT Mask for PC03 */ -#define PIN_PC04 68 /**< \brief Pin Number for PC04 */ -#define PORT_PC04 (_UL_(1) << 4) /**< \brief PORT Mask for PC04 */ -#define PIN_PC05 69 /**< \brief Pin Number for PC05 */ -#define PORT_PC05 (_UL_(1) << 5) /**< \brief PORT Mask for PC05 */ -#define PIN_PC06 70 /**< \brief Pin Number for PC06 */ -#define PORT_PC06 (_UL_(1) << 6) /**< \brief PORT Mask for PC06 */ -#define PIN_PC07 71 /**< \brief Pin Number for PC07 */ -#define PORT_PC07 (_UL_(1) << 7) /**< \brief PORT Mask for PC07 */ -#define PIN_PC10 74 /**< \brief Pin Number for PC10 */ -#define PORT_PC10 (_UL_(1) << 10) /**< \brief PORT Mask for PC10 */ -#define PIN_PC11 75 /**< \brief Pin Number for PC11 */ -#define PORT_PC11 (_UL_(1) << 11) /**< \brief PORT Mask for PC11 */ -#define PIN_PC12 76 /**< \brief Pin Number for PC12 */ -#define PORT_PC12 (_UL_(1) << 12) /**< \brief PORT Mask for PC12 */ -#define PIN_PC13 77 /**< \brief Pin Number for PC13 */ -#define PORT_PC13 (_UL_(1) << 13) /**< \brief PORT Mask for PC13 */ -#define PIN_PC14 78 /**< \brief Pin Number for PC14 */ -#define PORT_PC14 (_UL_(1) << 14) /**< \brief PORT Mask for PC14 */ -#define PIN_PC15 79 /**< \brief Pin Number for PC15 */ -#define PORT_PC15 (_UL_(1) << 15) /**< \brief PORT Mask for PC15 */ -#define PIN_PC16 80 /**< \brief Pin Number for PC16 */ -#define PORT_PC16 (_UL_(1) << 16) /**< \brief PORT Mask for PC16 */ -#define PIN_PC17 81 /**< \brief Pin Number for PC17 */ -#define PORT_PC17 (_UL_(1) << 17) /**< \brief PORT Mask for PC17 */ -#define PIN_PC18 82 /**< \brief Pin Number for PC18 */ -#define PORT_PC18 (_UL_(1) << 18) /**< \brief PORT Mask for PC18 */ -#define PIN_PC19 83 /**< \brief Pin Number for PC19 */ -#define PORT_PC19 (_UL_(1) << 19) /**< \brief PORT Mask for PC19 */ -#define PIN_PC20 84 /**< \brief Pin Number for PC20 */ -#define PORT_PC20 (_UL_(1) << 20) /**< \brief PORT Mask for PC20 */ -#define PIN_PC21 85 /**< \brief Pin Number for PC21 */ -#define PORT_PC21 (_UL_(1) << 21) /**< \brief PORT Mask for PC21 */ -#define PIN_PC22 86 /**< \brief Pin Number for PC22 */ -#define PORT_PC22 (_UL_(1) << 22) /**< \brief PORT Mask for PC22 */ -#define PIN_PC23 87 /**< \brief Pin Number for PC23 */ -#define PORT_PC23 (_UL_(1) << 23) /**< \brief PORT Mask for PC23 */ -#define PIN_PC24 88 /**< \brief Pin Number for PC24 */ -#define PORT_PC24 (_UL_(1) << 24) /**< \brief PORT Mask for PC24 */ -#define PIN_PC25 89 /**< \brief Pin Number for PC25 */ -#define PORT_PC25 (_UL_(1) << 25) /**< \brief PORT Mask for PC25 */ -#define PIN_PC26 90 /**< \brief Pin Number for PC26 */ -#define PORT_PC26 (_UL_(1) << 26) /**< \brief PORT Mask for PC26 */ -#define PIN_PC27 91 /**< \brief Pin Number for PC27 */ -#define PORT_PC27 (_UL_(1) << 27) /**< \brief PORT Mask for PC27 */ -#define PIN_PC28 92 /**< \brief Pin Number for PC28 */ -#define PORT_PC28 (_UL_(1) << 28) /**< \brief PORT Mask for PC28 */ -#define PIN_PC30 94 /**< \brief Pin Number for PC30 */ -#define PORT_PC30 (_UL_(1) << 30) /**< \brief PORT Mask for PC30 */ -#define PIN_PC31 95 /**< \brief Pin Number for PC31 */ -#define PORT_PC31 (_UL_(1) << 31) /**< \brief PORT Mask for PC31 */ -#define PIN_PD00 96 /**< \brief Pin Number for PD00 */ -#define PORT_PD00 (_UL_(1) << 0) /**< \brief PORT Mask for PD00 */ -#define PIN_PD01 97 /**< \brief Pin Number for PD01 */ -#define PORT_PD01 (_UL_(1) << 1) /**< \brief PORT Mask for PD01 */ -#define PIN_PD08 104 /**< \brief Pin Number for PD08 */ -#define PORT_PD08 (_UL_(1) << 8) /**< \brief PORT Mask for PD08 */ -#define PIN_PD09 105 /**< \brief Pin Number for PD09 */ -#define PORT_PD09 (_UL_(1) << 9) /**< \brief PORT Mask for PD09 */ -#define PIN_PD10 106 /**< \brief Pin Number for PD10 */ -#define PORT_PD10 (_UL_(1) << 10) /**< \brief PORT Mask for PD10 */ -#define PIN_PD11 107 /**< \brief Pin Number for PD11 */ -#define PORT_PD11 (_UL_(1) << 11) /**< \brief PORT Mask for PD11 */ -#define PIN_PD12 108 /**< \brief Pin Number for PD12 */ -#define PORT_PD12 (_UL_(1) << 12) /**< \brief PORT Mask for PD12 */ -#define PIN_PD20 116 /**< \brief Pin Number for PD20 */ -#define PORT_PD20 (_UL_(1) << 20) /**< \brief PORT Mask for PD20 */ -#define PIN_PD21 117 /**< \brief Pin Number for PD21 */ -#define PORT_PD21 (_UL_(1) << 21) /**< \brief PORT Mask for PD21 */ -/* ========== PORT definition for CM4 peripheral ========== */ -#define PIN_PA30H_CM4_SWCLK _L_(30) /**< \brief CM4 signal: SWCLK on PA30 mux H */ -#define MUX_PA30H_CM4_SWCLK _L_(7) -#define PINMUX_PA30H_CM4_SWCLK ((PIN_PA30H_CM4_SWCLK << 16) | MUX_PA30H_CM4_SWCLK) -#define PORT_PA30H_CM4_SWCLK (_UL_(1) << 30) -#define PIN_PC27M_CM4_SWO _L_(91) /**< \brief CM4 signal: SWO on PC27 mux M */ -#define MUX_PC27M_CM4_SWO _L_(12) -#define PINMUX_PC27M_CM4_SWO ((PIN_PC27M_CM4_SWO << 16) | MUX_PC27M_CM4_SWO) -#define PORT_PC27M_CM4_SWO (_UL_(1) << 27) -#define PIN_PB30H_CM4_SWO _L_(62) /**< \brief CM4 signal: SWO on PB30 mux H */ -#define MUX_PB30H_CM4_SWO _L_(7) -#define PINMUX_PB30H_CM4_SWO ((PIN_PB30H_CM4_SWO << 16) | MUX_PB30H_CM4_SWO) -#define PORT_PB30H_CM4_SWO (_UL_(1) << 30) -#define PIN_PC27H_CM4_TRACECLK _L_(91) /**< \brief CM4 signal: TRACECLK on PC27 mux H */ -#define MUX_PC27H_CM4_TRACECLK _L_(7) -#define PINMUX_PC27H_CM4_TRACECLK ((PIN_PC27H_CM4_TRACECLK << 16) | MUX_PC27H_CM4_TRACECLK) -#define PORT_PC27H_CM4_TRACECLK (_UL_(1) << 27) -#define PIN_PC28H_CM4_TRACEDATA0 _L_(92) /**< \brief CM4 signal: TRACEDATA0 on PC28 mux H */ -#define MUX_PC28H_CM4_TRACEDATA0 _L_(7) -#define PINMUX_PC28H_CM4_TRACEDATA0 ((PIN_PC28H_CM4_TRACEDATA0 << 16) | MUX_PC28H_CM4_TRACEDATA0) -#define PORT_PC28H_CM4_TRACEDATA0 (_UL_(1) << 28) -#define PIN_PC26H_CM4_TRACEDATA1 _L_(90) /**< \brief CM4 signal: TRACEDATA1 on PC26 mux H */ -#define MUX_PC26H_CM4_TRACEDATA1 _L_(7) -#define PINMUX_PC26H_CM4_TRACEDATA1 ((PIN_PC26H_CM4_TRACEDATA1 << 16) | MUX_PC26H_CM4_TRACEDATA1) -#define PORT_PC26H_CM4_TRACEDATA1 (_UL_(1) << 26) -#define PIN_PC25H_CM4_TRACEDATA2 _L_(89) /**< \brief CM4 signal: TRACEDATA2 on PC25 mux H */ -#define MUX_PC25H_CM4_TRACEDATA2 _L_(7) -#define PINMUX_PC25H_CM4_TRACEDATA2 ((PIN_PC25H_CM4_TRACEDATA2 << 16) | MUX_PC25H_CM4_TRACEDATA2) -#define PORT_PC25H_CM4_TRACEDATA2 (_UL_(1) << 25) -#define PIN_PC24H_CM4_TRACEDATA3 _L_(88) /**< \brief CM4 signal: TRACEDATA3 on PC24 mux H */ -#define MUX_PC24H_CM4_TRACEDATA3 _L_(7) -#define PINMUX_PC24H_CM4_TRACEDATA3 ((PIN_PC24H_CM4_TRACEDATA3 << 16) | MUX_PC24H_CM4_TRACEDATA3) -#define PORT_PC24H_CM4_TRACEDATA3 (_UL_(1) << 24) -/* ========== PORT definition for ANAREF peripheral ========== */ -#define PIN_PA03B_ANAREF_VREF0 _L_(3) /**< \brief ANAREF signal: VREF0 on PA03 mux B */ -#define MUX_PA03B_ANAREF_VREF0 _L_(1) -#define PINMUX_PA03B_ANAREF_VREF0 ((PIN_PA03B_ANAREF_VREF0 << 16) | MUX_PA03B_ANAREF_VREF0) -#define PORT_PA03B_ANAREF_VREF0 (_UL_(1) << 3) -#define PIN_PA04B_ANAREF_VREF1 _L_(4) /**< \brief ANAREF signal: VREF1 on PA04 mux B */ -#define MUX_PA04B_ANAREF_VREF1 _L_(1) -#define PINMUX_PA04B_ANAREF_VREF1 ((PIN_PA04B_ANAREF_VREF1 << 16) | MUX_PA04B_ANAREF_VREF1) -#define PORT_PA04B_ANAREF_VREF1 (_UL_(1) << 4) -#define PIN_PA06B_ANAREF_VREF2 _L_(6) /**< \brief ANAREF signal: VREF2 on PA06 mux B */ -#define MUX_PA06B_ANAREF_VREF2 _L_(1) -#define PINMUX_PA06B_ANAREF_VREF2 ((PIN_PA06B_ANAREF_VREF2 << 16) | MUX_PA06B_ANAREF_VREF2) -#define PORT_PA06B_ANAREF_VREF2 (_UL_(1) << 6) -/* ========== PORT definition for GCLK peripheral ========== */ -#define PIN_PA30M_GCLK_IO0 _L_(30) /**< \brief GCLK signal: IO0 on PA30 mux M */ -#define MUX_PA30M_GCLK_IO0 _L_(12) -#define PINMUX_PA30M_GCLK_IO0 ((PIN_PA30M_GCLK_IO0 << 16) | MUX_PA30M_GCLK_IO0) -#define PORT_PA30M_GCLK_IO0 (_UL_(1) << 30) -#define PIN_PB14M_GCLK_IO0 _L_(46) /**< \brief GCLK signal: IO0 on PB14 mux M */ -#define MUX_PB14M_GCLK_IO0 _L_(12) -#define PINMUX_PB14M_GCLK_IO0 ((PIN_PB14M_GCLK_IO0 << 16) | MUX_PB14M_GCLK_IO0) -#define PORT_PB14M_GCLK_IO0 (_UL_(1) << 14) -#define PIN_PA14M_GCLK_IO0 _L_(14) /**< \brief GCLK signal: IO0 on PA14 mux M */ -#define MUX_PA14M_GCLK_IO0 _L_(12) -#define PINMUX_PA14M_GCLK_IO0 ((PIN_PA14M_GCLK_IO0 << 16) | MUX_PA14M_GCLK_IO0) -#define PORT_PA14M_GCLK_IO0 (_UL_(1) << 14) -#define PIN_PB22M_GCLK_IO0 _L_(54) /**< \brief GCLK signal: IO0 on PB22 mux M */ -#define MUX_PB22M_GCLK_IO0 _L_(12) -#define PINMUX_PB22M_GCLK_IO0 ((PIN_PB22M_GCLK_IO0 << 16) | MUX_PB22M_GCLK_IO0) -#define PORT_PB22M_GCLK_IO0 (_UL_(1) << 22) -#define PIN_PB15M_GCLK_IO1 _L_(47) /**< \brief GCLK signal: IO1 on PB15 mux M */ -#define MUX_PB15M_GCLK_IO1 _L_(12) -#define PINMUX_PB15M_GCLK_IO1 ((PIN_PB15M_GCLK_IO1 << 16) | MUX_PB15M_GCLK_IO1) -#define PORT_PB15M_GCLK_IO1 (_UL_(1) << 15) -#define PIN_PA15M_GCLK_IO1 _L_(15) /**< \brief GCLK signal: IO1 on PA15 mux M */ -#define MUX_PA15M_GCLK_IO1 _L_(12) -#define PINMUX_PA15M_GCLK_IO1 ((PIN_PA15M_GCLK_IO1 << 16) | MUX_PA15M_GCLK_IO1) -#define PORT_PA15M_GCLK_IO1 (_UL_(1) << 15) -#define PIN_PB23M_GCLK_IO1 _L_(55) /**< \brief GCLK signal: IO1 on PB23 mux M */ -#define MUX_PB23M_GCLK_IO1 _L_(12) -#define PINMUX_PB23M_GCLK_IO1 ((PIN_PB23M_GCLK_IO1 << 16) | MUX_PB23M_GCLK_IO1) -#define PORT_PB23M_GCLK_IO1 (_UL_(1) << 23) -#define PIN_PA27M_GCLK_IO1 _L_(27) /**< \brief GCLK signal: IO1 on PA27 mux M */ -#define MUX_PA27M_GCLK_IO1 _L_(12) -#define PINMUX_PA27M_GCLK_IO1 ((PIN_PA27M_GCLK_IO1 << 16) | MUX_PA27M_GCLK_IO1) -#define PORT_PA27M_GCLK_IO1 (_UL_(1) << 27) -#define PIN_PA16M_GCLK_IO2 _L_(16) /**< \brief GCLK signal: IO2 on PA16 mux M */ -#define MUX_PA16M_GCLK_IO2 _L_(12) -#define PINMUX_PA16M_GCLK_IO2 ((PIN_PA16M_GCLK_IO2 << 16) | MUX_PA16M_GCLK_IO2) -#define PORT_PA16M_GCLK_IO2 (_UL_(1) << 16) -#define PIN_PB16M_GCLK_IO2 _L_(48) /**< \brief GCLK signal: IO2 on PB16 mux M */ -#define MUX_PB16M_GCLK_IO2 _L_(12) -#define PINMUX_PB16M_GCLK_IO2 ((PIN_PB16M_GCLK_IO2 << 16) | MUX_PB16M_GCLK_IO2) -#define PORT_PB16M_GCLK_IO2 (_UL_(1) << 16) -#define PIN_PA17M_GCLK_IO3 _L_(17) /**< \brief GCLK signal: IO3 on PA17 mux M */ -#define MUX_PA17M_GCLK_IO3 _L_(12) -#define PINMUX_PA17M_GCLK_IO3 ((PIN_PA17M_GCLK_IO3 << 16) | MUX_PA17M_GCLK_IO3) -#define PORT_PA17M_GCLK_IO3 (_UL_(1) << 17) -#define PIN_PB17M_GCLK_IO3 _L_(49) /**< \brief GCLK signal: IO3 on PB17 mux M */ -#define MUX_PB17M_GCLK_IO3 _L_(12) -#define PINMUX_PB17M_GCLK_IO3 ((PIN_PB17M_GCLK_IO3 << 16) | MUX_PB17M_GCLK_IO3) -#define PORT_PB17M_GCLK_IO3 (_UL_(1) << 17) -#define PIN_PA10M_GCLK_IO4 _L_(10) /**< \brief GCLK signal: IO4 on PA10 mux M */ -#define MUX_PA10M_GCLK_IO4 _L_(12) -#define PINMUX_PA10M_GCLK_IO4 ((PIN_PA10M_GCLK_IO4 << 16) | MUX_PA10M_GCLK_IO4) -#define PORT_PA10M_GCLK_IO4 (_UL_(1) << 10) -#define PIN_PB10M_GCLK_IO4 _L_(42) /**< \brief GCLK signal: IO4 on PB10 mux M */ -#define MUX_PB10M_GCLK_IO4 _L_(12) -#define PINMUX_PB10M_GCLK_IO4 ((PIN_PB10M_GCLK_IO4 << 16) | MUX_PB10M_GCLK_IO4) -#define PORT_PB10M_GCLK_IO4 (_UL_(1) << 10) -#define PIN_PB18M_GCLK_IO4 _L_(50) /**< \brief GCLK signal: IO4 on PB18 mux M */ -#define MUX_PB18M_GCLK_IO4 _L_(12) -#define PINMUX_PB18M_GCLK_IO4 ((PIN_PB18M_GCLK_IO4 << 16) | MUX_PB18M_GCLK_IO4) -#define PORT_PB18M_GCLK_IO4 (_UL_(1) << 18) -#define PIN_PA11M_GCLK_IO5 _L_(11) /**< \brief GCLK signal: IO5 on PA11 mux M */ -#define MUX_PA11M_GCLK_IO5 _L_(12) -#define PINMUX_PA11M_GCLK_IO5 ((PIN_PA11M_GCLK_IO5 << 16) | MUX_PA11M_GCLK_IO5) -#define PORT_PA11M_GCLK_IO5 (_UL_(1) << 11) -#define PIN_PB11M_GCLK_IO5 _L_(43) /**< \brief GCLK signal: IO5 on PB11 mux M */ -#define MUX_PB11M_GCLK_IO5 _L_(12) -#define PINMUX_PB11M_GCLK_IO5 ((PIN_PB11M_GCLK_IO5 << 16) | MUX_PB11M_GCLK_IO5) -#define PORT_PB11M_GCLK_IO5 (_UL_(1) << 11) -#define PIN_PB19M_GCLK_IO5 _L_(51) /**< \brief GCLK signal: IO5 on PB19 mux M */ -#define MUX_PB19M_GCLK_IO5 _L_(12) -#define PINMUX_PB19M_GCLK_IO5 ((PIN_PB19M_GCLK_IO5 << 16) | MUX_PB19M_GCLK_IO5) -#define PORT_PB19M_GCLK_IO5 (_UL_(1) << 19) -#define PIN_PB12M_GCLK_IO6 _L_(44) /**< \brief GCLK signal: IO6 on PB12 mux M */ -#define MUX_PB12M_GCLK_IO6 _L_(12) -#define PINMUX_PB12M_GCLK_IO6 ((PIN_PB12M_GCLK_IO6 << 16) | MUX_PB12M_GCLK_IO6) -#define PORT_PB12M_GCLK_IO6 (_UL_(1) << 12) -#define PIN_PB20M_GCLK_IO6 _L_(52) /**< \brief GCLK signal: IO6 on PB20 mux M */ -#define MUX_PB20M_GCLK_IO6 _L_(12) -#define PINMUX_PB20M_GCLK_IO6 ((PIN_PB20M_GCLK_IO6 << 16) | MUX_PB20M_GCLK_IO6) -#define PORT_PB20M_GCLK_IO6 (_UL_(1) << 20) -#define PIN_PB13M_GCLK_IO7 _L_(45) /**< \brief GCLK signal: IO7 on PB13 mux M */ -#define MUX_PB13M_GCLK_IO7 _L_(12) -#define PINMUX_PB13M_GCLK_IO7 ((PIN_PB13M_GCLK_IO7 << 16) | MUX_PB13M_GCLK_IO7) -#define PORT_PB13M_GCLK_IO7 (_UL_(1) << 13) -#define PIN_PB21M_GCLK_IO7 _L_(53) /**< \brief GCLK signal: IO7 on PB21 mux M */ -#define MUX_PB21M_GCLK_IO7 _L_(12) -#define PINMUX_PB21M_GCLK_IO7 ((PIN_PB21M_GCLK_IO7 << 16) | MUX_PB21M_GCLK_IO7) -#define PORT_PB21M_GCLK_IO7 (_UL_(1) << 21) -/* ========== PORT definition for EIC peripheral ========== */ -#define PIN_PA00A_EIC_EXTINT0 _L_(0) /**< \brief EIC signal: EXTINT0 on PA00 mux A */ -#define MUX_PA00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PA00A_EIC_EXTINT0 ((PIN_PA00A_EIC_EXTINT0 << 16) | MUX_PA00A_EIC_EXTINT0) -#define PORT_PA00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PA00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA00 External Interrupt Line */ -#define PIN_PA16A_EIC_EXTINT0 _L_(16) /**< \brief EIC signal: EXTINT0 on PA16 mux A */ -#define MUX_PA16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PA16A_EIC_EXTINT0 ((PIN_PA16A_EIC_EXTINT0 << 16) | MUX_PA16A_EIC_EXTINT0) -#define PORT_PA16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PA16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA16 External Interrupt Line */ -#define PIN_PB00A_EIC_EXTINT0 _L_(32) /**< \brief EIC signal: EXTINT0 on PB00 mux A */ -#define MUX_PB00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PB00A_EIC_EXTINT0 ((PIN_PB00A_EIC_EXTINT0 << 16) | MUX_PB00A_EIC_EXTINT0) -#define PORT_PB00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PB00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB00 External Interrupt Line */ -#define PIN_PB16A_EIC_EXTINT0 _L_(48) /**< \brief EIC signal: EXTINT0 on PB16 mux A */ -#define MUX_PB16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PB16A_EIC_EXTINT0 ((PIN_PB16A_EIC_EXTINT0 << 16) | MUX_PB16A_EIC_EXTINT0) -#define PORT_PB16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PB16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB16 External Interrupt Line */ -#define PIN_PC00A_EIC_EXTINT0 _L_(64) /**< \brief EIC signal: EXTINT0 on PC00 mux A */ -#define MUX_PC00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PC00A_EIC_EXTINT0 ((PIN_PC00A_EIC_EXTINT0 << 16) | MUX_PC00A_EIC_EXTINT0) -#define PORT_PC00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PC00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC00 External Interrupt Line */ -#define PIN_PC16A_EIC_EXTINT0 _L_(80) /**< \brief EIC signal: EXTINT0 on PC16 mux A */ -#define MUX_PC16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PC16A_EIC_EXTINT0 ((PIN_PC16A_EIC_EXTINT0 << 16) | MUX_PC16A_EIC_EXTINT0) -#define PORT_PC16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PC16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC16 External Interrupt Line */ -#define PIN_PD00A_EIC_EXTINT0 _L_(96) /**< \brief EIC signal: EXTINT0 on PD00 mux A */ -#define MUX_PD00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PD00A_EIC_EXTINT0 ((PIN_PD00A_EIC_EXTINT0 << 16) | MUX_PD00A_EIC_EXTINT0) -#define PORT_PD00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PD00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PD00 External Interrupt Line */ -#define PIN_PA01A_EIC_EXTINT1 _L_(1) /**< \brief EIC signal: EXTINT1 on PA01 mux A */ -#define MUX_PA01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PA01A_EIC_EXTINT1 ((PIN_PA01A_EIC_EXTINT1 << 16) | MUX_PA01A_EIC_EXTINT1) -#define PORT_PA01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PA01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA01 External Interrupt Line */ -#define PIN_PA17A_EIC_EXTINT1 _L_(17) /**< \brief EIC signal: EXTINT1 on PA17 mux A */ -#define MUX_PA17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PA17A_EIC_EXTINT1 ((PIN_PA17A_EIC_EXTINT1 << 16) | MUX_PA17A_EIC_EXTINT1) -#define PORT_PA17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PA17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA17 External Interrupt Line */ -#define PIN_PB01A_EIC_EXTINT1 _L_(33) /**< \brief EIC signal: EXTINT1 on PB01 mux A */ -#define MUX_PB01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PB01A_EIC_EXTINT1 ((PIN_PB01A_EIC_EXTINT1 << 16) | MUX_PB01A_EIC_EXTINT1) -#define PORT_PB01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PB01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB01 External Interrupt Line */ -#define PIN_PB17A_EIC_EXTINT1 _L_(49) /**< \brief EIC signal: EXTINT1 on PB17 mux A */ -#define MUX_PB17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PB17A_EIC_EXTINT1 ((PIN_PB17A_EIC_EXTINT1 << 16) | MUX_PB17A_EIC_EXTINT1) -#define PORT_PB17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PB17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB17 External Interrupt Line */ -#define PIN_PC01A_EIC_EXTINT1 _L_(65) /**< \brief EIC signal: EXTINT1 on PC01 mux A */ -#define MUX_PC01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PC01A_EIC_EXTINT1 ((PIN_PC01A_EIC_EXTINT1 << 16) | MUX_PC01A_EIC_EXTINT1) -#define PORT_PC01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PC01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC01 External Interrupt Line */ -#define PIN_PC17A_EIC_EXTINT1 _L_(81) /**< \brief EIC signal: EXTINT1 on PC17 mux A */ -#define MUX_PC17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PC17A_EIC_EXTINT1 ((PIN_PC17A_EIC_EXTINT1 << 16) | MUX_PC17A_EIC_EXTINT1) -#define PORT_PC17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PC17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC17 External Interrupt Line */ -#define PIN_PD01A_EIC_EXTINT1 _L_(97) /**< \brief EIC signal: EXTINT1 on PD01 mux A */ -#define MUX_PD01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PD01A_EIC_EXTINT1 ((PIN_PD01A_EIC_EXTINT1 << 16) | MUX_PD01A_EIC_EXTINT1) -#define PORT_PD01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PD01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PD01 External Interrupt Line */ -#define PIN_PA02A_EIC_EXTINT2 _L_(2) /**< \brief EIC signal: EXTINT2 on PA02 mux A */ -#define MUX_PA02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PA02A_EIC_EXTINT2 ((PIN_PA02A_EIC_EXTINT2 << 16) | MUX_PA02A_EIC_EXTINT2) -#define PORT_PA02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PA02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA02 External Interrupt Line */ -#define PIN_PA18A_EIC_EXTINT2 _L_(18) /**< \brief EIC signal: EXTINT2 on PA18 mux A */ -#define MUX_PA18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PA18A_EIC_EXTINT2 ((PIN_PA18A_EIC_EXTINT2 << 16) | MUX_PA18A_EIC_EXTINT2) -#define PORT_PA18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PA18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA18 External Interrupt Line */ -#define PIN_PB02A_EIC_EXTINT2 _L_(34) /**< \brief EIC signal: EXTINT2 on PB02 mux A */ -#define MUX_PB02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PB02A_EIC_EXTINT2 ((PIN_PB02A_EIC_EXTINT2 << 16) | MUX_PB02A_EIC_EXTINT2) -#define PORT_PB02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PB02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB02 External Interrupt Line */ -#define PIN_PB18A_EIC_EXTINT2 _L_(50) /**< \brief EIC signal: EXTINT2 on PB18 mux A */ -#define MUX_PB18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PB18A_EIC_EXTINT2 ((PIN_PB18A_EIC_EXTINT2 << 16) | MUX_PB18A_EIC_EXTINT2) -#define PORT_PB18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PB18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB18 External Interrupt Line */ -#define PIN_PC02A_EIC_EXTINT2 _L_(66) /**< \brief EIC signal: EXTINT2 on PC02 mux A */ -#define MUX_PC02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PC02A_EIC_EXTINT2 ((PIN_PC02A_EIC_EXTINT2 << 16) | MUX_PC02A_EIC_EXTINT2) -#define PORT_PC02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PC02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC02 External Interrupt Line */ -#define PIN_PC18A_EIC_EXTINT2 _L_(82) /**< \brief EIC signal: EXTINT2 on PC18 mux A */ -#define MUX_PC18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PC18A_EIC_EXTINT2 ((PIN_PC18A_EIC_EXTINT2 << 16) | MUX_PC18A_EIC_EXTINT2) -#define PORT_PC18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PC18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC18 External Interrupt Line */ -#define PIN_PA03A_EIC_EXTINT3 _L_(3) /**< \brief EIC signal: EXTINT3 on PA03 mux A */ -#define MUX_PA03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PA03A_EIC_EXTINT3 ((PIN_PA03A_EIC_EXTINT3 << 16) | MUX_PA03A_EIC_EXTINT3) -#define PORT_PA03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PA03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA03 External Interrupt Line */ -#define PIN_PA19A_EIC_EXTINT3 _L_(19) /**< \brief EIC signal: EXTINT3 on PA19 mux A */ -#define MUX_PA19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PA19A_EIC_EXTINT3 ((PIN_PA19A_EIC_EXTINT3 << 16) | MUX_PA19A_EIC_EXTINT3) -#define PORT_PA19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PA19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA19 External Interrupt Line */ -#define PIN_PB03A_EIC_EXTINT3 _L_(35) /**< \brief EIC signal: EXTINT3 on PB03 mux A */ -#define MUX_PB03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PB03A_EIC_EXTINT3 ((PIN_PB03A_EIC_EXTINT3 << 16) | MUX_PB03A_EIC_EXTINT3) -#define PORT_PB03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PB03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB03 External Interrupt Line */ -#define PIN_PB19A_EIC_EXTINT3 _L_(51) /**< \brief EIC signal: EXTINT3 on PB19 mux A */ -#define MUX_PB19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PB19A_EIC_EXTINT3 ((PIN_PB19A_EIC_EXTINT3 << 16) | MUX_PB19A_EIC_EXTINT3) -#define PORT_PB19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PB19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB19 External Interrupt Line */ -#define PIN_PC03A_EIC_EXTINT3 _L_(67) /**< \brief EIC signal: EXTINT3 on PC03 mux A */ -#define MUX_PC03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PC03A_EIC_EXTINT3 ((PIN_PC03A_EIC_EXTINT3 << 16) | MUX_PC03A_EIC_EXTINT3) -#define PORT_PC03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PC03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC03 External Interrupt Line */ -#define PIN_PC19A_EIC_EXTINT3 _L_(83) /**< \brief EIC signal: EXTINT3 on PC19 mux A */ -#define MUX_PC19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PC19A_EIC_EXTINT3 ((PIN_PC19A_EIC_EXTINT3 << 16) | MUX_PC19A_EIC_EXTINT3) -#define PORT_PC19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PC19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC19 External Interrupt Line */ -#define PIN_PD08A_EIC_EXTINT3 _L_(104) /**< \brief EIC signal: EXTINT3 on PD08 mux A */ -#define MUX_PD08A_EIC_EXTINT3 _L_(0) -#define PINMUX_PD08A_EIC_EXTINT3 ((PIN_PD08A_EIC_EXTINT3 << 16) | MUX_PD08A_EIC_EXTINT3) -#define PORT_PD08A_EIC_EXTINT3 (_UL_(1) << 8) -#define PIN_PD08A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PD08 External Interrupt Line */ -#define PIN_PA04A_EIC_EXTINT4 _L_(4) /**< \brief EIC signal: EXTINT4 on PA04 mux A */ -#define MUX_PA04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PA04A_EIC_EXTINT4 ((PIN_PA04A_EIC_EXTINT4 << 16) | MUX_PA04A_EIC_EXTINT4) -#define PORT_PA04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PA04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA04 External Interrupt Line */ -#define PIN_PA20A_EIC_EXTINT4 _L_(20) /**< \brief EIC signal: EXTINT4 on PA20 mux A */ -#define MUX_PA20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PA20A_EIC_EXTINT4 ((PIN_PA20A_EIC_EXTINT4 << 16) | MUX_PA20A_EIC_EXTINT4) -#define PORT_PA20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PA20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA20 External Interrupt Line */ -#define PIN_PB04A_EIC_EXTINT4 _L_(36) /**< \brief EIC signal: EXTINT4 on PB04 mux A */ -#define MUX_PB04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PB04A_EIC_EXTINT4 ((PIN_PB04A_EIC_EXTINT4 << 16) | MUX_PB04A_EIC_EXTINT4) -#define PORT_PB04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PB04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB04 External Interrupt Line */ -#define PIN_PB20A_EIC_EXTINT4 _L_(52) /**< \brief EIC signal: EXTINT4 on PB20 mux A */ -#define MUX_PB20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PB20A_EIC_EXTINT4 ((PIN_PB20A_EIC_EXTINT4 << 16) | MUX_PB20A_EIC_EXTINT4) -#define PORT_PB20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PB20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB20 External Interrupt Line */ -#define PIN_PC04A_EIC_EXTINT4 _L_(68) /**< \brief EIC signal: EXTINT4 on PC04 mux A */ -#define MUX_PC04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PC04A_EIC_EXTINT4 ((PIN_PC04A_EIC_EXTINT4 << 16) | MUX_PC04A_EIC_EXTINT4) -#define PORT_PC04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PC04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC04 External Interrupt Line */ -#define PIN_PC20A_EIC_EXTINT4 _L_(84) /**< \brief EIC signal: EXTINT4 on PC20 mux A */ -#define MUX_PC20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PC20A_EIC_EXTINT4 ((PIN_PC20A_EIC_EXTINT4 << 16) | MUX_PC20A_EIC_EXTINT4) -#define PORT_PC20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PC20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC20 External Interrupt Line */ -#define PIN_PD09A_EIC_EXTINT4 _L_(105) /**< \brief EIC signal: EXTINT4 on PD09 mux A */ -#define MUX_PD09A_EIC_EXTINT4 _L_(0) -#define PINMUX_PD09A_EIC_EXTINT4 ((PIN_PD09A_EIC_EXTINT4 << 16) | MUX_PD09A_EIC_EXTINT4) -#define PORT_PD09A_EIC_EXTINT4 (_UL_(1) << 9) -#define PIN_PD09A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PD09 External Interrupt Line */ -#define PIN_PA05A_EIC_EXTINT5 _L_(5) /**< \brief EIC signal: EXTINT5 on PA05 mux A */ -#define MUX_PA05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PA05A_EIC_EXTINT5 ((PIN_PA05A_EIC_EXTINT5 << 16) | MUX_PA05A_EIC_EXTINT5) -#define PORT_PA05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PA05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA05 External Interrupt Line */ -#define PIN_PA21A_EIC_EXTINT5 _L_(21) /**< \brief EIC signal: EXTINT5 on PA21 mux A */ -#define MUX_PA21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PA21A_EIC_EXTINT5 ((PIN_PA21A_EIC_EXTINT5 << 16) | MUX_PA21A_EIC_EXTINT5) -#define PORT_PA21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PA21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA21 External Interrupt Line */ -#define PIN_PB05A_EIC_EXTINT5 _L_(37) /**< \brief EIC signal: EXTINT5 on PB05 mux A */ -#define MUX_PB05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PB05A_EIC_EXTINT5 ((PIN_PB05A_EIC_EXTINT5 << 16) | MUX_PB05A_EIC_EXTINT5) -#define PORT_PB05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PB05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB05 External Interrupt Line */ -#define PIN_PB21A_EIC_EXTINT5 _L_(53) /**< \brief EIC signal: EXTINT5 on PB21 mux A */ -#define MUX_PB21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PB21A_EIC_EXTINT5 ((PIN_PB21A_EIC_EXTINT5 << 16) | MUX_PB21A_EIC_EXTINT5) -#define PORT_PB21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PB21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB21 External Interrupt Line */ -#define PIN_PC05A_EIC_EXTINT5 _L_(69) /**< \brief EIC signal: EXTINT5 on PC05 mux A */ -#define MUX_PC05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PC05A_EIC_EXTINT5 ((PIN_PC05A_EIC_EXTINT5 << 16) | MUX_PC05A_EIC_EXTINT5) -#define PORT_PC05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PC05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC05 External Interrupt Line */ -#define PIN_PC21A_EIC_EXTINT5 _L_(85) /**< \brief EIC signal: EXTINT5 on PC21 mux A */ -#define MUX_PC21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PC21A_EIC_EXTINT5 ((PIN_PC21A_EIC_EXTINT5 << 16) | MUX_PC21A_EIC_EXTINT5) -#define PORT_PC21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PC21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC21 External Interrupt Line */ -#define PIN_PD10A_EIC_EXTINT5 _L_(106) /**< \brief EIC signal: EXTINT5 on PD10 mux A */ -#define MUX_PD10A_EIC_EXTINT5 _L_(0) -#define PINMUX_PD10A_EIC_EXTINT5 ((PIN_PD10A_EIC_EXTINT5 << 16) | MUX_PD10A_EIC_EXTINT5) -#define PORT_PD10A_EIC_EXTINT5 (_UL_(1) << 10) -#define PIN_PD10A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PD10 External Interrupt Line */ -#define PIN_PA06A_EIC_EXTINT6 _L_(6) /**< \brief EIC signal: EXTINT6 on PA06 mux A */ -#define MUX_PA06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PA06A_EIC_EXTINT6 ((PIN_PA06A_EIC_EXTINT6 << 16) | MUX_PA06A_EIC_EXTINT6) -#define PORT_PA06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PA06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA06 External Interrupt Line */ -#define PIN_PA22A_EIC_EXTINT6 _L_(22) /**< \brief EIC signal: EXTINT6 on PA22 mux A */ -#define MUX_PA22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PA22A_EIC_EXTINT6 ((PIN_PA22A_EIC_EXTINT6 << 16) | MUX_PA22A_EIC_EXTINT6) -#define PORT_PA22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PA22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA22 External Interrupt Line */ -#define PIN_PB06A_EIC_EXTINT6 _L_(38) /**< \brief EIC signal: EXTINT6 on PB06 mux A */ -#define MUX_PB06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PB06A_EIC_EXTINT6 ((PIN_PB06A_EIC_EXTINT6 << 16) | MUX_PB06A_EIC_EXTINT6) -#define PORT_PB06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PB06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB06 External Interrupt Line */ -#define PIN_PB22A_EIC_EXTINT6 _L_(54) /**< \brief EIC signal: EXTINT6 on PB22 mux A */ -#define MUX_PB22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PB22A_EIC_EXTINT6 ((PIN_PB22A_EIC_EXTINT6 << 16) | MUX_PB22A_EIC_EXTINT6) -#define PORT_PB22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PB22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB22 External Interrupt Line */ -#define PIN_PC06A_EIC_EXTINT6 _L_(70) /**< \brief EIC signal: EXTINT6 on PC06 mux A */ -#define MUX_PC06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PC06A_EIC_EXTINT6 ((PIN_PC06A_EIC_EXTINT6 << 16) | MUX_PC06A_EIC_EXTINT6) -#define PORT_PC06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PC06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC06 External Interrupt Line */ -#define PIN_PC22A_EIC_EXTINT6 _L_(86) /**< \brief EIC signal: EXTINT6 on PC22 mux A */ -#define MUX_PC22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PC22A_EIC_EXTINT6 ((PIN_PC22A_EIC_EXTINT6 << 16) | MUX_PC22A_EIC_EXTINT6) -#define PORT_PC22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PC22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC22 External Interrupt Line */ -#define PIN_PD11A_EIC_EXTINT6 _L_(107) /**< \brief EIC signal: EXTINT6 on PD11 mux A */ -#define MUX_PD11A_EIC_EXTINT6 _L_(0) -#define PINMUX_PD11A_EIC_EXTINT6 ((PIN_PD11A_EIC_EXTINT6 << 16) | MUX_PD11A_EIC_EXTINT6) -#define PORT_PD11A_EIC_EXTINT6 (_UL_(1) << 11) -#define PIN_PD11A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PD11 External Interrupt Line */ -#define PIN_PA07A_EIC_EXTINT7 _L_(7) /**< \brief EIC signal: EXTINT7 on PA07 mux A */ -#define MUX_PA07A_EIC_EXTINT7 _L_(0) -#define PINMUX_PA07A_EIC_EXTINT7 ((PIN_PA07A_EIC_EXTINT7 << 16) | MUX_PA07A_EIC_EXTINT7) -#define PORT_PA07A_EIC_EXTINT7 (_UL_(1) << 7) -#define PIN_PA07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA07 External Interrupt Line */ -#define PIN_PA23A_EIC_EXTINT7 _L_(23) /**< \brief EIC signal: EXTINT7 on PA23 mux A */ -#define MUX_PA23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PA23A_EIC_EXTINT7 ((PIN_PA23A_EIC_EXTINT7 << 16) | MUX_PA23A_EIC_EXTINT7) -#define PORT_PA23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PA23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA23 External Interrupt Line */ -#define PIN_PB07A_EIC_EXTINT7 _L_(39) /**< \brief EIC signal: EXTINT7 on PB07 mux A */ -#define MUX_PB07A_EIC_EXTINT7 _L_(0) -#define PINMUX_PB07A_EIC_EXTINT7 ((PIN_PB07A_EIC_EXTINT7 << 16) | MUX_PB07A_EIC_EXTINT7) -#define PORT_PB07A_EIC_EXTINT7 (_UL_(1) << 7) -#define PIN_PB07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB07 External Interrupt Line */ -#define PIN_PB23A_EIC_EXTINT7 _L_(55) /**< \brief EIC signal: EXTINT7 on PB23 mux A */ -#define MUX_PB23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PB23A_EIC_EXTINT7 ((PIN_PB23A_EIC_EXTINT7 << 16) | MUX_PB23A_EIC_EXTINT7) -#define PORT_PB23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PB23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB23 External Interrupt Line */ -#define PIN_PC23A_EIC_EXTINT7 _L_(87) /**< \brief EIC signal: EXTINT7 on PC23 mux A */ -#define MUX_PC23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PC23A_EIC_EXTINT7 ((PIN_PC23A_EIC_EXTINT7 << 16) | MUX_PC23A_EIC_EXTINT7) -#define PORT_PC23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PC23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PC23 External Interrupt Line */ -#define PIN_PD12A_EIC_EXTINT7 _L_(108) /**< \brief EIC signal: EXTINT7 on PD12 mux A */ -#define MUX_PD12A_EIC_EXTINT7 _L_(0) -#define PINMUX_PD12A_EIC_EXTINT7 ((PIN_PD12A_EIC_EXTINT7 << 16) | MUX_PD12A_EIC_EXTINT7) -#define PORT_PD12A_EIC_EXTINT7 (_UL_(1) << 12) -#define PIN_PD12A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PD12 External Interrupt Line */ -#define PIN_PA24A_EIC_EXTINT8 _L_(24) /**< \brief EIC signal: EXTINT8 on PA24 mux A */ -#define MUX_PA24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PA24A_EIC_EXTINT8 ((PIN_PA24A_EIC_EXTINT8 << 16) | MUX_PA24A_EIC_EXTINT8) -#define PORT_PA24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PA24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PA24 External Interrupt Line */ -#define PIN_PB08A_EIC_EXTINT8 _L_(40) /**< \brief EIC signal: EXTINT8 on PB08 mux A */ -#define MUX_PB08A_EIC_EXTINT8 _L_(0) -#define PINMUX_PB08A_EIC_EXTINT8 ((PIN_PB08A_EIC_EXTINT8 << 16) | MUX_PB08A_EIC_EXTINT8) -#define PORT_PB08A_EIC_EXTINT8 (_UL_(1) << 8) -#define PIN_PB08A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB08 External Interrupt Line */ -#define PIN_PB24A_EIC_EXTINT8 _L_(56) /**< \brief EIC signal: EXTINT8 on PB24 mux A */ -#define MUX_PB24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PB24A_EIC_EXTINT8 ((PIN_PB24A_EIC_EXTINT8 << 16) | MUX_PB24A_EIC_EXTINT8) -#define PORT_PB24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PB24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB24 External Interrupt Line */ -#define PIN_PC24A_EIC_EXTINT8 _L_(88) /**< \brief EIC signal: EXTINT8 on PC24 mux A */ -#define MUX_PC24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PC24A_EIC_EXTINT8 ((PIN_PC24A_EIC_EXTINT8 << 16) | MUX_PC24A_EIC_EXTINT8) -#define PORT_PC24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PC24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PC24 External Interrupt Line */ -#define PIN_PA09A_EIC_EXTINT9 _L_(9) /**< \brief EIC signal: EXTINT9 on PA09 mux A */ -#define MUX_PA09A_EIC_EXTINT9 _L_(0) -#define PINMUX_PA09A_EIC_EXTINT9 ((PIN_PA09A_EIC_EXTINT9 << 16) | MUX_PA09A_EIC_EXTINT9) -#define PORT_PA09A_EIC_EXTINT9 (_UL_(1) << 9) -#define PIN_PA09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA09 External Interrupt Line */ -#define PIN_PA25A_EIC_EXTINT9 _L_(25) /**< \brief EIC signal: EXTINT9 on PA25 mux A */ -#define MUX_PA25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PA25A_EIC_EXTINT9 ((PIN_PA25A_EIC_EXTINT9 << 16) | MUX_PA25A_EIC_EXTINT9) -#define PORT_PA25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PA25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA25 External Interrupt Line */ -#define PIN_PB09A_EIC_EXTINT9 _L_(41) /**< \brief EIC signal: EXTINT9 on PB09 mux A */ -#define MUX_PB09A_EIC_EXTINT9 _L_(0) -#define PINMUX_PB09A_EIC_EXTINT9 ((PIN_PB09A_EIC_EXTINT9 << 16) | MUX_PB09A_EIC_EXTINT9) -#define PORT_PB09A_EIC_EXTINT9 (_UL_(1) << 9) -#define PIN_PB09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB09 External Interrupt Line */ -#define PIN_PB25A_EIC_EXTINT9 _L_(57) /**< \brief EIC signal: EXTINT9 on PB25 mux A */ -#define MUX_PB25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PB25A_EIC_EXTINT9 ((PIN_PB25A_EIC_EXTINT9 << 16) | MUX_PB25A_EIC_EXTINT9) -#define PORT_PB25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PB25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB25 External Interrupt Line */ -#define PIN_PC07A_EIC_EXTINT9 _L_(71) /**< \brief EIC signal: EXTINT9 on PC07 mux A */ -#define MUX_PC07A_EIC_EXTINT9 _L_(0) -#define PINMUX_PC07A_EIC_EXTINT9 ((PIN_PC07A_EIC_EXTINT9 << 16) | MUX_PC07A_EIC_EXTINT9) -#define PORT_PC07A_EIC_EXTINT9 (_UL_(1) << 7) -#define PIN_PC07A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC07 External Interrupt Line */ -#define PIN_PC25A_EIC_EXTINT9 _L_(89) /**< \brief EIC signal: EXTINT9 on PC25 mux A */ -#define MUX_PC25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PC25A_EIC_EXTINT9 ((PIN_PC25A_EIC_EXTINT9 << 16) | MUX_PC25A_EIC_EXTINT9) -#define PORT_PC25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PC25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC25 External Interrupt Line */ -#define PIN_PA10A_EIC_EXTINT10 _L_(10) /**< \brief EIC signal: EXTINT10 on PA10 mux A */ -#define MUX_PA10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PA10A_EIC_EXTINT10 ((PIN_PA10A_EIC_EXTINT10 << 16) | MUX_PA10A_EIC_EXTINT10) -#define PORT_PA10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PA10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PA10 External Interrupt Line */ -#define PIN_PB10A_EIC_EXTINT10 _L_(42) /**< \brief EIC signal: EXTINT10 on PB10 mux A */ -#define MUX_PB10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PB10A_EIC_EXTINT10 ((PIN_PB10A_EIC_EXTINT10 << 16) | MUX_PB10A_EIC_EXTINT10) -#define PORT_PB10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PB10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PB10 External Interrupt Line */ -#define PIN_PC10A_EIC_EXTINT10 _L_(74) /**< \brief EIC signal: EXTINT10 on PC10 mux A */ -#define MUX_PC10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PC10A_EIC_EXTINT10 ((PIN_PC10A_EIC_EXTINT10 << 16) | MUX_PC10A_EIC_EXTINT10) -#define PORT_PC10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PC10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC10 External Interrupt Line */ -#define PIN_PC26A_EIC_EXTINT10 _L_(90) /**< \brief EIC signal: EXTINT10 on PC26 mux A */ -#define MUX_PC26A_EIC_EXTINT10 _L_(0) -#define PINMUX_PC26A_EIC_EXTINT10 ((PIN_PC26A_EIC_EXTINT10 << 16) | MUX_PC26A_EIC_EXTINT10) -#define PORT_PC26A_EIC_EXTINT10 (_UL_(1) << 26) -#define PIN_PC26A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC26 External Interrupt Line */ -#define PIN_PD20A_EIC_EXTINT10 _L_(116) /**< \brief EIC signal: EXTINT10 on PD20 mux A */ -#define MUX_PD20A_EIC_EXTINT10 _L_(0) -#define PINMUX_PD20A_EIC_EXTINT10 ((PIN_PD20A_EIC_EXTINT10 << 16) | MUX_PD20A_EIC_EXTINT10) -#define PORT_PD20A_EIC_EXTINT10 (_UL_(1) << 20) -#define PIN_PD20A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PD20 External Interrupt Line */ -#define PIN_PA11A_EIC_EXTINT11 _L_(11) /**< \brief EIC signal: EXTINT11 on PA11 mux A */ -#define MUX_PA11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PA11A_EIC_EXTINT11 ((PIN_PA11A_EIC_EXTINT11 << 16) | MUX_PA11A_EIC_EXTINT11) -#define PORT_PA11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PA11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA11 External Interrupt Line */ -#define PIN_PA27A_EIC_EXTINT11 _L_(27) /**< \brief EIC signal: EXTINT11 on PA27 mux A */ -#define MUX_PA27A_EIC_EXTINT11 _L_(0) -#define PINMUX_PA27A_EIC_EXTINT11 ((PIN_PA27A_EIC_EXTINT11 << 16) | MUX_PA27A_EIC_EXTINT11) -#define PORT_PA27A_EIC_EXTINT11 (_UL_(1) << 27) -#define PIN_PA27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA27 External Interrupt Line */ -#define PIN_PB11A_EIC_EXTINT11 _L_(43) /**< \brief EIC signal: EXTINT11 on PB11 mux A */ -#define MUX_PB11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PB11A_EIC_EXTINT11 ((PIN_PB11A_EIC_EXTINT11 << 16) | MUX_PB11A_EIC_EXTINT11) -#define PORT_PB11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PB11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PB11 External Interrupt Line */ -#define PIN_PC11A_EIC_EXTINT11 _L_(75) /**< \brief EIC signal: EXTINT11 on PC11 mux A */ -#define MUX_PC11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PC11A_EIC_EXTINT11 ((PIN_PC11A_EIC_EXTINT11 << 16) | MUX_PC11A_EIC_EXTINT11) -#define PORT_PC11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PC11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC11 External Interrupt Line */ -#define PIN_PC27A_EIC_EXTINT11 _L_(91) /**< \brief EIC signal: EXTINT11 on PC27 mux A */ -#define MUX_PC27A_EIC_EXTINT11 _L_(0) -#define PINMUX_PC27A_EIC_EXTINT11 ((PIN_PC27A_EIC_EXTINT11 << 16) | MUX_PC27A_EIC_EXTINT11) -#define PORT_PC27A_EIC_EXTINT11 (_UL_(1) << 27) -#define PIN_PC27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC27 External Interrupt Line */ -#define PIN_PD21A_EIC_EXTINT11 _L_(117) /**< \brief EIC signal: EXTINT11 on PD21 mux A */ -#define MUX_PD21A_EIC_EXTINT11 _L_(0) -#define PINMUX_PD21A_EIC_EXTINT11 ((PIN_PD21A_EIC_EXTINT11 << 16) | MUX_PD21A_EIC_EXTINT11) -#define PORT_PD21A_EIC_EXTINT11 (_UL_(1) << 21) -#define PIN_PD21A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PD21 External Interrupt Line */ -#define PIN_PA12A_EIC_EXTINT12 _L_(12) /**< \brief EIC signal: EXTINT12 on PA12 mux A */ -#define MUX_PA12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PA12A_EIC_EXTINT12 ((PIN_PA12A_EIC_EXTINT12 << 16) | MUX_PA12A_EIC_EXTINT12) -#define PORT_PA12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PA12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PA12 External Interrupt Line */ -#define PIN_PB12A_EIC_EXTINT12 _L_(44) /**< \brief EIC signal: EXTINT12 on PB12 mux A */ -#define MUX_PB12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PB12A_EIC_EXTINT12 ((PIN_PB12A_EIC_EXTINT12 << 16) | MUX_PB12A_EIC_EXTINT12) -#define PORT_PB12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PB12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB12 External Interrupt Line */ -#define PIN_PB26A_EIC_EXTINT12 _L_(58) /**< \brief EIC signal: EXTINT12 on PB26 mux A */ -#define MUX_PB26A_EIC_EXTINT12 _L_(0) -#define PINMUX_PB26A_EIC_EXTINT12 ((PIN_PB26A_EIC_EXTINT12 << 16) | MUX_PB26A_EIC_EXTINT12) -#define PORT_PB26A_EIC_EXTINT12 (_UL_(1) << 26) -#define PIN_PB26A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB26 External Interrupt Line */ -#define PIN_PC12A_EIC_EXTINT12 _L_(76) /**< \brief EIC signal: EXTINT12 on PC12 mux A */ -#define MUX_PC12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PC12A_EIC_EXTINT12 ((PIN_PC12A_EIC_EXTINT12 << 16) | MUX_PC12A_EIC_EXTINT12) -#define PORT_PC12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PC12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC12 External Interrupt Line */ -#define PIN_PC28A_EIC_EXTINT12 _L_(92) /**< \brief EIC signal: EXTINT12 on PC28 mux A */ -#define MUX_PC28A_EIC_EXTINT12 _L_(0) -#define PINMUX_PC28A_EIC_EXTINT12 ((PIN_PC28A_EIC_EXTINT12 << 16) | MUX_PC28A_EIC_EXTINT12) -#define PORT_PC28A_EIC_EXTINT12 (_UL_(1) << 28) -#define PIN_PC28A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC28 External Interrupt Line */ -#define PIN_PA13A_EIC_EXTINT13 _L_(13) /**< \brief EIC signal: EXTINT13 on PA13 mux A */ -#define MUX_PA13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PA13A_EIC_EXTINT13 ((PIN_PA13A_EIC_EXTINT13 << 16) | MUX_PA13A_EIC_EXTINT13) -#define PORT_PA13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PA13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PA13 External Interrupt Line */ -#define PIN_PB13A_EIC_EXTINT13 _L_(45) /**< \brief EIC signal: EXTINT13 on PB13 mux A */ -#define MUX_PB13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PB13A_EIC_EXTINT13 ((PIN_PB13A_EIC_EXTINT13 << 16) | MUX_PB13A_EIC_EXTINT13) -#define PORT_PB13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PB13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB13 External Interrupt Line */ -#define PIN_PB27A_EIC_EXTINT13 _L_(59) /**< \brief EIC signal: EXTINT13 on PB27 mux A */ -#define MUX_PB27A_EIC_EXTINT13 _L_(0) -#define PINMUX_PB27A_EIC_EXTINT13 ((PIN_PB27A_EIC_EXTINT13 << 16) | MUX_PB27A_EIC_EXTINT13) -#define PORT_PB27A_EIC_EXTINT13 (_UL_(1) << 27) -#define PIN_PB27A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB27 External Interrupt Line */ -#define PIN_PC13A_EIC_EXTINT13 _L_(77) /**< \brief EIC signal: EXTINT13 on PC13 mux A */ -#define MUX_PC13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PC13A_EIC_EXTINT13 ((PIN_PC13A_EIC_EXTINT13 << 16) | MUX_PC13A_EIC_EXTINT13) -#define PORT_PC13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PC13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PC13 External Interrupt Line */ -#define PIN_PA30A_EIC_EXTINT14 _L_(30) /**< \brief EIC signal: EXTINT14 on PA30 mux A */ -#define MUX_PA30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PA30A_EIC_EXTINT14 ((PIN_PA30A_EIC_EXTINT14 << 16) | MUX_PA30A_EIC_EXTINT14) -#define PORT_PA30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PA30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA30 External Interrupt Line */ -#define PIN_PB14A_EIC_EXTINT14 _L_(46) /**< \brief EIC signal: EXTINT14 on PB14 mux A */ -#define MUX_PB14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB14A_EIC_EXTINT14 ((PIN_PB14A_EIC_EXTINT14 << 16) | MUX_PB14A_EIC_EXTINT14) -#define PORT_PB14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PB14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB14 External Interrupt Line */ -#define PIN_PB28A_EIC_EXTINT14 _L_(60) /**< \brief EIC signal: EXTINT14 on PB28 mux A */ -#define MUX_PB28A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB28A_EIC_EXTINT14 ((PIN_PB28A_EIC_EXTINT14 << 16) | MUX_PB28A_EIC_EXTINT14) -#define PORT_PB28A_EIC_EXTINT14 (_UL_(1) << 28) -#define PIN_PB28A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB28 External Interrupt Line */ -#define PIN_PB30A_EIC_EXTINT14 _L_(62) /**< \brief EIC signal: EXTINT14 on PB30 mux A */ -#define MUX_PB30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB30A_EIC_EXTINT14 ((PIN_PB30A_EIC_EXTINT14 << 16) | MUX_PB30A_EIC_EXTINT14) -#define PORT_PB30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PB30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB30 External Interrupt Line */ -#define PIN_PC14A_EIC_EXTINT14 _L_(78) /**< \brief EIC signal: EXTINT14 on PC14 mux A */ -#define MUX_PC14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PC14A_EIC_EXTINT14 ((PIN_PC14A_EIC_EXTINT14 << 16) | MUX_PC14A_EIC_EXTINT14) -#define PORT_PC14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PC14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC14 External Interrupt Line */ -#define PIN_PC30A_EIC_EXTINT14 _L_(94) /**< \brief EIC signal: EXTINT14 on PC30 mux A */ -#define MUX_PC30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PC30A_EIC_EXTINT14 ((PIN_PC30A_EIC_EXTINT14 << 16) | MUX_PC30A_EIC_EXTINT14) -#define PORT_PC30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PC30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC30 External Interrupt Line */ -#define PIN_PA14A_EIC_EXTINT14 _L_(14) /**< \brief EIC signal: EXTINT14 on PA14 mux A */ -#define MUX_PA14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PA14A_EIC_EXTINT14 ((PIN_PA14A_EIC_EXTINT14 << 16) | MUX_PA14A_EIC_EXTINT14) -#define PORT_PA14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PA14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA14 External Interrupt Line */ -#define PIN_PA15A_EIC_EXTINT15 _L_(15) /**< \brief EIC signal: EXTINT15 on PA15 mux A */ -#define MUX_PA15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PA15A_EIC_EXTINT15 ((PIN_PA15A_EIC_EXTINT15 << 16) | MUX_PA15A_EIC_EXTINT15) -#define PORT_PA15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PA15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA15 External Interrupt Line */ -#define PIN_PA31A_EIC_EXTINT15 _L_(31) /**< \brief EIC signal: EXTINT15 on PA31 mux A */ -#define MUX_PA31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PA31A_EIC_EXTINT15 ((PIN_PA31A_EIC_EXTINT15 << 16) | MUX_PA31A_EIC_EXTINT15) -#define PORT_PA31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PA31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA31 External Interrupt Line */ -#define PIN_PB15A_EIC_EXTINT15 _L_(47) /**< \brief EIC signal: EXTINT15 on PB15 mux A */ -#define MUX_PB15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB15A_EIC_EXTINT15 ((PIN_PB15A_EIC_EXTINT15 << 16) | MUX_PB15A_EIC_EXTINT15) -#define PORT_PB15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PB15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB15 External Interrupt Line */ -#define PIN_PB29A_EIC_EXTINT15 _L_(61) /**< \brief EIC signal: EXTINT15 on PB29 mux A */ -#define MUX_PB29A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB29A_EIC_EXTINT15 ((PIN_PB29A_EIC_EXTINT15 << 16) | MUX_PB29A_EIC_EXTINT15) -#define PORT_PB29A_EIC_EXTINT15 (_UL_(1) << 29) -#define PIN_PB29A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB29 External Interrupt Line */ -#define PIN_PB31A_EIC_EXTINT15 _L_(63) /**< \brief EIC signal: EXTINT15 on PB31 mux A */ -#define MUX_PB31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB31A_EIC_EXTINT15 ((PIN_PB31A_EIC_EXTINT15 << 16) | MUX_PB31A_EIC_EXTINT15) -#define PORT_PB31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PB31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB31 External Interrupt Line */ -#define PIN_PC15A_EIC_EXTINT15 _L_(79) /**< \brief EIC signal: EXTINT15 on PC15 mux A */ -#define MUX_PC15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PC15A_EIC_EXTINT15 ((PIN_PC15A_EIC_EXTINT15 << 16) | MUX_PC15A_EIC_EXTINT15) -#define PORT_PC15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PC15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC15 External Interrupt Line */ -#define PIN_PC31A_EIC_EXTINT15 _L_(95) /**< \brief EIC signal: EXTINT15 on PC31 mux A */ -#define MUX_PC31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PC31A_EIC_EXTINT15 ((PIN_PC31A_EIC_EXTINT15 << 16) | MUX_PC31A_EIC_EXTINT15) -#define PORT_PC31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PC31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC31 External Interrupt Line */ -#define PIN_PA08A_EIC_NMI _L_(8) /**< \brief EIC signal: NMI on PA08 mux A */ -#define MUX_PA08A_EIC_NMI _L_(0) -#define PINMUX_PA08A_EIC_NMI ((PIN_PA08A_EIC_NMI << 16) | MUX_PA08A_EIC_NMI) -#define PORT_PA08A_EIC_NMI (_UL_(1) << 8) -/* ========== PORT definition for SERCOM0 peripheral ========== */ -#define PIN_PA04D_SERCOM0_PAD0 _L_(4) /**< \brief SERCOM0 signal: PAD0 on PA04 mux D */ -#define MUX_PA04D_SERCOM0_PAD0 _L_(3) -#define PINMUX_PA04D_SERCOM0_PAD0 ((PIN_PA04D_SERCOM0_PAD0 << 16) | MUX_PA04D_SERCOM0_PAD0) -#define PORT_PA04D_SERCOM0_PAD0 (_UL_(1) << 4) -#define PIN_PC17D_SERCOM0_PAD0 _L_(81) /**< \brief SERCOM0 signal: PAD0 on PC17 mux D */ -#define MUX_PC17D_SERCOM0_PAD0 _L_(3) -#define PINMUX_PC17D_SERCOM0_PAD0 ((PIN_PC17D_SERCOM0_PAD0 << 16) | MUX_PC17D_SERCOM0_PAD0) -#define PORT_PC17D_SERCOM0_PAD0 (_UL_(1) << 17) -#define PIN_PA08C_SERCOM0_PAD0 _L_(8) /**< \brief SERCOM0 signal: PAD0 on PA08 mux C */ -#define MUX_PA08C_SERCOM0_PAD0 _L_(2) -#define PINMUX_PA08C_SERCOM0_PAD0 ((PIN_PA08C_SERCOM0_PAD0 << 16) | MUX_PA08C_SERCOM0_PAD0) -#define PORT_PA08C_SERCOM0_PAD0 (_UL_(1) << 8) -#define PIN_PB24C_SERCOM0_PAD0 _L_(56) /**< \brief SERCOM0 signal: PAD0 on PB24 mux C */ -#define MUX_PB24C_SERCOM0_PAD0 _L_(2) -#define PINMUX_PB24C_SERCOM0_PAD0 ((PIN_PB24C_SERCOM0_PAD0 << 16) | MUX_PB24C_SERCOM0_PAD0) -#define PORT_PB24C_SERCOM0_PAD0 (_UL_(1) << 24) -#define PIN_PA05D_SERCOM0_PAD1 _L_(5) /**< \brief SERCOM0 signal: PAD1 on PA05 mux D */ -#define MUX_PA05D_SERCOM0_PAD1 _L_(3) -#define PINMUX_PA05D_SERCOM0_PAD1 ((PIN_PA05D_SERCOM0_PAD1 << 16) | MUX_PA05D_SERCOM0_PAD1) -#define PORT_PA05D_SERCOM0_PAD1 (_UL_(1) << 5) -#define PIN_PC16D_SERCOM0_PAD1 _L_(80) /**< \brief SERCOM0 signal: PAD1 on PC16 mux D */ -#define MUX_PC16D_SERCOM0_PAD1 _L_(3) -#define PINMUX_PC16D_SERCOM0_PAD1 ((PIN_PC16D_SERCOM0_PAD1 << 16) | MUX_PC16D_SERCOM0_PAD1) -#define PORT_PC16D_SERCOM0_PAD1 (_UL_(1) << 16) -#define PIN_PA09C_SERCOM0_PAD1 _L_(9) /**< \brief SERCOM0 signal: PAD1 on PA09 mux C */ -#define MUX_PA09C_SERCOM0_PAD1 _L_(2) -#define PINMUX_PA09C_SERCOM0_PAD1 ((PIN_PA09C_SERCOM0_PAD1 << 16) | MUX_PA09C_SERCOM0_PAD1) -#define PORT_PA09C_SERCOM0_PAD1 (_UL_(1) << 9) -#define PIN_PB25C_SERCOM0_PAD1 _L_(57) /**< \brief SERCOM0 signal: PAD1 on PB25 mux C */ -#define MUX_PB25C_SERCOM0_PAD1 _L_(2) -#define PINMUX_PB25C_SERCOM0_PAD1 ((PIN_PB25C_SERCOM0_PAD1 << 16) | MUX_PB25C_SERCOM0_PAD1) -#define PORT_PB25C_SERCOM0_PAD1 (_UL_(1) << 25) -#define PIN_PA06D_SERCOM0_PAD2 _L_(6) /**< \brief SERCOM0 signal: PAD2 on PA06 mux D */ -#define MUX_PA06D_SERCOM0_PAD2 _L_(3) -#define PINMUX_PA06D_SERCOM0_PAD2 ((PIN_PA06D_SERCOM0_PAD2 << 16) | MUX_PA06D_SERCOM0_PAD2) -#define PORT_PA06D_SERCOM0_PAD2 (_UL_(1) << 6) -#define PIN_PC18D_SERCOM0_PAD2 _L_(82) /**< \brief SERCOM0 signal: PAD2 on PC18 mux D */ -#define MUX_PC18D_SERCOM0_PAD2 _L_(3) -#define PINMUX_PC18D_SERCOM0_PAD2 ((PIN_PC18D_SERCOM0_PAD2 << 16) | MUX_PC18D_SERCOM0_PAD2) -#define PORT_PC18D_SERCOM0_PAD2 (_UL_(1) << 18) -#define PIN_PA10C_SERCOM0_PAD2 _L_(10) /**< \brief SERCOM0 signal: PAD2 on PA10 mux C */ -#define MUX_PA10C_SERCOM0_PAD2 _L_(2) -#define PINMUX_PA10C_SERCOM0_PAD2 ((PIN_PA10C_SERCOM0_PAD2 << 16) | MUX_PA10C_SERCOM0_PAD2) -#define PORT_PA10C_SERCOM0_PAD2 (_UL_(1) << 10) -#define PIN_PC24C_SERCOM0_PAD2 _L_(88) /**< \brief SERCOM0 signal: PAD2 on PC24 mux C */ -#define MUX_PC24C_SERCOM0_PAD2 _L_(2) -#define PINMUX_PC24C_SERCOM0_PAD2 ((PIN_PC24C_SERCOM0_PAD2 << 16) | MUX_PC24C_SERCOM0_PAD2) -#define PORT_PC24C_SERCOM0_PAD2 (_UL_(1) << 24) -#define PIN_PA07D_SERCOM0_PAD3 _L_(7) /**< \brief SERCOM0 signal: PAD3 on PA07 mux D */ -#define MUX_PA07D_SERCOM0_PAD3 _L_(3) -#define PINMUX_PA07D_SERCOM0_PAD3 ((PIN_PA07D_SERCOM0_PAD3 << 16) | MUX_PA07D_SERCOM0_PAD3) -#define PORT_PA07D_SERCOM0_PAD3 (_UL_(1) << 7) -#define PIN_PC19D_SERCOM0_PAD3 _L_(83) /**< \brief SERCOM0 signal: PAD3 on PC19 mux D */ -#define MUX_PC19D_SERCOM0_PAD3 _L_(3) -#define PINMUX_PC19D_SERCOM0_PAD3 ((PIN_PC19D_SERCOM0_PAD3 << 16) | MUX_PC19D_SERCOM0_PAD3) -#define PORT_PC19D_SERCOM0_PAD3 (_UL_(1) << 19) -#define PIN_PA11C_SERCOM0_PAD3 _L_(11) /**< \brief SERCOM0 signal: PAD3 on PA11 mux C */ -#define MUX_PA11C_SERCOM0_PAD3 _L_(2) -#define PINMUX_PA11C_SERCOM0_PAD3 ((PIN_PA11C_SERCOM0_PAD3 << 16) | MUX_PA11C_SERCOM0_PAD3) -#define PORT_PA11C_SERCOM0_PAD3 (_UL_(1) << 11) -#define PIN_PC25C_SERCOM0_PAD3 _L_(89) /**< \brief SERCOM0 signal: PAD3 on PC25 mux C */ -#define MUX_PC25C_SERCOM0_PAD3 _L_(2) -#define PINMUX_PC25C_SERCOM0_PAD3 ((PIN_PC25C_SERCOM0_PAD3 << 16) | MUX_PC25C_SERCOM0_PAD3) -#define PORT_PC25C_SERCOM0_PAD3 (_UL_(1) << 25) -/* ========== PORT definition for SERCOM1 peripheral ========== */ -#define PIN_PA00D_SERCOM1_PAD0 _L_(0) /**< \brief SERCOM1 signal: PAD0 on PA00 mux D */ -#define MUX_PA00D_SERCOM1_PAD0 _L_(3) -#define PINMUX_PA00D_SERCOM1_PAD0 ((PIN_PA00D_SERCOM1_PAD0 << 16) | MUX_PA00D_SERCOM1_PAD0) -#define PORT_PA00D_SERCOM1_PAD0 (_UL_(1) << 0) -#define PIN_PA16C_SERCOM1_PAD0 _L_(16) /**< \brief SERCOM1 signal: PAD0 on PA16 mux C */ -#define MUX_PA16C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PA16C_SERCOM1_PAD0 ((PIN_PA16C_SERCOM1_PAD0 << 16) | MUX_PA16C_SERCOM1_PAD0) -#define PORT_PA16C_SERCOM1_PAD0 (_UL_(1) << 16) -#define PIN_PC22C_SERCOM1_PAD0 _L_(86) /**< \brief SERCOM1 signal: PAD0 on PC22 mux C */ -#define MUX_PC22C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PC22C_SERCOM1_PAD0 ((PIN_PC22C_SERCOM1_PAD0 << 16) | MUX_PC22C_SERCOM1_PAD0) -#define PORT_PC22C_SERCOM1_PAD0 (_UL_(1) << 22) -#define PIN_PC27C_SERCOM1_PAD0 _L_(91) /**< \brief SERCOM1 signal: PAD0 on PC27 mux C */ -#define MUX_PC27C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PC27C_SERCOM1_PAD0 ((PIN_PC27C_SERCOM1_PAD0 << 16) | MUX_PC27C_SERCOM1_PAD0) -#define PORT_PC27C_SERCOM1_PAD0 (_UL_(1) << 27) -#define PIN_PA01D_SERCOM1_PAD1 _L_(1) /**< \brief SERCOM1 signal: PAD1 on PA01 mux D */ -#define MUX_PA01D_SERCOM1_PAD1 _L_(3) -#define PINMUX_PA01D_SERCOM1_PAD1 ((PIN_PA01D_SERCOM1_PAD1 << 16) | MUX_PA01D_SERCOM1_PAD1) -#define PORT_PA01D_SERCOM1_PAD1 (_UL_(1) << 1) -#define PIN_PA17C_SERCOM1_PAD1 _L_(17) /**< \brief SERCOM1 signal: PAD1 on PA17 mux C */ -#define MUX_PA17C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PA17C_SERCOM1_PAD1 ((PIN_PA17C_SERCOM1_PAD1 << 16) | MUX_PA17C_SERCOM1_PAD1) -#define PORT_PA17C_SERCOM1_PAD1 (_UL_(1) << 17) -#define PIN_PC23C_SERCOM1_PAD1 _L_(87) /**< \brief SERCOM1 signal: PAD1 on PC23 mux C */ -#define MUX_PC23C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PC23C_SERCOM1_PAD1 ((PIN_PC23C_SERCOM1_PAD1 << 16) | MUX_PC23C_SERCOM1_PAD1) -#define PORT_PC23C_SERCOM1_PAD1 (_UL_(1) << 23) -#define PIN_PC28C_SERCOM1_PAD1 _L_(92) /**< \brief SERCOM1 signal: PAD1 on PC28 mux C */ -#define MUX_PC28C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PC28C_SERCOM1_PAD1 ((PIN_PC28C_SERCOM1_PAD1 << 16) | MUX_PC28C_SERCOM1_PAD1) -#define PORT_PC28C_SERCOM1_PAD1 (_UL_(1) << 28) -#define PIN_PA30D_SERCOM1_PAD2 _L_(30) /**< \brief SERCOM1 signal: PAD2 on PA30 mux D */ -#define MUX_PA30D_SERCOM1_PAD2 _L_(3) -#define PINMUX_PA30D_SERCOM1_PAD2 ((PIN_PA30D_SERCOM1_PAD2 << 16) | MUX_PA30D_SERCOM1_PAD2) -#define PORT_PA30D_SERCOM1_PAD2 (_UL_(1) << 30) -#define PIN_PA18C_SERCOM1_PAD2 _L_(18) /**< \brief SERCOM1 signal: PAD2 on PA18 mux C */ -#define MUX_PA18C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PA18C_SERCOM1_PAD2 ((PIN_PA18C_SERCOM1_PAD2 << 16) | MUX_PA18C_SERCOM1_PAD2) -#define PORT_PA18C_SERCOM1_PAD2 (_UL_(1) << 18) -#define PIN_PB22C_SERCOM1_PAD2 _L_(54) /**< \brief SERCOM1 signal: PAD2 on PB22 mux C */ -#define MUX_PB22C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PB22C_SERCOM1_PAD2 ((PIN_PB22C_SERCOM1_PAD2 << 16) | MUX_PB22C_SERCOM1_PAD2) -#define PORT_PB22C_SERCOM1_PAD2 (_UL_(1) << 22) -#define PIN_PD20C_SERCOM1_PAD2 _L_(116) /**< \brief SERCOM1 signal: PAD2 on PD20 mux C */ -#define MUX_PD20C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PD20C_SERCOM1_PAD2 ((PIN_PD20C_SERCOM1_PAD2 << 16) | MUX_PD20C_SERCOM1_PAD2) -#define PORT_PD20C_SERCOM1_PAD2 (_UL_(1) << 20) -#define PIN_PA31D_SERCOM1_PAD3 _L_(31) /**< \brief SERCOM1 signal: PAD3 on PA31 mux D */ -#define MUX_PA31D_SERCOM1_PAD3 _L_(3) -#define PINMUX_PA31D_SERCOM1_PAD3 ((PIN_PA31D_SERCOM1_PAD3 << 16) | MUX_PA31D_SERCOM1_PAD3) -#define PORT_PA31D_SERCOM1_PAD3 (_UL_(1) << 31) -#define PIN_PA19C_SERCOM1_PAD3 _L_(19) /**< \brief SERCOM1 signal: PAD3 on PA19 mux C */ -#define MUX_PA19C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PA19C_SERCOM1_PAD3 ((PIN_PA19C_SERCOM1_PAD3 << 16) | MUX_PA19C_SERCOM1_PAD3) -#define PORT_PA19C_SERCOM1_PAD3 (_UL_(1) << 19) -#define PIN_PB23C_SERCOM1_PAD3 _L_(55) /**< \brief SERCOM1 signal: PAD3 on PB23 mux C */ -#define MUX_PB23C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PB23C_SERCOM1_PAD3 ((PIN_PB23C_SERCOM1_PAD3 << 16) | MUX_PB23C_SERCOM1_PAD3) -#define PORT_PB23C_SERCOM1_PAD3 (_UL_(1) << 23) -#define PIN_PD21C_SERCOM1_PAD3 _L_(117) /**< \brief SERCOM1 signal: PAD3 on PD21 mux C */ -#define MUX_PD21C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PD21C_SERCOM1_PAD3 ((PIN_PD21C_SERCOM1_PAD3 << 16) | MUX_PD21C_SERCOM1_PAD3) -#define PORT_PD21C_SERCOM1_PAD3 (_UL_(1) << 21) -/* ========== PORT definition for TC0 peripheral ========== */ -#define PIN_PA04E_TC0_WO0 _L_(4) /**< \brief TC0 signal: WO0 on PA04 mux E */ -#define MUX_PA04E_TC0_WO0 _L_(4) -#define PINMUX_PA04E_TC0_WO0 ((PIN_PA04E_TC0_WO0 << 16) | MUX_PA04E_TC0_WO0) -#define PORT_PA04E_TC0_WO0 (_UL_(1) << 4) -#define PIN_PA08E_TC0_WO0 _L_(8) /**< \brief TC0 signal: WO0 on PA08 mux E */ -#define MUX_PA08E_TC0_WO0 _L_(4) -#define PINMUX_PA08E_TC0_WO0 ((PIN_PA08E_TC0_WO0 << 16) | MUX_PA08E_TC0_WO0) -#define PORT_PA08E_TC0_WO0 (_UL_(1) << 8) -#define PIN_PB30E_TC0_WO0 _L_(62) /**< \brief TC0 signal: WO0 on PB30 mux E */ -#define MUX_PB30E_TC0_WO0 _L_(4) -#define PINMUX_PB30E_TC0_WO0 ((PIN_PB30E_TC0_WO0 << 16) | MUX_PB30E_TC0_WO0) -#define PORT_PB30E_TC0_WO0 (_UL_(1) << 30) -#define PIN_PA05E_TC0_WO1 _L_(5) /**< \brief TC0 signal: WO1 on PA05 mux E */ -#define MUX_PA05E_TC0_WO1 _L_(4) -#define PINMUX_PA05E_TC0_WO1 ((PIN_PA05E_TC0_WO1 << 16) | MUX_PA05E_TC0_WO1) -#define PORT_PA05E_TC0_WO1 (_UL_(1) << 5) -#define PIN_PA09E_TC0_WO1 _L_(9) /**< \brief TC0 signal: WO1 on PA09 mux E */ -#define MUX_PA09E_TC0_WO1 _L_(4) -#define PINMUX_PA09E_TC0_WO1 ((PIN_PA09E_TC0_WO1 << 16) | MUX_PA09E_TC0_WO1) -#define PORT_PA09E_TC0_WO1 (_UL_(1) << 9) -#define PIN_PB31E_TC0_WO1 _L_(63) /**< \brief TC0 signal: WO1 on PB31 mux E */ -#define MUX_PB31E_TC0_WO1 _L_(4) -#define PINMUX_PB31E_TC0_WO1 ((PIN_PB31E_TC0_WO1 << 16) | MUX_PB31E_TC0_WO1) -#define PORT_PB31E_TC0_WO1 (_UL_(1) << 31) -/* ========== PORT definition for TC1 peripheral ========== */ -#define PIN_PA06E_TC1_WO0 _L_(6) /**< \brief TC1 signal: WO0 on PA06 mux E */ -#define MUX_PA06E_TC1_WO0 _L_(4) -#define PINMUX_PA06E_TC1_WO0 ((PIN_PA06E_TC1_WO0 << 16) | MUX_PA06E_TC1_WO0) -#define PORT_PA06E_TC1_WO0 (_UL_(1) << 6) -#define PIN_PA10E_TC1_WO0 _L_(10) /**< \brief TC1 signal: WO0 on PA10 mux E */ -#define MUX_PA10E_TC1_WO0 _L_(4) -#define PINMUX_PA10E_TC1_WO0 ((PIN_PA10E_TC1_WO0 << 16) | MUX_PA10E_TC1_WO0) -#define PORT_PA10E_TC1_WO0 (_UL_(1) << 10) -#define PIN_PA07E_TC1_WO1 _L_(7) /**< \brief TC1 signal: WO1 on PA07 mux E */ -#define MUX_PA07E_TC1_WO1 _L_(4) -#define PINMUX_PA07E_TC1_WO1 ((PIN_PA07E_TC1_WO1 << 16) | MUX_PA07E_TC1_WO1) -#define PORT_PA07E_TC1_WO1 (_UL_(1) << 7) -#define PIN_PA11E_TC1_WO1 _L_(11) /**< \brief TC1 signal: WO1 on PA11 mux E */ -#define MUX_PA11E_TC1_WO1 _L_(4) -#define PINMUX_PA11E_TC1_WO1 ((PIN_PA11E_TC1_WO1 << 16) | MUX_PA11E_TC1_WO1) -#define PORT_PA11E_TC1_WO1 (_UL_(1) << 11) -/* ========== PORT definition for USB peripheral ========== */ -#define PIN_PA24H_USB_DM _L_(24) /**< \brief USB signal: DM on PA24 mux H */ -#define MUX_PA24H_USB_DM _L_(7) -#define PINMUX_PA24H_USB_DM ((PIN_PA24H_USB_DM << 16) | MUX_PA24H_USB_DM) -#define PORT_PA24H_USB_DM (_UL_(1) << 24) -#define PIN_PA25H_USB_DP _L_(25) /**< \brief USB signal: DP on PA25 mux H */ -#define MUX_PA25H_USB_DP _L_(7) -#define PINMUX_PA25H_USB_DP ((PIN_PA25H_USB_DP << 16) | MUX_PA25H_USB_DP) -#define PORT_PA25H_USB_DP (_UL_(1) << 25) -#define PIN_PA23H_USB_SOF_1KHZ _L_(23) /**< \brief USB signal: SOF_1KHZ on PA23 mux H */ -#define MUX_PA23H_USB_SOF_1KHZ _L_(7) -#define PINMUX_PA23H_USB_SOF_1KHZ ((PIN_PA23H_USB_SOF_1KHZ << 16) | MUX_PA23H_USB_SOF_1KHZ) -#define PORT_PA23H_USB_SOF_1KHZ (_UL_(1) << 23) -#define PIN_PB22H_USB_SOF_1KHZ _L_(54) /**< \brief USB signal: SOF_1KHZ on PB22 mux H */ -#define MUX_PB22H_USB_SOF_1KHZ _L_(7) -#define PINMUX_PB22H_USB_SOF_1KHZ ((PIN_PB22H_USB_SOF_1KHZ << 16) | MUX_PB22H_USB_SOF_1KHZ) -#define PORT_PB22H_USB_SOF_1KHZ (_UL_(1) << 22) -/* ========== PORT definition for SERCOM2 peripheral ========== */ -#define PIN_PA09D_SERCOM2_PAD0 _L_(9) /**< \brief SERCOM2 signal: PAD0 on PA09 mux D */ -#define MUX_PA09D_SERCOM2_PAD0 _L_(3) -#define PINMUX_PA09D_SERCOM2_PAD0 ((PIN_PA09D_SERCOM2_PAD0 << 16) | MUX_PA09D_SERCOM2_PAD0) -#define PORT_PA09D_SERCOM2_PAD0 (_UL_(1) << 9) -#define PIN_PB25D_SERCOM2_PAD0 _L_(57) /**< \brief SERCOM2 signal: PAD0 on PB25 mux D */ -#define MUX_PB25D_SERCOM2_PAD0 _L_(3) -#define PINMUX_PB25D_SERCOM2_PAD0 ((PIN_PB25D_SERCOM2_PAD0 << 16) | MUX_PB25D_SERCOM2_PAD0) -#define PORT_PB25D_SERCOM2_PAD0 (_UL_(1) << 25) -#define PIN_PA12C_SERCOM2_PAD0 _L_(12) /**< \brief SERCOM2 signal: PAD0 on PA12 mux C */ -#define MUX_PA12C_SERCOM2_PAD0 _L_(2) -#define PINMUX_PA12C_SERCOM2_PAD0 ((PIN_PA12C_SERCOM2_PAD0 << 16) | MUX_PA12C_SERCOM2_PAD0) -#define PORT_PA12C_SERCOM2_PAD0 (_UL_(1) << 12) -#define PIN_PB26C_SERCOM2_PAD0 _L_(58) /**< \brief SERCOM2 signal: PAD0 on PB26 mux C */ -#define MUX_PB26C_SERCOM2_PAD0 _L_(2) -#define PINMUX_PB26C_SERCOM2_PAD0 ((PIN_PB26C_SERCOM2_PAD0 << 16) | MUX_PB26C_SERCOM2_PAD0) -#define PORT_PB26C_SERCOM2_PAD0 (_UL_(1) << 26) -#define PIN_PA08D_SERCOM2_PAD1 _L_(8) /**< \brief SERCOM2 signal: PAD1 on PA08 mux D */ -#define MUX_PA08D_SERCOM2_PAD1 _L_(3) -#define PINMUX_PA08D_SERCOM2_PAD1 ((PIN_PA08D_SERCOM2_PAD1 << 16) | MUX_PA08D_SERCOM2_PAD1) -#define PORT_PA08D_SERCOM2_PAD1 (_UL_(1) << 8) -#define PIN_PB24D_SERCOM2_PAD1 _L_(56) /**< \brief SERCOM2 signal: PAD1 on PB24 mux D */ -#define MUX_PB24D_SERCOM2_PAD1 _L_(3) -#define PINMUX_PB24D_SERCOM2_PAD1 ((PIN_PB24D_SERCOM2_PAD1 << 16) | MUX_PB24D_SERCOM2_PAD1) -#define PORT_PB24D_SERCOM2_PAD1 (_UL_(1) << 24) -#define PIN_PA13C_SERCOM2_PAD1 _L_(13) /**< \brief SERCOM2 signal: PAD1 on PA13 mux C */ -#define MUX_PA13C_SERCOM2_PAD1 _L_(2) -#define PINMUX_PA13C_SERCOM2_PAD1 ((PIN_PA13C_SERCOM2_PAD1 << 16) | MUX_PA13C_SERCOM2_PAD1) -#define PORT_PA13C_SERCOM2_PAD1 (_UL_(1) << 13) -#define PIN_PB27C_SERCOM2_PAD1 _L_(59) /**< \brief SERCOM2 signal: PAD1 on PB27 mux C */ -#define MUX_PB27C_SERCOM2_PAD1 _L_(2) -#define PINMUX_PB27C_SERCOM2_PAD1 ((PIN_PB27C_SERCOM2_PAD1 << 16) | MUX_PB27C_SERCOM2_PAD1) -#define PORT_PB27C_SERCOM2_PAD1 (_UL_(1) << 27) -#define PIN_PA10D_SERCOM2_PAD2 _L_(10) /**< \brief SERCOM2 signal: PAD2 on PA10 mux D */ -#define MUX_PA10D_SERCOM2_PAD2 _L_(3) -#define PINMUX_PA10D_SERCOM2_PAD2 ((PIN_PA10D_SERCOM2_PAD2 << 16) | MUX_PA10D_SERCOM2_PAD2) -#define PORT_PA10D_SERCOM2_PAD2 (_UL_(1) << 10) -#define PIN_PC24D_SERCOM2_PAD2 _L_(88) /**< \brief SERCOM2 signal: PAD2 on PC24 mux D */ -#define MUX_PC24D_SERCOM2_PAD2 _L_(3) -#define PINMUX_PC24D_SERCOM2_PAD2 ((PIN_PC24D_SERCOM2_PAD2 << 16) | MUX_PC24D_SERCOM2_PAD2) -#define PORT_PC24D_SERCOM2_PAD2 (_UL_(1) << 24) -#define PIN_PB28C_SERCOM2_PAD2 _L_(60) /**< \brief SERCOM2 signal: PAD2 on PB28 mux C */ -#define MUX_PB28C_SERCOM2_PAD2 _L_(2) -#define PINMUX_PB28C_SERCOM2_PAD2 ((PIN_PB28C_SERCOM2_PAD2 << 16) | MUX_PB28C_SERCOM2_PAD2) -#define PORT_PB28C_SERCOM2_PAD2 (_UL_(1) << 28) -#define PIN_PA14C_SERCOM2_PAD2 _L_(14) /**< \brief SERCOM2 signal: PAD2 on PA14 mux C */ -#define MUX_PA14C_SERCOM2_PAD2 _L_(2) -#define PINMUX_PA14C_SERCOM2_PAD2 ((PIN_PA14C_SERCOM2_PAD2 << 16) | MUX_PA14C_SERCOM2_PAD2) -#define PORT_PA14C_SERCOM2_PAD2 (_UL_(1) << 14) -#define PIN_PA11D_SERCOM2_PAD3 _L_(11) /**< \brief SERCOM2 signal: PAD3 on PA11 mux D */ -#define MUX_PA11D_SERCOM2_PAD3 _L_(3) -#define PINMUX_PA11D_SERCOM2_PAD3 ((PIN_PA11D_SERCOM2_PAD3 << 16) | MUX_PA11D_SERCOM2_PAD3) -#define PORT_PA11D_SERCOM2_PAD3 (_UL_(1) << 11) -#define PIN_PC25D_SERCOM2_PAD3 _L_(89) /**< \brief SERCOM2 signal: PAD3 on PC25 mux D */ -#define MUX_PC25D_SERCOM2_PAD3 _L_(3) -#define PINMUX_PC25D_SERCOM2_PAD3 ((PIN_PC25D_SERCOM2_PAD3 << 16) | MUX_PC25D_SERCOM2_PAD3) -#define PORT_PC25D_SERCOM2_PAD3 (_UL_(1) << 25) -#define PIN_PB29C_SERCOM2_PAD3 _L_(61) /**< \brief SERCOM2 signal: PAD3 on PB29 mux C */ -#define MUX_PB29C_SERCOM2_PAD3 _L_(2) -#define PINMUX_PB29C_SERCOM2_PAD3 ((PIN_PB29C_SERCOM2_PAD3 << 16) | MUX_PB29C_SERCOM2_PAD3) -#define PORT_PB29C_SERCOM2_PAD3 (_UL_(1) << 29) -#define PIN_PA15C_SERCOM2_PAD3 _L_(15) /**< \brief SERCOM2 signal: PAD3 on PA15 mux C */ -#define MUX_PA15C_SERCOM2_PAD3 _L_(2) -#define PINMUX_PA15C_SERCOM2_PAD3 ((PIN_PA15C_SERCOM2_PAD3 << 16) | MUX_PA15C_SERCOM2_PAD3) -#define PORT_PA15C_SERCOM2_PAD3 (_UL_(1) << 15) -/* ========== PORT definition for SERCOM3 peripheral ========== */ -#define PIN_PA17D_SERCOM3_PAD0 _L_(17) /**< \brief SERCOM3 signal: PAD0 on PA17 mux D */ -#define MUX_PA17D_SERCOM3_PAD0 _L_(3) -#define PINMUX_PA17D_SERCOM3_PAD0 ((PIN_PA17D_SERCOM3_PAD0 << 16) | MUX_PA17D_SERCOM3_PAD0) -#define PORT_PA17D_SERCOM3_PAD0 (_UL_(1) << 17) -#define PIN_PC23D_SERCOM3_PAD0 _L_(87) /**< \brief SERCOM3 signal: PAD0 on PC23 mux D */ -#define MUX_PC23D_SERCOM3_PAD0 _L_(3) -#define PINMUX_PC23D_SERCOM3_PAD0 ((PIN_PC23D_SERCOM3_PAD0 << 16) | MUX_PC23D_SERCOM3_PAD0) -#define PORT_PC23D_SERCOM3_PAD0 (_UL_(1) << 23) -#define PIN_PA22C_SERCOM3_PAD0 _L_(22) /**< \brief SERCOM3 signal: PAD0 on PA22 mux C */ -#define MUX_PA22C_SERCOM3_PAD0 _L_(2) -#define PINMUX_PA22C_SERCOM3_PAD0 ((PIN_PA22C_SERCOM3_PAD0 << 16) | MUX_PA22C_SERCOM3_PAD0) -#define PORT_PA22C_SERCOM3_PAD0 (_UL_(1) << 22) -#define PIN_PB20C_SERCOM3_PAD0 _L_(52) /**< \brief SERCOM3 signal: PAD0 on PB20 mux C */ -#define MUX_PB20C_SERCOM3_PAD0 _L_(2) -#define PINMUX_PB20C_SERCOM3_PAD0 ((PIN_PB20C_SERCOM3_PAD0 << 16) | MUX_PB20C_SERCOM3_PAD0) -#define PORT_PB20C_SERCOM3_PAD0 (_UL_(1) << 20) -#define PIN_PA16D_SERCOM3_PAD1 _L_(16) /**< \brief SERCOM3 signal: PAD1 on PA16 mux D */ -#define MUX_PA16D_SERCOM3_PAD1 _L_(3) -#define PINMUX_PA16D_SERCOM3_PAD1 ((PIN_PA16D_SERCOM3_PAD1 << 16) | MUX_PA16D_SERCOM3_PAD1) -#define PORT_PA16D_SERCOM3_PAD1 (_UL_(1) << 16) -#define PIN_PC22D_SERCOM3_PAD1 _L_(86) /**< \brief SERCOM3 signal: PAD1 on PC22 mux D */ -#define MUX_PC22D_SERCOM3_PAD1 _L_(3) -#define PINMUX_PC22D_SERCOM3_PAD1 ((PIN_PC22D_SERCOM3_PAD1 << 16) | MUX_PC22D_SERCOM3_PAD1) -#define PORT_PC22D_SERCOM3_PAD1 (_UL_(1) << 22) -#define PIN_PA23C_SERCOM3_PAD1 _L_(23) /**< \brief SERCOM3 signal: PAD1 on PA23 mux C */ -#define MUX_PA23C_SERCOM3_PAD1 _L_(2) -#define PINMUX_PA23C_SERCOM3_PAD1 ((PIN_PA23C_SERCOM3_PAD1 << 16) | MUX_PA23C_SERCOM3_PAD1) -#define PORT_PA23C_SERCOM3_PAD1 (_UL_(1) << 23) -#define PIN_PB21C_SERCOM3_PAD1 _L_(53) /**< \brief SERCOM3 signal: PAD1 on PB21 mux C */ -#define MUX_PB21C_SERCOM3_PAD1 _L_(2) -#define PINMUX_PB21C_SERCOM3_PAD1 ((PIN_PB21C_SERCOM3_PAD1 << 16) | MUX_PB21C_SERCOM3_PAD1) -#define PORT_PB21C_SERCOM3_PAD1 (_UL_(1) << 21) -#define PIN_PA18D_SERCOM3_PAD2 _L_(18) /**< \brief SERCOM3 signal: PAD2 on PA18 mux D */ -#define MUX_PA18D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PA18D_SERCOM3_PAD2 ((PIN_PA18D_SERCOM3_PAD2 << 16) | MUX_PA18D_SERCOM3_PAD2) -#define PORT_PA18D_SERCOM3_PAD2 (_UL_(1) << 18) -#define PIN_PA20D_SERCOM3_PAD2 _L_(20) /**< \brief SERCOM3 signal: PAD2 on PA20 mux D */ -#define MUX_PA20D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PA20D_SERCOM3_PAD2 ((PIN_PA20D_SERCOM3_PAD2 << 16) | MUX_PA20D_SERCOM3_PAD2) -#define PORT_PA20D_SERCOM3_PAD2 (_UL_(1) << 20) -#define PIN_PD20D_SERCOM3_PAD2 _L_(116) /**< \brief SERCOM3 signal: PAD2 on PD20 mux D */ -#define MUX_PD20D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PD20D_SERCOM3_PAD2 ((PIN_PD20D_SERCOM3_PAD2 << 16) | MUX_PD20D_SERCOM3_PAD2) -#define PORT_PD20D_SERCOM3_PAD2 (_UL_(1) << 20) -#define PIN_PA24C_SERCOM3_PAD2 _L_(24) /**< \brief SERCOM3 signal: PAD2 on PA24 mux C */ -#define MUX_PA24C_SERCOM3_PAD2 _L_(2) -#define PINMUX_PA24C_SERCOM3_PAD2 ((PIN_PA24C_SERCOM3_PAD2 << 16) | MUX_PA24C_SERCOM3_PAD2) -#define PORT_PA24C_SERCOM3_PAD2 (_UL_(1) << 24) -#define PIN_PA19D_SERCOM3_PAD3 _L_(19) /**< \brief SERCOM3 signal: PAD3 on PA19 mux D */ -#define MUX_PA19D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PA19D_SERCOM3_PAD3 ((PIN_PA19D_SERCOM3_PAD3 << 16) | MUX_PA19D_SERCOM3_PAD3) -#define PORT_PA19D_SERCOM3_PAD3 (_UL_(1) << 19) -#define PIN_PA21D_SERCOM3_PAD3 _L_(21) /**< \brief SERCOM3 signal: PAD3 on PA21 mux D */ -#define MUX_PA21D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PA21D_SERCOM3_PAD3 ((PIN_PA21D_SERCOM3_PAD3 << 16) | MUX_PA21D_SERCOM3_PAD3) -#define PORT_PA21D_SERCOM3_PAD3 (_UL_(1) << 21) -#define PIN_PD21D_SERCOM3_PAD3 _L_(117) /**< \brief SERCOM3 signal: PAD3 on PD21 mux D */ -#define MUX_PD21D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PD21D_SERCOM3_PAD3 ((PIN_PD21D_SERCOM3_PAD3 << 16) | MUX_PD21D_SERCOM3_PAD3) -#define PORT_PD21D_SERCOM3_PAD3 (_UL_(1) << 21) -#define PIN_PA25C_SERCOM3_PAD3 _L_(25) /**< \brief SERCOM3 signal: PAD3 on PA25 mux C */ -#define MUX_PA25C_SERCOM3_PAD3 _L_(2) -#define PINMUX_PA25C_SERCOM3_PAD3 ((PIN_PA25C_SERCOM3_PAD3 << 16) | MUX_PA25C_SERCOM3_PAD3) -#define PORT_PA25C_SERCOM3_PAD3 (_UL_(1) << 25) -/* ========== PORT definition for TCC0 peripheral ========== */ -#define PIN_PA20G_TCC0_WO0 _L_(20) /**< \brief TCC0 signal: WO0 on PA20 mux G */ -#define MUX_PA20G_TCC0_WO0 _L_(6) -#define PINMUX_PA20G_TCC0_WO0 ((PIN_PA20G_TCC0_WO0 << 16) | MUX_PA20G_TCC0_WO0) -#define PORT_PA20G_TCC0_WO0 (_UL_(1) << 20) -#define PIN_PB12G_TCC0_WO0 _L_(44) /**< \brief TCC0 signal: WO0 on PB12 mux G */ -#define MUX_PB12G_TCC0_WO0 _L_(6) -#define PINMUX_PB12G_TCC0_WO0 ((PIN_PB12G_TCC0_WO0 << 16) | MUX_PB12G_TCC0_WO0) -#define PORT_PB12G_TCC0_WO0 (_UL_(1) << 12) -#define PIN_PA08F_TCC0_WO0 _L_(8) /**< \brief TCC0 signal: WO0 on PA08 mux F */ -#define MUX_PA08F_TCC0_WO0 _L_(5) -#define PINMUX_PA08F_TCC0_WO0 ((PIN_PA08F_TCC0_WO0 << 16) | MUX_PA08F_TCC0_WO0) -#define PORT_PA08F_TCC0_WO0 (_UL_(1) << 8) -#define PIN_PC04F_TCC0_WO0 _L_(68) /**< \brief TCC0 signal: WO0 on PC04 mux F */ -#define MUX_PC04F_TCC0_WO0 _L_(5) -#define PINMUX_PC04F_TCC0_WO0 ((PIN_PC04F_TCC0_WO0 << 16) | MUX_PC04F_TCC0_WO0) -#define PORT_PC04F_TCC0_WO0 (_UL_(1) << 4) -#define PIN_PC10F_TCC0_WO0 _L_(74) /**< \brief TCC0 signal: WO0 on PC10 mux F */ -#define MUX_PC10F_TCC0_WO0 _L_(5) -#define PINMUX_PC10F_TCC0_WO0 ((PIN_PC10F_TCC0_WO0 << 16) | MUX_PC10F_TCC0_WO0) -#define PORT_PC10F_TCC0_WO0 (_UL_(1) << 10) -#define PIN_PC16F_TCC0_WO0 _L_(80) /**< \brief TCC0 signal: WO0 on PC16 mux F */ -#define MUX_PC16F_TCC0_WO0 _L_(5) -#define PINMUX_PC16F_TCC0_WO0 ((PIN_PC16F_TCC0_WO0 << 16) | MUX_PC16F_TCC0_WO0) -#define PORT_PC16F_TCC0_WO0 (_UL_(1) << 16) -#define PIN_PA21G_TCC0_WO1 _L_(21) /**< \brief TCC0 signal: WO1 on PA21 mux G */ -#define MUX_PA21G_TCC0_WO1 _L_(6) -#define PINMUX_PA21G_TCC0_WO1 ((PIN_PA21G_TCC0_WO1 << 16) | MUX_PA21G_TCC0_WO1) -#define PORT_PA21G_TCC0_WO1 (_UL_(1) << 21) -#define PIN_PB13G_TCC0_WO1 _L_(45) /**< \brief TCC0 signal: WO1 on PB13 mux G */ -#define MUX_PB13G_TCC0_WO1 _L_(6) -#define PINMUX_PB13G_TCC0_WO1 ((PIN_PB13G_TCC0_WO1 << 16) | MUX_PB13G_TCC0_WO1) -#define PORT_PB13G_TCC0_WO1 (_UL_(1) << 13) -#define PIN_PA09F_TCC0_WO1 _L_(9) /**< \brief TCC0 signal: WO1 on PA09 mux F */ -#define MUX_PA09F_TCC0_WO1 _L_(5) -#define PINMUX_PA09F_TCC0_WO1 ((PIN_PA09F_TCC0_WO1 << 16) | MUX_PA09F_TCC0_WO1) -#define PORT_PA09F_TCC0_WO1 (_UL_(1) << 9) -#define PIN_PC11F_TCC0_WO1 _L_(75) /**< \brief TCC0 signal: WO1 on PC11 mux F */ -#define MUX_PC11F_TCC0_WO1 _L_(5) -#define PINMUX_PC11F_TCC0_WO1 ((PIN_PC11F_TCC0_WO1 << 16) | MUX_PC11F_TCC0_WO1) -#define PORT_PC11F_TCC0_WO1 (_UL_(1) << 11) -#define PIN_PC17F_TCC0_WO1 _L_(81) /**< \brief TCC0 signal: WO1 on PC17 mux F */ -#define MUX_PC17F_TCC0_WO1 _L_(5) -#define PINMUX_PC17F_TCC0_WO1 ((PIN_PC17F_TCC0_WO1 << 16) | MUX_PC17F_TCC0_WO1) -#define PORT_PC17F_TCC0_WO1 (_UL_(1) << 17) -#define PIN_PD08F_TCC0_WO1 _L_(104) /**< \brief TCC0 signal: WO1 on PD08 mux F */ -#define MUX_PD08F_TCC0_WO1 _L_(5) -#define PINMUX_PD08F_TCC0_WO1 ((PIN_PD08F_TCC0_WO1 << 16) | MUX_PD08F_TCC0_WO1) -#define PORT_PD08F_TCC0_WO1 (_UL_(1) << 8) -#define PIN_PA22G_TCC0_WO2 _L_(22) /**< \brief TCC0 signal: WO2 on PA22 mux G */ -#define MUX_PA22G_TCC0_WO2 _L_(6) -#define PINMUX_PA22G_TCC0_WO2 ((PIN_PA22G_TCC0_WO2 << 16) | MUX_PA22G_TCC0_WO2) -#define PORT_PA22G_TCC0_WO2 (_UL_(1) << 22) -#define PIN_PB14G_TCC0_WO2 _L_(46) /**< \brief TCC0 signal: WO2 on PB14 mux G */ -#define MUX_PB14G_TCC0_WO2 _L_(6) -#define PINMUX_PB14G_TCC0_WO2 ((PIN_PB14G_TCC0_WO2 << 16) | MUX_PB14G_TCC0_WO2) -#define PORT_PB14G_TCC0_WO2 (_UL_(1) << 14) -#define PIN_PA10F_TCC0_WO2 _L_(10) /**< \brief TCC0 signal: WO2 on PA10 mux F */ -#define MUX_PA10F_TCC0_WO2 _L_(5) -#define PINMUX_PA10F_TCC0_WO2 ((PIN_PA10F_TCC0_WO2 << 16) | MUX_PA10F_TCC0_WO2) -#define PORT_PA10F_TCC0_WO2 (_UL_(1) << 10) -#define PIN_PC12F_TCC0_WO2 _L_(76) /**< \brief TCC0 signal: WO2 on PC12 mux F */ -#define MUX_PC12F_TCC0_WO2 _L_(5) -#define PINMUX_PC12F_TCC0_WO2 ((PIN_PC12F_TCC0_WO2 << 16) | MUX_PC12F_TCC0_WO2) -#define PORT_PC12F_TCC0_WO2 (_UL_(1) << 12) -#define PIN_PC18F_TCC0_WO2 _L_(82) /**< \brief TCC0 signal: WO2 on PC18 mux F */ -#define MUX_PC18F_TCC0_WO2 _L_(5) -#define PINMUX_PC18F_TCC0_WO2 ((PIN_PC18F_TCC0_WO2 << 16) | MUX_PC18F_TCC0_WO2) -#define PORT_PC18F_TCC0_WO2 (_UL_(1) << 18) -#define PIN_PD09F_TCC0_WO2 _L_(105) /**< \brief TCC0 signal: WO2 on PD09 mux F */ -#define MUX_PD09F_TCC0_WO2 _L_(5) -#define PINMUX_PD09F_TCC0_WO2 ((PIN_PD09F_TCC0_WO2 << 16) | MUX_PD09F_TCC0_WO2) -#define PORT_PD09F_TCC0_WO2 (_UL_(1) << 9) -#define PIN_PA23G_TCC0_WO3 _L_(23) /**< \brief TCC0 signal: WO3 on PA23 mux G */ -#define MUX_PA23G_TCC0_WO3 _L_(6) -#define PINMUX_PA23G_TCC0_WO3 ((PIN_PA23G_TCC0_WO3 << 16) | MUX_PA23G_TCC0_WO3) -#define PORT_PA23G_TCC0_WO3 (_UL_(1) << 23) -#define PIN_PB15G_TCC0_WO3 _L_(47) /**< \brief TCC0 signal: WO3 on PB15 mux G */ -#define MUX_PB15G_TCC0_WO3 _L_(6) -#define PINMUX_PB15G_TCC0_WO3 ((PIN_PB15G_TCC0_WO3 << 16) | MUX_PB15G_TCC0_WO3) -#define PORT_PB15G_TCC0_WO3 (_UL_(1) << 15) -#define PIN_PA11F_TCC0_WO3 _L_(11) /**< \brief TCC0 signal: WO3 on PA11 mux F */ -#define MUX_PA11F_TCC0_WO3 _L_(5) -#define PINMUX_PA11F_TCC0_WO3 ((PIN_PA11F_TCC0_WO3 << 16) | MUX_PA11F_TCC0_WO3) -#define PORT_PA11F_TCC0_WO3 (_UL_(1) << 11) -#define PIN_PC13F_TCC0_WO3 _L_(77) /**< \brief TCC0 signal: WO3 on PC13 mux F */ -#define MUX_PC13F_TCC0_WO3 _L_(5) -#define PINMUX_PC13F_TCC0_WO3 ((PIN_PC13F_TCC0_WO3 << 16) | MUX_PC13F_TCC0_WO3) -#define PORT_PC13F_TCC0_WO3 (_UL_(1) << 13) -#define PIN_PC19F_TCC0_WO3 _L_(83) /**< \brief TCC0 signal: WO3 on PC19 mux F */ -#define MUX_PC19F_TCC0_WO3 _L_(5) -#define PINMUX_PC19F_TCC0_WO3 ((PIN_PC19F_TCC0_WO3 << 16) | MUX_PC19F_TCC0_WO3) -#define PORT_PC19F_TCC0_WO3 (_UL_(1) << 19) -#define PIN_PD10F_TCC0_WO3 _L_(106) /**< \brief TCC0 signal: WO3 on PD10 mux F */ -#define MUX_PD10F_TCC0_WO3 _L_(5) -#define PINMUX_PD10F_TCC0_WO3 ((PIN_PD10F_TCC0_WO3 << 16) | MUX_PD10F_TCC0_WO3) -#define PORT_PD10F_TCC0_WO3 (_UL_(1) << 10) -#define PIN_PA16G_TCC0_WO4 _L_(16) /**< \brief TCC0 signal: WO4 on PA16 mux G */ -#define MUX_PA16G_TCC0_WO4 _L_(6) -#define PINMUX_PA16G_TCC0_WO4 ((PIN_PA16G_TCC0_WO4 << 16) | MUX_PA16G_TCC0_WO4) -#define PORT_PA16G_TCC0_WO4 (_UL_(1) << 16) -#define PIN_PB16G_TCC0_WO4 _L_(48) /**< \brief TCC0 signal: WO4 on PB16 mux G */ -#define MUX_PB16G_TCC0_WO4 _L_(6) -#define PINMUX_PB16G_TCC0_WO4 ((PIN_PB16G_TCC0_WO4 << 16) | MUX_PB16G_TCC0_WO4) -#define PORT_PB16G_TCC0_WO4 (_UL_(1) << 16) -#define PIN_PB10F_TCC0_WO4 _L_(42) /**< \brief TCC0 signal: WO4 on PB10 mux F */ -#define MUX_PB10F_TCC0_WO4 _L_(5) -#define PINMUX_PB10F_TCC0_WO4 ((PIN_PB10F_TCC0_WO4 << 16) | MUX_PB10F_TCC0_WO4) -#define PORT_PB10F_TCC0_WO4 (_UL_(1) << 10) -#define PIN_PC14F_TCC0_WO4 _L_(78) /**< \brief TCC0 signal: WO4 on PC14 mux F */ -#define MUX_PC14F_TCC0_WO4 _L_(5) -#define PINMUX_PC14F_TCC0_WO4 ((PIN_PC14F_TCC0_WO4 << 16) | MUX_PC14F_TCC0_WO4) -#define PORT_PC14F_TCC0_WO4 (_UL_(1) << 14) -#define PIN_PC20F_TCC0_WO4 _L_(84) /**< \brief TCC0 signal: WO4 on PC20 mux F */ -#define MUX_PC20F_TCC0_WO4 _L_(5) -#define PINMUX_PC20F_TCC0_WO4 ((PIN_PC20F_TCC0_WO4 << 16) | MUX_PC20F_TCC0_WO4) -#define PORT_PC20F_TCC0_WO4 (_UL_(1) << 20) -#define PIN_PD11F_TCC0_WO4 _L_(107) /**< \brief TCC0 signal: WO4 on PD11 mux F */ -#define MUX_PD11F_TCC0_WO4 _L_(5) -#define PINMUX_PD11F_TCC0_WO4 ((PIN_PD11F_TCC0_WO4 << 16) | MUX_PD11F_TCC0_WO4) -#define PORT_PD11F_TCC0_WO4 (_UL_(1) << 11) -#define PIN_PA17G_TCC0_WO5 _L_(17) /**< \brief TCC0 signal: WO5 on PA17 mux G */ -#define MUX_PA17G_TCC0_WO5 _L_(6) -#define PINMUX_PA17G_TCC0_WO5 ((PIN_PA17G_TCC0_WO5 << 16) | MUX_PA17G_TCC0_WO5) -#define PORT_PA17G_TCC0_WO5 (_UL_(1) << 17) -#define PIN_PB17G_TCC0_WO5 _L_(49) /**< \brief TCC0 signal: WO5 on PB17 mux G */ -#define MUX_PB17G_TCC0_WO5 _L_(6) -#define PINMUX_PB17G_TCC0_WO5 ((PIN_PB17G_TCC0_WO5 << 16) | MUX_PB17G_TCC0_WO5) -#define PORT_PB17G_TCC0_WO5 (_UL_(1) << 17) -#define PIN_PB11F_TCC0_WO5 _L_(43) /**< \brief TCC0 signal: WO5 on PB11 mux F */ -#define MUX_PB11F_TCC0_WO5 _L_(5) -#define PINMUX_PB11F_TCC0_WO5 ((PIN_PB11F_TCC0_WO5 << 16) | MUX_PB11F_TCC0_WO5) -#define PORT_PB11F_TCC0_WO5 (_UL_(1) << 11) -#define PIN_PC15F_TCC0_WO5 _L_(79) /**< \brief TCC0 signal: WO5 on PC15 mux F */ -#define MUX_PC15F_TCC0_WO5 _L_(5) -#define PINMUX_PC15F_TCC0_WO5 ((PIN_PC15F_TCC0_WO5 << 16) | MUX_PC15F_TCC0_WO5) -#define PORT_PC15F_TCC0_WO5 (_UL_(1) << 15) -#define PIN_PC21F_TCC0_WO5 _L_(85) /**< \brief TCC0 signal: WO5 on PC21 mux F */ -#define MUX_PC21F_TCC0_WO5 _L_(5) -#define PINMUX_PC21F_TCC0_WO5 ((PIN_PC21F_TCC0_WO5 << 16) | MUX_PC21F_TCC0_WO5) -#define PORT_PC21F_TCC0_WO5 (_UL_(1) << 21) -#define PIN_PD12F_TCC0_WO5 _L_(108) /**< \brief TCC0 signal: WO5 on PD12 mux F */ -#define MUX_PD12F_TCC0_WO5 _L_(5) -#define PINMUX_PD12F_TCC0_WO5 ((PIN_PD12F_TCC0_WO5 << 16) | MUX_PD12F_TCC0_WO5) -#define PORT_PD12F_TCC0_WO5 (_UL_(1) << 12) -#define PIN_PA18G_TCC0_WO6 _L_(18) /**< \brief TCC0 signal: WO6 on PA18 mux G */ -#define MUX_PA18G_TCC0_WO6 _L_(6) -#define PINMUX_PA18G_TCC0_WO6 ((PIN_PA18G_TCC0_WO6 << 16) | MUX_PA18G_TCC0_WO6) -#define PORT_PA18G_TCC0_WO6 (_UL_(1) << 18) -#define PIN_PB30G_TCC0_WO6 _L_(62) /**< \brief TCC0 signal: WO6 on PB30 mux G */ -#define MUX_PB30G_TCC0_WO6 _L_(6) -#define PINMUX_PB30G_TCC0_WO6 ((PIN_PB30G_TCC0_WO6 << 16) | MUX_PB30G_TCC0_WO6) -#define PORT_PB30G_TCC0_WO6 (_UL_(1) << 30) -#define PIN_PA12F_TCC0_WO6 _L_(12) /**< \brief TCC0 signal: WO6 on PA12 mux F */ -#define MUX_PA12F_TCC0_WO6 _L_(5) -#define PINMUX_PA12F_TCC0_WO6 ((PIN_PA12F_TCC0_WO6 << 16) | MUX_PA12F_TCC0_WO6) -#define PORT_PA12F_TCC0_WO6 (_UL_(1) << 12) -#define PIN_PC22F_TCC0_WO6 _L_(86) /**< \brief TCC0 signal: WO6 on PC22 mux F */ -#define MUX_PC22F_TCC0_WO6 _L_(5) -#define PINMUX_PC22F_TCC0_WO6 ((PIN_PC22F_TCC0_WO6 << 16) | MUX_PC22F_TCC0_WO6) -#define PORT_PC22F_TCC0_WO6 (_UL_(1) << 22) -#define PIN_PA19G_TCC0_WO7 _L_(19) /**< \brief TCC0 signal: WO7 on PA19 mux G */ -#define MUX_PA19G_TCC0_WO7 _L_(6) -#define PINMUX_PA19G_TCC0_WO7 ((PIN_PA19G_TCC0_WO7 << 16) | MUX_PA19G_TCC0_WO7) -#define PORT_PA19G_TCC0_WO7 (_UL_(1) << 19) -#define PIN_PB31G_TCC0_WO7 _L_(63) /**< \brief TCC0 signal: WO7 on PB31 mux G */ -#define MUX_PB31G_TCC0_WO7 _L_(6) -#define PINMUX_PB31G_TCC0_WO7 ((PIN_PB31G_TCC0_WO7 << 16) | MUX_PB31G_TCC0_WO7) -#define PORT_PB31G_TCC0_WO7 (_UL_(1) << 31) -#define PIN_PA13F_TCC0_WO7 _L_(13) /**< \brief TCC0 signal: WO7 on PA13 mux F */ -#define MUX_PA13F_TCC0_WO7 _L_(5) -#define PINMUX_PA13F_TCC0_WO7 ((PIN_PA13F_TCC0_WO7 << 16) | MUX_PA13F_TCC0_WO7) -#define PORT_PA13F_TCC0_WO7 (_UL_(1) << 13) -#define PIN_PC23F_TCC0_WO7 _L_(87) /**< \brief TCC0 signal: WO7 on PC23 mux F */ -#define MUX_PC23F_TCC0_WO7 _L_(5) -#define PINMUX_PC23F_TCC0_WO7 ((PIN_PC23F_TCC0_WO7 << 16) | MUX_PC23F_TCC0_WO7) -#define PORT_PC23F_TCC0_WO7 (_UL_(1) << 23) -/* ========== PORT definition for TCC1 peripheral ========== */ -#define PIN_PB10G_TCC1_WO0 _L_(42) /**< \brief TCC1 signal: WO0 on PB10 mux G */ -#define MUX_PB10G_TCC1_WO0 _L_(6) -#define PINMUX_PB10G_TCC1_WO0 ((PIN_PB10G_TCC1_WO0 << 16) | MUX_PB10G_TCC1_WO0) -#define PORT_PB10G_TCC1_WO0 (_UL_(1) << 10) -#define PIN_PC14G_TCC1_WO0 _L_(78) /**< \brief TCC1 signal: WO0 on PC14 mux G */ -#define MUX_PC14G_TCC1_WO0 _L_(6) -#define PINMUX_PC14G_TCC1_WO0 ((PIN_PC14G_TCC1_WO0 << 16) | MUX_PC14G_TCC1_WO0) -#define PORT_PC14G_TCC1_WO0 (_UL_(1) << 14) -#define PIN_PA16F_TCC1_WO0 _L_(16) /**< \brief TCC1 signal: WO0 on PA16 mux F */ -#define MUX_PA16F_TCC1_WO0 _L_(5) -#define PINMUX_PA16F_TCC1_WO0 ((PIN_PA16F_TCC1_WO0 << 16) | MUX_PA16F_TCC1_WO0) -#define PORT_PA16F_TCC1_WO0 (_UL_(1) << 16) -#define PIN_PB18F_TCC1_WO0 _L_(50) /**< \brief TCC1 signal: WO0 on PB18 mux F */ -#define MUX_PB18F_TCC1_WO0 _L_(5) -#define PINMUX_PB18F_TCC1_WO0 ((PIN_PB18F_TCC1_WO0 << 16) | MUX_PB18F_TCC1_WO0) -#define PORT_PB18F_TCC1_WO0 (_UL_(1) << 18) -#define PIN_PD20F_TCC1_WO0 _L_(116) /**< \brief TCC1 signal: WO0 on PD20 mux F */ -#define MUX_PD20F_TCC1_WO0 _L_(5) -#define PINMUX_PD20F_TCC1_WO0 ((PIN_PD20F_TCC1_WO0 << 16) | MUX_PD20F_TCC1_WO0) -#define PORT_PD20F_TCC1_WO0 (_UL_(1) << 20) -#define PIN_PB11G_TCC1_WO1 _L_(43) /**< \brief TCC1 signal: WO1 on PB11 mux G */ -#define MUX_PB11G_TCC1_WO1 _L_(6) -#define PINMUX_PB11G_TCC1_WO1 ((PIN_PB11G_TCC1_WO1 << 16) | MUX_PB11G_TCC1_WO1) -#define PORT_PB11G_TCC1_WO1 (_UL_(1) << 11) -#define PIN_PC15G_TCC1_WO1 _L_(79) /**< \brief TCC1 signal: WO1 on PC15 mux G */ -#define MUX_PC15G_TCC1_WO1 _L_(6) -#define PINMUX_PC15G_TCC1_WO1 ((PIN_PC15G_TCC1_WO1 << 16) | MUX_PC15G_TCC1_WO1) -#define PORT_PC15G_TCC1_WO1 (_UL_(1) << 15) -#define PIN_PA17F_TCC1_WO1 _L_(17) /**< \brief TCC1 signal: WO1 on PA17 mux F */ -#define MUX_PA17F_TCC1_WO1 _L_(5) -#define PINMUX_PA17F_TCC1_WO1 ((PIN_PA17F_TCC1_WO1 << 16) | MUX_PA17F_TCC1_WO1) -#define PORT_PA17F_TCC1_WO1 (_UL_(1) << 17) -#define PIN_PB19F_TCC1_WO1 _L_(51) /**< \brief TCC1 signal: WO1 on PB19 mux F */ -#define MUX_PB19F_TCC1_WO1 _L_(5) -#define PINMUX_PB19F_TCC1_WO1 ((PIN_PB19F_TCC1_WO1 << 16) | MUX_PB19F_TCC1_WO1) -#define PORT_PB19F_TCC1_WO1 (_UL_(1) << 19) -#define PIN_PD21F_TCC1_WO1 _L_(117) /**< \brief TCC1 signal: WO1 on PD21 mux F */ -#define MUX_PD21F_TCC1_WO1 _L_(5) -#define PINMUX_PD21F_TCC1_WO1 ((PIN_PD21F_TCC1_WO1 << 16) | MUX_PD21F_TCC1_WO1) -#define PORT_PD21F_TCC1_WO1 (_UL_(1) << 21) -#define PIN_PA12G_TCC1_WO2 _L_(12) /**< \brief TCC1 signal: WO2 on PA12 mux G */ -#define MUX_PA12G_TCC1_WO2 _L_(6) -#define PINMUX_PA12G_TCC1_WO2 ((PIN_PA12G_TCC1_WO2 << 16) | MUX_PA12G_TCC1_WO2) -#define PORT_PA12G_TCC1_WO2 (_UL_(1) << 12) -#define PIN_PA14G_TCC1_WO2 _L_(14) /**< \brief TCC1 signal: WO2 on PA14 mux G */ -#define MUX_PA14G_TCC1_WO2 _L_(6) -#define PINMUX_PA14G_TCC1_WO2 ((PIN_PA14G_TCC1_WO2 << 16) | MUX_PA14G_TCC1_WO2) -#define PORT_PA14G_TCC1_WO2 (_UL_(1) << 14) -#define PIN_PA18F_TCC1_WO2 _L_(18) /**< \brief TCC1 signal: WO2 on PA18 mux F */ -#define MUX_PA18F_TCC1_WO2 _L_(5) -#define PINMUX_PA18F_TCC1_WO2 ((PIN_PA18F_TCC1_WO2 << 16) | MUX_PA18F_TCC1_WO2) -#define PORT_PA18F_TCC1_WO2 (_UL_(1) << 18) -#define PIN_PB20F_TCC1_WO2 _L_(52) /**< \brief TCC1 signal: WO2 on PB20 mux F */ -#define MUX_PB20F_TCC1_WO2 _L_(5) -#define PINMUX_PB20F_TCC1_WO2 ((PIN_PB20F_TCC1_WO2 << 16) | MUX_PB20F_TCC1_WO2) -#define PORT_PB20F_TCC1_WO2 (_UL_(1) << 20) -#define PIN_PB26F_TCC1_WO2 _L_(58) /**< \brief TCC1 signal: WO2 on PB26 mux F */ -#define MUX_PB26F_TCC1_WO2 _L_(5) -#define PINMUX_PB26F_TCC1_WO2 ((PIN_PB26F_TCC1_WO2 << 16) | MUX_PB26F_TCC1_WO2) -#define PORT_PB26F_TCC1_WO2 (_UL_(1) << 26) -#define PIN_PA13G_TCC1_WO3 _L_(13) /**< \brief TCC1 signal: WO3 on PA13 mux G */ -#define MUX_PA13G_TCC1_WO3 _L_(6) -#define PINMUX_PA13G_TCC1_WO3 ((PIN_PA13G_TCC1_WO3 << 16) | MUX_PA13G_TCC1_WO3) -#define PORT_PA13G_TCC1_WO3 (_UL_(1) << 13) -#define PIN_PA15G_TCC1_WO3 _L_(15) /**< \brief TCC1 signal: WO3 on PA15 mux G */ -#define MUX_PA15G_TCC1_WO3 _L_(6) -#define PINMUX_PA15G_TCC1_WO3 ((PIN_PA15G_TCC1_WO3 << 16) | MUX_PA15G_TCC1_WO3) -#define PORT_PA15G_TCC1_WO3 (_UL_(1) << 15) -#define PIN_PA19F_TCC1_WO3 _L_(19) /**< \brief TCC1 signal: WO3 on PA19 mux F */ -#define MUX_PA19F_TCC1_WO3 _L_(5) -#define PINMUX_PA19F_TCC1_WO3 ((PIN_PA19F_TCC1_WO3 << 16) | MUX_PA19F_TCC1_WO3) -#define PORT_PA19F_TCC1_WO3 (_UL_(1) << 19) -#define PIN_PB21F_TCC1_WO3 _L_(53) /**< \brief TCC1 signal: WO3 on PB21 mux F */ -#define MUX_PB21F_TCC1_WO3 _L_(5) -#define PINMUX_PB21F_TCC1_WO3 ((PIN_PB21F_TCC1_WO3 << 16) | MUX_PB21F_TCC1_WO3) -#define PORT_PB21F_TCC1_WO3 (_UL_(1) << 21) -#define PIN_PB27F_TCC1_WO3 _L_(59) /**< \brief TCC1 signal: WO3 on PB27 mux F */ -#define MUX_PB27F_TCC1_WO3 _L_(5) -#define PINMUX_PB27F_TCC1_WO3 ((PIN_PB27F_TCC1_WO3 << 16) | MUX_PB27F_TCC1_WO3) -#define PORT_PB27F_TCC1_WO3 (_UL_(1) << 27) -#define PIN_PA08G_TCC1_WO4 _L_(8) /**< \brief TCC1 signal: WO4 on PA08 mux G */ -#define MUX_PA08G_TCC1_WO4 _L_(6) -#define PINMUX_PA08G_TCC1_WO4 ((PIN_PA08G_TCC1_WO4 << 16) | MUX_PA08G_TCC1_WO4) -#define PORT_PA08G_TCC1_WO4 (_UL_(1) << 8) -#define PIN_PC10G_TCC1_WO4 _L_(74) /**< \brief TCC1 signal: WO4 on PC10 mux G */ -#define MUX_PC10G_TCC1_WO4 _L_(6) -#define PINMUX_PC10G_TCC1_WO4 ((PIN_PC10G_TCC1_WO4 << 16) | MUX_PC10G_TCC1_WO4) -#define PORT_PC10G_TCC1_WO4 (_UL_(1) << 10) -#define PIN_PA20F_TCC1_WO4 _L_(20) /**< \brief TCC1 signal: WO4 on PA20 mux F */ -#define MUX_PA20F_TCC1_WO4 _L_(5) -#define PINMUX_PA20F_TCC1_WO4 ((PIN_PA20F_TCC1_WO4 << 16) | MUX_PA20F_TCC1_WO4) -#define PORT_PA20F_TCC1_WO4 (_UL_(1) << 20) -#define PIN_PB28F_TCC1_WO4 _L_(60) /**< \brief TCC1 signal: WO4 on PB28 mux F */ -#define MUX_PB28F_TCC1_WO4 _L_(5) -#define PINMUX_PB28F_TCC1_WO4 ((PIN_PB28F_TCC1_WO4 << 16) | MUX_PB28F_TCC1_WO4) -#define PORT_PB28F_TCC1_WO4 (_UL_(1) << 28) -#define PIN_PA09G_TCC1_WO5 _L_(9) /**< \brief TCC1 signal: WO5 on PA09 mux G */ -#define MUX_PA09G_TCC1_WO5 _L_(6) -#define PINMUX_PA09G_TCC1_WO5 ((PIN_PA09G_TCC1_WO5 << 16) | MUX_PA09G_TCC1_WO5) -#define PORT_PA09G_TCC1_WO5 (_UL_(1) << 9) -#define PIN_PC11G_TCC1_WO5 _L_(75) /**< \brief TCC1 signal: WO5 on PC11 mux G */ -#define MUX_PC11G_TCC1_WO5 _L_(6) -#define PINMUX_PC11G_TCC1_WO5 ((PIN_PC11G_TCC1_WO5 << 16) | MUX_PC11G_TCC1_WO5) -#define PORT_PC11G_TCC1_WO5 (_UL_(1) << 11) -#define PIN_PA21F_TCC1_WO5 _L_(21) /**< \brief TCC1 signal: WO5 on PA21 mux F */ -#define MUX_PA21F_TCC1_WO5 _L_(5) -#define PINMUX_PA21F_TCC1_WO5 ((PIN_PA21F_TCC1_WO5 << 16) | MUX_PA21F_TCC1_WO5) -#define PORT_PA21F_TCC1_WO5 (_UL_(1) << 21) -#define PIN_PB29F_TCC1_WO5 _L_(61) /**< \brief TCC1 signal: WO5 on PB29 mux F */ -#define MUX_PB29F_TCC1_WO5 _L_(5) -#define PINMUX_PB29F_TCC1_WO5 ((PIN_PB29F_TCC1_WO5 << 16) | MUX_PB29F_TCC1_WO5) -#define PORT_PB29F_TCC1_WO5 (_UL_(1) << 29) -#define PIN_PA10G_TCC1_WO6 _L_(10) /**< \brief TCC1 signal: WO6 on PA10 mux G */ -#define MUX_PA10G_TCC1_WO6 _L_(6) -#define PINMUX_PA10G_TCC1_WO6 ((PIN_PA10G_TCC1_WO6 << 16) | MUX_PA10G_TCC1_WO6) -#define PORT_PA10G_TCC1_WO6 (_UL_(1) << 10) -#define PIN_PC12G_TCC1_WO6 _L_(76) /**< \brief TCC1 signal: WO6 on PC12 mux G */ -#define MUX_PC12G_TCC1_WO6 _L_(6) -#define PINMUX_PC12G_TCC1_WO6 ((PIN_PC12G_TCC1_WO6 << 16) | MUX_PC12G_TCC1_WO6) -#define PORT_PC12G_TCC1_WO6 (_UL_(1) << 12) -#define PIN_PA22F_TCC1_WO6 _L_(22) /**< \brief TCC1 signal: WO6 on PA22 mux F */ -#define MUX_PA22F_TCC1_WO6 _L_(5) -#define PINMUX_PA22F_TCC1_WO6 ((PIN_PA22F_TCC1_WO6 << 16) | MUX_PA22F_TCC1_WO6) -#define PORT_PA22F_TCC1_WO6 (_UL_(1) << 22) -#define PIN_PA11G_TCC1_WO7 _L_(11) /**< \brief TCC1 signal: WO7 on PA11 mux G */ -#define MUX_PA11G_TCC1_WO7 _L_(6) -#define PINMUX_PA11G_TCC1_WO7 ((PIN_PA11G_TCC1_WO7 << 16) | MUX_PA11G_TCC1_WO7) -#define PORT_PA11G_TCC1_WO7 (_UL_(1) << 11) -#define PIN_PC13G_TCC1_WO7 _L_(77) /**< \brief TCC1 signal: WO7 on PC13 mux G */ -#define MUX_PC13G_TCC1_WO7 _L_(6) -#define PINMUX_PC13G_TCC1_WO7 ((PIN_PC13G_TCC1_WO7 << 16) | MUX_PC13G_TCC1_WO7) -#define PORT_PC13G_TCC1_WO7 (_UL_(1) << 13) -#define PIN_PA23F_TCC1_WO7 _L_(23) /**< \brief TCC1 signal: WO7 on PA23 mux F */ -#define MUX_PA23F_TCC1_WO7 _L_(5) -#define PINMUX_PA23F_TCC1_WO7 ((PIN_PA23F_TCC1_WO7 << 16) | MUX_PA23F_TCC1_WO7) -#define PORT_PA23F_TCC1_WO7 (_UL_(1) << 23) -/* ========== PORT definition for TC2 peripheral ========== */ -#define PIN_PA12E_TC2_WO0 _L_(12) /**< \brief TC2 signal: WO0 on PA12 mux E */ -#define MUX_PA12E_TC2_WO0 _L_(4) -#define PINMUX_PA12E_TC2_WO0 ((PIN_PA12E_TC2_WO0 << 16) | MUX_PA12E_TC2_WO0) -#define PORT_PA12E_TC2_WO0 (_UL_(1) << 12) -#define PIN_PA16E_TC2_WO0 _L_(16) /**< \brief TC2 signal: WO0 on PA16 mux E */ -#define MUX_PA16E_TC2_WO0 _L_(4) -#define PINMUX_PA16E_TC2_WO0 ((PIN_PA16E_TC2_WO0 << 16) | MUX_PA16E_TC2_WO0) -#define PORT_PA16E_TC2_WO0 (_UL_(1) << 16) -#define PIN_PA00E_TC2_WO0 _L_(0) /**< \brief TC2 signal: WO0 on PA00 mux E */ -#define MUX_PA00E_TC2_WO0 _L_(4) -#define PINMUX_PA00E_TC2_WO0 ((PIN_PA00E_TC2_WO0 << 16) | MUX_PA00E_TC2_WO0) -#define PORT_PA00E_TC2_WO0 (_UL_(1) << 0) -#define PIN_PA01E_TC2_WO1 _L_(1) /**< \brief TC2 signal: WO1 on PA01 mux E */ -#define MUX_PA01E_TC2_WO1 _L_(4) -#define PINMUX_PA01E_TC2_WO1 ((PIN_PA01E_TC2_WO1 << 16) | MUX_PA01E_TC2_WO1) -#define PORT_PA01E_TC2_WO1 (_UL_(1) << 1) -#define PIN_PA13E_TC2_WO1 _L_(13) /**< \brief TC2 signal: WO1 on PA13 mux E */ -#define MUX_PA13E_TC2_WO1 _L_(4) -#define PINMUX_PA13E_TC2_WO1 ((PIN_PA13E_TC2_WO1 << 16) | MUX_PA13E_TC2_WO1) -#define PORT_PA13E_TC2_WO1 (_UL_(1) << 13) -#define PIN_PA17E_TC2_WO1 _L_(17) /**< \brief TC2 signal: WO1 on PA17 mux E */ -#define MUX_PA17E_TC2_WO1 _L_(4) -#define PINMUX_PA17E_TC2_WO1 ((PIN_PA17E_TC2_WO1 << 16) | MUX_PA17E_TC2_WO1) -#define PORT_PA17E_TC2_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC3 peripheral ========== */ -#define PIN_PA18E_TC3_WO0 _L_(18) /**< \brief TC3 signal: WO0 on PA18 mux E */ -#define MUX_PA18E_TC3_WO0 _L_(4) -#define PINMUX_PA18E_TC3_WO0 ((PIN_PA18E_TC3_WO0 << 16) | MUX_PA18E_TC3_WO0) -#define PORT_PA18E_TC3_WO0 (_UL_(1) << 18) -#define PIN_PA14E_TC3_WO0 _L_(14) /**< \brief TC3 signal: WO0 on PA14 mux E */ -#define MUX_PA14E_TC3_WO0 _L_(4) -#define PINMUX_PA14E_TC3_WO0 ((PIN_PA14E_TC3_WO0 << 16) | MUX_PA14E_TC3_WO0) -#define PORT_PA14E_TC3_WO0 (_UL_(1) << 14) -#define PIN_PA15E_TC3_WO1 _L_(15) /**< \brief TC3 signal: WO1 on PA15 mux E */ -#define MUX_PA15E_TC3_WO1 _L_(4) -#define PINMUX_PA15E_TC3_WO1 ((PIN_PA15E_TC3_WO1 << 16) | MUX_PA15E_TC3_WO1) -#define PORT_PA15E_TC3_WO1 (_UL_(1) << 15) -#define PIN_PA19E_TC3_WO1 _L_(19) /**< \brief TC3 signal: WO1 on PA19 mux E */ -#define MUX_PA19E_TC3_WO1 _L_(4) -#define PINMUX_PA19E_TC3_WO1 ((PIN_PA19E_TC3_WO1 << 16) | MUX_PA19E_TC3_WO1) -#define PORT_PA19E_TC3_WO1 (_UL_(1) << 19) -/* ========== PORT definition for CAN0 peripheral ========== */ -#define PIN_PA23I_CAN0_RX _L_(23) /**< \brief CAN0 signal: RX on PA23 mux I */ -#define MUX_PA23I_CAN0_RX _L_(8) -#define PINMUX_PA23I_CAN0_RX ((PIN_PA23I_CAN0_RX << 16) | MUX_PA23I_CAN0_RX) -#define PORT_PA23I_CAN0_RX (_UL_(1) << 23) -#define PIN_PA25I_CAN0_RX _L_(25) /**< \brief CAN0 signal: RX on PA25 mux I */ -#define MUX_PA25I_CAN0_RX _L_(8) -#define PINMUX_PA25I_CAN0_RX ((PIN_PA25I_CAN0_RX << 16) | MUX_PA25I_CAN0_RX) -#define PORT_PA25I_CAN0_RX (_UL_(1) << 25) -#define PIN_PA22I_CAN0_TX _L_(22) /**< \brief CAN0 signal: TX on PA22 mux I */ -#define MUX_PA22I_CAN0_TX _L_(8) -#define PINMUX_PA22I_CAN0_TX ((PIN_PA22I_CAN0_TX << 16) | MUX_PA22I_CAN0_TX) -#define PORT_PA22I_CAN0_TX (_UL_(1) << 22) -#define PIN_PA24I_CAN0_TX _L_(24) /**< \brief CAN0 signal: TX on PA24 mux I */ -#define MUX_PA24I_CAN0_TX _L_(8) -#define PINMUX_PA24I_CAN0_TX ((PIN_PA24I_CAN0_TX << 16) | MUX_PA24I_CAN0_TX) -#define PORT_PA24I_CAN0_TX (_UL_(1) << 24) -/* ========== PORT definition for CAN1 peripheral ========== */ -#define PIN_PB13H_CAN1_RX _L_(45) /**< \brief CAN1 signal: RX on PB13 mux H */ -#define MUX_PB13H_CAN1_RX _L_(7) -#define PINMUX_PB13H_CAN1_RX ((PIN_PB13H_CAN1_RX << 16) | MUX_PB13H_CAN1_RX) -#define PORT_PB13H_CAN1_RX (_UL_(1) << 13) -#define PIN_PB15H_CAN1_RX _L_(47) /**< \brief CAN1 signal: RX on PB15 mux H */ -#define MUX_PB15H_CAN1_RX _L_(7) -#define PINMUX_PB15H_CAN1_RX ((PIN_PB15H_CAN1_RX << 16) | MUX_PB15H_CAN1_RX) -#define PORT_PB15H_CAN1_RX (_UL_(1) << 15) -#define PIN_PB12H_CAN1_TX _L_(44) /**< \brief CAN1 signal: TX on PB12 mux H */ -#define MUX_PB12H_CAN1_TX _L_(7) -#define PINMUX_PB12H_CAN1_TX ((PIN_PB12H_CAN1_TX << 16) | MUX_PB12H_CAN1_TX) -#define PORT_PB12H_CAN1_TX (_UL_(1) << 12) -#define PIN_PB14H_CAN1_TX _L_(46) /**< \brief CAN1 signal: TX on PB14 mux H */ -#define MUX_PB14H_CAN1_TX _L_(7) -#define PINMUX_PB14H_CAN1_TX ((PIN_PB14H_CAN1_TX << 16) | MUX_PB14H_CAN1_TX) -#define PORT_PB14H_CAN1_TX (_UL_(1) << 14) -/* ========== PORT definition for GMAC peripheral ========== */ -#define PIN_PC21L_GMAC_GCOL _L_(85) /**< \brief GMAC signal: GCOL on PC21 mux L */ -#define MUX_PC21L_GMAC_GCOL _L_(11) -#define PINMUX_PC21L_GMAC_GCOL ((PIN_PC21L_GMAC_GCOL << 16) | MUX_PC21L_GMAC_GCOL) -#define PORT_PC21L_GMAC_GCOL (_UL_(1) << 21) -#define PIN_PA16L_GMAC_GCRS _L_(16) /**< \brief GMAC signal: GCRS on PA16 mux L */ -#define MUX_PA16L_GMAC_GCRS _L_(11) -#define PINMUX_PA16L_GMAC_GCRS ((PIN_PA16L_GMAC_GCRS << 16) | MUX_PA16L_GMAC_GCRS) -#define PORT_PA16L_GMAC_GCRS (_UL_(1) << 16) -#define PIN_PA20L_GMAC_GMDC _L_(20) /**< \brief GMAC signal: GMDC on PA20 mux L */ -#define MUX_PA20L_GMAC_GMDC _L_(11) -#define PINMUX_PA20L_GMAC_GMDC ((PIN_PA20L_GMAC_GMDC << 16) | MUX_PA20L_GMAC_GMDC) -#define PORT_PA20L_GMAC_GMDC (_UL_(1) << 20) -#define PIN_PB14L_GMAC_GMDC _L_(46) /**< \brief GMAC signal: GMDC on PB14 mux L */ -#define MUX_PB14L_GMAC_GMDC _L_(11) -#define PINMUX_PB14L_GMAC_GMDC ((PIN_PB14L_GMAC_GMDC << 16) | MUX_PB14L_GMAC_GMDC) -#define PORT_PB14L_GMAC_GMDC (_UL_(1) << 14) -#define PIN_PC11L_GMAC_GMDC _L_(75) /**< \brief GMAC signal: GMDC on PC11 mux L */ -#define MUX_PC11L_GMAC_GMDC _L_(11) -#define PINMUX_PC11L_GMAC_GMDC ((PIN_PC11L_GMAC_GMDC << 16) | MUX_PC11L_GMAC_GMDC) -#define PORT_PC11L_GMAC_GMDC (_UL_(1) << 11) -#define PIN_PC22L_GMAC_GMDC _L_(86) /**< \brief GMAC signal: GMDC on PC22 mux L */ -#define MUX_PC22L_GMAC_GMDC _L_(11) -#define PINMUX_PC22L_GMAC_GMDC ((PIN_PC22L_GMAC_GMDC << 16) | MUX_PC22L_GMAC_GMDC) -#define PORT_PC22L_GMAC_GMDC (_UL_(1) << 22) -#define PIN_PA21L_GMAC_GMDIO _L_(21) /**< \brief GMAC signal: GMDIO on PA21 mux L */ -#define MUX_PA21L_GMAC_GMDIO _L_(11) -#define PINMUX_PA21L_GMAC_GMDIO ((PIN_PA21L_GMAC_GMDIO << 16) | MUX_PA21L_GMAC_GMDIO) -#define PORT_PA21L_GMAC_GMDIO (_UL_(1) << 21) -#define PIN_PB15L_GMAC_GMDIO _L_(47) /**< \brief GMAC signal: GMDIO on PB15 mux L */ -#define MUX_PB15L_GMAC_GMDIO _L_(11) -#define PINMUX_PB15L_GMAC_GMDIO ((PIN_PB15L_GMAC_GMDIO << 16) | MUX_PB15L_GMAC_GMDIO) -#define PORT_PB15L_GMAC_GMDIO (_UL_(1) << 15) -#define PIN_PC12L_GMAC_GMDIO _L_(76) /**< \brief GMAC signal: GMDIO on PC12 mux L */ -#define MUX_PC12L_GMAC_GMDIO _L_(11) -#define PINMUX_PC12L_GMAC_GMDIO ((PIN_PC12L_GMAC_GMDIO << 16) | MUX_PC12L_GMAC_GMDIO) -#define PORT_PC12L_GMAC_GMDIO (_UL_(1) << 12) -#define PIN_PC23L_GMAC_GMDIO _L_(87) /**< \brief GMAC signal: GMDIO on PC23 mux L */ -#define MUX_PC23L_GMAC_GMDIO _L_(11) -#define PINMUX_PC23L_GMAC_GMDIO ((PIN_PC23L_GMAC_GMDIO << 16) | MUX_PC23L_GMAC_GMDIO) -#define PORT_PC23L_GMAC_GMDIO (_UL_(1) << 23) -#define PIN_PA13L_GMAC_GRX0 _L_(13) /**< \brief GMAC signal: GRX0 on PA13 mux L */ -#define MUX_PA13L_GMAC_GRX0 _L_(11) -#define PINMUX_PA13L_GMAC_GRX0 ((PIN_PA13L_GMAC_GRX0 << 16) | MUX_PA13L_GMAC_GRX0) -#define PORT_PA13L_GMAC_GRX0 (_UL_(1) << 13) -#define PIN_PA12L_GMAC_GRX1 _L_(12) /**< \brief GMAC signal: GRX1 on PA12 mux L */ -#define MUX_PA12L_GMAC_GRX1 _L_(11) -#define PINMUX_PA12L_GMAC_GRX1 ((PIN_PA12L_GMAC_GRX1 << 16) | MUX_PA12L_GMAC_GRX1) -#define PORT_PA12L_GMAC_GRX1 (_UL_(1) << 12) -#define PIN_PC15L_GMAC_GRX2 _L_(79) /**< \brief GMAC signal: GRX2 on PC15 mux L */ -#define MUX_PC15L_GMAC_GRX2 _L_(11) -#define PINMUX_PC15L_GMAC_GRX2 ((PIN_PC15L_GMAC_GRX2 << 16) | MUX_PC15L_GMAC_GRX2) -#define PORT_PC15L_GMAC_GRX2 (_UL_(1) << 15) -#define PIN_PC14L_GMAC_GRX3 _L_(78) /**< \brief GMAC signal: GRX3 on PC14 mux L */ -#define MUX_PC14L_GMAC_GRX3 _L_(11) -#define PINMUX_PC14L_GMAC_GRX3 ((PIN_PC14L_GMAC_GRX3 << 16) | MUX_PC14L_GMAC_GRX3) -#define PORT_PC14L_GMAC_GRX3 (_UL_(1) << 14) -#define PIN_PC18L_GMAC_GRXCK _L_(82) /**< \brief GMAC signal: GRXCK on PC18 mux L */ -#define MUX_PC18L_GMAC_GRXCK _L_(11) -#define PINMUX_PC18L_GMAC_GRXCK ((PIN_PC18L_GMAC_GRXCK << 16) | MUX_PC18L_GMAC_GRXCK) -#define PORT_PC18L_GMAC_GRXCK (_UL_(1) << 18) -#define PIN_PC20L_GMAC_GRXDV _L_(84) /**< \brief GMAC signal: GRXDV on PC20 mux L */ -#define MUX_PC20L_GMAC_GRXDV _L_(11) -#define PINMUX_PC20L_GMAC_GRXDV ((PIN_PC20L_GMAC_GRXDV << 16) | MUX_PC20L_GMAC_GRXDV) -#define PORT_PC20L_GMAC_GRXDV (_UL_(1) << 20) -#define PIN_PA15L_GMAC_GRXER _L_(15) /**< \brief GMAC signal: GRXER on PA15 mux L */ -#define MUX_PA15L_GMAC_GRXER _L_(11) -#define PINMUX_PA15L_GMAC_GRXER ((PIN_PA15L_GMAC_GRXER << 16) | MUX_PA15L_GMAC_GRXER) -#define PORT_PA15L_GMAC_GRXER (_UL_(1) << 15) -#define PIN_PA18L_GMAC_GTX0 _L_(18) /**< \brief GMAC signal: GTX0 on PA18 mux L */ -#define MUX_PA18L_GMAC_GTX0 _L_(11) -#define PINMUX_PA18L_GMAC_GTX0 ((PIN_PA18L_GMAC_GTX0 << 16) | MUX_PA18L_GMAC_GTX0) -#define PORT_PA18L_GMAC_GTX0 (_UL_(1) << 18) -#define PIN_PA19L_GMAC_GTX1 _L_(19) /**< \brief GMAC signal: GTX1 on PA19 mux L */ -#define MUX_PA19L_GMAC_GTX1 _L_(11) -#define PINMUX_PA19L_GMAC_GTX1 ((PIN_PA19L_GMAC_GTX1 << 16) | MUX_PA19L_GMAC_GTX1) -#define PORT_PA19L_GMAC_GTX1 (_UL_(1) << 19) -#define PIN_PC16L_GMAC_GTX2 _L_(80) /**< \brief GMAC signal: GTX2 on PC16 mux L */ -#define MUX_PC16L_GMAC_GTX2 _L_(11) -#define PINMUX_PC16L_GMAC_GTX2 ((PIN_PC16L_GMAC_GTX2 << 16) | MUX_PC16L_GMAC_GTX2) -#define PORT_PC16L_GMAC_GTX2 (_UL_(1) << 16) -#define PIN_PC17L_GMAC_GTX3 _L_(81) /**< \brief GMAC signal: GTX3 on PC17 mux L */ -#define MUX_PC17L_GMAC_GTX3 _L_(11) -#define PINMUX_PC17L_GMAC_GTX3 ((PIN_PC17L_GMAC_GTX3 << 16) | MUX_PC17L_GMAC_GTX3) -#define PORT_PC17L_GMAC_GTX3 (_UL_(1) << 17) -#define PIN_PA14L_GMAC_GTXCK _L_(14) /**< \brief GMAC signal: GTXCK on PA14 mux L */ -#define MUX_PA14L_GMAC_GTXCK _L_(11) -#define PINMUX_PA14L_GMAC_GTXCK ((PIN_PA14L_GMAC_GTXCK << 16) | MUX_PA14L_GMAC_GTXCK) -#define PORT_PA14L_GMAC_GTXCK (_UL_(1) << 14) -#define PIN_PA17L_GMAC_GTXEN _L_(17) /**< \brief GMAC signal: GTXEN on PA17 mux L */ -#define MUX_PA17L_GMAC_GTXEN _L_(11) -#define PINMUX_PA17L_GMAC_GTXEN ((PIN_PA17L_GMAC_GTXEN << 16) | MUX_PA17L_GMAC_GTXEN) -#define PORT_PA17L_GMAC_GTXEN (_UL_(1) << 17) -#define PIN_PC19L_GMAC_GTXER _L_(83) /**< \brief GMAC signal: GTXER on PC19 mux L */ -#define MUX_PC19L_GMAC_GTXER _L_(11) -#define PINMUX_PC19L_GMAC_GTXER ((PIN_PC19L_GMAC_GTXER << 16) | MUX_PC19L_GMAC_GTXER) -#define PORT_PC19L_GMAC_GTXER (_UL_(1) << 19) -/* ========== PORT definition for TCC2 peripheral ========== */ -#define PIN_PA14F_TCC2_WO0 _L_(14) /**< \brief TCC2 signal: WO0 on PA14 mux F */ -#define MUX_PA14F_TCC2_WO0 _L_(5) -#define PINMUX_PA14F_TCC2_WO0 ((PIN_PA14F_TCC2_WO0 << 16) | MUX_PA14F_TCC2_WO0) -#define PORT_PA14F_TCC2_WO0 (_UL_(1) << 14) -#define PIN_PA30F_TCC2_WO0 _L_(30) /**< \brief TCC2 signal: WO0 on PA30 mux F */ -#define MUX_PA30F_TCC2_WO0 _L_(5) -#define PINMUX_PA30F_TCC2_WO0 ((PIN_PA30F_TCC2_WO0 << 16) | MUX_PA30F_TCC2_WO0) -#define PORT_PA30F_TCC2_WO0 (_UL_(1) << 30) -#define PIN_PA15F_TCC2_WO1 _L_(15) /**< \brief TCC2 signal: WO1 on PA15 mux F */ -#define MUX_PA15F_TCC2_WO1 _L_(5) -#define PINMUX_PA15F_TCC2_WO1 ((PIN_PA15F_TCC2_WO1 << 16) | MUX_PA15F_TCC2_WO1) -#define PORT_PA15F_TCC2_WO1 (_UL_(1) << 15) -#define PIN_PA31F_TCC2_WO1 _L_(31) /**< \brief TCC2 signal: WO1 on PA31 mux F */ -#define MUX_PA31F_TCC2_WO1 _L_(5) -#define PINMUX_PA31F_TCC2_WO1 ((PIN_PA31F_TCC2_WO1 << 16) | MUX_PA31F_TCC2_WO1) -#define PORT_PA31F_TCC2_WO1 (_UL_(1) << 31) -#define PIN_PA24F_TCC2_WO2 _L_(24) /**< \brief TCC2 signal: WO2 on PA24 mux F */ -#define MUX_PA24F_TCC2_WO2 _L_(5) -#define PINMUX_PA24F_TCC2_WO2 ((PIN_PA24F_TCC2_WO2 << 16) | MUX_PA24F_TCC2_WO2) -#define PORT_PA24F_TCC2_WO2 (_UL_(1) << 24) -#define PIN_PB02F_TCC2_WO2 _L_(34) /**< \brief TCC2 signal: WO2 on PB02 mux F */ -#define MUX_PB02F_TCC2_WO2 _L_(5) -#define PINMUX_PB02F_TCC2_WO2 ((PIN_PB02F_TCC2_WO2 << 16) | MUX_PB02F_TCC2_WO2) -#define PORT_PB02F_TCC2_WO2 (_UL_(1) << 2) -/* ========== PORT definition for TCC3 peripheral ========== */ -#define PIN_PB12F_TCC3_WO0 _L_(44) /**< \brief TCC3 signal: WO0 on PB12 mux F */ -#define MUX_PB12F_TCC3_WO0 _L_(5) -#define PINMUX_PB12F_TCC3_WO0 ((PIN_PB12F_TCC3_WO0 << 16) | MUX_PB12F_TCC3_WO0) -#define PORT_PB12F_TCC3_WO0 (_UL_(1) << 12) -#define PIN_PB16F_TCC3_WO0 _L_(48) /**< \brief TCC3 signal: WO0 on PB16 mux F */ -#define MUX_PB16F_TCC3_WO0 _L_(5) -#define PINMUX_PB16F_TCC3_WO0 ((PIN_PB16F_TCC3_WO0 << 16) | MUX_PB16F_TCC3_WO0) -#define PORT_PB16F_TCC3_WO0 (_UL_(1) << 16) -#define PIN_PB13F_TCC3_WO1 _L_(45) /**< \brief TCC3 signal: WO1 on PB13 mux F */ -#define MUX_PB13F_TCC3_WO1 _L_(5) -#define PINMUX_PB13F_TCC3_WO1 ((PIN_PB13F_TCC3_WO1 << 16) | MUX_PB13F_TCC3_WO1) -#define PORT_PB13F_TCC3_WO1 (_UL_(1) << 13) -#define PIN_PB17F_TCC3_WO1 _L_(49) /**< \brief TCC3 signal: WO1 on PB17 mux F */ -#define MUX_PB17F_TCC3_WO1 _L_(5) -#define PINMUX_PB17F_TCC3_WO1 ((PIN_PB17F_TCC3_WO1 << 16) | MUX_PB17F_TCC3_WO1) -#define PORT_PB17F_TCC3_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC4 peripheral ========== */ -#define PIN_PA22E_TC4_WO0 _L_(22) /**< \brief TC4 signal: WO0 on PA22 mux E */ -#define MUX_PA22E_TC4_WO0 _L_(4) -#define PINMUX_PA22E_TC4_WO0 ((PIN_PA22E_TC4_WO0 << 16) | MUX_PA22E_TC4_WO0) -#define PORT_PA22E_TC4_WO0 (_UL_(1) << 22) -#define PIN_PB08E_TC4_WO0 _L_(40) /**< \brief TC4 signal: WO0 on PB08 mux E */ -#define MUX_PB08E_TC4_WO0 _L_(4) -#define PINMUX_PB08E_TC4_WO0 ((PIN_PB08E_TC4_WO0 << 16) | MUX_PB08E_TC4_WO0) -#define PORT_PB08E_TC4_WO0 (_UL_(1) << 8) -#define PIN_PB12E_TC4_WO0 _L_(44) /**< \brief TC4 signal: WO0 on PB12 mux E */ -#define MUX_PB12E_TC4_WO0 _L_(4) -#define PINMUX_PB12E_TC4_WO0 ((PIN_PB12E_TC4_WO0 << 16) | MUX_PB12E_TC4_WO0) -#define PORT_PB12E_TC4_WO0 (_UL_(1) << 12) -#define PIN_PA23E_TC4_WO1 _L_(23) /**< \brief TC4 signal: WO1 on PA23 mux E */ -#define MUX_PA23E_TC4_WO1 _L_(4) -#define PINMUX_PA23E_TC4_WO1 ((PIN_PA23E_TC4_WO1 << 16) | MUX_PA23E_TC4_WO1) -#define PORT_PA23E_TC4_WO1 (_UL_(1) << 23) -#define PIN_PB09E_TC4_WO1 _L_(41) /**< \brief TC4 signal: WO1 on PB09 mux E */ -#define MUX_PB09E_TC4_WO1 _L_(4) -#define PINMUX_PB09E_TC4_WO1 ((PIN_PB09E_TC4_WO1 << 16) | MUX_PB09E_TC4_WO1) -#define PORT_PB09E_TC4_WO1 (_UL_(1) << 9) -#define PIN_PB13E_TC4_WO1 _L_(45) /**< \brief TC4 signal: WO1 on PB13 mux E */ -#define MUX_PB13E_TC4_WO1 _L_(4) -#define PINMUX_PB13E_TC4_WO1 ((PIN_PB13E_TC4_WO1 << 16) | MUX_PB13E_TC4_WO1) -#define PORT_PB13E_TC4_WO1 (_UL_(1) << 13) -/* ========== PORT definition for TC5 peripheral ========== */ -#define PIN_PA24E_TC5_WO0 _L_(24) /**< \brief TC5 signal: WO0 on PA24 mux E */ -#define MUX_PA24E_TC5_WO0 _L_(4) -#define PINMUX_PA24E_TC5_WO0 ((PIN_PA24E_TC5_WO0 << 16) | MUX_PA24E_TC5_WO0) -#define PORT_PA24E_TC5_WO0 (_UL_(1) << 24) -#define PIN_PB10E_TC5_WO0 _L_(42) /**< \brief TC5 signal: WO0 on PB10 mux E */ -#define MUX_PB10E_TC5_WO0 _L_(4) -#define PINMUX_PB10E_TC5_WO0 ((PIN_PB10E_TC5_WO0 << 16) | MUX_PB10E_TC5_WO0) -#define PORT_PB10E_TC5_WO0 (_UL_(1) << 10) -#define PIN_PB14E_TC5_WO0 _L_(46) /**< \brief TC5 signal: WO0 on PB14 mux E */ -#define MUX_PB14E_TC5_WO0 _L_(4) -#define PINMUX_PB14E_TC5_WO0 ((PIN_PB14E_TC5_WO0 << 16) | MUX_PB14E_TC5_WO0) -#define PORT_PB14E_TC5_WO0 (_UL_(1) << 14) -#define PIN_PA25E_TC5_WO1 _L_(25) /**< \brief TC5 signal: WO1 on PA25 mux E */ -#define MUX_PA25E_TC5_WO1 _L_(4) -#define PINMUX_PA25E_TC5_WO1 ((PIN_PA25E_TC5_WO1 << 16) | MUX_PA25E_TC5_WO1) -#define PORT_PA25E_TC5_WO1 (_UL_(1) << 25) -#define PIN_PB11E_TC5_WO1 _L_(43) /**< \brief TC5 signal: WO1 on PB11 mux E */ -#define MUX_PB11E_TC5_WO1 _L_(4) -#define PINMUX_PB11E_TC5_WO1 ((PIN_PB11E_TC5_WO1 << 16) | MUX_PB11E_TC5_WO1) -#define PORT_PB11E_TC5_WO1 (_UL_(1) << 11) -#define PIN_PB15E_TC5_WO1 _L_(47) /**< \brief TC5 signal: WO1 on PB15 mux E */ -#define MUX_PB15E_TC5_WO1 _L_(4) -#define PINMUX_PB15E_TC5_WO1 ((PIN_PB15E_TC5_WO1 << 16) | MUX_PB15E_TC5_WO1) -#define PORT_PB15E_TC5_WO1 (_UL_(1) << 15) -/* ========== PORT definition for PDEC peripheral ========== */ -#define PIN_PB18G_PDEC_QDI0 _L_(50) /**< \brief PDEC signal: QDI0 on PB18 mux G */ -#define MUX_PB18G_PDEC_QDI0 _L_(6) -#define PINMUX_PB18G_PDEC_QDI0 ((PIN_PB18G_PDEC_QDI0 << 16) | MUX_PB18G_PDEC_QDI0) -#define PORT_PB18G_PDEC_QDI0 (_UL_(1) << 18) -#define PIN_PB23G_PDEC_QDI0 _L_(55) /**< \brief PDEC signal: QDI0 on PB23 mux G */ -#define MUX_PB23G_PDEC_QDI0 _L_(6) -#define PINMUX_PB23G_PDEC_QDI0 ((PIN_PB23G_PDEC_QDI0 << 16) | MUX_PB23G_PDEC_QDI0) -#define PORT_PB23G_PDEC_QDI0 (_UL_(1) << 23) -#define PIN_PC16G_PDEC_QDI0 _L_(80) /**< \brief PDEC signal: QDI0 on PC16 mux G */ -#define MUX_PC16G_PDEC_QDI0 _L_(6) -#define PINMUX_PC16G_PDEC_QDI0 ((PIN_PC16G_PDEC_QDI0 << 16) | MUX_PC16G_PDEC_QDI0) -#define PORT_PC16G_PDEC_QDI0 (_UL_(1) << 16) -#define PIN_PA24G_PDEC_QDI0 _L_(24) /**< \brief PDEC signal: QDI0 on PA24 mux G */ -#define MUX_PA24G_PDEC_QDI0 _L_(6) -#define PINMUX_PA24G_PDEC_QDI0 ((PIN_PA24G_PDEC_QDI0 << 16) | MUX_PA24G_PDEC_QDI0) -#define PORT_PA24G_PDEC_QDI0 (_UL_(1) << 24) -#define PIN_PB19G_PDEC_QDI1 _L_(51) /**< \brief PDEC signal: QDI1 on PB19 mux G */ -#define MUX_PB19G_PDEC_QDI1 _L_(6) -#define PINMUX_PB19G_PDEC_QDI1 ((PIN_PB19G_PDEC_QDI1 << 16) | MUX_PB19G_PDEC_QDI1) -#define PORT_PB19G_PDEC_QDI1 (_UL_(1) << 19) -#define PIN_PB24G_PDEC_QDI1 _L_(56) /**< \brief PDEC signal: QDI1 on PB24 mux G */ -#define MUX_PB24G_PDEC_QDI1 _L_(6) -#define PINMUX_PB24G_PDEC_QDI1 ((PIN_PB24G_PDEC_QDI1 << 16) | MUX_PB24G_PDEC_QDI1) -#define PORT_PB24G_PDEC_QDI1 (_UL_(1) << 24) -#define PIN_PC17G_PDEC_QDI1 _L_(81) /**< \brief PDEC signal: QDI1 on PC17 mux G */ -#define MUX_PC17G_PDEC_QDI1 _L_(6) -#define PINMUX_PC17G_PDEC_QDI1 ((PIN_PC17G_PDEC_QDI1 << 16) | MUX_PC17G_PDEC_QDI1) -#define PORT_PC17G_PDEC_QDI1 (_UL_(1) << 17) -#define PIN_PA25G_PDEC_QDI1 _L_(25) /**< \brief PDEC signal: QDI1 on PA25 mux G */ -#define MUX_PA25G_PDEC_QDI1 _L_(6) -#define PINMUX_PA25G_PDEC_QDI1 ((PIN_PA25G_PDEC_QDI1 << 16) | MUX_PA25G_PDEC_QDI1) -#define PORT_PA25G_PDEC_QDI1 (_UL_(1) << 25) -#define PIN_PB20G_PDEC_QDI2 _L_(52) /**< \brief PDEC signal: QDI2 on PB20 mux G */ -#define MUX_PB20G_PDEC_QDI2 _L_(6) -#define PINMUX_PB20G_PDEC_QDI2 ((PIN_PB20G_PDEC_QDI2 << 16) | MUX_PB20G_PDEC_QDI2) -#define PORT_PB20G_PDEC_QDI2 (_UL_(1) << 20) -#define PIN_PB25G_PDEC_QDI2 _L_(57) /**< \brief PDEC signal: QDI2 on PB25 mux G */ -#define MUX_PB25G_PDEC_QDI2 _L_(6) -#define PINMUX_PB25G_PDEC_QDI2 ((PIN_PB25G_PDEC_QDI2 << 16) | MUX_PB25G_PDEC_QDI2) -#define PORT_PB25G_PDEC_QDI2 (_UL_(1) << 25) -#define PIN_PC18G_PDEC_QDI2 _L_(82) /**< \brief PDEC signal: QDI2 on PC18 mux G */ -#define MUX_PC18G_PDEC_QDI2 _L_(6) -#define PINMUX_PC18G_PDEC_QDI2 ((PIN_PC18G_PDEC_QDI2 << 16) | MUX_PC18G_PDEC_QDI2) -#define PORT_PC18G_PDEC_QDI2 (_UL_(1) << 18) -#define PIN_PB22G_PDEC_QDI2 _L_(54) /**< \brief PDEC signal: QDI2 on PB22 mux G */ -#define MUX_PB22G_PDEC_QDI2 _L_(6) -#define PINMUX_PB22G_PDEC_QDI2 ((PIN_PB22G_PDEC_QDI2 << 16) | MUX_PB22G_PDEC_QDI2) -#define PORT_PB22G_PDEC_QDI2 (_UL_(1) << 22) -/* ========== PORT definition for AC peripheral ========== */ -#define PIN_PA04B_AC_AIN0 _L_(4) /**< \brief AC signal: AIN0 on PA04 mux B */ -#define MUX_PA04B_AC_AIN0 _L_(1) -#define PINMUX_PA04B_AC_AIN0 ((PIN_PA04B_AC_AIN0 << 16) | MUX_PA04B_AC_AIN0) -#define PORT_PA04B_AC_AIN0 (_UL_(1) << 4) -#define PIN_PA05B_AC_AIN1 _L_(5) /**< \brief AC signal: AIN1 on PA05 mux B */ -#define MUX_PA05B_AC_AIN1 _L_(1) -#define PINMUX_PA05B_AC_AIN1 ((PIN_PA05B_AC_AIN1 << 16) | MUX_PA05B_AC_AIN1) -#define PORT_PA05B_AC_AIN1 (_UL_(1) << 5) -#define PIN_PA06B_AC_AIN2 _L_(6) /**< \brief AC signal: AIN2 on PA06 mux B */ -#define MUX_PA06B_AC_AIN2 _L_(1) -#define PINMUX_PA06B_AC_AIN2 ((PIN_PA06B_AC_AIN2 << 16) | MUX_PA06B_AC_AIN2) -#define PORT_PA06B_AC_AIN2 (_UL_(1) << 6) -#define PIN_PA07B_AC_AIN3 _L_(7) /**< \brief AC signal: AIN3 on PA07 mux B */ -#define MUX_PA07B_AC_AIN3 _L_(1) -#define PINMUX_PA07B_AC_AIN3 ((PIN_PA07B_AC_AIN3 << 16) | MUX_PA07B_AC_AIN3) -#define PORT_PA07B_AC_AIN3 (_UL_(1) << 7) -#define PIN_PA12M_AC_CMP0 _L_(12) /**< \brief AC signal: CMP0 on PA12 mux M */ -#define MUX_PA12M_AC_CMP0 _L_(12) -#define PINMUX_PA12M_AC_CMP0 ((PIN_PA12M_AC_CMP0 << 16) | MUX_PA12M_AC_CMP0) -#define PORT_PA12M_AC_CMP0 (_UL_(1) << 12) -#define PIN_PA18M_AC_CMP0 _L_(18) /**< \brief AC signal: CMP0 on PA18 mux M */ -#define MUX_PA18M_AC_CMP0 _L_(12) -#define PINMUX_PA18M_AC_CMP0 ((PIN_PA18M_AC_CMP0 << 16) | MUX_PA18M_AC_CMP0) -#define PORT_PA18M_AC_CMP0 (_UL_(1) << 18) -#define PIN_PB24M_AC_CMP0 _L_(56) /**< \brief AC signal: CMP0 on PB24 mux M */ -#define MUX_PB24M_AC_CMP0 _L_(12) -#define PINMUX_PB24M_AC_CMP0 ((PIN_PB24M_AC_CMP0 << 16) | MUX_PB24M_AC_CMP0) -#define PORT_PB24M_AC_CMP0 (_UL_(1) << 24) -#define PIN_PA13M_AC_CMP1 _L_(13) /**< \brief AC signal: CMP1 on PA13 mux M */ -#define MUX_PA13M_AC_CMP1 _L_(12) -#define PINMUX_PA13M_AC_CMP1 ((PIN_PA13M_AC_CMP1 << 16) | MUX_PA13M_AC_CMP1) -#define PORT_PA13M_AC_CMP1 (_UL_(1) << 13) -#define PIN_PA19M_AC_CMP1 _L_(19) /**< \brief AC signal: CMP1 on PA19 mux M */ -#define MUX_PA19M_AC_CMP1 _L_(12) -#define PINMUX_PA19M_AC_CMP1 ((PIN_PA19M_AC_CMP1 << 16) | MUX_PA19M_AC_CMP1) -#define PORT_PA19M_AC_CMP1 (_UL_(1) << 19) -#define PIN_PB25M_AC_CMP1 _L_(57) /**< \brief AC signal: CMP1 on PB25 mux M */ -#define MUX_PB25M_AC_CMP1 _L_(12) -#define PINMUX_PB25M_AC_CMP1 ((PIN_PB25M_AC_CMP1 << 16) | MUX_PB25M_AC_CMP1) -#define PORT_PB25M_AC_CMP1 (_UL_(1) << 25) -/* ========== PORT definition for QSPI peripheral ========== */ -#define PIN_PB11H_QSPI_CS _L_(43) /**< \brief QSPI signal: CS on PB11 mux H */ -#define MUX_PB11H_QSPI_CS _L_(7) -#define PINMUX_PB11H_QSPI_CS ((PIN_PB11H_QSPI_CS << 16) | MUX_PB11H_QSPI_CS) -#define PORT_PB11H_QSPI_CS (_UL_(1) << 11) -#define PIN_PA08H_QSPI_DATA0 _L_(8) /**< \brief QSPI signal: DATA0 on PA08 mux H */ -#define MUX_PA08H_QSPI_DATA0 _L_(7) -#define PINMUX_PA08H_QSPI_DATA0 ((PIN_PA08H_QSPI_DATA0 << 16) | MUX_PA08H_QSPI_DATA0) -#define PORT_PA08H_QSPI_DATA0 (_UL_(1) << 8) -#define PIN_PA09H_QSPI_DATA1 _L_(9) /**< \brief QSPI signal: DATA1 on PA09 mux H */ -#define MUX_PA09H_QSPI_DATA1 _L_(7) -#define PINMUX_PA09H_QSPI_DATA1 ((PIN_PA09H_QSPI_DATA1 << 16) | MUX_PA09H_QSPI_DATA1) -#define PORT_PA09H_QSPI_DATA1 (_UL_(1) << 9) -#define PIN_PA10H_QSPI_DATA2 _L_(10) /**< \brief QSPI signal: DATA2 on PA10 mux H */ -#define MUX_PA10H_QSPI_DATA2 _L_(7) -#define PINMUX_PA10H_QSPI_DATA2 ((PIN_PA10H_QSPI_DATA2 << 16) | MUX_PA10H_QSPI_DATA2) -#define PORT_PA10H_QSPI_DATA2 (_UL_(1) << 10) -#define PIN_PA11H_QSPI_DATA3 _L_(11) /**< \brief QSPI signal: DATA3 on PA11 mux H */ -#define MUX_PA11H_QSPI_DATA3 _L_(7) -#define PINMUX_PA11H_QSPI_DATA3 ((PIN_PA11H_QSPI_DATA3 << 16) | MUX_PA11H_QSPI_DATA3) -#define PORT_PA11H_QSPI_DATA3 (_UL_(1) << 11) -#define PIN_PB10H_QSPI_SCK _L_(42) /**< \brief QSPI signal: SCK on PB10 mux H */ -#define MUX_PB10H_QSPI_SCK _L_(7) -#define PINMUX_PB10H_QSPI_SCK ((PIN_PB10H_QSPI_SCK << 16) | MUX_PB10H_QSPI_SCK) -#define PORT_PB10H_QSPI_SCK (_UL_(1) << 10) -/* ========== PORT definition for CCL peripheral ========== */ -#define PIN_PA04N_CCL_IN0 _L_(4) /**< \brief CCL signal: IN0 on PA04 mux N */ -#define MUX_PA04N_CCL_IN0 _L_(13) -#define PINMUX_PA04N_CCL_IN0 ((PIN_PA04N_CCL_IN0 << 16) | MUX_PA04N_CCL_IN0) -#define PORT_PA04N_CCL_IN0 (_UL_(1) << 4) -#define PIN_PA16N_CCL_IN0 _L_(16) /**< \brief CCL signal: IN0 on PA16 mux N */ -#define MUX_PA16N_CCL_IN0 _L_(13) -#define PINMUX_PA16N_CCL_IN0 ((PIN_PA16N_CCL_IN0 << 16) | MUX_PA16N_CCL_IN0) -#define PORT_PA16N_CCL_IN0 (_UL_(1) << 16) -#define PIN_PB22N_CCL_IN0 _L_(54) /**< \brief CCL signal: IN0 on PB22 mux N */ -#define MUX_PB22N_CCL_IN0 _L_(13) -#define PINMUX_PB22N_CCL_IN0 ((PIN_PB22N_CCL_IN0 << 16) | MUX_PB22N_CCL_IN0) -#define PORT_PB22N_CCL_IN0 (_UL_(1) << 22) -#define PIN_PA05N_CCL_IN1 _L_(5) /**< \brief CCL signal: IN1 on PA05 mux N */ -#define MUX_PA05N_CCL_IN1 _L_(13) -#define PINMUX_PA05N_CCL_IN1 ((PIN_PA05N_CCL_IN1 << 16) | MUX_PA05N_CCL_IN1) -#define PORT_PA05N_CCL_IN1 (_UL_(1) << 5) -#define PIN_PA17N_CCL_IN1 _L_(17) /**< \brief CCL signal: IN1 on PA17 mux N */ -#define MUX_PA17N_CCL_IN1 _L_(13) -#define PINMUX_PA17N_CCL_IN1 ((PIN_PA17N_CCL_IN1 << 16) | MUX_PA17N_CCL_IN1) -#define PORT_PA17N_CCL_IN1 (_UL_(1) << 17) -#define PIN_PB00N_CCL_IN1 _L_(32) /**< \brief CCL signal: IN1 on PB00 mux N */ -#define MUX_PB00N_CCL_IN1 _L_(13) -#define PINMUX_PB00N_CCL_IN1 ((PIN_PB00N_CCL_IN1 << 16) | MUX_PB00N_CCL_IN1) -#define PORT_PB00N_CCL_IN1 (_UL_(1) << 0) -#define PIN_PA06N_CCL_IN2 _L_(6) /**< \brief CCL signal: IN2 on PA06 mux N */ -#define MUX_PA06N_CCL_IN2 _L_(13) -#define PINMUX_PA06N_CCL_IN2 ((PIN_PA06N_CCL_IN2 << 16) | MUX_PA06N_CCL_IN2) -#define PORT_PA06N_CCL_IN2 (_UL_(1) << 6) -#define PIN_PA18N_CCL_IN2 _L_(18) /**< \brief CCL signal: IN2 on PA18 mux N */ -#define MUX_PA18N_CCL_IN2 _L_(13) -#define PINMUX_PA18N_CCL_IN2 ((PIN_PA18N_CCL_IN2 << 16) | MUX_PA18N_CCL_IN2) -#define PORT_PA18N_CCL_IN2 (_UL_(1) << 18) -#define PIN_PB01N_CCL_IN2 _L_(33) /**< \brief CCL signal: IN2 on PB01 mux N */ -#define MUX_PB01N_CCL_IN2 _L_(13) -#define PINMUX_PB01N_CCL_IN2 ((PIN_PB01N_CCL_IN2 << 16) | MUX_PB01N_CCL_IN2) -#define PORT_PB01N_CCL_IN2 (_UL_(1) << 1) -#define PIN_PA08N_CCL_IN3 _L_(8) /**< \brief CCL signal: IN3 on PA08 mux N */ -#define MUX_PA08N_CCL_IN3 _L_(13) -#define PINMUX_PA08N_CCL_IN3 ((PIN_PA08N_CCL_IN3 << 16) | MUX_PA08N_CCL_IN3) -#define PORT_PA08N_CCL_IN3 (_UL_(1) << 8) -#define PIN_PA30N_CCL_IN3 _L_(30) /**< \brief CCL signal: IN3 on PA30 mux N */ -#define MUX_PA30N_CCL_IN3 _L_(13) -#define PINMUX_PA30N_CCL_IN3 ((PIN_PA30N_CCL_IN3 << 16) | MUX_PA30N_CCL_IN3) -#define PORT_PA30N_CCL_IN3 (_UL_(1) << 30) -#define PIN_PA09N_CCL_IN4 _L_(9) /**< \brief CCL signal: IN4 on PA09 mux N */ -#define MUX_PA09N_CCL_IN4 _L_(13) -#define PINMUX_PA09N_CCL_IN4 ((PIN_PA09N_CCL_IN4 << 16) | MUX_PA09N_CCL_IN4) -#define PORT_PA09N_CCL_IN4 (_UL_(1) << 9) -#define PIN_PC27N_CCL_IN4 _L_(91) /**< \brief CCL signal: IN4 on PC27 mux N */ -#define MUX_PC27N_CCL_IN4 _L_(13) -#define PINMUX_PC27N_CCL_IN4 ((PIN_PC27N_CCL_IN4 << 16) | MUX_PC27N_CCL_IN4) -#define PORT_PC27N_CCL_IN4 (_UL_(1) << 27) -#define PIN_PA10N_CCL_IN5 _L_(10) /**< \brief CCL signal: IN5 on PA10 mux N */ -#define MUX_PA10N_CCL_IN5 _L_(13) -#define PINMUX_PA10N_CCL_IN5 ((PIN_PA10N_CCL_IN5 << 16) | MUX_PA10N_CCL_IN5) -#define PORT_PA10N_CCL_IN5 (_UL_(1) << 10) -#define PIN_PC28N_CCL_IN5 _L_(92) /**< \brief CCL signal: IN5 on PC28 mux N */ -#define MUX_PC28N_CCL_IN5 _L_(13) -#define PINMUX_PC28N_CCL_IN5 ((PIN_PC28N_CCL_IN5 << 16) | MUX_PC28N_CCL_IN5) -#define PORT_PC28N_CCL_IN5 (_UL_(1) << 28) -#define PIN_PA22N_CCL_IN6 _L_(22) /**< \brief CCL signal: IN6 on PA22 mux N */ -#define MUX_PA22N_CCL_IN6 _L_(13) -#define PINMUX_PA22N_CCL_IN6 ((PIN_PA22N_CCL_IN6 << 16) | MUX_PA22N_CCL_IN6) -#define PORT_PA22N_CCL_IN6 (_UL_(1) << 22) -#define PIN_PB06N_CCL_IN6 _L_(38) /**< \brief CCL signal: IN6 on PB06 mux N */ -#define MUX_PB06N_CCL_IN6 _L_(13) -#define PINMUX_PB06N_CCL_IN6 ((PIN_PB06N_CCL_IN6 << 16) | MUX_PB06N_CCL_IN6) -#define PORT_PB06N_CCL_IN6 (_UL_(1) << 6) -#define PIN_PA23N_CCL_IN7 _L_(23) /**< \brief CCL signal: IN7 on PA23 mux N */ -#define MUX_PA23N_CCL_IN7 _L_(13) -#define PINMUX_PA23N_CCL_IN7 ((PIN_PA23N_CCL_IN7 << 16) | MUX_PA23N_CCL_IN7) -#define PORT_PA23N_CCL_IN7 (_UL_(1) << 23) -#define PIN_PB07N_CCL_IN7 _L_(39) /**< \brief CCL signal: IN7 on PB07 mux N */ -#define MUX_PB07N_CCL_IN7 _L_(13) -#define PINMUX_PB07N_CCL_IN7 ((PIN_PB07N_CCL_IN7 << 16) | MUX_PB07N_CCL_IN7) -#define PORT_PB07N_CCL_IN7 (_UL_(1) << 7) -#define PIN_PA24N_CCL_IN8 _L_(24) /**< \brief CCL signal: IN8 on PA24 mux N */ -#define MUX_PA24N_CCL_IN8 _L_(13) -#define PINMUX_PA24N_CCL_IN8 ((PIN_PA24N_CCL_IN8 << 16) | MUX_PA24N_CCL_IN8) -#define PORT_PA24N_CCL_IN8 (_UL_(1) << 24) -#define PIN_PB08N_CCL_IN8 _L_(40) /**< \brief CCL signal: IN8 on PB08 mux N */ -#define MUX_PB08N_CCL_IN8 _L_(13) -#define PINMUX_PB08N_CCL_IN8 ((PIN_PB08N_CCL_IN8 << 16) | MUX_PB08N_CCL_IN8) -#define PORT_PB08N_CCL_IN8 (_UL_(1) << 8) -#define PIN_PB14N_CCL_IN9 _L_(46) /**< \brief CCL signal: IN9 on PB14 mux N */ -#define MUX_PB14N_CCL_IN9 _L_(13) -#define PINMUX_PB14N_CCL_IN9 ((PIN_PB14N_CCL_IN9 << 16) | MUX_PB14N_CCL_IN9) -#define PORT_PB14N_CCL_IN9 (_UL_(1) << 14) -#define PIN_PC20N_CCL_IN9 _L_(84) /**< \brief CCL signal: IN9 on PC20 mux N */ -#define MUX_PC20N_CCL_IN9 _L_(13) -#define PINMUX_PC20N_CCL_IN9 ((PIN_PC20N_CCL_IN9 << 16) | MUX_PC20N_CCL_IN9) -#define PORT_PC20N_CCL_IN9 (_UL_(1) << 20) -#define PIN_PB15N_CCL_IN10 _L_(47) /**< \brief CCL signal: IN10 on PB15 mux N */ -#define MUX_PB15N_CCL_IN10 _L_(13) -#define PINMUX_PB15N_CCL_IN10 ((PIN_PB15N_CCL_IN10 << 16) | MUX_PB15N_CCL_IN10) -#define PORT_PB15N_CCL_IN10 (_UL_(1) << 15) -#define PIN_PC21N_CCL_IN10 _L_(85) /**< \brief CCL signal: IN10 on PC21 mux N */ -#define MUX_PC21N_CCL_IN10 _L_(13) -#define PINMUX_PC21N_CCL_IN10 ((PIN_PC21N_CCL_IN10 << 16) | MUX_PC21N_CCL_IN10) -#define PORT_PC21N_CCL_IN10 (_UL_(1) << 21) -#define PIN_PB10N_CCL_IN11 _L_(42) /**< \brief CCL signal: IN11 on PB10 mux N */ -#define MUX_PB10N_CCL_IN11 _L_(13) -#define PINMUX_PB10N_CCL_IN11 ((PIN_PB10N_CCL_IN11 << 16) | MUX_PB10N_CCL_IN11) -#define PORT_PB10N_CCL_IN11 (_UL_(1) << 10) -#define PIN_PB16N_CCL_IN11 _L_(48) /**< \brief CCL signal: IN11 on PB16 mux N */ -#define MUX_PB16N_CCL_IN11 _L_(13) -#define PINMUX_PB16N_CCL_IN11 ((PIN_PB16N_CCL_IN11 << 16) | MUX_PB16N_CCL_IN11) -#define PORT_PB16N_CCL_IN11 (_UL_(1) << 16) -#define PIN_PA07N_CCL_OUT0 _L_(7) /**< \brief CCL signal: OUT0 on PA07 mux N */ -#define MUX_PA07N_CCL_OUT0 _L_(13) -#define PINMUX_PA07N_CCL_OUT0 ((PIN_PA07N_CCL_OUT0 << 16) | MUX_PA07N_CCL_OUT0) -#define PORT_PA07N_CCL_OUT0 (_UL_(1) << 7) -#define PIN_PA19N_CCL_OUT0 _L_(19) /**< \brief CCL signal: OUT0 on PA19 mux N */ -#define MUX_PA19N_CCL_OUT0 _L_(13) -#define PINMUX_PA19N_CCL_OUT0 ((PIN_PA19N_CCL_OUT0 << 16) | MUX_PA19N_CCL_OUT0) -#define PORT_PA19N_CCL_OUT0 (_UL_(1) << 19) -#define PIN_PB02N_CCL_OUT0 _L_(34) /**< \brief CCL signal: OUT0 on PB02 mux N */ -#define MUX_PB02N_CCL_OUT0 _L_(13) -#define PINMUX_PB02N_CCL_OUT0 ((PIN_PB02N_CCL_OUT0 << 16) | MUX_PB02N_CCL_OUT0) -#define PORT_PB02N_CCL_OUT0 (_UL_(1) << 2) -#define PIN_PB23N_CCL_OUT0 _L_(55) /**< \brief CCL signal: OUT0 on PB23 mux N */ -#define MUX_PB23N_CCL_OUT0 _L_(13) -#define PINMUX_PB23N_CCL_OUT0 ((PIN_PB23N_CCL_OUT0 << 16) | MUX_PB23N_CCL_OUT0) -#define PORT_PB23N_CCL_OUT0 (_UL_(1) << 23) -#define PIN_PA11N_CCL_OUT1 _L_(11) /**< \brief CCL signal: OUT1 on PA11 mux N */ -#define MUX_PA11N_CCL_OUT1 _L_(13) -#define PINMUX_PA11N_CCL_OUT1 ((PIN_PA11N_CCL_OUT1 << 16) | MUX_PA11N_CCL_OUT1) -#define PORT_PA11N_CCL_OUT1 (_UL_(1) << 11) -#define PIN_PA31N_CCL_OUT1 _L_(31) /**< \brief CCL signal: OUT1 on PA31 mux N */ -#define MUX_PA31N_CCL_OUT1 _L_(13) -#define PINMUX_PA31N_CCL_OUT1 ((PIN_PA31N_CCL_OUT1 << 16) | MUX_PA31N_CCL_OUT1) -#define PORT_PA31N_CCL_OUT1 (_UL_(1) << 31) -#define PIN_PB11N_CCL_OUT1 _L_(43) /**< \brief CCL signal: OUT1 on PB11 mux N */ -#define MUX_PB11N_CCL_OUT1 _L_(13) -#define PINMUX_PB11N_CCL_OUT1 ((PIN_PB11N_CCL_OUT1 << 16) | MUX_PB11N_CCL_OUT1) -#define PORT_PB11N_CCL_OUT1 (_UL_(1) << 11) -#define PIN_PA25N_CCL_OUT2 _L_(25) /**< \brief CCL signal: OUT2 on PA25 mux N */ -#define MUX_PA25N_CCL_OUT2 _L_(13) -#define PINMUX_PA25N_CCL_OUT2 ((PIN_PA25N_CCL_OUT2 << 16) | MUX_PA25N_CCL_OUT2) -#define PORT_PA25N_CCL_OUT2 (_UL_(1) << 25) -#define PIN_PB09N_CCL_OUT2 _L_(41) /**< \brief CCL signal: OUT2 on PB09 mux N */ -#define MUX_PB09N_CCL_OUT2 _L_(13) -#define PINMUX_PB09N_CCL_OUT2 ((PIN_PB09N_CCL_OUT2 << 16) | MUX_PB09N_CCL_OUT2) -#define PORT_PB09N_CCL_OUT2 (_UL_(1) << 9) -#define PIN_PB17N_CCL_OUT3 _L_(49) /**< \brief CCL signal: OUT3 on PB17 mux N */ -#define MUX_PB17N_CCL_OUT3 _L_(13) -#define PINMUX_PB17N_CCL_OUT3 ((PIN_PB17N_CCL_OUT3 << 16) | MUX_PB17N_CCL_OUT3) -#define PORT_PB17N_CCL_OUT3 (_UL_(1) << 17) -/* ========== PORT definition for SERCOM4 peripheral ========== */ -#define PIN_PA13D_SERCOM4_PAD0 _L_(13) /**< \brief SERCOM4 signal: PAD0 on PA13 mux D */ -#define MUX_PA13D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PA13D_SERCOM4_PAD0 ((PIN_PA13D_SERCOM4_PAD0 << 16) | MUX_PA13D_SERCOM4_PAD0) -#define PORT_PA13D_SERCOM4_PAD0 (_UL_(1) << 13) -#define PIN_PB08D_SERCOM4_PAD0 _L_(40) /**< \brief SERCOM4 signal: PAD0 on PB08 mux D */ -#define MUX_PB08D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PB08D_SERCOM4_PAD0 ((PIN_PB08D_SERCOM4_PAD0 << 16) | MUX_PB08D_SERCOM4_PAD0) -#define PORT_PB08D_SERCOM4_PAD0 (_UL_(1) << 8) -#define PIN_PB27D_SERCOM4_PAD0 _L_(59) /**< \brief SERCOM4 signal: PAD0 on PB27 mux D */ -#define MUX_PB27D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PB27D_SERCOM4_PAD0 ((PIN_PB27D_SERCOM4_PAD0 << 16) | MUX_PB27D_SERCOM4_PAD0) -#define PORT_PB27D_SERCOM4_PAD0 (_UL_(1) << 27) -#define PIN_PB12C_SERCOM4_PAD0 _L_(44) /**< \brief SERCOM4 signal: PAD0 on PB12 mux C */ -#define MUX_PB12C_SERCOM4_PAD0 _L_(2) -#define PINMUX_PB12C_SERCOM4_PAD0 ((PIN_PB12C_SERCOM4_PAD0 << 16) | MUX_PB12C_SERCOM4_PAD0) -#define PORT_PB12C_SERCOM4_PAD0 (_UL_(1) << 12) -#define PIN_PA12D_SERCOM4_PAD1 _L_(12) /**< \brief SERCOM4 signal: PAD1 on PA12 mux D */ -#define MUX_PA12D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PA12D_SERCOM4_PAD1 ((PIN_PA12D_SERCOM4_PAD1 << 16) | MUX_PA12D_SERCOM4_PAD1) -#define PORT_PA12D_SERCOM4_PAD1 (_UL_(1) << 12) -#define PIN_PB09D_SERCOM4_PAD1 _L_(41) /**< \brief SERCOM4 signal: PAD1 on PB09 mux D */ -#define MUX_PB09D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PB09D_SERCOM4_PAD1 ((PIN_PB09D_SERCOM4_PAD1 << 16) | MUX_PB09D_SERCOM4_PAD1) -#define PORT_PB09D_SERCOM4_PAD1 (_UL_(1) << 9) -#define PIN_PB26D_SERCOM4_PAD1 _L_(58) /**< \brief SERCOM4 signal: PAD1 on PB26 mux D */ -#define MUX_PB26D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PB26D_SERCOM4_PAD1 ((PIN_PB26D_SERCOM4_PAD1 << 16) | MUX_PB26D_SERCOM4_PAD1) -#define PORT_PB26D_SERCOM4_PAD1 (_UL_(1) << 26) -#define PIN_PB13C_SERCOM4_PAD1 _L_(45) /**< \brief SERCOM4 signal: PAD1 on PB13 mux C */ -#define MUX_PB13C_SERCOM4_PAD1 _L_(2) -#define PINMUX_PB13C_SERCOM4_PAD1 ((PIN_PB13C_SERCOM4_PAD1 << 16) | MUX_PB13C_SERCOM4_PAD1) -#define PORT_PB13C_SERCOM4_PAD1 (_UL_(1) << 13) -#define PIN_PA14D_SERCOM4_PAD2 _L_(14) /**< \brief SERCOM4 signal: PAD2 on PA14 mux D */ -#define MUX_PA14D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PA14D_SERCOM4_PAD2 ((PIN_PA14D_SERCOM4_PAD2 << 16) | MUX_PA14D_SERCOM4_PAD2) -#define PORT_PA14D_SERCOM4_PAD2 (_UL_(1) << 14) -#define PIN_PB10D_SERCOM4_PAD2 _L_(42) /**< \brief SERCOM4 signal: PAD2 on PB10 mux D */ -#define MUX_PB10D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PB10D_SERCOM4_PAD2 ((PIN_PB10D_SERCOM4_PAD2 << 16) | MUX_PB10D_SERCOM4_PAD2) -#define PORT_PB10D_SERCOM4_PAD2 (_UL_(1) << 10) -#define PIN_PB28D_SERCOM4_PAD2 _L_(60) /**< \brief SERCOM4 signal: PAD2 on PB28 mux D */ -#define MUX_PB28D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PB28D_SERCOM4_PAD2 ((PIN_PB28D_SERCOM4_PAD2 << 16) | MUX_PB28D_SERCOM4_PAD2) -#define PORT_PB28D_SERCOM4_PAD2 (_UL_(1) << 28) -#define PIN_PB14C_SERCOM4_PAD2 _L_(46) /**< \brief SERCOM4 signal: PAD2 on PB14 mux C */ -#define MUX_PB14C_SERCOM4_PAD2 _L_(2) -#define PINMUX_PB14C_SERCOM4_PAD2 ((PIN_PB14C_SERCOM4_PAD2 << 16) | MUX_PB14C_SERCOM4_PAD2) -#define PORT_PB14C_SERCOM4_PAD2 (_UL_(1) << 14) -#define PIN_PB11D_SERCOM4_PAD3 _L_(43) /**< \brief SERCOM4 signal: PAD3 on PB11 mux D */ -#define MUX_PB11D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PB11D_SERCOM4_PAD3 ((PIN_PB11D_SERCOM4_PAD3 << 16) | MUX_PB11D_SERCOM4_PAD3) -#define PORT_PB11D_SERCOM4_PAD3 (_UL_(1) << 11) -#define PIN_PB29D_SERCOM4_PAD3 _L_(61) /**< \brief SERCOM4 signal: PAD3 on PB29 mux D */ -#define MUX_PB29D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PB29D_SERCOM4_PAD3 ((PIN_PB29D_SERCOM4_PAD3 << 16) | MUX_PB29D_SERCOM4_PAD3) -#define PORT_PB29D_SERCOM4_PAD3 (_UL_(1) << 29) -#define PIN_PA15D_SERCOM4_PAD3 _L_(15) /**< \brief SERCOM4 signal: PAD3 on PA15 mux D */ -#define MUX_PA15D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PA15D_SERCOM4_PAD3 ((PIN_PA15D_SERCOM4_PAD3 << 16) | MUX_PA15D_SERCOM4_PAD3) -#define PORT_PA15D_SERCOM4_PAD3 (_UL_(1) << 15) -#define PIN_PB15C_SERCOM4_PAD3 _L_(47) /**< \brief SERCOM4 signal: PAD3 on PB15 mux C */ -#define MUX_PB15C_SERCOM4_PAD3 _L_(2) -#define PINMUX_PB15C_SERCOM4_PAD3 ((PIN_PB15C_SERCOM4_PAD3 << 16) | MUX_PB15C_SERCOM4_PAD3) -#define PORT_PB15C_SERCOM4_PAD3 (_UL_(1) << 15) -/* ========== PORT definition for SERCOM5 peripheral ========== */ -#define PIN_PA23D_SERCOM5_PAD0 _L_(23) /**< \brief SERCOM5 signal: PAD0 on PA23 mux D */ -#define MUX_PA23D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PA23D_SERCOM5_PAD0 ((PIN_PA23D_SERCOM5_PAD0 << 16) | MUX_PA23D_SERCOM5_PAD0) -#define PORT_PA23D_SERCOM5_PAD0 (_UL_(1) << 23) -#define PIN_PB02D_SERCOM5_PAD0 _L_(34) /**< \brief SERCOM5 signal: PAD0 on PB02 mux D */ -#define MUX_PB02D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PB02D_SERCOM5_PAD0 ((PIN_PB02D_SERCOM5_PAD0 << 16) | MUX_PB02D_SERCOM5_PAD0) -#define PORT_PB02D_SERCOM5_PAD0 (_UL_(1) << 2) -#define PIN_PB31D_SERCOM5_PAD0 _L_(63) /**< \brief SERCOM5 signal: PAD0 on PB31 mux D */ -#define MUX_PB31D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PB31D_SERCOM5_PAD0 ((PIN_PB31D_SERCOM5_PAD0 << 16) | MUX_PB31D_SERCOM5_PAD0) -#define PORT_PB31D_SERCOM5_PAD0 (_UL_(1) << 31) -#define PIN_PB16C_SERCOM5_PAD0 _L_(48) /**< \brief SERCOM5 signal: PAD0 on PB16 mux C */ -#define MUX_PB16C_SERCOM5_PAD0 _L_(2) -#define PINMUX_PB16C_SERCOM5_PAD0 ((PIN_PB16C_SERCOM5_PAD0 << 16) | MUX_PB16C_SERCOM5_PAD0) -#define PORT_PB16C_SERCOM5_PAD0 (_UL_(1) << 16) -#define PIN_PA22D_SERCOM5_PAD1 _L_(22) /**< \brief SERCOM5 signal: PAD1 on PA22 mux D */ -#define MUX_PA22D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PA22D_SERCOM5_PAD1 ((PIN_PA22D_SERCOM5_PAD1 << 16) | MUX_PA22D_SERCOM5_PAD1) -#define PORT_PA22D_SERCOM5_PAD1 (_UL_(1) << 22) -#define PIN_PB03D_SERCOM5_PAD1 _L_(35) /**< \brief SERCOM5 signal: PAD1 on PB03 mux D */ -#define MUX_PB03D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PB03D_SERCOM5_PAD1 ((PIN_PB03D_SERCOM5_PAD1 << 16) | MUX_PB03D_SERCOM5_PAD1) -#define PORT_PB03D_SERCOM5_PAD1 (_UL_(1) << 3) -#define PIN_PB30D_SERCOM5_PAD1 _L_(62) /**< \brief SERCOM5 signal: PAD1 on PB30 mux D */ -#define MUX_PB30D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PB30D_SERCOM5_PAD1 ((PIN_PB30D_SERCOM5_PAD1 << 16) | MUX_PB30D_SERCOM5_PAD1) -#define PORT_PB30D_SERCOM5_PAD1 (_UL_(1) << 30) -#define PIN_PB17C_SERCOM5_PAD1 _L_(49) /**< \brief SERCOM5 signal: PAD1 on PB17 mux C */ -#define MUX_PB17C_SERCOM5_PAD1 _L_(2) -#define PINMUX_PB17C_SERCOM5_PAD1 ((PIN_PB17C_SERCOM5_PAD1 << 16) | MUX_PB17C_SERCOM5_PAD1) -#define PORT_PB17C_SERCOM5_PAD1 (_UL_(1) << 17) -#define PIN_PA24D_SERCOM5_PAD2 _L_(24) /**< \brief SERCOM5 signal: PAD2 on PA24 mux D */ -#define MUX_PA24D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PA24D_SERCOM5_PAD2 ((PIN_PA24D_SERCOM5_PAD2 << 16) | MUX_PA24D_SERCOM5_PAD2) -#define PORT_PA24D_SERCOM5_PAD2 (_UL_(1) << 24) -#define PIN_PB00D_SERCOM5_PAD2 _L_(32) /**< \brief SERCOM5 signal: PAD2 on PB00 mux D */ -#define MUX_PB00D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PB00D_SERCOM5_PAD2 ((PIN_PB00D_SERCOM5_PAD2 << 16) | MUX_PB00D_SERCOM5_PAD2) -#define PORT_PB00D_SERCOM5_PAD2 (_UL_(1) << 0) -#define PIN_PB22D_SERCOM5_PAD2 _L_(54) /**< \brief SERCOM5 signal: PAD2 on PB22 mux D */ -#define MUX_PB22D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PB22D_SERCOM5_PAD2 ((PIN_PB22D_SERCOM5_PAD2 << 16) | MUX_PB22D_SERCOM5_PAD2) -#define PORT_PB22D_SERCOM5_PAD2 (_UL_(1) << 22) -#define PIN_PA20C_SERCOM5_PAD2 _L_(20) /**< \brief SERCOM5 signal: PAD2 on PA20 mux C */ -#define MUX_PA20C_SERCOM5_PAD2 _L_(2) -#define PINMUX_PA20C_SERCOM5_PAD2 ((PIN_PA20C_SERCOM5_PAD2 << 16) | MUX_PA20C_SERCOM5_PAD2) -#define PORT_PA20C_SERCOM5_PAD2 (_UL_(1) << 20) -#define PIN_PB18C_SERCOM5_PAD2 _L_(50) /**< \brief SERCOM5 signal: PAD2 on PB18 mux C */ -#define MUX_PB18C_SERCOM5_PAD2 _L_(2) -#define PINMUX_PB18C_SERCOM5_PAD2 ((PIN_PB18C_SERCOM5_PAD2 << 16) | MUX_PB18C_SERCOM5_PAD2) -#define PORT_PB18C_SERCOM5_PAD2 (_UL_(1) << 18) -#define PIN_PA25D_SERCOM5_PAD3 _L_(25) /**< \brief SERCOM5 signal: PAD3 on PA25 mux D */ -#define MUX_PA25D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PA25D_SERCOM5_PAD3 ((PIN_PA25D_SERCOM5_PAD3 << 16) | MUX_PA25D_SERCOM5_PAD3) -#define PORT_PA25D_SERCOM5_PAD3 (_UL_(1) << 25) -#define PIN_PB01D_SERCOM5_PAD3 _L_(33) /**< \brief SERCOM5 signal: PAD3 on PB01 mux D */ -#define MUX_PB01D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PB01D_SERCOM5_PAD3 ((PIN_PB01D_SERCOM5_PAD3 << 16) | MUX_PB01D_SERCOM5_PAD3) -#define PORT_PB01D_SERCOM5_PAD3 (_UL_(1) << 1) -#define PIN_PB23D_SERCOM5_PAD3 _L_(55) /**< \brief SERCOM5 signal: PAD3 on PB23 mux D */ -#define MUX_PB23D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PB23D_SERCOM5_PAD3 ((PIN_PB23D_SERCOM5_PAD3 << 16) | MUX_PB23D_SERCOM5_PAD3) -#define PORT_PB23D_SERCOM5_PAD3 (_UL_(1) << 23) -#define PIN_PA21C_SERCOM5_PAD3 _L_(21) /**< \brief SERCOM5 signal: PAD3 on PA21 mux C */ -#define MUX_PA21C_SERCOM5_PAD3 _L_(2) -#define PINMUX_PA21C_SERCOM5_PAD3 ((PIN_PA21C_SERCOM5_PAD3 << 16) | MUX_PA21C_SERCOM5_PAD3) -#define PORT_PA21C_SERCOM5_PAD3 (_UL_(1) << 21) -#define PIN_PB19C_SERCOM5_PAD3 _L_(51) /**< \brief SERCOM5 signal: PAD3 on PB19 mux C */ -#define MUX_PB19C_SERCOM5_PAD3 _L_(2) -#define PINMUX_PB19C_SERCOM5_PAD3 ((PIN_PB19C_SERCOM5_PAD3 << 16) | MUX_PB19C_SERCOM5_PAD3) -#define PORT_PB19C_SERCOM5_PAD3 (_UL_(1) << 19) -/* ========== PORT definition for SERCOM6 peripheral ========== */ -#define PIN_PD09D_SERCOM6_PAD0 _L_(105) /**< \brief SERCOM6 signal: PAD0 on PD09 mux D */ -#define MUX_PD09D_SERCOM6_PAD0 _L_(3) -#define PINMUX_PD09D_SERCOM6_PAD0 ((PIN_PD09D_SERCOM6_PAD0 << 16) | MUX_PD09D_SERCOM6_PAD0) -#define PORT_PD09D_SERCOM6_PAD0 (_UL_(1) << 9) -#define PIN_PC13D_SERCOM6_PAD0 _L_(77) /**< \brief SERCOM6 signal: PAD0 on PC13 mux D */ -#define MUX_PC13D_SERCOM6_PAD0 _L_(3) -#define PINMUX_PC13D_SERCOM6_PAD0 ((PIN_PC13D_SERCOM6_PAD0 << 16) | MUX_PC13D_SERCOM6_PAD0) -#define PORT_PC13D_SERCOM6_PAD0 (_UL_(1) << 13) -#define PIN_PC04C_SERCOM6_PAD0 _L_(68) /**< \brief SERCOM6 signal: PAD0 on PC04 mux C */ -#define MUX_PC04C_SERCOM6_PAD0 _L_(2) -#define PINMUX_PC04C_SERCOM6_PAD0 ((PIN_PC04C_SERCOM6_PAD0 << 16) | MUX_PC04C_SERCOM6_PAD0) -#define PORT_PC04C_SERCOM6_PAD0 (_UL_(1) << 4) -#define PIN_PC16C_SERCOM6_PAD0 _L_(80) /**< \brief SERCOM6 signal: PAD0 on PC16 mux C */ -#define MUX_PC16C_SERCOM6_PAD0 _L_(2) -#define PINMUX_PC16C_SERCOM6_PAD0 ((PIN_PC16C_SERCOM6_PAD0 << 16) | MUX_PC16C_SERCOM6_PAD0) -#define PORT_PC16C_SERCOM6_PAD0 (_UL_(1) << 16) -#define PIN_PD08D_SERCOM6_PAD1 _L_(104) /**< \brief SERCOM6 signal: PAD1 on PD08 mux D */ -#define MUX_PD08D_SERCOM6_PAD1 _L_(3) -#define PINMUX_PD08D_SERCOM6_PAD1 ((PIN_PD08D_SERCOM6_PAD1 << 16) | MUX_PD08D_SERCOM6_PAD1) -#define PORT_PD08D_SERCOM6_PAD1 (_UL_(1) << 8) -#define PIN_PC12D_SERCOM6_PAD1 _L_(76) /**< \brief SERCOM6 signal: PAD1 on PC12 mux D */ -#define MUX_PC12D_SERCOM6_PAD1 _L_(3) -#define PINMUX_PC12D_SERCOM6_PAD1 ((PIN_PC12D_SERCOM6_PAD1 << 16) | MUX_PC12D_SERCOM6_PAD1) -#define PORT_PC12D_SERCOM6_PAD1 (_UL_(1) << 12) -#define PIN_PC05C_SERCOM6_PAD1 _L_(69) /**< \brief SERCOM6 signal: PAD1 on PC05 mux C */ -#define MUX_PC05C_SERCOM6_PAD1 _L_(2) -#define PINMUX_PC05C_SERCOM6_PAD1 ((PIN_PC05C_SERCOM6_PAD1 << 16) | MUX_PC05C_SERCOM6_PAD1) -#define PORT_PC05C_SERCOM6_PAD1 (_UL_(1) << 5) -#define PIN_PC17C_SERCOM6_PAD1 _L_(81) /**< \brief SERCOM6 signal: PAD1 on PC17 mux C */ -#define MUX_PC17C_SERCOM6_PAD1 _L_(2) -#define PINMUX_PC17C_SERCOM6_PAD1 ((PIN_PC17C_SERCOM6_PAD1 << 16) | MUX_PC17C_SERCOM6_PAD1) -#define PORT_PC17C_SERCOM6_PAD1 (_UL_(1) << 17) -#define PIN_PC14D_SERCOM6_PAD2 _L_(78) /**< \brief SERCOM6 signal: PAD2 on PC14 mux D */ -#define MUX_PC14D_SERCOM6_PAD2 _L_(3) -#define PINMUX_PC14D_SERCOM6_PAD2 ((PIN_PC14D_SERCOM6_PAD2 << 16) | MUX_PC14D_SERCOM6_PAD2) -#define PORT_PC14D_SERCOM6_PAD2 (_UL_(1) << 14) -#define PIN_PD10D_SERCOM6_PAD2 _L_(106) /**< \brief SERCOM6 signal: PAD2 on PD10 mux D */ -#define MUX_PD10D_SERCOM6_PAD2 _L_(3) -#define PINMUX_PD10D_SERCOM6_PAD2 ((PIN_PD10D_SERCOM6_PAD2 << 16) | MUX_PD10D_SERCOM6_PAD2) -#define PORT_PD10D_SERCOM6_PAD2 (_UL_(1) << 10) -#define PIN_PC06C_SERCOM6_PAD2 _L_(70) /**< \brief SERCOM6 signal: PAD2 on PC06 mux C */ -#define MUX_PC06C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC06C_SERCOM6_PAD2 ((PIN_PC06C_SERCOM6_PAD2 << 16) | MUX_PC06C_SERCOM6_PAD2) -#define PORT_PC06C_SERCOM6_PAD2 (_UL_(1) << 6) -#define PIN_PC10C_SERCOM6_PAD2 _L_(74) /**< \brief SERCOM6 signal: PAD2 on PC10 mux C */ -#define MUX_PC10C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC10C_SERCOM6_PAD2 ((PIN_PC10C_SERCOM6_PAD2 << 16) | MUX_PC10C_SERCOM6_PAD2) -#define PORT_PC10C_SERCOM6_PAD2 (_UL_(1) << 10) -#define PIN_PC18C_SERCOM6_PAD2 _L_(82) /**< \brief SERCOM6 signal: PAD2 on PC18 mux C */ -#define MUX_PC18C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC18C_SERCOM6_PAD2 ((PIN_PC18C_SERCOM6_PAD2 << 16) | MUX_PC18C_SERCOM6_PAD2) -#define PORT_PC18C_SERCOM6_PAD2 (_UL_(1) << 18) -#define PIN_PC15D_SERCOM6_PAD3 _L_(79) /**< \brief SERCOM6 signal: PAD3 on PC15 mux D */ -#define MUX_PC15D_SERCOM6_PAD3 _L_(3) -#define PINMUX_PC15D_SERCOM6_PAD3 ((PIN_PC15D_SERCOM6_PAD3 << 16) | MUX_PC15D_SERCOM6_PAD3) -#define PORT_PC15D_SERCOM6_PAD3 (_UL_(1) << 15) -#define PIN_PD11D_SERCOM6_PAD3 _L_(107) /**< \brief SERCOM6 signal: PAD3 on PD11 mux D */ -#define MUX_PD11D_SERCOM6_PAD3 _L_(3) -#define PINMUX_PD11D_SERCOM6_PAD3 ((PIN_PD11D_SERCOM6_PAD3 << 16) | MUX_PD11D_SERCOM6_PAD3) -#define PORT_PD11D_SERCOM6_PAD3 (_UL_(1) << 11) -#define PIN_PC07C_SERCOM6_PAD3 _L_(71) /**< \brief SERCOM6 signal: PAD3 on PC07 mux C */ -#define MUX_PC07C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC07C_SERCOM6_PAD3 ((PIN_PC07C_SERCOM6_PAD3 << 16) | MUX_PC07C_SERCOM6_PAD3) -#define PORT_PC07C_SERCOM6_PAD3 (_UL_(1) << 7) -#define PIN_PC11C_SERCOM6_PAD3 _L_(75) /**< \brief SERCOM6 signal: PAD3 on PC11 mux C */ -#define MUX_PC11C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC11C_SERCOM6_PAD3 ((PIN_PC11C_SERCOM6_PAD3 << 16) | MUX_PC11C_SERCOM6_PAD3) -#define PORT_PC11C_SERCOM6_PAD3 (_UL_(1) << 11) -#define PIN_PC19C_SERCOM6_PAD3 _L_(83) /**< \brief SERCOM6 signal: PAD3 on PC19 mux C */ -#define MUX_PC19C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC19C_SERCOM6_PAD3 ((PIN_PC19C_SERCOM6_PAD3 << 16) | MUX_PC19C_SERCOM6_PAD3) -#define PORT_PC19C_SERCOM6_PAD3 (_UL_(1) << 19) -/* ========== PORT definition for SERCOM7 peripheral ========== */ -#define PIN_PB21D_SERCOM7_PAD0 _L_(53) /**< \brief SERCOM7 signal: PAD0 on PB21 mux D */ -#define MUX_PB21D_SERCOM7_PAD0 _L_(3) -#define PINMUX_PB21D_SERCOM7_PAD0 ((PIN_PB21D_SERCOM7_PAD0 << 16) | MUX_PB21D_SERCOM7_PAD0) -#define PORT_PB21D_SERCOM7_PAD0 (_UL_(1) << 21) -#define PIN_PD08C_SERCOM7_PAD0 _L_(104) /**< \brief SERCOM7 signal: PAD0 on PD08 mux C */ -#define MUX_PD08C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PD08C_SERCOM7_PAD0 ((PIN_PD08C_SERCOM7_PAD0 << 16) | MUX_PD08C_SERCOM7_PAD0) -#define PORT_PD08C_SERCOM7_PAD0 (_UL_(1) << 8) -#define PIN_PB30C_SERCOM7_PAD0 _L_(62) /**< \brief SERCOM7 signal: PAD0 on PB30 mux C */ -#define MUX_PB30C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PB30C_SERCOM7_PAD0 ((PIN_PB30C_SERCOM7_PAD0 << 16) | MUX_PB30C_SERCOM7_PAD0) -#define PORT_PB30C_SERCOM7_PAD0 (_UL_(1) << 30) -#define PIN_PC12C_SERCOM7_PAD0 _L_(76) /**< \brief SERCOM7 signal: PAD0 on PC12 mux C */ -#define MUX_PC12C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PC12C_SERCOM7_PAD0 ((PIN_PC12C_SERCOM7_PAD0 << 16) | MUX_PC12C_SERCOM7_PAD0) -#define PORT_PC12C_SERCOM7_PAD0 (_UL_(1) << 12) -#define PIN_PB20D_SERCOM7_PAD1 _L_(52) /**< \brief SERCOM7 signal: PAD1 on PB20 mux D */ -#define MUX_PB20D_SERCOM7_PAD1 _L_(3) -#define PINMUX_PB20D_SERCOM7_PAD1 ((PIN_PB20D_SERCOM7_PAD1 << 16) | MUX_PB20D_SERCOM7_PAD1) -#define PORT_PB20D_SERCOM7_PAD1 (_UL_(1) << 20) -#define PIN_PD09C_SERCOM7_PAD1 _L_(105) /**< \brief SERCOM7 signal: PAD1 on PD09 mux C */ -#define MUX_PD09C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PD09C_SERCOM7_PAD1 ((PIN_PD09C_SERCOM7_PAD1 << 16) | MUX_PD09C_SERCOM7_PAD1) -#define PORT_PD09C_SERCOM7_PAD1 (_UL_(1) << 9) -#define PIN_PB31C_SERCOM7_PAD1 _L_(63) /**< \brief SERCOM7 signal: PAD1 on PB31 mux C */ -#define MUX_PB31C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PB31C_SERCOM7_PAD1 ((PIN_PB31C_SERCOM7_PAD1 << 16) | MUX_PB31C_SERCOM7_PAD1) -#define PORT_PB31C_SERCOM7_PAD1 (_UL_(1) << 31) -#define PIN_PC13C_SERCOM7_PAD1 _L_(77) /**< \brief SERCOM7 signal: PAD1 on PC13 mux C */ -#define MUX_PC13C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PC13C_SERCOM7_PAD1 ((PIN_PC13C_SERCOM7_PAD1 << 16) | MUX_PC13C_SERCOM7_PAD1) -#define PORT_PC13C_SERCOM7_PAD1 (_UL_(1) << 13) -#define PIN_PB18D_SERCOM7_PAD2 _L_(50) /**< \brief SERCOM7 signal: PAD2 on PB18 mux D */ -#define MUX_PB18D_SERCOM7_PAD2 _L_(3) -#define PINMUX_PB18D_SERCOM7_PAD2 ((PIN_PB18D_SERCOM7_PAD2 << 16) | MUX_PB18D_SERCOM7_PAD2) -#define PORT_PB18D_SERCOM7_PAD2 (_UL_(1) << 18) -#define PIN_PC10D_SERCOM7_PAD2 _L_(74) /**< \brief SERCOM7 signal: PAD2 on PC10 mux D */ -#define MUX_PC10D_SERCOM7_PAD2 _L_(3) -#define PINMUX_PC10D_SERCOM7_PAD2 ((PIN_PC10D_SERCOM7_PAD2 << 16) | MUX_PC10D_SERCOM7_PAD2) -#define PORT_PC10D_SERCOM7_PAD2 (_UL_(1) << 10) -#define PIN_PC14C_SERCOM7_PAD2 _L_(78) /**< \brief SERCOM7 signal: PAD2 on PC14 mux C */ -#define MUX_PC14C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PC14C_SERCOM7_PAD2 ((PIN_PC14C_SERCOM7_PAD2 << 16) | MUX_PC14C_SERCOM7_PAD2) -#define PORT_PC14C_SERCOM7_PAD2 (_UL_(1) << 14) -#define PIN_PD10C_SERCOM7_PAD2 _L_(106) /**< \brief SERCOM7 signal: PAD2 on PD10 mux C */ -#define MUX_PD10C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PD10C_SERCOM7_PAD2 ((PIN_PD10C_SERCOM7_PAD2 << 16) | MUX_PD10C_SERCOM7_PAD2) -#define PORT_PD10C_SERCOM7_PAD2 (_UL_(1) << 10) -#define PIN_PA30C_SERCOM7_PAD2 _L_(30) /**< \brief SERCOM7 signal: PAD2 on PA30 mux C */ -#define MUX_PA30C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PA30C_SERCOM7_PAD2 ((PIN_PA30C_SERCOM7_PAD2 << 16) | MUX_PA30C_SERCOM7_PAD2) -#define PORT_PA30C_SERCOM7_PAD2 (_UL_(1) << 30) -#define PIN_PB19D_SERCOM7_PAD3 _L_(51) /**< \brief SERCOM7 signal: PAD3 on PB19 mux D */ -#define MUX_PB19D_SERCOM7_PAD3 _L_(3) -#define PINMUX_PB19D_SERCOM7_PAD3 ((PIN_PB19D_SERCOM7_PAD3 << 16) | MUX_PB19D_SERCOM7_PAD3) -#define PORT_PB19D_SERCOM7_PAD3 (_UL_(1) << 19) -#define PIN_PC11D_SERCOM7_PAD3 _L_(75) /**< \brief SERCOM7 signal: PAD3 on PC11 mux D */ -#define MUX_PC11D_SERCOM7_PAD3 _L_(3) -#define PINMUX_PC11D_SERCOM7_PAD3 ((PIN_PC11D_SERCOM7_PAD3 << 16) | MUX_PC11D_SERCOM7_PAD3) -#define PORT_PC11D_SERCOM7_PAD3 (_UL_(1) << 11) -#define PIN_PC15C_SERCOM7_PAD3 _L_(79) /**< \brief SERCOM7 signal: PAD3 on PC15 mux C */ -#define MUX_PC15C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PC15C_SERCOM7_PAD3 ((PIN_PC15C_SERCOM7_PAD3 << 16) | MUX_PC15C_SERCOM7_PAD3) -#define PORT_PC15C_SERCOM7_PAD3 (_UL_(1) << 15) -#define PIN_PD11C_SERCOM7_PAD3 _L_(107) /**< \brief SERCOM7 signal: PAD3 on PD11 mux C */ -#define MUX_PD11C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PD11C_SERCOM7_PAD3 ((PIN_PD11C_SERCOM7_PAD3 << 16) | MUX_PD11C_SERCOM7_PAD3) -#define PORT_PD11C_SERCOM7_PAD3 (_UL_(1) << 11) -#define PIN_PA31C_SERCOM7_PAD3 _L_(31) /**< \brief SERCOM7 signal: PAD3 on PA31 mux C */ -#define MUX_PA31C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PA31C_SERCOM7_PAD3 ((PIN_PA31C_SERCOM7_PAD3 << 16) | MUX_PA31C_SERCOM7_PAD3) -#define PORT_PA31C_SERCOM7_PAD3 (_UL_(1) << 31) -/* ========== PORT definition for TCC4 peripheral ========== */ -#define PIN_PB14F_TCC4_WO0 _L_(46) /**< \brief TCC4 signal: WO0 on PB14 mux F */ -#define MUX_PB14F_TCC4_WO0 _L_(5) -#define PINMUX_PB14F_TCC4_WO0 ((PIN_PB14F_TCC4_WO0 << 16) | MUX_PB14F_TCC4_WO0) -#define PORT_PB14F_TCC4_WO0 (_UL_(1) << 14) -#define PIN_PB30F_TCC4_WO0 _L_(62) /**< \brief TCC4 signal: WO0 on PB30 mux F */ -#define MUX_PB30F_TCC4_WO0 _L_(5) -#define PINMUX_PB30F_TCC4_WO0 ((PIN_PB30F_TCC4_WO0 << 16) | MUX_PB30F_TCC4_WO0) -#define PORT_PB30F_TCC4_WO0 (_UL_(1) << 30) -#define PIN_PB15F_TCC4_WO1 _L_(47) /**< \brief TCC4 signal: WO1 on PB15 mux F */ -#define MUX_PB15F_TCC4_WO1 _L_(5) -#define PINMUX_PB15F_TCC4_WO1 ((PIN_PB15F_TCC4_WO1 << 16) | MUX_PB15F_TCC4_WO1) -#define PORT_PB15F_TCC4_WO1 (_UL_(1) << 15) -#define PIN_PB31F_TCC4_WO1 _L_(63) /**< \brief TCC4 signal: WO1 on PB31 mux F */ -#define MUX_PB31F_TCC4_WO1 _L_(5) -#define PINMUX_PB31F_TCC4_WO1 ((PIN_PB31F_TCC4_WO1 << 16) | MUX_PB31F_TCC4_WO1) -#define PORT_PB31F_TCC4_WO1 (_UL_(1) << 31) -/* ========== PORT definition for TC6 peripheral ========== */ -#define PIN_PA30E_TC6_WO0 _L_(30) /**< \brief TC6 signal: WO0 on PA30 mux E */ -#define MUX_PA30E_TC6_WO0 _L_(4) -#define PINMUX_PA30E_TC6_WO0 ((PIN_PA30E_TC6_WO0 << 16) | MUX_PA30E_TC6_WO0) -#define PORT_PA30E_TC6_WO0 (_UL_(1) << 30) -#define PIN_PB02E_TC6_WO0 _L_(34) /**< \brief TC6 signal: WO0 on PB02 mux E */ -#define MUX_PB02E_TC6_WO0 _L_(4) -#define PINMUX_PB02E_TC6_WO0 ((PIN_PB02E_TC6_WO0 << 16) | MUX_PB02E_TC6_WO0) -#define PORT_PB02E_TC6_WO0 (_UL_(1) << 2) -#define PIN_PB16E_TC6_WO0 _L_(48) /**< \brief TC6 signal: WO0 on PB16 mux E */ -#define MUX_PB16E_TC6_WO0 _L_(4) -#define PINMUX_PB16E_TC6_WO0 ((PIN_PB16E_TC6_WO0 << 16) | MUX_PB16E_TC6_WO0) -#define PORT_PB16E_TC6_WO0 (_UL_(1) << 16) -#define PIN_PA31E_TC6_WO1 _L_(31) /**< \brief TC6 signal: WO1 on PA31 mux E */ -#define MUX_PA31E_TC6_WO1 _L_(4) -#define PINMUX_PA31E_TC6_WO1 ((PIN_PA31E_TC6_WO1 << 16) | MUX_PA31E_TC6_WO1) -#define PORT_PA31E_TC6_WO1 (_UL_(1) << 31) -#define PIN_PB03E_TC6_WO1 _L_(35) /**< \brief TC6 signal: WO1 on PB03 mux E */ -#define MUX_PB03E_TC6_WO1 _L_(4) -#define PINMUX_PB03E_TC6_WO1 ((PIN_PB03E_TC6_WO1 << 16) | MUX_PB03E_TC6_WO1) -#define PORT_PB03E_TC6_WO1 (_UL_(1) << 3) -#define PIN_PB17E_TC6_WO1 _L_(49) /**< \brief TC6 signal: WO1 on PB17 mux E */ -#define MUX_PB17E_TC6_WO1 _L_(4) -#define PINMUX_PB17E_TC6_WO1 ((PIN_PB17E_TC6_WO1 << 16) | MUX_PB17E_TC6_WO1) -#define PORT_PB17E_TC6_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC7 peripheral ========== */ -#define PIN_PA20E_TC7_WO0 _L_(20) /**< \brief TC7 signal: WO0 on PA20 mux E */ -#define MUX_PA20E_TC7_WO0 _L_(4) -#define PINMUX_PA20E_TC7_WO0 ((PIN_PA20E_TC7_WO0 << 16) | MUX_PA20E_TC7_WO0) -#define PORT_PA20E_TC7_WO0 (_UL_(1) << 20) -#define PIN_PB00E_TC7_WO0 _L_(32) /**< \brief TC7 signal: WO0 on PB00 mux E */ -#define MUX_PB00E_TC7_WO0 _L_(4) -#define PINMUX_PB00E_TC7_WO0 ((PIN_PB00E_TC7_WO0 << 16) | MUX_PB00E_TC7_WO0) -#define PORT_PB00E_TC7_WO0 (_UL_(1) << 0) -#define PIN_PB22E_TC7_WO0 _L_(54) /**< \brief TC7 signal: WO0 on PB22 mux E */ -#define MUX_PB22E_TC7_WO0 _L_(4) -#define PINMUX_PB22E_TC7_WO0 ((PIN_PB22E_TC7_WO0 << 16) | MUX_PB22E_TC7_WO0) -#define PORT_PB22E_TC7_WO0 (_UL_(1) << 22) -#define PIN_PA21E_TC7_WO1 _L_(21) /**< \brief TC7 signal: WO1 on PA21 mux E */ -#define MUX_PA21E_TC7_WO1 _L_(4) -#define PINMUX_PA21E_TC7_WO1 ((PIN_PA21E_TC7_WO1 << 16) | MUX_PA21E_TC7_WO1) -#define PORT_PA21E_TC7_WO1 (_UL_(1) << 21) -#define PIN_PB01E_TC7_WO1 _L_(33) /**< \brief TC7 signal: WO1 on PB01 mux E */ -#define MUX_PB01E_TC7_WO1 _L_(4) -#define PINMUX_PB01E_TC7_WO1 ((PIN_PB01E_TC7_WO1 << 16) | MUX_PB01E_TC7_WO1) -#define PORT_PB01E_TC7_WO1 (_UL_(1) << 1) -#define PIN_PB23E_TC7_WO1 _L_(55) /**< \brief TC7 signal: WO1 on PB23 mux E */ -#define MUX_PB23E_TC7_WO1 _L_(4) -#define PINMUX_PB23E_TC7_WO1 ((PIN_PB23E_TC7_WO1 << 16) | MUX_PB23E_TC7_WO1) -#define PORT_PB23E_TC7_WO1 (_UL_(1) << 23) -/* ========== PORT definition for ADC0 peripheral ========== */ -#define PIN_PA02B_ADC0_AIN0 _L_(2) /**< \brief ADC0 signal: AIN0 on PA02 mux B */ -#define MUX_PA02B_ADC0_AIN0 _L_(1) -#define PINMUX_PA02B_ADC0_AIN0 ((PIN_PA02B_ADC0_AIN0 << 16) | MUX_PA02B_ADC0_AIN0) -#define PORT_PA02B_ADC0_AIN0 (_UL_(1) << 2) -#define PIN_PA03B_ADC0_AIN1 _L_(3) /**< \brief ADC0 signal: AIN1 on PA03 mux B */ -#define MUX_PA03B_ADC0_AIN1 _L_(1) -#define PINMUX_PA03B_ADC0_AIN1 ((PIN_PA03B_ADC0_AIN1 << 16) | MUX_PA03B_ADC0_AIN1) -#define PORT_PA03B_ADC0_AIN1 (_UL_(1) << 3) -#define PIN_PB08B_ADC0_AIN2 _L_(40) /**< \brief ADC0 signal: AIN2 on PB08 mux B */ -#define MUX_PB08B_ADC0_AIN2 _L_(1) -#define PINMUX_PB08B_ADC0_AIN2 ((PIN_PB08B_ADC0_AIN2 << 16) | MUX_PB08B_ADC0_AIN2) -#define PORT_PB08B_ADC0_AIN2 (_UL_(1) << 8) -#define PIN_PB09B_ADC0_AIN3 _L_(41) /**< \brief ADC0 signal: AIN3 on PB09 mux B */ -#define MUX_PB09B_ADC0_AIN3 _L_(1) -#define PINMUX_PB09B_ADC0_AIN3 ((PIN_PB09B_ADC0_AIN3 << 16) | MUX_PB09B_ADC0_AIN3) -#define PORT_PB09B_ADC0_AIN3 (_UL_(1) << 9) -#define PIN_PA04B_ADC0_AIN4 _L_(4) /**< \brief ADC0 signal: AIN4 on PA04 mux B */ -#define MUX_PA04B_ADC0_AIN4 _L_(1) -#define PINMUX_PA04B_ADC0_AIN4 ((PIN_PA04B_ADC0_AIN4 << 16) | MUX_PA04B_ADC0_AIN4) -#define PORT_PA04B_ADC0_AIN4 (_UL_(1) << 4) -#define PIN_PA05B_ADC0_AIN5 _L_(5) /**< \brief ADC0 signal: AIN5 on PA05 mux B */ -#define MUX_PA05B_ADC0_AIN5 _L_(1) -#define PINMUX_PA05B_ADC0_AIN5 ((PIN_PA05B_ADC0_AIN5 << 16) | MUX_PA05B_ADC0_AIN5) -#define PORT_PA05B_ADC0_AIN5 (_UL_(1) << 5) -#define PIN_PA06B_ADC0_AIN6 _L_(6) /**< \brief ADC0 signal: AIN6 on PA06 mux B */ -#define MUX_PA06B_ADC0_AIN6 _L_(1) -#define PINMUX_PA06B_ADC0_AIN6 ((PIN_PA06B_ADC0_AIN6 << 16) | MUX_PA06B_ADC0_AIN6) -#define PORT_PA06B_ADC0_AIN6 (_UL_(1) << 6) -#define PIN_PA07B_ADC0_AIN7 _L_(7) /**< \brief ADC0 signal: AIN7 on PA07 mux B */ -#define MUX_PA07B_ADC0_AIN7 _L_(1) -#define PINMUX_PA07B_ADC0_AIN7 ((PIN_PA07B_ADC0_AIN7 << 16) | MUX_PA07B_ADC0_AIN7) -#define PORT_PA07B_ADC0_AIN7 (_UL_(1) << 7) -#define PIN_PA08B_ADC0_AIN8 _L_(8) /**< \brief ADC0 signal: AIN8 on PA08 mux B */ -#define MUX_PA08B_ADC0_AIN8 _L_(1) -#define PINMUX_PA08B_ADC0_AIN8 ((PIN_PA08B_ADC0_AIN8 << 16) | MUX_PA08B_ADC0_AIN8) -#define PORT_PA08B_ADC0_AIN8 (_UL_(1) << 8) -#define PIN_PA09B_ADC0_AIN9 _L_(9) /**< \brief ADC0 signal: AIN9 on PA09 mux B */ -#define MUX_PA09B_ADC0_AIN9 _L_(1) -#define PINMUX_PA09B_ADC0_AIN9 ((PIN_PA09B_ADC0_AIN9 << 16) | MUX_PA09B_ADC0_AIN9) -#define PORT_PA09B_ADC0_AIN9 (_UL_(1) << 9) -#define PIN_PA10B_ADC0_AIN10 _L_(10) /**< \brief ADC0 signal: AIN10 on PA10 mux B */ -#define MUX_PA10B_ADC0_AIN10 _L_(1) -#define PINMUX_PA10B_ADC0_AIN10 ((PIN_PA10B_ADC0_AIN10 << 16) | MUX_PA10B_ADC0_AIN10) -#define PORT_PA10B_ADC0_AIN10 (_UL_(1) << 10) -#define PIN_PA11B_ADC0_AIN11 _L_(11) /**< \brief ADC0 signal: AIN11 on PA11 mux B */ -#define MUX_PA11B_ADC0_AIN11 _L_(1) -#define PINMUX_PA11B_ADC0_AIN11 ((PIN_PA11B_ADC0_AIN11 << 16) | MUX_PA11B_ADC0_AIN11) -#define PORT_PA11B_ADC0_AIN11 (_UL_(1) << 11) -#define PIN_PB00B_ADC0_AIN12 _L_(32) /**< \brief ADC0 signal: AIN12 on PB00 mux B */ -#define MUX_PB00B_ADC0_AIN12 _L_(1) -#define PINMUX_PB00B_ADC0_AIN12 ((PIN_PB00B_ADC0_AIN12 << 16) | MUX_PB00B_ADC0_AIN12) -#define PORT_PB00B_ADC0_AIN12 (_UL_(1) << 0) -#define PIN_PB01B_ADC0_AIN13 _L_(33) /**< \brief ADC0 signal: AIN13 on PB01 mux B */ -#define MUX_PB01B_ADC0_AIN13 _L_(1) -#define PINMUX_PB01B_ADC0_AIN13 ((PIN_PB01B_ADC0_AIN13 << 16) | MUX_PB01B_ADC0_AIN13) -#define PORT_PB01B_ADC0_AIN13 (_UL_(1) << 1) -#define PIN_PB02B_ADC0_AIN14 _L_(34) /**< \brief ADC0 signal: AIN14 on PB02 mux B */ -#define MUX_PB02B_ADC0_AIN14 _L_(1) -#define PINMUX_PB02B_ADC0_AIN14 ((PIN_PB02B_ADC0_AIN14 << 16) | MUX_PB02B_ADC0_AIN14) -#define PORT_PB02B_ADC0_AIN14 (_UL_(1) << 2) -#define PIN_PB03B_ADC0_AIN15 _L_(35) /**< \brief ADC0 signal: AIN15 on PB03 mux B */ -#define MUX_PB03B_ADC0_AIN15 _L_(1) -#define PINMUX_PB03B_ADC0_AIN15 ((PIN_PB03B_ADC0_AIN15 << 16) | MUX_PB03B_ADC0_AIN15) -#define PORT_PB03B_ADC0_AIN15 (_UL_(1) << 3) -#define PIN_PA03O_ADC0_DRV0 _L_(3) /**< \brief ADC0 signal: DRV0 on PA03 mux O */ -#define MUX_PA03O_ADC0_DRV0 _L_(14) -#define PINMUX_PA03O_ADC0_DRV0 ((PIN_PA03O_ADC0_DRV0 << 16) | MUX_PA03O_ADC0_DRV0) -#define PORT_PA03O_ADC0_DRV0 (_UL_(1) << 3) -#define PIN_PB08O_ADC0_DRV1 _L_(40) /**< \brief ADC0 signal: DRV1 on PB08 mux O */ -#define MUX_PB08O_ADC0_DRV1 _L_(14) -#define PINMUX_PB08O_ADC0_DRV1 ((PIN_PB08O_ADC0_DRV1 << 16) | MUX_PB08O_ADC0_DRV1) -#define PORT_PB08O_ADC0_DRV1 (_UL_(1) << 8) -#define PIN_PB09O_ADC0_DRV2 _L_(41) /**< \brief ADC0 signal: DRV2 on PB09 mux O */ -#define MUX_PB09O_ADC0_DRV2 _L_(14) -#define PINMUX_PB09O_ADC0_DRV2 ((PIN_PB09O_ADC0_DRV2 << 16) | MUX_PB09O_ADC0_DRV2) -#define PORT_PB09O_ADC0_DRV2 (_UL_(1) << 9) -#define PIN_PA04O_ADC0_DRV3 _L_(4) /**< \brief ADC0 signal: DRV3 on PA04 mux O */ -#define MUX_PA04O_ADC0_DRV3 _L_(14) -#define PINMUX_PA04O_ADC0_DRV3 ((PIN_PA04O_ADC0_DRV3 << 16) | MUX_PA04O_ADC0_DRV3) -#define PORT_PA04O_ADC0_DRV3 (_UL_(1) << 4) -#define PIN_PA06O_ADC0_DRV4 _L_(6) /**< \brief ADC0 signal: DRV4 on PA06 mux O */ -#define MUX_PA06O_ADC0_DRV4 _L_(14) -#define PINMUX_PA06O_ADC0_DRV4 ((PIN_PA06O_ADC0_DRV4 << 16) | MUX_PA06O_ADC0_DRV4) -#define PORT_PA06O_ADC0_DRV4 (_UL_(1) << 6) -#define PIN_PA07O_ADC0_DRV5 _L_(7) /**< \brief ADC0 signal: DRV5 on PA07 mux O */ -#define MUX_PA07O_ADC0_DRV5 _L_(14) -#define PINMUX_PA07O_ADC0_DRV5 ((PIN_PA07O_ADC0_DRV5 << 16) | MUX_PA07O_ADC0_DRV5) -#define PORT_PA07O_ADC0_DRV5 (_UL_(1) << 7) -#define PIN_PA08O_ADC0_DRV6 _L_(8) /**< \brief ADC0 signal: DRV6 on PA08 mux O */ -#define MUX_PA08O_ADC0_DRV6 _L_(14) -#define PINMUX_PA08O_ADC0_DRV6 ((PIN_PA08O_ADC0_DRV6 << 16) | MUX_PA08O_ADC0_DRV6) -#define PORT_PA08O_ADC0_DRV6 (_UL_(1) << 8) -#define PIN_PA09O_ADC0_DRV7 _L_(9) /**< \brief ADC0 signal: DRV7 on PA09 mux O */ -#define MUX_PA09O_ADC0_DRV7 _L_(14) -#define PINMUX_PA09O_ADC0_DRV7 ((PIN_PA09O_ADC0_DRV7 << 16) | MUX_PA09O_ADC0_DRV7) -#define PORT_PA09O_ADC0_DRV7 (_UL_(1) << 9) -#define PIN_PA10O_ADC0_DRV8 _L_(10) /**< \brief ADC0 signal: DRV8 on PA10 mux O */ -#define MUX_PA10O_ADC0_DRV8 _L_(14) -#define PINMUX_PA10O_ADC0_DRV8 ((PIN_PA10O_ADC0_DRV8 << 16) | MUX_PA10O_ADC0_DRV8) -#define PORT_PA10O_ADC0_DRV8 (_UL_(1) << 10) -#define PIN_PA11O_ADC0_DRV9 _L_(11) /**< \brief ADC0 signal: DRV9 on PA11 mux O */ -#define MUX_PA11O_ADC0_DRV9 _L_(14) -#define PINMUX_PA11O_ADC0_DRV9 ((PIN_PA11O_ADC0_DRV9 << 16) | MUX_PA11O_ADC0_DRV9) -#define PORT_PA11O_ADC0_DRV9 (_UL_(1) << 11) -#define PIN_PA16O_ADC0_DRV10 _L_(16) /**< \brief ADC0 signal: DRV10 on PA16 mux O */ -#define MUX_PA16O_ADC0_DRV10 _L_(14) -#define PINMUX_PA16O_ADC0_DRV10 ((PIN_PA16O_ADC0_DRV10 << 16) | MUX_PA16O_ADC0_DRV10) -#define PORT_PA16O_ADC0_DRV10 (_UL_(1) << 16) -#define PIN_PA17O_ADC0_DRV11 _L_(17) /**< \brief ADC0 signal: DRV11 on PA17 mux O */ -#define MUX_PA17O_ADC0_DRV11 _L_(14) -#define PINMUX_PA17O_ADC0_DRV11 ((PIN_PA17O_ADC0_DRV11 << 16) | MUX_PA17O_ADC0_DRV11) -#define PORT_PA17O_ADC0_DRV11 (_UL_(1) << 17) -#define PIN_PA18O_ADC0_DRV12 _L_(18) /**< \brief ADC0 signal: DRV12 on PA18 mux O */ -#define MUX_PA18O_ADC0_DRV12 _L_(14) -#define PINMUX_PA18O_ADC0_DRV12 ((PIN_PA18O_ADC0_DRV12 << 16) | MUX_PA18O_ADC0_DRV12) -#define PORT_PA18O_ADC0_DRV12 (_UL_(1) << 18) -#define PIN_PA19O_ADC0_DRV13 _L_(19) /**< \brief ADC0 signal: DRV13 on PA19 mux O */ -#define MUX_PA19O_ADC0_DRV13 _L_(14) -#define PINMUX_PA19O_ADC0_DRV13 ((PIN_PA19O_ADC0_DRV13 << 16) | MUX_PA19O_ADC0_DRV13) -#define PORT_PA19O_ADC0_DRV13 (_UL_(1) << 19) -#define PIN_PA20O_ADC0_DRV14 _L_(20) /**< \brief ADC0 signal: DRV14 on PA20 mux O */ -#define MUX_PA20O_ADC0_DRV14 _L_(14) -#define PINMUX_PA20O_ADC0_DRV14 ((PIN_PA20O_ADC0_DRV14 << 16) | MUX_PA20O_ADC0_DRV14) -#define PORT_PA20O_ADC0_DRV14 (_UL_(1) << 20) -#define PIN_PA21O_ADC0_DRV15 _L_(21) /**< \brief ADC0 signal: DRV15 on PA21 mux O */ -#define MUX_PA21O_ADC0_DRV15 _L_(14) -#define PINMUX_PA21O_ADC0_DRV15 ((PIN_PA21O_ADC0_DRV15 << 16) | MUX_PA21O_ADC0_DRV15) -#define PORT_PA21O_ADC0_DRV15 (_UL_(1) << 21) -#define PIN_PA22O_ADC0_DRV16 _L_(22) /**< \brief ADC0 signal: DRV16 on PA22 mux O */ -#define MUX_PA22O_ADC0_DRV16 _L_(14) -#define PINMUX_PA22O_ADC0_DRV16 ((PIN_PA22O_ADC0_DRV16 << 16) | MUX_PA22O_ADC0_DRV16) -#define PORT_PA22O_ADC0_DRV16 (_UL_(1) << 22) -#define PIN_PA23O_ADC0_DRV17 _L_(23) /**< \brief ADC0 signal: DRV17 on PA23 mux O */ -#define MUX_PA23O_ADC0_DRV17 _L_(14) -#define PINMUX_PA23O_ADC0_DRV17 ((PIN_PA23O_ADC0_DRV17 << 16) | MUX_PA23O_ADC0_DRV17) -#define PORT_PA23O_ADC0_DRV17 (_UL_(1) << 23) -#define PIN_PA27O_ADC0_DRV18 _L_(27) /**< \brief ADC0 signal: DRV18 on PA27 mux O */ -#define MUX_PA27O_ADC0_DRV18 _L_(14) -#define PINMUX_PA27O_ADC0_DRV18 ((PIN_PA27O_ADC0_DRV18 << 16) | MUX_PA27O_ADC0_DRV18) -#define PORT_PA27O_ADC0_DRV18 (_UL_(1) << 27) -#define PIN_PA30O_ADC0_DRV19 _L_(30) /**< \brief ADC0 signal: DRV19 on PA30 mux O */ -#define MUX_PA30O_ADC0_DRV19 _L_(14) -#define PINMUX_PA30O_ADC0_DRV19 ((PIN_PA30O_ADC0_DRV19 << 16) | MUX_PA30O_ADC0_DRV19) -#define PORT_PA30O_ADC0_DRV19 (_UL_(1) << 30) -#define PIN_PB02O_ADC0_DRV20 _L_(34) /**< \brief ADC0 signal: DRV20 on PB02 mux O */ -#define MUX_PB02O_ADC0_DRV20 _L_(14) -#define PINMUX_PB02O_ADC0_DRV20 ((PIN_PB02O_ADC0_DRV20 << 16) | MUX_PB02O_ADC0_DRV20) -#define PORT_PB02O_ADC0_DRV20 (_UL_(1) << 2) -#define PIN_PB03O_ADC0_DRV21 _L_(35) /**< \brief ADC0 signal: DRV21 on PB03 mux O */ -#define MUX_PB03O_ADC0_DRV21 _L_(14) -#define PINMUX_PB03O_ADC0_DRV21 ((PIN_PB03O_ADC0_DRV21 << 16) | MUX_PB03O_ADC0_DRV21) -#define PORT_PB03O_ADC0_DRV21 (_UL_(1) << 3) -#define PIN_PB04O_ADC0_DRV22 _L_(36) /**< \brief ADC0 signal: DRV22 on PB04 mux O */ -#define MUX_PB04O_ADC0_DRV22 _L_(14) -#define PINMUX_PB04O_ADC0_DRV22 ((PIN_PB04O_ADC0_DRV22 << 16) | MUX_PB04O_ADC0_DRV22) -#define PORT_PB04O_ADC0_DRV22 (_UL_(1) << 4) -#define PIN_PB05O_ADC0_DRV23 _L_(37) /**< \brief ADC0 signal: DRV23 on PB05 mux O */ -#define MUX_PB05O_ADC0_DRV23 _L_(14) -#define PINMUX_PB05O_ADC0_DRV23 ((PIN_PB05O_ADC0_DRV23 << 16) | MUX_PB05O_ADC0_DRV23) -#define PORT_PB05O_ADC0_DRV23 (_UL_(1) << 5) -#define PIN_PB06O_ADC0_DRV24 _L_(38) /**< \brief ADC0 signal: DRV24 on PB06 mux O */ -#define MUX_PB06O_ADC0_DRV24 _L_(14) -#define PINMUX_PB06O_ADC0_DRV24 ((PIN_PB06O_ADC0_DRV24 << 16) | MUX_PB06O_ADC0_DRV24) -#define PORT_PB06O_ADC0_DRV24 (_UL_(1) << 6) -#define PIN_PB07O_ADC0_DRV25 _L_(39) /**< \brief ADC0 signal: DRV25 on PB07 mux O */ -#define MUX_PB07O_ADC0_DRV25 _L_(14) -#define PINMUX_PB07O_ADC0_DRV25 ((PIN_PB07O_ADC0_DRV25 << 16) | MUX_PB07O_ADC0_DRV25) -#define PORT_PB07O_ADC0_DRV25 (_UL_(1) << 7) -#define PIN_PB12O_ADC0_DRV26 _L_(44) /**< \brief ADC0 signal: DRV26 on PB12 mux O */ -#define MUX_PB12O_ADC0_DRV26 _L_(14) -#define PINMUX_PB12O_ADC0_DRV26 ((PIN_PB12O_ADC0_DRV26 << 16) | MUX_PB12O_ADC0_DRV26) -#define PORT_PB12O_ADC0_DRV26 (_UL_(1) << 12) -#define PIN_PB13O_ADC0_DRV27 _L_(45) /**< \brief ADC0 signal: DRV27 on PB13 mux O */ -#define MUX_PB13O_ADC0_DRV27 _L_(14) -#define PINMUX_PB13O_ADC0_DRV27 ((PIN_PB13O_ADC0_DRV27 << 16) | MUX_PB13O_ADC0_DRV27) -#define PORT_PB13O_ADC0_DRV27 (_UL_(1) << 13) -#define PIN_PB14O_ADC0_DRV28 _L_(46) /**< \brief ADC0 signal: DRV28 on PB14 mux O */ -#define MUX_PB14O_ADC0_DRV28 _L_(14) -#define PINMUX_PB14O_ADC0_DRV28 ((PIN_PB14O_ADC0_DRV28 << 16) | MUX_PB14O_ADC0_DRV28) -#define PORT_PB14O_ADC0_DRV28 (_UL_(1) << 14) -#define PIN_PB15O_ADC0_DRV29 _L_(47) /**< \brief ADC0 signal: DRV29 on PB15 mux O */ -#define MUX_PB15O_ADC0_DRV29 _L_(14) -#define PINMUX_PB15O_ADC0_DRV29 ((PIN_PB15O_ADC0_DRV29 << 16) | MUX_PB15O_ADC0_DRV29) -#define PORT_PB15O_ADC0_DRV29 (_UL_(1) << 15) -#define PIN_PB00O_ADC0_DRV30 _L_(32) /**< \brief ADC0 signal: DRV30 on PB00 mux O */ -#define MUX_PB00O_ADC0_DRV30 _L_(14) -#define PINMUX_PB00O_ADC0_DRV30 ((PIN_PB00O_ADC0_DRV30 << 16) | MUX_PB00O_ADC0_DRV30) -#define PORT_PB00O_ADC0_DRV30 (_UL_(1) << 0) -#define PIN_PB01O_ADC0_DRV31 _L_(33) /**< \brief ADC0 signal: DRV31 on PB01 mux O */ -#define MUX_PB01O_ADC0_DRV31 _L_(14) -#define PINMUX_PB01O_ADC0_DRV31 ((PIN_PB01O_ADC0_DRV31 << 16) | MUX_PB01O_ADC0_DRV31) -#define PORT_PB01O_ADC0_DRV31 (_UL_(1) << 1) -#define PIN_PA03B_ADC0_PTCXY0 _L_(3) /**< \brief ADC0 signal: PTCXY0 on PA03 mux B */ -#define MUX_PA03B_ADC0_PTCXY0 _L_(1) -#define PINMUX_PA03B_ADC0_PTCXY0 ((PIN_PA03B_ADC0_PTCXY0 << 16) | MUX_PA03B_ADC0_PTCXY0) -#define PORT_PA03B_ADC0_PTCXY0 (_UL_(1) << 3) -#define PIN_PB08B_ADC0_PTCXY1 _L_(40) /**< \brief ADC0 signal: PTCXY1 on PB08 mux B */ -#define MUX_PB08B_ADC0_PTCXY1 _L_(1) -#define PINMUX_PB08B_ADC0_PTCXY1 ((PIN_PB08B_ADC0_PTCXY1 << 16) | MUX_PB08B_ADC0_PTCXY1) -#define PORT_PB08B_ADC0_PTCXY1 (_UL_(1) << 8) -#define PIN_PB09B_ADC0_PTCXY2 _L_(41) /**< \brief ADC0 signal: PTCXY2 on PB09 mux B */ -#define MUX_PB09B_ADC0_PTCXY2 _L_(1) -#define PINMUX_PB09B_ADC0_PTCXY2 ((PIN_PB09B_ADC0_PTCXY2 << 16) | MUX_PB09B_ADC0_PTCXY2) -#define PORT_PB09B_ADC0_PTCXY2 (_UL_(1) << 9) -#define PIN_PA04B_ADC0_PTCXY3 _L_(4) /**< \brief ADC0 signal: PTCXY3 on PA04 mux B */ -#define MUX_PA04B_ADC0_PTCXY3 _L_(1) -#define PINMUX_PA04B_ADC0_PTCXY3 ((PIN_PA04B_ADC0_PTCXY3 << 16) | MUX_PA04B_ADC0_PTCXY3) -#define PORT_PA04B_ADC0_PTCXY3 (_UL_(1) << 4) -#define PIN_PA06B_ADC0_PTCXY4 _L_(6) /**< \brief ADC0 signal: PTCXY4 on PA06 mux B */ -#define MUX_PA06B_ADC0_PTCXY4 _L_(1) -#define PINMUX_PA06B_ADC0_PTCXY4 ((PIN_PA06B_ADC0_PTCXY4 << 16) | MUX_PA06B_ADC0_PTCXY4) -#define PORT_PA06B_ADC0_PTCXY4 (_UL_(1) << 6) -#define PIN_PA07B_ADC0_PTCXY5 _L_(7) /**< \brief ADC0 signal: PTCXY5 on PA07 mux B */ -#define MUX_PA07B_ADC0_PTCXY5 _L_(1) -#define PINMUX_PA07B_ADC0_PTCXY5 ((PIN_PA07B_ADC0_PTCXY5 << 16) | MUX_PA07B_ADC0_PTCXY5) -#define PORT_PA07B_ADC0_PTCXY5 (_UL_(1) << 7) -#define PIN_PA08B_ADC0_PTCXY6 _L_(8) /**< \brief ADC0 signal: PTCXY6 on PA08 mux B */ -#define MUX_PA08B_ADC0_PTCXY6 _L_(1) -#define PINMUX_PA08B_ADC0_PTCXY6 ((PIN_PA08B_ADC0_PTCXY6 << 16) | MUX_PA08B_ADC0_PTCXY6) -#define PORT_PA08B_ADC0_PTCXY6 (_UL_(1) << 8) -#define PIN_PA09B_ADC0_PTCXY7 _L_(9) /**< \brief ADC0 signal: PTCXY7 on PA09 mux B */ -#define MUX_PA09B_ADC0_PTCXY7 _L_(1) -#define PINMUX_PA09B_ADC0_PTCXY7 ((PIN_PA09B_ADC0_PTCXY7 << 16) | MUX_PA09B_ADC0_PTCXY7) -#define PORT_PA09B_ADC0_PTCXY7 (_UL_(1) << 9) -#define PIN_PA10B_ADC0_PTCXY8 _L_(10) /**< \brief ADC0 signal: PTCXY8 on PA10 mux B */ -#define MUX_PA10B_ADC0_PTCXY8 _L_(1) -#define PINMUX_PA10B_ADC0_PTCXY8 ((PIN_PA10B_ADC0_PTCXY8 << 16) | MUX_PA10B_ADC0_PTCXY8) -#define PORT_PA10B_ADC0_PTCXY8 (_UL_(1) << 10) -#define PIN_PA11B_ADC0_PTCXY9 _L_(11) /**< \brief ADC0 signal: PTCXY9 on PA11 mux B */ -#define MUX_PA11B_ADC0_PTCXY9 _L_(1) -#define PINMUX_PA11B_ADC0_PTCXY9 ((PIN_PA11B_ADC0_PTCXY9 << 16) | MUX_PA11B_ADC0_PTCXY9) -#define PORT_PA11B_ADC0_PTCXY9 (_UL_(1) << 11) -#define PIN_PA16B_ADC0_PTCXY10 _L_(16) /**< \brief ADC0 signal: PTCXY10 on PA16 mux B */ -#define MUX_PA16B_ADC0_PTCXY10 _L_(1) -#define PINMUX_PA16B_ADC0_PTCXY10 ((PIN_PA16B_ADC0_PTCXY10 << 16) | MUX_PA16B_ADC0_PTCXY10) -#define PORT_PA16B_ADC0_PTCXY10 (_UL_(1) << 16) -#define PIN_PA17B_ADC0_PTCXY11 _L_(17) /**< \brief ADC0 signal: PTCXY11 on PA17 mux B */ -#define MUX_PA17B_ADC0_PTCXY11 _L_(1) -#define PINMUX_PA17B_ADC0_PTCXY11 ((PIN_PA17B_ADC0_PTCXY11 << 16) | MUX_PA17B_ADC0_PTCXY11) -#define PORT_PA17B_ADC0_PTCXY11 (_UL_(1) << 17) -#define PIN_PA18B_ADC0_PTCXY12 _L_(18) /**< \brief ADC0 signal: PTCXY12 on PA18 mux B */ -#define MUX_PA18B_ADC0_PTCXY12 _L_(1) -#define PINMUX_PA18B_ADC0_PTCXY12 ((PIN_PA18B_ADC0_PTCXY12 << 16) | MUX_PA18B_ADC0_PTCXY12) -#define PORT_PA18B_ADC0_PTCXY12 (_UL_(1) << 18) -#define PIN_PA19B_ADC0_PTCXY13 _L_(19) /**< \brief ADC0 signal: PTCXY13 on PA19 mux B */ -#define MUX_PA19B_ADC0_PTCXY13 _L_(1) -#define PINMUX_PA19B_ADC0_PTCXY13 ((PIN_PA19B_ADC0_PTCXY13 << 16) | MUX_PA19B_ADC0_PTCXY13) -#define PORT_PA19B_ADC0_PTCXY13 (_UL_(1) << 19) -#define PIN_PA20B_ADC0_PTCXY14 _L_(20) /**< \brief ADC0 signal: PTCXY14 on PA20 mux B */ -#define MUX_PA20B_ADC0_PTCXY14 _L_(1) -#define PINMUX_PA20B_ADC0_PTCXY14 ((PIN_PA20B_ADC0_PTCXY14 << 16) | MUX_PA20B_ADC0_PTCXY14) -#define PORT_PA20B_ADC0_PTCXY14 (_UL_(1) << 20) -#define PIN_PA21B_ADC0_PTCXY15 _L_(21) /**< \brief ADC0 signal: PTCXY15 on PA21 mux B */ -#define MUX_PA21B_ADC0_PTCXY15 _L_(1) -#define PINMUX_PA21B_ADC0_PTCXY15 ((PIN_PA21B_ADC0_PTCXY15 << 16) | MUX_PA21B_ADC0_PTCXY15) -#define PORT_PA21B_ADC0_PTCXY15 (_UL_(1) << 21) -#define PIN_PA22B_ADC0_PTCXY16 _L_(22) /**< \brief ADC0 signal: PTCXY16 on PA22 mux B */ -#define MUX_PA22B_ADC0_PTCXY16 _L_(1) -#define PINMUX_PA22B_ADC0_PTCXY16 ((PIN_PA22B_ADC0_PTCXY16 << 16) | MUX_PA22B_ADC0_PTCXY16) -#define PORT_PA22B_ADC0_PTCXY16 (_UL_(1) << 22) -#define PIN_PA23B_ADC0_PTCXY17 _L_(23) /**< \brief ADC0 signal: PTCXY17 on PA23 mux B */ -#define MUX_PA23B_ADC0_PTCXY17 _L_(1) -#define PINMUX_PA23B_ADC0_PTCXY17 ((PIN_PA23B_ADC0_PTCXY17 << 16) | MUX_PA23B_ADC0_PTCXY17) -#define PORT_PA23B_ADC0_PTCXY17 (_UL_(1) << 23) -#define PIN_PA27B_ADC0_PTCXY18 _L_(27) /**< \brief ADC0 signal: PTCXY18 on PA27 mux B */ -#define MUX_PA27B_ADC0_PTCXY18 _L_(1) -#define PINMUX_PA27B_ADC0_PTCXY18 ((PIN_PA27B_ADC0_PTCXY18 << 16) | MUX_PA27B_ADC0_PTCXY18) -#define PORT_PA27B_ADC0_PTCXY18 (_UL_(1) << 27) -#define PIN_PA30B_ADC0_PTCXY19 _L_(30) /**< \brief ADC0 signal: PTCXY19 on PA30 mux B */ -#define MUX_PA30B_ADC0_PTCXY19 _L_(1) -#define PINMUX_PA30B_ADC0_PTCXY19 ((PIN_PA30B_ADC0_PTCXY19 << 16) | MUX_PA30B_ADC0_PTCXY19) -#define PORT_PA30B_ADC0_PTCXY19 (_UL_(1) << 30) -#define PIN_PB02B_ADC0_PTCXY20 _L_(34) /**< \brief ADC0 signal: PTCXY20 on PB02 mux B */ -#define MUX_PB02B_ADC0_PTCXY20 _L_(1) -#define PINMUX_PB02B_ADC0_PTCXY20 ((PIN_PB02B_ADC0_PTCXY20 << 16) | MUX_PB02B_ADC0_PTCXY20) -#define PORT_PB02B_ADC0_PTCXY20 (_UL_(1) << 2) -#define PIN_PB03B_ADC0_PTCXY21 _L_(35) /**< \brief ADC0 signal: PTCXY21 on PB03 mux B */ -#define MUX_PB03B_ADC0_PTCXY21 _L_(1) -#define PINMUX_PB03B_ADC0_PTCXY21 ((PIN_PB03B_ADC0_PTCXY21 << 16) | MUX_PB03B_ADC0_PTCXY21) -#define PORT_PB03B_ADC0_PTCXY21 (_UL_(1) << 3) -#define PIN_PB04B_ADC0_PTCXY22 _L_(36) /**< \brief ADC0 signal: PTCXY22 on PB04 mux B */ -#define MUX_PB04B_ADC0_PTCXY22 _L_(1) -#define PINMUX_PB04B_ADC0_PTCXY22 ((PIN_PB04B_ADC0_PTCXY22 << 16) | MUX_PB04B_ADC0_PTCXY22) -#define PORT_PB04B_ADC0_PTCXY22 (_UL_(1) << 4) -#define PIN_PB05B_ADC0_PTCXY23 _L_(37) /**< \brief ADC0 signal: PTCXY23 on PB05 mux B */ -#define MUX_PB05B_ADC0_PTCXY23 _L_(1) -#define PINMUX_PB05B_ADC0_PTCXY23 ((PIN_PB05B_ADC0_PTCXY23 << 16) | MUX_PB05B_ADC0_PTCXY23) -#define PORT_PB05B_ADC0_PTCXY23 (_UL_(1) << 5) -#define PIN_PB06B_ADC0_PTCXY24 _L_(38) /**< \brief ADC0 signal: PTCXY24 on PB06 mux B */ -#define MUX_PB06B_ADC0_PTCXY24 _L_(1) -#define PINMUX_PB06B_ADC0_PTCXY24 ((PIN_PB06B_ADC0_PTCXY24 << 16) | MUX_PB06B_ADC0_PTCXY24) -#define PORT_PB06B_ADC0_PTCXY24 (_UL_(1) << 6) -#define PIN_PB07B_ADC0_PTCXY25 _L_(39) /**< \brief ADC0 signal: PTCXY25 on PB07 mux B */ -#define MUX_PB07B_ADC0_PTCXY25 _L_(1) -#define PINMUX_PB07B_ADC0_PTCXY25 ((PIN_PB07B_ADC0_PTCXY25 << 16) | MUX_PB07B_ADC0_PTCXY25) -#define PORT_PB07B_ADC0_PTCXY25 (_UL_(1) << 7) -#define PIN_PB12B_ADC0_PTCXY26 _L_(44) /**< \brief ADC0 signal: PTCXY26 on PB12 mux B */ -#define MUX_PB12B_ADC0_PTCXY26 _L_(1) -#define PINMUX_PB12B_ADC0_PTCXY26 ((PIN_PB12B_ADC0_PTCXY26 << 16) | MUX_PB12B_ADC0_PTCXY26) -#define PORT_PB12B_ADC0_PTCXY26 (_UL_(1) << 12) -#define PIN_PB13B_ADC0_PTCXY27 _L_(45) /**< \brief ADC0 signal: PTCXY27 on PB13 mux B */ -#define MUX_PB13B_ADC0_PTCXY27 _L_(1) -#define PINMUX_PB13B_ADC0_PTCXY27 ((PIN_PB13B_ADC0_PTCXY27 << 16) | MUX_PB13B_ADC0_PTCXY27) -#define PORT_PB13B_ADC0_PTCXY27 (_UL_(1) << 13) -#define PIN_PB14B_ADC0_PTCXY28 _L_(46) /**< \brief ADC0 signal: PTCXY28 on PB14 mux B */ -#define MUX_PB14B_ADC0_PTCXY28 _L_(1) -#define PINMUX_PB14B_ADC0_PTCXY28 ((PIN_PB14B_ADC0_PTCXY28 << 16) | MUX_PB14B_ADC0_PTCXY28) -#define PORT_PB14B_ADC0_PTCXY28 (_UL_(1) << 14) -#define PIN_PB15B_ADC0_PTCXY29 _L_(47) /**< \brief ADC0 signal: PTCXY29 on PB15 mux B */ -#define MUX_PB15B_ADC0_PTCXY29 _L_(1) -#define PINMUX_PB15B_ADC0_PTCXY29 ((PIN_PB15B_ADC0_PTCXY29 << 16) | MUX_PB15B_ADC0_PTCXY29) -#define PORT_PB15B_ADC0_PTCXY29 (_UL_(1) << 15) -#define PIN_PB00B_ADC0_PTCXY30 _L_(32) /**< \brief ADC0 signal: PTCXY30 on PB00 mux B */ -#define MUX_PB00B_ADC0_PTCXY30 _L_(1) -#define PINMUX_PB00B_ADC0_PTCXY30 ((PIN_PB00B_ADC0_PTCXY30 << 16) | MUX_PB00B_ADC0_PTCXY30) -#define PORT_PB00B_ADC0_PTCXY30 (_UL_(1) << 0) -#define PIN_PB01B_ADC0_PTCXY31 _L_(33) /**< \brief ADC0 signal: PTCXY31 on PB01 mux B */ -#define MUX_PB01B_ADC0_PTCXY31 _L_(1) -#define PINMUX_PB01B_ADC0_PTCXY31 ((PIN_PB01B_ADC0_PTCXY31 << 16) | MUX_PB01B_ADC0_PTCXY31) -#define PORT_PB01B_ADC0_PTCXY31 (_UL_(1) << 1) -/* ========== PORT definition for ADC1 peripheral ========== */ -#define PIN_PB08B_ADC1_AIN0 _L_(40) /**< \brief ADC1 signal: AIN0 on PB08 mux B */ -#define MUX_PB08B_ADC1_AIN0 _L_(1) -#define PINMUX_PB08B_ADC1_AIN0 ((PIN_PB08B_ADC1_AIN0 << 16) | MUX_PB08B_ADC1_AIN0) -#define PORT_PB08B_ADC1_AIN0 (_UL_(1) << 8) -#define PIN_PB09B_ADC1_AIN1 _L_(41) /**< \brief ADC1 signal: AIN1 on PB09 mux B */ -#define MUX_PB09B_ADC1_AIN1 _L_(1) -#define PINMUX_PB09B_ADC1_AIN1 ((PIN_PB09B_ADC1_AIN1 << 16) | MUX_PB09B_ADC1_AIN1) -#define PORT_PB09B_ADC1_AIN1 (_UL_(1) << 9) -#define PIN_PA08B_ADC1_AIN2 _L_(8) /**< \brief ADC1 signal: AIN2 on PA08 mux B */ -#define MUX_PA08B_ADC1_AIN2 _L_(1) -#define PINMUX_PA08B_ADC1_AIN2 ((PIN_PA08B_ADC1_AIN2 << 16) | MUX_PA08B_ADC1_AIN2) -#define PORT_PA08B_ADC1_AIN2 (_UL_(1) << 8) -#define PIN_PA09B_ADC1_AIN3 _L_(9) /**< \brief ADC1 signal: AIN3 on PA09 mux B */ -#define MUX_PA09B_ADC1_AIN3 _L_(1) -#define PINMUX_PA09B_ADC1_AIN3 ((PIN_PA09B_ADC1_AIN3 << 16) | MUX_PA09B_ADC1_AIN3) -#define PORT_PA09B_ADC1_AIN3 (_UL_(1) << 9) -#define PIN_PC02B_ADC1_AIN4 _L_(66) /**< \brief ADC1 signal: AIN4 on PC02 mux B */ -#define MUX_PC02B_ADC1_AIN4 _L_(1) -#define PINMUX_PC02B_ADC1_AIN4 ((PIN_PC02B_ADC1_AIN4 << 16) | MUX_PC02B_ADC1_AIN4) -#define PORT_PC02B_ADC1_AIN4 (_UL_(1) << 2) -#define PIN_PC03B_ADC1_AIN5 _L_(67) /**< \brief ADC1 signal: AIN5 on PC03 mux B */ -#define MUX_PC03B_ADC1_AIN5 _L_(1) -#define PINMUX_PC03B_ADC1_AIN5 ((PIN_PC03B_ADC1_AIN5 << 16) | MUX_PC03B_ADC1_AIN5) -#define PORT_PC03B_ADC1_AIN5 (_UL_(1) << 3) -#define PIN_PB04B_ADC1_AIN6 _L_(36) /**< \brief ADC1 signal: AIN6 on PB04 mux B */ -#define MUX_PB04B_ADC1_AIN6 _L_(1) -#define PINMUX_PB04B_ADC1_AIN6 ((PIN_PB04B_ADC1_AIN6 << 16) | MUX_PB04B_ADC1_AIN6) -#define PORT_PB04B_ADC1_AIN6 (_UL_(1) << 4) -#define PIN_PB05B_ADC1_AIN7 _L_(37) /**< \brief ADC1 signal: AIN7 on PB05 mux B */ -#define MUX_PB05B_ADC1_AIN7 _L_(1) -#define PINMUX_PB05B_ADC1_AIN7 ((PIN_PB05B_ADC1_AIN7 << 16) | MUX_PB05B_ADC1_AIN7) -#define PORT_PB05B_ADC1_AIN7 (_UL_(1) << 5) -#define PIN_PB06B_ADC1_AIN8 _L_(38) /**< \brief ADC1 signal: AIN8 on PB06 mux B */ -#define MUX_PB06B_ADC1_AIN8 _L_(1) -#define PINMUX_PB06B_ADC1_AIN8 ((PIN_PB06B_ADC1_AIN8 << 16) | MUX_PB06B_ADC1_AIN8) -#define PORT_PB06B_ADC1_AIN8 (_UL_(1) << 6) -#define PIN_PB07B_ADC1_AIN9 _L_(39) /**< \brief ADC1 signal: AIN9 on PB07 mux B */ -#define MUX_PB07B_ADC1_AIN9 _L_(1) -#define PINMUX_PB07B_ADC1_AIN9 ((PIN_PB07B_ADC1_AIN9 << 16) | MUX_PB07B_ADC1_AIN9) -#define PORT_PB07B_ADC1_AIN9 (_UL_(1) << 7) -#define PIN_PC00B_ADC1_AIN10 _L_(64) /**< \brief ADC1 signal: AIN10 on PC00 mux B */ -#define MUX_PC00B_ADC1_AIN10 _L_(1) -#define PINMUX_PC00B_ADC1_AIN10 ((PIN_PC00B_ADC1_AIN10 << 16) | MUX_PC00B_ADC1_AIN10) -#define PORT_PC00B_ADC1_AIN10 (_UL_(1) << 0) -#define PIN_PC01B_ADC1_AIN11 _L_(65) /**< \brief ADC1 signal: AIN11 on PC01 mux B */ -#define MUX_PC01B_ADC1_AIN11 _L_(1) -#define PINMUX_PC01B_ADC1_AIN11 ((PIN_PC01B_ADC1_AIN11 << 16) | MUX_PC01B_ADC1_AIN11) -#define PORT_PC01B_ADC1_AIN11 (_UL_(1) << 1) -#define PIN_PC30B_ADC1_AIN12 _L_(94) /**< \brief ADC1 signal: AIN12 on PC30 mux B */ -#define MUX_PC30B_ADC1_AIN12 _L_(1) -#define PINMUX_PC30B_ADC1_AIN12 ((PIN_PC30B_ADC1_AIN12 << 16) | MUX_PC30B_ADC1_AIN12) -#define PORT_PC30B_ADC1_AIN12 (_UL_(1) << 30) -#define PIN_PC31B_ADC1_AIN13 _L_(95) /**< \brief ADC1 signal: AIN13 on PC31 mux B */ -#define MUX_PC31B_ADC1_AIN13 _L_(1) -#define PINMUX_PC31B_ADC1_AIN13 ((PIN_PC31B_ADC1_AIN13 << 16) | MUX_PC31B_ADC1_AIN13) -#define PORT_PC31B_ADC1_AIN13 (_UL_(1) << 31) -#define PIN_PD00B_ADC1_AIN14 _L_(96) /**< \brief ADC1 signal: AIN14 on PD00 mux B */ -#define MUX_PD00B_ADC1_AIN14 _L_(1) -#define PINMUX_PD00B_ADC1_AIN14 ((PIN_PD00B_ADC1_AIN14 << 16) | MUX_PD00B_ADC1_AIN14) -#define PORT_PD00B_ADC1_AIN14 (_UL_(1) << 0) -#define PIN_PD01B_ADC1_AIN15 _L_(97) /**< \brief ADC1 signal: AIN15 on PD01 mux B */ -#define MUX_PD01B_ADC1_AIN15 _L_(1) -#define PINMUX_PD01B_ADC1_AIN15 ((PIN_PD01B_ADC1_AIN15 << 16) | MUX_PD01B_ADC1_AIN15) -#define PORT_PD01B_ADC1_AIN15 (_UL_(1) << 1) -/* ========== PORT definition for DAC peripheral ========== */ -#define PIN_PA02B_DAC_VOUT0 _L_(2) /**< \brief DAC signal: VOUT0 on PA02 mux B */ -#define MUX_PA02B_DAC_VOUT0 _L_(1) -#define PINMUX_PA02B_DAC_VOUT0 ((PIN_PA02B_DAC_VOUT0 << 16) | MUX_PA02B_DAC_VOUT0) -#define PORT_PA02B_DAC_VOUT0 (_UL_(1) << 2) -#define PIN_PA05B_DAC_VOUT1 _L_(5) /**< \brief DAC signal: VOUT1 on PA05 mux B */ -#define MUX_PA05B_DAC_VOUT1 _L_(1) -#define PINMUX_PA05B_DAC_VOUT1 ((PIN_PA05B_DAC_VOUT1 << 16) | MUX_PA05B_DAC_VOUT1) -#define PORT_PA05B_DAC_VOUT1 (_UL_(1) << 5) -/* ========== PORT definition for I2S peripheral ========== */ -#define PIN_PA09J_I2S_FS0 _L_(9) /**< \brief I2S signal: FS0 on PA09 mux J */ -#define MUX_PA09J_I2S_FS0 _L_(9) -#define PINMUX_PA09J_I2S_FS0 ((PIN_PA09J_I2S_FS0 << 16) | MUX_PA09J_I2S_FS0) -#define PORT_PA09J_I2S_FS0 (_UL_(1) << 9) -#define PIN_PA20J_I2S_FS0 _L_(20) /**< \brief I2S signal: FS0 on PA20 mux J */ -#define MUX_PA20J_I2S_FS0 _L_(9) -#define PINMUX_PA20J_I2S_FS0 ((PIN_PA20J_I2S_FS0 << 16) | MUX_PA20J_I2S_FS0) -#define PORT_PA20J_I2S_FS0 (_UL_(1) << 20) -#define PIN_PA23J_I2S_FS1 _L_(23) /**< \brief I2S signal: FS1 on PA23 mux J */ -#define MUX_PA23J_I2S_FS1 _L_(9) -#define PINMUX_PA23J_I2S_FS1 ((PIN_PA23J_I2S_FS1 << 16) | MUX_PA23J_I2S_FS1) -#define PORT_PA23J_I2S_FS1 (_UL_(1) << 23) -#define PIN_PB11J_I2S_FS1 _L_(43) /**< \brief I2S signal: FS1 on PB11 mux J */ -#define MUX_PB11J_I2S_FS1 _L_(9) -#define PINMUX_PB11J_I2S_FS1 ((PIN_PB11J_I2S_FS1 << 16) | MUX_PB11J_I2S_FS1) -#define PORT_PB11J_I2S_FS1 (_UL_(1) << 11) -#define PIN_PA08J_I2S_MCK0 _L_(8) /**< \brief I2S signal: MCK0 on PA08 mux J */ -#define MUX_PA08J_I2S_MCK0 _L_(9) -#define PINMUX_PA08J_I2S_MCK0 ((PIN_PA08J_I2S_MCK0 << 16) | MUX_PA08J_I2S_MCK0) -#define PORT_PA08J_I2S_MCK0 (_UL_(1) << 8) -#define PIN_PB17J_I2S_MCK0 _L_(49) /**< \brief I2S signal: MCK0 on PB17 mux J */ -#define MUX_PB17J_I2S_MCK0 _L_(9) -#define PINMUX_PB17J_I2S_MCK0 ((PIN_PB17J_I2S_MCK0 << 16) | MUX_PB17J_I2S_MCK0) -#define PORT_PB17J_I2S_MCK0 (_UL_(1) << 17) -#define PIN_PB29J_I2S_MCK1 _L_(61) /**< \brief I2S signal: MCK1 on PB29 mux J */ -#define MUX_PB29J_I2S_MCK1 _L_(9) -#define PINMUX_PB29J_I2S_MCK1 ((PIN_PB29J_I2S_MCK1 << 16) | MUX_PB29J_I2S_MCK1) -#define PORT_PB29J_I2S_MCK1 (_UL_(1) << 29) -#define PIN_PB13J_I2S_MCK1 _L_(45) /**< \brief I2S signal: MCK1 on PB13 mux J */ -#define MUX_PB13J_I2S_MCK1 _L_(9) -#define PINMUX_PB13J_I2S_MCK1 ((PIN_PB13J_I2S_MCK1 << 16) | MUX_PB13J_I2S_MCK1) -#define PORT_PB13J_I2S_MCK1 (_UL_(1) << 13) -#define PIN_PA10J_I2S_SCK0 _L_(10) /**< \brief I2S signal: SCK0 on PA10 mux J */ -#define MUX_PA10J_I2S_SCK0 _L_(9) -#define PINMUX_PA10J_I2S_SCK0 ((PIN_PA10J_I2S_SCK0 << 16) | MUX_PA10J_I2S_SCK0) -#define PORT_PA10J_I2S_SCK0 (_UL_(1) << 10) -#define PIN_PB16J_I2S_SCK0 _L_(48) /**< \brief I2S signal: SCK0 on PB16 mux J */ -#define MUX_PB16J_I2S_SCK0 _L_(9) -#define PINMUX_PB16J_I2S_SCK0 ((PIN_PB16J_I2S_SCK0 << 16) | MUX_PB16J_I2S_SCK0) -#define PORT_PB16J_I2S_SCK0 (_UL_(1) << 16) -#define PIN_PB28J_I2S_SCK1 _L_(60) /**< \brief I2S signal: SCK1 on PB28 mux J */ -#define MUX_PB28J_I2S_SCK1 _L_(9) -#define PINMUX_PB28J_I2S_SCK1 ((PIN_PB28J_I2S_SCK1 << 16) | MUX_PB28J_I2S_SCK1) -#define PORT_PB28J_I2S_SCK1 (_UL_(1) << 28) -#define PIN_PB12J_I2S_SCK1 _L_(44) /**< \brief I2S signal: SCK1 on PB12 mux J */ -#define MUX_PB12J_I2S_SCK1 _L_(9) -#define PINMUX_PB12J_I2S_SCK1 ((PIN_PB12J_I2S_SCK1 << 16) | MUX_PB12J_I2S_SCK1) -#define PORT_PB12J_I2S_SCK1 (_UL_(1) << 12) -#define PIN_PA22J_I2S_SDI _L_(22) /**< \brief I2S signal: SDI on PA22 mux J */ -#define MUX_PA22J_I2S_SDI _L_(9) -#define PINMUX_PA22J_I2S_SDI ((PIN_PA22J_I2S_SDI << 16) | MUX_PA22J_I2S_SDI) -#define PORT_PA22J_I2S_SDI (_UL_(1) << 22) -#define PIN_PB10J_I2S_SDI _L_(42) /**< \brief I2S signal: SDI on PB10 mux J */ -#define MUX_PB10J_I2S_SDI _L_(9) -#define PINMUX_PB10J_I2S_SDI ((PIN_PB10J_I2S_SDI << 16) | MUX_PB10J_I2S_SDI) -#define PORT_PB10J_I2S_SDI (_UL_(1) << 10) -#define PIN_PA11J_I2S_SDO _L_(11) /**< \brief I2S signal: SDO on PA11 mux J */ -#define MUX_PA11J_I2S_SDO _L_(9) -#define PINMUX_PA11J_I2S_SDO ((PIN_PA11J_I2S_SDO << 16) | MUX_PA11J_I2S_SDO) -#define PORT_PA11J_I2S_SDO (_UL_(1) << 11) -#define PIN_PA21J_I2S_SDO _L_(21) /**< \brief I2S signal: SDO on PA21 mux J */ -#define MUX_PA21J_I2S_SDO _L_(9) -#define PINMUX_PA21J_I2S_SDO ((PIN_PA21J_I2S_SDO << 16) | MUX_PA21J_I2S_SDO) -#define PORT_PA21J_I2S_SDO (_UL_(1) << 21) -/* ========== PORT definition for PCC peripheral ========== */ -#define PIN_PA14K_PCC_CLK _L_(14) /**< \brief PCC signal: CLK on PA14 mux K */ -#define MUX_PA14K_PCC_CLK _L_(10) -#define PINMUX_PA14K_PCC_CLK ((PIN_PA14K_PCC_CLK << 16) | MUX_PA14K_PCC_CLK) -#define PORT_PA14K_PCC_CLK (_UL_(1) << 14) -#define PIN_PA16K_PCC_DATA0 _L_(16) /**< \brief PCC signal: DATA0 on PA16 mux K */ -#define MUX_PA16K_PCC_DATA0 _L_(10) -#define PINMUX_PA16K_PCC_DATA0 ((PIN_PA16K_PCC_DATA0 << 16) | MUX_PA16K_PCC_DATA0) -#define PORT_PA16K_PCC_DATA0 (_UL_(1) << 16) -#define PIN_PA17K_PCC_DATA1 _L_(17) /**< \brief PCC signal: DATA1 on PA17 mux K */ -#define MUX_PA17K_PCC_DATA1 _L_(10) -#define PINMUX_PA17K_PCC_DATA1 ((PIN_PA17K_PCC_DATA1 << 16) | MUX_PA17K_PCC_DATA1) -#define PORT_PA17K_PCC_DATA1 (_UL_(1) << 17) -#define PIN_PA18K_PCC_DATA2 _L_(18) /**< \brief PCC signal: DATA2 on PA18 mux K */ -#define MUX_PA18K_PCC_DATA2 _L_(10) -#define PINMUX_PA18K_PCC_DATA2 ((PIN_PA18K_PCC_DATA2 << 16) | MUX_PA18K_PCC_DATA2) -#define PORT_PA18K_PCC_DATA2 (_UL_(1) << 18) -#define PIN_PA19K_PCC_DATA3 _L_(19) /**< \brief PCC signal: DATA3 on PA19 mux K */ -#define MUX_PA19K_PCC_DATA3 _L_(10) -#define PINMUX_PA19K_PCC_DATA3 ((PIN_PA19K_PCC_DATA3 << 16) | MUX_PA19K_PCC_DATA3) -#define PORT_PA19K_PCC_DATA3 (_UL_(1) << 19) -#define PIN_PA20K_PCC_DATA4 _L_(20) /**< \brief PCC signal: DATA4 on PA20 mux K */ -#define MUX_PA20K_PCC_DATA4 _L_(10) -#define PINMUX_PA20K_PCC_DATA4 ((PIN_PA20K_PCC_DATA4 << 16) | MUX_PA20K_PCC_DATA4) -#define PORT_PA20K_PCC_DATA4 (_UL_(1) << 20) -#define PIN_PA21K_PCC_DATA5 _L_(21) /**< \brief PCC signal: DATA5 on PA21 mux K */ -#define MUX_PA21K_PCC_DATA5 _L_(10) -#define PINMUX_PA21K_PCC_DATA5 ((PIN_PA21K_PCC_DATA5 << 16) | MUX_PA21K_PCC_DATA5) -#define PORT_PA21K_PCC_DATA5 (_UL_(1) << 21) -#define PIN_PA22K_PCC_DATA6 _L_(22) /**< \brief PCC signal: DATA6 on PA22 mux K */ -#define MUX_PA22K_PCC_DATA6 _L_(10) -#define PINMUX_PA22K_PCC_DATA6 ((PIN_PA22K_PCC_DATA6 << 16) | MUX_PA22K_PCC_DATA6) -#define PORT_PA22K_PCC_DATA6 (_UL_(1) << 22) -#define PIN_PA23K_PCC_DATA7 _L_(23) /**< \brief PCC signal: DATA7 on PA23 mux K */ -#define MUX_PA23K_PCC_DATA7 _L_(10) -#define PINMUX_PA23K_PCC_DATA7 ((PIN_PA23K_PCC_DATA7 << 16) | MUX_PA23K_PCC_DATA7) -#define PORT_PA23K_PCC_DATA7 (_UL_(1) << 23) -#define PIN_PB14K_PCC_DATA8 _L_(46) /**< \brief PCC signal: DATA8 on PB14 mux K */ -#define MUX_PB14K_PCC_DATA8 _L_(10) -#define PINMUX_PB14K_PCC_DATA8 ((PIN_PB14K_PCC_DATA8 << 16) | MUX_PB14K_PCC_DATA8) -#define PORT_PB14K_PCC_DATA8 (_UL_(1) << 14) -#define PIN_PB15K_PCC_DATA9 _L_(47) /**< \brief PCC signal: DATA9 on PB15 mux K */ -#define MUX_PB15K_PCC_DATA9 _L_(10) -#define PINMUX_PB15K_PCC_DATA9 ((PIN_PB15K_PCC_DATA9 << 16) | MUX_PB15K_PCC_DATA9) -#define PORT_PB15K_PCC_DATA9 (_UL_(1) << 15) -#define PIN_PC12K_PCC_DATA10 _L_(76) /**< \brief PCC signal: DATA10 on PC12 mux K */ -#define MUX_PC12K_PCC_DATA10 _L_(10) -#define PINMUX_PC12K_PCC_DATA10 ((PIN_PC12K_PCC_DATA10 << 16) | MUX_PC12K_PCC_DATA10) -#define PORT_PC12K_PCC_DATA10 (_UL_(1) << 12) -#define PIN_PC13K_PCC_DATA11 _L_(77) /**< \brief PCC signal: DATA11 on PC13 mux K */ -#define MUX_PC13K_PCC_DATA11 _L_(10) -#define PINMUX_PC13K_PCC_DATA11 ((PIN_PC13K_PCC_DATA11 << 16) | MUX_PC13K_PCC_DATA11) -#define PORT_PC13K_PCC_DATA11 (_UL_(1) << 13) -#define PIN_PC14K_PCC_DATA12 _L_(78) /**< \brief PCC signal: DATA12 on PC14 mux K */ -#define MUX_PC14K_PCC_DATA12 _L_(10) -#define PINMUX_PC14K_PCC_DATA12 ((PIN_PC14K_PCC_DATA12 << 16) | MUX_PC14K_PCC_DATA12) -#define PORT_PC14K_PCC_DATA12 (_UL_(1) << 14) -#define PIN_PC15K_PCC_DATA13 _L_(79) /**< \brief PCC signal: DATA13 on PC15 mux K */ -#define MUX_PC15K_PCC_DATA13 _L_(10) -#define PINMUX_PC15K_PCC_DATA13 ((PIN_PC15K_PCC_DATA13 << 16) | MUX_PC15K_PCC_DATA13) -#define PORT_PC15K_PCC_DATA13 (_UL_(1) << 15) -#define PIN_PA12K_PCC_DEN1 _L_(12) /**< \brief PCC signal: DEN1 on PA12 mux K */ -#define MUX_PA12K_PCC_DEN1 _L_(10) -#define PINMUX_PA12K_PCC_DEN1 ((PIN_PA12K_PCC_DEN1 << 16) | MUX_PA12K_PCC_DEN1) -#define PORT_PA12K_PCC_DEN1 (_UL_(1) << 12) -#define PIN_PA13K_PCC_DEN2 _L_(13) /**< \brief PCC signal: DEN2 on PA13 mux K */ -#define MUX_PA13K_PCC_DEN2 _L_(10) -#define PINMUX_PA13K_PCC_DEN2 ((PIN_PA13K_PCC_DEN2 << 16) | MUX_PA13K_PCC_DEN2) -#define PORT_PA13K_PCC_DEN2 (_UL_(1) << 13) -/* ========== PORT definition for SDHC0 peripheral ========== */ -#define PIN_PA06I_SDHC0_SDCD _L_(6) /**< \brief SDHC0 signal: SDCD on PA06 mux I */ -#define MUX_PA06I_SDHC0_SDCD _L_(8) -#define PINMUX_PA06I_SDHC0_SDCD ((PIN_PA06I_SDHC0_SDCD << 16) | MUX_PA06I_SDHC0_SDCD) -#define PORT_PA06I_SDHC0_SDCD (_UL_(1) << 6) -#define PIN_PA12I_SDHC0_SDCD _L_(12) /**< \brief SDHC0 signal: SDCD on PA12 mux I */ -#define MUX_PA12I_SDHC0_SDCD _L_(8) -#define PINMUX_PA12I_SDHC0_SDCD ((PIN_PA12I_SDHC0_SDCD << 16) | MUX_PA12I_SDHC0_SDCD) -#define PORT_PA12I_SDHC0_SDCD (_UL_(1) << 12) -#define PIN_PB12I_SDHC0_SDCD _L_(44) /**< \brief SDHC0 signal: SDCD on PB12 mux I */ -#define MUX_PB12I_SDHC0_SDCD _L_(8) -#define PINMUX_PB12I_SDHC0_SDCD ((PIN_PB12I_SDHC0_SDCD << 16) | MUX_PB12I_SDHC0_SDCD) -#define PORT_PB12I_SDHC0_SDCD (_UL_(1) << 12) -#define PIN_PC06I_SDHC0_SDCD _L_(70) /**< \brief SDHC0 signal: SDCD on PC06 mux I */ -#define MUX_PC06I_SDHC0_SDCD _L_(8) -#define PINMUX_PC06I_SDHC0_SDCD ((PIN_PC06I_SDHC0_SDCD << 16) | MUX_PC06I_SDHC0_SDCD) -#define PORT_PC06I_SDHC0_SDCD (_UL_(1) << 6) -#define PIN_PB11I_SDHC0_SDCK _L_(43) /**< \brief SDHC0 signal: SDCK on PB11 mux I */ -#define MUX_PB11I_SDHC0_SDCK _L_(8) -#define PINMUX_PB11I_SDHC0_SDCK ((PIN_PB11I_SDHC0_SDCK << 16) | MUX_PB11I_SDHC0_SDCK) -#define PORT_PB11I_SDHC0_SDCK (_UL_(1) << 11) -#define PIN_PA08I_SDHC0_SDCMD _L_(8) /**< \brief SDHC0 signal: SDCMD on PA08 mux I */ -#define MUX_PA08I_SDHC0_SDCMD _L_(8) -#define PINMUX_PA08I_SDHC0_SDCMD ((PIN_PA08I_SDHC0_SDCMD << 16) | MUX_PA08I_SDHC0_SDCMD) -#define PORT_PA08I_SDHC0_SDCMD (_UL_(1) << 8) -#define PIN_PA09I_SDHC0_SDDAT0 _L_(9) /**< \brief SDHC0 signal: SDDAT0 on PA09 mux I */ -#define MUX_PA09I_SDHC0_SDDAT0 _L_(8) -#define PINMUX_PA09I_SDHC0_SDDAT0 ((PIN_PA09I_SDHC0_SDDAT0 << 16) | MUX_PA09I_SDHC0_SDDAT0) -#define PORT_PA09I_SDHC0_SDDAT0 (_UL_(1) << 9) -#define PIN_PA10I_SDHC0_SDDAT1 _L_(10) /**< \brief SDHC0 signal: SDDAT1 on PA10 mux I */ -#define MUX_PA10I_SDHC0_SDDAT1 _L_(8) -#define PINMUX_PA10I_SDHC0_SDDAT1 ((PIN_PA10I_SDHC0_SDDAT1 << 16) | MUX_PA10I_SDHC0_SDDAT1) -#define PORT_PA10I_SDHC0_SDDAT1 (_UL_(1) << 10) -#define PIN_PA11I_SDHC0_SDDAT2 _L_(11) /**< \brief SDHC0 signal: SDDAT2 on PA11 mux I */ -#define MUX_PA11I_SDHC0_SDDAT2 _L_(8) -#define PINMUX_PA11I_SDHC0_SDDAT2 ((PIN_PA11I_SDHC0_SDDAT2 << 16) | MUX_PA11I_SDHC0_SDDAT2) -#define PORT_PA11I_SDHC0_SDDAT2 (_UL_(1) << 11) -#define PIN_PB10I_SDHC0_SDDAT3 _L_(42) /**< \brief SDHC0 signal: SDDAT3 on PB10 mux I */ -#define MUX_PB10I_SDHC0_SDDAT3 _L_(8) -#define PINMUX_PB10I_SDHC0_SDDAT3 ((PIN_PB10I_SDHC0_SDDAT3 << 16) | MUX_PB10I_SDHC0_SDDAT3) -#define PORT_PB10I_SDHC0_SDDAT3 (_UL_(1) << 10) -#define PIN_PA07I_SDHC0_SDWP _L_(7) /**< \brief SDHC0 signal: SDWP on PA07 mux I */ -#define MUX_PA07I_SDHC0_SDWP _L_(8) -#define PINMUX_PA07I_SDHC0_SDWP ((PIN_PA07I_SDHC0_SDWP << 16) | MUX_PA07I_SDHC0_SDWP) -#define PORT_PA07I_SDHC0_SDWP (_UL_(1) << 7) -#define PIN_PA13I_SDHC0_SDWP _L_(13) /**< \brief SDHC0 signal: SDWP on PA13 mux I */ -#define MUX_PA13I_SDHC0_SDWP _L_(8) -#define PINMUX_PA13I_SDHC0_SDWP ((PIN_PA13I_SDHC0_SDWP << 16) | MUX_PA13I_SDHC0_SDWP) -#define PORT_PA13I_SDHC0_SDWP (_UL_(1) << 13) -#define PIN_PB13I_SDHC0_SDWP _L_(45) /**< \brief SDHC0 signal: SDWP on PB13 mux I */ -#define MUX_PB13I_SDHC0_SDWP _L_(8) -#define PINMUX_PB13I_SDHC0_SDWP ((PIN_PB13I_SDHC0_SDWP << 16) | MUX_PB13I_SDHC0_SDWP) -#define PORT_PB13I_SDHC0_SDWP (_UL_(1) << 13) -#define PIN_PC07I_SDHC0_SDWP _L_(71) /**< \brief SDHC0 signal: SDWP on PC07 mux I */ -#define MUX_PC07I_SDHC0_SDWP _L_(8) -#define PINMUX_PC07I_SDHC0_SDWP ((PIN_PC07I_SDHC0_SDWP << 16) | MUX_PC07I_SDHC0_SDWP) -#define PORT_PC07I_SDHC0_SDWP (_UL_(1) << 7) -/* ========== PORT definition for SDHC1 peripheral ========== */ -#define PIN_PB16I_SDHC1_SDCD _L_(48) /**< \brief SDHC1 signal: SDCD on PB16 mux I */ -#define MUX_PB16I_SDHC1_SDCD _L_(8) -#define PINMUX_PB16I_SDHC1_SDCD ((PIN_PB16I_SDHC1_SDCD << 16) | MUX_PB16I_SDHC1_SDCD) -#define PORT_PB16I_SDHC1_SDCD (_UL_(1) << 16) -#define PIN_PC20I_SDHC1_SDCD _L_(84) /**< \brief SDHC1 signal: SDCD on PC20 mux I */ -#define MUX_PC20I_SDHC1_SDCD _L_(8) -#define PINMUX_PC20I_SDHC1_SDCD ((PIN_PC20I_SDHC1_SDCD << 16) | MUX_PC20I_SDHC1_SDCD) -#define PORT_PC20I_SDHC1_SDCD (_UL_(1) << 20) -#define PIN_PD20I_SDHC1_SDCD _L_(116) /**< \brief SDHC1 signal: SDCD on PD20 mux I */ -#define MUX_PD20I_SDHC1_SDCD _L_(8) -#define PINMUX_PD20I_SDHC1_SDCD ((PIN_PD20I_SDHC1_SDCD << 16) | MUX_PD20I_SDHC1_SDCD) -#define PORT_PD20I_SDHC1_SDCD (_UL_(1) << 20) -#define PIN_PA21I_SDHC1_SDCK _L_(21) /**< \brief SDHC1 signal: SDCK on PA21 mux I */ -#define MUX_PA21I_SDHC1_SDCK _L_(8) -#define PINMUX_PA21I_SDHC1_SDCK ((PIN_PA21I_SDHC1_SDCK << 16) | MUX_PA21I_SDHC1_SDCK) -#define PORT_PA21I_SDHC1_SDCK (_UL_(1) << 21) -#define PIN_PA20I_SDHC1_SDCMD _L_(20) /**< \brief SDHC1 signal: SDCMD on PA20 mux I */ -#define MUX_PA20I_SDHC1_SDCMD _L_(8) -#define PINMUX_PA20I_SDHC1_SDCMD ((PIN_PA20I_SDHC1_SDCMD << 16) | MUX_PA20I_SDHC1_SDCMD) -#define PORT_PA20I_SDHC1_SDCMD (_UL_(1) << 20) -#define PIN_PB18I_SDHC1_SDDAT0 _L_(50) /**< \brief SDHC1 signal: SDDAT0 on PB18 mux I */ -#define MUX_PB18I_SDHC1_SDDAT0 _L_(8) -#define PINMUX_PB18I_SDHC1_SDDAT0 ((PIN_PB18I_SDHC1_SDDAT0 << 16) | MUX_PB18I_SDHC1_SDDAT0) -#define PORT_PB18I_SDHC1_SDDAT0 (_UL_(1) << 18) -#define PIN_PB19I_SDHC1_SDDAT1 _L_(51) /**< \brief SDHC1 signal: SDDAT1 on PB19 mux I */ -#define MUX_PB19I_SDHC1_SDDAT1 _L_(8) -#define PINMUX_PB19I_SDHC1_SDDAT1 ((PIN_PB19I_SDHC1_SDDAT1 << 16) | MUX_PB19I_SDHC1_SDDAT1) -#define PORT_PB19I_SDHC1_SDDAT1 (_UL_(1) << 19) -#define PIN_PB20I_SDHC1_SDDAT2 _L_(52) /**< \brief SDHC1 signal: SDDAT2 on PB20 mux I */ -#define MUX_PB20I_SDHC1_SDDAT2 _L_(8) -#define PINMUX_PB20I_SDHC1_SDDAT2 ((PIN_PB20I_SDHC1_SDDAT2 << 16) | MUX_PB20I_SDHC1_SDDAT2) -#define PORT_PB20I_SDHC1_SDDAT2 (_UL_(1) << 20) -#define PIN_PB21I_SDHC1_SDDAT3 _L_(53) /**< \brief SDHC1 signal: SDDAT3 on PB21 mux I */ -#define MUX_PB21I_SDHC1_SDDAT3 _L_(8) -#define PINMUX_PB21I_SDHC1_SDDAT3 ((PIN_PB21I_SDHC1_SDDAT3 << 16) | MUX_PB21I_SDHC1_SDDAT3) -#define PORT_PB21I_SDHC1_SDDAT3 (_UL_(1) << 21) -#define PIN_PB17I_SDHC1_SDWP _L_(49) /**< \brief SDHC1 signal: SDWP on PB17 mux I */ -#define MUX_PB17I_SDHC1_SDWP _L_(8) -#define PINMUX_PB17I_SDHC1_SDWP ((PIN_PB17I_SDHC1_SDWP << 16) | MUX_PB17I_SDHC1_SDWP) -#define PORT_PB17I_SDHC1_SDWP (_UL_(1) << 17) -#define PIN_PC21I_SDHC1_SDWP _L_(85) /**< \brief SDHC1 signal: SDWP on PC21 mux I */ -#define MUX_PC21I_SDHC1_SDWP _L_(8) -#define PINMUX_PC21I_SDHC1_SDWP ((PIN_PC21I_SDHC1_SDWP << 16) | MUX_PC21I_SDHC1_SDWP) -#define PORT_PC21I_SDHC1_SDWP (_UL_(1) << 21) -#define PIN_PD21I_SDHC1_SDWP _L_(117) /**< \brief SDHC1 signal: SDWP on PD21 mux I */ -#define MUX_PD21I_SDHC1_SDWP _L_(8) -#define PINMUX_PD21I_SDHC1_SDWP ((PIN_PD21I_SDHC1_SDWP << 16) | MUX_PD21I_SDHC1_SDWP) -#define PORT_PD21I_SDHC1_SDWP (_UL_(1) << 21) - -#endif /* _SAME54P19A_PIO_ */ diff --git a/software/firmware/oracle_same54n19a/include/pio/same54p20a.h b/software/firmware/oracle_same54n19a/include/pio/same54p20a.h deleted file mode 100644 index cc04680..0000000 --- a/software/firmware/oracle_same54n19a/include/pio/same54p20a.h +++ /dev/null @@ -1,3010 +0,0 @@ -/** - * \file - * - * \brief Peripheral I/O description for SAME54P20A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54P20A_PIO_ -#define _SAME54P20A_PIO_ - -#define PIN_PA00 0 /**< \brief Pin Number for PA00 */ -#define PORT_PA00 (_UL_(1) << 0) /**< \brief PORT Mask for PA00 */ -#define PIN_PA01 1 /**< \brief Pin Number for PA01 */ -#define PORT_PA01 (_UL_(1) << 1) /**< \brief PORT Mask for PA01 */ -#define PIN_PA02 2 /**< \brief Pin Number for PA02 */ -#define PORT_PA02 (_UL_(1) << 2) /**< \brief PORT Mask for PA02 */ -#define PIN_PA03 3 /**< \brief Pin Number for PA03 */ -#define PORT_PA03 (_UL_(1) << 3) /**< \brief PORT Mask for PA03 */ -#define PIN_PA04 4 /**< \brief Pin Number for PA04 */ -#define PORT_PA04 (_UL_(1) << 4) /**< \brief PORT Mask for PA04 */ -#define PIN_PA05 5 /**< \brief Pin Number for PA05 */ -#define PORT_PA05 (_UL_(1) << 5) /**< \brief PORT Mask for PA05 */ -#define PIN_PA06 6 /**< \brief Pin Number for PA06 */ -#define PORT_PA06 (_UL_(1) << 6) /**< \brief PORT Mask for PA06 */ -#define PIN_PA07 7 /**< \brief Pin Number for PA07 */ -#define PORT_PA07 (_UL_(1) << 7) /**< \brief PORT Mask for PA07 */ -#define PIN_PA08 8 /**< \brief Pin Number for PA08 */ -#define PORT_PA08 (_UL_(1) << 8) /**< \brief PORT Mask for PA08 */ -#define PIN_PA09 9 /**< \brief Pin Number for PA09 */ -#define PORT_PA09 (_UL_(1) << 9) /**< \brief PORT Mask for PA09 */ -#define PIN_PA10 10 /**< \brief Pin Number for PA10 */ -#define PORT_PA10 (_UL_(1) << 10) /**< \brief PORT Mask for PA10 */ -#define PIN_PA11 11 /**< \brief Pin Number for PA11 */ -#define PORT_PA11 (_UL_(1) << 11) /**< \brief PORT Mask for PA11 */ -#define PIN_PA12 12 /**< \brief Pin Number for PA12 */ -#define PORT_PA12 (_UL_(1) << 12) /**< \brief PORT Mask for PA12 */ -#define PIN_PA13 13 /**< \brief Pin Number for PA13 */ -#define PORT_PA13 (_UL_(1) << 13) /**< \brief PORT Mask for PA13 */ -#define PIN_PA14 14 /**< \brief Pin Number for PA14 */ -#define PORT_PA14 (_UL_(1) << 14) /**< \brief PORT Mask for PA14 */ -#define PIN_PA15 15 /**< \brief Pin Number for PA15 */ -#define PORT_PA15 (_UL_(1) << 15) /**< \brief PORT Mask for PA15 */ -#define PIN_PA16 16 /**< \brief Pin Number for PA16 */ -#define PORT_PA16 (_UL_(1) << 16) /**< \brief PORT Mask for PA16 */ -#define PIN_PA17 17 /**< \brief Pin Number for PA17 */ -#define PORT_PA17 (_UL_(1) << 17) /**< \brief PORT Mask for PA17 */ -#define PIN_PA18 18 /**< \brief Pin Number for PA18 */ -#define PORT_PA18 (_UL_(1) << 18) /**< \brief PORT Mask for PA18 */ -#define PIN_PA19 19 /**< \brief Pin Number for PA19 */ -#define PORT_PA19 (_UL_(1) << 19) /**< \brief PORT Mask for PA19 */ -#define PIN_PA20 20 /**< \brief Pin Number for PA20 */ -#define PORT_PA20 (_UL_(1) << 20) /**< \brief PORT Mask for PA20 */ -#define PIN_PA21 21 /**< \brief Pin Number for PA21 */ -#define PORT_PA21 (_UL_(1) << 21) /**< \brief PORT Mask for PA21 */ -#define PIN_PA22 22 /**< \brief Pin Number for PA22 */ -#define PORT_PA22 (_UL_(1) << 22) /**< \brief PORT Mask for PA22 */ -#define PIN_PA23 23 /**< \brief Pin Number for PA23 */ -#define PORT_PA23 (_UL_(1) << 23) /**< \brief PORT Mask for PA23 */ -#define PIN_PA24 24 /**< \brief Pin Number for PA24 */ -#define PORT_PA24 (_UL_(1) << 24) /**< \brief PORT Mask for PA24 */ -#define PIN_PA25 25 /**< \brief Pin Number for PA25 */ -#define PORT_PA25 (_UL_(1) << 25) /**< \brief PORT Mask for PA25 */ -#define PIN_PA27 27 /**< \brief Pin Number for PA27 */ -#define PORT_PA27 (_UL_(1) << 27) /**< \brief PORT Mask for PA27 */ -#define PIN_PA30 30 /**< \brief Pin Number for PA30 */ -#define PORT_PA30 (_UL_(1) << 30) /**< \brief PORT Mask for PA30 */ -#define PIN_PA31 31 /**< \brief Pin Number for PA31 */ -#define PORT_PA31 (_UL_(1) << 31) /**< \brief PORT Mask for PA31 */ -#define PIN_PB00 32 /**< \brief Pin Number for PB00 */ -#define PORT_PB00 (_UL_(1) << 0) /**< \brief PORT Mask for PB00 */ -#define PIN_PB01 33 /**< \brief Pin Number for PB01 */ -#define PORT_PB01 (_UL_(1) << 1) /**< \brief PORT Mask for PB01 */ -#define PIN_PB02 34 /**< \brief Pin Number for PB02 */ -#define PORT_PB02 (_UL_(1) << 2) /**< \brief PORT Mask for PB02 */ -#define PIN_PB03 35 /**< \brief Pin Number for PB03 */ -#define PORT_PB03 (_UL_(1) << 3) /**< \brief PORT Mask for PB03 */ -#define PIN_PB04 36 /**< \brief Pin Number for PB04 */ -#define PORT_PB04 (_UL_(1) << 4) /**< \brief PORT Mask for PB04 */ -#define PIN_PB05 37 /**< \brief Pin Number for PB05 */ -#define PORT_PB05 (_UL_(1) << 5) /**< \brief PORT Mask for PB05 */ -#define PIN_PB06 38 /**< \brief Pin Number for PB06 */ -#define PORT_PB06 (_UL_(1) << 6) /**< \brief PORT Mask for PB06 */ -#define PIN_PB07 39 /**< \brief Pin Number for PB07 */ -#define PORT_PB07 (_UL_(1) << 7) /**< \brief PORT Mask for PB07 */ -#define PIN_PB08 40 /**< \brief Pin Number for PB08 */ -#define PORT_PB08 (_UL_(1) << 8) /**< \brief PORT Mask for PB08 */ -#define PIN_PB09 41 /**< \brief Pin Number for PB09 */ -#define PORT_PB09 (_UL_(1) << 9) /**< \brief PORT Mask for PB09 */ -#define PIN_PB10 42 /**< \brief Pin Number for PB10 */ -#define PORT_PB10 (_UL_(1) << 10) /**< \brief PORT Mask for PB10 */ -#define PIN_PB11 43 /**< \brief Pin Number for PB11 */ -#define PORT_PB11 (_UL_(1) << 11) /**< \brief PORT Mask for PB11 */ -#define PIN_PB12 44 /**< \brief Pin Number for PB12 */ -#define PORT_PB12 (_UL_(1) << 12) /**< \brief PORT Mask for PB12 */ -#define PIN_PB13 45 /**< \brief Pin Number for PB13 */ -#define PORT_PB13 (_UL_(1) << 13) /**< \brief PORT Mask for PB13 */ -#define PIN_PB14 46 /**< \brief Pin Number for PB14 */ -#define PORT_PB14 (_UL_(1) << 14) /**< \brief PORT Mask for PB14 */ -#define PIN_PB15 47 /**< \brief Pin Number for PB15 */ -#define PORT_PB15 (_UL_(1) << 15) /**< \brief PORT Mask for PB15 */ -#define PIN_PB16 48 /**< \brief Pin Number for PB16 */ -#define PORT_PB16 (_UL_(1) << 16) /**< \brief PORT Mask for PB16 */ -#define PIN_PB17 49 /**< \brief Pin Number for PB17 */ -#define PORT_PB17 (_UL_(1) << 17) /**< \brief PORT Mask for PB17 */ -#define PIN_PB18 50 /**< \brief Pin Number for PB18 */ -#define PORT_PB18 (_UL_(1) << 18) /**< \brief PORT Mask for PB18 */ -#define PIN_PB19 51 /**< \brief Pin Number for PB19 */ -#define PORT_PB19 (_UL_(1) << 19) /**< \brief PORT Mask for PB19 */ -#define PIN_PB20 52 /**< \brief Pin Number for PB20 */ -#define PORT_PB20 (_UL_(1) << 20) /**< \brief PORT Mask for PB20 */ -#define PIN_PB21 53 /**< \brief Pin Number for PB21 */ -#define PORT_PB21 (_UL_(1) << 21) /**< \brief PORT Mask for PB21 */ -#define PIN_PB22 54 /**< \brief Pin Number for PB22 */ -#define PORT_PB22 (_UL_(1) << 22) /**< \brief PORT Mask for PB22 */ -#define PIN_PB23 55 /**< \brief Pin Number for PB23 */ -#define PORT_PB23 (_UL_(1) << 23) /**< \brief PORT Mask for PB23 */ -#define PIN_PB24 56 /**< \brief Pin Number for PB24 */ -#define PORT_PB24 (_UL_(1) << 24) /**< \brief PORT Mask for PB24 */ -#define PIN_PB25 57 /**< \brief Pin Number for PB25 */ -#define PORT_PB25 (_UL_(1) << 25) /**< \brief PORT Mask for PB25 */ -#define PIN_PB26 58 /**< \brief Pin Number for PB26 */ -#define PORT_PB26 (_UL_(1) << 26) /**< \brief PORT Mask for PB26 */ -#define PIN_PB27 59 /**< \brief Pin Number for PB27 */ -#define PORT_PB27 (_UL_(1) << 27) /**< \brief PORT Mask for PB27 */ -#define PIN_PB28 60 /**< \brief Pin Number for PB28 */ -#define PORT_PB28 (_UL_(1) << 28) /**< \brief PORT Mask for PB28 */ -#define PIN_PB29 61 /**< \brief Pin Number for PB29 */ -#define PORT_PB29 (_UL_(1) << 29) /**< \brief PORT Mask for PB29 */ -#define PIN_PB30 62 /**< \brief Pin Number for PB30 */ -#define PORT_PB30 (_UL_(1) << 30) /**< \brief PORT Mask for PB30 */ -#define PIN_PB31 63 /**< \brief Pin Number for PB31 */ -#define PORT_PB31 (_UL_(1) << 31) /**< \brief PORT Mask for PB31 */ -#define PIN_PC00 64 /**< \brief Pin Number for PC00 */ -#define PORT_PC00 (_UL_(1) << 0) /**< \brief PORT Mask for PC00 */ -#define PIN_PC01 65 /**< \brief Pin Number for PC01 */ -#define PORT_PC01 (_UL_(1) << 1) /**< \brief PORT Mask for PC01 */ -#define PIN_PC02 66 /**< \brief Pin Number for PC02 */ -#define PORT_PC02 (_UL_(1) << 2) /**< \brief PORT Mask for PC02 */ -#define PIN_PC03 67 /**< \brief Pin Number for PC03 */ -#define PORT_PC03 (_UL_(1) << 3) /**< \brief PORT Mask for PC03 */ -#define PIN_PC04 68 /**< \brief Pin Number for PC04 */ -#define PORT_PC04 (_UL_(1) << 4) /**< \brief PORT Mask for PC04 */ -#define PIN_PC05 69 /**< \brief Pin Number for PC05 */ -#define PORT_PC05 (_UL_(1) << 5) /**< \brief PORT Mask for PC05 */ -#define PIN_PC06 70 /**< \brief Pin Number for PC06 */ -#define PORT_PC06 (_UL_(1) << 6) /**< \brief PORT Mask for PC06 */ -#define PIN_PC07 71 /**< \brief Pin Number for PC07 */ -#define PORT_PC07 (_UL_(1) << 7) /**< \brief PORT Mask for PC07 */ -#define PIN_PC10 74 /**< \brief Pin Number for PC10 */ -#define PORT_PC10 (_UL_(1) << 10) /**< \brief PORT Mask for PC10 */ -#define PIN_PC11 75 /**< \brief Pin Number for PC11 */ -#define PORT_PC11 (_UL_(1) << 11) /**< \brief PORT Mask for PC11 */ -#define PIN_PC12 76 /**< \brief Pin Number for PC12 */ -#define PORT_PC12 (_UL_(1) << 12) /**< \brief PORT Mask for PC12 */ -#define PIN_PC13 77 /**< \brief Pin Number for PC13 */ -#define PORT_PC13 (_UL_(1) << 13) /**< \brief PORT Mask for PC13 */ -#define PIN_PC14 78 /**< \brief Pin Number for PC14 */ -#define PORT_PC14 (_UL_(1) << 14) /**< \brief PORT Mask for PC14 */ -#define PIN_PC15 79 /**< \brief Pin Number for PC15 */ -#define PORT_PC15 (_UL_(1) << 15) /**< \brief PORT Mask for PC15 */ -#define PIN_PC16 80 /**< \brief Pin Number for PC16 */ -#define PORT_PC16 (_UL_(1) << 16) /**< \brief PORT Mask for PC16 */ -#define PIN_PC17 81 /**< \brief Pin Number for PC17 */ -#define PORT_PC17 (_UL_(1) << 17) /**< \brief PORT Mask for PC17 */ -#define PIN_PC18 82 /**< \brief Pin Number for PC18 */ -#define PORT_PC18 (_UL_(1) << 18) /**< \brief PORT Mask for PC18 */ -#define PIN_PC19 83 /**< \brief Pin Number for PC19 */ -#define PORT_PC19 (_UL_(1) << 19) /**< \brief PORT Mask for PC19 */ -#define PIN_PC20 84 /**< \brief Pin Number for PC20 */ -#define PORT_PC20 (_UL_(1) << 20) /**< \brief PORT Mask for PC20 */ -#define PIN_PC21 85 /**< \brief Pin Number for PC21 */ -#define PORT_PC21 (_UL_(1) << 21) /**< \brief PORT Mask for PC21 */ -#define PIN_PC22 86 /**< \brief Pin Number for PC22 */ -#define PORT_PC22 (_UL_(1) << 22) /**< \brief PORT Mask for PC22 */ -#define PIN_PC23 87 /**< \brief Pin Number for PC23 */ -#define PORT_PC23 (_UL_(1) << 23) /**< \brief PORT Mask for PC23 */ -#define PIN_PC24 88 /**< \brief Pin Number for PC24 */ -#define PORT_PC24 (_UL_(1) << 24) /**< \brief PORT Mask for PC24 */ -#define PIN_PC25 89 /**< \brief Pin Number for PC25 */ -#define PORT_PC25 (_UL_(1) << 25) /**< \brief PORT Mask for PC25 */ -#define PIN_PC26 90 /**< \brief Pin Number for PC26 */ -#define PORT_PC26 (_UL_(1) << 26) /**< \brief PORT Mask for PC26 */ -#define PIN_PC27 91 /**< \brief Pin Number for PC27 */ -#define PORT_PC27 (_UL_(1) << 27) /**< \brief PORT Mask for PC27 */ -#define PIN_PC28 92 /**< \brief Pin Number for PC28 */ -#define PORT_PC28 (_UL_(1) << 28) /**< \brief PORT Mask for PC28 */ -#define PIN_PC30 94 /**< \brief Pin Number for PC30 */ -#define PORT_PC30 (_UL_(1) << 30) /**< \brief PORT Mask for PC30 */ -#define PIN_PC31 95 /**< \brief Pin Number for PC31 */ -#define PORT_PC31 (_UL_(1) << 31) /**< \brief PORT Mask for PC31 */ -#define PIN_PD00 96 /**< \brief Pin Number for PD00 */ -#define PORT_PD00 (_UL_(1) << 0) /**< \brief PORT Mask for PD00 */ -#define PIN_PD01 97 /**< \brief Pin Number for PD01 */ -#define PORT_PD01 (_UL_(1) << 1) /**< \brief PORT Mask for PD01 */ -#define PIN_PD08 104 /**< \brief Pin Number for PD08 */ -#define PORT_PD08 (_UL_(1) << 8) /**< \brief PORT Mask for PD08 */ -#define PIN_PD09 105 /**< \brief Pin Number for PD09 */ -#define PORT_PD09 (_UL_(1) << 9) /**< \brief PORT Mask for PD09 */ -#define PIN_PD10 106 /**< \brief Pin Number for PD10 */ -#define PORT_PD10 (_UL_(1) << 10) /**< \brief PORT Mask for PD10 */ -#define PIN_PD11 107 /**< \brief Pin Number for PD11 */ -#define PORT_PD11 (_UL_(1) << 11) /**< \brief PORT Mask for PD11 */ -#define PIN_PD12 108 /**< \brief Pin Number for PD12 */ -#define PORT_PD12 (_UL_(1) << 12) /**< \brief PORT Mask for PD12 */ -#define PIN_PD20 116 /**< \brief Pin Number for PD20 */ -#define PORT_PD20 (_UL_(1) << 20) /**< \brief PORT Mask for PD20 */ -#define PIN_PD21 117 /**< \brief Pin Number for PD21 */ -#define PORT_PD21 (_UL_(1) << 21) /**< \brief PORT Mask for PD21 */ -/* ========== PORT definition for CM4 peripheral ========== */ -#define PIN_PA30H_CM4_SWCLK _L_(30) /**< \brief CM4 signal: SWCLK on PA30 mux H */ -#define MUX_PA30H_CM4_SWCLK _L_(7) -#define PINMUX_PA30H_CM4_SWCLK ((PIN_PA30H_CM4_SWCLK << 16) | MUX_PA30H_CM4_SWCLK) -#define PORT_PA30H_CM4_SWCLK (_UL_(1) << 30) -#define PIN_PC27M_CM4_SWO _L_(91) /**< \brief CM4 signal: SWO on PC27 mux M */ -#define MUX_PC27M_CM4_SWO _L_(12) -#define PINMUX_PC27M_CM4_SWO ((PIN_PC27M_CM4_SWO << 16) | MUX_PC27M_CM4_SWO) -#define PORT_PC27M_CM4_SWO (_UL_(1) << 27) -#define PIN_PB30H_CM4_SWO _L_(62) /**< \brief CM4 signal: SWO on PB30 mux H */ -#define MUX_PB30H_CM4_SWO _L_(7) -#define PINMUX_PB30H_CM4_SWO ((PIN_PB30H_CM4_SWO << 16) | MUX_PB30H_CM4_SWO) -#define PORT_PB30H_CM4_SWO (_UL_(1) << 30) -#define PIN_PC27H_CM4_TRACECLK _L_(91) /**< \brief CM4 signal: TRACECLK on PC27 mux H */ -#define MUX_PC27H_CM4_TRACECLK _L_(7) -#define PINMUX_PC27H_CM4_TRACECLK ((PIN_PC27H_CM4_TRACECLK << 16) | MUX_PC27H_CM4_TRACECLK) -#define PORT_PC27H_CM4_TRACECLK (_UL_(1) << 27) -#define PIN_PC28H_CM4_TRACEDATA0 _L_(92) /**< \brief CM4 signal: TRACEDATA0 on PC28 mux H */ -#define MUX_PC28H_CM4_TRACEDATA0 _L_(7) -#define PINMUX_PC28H_CM4_TRACEDATA0 ((PIN_PC28H_CM4_TRACEDATA0 << 16) | MUX_PC28H_CM4_TRACEDATA0) -#define PORT_PC28H_CM4_TRACEDATA0 (_UL_(1) << 28) -#define PIN_PC26H_CM4_TRACEDATA1 _L_(90) /**< \brief CM4 signal: TRACEDATA1 on PC26 mux H */ -#define MUX_PC26H_CM4_TRACEDATA1 _L_(7) -#define PINMUX_PC26H_CM4_TRACEDATA1 ((PIN_PC26H_CM4_TRACEDATA1 << 16) | MUX_PC26H_CM4_TRACEDATA1) -#define PORT_PC26H_CM4_TRACEDATA1 (_UL_(1) << 26) -#define PIN_PC25H_CM4_TRACEDATA2 _L_(89) /**< \brief CM4 signal: TRACEDATA2 on PC25 mux H */ -#define MUX_PC25H_CM4_TRACEDATA2 _L_(7) -#define PINMUX_PC25H_CM4_TRACEDATA2 ((PIN_PC25H_CM4_TRACEDATA2 << 16) | MUX_PC25H_CM4_TRACEDATA2) -#define PORT_PC25H_CM4_TRACEDATA2 (_UL_(1) << 25) -#define PIN_PC24H_CM4_TRACEDATA3 _L_(88) /**< \brief CM4 signal: TRACEDATA3 on PC24 mux H */ -#define MUX_PC24H_CM4_TRACEDATA3 _L_(7) -#define PINMUX_PC24H_CM4_TRACEDATA3 ((PIN_PC24H_CM4_TRACEDATA3 << 16) | MUX_PC24H_CM4_TRACEDATA3) -#define PORT_PC24H_CM4_TRACEDATA3 (_UL_(1) << 24) -/* ========== PORT definition for ANAREF peripheral ========== */ -#define PIN_PA03B_ANAREF_VREF0 _L_(3) /**< \brief ANAREF signal: VREF0 on PA03 mux B */ -#define MUX_PA03B_ANAREF_VREF0 _L_(1) -#define PINMUX_PA03B_ANAREF_VREF0 ((PIN_PA03B_ANAREF_VREF0 << 16) | MUX_PA03B_ANAREF_VREF0) -#define PORT_PA03B_ANAREF_VREF0 (_UL_(1) << 3) -#define PIN_PA04B_ANAREF_VREF1 _L_(4) /**< \brief ANAREF signal: VREF1 on PA04 mux B */ -#define MUX_PA04B_ANAREF_VREF1 _L_(1) -#define PINMUX_PA04B_ANAREF_VREF1 ((PIN_PA04B_ANAREF_VREF1 << 16) | MUX_PA04B_ANAREF_VREF1) -#define PORT_PA04B_ANAREF_VREF1 (_UL_(1) << 4) -#define PIN_PA06B_ANAREF_VREF2 _L_(6) /**< \brief ANAREF signal: VREF2 on PA06 mux B */ -#define MUX_PA06B_ANAREF_VREF2 _L_(1) -#define PINMUX_PA06B_ANAREF_VREF2 ((PIN_PA06B_ANAREF_VREF2 << 16) | MUX_PA06B_ANAREF_VREF2) -#define PORT_PA06B_ANAREF_VREF2 (_UL_(1) << 6) -/* ========== PORT definition for GCLK peripheral ========== */ -#define PIN_PA30M_GCLK_IO0 _L_(30) /**< \brief GCLK signal: IO0 on PA30 mux M */ -#define MUX_PA30M_GCLK_IO0 _L_(12) -#define PINMUX_PA30M_GCLK_IO0 ((PIN_PA30M_GCLK_IO0 << 16) | MUX_PA30M_GCLK_IO0) -#define PORT_PA30M_GCLK_IO0 (_UL_(1) << 30) -#define PIN_PB14M_GCLK_IO0 _L_(46) /**< \brief GCLK signal: IO0 on PB14 mux M */ -#define MUX_PB14M_GCLK_IO0 _L_(12) -#define PINMUX_PB14M_GCLK_IO0 ((PIN_PB14M_GCLK_IO0 << 16) | MUX_PB14M_GCLK_IO0) -#define PORT_PB14M_GCLK_IO0 (_UL_(1) << 14) -#define PIN_PA14M_GCLK_IO0 _L_(14) /**< \brief GCLK signal: IO0 on PA14 mux M */ -#define MUX_PA14M_GCLK_IO0 _L_(12) -#define PINMUX_PA14M_GCLK_IO0 ((PIN_PA14M_GCLK_IO0 << 16) | MUX_PA14M_GCLK_IO0) -#define PORT_PA14M_GCLK_IO0 (_UL_(1) << 14) -#define PIN_PB22M_GCLK_IO0 _L_(54) /**< \brief GCLK signal: IO0 on PB22 mux M */ -#define MUX_PB22M_GCLK_IO0 _L_(12) -#define PINMUX_PB22M_GCLK_IO0 ((PIN_PB22M_GCLK_IO0 << 16) | MUX_PB22M_GCLK_IO0) -#define PORT_PB22M_GCLK_IO0 (_UL_(1) << 22) -#define PIN_PB15M_GCLK_IO1 _L_(47) /**< \brief GCLK signal: IO1 on PB15 mux M */ -#define MUX_PB15M_GCLK_IO1 _L_(12) -#define PINMUX_PB15M_GCLK_IO1 ((PIN_PB15M_GCLK_IO1 << 16) | MUX_PB15M_GCLK_IO1) -#define PORT_PB15M_GCLK_IO1 (_UL_(1) << 15) -#define PIN_PA15M_GCLK_IO1 _L_(15) /**< \brief GCLK signal: IO1 on PA15 mux M */ -#define MUX_PA15M_GCLK_IO1 _L_(12) -#define PINMUX_PA15M_GCLK_IO1 ((PIN_PA15M_GCLK_IO1 << 16) | MUX_PA15M_GCLK_IO1) -#define PORT_PA15M_GCLK_IO1 (_UL_(1) << 15) -#define PIN_PB23M_GCLK_IO1 _L_(55) /**< \brief GCLK signal: IO1 on PB23 mux M */ -#define MUX_PB23M_GCLK_IO1 _L_(12) -#define PINMUX_PB23M_GCLK_IO1 ((PIN_PB23M_GCLK_IO1 << 16) | MUX_PB23M_GCLK_IO1) -#define PORT_PB23M_GCLK_IO1 (_UL_(1) << 23) -#define PIN_PA27M_GCLK_IO1 _L_(27) /**< \brief GCLK signal: IO1 on PA27 mux M */ -#define MUX_PA27M_GCLK_IO1 _L_(12) -#define PINMUX_PA27M_GCLK_IO1 ((PIN_PA27M_GCLK_IO1 << 16) | MUX_PA27M_GCLK_IO1) -#define PORT_PA27M_GCLK_IO1 (_UL_(1) << 27) -#define PIN_PA16M_GCLK_IO2 _L_(16) /**< \brief GCLK signal: IO2 on PA16 mux M */ -#define MUX_PA16M_GCLK_IO2 _L_(12) -#define PINMUX_PA16M_GCLK_IO2 ((PIN_PA16M_GCLK_IO2 << 16) | MUX_PA16M_GCLK_IO2) -#define PORT_PA16M_GCLK_IO2 (_UL_(1) << 16) -#define PIN_PB16M_GCLK_IO2 _L_(48) /**< \brief GCLK signal: IO2 on PB16 mux M */ -#define MUX_PB16M_GCLK_IO2 _L_(12) -#define PINMUX_PB16M_GCLK_IO2 ((PIN_PB16M_GCLK_IO2 << 16) | MUX_PB16M_GCLK_IO2) -#define PORT_PB16M_GCLK_IO2 (_UL_(1) << 16) -#define PIN_PA17M_GCLK_IO3 _L_(17) /**< \brief GCLK signal: IO3 on PA17 mux M */ -#define MUX_PA17M_GCLK_IO3 _L_(12) -#define PINMUX_PA17M_GCLK_IO3 ((PIN_PA17M_GCLK_IO3 << 16) | MUX_PA17M_GCLK_IO3) -#define PORT_PA17M_GCLK_IO3 (_UL_(1) << 17) -#define PIN_PB17M_GCLK_IO3 _L_(49) /**< \brief GCLK signal: IO3 on PB17 mux M */ -#define MUX_PB17M_GCLK_IO3 _L_(12) -#define PINMUX_PB17M_GCLK_IO3 ((PIN_PB17M_GCLK_IO3 << 16) | MUX_PB17M_GCLK_IO3) -#define PORT_PB17M_GCLK_IO3 (_UL_(1) << 17) -#define PIN_PA10M_GCLK_IO4 _L_(10) /**< \brief GCLK signal: IO4 on PA10 mux M */ -#define MUX_PA10M_GCLK_IO4 _L_(12) -#define PINMUX_PA10M_GCLK_IO4 ((PIN_PA10M_GCLK_IO4 << 16) | MUX_PA10M_GCLK_IO4) -#define PORT_PA10M_GCLK_IO4 (_UL_(1) << 10) -#define PIN_PB10M_GCLK_IO4 _L_(42) /**< \brief GCLK signal: IO4 on PB10 mux M */ -#define MUX_PB10M_GCLK_IO4 _L_(12) -#define PINMUX_PB10M_GCLK_IO4 ((PIN_PB10M_GCLK_IO4 << 16) | MUX_PB10M_GCLK_IO4) -#define PORT_PB10M_GCLK_IO4 (_UL_(1) << 10) -#define PIN_PB18M_GCLK_IO4 _L_(50) /**< \brief GCLK signal: IO4 on PB18 mux M */ -#define MUX_PB18M_GCLK_IO4 _L_(12) -#define PINMUX_PB18M_GCLK_IO4 ((PIN_PB18M_GCLK_IO4 << 16) | MUX_PB18M_GCLK_IO4) -#define PORT_PB18M_GCLK_IO4 (_UL_(1) << 18) -#define PIN_PA11M_GCLK_IO5 _L_(11) /**< \brief GCLK signal: IO5 on PA11 mux M */ -#define MUX_PA11M_GCLK_IO5 _L_(12) -#define PINMUX_PA11M_GCLK_IO5 ((PIN_PA11M_GCLK_IO5 << 16) | MUX_PA11M_GCLK_IO5) -#define PORT_PA11M_GCLK_IO5 (_UL_(1) << 11) -#define PIN_PB11M_GCLK_IO5 _L_(43) /**< \brief GCLK signal: IO5 on PB11 mux M */ -#define MUX_PB11M_GCLK_IO5 _L_(12) -#define PINMUX_PB11M_GCLK_IO5 ((PIN_PB11M_GCLK_IO5 << 16) | MUX_PB11M_GCLK_IO5) -#define PORT_PB11M_GCLK_IO5 (_UL_(1) << 11) -#define PIN_PB19M_GCLK_IO5 _L_(51) /**< \brief GCLK signal: IO5 on PB19 mux M */ -#define MUX_PB19M_GCLK_IO5 _L_(12) -#define PINMUX_PB19M_GCLK_IO5 ((PIN_PB19M_GCLK_IO5 << 16) | MUX_PB19M_GCLK_IO5) -#define PORT_PB19M_GCLK_IO5 (_UL_(1) << 19) -#define PIN_PB12M_GCLK_IO6 _L_(44) /**< \brief GCLK signal: IO6 on PB12 mux M */ -#define MUX_PB12M_GCLK_IO6 _L_(12) -#define PINMUX_PB12M_GCLK_IO6 ((PIN_PB12M_GCLK_IO6 << 16) | MUX_PB12M_GCLK_IO6) -#define PORT_PB12M_GCLK_IO6 (_UL_(1) << 12) -#define PIN_PB20M_GCLK_IO6 _L_(52) /**< \brief GCLK signal: IO6 on PB20 mux M */ -#define MUX_PB20M_GCLK_IO6 _L_(12) -#define PINMUX_PB20M_GCLK_IO6 ((PIN_PB20M_GCLK_IO6 << 16) | MUX_PB20M_GCLK_IO6) -#define PORT_PB20M_GCLK_IO6 (_UL_(1) << 20) -#define PIN_PB13M_GCLK_IO7 _L_(45) /**< \brief GCLK signal: IO7 on PB13 mux M */ -#define MUX_PB13M_GCLK_IO7 _L_(12) -#define PINMUX_PB13M_GCLK_IO7 ((PIN_PB13M_GCLK_IO7 << 16) | MUX_PB13M_GCLK_IO7) -#define PORT_PB13M_GCLK_IO7 (_UL_(1) << 13) -#define PIN_PB21M_GCLK_IO7 _L_(53) /**< \brief GCLK signal: IO7 on PB21 mux M */ -#define MUX_PB21M_GCLK_IO7 _L_(12) -#define PINMUX_PB21M_GCLK_IO7 ((PIN_PB21M_GCLK_IO7 << 16) | MUX_PB21M_GCLK_IO7) -#define PORT_PB21M_GCLK_IO7 (_UL_(1) << 21) -/* ========== PORT definition for EIC peripheral ========== */ -#define PIN_PA00A_EIC_EXTINT0 _L_(0) /**< \brief EIC signal: EXTINT0 on PA00 mux A */ -#define MUX_PA00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PA00A_EIC_EXTINT0 ((PIN_PA00A_EIC_EXTINT0 << 16) | MUX_PA00A_EIC_EXTINT0) -#define PORT_PA00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PA00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA00 External Interrupt Line */ -#define PIN_PA16A_EIC_EXTINT0 _L_(16) /**< \brief EIC signal: EXTINT0 on PA16 mux A */ -#define MUX_PA16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PA16A_EIC_EXTINT0 ((PIN_PA16A_EIC_EXTINT0 << 16) | MUX_PA16A_EIC_EXTINT0) -#define PORT_PA16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PA16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA16 External Interrupt Line */ -#define PIN_PB00A_EIC_EXTINT0 _L_(32) /**< \brief EIC signal: EXTINT0 on PB00 mux A */ -#define MUX_PB00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PB00A_EIC_EXTINT0 ((PIN_PB00A_EIC_EXTINT0 << 16) | MUX_PB00A_EIC_EXTINT0) -#define PORT_PB00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PB00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB00 External Interrupt Line */ -#define PIN_PB16A_EIC_EXTINT0 _L_(48) /**< \brief EIC signal: EXTINT0 on PB16 mux A */ -#define MUX_PB16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PB16A_EIC_EXTINT0 ((PIN_PB16A_EIC_EXTINT0 << 16) | MUX_PB16A_EIC_EXTINT0) -#define PORT_PB16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PB16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB16 External Interrupt Line */ -#define PIN_PC00A_EIC_EXTINT0 _L_(64) /**< \brief EIC signal: EXTINT0 on PC00 mux A */ -#define MUX_PC00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PC00A_EIC_EXTINT0 ((PIN_PC00A_EIC_EXTINT0 << 16) | MUX_PC00A_EIC_EXTINT0) -#define PORT_PC00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PC00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC00 External Interrupt Line */ -#define PIN_PC16A_EIC_EXTINT0 _L_(80) /**< \brief EIC signal: EXTINT0 on PC16 mux A */ -#define MUX_PC16A_EIC_EXTINT0 _L_(0) -#define PINMUX_PC16A_EIC_EXTINT0 ((PIN_PC16A_EIC_EXTINT0 << 16) | MUX_PC16A_EIC_EXTINT0) -#define PORT_PC16A_EIC_EXTINT0 (_UL_(1) << 16) -#define PIN_PC16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC16 External Interrupt Line */ -#define PIN_PD00A_EIC_EXTINT0 _L_(96) /**< \brief EIC signal: EXTINT0 on PD00 mux A */ -#define MUX_PD00A_EIC_EXTINT0 _L_(0) -#define PINMUX_PD00A_EIC_EXTINT0 ((PIN_PD00A_EIC_EXTINT0 << 16) | MUX_PD00A_EIC_EXTINT0) -#define PORT_PD00A_EIC_EXTINT0 (_UL_(1) << 0) -#define PIN_PD00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PD00 External Interrupt Line */ -#define PIN_PA01A_EIC_EXTINT1 _L_(1) /**< \brief EIC signal: EXTINT1 on PA01 mux A */ -#define MUX_PA01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PA01A_EIC_EXTINT1 ((PIN_PA01A_EIC_EXTINT1 << 16) | MUX_PA01A_EIC_EXTINT1) -#define PORT_PA01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PA01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA01 External Interrupt Line */ -#define PIN_PA17A_EIC_EXTINT1 _L_(17) /**< \brief EIC signal: EXTINT1 on PA17 mux A */ -#define MUX_PA17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PA17A_EIC_EXTINT1 ((PIN_PA17A_EIC_EXTINT1 << 16) | MUX_PA17A_EIC_EXTINT1) -#define PORT_PA17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PA17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA17 External Interrupt Line */ -#define PIN_PB01A_EIC_EXTINT1 _L_(33) /**< \brief EIC signal: EXTINT1 on PB01 mux A */ -#define MUX_PB01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PB01A_EIC_EXTINT1 ((PIN_PB01A_EIC_EXTINT1 << 16) | MUX_PB01A_EIC_EXTINT1) -#define PORT_PB01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PB01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB01 External Interrupt Line */ -#define PIN_PB17A_EIC_EXTINT1 _L_(49) /**< \brief EIC signal: EXTINT1 on PB17 mux A */ -#define MUX_PB17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PB17A_EIC_EXTINT1 ((PIN_PB17A_EIC_EXTINT1 << 16) | MUX_PB17A_EIC_EXTINT1) -#define PORT_PB17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PB17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB17 External Interrupt Line */ -#define PIN_PC01A_EIC_EXTINT1 _L_(65) /**< \brief EIC signal: EXTINT1 on PC01 mux A */ -#define MUX_PC01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PC01A_EIC_EXTINT1 ((PIN_PC01A_EIC_EXTINT1 << 16) | MUX_PC01A_EIC_EXTINT1) -#define PORT_PC01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PC01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC01 External Interrupt Line */ -#define PIN_PC17A_EIC_EXTINT1 _L_(81) /**< \brief EIC signal: EXTINT1 on PC17 mux A */ -#define MUX_PC17A_EIC_EXTINT1 _L_(0) -#define PINMUX_PC17A_EIC_EXTINT1 ((PIN_PC17A_EIC_EXTINT1 << 16) | MUX_PC17A_EIC_EXTINT1) -#define PORT_PC17A_EIC_EXTINT1 (_UL_(1) << 17) -#define PIN_PC17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC17 External Interrupt Line */ -#define PIN_PD01A_EIC_EXTINT1 _L_(97) /**< \brief EIC signal: EXTINT1 on PD01 mux A */ -#define MUX_PD01A_EIC_EXTINT1 _L_(0) -#define PINMUX_PD01A_EIC_EXTINT1 ((PIN_PD01A_EIC_EXTINT1 << 16) | MUX_PD01A_EIC_EXTINT1) -#define PORT_PD01A_EIC_EXTINT1 (_UL_(1) << 1) -#define PIN_PD01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PD01 External Interrupt Line */ -#define PIN_PA02A_EIC_EXTINT2 _L_(2) /**< \brief EIC signal: EXTINT2 on PA02 mux A */ -#define MUX_PA02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PA02A_EIC_EXTINT2 ((PIN_PA02A_EIC_EXTINT2 << 16) | MUX_PA02A_EIC_EXTINT2) -#define PORT_PA02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PA02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA02 External Interrupt Line */ -#define PIN_PA18A_EIC_EXTINT2 _L_(18) /**< \brief EIC signal: EXTINT2 on PA18 mux A */ -#define MUX_PA18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PA18A_EIC_EXTINT2 ((PIN_PA18A_EIC_EXTINT2 << 16) | MUX_PA18A_EIC_EXTINT2) -#define PORT_PA18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PA18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA18 External Interrupt Line */ -#define PIN_PB02A_EIC_EXTINT2 _L_(34) /**< \brief EIC signal: EXTINT2 on PB02 mux A */ -#define MUX_PB02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PB02A_EIC_EXTINT2 ((PIN_PB02A_EIC_EXTINT2 << 16) | MUX_PB02A_EIC_EXTINT2) -#define PORT_PB02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PB02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB02 External Interrupt Line */ -#define PIN_PB18A_EIC_EXTINT2 _L_(50) /**< \brief EIC signal: EXTINT2 on PB18 mux A */ -#define MUX_PB18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PB18A_EIC_EXTINT2 ((PIN_PB18A_EIC_EXTINT2 << 16) | MUX_PB18A_EIC_EXTINT2) -#define PORT_PB18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PB18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB18 External Interrupt Line */ -#define PIN_PC02A_EIC_EXTINT2 _L_(66) /**< \brief EIC signal: EXTINT2 on PC02 mux A */ -#define MUX_PC02A_EIC_EXTINT2 _L_(0) -#define PINMUX_PC02A_EIC_EXTINT2 ((PIN_PC02A_EIC_EXTINT2 << 16) | MUX_PC02A_EIC_EXTINT2) -#define PORT_PC02A_EIC_EXTINT2 (_UL_(1) << 2) -#define PIN_PC02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC02 External Interrupt Line */ -#define PIN_PC18A_EIC_EXTINT2 _L_(82) /**< \brief EIC signal: EXTINT2 on PC18 mux A */ -#define MUX_PC18A_EIC_EXTINT2 _L_(0) -#define PINMUX_PC18A_EIC_EXTINT2 ((PIN_PC18A_EIC_EXTINT2 << 16) | MUX_PC18A_EIC_EXTINT2) -#define PORT_PC18A_EIC_EXTINT2 (_UL_(1) << 18) -#define PIN_PC18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC18 External Interrupt Line */ -#define PIN_PA03A_EIC_EXTINT3 _L_(3) /**< \brief EIC signal: EXTINT3 on PA03 mux A */ -#define MUX_PA03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PA03A_EIC_EXTINT3 ((PIN_PA03A_EIC_EXTINT3 << 16) | MUX_PA03A_EIC_EXTINT3) -#define PORT_PA03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PA03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA03 External Interrupt Line */ -#define PIN_PA19A_EIC_EXTINT3 _L_(19) /**< \brief EIC signal: EXTINT3 on PA19 mux A */ -#define MUX_PA19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PA19A_EIC_EXTINT3 ((PIN_PA19A_EIC_EXTINT3 << 16) | MUX_PA19A_EIC_EXTINT3) -#define PORT_PA19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PA19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA19 External Interrupt Line */ -#define PIN_PB03A_EIC_EXTINT3 _L_(35) /**< \brief EIC signal: EXTINT3 on PB03 mux A */ -#define MUX_PB03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PB03A_EIC_EXTINT3 ((PIN_PB03A_EIC_EXTINT3 << 16) | MUX_PB03A_EIC_EXTINT3) -#define PORT_PB03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PB03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB03 External Interrupt Line */ -#define PIN_PB19A_EIC_EXTINT3 _L_(51) /**< \brief EIC signal: EXTINT3 on PB19 mux A */ -#define MUX_PB19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PB19A_EIC_EXTINT3 ((PIN_PB19A_EIC_EXTINT3 << 16) | MUX_PB19A_EIC_EXTINT3) -#define PORT_PB19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PB19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB19 External Interrupt Line */ -#define PIN_PC03A_EIC_EXTINT3 _L_(67) /**< \brief EIC signal: EXTINT3 on PC03 mux A */ -#define MUX_PC03A_EIC_EXTINT3 _L_(0) -#define PINMUX_PC03A_EIC_EXTINT3 ((PIN_PC03A_EIC_EXTINT3 << 16) | MUX_PC03A_EIC_EXTINT3) -#define PORT_PC03A_EIC_EXTINT3 (_UL_(1) << 3) -#define PIN_PC03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC03 External Interrupt Line */ -#define PIN_PC19A_EIC_EXTINT3 _L_(83) /**< \brief EIC signal: EXTINT3 on PC19 mux A */ -#define MUX_PC19A_EIC_EXTINT3 _L_(0) -#define PINMUX_PC19A_EIC_EXTINT3 ((PIN_PC19A_EIC_EXTINT3 << 16) | MUX_PC19A_EIC_EXTINT3) -#define PORT_PC19A_EIC_EXTINT3 (_UL_(1) << 19) -#define PIN_PC19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC19 External Interrupt Line */ -#define PIN_PD08A_EIC_EXTINT3 _L_(104) /**< \brief EIC signal: EXTINT3 on PD08 mux A */ -#define MUX_PD08A_EIC_EXTINT3 _L_(0) -#define PINMUX_PD08A_EIC_EXTINT3 ((PIN_PD08A_EIC_EXTINT3 << 16) | MUX_PD08A_EIC_EXTINT3) -#define PORT_PD08A_EIC_EXTINT3 (_UL_(1) << 8) -#define PIN_PD08A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PD08 External Interrupt Line */ -#define PIN_PA04A_EIC_EXTINT4 _L_(4) /**< \brief EIC signal: EXTINT4 on PA04 mux A */ -#define MUX_PA04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PA04A_EIC_EXTINT4 ((PIN_PA04A_EIC_EXTINT4 << 16) | MUX_PA04A_EIC_EXTINT4) -#define PORT_PA04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PA04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA04 External Interrupt Line */ -#define PIN_PA20A_EIC_EXTINT4 _L_(20) /**< \brief EIC signal: EXTINT4 on PA20 mux A */ -#define MUX_PA20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PA20A_EIC_EXTINT4 ((PIN_PA20A_EIC_EXTINT4 << 16) | MUX_PA20A_EIC_EXTINT4) -#define PORT_PA20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PA20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA20 External Interrupt Line */ -#define PIN_PB04A_EIC_EXTINT4 _L_(36) /**< \brief EIC signal: EXTINT4 on PB04 mux A */ -#define MUX_PB04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PB04A_EIC_EXTINT4 ((PIN_PB04A_EIC_EXTINT4 << 16) | MUX_PB04A_EIC_EXTINT4) -#define PORT_PB04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PB04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB04 External Interrupt Line */ -#define PIN_PB20A_EIC_EXTINT4 _L_(52) /**< \brief EIC signal: EXTINT4 on PB20 mux A */ -#define MUX_PB20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PB20A_EIC_EXTINT4 ((PIN_PB20A_EIC_EXTINT4 << 16) | MUX_PB20A_EIC_EXTINT4) -#define PORT_PB20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PB20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB20 External Interrupt Line */ -#define PIN_PC04A_EIC_EXTINT4 _L_(68) /**< \brief EIC signal: EXTINT4 on PC04 mux A */ -#define MUX_PC04A_EIC_EXTINT4 _L_(0) -#define PINMUX_PC04A_EIC_EXTINT4 ((PIN_PC04A_EIC_EXTINT4 << 16) | MUX_PC04A_EIC_EXTINT4) -#define PORT_PC04A_EIC_EXTINT4 (_UL_(1) << 4) -#define PIN_PC04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC04 External Interrupt Line */ -#define PIN_PC20A_EIC_EXTINT4 _L_(84) /**< \brief EIC signal: EXTINT4 on PC20 mux A */ -#define MUX_PC20A_EIC_EXTINT4 _L_(0) -#define PINMUX_PC20A_EIC_EXTINT4 ((PIN_PC20A_EIC_EXTINT4 << 16) | MUX_PC20A_EIC_EXTINT4) -#define PORT_PC20A_EIC_EXTINT4 (_UL_(1) << 20) -#define PIN_PC20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC20 External Interrupt Line */ -#define PIN_PD09A_EIC_EXTINT4 _L_(105) /**< \brief EIC signal: EXTINT4 on PD09 mux A */ -#define MUX_PD09A_EIC_EXTINT4 _L_(0) -#define PINMUX_PD09A_EIC_EXTINT4 ((PIN_PD09A_EIC_EXTINT4 << 16) | MUX_PD09A_EIC_EXTINT4) -#define PORT_PD09A_EIC_EXTINT4 (_UL_(1) << 9) -#define PIN_PD09A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PD09 External Interrupt Line */ -#define PIN_PA05A_EIC_EXTINT5 _L_(5) /**< \brief EIC signal: EXTINT5 on PA05 mux A */ -#define MUX_PA05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PA05A_EIC_EXTINT5 ((PIN_PA05A_EIC_EXTINT5 << 16) | MUX_PA05A_EIC_EXTINT5) -#define PORT_PA05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PA05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA05 External Interrupt Line */ -#define PIN_PA21A_EIC_EXTINT5 _L_(21) /**< \brief EIC signal: EXTINT5 on PA21 mux A */ -#define MUX_PA21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PA21A_EIC_EXTINT5 ((PIN_PA21A_EIC_EXTINT5 << 16) | MUX_PA21A_EIC_EXTINT5) -#define PORT_PA21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PA21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA21 External Interrupt Line */ -#define PIN_PB05A_EIC_EXTINT5 _L_(37) /**< \brief EIC signal: EXTINT5 on PB05 mux A */ -#define MUX_PB05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PB05A_EIC_EXTINT5 ((PIN_PB05A_EIC_EXTINT5 << 16) | MUX_PB05A_EIC_EXTINT5) -#define PORT_PB05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PB05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB05 External Interrupt Line */ -#define PIN_PB21A_EIC_EXTINT5 _L_(53) /**< \brief EIC signal: EXTINT5 on PB21 mux A */ -#define MUX_PB21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PB21A_EIC_EXTINT5 ((PIN_PB21A_EIC_EXTINT5 << 16) | MUX_PB21A_EIC_EXTINT5) -#define PORT_PB21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PB21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB21 External Interrupt Line */ -#define PIN_PC05A_EIC_EXTINT5 _L_(69) /**< \brief EIC signal: EXTINT5 on PC05 mux A */ -#define MUX_PC05A_EIC_EXTINT5 _L_(0) -#define PINMUX_PC05A_EIC_EXTINT5 ((PIN_PC05A_EIC_EXTINT5 << 16) | MUX_PC05A_EIC_EXTINT5) -#define PORT_PC05A_EIC_EXTINT5 (_UL_(1) << 5) -#define PIN_PC05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC05 External Interrupt Line */ -#define PIN_PC21A_EIC_EXTINT5 _L_(85) /**< \brief EIC signal: EXTINT5 on PC21 mux A */ -#define MUX_PC21A_EIC_EXTINT5 _L_(0) -#define PINMUX_PC21A_EIC_EXTINT5 ((PIN_PC21A_EIC_EXTINT5 << 16) | MUX_PC21A_EIC_EXTINT5) -#define PORT_PC21A_EIC_EXTINT5 (_UL_(1) << 21) -#define PIN_PC21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC21 External Interrupt Line */ -#define PIN_PD10A_EIC_EXTINT5 _L_(106) /**< \brief EIC signal: EXTINT5 on PD10 mux A */ -#define MUX_PD10A_EIC_EXTINT5 _L_(0) -#define PINMUX_PD10A_EIC_EXTINT5 ((PIN_PD10A_EIC_EXTINT5 << 16) | MUX_PD10A_EIC_EXTINT5) -#define PORT_PD10A_EIC_EXTINT5 (_UL_(1) << 10) -#define PIN_PD10A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PD10 External Interrupt Line */ -#define PIN_PA06A_EIC_EXTINT6 _L_(6) /**< \brief EIC signal: EXTINT6 on PA06 mux A */ -#define MUX_PA06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PA06A_EIC_EXTINT6 ((PIN_PA06A_EIC_EXTINT6 << 16) | MUX_PA06A_EIC_EXTINT6) -#define PORT_PA06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PA06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA06 External Interrupt Line */ -#define PIN_PA22A_EIC_EXTINT6 _L_(22) /**< \brief EIC signal: EXTINT6 on PA22 mux A */ -#define MUX_PA22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PA22A_EIC_EXTINT6 ((PIN_PA22A_EIC_EXTINT6 << 16) | MUX_PA22A_EIC_EXTINT6) -#define PORT_PA22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PA22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA22 External Interrupt Line */ -#define PIN_PB06A_EIC_EXTINT6 _L_(38) /**< \brief EIC signal: EXTINT6 on PB06 mux A */ -#define MUX_PB06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PB06A_EIC_EXTINT6 ((PIN_PB06A_EIC_EXTINT6 << 16) | MUX_PB06A_EIC_EXTINT6) -#define PORT_PB06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PB06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB06 External Interrupt Line */ -#define PIN_PB22A_EIC_EXTINT6 _L_(54) /**< \brief EIC signal: EXTINT6 on PB22 mux A */ -#define MUX_PB22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PB22A_EIC_EXTINT6 ((PIN_PB22A_EIC_EXTINT6 << 16) | MUX_PB22A_EIC_EXTINT6) -#define PORT_PB22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PB22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB22 External Interrupt Line */ -#define PIN_PC06A_EIC_EXTINT6 _L_(70) /**< \brief EIC signal: EXTINT6 on PC06 mux A */ -#define MUX_PC06A_EIC_EXTINT6 _L_(0) -#define PINMUX_PC06A_EIC_EXTINT6 ((PIN_PC06A_EIC_EXTINT6 << 16) | MUX_PC06A_EIC_EXTINT6) -#define PORT_PC06A_EIC_EXTINT6 (_UL_(1) << 6) -#define PIN_PC06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC06 External Interrupt Line */ -#define PIN_PC22A_EIC_EXTINT6 _L_(86) /**< \brief EIC signal: EXTINT6 on PC22 mux A */ -#define MUX_PC22A_EIC_EXTINT6 _L_(0) -#define PINMUX_PC22A_EIC_EXTINT6 ((PIN_PC22A_EIC_EXTINT6 << 16) | MUX_PC22A_EIC_EXTINT6) -#define PORT_PC22A_EIC_EXTINT6 (_UL_(1) << 22) -#define PIN_PC22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC22 External Interrupt Line */ -#define PIN_PD11A_EIC_EXTINT6 _L_(107) /**< \brief EIC signal: EXTINT6 on PD11 mux A */ -#define MUX_PD11A_EIC_EXTINT6 _L_(0) -#define PINMUX_PD11A_EIC_EXTINT6 ((PIN_PD11A_EIC_EXTINT6 << 16) | MUX_PD11A_EIC_EXTINT6) -#define PORT_PD11A_EIC_EXTINT6 (_UL_(1) << 11) -#define PIN_PD11A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PD11 External Interrupt Line */ -#define PIN_PA07A_EIC_EXTINT7 _L_(7) /**< \brief EIC signal: EXTINT7 on PA07 mux A */ -#define MUX_PA07A_EIC_EXTINT7 _L_(0) -#define PINMUX_PA07A_EIC_EXTINT7 ((PIN_PA07A_EIC_EXTINT7 << 16) | MUX_PA07A_EIC_EXTINT7) -#define PORT_PA07A_EIC_EXTINT7 (_UL_(1) << 7) -#define PIN_PA07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA07 External Interrupt Line */ -#define PIN_PA23A_EIC_EXTINT7 _L_(23) /**< \brief EIC signal: EXTINT7 on PA23 mux A */ -#define MUX_PA23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PA23A_EIC_EXTINT7 ((PIN_PA23A_EIC_EXTINT7 << 16) | MUX_PA23A_EIC_EXTINT7) -#define PORT_PA23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PA23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA23 External Interrupt Line */ -#define PIN_PB07A_EIC_EXTINT7 _L_(39) /**< \brief EIC signal: EXTINT7 on PB07 mux A */ -#define MUX_PB07A_EIC_EXTINT7 _L_(0) -#define PINMUX_PB07A_EIC_EXTINT7 ((PIN_PB07A_EIC_EXTINT7 << 16) | MUX_PB07A_EIC_EXTINT7) -#define PORT_PB07A_EIC_EXTINT7 (_UL_(1) << 7) -#define PIN_PB07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB07 External Interrupt Line */ -#define PIN_PB23A_EIC_EXTINT7 _L_(55) /**< \brief EIC signal: EXTINT7 on PB23 mux A */ -#define MUX_PB23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PB23A_EIC_EXTINT7 ((PIN_PB23A_EIC_EXTINT7 << 16) | MUX_PB23A_EIC_EXTINT7) -#define PORT_PB23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PB23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB23 External Interrupt Line */ -#define PIN_PC23A_EIC_EXTINT7 _L_(87) /**< \brief EIC signal: EXTINT7 on PC23 mux A */ -#define MUX_PC23A_EIC_EXTINT7 _L_(0) -#define PINMUX_PC23A_EIC_EXTINT7 ((PIN_PC23A_EIC_EXTINT7 << 16) | MUX_PC23A_EIC_EXTINT7) -#define PORT_PC23A_EIC_EXTINT7 (_UL_(1) << 23) -#define PIN_PC23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PC23 External Interrupt Line */ -#define PIN_PD12A_EIC_EXTINT7 _L_(108) /**< \brief EIC signal: EXTINT7 on PD12 mux A */ -#define MUX_PD12A_EIC_EXTINT7 _L_(0) -#define PINMUX_PD12A_EIC_EXTINT7 ((PIN_PD12A_EIC_EXTINT7 << 16) | MUX_PD12A_EIC_EXTINT7) -#define PORT_PD12A_EIC_EXTINT7 (_UL_(1) << 12) -#define PIN_PD12A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PD12 External Interrupt Line */ -#define PIN_PA24A_EIC_EXTINT8 _L_(24) /**< \brief EIC signal: EXTINT8 on PA24 mux A */ -#define MUX_PA24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PA24A_EIC_EXTINT8 ((PIN_PA24A_EIC_EXTINT8 << 16) | MUX_PA24A_EIC_EXTINT8) -#define PORT_PA24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PA24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PA24 External Interrupt Line */ -#define PIN_PB08A_EIC_EXTINT8 _L_(40) /**< \brief EIC signal: EXTINT8 on PB08 mux A */ -#define MUX_PB08A_EIC_EXTINT8 _L_(0) -#define PINMUX_PB08A_EIC_EXTINT8 ((PIN_PB08A_EIC_EXTINT8 << 16) | MUX_PB08A_EIC_EXTINT8) -#define PORT_PB08A_EIC_EXTINT8 (_UL_(1) << 8) -#define PIN_PB08A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB08 External Interrupt Line */ -#define PIN_PB24A_EIC_EXTINT8 _L_(56) /**< \brief EIC signal: EXTINT8 on PB24 mux A */ -#define MUX_PB24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PB24A_EIC_EXTINT8 ((PIN_PB24A_EIC_EXTINT8 << 16) | MUX_PB24A_EIC_EXTINT8) -#define PORT_PB24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PB24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB24 External Interrupt Line */ -#define PIN_PC24A_EIC_EXTINT8 _L_(88) /**< \brief EIC signal: EXTINT8 on PC24 mux A */ -#define MUX_PC24A_EIC_EXTINT8 _L_(0) -#define PINMUX_PC24A_EIC_EXTINT8 ((PIN_PC24A_EIC_EXTINT8 << 16) | MUX_PC24A_EIC_EXTINT8) -#define PORT_PC24A_EIC_EXTINT8 (_UL_(1) << 24) -#define PIN_PC24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PC24 External Interrupt Line */ -#define PIN_PA09A_EIC_EXTINT9 _L_(9) /**< \brief EIC signal: EXTINT9 on PA09 mux A */ -#define MUX_PA09A_EIC_EXTINT9 _L_(0) -#define PINMUX_PA09A_EIC_EXTINT9 ((PIN_PA09A_EIC_EXTINT9 << 16) | MUX_PA09A_EIC_EXTINT9) -#define PORT_PA09A_EIC_EXTINT9 (_UL_(1) << 9) -#define PIN_PA09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA09 External Interrupt Line */ -#define PIN_PA25A_EIC_EXTINT9 _L_(25) /**< \brief EIC signal: EXTINT9 on PA25 mux A */ -#define MUX_PA25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PA25A_EIC_EXTINT9 ((PIN_PA25A_EIC_EXTINT9 << 16) | MUX_PA25A_EIC_EXTINT9) -#define PORT_PA25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PA25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA25 External Interrupt Line */ -#define PIN_PB09A_EIC_EXTINT9 _L_(41) /**< \brief EIC signal: EXTINT9 on PB09 mux A */ -#define MUX_PB09A_EIC_EXTINT9 _L_(0) -#define PINMUX_PB09A_EIC_EXTINT9 ((PIN_PB09A_EIC_EXTINT9 << 16) | MUX_PB09A_EIC_EXTINT9) -#define PORT_PB09A_EIC_EXTINT9 (_UL_(1) << 9) -#define PIN_PB09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB09 External Interrupt Line */ -#define PIN_PB25A_EIC_EXTINT9 _L_(57) /**< \brief EIC signal: EXTINT9 on PB25 mux A */ -#define MUX_PB25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PB25A_EIC_EXTINT9 ((PIN_PB25A_EIC_EXTINT9 << 16) | MUX_PB25A_EIC_EXTINT9) -#define PORT_PB25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PB25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB25 External Interrupt Line */ -#define PIN_PC07A_EIC_EXTINT9 _L_(71) /**< \brief EIC signal: EXTINT9 on PC07 mux A */ -#define MUX_PC07A_EIC_EXTINT9 _L_(0) -#define PINMUX_PC07A_EIC_EXTINT9 ((PIN_PC07A_EIC_EXTINT9 << 16) | MUX_PC07A_EIC_EXTINT9) -#define PORT_PC07A_EIC_EXTINT9 (_UL_(1) << 7) -#define PIN_PC07A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC07 External Interrupt Line */ -#define PIN_PC25A_EIC_EXTINT9 _L_(89) /**< \brief EIC signal: EXTINT9 on PC25 mux A */ -#define MUX_PC25A_EIC_EXTINT9 _L_(0) -#define PINMUX_PC25A_EIC_EXTINT9 ((PIN_PC25A_EIC_EXTINT9 << 16) | MUX_PC25A_EIC_EXTINT9) -#define PORT_PC25A_EIC_EXTINT9 (_UL_(1) << 25) -#define PIN_PC25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC25 External Interrupt Line */ -#define PIN_PA10A_EIC_EXTINT10 _L_(10) /**< \brief EIC signal: EXTINT10 on PA10 mux A */ -#define MUX_PA10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PA10A_EIC_EXTINT10 ((PIN_PA10A_EIC_EXTINT10 << 16) | MUX_PA10A_EIC_EXTINT10) -#define PORT_PA10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PA10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PA10 External Interrupt Line */ -#define PIN_PB10A_EIC_EXTINT10 _L_(42) /**< \brief EIC signal: EXTINT10 on PB10 mux A */ -#define MUX_PB10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PB10A_EIC_EXTINT10 ((PIN_PB10A_EIC_EXTINT10 << 16) | MUX_PB10A_EIC_EXTINT10) -#define PORT_PB10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PB10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PB10 External Interrupt Line */ -#define PIN_PC10A_EIC_EXTINT10 _L_(74) /**< \brief EIC signal: EXTINT10 on PC10 mux A */ -#define MUX_PC10A_EIC_EXTINT10 _L_(0) -#define PINMUX_PC10A_EIC_EXTINT10 ((PIN_PC10A_EIC_EXTINT10 << 16) | MUX_PC10A_EIC_EXTINT10) -#define PORT_PC10A_EIC_EXTINT10 (_UL_(1) << 10) -#define PIN_PC10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC10 External Interrupt Line */ -#define PIN_PC26A_EIC_EXTINT10 _L_(90) /**< \brief EIC signal: EXTINT10 on PC26 mux A */ -#define MUX_PC26A_EIC_EXTINT10 _L_(0) -#define PINMUX_PC26A_EIC_EXTINT10 ((PIN_PC26A_EIC_EXTINT10 << 16) | MUX_PC26A_EIC_EXTINT10) -#define PORT_PC26A_EIC_EXTINT10 (_UL_(1) << 26) -#define PIN_PC26A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC26 External Interrupt Line */ -#define PIN_PD20A_EIC_EXTINT10 _L_(116) /**< \brief EIC signal: EXTINT10 on PD20 mux A */ -#define MUX_PD20A_EIC_EXTINT10 _L_(0) -#define PINMUX_PD20A_EIC_EXTINT10 ((PIN_PD20A_EIC_EXTINT10 << 16) | MUX_PD20A_EIC_EXTINT10) -#define PORT_PD20A_EIC_EXTINT10 (_UL_(1) << 20) -#define PIN_PD20A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PD20 External Interrupt Line */ -#define PIN_PA11A_EIC_EXTINT11 _L_(11) /**< \brief EIC signal: EXTINT11 on PA11 mux A */ -#define MUX_PA11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PA11A_EIC_EXTINT11 ((PIN_PA11A_EIC_EXTINT11 << 16) | MUX_PA11A_EIC_EXTINT11) -#define PORT_PA11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PA11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA11 External Interrupt Line */ -#define PIN_PA27A_EIC_EXTINT11 _L_(27) /**< \brief EIC signal: EXTINT11 on PA27 mux A */ -#define MUX_PA27A_EIC_EXTINT11 _L_(0) -#define PINMUX_PA27A_EIC_EXTINT11 ((PIN_PA27A_EIC_EXTINT11 << 16) | MUX_PA27A_EIC_EXTINT11) -#define PORT_PA27A_EIC_EXTINT11 (_UL_(1) << 27) -#define PIN_PA27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA27 External Interrupt Line */ -#define PIN_PB11A_EIC_EXTINT11 _L_(43) /**< \brief EIC signal: EXTINT11 on PB11 mux A */ -#define MUX_PB11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PB11A_EIC_EXTINT11 ((PIN_PB11A_EIC_EXTINT11 << 16) | MUX_PB11A_EIC_EXTINT11) -#define PORT_PB11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PB11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PB11 External Interrupt Line */ -#define PIN_PC11A_EIC_EXTINT11 _L_(75) /**< \brief EIC signal: EXTINT11 on PC11 mux A */ -#define MUX_PC11A_EIC_EXTINT11 _L_(0) -#define PINMUX_PC11A_EIC_EXTINT11 ((PIN_PC11A_EIC_EXTINT11 << 16) | MUX_PC11A_EIC_EXTINT11) -#define PORT_PC11A_EIC_EXTINT11 (_UL_(1) << 11) -#define PIN_PC11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC11 External Interrupt Line */ -#define PIN_PC27A_EIC_EXTINT11 _L_(91) /**< \brief EIC signal: EXTINT11 on PC27 mux A */ -#define MUX_PC27A_EIC_EXTINT11 _L_(0) -#define PINMUX_PC27A_EIC_EXTINT11 ((PIN_PC27A_EIC_EXTINT11 << 16) | MUX_PC27A_EIC_EXTINT11) -#define PORT_PC27A_EIC_EXTINT11 (_UL_(1) << 27) -#define PIN_PC27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC27 External Interrupt Line */ -#define PIN_PD21A_EIC_EXTINT11 _L_(117) /**< \brief EIC signal: EXTINT11 on PD21 mux A */ -#define MUX_PD21A_EIC_EXTINT11 _L_(0) -#define PINMUX_PD21A_EIC_EXTINT11 ((PIN_PD21A_EIC_EXTINT11 << 16) | MUX_PD21A_EIC_EXTINT11) -#define PORT_PD21A_EIC_EXTINT11 (_UL_(1) << 21) -#define PIN_PD21A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PD21 External Interrupt Line */ -#define PIN_PA12A_EIC_EXTINT12 _L_(12) /**< \brief EIC signal: EXTINT12 on PA12 mux A */ -#define MUX_PA12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PA12A_EIC_EXTINT12 ((PIN_PA12A_EIC_EXTINT12 << 16) | MUX_PA12A_EIC_EXTINT12) -#define PORT_PA12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PA12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PA12 External Interrupt Line */ -#define PIN_PB12A_EIC_EXTINT12 _L_(44) /**< \brief EIC signal: EXTINT12 on PB12 mux A */ -#define MUX_PB12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PB12A_EIC_EXTINT12 ((PIN_PB12A_EIC_EXTINT12 << 16) | MUX_PB12A_EIC_EXTINT12) -#define PORT_PB12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PB12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB12 External Interrupt Line */ -#define PIN_PB26A_EIC_EXTINT12 _L_(58) /**< \brief EIC signal: EXTINT12 on PB26 mux A */ -#define MUX_PB26A_EIC_EXTINT12 _L_(0) -#define PINMUX_PB26A_EIC_EXTINT12 ((PIN_PB26A_EIC_EXTINT12 << 16) | MUX_PB26A_EIC_EXTINT12) -#define PORT_PB26A_EIC_EXTINT12 (_UL_(1) << 26) -#define PIN_PB26A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB26 External Interrupt Line */ -#define PIN_PC12A_EIC_EXTINT12 _L_(76) /**< \brief EIC signal: EXTINT12 on PC12 mux A */ -#define MUX_PC12A_EIC_EXTINT12 _L_(0) -#define PINMUX_PC12A_EIC_EXTINT12 ((PIN_PC12A_EIC_EXTINT12 << 16) | MUX_PC12A_EIC_EXTINT12) -#define PORT_PC12A_EIC_EXTINT12 (_UL_(1) << 12) -#define PIN_PC12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC12 External Interrupt Line */ -#define PIN_PC28A_EIC_EXTINT12 _L_(92) /**< \brief EIC signal: EXTINT12 on PC28 mux A */ -#define MUX_PC28A_EIC_EXTINT12 _L_(0) -#define PINMUX_PC28A_EIC_EXTINT12 ((PIN_PC28A_EIC_EXTINT12 << 16) | MUX_PC28A_EIC_EXTINT12) -#define PORT_PC28A_EIC_EXTINT12 (_UL_(1) << 28) -#define PIN_PC28A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC28 External Interrupt Line */ -#define PIN_PA13A_EIC_EXTINT13 _L_(13) /**< \brief EIC signal: EXTINT13 on PA13 mux A */ -#define MUX_PA13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PA13A_EIC_EXTINT13 ((PIN_PA13A_EIC_EXTINT13 << 16) | MUX_PA13A_EIC_EXTINT13) -#define PORT_PA13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PA13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PA13 External Interrupt Line */ -#define PIN_PB13A_EIC_EXTINT13 _L_(45) /**< \brief EIC signal: EXTINT13 on PB13 mux A */ -#define MUX_PB13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PB13A_EIC_EXTINT13 ((PIN_PB13A_EIC_EXTINT13 << 16) | MUX_PB13A_EIC_EXTINT13) -#define PORT_PB13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PB13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB13 External Interrupt Line */ -#define PIN_PB27A_EIC_EXTINT13 _L_(59) /**< \brief EIC signal: EXTINT13 on PB27 mux A */ -#define MUX_PB27A_EIC_EXTINT13 _L_(0) -#define PINMUX_PB27A_EIC_EXTINT13 ((PIN_PB27A_EIC_EXTINT13 << 16) | MUX_PB27A_EIC_EXTINT13) -#define PORT_PB27A_EIC_EXTINT13 (_UL_(1) << 27) -#define PIN_PB27A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB27 External Interrupt Line */ -#define PIN_PC13A_EIC_EXTINT13 _L_(77) /**< \brief EIC signal: EXTINT13 on PC13 mux A */ -#define MUX_PC13A_EIC_EXTINT13 _L_(0) -#define PINMUX_PC13A_EIC_EXTINT13 ((PIN_PC13A_EIC_EXTINT13 << 16) | MUX_PC13A_EIC_EXTINT13) -#define PORT_PC13A_EIC_EXTINT13 (_UL_(1) << 13) -#define PIN_PC13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PC13 External Interrupt Line */ -#define PIN_PA30A_EIC_EXTINT14 _L_(30) /**< \brief EIC signal: EXTINT14 on PA30 mux A */ -#define MUX_PA30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PA30A_EIC_EXTINT14 ((PIN_PA30A_EIC_EXTINT14 << 16) | MUX_PA30A_EIC_EXTINT14) -#define PORT_PA30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PA30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA30 External Interrupt Line */ -#define PIN_PB14A_EIC_EXTINT14 _L_(46) /**< \brief EIC signal: EXTINT14 on PB14 mux A */ -#define MUX_PB14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB14A_EIC_EXTINT14 ((PIN_PB14A_EIC_EXTINT14 << 16) | MUX_PB14A_EIC_EXTINT14) -#define PORT_PB14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PB14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB14 External Interrupt Line */ -#define PIN_PB28A_EIC_EXTINT14 _L_(60) /**< \brief EIC signal: EXTINT14 on PB28 mux A */ -#define MUX_PB28A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB28A_EIC_EXTINT14 ((PIN_PB28A_EIC_EXTINT14 << 16) | MUX_PB28A_EIC_EXTINT14) -#define PORT_PB28A_EIC_EXTINT14 (_UL_(1) << 28) -#define PIN_PB28A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB28 External Interrupt Line */ -#define PIN_PB30A_EIC_EXTINT14 _L_(62) /**< \brief EIC signal: EXTINT14 on PB30 mux A */ -#define MUX_PB30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PB30A_EIC_EXTINT14 ((PIN_PB30A_EIC_EXTINT14 << 16) | MUX_PB30A_EIC_EXTINT14) -#define PORT_PB30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PB30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB30 External Interrupt Line */ -#define PIN_PC14A_EIC_EXTINT14 _L_(78) /**< \brief EIC signal: EXTINT14 on PC14 mux A */ -#define MUX_PC14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PC14A_EIC_EXTINT14 ((PIN_PC14A_EIC_EXTINT14 << 16) | MUX_PC14A_EIC_EXTINT14) -#define PORT_PC14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PC14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC14 External Interrupt Line */ -#define PIN_PC30A_EIC_EXTINT14 _L_(94) /**< \brief EIC signal: EXTINT14 on PC30 mux A */ -#define MUX_PC30A_EIC_EXTINT14 _L_(0) -#define PINMUX_PC30A_EIC_EXTINT14 ((PIN_PC30A_EIC_EXTINT14 << 16) | MUX_PC30A_EIC_EXTINT14) -#define PORT_PC30A_EIC_EXTINT14 (_UL_(1) << 30) -#define PIN_PC30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC30 External Interrupt Line */ -#define PIN_PA14A_EIC_EXTINT14 _L_(14) /**< \brief EIC signal: EXTINT14 on PA14 mux A */ -#define MUX_PA14A_EIC_EXTINT14 _L_(0) -#define PINMUX_PA14A_EIC_EXTINT14 ((PIN_PA14A_EIC_EXTINT14 << 16) | MUX_PA14A_EIC_EXTINT14) -#define PORT_PA14A_EIC_EXTINT14 (_UL_(1) << 14) -#define PIN_PA14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA14 External Interrupt Line */ -#define PIN_PA15A_EIC_EXTINT15 _L_(15) /**< \brief EIC signal: EXTINT15 on PA15 mux A */ -#define MUX_PA15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PA15A_EIC_EXTINT15 ((PIN_PA15A_EIC_EXTINT15 << 16) | MUX_PA15A_EIC_EXTINT15) -#define PORT_PA15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PA15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA15 External Interrupt Line */ -#define PIN_PA31A_EIC_EXTINT15 _L_(31) /**< \brief EIC signal: EXTINT15 on PA31 mux A */ -#define MUX_PA31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PA31A_EIC_EXTINT15 ((PIN_PA31A_EIC_EXTINT15 << 16) | MUX_PA31A_EIC_EXTINT15) -#define PORT_PA31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PA31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA31 External Interrupt Line */ -#define PIN_PB15A_EIC_EXTINT15 _L_(47) /**< \brief EIC signal: EXTINT15 on PB15 mux A */ -#define MUX_PB15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB15A_EIC_EXTINT15 ((PIN_PB15A_EIC_EXTINT15 << 16) | MUX_PB15A_EIC_EXTINT15) -#define PORT_PB15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PB15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB15 External Interrupt Line */ -#define PIN_PB29A_EIC_EXTINT15 _L_(61) /**< \brief EIC signal: EXTINT15 on PB29 mux A */ -#define MUX_PB29A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB29A_EIC_EXTINT15 ((PIN_PB29A_EIC_EXTINT15 << 16) | MUX_PB29A_EIC_EXTINT15) -#define PORT_PB29A_EIC_EXTINT15 (_UL_(1) << 29) -#define PIN_PB29A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB29 External Interrupt Line */ -#define PIN_PB31A_EIC_EXTINT15 _L_(63) /**< \brief EIC signal: EXTINT15 on PB31 mux A */ -#define MUX_PB31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PB31A_EIC_EXTINT15 ((PIN_PB31A_EIC_EXTINT15 << 16) | MUX_PB31A_EIC_EXTINT15) -#define PORT_PB31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PB31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB31 External Interrupt Line */ -#define PIN_PC15A_EIC_EXTINT15 _L_(79) /**< \brief EIC signal: EXTINT15 on PC15 mux A */ -#define MUX_PC15A_EIC_EXTINT15 _L_(0) -#define PINMUX_PC15A_EIC_EXTINT15 ((PIN_PC15A_EIC_EXTINT15 << 16) | MUX_PC15A_EIC_EXTINT15) -#define PORT_PC15A_EIC_EXTINT15 (_UL_(1) << 15) -#define PIN_PC15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC15 External Interrupt Line */ -#define PIN_PC31A_EIC_EXTINT15 _L_(95) /**< \brief EIC signal: EXTINT15 on PC31 mux A */ -#define MUX_PC31A_EIC_EXTINT15 _L_(0) -#define PINMUX_PC31A_EIC_EXTINT15 ((PIN_PC31A_EIC_EXTINT15 << 16) | MUX_PC31A_EIC_EXTINT15) -#define PORT_PC31A_EIC_EXTINT15 (_UL_(1) << 31) -#define PIN_PC31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC31 External Interrupt Line */ -#define PIN_PA08A_EIC_NMI _L_(8) /**< \brief EIC signal: NMI on PA08 mux A */ -#define MUX_PA08A_EIC_NMI _L_(0) -#define PINMUX_PA08A_EIC_NMI ((PIN_PA08A_EIC_NMI << 16) | MUX_PA08A_EIC_NMI) -#define PORT_PA08A_EIC_NMI (_UL_(1) << 8) -/* ========== PORT definition for SERCOM0 peripheral ========== */ -#define PIN_PA04D_SERCOM0_PAD0 _L_(4) /**< \brief SERCOM0 signal: PAD0 on PA04 mux D */ -#define MUX_PA04D_SERCOM0_PAD0 _L_(3) -#define PINMUX_PA04D_SERCOM0_PAD0 ((PIN_PA04D_SERCOM0_PAD0 << 16) | MUX_PA04D_SERCOM0_PAD0) -#define PORT_PA04D_SERCOM0_PAD0 (_UL_(1) << 4) -#define PIN_PC17D_SERCOM0_PAD0 _L_(81) /**< \brief SERCOM0 signal: PAD0 on PC17 mux D */ -#define MUX_PC17D_SERCOM0_PAD0 _L_(3) -#define PINMUX_PC17D_SERCOM0_PAD0 ((PIN_PC17D_SERCOM0_PAD0 << 16) | MUX_PC17D_SERCOM0_PAD0) -#define PORT_PC17D_SERCOM0_PAD0 (_UL_(1) << 17) -#define PIN_PA08C_SERCOM0_PAD0 _L_(8) /**< \brief SERCOM0 signal: PAD0 on PA08 mux C */ -#define MUX_PA08C_SERCOM0_PAD0 _L_(2) -#define PINMUX_PA08C_SERCOM0_PAD0 ((PIN_PA08C_SERCOM0_PAD0 << 16) | MUX_PA08C_SERCOM0_PAD0) -#define PORT_PA08C_SERCOM0_PAD0 (_UL_(1) << 8) -#define PIN_PB24C_SERCOM0_PAD0 _L_(56) /**< \brief SERCOM0 signal: PAD0 on PB24 mux C */ -#define MUX_PB24C_SERCOM0_PAD0 _L_(2) -#define PINMUX_PB24C_SERCOM0_PAD0 ((PIN_PB24C_SERCOM0_PAD0 << 16) | MUX_PB24C_SERCOM0_PAD0) -#define PORT_PB24C_SERCOM0_PAD0 (_UL_(1) << 24) -#define PIN_PA05D_SERCOM0_PAD1 _L_(5) /**< \brief SERCOM0 signal: PAD1 on PA05 mux D */ -#define MUX_PA05D_SERCOM0_PAD1 _L_(3) -#define PINMUX_PA05D_SERCOM0_PAD1 ((PIN_PA05D_SERCOM0_PAD1 << 16) | MUX_PA05D_SERCOM0_PAD1) -#define PORT_PA05D_SERCOM0_PAD1 (_UL_(1) << 5) -#define PIN_PC16D_SERCOM0_PAD1 _L_(80) /**< \brief SERCOM0 signal: PAD1 on PC16 mux D */ -#define MUX_PC16D_SERCOM0_PAD1 _L_(3) -#define PINMUX_PC16D_SERCOM0_PAD1 ((PIN_PC16D_SERCOM0_PAD1 << 16) | MUX_PC16D_SERCOM0_PAD1) -#define PORT_PC16D_SERCOM0_PAD1 (_UL_(1) << 16) -#define PIN_PA09C_SERCOM0_PAD1 _L_(9) /**< \brief SERCOM0 signal: PAD1 on PA09 mux C */ -#define MUX_PA09C_SERCOM0_PAD1 _L_(2) -#define PINMUX_PA09C_SERCOM0_PAD1 ((PIN_PA09C_SERCOM0_PAD1 << 16) | MUX_PA09C_SERCOM0_PAD1) -#define PORT_PA09C_SERCOM0_PAD1 (_UL_(1) << 9) -#define PIN_PB25C_SERCOM0_PAD1 _L_(57) /**< \brief SERCOM0 signal: PAD1 on PB25 mux C */ -#define MUX_PB25C_SERCOM0_PAD1 _L_(2) -#define PINMUX_PB25C_SERCOM0_PAD1 ((PIN_PB25C_SERCOM0_PAD1 << 16) | MUX_PB25C_SERCOM0_PAD1) -#define PORT_PB25C_SERCOM0_PAD1 (_UL_(1) << 25) -#define PIN_PA06D_SERCOM0_PAD2 _L_(6) /**< \brief SERCOM0 signal: PAD2 on PA06 mux D */ -#define MUX_PA06D_SERCOM0_PAD2 _L_(3) -#define PINMUX_PA06D_SERCOM0_PAD2 ((PIN_PA06D_SERCOM0_PAD2 << 16) | MUX_PA06D_SERCOM0_PAD2) -#define PORT_PA06D_SERCOM0_PAD2 (_UL_(1) << 6) -#define PIN_PC18D_SERCOM0_PAD2 _L_(82) /**< \brief SERCOM0 signal: PAD2 on PC18 mux D */ -#define MUX_PC18D_SERCOM0_PAD2 _L_(3) -#define PINMUX_PC18D_SERCOM0_PAD2 ((PIN_PC18D_SERCOM0_PAD2 << 16) | MUX_PC18D_SERCOM0_PAD2) -#define PORT_PC18D_SERCOM0_PAD2 (_UL_(1) << 18) -#define PIN_PA10C_SERCOM0_PAD2 _L_(10) /**< \brief SERCOM0 signal: PAD2 on PA10 mux C */ -#define MUX_PA10C_SERCOM0_PAD2 _L_(2) -#define PINMUX_PA10C_SERCOM0_PAD2 ((PIN_PA10C_SERCOM0_PAD2 << 16) | MUX_PA10C_SERCOM0_PAD2) -#define PORT_PA10C_SERCOM0_PAD2 (_UL_(1) << 10) -#define PIN_PC24C_SERCOM0_PAD2 _L_(88) /**< \brief SERCOM0 signal: PAD2 on PC24 mux C */ -#define MUX_PC24C_SERCOM0_PAD2 _L_(2) -#define PINMUX_PC24C_SERCOM0_PAD2 ((PIN_PC24C_SERCOM0_PAD2 << 16) | MUX_PC24C_SERCOM0_PAD2) -#define PORT_PC24C_SERCOM0_PAD2 (_UL_(1) << 24) -#define PIN_PA07D_SERCOM0_PAD3 _L_(7) /**< \brief SERCOM0 signal: PAD3 on PA07 mux D */ -#define MUX_PA07D_SERCOM0_PAD3 _L_(3) -#define PINMUX_PA07D_SERCOM0_PAD3 ((PIN_PA07D_SERCOM0_PAD3 << 16) | MUX_PA07D_SERCOM0_PAD3) -#define PORT_PA07D_SERCOM0_PAD3 (_UL_(1) << 7) -#define PIN_PC19D_SERCOM0_PAD3 _L_(83) /**< \brief SERCOM0 signal: PAD3 on PC19 mux D */ -#define MUX_PC19D_SERCOM0_PAD3 _L_(3) -#define PINMUX_PC19D_SERCOM0_PAD3 ((PIN_PC19D_SERCOM0_PAD3 << 16) | MUX_PC19D_SERCOM0_PAD3) -#define PORT_PC19D_SERCOM0_PAD3 (_UL_(1) << 19) -#define PIN_PA11C_SERCOM0_PAD3 _L_(11) /**< \brief SERCOM0 signal: PAD3 on PA11 mux C */ -#define MUX_PA11C_SERCOM0_PAD3 _L_(2) -#define PINMUX_PA11C_SERCOM0_PAD3 ((PIN_PA11C_SERCOM0_PAD3 << 16) | MUX_PA11C_SERCOM0_PAD3) -#define PORT_PA11C_SERCOM0_PAD3 (_UL_(1) << 11) -#define PIN_PC25C_SERCOM0_PAD3 _L_(89) /**< \brief SERCOM0 signal: PAD3 on PC25 mux C */ -#define MUX_PC25C_SERCOM0_PAD3 _L_(2) -#define PINMUX_PC25C_SERCOM0_PAD3 ((PIN_PC25C_SERCOM0_PAD3 << 16) | MUX_PC25C_SERCOM0_PAD3) -#define PORT_PC25C_SERCOM0_PAD3 (_UL_(1) << 25) -/* ========== PORT definition for SERCOM1 peripheral ========== */ -#define PIN_PA00D_SERCOM1_PAD0 _L_(0) /**< \brief SERCOM1 signal: PAD0 on PA00 mux D */ -#define MUX_PA00D_SERCOM1_PAD0 _L_(3) -#define PINMUX_PA00D_SERCOM1_PAD0 ((PIN_PA00D_SERCOM1_PAD0 << 16) | MUX_PA00D_SERCOM1_PAD0) -#define PORT_PA00D_SERCOM1_PAD0 (_UL_(1) << 0) -#define PIN_PA16C_SERCOM1_PAD0 _L_(16) /**< \brief SERCOM1 signal: PAD0 on PA16 mux C */ -#define MUX_PA16C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PA16C_SERCOM1_PAD0 ((PIN_PA16C_SERCOM1_PAD0 << 16) | MUX_PA16C_SERCOM1_PAD0) -#define PORT_PA16C_SERCOM1_PAD0 (_UL_(1) << 16) -#define PIN_PC22C_SERCOM1_PAD0 _L_(86) /**< \brief SERCOM1 signal: PAD0 on PC22 mux C */ -#define MUX_PC22C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PC22C_SERCOM1_PAD0 ((PIN_PC22C_SERCOM1_PAD0 << 16) | MUX_PC22C_SERCOM1_PAD0) -#define PORT_PC22C_SERCOM1_PAD0 (_UL_(1) << 22) -#define PIN_PC27C_SERCOM1_PAD0 _L_(91) /**< \brief SERCOM1 signal: PAD0 on PC27 mux C */ -#define MUX_PC27C_SERCOM1_PAD0 _L_(2) -#define PINMUX_PC27C_SERCOM1_PAD0 ((PIN_PC27C_SERCOM1_PAD0 << 16) | MUX_PC27C_SERCOM1_PAD0) -#define PORT_PC27C_SERCOM1_PAD0 (_UL_(1) << 27) -#define PIN_PA01D_SERCOM1_PAD1 _L_(1) /**< \brief SERCOM1 signal: PAD1 on PA01 mux D */ -#define MUX_PA01D_SERCOM1_PAD1 _L_(3) -#define PINMUX_PA01D_SERCOM1_PAD1 ((PIN_PA01D_SERCOM1_PAD1 << 16) | MUX_PA01D_SERCOM1_PAD1) -#define PORT_PA01D_SERCOM1_PAD1 (_UL_(1) << 1) -#define PIN_PA17C_SERCOM1_PAD1 _L_(17) /**< \brief SERCOM1 signal: PAD1 on PA17 mux C */ -#define MUX_PA17C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PA17C_SERCOM1_PAD1 ((PIN_PA17C_SERCOM1_PAD1 << 16) | MUX_PA17C_SERCOM1_PAD1) -#define PORT_PA17C_SERCOM1_PAD1 (_UL_(1) << 17) -#define PIN_PC23C_SERCOM1_PAD1 _L_(87) /**< \brief SERCOM1 signal: PAD1 on PC23 mux C */ -#define MUX_PC23C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PC23C_SERCOM1_PAD1 ((PIN_PC23C_SERCOM1_PAD1 << 16) | MUX_PC23C_SERCOM1_PAD1) -#define PORT_PC23C_SERCOM1_PAD1 (_UL_(1) << 23) -#define PIN_PC28C_SERCOM1_PAD1 _L_(92) /**< \brief SERCOM1 signal: PAD1 on PC28 mux C */ -#define MUX_PC28C_SERCOM1_PAD1 _L_(2) -#define PINMUX_PC28C_SERCOM1_PAD1 ((PIN_PC28C_SERCOM1_PAD1 << 16) | MUX_PC28C_SERCOM1_PAD1) -#define PORT_PC28C_SERCOM1_PAD1 (_UL_(1) << 28) -#define PIN_PA30D_SERCOM1_PAD2 _L_(30) /**< \brief SERCOM1 signal: PAD2 on PA30 mux D */ -#define MUX_PA30D_SERCOM1_PAD2 _L_(3) -#define PINMUX_PA30D_SERCOM1_PAD2 ((PIN_PA30D_SERCOM1_PAD2 << 16) | MUX_PA30D_SERCOM1_PAD2) -#define PORT_PA30D_SERCOM1_PAD2 (_UL_(1) << 30) -#define PIN_PA18C_SERCOM1_PAD2 _L_(18) /**< \brief SERCOM1 signal: PAD2 on PA18 mux C */ -#define MUX_PA18C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PA18C_SERCOM1_PAD2 ((PIN_PA18C_SERCOM1_PAD2 << 16) | MUX_PA18C_SERCOM1_PAD2) -#define PORT_PA18C_SERCOM1_PAD2 (_UL_(1) << 18) -#define PIN_PB22C_SERCOM1_PAD2 _L_(54) /**< \brief SERCOM1 signal: PAD2 on PB22 mux C */ -#define MUX_PB22C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PB22C_SERCOM1_PAD2 ((PIN_PB22C_SERCOM1_PAD2 << 16) | MUX_PB22C_SERCOM1_PAD2) -#define PORT_PB22C_SERCOM1_PAD2 (_UL_(1) << 22) -#define PIN_PD20C_SERCOM1_PAD2 _L_(116) /**< \brief SERCOM1 signal: PAD2 on PD20 mux C */ -#define MUX_PD20C_SERCOM1_PAD2 _L_(2) -#define PINMUX_PD20C_SERCOM1_PAD2 ((PIN_PD20C_SERCOM1_PAD2 << 16) | MUX_PD20C_SERCOM1_PAD2) -#define PORT_PD20C_SERCOM1_PAD2 (_UL_(1) << 20) -#define PIN_PA31D_SERCOM1_PAD3 _L_(31) /**< \brief SERCOM1 signal: PAD3 on PA31 mux D */ -#define MUX_PA31D_SERCOM1_PAD3 _L_(3) -#define PINMUX_PA31D_SERCOM1_PAD3 ((PIN_PA31D_SERCOM1_PAD3 << 16) | MUX_PA31D_SERCOM1_PAD3) -#define PORT_PA31D_SERCOM1_PAD3 (_UL_(1) << 31) -#define PIN_PA19C_SERCOM1_PAD3 _L_(19) /**< \brief SERCOM1 signal: PAD3 on PA19 mux C */ -#define MUX_PA19C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PA19C_SERCOM1_PAD3 ((PIN_PA19C_SERCOM1_PAD3 << 16) | MUX_PA19C_SERCOM1_PAD3) -#define PORT_PA19C_SERCOM1_PAD3 (_UL_(1) << 19) -#define PIN_PB23C_SERCOM1_PAD3 _L_(55) /**< \brief SERCOM1 signal: PAD3 on PB23 mux C */ -#define MUX_PB23C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PB23C_SERCOM1_PAD3 ((PIN_PB23C_SERCOM1_PAD3 << 16) | MUX_PB23C_SERCOM1_PAD3) -#define PORT_PB23C_SERCOM1_PAD3 (_UL_(1) << 23) -#define PIN_PD21C_SERCOM1_PAD3 _L_(117) /**< \brief SERCOM1 signal: PAD3 on PD21 mux C */ -#define MUX_PD21C_SERCOM1_PAD3 _L_(2) -#define PINMUX_PD21C_SERCOM1_PAD3 ((PIN_PD21C_SERCOM1_PAD3 << 16) | MUX_PD21C_SERCOM1_PAD3) -#define PORT_PD21C_SERCOM1_PAD3 (_UL_(1) << 21) -/* ========== PORT definition for TC0 peripheral ========== */ -#define PIN_PA04E_TC0_WO0 _L_(4) /**< \brief TC0 signal: WO0 on PA04 mux E */ -#define MUX_PA04E_TC0_WO0 _L_(4) -#define PINMUX_PA04E_TC0_WO0 ((PIN_PA04E_TC0_WO0 << 16) | MUX_PA04E_TC0_WO0) -#define PORT_PA04E_TC0_WO0 (_UL_(1) << 4) -#define PIN_PA08E_TC0_WO0 _L_(8) /**< \brief TC0 signal: WO0 on PA08 mux E */ -#define MUX_PA08E_TC0_WO0 _L_(4) -#define PINMUX_PA08E_TC0_WO0 ((PIN_PA08E_TC0_WO0 << 16) | MUX_PA08E_TC0_WO0) -#define PORT_PA08E_TC0_WO0 (_UL_(1) << 8) -#define PIN_PB30E_TC0_WO0 _L_(62) /**< \brief TC0 signal: WO0 on PB30 mux E */ -#define MUX_PB30E_TC0_WO0 _L_(4) -#define PINMUX_PB30E_TC0_WO0 ((PIN_PB30E_TC0_WO0 << 16) | MUX_PB30E_TC0_WO0) -#define PORT_PB30E_TC0_WO0 (_UL_(1) << 30) -#define PIN_PA05E_TC0_WO1 _L_(5) /**< \brief TC0 signal: WO1 on PA05 mux E */ -#define MUX_PA05E_TC0_WO1 _L_(4) -#define PINMUX_PA05E_TC0_WO1 ((PIN_PA05E_TC0_WO1 << 16) | MUX_PA05E_TC0_WO1) -#define PORT_PA05E_TC0_WO1 (_UL_(1) << 5) -#define PIN_PA09E_TC0_WO1 _L_(9) /**< \brief TC0 signal: WO1 on PA09 mux E */ -#define MUX_PA09E_TC0_WO1 _L_(4) -#define PINMUX_PA09E_TC0_WO1 ((PIN_PA09E_TC0_WO1 << 16) | MUX_PA09E_TC0_WO1) -#define PORT_PA09E_TC0_WO1 (_UL_(1) << 9) -#define PIN_PB31E_TC0_WO1 _L_(63) /**< \brief TC0 signal: WO1 on PB31 mux E */ -#define MUX_PB31E_TC0_WO1 _L_(4) -#define PINMUX_PB31E_TC0_WO1 ((PIN_PB31E_TC0_WO1 << 16) | MUX_PB31E_TC0_WO1) -#define PORT_PB31E_TC0_WO1 (_UL_(1) << 31) -/* ========== PORT definition for TC1 peripheral ========== */ -#define PIN_PA06E_TC1_WO0 _L_(6) /**< \brief TC1 signal: WO0 on PA06 mux E */ -#define MUX_PA06E_TC1_WO0 _L_(4) -#define PINMUX_PA06E_TC1_WO0 ((PIN_PA06E_TC1_WO0 << 16) | MUX_PA06E_TC1_WO0) -#define PORT_PA06E_TC1_WO0 (_UL_(1) << 6) -#define PIN_PA10E_TC1_WO0 _L_(10) /**< \brief TC1 signal: WO0 on PA10 mux E */ -#define MUX_PA10E_TC1_WO0 _L_(4) -#define PINMUX_PA10E_TC1_WO0 ((PIN_PA10E_TC1_WO0 << 16) | MUX_PA10E_TC1_WO0) -#define PORT_PA10E_TC1_WO0 (_UL_(1) << 10) -#define PIN_PA07E_TC1_WO1 _L_(7) /**< \brief TC1 signal: WO1 on PA07 mux E */ -#define MUX_PA07E_TC1_WO1 _L_(4) -#define PINMUX_PA07E_TC1_WO1 ((PIN_PA07E_TC1_WO1 << 16) | MUX_PA07E_TC1_WO1) -#define PORT_PA07E_TC1_WO1 (_UL_(1) << 7) -#define PIN_PA11E_TC1_WO1 _L_(11) /**< \brief TC1 signal: WO1 on PA11 mux E */ -#define MUX_PA11E_TC1_WO1 _L_(4) -#define PINMUX_PA11E_TC1_WO1 ((PIN_PA11E_TC1_WO1 << 16) | MUX_PA11E_TC1_WO1) -#define PORT_PA11E_TC1_WO1 (_UL_(1) << 11) -/* ========== PORT definition for USB peripheral ========== */ -#define PIN_PA24H_USB_DM _L_(24) /**< \brief USB signal: DM on PA24 mux H */ -#define MUX_PA24H_USB_DM _L_(7) -#define PINMUX_PA24H_USB_DM ((PIN_PA24H_USB_DM << 16) | MUX_PA24H_USB_DM) -#define PORT_PA24H_USB_DM (_UL_(1) << 24) -#define PIN_PA25H_USB_DP _L_(25) /**< \brief USB signal: DP on PA25 mux H */ -#define MUX_PA25H_USB_DP _L_(7) -#define PINMUX_PA25H_USB_DP ((PIN_PA25H_USB_DP << 16) | MUX_PA25H_USB_DP) -#define PORT_PA25H_USB_DP (_UL_(1) << 25) -#define PIN_PA23H_USB_SOF_1KHZ _L_(23) /**< \brief USB signal: SOF_1KHZ on PA23 mux H */ -#define MUX_PA23H_USB_SOF_1KHZ _L_(7) -#define PINMUX_PA23H_USB_SOF_1KHZ ((PIN_PA23H_USB_SOF_1KHZ << 16) | MUX_PA23H_USB_SOF_1KHZ) -#define PORT_PA23H_USB_SOF_1KHZ (_UL_(1) << 23) -#define PIN_PB22H_USB_SOF_1KHZ _L_(54) /**< \brief USB signal: SOF_1KHZ on PB22 mux H */ -#define MUX_PB22H_USB_SOF_1KHZ _L_(7) -#define PINMUX_PB22H_USB_SOF_1KHZ ((PIN_PB22H_USB_SOF_1KHZ << 16) | MUX_PB22H_USB_SOF_1KHZ) -#define PORT_PB22H_USB_SOF_1KHZ (_UL_(1) << 22) -/* ========== PORT definition for SERCOM2 peripheral ========== */ -#define PIN_PA09D_SERCOM2_PAD0 _L_(9) /**< \brief SERCOM2 signal: PAD0 on PA09 mux D */ -#define MUX_PA09D_SERCOM2_PAD0 _L_(3) -#define PINMUX_PA09D_SERCOM2_PAD0 ((PIN_PA09D_SERCOM2_PAD0 << 16) | MUX_PA09D_SERCOM2_PAD0) -#define PORT_PA09D_SERCOM2_PAD0 (_UL_(1) << 9) -#define PIN_PB25D_SERCOM2_PAD0 _L_(57) /**< \brief SERCOM2 signal: PAD0 on PB25 mux D */ -#define MUX_PB25D_SERCOM2_PAD0 _L_(3) -#define PINMUX_PB25D_SERCOM2_PAD0 ((PIN_PB25D_SERCOM2_PAD0 << 16) | MUX_PB25D_SERCOM2_PAD0) -#define PORT_PB25D_SERCOM2_PAD0 (_UL_(1) << 25) -#define PIN_PA12C_SERCOM2_PAD0 _L_(12) /**< \brief SERCOM2 signal: PAD0 on PA12 mux C */ -#define MUX_PA12C_SERCOM2_PAD0 _L_(2) -#define PINMUX_PA12C_SERCOM2_PAD0 ((PIN_PA12C_SERCOM2_PAD0 << 16) | MUX_PA12C_SERCOM2_PAD0) -#define PORT_PA12C_SERCOM2_PAD0 (_UL_(1) << 12) -#define PIN_PB26C_SERCOM2_PAD0 _L_(58) /**< \brief SERCOM2 signal: PAD0 on PB26 mux C */ -#define MUX_PB26C_SERCOM2_PAD0 _L_(2) -#define PINMUX_PB26C_SERCOM2_PAD0 ((PIN_PB26C_SERCOM2_PAD0 << 16) | MUX_PB26C_SERCOM2_PAD0) -#define PORT_PB26C_SERCOM2_PAD0 (_UL_(1) << 26) -#define PIN_PA08D_SERCOM2_PAD1 _L_(8) /**< \brief SERCOM2 signal: PAD1 on PA08 mux D */ -#define MUX_PA08D_SERCOM2_PAD1 _L_(3) -#define PINMUX_PA08D_SERCOM2_PAD1 ((PIN_PA08D_SERCOM2_PAD1 << 16) | MUX_PA08D_SERCOM2_PAD1) -#define PORT_PA08D_SERCOM2_PAD1 (_UL_(1) << 8) -#define PIN_PB24D_SERCOM2_PAD1 _L_(56) /**< \brief SERCOM2 signal: PAD1 on PB24 mux D */ -#define MUX_PB24D_SERCOM2_PAD1 _L_(3) -#define PINMUX_PB24D_SERCOM2_PAD1 ((PIN_PB24D_SERCOM2_PAD1 << 16) | MUX_PB24D_SERCOM2_PAD1) -#define PORT_PB24D_SERCOM2_PAD1 (_UL_(1) << 24) -#define PIN_PA13C_SERCOM2_PAD1 _L_(13) /**< \brief SERCOM2 signal: PAD1 on PA13 mux C */ -#define MUX_PA13C_SERCOM2_PAD1 _L_(2) -#define PINMUX_PA13C_SERCOM2_PAD1 ((PIN_PA13C_SERCOM2_PAD1 << 16) | MUX_PA13C_SERCOM2_PAD1) -#define PORT_PA13C_SERCOM2_PAD1 (_UL_(1) << 13) -#define PIN_PB27C_SERCOM2_PAD1 _L_(59) /**< \brief SERCOM2 signal: PAD1 on PB27 mux C */ -#define MUX_PB27C_SERCOM2_PAD1 _L_(2) -#define PINMUX_PB27C_SERCOM2_PAD1 ((PIN_PB27C_SERCOM2_PAD1 << 16) | MUX_PB27C_SERCOM2_PAD1) -#define PORT_PB27C_SERCOM2_PAD1 (_UL_(1) << 27) -#define PIN_PA10D_SERCOM2_PAD2 _L_(10) /**< \brief SERCOM2 signal: PAD2 on PA10 mux D */ -#define MUX_PA10D_SERCOM2_PAD2 _L_(3) -#define PINMUX_PA10D_SERCOM2_PAD2 ((PIN_PA10D_SERCOM2_PAD2 << 16) | MUX_PA10D_SERCOM2_PAD2) -#define PORT_PA10D_SERCOM2_PAD2 (_UL_(1) << 10) -#define PIN_PC24D_SERCOM2_PAD2 _L_(88) /**< \brief SERCOM2 signal: PAD2 on PC24 mux D */ -#define MUX_PC24D_SERCOM2_PAD2 _L_(3) -#define PINMUX_PC24D_SERCOM2_PAD2 ((PIN_PC24D_SERCOM2_PAD2 << 16) | MUX_PC24D_SERCOM2_PAD2) -#define PORT_PC24D_SERCOM2_PAD2 (_UL_(1) << 24) -#define PIN_PB28C_SERCOM2_PAD2 _L_(60) /**< \brief SERCOM2 signal: PAD2 on PB28 mux C */ -#define MUX_PB28C_SERCOM2_PAD2 _L_(2) -#define PINMUX_PB28C_SERCOM2_PAD2 ((PIN_PB28C_SERCOM2_PAD2 << 16) | MUX_PB28C_SERCOM2_PAD2) -#define PORT_PB28C_SERCOM2_PAD2 (_UL_(1) << 28) -#define PIN_PA14C_SERCOM2_PAD2 _L_(14) /**< \brief SERCOM2 signal: PAD2 on PA14 mux C */ -#define MUX_PA14C_SERCOM2_PAD2 _L_(2) -#define PINMUX_PA14C_SERCOM2_PAD2 ((PIN_PA14C_SERCOM2_PAD2 << 16) | MUX_PA14C_SERCOM2_PAD2) -#define PORT_PA14C_SERCOM2_PAD2 (_UL_(1) << 14) -#define PIN_PA11D_SERCOM2_PAD3 _L_(11) /**< \brief SERCOM2 signal: PAD3 on PA11 mux D */ -#define MUX_PA11D_SERCOM2_PAD3 _L_(3) -#define PINMUX_PA11D_SERCOM2_PAD3 ((PIN_PA11D_SERCOM2_PAD3 << 16) | MUX_PA11D_SERCOM2_PAD3) -#define PORT_PA11D_SERCOM2_PAD3 (_UL_(1) << 11) -#define PIN_PC25D_SERCOM2_PAD3 _L_(89) /**< \brief SERCOM2 signal: PAD3 on PC25 mux D */ -#define MUX_PC25D_SERCOM2_PAD3 _L_(3) -#define PINMUX_PC25D_SERCOM2_PAD3 ((PIN_PC25D_SERCOM2_PAD3 << 16) | MUX_PC25D_SERCOM2_PAD3) -#define PORT_PC25D_SERCOM2_PAD3 (_UL_(1) << 25) -#define PIN_PB29C_SERCOM2_PAD3 _L_(61) /**< \brief SERCOM2 signal: PAD3 on PB29 mux C */ -#define MUX_PB29C_SERCOM2_PAD3 _L_(2) -#define PINMUX_PB29C_SERCOM2_PAD3 ((PIN_PB29C_SERCOM2_PAD3 << 16) | MUX_PB29C_SERCOM2_PAD3) -#define PORT_PB29C_SERCOM2_PAD3 (_UL_(1) << 29) -#define PIN_PA15C_SERCOM2_PAD3 _L_(15) /**< \brief SERCOM2 signal: PAD3 on PA15 mux C */ -#define MUX_PA15C_SERCOM2_PAD3 _L_(2) -#define PINMUX_PA15C_SERCOM2_PAD3 ((PIN_PA15C_SERCOM2_PAD3 << 16) | MUX_PA15C_SERCOM2_PAD3) -#define PORT_PA15C_SERCOM2_PAD3 (_UL_(1) << 15) -/* ========== PORT definition for SERCOM3 peripheral ========== */ -#define PIN_PA17D_SERCOM3_PAD0 _L_(17) /**< \brief SERCOM3 signal: PAD0 on PA17 mux D */ -#define MUX_PA17D_SERCOM3_PAD0 _L_(3) -#define PINMUX_PA17D_SERCOM3_PAD0 ((PIN_PA17D_SERCOM3_PAD0 << 16) | MUX_PA17D_SERCOM3_PAD0) -#define PORT_PA17D_SERCOM3_PAD0 (_UL_(1) << 17) -#define PIN_PC23D_SERCOM3_PAD0 _L_(87) /**< \brief SERCOM3 signal: PAD0 on PC23 mux D */ -#define MUX_PC23D_SERCOM3_PAD0 _L_(3) -#define PINMUX_PC23D_SERCOM3_PAD0 ((PIN_PC23D_SERCOM3_PAD0 << 16) | MUX_PC23D_SERCOM3_PAD0) -#define PORT_PC23D_SERCOM3_PAD0 (_UL_(1) << 23) -#define PIN_PA22C_SERCOM3_PAD0 _L_(22) /**< \brief SERCOM3 signal: PAD0 on PA22 mux C */ -#define MUX_PA22C_SERCOM3_PAD0 _L_(2) -#define PINMUX_PA22C_SERCOM3_PAD0 ((PIN_PA22C_SERCOM3_PAD0 << 16) | MUX_PA22C_SERCOM3_PAD0) -#define PORT_PA22C_SERCOM3_PAD0 (_UL_(1) << 22) -#define PIN_PB20C_SERCOM3_PAD0 _L_(52) /**< \brief SERCOM3 signal: PAD0 on PB20 mux C */ -#define MUX_PB20C_SERCOM3_PAD0 _L_(2) -#define PINMUX_PB20C_SERCOM3_PAD0 ((PIN_PB20C_SERCOM3_PAD0 << 16) | MUX_PB20C_SERCOM3_PAD0) -#define PORT_PB20C_SERCOM3_PAD0 (_UL_(1) << 20) -#define PIN_PA16D_SERCOM3_PAD1 _L_(16) /**< \brief SERCOM3 signal: PAD1 on PA16 mux D */ -#define MUX_PA16D_SERCOM3_PAD1 _L_(3) -#define PINMUX_PA16D_SERCOM3_PAD1 ((PIN_PA16D_SERCOM3_PAD1 << 16) | MUX_PA16D_SERCOM3_PAD1) -#define PORT_PA16D_SERCOM3_PAD1 (_UL_(1) << 16) -#define PIN_PC22D_SERCOM3_PAD1 _L_(86) /**< \brief SERCOM3 signal: PAD1 on PC22 mux D */ -#define MUX_PC22D_SERCOM3_PAD1 _L_(3) -#define PINMUX_PC22D_SERCOM3_PAD1 ((PIN_PC22D_SERCOM3_PAD1 << 16) | MUX_PC22D_SERCOM3_PAD1) -#define PORT_PC22D_SERCOM3_PAD1 (_UL_(1) << 22) -#define PIN_PA23C_SERCOM3_PAD1 _L_(23) /**< \brief SERCOM3 signal: PAD1 on PA23 mux C */ -#define MUX_PA23C_SERCOM3_PAD1 _L_(2) -#define PINMUX_PA23C_SERCOM3_PAD1 ((PIN_PA23C_SERCOM3_PAD1 << 16) | MUX_PA23C_SERCOM3_PAD1) -#define PORT_PA23C_SERCOM3_PAD1 (_UL_(1) << 23) -#define PIN_PB21C_SERCOM3_PAD1 _L_(53) /**< \brief SERCOM3 signal: PAD1 on PB21 mux C */ -#define MUX_PB21C_SERCOM3_PAD1 _L_(2) -#define PINMUX_PB21C_SERCOM3_PAD1 ((PIN_PB21C_SERCOM3_PAD1 << 16) | MUX_PB21C_SERCOM3_PAD1) -#define PORT_PB21C_SERCOM3_PAD1 (_UL_(1) << 21) -#define PIN_PA18D_SERCOM3_PAD2 _L_(18) /**< \brief SERCOM3 signal: PAD2 on PA18 mux D */ -#define MUX_PA18D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PA18D_SERCOM3_PAD2 ((PIN_PA18D_SERCOM3_PAD2 << 16) | MUX_PA18D_SERCOM3_PAD2) -#define PORT_PA18D_SERCOM3_PAD2 (_UL_(1) << 18) -#define PIN_PA20D_SERCOM3_PAD2 _L_(20) /**< \brief SERCOM3 signal: PAD2 on PA20 mux D */ -#define MUX_PA20D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PA20D_SERCOM3_PAD2 ((PIN_PA20D_SERCOM3_PAD2 << 16) | MUX_PA20D_SERCOM3_PAD2) -#define PORT_PA20D_SERCOM3_PAD2 (_UL_(1) << 20) -#define PIN_PD20D_SERCOM3_PAD2 _L_(116) /**< \brief SERCOM3 signal: PAD2 on PD20 mux D */ -#define MUX_PD20D_SERCOM3_PAD2 _L_(3) -#define PINMUX_PD20D_SERCOM3_PAD2 ((PIN_PD20D_SERCOM3_PAD2 << 16) | MUX_PD20D_SERCOM3_PAD2) -#define PORT_PD20D_SERCOM3_PAD2 (_UL_(1) << 20) -#define PIN_PA24C_SERCOM3_PAD2 _L_(24) /**< \brief SERCOM3 signal: PAD2 on PA24 mux C */ -#define MUX_PA24C_SERCOM3_PAD2 _L_(2) -#define PINMUX_PA24C_SERCOM3_PAD2 ((PIN_PA24C_SERCOM3_PAD2 << 16) | MUX_PA24C_SERCOM3_PAD2) -#define PORT_PA24C_SERCOM3_PAD2 (_UL_(1) << 24) -#define PIN_PA19D_SERCOM3_PAD3 _L_(19) /**< \brief SERCOM3 signal: PAD3 on PA19 mux D */ -#define MUX_PA19D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PA19D_SERCOM3_PAD3 ((PIN_PA19D_SERCOM3_PAD3 << 16) | MUX_PA19D_SERCOM3_PAD3) -#define PORT_PA19D_SERCOM3_PAD3 (_UL_(1) << 19) -#define PIN_PA21D_SERCOM3_PAD3 _L_(21) /**< \brief SERCOM3 signal: PAD3 on PA21 mux D */ -#define MUX_PA21D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PA21D_SERCOM3_PAD3 ((PIN_PA21D_SERCOM3_PAD3 << 16) | MUX_PA21D_SERCOM3_PAD3) -#define PORT_PA21D_SERCOM3_PAD3 (_UL_(1) << 21) -#define PIN_PD21D_SERCOM3_PAD3 _L_(117) /**< \brief SERCOM3 signal: PAD3 on PD21 mux D */ -#define MUX_PD21D_SERCOM3_PAD3 _L_(3) -#define PINMUX_PD21D_SERCOM3_PAD3 ((PIN_PD21D_SERCOM3_PAD3 << 16) | MUX_PD21D_SERCOM3_PAD3) -#define PORT_PD21D_SERCOM3_PAD3 (_UL_(1) << 21) -#define PIN_PA25C_SERCOM3_PAD3 _L_(25) /**< \brief SERCOM3 signal: PAD3 on PA25 mux C */ -#define MUX_PA25C_SERCOM3_PAD3 _L_(2) -#define PINMUX_PA25C_SERCOM3_PAD3 ((PIN_PA25C_SERCOM3_PAD3 << 16) | MUX_PA25C_SERCOM3_PAD3) -#define PORT_PA25C_SERCOM3_PAD3 (_UL_(1) << 25) -/* ========== PORT definition for TCC0 peripheral ========== */ -#define PIN_PA20G_TCC0_WO0 _L_(20) /**< \brief TCC0 signal: WO0 on PA20 mux G */ -#define MUX_PA20G_TCC0_WO0 _L_(6) -#define PINMUX_PA20G_TCC0_WO0 ((PIN_PA20G_TCC0_WO0 << 16) | MUX_PA20G_TCC0_WO0) -#define PORT_PA20G_TCC0_WO0 (_UL_(1) << 20) -#define PIN_PB12G_TCC0_WO0 _L_(44) /**< \brief TCC0 signal: WO0 on PB12 mux G */ -#define MUX_PB12G_TCC0_WO0 _L_(6) -#define PINMUX_PB12G_TCC0_WO0 ((PIN_PB12G_TCC0_WO0 << 16) | MUX_PB12G_TCC0_WO0) -#define PORT_PB12G_TCC0_WO0 (_UL_(1) << 12) -#define PIN_PA08F_TCC0_WO0 _L_(8) /**< \brief TCC0 signal: WO0 on PA08 mux F */ -#define MUX_PA08F_TCC0_WO0 _L_(5) -#define PINMUX_PA08F_TCC0_WO0 ((PIN_PA08F_TCC0_WO0 << 16) | MUX_PA08F_TCC0_WO0) -#define PORT_PA08F_TCC0_WO0 (_UL_(1) << 8) -#define PIN_PC04F_TCC0_WO0 _L_(68) /**< \brief TCC0 signal: WO0 on PC04 mux F */ -#define MUX_PC04F_TCC0_WO0 _L_(5) -#define PINMUX_PC04F_TCC0_WO0 ((PIN_PC04F_TCC0_WO0 << 16) | MUX_PC04F_TCC0_WO0) -#define PORT_PC04F_TCC0_WO0 (_UL_(1) << 4) -#define PIN_PC10F_TCC0_WO0 _L_(74) /**< \brief TCC0 signal: WO0 on PC10 mux F */ -#define MUX_PC10F_TCC0_WO0 _L_(5) -#define PINMUX_PC10F_TCC0_WO0 ((PIN_PC10F_TCC0_WO0 << 16) | MUX_PC10F_TCC0_WO0) -#define PORT_PC10F_TCC0_WO0 (_UL_(1) << 10) -#define PIN_PC16F_TCC0_WO0 _L_(80) /**< \brief TCC0 signal: WO0 on PC16 mux F */ -#define MUX_PC16F_TCC0_WO0 _L_(5) -#define PINMUX_PC16F_TCC0_WO0 ((PIN_PC16F_TCC0_WO0 << 16) | MUX_PC16F_TCC0_WO0) -#define PORT_PC16F_TCC0_WO0 (_UL_(1) << 16) -#define PIN_PA21G_TCC0_WO1 _L_(21) /**< \brief TCC0 signal: WO1 on PA21 mux G */ -#define MUX_PA21G_TCC0_WO1 _L_(6) -#define PINMUX_PA21G_TCC0_WO1 ((PIN_PA21G_TCC0_WO1 << 16) | MUX_PA21G_TCC0_WO1) -#define PORT_PA21G_TCC0_WO1 (_UL_(1) << 21) -#define PIN_PB13G_TCC0_WO1 _L_(45) /**< \brief TCC0 signal: WO1 on PB13 mux G */ -#define MUX_PB13G_TCC0_WO1 _L_(6) -#define PINMUX_PB13G_TCC0_WO1 ((PIN_PB13G_TCC0_WO1 << 16) | MUX_PB13G_TCC0_WO1) -#define PORT_PB13G_TCC0_WO1 (_UL_(1) << 13) -#define PIN_PA09F_TCC0_WO1 _L_(9) /**< \brief TCC0 signal: WO1 on PA09 mux F */ -#define MUX_PA09F_TCC0_WO1 _L_(5) -#define PINMUX_PA09F_TCC0_WO1 ((PIN_PA09F_TCC0_WO1 << 16) | MUX_PA09F_TCC0_WO1) -#define PORT_PA09F_TCC0_WO1 (_UL_(1) << 9) -#define PIN_PC11F_TCC0_WO1 _L_(75) /**< \brief TCC0 signal: WO1 on PC11 mux F */ -#define MUX_PC11F_TCC0_WO1 _L_(5) -#define PINMUX_PC11F_TCC0_WO1 ((PIN_PC11F_TCC0_WO1 << 16) | MUX_PC11F_TCC0_WO1) -#define PORT_PC11F_TCC0_WO1 (_UL_(1) << 11) -#define PIN_PC17F_TCC0_WO1 _L_(81) /**< \brief TCC0 signal: WO1 on PC17 mux F */ -#define MUX_PC17F_TCC0_WO1 _L_(5) -#define PINMUX_PC17F_TCC0_WO1 ((PIN_PC17F_TCC0_WO1 << 16) | MUX_PC17F_TCC0_WO1) -#define PORT_PC17F_TCC0_WO1 (_UL_(1) << 17) -#define PIN_PD08F_TCC0_WO1 _L_(104) /**< \brief TCC0 signal: WO1 on PD08 mux F */ -#define MUX_PD08F_TCC0_WO1 _L_(5) -#define PINMUX_PD08F_TCC0_WO1 ((PIN_PD08F_TCC0_WO1 << 16) | MUX_PD08F_TCC0_WO1) -#define PORT_PD08F_TCC0_WO1 (_UL_(1) << 8) -#define PIN_PA22G_TCC0_WO2 _L_(22) /**< \brief TCC0 signal: WO2 on PA22 mux G */ -#define MUX_PA22G_TCC0_WO2 _L_(6) -#define PINMUX_PA22G_TCC0_WO2 ((PIN_PA22G_TCC0_WO2 << 16) | MUX_PA22G_TCC0_WO2) -#define PORT_PA22G_TCC0_WO2 (_UL_(1) << 22) -#define PIN_PB14G_TCC0_WO2 _L_(46) /**< \brief TCC0 signal: WO2 on PB14 mux G */ -#define MUX_PB14G_TCC0_WO2 _L_(6) -#define PINMUX_PB14G_TCC0_WO2 ((PIN_PB14G_TCC0_WO2 << 16) | MUX_PB14G_TCC0_WO2) -#define PORT_PB14G_TCC0_WO2 (_UL_(1) << 14) -#define PIN_PA10F_TCC0_WO2 _L_(10) /**< \brief TCC0 signal: WO2 on PA10 mux F */ -#define MUX_PA10F_TCC0_WO2 _L_(5) -#define PINMUX_PA10F_TCC0_WO2 ((PIN_PA10F_TCC0_WO2 << 16) | MUX_PA10F_TCC0_WO2) -#define PORT_PA10F_TCC0_WO2 (_UL_(1) << 10) -#define PIN_PC12F_TCC0_WO2 _L_(76) /**< \brief TCC0 signal: WO2 on PC12 mux F */ -#define MUX_PC12F_TCC0_WO2 _L_(5) -#define PINMUX_PC12F_TCC0_WO2 ((PIN_PC12F_TCC0_WO2 << 16) | MUX_PC12F_TCC0_WO2) -#define PORT_PC12F_TCC0_WO2 (_UL_(1) << 12) -#define PIN_PC18F_TCC0_WO2 _L_(82) /**< \brief TCC0 signal: WO2 on PC18 mux F */ -#define MUX_PC18F_TCC0_WO2 _L_(5) -#define PINMUX_PC18F_TCC0_WO2 ((PIN_PC18F_TCC0_WO2 << 16) | MUX_PC18F_TCC0_WO2) -#define PORT_PC18F_TCC0_WO2 (_UL_(1) << 18) -#define PIN_PD09F_TCC0_WO2 _L_(105) /**< \brief TCC0 signal: WO2 on PD09 mux F */ -#define MUX_PD09F_TCC0_WO2 _L_(5) -#define PINMUX_PD09F_TCC0_WO2 ((PIN_PD09F_TCC0_WO2 << 16) | MUX_PD09F_TCC0_WO2) -#define PORT_PD09F_TCC0_WO2 (_UL_(1) << 9) -#define PIN_PA23G_TCC0_WO3 _L_(23) /**< \brief TCC0 signal: WO3 on PA23 mux G */ -#define MUX_PA23G_TCC0_WO3 _L_(6) -#define PINMUX_PA23G_TCC0_WO3 ((PIN_PA23G_TCC0_WO3 << 16) | MUX_PA23G_TCC0_WO3) -#define PORT_PA23G_TCC0_WO3 (_UL_(1) << 23) -#define PIN_PB15G_TCC0_WO3 _L_(47) /**< \brief TCC0 signal: WO3 on PB15 mux G */ -#define MUX_PB15G_TCC0_WO3 _L_(6) -#define PINMUX_PB15G_TCC0_WO3 ((PIN_PB15G_TCC0_WO3 << 16) | MUX_PB15G_TCC0_WO3) -#define PORT_PB15G_TCC0_WO3 (_UL_(1) << 15) -#define PIN_PA11F_TCC0_WO3 _L_(11) /**< \brief TCC0 signal: WO3 on PA11 mux F */ -#define MUX_PA11F_TCC0_WO3 _L_(5) -#define PINMUX_PA11F_TCC0_WO3 ((PIN_PA11F_TCC0_WO3 << 16) | MUX_PA11F_TCC0_WO3) -#define PORT_PA11F_TCC0_WO3 (_UL_(1) << 11) -#define PIN_PC13F_TCC0_WO3 _L_(77) /**< \brief TCC0 signal: WO3 on PC13 mux F */ -#define MUX_PC13F_TCC0_WO3 _L_(5) -#define PINMUX_PC13F_TCC0_WO3 ((PIN_PC13F_TCC0_WO3 << 16) | MUX_PC13F_TCC0_WO3) -#define PORT_PC13F_TCC0_WO3 (_UL_(1) << 13) -#define PIN_PC19F_TCC0_WO3 _L_(83) /**< \brief TCC0 signal: WO3 on PC19 mux F */ -#define MUX_PC19F_TCC0_WO3 _L_(5) -#define PINMUX_PC19F_TCC0_WO3 ((PIN_PC19F_TCC0_WO3 << 16) | MUX_PC19F_TCC0_WO3) -#define PORT_PC19F_TCC0_WO3 (_UL_(1) << 19) -#define PIN_PD10F_TCC0_WO3 _L_(106) /**< \brief TCC0 signal: WO3 on PD10 mux F */ -#define MUX_PD10F_TCC0_WO3 _L_(5) -#define PINMUX_PD10F_TCC0_WO3 ((PIN_PD10F_TCC0_WO3 << 16) | MUX_PD10F_TCC0_WO3) -#define PORT_PD10F_TCC0_WO3 (_UL_(1) << 10) -#define PIN_PA16G_TCC0_WO4 _L_(16) /**< \brief TCC0 signal: WO4 on PA16 mux G */ -#define MUX_PA16G_TCC0_WO4 _L_(6) -#define PINMUX_PA16G_TCC0_WO4 ((PIN_PA16G_TCC0_WO4 << 16) | MUX_PA16G_TCC0_WO4) -#define PORT_PA16G_TCC0_WO4 (_UL_(1) << 16) -#define PIN_PB16G_TCC0_WO4 _L_(48) /**< \brief TCC0 signal: WO4 on PB16 mux G */ -#define MUX_PB16G_TCC0_WO4 _L_(6) -#define PINMUX_PB16G_TCC0_WO4 ((PIN_PB16G_TCC0_WO4 << 16) | MUX_PB16G_TCC0_WO4) -#define PORT_PB16G_TCC0_WO4 (_UL_(1) << 16) -#define PIN_PB10F_TCC0_WO4 _L_(42) /**< \brief TCC0 signal: WO4 on PB10 mux F */ -#define MUX_PB10F_TCC0_WO4 _L_(5) -#define PINMUX_PB10F_TCC0_WO4 ((PIN_PB10F_TCC0_WO4 << 16) | MUX_PB10F_TCC0_WO4) -#define PORT_PB10F_TCC0_WO4 (_UL_(1) << 10) -#define PIN_PC14F_TCC0_WO4 _L_(78) /**< \brief TCC0 signal: WO4 on PC14 mux F */ -#define MUX_PC14F_TCC0_WO4 _L_(5) -#define PINMUX_PC14F_TCC0_WO4 ((PIN_PC14F_TCC0_WO4 << 16) | MUX_PC14F_TCC0_WO4) -#define PORT_PC14F_TCC0_WO4 (_UL_(1) << 14) -#define PIN_PC20F_TCC0_WO4 _L_(84) /**< \brief TCC0 signal: WO4 on PC20 mux F */ -#define MUX_PC20F_TCC0_WO4 _L_(5) -#define PINMUX_PC20F_TCC0_WO4 ((PIN_PC20F_TCC0_WO4 << 16) | MUX_PC20F_TCC0_WO4) -#define PORT_PC20F_TCC0_WO4 (_UL_(1) << 20) -#define PIN_PD11F_TCC0_WO4 _L_(107) /**< \brief TCC0 signal: WO4 on PD11 mux F */ -#define MUX_PD11F_TCC0_WO4 _L_(5) -#define PINMUX_PD11F_TCC0_WO4 ((PIN_PD11F_TCC0_WO4 << 16) | MUX_PD11F_TCC0_WO4) -#define PORT_PD11F_TCC0_WO4 (_UL_(1) << 11) -#define PIN_PA17G_TCC0_WO5 _L_(17) /**< \brief TCC0 signal: WO5 on PA17 mux G */ -#define MUX_PA17G_TCC0_WO5 _L_(6) -#define PINMUX_PA17G_TCC0_WO5 ((PIN_PA17G_TCC0_WO5 << 16) | MUX_PA17G_TCC0_WO5) -#define PORT_PA17G_TCC0_WO5 (_UL_(1) << 17) -#define PIN_PB17G_TCC0_WO5 _L_(49) /**< \brief TCC0 signal: WO5 on PB17 mux G */ -#define MUX_PB17G_TCC0_WO5 _L_(6) -#define PINMUX_PB17G_TCC0_WO5 ((PIN_PB17G_TCC0_WO5 << 16) | MUX_PB17G_TCC0_WO5) -#define PORT_PB17G_TCC0_WO5 (_UL_(1) << 17) -#define PIN_PB11F_TCC0_WO5 _L_(43) /**< \brief TCC0 signal: WO5 on PB11 mux F */ -#define MUX_PB11F_TCC0_WO5 _L_(5) -#define PINMUX_PB11F_TCC0_WO5 ((PIN_PB11F_TCC0_WO5 << 16) | MUX_PB11F_TCC0_WO5) -#define PORT_PB11F_TCC0_WO5 (_UL_(1) << 11) -#define PIN_PC15F_TCC0_WO5 _L_(79) /**< \brief TCC0 signal: WO5 on PC15 mux F */ -#define MUX_PC15F_TCC0_WO5 _L_(5) -#define PINMUX_PC15F_TCC0_WO5 ((PIN_PC15F_TCC0_WO5 << 16) | MUX_PC15F_TCC0_WO5) -#define PORT_PC15F_TCC0_WO5 (_UL_(1) << 15) -#define PIN_PC21F_TCC0_WO5 _L_(85) /**< \brief TCC0 signal: WO5 on PC21 mux F */ -#define MUX_PC21F_TCC0_WO5 _L_(5) -#define PINMUX_PC21F_TCC0_WO5 ((PIN_PC21F_TCC0_WO5 << 16) | MUX_PC21F_TCC0_WO5) -#define PORT_PC21F_TCC0_WO5 (_UL_(1) << 21) -#define PIN_PD12F_TCC0_WO5 _L_(108) /**< \brief TCC0 signal: WO5 on PD12 mux F */ -#define MUX_PD12F_TCC0_WO5 _L_(5) -#define PINMUX_PD12F_TCC0_WO5 ((PIN_PD12F_TCC0_WO5 << 16) | MUX_PD12F_TCC0_WO5) -#define PORT_PD12F_TCC0_WO5 (_UL_(1) << 12) -#define PIN_PA18G_TCC0_WO6 _L_(18) /**< \brief TCC0 signal: WO6 on PA18 mux G */ -#define MUX_PA18G_TCC0_WO6 _L_(6) -#define PINMUX_PA18G_TCC0_WO6 ((PIN_PA18G_TCC0_WO6 << 16) | MUX_PA18G_TCC0_WO6) -#define PORT_PA18G_TCC0_WO6 (_UL_(1) << 18) -#define PIN_PB30G_TCC0_WO6 _L_(62) /**< \brief TCC0 signal: WO6 on PB30 mux G */ -#define MUX_PB30G_TCC0_WO6 _L_(6) -#define PINMUX_PB30G_TCC0_WO6 ((PIN_PB30G_TCC0_WO6 << 16) | MUX_PB30G_TCC0_WO6) -#define PORT_PB30G_TCC0_WO6 (_UL_(1) << 30) -#define PIN_PA12F_TCC0_WO6 _L_(12) /**< \brief TCC0 signal: WO6 on PA12 mux F */ -#define MUX_PA12F_TCC0_WO6 _L_(5) -#define PINMUX_PA12F_TCC0_WO6 ((PIN_PA12F_TCC0_WO6 << 16) | MUX_PA12F_TCC0_WO6) -#define PORT_PA12F_TCC0_WO6 (_UL_(1) << 12) -#define PIN_PC22F_TCC0_WO6 _L_(86) /**< \brief TCC0 signal: WO6 on PC22 mux F */ -#define MUX_PC22F_TCC0_WO6 _L_(5) -#define PINMUX_PC22F_TCC0_WO6 ((PIN_PC22F_TCC0_WO6 << 16) | MUX_PC22F_TCC0_WO6) -#define PORT_PC22F_TCC0_WO6 (_UL_(1) << 22) -#define PIN_PA19G_TCC0_WO7 _L_(19) /**< \brief TCC0 signal: WO7 on PA19 mux G */ -#define MUX_PA19G_TCC0_WO7 _L_(6) -#define PINMUX_PA19G_TCC0_WO7 ((PIN_PA19G_TCC0_WO7 << 16) | MUX_PA19G_TCC0_WO7) -#define PORT_PA19G_TCC0_WO7 (_UL_(1) << 19) -#define PIN_PB31G_TCC0_WO7 _L_(63) /**< \brief TCC0 signal: WO7 on PB31 mux G */ -#define MUX_PB31G_TCC0_WO7 _L_(6) -#define PINMUX_PB31G_TCC0_WO7 ((PIN_PB31G_TCC0_WO7 << 16) | MUX_PB31G_TCC0_WO7) -#define PORT_PB31G_TCC0_WO7 (_UL_(1) << 31) -#define PIN_PA13F_TCC0_WO7 _L_(13) /**< \brief TCC0 signal: WO7 on PA13 mux F */ -#define MUX_PA13F_TCC0_WO7 _L_(5) -#define PINMUX_PA13F_TCC0_WO7 ((PIN_PA13F_TCC0_WO7 << 16) | MUX_PA13F_TCC0_WO7) -#define PORT_PA13F_TCC0_WO7 (_UL_(1) << 13) -#define PIN_PC23F_TCC0_WO7 _L_(87) /**< \brief TCC0 signal: WO7 on PC23 mux F */ -#define MUX_PC23F_TCC0_WO7 _L_(5) -#define PINMUX_PC23F_TCC0_WO7 ((PIN_PC23F_TCC0_WO7 << 16) | MUX_PC23F_TCC0_WO7) -#define PORT_PC23F_TCC0_WO7 (_UL_(1) << 23) -/* ========== PORT definition for TCC1 peripheral ========== */ -#define PIN_PB10G_TCC1_WO0 _L_(42) /**< \brief TCC1 signal: WO0 on PB10 mux G */ -#define MUX_PB10G_TCC1_WO0 _L_(6) -#define PINMUX_PB10G_TCC1_WO0 ((PIN_PB10G_TCC1_WO0 << 16) | MUX_PB10G_TCC1_WO0) -#define PORT_PB10G_TCC1_WO0 (_UL_(1) << 10) -#define PIN_PC14G_TCC1_WO0 _L_(78) /**< \brief TCC1 signal: WO0 on PC14 mux G */ -#define MUX_PC14G_TCC1_WO0 _L_(6) -#define PINMUX_PC14G_TCC1_WO0 ((PIN_PC14G_TCC1_WO0 << 16) | MUX_PC14G_TCC1_WO0) -#define PORT_PC14G_TCC1_WO0 (_UL_(1) << 14) -#define PIN_PA16F_TCC1_WO0 _L_(16) /**< \brief TCC1 signal: WO0 on PA16 mux F */ -#define MUX_PA16F_TCC1_WO0 _L_(5) -#define PINMUX_PA16F_TCC1_WO0 ((PIN_PA16F_TCC1_WO0 << 16) | MUX_PA16F_TCC1_WO0) -#define PORT_PA16F_TCC1_WO0 (_UL_(1) << 16) -#define PIN_PB18F_TCC1_WO0 _L_(50) /**< \brief TCC1 signal: WO0 on PB18 mux F */ -#define MUX_PB18F_TCC1_WO0 _L_(5) -#define PINMUX_PB18F_TCC1_WO0 ((PIN_PB18F_TCC1_WO0 << 16) | MUX_PB18F_TCC1_WO0) -#define PORT_PB18F_TCC1_WO0 (_UL_(1) << 18) -#define PIN_PD20F_TCC1_WO0 _L_(116) /**< \brief TCC1 signal: WO0 on PD20 mux F */ -#define MUX_PD20F_TCC1_WO0 _L_(5) -#define PINMUX_PD20F_TCC1_WO0 ((PIN_PD20F_TCC1_WO0 << 16) | MUX_PD20F_TCC1_WO0) -#define PORT_PD20F_TCC1_WO0 (_UL_(1) << 20) -#define PIN_PB11G_TCC1_WO1 _L_(43) /**< \brief TCC1 signal: WO1 on PB11 mux G */ -#define MUX_PB11G_TCC1_WO1 _L_(6) -#define PINMUX_PB11G_TCC1_WO1 ((PIN_PB11G_TCC1_WO1 << 16) | MUX_PB11G_TCC1_WO1) -#define PORT_PB11G_TCC1_WO1 (_UL_(1) << 11) -#define PIN_PC15G_TCC1_WO1 _L_(79) /**< \brief TCC1 signal: WO1 on PC15 mux G */ -#define MUX_PC15G_TCC1_WO1 _L_(6) -#define PINMUX_PC15G_TCC1_WO1 ((PIN_PC15G_TCC1_WO1 << 16) | MUX_PC15G_TCC1_WO1) -#define PORT_PC15G_TCC1_WO1 (_UL_(1) << 15) -#define PIN_PA17F_TCC1_WO1 _L_(17) /**< \brief TCC1 signal: WO1 on PA17 mux F */ -#define MUX_PA17F_TCC1_WO1 _L_(5) -#define PINMUX_PA17F_TCC1_WO1 ((PIN_PA17F_TCC1_WO1 << 16) | MUX_PA17F_TCC1_WO1) -#define PORT_PA17F_TCC1_WO1 (_UL_(1) << 17) -#define PIN_PB19F_TCC1_WO1 _L_(51) /**< \brief TCC1 signal: WO1 on PB19 mux F */ -#define MUX_PB19F_TCC1_WO1 _L_(5) -#define PINMUX_PB19F_TCC1_WO1 ((PIN_PB19F_TCC1_WO1 << 16) | MUX_PB19F_TCC1_WO1) -#define PORT_PB19F_TCC1_WO1 (_UL_(1) << 19) -#define PIN_PD21F_TCC1_WO1 _L_(117) /**< \brief TCC1 signal: WO1 on PD21 mux F */ -#define MUX_PD21F_TCC1_WO1 _L_(5) -#define PINMUX_PD21F_TCC1_WO1 ((PIN_PD21F_TCC1_WO1 << 16) | MUX_PD21F_TCC1_WO1) -#define PORT_PD21F_TCC1_WO1 (_UL_(1) << 21) -#define PIN_PA12G_TCC1_WO2 _L_(12) /**< \brief TCC1 signal: WO2 on PA12 mux G */ -#define MUX_PA12G_TCC1_WO2 _L_(6) -#define PINMUX_PA12G_TCC1_WO2 ((PIN_PA12G_TCC1_WO2 << 16) | MUX_PA12G_TCC1_WO2) -#define PORT_PA12G_TCC1_WO2 (_UL_(1) << 12) -#define PIN_PA14G_TCC1_WO2 _L_(14) /**< \brief TCC1 signal: WO2 on PA14 mux G */ -#define MUX_PA14G_TCC1_WO2 _L_(6) -#define PINMUX_PA14G_TCC1_WO2 ((PIN_PA14G_TCC1_WO2 << 16) | MUX_PA14G_TCC1_WO2) -#define PORT_PA14G_TCC1_WO2 (_UL_(1) << 14) -#define PIN_PA18F_TCC1_WO2 _L_(18) /**< \brief TCC1 signal: WO2 on PA18 mux F */ -#define MUX_PA18F_TCC1_WO2 _L_(5) -#define PINMUX_PA18F_TCC1_WO2 ((PIN_PA18F_TCC1_WO2 << 16) | MUX_PA18F_TCC1_WO2) -#define PORT_PA18F_TCC1_WO2 (_UL_(1) << 18) -#define PIN_PB20F_TCC1_WO2 _L_(52) /**< \brief TCC1 signal: WO2 on PB20 mux F */ -#define MUX_PB20F_TCC1_WO2 _L_(5) -#define PINMUX_PB20F_TCC1_WO2 ((PIN_PB20F_TCC1_WO2 << 16) | MUX_PB20F_TCC1_WO2) -#define PORT_PB20F_TCC1_WO2 (_UL_(1) << 20) -#define PIN_PB26F_TCC1_WO2 _L_(58) /**< \brief TCC1 signal: WO2 on PB26 mux F */ -#define MUX_PB26F_TCC1_WO2 _L_(5) -#define PINMUX_PB26F_TCC1_WO2 ((PIN_PB26F_TCC1_WO2 << 16) | MUX_PB26F_TCC1_WO2) -#define PORT_PB26F_TCC1_WO2 (_UL_(1) << 26) -#define PIN_PA13G_TCC1_WO3 _L_(13) /**< \brief TCC1 signal: WO3 on PA13 mux G */ -#define MUX_PA13G_TCC1_WO3 _L_(6) -#define PINMUX_PA13G_TCC1_WO3 ((PIN_PA13G_TCC1_WO3 << 16) | MUX_PA13G_TCC1_WO3) -#define PORT_PA13G_TCC1_WO3 (_UL_(1) << 13) -#define PIN_PA15G_TCC1_WO3 _L_(15) /**< \brief TCC1 signal: WO3 on PA15 mux G */ -#define MUX_PA15G_TCC1_WO3 _L_(6) -#define PINMUX_PA15G_TCC1_WO3 ((PIN_PA15G_TCC1_WO3 << 16) | MUX_PA15G_TCC1_WO3) -#define PORT_PA15G_TCC1_WO3 (_UL_(1) << 15) -#define PIN_PA19F_TCC1_WO3 _L_(19) /**< \brief TCC1 signal: WO3 on PA19 mux F */ -#define MUX_PA19F_TCC1_WO3 _L_(5) -#define PINMUX_PA19F_TCC1_WO3 ((PIN_PA19F_TCC1_WO3 << 16) | MUX_PA19F_TCC1_WO3) -#define PORT_PA19F_TCC1_WO3 (_UL_(1) << 19) -#define PIN_PB21F_TCC1_WO3 _L_(53) /**< \brief TCC1 signal: WO3 on PB21 mux F */ -#define MUX_PB21F_TCC1_WO3 _L_(5) -#define PINMUX_PB21F_TCC1_WO3 ((PIN_PB21F_TCC1_WO3 << 16) | MUX_PB21F_TCC1_WO3) -#define PORT_PB21F_TCC1_WO3 (_UL_(1) << 21) -#define PIN_PB27F_TCC1_WO3 _L_(59) /**< \brief TCC1 signal: WO3 on PB27 mux F */ -#define MUX_PB27F_TCC1_WO3 _L_(5) -#define PINMUX_PB27F_TCC1_WO3 ((PIN_PB27F_TCC1_WO3 << 16) | MUX_PB27F_TCC1_WO3) -#define PORT_PB27F_TCC1_WO3 (_UL_(1) << 27) -#define PIN_PA08G_TCC1_WO4 _L_(8) /**< \brief TCC1 signal: WO4 on PA08 mux G */ -#define MUX_PA08G_TCC1_WO4 _L_(6) -#define PINMUX_PA08G_TCC1_WO4 ((PIN_PA08G_TCC1_WO4 << 16) | MUX_PA08G_TCC1_WO4) -#define PORT_PA08G_TCC1_WO4 (_UL_(1) << 8) -#define PIN_PC10G_TCC1_WO4 _L_(74) /**< \brief TCC1 signal: WO4 on PC10 mux G */ -#define MUX_PC10G_TCC1_WO4 _L_(6) -#define PINMUX_PC10G_TCC1_WO4 ((PIN_PC10G_TCC1_WO4 << 16) | MUX_PC10G_TCC1_WO4) -#define PORT_PC10G_TCC1_WO4 (_UL_(1) << 10) -#define PIN_PA20F_TCC1_WO4 _L_(20) /**< \brief TCC1 signal: WO4 on PA20 mux F */ -#define MUX_PA20F_TCC1_WO4 _L_(5) -#define PINMUX_PA20F_TCC1_WO4 ((PIN_PA20F_TCC1_WO4 << 16) | MUX_PA20F_TCC1_WO4) -#define PORT_PA20F_TCC1_WO4 (_UL_(1) << 20) -#define PIN_PB28F_TCC1_WO4 _L_(60) /**< \brief TCC1 signal: WO4 on PB28 mux F */ -#define MUX_PB28F_TCC1_WO4 _L_(5) -#define PINMUX_PB28F_TCC1_WO4 ((PIN_PB28F_TCC1_WO4 << 16) | MUX_PB28F_TCC1_WO4) -#define PORT_PB28F_TCC1_WO4 (_UL_(1) << 28) -#define PIN_PA09G_TCC1_WO5 _L_(9) /**< \brief TCC1 signal: WO5 on PA09 mux G */ -#define MUX_PA09G_TCC1_WO5 _L_(6) -#define PINMUX_PA09G_TCC1_WO5 ((PIN_PA09G_TCC1_WO5 << 16) | MUX_PA09G_TCC1_WO5) -#define PORT_PA09G_TCC1_WO5 (_UL_(1) << 9) -#define PIN_PC11G_TCC1_WO5 _L_(75) /**< \brief TCC1 signal: WO5 on PC11 mux G */ -#define MUX_PC11G_TCC1_WO5 _L_(6) -#define PINMUX_PC11G_TCC1_WO5 ((PIN_PC11G_TCC1_WO5 << 16) | MUX_PC11G_TCC1_WO5) -#define PORT_PC11G_TCC1_WO5 (_UL_(1) << 11) -#define PIN_PA21F_TCC1_WO5 _L_(21) /**< \brief TCC1 signal: WO5 on PA21 mux F */ -#define MUX_PA21F_TCC1_WO5 _L_(5) -#define PINMUX_PA21F_TCC1_WO5 ((PIN_PA21F_TCC1_WO5 << 16) | MUX_PA21F_TCC1_WO5) -#define PORT_PA21F_TCC1_WO5 (_UL_(1) << 21) -#define PIN_PB29F_TCC1_WO5 _L_(61) /**< \brief TCC1 signal: WO5 on PB29 mux F */ -#define MUX_PB29F_TCC1_WO5 _L_(5) -#define PINMUX_PB29F_TCC1_WO5 ((PIN_PB29F_TCC1_WO5 << 16) | MUX_PB29F_TCC1_WO5) -#define PORT_PB29F_TCC1_WO5 (_UL_(1) << 29) -#define PIN_PA10G_TCC1_WO6 _L_(10) /**< \brief TCC1 signal: WO6 on PA10 mux G */ -#define MUX_PA10G_TCC1_WO6 _L_(6) -#define PINMUX_PA10G_TCC1_WO6 ((PIN_PA10G_TCC1_WO6 << 16) | MUX_PA10G_TCC1_WO6) -#define PORT_PA10G_TCC1_WO6 (_UL_(1) << 10) -#define PIN_PC12G_TCC1_WO6 _L_(76) /**< \brief TCC1 signal: WO6 on PC12 mux G */ -#define MUX_PC12G_TCC1_WO6 _L_(6) -#define PINMUX_PC12G_TCC1_WO6 ((PIN_PC12G_TCC1_WO6 << 16) | MUX_PC12G_TCC1_WO6) -#define PORT_PC12G_TCC1_WO6 (_UL_(1) << 12) -#define PIN_PA22F_TCC1_WO6 _L_(22) /**< \brief TCC1 signal: WO6 on PA22 mux F */ -#define MUX_PA22F_TCC1_WO6 _L_(5) -#define PINMUX_PA22F_TCC1_WO6 ((PIN_PA22F_TCC1_WO6 << 16) | MUX_PA22F_TCC1_WO6) -#define PORT_PA22F_TCC1_WO6 (_UL_(1) << 22) -#define PIN_PA11G_TCC1_WO7 _L_(11) /**< \brief TCC1 signal: WO7 on PA11 mux G */ -#define MUX_PA11G_TCC1_WO7 _L_(6) -#define PINMUX_PA11G_TCC1_WO7 ((PIN_PA11G_TCC1_WO7 << 16) | MUX_PA11G_TCC1_WO7) -#define PORT_PA11G_TCC1_WO7 (_UL_(1) << 11) -#define PIN_PC13G_TCC1_WO7 _L_(77) /**< \brief TCC1 signal: WO7 on PC13 mux G */ -#define MUX_PC13G_TCC1_WO7 _L_(6) -#define PINMUX_PC13G_TCC1_WO7 ((PIN_PC13G_TCC1_WO7 << 16) | MUX_PC13G_TCC1_WO7) -#define PORT_PC13G_TCC1_WO7 (_UL_(1) << 13) -#define PIN_PA23F_TCC1_WO7 _L_(23) /**< \brief TCC1 signal: WO7 on PA23 mux F */ -#define MUX_PA23F_TCC1_WO7 _L_(5) -#define PINMUX_PA23F_TCC1_WO7 ((PIN_PA23F_TCC1_WO7 << 16) | MUX_PA23F_TCC1_WO7) -#define PORT_PA23F_TCC1_WO7 (_UL_(1) << 23) -/* ========== PORT definition for TC2 peripheral ========== */ -#define PIN_PA12E_TC2_WO0 _L_(12) /**< \brief TC2 signal: WO0 on PA12 mux E */ -#define MUX_PA12E_TC2_WO0 _L_(4) -#define PINMUX_PA12E_TC2_WO0 ((PIN_PA12E_TC2_WO0 << 16) | MUX_PA12E_TC2_WO0) -#define PORT_PA12E_TC2_WO0 (_UL_(1) << 12) -#define PIN_PA16E_TC2_WO0 _L_(16) /**< \brief TC2 signal: WO0 on PA16 mux E */ -#define MUX_PA16E_TC2_WO0 _L_(4) -#define PINMUX_PA16E_TC2_WO0 ((PIN_PA16E_TC2_WO0 << 16) | MUX_PA16E_TC2_WO0) -#define PORT_PA16E_TC2_WO0 (_UL_(1) << 16) -#define PIN_PA00E_TC2_WO0 _L_(0) /**< \brief TC2 signal: WO0 on PA00 mux E */ -#define MUX_PA00E_TC2_WO0 _L_(4) -#define PINMUX_PA00E_TC2_WO0 ((PIN_PA00E_TC2_WO0 << 16) | MUX_PA00E_TC2_WO0) -#define PORT_PA00E_TC2_WO0 (_UL_(1) << 0) -#define PIN_PA01E_TC2_WO1 _L_(1) /**< \brief TC2 signal: WO1 on PA01 mux E */ -#define MUX_PA01E_TC2_WO1 _L_(4) -#define PINMUX_PA01E_TC2_WO1 ((PIN_PA01E_TC2_WO1 << 16) | MUX_PA01E_TC2_WO1) -#define PORT_PA01E_TC2_WO1 (_UL_(1) << 1) -#define PIN_PA13E_TC2_WO1 _L_(13) /**< \brief TC2 signal: WO1 on PA13 mux E */ -#define MUX_PA13E_TC2_WO1 _L_(4) -#define PINMUX_PA13E_TC2_WO1 ((PIN_PA13E_TC2_WO1 << 16) | MUX_PA13E_TC2_WO1) -#define PORT_PA13E_TC2_WO1 (_UL_(1) << 13) -#define PIN_PA17E_TC2_WO1 _L_(17) /**< \brief TC2 signal: WO1 on PA17 mux E */ -#define MUX_PA17E_TC2_WO1 _L_(4) -#define PINMUX_PA17E_TC2_WO1 ((PIN_PA17E_TC2_WO1 << 16) | MUX_PA17E_TC2_WO1) -#define PORT_PA17E_TC2_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC3 peripheral ========== */ -#define PIN_PA18E_TC3_WO0 _L_(18) /**< \brief TC3 signal: WO0 on PA18 mux E */ -#define MUX_PA18E_TC3_WO0 _L_(4) -#define PINMUX_PA18E_TC3_WO0 ((PIN_PA18E_TC3_WO0 << 16) | MUX_PA18E_TC3_WO0) -#define PORT_PA18E_TC3_WO0 (_UL_(1) << 18) -#define PIN_PA14E_TC3_WO0 _L_(14) /**< \brief TC3 signal: WO0 on PA14 mux E */ -#define MUX_PA14E_TC3_WO0 _L_(4) -#define PINMUX_PA14E_TC3_WO0 ((PIN_PA14E_TC3_WO0 << 16) | MUX_PA14E_TC3_WO0) -#define PORT_PA14E_TC3_WO0 (_UL_(1) << 14) -#define PIN_PA15E_TC3_WO1 _L_(15) /**< \brief TC3 signal: WO1 on PA15 mux E */ -#define MUX_PA15E_TC3_WO1 _L_(4) -#define PINMUX_PA15E_TC3_WO1 ((PIN_PA15E_TC3_WO1 << 16) | MUX_PA15E_TC3_WO1) -#define PORT_PA15E_TC3_WO1 (_UL_(1) << 15) -#define PIN_PA19E_TC3_WO1 _L_(19) /**< \brief TC3 signal: WO1 on PA19 mux E */ -#define MUX_PA19E_TC3_WO1 _L_(4) -#define PINMUX_PA19E_TC3_WO1 ((PIN_PA19E_TC3_WO1 << 16) | MUX_PA19E_TC3_WO1) -#define PORT_PA19E_TC3_WO1 (_UL_(1) << 19) -/* ========== PORT definition for CAN0 peripheral ========== */ -#define PIN_PA23I_CAN0_RX _L_(23) /**< \brief CAN0 signal: RX on PA23 mux I */ -#define MUX_PA23I_CAN0_RX _L_(8) -#define PINMUX_PA23I_CAN0_RX ((PIN_PA23I_CAN0_RX << 16) | MUX_PA23I_CAN0_RX) -#define PORT_PA23I_CAN0_RX (_UL_(1) << 23) -#define PIN_PA25I_CAN0_RX _L_(25) /**< \brief CAN0 signal: RX on PA25 mux I */ -#define MUX_PA25I_CAN0_RX _L_(8) -#define PINMUX_PA25I_CAN0_RX ((PIN_PA25I_CAN0_RX << 16) | MUX_PA25I_CAN0_RX) -#define PORT_PA25I_CAN0_RX (_UL_(1) << 25) -#define PIN_PA22I_CAN0_TX _L_(22) /**< \brief CAN0 signal: TX on PA22 mux I */ -#define MUX_PA22I_CAN0_TX _L_(8) -#define PINMUX_PA22I_CAN0_TX ((PIN_PA22I_CAN0_TX << 16) | MUX_PA22I_CAN0_TX) -#define PORT_PA22I_CAN0_TX (_UL_(1) << 22) -#define PIN_PA24I_CAN0_TX _L_(24) /**< \brief CAN0 signal: TX on PA24 mux I */ -#define MUX_PA24I_CAN0_TX _L_(8) -#define PINMUX_PA24I_CAN0_TX ((PIN_PA24I_CAN0_TX << 16) | MUX_PA24I_CAN0_TX) -#define PORT_PA24I_CAN0_TX (_UL_(1) << 24) -/* ========== PORT definition for CAN1 peripheral ========== */ -#define PIN_PB13H_CAN1_RX _L_(45) /**< \brief CAN1 signal: RX on PB13 mux H */ -#define MUX_PB13H_CAN1_RX _L_(7) -#define PINMUX_PB13H_CAN1_RX ((PIN_PB13H_CAN1_RX << 16) | MUX_PB13H_CAN1_RX) -#define PORT_PB13H_CAN1_RX (_UL_(1) << 13) -#define PIN_PB15H_CAN1_RX _L_(47) /**< \brief CAN1 signal: RX on PB15 mux H */ -#define MUX_PB15H_CAN1_RX _L_(7) -#define PINMUX_PB15H_CAN1_RX ((PIN_PB15H_CAN1_RX << 16) | MUX_PB15H_CAN1_RX) -#define PORT_PB15H_CAN1_RX (_UL_(1) << 15) -#define PIN_PB12H_CAN1_TX _L_(44) /**< \brief CAN1 signal: TX on PB12 mux H */ -#define MUX_PB12H_CAN1_TX _L_(7) -#define PINMUX_PB12H_CAN1_TX ((PIN_PB12H_CAN1_TX << 16) | MUX_PB12H_CAN1_TX) -#define PORT_PB12H_CAN1_TX (_UL_(1) << 12) -#define PIN_PB14H_CAN1_TX _L_(46) /**< \brief CAN1 signal: TX on PB14 mux H */ -#define MUX_PB14H_CAN1_TX _L_(7) -#define PINMUX_PB14H_CAN1_TX ((PIN_PB14H_CAN1_TX << 16) | MUX_PB14H_CAN1_TX) -#define PORT_PB14H_CAN1_TX (_UL_(1) << 14) -/* ========== PORT definition for GMAC peripheral ========== */ -#define PIN_PC21L_GMAC_GCOL _L_(85) /**< \brief GMAC signal: GCOL on PC21 mux L */ -#define MUX_PC21L_GMAC_GCOL _L_(11) -#define PINMUX_PC21L_GMAC_GCOL ((PIN_PC21L_GMAC_GCOL << 16) | MUX_PC21L_GMAC_GCOL) -#define PORT_PC21L_GMAC_GCOL (_UL_(1) << 21) -#define PIN_PA16L_GMAC_GCRS _L_(16) /**< \brief GMAC signal: GCRS on PA16 mux L */ -#define MUX_PA16L_GMAC_GCRS _L_(11) -#define PINMUX_PA16L_GMAC_GCRS ((PIN_PA16L_GMAC_GCRS << 16) | MUX_PA16L_GMAC_GCRS) -#define PORT_PA16L_GMAC_GCRS (_UL_(1) << 16) -#define PIN_PA20L_GMAC_GMDC _L_(20) /**< \brief GMAC signal: GMDC on PA20 mux L */ -#define MUX_PA20L_GMAC_GMDC _L_(11) -#define PINMUX_PA20L_GMAC_GMDC ((PIN_PA20L_GMAC_GMDC << 16) | MUX_PA20L_GMAC_GMDC) -#define PORT_PA20L_GMAC_GMDC (_UL_(1) << 20) -#define PIN_PB14L_GMAC_GMDC _L_(46) /**< \brief GMAC signal: GMDC on PB14 mux L */ -#define MUX_PB14L_GMAC_GMDC _L_(11) -#define PINMUX_PB14L_GMAC_GMDC ((PIN_PB14L_GMAC_GMDC << 16) | MUX_PB14L_GMAC_GMDC) -#define PORT_PB14L_GMAC_GMDC (_UL_(1) << 14) -#define PIN_PC11L_GMAC_GMDC _L_(75) /**< \brief GMAC signal: GMDC on PC11 mux L */ -#define MUX_PC11L_GMAC_GMDC _L_(11) -#define PINMUX_PC11L_GMAC_GMDC ((PIN_PC11L_GMAC_GMDC << 16) | MUX_PC11L_GMAC_GMDC) -#define PORT_PC11L_GMAC_GMDC (_UL_(1) << 11) -#define PIN_PC22L_GMAC_GMDC _L_(86) /**< \brief GMAC signal: GMDC on PC22 mux L */ -#define MUX_PC22L_GMAC_GMDC _L_(11) -#define PINMUX_PC22L_GMAC_GMDC ((PIN_PC22L_GMAC_GMDC << 16) | MUX_PC22L_GMAC_GMDC) -#define PORT_PC22L_GMAC_GMDC (_UL_(1) << 22) -#define PIN_PA21L_GMAC_GMDIO _L_(21) /**< \brief GMAC signal: GMDIO on PA21 mux L */ -#define MUX_PA21L_GMAC_GMDIO _L_(11) -#define PINMUX_PA21L_GMAC_GMDIO ((PIN_PA21L_GMAC_GMDIO << 16) | MUX_PA21L_GMAC_GMDIO) -#define PORT_PA21L_GMAC_GMDIO (_UL_(1) << 21) -#define PIN_PB15L_GMAC_GMDIO _L_(47) /**< \brief GMAC signal: GMDIO on PB15 mux L */ -#define MUX_PB15L_GMAC_GMDIO _L_(11) -#define PINMUX_PB15L_GMAC_GMDIO ((PIN_PB15L_GMAC_GMDIO << 16) | MUX_PB15L_GMAC_GMDIO) -#define PORT_PB15L_GMAC_GMDIO (_UL_(1) << 15) -#define PIN_PC12L_GMAC_GMDIO _L_(76) /**< \brief GMAC signal: GMDIO on PC12 mux L */ -#define MUX_PC12L_GMAC_GMDIO _L_(11) -#define PINMUX_PC12L_GMAC_GMDIO ((PIN_PC12L_GMAC_GMDIO << 16) | MUX_PC12L_GMAC_GMDIO) -#define PORT_PC12L_GMAC_GMDIO (_UL_(1) << 12) -#define PIN_PC23L_GMAC_GMDIO _L_(87) /**< \brief GMAC signal: GMDIO on PC23 mux L */ -#define MUX_PC23L_GMAC_GMDIO _L_(11) -#define PINMUX_PC23L_GMAC_GMDIO ((PIN_PC23L_GMAC_GMDIO << 16) | MUX_PC23L_GMAC_GMDIO) -#define PORT_PC23L_GMAC_GMDIO (_UL_(1) << 23) -#define PIN_PA13L_GMAC_GRX0 _L_(13) /**< \brief GMAC signal: GRX0 on PA13 mux L */ -#define MUX_PA13L_GMAC_GRX0 _L_(11) -#define PINMUX_PA13L_GMAC_GRX0 ((PIN_PA13L_GMAC_GRX0 << 16) | MUX_PA13L_GMAC_GRX0) -#define PORT_PA13L_GMAC_GRX0 (_UL_(1) << 13) -#define PIN_PA12L_GMAC_GRX1 _L_(12) /**< \brief GMAC signal: GRX1 on PA12 mux L */ -#define MUX_PA12L_GMAC_GRX1 _L_(11) -#define PINMUX_PA12L_GMAC_GRX1 ((PIN_PA12L_GMAC_GRX1 << 16) | MUX_PA12L_GMAC_GRX1) -#define PORT_PA12L_GMAC_GRX1 (_UL_(1) << 12) -#define PIN_PC15L_GMAC_GRX2 _L_(79) /**< \brief GMAC signal: GRX2 on PC15 mux L */ -#define MUX_PC15L_GMAC_GRX2 _L_(11) -#define PINMUX_PC15L_GMAC_GRX2 ((PIN_PC15L_GMAC_GRX2 << 16) | MUX_PC15L_GMAC_GRX2) -#define PORT_PC15L_GMAC_GRX2 (_UL_(1) << 15) -#define PIN_PC14L_GMAC_GRX3 _L_(78) /**< \brief GMAC signal: GRX3 on PC14 mux L */ -#define MUX_PC14L_GMAC_GRX3 _L_(11) -#define PINMUX_PC14L_GMAC_GRX3 ((PIN_PC14L_GMAC_GRX3 << 16) | MUX_PC14L_GMAC_GRX3) -#define PORT_PC14L_GMAC_GRX3 (_UL_(1) << 14) -#define PIN_PC18L_GMAC_GRXCK _L_(82) /**< \brief GMAC signal: GRXCK on PC18 mux L */ -#define MUX_PC18L_GMAC_GRXCK _L_(11) -#define PINMUX_PC18L_GMAC_GRXCK ((PIN_PC18L_GMAC_GRXCK << 16) | MUX_PC18L_GMAC_GRXCK) -#define PORT_PC18L_GMAC_GRXCK (_UL_(1) << 18) -#define PIN_PC20L_GMAC_GRXDV _L_(84) /**< \brief GMAC signal: GRXDV on PC20 mux L */ -#define MUX_PC20L_GMAC_GRXDV _L_(11) -#define PINMUX_PC20L_GMAC_GRXDV ((PIN_PC20L_GMAC_GRXDV << 16) | MUX_PC20L_GMAC_GRXDV) -#define PORT_PC20L_GMAC_GRXDV (_UL_(1) << 20) -#define PIN_PA15L_GMAC_GRXER _L_(15) /**< \brief GMAC signal: GRXER on PA15 mux L */ -#define MUX_PA15L_GMAC_GRXER _L_(11) -#define PINMUX_PA15L_GMAC_GRXER ((PIN_PA15L_GMAC_GRXER << 16) | MUX_PA15L_GMAC_GRXER) -#define PORT_PA15L_GMAC_GRXER (_UL_(1) << 15) -#define PIN_PA18L_GMAC_GTX0 _L_(18) /**< \brief GMAC signal: GTX0 on PA18 mux L */ -#define MUX_PA18L_GMAC_GTX0 _L_(11) -#define PINMUX_PA18L_GMAC_GTX0 ((PIN_PA18L_GMAC_GTX0 << 16) | MUX_PA18L_GMAC_GTX0) -#define PORT_PA18L_GMAC_GTX0 (_UL_(1) << 18) -#define PIN_PA19L_GMAC_GTX1 _L_(19) /**< \brief GMAC signal: GTX1 on PA19 mux L */ -#define MUX_PA19L_GMAC_GTX1 _L_(11) -#define PINMUX_PA19L_GMAC_GTX1 ((PIN_PA19L_GMAC_GTX1 << 16) | MUX_PA19L_GMAC_GTX1) -#define PORT_PA19L_GMAC_GTX1 (_UL_(1) << 19) -#define PIN_PC16L_GMAC_GTX2 _L_(80) /**< \brief GMAC signal: GTX2 on PC16 mux L */ -#define MUX_PC16L_GMAC_GTX2 _L_(11) -#define PINMUX_PC16L_GMAC_GTX2 ((PIN_PC16L_GMAC_GTX2 << 16) | MUX_PC16L_GMAC_GTX2) -#define PORT_PC16L_GMAC_GTX2 (_UL_(1) << 16) -#define PIN_PC17L_GMAC_GTX3 _L_(81) /**< \brief GMAC signal: GTX3 on PC17 mux L */ -#define MUX_PC17L_GMAC_GTX3 _L_(11) -#define PINMUX_PC17L_GMAC_GTX3 ((PIN_PC17L_GMAC_GTX3 << 16) | MUX_PC17L_GMAC_GTX3) -#define PORT_PC17L_GMAC_GTX3 (_UL_(1) << 17) -#define PIN_PA14L_GMAC_GTXCK _L_(14) /**< \brief GMAC signal: GTXCK on PA14 mux L */ -#define MUX_PA14L_GMAC_GTXCK _L_(11) -#define PINMUX_PA14L_GMAC_GTXCK ((PIN_PA14L_GMAC_GTXCK << 16) | MUX_PA14L_GMAC_GTXCK) -#define PORT_PA14L_GMAC_GTXCK (_UL_(1) << 14) -#define PIN_PA17L_GMAC_GTXEN _L_(17) /**< \brief GMAC signal: GTXEN on PA17 mux L */ -#define MUX_PA17L_GMAC_GTXEN _L_(11) -#define PINMUX_PA17L_GMAC_GTXEN ((PIN_PA17L_GMAC_GTXEN << 16) | MUX_PA17L_GMAC_GTXEN) -#define PORT_PA17L_GMAC_GTXEN (_UL_(1) << 17) -#define PIN_PC19L_GMAC_GTXER _L_(83) /**< \brief GMAC signal: GTXER on PC19 mux L */ -#define MUX_PC19L_GMAC_GTXER _L_(11) -#define PINMUX_PC19L_GMAC_GTXER ((PIN_PC19L_GMAC_GTXER << 16) | MUX_PC19L_GMAC_GTXER) -#define PORT_PC19L_GMAC_GTXER (_UL_(1) << 19) -/* ========== PORT definition for TCC2 peripheral ========== */ -#define PIN_PA14F_TCC2_WO0 _L_(14) /**< \brief TCC2 signal: WO0 on PA14 mux F */ -#define MUX_PA14F_TCC2_WO0 _L_(5) -#define PINMUX_PA14F_TCC2_WO0 ((PIN_PA14F_TCC2_WO0 << 16) | MUX_PA14F_TCC2_WO0) -#define PORT_PA14F_TCC2_WO0 (_UL_(1) << 14) -#define PIN_PA30F_TCC2_WO0 _L_(30) /**< \brief TCC2 signal: WO0 on PA30 mux F */ -#define MUX_PA30F_TCC2_WO0 _L_(5) -#define PINMUX_PA30F_TCC2_WO0 ((PIN_PA30F_TCC2_WO0 << 16) | MUX_PA30F_TCC2_WO0) -#define PORT_PA30F_TCC2_WO0 (_UL_(1) << 30) -#define PIN_PA15F_TCC2_WO1 _L_(15) /**< \brief TCC2 signal: WO1 on PA15 mux F */ -#define MUX_PA15F_TCC2_WO1 _L_(5) -#define PINMUX_PA15F_TCC2_WO1 ((PIN_PA15F_TCC2_WO1 << 16) | MUX_PA15F_TCC2_WO1) -#define PORT_PA15F_TCC2_WO1 (_UL_(1) << 15) -#define PIN_PA31F_TCC2_WO1 _L_(31) /**< \brief TCC2 signal: WO1 on PA31 mux F */ -#define MUX_PA31F_TCC2_WO1 _L_(5) -#define PINMUX_PA31F_TCC2_WO1 ((PIN_PA31F_TCC2_WO1 << 16) | MUX_PA31F_TCC2_WO1) -#define PORT_PA31F_TCC2_WO1 (_UL_(1) << 31) -#define PIN_PA24F_TCC2_WO2 _L_(24) /**< \brief TCC2 signal: WO2 on PA24 mux F */ -#define MUX_PA24F_TCC2_WO2 _L_(5) -#define PINMUX_PA24F_TCC2_WO2 ((PIN_PA24F_TCC2_WO2 << 16) | MUX_PA24F_TCC2_WO2) -#define PORT_PA24F_TCC2_WO2 (_UL_(1) << 24) -#define PIN_PB02F_TCC2_WO2 _L_(34) /**< \brief TCC2 signal: WO2 on PB02 mux F */ -#define MUX_PB02F_TCC2_WO2 _L_(5) -#define PINMUX_PB02F_TCC2_WO2 ((PIN_PB02F_TCC2_WO2 << 16) | MUX_PB02F_TCC2_WO2) -#define PORT_PB02F_TCC2_WO2 (_UL_(1) << 2) -/* ========== PORT definition for TCC3 peripheral ========== */ -#define PIN_PB12F_TCC3_WO0 _L_(44) /**< \brief TCC3 signal: WO0 on PB12 mux F */ -#define MUX_PB12F_TCC3_WO0 _L_(5) -#define PINMUX_PB12F_TCC3_WO0 ((PIN_PB12F_TCC3_WO0 << 16) | MUX_PB12F_TCC3_WO0) -#define PORT_PB12F_TCC3_WO0 (_UL_(1) << 12) -#define PIN_PB16F_TCC3_WO0 _L_(48) /**< \brief TCC3 signal: WO0 on PB16 mux F */ -#define MUX_PB16F_TCC3_WO0 _L_(5) -#define PINMUX_PB16F_TCC3_WO0 ((PIN_PB16F_TCC3_WO0 << 16) | MUX_PB16F_TCC3_WO0) -#define PORT_PB16F_TCC3_WO0 (_UL_(1) << 16) -#define PIN_PB13F_TCC3_WO1 _L_(45) /**< \brief TCC3 signal: WO1 on PB13 mux F */ -#define MUX_PB13F_TCC3_WO1 _L_(5) -#define PINMUX_PB13F_TCC3_WO1 ((PIN_PB13F_TCC3_WO1 << 16) | MUX_PB13F_TCC3_WO1) -#define PORT_PB13F_TCC3_WO1 (_UL_(1) << 13) -#define PIN_PB17F_TCC3_WO1 _L_(49) /**< \brief TCC3 signal: WO1 on PB17 mux F */ -#define MUX_PB17F_TCC3_WO1 _L_(5) -#define PINMUX_PB17F_TCC3_WO1 ((PIN_PB17F_TCC3_WO1 << 16) | MUX_PB17F_TCC3_WO1) -#define PORT_PB17F_TCC3_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC4 peripheral ========== */ -#define PIN_PA22E_TC4_WO0 _L_(22) /**< \brief TC4 signal: WO0 on PA22 mux E */ -#define MUX_PA22E_TC4_WO0 _L_(4) -#define PINMUX_PA22E_TC4_WO0 ((PIN_PA22E_TC4_WO0 << 16) | MUX_PA22E_TC4_WO0) -#define PORT_PA22E_TC4_WO0 (_UL_(1) << 22) -#define PIN_PB08E_TC4_WO0 _L_(40) /**< \brief TC4 signal: WO0 on PB08 mux E */ -#define MUX_PB08E_TC4_WO0 _L_(4) -#define PINMUX_PB08E_TC4_WO0 ((PIN_PB08E_TC4_WO0 << 16) | MUX_PB08E_TC4_WO0) -#define PORT_PB08E_TC4_WO0 (_UL_(1) << 8) -#define PIN_PB12E_TC4_WO0 _L_(44) /**< \brief TC4 signal: WO0 on PB12 mux E */ -#define MUX_PB12E_TC4_WO0 _L_(4) -#define PINMUX_PB12E_TC4_WO0 ((PIN_PB12E_TC4_WO0 << 16) | MUX_PB12E_TC4_WO0) -#define PORT_PB12E_TC4_WO0 (_UL_(1) << 12) -#define PIN_PA23E_TC4_WO1 _L_(23) /**< \brief TC4 signal: WO1 on PA23 mux E */ -#define MUX_PA23E_TC4_WO1 _L_(4) -#define PINMUX_PA23E_TC4_WO1 ((PIN_PA23E_TC4_WO1 << 16) | MUX_PA23E_TC4_WO1) -#define PORT_PA23E_TC4_WO1 (_UL_(1) << 23) -#define PIN_PB09E_TC4_WO1 _L_(41) /**< \brief TC4 signal: WO1 on PB09 mux E */ -#define MUX_PB09E_TC4_WO1 _L_(4) -#define PINMUX_PB09E_TC4_WO1 ((PIN_PB09E_TC4_WO1 << 16) | MUX_PB09E_TC4_WO1) -#define PORT_PB09E_TC4_WO1 (_UL_(1) << 9) -#define PIN_PB13E_TC4_WO1 _L_(45) /**< \brief TC4 signal: WO1 on PB13 mux E */ -#define MUX_PB13E_TC4_WO1 _L_(4) -#define PINMUX_PB13E_TC4_WO1 ((PIN_PB13E_TC4_WO1 << 16) | MUX_PB13E_TC4_WO1) -#define PORT_PB13E_TC4_WO1 (_UL_(1) << 13) -/* ========== PORT definition for TC5 peripheral ========== */ -#define PIN_PA24E_TC5_WO0 _L_(24) /**< \brief TC5 signal: WO0 on PA24 mux E */ -#define MUX_PA24E_TC5_WO0 _L_(4) -#define PINMUX_PA24E_TC5_WO0 ((PIN_PA24E_TC5_WO0 << 16) | MUX_PA24E_TC5_WO0) -#define PORT_PA24E_TC5_WO0 (_UL_(1) << 24) -#define PIN_PB10E_TC5_WO0 _L_(42) /**< \brief TC5 signal: WO0 on PB10 mux E */ -#define MUX_PB10E_TC5_WO0 _L_(4) -#define PINMUX_PB10E_TC5_WO0 ((PIN_PB10E_TC5_WO0 << 16) | MUX_PB10E_TC5_WO0) -#define PORT_PB10E_TC5_WO0 (_UL_(1) << 10) -#define PIN_PB14E_TC5_WO0 _L_(46) /**< \brief TC5 signal: WO0 on PB14 mux E */ -#define MUX_PB14E_TC5_WO0 _L_(4) -#define PINMUX_PB14E_TC5_WO0 ((PIN_PB14E_TC5_WO0 << 16) | MUX_PB14E_TC5_WO0) -#define PORT_PB14E_TC5_WO0 (_UL_(1) << 14) -#define PIN_PA25E_TC5_WO1 _L_(25) /**< \brief TC5 signal: WO1 on PA25 mux E */ -#define MUX_PA25E_TC5_WO1 _L_(4) -#define PINMUX_PA25E_TC5_WO1 ((PIN_PA25E_TC5_WO1 << 16) | MUX_PA25E_TC5_WO1) -#define PORT_PA25E_TC5_WO1 (_UL_(1) << 25) -#define PIN_PB11E_TC5_WO1 _L_(43) /**< \brief TC5 signal: WO1 on PB11 mux E */ -#define MUX_PB11E_TC5_WO1 _L_(4) -#define PINMUX_PB11E_TC5_WO1 ((PIN_PB11E_TC5_WO1 << 16) | MUX_PB11E_TC5_WO1) -#define PORT_PB11E_TC5_WO1 (_UL_(1) << 11) -#define PIN_PB15E_TC5_WO1 _L_(47) /**< \brief TC5 signal: WO1 on PB15 mux E */ -#define MUX_PB15E_TC5_WO1 _L_(4) -#define PINMUX_PB15E_TC5_WO1 ((PIN_PB15E_TC5_WO1 << 16) | MUX_PB15E_TC5_WO1) -#define PORT_PB15E_TC5_WO1 (_UL_(1) << 15) -/* ========== PORT definition for PDEC peripheral ========== */ -#define PIN_PB18G_PDEC_QDI0 _L_(50) /**< \brief PDEC signal: QDI0 on PB18 mux G */ -#define MUX_PB18G_PDEC_QDI0 _L_(6) -#define PINMUX_PB18G_PDEC_QDI0 ((PIN_PB18G_PDEC_QDI0 << 16) | MUX_PB18G_PDEC_QDI0) -#define PORT_PB18G_PDEC_QDI0 (_UL_(1) << 18) -#define PIN_PB23G_PDEC_QDI0 _L_(55) /**< \brief PDEC signal: QDI0 on PB23 mux G */ -#define MUX_PB23G_PDEC_QDI0 _L_(6) -#define PINMUX_PB23G_PDEC_QDI0 ((PIN_PB23G_PDEC_QDI0 << 16) | MUX_PB23G_PDEC_QDI0) -#define PORT_PB23G_PDEC_QDI0 (_UL_(1) << 23) -#define PIN_PC16G_PDEC_QDI0 _L_(80) /**< \brief PDEC signal: QDI0 on PC16 mux G */ -#define MUX_PC16G_PDEC_QDI0 _L_(6) -#define PINMUX_PC16G_PDEC_QDI0 ((PIN_PC16G_PDEC_QDI0 << 16) | MUX_PC16G_PDEC_QDI0) -#define PORT_PC16G_PDEC_QDI0 (_UL_(1) << 16) -#define PIN_PA24G_PDEC_QDI0 _L_(24) /**< \brief PDEC signal: QDI0 on PA24 mux G */ -#define MUX_PA24G_PDEC_QDI0 _L_(6) -#define PINMUX_PA24G_PDEC_QDI0 ((PIN_PA24G_PDEC_QDI0 << 16) | MUX_PA24G_PDEC_QDI0) -#define PORT_PA24G_PDEC_QDI0 (_UL_(1) << 24) -#define PIN_PB19G_PDEC_QDI1 _L_(51) /**< \brief PDEC signal: QDI1 on PB19 mux G */ -#define MUX_PB19G_PDEC_QDI1 _L_(6) -#define PINMUX_PB19G_PDEC_QDI1 ((PIN_PB19G_PDEC_QDI1 << 16) | MUX_PB19G_PDEC_QDI1) -#define PORT_PB19G_PDEC_QDI1 (_UL_(1) << 19) -#define PIN_PB24G_PDEC_QDI1 _L_(56) /**< \brief PDEC signal: QDI1 on PB24 mux G */ -#define MUX_PB24G_PDEC_QDI1 _L_(6) -#define PINMUX_PB24G_PDEC_QDI1 ((PIN_PB24G_PDEC_QDI1 << 16) | MUX_PB24G_PDEC_QDI1) -#define PORT_PB24G_PDEC_QDI1 (_UL_(1) << 24) -#define PIN_PC17G_PDEC_QDI1 _L_(81) /**< \brief PDEC signal: QDI1 on PC17 mux G */ -#define MUX_PC17G_PDEC_QDI1 _L_(6) -#define PINMUX_PC17G_PDEC_QDI1 ((PIN_PC17G_PDEC_QDI1 << 16) | MUX_PC17G_PDEC_QDI1) -#define PORT_PC17G_PDEC_QDI1 (_UL_(1) << 17) -#define PIN_PA25G_PDEC_QDI1 _L_(25) /**< \brief PDEC signal: QDI1 on PA25 mux G */ -#define MUX_PA25G_PDEC_QDI1 _L_(6) -#define PINMUX_PA25G_PDEC_QDI1 ((PIN_PA25G_PDEC_QDI1 << 16) | MUX_PA25G_PDEC_QDI1) -#define PORT_PA25G_PDEC_QDI1 (_UL_(1) << 25) -#define PIN_PB20G_PDEC_QDI2 _L_(52) /**< \brief PDEC signal: QDI2 on PB20 mux G */ -#define MUX_PB20G_PDEC_QDI2 _L_(6) -#define PINMUX_PB20G_PDEC_QDI2 ((PIN_PB20G_PDEC_QDI2 << 16) | MUX_PB20G_PDEC_QDI2) -#define PORT_PB20G_PDEC_QDI2 (_UL_(1) << 20) -#define PIN_PB25G_PDEC_QDI2 _L_(57) /**< \brief PDEC signal: QDI2 on PB25 mux G */ -#define MUX_PB25G_PDEC_QDI2 _L_(6) -#define PINMUX_PB25G_PDEC_QDI2 ((PIN_PB25G_PDEC_QDI2 << 16) | MUX_PB25G_PDEC_QDI2) -#define PORT_PB25G_PDEC_QDI2 (_UL_(1) << 25) -#define PIN_PC18G_PDEC_QDI2 _L_(82) /**< \brief PDEC signal: QDI2 on PC18 mux G */ -#define MUX_PC18G_PDEC_QDI2 _L_(6) -#define PINMUX_PC18G_PDEC_QDI2 ((PIN_PC18G_PDEC_QDI2 << 16) | MUX_PC18G_PDEC_QDI2) -#define PORT_PC18G_PDEC_QDI2 (_UL_(1) << 18) -#define PIN_PB22G_PDEC_QDI2 _L_(54) /**< \brief PDEC signal: QDI2 on PB22 mux G */ -#define MUX_PB22G_PDEC_QDI2 _L_(6) -#define PINMUX_PB22G_PDEC_QDI2 ((PIN_PB22G_PDEC_QDI2 << 16) | MUX_PB22G_PDEC_QDI2) -#define PORT_PB22G_PDEC_QDI2 (_UL_(1) << 22) -/* ========== PORT definition for AC peripheral ========== */ -#define PIN_PA04B_AC_AIN0 _L_(4) /**< \brief AC signal: AIN0 on PA04 mux B */ -#define MUX_PA04B_AC_AIN0 _L_(1) -#define PINMUX_PA04B_AC_AIN0 ((PIN_PA04B_AC_AIN0 << 16) | MUX_PA04B_AC_AIN0) -#define PORT_PA04B_AC_AIN0 (_UL_(1) << 4) -#define PIN_PA05B_AC_AIN1 _L_(5) /**< \brief AC signal: AIN1 on PA05 mux B */ -#define MUX_PA05B_AC_AIN1 _L_(1) -#define PINMUX_PA05B_AC_AIN1 ((PIN_PA05B_AC_AIN1 << 16) | MUX_PA05B_AC_AIN1) -#define PORT_PA05B_AC_AIN1 (_UL_(1) << 5) -#define PIN_PA06B_AC_AIN2 _L_(6) /**< \brief AC signal: AIN2 on PA06 mux B */ -#define MUX_PA06B_AC_AIN2 _L_(1) -#define PINMUX_PA06B_AC_AIN2 ((PIN_PA06B_AC_AIN2 << 16) | MUX_PA06B_AC_AIN2) -#define PORT_PA06B_AC_AIN2 (_UL_(1) << 6) -#define PIN_PA07B_AC_AIN3 _L_(7) /**< \brief AC signal: AIN3 on PA07 mux B */ -#define MUX_PA07B_AC_AIN3 _L_(1) -#define PINMUX_PA07B_AC_AIN3 ((PIN_PA07B_AC_AIN3 << 16) | MUX_PA07B_AC_AIN3) -#define PORT_PA07B_AC_AIN3 (_UL_(1) << 7) -#define PIN_PA12M_AC_CMP0 _L_(12) /**< \brief AC signal: CMP0 on PA12 mux M */ -#define MUX_PA12M_AC_CMP0 _L_(12) -#define PINMUX_PA12M_AC_CMP0 ((PIN_PA12M_AC_CMP0 << 16) | MUX_PA12M_AC_CMP0) -#define PORT_PA12M_AC_CMP0 (_UL_(1) << 12) -#define PIN_PA18M_AC_CMP0 _L_(18) /**< \brief AC signal: CMP0 on PA18 mux M */ -#define MUX_PA18M_AC_CMP0 _L_(12) -#define PINMUX_PA18M_AC_CMP0 ((PIN_PA18M_AC_CMP0 << 16) | MUX_PA18M_AC_CMP0) -#define PORT_PA18M_AC_CMP0 (_UL_(1) << 18) -#define PIN_PB24M_AC_CMP0 _L_(56) /**< \brief AC signal: CMP0 on PB24 mux M */ -#define MUX_PB24M_AC_CMP0 _L_(12) -#define PINMUX_PB24M_AC_CMP0 ((PIN_PB24M_AC_CMP0 << 16) | MUX_PB24M_AC_CMP0) -#define PORT_PB24M_AC_CMP0 (_UL_(1) << 24) -#define PIN_PA13M_AC_CMP1 _L_(13) /**< \brief AC signal: CMP1 on PA13 mux M */ -#define MUX_PA13M_AC_CMP1 _L_(12) -#define PINMUX_PA13M_AC_CMP1 ((PIN_PA13M_AC_CMP1 << 16) | MUX_PA13M_AC_CMP1) -#define PORT_PA13M_AC_CMP1 (_UL_(1) << 13) -#define PIN_PA19M_AC_CMP1 _L_(19) /**< \brief AC signal: CMP1 on PA19 mux M */ -#define MUX_PA19M_AC_CMP1 _L_(12) -#define PINMUX_PA19M_AC_CMP1 ((PIN_PA19M_AC_CMP1 << 16) | MUX_PA19M_AC_CMP1) -#define PORT_PA19M_AC_CMP1 (_UL_(1) << 19) -#define PIN_PB25M_AC_CMP1 _L_(57) /**< \brief AC signal: CMP1 on PB25 mux M */ -#define MUX_PB25M_AC_CMP1 _L_(12) -#define PINMUX_PB25M_AC_CMP1 ((PIN_PB25M_AC_CMP1 << 16) | MUX_PB25M_AC_CMP1) -#define PORT_PB25M_AC_CMP1 (_UL_(1) << 25) -/* ========== PORT definition for QSPI peripheral ========== */ -#define PIN_PB11H_QSPI_CS _L_(43) /**< \brief QSPI signal: CS on PB11 mux H */ -#define MUX_PB11H_QSPI_CS _L_(7) -#define PINMUX_PB11H_QSPI_CS ((PIN_PB11H_QSPI_CS << 16) | MUX_PB11H_QSPI_CS) -#define PORT_PB11H_QSPI_CS (_UL_(1) << 11) -#define PIN_PA08H_QSPI_DATA0 _L_(8) /**< \brief QSPI signal: DATA0 on PA08 mux H */ -#define MUX_PA08H_QSPI_DATA0 _L_(7) -#define PINMUX_PA08H_QSPI_DATA0 ((PIN_PA08H_QSPI_DATA0 << 16) | MUX_PA08H_QSPI_DATA0) -#define PORT_PA08H_QSPI_DATA0 (_UL_(1) << 8) -#define PIN_PA09H_QSPI_DATA1 _L_(9) /**< \brief QSPI signal: DATA1 on PA09 mux H */ -#define MUX_PA09H_QSPI_DATA1 _L_(7) -#define PINMUX_PA09H_QSPI_DATA1 ((PIN_PA09H_QSPI_DATA1 << 16) | MUX_PA09H_QSPI_DATA1) -#define PORT_PA09H_QSPI_DATA1 (_UL_(1) << 9) -#define PIN_PA10H_QSPI_DATA2 _L_(10) /**< \brief QSPI signal: DATA2 on PA10 mux H */ -#define MUX_PA10H_QSPI_DATA2 _L_(7) -#define PINMUX_PA10H_QSPI_DATA2 ((PIN_PA10H_QSPI_DATA2 << 16) | MUX_PA10H_QSPI_DATA2) -#define PORT_PA10H_QSPI_DATA2 (_UL_(1) << 10) -#define PIN_PA11H_QSPI_DATA3 _L_(11) /**< \brief QSPI signal: DATA3 on PA11 mux H */ -#define MUX_PA11H_QSPI_DATA3 _L_(7) -#define PINMUX_PA11H_QSPI_DATA3 ((PIN_PA11H_QSPI_DATA3 << 16) | MUX_PA11H_QSPI_DATA3) -#define PORT_PA11H_QSPI_DATA3 (_UL_(1) << 11) -#define PIN_PB10H_QSPI_SCK _L_(42) /**< \brief QSPI signal: SCK on PB10 mux H */ -#define MUX_PB10H_QSPI_SCK _L_(7) -#define PINMUX_PB10H_QSPI_SCK ((PIN_PB10H_QSPI_SCK << 16) | MUX_PB10H_QSPI_SCK) -#define PORT_PB10H_QSPI_SCK (_UL_(1) << 10) -/* ========== PORT definition for CCL peripheral ========== */ -#define PIN_PA04N_CCL_IN0 _L_(4) /**< \brief CCL signal: IN0 on PA04 mux N */ -#define MUX_PA04N_CCL_IN0 _L_(13) -#define PINMUX_PA04N_CCL_IN0 ((PIN_PA04N_CCL_IN0 << 16) | MUX_PA04N_CCL_IN0) -#define PORT_PA04N_CCL_IN0 (_UL_(1) << 4) -#define PIN_PA16N_CCL_IN0 _L_(16) /**< \brief CCL signal: IN0 on PA16 mux N */ -#define MUX_PA16N_CCL_IN0 _L_(13) -#define PINMUX_PA16N_CCL_IN0 ((PIN_PA16N_CCL_IN0 << 16) | MUX_PA16N_CCL_IN0) -#define PORT_PA16N_CCL_IN0 (_UL_(1) << 16) -#define PIN_PB22N_CCL_IN0 _L_(54) /**< \brief CCL signal: IN0 on PB22 mux N */ -#define MUX_PB22N_CCL_IN0 _L_(13) -#define PINMUX_PB22N_CCL_IN0 ((PIN_PB22N_CCL_IN0 << 16) | MUX_PB22N_CCL_IN0) -#define PORT_PB22N_CCL_IN0 (_UL_(1) << 22) -#define PIN_PA05N_CCL_IN1 _L_(5) /**< \brief CCL signal: IN1 on PA05 mux N */ -#define MUX_PA05N_CCL_IN1 _L_(13) -#define PINMUX_PA05N_CCL_IN1 ((PIN_PA05N_CCL_IN1 << 16) | MUX_PA05N_CCL_IN1) -#define PORT_PA05N_CCL_IN1 (_UL_(1) << 5) -#define PIN_PA17N_CCL_IN1 _L_(17) /**< \brief CCL signal: IN1 on PA17 mux N */ -#define MUX_PA17N_CCL_IN1 _L_(13) -#define PINMUX_PA17N_CCL_IN1 ((PIN_PA17N_CCL_IN1 << 16) | MUX_PA17N_CCL_IN1) -#define PORT_PA17N_CCL_IN1 (_UL_(1) << 17) -#define PIN_PB00N_CCL_IN1 _L_(32) /**< \brief CCL signal: IN1 on PB00 mux N */ -#define MUX_PB00N_CCL_IN1 _L_(13) -#define PINMUX_PB00N_CCL_IN1 ((PIN_PB00N_CCL_IN1 << 16) | MUX_PB00N_CCL_IN1) -#define PORT_PB00N_CCL_IN1 (_UL_(1) << 0) -#define PIN_PA06N_CCL_IN2 _L_(6) /**< \brief CCL signal: IN2 on PA06 mux N */ -#define MUX_PA06N_CCL_IN2 _L_(13) -#define PINMUX_PA06N_CCL_IN2 ((PIN_PA06N_CCL_IN2 << 16) | MUX_PA06N_CCL_IN2) -#define PORT_PA06N_CCL_IN2 (_UL_(1) << 6) -#define PIN_PA18N_CCL_IN2 _L_(18) /**< \brief CCL signal: IN2 on PA18 mux N */ -#define MUX_PA18N_CCL_IN2 _L_(13) -#define PINMUX_PA18N_CCL_IN2 ((PIN_PA18N_CCL_IN2 << 16) | MUX_PA18N_CCL_IN2) -#define PORT_PA18N_CCL_IN2 (_UL_(1) << 18) -#define PIN_PB01N_CCL_IN2 _L_(33) /**< \brief CCL signal: IN2 on PB01 mux N */ -#define MUX_PB01N_CCL_IN2 _L_(13) -#define PINMUX_PB01N_CCL_IN2 ((PIN_PB01N_CCL_IN2 << 16) | MUX_PB01N_CCL_IN2) -#define PORT_PB01N_CCL_IN2 (_UL_(1) << 1) -#define PIN_PA08N_CCL_IN3 _L_(8) /**< \brief CCL signal: IN3 on PA08 mux N */ -#define MUX_PA08N_CCL_IN3 _L_(13) -#define PINMUX_PA08N_CCL_IN3 ((PIN_PA08N_CCL_IN3 << 16) | MUX_PA08N_CCL_IN3) -#define PORT_PA08N_CCL_IN3 (_UL_(1) << 8) -#define PIN_PA30N_CCL_IN3 _L_(30) /**< \brief CCL signal: IN3 on PA30 mux N */ -#define MUX_PA30N_CCL_IN3 _L_(13) -#define PINMUX_PA30N_CCL_IN3 ((PIN_PA30N_CCL_IN3 << 16) | MUX_PA30N_CCL_IN3) -#define PORT_PA30N_CCL_IN3 (_UL_(1) << 30) -#define PIN_PA09N_CCL_IN4 _L_(9) /**< \brief CCL signal: IN4 on PA09 mux N */ -#define MUX_PA09N_CCL_IN4 _L_(13) -#define PINMUX_PA09N_CCL_IN4 ((PIN_PA09N_CCL_IN4 << 16) | MUX_PA09N_CCL_IN4) -#define PORT_PA09N_CCL_IN4 (_UL_(1) << 9) -#define PIN_PC27N_CCL_IN4 _L_(91) /**< \brief CCL signal: IN4 on PC27 mux N */ -#define MUX_PC27N_CCL_IN4 _L_(13) -#define PINMUX_PC27N_CCL_IN4 ((PIN_PC27N_CCL_IN4 << 16) | MUX_PC27N_CCL_IN4) -#define PORT_PC27N_CCL_IN4 (_UL_(1) << 27) -#define PIN_PA10N_CCL_IN5 _L_(10) /**< \brief CCL signal: IN5 on PA10 mux N */ -#define MUX_PA10N_CCL_IN5 _L_(13) -#define PINMUX_PA10N_CCL_IN5 ((PIN_PA10N_CCL_IN5 << 16) | MUX_PA10N_CCL_IN5) -#define PORT_PA10N_CCL_IN5 (_UL_(1) << 10) -#define PIN_PC28N_CCL_IN5 _L_(92) /**< \brief CCL signal: IN5 on PC28 mux N */ -#define MUX_PC28N_CCL_IN5 _L_(13) -#define PINMUX_PC28N_CCL_IN5 ((PIN_PC28N_CCL_IN5 << 16) | MUX_PC28N_CCL_IN5) -#define PORT_PC28N_CCL_IN5 (_UL_(1) << 28) -#define PIN_PA22N_CCL_IN6 _L_(22) /**< \brief CCL signal: IN6 on PA22 mux N */ -#define MUX_PA22N_CCL_IN6 _L_(13) -#define PINMUX_PA22N_CCL_IN6 ((PIN_PA22N_CCL_IN6 << 16) | MUX_PA22N_CCL_IN6) -#define PORT_PA22N_CCL_IN6 (_UL_(1) << 22) -#define PIN_PB06N_CCL_IN6 _L_(38) /**< \brief CCL signal: IN6 on PB06 mux N */ -#define MUX_PB06N_CCL_IN6 _L_(13) -#define PINMUX_PB06N_CCL_IN6 ((PIN_PB06N_CCL_IN6 << 16) | MUX_PB06N_CCL_IN6) -#define PORT_PB06N_CCL_IN6 (_UL_(1) << 6) -#define PIN_PA23N_CCL_IN7 _L_(23) /**< \brief CCL signal: IN7 on PA23 mux N */ -#define MUX_PA23N_CCL_IN7 _L_(13) -#define PINMUX_PA23N_CCL_IN7 ((PIN_PA23N_CCL_IN7 << 16) | MUX_PA23N_CCL_IN7) -#define PORT_PA23N_CCL_IN7 (_UL_(1) << 23) -#define PIN_PB07N_CCL_IN7 _L_(39) /**< \brief CCL signal: IN7 on PB07 mux N */ -#define MUX_PB07N_CCL_IN7 _L_(13) -#define PINMUX_PB07N_CCL_IN7 ((PIN_PB07N_CCL_IN7 << 16) | MUX_PB07N_CCL_IN7) -#define PORT_PB07N_CCL_IN7 (_UL_(1) << 7) -#define PIN_PA24N_CCL_IN8 _L_(24) /**< \brief CCL signal: IN8 on PA24 mux N */ -#define MUX_PA24N_CCL_IN8 _L_(13) -#define PINMUX_PA24N_CCL_IN8 ((PIN_PA24N_CCL_IN8 << 16) | MUX_PA24N_CCL_IN8) -#define PORT_PA24N_CCL_IN8 (_UL_(1) << 24) -#define PIN_PB08N_CCL_IN8 _L_(40) /**< \brief CCL signal: IN8 on PB08 mux N */ -#define MUX_PB08N_CCL_IN8 _L_(13) -#define PINMUX_PB08N_CCL_IN8 ((PIN_PB08N_CCL_IN8 << 16) | MUX_PB08N_CCL_IN8) -#define PORT_PB08N_CCL_IN8 (_UL_(1) << 8) -#define PIN_PB14N_CCL_IN9 _L_(46) /**< \brief CCL signal: IN9 on PB14 mux N */ -#define MUX_PB14N_CCL_IN9 _L_(13) -#define PINMUX_PB14N_CCL_IN9 ((PIN_PB14N_CCL_IN9 << 16) | MUX_PB14N_CCL_IN9) -#define PORT_PB14N_CCL_IN9 (_UL_(1) << 14) -#define PIN_PC20N_CCL_IN9 _L_(84) /**< \brief CCL signal: IN9 on PC20 mux N */ -#define MUX_PC20N_CCL_IN9 _L_(13) -#define PINMUX_PC20N_CCL_IN9 ((PIN_PC20N_CCL_IN9 << 16) | MUX_PC20N_CCL_IN9) -#define PORT_PC20N_CCL_IN9 (_UL_(1) << 20) -#define PIN_PB15N_CCL_IN10 _L_(47) /**< \brief CCL signal: IN10 on PB15 mux N */ -#define MUX_PB15N_CCL_IN10 _L_(13) -#define PINMUX_PB15N_CCL_IN10 ((PIN_PB15N_CCL_IN10 << 16) | MUX_PB15N_CCL_IN10) -#define PORT_PB15N_CCL_IN10 (_UL_(1) << 15) -#define PIN_PC21N_CCL_IN10 _L_(85) /**< \brief CCL signal: IN10 on PC21 mux N */ -#define MUX_PC21N_CCL_IN10 _L_(13) -#define PINMUX_PC21N_CCL_IN10 ((PIN_PC21N_CCL_IN10 << 16) | MUX_PC21N_CCL_IN10) -#define PORT_PC21N_CCL_IN10 (_UL_(1) << 21) -#define PIN_PB10N_CCL_IN11 _L_(42) /**< \brief CCL signal: IN11 on PB10 mux N */ -#define MUX_PB10N_CCL_IN11 _L_(13) -#define PINMUX_PB10N_CCL_IN11 ((PIN_PB10N_CCL_IN11 << 16) | MUX_PB10N_CCL_IN11) -#define PORT_PB10N_CCL_IN11 (_UL_(1) << 10) -#define PIN_PB16N_CCL_IN11 _L_(48) /**< \brief CCL signal: IN11 on PB16 mux N */ -#define MUX_PB16N_CCL_IN11 _L_(13) -#define PINMUX_PB16N_CCL_IN11 ((PIN_PB16N_CCL_IN11 << 16) | MUX_PB16N_CCL_IN11) -#define PORT_PB16N_CCL_IN11 (_UL_(1) << 16) -#define PIN_PA07N_CCL_OUT0 _L_(7) /**< \brief CCL signal: OUT0 on PA07 mux N */ -#define MUX_PA07N_CCL_OUT0 _L_(13) -#define PINMUX_PA07N_CCL_OUT0 ((PIN_PA07N_CCL_OUT0 << 16) | MUX_PA07N_CCL_OUT0) -#define PORT_PA07N_CCL_OUT0 (_UL_(1) << 7) -#define PIN_PA19N_CCL_OUT0 _L_(19) /**< \brief CCL signal: OUT0 on PA19 mux N */ -#define MUX_PA19N_CCL_OUT0 _L_(13) -#define PINMUX_PA19N_CCL_OUT0 ((PIN_PA19N_CCL_OUT0 << 16) | MUX_PA19N_CCL_OUT0) -#define PORT_PA19N_CCL_OUT0 (_UL_(1) << 19) -#define PIN_PB02N_CCL_OUT0 _L_(34) /**< \brief CCL signal: OUT0 on PB02 mux N */ -#define MUX_PB02N_CCL_OUT0 _L_(13) -#define PINMUX_PB02N_CCL_OUT0 ((PIN_PB02N_CCL_OUT0 << 16) | MUX_PB02N_CCL_OUT0) -#define PORT_PB02N_CCL_OUT0 (_UL_(1) << 2) -#define PIN_PB23N_CCL_OUT0 _L_(55) /**< \brief CCL signal: OUT0 on PB23 mux N */ -#define MUX_PB23N_CCL_OUT0 _L_(13) -#define PINMUX_PB23N_CCL_OUT0 ((PIN_PB23N_CCL_OUT0 << 16) | MUX_PB23N_CCL_OUT0) -#define PORT_PB23N_CCL_OUT0 (_UL_(1) << 23) -#define PIN_PA11N_CCL_OUT1 _L_(11) /**< \brief CCL signal: OUT1 on PA11 mux N */ -#define MUX_PA11N_CCL_OUT1 _L_(13) -#define PINMUX_PA11N_CCL_OUT1 ((PIN_PA11N_CCL_OUT1 << 16) | MUX_PA11N_CCL_OUT1) -#define PORT_PA11N_CCL_OUT1 (_UL_(1) << 11) -#define PIN_PA31N_CCL_OUT1 _L_(31) /**< \brief CCL signal: OUT1 on PA31 mux N */ -#define MUX_PA31N_CCL_OUT1 _L_(13) -#define PINMUX_PA31N_CCL_OUT1 ((PIN_PA31N_CCL_OUT1 << 16) | MUX_PA31N_CCL_OUT1) -#define PORT_PA31N_CCL_OUT1 (_UL_(1) << 31) -#define PIN_PB11N_CCL_OUT1 _L_(43) /**< \brief CCL signal: OUT1 on PB11 mux N */ -#define MUX_PB11N_CCL_OUT1 _L_(13) -#define PINMUX_PB11N_CCL_OUT1 ((PIN_PB11N_CCL_OUT1 << 16) | MUX_PB11N_CCL_OUT1) -#define PORT_PB11N_CCL_OUT1 (_UL_(1) << 11) -#define PIN_PA25N_CCL_OUT2 _L_(25) /**< \brief CCL signal: OUT2 on PA25 mux N */ -#define MUX_PA25N_CCL_OUT2 _L_(13) -#define PINMUX_PA25N_CCL_OUT2 ((PIN_PA25N_CCL_OUT2 << 16) | MUX_PA25N_CCL_OUT2) -#define PORT_PA25N_CCL_OUT2 (_UL_(1) << 25) -#define PIN_PB09N_CCL_OUT2 _L_(41) /**< \brief CCL signal: OUT2 on PB09 mux N */ -#define MUX_PB09N_CCL_OUT2 _L_(13) -#define PINMUX_PB09N_CCL_OUT2 ((PIN_PB09N_CCL_OUT2 << 16) | MUX_PB09N_CCL_OUT2) -#define PORT_PB09N_CCL_OUT2 (_UL_(1) << 9) -#define PIN_PB17N_CCL_OUT3 _L_(49) /**< \brief CCL signal: OUT3 on PB17 mux N */ -#define MUX_PB17N_CCL_OUT3 _L_(13) -#define PINMUX_PB17N_CCL_OUT3 ((PIN_PB17N_CCL_OUT3 << 16) | MUX_PB17N_CCL_OUT3) -#define PORT_PB17N_CCL_OUT3 (_UL_(1) << 17) -/* ========== PORT definition for SERCOM4 peripheral ========== */ -#define PIN_PA13D_SERCOM4_PAD0 _L_(13) /**< \brief SERCOM4 signal: PAD0 on PA13 mux D */ -#define MUX_PA13D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PA13D_SERCOM4_PAD0 ((PIN_PA13D_SERCOM4_PAD0 << 16) | MUX_PA13D_SERCOM4_PAD0) -#define PORT_PA13D_SERCOM4_PAD0 (_UL_(1) << 13) -#define PIN_PB08D_SERCOM4_PAD0 _L_(40) /**< \brief SERCOM4 signal: PAD0 on PB08 mux D */ -#define MUX_PB08D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PB08D_SERCOM4_PAD0 ((PIN_PB08D_SERCOM4_PAD0 << 16) | MUX_PB08D_SERCOM4_PAD0) -#define PORT_PB08D_SERCOM4_PAD0 (_UL_(1) << 8) -#define PIN_PB27D_SERCOM4_PAD0 _L_(59) /**< \brief SERCOM4 signal: PAD0 on PB27 mux D */ -#define MUX_PB27D_SERCOM4_PAD0 _L_(3) -#define PINMUX_PB27D_SERCOM4_PAD0 ((PIN_PB27D_SERCOM4_PAD0 << 16) | MUX_PB27D_SERCOM4_PAD0) -#define PORT_PB27D_SERCOM4_PAD0 (_UL_(1) << 27) -#define PIN_PB12C_SERCOM4_PAD0 _L_(44) /**< \brief SERCOM4 signal: PAD0 on PB12 mux C */ -#define MUX_PB12C_SERCOM4_PAD0 _L_(2) -#define PINMUX_PB12C_SERCOM4_PAD0 ((PIN_PB12C_SERCOM4_PAD0 << 16) | MUX_PB12C_SERCOM4_PAD0) -#define PORT_PB12C_SERCOM4_PAD0 (_UL_(1) << 12) -#define PIN_PA12D_SERCOM4_PAD1 _L_(12) /**< \brief SERCOM4 signal: PAD1 on PA12 mux D */ -#define MUX_PA12D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PA12D_SERCOM4_PAD1 ((PIN_PA12D_SERCOM4_PAD1 << 16) | MUX_PA12D_SERCOM4_PAD1) -#define PORT_PA12D_SERCOM4_PAD1 (_UL_(1) << 12) -#define PIN_PB09D_SERCOM4_PAD1 _L_(41) /**< \brief SERCOM4 signal: PAD1 on PB09 mux D */ -#define MUX_PB09D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PB09D_SERCOM4_PAD1 ((PIN_PB09D_SERCOM4_PAD1 << 16) | MUX_PB09D_SERCOM4_PAD1) -#define PORT_PB09D_SERCOM4_PAD1 (_UL_(1) << 9) -#define PIN_PB26D_SERCOM4_PAD1 _L_(58) /**< \brief SERCOM4 signal: PAD1 on PB26 mux D */ -#define MUX_PB26D_SERCOM4_PAD1 _L_(3) -#define PINMUX_PB26D_SERCOM4_PAD1 ((PIN_PB26D_SERCOM4_PAD1 << 16) | MUX_PB26D_SERCOM4_PAD1) -#define PORT_PB26D_SERCOM4_PAD1 (_UL_(1) << 26) -#define PIN_PB13C_SERCOM4_PAD1 _L_(45) /**< \brief SERCOM4 signal: PAD1 on PB13 mux C */ -#define MUX_PB13C_SERCOM4_PAD1 _L_(2) -#define PINMUX_PB13C_SERCOM4_PAD1 ((PIN_PB13C_SERCOM4_PAD1 << 16) | MUX_PB13C_SERCOM4_PAD1) -#define PORT_PB13C_SERCOM4_PAD1 (_UL_(1) << 13) -#define PIN_PA14D_SERCOM4_PAD2 _L_(14) /**< \brief SERCOM4 signal: PAD2 on PA14 mux D */ -#define MUX_PA14D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PA14D_SERCOM4_PAD2 ((PIN_PA14D_SERCOM4_PAD2 << 16) | MUX_PA14D_SERCOM4_PAD2) -#define PORT_PA14D_SERCOM4_PAD2 (_UL_(1) << 14) -#define PIN_PB10D_SERCOM4_PAD2 _L_(42) /**< \brief SERCOM4 signal: PAD2 on PB10 mux D */ -#define MUX_PB10D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PB10D_SERCOM4_PAD2 ((PIN_PB10D_SERCOM4_PAD2 << 16) | MUX_PB10D_SERCOM4_PAD2) -#define PORT_PB10D_SERCOM4_PAD2 (_UL_(1) << 10) -#define PIN_PB28D_SERCOM4_PAD2 _L_(60) /**< \brief SERCOM4 signal: PAD2 on PB28 mux D */ -#define MUX_PB28D_SERCOM4_PAD2 _L_(3) -#define PINMUX_PB28D_SERCOM4_PAD2 ((PIN_PB28D_SERCOM4_PAD2 << 16) | MUX_PB28D_SERCOM4_PAD2) -#define PORT_PB28D_SERCOM4_PAD2 (_UL_(1) << 28) -#define PIN_PB14C_SERCOM4_PAD2 _L_(46) /**< \brief SERCOM4 signal: PAD2 on PB14 mux C */ -#define MUX_PB14C_SERCOM4_PAD2 _L_(2) -#define PINMUX_PB14C_SERCOM4_PAD2 ((PIN_PB14C_SERCOM4_PAD2 << 16) | MUX_PB14C_SERCOM4_PAD2) -#define PORT_PB14C_SERCOM4_PAD2 (_UL_(1) << 14) -#define PIN_PB11D_SERCOM4_PAD3 _L_(43) /**< \brief SERCOM4 signal: PAD3 on PB11 mux D */ -#define MUX_PB11D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PB11D_SERCOM4_PAD3 ((PIN_PB11D_SERCOM4_PAD3 << 16) | MUX_PB11D_SERCOM4_PAD3) -#define PORT_PB11D_SERCOM4_PAD3 (_UL_(1) << 11) -#define PIN_PB29D_SERCOM4_PAD3 _L_(61) /**< \brief SERCOM4 signal: PAD3 on PB29 mux D */ -#define MUX_PB29D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PB29D_SERCOM4_PAD3 ((PIN_PB29D_SERCOM4_PAD3 << 16) | MUX_PB29D_SERCOM4_PAD3) -#define PORT_PB29D_SERCOM4_PAD3 (_UL_(1) << 29) -#define PIN_PA15D_SERCOM4_PAD3 _L_(15) /**< \brief SERCOM4 signal: PAD3 on PA15 mux D */ -#define MUX_PA15D_SERCOM4_PAD3 _L_(3) -#define PINMUX_PA15D_SERCOM4_PAD3 ((PIN_PA15D_SERCOM4_PAD3 << 16) | MUX_PA15D_SERCOM4_PAD3) -#define PORT_PA15D_SERCOM4_PAD3 (_UL_(1) << 15) -#define PIN_PB15C_SERCOM4_PAD3 _L_(47) /**< \brief SERCOM4 signal: PAD3 on PB15 mux C */ -#define MUX_PB15C_SERCOM4_PAD3 _L_(2) -#define PINMUX_PB15C_SERCOM4_PAD3 ((PIN_PB15C_SERCOM4_PAD3 << 16) | MUX_PB15C_SERCOM4_PAD3) -#define PORT_PB15C_SERCOM4_PAD3 (_UL_(1) << 15) -/* ========== PORT definition for SERCOM5 peripheral ========== */ -#define PIN_PA23D_SERCOM5_PAD0 _L_(23) /**< \brief SERCOM5 signal: PAD0 on PA23 mux D */ -#define MUX_PA23D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PA23D_SERCOM5_PAD0 ((PIN_PA23D_SERCOM5_PAD0 << 16) | MUX_PA23D_SERCOM5_PAD0) -#define PORT_PA23D_SERCOM5_PAD0 (_UL_(1) << 23) -#define PIN_PB02D_SERCOM5_PAD0 _L_(34) /**< \brief SERCOM5 signal: PAD0 on PB02 mux D */ -#define MUX_PB02D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PB02D_SERCOM5_PAD0 ((PIN_PB02D_SERCOM5_PAD0 << 16) | MUX_PB02D_SERCOM5_PAD0) -#define PORT_PB02D_SERCOM5_PAD0 (_UL_(1) << 2) -#define PIN_PB31D_SERCOM5_PAD0 _L_(63) /**< \brief SERCOM5 signal: PAD0 on PB31 mux D */ -#define MUX_PB31D_SERCOM5_PAD0 _L_(3) -#define PINMUX_PB31D_SERCOM5_PAD0 ((PIN_PB31D_SERCOM5_PAD0 << 16) | MUX_PB31D_SERCOM5_PAD0) -#define PORT_PB31D_SERCOM5_PAD0 (_UL_(1) << 31) -#define PIN_PB16C_SERCOM5_PAD0 _L_(48) /**< \brief SERCOM5 signal: PAD0 on PB16 mux C */ -#define MUX_PB16C_SERCOM5_PAD0 _L_(2) -#define PINMUX_PB16C_SERCOM5_PAD0 ((PIN_PB16C_SERCOM5_PAD0 << 16) | MUX_PB16C_SERCOM5_PAD0) -#define PORT_PB16C_SERCOM5_PAD0 (_UL_(1) << 16) -#define PIN_PA22D_SERCOM5_PAD1 _L_(22) /**< \brief SERCOM5 signal: PAD1 on PA22 mux D */ -#define MUX_PA22D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PA22D_SERCOM5_PAD1 ((PIN_PA22D_SERCOM5_PAD1 << 16) | MUX_PA22D_SERCOM5_PAD1) -#define PORT_PA22D_SERCOM5_PAD1 (_UL_(1) << 22) -#define PIN_PB03D_SERCOM5_PAD1 _L_(35) /**< \brief SERCOM5 signal: PAD1 on PB03 mux D */ -#define MUX_PB03D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PB03D_SERCOM5_PAD1 ((PIN_PB03D_SERCOM5_PAD1 << 16) | MUX_PB03D_SERCOM5_PAD1) -#define PORT_PB03D_SERCOM5_PAD1 (_UL_(1) << 3) -#define PIN_PB30D_SERCOM5_PAD1 _L_(62) /**< \brief SERCOM5 signal: PAD1 on PB30 mux D */ -#define MUX_PB30D_SERCOM5_PAD1 _L_(3) -#define PINMUX_PB30D_SERCOM5_PAD1 ((PIN_PB30D_SERCOM5_PAD1 << 16) | MUX_PB30D_SERCOM5_PAD1) -#define PORT_PB30D_SERCOM5_PAD1 (_UL_(1) << 30) -#define PIN_PB17C_SERCOM5_PAD1 _L_(49) /**< \brief SERCOM5 signal: PAD1 on PB17 mux C */ -#define MUX_PB17C_SERCOM5_PAD1 _L_(2) -#define PINMUX_PB17C_SERCOM5_PAD1 ((PIN_PB17C_SERCOM5_PAD1 << 16) | MUX_PB17C_SERCOM5_PAD1) -#define PORT_PB17C_SERCOM5_PAD1 (_UL_(1) << 17) -#define PIN_PA24D_SERCOM5_PAD2 _L_(24) /**< \brief SERCOM5 signal: PAD2 on PA24 mux D */ -#define MUX_PA24D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PA24D_SERCOM5_PAD2 ((PIN_PA24D_SERCOM5_PAD2 << 16) | MUX_PA24D_SERCOM5_PAD2) -#define PORT_PA24D_SERCOM5_PAD2 (_UL_(1) << 24) -#define PIN_PB00D_SERCOM5_PAD2 _L_(32) /**< \brief SERCOM5 signal: PAD2 on PB00 mux D */ -#define MUX_PB00D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PB00D_SERCOM5_PAD2 ((PIN_PB00D_SERCOM5_PAD2 << 16) | MUX_PB00D_SERCOM5_PAD2) -#define PORT_PB00D_SERCOM5_PAD2 (_UL_(1) << 0) -#define PIN_PB22D_SERCOM5_PAD2 _L_(54) /**< \brief SERCOM5 signal: PAD2 on PB22 mux D */ -#define MUX_PB22D_SERCOM5_PAD2 _L_(3) -#define PINMUX_PB22D_SERCOM5_PAD2 ((PIN_PB22D_SERCOM5_PAD2 << 16) | MUX_PB22D_SERCOM5_PAD2) -#define PORT_PB22D_SERCOM5_PAD2 (_UL_(1) << 22) -#define PIN_PA20C_SERCOM5_PAD2 _L_(20) /**< \brief SERCOM5 signal: PAD2 on PA20 mux C */ -#define MUX_PA20C_SERCOM5_PAD2 _L_(2) -#define PINMUX_PA20C_SERCOM5_PAD2 ((PIN_PA20C_SERCOM5_PAD2 << 16) | MUX_PA20C_SERCOM5_PAD2) -#define PORT_PA20C_SERCOM5_PAD2 (_UL_(1) << 20) -#define PIN_PB18C_SERCOM5_PAD2 _L_(50) /**< \brief SERCOM5 signal: PAD2 on PB18 mux C */ -#define MUX_PB18C_SERCOM5_PAD2 _L_(2) -#define PINMUX_PB18C_SERCOM5_PAD2 ((PIN_PB18C_SERCOM5_PAD2 << 16) | MUX_PB18C_SERCOM5_PAD2) -#define PORT_PB18C_SERCOM5_PAD2 (_UL_(1) << 18) -#define PIN_PA25D_SERCOM5_PAD3 _L_(25) /**< \brief SERCOM5 signal: PAD3 on PA25 mux D */ -#define MUX_PA25D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PA25D_SERCOM5_PAD3 ((PIN_PA25D_SERCOM5_PAD3 << 16) | MUX_PA25D_SERCOM5_PAD3) -#define PORT_PA25D_SERCOM5_PAD3 (_UL_(1) << 25) -#define PIN_PB01D_SERCOM5_PAD3 _L_(33) /**< \brief SERCOM5 signal: PAD3 on PB01 mux D */ -#define MUX_PB01D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PB01D_SERCOM5_PAD3 ((PIN_PB01D_SERCOM5_PAD3 << 16) | MUX_PB01D_SERCOM5_PAD3) -#define PORT_PB01D_SERCOM5_PAD3 (_UL_(1) << 1) -#define PIN_PB23D_SERCOM5_PAD3 _L_(55) /**< \brief SERCOM5 signal: PAD3 on PB23 mux D */ -#define MUX_PB23D_SERCOM5_PAD3 _L_(3) -#define PINMUX_PB23D_SERCOM5_PAD3 ((PIN_PB23D_SERCOM5_PAD3 << 16) | MUX_PB23D_SERCOM5_PAD3) -#define PORT_PB23D_SERCOM5_PAD3 (_UL_(1) << 23) -#define PIN_PA21C_SERCOM5_PAD3 _L_(21) /**< \brief SERCOM5 signal: PAD3 on PA21 mux C */ -#define MUX_PA21C_SERCOM5_PAD3 _L_(2) -#define PINMUX_PA21C_SERCOM5_PAD3 ((PIN_PA21C_SERCOM5_PAD3 << 16) | MUX_PA21C_SERCOM5_PAD3) -#define PORT_PA21C_SERCOM5_PAD3 (_UL_(1) << 21) -#define PIN_PB19C_SERCOM5_PAD3 _L_(51) /**< \brief SERCOM5 signal: PAD3 on PB19 mux C */ -#define MUX_PB19C_SERCOM5_PAD3 _L_(2) -#define PINMUX_PB19C_SERCOM5_PAD3 ((PIN_PB19C_SERCOM5_PAD3 << 16) | MUX_PB19C_SERCOM5_PAD3) -#define PORT_PB19C_SERCOM5_PAD3 (_UL_(1) << 19) -/* ========== PORT definition for SERCOM6 peripheral ========== */ -#define PIN_PD09D_SERCOM6_PAD0 _L_(105) /**< \brief SERCOM6 signal: PAD0 on PD09 mux D */ -#define MUX_PD09D_SERCOM6_PAD0 _L_(3) -#define PINMUX_PD09D_SERCOM6_PAD0 ((PIN_PD09D_SERCOM6_PAD0 << 16) | MUX_PD09D_SERCOM6_PAD0) -#define PORT_PD09D_SERCOM6_PAD0 (_UL_(1) << 9) -#define PIN_PC13D_SERCOM6_PAD0 _L_(77) /**< \brief SERCOM6 signal: PAD0 on PC13 mux D */ -#define MUX_PC13D_SERCOM6_PAD0 _L_(3) -#define PINMUX_PC13D_SERCOM6_PAD0 ((PIN_PC13D_SERCOM6_PAD0 << 16) | MUX_PC13D_SERCOM6_PAD0) -#define PORT_PC13D_SERCOM6_PAD0 (_UL_(1) << 13) -#define PIN_PC04C_SERCOM6_PAD0 _L_(68) /**< \brief SERCOM6 signal: PAD0 on PC04 mux C */ -#define MUX_PC04C_SERCOM6_PAD0 _L_(2) -#define PINMUX_PC04C_SERCOM6_PAD0 ((PIN_PC04C_SERCOM6_PAD0 << 16) | MUX_PC04C_SERCOM6_PAD0) -#define PORT_PC04C_SERCOM6_PAD0 (_UL_(1) << 4) -#define PIN_PC16C_SERCOM6_PAD0 _L_(80) /**< \brief SERCOM6 signal: PAD0 on PC16 mux C */ -#define MUX_PC16C_SERCOM6_PAD0 _L_(2) -#define PINMUX_PC16C_SERCOM6_PAD0 ((PIN_PC16C_SERCOM6_PAD0 << 16) | MUX_PC16C_SERCOM6_PAD0) -#define PORT_PC16C_SERCOM6_PAD0 (_UL_(1) << 16) -#define PIN_PD08D_SERCOM6_PAD1 _L_(104) /**< \brief SERCOM6 signal: PAD1 on PD08 mux D */ -#define MUX_PD08D_SERCOM6_PAD1 _L_(3) -#define PINMUX_PD08D_SERCOM6_PAD1 ((PIN_PD08D_SERCOM6_PAD1 << 16) | MUX_PD08D_SERCOM6_PAD1) -#define PORT_PD08D_SERCOM6_PAD1 (_UL_(1) << 8) -#define PIN_PC12D_SERCOM6_PAD1 _L_(76) /**< \brief SERCOM6 signal: PAD1 on PC12 mux D */ -#define MUX_PC12D_SERCOM6_PAD1 _L_(3) -#define PINMUX_PC12D_SERCOM6_PAD1 ((PIN_PC12D_SERCOM6_PAD1 << 16) | MUX_PC12D_SERCOM6_PAD1) -#define PORT_PC12D_SERCOM6_PAD1 (_UL_(1) << 12) -#define PIN_PC05C_SERCOM6_PAD1 _L_(69) /**< \brief SERCOM6 signal: PAD1 on PC05 mux C */ -#define MUX_PC05C_SERCOM6_PAD1 _L_(2) -#define PINMUX_PC05C_SERCOM6_PAD1 ((PIN_PC05C_SERCOM6_PAD1 << 16) | MUX_PC05C_SERCOM6_PAD1) -#define PORT_PC05C_SERCOM6_PAD1 (_UL_(1) << 5) -#define PIN_PC17C_SERCOM6_PAD1 _L_(81) /**< \brief SERCOM6 signal: PAD1 on PC17 mux C */ -#define MUX_PC17C_SERCOM6_PAD1 _L_(2) -#define PINMUX_PC17C_SERCOM6_PAD1 ((PIN_PC17C_SERCOM6_PAD1 << 16) | MUX_PC17C_SERCOM6_PAD1) -#define PORT_PC17C_SERCOM6_PAD1 (_UL_(1) << 17) -#define PIN_PC14D_SERCOM6_PAD2 _L_(78) /**< \brief SERCOM6 signal: PAD2 on PC14 mux D */ -#define MUX_PC14D_SERCOM6_PAD2 _L_(3) -#define PINMUX_PC14D_SERCOM6_PAD2 ((PIN_PC14D_SERCOM6_PAD2 << 16) | MUX_PC14D_SERCOM6_PAD2) -#define PORT_PC14D_SERCOM6_PAD2 (_UL_(1) << 14) -#define PIN_PD10D_SERCOM6_PAD2 _L_(106) /**< \brief SERCOM6 signal: PAD2 on PD10 mux D */ -#define MUX_PD10D_SERCOM6_PAD2 _L_(3) -#define PINMUX_PD10D_SERCOM6_PAD2 ((PIN_PD10D_SERCOM6_PAD2 << 16) | MUX_PD10D_SERCOM6_PAD2) -#define PORT_PD10D_SERCOM6_PAD2 (_UL_(1) << 10) -#define PIN_PC06C_SERCOM6_PAD2 _L_(70) /**< \brief SERCOM6 signal: PAD2 on PC06 mux C */ -#define MUX_PC06C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC06C_SERCOM6_PAD2 ((PIN_PC06C_SERCOM6_PAD2 << 16) | MUX_PC06C_SERCOM6_PAD2) -#define PORT_PC06C_SERCOM6_PAD2 (_UL_(1) << 6) -#define PIN_PC10C_SERCOM6_PAD2 _L_(74) /**< \brief SERCOM6 signal: PAD2 on PC10 mux C */ -#define MUX_PC10C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC10C_SERCOM6_PAD2 ((PIN_PC10C_SERCOM6_PAD2 << 16) | MUX_PC10C_SERCOM6_PAD2) -#define PORT_PC10C_SERCOM6_PAD2 (_UL_(1) << 10) -#define PIN_PC18C_SERCOM6_PAD2 _L_(82) /**< \brief SERCOM6 signal: PAD2 on PC18 mux C */ -#define MUX_PC18C_SERCOM6_PAD2 _L_(2) -#define PINMUX_PC18C_SERCOM6_PAD2 ((PIN_PC18C_SERCOM6_PAD2 << 16) | MUX_PC18C_SERCOM6_PAD2) -#define PORT_PC18C_SERCOM6_PAD2 (_UL_(1) << 18) -#define PIN_PC15D_SERCOM6_PAD3 _L_(79) /**< \brief SERCOM6 signal: PAD3 on PC15 mux D */ -#define MUX_PC15D_SERCOM6_PAD3 _L_(3) -#define PINMUX_PC15D_SERCOM6_PAD3 ((PIN_PC15D_SERCOM6_PAD3 << 16) | MUX_PC15D_SERCOM6_PAD3) -#define PORT_PC15D_SERCOM6_PAD3 (_UL_(1) << 15) -#define PIN_PD11D_SERCOM6_PAD3 _L_(107) /**< \brief SERCOM6 signal: PAD3 on PD11 mux D */ -#define MUX_PD11D_SERCOM6_PAD3 _L_(3) -#define PINMUX_PD11D_SERCOM6_PAD3 ((PIN_PD11D_SERCOM6_PAD3 << 16) | MUX_PD11D_SERCOM6_PAD3) -#define PORT_PD11D_SERCOM6_PAD3 (_UL_(1) << 11) -#define PIN_PC07C_SERCOM6_PAD3 _L_(71) /**< \brief SERCOM6 signal: PAD3 on PC07 mux C */ -#define MUX_PC07C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC07C_SERCOM6_PAD3 ((PIN_PC07C_SERCOM6_PAD3 << 16) | MUX_PC07C_SERCOM6_PAD3) -#define PORT_PC07C_SERCOM6_PAD3 (_UL_(1) << 7) -#define PIN_PC11C_SERCOM6_PAD3 _L_(75) /**< \brief SERCOM6 signal: PAD3 on PC11 mux C */ -#define MUX_PC11C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC11C_SERCOM6_PAD3 ((PIN_PC11C_SERCOM6_PAD3 << 16) | MUX_PC11C_SERCOM6_PAD3) -#define PORT_PC11C_SERCOM6_PAD3 (_UL_(1) << 11) -#define PIN_PC19C_SERCOM6_PAD3 _L_(83) /**< \brief SERCOM6 signal: PAD3 on PC19 mux C */ -#define MUX_PC19C_SERCOM6_PAD3 _L_(2) -#define PINMUX_PC19C_SERCOM6_PAD3 ((PIN_PC19C_SERCOM6_PAD3 << 16) | MUX_PC19C_SERCOM6_PAD3) -#define PORT_PC19C_SERCOM6_PAD3 (_UL_(1) << 19) -/* ========== PORT definition for SERCOM7 peripheral ========== */ -#define PIN_PB21D_SERCOM7_PAD0 _L_(53) /**< \brief SERCOM7 signal: PAD0 on PB21 mux D */ -#define MUX_PB21D_SERCOM7_PAD0 _L_(3) -#define PINMUX_PB21D_SERCOM7_PAD0 ((PIN_PB21D_SERCOM7_PAD0 << 16) | MUX_PB21D_SERCOM7_PAD0) -#define PORT_PB21D_SERCOM7_PAD0 (_UL_(1) << 21) -#define PIN_PD08C_SERCOM7_PAD0 _L_(104) /**< \brief SERCOM7 signal: PAD0 on PD08 mux C */ -#define MUX_PD08C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PD08C_SERCOM7_PAD0 ((PIN_PD08C_SERCOM7_PAD0 << 16) | MUX_PD08C_SERCOM7_PAD0) -#define PORT_PD08C_SERCOM7_PAD0 (_UL_(1) << 8) -#define PIN_PB30C_SERCOM7_PAD0 _L_(62) /**< \brief SERCOM7 signal: PAD0 on PB30 mux C */ -#define MUX_PB30C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PB30C_SERCOM7_PAD0 ((PIN_PB30C_SERCOM7_PAD0 << 16) | MUX_PB30C_SERCOM7_PAD0) -#define PORT_PB30C_SERCOM7_PAD0 (_UL_(1) << 30) -#define PIN_PC12C_SERCOM7_PAD0 _L_(76) /**< \brief SERCOM7 signal: PAD0 on PC12 mux C */ -#define MUX_PC12C_SERCOM7_PAD0 _L_(2) -#define PINMUX_PC12C_SERCOM7_PAD0 ((PIN_PC12C_SERCOM7_PAD0 << 16) | MUX_PC12C_SERCOM7_PAD0) -#define PORT_PC12C_SERCOM7_PAD0 (_UL_(1) << 12) -#define PIN_PB20D_SERCOM7_PAD1 _L_(52) /**< \brief SERCOM7 signal: PAD1 on PB20 mux D */ -#define MUX_PB20D_SERCOM7_PAD1 _L_(3) -#define PINMUX_PB20D_SERCOM7_PAD1 ((PIN_PB20D_SERCOM7_PAD1 << 16) | MUX_PB20D_SERCOM7_PAD1) -#define PORT_PB20D_SERCOM7_PAD1 (_UL_(1) << 20) -#define PIN_PD09C_SERCOM7_PAD1 _L_(105) /**< \brief SERCOM7 signal: PAD1 on PD09 mux C */ -#define MUX_PD09C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PD09C_SERCOM7_PAD1 ((PIN_PD09C_SERCOM7_PAD1 << 16) | MUX_PD09C_SERCOM7_PAD1) -#define PORT_PD09C_SERCOM7_PAD1 (_UL_(1) << 9) -#define PIN_PB31C_SERCOM7_PAD1 _L_(63) /**< \brief SERCOM7 signal: PAD1 on PB31 mux C */ -#define MUX_PB31C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PB31C_SERCOM7_PAD1 ((PIN_PB31C_SERCOM7_PAD1 << 16) | MUX_PB31C_SERCOM7_PAD1) -#define PORT_PB31C_SERCOM7_PAD1 (_UL_(1) << 31) -#define PIN_PC13C_SERCOM7_PAD1 _L_(77) /**< \brief SERCOM7 signal: PAD1 on PC13 mux C */ -#define MUX_PC13C_SERCOM7_PAD1 _L_(2) -#define PINMUX_PC13C_SERCOM7_PAD1 ((PIN_PC13C_SERCOM7_PAD1 << 16) | MUX_PC13C_SERCOM7_PAD1) -#define PORT_PC13C_SERCOM7_PAD1 (_UL_(1) << 13) -#define PIN_PB18D_SERCOM7_PAD2 _L_(50) /**< \brief SERCOM7 signal: PAD2 on PB18 mux D */ -#define MUX_PB18D_SERCOM7_PAD2 _L_(3) -#define PINMUX_PB18D_SERCOM7_PAD2 ((PIN_PB18D_SERCOM7_PAD2 << 16) | MUX_PB18D_SERCOM7_PAD2) -#define PORT_PB18D_SERCOM7_PAD2 (_UL_(1) << 18) -#define PIN_PC10D_SERCOM7_PAD2 _L_(74) /**< \brief SERCOM7 signal: PAD2 on PC10 mux D */ -#define MUX_PC10D_SERCOM7_PAD2 _L_(3) -#define PINMUX_PC10D_SERCOM7_PAD2 ((PIN_PC10D_SERCOM7_PAD2 << 16) | MUX_PC10D_SERCOM7_PAD2) -#define PORT_PC10D_SERCOM7_PAD2 (_UL_(1) << 10) -#define PIN_PC14C_SERCOM7_PAD2 _L_(78) /**< \brief SERCOM7 signal: PAD2 on PC14 mux C */ -#define MUX_PC14C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PC14C_SERCOM7_PAD2 ((PIN_PC14C_SERCOM7_PAD2 << 16) | MUX_PC14C_SERCOM7_PAD2) -#define PORT_PC14C_SERCOM7_PAD2 (_UL_(1) << 14) -#define PIN_PD10C_SERCOM7_PAD2 _L_(106) /**< \brief SERCOM7 signal: PAD2 on PD10 mux C */ -#define MUX_PD10C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PD10C_SERCOM7_PAD2 ((PIN_PD10C_SERCOM7_PAD2 << 16) | MUX_PD10C_SERCOM7_PAD2) -#define PORT_PD10C_SERCOM7_PAD2 (_UL_(1) << 10) -#define PIN_PA30C_SERCOM7_PAD2 _L_(30) /**< \brief SERCOM7 signal: PAD2 on PA30 mux C */ -#define MUX_PA30C_SERCOM7_PAD2 _L_(2) -#define PINMUX_PA30C_SERCOM7_PAD2 ((PIN_PA30C_SERCOM7_PAD2 << 16) | MUX_PA30C_SERCOM7_PAD2) -#define PORT_PA30C_SERCOM7_PAD2 (_UL_(1) << 30) -#define PIN_PB19D_SERCOM7_PAD3 _L_(51) /**< \brief SERCOM7 signal: PAD3 on PB19 mux D */ -#define MUX_PB19D_SERCOM7_PAD3 _L_(3) -#define PINMUX_PB19D_SERCOM7_PAD3 ((PIN_PB19D_SERCOM7_PAD3 << 16) | MUX_PB19D_SERCOM7_PAD3) -#define PORT_PB19D_SERCOM7_PAD3 (_UL_(1) << 19) -#define PIN_PC11D_SERCOM7_PAD3 _L_(75) /**< \brief SERCOM7 signal: PAD3 on PC11 mux D */ -#define MUX_PC11D_SERCOM7_PAD3 _L_(3) -#define PINMUX_PC11D_SERCOM7_PAD3 ((PIN_PC11D_SERCOM7_PAD3 << 16) | MUX_PC11D_SERCOM7_PAD3) -#define PORT_PC11D_SERCOM7_PAD3 (_UL_(1) << 11) -#define PIN_PC15C_SERCOM7_PAD3 _L_(79) /**< \brief SERCOM7 signal: PAD3 on PC15 mux C */ -#define MUX_PC15C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PC15C_SERCOM7_PAD3 ((PIN_PC15C_SERCOM7_PAD3 << 16) | MUX_PC15C_SERCOM7_PAD3) -#define PORT_PC15C_SERCOM7_PAD3 (_UL_(1) << 15) -#define PIN_PD11C_SERCOM7_PAD3 _L_(107) /**< \brief SERCOM7 signal: PAD3 on PD11 mux C */ -#define MUX_PD11C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PD11C_SERCOM7_PAD3 ((PIN_PD11C_SERCOM7_PAD3 << 16) | MUX_PD11C_SERCOM7_PAD3) -#define PORT_PD11C_SERCOM7_PAD3 (_UL_(1) << 11) -#define PIN_PA31C_SERCOM7_PAD3 _L_(31) /**< \brief SERCOM7 signal: PAD3 on PA31 mux C */ -#define MUX_PA31C_SERCOM7_PAD3 _L_(2) -#define PINMUX_PA31C_SERCOM7_PAD3 ((PIN_PA31C_SERCOM7_PAD3 << 16) | MUX_PA31C_SERCOM7_PAD3) -#define PORT_PA31C_SERCOM7_PAD3 (_UL_(1) << 31) -/* ========== PORT definition for TCC4 peripheral ========== */ -#define PIN_PB14F_TCC4_WO0 _L_(46) /**< \brief TCC4 signal: WO0 on PB14 mux F */ -#define MUX_PB14F_TCC4_WO0 _L_(5) -#define PINMUX_PB14F_TCC4_WO0 ((PIN_PB14F_TCC4_WO0 << 16) | MUX_PB14F_TCC4_WO0) -#define PORT_PB14F_TCC4_WO0 (_UL_(1) << 14) -#define PIN_PB30F_TCC4_WO0 _L_(62) /**< \brief TCC4 signal: WO0 on PB30 mux F */ -#define MUX_PB30F_TCC4_WO0 _L_(5) -#define PINMUX_PB30F_TCC4_WO0 ((PIN_PB30F_TCC4_WO0 << 16) | MUX_PB30F_TCC4_WO0) -#define PORT_PB30F_TCC4_WO0 (_UL_(1) << 30) -#define PIN_PB15F_TCC4_WO1 _L_(47) /**< \brief TCC4 signal: WO1 on PB15 mux F */ -#define MUX_PB15F_TCC4_WO1 _L_(5) -#define PINMUX_PB15F_TCC4_WO1 ((PIN_PB15F_TCC4_WO1 << 16) | MUX_PB15F_TCC4_WO1) -#define PORT_PB15F_TCC4_WO1 (_UL_(1) << 15) -#define PIN_PB31F_TCC4_WO1 _L_(63) /**< \brief TCC4 signal: WO1 on PB31 mux F */ -#define MUX_PB31F_TCC4_WO1 _L_(5) -#define PINMUX_PB31F_TCC4_WO1 ((PIN_PB31F_TCC4_WO1 << 16) | MUX_PB31F_TCC4_WO1) -#define PORT_PB31F_TCC4_WO1 (_UL_(1) << 31) -/* ========== PORT definition for TC6 peripheral ========== */ -#define PIN_PA30E_TC6_WO0 _L_(30) /**< \brief TC6 signal: WO0 on PA30 mux E */ -#define MUX_PA30E_TC6_WO0 _L_(4) -#define PINMUX_PA30E_TC6_WO0 ((PIN_PA30E_TC6_WO0 << 16) | MUX_PA30E_TC6_WO0) -#define PORT_PA30E_TC6_WO0 (_UL_(1) << 30) -#define PIN_PB02E_TC6_WO0 _L_(34) /**< \brief TC6 signal: WO0 on PB02 mux E */ -#define MUX_PB02E_TC6_WO0 _L_(4) -#define PINMUX_PB02E_TC6_WO0 ((PIN_PB02E_TC6_WO0 << 16) | MUX_PB02E_TC6_WO0) -#define PORT_PB02E_TC6_WO0 (_UL_(1) << 2) -#define PIN_PB16E_TC6_WO0 _L_(48) /**< \brief TC6 signal: WO0 on PB16 mux E */ -#define MUX_PB16E_TC6_WO0 _L_(4) -#define PINMUX_PB16E_TC6_WO0 ((PIN_PB16E_TC6_WO0 << 16) | MUX_PB16E_TC6_WO0) -#define PORT_PB16E_TC6_WO0 (_UL_(1) << 16) -#define PIN_PA31E_TC6_WO1 _L_(31) /**< \brief TC6 signal: WO1 on PA31 mux E */ -#define MUX_PA31E_TC6_WO1 _L_(4) -#define PINMUX_PA31E_TC6_WO1 ((PIN_PA31E_TC6_WO1 << 16) | MUX_PA31E_TC6_WO1) -#define PORT_PA31E_TC6_WO1 (_UL_(1) << 31) -#define PIN_PB03E_TC6_WO1 _L_(35) /**< \brief TC6 signal: WO1 on PB03 mux E */ -#define MUX_PB03E_TC6_WO1 _L_(4) -#define PINMUX_PB03E_TC6_WO1 ((PIN_PB03E_TC6_WO1 << 16) | MUX_PB03E_TC6_WO1) -#define PORT_PB03E_TC6_WO1 (_UL_(1) << 3) -#define PIN_PB17E_TC6_WO1 _L_(49) /**< \brief TC6 signal: WO1 on PB17 mux E */ -#define MUX_PB17E_TC6_WO1 _L_(4) -#define PINMUX_PB17E_TC6_WO1 ((PIN_PB17E_TC6_WO1 << 16) | MUX_PB17E_TC6_WO1) -#define PORT_PB17E_TC6_WO1 (_UL_(1) << 17) -/* ========== PORT definition for TC7 peripheral ========== */ -#define PIN_PA20E_TC7_WO0 _L_(20) /**< \brief TC7 signal: WO0 on PA20 mux E */ -#define MUX_PA20E_TC7_WO0 _L_(4) -#define PINMUX_PA20E_TC7_WO0 ((PIN_PA20E_TC7_WO0 << 16) | MUX_PA20E_TC7_WO0) -#define PORT_PA20E_TC7_WO0 (_UL_(1) << 20) -#define PIN_PB00E_TC7_WO0 _L_(32) /**< \brief TC7 signal: WO0 on PB00 mux E */ -#define MUX_PB00E_TC7_WO0 _L_(4) -#define PINMUX_PB00E_TC7_WO0 ((PIN_PB00E_TC7_WO0 << 16) | MUX_PB00E_TC7_WO0) -#define PORT_PB00E_TC7_WO0 (_UL_(1) << 0) -#define PIN_PB22E_TC7_WO0 _L_(54) /**< \brief TC7 signal: WO0 on PB22 mux E */ -#define MUX_PB22E_TC7_WO0 _L_(4) -#define PINMUX_PB22E_TC7_WO0 ((PIN_PB22E_TC7_WO0 << 16) | MUX_PB22E_TC7_WO0) -#define PORT_PB22E_TC7_WO0 (_UL_(1) << 22) -#define PIN_PA21E_TC7_WO1 _L_(21) /**< \brief TC7 signal: WO1 on PA21 mux E */ -#define MUX_PA21E_TC7_WO1 _L_(4) -#define PINMUX_PA21E_TC7_WO1 ((PIN_PA21E_TC7_WO1 << 16) | MUX_PA21E_TC7_WO1) -#define PORT_PA21E_TC7_WO1 (_UL_(1) << 21) -#define PIN_PB01E_TC7_WO1 _L_(33) /**< \brief TC7 signal: WO1 on PB01 mux E */ -#define MUX_PB01E_TC7_WO1 _L_(4) -#define PINMUX_PB01E_TC7_WO1 ((PIN_PB01E_TC7_WO1 << 16) | MUX_PB01E_TC7_WO1) -#define PORT_PB01E_TC7_WO1 (_UL_(1) << 1) -#define PIN_PB23E_TC7_WO1 _L_(55) /**< \brief TC7 signal: WO1 on PB23 mux E */ -#define MUX_PB23E_TC7_WO1 _L_(4) -#define PINMUX_PB23E_TC7_WO1 ((PIN_PB23E_TC7_WO1 << 16) | MUX_PB23E_TC7_WO1) -#define PORT_PB23E_TC7_WO1 (_UL_(1) << 23) -/* ========== PORT definition for ADC0 peripheral ========== */ -#define PIN_PA02B_ADC0_AIN0 _L_(2) /**< \brief ADC0 signal: AIN0 on PA02 mux B */ -#define MUX_PA02B_ADC0_AIN0 _L_(1) -#define PINMUX_PA02B_ADC0_AIN0 ((PIN_PA02B_ADC0_AIN0 << 16) | MUX_PA02B_ADC0_AIN0) -#define PORT_PA02B_ADC0_AIN0 (_UL_(1) << 2) -#define PIN_PA03B_ADC0_AIN1 _L_(3) /**< \brief ADC0 signal: AIN1 on PA03 mux B */ -#define MUX_PA03B_ADC0_AIN1 _L_(1) -#define PINMUX_PA03B_ADC0_AIN1 ((PIN_PA03B_ADC0_AIN1 << 16) | MUX_PA03B_ADC0_AIN1) -#define PORT_PA03B_ADC0_AIN1 (_UL_(1) << 3) -#define PIN_PB08B_ADC0_AIN2 _L_(40) /**< \brief ADC0 signal: AIN2 on PB08 mux B */ -#define MUX_PB08B_ADC0_AIN2 _L_(1) -#define PINMUX_PB08B_ADC0_AIN2 ((PIN_PB08B_ADC0_AIN2 << 16) | MUX_PB08B_ADC0_AIN2) -#define PORT_PB08B_ADC0_AIN2 (_UL_(1) << 8) -#define PIN_PB09B_ADC0_AIN3 _L_(41) /**< \brief ADC0 signal: AIN3 on PB09 mux B */ -#define MUX_PB09B_ADC0_AIN3 _L_(1) -#define PINMUX_PB09B_ADC0_AIN3 ((PIN_PB09B_ADC0_AIN3 << 16) | MUX_PB09B_ADC0_AIN3) -#define PORT_PB09B_ADC0_AIN3 (_UL_(1) << 9) -#define PIN_PA04B_ADC0_AIN4 _L_(4) /**< \brief ADC0 signal: AIN4 on PA04 mux B */ -#define MUX_PA04B_ADC0_AIN4 _L_(1) -#define PINMUX_PA04B_ADC0_AIN4 ((PIN_PA04B_ADC0_AIN4 << 16) | MUX_PA04B_ADC0_AIN4) -#define PORT_PA04B_ADC0_AIN4 (_UL_(1) << 4) -#define PIN_PA05B_ADC0_AIN5 _L_(5) /**< \brief ADC0 signal: AIN5 on PA05 mux B */ -#define MUX_PA05B_ADC0_AIN5 _L_(1) -#define PINMUX_PA05B_ADC0_AIN5 ((PIN_PA05B_ADC0_AIN5 << 16) | MUX_PA05B_ADC0_AIN5) -#define PORT_PA05B_ADC0_AIN5 (_UL_(1) << 5) -#define PIN_PA06B_ADC0_AIN6 _L_(6) /**< \brief ADC0 signal: AIN6 on PA06 mux B */ -#define MUX_PA06B_ADC0_AIN6 _L_(1) -#define PINMUX_PA06B_ADC0_AIN6 ((PIN_PA06B_ADC0_AIN6 << 16) | MUX_PA06B_ADC0_AIN6) -#define PORT_PA06B_ADC0_AIN6 (_UL_(1) << 6) -#define PIN_PA07B_ADC0_AIN7 _L_(7) /**< \brief ADC0 signal: AIN7 on PA07 mux B */ -#define MUX_PA07B_ADC0_AIN7 _L_(1) -#define PINMUX_PA07B_ADC0_AIN7 ((PIN_PA07B_ADC0_AIN7 << 16) | MUX_PA07B_ADC0_AIN7) -#define PORT_PA07B_ADC0_AIN7 (_UL_(1) << 7) -#define PIN_PA08B_ADC0_AIN8 _L_(8) /**< \brief ADC0 signal: AIN8 on PA08 mux B */ -#define MUX_PA08B_ADC0_AIN8 _L_(1) -#define PINMUX_PA08B_ADC0_AIN8 ((PIN_PA08B_ADC0_AIN8 << 16) | MUX_PA08B_ADC0_AIN8) -#define PORT_PA08B_ADC0_AIN8 (_UL_(1) << 8) -#define PIN_PA09B_ADC0_AIN9 _L_(9) /**< \brief ADC0 signal: AIN9 on PA09 mux B */ -#define MUX_PA09B_ADC0_AIN9 _L_(1) -#define PINMUX_PA09B_ADC0_AIN9 ((PIN_PA09B_ADC0_AIN9 << 16) | MUX_PA09B_ADC0_AIN9) -#define PORT_PA09B_ADC0_AIN9 (_UL_(1) << 9) -#define PIN_PA10B_ADC0_AIN10 _L_(10) /**< \brief ADC0 signal: AIN10 on PA10 mux B */ -#define MUX_PA10B_ADC0_AIN10 _L_(1) -#define PINMUX_PA10B_ADC0_AIN10 ((PIN_PA10B_ADC0_AIN10 << 16) | MUX_PA10B_ADC0_AIN10) -#define PORT_PA10B_ADC0_AIN10 (_UL_(1) << 10) -#define PIN_PA11B_ADC0_AIN11 _L_(11) /**< \brief ADC0 signal: AIN11 on PA11 mux B */ -#define MUX_PA11B_ADC0_AIN11 _L_(1) -#define PINMUX_PA11B_ADC0_AIN11 ((PIN_PA11B_ADC0_AIN11 << 16) | MUX_PA11B_ADC0_AIN11) -#define PORT_PA11B_ADC0_AIN11 (_UL_(1) << 11) -#define PIN_PB00B_ADC0_AIN12 _L_(32) /**< \brief ADC0 signal: AIN12 on PB00 mux B */ -#define MUX_PB00B_ADC0_AIN12 _L_(1) -#define PINMUX_PB00B_ADC0_AIN12 ((PIN_PB00B_ADC0_AIN12 << 16) | MUX_PB00B_ADC0_AIN12) -#define PORT_PB00B_ADC0_AIN12 (_UL_(1) << 0) -#define PIN_PB01B_ADC0_AIN13 _L_(33) /**< \brief ADC0 signal: AIN13 on PB01 mux B */ -#define MUX_PB01B_ADC0_AIN13 _L_(1) -#define PINMUX_PB01B_ADC0_AIN13 ((PIN_PB01B_ADC0_AIN13 << 16) | MUX_PB01B_ADC0_AIN13) -#define PORT_PB01B_ADC0_AIN13 (_UL_(1) << 1) -#define PIN_PB02B_ADC0_AIN14 _L_(34) /**< \brief ADC0 signal: AIN14 on PB02 mux B */ -#define MUX_PB02B_ADC0_AIN14 _L_(1) -#define PINMUX_PB02B_ADC0_AIN14 ((PIN_PB02B_ADC0_AIN14 << 16) | MUX_PB02B_ADC0_AIN14) -#define PORT_PB02B_ADC0_AIN14 (_UL_(1) << 2) -#define PIN_PB03B_ADC0_AIN15 _L_(35) /**< \brief ADC0 signal: AIN15 on PB03 mux B */ -#define MUX_PB03B_ADC0_AIN15 _L_(1) -#define PINMUX_PB03B_ADC0_AIN15 ((PIN_PB03B_ADC0_AIN15 << 16) | MUX_PB03B_ADC0_AIN15) -#define PORT_PB03B_ADC0_AIN15 (_UL_(1) << 3) -#define PIN_PA03O_ADC0_DRV0 _L_(3) /**< \brief ADC0 signal: DRV0 on PA03 mux O */ -#define MUX_PA03O_ADC0_DRV0 _L_(14) -#define PINMUX_PA03O_ADC0_DRV0 ((PIN_PA03O_ADC0_DRV0 << 16) | MUX_PA03O_ADC0_DRV0) -#define PORT_PA03O_ADC0_DRV0 (_UL_(1) << 3) -#define PIN_PB08O_ADC0_DRV1 _L_(40) /**< \brief ADC0 signal: DRV1 on PB08 mux O */ -#define MUX_PB08O_ADC0_DRV1 _L_(14) -#define PINMUX_PB08O_ADC0_DRV1 ((PIN_PB08O_ADC0_DRV1 << 16) | MUX_PB08O_ADC0_DRV1) -#define PORT_PB08O_ADC0_DRV1 (_UL_(1) << 8) -#define PIN_PB09O_ADC0_DRV2 _L_(41) /**< \brief ADC0 signal: DRV2 on PB09 mux O */ -#define MUX_PB09O_ADC0_DRV2 _L_(14) -#define PINMUX_PB09O_ADC0_DRV2 ((PIN_PB09O_ADC0_DRV2 << 16) | MUX_PB09O_ADC0_DRV2) -#define PORT_PB09O_ADC0_DRV2 (_UL_(1) << 9) -#define PIN_PA04O_ADC0_DRV3 _L_(4) /**< \brief ADC0 signal: DRV3 on PA04 mux O */ -#define MUX_PA04O_ADC0_DRV3 _L_(14) -#define PINMUX_PA04O_ADC0_DRV3 ((PIN_PA04O_ADC0_DRV3 << 16) | MUX_PA04O_ADC0_DRV3) -#define PORT_PA04O_ADC0_DRV3 (_UL_(1) << 4) -#define PIN_PA06O_ADC0_DRV4 _L_(6) /**< \brief ADC0 signal: DRV4 on PA06 mux O */ -#define MUX_PA06O_ADC0_DRV4 _L_(14) -#define PINMUX_PA06O_ADC0_DRV4 ((PIN_PA06O_ADC0_DRV4 << 16) | MUX_PA06O_ADC0_DRV4) -#define PORT_PA06O_ADC0_DRV4 (_UL_(1) << 6) -#define PIN_PA07O_ADC0_DRV5 _L_(7) /**< \brief ADC0 signal: DRV5 on PA07 mux O */ -#define MUX_PA07O_ADC0_DRV5 _L_(14) -#define PINMUX_PA07O_ADC0_DRV5 ((PIN_PA07O_ADC0_DRV5 << 16) | MUX_PA07O_ADC0_DRV5) -#define PORT_PA07O_ADC0_DRV5 (_UL_(1) << 7) -#define PIN_PA08O_ADC0_DRV6 _L_(8) /**< \brief ADC0 signal: DRV6 on PA08 mux O */ -#define MUX_PA08O_ADC0_DRV6 _L_(14) -#define PINMUX_PA08O_ADC0_DRV6 ((PIN_PA08O_ADC0_DRV6 << 16) | MUX_PA08O_ADC0_DRV6) -#define PORT_PA08O_ADC0_DRV6 (_UL_(1) << 8) -#define PIN_PA09O_ADC0_DRV7 _L_(9) /**< \brief ADC0 signal: DRV7 on PA09 mux O */ -#define MUX_PA09O_ADC0_DRV7 _L_(14) -#define PINMUX_PA09O_ADC0_DRV7 ((PIN_PA09O_ADC0_DRV7 << 16) | MUX_PA09O_ADC0_DRV7) -#define PORT_PA09O_ADC0_DRV7 (_UL_(1) << 9) -#define PIN_PA10O_ADC0_DRV8 _L_(10) /**< \brief ADC0 signal: DRV8 on PA10 mux O */ -#define MUX_PA10O_ADC0_DRV8 _L_(14) -#define PINMUX_PA10O_ADC0_DRV8 ((PIN_PA10O_ADC0_DRV8 << 16) | MUX_PA10O_ADC0_DRV8) -#define PORT_PA10O_ADC0_DRV8 (_UL_(1) << 10) -#define PIN_PA11O_ADC0_DRV9 _L_(11) /**< \brief ADC0 signal: DRV9 on PA11 mux O */ -#define MUX_PA11O_ADC0_DRV9 _L_(14) -#define PINMUX_PA11O_ADC0_DRV9 ((PIN_PA11O_ADC0_DRV9 << 16) | MUX_PA11O_ADC0_DRV9) -#define PORT_PA11O_ADC0_DRV9 (_UL_(1) << 11) -#define PIN_PA16O_ADC0_DRV10 _L_(16) /**< \brief ADC0 signal: DRV10 on PA16 mux O */ -#define MUX_PA16O_ADC0_DRV10 _L_(14) -#define PINMUX_PA16O_ADC0_DRV10 ((PIN_PA16O_ADC0_DRV10 << 16) | MUX_PA16O_ADC0_DRV10) -#define PORT_PA16O_ADC0_DRV10 (_UL_(1) << 16) -#define PIN_PA17O_ADC0_DRV11 _L_(17) /**< \brief ADC0 signal: DRV11 on PA17 mux O */ -#define MUX_PA17O_ADC0_DRV11 _L_(14) -#define PINMUX_PA17O_ADC0_DRV11 ((PIN_PA17O_ADC0_DRV11 << 16) | MUX_PA17O_ADC0_DRV11) -#define PORT_PA17O_ADC0_DRV11 (_UL_(1) << 17) -#define PIN_PA18O_ADC0_DRV12 _L_(18) /**< \brief ADC0 signal: DRV12 on PA18 mux O */ -#define MUX_PA18O_ADC0_DRV12 _L_(14) -#define PINMUX_PA18O_ADC0_DRV12 ((PIN_PA18O_ADC0_DRV12 << 16) | MUX_PA18O_ADC0_DRV12) -#define PORT_PA18O_ADC0_DRV12 (_UL_(1) << 18) -#define PIN_PA19O_ADC0_DRV13 _L_(19) /**< \brief ADC0 signal: DRV13 on PA19 mux O */ -#define MUX_PA19O_ADC0_DRV13 _L_(14) -#define PINMUX_PA19O_ADC0_DRV13 ((PIN_PA19O_ADC0_DRV13 << 16) | MUX_PA19O_ADC0_DRV13) -#define PORT_PA19O_ADC0_DRV13 (_UL_(1) << 19) -#define PIN_PA20O_ADC0_DRV14 _L_(20) /**< \brief ADC0 signal: DRV14 on PA20 mux O */ -#define MUX_PA20O_ADC0_DRV14 _L_(14) -#define PINMUX_PA20O_ADC0_DRV14 ((PIN_PA20O_ADC0_DRV14 << 16) | MUX_PA20O_ADC0_DRV14) -#define PORT_PA20O_ADC0_DRV14 (_UL_(1) << 20) -#define PIN_PA21O_ADC0_DRV15 _L_(21) /**< \brief ADC0 signal: DRV15 on PA21 mux O */ -#define MUX_PA21O_ADC0_DRV15 _L_(14) -#define PINMUX_PA21O_ADC0_DRV15 ((PIN_PA21O_ADC0_DRV15 << 16) | MUX_PA21O_ADC0_DRV15) -#define PORT_PA21O_ADC0_DRV15 (_UL_(1) << 21) -#define PIN_PA22O_ADC0_DRV16 _L_(22) /**< \brief ADC0 signal: DRV16 on PA22 mux O */ -#define MUX_PA22O_ADC0_DRV16 _L_(14) -#define PINMUX_PA22O_ADC0_DRV16 ((PIN_PA22O_ADC0_DRV16 << 16) | MUX_PA22O_ADC0_DRV16) -#define PORT_PA22O_ADC0_DRV16 (_UL_(1) << 22) -#define PIN_PA23O_ADC0_DRV17 _L_(23) /**< \brief ADC0 signal: DRV17 on PA23 mux O */ -#define MUX_PA23O_ADC0_DRV17 _L_(14) -#define PINMUX_PA23O_ADC0_DRV17 ((PIN_PA23O_ADC0_DRV17 << 16) | MUX_PA23O_ADC0_DRV17) -#define PORT_PA23O_ADC0_DRV17 (_UL_(1) << 23) -#define PIN_PA27O_ADC0_DRV18 _L_(27) /**< \brief ADC0 signal: DRV18 on PA27 mux O */ -#define MUX_PA27O_ADC0_DRV18 _L_(14) -#define PINMUX_PA27O_ADC0_DRV18 ((PIN_PA27O_ADC0_DRV18 << 16) | MUX_PA27O_ADC0_DRV18) -#define PORT_PA27O_ADC0_DRV18 (_UL_(1) << 27) -#define PIN_PA30O_ADC0_DRV19 _L_(30) /**< \brief ADC0 signal: DRV19 on PA30 mux O */ -#define MUX_PA30O_ADC0_DRV19 _L_(14) -#define PINMUX_PA30O_ADC0_DRV19 ((PIN_PA30O_ADC0_DRV19 << 16) | MUX_PA30O_ADC0_DRV19) -#define PORT_PA30O_ADC0_DRV19 (_UL_(1) << 30) -#define PIN_PB02O_ADC0_DRV20 _L_(34) /**< \brief ADC0 signal: DRV20 on PB02 mux O */ -#define MUX_PB02O_ADC0_DRV20 _L_(14) -#define PINMUX_PB02O_ADC0_DRV20 ((PIN_PB02O_ADC0_DRV20 << 16) | MUX_PB02O_ADC0_DRV20) -#define PORT_PB02O_ADC0_DRV20 (_UL_(1) << 2) -#define PIN_PB03O_ADC0_DRV21 _L_(35) /**< \brief ADC0 signal: DRV21 on PB03 mux O */ -#define MUX_PB03O_ADC0_DRV21 _L_(14) -#define PINMUX_PB03O_ADC0_DRV21 ((PIN_PB03O_ADC0_DRV21 << 16) | MUX_PB03O_ADC0_DRV21) -#define PORT_PB03O_ADC0_DRV21 (_UL_(1) << 3) -#define PIN_PB04O_ADC0_DRV22 _L_(36) /**< \brief ADC0 signal: DRV22 on PB04 mux O */ -#define MUX_PB04O_ADC0_DRV22 _L_(14) -#define PINMUX_PB04O_ADC0_DRV22 ((PIN_PB04O_ADC0_DRV22 << 16) | MUX_PB04O_ADC0_DRV22) -#define PORT_PB04O_ADC0_DRV22 (_UL_(1) << 4) -#define PIN_PB05O_ADC0_DRV23 _L_(37) /**< \brief ADC0 signal: DRV23 on PB05 mux O */ -#define MUX_PB05O_ADC0_DRV23 _L_(14) -#define PINMUX_PB05O_ADC0_DRV23 ((PIN_PB05O_ADC0_DRV23 << 16) | MUX_PB05O_ADC0_DRV23) -#define PORT_PB05O_ADC0_DRV23 (_UL_(1) << 5) -#define PIN_PB06O_ADC0_DRV24 _L_(38) /**< \brief ADC0 signal: DRV24 on PB06 mux O */ -#define MUX_PB06O_ADC0_DRV24 _L_(14) -#define PINMUX_PB06O_ADC0_DRV24 ((PIN_PB06O_ADC0_DRV24 << 16) | MUX_PB06O_ADC0_DRV24) -#define PORT_PB06O_ADC0_DRV24 (_UL_(1) << 6) -#define PIN_PB07O_ADC0_DRV25 _L_(39) /**< \brief ADC0 signal: DRV25 on PB07 mux O */ -#define MUX_PB07O_ADC0_DRV25 _L_(14) -#define PINMUX_PB07O_ADC0_DRV25 ((PIN_PB07O_ADC0_DRV25 << 16) | MUX_PB07O_ADC0_DRV25) -#define PORT_PB07O_ADC0_DRV25 (_UL_(1) << 7) -#define PIN_PB12O_ADC0_DRV26 _L_(44) /**< \brief ADC0 signal: DRV26 on PB12 mux O */ -#define MUX_PB12O_ADC0_DRV26 _L_(14) -#define PINMUX_PB12O_ADC0_DRV26 ((PIN_PB12O_ADC0_DRV26 << 16) | MUX_PB12O_ADC0_DRV26) -#define PORT_PB12O_ADC0_DRV26 (_UL_(1) << 12) -#define PIN_PB13O_ADC0_DRV27 _L_(45) /**< \brief ADC0 signal: DRV27 on PB13 mux O */ -#define MUX_PB13O_ADC0_DRV27 _L_(14) -#define PINMUX_PB13O_ADC0_DRV27 ((PIN_PB13O_ADC0_DRV27 << 16) | MUX_PB13O_ADC0_DRV27) -#define PORT_PB13O_ADC0_DRV27 (_UL_(1) << 13) -#define PIN_PB14O_ADC0_DRV28 _L_(46) /**< \brief ADC0 signal: DRV28 on PB14 mux O */ -#define MUX_PB14O_ADC0_DRV28 _L_(14) -#define PINMUX_PB14O_ADC0_DRV28 ((PIN_PB14O_ADC0_DRV28 << 16) | MUX_PB14O_ADC0_DRV28) -#define PORT_PB14O_ADC0_DRV28 (_UL_(1) << 14) -#define PIN_PB15O_ADC0_DRV29 _L_(47) /**< \brief ADC0 signal: DRV29 on PB15 mux O */ -#define MUX_PB15O_ADC0_DRV29 _L_(14) -#define PINMUX_PB15O_ADC0_DRV29 ((PIN_PB15O_ADC0_DRV29 << 16) | MUX_PB15O_ADC0_DRV29) -#define PORT_PB15O_ADC0_DRV29 (_UL_(1) << 15) -#define PIN_PB00O_ADC0_DRV30 _L_(32) /**< \brief ADC0 signal: DRV30 on PB00 mux O */ -#define MUX_PB00O_ADC0_DRV30 _L_(14) -#define PINMUX_PB00O_ADC0_DRV30 ((PIN_PB00O_ADC0_DRV30 << 16) | MUX_PB00O_ADC0_DRV30) -#define PORT_PB00O_ADC0_DRV30 (_UL_(1) << 0) -#define PIN_PB01O_ADC0_DRV31 _L_(33) /**< \brief ADC0 signal: DRV31 on PB01 mux O */ -#define MUX_PB01O_ADC0_DRV31 _L_(14) -#define PINMUX_PB01O_ADC0_DRV31 ((PIN_PB01O_ADC0_DRV31 << 16) | MUX_PB01O_ADC0_DRV31) -#define PORT_PB01O_ADC0_DRV31 (_UL_(1) << 1) -#define PIN_PA03B_ADC0_PTCXY0 _L_(3) /**< \brief ADC0 signal: PTCXY0 on PA03 mux B */ -#define MUX_PA03B_ADC0_PTCXY0 _L_(1) -#define PINMUX_PA03B_ADC0_PTCXY0 ((PIN_PA03B_ADC0_PTCXY0 << 16) | MUX_PA03B_ADC0_PTCXY0) -#define PORT_PA03B_ADC0_PTCXY0 (_UL_(1) << 3) -#define PIN_PB08B_ADC0_PTCXY1 _L_(40) /**< \brief ADC0 signal: PTCXY1 on PB08 mux B */ -#define MUX_PB08B_ADC0_PTCXY1 _L_(1) -#define PINMUX_PB08B_ADC0_PTCXY1 ((PIN_PB08B_ADC0_PTCXY1 << 16) | MUX_PB08B_ADC0_PTCXY1) -#define PORT_PB08B_ADC0_PTCXY1 (_UL_(1) << 8) -#define PIN_PB09B_ADC0_PTCXY2 _L_(41) /**< \brief ADC0 signal: PTCXY2 on PB09 mux B */ -#define MUX_PB09B_ADC0_PTCXY2 _L_(1) -#define PINMUX_PB09B_ADC0_PTCXY2 ((PIN_PB09B_ADC0_PTCXY2 << 16) | MUX_PB09B_ADC0_PTCXY2) -#define PORT_PB09B_ADC0_PTCXY2 (_UL_(1) << 9) -#define PIN_PA04B_ADC0_PTCXY3 _L_(4) /**< \brief ADC0 signal: PTCXY3 on PA04 mux B */ -#define MUX_PA04B_ADC0_PTCXY3 _L_(1) -#define PINMUX_PA04B_ADC0_PTCXY3 ((PIN_PA04B_ADC0_PTCXY3 << 16) | MUX_PA04B_ADC0_PTCXY3) -#define PORT_PA04B_ADC0_PTCXY3 (_UL_(1) << 4) -#define PIN_PA06B_ADC0_PTCXY4 _L_(6) /**< \brief ADC0 signal: PTCXY4 on PA06 mux B */ -#define MUX_PA06B_ADC0_PTCXY4 _L_(1) -#define PINMUX_PA06B_ADC0_PTCXY4 ((PIN_PA06B_ADC0_PTCXY4 << 16) | MUX_PA06B_ADC0_PTCXY4) -#define PORT_PA06B_ADC0_PTCXY4 (_UL_(1) << 6) -#define PIN_PA07B_ADC0_PTCXY5 _L_(7) /**< \brief ADC0 signal: PTCXY5 on PA07 mux B */ -#define MUX_PA07B_ADC0_PTCXY5 _L_(1) -#define PINMUX_PA07B_ADC0_PTCXY5 ((PIN_PA07B_ADC0_PTCXY5 << 16) | MUX_PA07B_ADC0_PTCXY5) -#define PORT_PA07B_ADC0_PTCXY5 (_UL_(1) << 7) -#define PIN_PA08B_ADC0_PTCXY6 _L_(8) /**< \brief ADC0 signal: PTCXY6 on PA08 mux B */ -#define MUX_PA08B_ADC0_PTCXY6 _L_(1) -#define PINMUX_PA08B_ADC0_PTCXY6 ((PIN_PA08B_ADC0_PTCXY6 << 16) | MUX_PA08B_ADC0_PTCXY6) -#define PORT_PA08B_ADC0_PTCXY6 (_UL_(1) << 8) -#define PIN_PA09B_ADC0_PTCXY7 _L_(9) /**< \brief ADC0 signal: PTCXY7 on PA09 mux B */ -#define MUX_PA09B_ADC0_PTCXY7 _L_(1) -#define PINMUX_PA09B_ADC0_PTCXY7 ((PIN_PA09B_ADC0_PTCXY7 << 16) | MUX_PA09B_ADC0_PTCXY7) -#define PORT_PA09B_ADC0_PTCXY7 (_UL_(1) << 9) -#define PIN_PA10B_ADC0_PTCXY8 _L_(10) /**< \brief ADC0 signal: PTCXY8 on PA10 mux B */ -#define MUX_PA10B_ADC0_PTCXY8 _L_(1) -#define PINMUX_PA10B_ADC0_PTCXY8 ((PIN_PA10B_ADC0_PTCXY8 << 16) | MUX_PA10B_ADC0_PTCXY8) -#define PORT_PA10B_ADC0_PTCXY8 (_UL_(1) << 10) -#define PIN_PA11B_ADC0_PTCXY9 _L_(11) /**< \brief ADC0 signal: PTCXY9 on PA11 mux B */ -#define MUX_PA11B_ADC0_PTCXY9 _L_(1) -#define PINMUX_PA11B_ADC0_PTCXY9 ((PIN_PA11B_ADC0_PTCXY9 << 16) | MUX_PA11B_ADC0_PTCXY9) -#define PORT_PA11B_ADC0_PTCXY9 (_UL_(1) << 11) -#define PIN_PA16B_ADC0_PTCXY10 _L_(16) /**< \brief ADC0 signal: PTCXY10 on PA16 mux B */ -#define MUX_PA16B_ADC0_PTCXY10 _L_(1) -#define PINMUX_PA16B_ADC0_PTCXY10 ((PIN_PA16B_ADC0_PTCXY10 << 16) | MUX_PA16B_ADC0_PTCXY10) -#define PORT_PA16B_ADC0_PTCXY10 (_UL_(1) << 16) -#define PIN_PA17B_ADC0_PTCXY11 _L_(17) /**< \brief ADC0 signal: PTCXY11 on PA17 mux B */ -#define MUX_PA17B_ADC0_PTCXY11 _L_(1) -#define PINMUX_PA17B_ADC0_PTCXY11 ((PIN_PA17B_ADC0_PTCXY11 << 16) | MUX_PA17B_ADC0_PTCXY11) -#define PORT_PA17B_ADC0_PTCXY11 (_UL_(1) << 17) -#define PIN_PA18B_ADC0_PTCXY12 _L_(18) /**< \brief ADC0 signal: PTCXY12 on PA18 mux B */ -#define MUX_PA18B_ADC0_PTCXY12 _L_(1) -#define PINMUX_PA18B_ADC0_PTCXY12 ((PIN_PA18B_ADC0_PTCXY12 << 16) | MUX_PA18B_ADC0_PTCXY12) -#define PORT_PA18B_ADC0_PTCXY12 (_UL_(1) << 18) -#define PIN_PA19B_ADC0_PTCXY13 _L_(19) /**< \brief ADC0 signal: PTCXY13 on PA19 mux B */ -#define MUX_PA19B_ADC0_PTCXY13 _L_(1) -#define PINMUX_PA19B_ADC0_PTCXY13 ((PIN_PA19B_ADC0_PTCXY13 << 16) | MUX_PA19B_ADC0_PTCXY13) -#define PORT_PA19B_ADC0_PTCXY13 (_UL_(1) << 19) -#define PIN_PA20B_ADC0_PTCXY14 _L_(20) /**< \brief ADC0 signal: PTCXY14 on PA20 mux B */ -#define MUX_PA20B_ADC0_PTCXY14 _L_(1) -#define PINMUX_PA20B_ADC0_PTCXY14 ((PIN_PA20B_ADC0_PTCXY14 << 16) | MUX_PA20B_ADC0_PTCXY14) -#define PORT_PA20B_ADC0_PTCXY14 (_UL_(1) << 20) -#define PIN_PA21B_ADC0_PTCXY15 _L_(21) /**< \brief ADC0 signal: PTCXY15 on PA21 mux B */ -#define MUX_PA21B_ADC0_PTCXY15 _L_(1) -#define PINMUX_PA21B_ADC0_PTCXY15 ((PIN_PA21B_ADC0_PTCXY15 << 16) | MUX_PA21B_ADC0_PTCXY15) -#define PORT_PA21B_ADC0_PTCXY15 (_UL_(1) << 21) -#define PIN_PA22B_ADC0_PTCXY16 _L_(22) /**< \brief ADC0 signal: PTCXY16 on PA22 mux B */ -#define MUX_PA22B_ADC0_PTCXY16 _L_(1) -#define PINMUX_PA22B_ADC0_PTCXY16 ((PIN_PA22B_ADC0_PTCXY16 << 16) | MUX_PA22B_ADC0_PTCXY16) -#define PORT_PA22B_ADC0_PTCXY16 (_UL_(1) << 22) -#define PIN_PA23B_ADC0_PTCXY17 _L_(23) /**< \brief ADC0 signal: PTCXY17 on PA23 mux B */ -#define MUX_PA23B_ADC0_PTCXY17 _L_(1) -#define PINMUX_PA23B_ADC0_PTCXY17 ((PIN_PA23B_ADC0_PTCXY17 << 16) | MUX_PA23B_ADC0_PTCXY17) -#define PORT_PA23B_ADC0_PTCXY17 (_UL_(1) << 23) -#define PIN_PA27B_ADC0_PTCXY18 _L_(27) /**< \brief ADC0 signal: PTCXY18 on PA27 mux B */ -#define MUX_PA27B_ADC0_PTCXY18 _L_(1) -#define PINMUX_PA27B_ADC0_PTCXY18 ((PIN_PA27B_ADC0_PTCXY18 << 16) | MUX_PA27B_ADC0_PTCXY18) -#define PORT_PA27B_ADC0_PTCXY18 (_UL_(1) << 27) -#define PIN_PA30B_ADC0_PTCXY19 _L_(30) /**< \brief ADC0 signal: PTCXY19 on PA30 mux B */ -#define MUX_PA30B_ADC0_PTCXY19 _L_(1) -#define PINMUX_PA30B_ADC0_PTCXY19 ((PIN_PA30B_ADC0_PTCXY19 << 16) | MUX_PA30B_ADC0_PTCXY19) -#define PORT_PA30B_ADC0_PTCXY19 (_UL_(1) << 30) -#define PIN_PB02B_ADC0_PTCXY20 _L_(34) /**< \brief ADC0 signal: PTCXY20 on PB02 mux B */ -#define MUX_PB02B_ADC0_PTCXY20 _L_(1) -#define PINMUX_PB02B_ADC0_PTCXY20 ((PIN_PB02B_ADC0_PTCXY20 << 16) | MUX_PB02B_ADC0_PTCXY20) -#define PORT_PB02B_ADC0_PTCXY20 (_UL_(1) << 2) -#define PIN_PB03B_ADC0_PTCXY21 _L_(35) /**< \brief ADC0 signal: PTCXY21 on PB03 mux B */ -#define MUX_PB03B_ADC0_PTCXY21 _L_(1) -#define PINMUX_PB03B_ADC0_PTCXY21 ((PIN_PB03B_ADC0_PTCXY21 << 16) | MUX_PB03B_ADC0_PTCXY21) -#define PORT_PB03B_ADC0_PTCXY21 (_UL_(1) << 3) -#define PIN_PB04B_ADC0_PTCXY22 _L_(36) /**< \brief ADC0 signal: PTCXY22 on PB04 mux B */ -#define MUX_PB04B_ADC0_PTCXY22 _L_(1) -#define PINMUX_PB04B_ADC0_PTCXY22 ((PIN_PB04B_ADC0_PTCXY22 << 16) | MUX_PB04B_ADC0_PTCXY22) -#define PORT_PB04B_ADC0_PTCXY22 (_UL_(1) << 4) -#define PIN_PB05B_ADC0_PTCXY23 _L_(37) /**< \brief ADC0 signal: PTCXY23 on PB05 mux B */ -#define MUX_PB05B_ADC0_PTCXY23 _L_(1) -#define PINMUX_PB05B_ADC0_PTCXY23 ((PIN_PB05B_ADC0_PTCXY23 << 16) | MUX_PB05B_ADC0_PTCXY23) -#define PORT_PB05B_ADC0_PTCXY23 (_UL_(1) << 5) -#define PIN_PB06B_ADC0_PTCXY24 _L_(38) /**< \brief ADC0 signal: PTCXY24 on PB06 mux B */ -#define MUX_PB06B_ADC0_PTCXY24 _L_(1) -#define PINMUX_PB06B_ADC0_PTCXY24 ((PIN_PB06B_ADC0_PTCXY24 << 16) | MUX_PB06B_ADC0_PTCXY24) -#define PORT_PB06B_ADC0_PTCXY24 (_UL_(1) << 6) -#define PIN_PB07B_ADC0_PTCXY25 _L_(39) /**< \brief ADC0 signal: PTCXY25 on PB07 mux B */ -#define MUX_PB07B_ADC0_PTCXY25 _L_(1) -#define PINMUX_PB07B_ADC0_PTCXY25 ((PIN_PB07B_ADC0_PTCXY25 << 16) | MUX_PB07B_ADC0_PTCXY25) -#define PORT_PB07B_ADC0_PTCXY25 (_UL_(1) << 7) -#define PIN_PB12B_ADC0_PTCXY26 _L_(44) /**< \brief ADC0 signal: PTCXY26 on PB12 mux B */ -#define MUX_PB12B_ADC0_PTCXY26 _L_(1) -#define PINMUX_PB12B_ADC0_PTCXY26 ((PIN_PB12B_ADC0_PTCXY26 << 16) | MUX_PB12B_ADC0_PTCXY26) -#define PORT_PB12B_ADC0_PTCXY26 (_UL_(1) << 12) -#define PIN_PB13B_ADC0_PTCXY27 _L_(45) /**< \brief ADC0 signal: PTCXY27 on PB13 mux B */ -#define MUX_PB13B_ADC0_PTCXY27 _L_(1) -#define PINMUX_PB13B_ADC0_PTCXY27 ((PIN_PB13B_ADC0_PTCXY27 << 16) | MUX_PB13B_ADC0_PTCXY27) -#define PORT_PB13B_ADC0_PTCXY27 (_UL_(1) << 13) -#define PIN_PB14B_ADC0_PTCXY28 _L_(46) /**< \brief ADC0 signal: PTCXY28 on PB14 mux B */ -#define MUX_PB14B_ADC0_PTCXY28 _L_(1) -#define PINMUX_PB14B_ADC0_PTCXY28 ((PIN_PB14B_ADC0_PTCXY28 << 16) | MUX_PB14B_ADC0_PTCXY28) -#define PORT_PB14B_ADC0_PTCXY28 (_UL_(1) << 14) -#define PIN_PB15B_ADC0_PTCXY29 _L_(47) /**< \brief ADC0 signal: PTCXY29 on PB15 mux B */ -#define MUX_PB15B_ADC0_PTCXY29 _L_(1) -#define PINMUX_PB15B_ADC0_PTCXY29 ((PIN_PB15B_ADC0_PTCXY29 << 16) | MUX_PB15B_ADC0_PTCXY29) -#define PORT_PB15B_ADC0_PTCXY29 (_UL_(1) << 15) -#define PIN_PB00B_ADC0_PTCXY30 _L_(32) /**< \brief ADC0 signal: PTCXY30 on PB00 mux B */ -#define MUX_PB00B_ADC0_PTCXY30 _L_(1) -#define PINMUX_PB00B_ADC0_PTCXY30 ((PIN_PB00B_ADC0_PTCXY30 << 16) | MUX_PB00B_ADC0_PTCXY30) -#define PORT_PB00B_ADC0_PTCXY30 (_UL_(1) << 0) -#define PIN_PB01B_ADC0_PTCXY31 _L_(33) /**< \brief ADC0 signal: PTCXY31 on PB01 mux B */ -#define MUX_PB01B_ADC0_PTCXY31 _L_(1) -#define PINMUX_PB01B_ADC0_PTCXY31 ((PIN_PB01B_ADC0_PTCXY31 << 16) | MUX_PB01B_ADC0_PTCXY31) -#define PORT_PB01B_ADC0_PTCXY31 (_UL_(1) << 1) -/* ========== PORT definition for ADC1 peripheral ========== */ -#define PIN_PB08B_ADC1_AIN0 _L_(40) /**< \brief ADC1 signal: AIN0 on PB08 mux B */ -#define MUX_PB08B_ADC1_AIN0 _L_(1) -#define PINMUX_PB08B_ADC1_AIN0 ((PIN_PB08B_ADC1_AIN0 << 16) | MUX_PB08B_ADC1_AIN0) -#define PORT_PB08B_ADC1_AIN0 (_UL_(1) << 8) -#define PIN_PB09B_ADC1_AIN1 _L_(41) /**< \brief ADC1 signal: AIN1 on PB09 mux B */ -#define MUX_PB09B_ADC1_AIN1 _L_(1) -#define PINMUX_PB09B_ADC1_AIN1 ((PIN_PB09B_ADC1_AIN1 << 16) | MUX_PB09B_ADC1_AIN1) -#define PORT_PB09B_ADC1_AIN1 (_UL_(1) << 9) -#define PIN_PA08B_ADC1_AIN2 _L_(8) /**< \brief ADC1 signal: AIN2 on PA08 mux B */ -#define MUX_PA08B_ADC1_AIN2 _L_(1) -#define PINMUX_PA08B_ADC1_AIN2 ((PIN_PA08B_ADC1_AIN2 << 16) | MUX_PA08B_ADC1_AIN2) -#define PORT_PA08B_ADC1_AIN2 (_UL_(1) << 8) -#define PIN_PA09B_ADC1_AIN3 _L_(9) /**< \brief ADC1 signal: AIN3 on PA09 mux B */ -#define MUX_PA09B_ADC1_AIN3 _L_(1) -#define PINMUX_PA09B_ADC1_AIN3 ((PIN_PA09B_ADC1_AIN3 << 16) | MUX_PA09B_ADC1_AIN3) -#define PORT_PA09B_ADC1_AIN3 (_UL_(1) << 9) -#define PIN_PC02B_ADC1_AIN4 _L_(66) /**< \brief ADC1 signal: AIN4 on PC02 mux B */ -#define MUX_PC02B_ADC1_AIN4 _L_(1) -#define PINMUX_PC02B_ADC1_AIN4 ((PIN_PC02B_ADC1_AIN4 << 16) | MUX_PC02B_ADC1_AIN4) -#define PORT_PC02B_ADC1_AIN4 (_UL_(1) << 2) -#define PIN_PC03B_ADC1_AIN5 _L_(67) /**< \brief ADC1 signal: AIN5 on PC03 mux B */ -#define MUX_PC03B_ADC1_AIN5 _L_(1) -#define PINMUX_PC03B_ADC1_AIN5 ((PIN_PC03B_ADC1_AIN5 << 16) | MUX_PC03B_ADC1_AIN5) -#define PORT_PC03B_ADC1_AIN5 (_UL_(1) << 3) -#define PIN_PB04B_ADC1_AIN6 _L_(36) /**< \brief ADC1 signal: AIN6 on PB04 mux B */ -#define MUX_PB04B_ADC1_AIN6 _L_(1) -#define PINMUX_PB04B_ADC1_AIN6 ((PIN_PB04B_ADC1_AIN6 << 16) | MUX_PB04B_ADC1_AIN6) -#define PORT_PB04B_ADC1_AIN6 (_UL_(1) << 4) -#define PIN_PB05B_ADC1_AIN7 _L_(37) /**< \brief ADC1 signal: AIN7 on PB05 mux B */ -#define MUX_PB05B_ADC1_AIN7 _L_(1) -#define PINMUX_PB05B_ADC1_AIN7 ((PIN_PB05B_ADC1_AIN7 << 16) | MUX_PB05B_ADC1_AIN7) -#define PORT_PB05B_ADC1_AIN7 (_UL_(1) << 5) -#define PIN_PB06B_ADC1_AIN8 _L_(38) /**< \brief ADC1 signal: AIN8 on PB06 mux B */ -#define MUX_PB06B_ADC1_AIN8 _L_(1) -#define PINMUX_PB06B_ADC1_AIN8 ((PIN_PB06B_ADC1_AIN8 << 16) | MUX_PB06B_ADC1_AIN8) -#define PORT_PB06B_ADC1_AIN8 (_UL_(1) << 6) -#define PIN_PB07B_ADC1_AIN9 _L_(39) /**< \brief ADC1 signal: AIN9 on PB07 mux B */ -#define MUX_PB07B_ADC1_AIN9 _L_(1) -#define PINMUX_PB07B_ADC1_AIN9 ((PIN_PB07B_ADC1_AIN9 << 16) | MUX_PB07B_ADC1_AIN9) -#define PORT_PB07B_ADC1_AIN9 (_UL_(1) << 7) -#define PIN_PC00B_ADC1_AIN10 _L_(64) /**< \brief ADC1 signal: AIN10 on PC00 mux B */ -#define MUX_PC00B_ADC1_AIN10 _L_(1) -#define PINMUX_PC00B_ADC1_AIN10 ((PIN_PC00B_ADC1_AIN10 << 16) | MUX_PC00B_ADC1_AIN10) -#define PORT_PC00B_ADC1_AIN10 (_UL_(1) << 0) -#define PIN_PC01B_ADC1_AIN11 _L_(65) /**< \brief ADC1 signal: AIN11 on PC01 mux B */ -#define MUX_PC01B_ADC1_AIN11 _L_(1) -#define PINMUX_PC01B_ADC1_AIN11 ((PIN_PC01B_ADC1_AIN11 << 16) | MUX_PC01B_ADC1_AIN11) -#define PORT_PC01B_ADC1_AIN11 (_UL_(1) << 1) -#define PIN_PC30B_ADC1_AIN12 _L_(94) /**< \brief ADC1 signal: AIN12 on PC30 mux B */ -#define MUX_PC30B_ADC1_AIN12 _L_(1) -#define PINMUX_PC30B_ADC1_AIN12 ((PIN_PC30B_ADC1_AIN12 << 16) | MUX_PC30B_ADC1_AIN12) -#define PORT_PC30B_ADC1_AIN12 (_UL_(1) << 30) -#define PIN_PC31B_ADC1_AIN13 _L_(95) /**< \brief ADC1 signal: AIN13 on PC31 mux B */ -#define MUX_PC31B_ADC1_AIN13 _L_(1) -#define PINMUX_PC31B_ADC1_AIN13 ((PIN_PC31B_ADC1_AIN13 << 16) | MUX_PC31B_ADC1_AIN13) -#define PORT_PC31B_ADC1_AIN13 (_UL_(1) << 31) -#define PIN_PD00B_ADC1_AIN14 _L_(96) /**< \brief ADC1 signal: AIN14 on PD00 mux B */ -#define MUX_PD00B_ADC1_AIN14 _L_(1) -#define PINMUX_PD00B_ADC1_AIN14 ((PIN_PD00B_ADC1_AIN14 << 16) | MUX_PD00B_ADC1_AIN14) -#define PORT_PD00B_ADC1_AIN14 (_UL_(1) << 0) -#define PIN_PD01B_ADC1_AIN15 _L_(97) /**< \brief ADC1 signal: AIN15 on PD01 mux B */ -#define MUX_PD01B_ADC1_AIN15 _L_(1) -#define PINMUX_PD01B_ADC1_AIN15 ((PIN_PD01B_ADC1_AIN15 << 16) | MUX_PD01B_ADC1_AIN15) -#define PORT_PD01B_ADC1_AIN15 (_UL_(1) << 1) -/* ========== PORT definition for DAC peripheral ========== */ -#define PIN_PA02B_DAC_VOUT0 _L_(2) /**< \brief DAC signal: VOUT0 on PA02 mux B */ -#define MUX_PA02B_DAC_VOUT0 _L_(1) -#define PINMUX_PA02B_DAC_VOUT0 ((PIN_PA02B_DAC_VOUT0 << 16) | MUX_PA02B_DAC_VOUT0) -#define PORT_PA02B_DAC_VOUT0 (_UL_(1) << 2) -#define PIN_PA05B_DAC_VOUT1 _L_(5) /**< \brief DAC signal: VOUT1 on PA05 mux B */ -#define MUX_PA05B_DAC_VOUT1 _L_(1) -#define PINMUX_PA05B_DAC_VOUT1 ((PIN_PA05B_DAC_VOUT1 << 16) | MUX_PA05B_DAC_VOUT1) -#define PORT_PA05B_DAC_VOUT1 (_UL_(1) << 5) -/* ========== PORT definition for I2S peripheral ========== */ -#define PIN_PA09J_I2S_FS0 _L_(9) /**< \brief I2S signal: FS0 on PA09 mux J */ -#define MUX_PA09J_I2S_FS0 _L_(9) -#define PINMUX_PA09J_I2S_FS0 ((PIN_PA09J_I2S_FS0 << 16) | MUX_PA09J_I2S_FS0) -#define PORT_PA09J_I2S_FS0 (_UL_(1) << 9) -#define PIN_PA20J_I2S_FS0 _L_(20) /**< \brief I2S signal: FS0 on PA20 mux J */ -#define MUX_PA20J_I2S_FS0 _L_(9) -#define PINMUX_PA20J_I2S_FS0 ((PIN_PA20J_I2S_FS0 << 16) | MUX_PA20J_I2S_FS0) -#define PORT_PA20J_I2S_FS0 (_UL_(1) << 20) -#define PIN_PA23J_I2S_FS1 _L_(23) /**< \brief I2S signal: FS1 on PA23 mux J */ -#define MUX_PA23J_I2S_FS1 _L_(9) -#define PINMUX_PA23J_I2S_FS1 ((PIN_PA23J_I2S_FS1 << 16) | MUX_PA23J_I2S_FS1) -#define PORT_PA23J_I2S_FS1 (_UL_(1) << 23) -#define PIN_PB11J_I2S_FS1 _L_(43) /**< \brief I2S signal: FS1 on PB11 mux J */ -#define MUX_PB11J_I2S_FS1 _L_(9) -#define PINMUX_PB11J_I2S_FS1 ((PIN_PB11J_I2S_FS1 << 16) | MUX_PB11J_I2S_FS1) -#define PORT_PB11J_I2S_FS1 (_UL_(1) << 11) -#define PIN_PA08J_I2S_MCK0 _L_(8) /**< \brief I2S signal: MCK0 on PA08 mux J */ -#define MUX_PA08J_I2S_MCK0 _L_(9) -#define PINMUX_PA08J_I2S_MCK0 ((PIN_PA08J_I2S_MCK0 << 16) | MUX_PA08J_I2S_MCK0) -#define PORT_PA08J_I2S_MCK0 (_UL_(1) << 8) -#define PIN_PB17J_I2S_MCK0 _L_(49) /**< \brief I2S signal: MCK0 on PB17 mux J */ -#define MUX_PB17J_I2S_MCK0 _L_(9) -#define PINMUX_PB17J_I2S_MCK0 ((PIN_PB17J_I2S_MCK0 << 16) | MUX_PB17J_I2S_MCK0) -#define PORT_PB17J_I2S_MCK0 (_UL_(1) << 17) -#define PIN_PB29J_I2S_MCK1 _L_(61) /**< \brief I2S signal: MCK1 on PB29 mux J */ -#define MUX_PB29J_I2S_MCK1 _L_(9) -#define PINMUX_PB29J_I2S_MCK1 ((PIN_PB29J_I2S_MCK1 << 16) | MUX_PB29J_I2S_MCK1) -#define PORT_PB29J_I2S_MCK1 (_UL_(1) << 29) -#define PIN_PB13J_I2S_MCK1 _L_(45) /**< \brief I2S signal: MCK1 on PB13 mux J */ -#define MUX_PB13J_I2S_MCK1 _L_(9) -#define PINMUX_PB13J_I2S_MCK1 ((PIN_PB13J_I2S_MCK1 << 16) | MUX_PB13J_I2S_MCK1) -#define PORT_PB13J_I2S_MCK1 (_UL_(1) << 13) -#define PIN_PA10J_I2S_SCK0 _L_(10) /**< \brief I2S signal: SCK0 on PA10 mux J */ -#define MUX_PA10J_I2S_SCK0 _L_(9) -#define PINMUX_PA10J_I2S_SCK0 ((PIN_PA10J_I2S_SCK0 << 16) | MUX_PA10J_I2S_SCK0) -#define PORT_PA10J_I2S_SCK0 (_UL_(1) << 10) -#define PIN_PB16J_I2S_SCK0 _L_(48) /**< \brief I2S signal: SCK0 on PB16 mux J */ -#define MUX_PB16J_I2S_SCK0 _L_(9) -#define PINMUX_PB16J_I2S_SCK0 ((PIN_PB16J_I2S_SCK0 << 16) | MUX_PB16J_I2S_SCK0) -#define PORT_PB16J_I2S_SCK0 (_UL_(1) << 16) -#define PIN_PB28J_I2S_SCK1 _L_(60) /**< \brief I2S signal: SCK1 on PB28 mux J */ -#define MUX_PB28J_I2S_SCK1 _L_(9) -#define PINMUX_PB28J_I2S_SCK1 ((PIN_PB28J_I2S_SCK1 << 16) | MUX_PB28J_I2S_SCK1) -#define PORT_PB28J_I2S_SCK1 (_UL_(1) << 28) -#define PIN_PB12J_I2S_SCK1 _L_(44) /**< \brief I2S signal: SCK1 on PB12 mux J */ -#define MUX_PB12J_I2S_SCK1 _L_(9) -#define PINMUX_PB12J_I2S_SCK1 ((PIN_PB12J_I2S_SCK1 << 16) | MUX_PB12J_I2S_SCK1) -#define PORT_PB12J_I2S_SCK1 (_UL_(1) << 12) -#define PIN_PA22J_I2S_SDI _L_(22) /**< \brief I2S signal: SDI on PA22 mux J */ -#define MUX_PA22J_I2S_SDI _L_(9) -#define PINMUX_PA22J_I2S_SDI ((PIN_PA22J_I2S_SDI << 16) | MUX_PA22J_I2S_SDI) -#define PORT_PA22J_I2S_SDI (_UL_(1) << 22) -#define PIN_PB10J_I2S_SDI _L_(42) /**< \brief I2S signal: SDI on PB10 mux J */ -#define MUX_PB10J_I2S_SDI _L_(9) -#define PINMUX_PB10J_I2S_SDI ((PIN_PB10J_I2S_SDI << 16) | MUX_PB10J_I2S_SDI) -#define PORT_PB10J_I2S_SDI (_UL_(1) << 10) -#define PIN_PA11J_I2S_SDO _L_(11) /**< \brief I2S signal: SDO on PA11 mux J */ -#define MUX_PA11J_I2S_SDO _L_(9) -#define PINMUX_PA11J_I2S_SDO ((PIN_PA11J_I2S_SDO << 16) | MUX_PA11J_I2S_SDO) -#define PORT_PA11J_I2S_SDO (_UL_(1) << 11) -#define PIN_PA21J_I2S_SDO _L_(21) /**< \brief I2S signal: SDO on PA21 mux J */ -#define MUX_PA21J_I2S_SDO _L_(9) -#define PINMUX_PA21J_I2S_SDO ((PIN_PA21J_I2S_SDO << 16) | MUX_PA21J_I2S_SDO) -#define PORT_PA21J_I2S_SDO (_UL_(1) << 21) -/* ========== PORT definition for PCC peripheral ========== */ -#define PIN_PA14K_PCC_CLK _L_(14) /**< \brief PCC signal: CLK on PA14 mux K */ -#define MUX_PA14K_PCC_CLK _L_(10) -#define PINMUX_PA14K_PCC_CLK ((PIN_PA14K_PCC_CLK << 16) | MUX_PA14K_PCC_CLK) -#define PORT_PA14K_PCC_CLK (_UL_(1) << 14) -#define PIN_PA16K_PCC_DATA0 _L_(16) /**< \brief PCC signal: DATA0 on PA16 mux K */ -#define MUX_PA16K_PCC_DATA0 _L_(10) -#define PINMUX_PA16K_PCC_DATA0 ((PIN_PA16K_PCC_DATA0 << 16) | MUX_PA16K_PCC_DATA0) -#define PORT_PA16K_PCC_DATA0 (_UL_(1) << 16) -#define PIN_PA17K_PCC_DATA1 _L_(17) /**< \brief PCC signal: DATA1 on PA17 mux K */ -#define MUX_PA17K_PCC_DATA1 _L_(10) -#define PINMUX_PA17K_PCC_DATA1 ((PIN_PA17K_PCC_DATA1 << 16) | MUX_PA17K_PCC_DATA1) -#define PORT_PA17K_PCC_DATA1 (_UL_(1) << 17) -#define PIN_PA18K_PCC_DATA2 _L_(18) /**< \brief PCC signal: DATA2 on PA18 mux K */ -#define MUX_PA18K_PCC_DATA2 _L_(10) -#define PINMUX_PA18K_PCC_DATA2 ((PIN_PA18K_PCC_DATA2 << 16) | MUX_PA18K_PCC_DATA2) -#define PORT_PA18K_PCC_DATA2 (_UL_(1) << 18) -#define PIN_PA19K_PCC_DATA3 _L_(19) /**< \brief PCC signal: DATA3 on PA19 mux K */ -#define MUX_PA19K_PCC_DATA3 _L_(10) -#define PINMUX_PA19K_PCC_DATA3 ((PIN_PA19K_PCC_DATA3 << 16) | MUX_PA19K_PCC_DATA3) -#define PORT_PA19K_PCC_DATA3 (_UL_(1) << 19) -#define PIN_PA20K_PCC_DATA4 _L_(20) /**< \brief PCC signal: DATA4 on PA20 mux K */ -#define MUX_PA20K_PCC_DATA4 _L_(10) -#define PINMUX_PA20K_PCC_DATA4 ((PIN_PA20K_PCC_DATA4 << 16) | MUX_PA20K_PCC_DATA4) -#define PORT_PA20K_PCC_DATA4 (_UL_(1) << 20) -#define PIN_PA21K_PCC_DATA5 _L_(21) /**< \brief PCC signal: DATA5 on PA21 mux K */ -#define MUX_PA21K_PCC_DATA5 _L_(10) -#define PINMUX_PA21K_PCC_DATA5 ((PIN_PA21K_PCC_DATA5 << 16) | MUX_PA21K_PCC_DATA5) -#define PORT_PA21K_PCC_DATA5 (_UL_(1) << 21) -#define PIN_PA22K_PCC_DATA6 _L_(22) /**< \brief PCC signal: DATA6 on PA22 mux K */ -#define MUX_PA22K_PCC_DATA6 _L_(10) -#define PINMUX_PA22K_PCC_DATA6 ((PIN_PA22K_PCC_DATA6 << 16) | MUX_PA22K_PCC_DATA6) -#define PORT_PA22K_PCC_DATA6 (_UL_(1) << 22) -#define PIN_PA23K_PCC_DATA7 _L_(23) /**< \brief PCC signal: DATA7 on PA23 mux K */ -#define MUX_PA23K_PCC_DATA7 _L_(10) -#define PINMUX_PA23K_PCC_DATA7 ((PIN_PA23K_PCC_DATA7 << 16) | MUX_PA23K_PCC_DATA7) -#define PORT_PA23K_PCC_DATA7 (_UL_(1) << 23) -#define PIN_PB14K_PCC_DATA8 _L_(46) /**< \brief PCC signal: DATA8 on PB14 mux K */ -#define MUX_PB14K_PCC_DATA8 _L_(10) -#define PINMUX_PB14K_PCC_DATA8 ((PIN_PB14K_PCC_DATA8 << 16) | MUX_PB14K_PCC_DATA8) -#define PORT_PB14K_PCC_DATA8 (_UL_(1) << 14) -#define PIN_PB15K_PCC_DATA9 _L_(47) /**< \brief PCC signal: DATA9 on PB15 mux K */ -#define MUX_PB15K_PCC_DATA9 _L_(10) -#define PINMUX_PB15K_PCC_DATA9 ((PIN_PB15K_PCC_DATA9 << 16) | MUX_PB15K_PCC_DATA9) -#define PORT_PB15K_PCC_DATA9 (_UL_(1) << 15) -#define PIN_PC12K_PCC_DATA10 _L_(76) /**< \brief PCC signal: DATA10 on PC12 mux K */ -#define MUX_PC12K_PCC_DATA10 _L_(10) -#define PINMUX_PC12K_PCC_DATA10 ((PIN_PC12K_PCC_DATA10 << 16) | MUX_PC12K_PCC_DATA10) -#define PORT_PC12K_PCC_DATA10 (_UL_(1) << 12) -#define PIN_PC13K_PCC_DATA11 _L_(77) /**< \brief PCC signal: DATA11 on PC13 mux K */ -#define MUX_PC13K_PCC_DATA11 _L_(10) -#define PINMUX_PC13K_PCC_DATA11 ((PIN_PC13K_PCC_DATA11 << 16) | MUX_PC13K_PCC_DATA11) -#define PORT_PC13K_PCC_DATA11 (_UL_(1) << 13) -#define PIN_PC14K_PCC_DATA12 _L_(78) /**< \brief PCC signal: DATA12 on PC14 mux K */ -#define MUX_PC14K_PCC_DATA12 _L_(10) -#define PINMUX_PC14K_PCC_DATA12 ((PIN_PC14K_PCC_DATA12 << 16) | MUX_PC14K_PCC_DATA12) -#define PORT_PC14K_PCC_DATA12 (_UL_(1) << 14) -#define PIN_PC15K_PCC_DATA13 _L_(79) /**< \brief PCC signal: DATA13 on PC15 mux K */ -#define MUX_PC15K_PCC_DATA13 _L_(10) -#define PINMUX_PC15K_PCC_DATA13 ((PIN_PC15K_PCC_DATA13 << 16) | MUX_PC15K_PCC_DATA13) -#define PORT_PC15K_PCC_DATA13 (_UL_(1) << 15) -#define PIN_PA12K_PCC_DEN1 _L_(12) /**< \brief PCC signal: DEN1 on PA12 mux K */ -#define MUX_PA12K_PCC_DEN1 _L_(10) -#define PINMUX_PA12K_PCC_DEN1 ((PIN_PA12K_PCC_DEN1 << 16) | MUX_PA12K_PCC_DEN1) -#define PORT_PA12K_PCC_DEN1 (_UL_(1) << 12) -#define PIN_PA13K_PCC_DEN2 _L_(13) /**< \brief PCC signal: DEN2 on PA13 mux K */ -#define MUX_PA13K_PCC_DEN2 _L_(10) -#define PINMUX_PA13K_PCC_DEN2 ((PIN_PA13K_PCC_DEN2 << 16) | MUX_PA13K_PCC_DEN2) -#define PORT_PA13K_PCC_DEN2 (_UL_(1) << 13) -/* ========== PORT definition for SDHC0 peripheral ========== */ -#define PIN_PA06I_SDHC0_SDCD _L_(6) /**< \brief SDHC0 signal: SDCD on PA06 mux I */ -#define MUX_PA06I_SDHC0_SDCD _L_(8) -#define PINMUX_PA06I_SDHC0_SDCD ((PIN_PA06I_SDHC0_SDCD << 16) | MUX_PA06I_SDHC0_SDCD) -#define PORT_PA06I_SDHC0_SDCD (_UL_(1) << 6) -#define PIN_PA12I_SDHC0_SDCD _L_(12) /**< \brief SDHC0 signal: SDCD on PA12 mux I */ -#define MUX_PA12I_SDHC0_SDCD _L_(8) -#define PINMUX_PA12I_SDHC0_SDCD ((PIN_PA12I_SDHC0_SDCD << 16) | MUX_PA12I_SDHC0_SDCD) -#define PORT_PA12I_SDHC0_SDCD (_UL_(1) << 12) -#define PIN_PB12I_SDHC0_SDCD _L_(44) /**< \brief SDHC0 signal: SDCD on PB12 mux I */ -#define MUX_PB12I_SDHC0_SDCD _L_(8) -#define PINMUX_PB12I_SDHC0_SDCD ((PIN_PB12I_SDHC0_SDCD << 16) | MUX_PB12I_SDHC0_SDCD) -#define PORT_PB12I_SDHC0_SDCD (_UL_(1) << 12) -#define PIN_PC06I_SDHC0_SDCD _L_(70) /**< \brief SDHC0 signal: SDCD on PC06 mux I */ -#define MUX_PC06I_SDHC0_SDCD _L_(8) -#define PINMUX_PC06I_SDHC0_SDCD ((PIN_PC06I_SDHC0_SDCD << 16) | MUX_PC06I_SDHC0_SDCD) -#define PORT_PC06I_SDHC0_SDCD (_UL_(1) << 6) -#define PIN_PB11I_SDHC0_SDCK _L_(43) /**< \brief SDHC0 signal: SDCK on PB11 mux I */ -#define MUX_PB11I_SDHC0_SDCK _L_(8) -#define PINMUX_PB11I_SDHC0_SDCK ((PIN_PB11I_SDHC0_SDCK << 16) | MUX_PB11I_SDHC0_SDCK) -#define PORT_PB11I_SDHC0_SDCK (_UL_(1) << 11) -#define PIN_PA08I_SDHC0_SDCMD _L_(8) /**< \brief SDHC0 signal: SDCMD on PA08 mux I */ -#define MUX_PA08I_SDHC0_SDCMD _L_(8) -#define PINMUX_PA08I_SDHC0_SDCMD ((PIN_PA08I_SDHC0_SDCMD << 16) | MUX_PA08I_SDHC0_SDCMD) -#define PORT_PA08I_SDHC0_SDCMD (_UL_(1) << 8) -#define PIN_PA09I_SDHC0_SDDAT0 _L_(9) /**< \brief SDHC0 signal: SDDAT0 on PA09 mux I */ -#define MUX_PA09I_SDHC0_SDDAT0 _L_(8) -#define PINMUX_PA09I_SDHC0_SDDAT0 ((PIN_PA09I_SDHC0_SDDAT0 << 16) | MUX_PA09I_SDHC0_SDDAT0) -#define PORT_PA09I_SDHC0_SDDAT0 (_UL_(1) << 9) -#define PIN_PA10I_SDHC0_SDDAT1 _L_(10) /**< \brief SDHC0 signal: SDDAT1 on PA10 mux I */ -#define MUX_PA10I_SDHC0_SDDAT1 _L_(8) -#define PINMUX_PA10I_SDHC0_SDDAT1 ((PIN_PA10I_SDHC0_SDDAT1 << 16) | MUX_PA10I_SDHC0_SDDAT1) -#define PORT_PA10I_SDHC0_SDDAT1 (_UL_(1) << 10) -#define PIN_PA11I_SDHC0_SDDAT2 _L_(11) /**< \brief SDHC0 signal: SDDAT2 on PA11 mux I */ -#define MUX_PA11I_SDHC0_SDDAT2 _L_(8) -#define PINMUX_PA11I_SDHC0_SDDAT2 ((PIN_PA11I_SDHC0_SDDAT2 << 16) | MUX_PA11I_SDHC0_SDDAT2) -#define PORT_PA11I_SDHC0_SDDAT2 (_UL_(1) << 11) -#define PIN_PB10I_SDHC0_SDDAT3 _L_(42) /**< \brief SDHC0 signal: SDDAT3 on PB10 mux I */ -#define MUX_PB10I_SDHC0_SDDAT3 _L_(8) -#define PINMUX_PB10I_SDHC0_SDDAT3 ((PIN_PB10I_SDHC0_SDDAT3 << 16) | MUX_PB10I_SDHC0_SDDAT3) -#define PORT_PB10I_SDHC0_SDDAT3 (_UL_(1) << 10) -#define PIN_PA07I_SDHC0_SDWP _L_(7) /**< \brief SDHC0 signal: SDWP on PA07 mux I */ -#define MUX_PA07I_SDHC0_SDWP _L_(8) -#define PINMUX_PA07I_SDHC0_SDWP ((PIN_PA07I_SDHC0_SDWP << 16) | MUX_PA07I_SDHC0_SDWP) -#define PORT_PA07I_SDHC0_SDWP (_UL_(1) << 7) -#define PIN_PA13I_SDHC0_SDWP _L_(13) /**< \brief SDHC0 signal: SDWP on PA13 mux I */ -#define MUX_PA13I_SDHC0_SDWP _L_(8) -#define PINMUX_PA13I_SDHC0_SDWP ((PIN_PA13I_SDHC0_SDWP << 16) | MUX_PA13I_SDHC0_SDWP) -#define PORT_PA13I_SDHC0_SDWP (_UL_(1) << 13) -#define PIN_PB13I_SDHC0_SDWP _L_(45) /**< \brief SDHC0 signal: SDWP on PB13 mux I */ -#define MUX_PB13I_SDHC0_SDWP _L_(8) -#define PINMUX_PB13I_SDHC0_SDWP ((PIN_PB13I_SDHC0_SDWP << 16) | MUX_PB13I_SDHC0_SDWP) -#define PORT_PB13I_SDHC0_SDWP (_UL_(1) << 13) -#define PIN_PC07I_SDHC0_SDWP _L_(71) /**< \brief SDHC0 signal: SDWP on PC07 mux I */ -#define MUX_PC07I_SDHC0_SDWP _L_(8) -#define PINMUX_PC07I_SDHC0_SDWP ((PIN_PC07I_SDHC0_SDWP << 16) | MUX_PC07I_SDHC0_SDWP) -#define PORT_PC07I_SDHC0_SDWP (_UL_(1) << 7) -/* ========== PORT definition for SDHC1 peripheral ========== */ -#define PIN_PB16I_SDHC1_SDCD _L_(48) /**< \brief SDHC1 signal: SDCD on PB16 mux I */ -#define MUX_PB16I_SDHC1_SDCD _L_(8) -#define PINMUX_PB16I_SDHC1_SDCD ((PIN_PB16I_SDHC1_SDCD << 16) | MUX_PB16I_SDHC1_SDCD) -#define PORT_PB16I_SDHC1_SDCD (_UL_(1) << 16) -#define PIN_PC20I_SDHC1_SDCD _L_(84) /**< \brief SDHC1 signal: SDCD on PC20 mux I */ -#define MUX_PC20I_SDHC1_SDCD _L_(8) -#define PINMUX_PC20I_SDHC1_SDCD ((PIN_PC20I_SDHC1_SDCD << 16) | MUX_PC20I_SDHC1_SDCD) -#define PORT_PC20I_SDHC1_SDCD (_UL_(1) << 20) -#define PIN_PD20I_SDHC1_SDCD _L_(116) /**< \brief SDHC1 signal: SDCD on PD20 mux I */ -#define MUX_PD20I_SDHC1_SDCD _L_(8) -#define PINMUX_PD20I_SDHC1_SDCD ((PIN_PD20I_SDHC1_SDCD << 16) | MUX_PD20I_SDHC1_SDCD) -#define PORT_PD20I_SDHC1_SDCD (_UL_(1) << 20) -#define PIN_PA21I_SDHC1_SDCK _L_(21) /**< \brief SDHC1 signal: SDCK on PA21 mux I */ -#define MUX_PA21I_SDHC1_SDCK _L_(8) -#define PINMUX_PA21I_SDHC1_SDCK ((PIN_PA21I_SDHC1_SDCK << 16) | MUX_PA21I_SDHC1_SDCK) -#define PORT_PA21I_SDHC1_SDCK (_UL_(1) << 21) -#define PIN_PA20I_SDHC1_SDCMD _L_(20) /**< \brief SDHC1 signal: SDCMD on PA20 mux I */ -#define MUX_PA20I_SDHC1_SDCMD _L_(8) -#define PINMUX_PA20I_SDHC1_SDCMD ((PIN_PA20I_SDHC1_SDCMD << 16) | MUX_PA20I_SDHC1_SDCMD) -#define PORT_PA20I_SDHC1_SDCMD (_UL_(1) << 20) -#define PIN_PB18I_SDHC1_SDDAT0 _L_(50) /**< \brief SDHC1 signal: SDDAT0 on PB18 mux I */ -#define MUX_PB18I_SDHC1_SDDAT0 _L_(8) -#define PINMUX_PB18I_SDHC1_SDDAT0 ((PIN_PB18I_SDHC1_SDDAT0 << 16) | MUX_PB18I_SDHC1_SDDAT0) -#define PORT_PB18I_SDHC1_SDDAT0 (_UL_(1) << 18) -#define PIN_PB19I_SDHC1_SDDAT1 _L_(51) /**< \brief SDHC1 signal: SDDAT1 on PB19 mux I */ -#define MUX_PB19I_SDHC1_SDDAT1 _L_(8) -#define PINMUX_PB19I_SDHC1_SDDAT1 ((PIN_PB19I_SDHC1_SDDAT1 << 16) | MUX_PB19I_SDHC1_SDDAT1) -#define PORT_PB19I_SDHC1_SDDAT1 (_UL_(1) << 19) -#define PIN_PB20I_SDHC1_SDDAT2 _L_(52) /**< \brief SDHC1 signal: SDDAT2 on PB20 mux I */ -#define MUX_PB20I_SDHC1_SDDAT2 _L_(8) -#define PINMUX_PB20I_SDHC1_SDDAT2 ((PIN_PB20I_SDHC1_SDDAT2 << 16) | MUX_PB20I_SDHC1_SDDAT2) -#define PORT_PB20I_SDHC1_SDDAT2 (_UL_(1) << 20) -#define PIN_PB21I_SDHC1_SDDAT3 _L_(53) /**< \brief SDHC1 signal: SDDAT3 on PB21 mux I */ -#define MUX_PB21I_SDHC1_SDDAT3 _L_(8) -#define PINMUX_PB21I_SDHC1_SDDAT3 ((PIN_PB21I_SDHC1_SDDAT3 << 16) | MUX_PB21I_SDHC1_SDDAT3) -#define PORT_PB21I_SDHC1_SDDAT3 (_UL_(1) << 21) -#define PIN_PB17I_SDHC1_SDWP _L_(49) /**< \brief SDHC1 signal: SDWP on PB17 mux I */ -#define MUX_PB17I_SDHC1_SDWP _L_(8) -#define PINMUX_PB17I_SDHC1_SDWP ((PIN_PB17I_SDHC1_SDWP << 16) | MUX_PB17I_SDHC1_SDWP) -#define PORT_PB17I_SDHC1_SDWP (_UL_(1) << 17) -#define PIN_PC21I_SDHC1_SDWP _L_(85) /**< \brief SDHC1 signal: SDWP on PC21 mux I */ -#define MUX_PC21I_SDHC1_SDWP _L_(8) -#define PINMUX_PC21I_SDHC1_SDWP ((PIN_PC21I_SDHC1_SDWP << 16) | MUX_PC21I_SDHC1_SDWP) -#define PORT_PC21I_SDHC1_SDWP (_UL_(1) << 21) -#define PIN_PD21I_SDHC1_SDWP _L_(117) /**< \brief SDHC1 signal: SDWP on PD21 mux I */ -#define MUX_PD21I_SDHC1_SDWP _L_(8) -#define PINMUX_PD21I_SDHC1_SDWP ((PIN_PD21I_SDHC1_SDWP << 16) | MUX_PD21I_SDHC1_SDWP) -#define PORT_PD21I_SDHC1_SDWP (_UL_(1) << 21) - -#endif /* _SAME54P20A_PIO_ */ diff --git a/software/firmware/oracle_same54n19a/include/sam.h b/software/firmware/oracle_same54n19a/include/sam.h deleted file mode 100644 index 3fa3b5f..0000000 --- a/software/firmware/oracle_same54n19a/include/sam.h +++ /dev/null @@ -1,45 +0,0 @@ -/** - * \file - * - * \brief Top level header file - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \license_stop - * - */ - -#ifndef _SAM_ -#define _SAM_ - -#if defined(__SAME54N19A__) || defined(__ATSAME54N19A__) -#include "same54n19a.h" -#elif defined(__SAME54N20A__) || defined(__ATSAME54N20A__) -#include "same54n20a.h" -#elif defined(__SAME54P19A__) || defined(__ATSAME54P19A__) -#include "same54p19a.h" -#elif defined(__SAME54P20A__) || defined(__ATSAME54P20A__) -#include "same54p20a.h" -#else -#error Library does not support the specified device -#endif - -#endif /* _SAM_ */ diff --git a/software/firmware/oracle_same54n19a/include/same54.h b/software/firmware/oracle_same54n19a/include/same54.h deleted file mode 100644 index 7da756e..0000000 --- a/software/firmware/oracle_same54n19a/include/same54.h +++ /dev/null @@ -1,50 +0,0 @@ -/** - * \file - * - * \brief Top header file for SAME54 - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54_ -#define _SAME54_ - -/** - * \defgroup SAME54_definitions SAME54 Device Definitions - * \brief SAME54 CMSIS Definitions. - */ - -#if defined(__SAME54N19A__) || defined(__ATSAME54N19A__) - #include "same54n19a.h" -#elif defined(__SAME54N20A__) || defined(__ATSAME54N20A__) - #include "same54n20a.h" -#elif defined(__SAME54P19A__) || defined(__ATSAME54P19A__) - #include "same54p19a.h" -#elif defined(__SAME54P20A__) || defined(__ATSAME54P20A__) - #include "same54p20a.h" -#else - #error Library does not support the specified device. -#endif - -#endif /* _SAME54_ */ diff --git a/software/firmware/oracle_same54n19a/include/same54n19a.h b/software/firmware/oracle_same54n19a/include/same54n19a.h deleted file mode 100644 index cb183bb..0000000 --- a/software/firmware/oracle_same54n19a/include/same54n19a.h +++ /dev/null @@ -1,1085 +0,0 @@ -/** - * \file - * - * \brief Header file for SAME54N19A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54N19A_ -#define _SAME54N19A_ - -/** - * \ingroup SAME54_definitions - * \addtogroup SAME54N19A_definitions SAME54N19A definitions - * This file defines all structures and symbols for SAME54N19A: - * - registers and bitfields - * - peripheral base address - * - peripheral ID - * - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include -#ifndef __cplusplus -typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ -typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ -typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ -#else -typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ -typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ -typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ -#endif -typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ -typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */ -typedef volatile uint8_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */ -typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ -typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */ -typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */ -#endif - -#if !defined(SKIP_INTEGER_LITERALS) -#if defined(_U_) || defined(_L_) || defined(_UL_) - #error "Integer Literals macros already defined elsewhere" -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/* Macros that deal with adding suffixes to integer literal constants for C/C++ */ -#define _U_(x) x ## U /**< C code: Unsigned integer literal constant value */ -#define _L_(x) x ## L /**< C code: Long integer literal constant value */ -#define _UL_(x) x ## UL /**< C code: Unsigned Long integer literal constant value */ -#else /* Assembler */ -#define _U_(x) x /**< Assembler: Unsigned integer literal constant value */ -#define _L_(x) x /**< Assembler: Long integer literal constant value */ -#define _UL_(x) x /**< Assembler: Unsigned Long integer literal constant value */ -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -#endif /* SKIP_INTEGER_LITERALS */ - -/* ************************************************************************** */ -/** CMSIS DEFINITIONS FOR SAME54N19A */ -/* ************************************************************************** */ -/** \defgroup SAME54N19A_cmsis CMSIS Definitions */ -/*@{*/ - -/** Interrupt Number Definition */ -typedef enum IRQn -{ - /****** Cortex-M4 Processor Exceptions Numbers *******************/ - NonMaskableInt_IRQn = -14,/**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13,/**< 3 Hard Fault Interrupt */ - MemoryManagement_IRQn = -12,/**< 4 Memory Management Interrupt */ - BusFault_IRQn = -11,/**< 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10,/**< 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 System Tick Interrupt */ - /****** SAME54N19A-specific Interrupt Numbers *********************/ - PM_IRQn = 0, /**< 0 SAME54N19A Power Manager (PM) */ - MCLK_IRQn = 1, /**< 1 SAME54N19A Main Clock (MCLK) */ - OSCCTRL_0_IRQn = 2, /**< 2 SAME54N19A Oscillators Control (OSCCTRL) IRQ 0 */ - OSCCTRL_1_IRQn = 3, /**< 3 SAME54N19A Oscillators Control (OSCCTRL) IRQ 1 */ - OSCCTRL_2_IRQn = 4, /**< 4 SAME54N19A Oscillators Control (OSCCTRL) IRQ 2 */ - OSCCTRL_3_IRQn = 5, /**< 5 SAME54N19A Oscillators Control (OSCCTRL) IRQ 3 */ - OSCCTRL_4_IRQn = 6, /**< 6 SAME54N19A Oscillators Control (OSCCTRL) IRQ 4 */ - OSC32KCTRL_IRQn = 7, /**< 7 SAME54N19A 32kHz Oscillators Control (OSC32KCTRL) */ - SUPC_0_IRQn = 8, /**< 8 SAME54N19A Supply Controller (SUPC) IRQ 0 */ - SUPC_1_IRQn = 9, /**< 9 SAME54N19A Supply Controller (SUPC) IRQ 1 */ - WDT_IRQn = 10, /**< 10 SAME54N19A Watchdog Timer (WDT) */ - RTC_IRQn = 11, /**< 11 SAME54N19A Real-Time Counter (RTC) */ - EIC_0_IRQn = 12, /**< 12 SAME54N19A External Interrupt Controller (EIC) IRQ 0 */ - EIC_1_IRQn = 13, /**< 13 SAME54N19A External Interrupt Controller (EIC) IRQ 1 */ - EIC_2_IRQn = 14, /**< 14 SAME54N19A External Interrupt Controller (EIC) IRQ 2 */ - EIC_3_IRQn = 15, /**< 15 SAME54N19A External Interrupt Controller (EIC) IRQ 3 */ - EIC_4_IRQn = 16, /**< 16 SAME54N19A External Interrupt Controller (EIC) IRQ 4 */ - EIC_5_IRQn = 17, /**< 17 SAME54N19A External Interrupt Controller (EIC) IRQ 5 */ - EIC_6_IRQn = 18, /**< 18 SAME54N19A External Interrupt Controller (EIC) IRQ 6 */ - EIC_7_IRQn = 19, /**< 19 SAME54N19A External Interrupt Controller (EIC) IRQ 7 */ - EIC_8_IRQn = 20, /**< 20 SAME54N19A External Interrupt Controller (EIC) IRQ 8 */ - EIC_9_IRQn = 21, /**< 21 SAME54N19A External Interrupt Controller (EIC) IRQ 9 */ - EIC_10_IRQn = 22, /**< 22 SAME54N19A External Interrupt Controller (EIC) IRQ 10 */ - EIC_11_IRQn = 23, /**< 23 SAME54N19A External Interrupt Controller (EIC) IRQ 11 */ - EIC_12_IRQn = 24, /**< 24 SAME54N19A External Interrupt Controller (EIC) IRQ 12 */ - EIC_13_IRQn = 25, /**< 25 SAME54N19A External Interrupt Controller (EIC) IRQ 13 */ - EIC_14_IRQn = 26, /**< 26 SAME54N19A External Interrupt Controller (EIC) IRQ 14 */ - EIC_15_IRQn = 27, /**< 27 SAME54N19A External Interrupt Controller (EIC) IRQ 15 */ - FREQM_IRQn = 28, /**< 28 SAME54N19A Frequency Meter (FREQM) */ - NVMCTRL_0_IRQn = 29, /**< 29 SAME54N19A Non-Volatile Memory Controller (NVMCTRL) IRQ 0 */ - NVMCTRL_1_IRQn = 30, /**< 30 SAME54N19A Non-Volatile Memory Controller (NVMCTRL) IRQ 1 */ - DMAC_0_IRQn = 31, /**< 31 SAME54N19A Direct Memory Access Controller (DMAC) IRQ 0 */ - DMAC_1_IRQn = 32, /**< 32 SAME54N19A Direct Memory Access Controller (DMAC) IRQ 1 */ - DMAC_2_IRQn = 33, /**< 33 SAME54N19A Direct Memory Access Controller (DMAC) IRQ 2 */ - DMAC_3_IRQn = 34, /**< 34 SAME54N19A Direct Memory Access Controller (DMAC) IRQ 3 */ - DMAC_4_IRQn = 35, /**< 35 SAME54N19A Direct Memory Access Controller (DMAC) IRQ 4 */ - EVSYS_0_IRQn = 36, /**< 36 SAME54N19A Event System Interface (EVSYS) IRQ 0 */ - EVSYS_1_IRQn = 37, /**< 37 SAME54N19A Event System Interface (EVSYS) IRQ 1 */ - EVSYS_2_IRQn = 38, /**< 38 SAME54N19A Event System Interface (EVSYS) IRQ 2 */ - EVSYS_3_IRQn = 39, /**< 39 SAME54N19A Event System Interface (EVSYS) IRQ 3 */ - EVSYS_4_IRQn = 40, /**< 40 SAME54N19A Event System Interface (EVSYS) IRQ 4 */ - PAC_IRQn = 41, /**< 41 SAME54N19A Peripheral Access Controller (PAC) */ - RAMECC_IRQn = 45, /**< 45 SAME54N19A RAM ECC (RAMECC) */ - SERCOM0_0_IRQn = 46, /**< 46 SAME54N19A Serial Communication Interface 0 (SERCOM0) IRQ 0 */ - SERCOM0_1_IRQn = 47, /**< 47 SAME54N19A Serial Communication Interface 0 (SERCOM0) IRQ 1 */ - SERCOM0_2_IRQn = 48, /**< 48 SAME54N19A Serial Communication Interface 0 (SERCOM0) IRQ 2 */ - SERCOM0_3_IRQn = 49, /**< 49 SAME54N19A Serial Communication Interface 0 (SERCOM0) IRQ 3 */ - SERCOM1_0_IRQn = 50, /**< 50 SAME54N19A Serial Communication Interface 1 (SERCOM1) IRQ 0 */ - SERCOM1_1_IRQn = 51, /**< 51 SAME54N19A Serial Communication Interface 1 (SERCOM1) IRQ 1 */ - SERCOM1_2_IRQn = 52, /**< 52 SAME54N19A Serial Communication Interface 1 (SERCOM1) IRQ 2 */ - SERCOM1_3_IRQn = 53, /**< 53 SAME54N19A Serial Communication Interface 1 (SERCOM1) IRQ 3 */ - SERCOM2_0_IRQn = 54, /**< 54 SAME54N19A Serial Communication Interface 2 (SERCOM2) IRQ 0 */ - SERCOM2_1_IRQn = 55, /**< 55 SAME54N19A Serial Communication Interface 2 (SERCOM2) IRQ 1 */ - SERCOM2_2_IRQn = 56, /**< 56 SAME54N19A Serial Communication Interface 2 (SERCOM2) IRQ 2 */ - SERCOM2_3_IRQn = 57, /**< 57 SAME54N19A Serial Communication Interface 2 (SERCOM2) IRQ 3 */ - SERCOM3_0_IRQn = 58, /**< 58 SAME54N19A Serial Communication Interface 3 (SERCOM3) IRQ 0 */ - SERCOM3_1_IRQn = 59, /**< 59 SAME54N19A Serial Communication Interface 3 (SERCOM3) IRQ 1 */ - SERCOM3_2_IRQn = 60, /**< 60 SAME54N19A Serial Communication Interface 3 (SERCOM3) IRQ 2 */ - SERCOM3_3_IRQn = 61, /**< 61 SAME54N19A Serial Communication Interface 3 (SERCOM3) IRQ 3 */ - SERCOM4_0_IRQn = 62, /**< 62 SAME54N19A Serial Communication Interface 4 (SERCOM4) IRQ 0 */ - SERCOM4_1_IRQn = 63, /**< 63 SAME54N19A Serial Communication Interface 4 (SERCOM4) IRQ 1 */ - SERCOM4_2_IRQn = 64, /**< 64 SAME54N19A Serial Communication Interface 4 (SERCOM4) IRQ 2 */ - SERCOM4_3_IRQn = 65, /**< 65 SAME54N19A Serial Communication Interface 4 (SERCOM4) IRQ 3 */ - SERCOM5_0_IRQn = 66, /**< 66 SAME54N19A Serial Communication Interface 5 (SERCOM5) IRQ 0 */ - SERCOM5_1_IRQn = 67, /**< 67 SAME54N19A Serial Communication Interface 5 (SERCOM5) IRQ 1 */ - SERCOM5_2_IRQn = 68, /**< 68 SAME54N19A Serial Communication Interface 5 (SERCOM5) IRQ 2 */ - SERCOM5_3_IRQn = 69, /**< 69 SAME54N19A Serial Communication Interface 5 (SERCOM5) IRQ 3 */ - SERCOM6_0_IRQn = 70, /**< 70 SAME54N19A Serial Communication Interface 6 (SERCOM6) IRQ 0 */ - SERCOM6_1_IRQn = 71, /**< 71 SAME54N19A Serial Communication Interface 6 (SERCOM6) IRQ 1 */ - SERCOM6_2_IRQn = 72, /**< 72 SAME54N19A Serial Communication Interface 6 (SERCOM6) IRQ 2 */ - SERCOM6_3_IRQn = 73, /**< 73 SAME54N19A Serial Communication Interface 6 (SERCOM6) IRQ 3 */ - SERCOM7_0_IRQn = 74, /**< 74 SAME54N19A Serial Communication Interface 7 (SERCOM7) IRQ 0 */ - SERCOM7_1_IRQn = 75, /**< 75 SAME54N19A Serial Communication Interface 7 (SERCOM7) IRQ 1 */ - SERCOM7_2_IRQn = 76, /**< 76 SAME54N19A Serial Communication Interface 7 (SERCOM7) IRQ 2 */ - SERCOM7_3_IRQn = 77, /**< 77 SAME54N19A Serial Communication Interface 7 (SERCOM7) IRQ 3 */ - CAN0_IRQn = 78, /**< 78 SAME54N19A Control Area Network 0 (CAN0) */ - CAN1_IRQn = 79, /**< 79 SAME54N19A Control Area Network 1 (CAN1) */ - USB_0_IRQn = 80, /**< 80 SAME54N19A Universal Serial Bus (USB) IRQ 0 */ - USB_1_IRQn = 81, /**< 81 SAME54N19A Universal Serial Bus (USB) IRQ 1 */ - USB_2_IRQn = 82, /**< 82 SAME54N19A Universal Serial Bus (USB) IRQ 2 */ - USB_3_IRQn = 83, /**< 83 SAME54N19A Universal Serial Bus (USB) IRQ 3 */ - GMAC_IRQn = 84, /**< 84 SAME54N19A Ethernet MAC (GMAC) */ - TCC0_0_IRQn = 85, /**< 85 SAME54N19A Timer Counter Control 0 (TCC0) IRQ 0 */ - TCC0_1_IRQn = 86, /**< 86 SAME54N19A Timer Counter Control 0 (TCC0) IRQ 1 */ - TCC0_2_IRQn = 87, /**< 87 SAME54N19A Timer Counter Control 0 (TCC0) IRQ 2 */ - TCC0_3_IRQn = 88, /**< 88 SAME54N19A Timer Counter Control 0 (TCC0) IRQ 3 */ - TCC0_4_IRQn = 89, /**< 89 SAME54N19A Timer Counter Control 0 (TCC0) IRQ 4 */ - TCC0_5_IRQn = 90, /**< 90 SAME54N19A Timer Counter Control 0 (TCC0) IRQ 5 */ - TCC0_6_IRQn = 91, /**< 91 SAME54N19A Timer Counter Control 0 (TCC0) IRQ 6 */ - TCC1_0_IRQn = 92, /**< 92 SAME54N19A Timer Counter Control 1 (TCC1) IRQ 0 */ - TCC1_1_IRQn = 93, /**< 93 SAME54N19A Timer Counter Control 1 (TCC1) IRQ 1 */ - TCC1_2_IRQn = 94, /**< 94 SAME54N19A Timer Counter Control 1 (TCC1) IRQ 2 */ - TCC1_3_IRQn = 95, /**< 95 SAME54N19A Timer Counter Control 1 (TCC1) IRQ 3 */ - TCC1_4_IRQn = 96, /**< 96 SAME54N19A Timer Counter Control 1 (TCC1) IRQ 4 */ - TCC2_0_IRQn = 97, /**< 97 SAME54N19A Timer Counter Control 2 (TCC2) IRQ 0 */ - TCC2_1_IRQn = 98, /**< 98 SAME54N19A Timer Counter Control 2 (TCC2) IRQ 1 */ - TCC2_2_IRQn = 99, /**< 99 SAME54N19A Timer Counter Control 2 (TCC2) IRQ 2 */ - TCC2_3_IRQn = 100, /**< 100 SAME54N19A Timer Counter Control 2 (TCC2) IRQ 3 */ - TCC3_0_IRQn = 101, /**< 101 SAME54N19A Timer Counter Control 3 (TCC3) IRQ 0 */ - TCC3_1_IRQn = 102, /**< 102 SAME54N19A Timer Counter Control 3 (TCC3) IRQ 1 */ - TCC3_2_IRQn = 103, /**< 103 SAME54N19A Timer Counter Control 3 (TCC3) IRQ 2 */ - TCC4_0_IRQn = 104, /**< 104 SAME54N19A Timer Counter Control 4 (TCC4) IRQ 0 */ - TCC4_1_IRQn = 105, /**< 105 SAME54N19A Timer Counter Control 4 (TCC4) IRQ 1 */ - TCC4_2_IRQn = 106, /**< 106 SAME54N19A Timer Counter Control 4 (TCC4) IRQ 2 */ - TC0_IRQn = 107, /**< 107 SAME54N19A Basic Timer Counter 0 (TC0) */ - TC1_IRQn = 108, /**< 108 SAME54N19A Basic Timer Counter 1 (TC1) */ - TC2_IRQn = 109, /**< 109 SAME54N19A Basic Timer Counter 2 (TC2) */ - TC3_IRQn = 110, /**< 110 SAME54N19A Basic Timer Counter 3 (TC3) */ - TC4_IRQn = 111, /**< 111 SAME54N19A Basic Timer Counter 4 (TC4) */ - TC5_IRQn = 112, /**< 112 SAME54N19A Basic Timer Counter 5 (TC5) */ - TC6_IRQn = 113, /**< 113 SAME54N19A Basic Timer Counter 6 (TC6) */ - TC7_IRQn = 114, /**< 114 SAME54N19A Basic Timer Counter 7 (TC7) */ - PDEC_0_IRQn = 115, /**< 115 SAME54N19A Quadrature Decodeur (PDEC) IRQ 0 */ - PDEC_1_IRQn = 116, /**< 116 SAME54N19A Quadrature Decodeur (PDEC) IRQ 1 */ - PDEC_2_IRQn = 117, /**< 117 SAME54N19A Quadrature Decodeur (PDEC) IRQ 2 */ - ADC0_0_IRQn = 118, /**< 118 SAME54N19A Analog Digital Converter 0 (ADC0) IRQ 0 */ - ADC0_1_IRQn = 119, /**< 119 SAME54N19A Analog Digital Converter 0 (ADC0) IRQ 1 */ - ADC1_0_IRQn = 120, /**< 120 SAME54N19A Analog Digital Converter 1 (ADC1) IRQ 0 */ - ADC1_1_IRQn = 121, /**< 121 SAME54N19A Analog Digital Converter 1 (ADC1) IRQ 1 */ - AC_IRQn = 122, /**< 122 SAME54N19A Analog Comparators (AC) */ - DAC_0_IRQn = 123, /**< 123 SAME54N19A Digital-to-Analog Converter (DAC) IRQ 0 */ - DAC_1_IRQn = 124, /**< 124 SAME54N19A Digital-to-Analog Converter (DAC) IRQ 1 */ - DAC_2_IRQn = 125, /**< 125 SAME54N19A Digital-to-Analog Converter (DAC) IRQ 2 */ - DAC_3_IRQn = 126, /**< 126 SAME54N19A Digital-to-Analog Converter (DAC) IRQ 3 */ - DAC_4_IRQn = 127, /**< 127 SAME54N19A Digital-to-Analog Converter (DAC) IRQ 4 */ - I2S_IRQn = 128, /**< 128 SAME54N19A Inter-IC Sound Interface (I2S) */ - PCC_IRQn = 129, /**< 129 SAME54N19A Parallel Capture Controller (PCC) */ - AES_IRQn = 130, /**< 130 SAME54N19A Advanced Encryption Standard (AES) */ - TRNG_IRQn = 131, /**< 131 SAME54N19A True Random Generator (TRNG) */ - ICM_IRQn = 132, /**< 132 SAME54N19A Integrity Check Monitor (ICM) */ - PUKCC_IRQn = 133, /**< 133 SAME54N19A PUblic-Key Cryptography Controller (PUKCC) */ - QSPI_IRQn = 134, /**< 134 SAME54N19A Quad SPI interface (QSPI) */ - SDHC0_IRQn = 135, /**< 135 SAME54N19A SD/MMC Host Controller 0 (SDHC0) */ - SDHC1_IRQn = 136, /**< 136 SAME54N19A SD/MMC Host Controller 1 (SDHC1) */ - - PERIPH_COUNT_IRQn = 137 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNonMaskableInt_Handler; - void* pfnHardFault_Handler; - void* pfnMemManagement_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pvReservedM9; - void* pvReservedM8; - void* pvReservedM7; - void* pvReservedM6; - void* pfnSVCall_Handler; - void* pfnDebugMonitor_Handler; - void* pvReservedM3; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnPM_Handler; /* 0 Power Manager */ - void* pfnMCLK_Handler; /* 1 Main Clock */ - void* pfnOSCCTRL_0_Handler; /* 2 Oscillators Control IRQ 0 */ - void* pfnOSCCTRL_1_Handler; /* 3 Oscillators Control IRQ 1 */ - void* pfnOSCCTRL_2_Handler; /* 4 Oscillators Control IRQ 2 */ - void* pfnOSCCTRL_3_Handler; /* 5 Oscillators Control IRQ 3 */ - void* pfnOSCCTRL_4_Handler; /* 6 Oscillators Control IRQ 4 */ - void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control */ - void* pfnSUPC_0_Handler; /* 8 Supply Controller IRQ 0 */ - void* pfnSUPC_1_Handler; /* 9 Supply Controller IRQ 1 */ - void* pfnWDT_Handler; /* 10 Watchdog Timer */ - void* pfnRTC_Handler; /* 11 Real-Time Counter */ - void* pfnEIC_0_Handler; /* 12 External Interrupt Controller IRQ 0 */ - void* pfnEIC_1_Handler; /* 13 External Interrupt Controller IRQ 1 */ - void* pfnEIC_2_Handler; /* 14 External Interrupt Controller IRQ 2 */ - void* pfnEIC_3_Handler; /* 15 External Interrupt Controller IRQ 3 */ - void* pfnEIC_4_Handler; /* 16 External Interrupt Controller IRQ 4 */ - void* pfnEIC_5_Handler; /* 17 External Interrupt Controller IRQ 5 */ - void* pfnEIC_6_Handler; /* 18 External Interrupt Controller IRQ 6 */ - void* pfnEIC_7_Handler; /* 19 External Interrupt Controller IRQ 7 */ - void* pfnEIC_8_Handler; /* 20 External Interrupt Controller IRQ 8 */ - void* pfnEIC_9_Handler; /* 21 External Interrupt Controller IRQ 9 */ - void* pfnEIC_10_Handler; /* 22 External Interrupt Controller IRQ 10 */ - void* pfnEIC_11_Handler; /* 23 External Interrupt Controller IRQ 11 */ - void* pfnEIC_12_Handler; /* 24 External Interrupt Controller IRQ 12 */ - void* pfnEIC_13_Handler; /* 25 External Interrupt Controller IRQ 13 */ - void* pfnEIC_14_Handler; /* 26 External Interrupt Controller IRQ 14 */ - void* pfnEIC_15_Handler; /* 27 External Interrupt Controller IRQ 15 */ - void* pfnFREQM_Handler; /* 28 Frequency Meter */ - void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller IRQ 0 */ - void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller IRQ 1 */ - void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller IRQ 0 */ - void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller IRQ 1 */ - void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller IRQ 2 */ - void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller IRQ 3 */ - void* pfnDMAC_4_Handler; /* 35 Direct Memory Access Controller IRQ 4 */ - void* pfnEVSYS_0_Handler; /* 36 Event System Interface IRQ 0 */ - void* pfnEVSYS_1_Handler; /* 37 Event System Interface IRQ 1 */ - void* pfnEVSYS_2_Handler; /* 38 Event System Interface IRQ 2 */ - void* pfnEVSYS_3_Handler; /* 39 Event System Interface IRQ 3 */ - void* pfnEVSYS_4_Handler; /* 40 Event System Interface IRQ 4 */ - void* pfnPAC_Handler; /* 41 Peripheral Access Controller */ - void* pvReserved42; - void* pvReserved43; - void* pvReserved44; - void* pfnRAMECC_Handler; /* 45 RAM ECC */ - void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface 0 IRQ 0 */ - void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface 0 IRQ 1 */ - void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface 0 IRQ 2 */ - void* pfnSERCOM0_3_Handler; /* 49 Serial Communication Interface 0 IRQ 3 */ - void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface 1 IRQ 0 */ - void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface 1 IRQ 1 */ - void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface 1 IRQ 2 */ - void* pfnSERCOM1_3_Handler; /* 53 Serial Communication Interface 1 IRQ 3 */ - void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface 2 IRQ 0 */ - void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface 2 IRQ 1 */ - void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface 2 IRQ 2 */ - void* pfnSERCOM2_3_Handler; /* 57 Serial Communication Interface 2 IRQ 3 */ - void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface 3 IRQ 0 */ - void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface 3 IRQ 1 */ - void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface 3 IRQ 2 */ - void* pfnSERCOM3_3_Handler; /* 61 Serial Communication Interface 3 IRQ 3 */ - void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface 4 IRQ 0 */ - void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface 4 IRQ 1 */ - void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface 4 IRQ 2 */ - void* pfnSERCOM4_3_Handler; /* 65 Serial Communication Interface 4 IRQ 3 */ - void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface 5 IRQ 0 */ - void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface 5 IRQ 1 */ - void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface 5 IRQ 2 */ - void* pfnSERCOM5_3_Handler; /* 69 Serial Communication Interface 5 IRQ 3 */ - void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface 6 IRQ 0 */ - void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface 6 IRQ 1 */ - void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface 6 IRQ 2 */ - void* pfnSERCOM6_3_Handler; /* 73 Serial Communication Interface 6 IRQ 3 */ - void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface 7 IRQ 0 */ - void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface 7 IRQ 1 */ - void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface 7 IRQ 2 */ - void* pfnSERCOM7_3_Handler; /* 77 Serial Communication Interface 7 IRQ 3 */ - void* pfnCAN0_Handler; /* 78 Control Area Network 0 */ - void* pfnCAN1_Handler; /* 79 Control Area Network 1 */ - void* pfnUSB_0_Handler; /* 80 Universal Serial Bus IRQ 0 */ - void* pfnUSB_1_Handler; /* 81 Universal Serial Bus IRQ 1 */ - void* pfnUSB_2_Handler; /* 82 Universal Serial Bus IRQ 2 */ - void* pfnUSB_3_Handler; /* 83 Universal Serial Bus IRQ 3 */ - void* pfnGMAC_Handler; /* 84 Ethernet MAC */ - void* pfnTCC0_0_Handler; /* 85 Timer Counter Control 0 IRQ 0 */ - void* pfnTCC0_1_Handler; /* 86 Timer Counter Control 0 IRQ 1 */ - void* pfnTCC0_2_Handler; /* 87 Timer Counter Control 0 IRQ 2 */ - void* pfnTCC0_3_Handler; /* 88 Timer Counter Control 0 IRQ 3 */ - void* pfnTCC0_4_Handler; /* 89 Timer Counter Control 0 IRQ 4 */ - void* pfnTCC0_5_Handler; /* 90 Timer Counter Control 0 IRQ 5 */ - void* pfnTCC0_6_Handler; /* 91 Timer Counter Control 0 IRQ 6 */ - void* pfnTCC1_0_Handler; /* 92 Timer Counter Control 1 IRQ 0 */ - void* pfnTCC1_1_Handler; /* 93 Timer Counter Control 1 IRQ 1 */ - void* pfnTCC1_2_Handler; /* 94 Timer Counter Control 1 IRQ 2 */ - void* pfnTCC1_3_Handler; /* 95 Timer Counter Control 1 IRQ 3 */ - void* pfnTCC1_4_Handler; /* 96 Timer Counter Control 1 IRQ 4 */ - void* pfnTCC2_0_Handler; /* 97 Timer Counter Control 2 IRQ 0 */ - void* pfnTCC2_1_Handler; /* 98 Timer Counter Control 2 IRQ 1 */ - void* pfnTCC2_2_Handler; /* 99 Timer Counter Control 2 IRQ 2 */ - void* pfnTCC2_3_Handler; /* 100 Timer Counter Control 2 IRQ 3 */ - void* pfnTCC3_0_Handler; /* 101 Timer Counter Control 3 IRQ 0 */ - void* pfnTCC3_1_Handler; /* 102 Timer Counter Control 3 IRQ 1 */ - void* pfnTCC3_2_Handler; /* 103 Timer Counter Control 3 IRQ 2 */ - void* pfnTCC4_0_Handler; /* 104 Timer Counter Control 4 IRQ 0 */ - void* pfnTCC4_1_Handler; /* 105 Timer Counter Control 4 IRQ 1 */ - void* pfnTCC4_2_Handler; /* 106 Timer Counter Control 4 IRQ 2 */ - void* pfnTC0_Handler; /* 107 Basic Timer Counter 0 */ - void* pfnTC1_Handler; /* 108 Basic Timer Counter 1 */ - void* pfnTC2_Handler; /* 109 Basic Timer Counter 2 */ - void* pfnTC3_Handler; /* 110 Basic Timer Counter 3 */ - void* pfnTC4_Handler; /* 111 Basic Timer Counter 4 */ - void* pfnTC5_Handler; /* 112 Basic Timer Counter 5 */ - void* pfnTC6_Handler; /* 113 Basic Timer Counter 6 */ - void* pfnTC7_Handler; /* 114 Basic Timer Counter 7 */ - void* pfnPDEC_0_Handler; /* 115 Quadrature Decodeur IRQ 0 */ - void* pfnPDEC_1_Handler; /* 116 Quadrature Decodeur IRQ 1 */ - void* pfnPDEC_2_Handler; /* 117 Quadrature Decodeur IRQ 2 */ - void* pfnADC0_0_Handler; /* 118 Analog Digital Converter 0 IRQ 0 */ - void* pfnADC0_1_Handler; /* 119 Analog Digital Converter 0 IRQ 1 */ - void* pfnADC1_0_Handler; /* 120 Analog Digital Converter 1 IRQ 0 */ - void* pfnADC1_1_Handler; /* 121 Analog Digital Converter 1 IRQ 1 */ - void* pfnAC_Handler; /* 122 Analog Comparators */ - void* pfnDAC_0_Handler; /* 123 Digital-to-Analog Converter IRQ 0 */ - void* pfnDAC_1_Handler; /* 124 Digital-to-Analog Converter IRQ 1 */ - void* pfnDAC_2_Handler; /* 125 Digital-to-Analog Converter IRQ 2 */ - void* pfnDAC_3_Handler; /* 126 Digital-to-Analog Converter IRQ 3 */ - void* pfnDAC_4_Handler; /* 127 Digital-to-Analog Converter IRQ 4 */ - void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface */ - void* pfnPCC_Handler; /* 129 Parallel Capture Controller */ - void* pfnAES_Handler; /* 130 Advanced Encryption Standard */ - void* pfnTRNG_Handler; /* 131 True Random Generator */ - void* pfnICM_Handler; /* 132 Integrity Check Monitor */ - void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller */ - void* pfnQSPI_Handler; /* 134 Quad SPI interface */ - void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller 0 */ - void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller 1 */ -} DeviceVectors; - -/* Cortex-M4 processor handlers */ -void Reset_Handler ( void ); -void NonMaskableInt_Handler ( void ); -void HardFault_Handler ( void ); -void MemManagement_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVCall_Handler ( void ); -void DebugMonitor_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void PM_Handler ( void ); -void MCLK_Handler ( void ); -void OSCCTRL_0_Handler ( void ); -void OSCCTRL_1_Handler ( void ); -void OSCCTRL_2_Handler ( void ); -void OSCCTRL_3_Handler ( void ); -void OSCCTRL_4_Handler ( void ); -void OSC32KCTRL_Handler ( void ); -void SUPC_0_Handler ( void ); -void SUPC_1_Handler ( void ); -void WDT_Handler ( void ); -void RTC_Handler ( void ); -void EIC_0_Handler ( void ); -void EIC_1_Handler ( void ); -void EIC_2_Handler ( void ); -void EIC_3_Handler ( void ); -void EIC_4_Handler ( void ); -void EIC_5_Handler ( void ); -void EIC_6_Handler ( void ); -void EIC_7_Handler ( void ); -void EIC_8_Handler ( void ); -void EIC_9_Handler ( void ); -void EIC_10_Handler ( void ); -void EIC_11_Handler ( void ); -void EIC_12_Handler ( void ); -void EIC_13_Handler ( void ); -void EIC_14_Handler ( void ); -void EIC_15_Handler ( void ); -void FREQM_Handler ( void ); -void NVMCTRL_0_Handler ( void ); -void NVMCTRL_1_Handler ( void ); -void DMAC_0_Handler ( void ); -void DMAC_1_Handler ( void ); -void DMAC_2_Handler ( void ); -void DMAC_3_Handler ( void ); -void DMAC_4_Handler ( void ); -void EVSYS_0_Handler ( void ); -void EVSYS_1_Handler ( void ); -void EVSYS_2_Handler ( void ); -void EVSYS_3_Handler ( void ); -void EVSYS_4_Handler ( void ); -void PAC_Handler ( void ); -void RAMECC_Handler ( void ); -void SERCOM0_0_Handler ( void ); -void SERCOM0_1_Handler ( void ); -void SERCOM0_2_Handler ( void ); -void SERCOM0_3_Handler ( void ); -void SERCOM1_0_Handler ( void ); -void SERCOM1_1_Handler ( void ); -void SERCOM1_2_Handler ( void ); -void SERCOM1_3_Handler ( void ); -void SERCOM2_0_Handler ( void ); -void SERCOM2_1_Handler ( void ); -void SERCOM2_2_Handler ( void ); -void SERCOM2_3_Handler ( void ); -void SERCOM3_0_Handler ( void ); -void SERCOM3_1_Handler ( void ); -void SERCOM3_2_Handler ( void ); -void SERCOM3_3_Handler ( void ); -void SERCOM4_0_Handler ( void ); -void SERCOM4_1_Handler ( void ); -void SERCOM4_2_Handler ( void ); -void SERCOM4_3_Handler ( void ); -void SERCOM5_0_Handler ( void ); -void SERCOM5_1_Handler ( void ); -void SERCOM5_2_Handler ( void ); -void SERCOM5_3_Handler ( void ); -void SERCOM6_0_Handler ( void ); -void SERCOM6_1_Handler ( void ); -void SERCOM6_2_Handler ( void ); -void SERCOM6_3_Handler ( void ); -void SERCOM7_0_Handler ( void ); -void SERCOM7_1_Handler ( void ); -void SERCOM7_2_Handler ( void ); -void SERCOM7_3_Handler ( void ); -void CAN0_Handler ( void ); -void CAN1_Handler ( void ); -void USB_0_Handler ( void ); -void USB_1_Handler ( void ); -void USB_2_Handler ( void ); -void USB_3_Handler ( void ); -void GMAC_Handler ( void ); -void TCC0_0_Handler ( void ); -void TCC0_1_Handler ( void ); -void TCC0_2_Handler ( void ); -void TCC0_3_Handler ( void ); -void TCC0_4_Handler ( void ); -void TCC0_5_Handler ( void ); -void TCC0_6_Handler ( void ); -void TCC1_0_Handler ( void ); -void TCC1_1_Handler ( void ); -void TCC1_2_Handler ( void ); -void TCC1_3_Handler ( void ); -void TCC1_4_Handler ( void ); -void TCC2_0_Handler ( void ); -void TCC2_1_Handler ( void ); -void TCC2_2_Handler ( void ); -void TCC2_3_Handler ( void ); -void TCC3_0_Handler ( void ); -void TCC3_1_Handler ( void ); -void TCC3_2_Handler ( void ); -void TCC4_0_Handler ( void ); -void TCC4_1_Handler ( void ); -void TCC4_2_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void PDEC_0_Handler ( void ); -void PDEC_1_Handler ( void ); -void PDEC_2_Handler ( void ); -void ADC0_0_Handler ( void ); -void ADC0_1_Handler ( void ); -void ADC1_0_Handler ( void ); -void ADC1_1_Handler ( void ); -void AC_Handler ( void ); -void DAC_0_Handler ( void ); -void DAC_1_Handler ( void ); -void DAC_2_Handler ( void ); -void DAC_3_Handler ( void ); -void DAC_4_Handler ( void ); -void I2S_Handler ( void ); -void PCC_Handler ( void ); -void AES_Handler ( void ); -void TRNG_Handler ( void ); -void ICM_Handler ( void ); -void PUKCC_Handler ( void ); -void QSPI_Handler ( void ); -void SDHC0_Handler ( void ); -void SDHC1_Handler ( void ); - -/* - * \brief Configuration of the Cortex-M4 Processor and Core Peripherals - */ - -#define __CM4_REV 1 /*!< Core revision r0p1 */ -#define __DEBUG_LVL 3 /*!< Full debug plus DWT data matching */ -#define __FPU_PRESENT 1 /*!< FPU present or not */ -#define __MPU_PRESENT 1 /*!< MPU present or not */ -#define __NVIC_PRIO_BITS 3 /*!< Number of bits used for Priority Levels */ -#define __TRACE_LVL 2 /*!< Full trace: ITM, DWT triggers and counters, ETM */ -#define __VTOR_PRESENT 1 /*!< VTOR present or not */ -#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ - -/** - * \brief CMSIS includes - */ - -#include -#if !defined DONT_USE_CMSIS_INIT -#include "system_same54.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME54N19A */ -/* ************************************************************************** */ -/** \defgroup SAME54N19A_api Peripheral Software API */ -/*@{*/ - -#include "component/ac.h" -#include "component/adc.h" -#include "component/aes.h" -#include "component/can.h" -#include "component/ccl.h" -#include "component/cmcc.h" -#include "component/dac.h" -#include "component/dmac.h" -#include "component/dsu.h" -#include "component/eic.h" -#include "component/evsys.h" -#include "component/freqm.h" -#include "component/gclk.h" -#include "component/gmac.h" -#include "component/hmatrixb.h" -#include "component/icm.h" -#include "component/i2s.h" -#include "component/mclk.h" -#include "component/nvmctrl.h" -#include "component/oscctrl.h" -#include "component/osc32kctrl.h" -#include "component/pac.h" -#include "component/pcc.h" -#include "component/pdec.h" -#include "component/pm.h" -#include "component/port.h" -#include "component/qspi.h" -#include "component/ramecc.h" -#include "component/rstc.h" -#include "component/rtc.h" -#include "component/sdhc.h" -#include "component/sercom.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/tcc.h" -#include "component/trng.h" -#include "component/usb.h" -#include "component/wdt.h" -/*@}*/ - -/* ************************************************************************** */ -/** REGISTERS ACCESS DEFINITIONS FOR SAME54N19A */ -/* ************************************************************************** */ -/** \defgroup SAME54N19A_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/ac.h" -#include "instance/adc0.h" -#include "instance/adc1.h" -#include "instance/aes.h" -#include "instance/can0.h" -#include "instance/can1.h" -#include "instance/ccl.h" -#include "instance/cmcc.h" -#include "instance/dac.h" -#include "instance/dmac.h" -#include "instance/dsu.h" -#include "instance/eic.h" -#include "instance/evsys.h" -#include "instance/freqm.h" -#include "instance/gclk.h" -#include "instance/gmac.h" -#include "instance/hmatrix.h" -#include "instance/icm.h" -#include "instance/i2s.h" -#include "instance/mclk.h" -#include "instance/nvmctrl.h" -#include "instance/oscctrl.h" -#include "instance/osc32kctrl.h" -#include "instance/pac.h" -#include "instance/pcc.h" -#include "instance/pdec.h" -#include "instance/pm.h" -#include "instance/port.h" -#include "instance/pukcc.h" -#include "instance/qspi.h" -#include "instance/ramecc.h" -#include "instance/rstc.h" -#include "instance/rtc.h" -#include "instance/sdhc0.h" -#include "instance/sdhc1.h" -#include "instance/sercom0.h" -#include "instance/sercom1.h" -#include "instance/sercom2.h" -#include "instance/sercom3.h" -#include "instance/sercom4.h" -#include "instance/sercom5.h" -#include "instance/sercom6.h" -#include "instance/sercom7.h" -#include "instance/supc.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/tc3.h" -#include "instance/tc4.h" -#include "instance/tc5.h" -#include "instance/tc6.h" -#include "instance/tc7.h" -#include "instance/tcc0.h" -#include "instance/tcc1.h" -#include "instance/tcc2.h" -#include "instance/tcc3.h" -#include "instance/tcc4.h" -#include "instance/trng.h" -#include "instance/usb.h" -#include "instance/wdt.h" -/*@}*/ - -/* ************************************************************************** */ -/** PERIPHERAL ID DEFINITIONS FOR SAME54N19A */ -/* ************************************************************************** */ -/** \defgroup SAME54N19A_id Peripheral Ids Definitions */ -/*@{*/ - -// Peripheral instances on HPB0 bridge -#define ID_PAC 0 /**< \brief Peripheral Access Controller (PAC) */ -#define ID_PM 1 /**< \brief Power Manager (PM) */ -#define ID_MCLK 2 /**< \brief Main Clock (MCLK) */ -#define ID_RSTC 3 /**< \brief Reset Controller (RSTC) */ -#define ID_OSCCTRL 4 /**< \brief Oscillators Control (OSCCTRL) */ -#define ID_OSC32KCTRL 5 /**< \brief 32kHz Oscillators Control (OSC32KCTRL) */ -#define ID_SUPC 6 /**< \brief Supply Controller (SUPC) */ -#define ID_GCLK 7 /**< \brief Generic Clock Generator (GCLK) */ -#define ID_WDT 8 /**< \brief Watchdog Timer (WDT) */ -#define ID_RTC 9 /**< \brief Real-Time Counter (RTC) */ -#define ID_EIC 10 /**< \brief External Interrupt Controller (EIC) */ -#define ID_FREQM 11 /**< \brief Frequency Meter (FREQM) */ -#define ID_SERCOM0 12 /**< \brief Serial Communication Interface 0 (SERCOM0) */ -#define ID_SERCOM1 13 /**< \brief Serial Communication Interface 1 (SERCOM1) */ -#define ID_TC0 14 /**< \brief Basic Timer Counter 0 (TC0) */ -#define ID_TC1 15 /**< \brief Basic Timer Counter 1 (TC1) */ - -// Peripheral instances on HPB1 bridge -#define ID_USB 32 /**< \brief Universal Serial Bus (USB) */ -#define ID_DSU 33 /**< \brief Device Service Unit (DSU) */ -#define ID_NVMCTRL 34 /**< \brief Non-Volatile Memory Controller (NVMCTRL) */ -#define ID_CMCC 35 /**< \brief Cortex M Cache Controller (CMCC) */ -#define ID_PORT 36 /**< \brief Port Module (PORT) */ -#define ID_DMAC 37 /**< \brief Direct Memory Access Controller (DMAC) */ -#define ID_HMATRIX 38 /**< \brief HSB Matrix (HMATRIX) */ -#define ID_EVSYS 39 /**< \brief Event System Interface (EVSYS) */ -#define ID_SERCOM2 41 /**< \brief Serial Communication Interface 2 (SERCOM2) */ -#define ID_SERCOM3 42 /**< \brief Serial Communication Interface 3 (SERCOM3) */ -#define ID_TCC0 43 /**< \brief Timer Counter Control 0 (TCC0) */ -#define ID_TCC1 44 /**< \brief Timer Counter Control 1 (TCC1) */ -#define ID_TC2 45 /**< \brief Basic Timer Counter 2 (TC2) */ -#define ID_TC3 46 /**< \brief Basic Timer Counter 3 (TC3) */ -#define ID_RAMECC 48 /**< \brief RAM ECC (RAMECC) */ - -// Peripheral instances on HPB2 bridge -#define ID_CAN0 64 /**< \brief Control Area Network 0 (CAN0) */ -#define ID_CAN1 65 /**< \brief Control Area Network 1 (CAN1) */ -#define ID_GMAC 66 /**< \brief Ethernet MAC (GMAC) */ -#define ID_TCC2 67 /**< \brief Timer Counter Control 2 (TCC2) */ -#define ID_TCC3 68 /**< \brief Timer Counter Control 3 (TCC3) */ -#define ID_TC4 69 /**< \brief Basic Timer Counter 4 (TC4) */ -#define ID_TC5 70 /**< \brief Basic Timer Counter 5 (TC5) */ -#define ID_PDEC 71 /**< \brief Quadrature Decodeur (PDEC) */ -#define ID_AC 72 /**< \brief Analog Comparators (AC) */ -#define ID_AES 73 /**< \brief Advanced Encryption Standard (AES) */ -#define ID_TRNG 74 /**< \brief True Random Generator (TRNG) */ -#define ID_ICM 75 /**< \brief Integrity Check Monitor (ICM) */ -#define ID_PUKCC 76 /**< \brief PUblic-Key Cryptography Controller (PUKCC) */ -#define ID_QSPI 77 /**< \brief Quad SPI interface (QSPI) */ -#define ID_CCL 78 /**< \brief Configurable Custom Logic (CCL) */ - -// Peripheral instances on HPB3 bridge -#define ID_SERCOM4 96 /**< \brief Serial Communication Interface 4 (SERCOM4) */ -#define ID_SERCOM5 97 /**< \brief Serial Communication Interface 5 (SERCOM5) */ -#define ID_SERCOM6 98 /**< \brief Serial Communication Interface 6 (SERCOM6) */ -#define ID_SERCOM7 99 /**< \brief Serial Communication Interface 7 (SERCOM7) */ -#define ID_TCC4 100 /**< \brief Timer Counter Control 4 (TCC4) */ -#define ID_TC6 101 /**< \brief Basic Timer Counter 6 (TC6) */ -#define ID_TC7 102 /**< \brief Basic Timer Counter 7 (TC7) */ -#define ID_ADC0 103 /**< \brief Analog Digital Converter 0 (ADC0) */ -#define ID_ADC1 104 /**< \brief Analog Digital Converter 1 (ADC1) */ -#define ID_DAC 105 /**< \brief Digital-to-Analog Converter (DAC) */ -#define ID_I2S 106 /**< \brief Inter-IC Sound Interface (I2S) */ -#define ID_PCC 107 /**< \brief Parallel Capture Controller (PCC) */ - -// Peripheral instances on AHB (as if on bridge 4) -#define ID_SDHC0 128 /**< \brief SD/MMC Host Controller (SDHC0) */ -#define ID_SDHC1 129 /**< \brief SD/MMC Host Controller (SDHC1) */ - -#define ID_PERIPH_COUNT 130 /**< \brief Max number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/** BASE ADDRESS DEFINITIONS FOR SAME54N19A */ -/* ************************************************************************** */ -/** \defgroup SAME54N19A_base Peripheral Base Address Definitions */ -/*@{*/ - -#if defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__) -#define AC (0x42002000) /**< \brief (AC) APB Base Address */ -#define ADC0 (0x43001C00) /**< \brief (ADC0) APB Base Address */ -#define ADC1 (0x43002000) /**< \brief (ADC1) APB Base Address */ -#define AES (0x42002400) /**< \brief (AES) APB Base Address */ -#define CAN0 (0x42000000) /**< \brief (CAN0) APB Base Address */ -#define CAN1 (0x42000400) /**< \brief (CAN1) APB Base Address */ -#define CCL (0x42003800) /**< \brief (CCL) APB Base Address */ -#define CMCC (0x41006000) /**< \brief (CMCC) APB Base Address */ -#define CMCC_AHB (0x03000000) /**< \brief (CMCC) AHB Base Address */ -#define DAC (0x43002400) /**< \brief (DAC) APB Base Address */ -#define DMAC (0x4100A000) /**< \brief (DMAC) APB Base Address */ -#define DSU (0x41002000) /**< \brief (DSU) APB Base Address */ -#define EIC (0x40002800) /**< \brief (EIC) APB Base Address */ -#define EVSYS (0x4100E000) /**< \brief (EVSYS) APB Base Address */ -#define FREQM (0x40002C00) /**< \brief (FREQM) APB Base Address */ -#define GCLK (0x40001C00) /**< \brief (GCLK) APB Base Address */ -#define GMAC (0x42000800) /**< \brief (GMAC) APB Base Address */ -#define HMATRIX (0x4100C000) /**< \brief (HMATRIX) APB Base Address */ -#define ICM (0x42002C00) /**< \brief (ICM) APB Base Address */ -#define I2S (0x43002800) /**< \brief (I2S) APB Base Address */ -#define MCLK (0x40000800) /**< \brief (MCLK) APB Base Address */ -#define NVMCTRL (0x41004000) /**< \brief (NVMCTRL) APB Base Address */ -#define NVMCTRL_SW0 (0x00800080) /**< \brief (NVMCTRL) SW0 Base Address */ -#define NVMCTRL_TEMP_LOG (0x00800100) /**< \brief (NVMCTRL) TEMP_LOG Base Address */ -#define NVMCTRL_USER (0x00804000) /**< \brief (NVMCTRL) USER Base Address */ -#define OSCCTRL (0x40001000) /**< \brief (OSCCTRL) APB Base Address */ -#define OSC32KCTRL (0x40001400) /**< \brief (OSC32KCTRL) APB Base Address */ -#define PAC (0x40000000) /**< \brief (PAC) APB Base Address */ -#define PCC (0x43002C00) /**< \brief (PCC) APB Base Address */ -#define PDEC (0x42001C00) /**< \brief (PDEC) APB Base Address */ -#define PM (0x40000400) /**< \brief (PM) APB Base Address */ -#define PORT (0x41008000) /**< \brief (PORT) APB Base Address */ -#define PUKCC (0x42003000) /**< \brief (PUKCC) APB Base Address */ -#define PUKCC_AHB (0x02000000) /**< \brief (PUKCC) AHB Base Address */ -#define QSPI (0x42003400) /**< \brief (QSPI) APB Base Address */ -#define QSPI_AHB (0x04000000) /**< \brief (QSPI) AHB Base Address */ -#define RAMECC (0x41020000) /**< \brief (RAMECC) APB Base Address */ -#define RSTC (0x40000C00) /**< \brief (RSTC) APB Base Address */ -#define RTC (0x40002400) /**< \brief (RTC) APB Base Address */ -#define SDHC0 (0x45000000) /**< \brief (SDHC0) AHB Base Address */ -#define SDHC1 (0x46000000) /**< \brief (SDHC1) AHB Base Address */ -#define SERCOM0 (0x40003000) /**< \brief (SERCOM0) APB Base Address */ -#define SERCOM1 (0x40003400) /**< \brief (SERCOM1) APB Base Address */ -#define SERCOM2 (0x41012000) /**< \brief (SERCOM2) APB Base Address */ -#define SERCOM3 (0x41014000) /**< \brief (SERCOM3) APB Base Address */ -#define SERCOM4 (0x43000000) /**< \brief (SERCOM4) APB Base Address */ -#define SERCOM5 (0x43000400) /**< \brief (SERCOM5) APB Base Address */ -#define SERCOM6 (0x43000800) /**< \brief (SERCOM6) APB Base Address */ -#define SERCOM7 (0x43000C00) /**< \brief (SERCOM7) APB Base Address */ -#define SUPC (0x40001800) /**< \brief (SUPC) APB Base Address */ -#define TC0 (0x40003800) /**< \brief (TC0) APB Base Address */ -#define TC1 (0x40003C00) /**< \brief (TC1) APB Base Address */ -#define TC2 (0x4101A000) /**< \brief (TC2) APB Base Address */ -#define TC3 (0x4101C000) /**< \brief (TC3) APB Base Address */ -#define TC4 (0x42001400) /**< \brief (TC4) APB Base Address */ -#define TC5 (0x42001800) /**< \brief (TC5) APB Base Address */ -#define TC6 (0x43001400) /**< \brief (TC6) APB Base Address */ -#define TC7 (0x43001800) /**< \brief (TC7) APB Base Address */ -#define TCC0 (0x41016000) /**< \brief (TCC0) APB Base Address */ -#define TCC1 (0x41018000) /**< \brief (TCC1) APB Base Address */ -#define TCC2 (0x42000C00) /**< \brief (TCC2) APB Base Address */ -#define TCC3 (0x42001000) /**< \brief (TCC3) APB Base Address */ -#define TCC4 (0x43001000) /**< \brief (TCC4) APB Base Address */ -#define TRNG (0x42002800) /**< \brief (TRNG) APB Base Address */ -#define USB (0x41000000) /**< \brief (USB) APB Base Address */ -#define WDT (0x40002000) /**< \brief (WDT) APB Base Address */ -#else -#define AC ((Ac *)0x42002000UL) /**< \brief (AC) APB Base Address */ -#define AC_INST_NUM 1 /**< \brief (AC) Number of instances */ -#define AC_INSTS { AC } /**< \brief (AC) Instances List */ - -#define ADC0 ((Adc *)0x43001C00UL) /**< \brief (ADC0) APB Base Address */ -#define ADC1 ((Adc *)0x43002000UL) /**< \brief (ADC1) APB Base Address */ -#define ADC_INST_NUM 2 /**< \brief (ADC) Number of instances */ -#define ADC_INSTS { ADC0, ADC1 } /**< \brief (ADC) Instances List */ - -#define AES ((Aes *)0x42002400UL) /**< \brief (AES) APB Base Address */ -#define AES_INST_NUM 1 /**< \brief (AES) Number of instances */ -#define AES_INSTS { AES } /**< \brief (AES) Instances List */ - -#define CAN0 ((Can *)0x42000000UL) /**< \brief (CAN0) APB Base Address */ -#define CAN1 ((Can *)0x42000400UL) /**< \brief (CAN1) APB Base Address */ -#define CAN_INST_NUM 2 /**< \brief (CAN) Number of instances */ -#define CAN_INSTS { CAN0, CAN1 } /**< \brief (CAN) Instances List */ - -#define CCL ((Ccl *)0x42003800UL) /**< \brief (CCL) APB Base Address */ -#define CCL_INST_NUM 1 /**< \brief (CCL) Number of instances */ -#define CCL_INSTS { CCL } /**< \brief (CCL) Instances List */ - -#define CMCC ((Cmcc *)0x41006000UL) /**< \brief (CMCC) APB Base Address */ -#define CMCC_AHB (0x03000000UL) /**< \brief (CMCC) AHB Base Address */ -#define CMCC_INST_NUM 1 /**< \brief (CMCC) Number of instances */ -#define CMCC_INSTS { CMCC } /**< \brief (CMCC) Instances List */ - -#define DAC ((Dac *)0x43002400UL) /**< \brief (DAC) APB Base Address */ -#define DAC_INST_NUM 1 /**< \brief (DAC) Number of instances */ -#define DAC_INSTS { DAC } /**< \brief (DAC) Instances List */ - -#define DMAC ((Dmac *)0x4100A000UL) /**< \brief (DMAC) APB Base Address */ -#define DMAC_INST_NUM 1 /**< \brief (DMAC) Number of instances */ -#define DMAC_INSTS { DMAC } /**< \brief (DMAC) Instances List */ - -#define DSU ((Dsu *)0x41002000UL) /**< \brief (DSU) APB Base Address */ -#define DSU_INST_NUM 1 /**< \brief (DSU) Number of instances */ -#define DSU_INSTS { DSU } /**< \brief (DSU) Instances List */ - -#define EIC ((Eic *)0x40002800UL) /**< \brief (EIC) APB Base Address */ -#define EIC_INST_NUM 1 /**< \brief (EIC) Number of instances */ -#define EIC_INSTS { EIC } /**< \brief (EIC) Instances List */ - -#define EVSYS ((Evsys *)0x4100E000UL) /**< \brief (EVSYS) APB Base Address */ -#define EVSYS_INST_NUM 1 /**< \brief (EVSYS) Number of instances */ -#define EVSYS_INSTS { EVSYS } /**< \brief (EVSYS) Instances List */ - -#define FREQM ((Freqm *)0x40002C00UL) /**< \brief (FREQM) APB Base Address */ -#define FREQM_INST_NUM 1 /**< \brief (FREQM) Number of instances */ -#define FREQM_INSTS { FREQM } /**< \brief (FREQM) Instances List */ - -#define GCLK ((Gclk *)0x40001C00UL) /**< \brief (GCLK) APB Base Address */ -#define GCLK_INST_NUM 1 /**< \brief (GCLK) Number of instances */ -#define GCLK_INSTS { GCLK } /**< \brief (GCLK) Instances List */ - -#define GMAC ((Gmac *)0x42000800UL) /**< \brief (GMAC) APB Base Address */ -#define GMAC_INST_NUM 1 /**< \brief (GMAC) Number of instances */ -#define GMAC_INSTS { GMAC } /**< \brief (GMAC) Instances List */ - -#define HMATRIX ((Hmatrixb *)0x4100C000UL) /**< \brief (HMATRIX) APB Base Address */ -#define HMATRIXB_INST_NUM 1 /**< \brief (HMATRIXB) Number of instances */ -#define HMATRIXB_INSTS { HMATRIX } /**< \brief (HMATRIXB) Instances List */ - -#define ICM ((Icm *)0x42002C00UL) /**< \brief (ICM) APB Base Address */ -#define ICM_INST_NUM 1 /**< \brief (ICM) Number of instances */ -#define ICM_INSTS { ICM } /**< \brief (ICM) Instances List */ - -#define I2S ((I2s *)0x43002800UL) /**< \brief (I2S) APB Base Address */ -#define I2S_INST_NUM 1 /**< \brief (I2S) Number of instances */ -#define I2S_INSTS { I2S } /**< \brief (I2S) Instances List */ - -#define MCLK ((Mclk *)0x40000800UL) /**< \brief (MCLK) APB Base Address */ -#define MCLK_INST_NUM 1 /**< \brief (MCLK) Number of instances */ -#define MCLK_INSTS { MCLK } /**< \brief (MCLK) Instances List */ - -#define NVMCTRL ((Nvmctrl *)0x41004000UL) /**< \brief (NVMCTRL) APB Base Address */ -#define NVMCTRL_SW0 (0x00800080UL) /**< \brief (NVMCTRL) SW0 Base Address */ -#define NVMCTRL_TEMP_LOG (0x00800100UL) /**< \brief (NVMCTRL) TEMP_LOG Base Address */ -#define NVMCTRL_USER (0x00804000UL) /**< \brief (NVMCTRL) USER Base Address */ -#define NVMCTRL_INST_NUM 1 /**< \brief (NVMCTRL) Number of instances */ -#define NVMCTRL_INSTS { NVMCTRL } /**< \brief (NVMCTRL) Instances List */ - -#define OSCCTRL ((Oscctrl *)0x40001000UL) /**< \brief (OSCCTRL) APB Base Address */ -#define OSCCTRL_INST_NUM 1 /**< \brief (OSCCTRL) Number of instances */ -#define OSCCTRL_INSTS { OSCCTRL } /**< \brief (OSCCTRL) Instances List */ - -#define OSC32KCTRL ((Osc32kctrl *)0x40001400UL) /**< \brief (OSC32KCTRL) APB Base Address */ -#define OSC32KCTRL_INST_NUM 1 /**< \brief (OSC32KCTRL) Number of instances */ -#define OSC32KCTRL_INSTS { OSC32KCTRL } /**< \brief (OSC32KCTRL) Instances List */ - -#define PAC ((Pac *)0x40000000UL) /**< \brief (PAC) APB Base Address */ -#define PAC_INST_NUM 1 /**< \brief (PAC) Number of instances */ -#define PAC_INSTS { PAC } /**< \brief (PAC) Instances List */ - -#define PCC ((Pcc *)0x43002C00UL) /**< \brief (PCC) APB Base Address */ -#define PCC_INST_NUM 1 /**< \brief (PCC) Number of instances */ -#define PCC_INSTS { PCC } /**< \brief (PCC) Instances List */ - -#define PDEC ((Pdec *)0x42001C00UL) /**< \brief (PDEC) APB Base Address */ -#define PDEC_INST_NUM 1 /**< \brief (PDEC) Number of instances */ -#define PDEC_INSTS { PDEC } /**< \brief (PDEC) Instances List */ - -#define PM ((Pm *)0x40000400UL) /**< \brief (PM) APB Base Address */ -#define PM_INST_NUM 1 /**< \brief (PM) Number of instances */ -#define PM_INSTS { PM } /**< \brief (PM) Instances List */ - -#define PORT ((Port *)0x41008000UL) /**< \brief (PORT) APB Base Address */ -#define PORT_INST_NUM 1 /**< \brief (PORT) Number of instances */ -#define PORT_INSTS { PORT } /**< \brief (PORT) Instances List */ - -#define PUKCC ((void *)0x42003000UL) /**< \brief (PUKCC) APB Base Address */ -#define PUKCC_AHB ((void *)0x02000000UL) /**< \brief (PUKCC) AHB Base Address */ -#define PUKCC_INST_NUM 1 /**< \brief (PUKCC) Number of instances */ -#define PUKCC_INSTS { PUKCC } /**< \brief (PUKCC) Instances List */ - -#define QSPI ((Qspi *)0x42003400UL) /**< \brief (QSPI) APB Base Address */ -#define QSPI_AHB (0x04000000UL) /**< \brief (QSPI) AHB Base Address */ -#define QSPI_INST_NUM 1 /**< \brief (QSPI) Number of instances */ -#define QSPI_INSTS { QSPI } /**< \brief (QSPI) Instances List */ - -#define RAMECC ((Ramecc *)0x41020000UL) /**< \brief (RAMECC) APB Base Address */ -#define RAMECC_INST_NUM 1 /**< \brief (RAMECC) Number of instances */ -#define RAMECC_INSTS { RAMECC } /**< \brief (RAMECC) Instances List */ - -#define RSTC ((Rstc *)0x40000C00UL) /**< \brief (RSTC) APB Base Address */ -#define RSTC_INST_NUM 1 /**< \brief (RSTC) Number of instances */ -#define RSTC_INSTS { RSTC } /**< \brief (RSTC) Instances List */ - -#define RTC ((Rtc *)0x40002400UL) /**< \brief (RTC) APB Base Address */ -#define RTC_INST_NUM 1 /**< \brief (RTC) Number of instances */ -#define RTC_INSTS { RTC } /**< \brief (RTC) Instances List */ - -#define SDHC0 ((Sdhc *)0x45000000UL) /**< \brief (SDHC0) AHB Base Address */ -#define SDHC1 ((Sdhc *)0x46000000UL) /**< \brief (SDHC1) AHB Base Address */ -#define SDHC_INST_NUM 2 /**< \brief (SDHC) Number of instances */ -#define SDHC_INSTS { SDHC0, SDHC1 } /**< \brief (SDHC) Instances List */ - -#define SERCOM0 ((Sercom *)0x40003000UL) /**< \brief (SERCOM0) APB Base Address */ -#define SERCOM1 ((Sercom *)0x40003400UL) /**< \brief (SERCOM1) APB Base Address */ -#define SERCOM2 ((Sercom *)0x41012000UL) /**< \brief (SERCOM2) APB Base Address */ -#define SERCOM3 ((Sercom *)0x41014000UL) /**< \brief (SERCOM3) APB Base Address */ -#define SERCOM4 ((Sercom *)0x43000000UL) /**< \brief (SERCOM4) APB Base Address */ -#define SERCOM5 ((Sercom *)0x43000400UL) /**< \brief (SERCOM5) APB Base Address */ -#define SERCOM6 ((Sercom *)0x43000800UL) /**< \brief (SERCOM6) APB Base Address */ -#define SERCOM7 ((Sercom *)0x43000C00UL) /**< \brief (SERCOM7) APB Base Address */ -#define SERCOM_INST_NUM 8 /**< \brief (SERCOM) Number of instances */ -#define SERCOM_INSTS { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5, SERCOM6, SERCOM7 } /**< \brief (SERCOM) Instances List */ - -#define SUPC ((Supc *)0x40001800UL) /**< \brief (SUPC) APB Base Address */ -#define SUPC_INST_NUM 1 /**< \brief (SUPC) Number of instances */ -#define SUPC_INSTS { SUPC } /**< \brief (SUPC) Instances List */ - -#define TC0 ((Tc *)0x40003800UL) /**< \brief (TC0) APB Base Address */ -#define TC1 ((Tc *)0x40003C00UL) /**< \brief (TC1) APB Base Address */ -#define TC2 ((Tc *)0x4101A000UL) /**< \brief (TC2) APB Base Address */ -#define TC3 ((Tc *)0x4101C000UL) /**< \brief (TC3) APB Base Address */ -#define TC4 ((Tc *)0x42001400UL) /**< \brief (TC4) APB Base Address */ -#define TC5 ((Tc *)0x42001800UL) /**< \brief (TC5) APB Base Address */ -#define TC6 ((Tc *)0x43001400UL) /**< \brief (TC6) APB Base Address */ -#define TC7 ((Tc *)0x43001800UL) /**< \brief (TC7) APB Base Address */ -#define TC_INST_NUM 8 /**< \brief (TC) Number of instances */ -#define TC_INSTS { TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 } /**< \brief (TC) Instances List */ - -#define TCC0 ((Tcc *)0x41016000UL) /**< \brief (TCC0) APB Base Address */ -#define TCC1 ((Tcc *)0x41018000UL) /**< \brief (TCC1) APB Base Address */ -#define TCC2 ((Tcc *)0x42000C00UL) /**< \brief (TCC2) APB Base Address */ -#define TCC3 ((Tcc *)0x42001000UL) /**< \brief (TCC3) APB Base Address */ -#define TCC4 ((Tcc *)0x43001000UL) /**< \brief (TCC4) APB Base Address */ -#define TCC_INST_NUM 5 /**< \brief (TCC) Number of instances */ -#define TCC_INSTS { TCC0, TCC1, TCC2, TCC3, TCC4 } /**< \brief (TCC) Instances List */ - -#define TRNG ((Trng *)0x42002800UL) /**< \brief (TRNG) APB Base Address */ -#define TRNG_INST_NUM 1 /**< \brief (TRNG) Number of instances */ -#define TRNG_INSTS { TRNG } /**< \brief (TRNG) Instances List */ - -#define USB ((Usb *)0x41000000UL) /**< \brief (USB) APB Base Address */ -#define USB_INST_NUM 1 /**< \brief (USB) Number of instances */ -#define USB_INSTS { USB } /**< \brief (USB) Instances List */ - -#define WDT ((Wdt *)0x40002000UL) /**< \brief (WDT) APB Base Address */ -#define WDT_INST_NUM 1 /**< \brief (WDT) Number of instances */ -#define WDT_INSTS { WDT } /**< \brief (WDT) Instances List */ - -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/** PORT DEFINITIONS FOR SAME54N19A */ -/* ************************************************************************** */ -/** \defgroup SAME54N19A_port PORT Definitions */ -/*@{*/ - -#include "pio/same54n19a.h" -/*@}*/ - -/* ************************************************************************** */ -/** MEMORY MAPPING DEFINITIONS FOR SAME54N19A */ -/* ************************************************************************** */ - -#define HSRAM_SIZE _UL_(0x00030000) /* 192 kB */ -#define FLASH_SIZE _UL_(0x00080000) /* 512 kB */ -#define FLASH_PAGE_SIZE 512 -#define FLASH_NB_OF_PAGES 1024 -#define FLASH_USER_PAGE_SIZE 512 -#define BKUPRAM_SIZE _UL_(0x00002000) /* 8 kB */ -#define QSPI_SIZE _UL_(0x01000000) /* 16384 kB */ - -#define FLASH_ADDR _UL_(0x00000000) /**< FLASH base address */ -#define CMCC_DATARAM_ADDR _UL_(0x03000000) /**< CMCC_DATARAM base address */ -#define CMCC_DATARAM_SIZE _UL_(0x00001000) /**< CMCC_DATARAM size */ -#define CMCC_TAGRAM_ADDR _UL_(0x03001000) /**< CMCC_TAGRAM base address */ -#define CMCC_TAGRAM_SIZE _UL_(0x00000400) /**< CMCC_TAGRAM size */ -#define CMCC_VALIDRAM_ADDR _UL_(0x03002000) /**< CMCC_VALIDRAM base address */ -#define CMCC_VALIDRAM_SIZE _UL_(0x00000040) /**< CMCC_VALIDRAM size */ -#define HSRAM_ADDR _UL_(0x20000000) /**< HSRAM base address */ -#define HSRAM_ETB_ADDR _UL_(0x20000000) /**< HSRAM_ETB base address */ -#define HSRAM_ETB_SIZE _UL_(0x00008000) /**< HSRAM_ETB size */ -#define HSRAM_RET1_ADDR _UL_(0x20000000) /**< HSRAM_RET1 base address */ -#define HSRAM_RET1_SIZE _UL_(0x00008000) /**< HSRAM_RET1 size */ -#define HPB0_ADDR _UL_(0x40000000) /**< HPB0 base address */ -#define HPB1_ADDR _UL_(0x41000000) /**< HPB1 base address */ -#define HPB2_ADDR _UL_(0x42000000) /**< HPB2 base address */ -#define HPB3_ADDR _UL_(0x43000000) /**< HPB3 base address */ -#define SEEPROM_ADDR _UL_(0x44000000) /**< SEEPROM base address */ -#define BKUPRAM_ADDR _UL_(0x47000000) /**< BKUPRAM base address */ -#define PPB_ADDR _UL_(0xE0000000) /**< PPB base address */ - -#define DSU_DID_RESETVALUE _UL_(0x61840303) -#define ADC0_TOUCH_LINES_NUM 32 -#define PORT_GROUPS 3 - -/* ************************************************************************** */ -/** ELECTRICAL DEFINITIONS FOR SAME54N19A */ -/* ************************************************************************** */ - - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* SAME54N19A_H */ diff --git a/software/firmware/oracle_same54n19a/include/same54n20a.h b/software/firmware/oracle_same54n19a/include/same54n20a.h deleted file mode 100644 index 4d4e23d..0000000 --- a/software/firmware/oracle_same54n19a/include/same54n20a.h +++ /dev/null @@ -1,1085 +0,0 @@ -/** - * \file - * - * \brief Header file for SAME54N20A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54N20A_ -#define _SAME54N20A_ - -/** - * \ingroup SAME54_definitions - * \addtogroup SAME54N20A_definitions SAME54N20A definitions - * This file defines all structures and symbols for SAME54N20A: - * - registers and bitfields - * - peripheral base address - * - peripheral ID - * - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include -#ifndef __cplusplus -typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ -typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ -typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ -#else -typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ -typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ -typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ -#endif -typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ -typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */ -typedef volatile uint8_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */ -typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ -typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */ -typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */ -#endif - -#if !defined(SKIP_INTEGER_LITERALS) -#if defined(_U_) || defined(_L_) || defined(_UL_) - #error "Integer Literals macros already defined elsewhere" -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/* Macros that deal with adding suffixes to integer literal constants for C/C++ */ -#define _U_(x) x ## U /**< C code: Unsigned integer literal constant value */ -#define _L_(x) x ## L /**< C code: Long integer literal constant value */ -#define _UL_(x) x ## UL /**< C code: Unsigned Long integer literal constant value */ -#else /* Assembler */ -#define _U_(x) x /**< Assembler: Unsigned integer literal constant value */ -#define _L_(x) x /**< Assembler: Long integer literal constant value */ -#define _UL_(x) x /**< Assembler: Unsigned Long integer literal constant value */ -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -#endif /* SKIP_INTEGER_LITERALS */ - -/* ************************************************************************** */ -/** CMSIS DEFINITIONS FOR SAME54N20A */ -/* ************************************************************************** */ -/** \defgroup SAME54N20A_cmsis CMSIS Definitions */ -/*@{*/ - -/** Interrupt Number Definition */ -typedef enum IRQn -{ - /****** Cortex-M4 Processor Exceptions Numbers *******************/ - NonMaskableInt_IRQn = -14,/**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13,/**< 3 Hard Fault Interrupt */ - MemoryManagement_IRQn = -12,/**< 4 Memory Management Interrupt */ - BusFault_IRQn = -11,/**< 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10,/**< 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 System Tick Interrupt */ - /****** SAME54N20A-specific Interrupt Numbers *********************/ - PM_IRQn = 0, /**< 0 SAME54N20A Power Manager (PM) */ - MCLK_IRQn = 1, /**< 1 SAME54N20A Main Clock (MCLK) */ - OSCCTRL_0_IRQn = 2, /**< 2 SAME54N20A Oscillators Control (OSCCTRL) IRQ 0 */ - OSCCTRL_1_IRQn = 3, /**< 3 SAME54N20A Oscillators Control (OSCCTRL) IRQ 1 */ - OSCCTRL_2_IRQn = 4, /**< 4 SAME54N20A Oscillators Control (OSCCTRL) IRQ 2 */ - OSCCTRL_3_IRQn = 5, /**< 5 SAME54N20A Oscillators Control (OSCCTRL) IRQ 3 */ - OSCCTRL_4_IRQn = 6, /**< 6 SAME54N20A Oscillators Control (OSCCTRL) IRQ 4 */ - OSC32KCTRL_IRQn = 7, /**< 7 SAME54N20A 32kHz Oscillators Control (OSC32KCTRL) */ - SUPC_0_IRQn = 8, /**< 8 SAME54N20A Supply Controller (SUPC) IRQ 0 */ - SUPC_1_IRQn = 9, /**< 9 SAME54N20A Supply Controller (SUPC) IRQ 1 */ - WDT_IRQn = 10, /**< 10 SAME54N20A Watchdog Timer (WDT) */ - RTC_IRQn = 11, /**< 11 SAME54N20A Real-Time Counter (RTC) */ - EIC_0_IRQn = 12, /**< 12 SAME54N20A External Interrupt Controller (EIC) IRQ 0 */ - EIC_1_IRQn = 13, /**< 13 SAME54N20A External Interrupt Controller (EIC) IRQ 1 */ - EIC_2_IRQn = 14, /**< 14 SAME54N20A External Interrupt Controller (EIC) IRQ 2 */ - EIC_3_IRQn = 15, /**< 15 SAME54N20A External Interrupt Controller (EIC) IRQ 3 */ - EIC_4_IRQn = 16, /**< 16 SAME54N20A External Interrupt Controller (EIC) IRQ 4 */ - EIC_5_IRQn = 17, /**< 17 SAME54N20A External Interrupt Controller (EIC) IRQ 5 */ - EIC_6_IRQn = 18, /**< 18 SAME54N20A External Interrupt Controller (EIC) IRQ 6 */ - EIC_7_IRQn = 19, /**< 19 SAME54N20A External Interrupt Controller (EIC) IRQ 7 */ - EIC_8_IRQn = 20, /**< 20 SAME54N20A External Interrupt Controller (EIC) IRQ 8 */ - EIC_9_IRQn = 21, /**< 21 SAME54N20A External Interrupt Controller (EIC) IRQ 9 */ - EIC_10_IRQn = 22, /**< 22 SAME54N20A External Interrupt Controller (EIC) IRQ 10 */ - EIC_11_IRQn = 23, /**< 23 SAME54N20A External Interrupt Controller (EIC) IRQ 11 */ - EIC_12_IRQn = 24, /**< 24 SAME54N20A External Interrupt Controller (EIC) IRQ 12 */ - EIC_13_IRQn = 25, /**< 25 SAME54N20A External Interrupt Controller (EIC) IRQ 13 */ - EIC_14_IRQn = 26, /**< 26 SAME54N20A External Interrupt Controller (EIC) IRQ 14 */ - EIC_15_IRQn = 27, /**< 27 SAME54N20A External Interrupt Controller (EIC) IRQ 15 */ - FREQM_IRQn = 28, /**< 28 SAME54N20A Frequency Meter (FREQM) */ - NVMCTRL_0_IRQn = 29, /**< 29 SAME54N20A Non-Volatile Memory Controller (NVMCTRL) IRQ 0 */ - NVMCTRL_1_IRQn = 30, /**< 30 SAME54N20A Non-Volatile Memory Controller (NVMCTRL) IRQ 1 */ - DMAC_0_IRQn = 31, /**< 31 SAME54N20A Direct Memory Access Controller (DMAC) IRQ 0 */ - DMAC_1_IRQn = 32, /**< 32 SAME54N20A Direct Memory Access Controller (DMAC) IRQ 1 */ - DMAC_2_IRQn = 33, /**< 33 SAME54N20A Direct Memory Access Controller (DMAC) IRQ 2 */ - DMAC_3_IRQn = 34, /**< 34 SAME54N20A Direct Memory Access Controller (DMAC) IRQ 3 */ - DMAC_4_IRQn = 35, /**< 35 SAME54N20A Direct Memory Access Controller (DMAC) IRQ 4 */ - EVSYS_0_IRQn = 36, /**< 36 SAME54N20A Event System Interface (EVSYS) IRQ 0 */ - EVSYS_1_IRQn = 37, /**< 37 SAME54N20A Event System Interface (EVSYS) IRQ 1 */ - EVSYS_2_IRQn = 38, /**< 38 SAME54N20A Event System Interface (EVSYS) IRQ 2 */ - EVSYS_3_IRQn = 39, /**< 39 SAME54N20A Event System Interface (EVSYS) IRQ 3 */ - EVSYS_4_IRQn = 40, /**< 40 SAME54N20A Event System Interface (EVSYS) IRQ 4 */ - PAC_IRQn = 41, /**< 41 SAME54N20A Peripheral Access Controller (PAC) */ - RAMECC_IRQn = 45, /**< 45 SAME54N20A RAM ECC (RAMECC) */ - SERCOM0_0_IRQn = 46, /**< 46 SAME54N20A Serial Communication Interface 0 (SERCOM0) IRQ 0 */ - SERCOM0_1_IRQn = 47, /**< 47 SAME54N20A Serial Communication Interface 0 (SERCOM0) IRQ 1 */ - SERCOM0_2_IRQn = 48, /**< 48 SAME54N20A Serial Communication Interface 0 (SERCOM0) IRQ 2 */ - SERCOM0_3_IRQn = 49, /**< 49 SAME54N20A Serial Communication Interface 0 (SERCOM0) IRQ 3 */ - SERCOM1_0_IRQn = 50, /**< 50 SAME54N20A Serial Communication Interface 1 (SERCOM1) IRQ 0 */ - SERCOM1_1_IRQn = 51, /**< 51 SAME54N20A Serial Communication Interface 1 (SERCOM1) IRQ 1 */ - SERCOM1_2_IRQn = 52, /**< 52 SAME54N20A Serial Communication Interface 1 (SERCOM1) IRQ 2 */ - SERCOM1_3_IRQn = 53, /**< 53 SAME54N20A Serial Communication Interface 1 (SERCOM1) IRQ 3 */ - SERCOM2_0_IRQn = 54, /**< 54 SAME54N20A Serial Communication Interface 2 (SERCOM2) IRQ 0 */ - SERCOM2_1_IRQn = 55, /**< 55 SAME54N20A Serial Communication Interface 2 (SERCOM2) IRQ 1 */ - SERCOM2_2_IRQn = 56, /**< 56 SAME54N20A Serial Communication Interface 2 (SERCOM2) IRQ 2 */ - SERCOM2_3_IRQn = 57, /**< 57 SAME54N20A Serial Communication Interface 2 (SERCOM2) IRQ 3 */ - SERCOM3_0_IRQn = 58, /**< 58 SAME54N20A Serial Communication Interface 3 (SERCOM3) IRQ 0 */ - SERCOM3_1_IRQn = 59, /**< 59 SAME54N20A Serial Communication Interface 3 (SERCOM3) IRQ 1 */ - SERCOM3_2_IRQn = 60, /**< 60 SAME54N20A Serial Communication Interface 3 (SERCOM3) IRQ 2 */ - SERCOM3_3_IRQn = 61, /**< 61 SAME54N20A Serial Communication Interface 3 (SERCOM3) IRQ 3 */ - SERCOM4_0_IRQn = 62, /**< 62 SAME54N20A Serial Communication Interface 4 (SERCOM4) IRQ 0 */ - SERCOM4_1_IRQn = 63, /**< 63 SAME54N20A Serial Communication Interface 4 (SERCOM4) IRQ 1 */ - SERCOM4_2_IRQn = 64, /**< 64 SAME54N20A Serial Communication Interface 4 (SERCOM4) IRQ 2 */ - SERCOM4_3_IRQn = 65, /**< 65 SAME54N20A Serial Communication Interface 4 (SERCOM4) IRQ 3 */ - SERCOM5_0_IRQn = 66, /**< 66 SAME54N20A Serial Communication Interface 5 (SERCOM5) IRQ 0 */ - SERCOM5_1_IRQn = 67, /**< 67 SAME54N20A Serial Communication Interface 5 (SERCOM5) IRQ 1 */ - SERCOM5_2_IRQn = 68, /**< 68 SAME54N20A Serial Communication Interface 5 (SERCOM5) IRQ 2 */ - SERCOM5_3_IRQn = 69, /**< 69 SAME54N20A Serial Communication Interface 5 (SERCOM5) IRQ 3 */ - SERCOM6_0_IRQn = 70, /**< 70 SAME54N20A Serial Communication Interface 6 (SERCOM6) IRQ 0 */ - SERCOM6_1_IRQn = 71, /**< 71 SAME54N20A Serial Communication Interface 6 (SERCOM6) IRQ 1 */ - SERCOM6_2_IRQn = 72, /**< 72 SAME54N20A Serial Communication Interface 6 (SERCOM6) IRQ 2 */ - SERCOM6_3_IRQn = 73, /**< 73 SAME54N20A Serial Communication Interface 6 (SERCOM6) IRQ 3 */ - SERCOM7_0_IRQn = 74, /**< 74 SAME54N20A Serial Communication Interface 7 (SERCOM7) IRQ 0 */ - SERCOM7_1_IRQn = 75, /**< 75 SAME54N20A Serial Communication Interface 7 (SERCOM7) IRQ 1 */ - SERCOM7_2_IRQn = 76, /**< 76 SAME54N20A Serial Communication Interface 7 (SERCOM7) IRQ 2 */ - SERCOM7_3_IRQn = 77, /**< 77 SAME54N20A Serial Communication Interface 7 (SERCOM7) IRQ 3 */ - CAN0_IRQn = 78, /**< 78 SAME54N20A Control Area Network 0 (CAN0) */ - CAN1_IRQn = 79, /**< 79 SAME54N20A Control Area Network 1 (CAN1) */ - USB_0_IRQn = 80, /**< 80 SAME54N20A Universal Serial Bus (USB) IRQ 0 */ - USB_1_IRQn = 81, /**< 81 SAME54N20A Universal Serial Bus (USB) IRQ 1 */ - USB_2_IRQn = 82, /**< 82 SAME54N20A Universal Serial Bus (USB) IRQ 2 */ - USB_3_IRQn = 83, /**< 83 SAME54N20A Universal Serial Bus (USB) IRQ 3 */ - GMAC_IRQn = 84, /**< 84 SAME54N20A Ethernet MAC (GMAC) */ - TCC0_0_IRQn = 85, /**< 85 SAME54N20A Timer Counter Control 0 (TCC0) IRQ 0 */ - TCC0_1_IRQn = 86, /**< 86 SAME54N20A Timer Counter Control 0 (TCC0) IRQ 1 */ - TCC0_2_IRQn = 87, /**< 87 SAME54N20A Timer Counter Control 0 (TCC0) IRQ 2 */ - TCC0_3_IRQn = 88, /**< 88 SAME54N20A Timer Counter Control 0 (TCC0) IRQ 3 */ - TCC0_4_IRQn = 89, /**< 89 SAME54N20A Timer Counter Control 0 (TCC0) IRQ 4 */ - TCC0_5_IRQn = 90, /**< 90 SAME54N20A Timer Counter Control 0 (TCC0) IRQ 5 */ - TCC0_6_IRQn = 91, /**< 91 SAME54N20A Timer Counter Control 0 (TCC0) IRQ 6 */ - TCC1_0_IRQn = 92, /**< 92 SAME54N20A Timer Counter Control 1 (TCC1) IRQ 0 */ - TCC1_1_IRQn = 93, /**< 93 SAME54N20A Timer Counter Control 1 (TCC1) IRQ 1 */ - TCC1_2_IRQn = 94, /**< 94 SAME54N20A Timer Counter Control 1 (TCC1) IRQ 2 */ - TCC1_3_IRQn = 95, /**< 95 SAME54N20A Timer Counter Control 1 (TCC1) IRQ 3 */ - TCC1_4_IRQn = 96, /**< 96 SAME54N20A Timer Counter Control 1 (TCC1) IRQ 4 */ - TCC2_0_IRQn = 97, /**< 97 SAME54N20A Timer Counter Control 2 (TCC2) IRQ 0 */ - TCC2_1_IRQn = 98, /**< 98 SAME54N20A Timer Counter Control 2 (TCC2) IRQ 1 */ - TCC2_2_IRQn = 99, /**< 99 SAME54N20A Timer Counter Control 2 (TCC2) IRQ 2 */ - TCC2_3_IRQn = 100, /**< 100 SAME54N20A Timer Counter Control 2 (TCC2) IRQ 3 */ - TCC3_0_IRQn = 101, /**< 101 SAME54N20A Timer Counter Control 3 (TCC3) IRQ 0 */ - TCC3_1_IRQn = 102, /**< 102 SAME54N20A Timer Counter Control 3 (TCC3) IRQ 1 */ - TCC3_2_IRQn = 103, /**< 103 SAME54N20A Timer Counter Control 3 (TCC3) IRQ 2 */ - TCC4_0_IRQn = 104, /**< 104 SAME54N20A Timer Counter Control 4 (TCC4) IRQ 0 */ - TCC4_1_IRQn = 105, /**< 105 SAME54N20A Timer Counter Control 4 (TCC4) IRQ 1 */ - TCC4_2_IRQn = 106, /**< 106 SAME54N20A Timer Counter Control 4 (TCC4) IRQ 2 */ - TC0_IRQn = 107, /**< 107 SAME54N20A Basic Timer Counter 0 (TC0) */ - TC1_IRQn = 108, /**< 108 SAME54N20A Basic Timer Counter 1 (TC1) */ - TC2_IRQn = 109, /**< 109 SAME54N20A Basic Timer Counter 2 (TC2) */ - TC3_IRQn = 110, /**< 110 SAME54N20A Basic Timer Counter 3 (TC3) */ - TC4_IRQn = 111, /**< 111 SAME54N20A Basic Timer Counter 4 (TC4) */ - TC5_IRQn = 112, /**< 112 SAME54N20A Basic Timer Counter 5 (TC5) */ - TC6_IRQn = 113, /**< 113 SAME54N20A Basic Timer Counter 6 (TC6) */ - TC7_IRQn = 114, /**< 114 SAME54N20A Basic Timer Counter 7 (TC7) */ - PDEC_0_IRQn = 115, /**< 115 SAME54N20A Quadrature Decodeur (PDEC) IRQ 0 */ - PDEC_1_IRQn = 116, /**< 116 SAME54N20A Quadrature Decodeur (PDEC) IRQ 1 */ - PDEC_2_IRQn = 117, /**< 117 SAME54N20A Quadrature Decodeur (PDEC) IRQ 2 */ - ADC0_0_IRQn = 118, /**< 118 SAME54N20A Analog Digital Converter 0 (ADC0) IRQ 0 */ - ADC0_1_IRQn = 119, /**< 119 SAME54N20A Analog Digital Converter 0 (ADC0) IRQ 1 */ - ADC1_0_IRQn = 120, /**< 120 SAME54N20A Analog Digital Converter 1 (ADC1) IRQ 0 */ - ADC1_1_IRQn = 121, /**< 121 SAME54N20A Analog Digital Converter 1 (ADC1) IRQ 1 */ - AC_IRQn = 122, /**< 122 SAME54N20A Analog Comparators (AC) */ - DAC_0_IRQn = 123, /**< 123 SAME54N20A Digital-to-Analog Converter (DAC) IRQ 0 */ - DAC_1_IRQn = 124, /**< 124 SAME54N20A Digital-to-Analog Converter (DAC) IRQ 1 */ - DAC_2_IRQn = 125, /**< 125 SAME54N20A Digital-to-Analog Converter (DAC) IRQ 2 */ - DAC_3_IRQn = 126, /**< 126 SAME54N20A Digital-to-Analog Converter (DAC) IRQ 3 */ - DAC_4_IRQn = 127, /**< 127 SAME54N20A Digital-to-Analog Converter (DAC) IRQ 4 */ - I2S_IRQn = 128, /**< 128 SAME54N20A Inter-IC Sound Interface (I2S) */ - PCC_IRQn = 129, /**< 129 SAME54N20A Parallel Capture Controller (PCC) */ - AES_IRQn = 130, /**< 130 SAME54N20A Advanced Encryption Standard (AES) */ - TRNG_IRQn = 131, /**< 131 SAME54N20A True Random Generator (TRNG) */ - ICM_IRQn = 132, /**< 132 SAME54N20A Integrity Check Monitor (ICM) */ - PUKCC_IRQn = 133, /**< 133 SAME54N20A PUblic-Key Cryptography Controller (PUKCC) */ - QSPI_IRQn = 134, /**< 134 SAME54N20A Quad SPI interface (QSPI) */ - SDHC0_IRQn = 135, /**< 135 SAME54N20A SD/MMC Host Controller 0 (SDHC0) */ - SDHC1_IRQn = 136, /**< 136 SAME54N20A SD/MMC Host Controller 1 (SDHC1) */ - - PERIPH_COUNT_IRQn = 137 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNonMaskableInt_Handler; - void* pfnHardFault_Handler; - void* pfnMemManagement_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pvReservedM9; - void* pvReservedM8; - void* pvReservedM7; - void* pvReservedM6; - void* pfnSVCall_Handler; - void* pfnDebugMonitor_Handler; - void* pvReservedM3; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnPM_Handler; /* 0 Power Manager */ - void* pfnMCLK_Handler; /* 1 Main Clock */ - void* pfnOSCCTRL_0_Handler; /* 2 Oscillators Control IRQ 0 */ - void* pfnOSCCTRL_1_Handler; /* 3 Oscillators Control IRQ 1 */ - void* pfnOSCCTRL_2_Handler; /* 4 Oscillators Control IRQ 2 */ - void* pfnOSCCTRL_3_Handler; /* 5 Oscillators Control IRQ 3 */ - void* pfnOSCCTRL_4_Handler; /* 6 Oscillators Control IRQ 4 */ - void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control */ - void* pfnSUPC_0_Handler; /* 8 Supply Controller IRQ 0 */ - void* pfnSUPC_1_Handler; /* 9 Supply Controller IRQ 1 */ - void* pfnWDT_Handler; /* 10 Watchdog Timer */ - void* pfnRTC_Handler; /* 11 Real-Time Counter */ - void* pfnEIC_0_Handler; /* 12 External Interrupt Controller IRQ 0 */ - void* pfnEIC_1_Handler; /* 13 External Interrupt Controller IRQ 1 */ - void* pfnEIC_2_Handler; /* 14 External Interrupt Controller IRQ 2 */ - void* pfnEIC_3_Handler; /* 15 External Interrupt Controller IRQ 3 */ - void* pfnEIC_4_Handler; /* 16 External Interrupt Controller IRQ 4 */ - void* pfnEIC_5_Handler; /* 17 External Interrupt Controller IRQ 5 */ - void* pfnEIC_6_Handler; /* 18 External Interrupt Controller IRQ 6 */ - void* pfnEIC_7_Handler; /* 19 External Interrupt Controller IRQ 7 */ - void* pfnEIC_8_Handler; /* 20 External Interrupt Controller IRQ 8 */ - void* pfnEIC_9_Handler; /* 21 External Interrupt Controller IRQ 9 */ - void* pfnEIC_10_Handler; /* 22 External Interrupt Controller IRQ 10 */ - void* pfnEIC_11_Handler; /* 23 External Interrupt Controller IRQ 11 */ - void* pfnEIC_12_Handler; /* 24 External Interrupt Controller IRQ 12 */ - void* pfnEIC_13_Handler; /* 25 External Interrupt Controller IRQ 13 */ - void* pfnEIC_14_Handler; /* 26 External Interrupt Controller IRQ 14 */ - void* pfnEIC_15_Handler; /* 27 External Interrupt Controller IRQ 15 */ - void* pfnFREQM_Handler; /* 28 Frequency Meter */ - void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller IRQ 0 */ - void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller IRQ 1 */ - void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller IRQ 0 */ - void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller IRQ 1 */ - void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller IRQ 2 */ - void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller IRQ 3 */ - void* pfnDMAC_4_Handler; /* 35 Direct Memory Access Controller IRQ 4 */ - void* pfnEVSYS_0_Handler; /* 36 Event System Interface IRQ 0 */ - void* pfnEVSYS_1_Handler; /* 37 Event System Interface IRQ 1 */ - void* pfnEVSYS_2_Handler; /* 38 Event System Interface IRQ 2 */ - void* pfnEVSYS_3_Handler; /* 39 Event System Interface IRQ 3 */ - void* pfnEVSYS_4_Handler; /* 40 Event System Interface IRQ 4 */ - void* pfnPAC_Handler; /* 41 Peripheral Access Controller */ - void* pvReserved42; - void* pvReserved43; - void* pvReserved44; - void* pfnRAMECC_Handler; /* 45 RAM ECC */ - void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface 0 IRQ 0 */ - void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface 0 IRQ 1 */ - void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface 0 IRQ 2 */ - void* pfnSERCOM0_3_Handler; /* 49 Serial Communication Interface 0 IRQ 3 */ - void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface 1 IRQ 0 */ - void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface 1 IRQ 1 */ - void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface 1 IRQ 2 */ - void* pfnSERCOM1_3_Handler; /* 53 Serial Communication Interface 1 IRQ 3 */ - void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface 2 IRQ 0 */ - void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface 2 IRQ 1 */ - void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface 2 IRQ 2 */ - void* pfnSERCOM2_3_Handler; /* 57 Serial Communication Interface 2 IRQ 3 */ - void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface 3 IRQ 0 */ - void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface 3 IRQ 1 */ - void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface 3 IRQ 2 */ - void* pfnSERCOM3_3_Handler; /* 61 Serial Communication Interface 3 IRQ 3 */ - void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface 4 IRQ 0 */ - void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface 4 IRQ 1 */ - void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface 4 IRQ 2 */ - void* pfnSERCOM4_3_Handler; /* 65 Serial Communication Interface 4 IRQ 3 */ - void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface 5 IRQ 0 */ - void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface 5 IRQ 1 */ - void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface 5 IRQ 2 */ - void* pfnSERCOM5_3_Handler; /* 69 Serial Communication Interface 5 IRQ 3 */ - void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface 6 IRQ 0 */ - void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface 6 IRQ 1 */ - void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface 6 IRQ 2 */ - void* pfnSERCOM6_3_Handler; /* 73 Serial Communication Interface 6 IRQ 3 */ - void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface 7 IRQ 0 */ - void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface 7 IRQ 1 */ - void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface 7 IRQ 2 */ - void* pfnSERCOM7_3_Handler; /* 77 Serial Communication Interface 7 IRQ 3 */ - void* pfnCAN0_Handler; /* 78 Control Area Network 0 */ - void* pfnCAN1_Handler; /* 79 Control Area Network 1 */ - void* pfnUSB_0_Handler; /* 80 Universal Serial Bus IRQ 0 */ - void* pfnUSB_1_Handler; /* 81 Universal Serial Bus IRQ 1 */ - void* pfnUSB_2_Handler; /* 82 Universal Serial Bus IRQ 2 */ - void* pfnUSB_3_Handler; /* 83 Universal Serial Bus IRQ 3 */ - void* pfnGMAC_Handler; /* 84 Ethernet MAC */ - void* pfnTCC0_0_Handler; /* 85 Timer Counter Control 0 IRQ 0 */ - void* pfnTCC0_1_Handler; /* 86 Timer Counter Control 0 IRQ 1 */ - void* pfnTCC0_2_Handler; /* 87 Timer Counter Control 0 IRQ 2 */ - void* pfnTCC0_3_Handler; /* 88 Timer Counter Control 0 IRQ 3 */ - void* pfnTCC0_4_Handler; /* 89 Timer Counter Control 0 IRQ 4 */ - void* pfnTCC0_5_Handler; /* 90 Timer Counter Control 0 IRQ 5 */ - void* pfnTCC0_6_Handler; /* 91 Timer Counter Control 0 IRQ 6 */ - void* pfnTCC1_0_Handler; /* 92 Timer Counter Control 1 IRQ 0 */ - void* pfnTCC1_1_Handler; /* 93 Timer Counter Control 1 IRQ 1 */ - void* pfnTCC1_2_Handler; /* 94 Timer Counter Control 1 IRQ 2 */ - void* pfnTCC1_3_Handler; /* 95 Timer Counter Control 1 IRQ 3 */ - void* pfnTCC1_4_Handler; /* 96 Timer Counter Control 1 IRQ 4 */ - void* pfnTCC2_0_Handler; /* 97 Timer Counter Control 2 IRQ 0 */ - void* pfnTCC2_1_Handler; /* 98 Timer Counter Control 2 IRQ 1 */ - void* pfnTCC2_2_Handler; /* 99 Timer Counter Control 2 IRQ 2 */ - void* pfnTCC2_3_Handler; /* 100 Timer Counter Control 2 IRQ 3 */ - void* pfnTCC3_0_Handler; /* 101 Timer Counter Control 3 IRQ 0 */ - void* pfnTCC3_1_Handler; /* 102 Timer Counter Control 3 IRQ 1 */ - void* pfnTCC3_2_Handler; /* 103 Timer Counter Control 3 IRQ 2 */ - void* pfnTCC4_0_Handler; /* 104 Timer Counter Control 4 IRQ 0 */ - void* pfnTCC4_1_Handler; /* 105 Timer Counter Control 4 IRQ 1 */ - void* pfnTCC4_2_Handler; /* 106 Timer Counter Control 4 IRQ 2 */ - void* pfnTC0_Handler; /* 107 Basic Timer Counter 0 */ - void* pfnTC1_Handler; /* 108 Basic Timer Counter 1 */ - void* pfnTC2_Handler; /* 109 Basic Timer Counter 2 */ - void* pfnTC3_Handler; /* 110 Basic Timer Counter 3 */ - void* pfnTC4_Handler; /* 111 Basic Timer Counter 4 */ - void* pfnTC5_Handler; /* 112 Basic Timer Counter 5 */ - void* pfnTC6_Handler; /* 113 Basic Timer Counter 6 */ - void* pfnTC7_Handler; /* 114 Basic Timer Counter 7 */ - void* pfnPDEC_0_Handler; /* 115 Quadrature Decodeur IRQ 0 */ - void* pfnPDEC_1_Handler; /* 116 Quadrature Decodeur IRQ 1 */ - void* pfnPDEC_2_Handler; /* 117 Quadrature Decodeur IRQ 2 */ - void* pfnADC0_0_Handler; /* 118 Analog Digital Converter 0 IRQ 0 */ - void* pfnADC0_1_Handler; /* 119 Analog Digital Converter 0 IRQ 1 */ - void* pfnADC1_0_Handler; /* 120 Analog Digital Converter 1 IRQ 0 */ - void* pfnADC1_1_Handler; /* 121 Analog Digital Converter 1 IRQ 1 */ - void* pfnAC_Handler; /* 122 Analog Comparators */ - void* pfnDAC_0_Handler; /* 123 Digital-to-Analog Converter IRQ 0 */ - void* pfnDAC_1_Handler; /* 124 Digital-to-Analog Converter IRQ 1 */ - void* pfnDAC_2_Handler; /* 125 Digital-to-Analog Converter IRQ 2 */ - void* pfnDAC_3_Handler; /* 126 Digital-to-Analog Converter IRQ 3 */ - void* pfnDAC_4_Handler; /* 127 Digital-to-Analog Converter IRQ 4 */ - void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface */ - void* pfnPCC_Handler; /* 129 Parallel Capture Controller */ - void* pfnAES_Handler; /* 130 Advanced Encryption Standard */ - void* pfnTRNG_Handler; /* 131 True Random Generator */ - void* pfnICM_Handler; /* 132 Integrity Check Monitor */ - void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller */ - void* pfnQSPI_Handler; /* 134 Quad SPI interface */ - void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller 0 */ - void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller 1 */ -} DeviceVectors; - -/* Cortex-M4 processor handlers */ -void Reset_Handler ( void ); -void NonMaskableInt_Handler ( void ); -void HardFault_Handler ( void ); -void MemManagement_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVCall_Handler ( void ); -void DebugMonitor_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void PM_Handler ( void ); -void MCLK_Handler ( void ); -void OSCCTRL_0_Handler ( void ); -void OSCCTRL_1_Handler ( void ); -void OSCCTRL_2_Handler ( void ); -void OSCCTRL_3_Handler ( void ); -void OSCCTRL_4_Handler ( void ); -void OSC32KCTRL_Handler ( void ); -void SUPC_0_Handler ( void ); -void SUPC_1_Handler ( void ); -void WDT_Handler ( void ); -void RTC_Handler ( void ); -void EIC_0_Handler ( void ); -void EIC_1_Handler ( void ); -void EIC_2_Handler ( void ); -void EIC_3_Handler ( void ); -void EIC_4_Handler ( void ); -void EIC_5_Handler ( void ); -void EIC_6_Handler ( void ); -void EIC_7_Handler ( void ); -void EIC_8_Handler ( void ); -void EIC_9_Handler ( void ); -void EIC_10_Handler ( void ); -void EIC_11_Handler ( void ); -void EIC_12_Handler ( void ); -void EIC_13_Handler ( void ); -void EIC_14_Handler ( void ); -void EIC_15_Handler ( void ); -void FREQM_Handler ( void ); -void NVMCTRL_0_Handler ( void ); -void NVMCTRL_1_Handler ( void ); -void DMAC_0_Handler ( void ); -void DMAC_1_Handler ( void ); -void DMAC_2_Handler ( void ); -void DMAC_3_Handler ( void ); -void DMAC_4_Handler ( void ); -void EVSYS_0_Handler ( void ); -void EVSYS_1_Handler ( void ); -void EVSYS_2_Handler ( void ); -void EVSYS_3_Handler ( void ); -void EVSYS_4_Handler ( void ); -void PAC_Handler ( void ); -void RAMECC_Handler ( void ); -void SERCOM0_0_Handler ( void ); -void SERCOM0_1_Handler ( void ); -void SERCOM0_2_Handler ( void ); -void SERCOM0_3_Handler ( void ); -void SERCOM1_0_Handler ( void ); -void SERCOM1_1_Handler ( void ); -void SERCOM1_2_Handler ( void ); -void SERCOM1_3_Handler ( void ); -void SERCOM2_0_Handler ( void ); -void SERCOM2_1_Handler ( void ); -void SERCOM2_2_Handler ( void ); -void SERCOM2_3_Handler ( void ); -void SERCOM3_0_Handler ( void ); -void SERCOM3_1_Handler ( void ); -void SERCOM3_2_Handler ( void ); -void SERCOM3_3_Handler ( void ); -void SERCOM4_0_Handler ( void ); -void SERCOM4_1_Handler ( void ); -void SERCOM4_2_Handler ( void ); -void SERCOM4_3_Handler ( void ); -void SERCOM5_0_Handler ( void ); -void SERCOM5_1_Handler ( void ); -void SERCOM5_2_Handler ( void ); -void SERCOM5_3_Handler ( void ); -void SERCOM6_0_Handler ( void ); -void SERCOM6_1_Handler ( void ); -void SERCOM6_2_Handler ( void ); -void SERCOM6_3_Handler ( void ); -void SERCOM7_0_Handler ( void ); -void SERCOM7_1_Handler ( void ); -void SERCOM7_2_Handler ( void ); -void SERCOM7_3_Handler ( void ); -void CAN0_Handler ( void ); -void CAN1_Handler ( void ); -void USB_0_Handler ( void ); -void USB_1_Handler ( void ); -void USB_2_Handler ( void ); -void USB_3_Handler ( void ); -void GMAC_Handler ( void ); -void TCC0_0_Handler ( void ); -void TCC0_1_Handler ( void ); -void TCC0_2_Handler ( void ); -void TCC0_3_Handler ( void ); -void TCC0_4_Handler ( void ); -void TCC0_5_Handler ( void ); -void TCC0_6_Handler ( void ); -void TCC1_0_Handler ( void ); -void TCC1_1_Handler ( void ); -void TCC1_2_Handler ( void ); -void TCC1_3_Handler ( void ); -void TCC1_4_Handler ( void ); -void TCC2_0_Handler ( void ); -void TCC2_1_Handler ( void ); -void TCC2_2_Handler ( void ); -void TCC2_3_Handler ( void ); -void TCC3_0_Handler ( void ); -void TCC3_1_Handler ( void ); -void TCC3_2_Handler ( void ); -void TCC4_0_Handler ( void ); -void TCC4_1_Handler ( void ); -void TCC4_2_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void PDEC_0_Handler ( void ); -void PDEC_1_Handler ( void ); -void PDEC_2_Handler ( void ); -void ADC0_0_Handler ( void ); -void ADC0_1_Handler ( void ); -void ADC1_0_Handler ( void ); -void ADC1_1_Handler ( void ); -void AC_Handler ( void ); -void DAC_0_Handler ( void ); -void DAC_1_Handler ( void ); -void DAC_2_Handler ( void ); -void DAC_3_Handler ( void ); -void DAC_4_Handler ( void ); -void I2S_Handler ( void ); -void PCC_Handler ( void ); -void AES_Handler ( void ); -void TRNG_Handler ( void ); -void ICM_Handler ( void ); -void PUKCC_Handler ( void ); -void QSPI_Handler ( void ); -void SDHC0_Handler ( void ); -void SDHC1_Handler ( void ); - -/* - * \brief Configuration of the Cortex-M4 Processor and Core Peripherals - */ - -#define __CM4_REV 1 /*!< Core revision r0p1 */ -#define __DEBUG_LVL 3 /*!< Full debug plus DWT data matching */ -#define __FPU_PRESENT 1 /*!< FPU present or not */ -#define __MPU_PRESENT 1 /*!< MPU present or not */ -#define __NVIC_PRIO_BITS 3 /*!< Number of bits used for Priority Levels */ -#define __TRACE_LVL 2 /*!< Full trace: ITM, DWT triggers and counters, ETM */ -#define __VTOR_PRESENT 1 /*!< VTOR present or not */ -#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ - -/** - * \brief CMSIS includes - */ - -#include -#if !defined DONT_USE_CMSIS_INIT -#include "system_same54.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME54N20A */ -/* ************************************************************************** */ -/** \defgroup SAME54N20A_api Peripheral Software API */ -/*@{*/ - -#include "component/ac.h" -#include "component/adc.h" -#include "component/aes.h" -#include "component/can.h" -#include "component/ccl.h" -#include "component/cmcc.h" -#include "component/dac.h" -#include "component/dmac.h" -#include "component/dsu.h" -#include "component/eic.h" -#include "component/evsys.h" -#include "component/freqm.h" -#include "component/gclk.h" -#include "component/gmac.h" -#include "component/hmatrixb.h" -#include "component/icm.h" -#include "component/i2s.h" -#include "component/mclk.h" -#include "component/nvmctrl.h" -#include "component/oscctrl.h" -#include "component/osc32kctrl.h" -#include "component/pac.h" -#include "component/pcc.h" -#include "component/pdec.h" -#include "component/pm.h" -#include "component/port.h" -#include "component/qspi.h" -#include "component/ramecc.h" -#include "component/rstc.h" -#include "component/rtc.h" -#include "component/sdhc.h" -#include "component/sercom.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/tcc.h" -#include "component/trng.h" -#include "component/usb.h" -#include "component/wdt.h" -/*@}*/ - -/* ************************************************************************** */ -/** REGISTERS ACCESS DEFINITIONS FOR SAME54N20A */ -/* ************************************************************************** */ -/** \defgroup SAME54N20A_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/ac.h" -#include "instance/adc0.h" -#include "instance/adc1.h" -#include "instance/aes.h" -#include "instance/can0.h" -#include "instance/can1.h" -#include "instance/ccl.h" -#include "instance/cmcc.h" -#include "instance/dac.h" -#include "instance/dmac.h" -#include "instance/dsu.h" -#include "instance/eic.h" -#include "instance/evsys.h" -#include "instance/freqm.h" -#include "instance/gclk.h" -#include "instance/gmac.h" -#include "instance/hmatrix.h" -#include "instance/icm.h" -#include "instance/i2s.h" -#include "instance/mclk.h" -#include "instance/nvmctrl.h" -#include "instance/oscctrl.h" -#include "instance/osc32kctrl.h" -#include "instance/pac.h" -#include "instance/pcc.h" -#include "instance/pdec.h" -#include "instance/pm.h" -#include "instance/port.h" -#include "instance/pukcc.h" -#include "instance/qspi.h" -#include "instance/ramecc.h" -#include "instance/rstc.h" -#include "instance/rtc.h" -#include "instance/sdhc0.h" -#include "instance/sdhc1.h" -#include "instance/sercom0.h" -#include "instance/sercom1.h" -#include "instance/sercom2.h" -#include "instance/sercom3.h" -#include "instance/sercom4.h" -#include "instance/sercom5.h" -#include "instance/sercom6.h" -#include "instance/sercom7.h" -#include "instance/supc.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/tc3.h" -#include "instance/tc4.h" -#include "instance/tc5.h" -#include "instance/tc6.h" -#include "instance/tc7.h" -#include "instance/tcc0.h" -#include "instance/tcc1.h" -#include "instance/tcc2.h" -#include "instance/tcc3.h" -#include "instance/tcc4.h" -#include "instance/trng.h" -#include "instance/usb.h" -#include "instance/wdt.h" -/*@}*/ - -/* ************************************************************************** */ -/** PERIPHERAL ID DEFINITIONS FOR SAME54N20A */ -/* ************************************************************************** */ -/** \defgroup SAME54N20A_id Peripheral Ids Definitions */ -/*@{*/ - -// Peripheral instances on HPB0 bridge -#define ID_PAC 0 /**< \brief Peripheral Access Controller (PAC) */ -#define ID_PM 1 /**< \brief Power Manager (PM) */ -#define ID_MCLK 2 /**< \brief Main Clock (MCLK) */ -#define ID_RSTC 3 /**< \brief Reset Controller (RSTC) */ -#define ID_OSCCTRL 4 /**< \brief Oscillators Control (OSCCTRL) */ -#define ID_OSC32KCTRL 5 /**< \brief 32kHz Oscillators Control (OSC32KCTRL) */ -#define ID_SUPC 6 /**< \brief Supply Controller (SUPC) */ -#define ID_GCLK 7 /**< \brief Generic Clock Generator (GCLK) */ -#define ID_WDT 8 /**< \brief Watchdog Timer (WDT) */ -#define ID_RTC 9 /**< \brief Real-Time Counter (RTC) */ -#define ID_EIC 10 /**< \brief External Interrupt Controller (EIC) */ -#define ID_FREQM 11 /**< \brief Frequency Meter (FREQM) */ -#define ID_SERCOM0 12 /**< \brief Serial Communication Interface 0 (SERCOM0) */ -#define ID_SERCOM1 13 /**< \brief Serial Communication Interface 1 (SERCOM1) */ -#define ID_TC0 14 /**< \brief Basic Timer Counter 0 (TC0) */ -#define ID_TC1 15 /**< \brief Basic Timer Counter 1 (TC1) */ - -// Peripheral instances on HPB1 bridge -#define ID_USB 32 /**< \brief Universal Serial Bus (USB) */ -#define ID_DSU 33 /**< \brief Device Service Unit (DSU) */ -#define ID_NVMCTRL 34 /**< \brief Non-Volatile Memory Controller (NVMCTRL) */ -#define ID_CMCC 35 /**< \brief Cortex M Cache Controller (CMCC) */ -#define ID_PORT 36 /**< \brief Port Module (PORT) */ -#define ID_DMAC 37 /**< \brief Direct Memory Access Controller (DMAC) */ -#define ID_HMATRIX 38 /**< \brief HSB Matrix (HMATRIX) */ -#define ID_EVSYS 39 /**< \brief Event System Interface (EVSYS) */ -#define ID_SERCOM2 41 /**< \brief Serial Communication Interface 2 (SERCOM2) */ -#define ID_SERCOM3 42 /**< \brief Serial Communication Interface 3 (SERCOM3) */ -#define ID_TCC0 43 /**< \brief Timer Counter Control 0 (TCC0) */ -#define ID_TCC1 44 /**< \brief Timer Counter Control 1 (TCC1) */ -#define ID_TC2 45 /**< \brief Basic Timer Counter 2 (TC2) */ -#define ID_TC3 46 /**< \brief Basic Timer Counter 3 (TC3) */ -#define ID_RAMECC 48 /**< \brief RAM ECC (RAMECC) */ - -// Peripheral instances on HPB2 bridge -#define ID_CAN0 64 /**< \brief Control Area Network 0 (CAN0) */ -#define ID_CAN1 65 /**< \brief Control Area Network 1 (CAN1) */ -#define ID_GMAC 66 /**< \brief Ethernet MAC (GMAC) */ -#define ID_TCC2 67 /**< \brief Timer Counter Control 2 (TCC2) */ -#define ID_TCC3 68 /**< \brief Timer Counter Control 3 (TCC3) */ -#define ID_TC4 69 /**< \brief Basic Timer Counter 4 (TC4) */ -#define ID_TC5 70 /**< \brief Basic Timer Counter 5 (TC5) */ -#define ID_PDEC 71 /**< \brief Quadrature Decodeur (PDEC) */ -#define ID_AC 72 /**< \brief Analog Comparators (AC) */ -#define ID_AES 73 /**< \brief Advanced Encryption Standard (AES) */ -#define ID_TRNG 74 /**< \brief True Random Generator (TRNG) */ -#define ID_ICM 75 /**< \brief Integrity Check Monitor (ICM) */ -#define ID_PUKCC 76 /**< \brief PUblic-Key Cryptography Controller (PUKCC) */ -#define ID_QSPI 77 /**< \brief Quad SPI interface (QSPI) */ -#define ID_CCL 78 /**< \brief Configurable Custom Logic (CCL) */ - -// Peripheral instances on HPB3 bridge -#define ID_SERCOM4 96 /**< \brief Serial Communication Interface 4 (SERCOM4) */ -#define ID_SERCOM5 97 /**< \brief Serial Communication Interface 5 (SERCOM5) */ -#define ID_SERCOM6 98 /**< \brief Serial Communication Interface 6 (SERCOM6) */ -#define ID_SERCOM7 99 /**< \brief Serial Communication Interface 7 (SERCOM7) */ -#define ID_TCC4 100 /**< \brief Timer Counter Control 4 (TCC4) */ -#define ID_TC6 101 /**< \brief Basic Timer Counter 6 (TC6) */ -#define ID_TC7 102 /**< \brief Basic Timer Counter 7 (TC7) */ -#define ID_ADC0 103 /**< \brief Analog Digital Converter 0 (ADC0) */ -#define ID_ADC1 104 /**< \brief Analog Digital Converter 1 (ADC1) */ -#define ID_DAC 105 /**< \brief Digital-to-Analog Converter (DAC) */ -#define ID_I2S 106 /**< \brief Inter-IC Sound Interface (I2S) */ -#define ID_PCC 107 /**< \brief Parallel Capture Controller (PCC) */ - -// Peripheral instances on AHB (as if on bridge 4) -#define ID_SDHC0 128 /**< \brief SD/MMC Host Controller (SDHC0) */ -#define ID_SDHC1 129 /**< \brief SD/MMC Host Controller (SDHC1) */ - -#define ID_PERIPH_COUNT 130 /**< \brief Max number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/** BASE ADDRESS DEFINITIONS FOR SAME54N20A */ -/* ************************************************************************** */ -/** \defgroup SAME54N20A_base Peripheral Base Address Definitions */ -/*@{*/ - -#if defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__) -#define AC (0x42002000) /**< \brief (AC) APB Base Address */ -#define ADC0 (0x43001C00) /**< \brief (ADC0) APB Base Address */ -#define ADC1 (0x43002000) /**< \brief (ADC1) APB Base Address */ -#define AES (0x42002400) /**< \brief (AES) APB Base Address */ -#define CAN0 (0x42000000) /**< \brief (CAN0) APB Base Address */ -#define CAN1 (0x42000400) /**< \brief (CAN1) APB Base Address */ -#define CCL (0x42003800) /**< \brief (CCL) APB Base Address */ -#define CMCC (0x41006000) /**< \brief (CMCC) APB Base Address */ -#define CMCC_AHB (0x03000000) /**< \brief (CMCC) AHB Base Address */ -#define DAC (0x43002400) /**< \brief (DAC) APB Base Address */ -#define DMAC (0x4100A000) /**< \brief (DMAC) APB Base Address */ -#define DSU (0x41002000) /**< \brief (DSU) APB Base Address */ -#define EIC (0x40002800) /**< \brief (EIC) APB Base Address */ -#define EVSYS (0x4100E000) /**< \brief (EVSYS) APB Base Address */ -#define FREQM (0x40002C00) /**< \brief (FREQM) APB Base Address */ -#define GCLK (0x40001C00) /**< \brief (GCLK) APB Base Address */ -#define GMAC (0x42000800) /**< \brief (GMAC) APB Base Address */ -#define HMATRIX (0x4100C000) /**< \brief (HMATRIX) APB Base Address */ -#define ICM (0x42002C00) /**< \brief (ICM) APB Base Address */ -#define I2S (0x43002800) /**< \brief (I2S) APB Base Address */ -#define MCLK (0x40000800) /**< \brief (MCLK) APB Base Address */ -#define NVMCTRL (0x41004000) /**< \brief (NVMCTRL) APB Base Address */ -#define NVMCTRL_SW0 (0x00800080) /**< \brief (NVMCTRL) SW0 Base Address */ -#define NVMCTRL_TEMP_LOG (0x00800100) /**< \brief (NVMCTRL) TEMP_LOG Base Address */ -#define NVMCTRL_USER (0x00804000) /**< \brief (NVMCTRL) USER Base Address */ -#define OSCCTRL (0x40001000) /**< \brief (OSCCTRL) APB Base Address */ -#define OSC32KCTRL (0x40001400) /**< \brief (OSC32KCTRL) APB Base Address */ -#define PAC (0x40000000) /**< \brief (PAC) APB Base Address */ -#define PCC (0x43002C00) /**< \brief (PCC) APB Base Address */ -#define PDEC (0x42001C00) /**< \brief (PDEC) APB Base Address */ -#define PM (0x40000400) /**< \brief (PM) APB Base Address */ -#define PORT (0x41008000) /**< \brief (PORT) APB Base Address */ -#define PUKCC (0x42003000) /**< \brief (PUKCC) APB Base Address */ -#define PUKCC_AHB (0x02000000) /**< \brief (PUKCC) AHB Base Address */ -#define QSPI (0x42003400) /**< \brief (QSPI) APB Base Address */ -#define QSPI_AHB (0x04000000) /**< \brief (QSPI) AHB Base Address */ -#define RAMECC (0x41020000) /**< \brief (RAMECC) APB Base Address */ -#define RSTC (0x40000C00) /**< \brief (RSTC) APB Base Address */ -#define RTC (0x40002400) /**< \brief (RTC) APB Base Address */ -#define SDHC0 (0x45000000) /**< \brief (SDHC0) AHB Base Address */ -#define SDHC1 (0x46000000) /**< \brief (SDHC1) AHB Base Address */ -#define SERCOM0 (0x40003000) /**< \brief (SERCOM0) APB Base Address */ -#define SERCOM1 (0x40003400) /**< \brief (SERCOM1) APB Base Address */ -#define SERCOM2 (0x41012000) /**< \brief (SERCOM2) APB Base Address */ -#define SERCOM3 (0x41014000) /**< \brief (SERCOM3) APB Base Address */ -#define SERCOM4 (0x43000000) /**< \brief (SERCOM4) APB Base Address */ -#define SERCOM5 (0x43000400) /**< \brief (SERCOM5) APB Base Address */ -#define SERCOM6 (0x43000800) /**< \brief (SERCOM6) APB Base Address */ -#define SERCOM7 (0x43000C00) /**< \brief (SERCOM7) APB Base Address */ -#define SUPC (0x40001800) /**< \brief (SUPC) APB Base Address */ -#define TC0 (0x40003800) /**< \brief (TC0) APB Base Address */ -#define TC1 (0x40003C00) /**< \brief (TC1) APB Base Address */ -#define TC2 (0x4101A000) /**< \brief (TC2) APB Base Address */ -#define TC3 (0x4101C000) /**< \brief (TC3) APB Base Address */ -#define TC4 (0x42001400) /**< \brief (TC4) APB Base Address */ -#define TC5 (0x42001800) /**< \brief (TC5) APB Base Address */ -#define TC6 (0x43001400) /**< \brief (TC6) APB Base Address */ -#define TC7 (0x43001800) /**< \brief (TC7) APB Base Address */ -#define TCC0 (0x41016000) /**< \brief (TCC0) APB Base Address */ -#define TCC1 (0x41018000) /**< \brief (TCC1) APB Base Address */ -#define TCC2 (0x42000C00) /**< \brief (TCC2) APB Base Address */ -#define TCC3 (0x42001000) /**< \brief (TCC3) APB Base Address */ -#define TCC4 (0x43001000) /**< \brief (TCC4) APB Base Address */ -#define TRNG (0x42002800) /**< \brief (TRNG) APB Base Address */ -#define USB (0x41000000) /**< \brief (USB) APB Base Address */ -#define WDT (0x40002000) /**< \brief (WDT) APB Base Address */ -#else -#define AC ((Ac *)0x42002000UL) /**< \brief (AC) APB Base Address */ -#define AC_INST_NUM 1 /**< \brief (AC) Number of instances */ -#define AC_INSTS { AC } /**< \brief (AC) Instances List */ - -#define ADC0 ((Adc *)0x43001C00UL) /**< \brief (ADC0) APB Base Address */ -#define ADC1 ((Adc *)0x43002000UL) /**< \brief (ADC1) APB Base Address */ -#define ADC_INST_NUM 2 /**< \brief (ADC) Number of instances */ -#define ADC_INSTS { ADC0, ADC1 } /**< \brief (ADC) Instances List */ - -#define AES ((Aes *)0x42002400UL) /**< \brief (AES) APB Base Address */ -#define AES_INST_NUM 1 /**< \brief (AES) Number of instances */ -#define AES_INSTS { AES } /**< \brief (AES) Instances List */ - -#define CAN0 ((Can *)0x42000000UL) /**< \brief (CAN0) APB Base Address */ -#define CAN1 ((Can *)0x42000400UL) /**< \brief (CAN1) APB Base Address */ -#define CAN_INST_NUM 2 /**< \brief (CAN) Number of instances */ -#define CAN_INSTS { CAN0, CAN1 } /**< \brief (CAN) Instances List */ - -#define CCL ((Ccl *)0x42003800UL) /**< \brief (CCL) APB Base Address */ -#define CCL_INST_NUM 1 /**< \brief (CCL) Number of instances */ -#define CCL_INSTS { CCL } /**< \brief (CCL) Instances List */ - -#define CMCC ((Cmcc *)0x41006000UL) /**< \brief (CMCC) APB Base Address */ -#define CMCC_AHB (0x03000000UL) /**< \brief (CMCC) AHB Base Address */ -#define CMCC_INST_NUM 1 /**< \brief (CMCC) Number of instances */ -#define CMCC_INSTS { CMCC } /**< \brief (CMCC) Instances List */ - -#define DAC ((Dac *)0x43002400UL) /**< \brief (DAC) APB Base Address */ -#define DAC_INST_NUM 1 /**< \brief (DAC) Number of instances */ -#define DAC_INSTS { DAC } /**< \brief (DAC) Instances List */ - -#define DMAC ((Dmac *)0x4100A000UL) /**< \brief (DMAC) APB Base Address */ -#define DMAC_INST_NUM 1 /**< \brief (DMAC) Number of instances */ -#define DMAC_INSTS { DMAC } /**< \brief (DMAC) Instances List */ - -#define DSU ((Dsu *)0x41002000UL) /**< \brief (DSU) APB Base Address */ -#define DSU_INST_NUM 1 /**< \brief (DSU) Number of instances */ -#define DSU_INSTS { DSU } /**< \brief (DSU) Instances List */ - -#define EIC ((Eic *)0x40002800UL) /**< \brief (EIC) APB Base Address */ -#define EIC_INST_NUM 1 /**< \brief (EIC) Number of instances */ -#define EIC_INSTS { EIC } /**< \brief (EIC) Instances List */ - -#define EVSYS ((Evsys *)0x4100E000UL) /**< \brief (EVSYS) APB Base Address */ -#define EVSYS_INST_NUM 1 /**< \brief (EVSYS) Number of instances */ -#define EVSYS_INSTS { EVSYS } /**< \brief (EVSYS) Instances List */ - -#define FREQM ((Freqm *)0x40002C00UL) /**< \brief (FREQM) APB Base Address */ -#define FREQM_INST_NUM 1 /**< \brief (FREQM) Number of instances */ -#define FREQM_INSTS { FREQM } /**< \brief (FREQM) Instances List */ - -#define GCLK ((Gclk *)0x40001C00UL) /**< \brief (GCLK) APB Base Address */ -#define GCLK_INST_NUM 1 /**< \brief (GCLK) Number of instances */ -#define GCLK_INSTS { GCLK } /**< \brief (GCLK) Instances List */ - -#define GMAC ((Gmac *)0x42000800UL) /**< \brief (GMAC) APB Base Address */ -#define GMAC_INST_NUM 1 /**< \brief (GMAC) Number of instances */ -#define GMAC_INSTS { GMAC } /**< \brief (GMAC) Instances List */ - -#define HMATRIX ((Hmatrixb *)0x4100C000UL) /**< \brief (HMATRIX) APB Base Address */ -#define HMATRIXB_INST_NUM 1 /**< \brief (HMATRIXB) Number of instances */ -#define HMATRIXB_INSTS { HMATRIX } /**< \brief (HMATRIXB) Instances List */ - -#define ICM ((Icm *)0x42002C00UL) /**< \brief (ICM) APB Base Address */ -#define ICM_INST_NUM 1 /**< \brief (ICM) Number of instances */ -#define ICM_INSTS { ICM } /**< \brief (ICM) Instances List */ - -#define I2S ((I2s *)0x43002800UL) /**< \brief (I2S) APB Base Address */ -#define I2S_INST_NUM 1 /**< \brief (I2S) Number of instances */ -#define I2S_INSTS { I2S } /**< \brief (I2S) Instances List */ - -#define MCLK ((Mclk *)0x40000800UL) /**< \brief (MCLK) APB Base Address */ -#define MCLK_INST_NUM 1 /**< \brief (MCLK) Number of instances */ -#define MCLK_INSTS { MCLK } /**< \brief (MCLK) Instances List */ - -#define NVMCTRL ((Nvmctrl *)0x41004000UL) /**< \brief (NVMCTRL) APB Base Address */ -#define NVMCTRL_SW0 (0x00800080UL) /**< \brief (NVMCTRL) SW0 Base Address */ -#define NVMCTRL_TEMP_LOG (0x00800100UL) /**< \brief (NVMCTRL) TEMP_LOG Base Address */ -#define NVMCTRL_USER (0x00804000UL) /**< \brief (NVMCTRL) USER Base Address */ -#define NVMCTRL_INST_NUM 1 /**< \brief (NVMCTRL) Number of instances */ -#define NVMCTRL_INSTS { NVMCTRL } /**< \brief (NVMCTRL) Instances List */ - -#define OSCCTRL ((Oscctrl *)0x40001000UL) /**< \brief (OSCCTRL) APB Base Address */ -#define OSCCTRL_INST_NUM 1 /**< \brief (OSCCTRL) Number of instances */ -#define OSCCTRL_INSTS { OSCCTRL } /**< \brief (OSCCTRL) Instances List */ - -#define OSC32KCTRL ((Osc32kctrl *)0x40001400UL) /**< \brief (OSC32KCTRL) APB Base Address */ -#define OSC32KCTRL_INST_NUM 1 /**< \brief (OSC32KCTRL) Number of instances */ -#define OSC32KCTRL_INSTS { OSC32KCTRL } /**< \brief (OSC32KCTRL) Instances List */ - -#define PAC ((Pac *)0x40000000UL) /**< \brief (PAC) APB Base Address */ -#define PAC_INST_NUM 1 /**< \brief (PAC) Number of instances */ -#define PAC_INSTS { PAC } /**< \brief (PAC) Instances List */ - -#define PCC ((Pcc *)0x43002C00UL) /**< \brief (PCC) APB Base Address */ -#define PCC_INST_NUM 1 /**< \brief (PCC) Number of instances */ -#define PCC_INSTS { PCC } /**< \brief (PCC) Instances List */ - -#define PDEC ((Pdec *)0x42001C00UL) /**< \brief (PDEC) APB Base Address */ -#define PDEC_INST_NUM 1 /**< \brief (PDEC) Number of instances */ -#define PDEC_INSTS { PDEC } /**< \brief (PDEC) Instances List */ - -#define PM ((Pm *)0x40000400UL) /**< \brief (PM) APB Base Address */ -#define PM_INST_NUM 1 /**< \brief (PM) Number of instances */ -#define PM_INSTS { PM } /**< \brief (PM) Instances List */ - -#define PORT ((Port *)0x41008000UL) /**< \brief (PORT) APB Base Address */ -#define PORT_INST_NUM 1 /**< \brief (PORT) Number of instances */ -#define PORT_INSTS { PORT } /**< \brief (PORT) Instances List */ - -#define PUKCC ((void *)0x42003000UL) /**< \brief (PUKCC) APB Base Address */ -#define PUKCC_AHB ((void *)0x02000000UL) /**< \brief (PUKCC) AHB Base Address */ -#define PUKCC_INST_NUM 1 /**< \brief (PUKCC) Number of instances */ -#define PUKCC_INSTS { PUKCC } /**< \brief (PUKCC) Instances List */ - -#define QSPI ((Qspi *)0x42003400UL) /**< \brief (QSPI) APB Base Address */ -#define QSPI_AHB (0x04000000UL) /**< \brief (QSPI) AHB Base Address */ -#define QSPI_INST_NUM 1 /**< \brief (QSPI) Number of instances */ -#define QSPI_INSTS { QSPI } /**< \brief (QSPI) Instances List */ - -#define RAMECC ((Ramecc *)0x41020000UL) /**< \brief (RAMECC) APB Base Address */ -#define RAMECC_INST_NUM 1 /**< \brief (RAMECC) Number of instances */ -#define RAMECC_INSTS { RAMECC } /**< \brief (RAMECC) Instances List */ - -#define RSTC ((Rstc *)0x40000C00UL) /**< \brief (RSTC) APB Base Address */ -#define RSTC_INST_NUM 1 /**< \brief (RSTC) Number of instances */ -#define RSTC_INSTS { RSTC } /**< \brief (RSTC) Instances List */ - -#define RTC ((Rtc *)0x40002400UL) /**< \brief (RTC) APB Base Address */ -#define RTC_INST_NUM 1 /**< \brief (RTC) Number of instances */ -#define RTC_INSTS { RTC } /**< \brief (RTC) Instances List */ - -#define SDHC0 ((Sdhc *)0x45000000UL) /**< \brief (SDHC0) AHB Base Address */ -#define SDHC1 ((Sdhc *)0x46000000UL) /**< \brief (SDHC1) AHB Base Address */ -#define SDHC_INST_NUM 2 /**< \brief (SDHC) Number of instances */ -#define SDHC_INSTS { SDHC0, SDHC1 } /**< \brief (SDHC) Instances List */ - -#define SERCOM0 ((Sercom *)0x40003000UL) /**< \brief (SERCOM0) APB Base Address */ -#define SERCOM1 ((Sercom *)0x40003400UL) /**< \brief (SERCOM1) APB Base Address */ -#define SERCOM2 ((Sercom *)0x41012000UL) /**< \brief (SERCOM2) APB Base Address */ -#define SERCOM3 ((Sercom *)0x41014000UL) /**< \brief (SERCOM3) APB Base Address */ -#define SERCOM4 ((Sercom *)0x43000000UL) /**< \brief (SERCOM4) APB Base Address */ -#define SERCOM5 ((Sercom *)0x43000400UL) /**< \brief (SERCOM5) APB Base Address */ -#define SERCOM6 ((Sercom *)0x43000800UL) /**< \brief (SERCOM6) APB Base Address */ -#define SERCOM7 ((Sercom *)0x43000C00UL) /**< \brief (SERCOM7) APB Base Address */ -#define SERCOM_INST_NUM 8 /**< \brief (SERCOM) Number of instances */ -#define SERCOM_INSTS { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5, SERCOM6, SERCOM7 } /**< \brief (SERCOM) Instances List */ - -#define SUPC ((Supc *)0x40001800UL) /**< \brief (SUPC) APB Base Address */ -#define SUPC_INST_NUM 1 /**< \brief (SUPC) Number of instances */ -#define SUPC_INSTS { SUPC } /**< \brief (SUPC) Instances List */ - -#define TC0 ((Tc *)0x40003800UL) /**< \brief (TC0) APB Base Address */ -#define TC1 ((Tc *)0x40003C00UL) /**< \brief (TC1) APB Base Address */ -#define TC2 ((Tc *)0x4101A000UL) /**< \brief (TC2) APB Base Address */ -#define TC3 ((Tc *)0x4101C000UL) /**< \brief (TC3) APB Base Address */ -#define TC4 ((Tc *)0x42001400UL) /**< \brief (TC4) APB Base Address */ -#define TC5 ((Tc *)0x42001800UL) /**< \brief (TC5) APB Base Address */ -#define TC6 ((Tc *)0x43001400UL) /**< \brief (TC6) APB Base Address */ -#define TC7 ((Tc *)0x43001800UL) /**< \brief (TC7) APB Base Address */ -#define TC_INST_NUM 8 /**< \brief (TC) Number of instances */ -#define TC_INSTS { TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 } /**< \brief (TC) Instances List */ - -#define TCC0 ((Tcc *)0x41016000UL) /**< \brief (TCC0) APB Base Address */ -#define TCC1 ((Tcc *)0x41018000UL) /**< \brief (TCC1) APB Base Address */ -#define TCC2 ((Tcc *)0x42000C00UL) /**< \brief (TCC2) APB Base Address */ -#define TCC3 ((Tcc *)0x42001000UL) /**< \brief (TCC3) APB Base Address */ -#define TCC4 ((Tcc *)0x43001000UL) /**< \brief (TCC4) APB Base Address */ -#define TCC_INST_NUM 5 /**< \brief (TCC) Number of instances */ -#define TCC_INSTS { TCC0, TCC1, TCC2, TCC3, TCC4 } /**< \brief (TCC) Instances List */ - -#define TRNG ((Trng *)0x42002800UL) /**< \brief (TRNG) APB Base Address */ -#define TRNG_INST_NUM 1 /**< \brief (TRNG) Number of instances */ -#define TRNG_INSTS { TRNG } /**< \brief (TRNG) Instances List */ - -#define USB ((Usb *)0x41000000UL) /**< \brief (USB) APB Base Address */ -#define USB_INST_NUM 1 /**< \brief (USB) Number of instances */ -#define USB_INSTS { USB } /**< \brief (USB) Instances List */ - -#define WDT ((Wdt *)0x40002000UL) /**< \brief (WDT) APB Base Address */ -#define WDT_INST_NUM 1 /**< \brief (WDT) Number of instances */ -#define WDT_INSTS { WDT } /**< \brief (WDT) Instances List */ - -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/** PORT DEFINITIONS FOR SAME54N20A */ -/* ************************************************************************** */ -/** \defgroup SAME54N20A_port PORT Definitions */ -/*@{*/ - -#include "pio/same54n20a.h" -/*@}*/ - -/* ************************************************************************** */ -/** MEMORY MAPPING DEFINITIONS FOR SAME54N20A */ -/* ************************************************************************** */ - -#define HSRAM_SIZE _UL_(0x00040000) /* 256 kB */ -#define FLASH_SIZE _UL_(0x00100000) /* 1024 kB */ -#define FLASH_PAGE_SIZE 512 -#define FLASH_NB_OF_PAGES 2048 -#define FLASH_USER_PAGE_SIZE 512 -#define BKUPRAM_SIZE _UL_(0x00002000) /* 8 kB */ -#define QSPI_SIZE _UL_(0x01000000) /* 16384 kB */ - -#define FLASH_ADDR _UL_(0x00000000) /**< FLASH base address */ -#define CMCC_DATARAM_ADDR _UL_(0x03000000) /**< CMCC_DATARAM base address */ -#define CMCC_DATARAM_SIZE _UL_(0x00001000) /**< CMCC_DATARAM size */ -#define CMCC_TAGRAM_ADDR _UL_(0x03001000) /**< CMCC_TAGRAM base address */ -#define CMCC_TAGRAM_SIZE _UL_(0x00000400) /**< CMCC_TAGRAM size */ -#define CMCC_VALIDRAM_ADDR _UL_(0x03002000) /**< CMCC_VALIDRAM base address */ -#define CMCC_VALIDRAM_SIZE _UL_(0x00000040) /**< CMCC_VALIDRAM size */ -#define HSRAM_ADDR _UL_(0x20000000) /**< HSRAM base address */ -#define HSRAM_ETB_ADDR _UL_(0x20000000) /**< HSRAM_ETB base address */ -#define HSRAM_ETB_SIZE _UL_(0x00008000) /**< HSRAM_ETB size */ -#define HSRAM_RET1_ADDR _UL_(0x20000000) /**< HSRAM_RET1 base address */ -#define HSRAM_RET1_SIZE _UL_(0x00008000) /**< HSRAM_RET1 size */ -#define HPB0_ADDR _UL_(0x40000000) /**< HPB0 base address */ -#define HPB1_ADDR _UL_(0x41000000) /**< HPB1 base address */ -#define HPB2_ADDR _UL_(0x42000000) /**< HPB2 base address */ -#define HPB3_ADDR _UL_(0x43000000) /**< HPB3 base address */ -#define SEEPROM_ADDR _UL_(0x44000000) /**< SEEPROM base address */ -#define BKUPRAM_ADDR _UL_(0x47000000) /**< BKUPRAM base address */ -#define PPB_ADDR _UL_(0xE0000000) /**< PPB base address */ - -#define DSU_DID_RESETVALUE _UL_(0x61840302) -#define ADC0_TOUCH_LINES_NUM 32 -#define PORT_GROUPS 3 - -/* ************************************************************************** */ -/** ELECTRICAL DEFINITIONS FOR SAME54N20A */ -/* ************************************************************************** */ - - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* SAME54N20A_H */ diff --git a/software/firmware/oracle_same54n19a/include/same54p19a.h b/software/firmware/oracle_same54n19a/include/same54p19a.h deleted file mode 100644 index ed3ae04..0000000 --- a/software/firmware/oracle_same54n19a/include/same54p19a.h +++ /dev/null @@ -1,1085 +0,0 @@ -/** - * \file - * - * \brief Header file for SAME54P19A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54P19A_ -#define _SAME54P19A_ - -/** - * \ingroup SAME54_definitions - * \addtogroup SAME54P19A_definitions SAME54P19A definitions - * This file defines all structures and symbols for SAME54P19A: - * - registers and bitfields - * - peripheral base address - * - peripheral ID - * - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include -#ifndef __cplusplus -typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ -typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ -typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ -#else -typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ -typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ -typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ -#endif -typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ -typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */ -typedef volatile uint8_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */ -typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ -typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */ -typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */ -#endif - -#if !defined(SKIP_INTEGER_LITERALS) -#if defined(_U_) || defined(_L_) || defined(_UL_) - #error "Integer Literals macros already defined elsewhere" -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/* Macros that deal with adding suffixes to integer literal constants for C/C++ */ -#define _U_(x) x ## U /**< C code: Unsigned integer literal constant value */ -#define _L_(x) x ## L /**< C code: Long integer literal constant value */ -#define _UL_(x) x ## UL /**< C code: Unsigned Long integer literal constant value */ -#else /* Assembler */ -#define _U_(x) x /**< Assembler: Unsigned integer literal constant value */ -#define _L_(x) x /**< Assembler: Long integer literal constant value */ -#define _UL_(x) x /**< Assembler: Unsigned Long integer literal constant value */ -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -#endif /* SKIP_INTEGER_LITERALS */ - -/* ************************************************************************** */ -/** CMSIS DEFINITIONS FOR SAME54P19A */ -/* ************************************************************************** */ -/** \defgroup SAME54P19A_cmsis CMSIS Definitions */ -/*@{*/ - -/** Interrupt Number Definition */ -typedef enum IRQn -{ - /****** Cortex-M4 Processor Exceptions Numbers *******************/ - NonMaskableInt_IRQn = -14,/**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13,/**< 3 Hard Fault Interrupt */ - MemoryManagement_IRQn = -12,/**< 4 Memory Management Interrupt */ - BusFault_IRQn = -11,/**< 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10,/**< 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 System Tick Interrupt */ - /****** SAME54P19A-specific Interrupt Numbers *********************/ - PM_IRQn = 0, /**< 0 SAME54P19A Power Manager (PM) */ - MCLK_IRQn = 1, /**< 1 SAME54P19A Main Clock (MCLK) */ - OSCCTRL_0_IRQn = 2, /**< 2 SAME54P19A Oscillators Control (OSCCTRL) IRQ 0 */ - OSCCTRL_1_IRQn = 3, /**< 3 SAME54P19A Oscillators Control (OSCCTRL) IRQ 1 */ - OSCCTRL_2_IRQn = 4, /**< 4 SAME54P19A Oscillators Control (OSCCTRL) IRQ 2 */ - OSCCTRL_3_IRQn = 5, /**< 5 SAME54P19A Oscillators Control (OSCCTRL) IRQ 3 */ - OSCCTRL_4_IRQn = 6, /**< 6 SAME54P19A Oscillators Control (OSCCTRL) IRQ 4 */ - OSC32KCTRL_IRQn = 7, /**< 7 SAME54P19A 32kHz Oscillators Control (OSC32KCTRL) */ - SUPC_0_IRQn = 8, /**< 8 SAME54P19A Supply Controller (SUPC) IRQ 0 */ - SUPC_1_IRQn = 9, /**< 9 SAME54P19A Supply Controller (SUPC) IRQ 1 */ - WDT_IRQn = 10, /**< 10 SAME54P19A Watchdog Timer (WDT) */ - RTC_IRQn = 11, /**< 11 SAME54P19A Real-Time Counter (RTC) */ - EIC_0_IRQn = 12, /**< 12 SAME54P19A External Interrupt Controller (EIC) IRQ 0 */ - EIC_1_IRQn = 13, /**< 13 SAME54P19A External Interrupt Controller (EIC) IRQ 1 */ - EIC_2_IRQn = 14, /**< 14 SAME54P19A External Interrupt Controller (EIC) IRQ 2 */ - EIC_3_IRQn = 15, /**< 15 SAME54P19A External Interrupt Controller (EIC) IRQ 3 */ - EIC_4_IRQn = 16, /**< 16 SAME54P19A External Interrupt Controller (EIC) IRQ 4 */ - EIC_5_IRQn = 17, /**< 17 SAME54P19A External Interrupt Controller (EIC) IRQ 5 */ - EIC_6_IRQn = 18, /**< 18 SAME54P19A External Interrupt Controller (EIC) IRQ 6 */ - EIC_7_IRQn = 19, /**< 19 SAME54P19A External Interrupt Controller (EIC) IRQ 7 */ - EIC_8_IRQn = 20, /**< 20 SAME54P19A External Interrupt Controller (EIC) IRQ 8 */ - EIC_9_IRQn = 21, /**< 21 SAME54P19A External Interrupt Controller (EIC) IRQ 9 */ - EIC_10_IRQn = 22, /**< 22 SAME54P19A External Interrupt Controller (EIC) IRQ 10 */ - EIC_11_IRQn = 23, /**< 23 SAME54P19A External Interrupt Controller (EIC) IRQ 11 */ - EIC_12_IRQn = 24, /**< 24 SAME54P19A External Interrupt Controller (EIC) IRQ 12 */ - EIC_13_IRQn = 25, /**< 25 SAME54P19A External Interrupt Controller (EIC) IRQ 13 */ - EIC_14_IRQn = 26, /**< 26 SAME54P19A External Interrupt Controller (EIC) IRQ 14 */ - EIC_15_IRQn = 27, /**< 27 SAME54P19A External Interrupt Controller (EIC) IRQ 15 */ - FREQM_IRQn = 28, /**< 28 SAME54P19A Frequency Meter (FREQM) */ - NVMCTRL_0_IRQn = 29, /**< 29 SAME54P19A Non-Volatile Memory Controller (NVMCTRL) IRQ 0 */ - NVMCTRL_1_IRQn = 30, /**< 30 SAME54P19A Non-Volatile Memory Controller (NVMCTRL) IRQ 1 */ - DMAC_0_IRQn = 31, /**< 31 SAME54P19A Direct Memory Access Controller (DMAC) IRQ 0 */ - DMAC_1_IRQn = 32, /**< 32 SAME54P19A Direct Memory Access Controller (DMAC) IRQ 1 */ - DMAC_2_IRQn = 33, /**< 33 SAME54P19A Direct Memory Access Controller (DMAC) IRQ 2 */ - DMAC_3_IRQn = 34, /**< 34 SAME54P19A Direct Memory Access Controller (DMAC) IRQ 3 */ - DMAC_4_IRQn = 35, /**< 35 SAME54P19A Direct Memory Access Controller (DMAC) IRQ 4 */ - EVSYS_0_IRQn = 36, /**< 36 SAME54P19A Event System Interface (EVSYS) IRQ 0 */ - EVSYS_1_IRQn = 37, /**< 37 SAME54P19A Event System Interface (EVSYS) IRQ 1 */ - EVSYS_2_IRQn = 38, /**< 38 SAME54P19A Event System Interface (EVSYS) IRQ 2 */ - EVSYS_3_IRQn = 39, /**< 39 SAME54P19A Event System Interface (EVSYS) IRQ 3 */ - EVSYS_4_IRQn = 40, /**< 40 SAME54P19A Event System Interface (EVSYS) IRQ 4 */ - PAC_IRQn = 41, /**< 41 SAME54P19A Peripheral Access Controller (PAC) */ - RAMECC_IRQn = 45, /**< 45 SAME54P19A RAM ECC (RAMECC) */ - SERCOM0_0_IRQn = 46, /**< 46 SAME54P19A Serial Communication Interface 0 (SERCOM0) IRQ 0 */ - SERCOM0_1_IRQn = 47, /**< 47 SAME54P19A Serial Communication Interface 0 (SERCOM0) IRQ 1 */ - SERCOM0_2_IRQn = 48, /**< 48 SAME54P19A Serial Communication Interface 0 (SERCOM0) IRQ 2 */ - SERCOM0_3_IRQn = 49, /**< 49 SAME54P19A Serial Communication Interface 0 (SERCOM0) IRQ 3 */ - SERCOM1_0_IRQn = 50, /**< 50 SAME54P19A Serial Communication Interface 1 (SERCOM1) IRQ 0 */ - SERCOM1_1_IRQn = 51, /**< 51 SAME54P19A Serial Communication Interface 1 (SERCOM1) IRQ 1 */ - SERCOM1_2_IRQn = 52, /**< 52 SAME54P19A Serial Communication Interface 1 (SERCOM1) IRQ 2 */ - SERCOM1_3_IRQn = 53, /**< 53 SAME54P19A Serial Communication Interface 1 (SERCOM1) IRQ 3 */ - SERCOM2_0_IRQn = 54, /**< 54 SAME54P19A Serial Communication Interface 2 (SERCOM2) IRQ 0 */ - SERCOM2_1_IRQn = 55, /**< 55 SAME54P19A Serial Communication Interface 2 (SERCOM2) IRQ 1 */ - SERCOM2_2_IRQn = 56, /**< 56 SAME54P19A Serial Communication Interface 2 (SERCOM2) IRQ 2 */ - SERCOM2_3_IRQn = 57, /**< 57 SAME54P19A Serial Communication Interface 2 (SERCOM2) IRQ 3 */ - SERCOM3_0_IRQn = 58, /**< 58 SAME54P19A Serial Communication Interface 3 (SERCOM3) IRQ 0 */ - SERCOM3_1_IRQn = 59, /**< 59 SAME54P19A Serial Communication Interface 3 (SERCOM3) IRQ 1 */ - SERCOM3_2_IRQn = 60, /**< 60 SAME54P19A Serial Communication Interface 3 (SERCOM3) IRQ 2 */ - SERCOM3_3_IRQn = 61, /**< 61 SAME54P19A Serial Communication Interface 3 (SERCOM3) IRQ 3 */ - SERCOM4_0_IRQn = 62, /**< 62 SAME54P19A Serial Communication Interface 4 (SERCOM4) IRQ 0 */ - SERCOM4_1_IRQn = 63, /**< 63 SAME54P19A Serial Communication Interface 4 (SERCOM4) IRQ 1 */ - SERCOM4_2_IRQn = 64, /**< 64 SAME54P19A Serial Communication Interface 4 (SERCOM4) IRQ 2 */ - SERCOM4_3_IRQn = 65, /**< 65 SAME54P19A Serial Communication Interface 4 (SERCOM4) IRQ 3 */ - SERCOM5_0_IRQn = 66, /**< 66 SAME54P19A Serial Communication Interface 5 (SERCOM5) IRQ 0 */ - SERCOM5_1_IRQn = 67, /**< 67 SAME54P19A Serial Communication Interface 5 (SERCOM5) IRQ 1 */ - SERCOM5_2_IRQn = 68, /**< 68 SAME54P19A Serial Communication Interface 5 (SERCOM5) IRQ 2 */ - SERCOM5_3_IRQn = 69, /**< 69 SAME54P19A Serial Communication Interface 5 (SERCOM5) IRQ 3 */ - SERCOM6_0_IRQn = 70, /**< 70 SAME54P19A Serial Communication Interface 6 (SERCOM6) IRQ 0 */ - SERCOM6_1_IRQn = 71, /**< 71 SAME54P19A Serial Communication Interface 6 (SERCOM6) IRQ 1 */ - SERCOM6_2_IRQn = 72, /**< 72 SAME54P19A Serial Communication Interface 6 (SERCOM6) IRQ 2 */ - SERCOM6_3_IRQn = 73, /**< 73 SAME54P19A Serial Communication Interface 6 (SERCOM6) IRQ 3 */ - SERCOM7_0_IRQn = 74, /**< 74 SAME54P19A Serial Communication Interface 7 (SERCOM7) IRQ 0 */ - SERCOM7_1_IRQn = 75, /**< 75 SAME54P19A Serial Communication Interface 7 (SERCOM7) IRQ 1 */ - SERCOM7_2_IRQn = 76, /**< 76 SAME54P19A Serial Communication Interface 7 (SERCOM7) IRQ 2 */ - SERCOM7_3_IRQn = 77, /**< 77 SAME54P19A Serial Communication Interface 7 (SERCOM7) IRQ 3 */ - CAN0_IRQn = 78, /**< 78 SAME54P19A Control Area Network 0 (CAN0) */ - CAN1_IRQn = 79, /**< 79 SAME54P19A Control Area Network 1 (CAN1) */ - USB_0_IRQn = 80, /**< 80 SAME54P19A Universal Serial Bus (USB) IRQ 0 */ - USB_1_IRQn = 81, /**< 81 SAME54P19A Universal Serial Bus (USB) IRQ 1 */ - USB_2_IRQn = 82, /**< 82 SAME54P19A Universal Serial Bus (USB) IRQ 2 */ - USB_3_IRQn = 83, /**< 83 SAME54P19A Universal Serial Bus (USB) IRQ 3 */ - GMAC_IRQn = 84, /**< 84 SAME54P19A Ethernet MAC (GMAC) */ - TCC0_0_IRQn = 85, /**< 85 SAME54P19A Timer Counter Control 0 (TCC0) IRQ 0 */ - TCC0_1_IRQn = 86, /**< 86 SAME54P19A Timer Counter Control 0 (TCC0) IRQ 1 */ - TCC0_2_IRQn = 87, /**< 87 SAME54P19A Timer Counter Control 0 (TCC0) IRQ 2 */ - TCC0_3_IRQn = 88, /**< 88 SAME54P19A Timer Counter Control 0 (TCC0) IRQ 3 */ - TCC0_4_IRQn = 89, /**< 89 SAME54P19A Timer Counter Control 0 (TCC0) IRQ 4 */ - TCC0_5_IRQn = 90, /**< 90 SAME54P19A Timer Counter Control 0 (TCC0) IRQ 5 */ - TCC0_6_IRQn = 91, /**< 91 SAME54P19A Timer Counter Control 0 (TCC0) IRQ 6 */ - TCC1_0_IRQn = 92, /**< 92 SAME54P19A Timer Counter Control 1 (TCC1) IRQ 0 */ - TCC1_1_IRQn = 93, /**< 93 SAME54P19A Timer Counter Control 1 (TCC1) IRQ 1 */ - TCC1_2_IRQn = 94, /**< 94 SAME54P19A Timer Counter Control 1 (TCC1) IRQ 2 */ - TCC1_3_IRQn = 95, /**< 95 SAME54P19A Timer Counter Control 1 (TCC1) IRQ 3 */ - TCC1_4_IRQn = 96, /**< 96 SAME54P19A Timer Counter Control 1 (TCC1) IRQ 4 */ - TCC2_0_IRQn = 97, /**< 97 SAME54P19A Timer Counter Control 2 (TCC2) IRQ 0 */ - TCC2_1_IRQn = 98, /**< 98 SAME54P19A Timer Counter Control 2 (TCC2) IRQ 1 */ - TCC2_2_IRQn = 99, /**< 99 SAME54P19A Timer Counter Control 2 (TCC2) IRQ 2 */ - TCC2_3_IRQn = 100, /**< 100 SAME54P19A Timer Counter Control 2 (TCC2) IRQ 3 */ - TCC3_0_IRQn = 101, /**< 101 SAME54P19A Timer Counter Control 3 (TCC3) IRQ 0 */ - TCC3_1_IRQn = 102, /**< 102 SAME54P19A Timer Counter Control 3 (TCC3) IRQ 1 */ - TCC3_2_IRQn = 103, /**< 103 SAME54P19A Timer Counter Control 3 (TCC3) IRQ 2 */ - TCC4_0_IRQn = 104, /**< 104 SAME54P19A Timer Counter Control 4 (TCC4) IRQ 0 */ - TCC4_1_IRQn = 105, /**< 105 SAME54P19A Timer Counter Control 4 (TCC4) IRQ 1 */ - TCC4_2_IRQn = 106, /**< 106 SAME54P19A Timer Counter Control 4 (TCC4) IRQ 2 */ - TC0_IRQn = 107, /**< 107 SAME54P19A Basic Timer Counter 0 (TC0) */ - TC1_IRQn = 108, /**< 108 SAME54P19A Basic Timer Counter 1 (TC1) */ - TC2_IRQn = 109, /**< 109 SAME54P19A Basic Timer Counter 2 (TC2) */ - TC3_IRQn = 110, /**< 110 SAME54P19A Basic Timer Counter 3 (TC3) */ - TC4_IRQn = 111, /**< 111 SAME54P19A Basic Timer Counter 4 (TC4) */ - TC5_IRQn = 112, /**< 112 SAME54P19A Basic Timer Counter 5 (TC5) */ - TC6_IRQn = 113, /**< 113 SAME54P19A Basic Timer Counter 6 (TC6) */ - TC7_IRQn = 114, /**< 114 SAME54P19A Basic Timer Counter 7 (TC7) */ - PDEC_0_IRQn = 115, /**< 115 SAME54P19A Quadrature Decodeur (PDEC) IRQ 0 */ - PDEC_1_IRQn = 116, /**< 116 SAME54P19A Quadrature Decodeur (PDEC) IRQ 1 */ - PDEC_2_IRQn = 117, /**< 117 SAME54P19A Quadrature Decodeur (PDEC) IRQ 2 */ - ADC0_0_IRQn = 118, /**< 118 SAME54P19A Analog Digital Converter 0 (ADC0) IRQ 0 */ - ADC0_1_IRQn = 119, /**< 119 SAME54P19A Analog Digital Converter 0 (ADC0) IRQ 1 */ - ADC1_0_IRQn = 120, /**< 120 SAME54P19A Analog Digital Converter 1 (ADC1) IRQ 0 */ - ADC1_1_IRQn = 121, /**< 121 SAME54P19A Analog Digital Converter 1 (ADC1) IRQ 1 */ - AC_IRQn = 122, /**< 122 SAME54P19A Analog Comparators (AC) */ - DAC_0_IRQn = 123, /**< 123 SAME54P19A Digital-to-Analog Converter (DAC) IRQ 0 */ - DAC_1_IRQn = 124, /**< 124 SAME54P19A Digital-to-Analog Converter (DAC) IRQ 1 */ - DAC_2_IRQn = 125, /**< 125 SAME54P19A Digital-to-Analog Converter (DAC) IRQ 2 */ - DAC_3_IRQn = 126, /**< 126 SAME54P19A Digital-to-Analog Converter (DAC) IRQ 3 */ - DAC_4_IRQn = 127, /**< 127 SAME54P19A Digital-to-Analog Converter (DAC) IRQ 4 */ - I2S_IRQn = 128, /**< 128 SAME54P19A Inter-IC Sound Interface (I2S) */ - PCC_IRQn = 129, /**< 129 SAME54P19A Parallel Capture Controller (PCC) */ - AES_IRQn = 130, /**< 130 SAME54P19A Advanced Encryption Standard (AES) */ - TRNG_IRQn = 131, /**< 131 SAME54P19A True Random Generator (TRNG) */ - ICM_IRQn = 132, /**< 132 SAME54P19A Integrity Check Monitor (ICM) */ - PUKCC_IRQn = 133, /**< 133 SAME54P19A PUblic-Key Cryptography Controller (PUKCC) */ - QSPI_IRQn = 134, /**< 134 SAME54P19A Quad SPI interface (QSPI) */ - SDHC0_IRQn = 135, /**< 135 SAME54P19A SD/MMC Host Controller 0 (SDHC0) */ - SDHC1_IRQn = 136, /**< 136 SAME54P19A SD/MMC Host Controller 1 (SDHC1) */ - - PERIPH_COUNT_IRQn = 137 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNonMaskableInt_Handler; - void* pfnHardFault_Handler; - void* pfnMemManagement_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pvReservedM9; - void* pvReservedM8; - void* pvReservedM7; - void* pvReservedM6; - void* pfnSVCall_Handler; - void* pfnDebugMonitor_Handler; - void* pvReservedM3; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnPM_Handler; /* 0 Power Manager */ - void* pfnMCLK_Handler; /* 1 Main Clock */ - void* pfnOSCCTRL_0_Handler; /* 2 Oscillators Control IRQ 0 */ - void* pfnOSCCTRL_1_Handler; /* 3 Oscillators Control IRQ 1 */ - void* pfnOSCCTRL_2_Handler; /* 4 Oscillators Control IRQ 2 */ - void* pfnOSCCTRL_3_Handler; /* 5 Oscillators Control IRQ 3 */ - void* pfnOSCCTRL_4_Handler; /* 6 Oscillators Control IRQ 4 */ - void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control */ - void* pfnSUPC_0_Handler; /* 8 Supply Controller IRQ 0 */ - void* pfnSUPC_1_Handler; /* 9 Supply Controller IRQ 1 */ - void* pfnWDT_Handler; /* 10 Watchdog Timer */ - void* pfnRTC_Handler; /* 11 Real-Time Counter */ - void* pfnEIC_0_Handler; /* 12 External Interrupt Controller IRQ 0 */ - void* pfnEIC_1_Handler; /* 13 External Interrupt Controller IRQ 1 */ - void* pfnEIC_2_Handler; /* 14 External Interrupt Controller IRQ 2 */ - void* pfnEIC_3_Handler; /* 15 External Interrupt Controller IRQ 3 */ - void* pfnEIC_4_Handler; /* 16 External Interrupt Controller IRQ 4 */ - void* pfnEIC_5_Handler; /* 17 External Interrupt Controller IRQ 5 */ - void* pfnEIC_6_Handler; /* 18 External Interrupt Controller IRQ 6 */ - void* pfnEIC_7_Handler; /* 19 External Interrupt Controller IRQ 7 */ - void* pfnEIC_8_Handler; /* 20 External Interrupt Controller IRQ 8 */ - void* pfnEIC_9_Handler; /* 21 External Interrupt Controller IRQ 9 */ - void* pfnEIC_10_Handler; /* 22 External Interrupt Controller IRQ 10 */ - void* pfnEIC_11_Handler; /* 23 External Interrupt Controller IRQ 11 */ - void* pfnEIC_12_Handler; /* 24 External Interrupt Controller IRQ 12 */ - void* pfnEIC_13_Handler; /* 25 External Interrupt Controller IRQ 13 */ - void* pfnEIC_14_Handler; /* 26 External Interrupt Controller IRQ 14 */ - void* pfnEIC_15_Handler; /* 27 External Interrupt Controller IRQ 15 */ - void* pfnFREQM_Handler; /* 28 Frequency Meter */ - void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller IRQ 0 */ - void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller IRQ 1 */ - void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller IRQ 0 */ - void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller IRQ 1 */ - void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller IRQ 2 */ - void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller IRQ 3 */ - void* pfnDMAC_4_Handler; /* 35 Direct Memory Access Controller IRQ 4 */ - void* pfnEVSYS_0_Handler; /* 36 Event System Interface IRQ 0 */ - void* pfnEVSYS_1_Handler; /* 37 Event System Interface IRQ 1 */ - void* pfnEVSYS_2_Handler; /* 38 Event System Interface IRQ 2 */ - void* pfnEVSYS_3_Handler; /* 39 Event System Interface IRQ 3 */ - void* pfnEVSYS_4_Handler; /* 40 Event System Interface IRQ 4 */ - void* pfnPAC_Handler; /* 41 Peripheral Access Controller */ - void* pvReserved42; - void* pvReserved43; - void* pvReserved44; - void* pfnRAMECC_Handler; /* 45 RAM ECC */ - void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface 0 IRQ 0 */ - void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface 0 IRQ 1 */ - void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface 0 IRQ 2 */ - void* pfnSERCOM0_3_Handler; /* 49 Serial Communication Interface 0 IRQ 3 */ - void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface 1 IRQ 0 */ - void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface 1 IRQ 1 */ - void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface 1 IRQ 2 */ - void* pfnSERCOM1_3_Handler; /* 53 Serial Communication Interface 1 IRQ 3 */ - void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface 2 IRQ 0 */ - void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface 2 IRQ 1 */ - void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface 2 IRQ 2 */ - void* pfnSERCOM2_3_Handler; /* 57 Serial Communication Interface 2 IRQ 3 */ - void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface 3 IRQ 0 */ - void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface 3 IRQ 1 */ - void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface 3 IRQ 2 */ - void* pfnSERCOM3_3_Handler; /* 61 Serial Communication Interface 3 IRQ 3 */ - void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface 4 IRQ 0 */ - void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface 4 IRQ 1 */ - void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface 4 IRQ 2 */ - void* pfnSERCOM4_3_Handler; /* 65 Serial Communication Interface 4 IRQ 3 */ - void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface 5 IRQ 0 */ - void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface 5 IRQ 1 */ - void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface 5 IRQ 2 */ - void* pfnSERCOM5_3_Handler; /* 69 Serial Communication Interface 5 IRQ 3 */ - void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface 6 IRQ 0 */ - void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface 6 IRQ 1 */ - void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface 6 IRQ 2 */ - void* pfnSERCOM6_3_Handler; /* 73 Serial Communication Interface 6 IRQ 3 */ - void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface 7 IRQ 0 */ - void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface 7 IRQ 1 */ - void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface 7 IRQ 2 */ - void* pfnSERCOM7_3_Handler; /* 77 Serial Communication Interface 7 IRQ 3 */ - void* pfnCAN0_Handler; /* 78 Control Area Network 0 */ - void* pfnCAN1_Handler; /* 79 Control Area Network 1 */ - void* pfnUSB_0_Handler; /* 80 Universal Serial Bus IRQ 0 */ - void* pfnUSB_1_Handler; /* 81 Universal Serial Bus IRQ 1 */ - void* pfnUSB_2_Handler; /* 82 Universal Serial Bus IRQ 2 */ - void* pfnUSB_3_Handler; /* 83 Universal Serial Bus IRQ 3 */ - void* pfnGMAC_Handler; /* 84 Ethernet MAC */ - void* pfnTCC0_0_Handler; /* 85 Timer Counter Control 0 IRQ 0 */ - void* pfnTCC0_1_Handler; /* 86 Timer Counter Control 0 IRQ 1 */ - void* pfnTCC0_2_Handler; /* 87 Timer Counter Control 0 IRQ 2 */ - void* pfnTCC0_3_Handler; /* 88 Timer Counter Control 0 IRQ 3 */ - void* pfnTCC0_4_Handler; /* 89 Timer Counter Control 0 IRQ 4 */ - void* pfnTCC0_5_Handler; /* 90 Timer Counter Control 0 IRQ 5 */ - void* pfnTCC0_6_Handler; /* 91 Timer Counter Control 0 IRQ 6 */ - void* pfnTCC1_0_Handler; /* 92 Timer Counter Control 1 IRQ 0 */ - void* pfnTCC1_1_Handler; /* 93 Timer Counter Control 1 IRQ 1 */ - void* pfnTCC1_2_Handler; /* 94 Timer Counter Control 1 IRQ 2 */ - void* pfnTCC1_3_Handler; /* 95 Timer Counter Control 1 IRQ 3 */ - void* pfnTCC1_4_Handler; /* 96 Timer Counter Control 1 IRQ 4 */ - void* pfnTCC2_0_Handler; /* 97 Timer Counter Control 2 IRQ 0 */ - void* pfnTCC2_1_Handler; /* 98 Timer Counter Control 2 IRQ 1 */ - void* pfnTCC2_2_Handler; /* 99 Timer Counter Control 2 IRQ 2 */ - void* pfnTCC2_3_Handler; /* 100 Timer Counter Control 2 IRQ 3 */ - void* pfnTCC3_0_Handler; /* 101 Timer Counter Control 3 IRQ 0 */ - void* pfnTCC3_1_Handler; /* 102 Timer Counter Control 3 IRQ 1 */ - void* pfnTCC3_2_Handler; /* 103 Timer Counter Control 3 IRQ 2 */ - void* pfnTCC4_0_Handler; /* 104 Timer Counter Control 4 IRQ 0 */ - void* pfnTCC4_1_Handler; /* 105 Timer Counter Control 4 IRQ 1 */ - void* pfnTCC4_2_Handler; /* 106 Timer Counter Control 4 IRQ 2 */ - void* pfnTC0_Handler; /* 107 Basic Timer Counter 0 */ - void* pfnTC1_Handler; /* 108 Basic Timer Counter 1 */ - void* pfnTC2_Handler; /* 109 Basic Timer Counter 2 */ - void* pfnTC3_Handler; /* 110 Basic Timer Counter 3 */ - void* pfnTC4_Handler; /* 111 Basic Timer Counter 4 */ - void* pfnTC5_Handler; /* 112 Basic Timer Counter 5 */ - void* pfnTC6_Handler; /* 113 Basic Timer Counter 6 */ - void* pfnTC7_Handler; /* 114 Basic Timer Counter 7 */ - void* pfnPDEC_0_Handler; /* 115 Quadrature Decodeur IRQ 0 */ - void* pfnPDEC_1_Handler; /* 116 Quadrature Decodeur IRQ 1 */ - void* pfnPDEC_2_Handler; /* 117 Quadrature Decodeur IRQ 2 */ - void* pfnADC0_0_Handler; /* 118 Analog Digital Converter 0 IRQ 0 */ - void* pfnADC0_1_Handler; /* 119 Analog Digital Converter 0 IRQ 1 */ - void* pfnADC1_0_Handler; /* 120 Analog Digital Converter 1 IRQ 0 */ - void* pfnADC1_1_Handler; /* 121 Analog Digital Converter 1 IRQ 1 */ - void* pfnAC_Handler; /* 122 Analog Comparators */ - void* pfnDAC_0_Handler; /* 123 Digital-to-Analog Converter IRQ 0 */ - void* pfnDAC_1_Handler; /* 124 Digital-to-Analog Converter IRQ 1 */ - void* pfnDAC_2_Handler; /* 125 Digital-to-Analog Converter IRQ 2 */ - void* pfnDAC_3_Handler; /* 126 Digital-to-Analog Converter IRQ 3 */ - void* pfnDAC_4_Handler; /* 127 Digital-to-Analog Converter IRQ 4 */ - void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface */ - void* pfnPCC_Handler; /* 129 Parallel Capture Controller */ - void* pfnAES_Handler; /* 130 Advanced Encryption Standard */ - void* pfnTRNG_Handler; /* 131 True Random Generator */ - void* pfnICM_Handler; /* 132 Integrity Check Monitor */ - void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller */ - void* pfnQSPI_Handler; /* 134 Quad SPI interface */ - void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller 0 */ - void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller 1 */ -} DeviceVectors; - -/* Cortex-M4 processor handlers */ -void Reset_Handler ( void ); -void NonMaskableInt_Handler ( void ); -void HardFault_Handler ( void ); -void MemManagement_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVCall_Handler ( void ); -void DebugMonitor_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void PM_Handler ( void ); -void MCLK_Handler ( void ); -void OSCCTRL_0_Handler ( void ); -void OSCCTRL_1_Handler ( void ); -void OSCCTRL_2_Handler ( void ); -void OSCCTRL_3_Handler ( void ); -void OSCCTRL_4_Handler ( void ); -void OSC32KCTRL_Handler ( void ); -void SUPC_0_Handler ( void ); -void SUPC_1_Handler ( void ); -void WDT_Handler ( void ); -void RTC_Handler ( void ); -void EIC_0_Handler ( void ); -void EIC_1_Handler ( void ); -void EIC_2_Handler ( void ); -void EIC_3_Handler ( void ); -void EIC_4_Handler ( void ); -void EIC_5_Handler ( void ); -void EIC_6_Handler ( void ); -void EIC_7_Handler ( void ); -void EIC_8_Handler ( void ); -void EIC_9_Handler ( void ); -void EIC_10_Handler ( void ); -void EIC_11_Handler ( void ); -void EIC_12_Handler ( void ); -void EIC_13_Handler ( void ); -void EIC_14_Handler ( void ); -void EIC_15_Handler ( void ); -void FREQM_Handler ( void ); -void NVMCTRL_0_Handler ( void ); -void NVMCTRL_1_Handler ( void ); -void DMAC_0_Handler ( void ); -void DMAC_1_Handler ( void ); -void DMAC_2_Handler ( void ); -void DMAC_3_Handler ( void ); -void DMAC_4_Handler ( void ); -void EVSYS_0_Handler ( void ); -void EVSYS_1_Handler ( void ); -void EVSYS_2_Handler ( void ); -void EVSYS_3_Handler ( void ); -void EVSYS_4_Handler ( void ); -void PAC_Handler ( void ); -void RAMECC_Handler ( void ); -void SERCOM0_0_Handler ( void ); -void SERCOM0_1_Handler ( void ); -void SERCOM0_2_Handler ( void ); -void SERCOM0_3_Handler ( void ); -void SERCOM1_0_Handler ( void ); -void SERCOM1_1_Handler ( void ); -void SERCOM1_2_Handler ( void ); -void SERCOM1_3_Handler ( void ); -void SERCOM2_0_Handler ( void ); -void SERCOM2_1_Handler ( void ); -void SERCOM2_2_Handler ( void ); -void SERCOM2_3_Handler ( void ); -void SERCOM3_0_Handler ( void ); -void SERCOM3_1_Handler ( void ); -void SERCOM3_2_Handler ( void ); -void SERCOM3_3_Handler ( void ); -void SERCOM4_0_Handler ( void ); -void SERCOM4_1_Handler ( void ); -void SERCOM4_2_Handler ( void ); -void SERCOM4_3_Handler ( void ); -void SERCOM5_0_Handler ( void ); -void SERCOM5_1_Handler ( void ); -void SERCOM5_2_Handler ( void ); -void SERCOM5_3_Handler ( void ); -void SERCOM6_0_Handler ( void ); -void SERCOM6_1_Handler ( void ); -void SERCOM6_2_Handler ( void ); -void SERCOM6_3_Handler ( void ); -void SERCOM7_0_Handler ( void ); -void SERCOM7_1_Handler ( void ); -void SERCOM7_2_Handler ( void ); -void SERCOM7_3_Handler ( void ); -void CAN0_Handler ( void ); -void CAN1_Handler ( void ); -void USB_0_Handler ( void ); -void USB_1_Handler ( void ); -void USB_2_Handler ( void ); -void USB_3_Handler ( void ); -void GMAC_Handler ( void ); -void TCC0_0_Handler ( void ); -void TCC0_1_Handler ( void ); -void TCC0_2_Handler ( void ); -void TCC0_3_Handler ( void ); -void TCC0_4_Handler ( void ); -void TCC0_5_Handler ( void ); -void TCC0_6_Handler ( void ); -void TCC1_0_Handler ( void ); -void TCC1_1_Handler ( void ); -void TCC1_2_Handler ( void ); -void TCC1_3_Handler ( void ); -void TCC1_4_Handler ( void ); -void TCC2_0_Handler ( void ); -void TCC2_1_Handler ( void ); -void TCC2_2_Handler ( void ); -void TCC2_3_Handler ( void ); -void TCC3_0_Handler ( void ); -void TCC3_1_Handler ( void ); -void TCC3_2_Handler ( void ); -void TCC4_0_Handler ( void ); -void TCC4_1_Handler ( void ); -void TCC4_2_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void PDEC_0_Handler ( void ); -void PDEC_1_Handler ( void ); -void PDEC_2_Handler ( void ); -void ADC0_0_Handler ( void ); -void ADC0_1_Handler ( void ); -void ADC1_0_Handler ( void ); -void ADC1_1_Handler ( void ); -void AC_Handler ( void ); -void DAC_0_Handler ( void ); -void DAC_1_Handler ( void ); -void DAC_2_Handler ( void ); -void DAC_3_Handler ( void ); -void DAC_4_Handler ( void ); -void I2S_Handler ( void ); -void PCC_Handler ( void ); -void AES_Handler ( void ); -void TRNG_Handler ( void ); -void ICM_Handler ( void ); -void PUKCC_Handler ( void ); -void QSPI_Handler ( void ); -void SDHC0_Handler ( void ); -void SDHC1_Handler ( void ); - -/* - * \brief Configuration of the Cortex-M4 Processor and Core Peripherals - */ - -#define __CM4_REV 1 /*!< Core revision r0p1 */ -#define __DEBUG_LVL 3 /*!< Full debug plus DWT data matching */ -#define __FPU_PRESENT 1 /*!< FPU present or not */ -#define __MPU_PRESENT 1 /*!< MPU present or not */ -#define __NVIC_PRIO_BITS 3 /*!< Number of bits used for Priority Levels */ -#define __TRACE_LVL 2 /*!< Full trace: ITM, DWT triggers and counters, ETM */ -#define __VTOR_PRESENT 1 /*!< VTOR present or not */ -#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ - -/** - * \brief CMSIS includes - */ - -#include -#if !defined DONT_USE_CMSIS_INIT -#include "system_same54.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME54P19A */ -/* ************************************************************************** */ -/** \defgroup SAME54P19A_api Peripheral Software API */ -/*@{*/ - -#include "component/ac.h" -#include "component/adc.h" -#include "component/aes.h" -#include "component/can.h" -#include "component/ccl.h" -#include "component/cmcc.h" -#include "component/dac.h" -#include "component/dmac.h" -#include "component/dsu.h" -#include "component/eic.h" -#include "component/evsys.h" -#include "component/freqm.h" -#include "component/gclk.h" -#include "component/gmac.h" -#include "component/hmatrixb.h" -#include "component/icm.h" -#include "component/i2s.h" -#include "component/mclk.h" -#include "component/nvmctrl.h" -#include "component/oscctrl.h" -#include "component/osc32kctrl.h" -#include "component/pac.h" -#include "component/pcc.h" -#include "component/pdec.h" -#include "component/pm.h" -#include "component/port.h" -#include "component/qspi.h" -#include "component/ramecc.h" -#include "component/rstc.h" -#include "component/rtc.h" -#include "component/sdhc.h" -#include "component/sercom.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/tcc.h" -#include "component/trng.h" -#include "component/usb.h" -#include "component/wdt.h" -/*@}*/ - -/* ************************************************************************** */ -/** REGISTERS ACCESS DEFINITIONS FOR SAME54P19A */ -/* ************************************************************************** */ -/** \defgroup SAME54P19A_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/ac.h" -#include "instance/adc0.h" -#include "instance/adc1.h" -#include "instance/aes.h" -#include "instance/can0.h" -#include "instance/can1.h" -#include "instance/ccl.h" -#include "instance/cmcc.h" -#include "instance/dac.h" -#include "instance/dmac.h" -#include "instance/dsu.h" -#include "instance/eic.h" -#include "instance/evsys.h" -#include "instance/freqm.h" -#include "instance/gclk.h" -#include "instance/gmac.h" -#include "instance/hmatrix.h" -#include "instance/icm.h" -#include "instance/i2s.h" -#include "instance/mclk.h" -#include "instance/nvmctrl.h" -#include "instance/oscctrl.h" -#include "instance/osc32kctrl.h" -#include "instance/pac.h" -#include "instance/pcc.h" -#include "instance/pdec.h" -#include "instance/pm.h" -#include "instance/port.h" -#include "instance/pukcc.h" -#include "instance/qspi.h" -#include "instance/ramecc.h" -#include "instance/rstc.h" -#include "instance/rtc.h" -#include "instance/sdhc0.h" -#include "instance/sdhc1.h" -#include "instance/sercom0.h" -#include "instance/sercom1.h" -#include "instance/sercom2.h" -#include "instance/sercom3.h" -#include "instance/sercom4.h" -#include "instance/sercom5.h" -#include "instance/sercom6.h" -#include "instance/sercom7.h" -#include "instance/supc.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/tc3.h" -#include "instance/tc4.h" -#include "instance/tc5.h" -#include "instance/tc6.h" -#include "instance/tc7.h" -#include "instance/tcc0.h" -#include "instance/tcc1.h" -#include "instance/tcc2.h" -#include "instance/tcc3.h" -#include "instance/tcc4.h" -#include "instance/trng.h" -#include "instance/usb.h" -#include "instance/wdt.h" -/*@}*/ - -/* ************************************************************************** */ -/** PERIPHERAL ID DEFINITIONS FOR SAME54P19A */ -/* ************************************************************************** */ -/** \defgroup SAME54P19A_id Peripheral Ids Definitions */ -/*@{*/ - -// Peripheral instances on HPB0 bridge -#define ID_PAC 0 /**< \brief Peripheral Access Controller (PAC) */ -#define ID_PM 1 /**< \brief Power Manager (PM) */ -#define ID_MCLK 2 /**< \brief Main Clock (MCLK) */ -#define ID_RSTC 3 /**< \brief Reset Controller (RSTC) */ -#define ID_OSCCTRL 4 /**< \brief Oscillators Control (OSCCTRL) */ -#define ID_OSC32KCTRL 5 /**< \brief 32kHz Oscillators Control (OSC32KCTRL) */ -#define ID_SUPC 6 /**< \brief Supply Controller (SUPC) */ -#define ID_GCLK 7 /**< \brief Generic Clock Generator (GCLK) */ -#define ID_WDT 8 /**< \brief Watchdog Timer (WDT) */ -#define ID_RTC 9 /**< \brief Real-Time Counter (RTC) */ -#define ID_EIC 10 /**< \brief External Interrupt Controller (EIC) */ -#define ID_FREQM 11 /**< \brief Frequency Meter (FREQM) */ -#define ID_SERCOM0 12 /**< \brief Serial Communication Interface 0 (SERCOM0) */ -#define ID_SERCOM1 13 /**< \brief Serial Communication Interface 1 (SERCOM1) */ -#define ID_TC0 14 /**< \brief Basic Timer Counter 0 (TC0) */ -#define ID_TC1 15 /**< \brief Basic Timer Counter 1 (TC1) */ - -// Peripheral instances on HPB1 bridge -#define ID_USB 32 /**< \brief Universal Serial Bus (USB) */ -#define ID_DSU 33 /**< \brief Device Service Unit (DSU) */ -#define ID_NVMCTRL 34 /**< \brief Non-Volatile Memory Controller (NVMCTRL) */ -#define ID_CMCC 35 /**< \brief Cortex M Cache Controller (CMCC) */ -#define ID_PORT 36 /**< \brief Port Module (PORT) */ -#define ID_DMAC 37 /**< \brief Direct Memory Access Controller (DMAC) */ -#define ID_HMATRIX 38 /**< \brief HSB Matrix (HMATRIX) */ -#define ID_EVSYS 39 /**< \brief Event System Interface (EVSYS) */ -#define ID_SERCOM2 41 /**< \brief Serial Communication Interface 2 (SERCOM2) */ -#define ID_SERCOM3 42 /**< \brief Serial Communication Interface 3 (SERCOM3) */ -#define ID_TCC0 43 /**< \brief Timer Counter Control 0 (TCC0) */ -#define ID_TCC1 44 /**< \brief Timer Counter Control 1 (TCC1) */ -#define ID_TC2 45 /**< \brief Basic Timer Counter 2 (TC2) */ -#define ID_TC3 46 /**< \brief Basic Timer Counter 3 (TC3) */ -#define ID_RAMECC 48 /**< \brief RAM ECC (RAMECC) */ - -// Peripheral instances on HPB2 bridge -#define ID_CAN0 64 /**< \brief Control Area Network 0 (CAN0) */ -#define ID_CAN1 65 /**< \brief Control Area Network 1 (CAN1) */ -#define ID_GMAC 66 /**< \brief Ethernet MAC (GMAC) */ -#define ID_TCC2 67 /**< \brief Timer Counter Control 2 (TCC2) */ -#define ID_TCC3 68 /**< \brief Timer Counter Control 3 (TCC3) */ -#define ID_TC4 69 /**< \brief Basic Timer Counter 4 (TC4) */ -#define ID_TC5 70 /**< \brief Basic Timer Counter 5 (TC5) */ -#define ID_PDEC 71 /**< \brief Quadrature Decodeur (PDEC) */ -#define ID_AC 72 /**< \brief Analog Comparators (AC) */ -#define ID_AES 73 /**< \brief Advanced Encryption Standard (AES) */ -#define ID_TRNG 74 /**< \brief True Random Generator (TRNG) */ -#define ID_ICM 75 /**< \brief Integrity Check Monitor (ICM) */ -#define ID_PUKCC 76 /**< \brief PUblic-Key Cryptography Controller (PUKCC) */ -#define ID_QSPI 77 /**< \brief Quad SPI interface (QSPI) */ -#define ID_CCL 78 /**< \brief Configurable Custom Logic (CCL) */ - -// Peripheral instances on HPB3 bridge -#define ID_SERCOM4 96 /**< \brief Serial Communication Interface 4 (SERCOM4) */ -#define ID_SERCOM5 97 /**< \brief Serial Communication Interface 5 (SERCOM5) */ -#define ID_SERCOM6 98 /**< \brief Serial Communication Interface 6 (SERCOM6) */ -#define ID_SERCOM7 99 /**< \brief Serial Communication Interface 7 (SERCOM7) */ -#define ID_TCC4 100 /**< \brief Timer Counter Control 4 (TCC4) */ -#define ID_TC6 101 /**< \brief Basic Timer Counter 6 (TC6) */ -#define ID_TC7 102 /**< \brief Basic Timer Counter 7 (TC7) */ -#define ID_ADC0 103 /**< \brief Analog Digital Converter 0 (ADC0) */ -#define ID_ADC1 104 /**< \brief Analog Digital Converter 1 (ADC1) */ -#define ID_DAC 105 /**< \brief Digital-to-Analog Converter (DAC) */ -#define ID_I2S 106 /**< \brief Inter-IC Sound Interface (I2S) */ -#define ID_PCC 107 /**< \brief Parallel Capture Controller (PCC) */ - -// Peripheral instances on AHB (as if on bridge 4) -#define ID_SDHC0 128 /**< \brief SD/MMC Host Controller (SDHC0) */ -#define ID_SDHC1 129 /**< \brief SD/MMC Host Controller (SDHC1) */ - -#define ID_PERIPH_COUNT 130 /**< \brief Max number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/** BASE ADDRESS DEFINITIONS FOR SAME54P19A */ -/* ************************************************************************** */ -/** \defgroup SAME54P19A_base Peripheral Base Address Definitions */ -/*@{*/ - -#if defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__) -#define AC (0x42002000) /**< \brief (AC) APB Base Address */ -#define ADC0 (0x43001C00) /**< \brief (ADC0) APB Base Address */ -#define ADC1 (0x43002000) /**< \brief (ADC1) APB Base Address */ -#define AES (0x42002400) /**< \brief (AES) APB Base Address */ -#define CAN0 (0x42000000) /**< \brief (CAN0) APB Base Address */ -#define CAN1 (0x42000400) /**< \brief (CAN1) APB Base Address */ -#define CCL (0x42003800) /**< \brief (CCL) APB Base Address */ -#define CMCC (0x41006000) /**< \brief (CMCC) APB Base Address */ -#define CMCC_AHB (0x03000000) /**< \brief (CMCC) AHB Base Address */ -#define DAC (0x43002400) /**< \brief (DAC) APB Base Address */ -#define DMAC (0x4100A000) /**< \brief (DMAC) APB Base Address */ -#define DSU (0x41002000) /**< \brief (DSU) APB Base Address */ -#define EIC (0x40002800) /**< \brief (EIC) APB Base Address */ -#define EVSYS (0x4100E000) /**< \brief (EVSYS) APB Base Address */ -#define FREQM (0x40002C00) /**< \brief (FREQM) APB Base Address */ -#define GCLK (0x40001C00) /**< \brief (GCLK) APB Base Address */ -#define GMAC (0x42000800) /**< \brief (GMAC) APB Base Address */ -#define HMATRIX (0x4100C000) /**< \brief (HMATRIX) APB Base Address */ -#define ICM (0x42002C00) /**< \brief (ICM) APB Base Address */ -#define I2S (0x43002800) /**< \brief (I2S) APB Base Address */ -#define MCLK (0x40000800) /**< \brief (MCLK) APB Base Address */ -#define NVMCTRL (0x41004000) /**< \brief (NVMCTRL) APB Base Address */ -#define NVMCTRL_SW0 (0x00800080) /**< \brief (NVMCTRL) SW0 Base Address */ -#define NVMCTRL_TEMP_LOG (0x00800100) /**< \brief (NVMCTRL) TEMP_LOG Base Address */ -#define NVMCTRL_USER (0x00804000) /**< \brief (NVMCTRL) USER Base Address */ -#define OSCCTRL (0x40001000) /**< \brief (OSCCTRL) APB Base Address */ -#define OSC32KCTRL (0x40001400) /**< \brief (OSC32KCTRL) APB Base Address */ -#define PAC (0x40000000) /**< \brief (PAC) APB Base Address */ -#define PCC (0x43002C00) /**< \brief (PCC) APB Base Address */ -#define PDEC (0x42001C00) /**< \brief (PDEC) APB Base Address */ -#define PM (0x40000400) /**< \brief (PM) APB Base Address */ -#define PORT (0x41008000) /**< \brief (PORT) APB Base Address */ -#define PUKCC (0x42003000) /**< \brief (PUKCC) APB Base Address */ -#define PUKCC_AHB (0x02000000) /**< \brief (PUKCC) AHB Base Address */ -#define QSPI (0x42003400) /**< \brief (QSPI) APB Base Address */ -#define QSPI_AHB (0x04000000) /**< \brief (QSPI) AHB Base Address */ -#define RAMECC (0x41020000) /**< \brief (RAMECC) APB Base Address */ -#define RSTC (0x40000C00) /**< \brief (RSTC) APB Base Address */ -#define RTC (0x40002400) /**< \brief (RTC) APB Base Address */ -#define SDHC0 (0x45000000) /**< \brief (SDHC0) AHB Base Address */ -#define SDHC1 (0x46000000) /**< \brief (SDHC1) AHB Base Address */ -#define SERCOM0 (0x40003000) /**< \brief (SERCOM0) APB Base Address */ -#define SERCOM1 (0x40003400) /**< \brief (SERCOM1) APB Base Address */ -#define SERCOM2 (0x41012000) /**< \brief (SERCOM2) APB Base Address */ -#define SERCOM3 (0x41014000) /**< \brief (SERCOM3) APB Base Address */ -#define SERCOM4 (0x43000000) /**< \brief (SERCOM4) APB Base Address */ -#define SERCOM5 (0x43000400) /**< \brief (SERCOM5) APB Base Address */ -#define SERCOM6 (0x43000800) /**< \brief (SERCOM6) APB Base Address */ -#define SERCOM7 (0x43000C00) /**< \brief (SERCOM7) APB Base Address */ -#define SUPC (0x40001800) /**< \brief (SUPC) APB Base Address */ -#define TC0 (0x40003800) /**< \brief (TC0) APB Base Address */ -#define TC1 (0x40003C00) /**< \brief (TC1) APB Base Address */ -#define TC2 (0x4101A000) /**< \brief (TC2) APB Base Address */ -#define TC3 (0x4101C000) /**< \brief (TC3) APB Base Address */ -#define TC4 (0x42001400) /**< \brief (TC4) APB Base Address */ -#define TC5 (0x42001800) /**< \brief (TC5) APB Base Address */ -#define TC6 (0x43001400) /**< \brief (TC6) APB Base Address */ -#define TC7 (0x43001800) /**< \brief (TC7) APB Base Address */ -#define TCC0 (0x41016000) /**< \brief (TCC0) APB Base Address */ -#define TCC1 (0x41018000) /**< \brief (TCC1) APB Base Address */ -#define TCC2 (0x42000C00) /**< \brief (TCC2) APB Base Address */ -#define TCC3 (0x42001000) /**< \brief (TCC3) APB Base Address */ -#define TCC4 (0x43001000) /**< \brief (TCC4) APB Base Address */ -#define TRNG (0x42002800) /**< \brief (TRNG) APB Base Address */ -#define USB (0x41000000) /**< \brief (USB) APB Base Address */ -#define WDT (0x40002000) /**< \brief (WDT) APB Base Address */ -#else -#define AC ((Ac *)0x42002000UL) /**< \brief (AC) APB Base Address */ -#define AC_INST_NUM 1 /**< \brief (AC) Number of instances */ -#define AC_INSTS { AC } /**< \brief (AC) Instances List */ - -#define ADC0 ((Adc *)0x43001C00UL) /**< \brief (ADC0) APB Base Address */ -#define ADC1 ((Adc *)0x43002000UL) /**< \brief (ADC1) APB Base Address */ -#define ADC_INST_NUM 2 /**< \brief (ADC) Number of instances */ -#define ADC_INSTS { ADC0, ADC1 } /**< \brief (ADC) Instances List */ - -#define AES ((Aes *)0x42002400UL) /**< \brief (AES) APB Base Address */ -#define AES_INST_NUM 1 /**< \brief (AES) Number of instances */ -#define AES_INSTS { AES } /**< \brief (AES) Instances List */ - -#define CAN0 ((Can *)0x42000000UL) /**< \brief (CAN0) APB Base Address */ -#define CAN1 ((Can *)0x42000400UL) /**< \brief (CAN1) APB Base Address */ -#define CAN_INST_NUM 2 /**< \brief (CAN) Number of instances */ -#define CAN_INSTS { CAN0, CAN1 } /**< \brief (CAN) Instances List */ - -#define CCL ((Ccl *)0x42003800UL) /**< \brief (CCL) APB Base Address */ -#define CCL_INST_NUM 1 /**< \brief (CCL) Number of instances */ -#define CCL_INSTS { CCL } /**< \brief (CCL) Instances List */ - -#define CMCC ((Cmcc *)0x41006000UL) /**< \brief (CMCC) APB Base Address */ -#define CMCC_AHB (0x03000000UL) /**< \brief (CMCC) AHB Base Address */ -#define CMCC_INST_NUM 1 /**< \brief (CMCC) Number of instances */ -#define CMCC_INSTS { CMCC } /**< \brief (CMCC) Instances List */ - -#define DAC ((Dac *)0x43002400UL) /**< \brief (DAC) APB Base Address */ -#define DAC_INST_NUM 1 /**< \brief (DAC) Number of instances */ -#define DAC_INSTS { DAC } /**< \brief (DAC) Instances List */ - -#define DMAC ((Dmac *)0x4100A000UL) /**< \brief (DMAC) APB Base Address */ -#define DMAC_INST_NUM 1 /**< \brief (DMAC) Number of instances */ -#define DMAC_INSTS { DMAC } /**< \brief (DMAC) Instances List */ - -#define DSU ((Dsu *)0x41002000UL) /**< \brief (DSU) APB Base Address */ -#define DSU_INST_NUM 1 /**< \brief (DSU) Number of instances */ -#define DSU_INSTS { DSU } /**< \brief (DSU) Instances List */ - -#define EIC ((Eic *)0x40002800UL) /**< \brief (EIC) APB Base Address */ -#define EIC_INST_NUM 1 /**< \brief (EIC) Number of instances */ -#define EIC_INSTS { EIC } /**< \brief (EIC) Instances List */ - -#define EVSYS ((Evsys *)0x4100E000UL) /**< \brief (EVSYS) APB Base Address */ -#define EVSYS_INST_NUM 1 /**< \brief (EVSYS) Number of instances */ -#define EVSYS_INSTS { EVSYS } /**< \brief (EVSYS) Instances List */ - -#define FREQM ((Freqm *)0x40002C00UL) /**< \brief (FREQM) APB Base Address */ -#define FREQM_INST_NUM 1 /**< \brief (FREQM) Number of instances */ -#define FREQM_INSTS { FREQM } /**< \brief (FREQM) Instances List */ - -#define GCLK ((Gclk *)0x40001C00UL) /**< \brief (GCLK) APB Base Address */ -#define GCLK_INST_NUM 1 /**< \brief (GCLK) Number of instances */ -#define GCLK_INSTS { GCLK } /**< \brief (GCLK) Instances List */ - -#define GMAC ((Gmac *)0x42000800UL) /**< \brief (GMAC) APB Base Address */ -#define GMAC_INST_NUM 1 /**< \brief (GMAC) Number of instances */ -#define GMAC_INSTS { GMAC } /**< \brief (GMAC) Instances List */ - -#define HMATRIX ((Hmatrixb *)0x4100C000UL) /**< \brief (HMATRIX) APB Base Address */ -#define HMATRIXB_INST_NUM 1 /**< \brief (HMATRIXB) Number of instances */ -#define HMATRIXB_INSTS { HMATRIX } /**< \brief (HMATRIXB) Instances List */ - -#define ICM ((Icm *)0x42002C00UL) /**< \brief (ICM) APB Base Address */ -#define ICM_INST_NUM 1 /**< \brief (ICM) Number of instances */ -#define ICM_INSTS { ICM } /**< \brief (ICM) Instances List */ - -#define I2S ((I2s *)0x43002800UL) /**< \brief (I2S) APB Base Address */ -#define I2S_INST_NUM 1 /**< \brief (I2S) Number of instances */ -#define I2S_INSTS { I2S } /**< \brief (I2S) Instances List */ - -#define MCLK ((Mclk *)0x40000800UL) /**< \brief (MCLK) APB Base Address */ -#define MCLK_INST_NUM 1 /**< \brief (MCLK) Number of instances */ -#define MCLK_INSTS { MCLK } /**< \brief (MCLK) Instances List */ - -#define NVMCTRL ((Nvmctrl *)0x41004000UL) /**< \brief (NVMCTRL) APB Base Address */ -#define NVMCTRL_SW0 (0x00800080UL) /**< \brief (NVMCTRL) SW0 Base Address */ -#define NVMCTRL_TEMP_LOG (0x00800100UL) /**< \brief (NVMCTRL) TEMP_LOG Base Address */ -#define NVMCTRL_USER (0x00804000UL) /**< \brief (NVMCTRL) USER Base Address */ -#define NVMCTRL_INST_NUM 1 /**< \brief (NVMCTRL) Number of instances */ -#define NVMCTRL_INSTS { NVMCTRL } /**< \brief (NVMCTRL) Instances List */ - -#define OSCCTRL ((Oscctrl *)0x40001000UL) /**< \brief (OSCCTRL) APB Base Address */ -#define OSCCTRL_INST_NUM 1 /**< \brief (OSCCTRL) Number of instances */ -#define OSCCTRL_INSTS { OSCCTRL } /**< \brief (OSCCTRL) Instances List */ - -#define OSC32KCTRL ((Osc32kctrl *)0x40001400UL) /**< \brief (OSC32KCTRL) APB Base Address */ -#define OSC32KCTRL_INST_NUM 1 /**< \brief (OSC32KCTRL) Number of instances */ -#define OSC32KCTRL_INSTS { OSC32KCTRL } /**< \brief (OSC32KCTRL) Instances List */ - -#define PAC ((Pac *)0x40000000UL) /**< \brief (PAC) APB Base Address */ -#define PAC_INST_NUM 1 /**< \brief (PAC) Number of instances */ -#define PAC_INSTS { PAC } /**< \brief (PAC) Instances List */ - -#define PCC ((Pcc *)0x43002C00UL) /**< \brief (PCC) APB Base Address */ -#define PCC_INST_NUM 1 /**< \brief (PCC) Number of instances */ -#define PCC_INSTS { PCC } /**< \brief (PCC) Instances List */ - -#define PDEC ((Pdec *)0x42001C00UL) /**< \brief (PDEC) APB Base Address */ -#define PDEC_INST_NUM 1 /**< \brief (PDEC) Number of instances */ -#define PDEC_INSTS { PDEC } /**< \brief (PDEC) Instances List */ - -#define PM ((Pm *)0x40000400UL) /**< \brief (PM) APB Base Address */ -#define PM_INST_NUM 1 /**< \brief (PM) Number of instances */ -#define PM_INSTS { PM } /**< \brief (PM) Instances List */ - -#define PORT ((Port *)0x41008000UL) /**< \brief (PORT) APB Base Address */ -#define PORT_INST_NUM 1 /**< \brief (PORT) Number of instances */ -#define PORT_INSTS { PORT } /**< \brief (PORT) Instances List */ - -#define PUKCC ((void *)0x42003000UL) /**< \brief (PUKCC) APB Base Address */ -#define PUKCC_AHB ((void *)0x02000000UL) /**< \brief (PUKCC) AHB Base Address */ -#define PUKCC_INST_NUM 1 /**< \brief (PUKCC) Number of instances */ -#define PUKCC_INSTS { PUKCC } /**< \brief (PUKCC) Instances List */ - -#define QSPI ((Qspi *)0x42003400UL) /**< \brief (QSPI) APB Base Address */ -#define QSPI_AHB (0x04000000UL) /**< \brief (QSPI) AHB Base Address */ -#define QSPI_INST_NUM 1 /**< \brief (QSPI) Number of instances */ -#define QSPI_INSTS { QSPI } /**< \brief (QSPI) Instances List */ - -#define RAMECC ((Ramecc *)0x41020000UL) /**< \brief (RAMECC) APB Base Address */ -#define RAMECC_INST_NUM 1 /**< \brief (RAMECC) Number of instances */ -#define RAMECC_INSTS { RAMECC } /**< \brief (RAMECC) Instances List */ - -#define RSTC ((Rstc *)0x40000C00UL) /**< \brief (RSTC) APB Base Address */ -#define RSTC_INST_NUM 1 /**< \brief (RSTC) Number of instances */ -#define RSTC_INSTS { RSTC } /**< \brief (RSTC) Instances List */ - -#define RTC ((Rtc *)0x40002400UL) /**< \brief (RTC) APB Base Address */ -#define RTC_INST_NUM 1 /**< \brief (RTC) Number of instances */ -#define RTC_INSTS { RTC } /**< \brief (RTC) Instances List */ - -#define SDHC0 ((Sdhc *)0x45000000UL) /**< \brief (SDHC0) AHB Base Address */ -#define SDHC1 ((Sdhc *)0x46000000UL) /**< \brief (SDHC1) AHB Base Address */ -#define SDHC_INST_NUM 2 /**< \brief (SDHC) Number of instances */ -#define SDHC_INSTS { SDHC0, SDHC1 } /**< \brief (SDHC) Instances List */ - -#define SERCOM0 ((Sercom *)0x40003000UL) /**< \brief (SERCOM0) APB Base Address */ -#define SERCOM1 ((Sercom *)0x40003400UL) /**< \brief (SERCOM1) APB Base Address */ -#define SERCOM2 ((Sercom *)0x41012000UL) /**< \brief (SERCOM2) APB Base Address */ -#define SERCOM3 ((Sercom *)0x41014000UL) /**< \brief (SERCOM3) APB Base Address */ -#define SERCOM4 ((Sercom *)0x43000000UL) /**< \brief (SERCOM4) APB Base Address */ -#define SERCOM5 ((Sercom *)0x43000400UL) /**< \brief (SERCOM5) APB Base Address */ -#define SERCOM6 ((Sercom *)0x43000800UL) /**< \brief (SERCOM6) APB Base Address */ -#define SERCOM7 ((Sercom *)0x43000C00UL) /**< \brief (SERCOM7) APB Base Address */ -#define SERCOM_INST_NUM 8 /**< \brief (SERCOM) Number of instances */ -#define SERCOM_INSTS { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5, SERCOM6, SERCOM7 } /**< \brief (SERCOM) Instances List */ - -#define SUPC ((Supc *)0x40001800UL) /**< \brief (SUPC) APB Base Address */ -#define SUPC_INST_NUM 1 /**< \brief (SUPC) Number of instances */ -#define SUPC_INSTS { SUPC } /**< \brief (SUPC) Instances List */ - -#define TC0 ((Tc *)0x40003800UL) /**< \brief (TC0) APB Base Address */ -#define TC1 ((Tc *)0x40003C00UL) /**< \brief (TC1) APB Base Address */ -#define TC2 ((Tc *)0x4101A000UL) /**< \brief (TC2) APB Base Address */ -#define TC3 ((Tc *)0x4101C000UL) /**< \brief (TC3) APB Base Address */ -#define TC4 ((Tc *)0x42001400UL) /**< \brief (TC4) APB Base Address */ -#define TC5 ((Tc *)0x42001800UL) /**< \brief (TC5) APB Base Address */ -#define TC6 ((Tc *)0x43001400UL) /**< \brief (TC6) APB Base Address */ -#define TC7 ((Tc *)0x43001800UL) /**< \brief (TC7) APB Base Address */ -#define TC_INST_NUM 8 /**< \brief (TC) Number of instances */ -#define TC_INSTS { TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 } /**< \brief (TC) Instances List */ - -#define TCC0 ((Tcc *)0x41016000UL) /**< \brief (TCC0) APB Base Address */ -#define TCC1 ((Tcc *)0x41018000UL) /**< \brief (TCC1) APB Base Address */ -#define TCC2 ((Tcc *)0x42000C00UL) /**< \brief (TCC2) APB Base Address */ -#define TCC3 ((Tcc *)0x42001000UL) /**< \brief (TCC3) APB Base Address */ -#define TCC4 ((Tcc *)0x43001000UL) /**< \brief (TCC4) APB Base Address */ -#define TCC_INST_NUM 5 /**< \brief (TCC) Number of instances */ -#define TCC_INSTS { TCC0, TCC1, TCC2, TCC3, TCC4 } /**< \brief (TCC) Instances List */ - -#define TRNG ((Trng *)0x42002800UL) /**< \brief (TRNG) APB Base Address */ -#define TRNG_INST_NUM 1 /**< \brief (TRNG) Number of instances */ -#define TRNG_INSTS { TRNG } /**< \brief (TRNG) Instances List */ - -#define USB ((Usb *)0x41000000UL) /**< \brief (USB) APB Base Address */ -#define USB_INST_NUM 1 /**< \brief (USB) Number of instances */ -#define USB_INSTS { USB } /**< \brief (USB) Instances List */ - -#define WDT ((Wdt *)0x40002000UL) /**< \brief (WDT) APB Base Address */ -#define WDT_INST_NUM 1 /**< \brief (WDT) Number of instances */ -#define WDT_INSTS { WDT } /**< \brief (WDT) Instances List */ - -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/** PORT DEFINITIONS FOR SAME54P19A */ -/* ************************************************************************** */ -/** \defgroup SAME54P19A_port PORT Definitions */ -/*@{*/ - -#include "pio/same54p19a.h" -/*@}*/ - -/* ************************************************************************** */ -/** MEMORY MAPPING DEFINITIONS FOR SAME54P19A */ -/* ************************************************************************** */ - -#define HSRAM_SIZE _UL_(0x00030000) /* 192 kB */ -#define FLASH_SIZE _UL_(0x00080000) /* 512 kB */ -#define FLASH_PAGE_SIZE 512 -#define FLASH_NB_OF_PAGES 1024 -#define FLASH_USER_PAGE_SIZE 512 -#define BKUPRAM_SIZE _UL_(0x00002000) /* 8 kB */ -#define QSPI_SIZE _UL_(0x01000000) /* 16384 kB */ - -#define FLASH_ADDR _UL_(0x00000000) /**< FLASH base address */ -#define CMCC_DATARAM_ADDR _UL_(0x03000000) /**< CMCC_DATARAM base address */ -#define CMCC_DATARAM_SIZE _UL_(0x00001000) /**< CMCC_DATARAM size */ -#define CMCC_TAGRAM_ADDR _UL_(0x03001000) /**< CMCC_TAGRAM base address */ -#define CMCC_TAGRAM_SIZE _UL_(0x00000400) /**< CMCC_TAGRAM size */ -#define CMCC_VALIDRAM_ADDR _UL_(0x03002000) /**< CMCC_VALIDRAM base address */ -#define CMCC_VALIDRAM_SIZE _UL_(0x00000040) /**< CMCC_VALIDRAM size */ -#define HSRAM_ADDR _UL_(0x20000000) /**< HSRAM base address */ -#define HSRAM_ETB_ADDR _UL_(0x20000000) /**< HSRAM_ETB base address */ -#define HSRAM_ETB_SIZE _UL_(0x00008000) /**< HSRAM_ETB size */ -#define HSRAM_RET1_ADDR _UL_(0x20000000) /**< HSRAM_RET1 base address */ -#define HSRAM_RET1_SIZE _UL_(0x00008000) /**< HSRAM_RET1 size */ -#define HPB0_ADDR _UL_(0x40000000) /**< HPB0 base address */ -#define HPB1_ADDR _UL_(0x41000000) /**< HPB1 base address */ -#define HPB2_ADDR _UL_(0x42000000) /**< HPB2 base address */ -#define HPB3_ADDR _UL_(0x43000000) /**< HPB3 base address */ -#define SEEPROM_ADDR _UL_(0x44000000) /**< SEEPROM base address */ -#define BKUPRAM_ADDR _UL_(0x47000000) /**< BKUPRAM base address */ -#define PPB_ADDR _UL_(0xE0000000) /**< PPB base address */ - -#define DSU_DID_RESETVALUE _UL_(0x61840301) -#define ADC0_TOUCH_LINES_NUM 32 -#define PORT_GROUPS 4 - -/* ************************************************************************** */ -/** ELECTRICAL DEFINITIONS FOR SAME54P19A */ -/* ************************************************************************** */ - - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* SAME54P19A_H */ diff --git a/software/firmware/oracle_same54n19a/include/same54p20a.h b/software/firmware/oracle_same54n19a/include/same54p20a.h deleted file mode 100644 index 2446095..0000000 --- a/software/firmware/oracle_same54n19a/include/same54p20a.h +++ /dev/null @@ -1,1085 +0,0 @@ -/** - * \file - * - * \brief Header file for SAME54P20A - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SAME54P20A_ -#define _SAME54P20A_ - -/** - * \ingroup SAME54_definitions - * \addtogroup SAME54P20A_definitions SAME54P20A definitions - * This file defines all structures and symbols for SAME54P20A: - * - registers and bitfields - * - peripheral base address - * - peripheral ID - * - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include -#ifndef __cplusplus -typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ -typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ -typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ -#else -typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ -typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ -typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ -#endif -typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ -typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */ -typedef volatile uint8_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */ -typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ -typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */ -typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */ -#endif - -#if !defined(SKIP_INTEGER_LITERALS) -#if defined(_U_) || defined(_L_) || defined(_UL_) - #error "Integer Literals macros already defined elsewhere" -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/* Macros that deal with adding suffixes to integer literal constants for C/C++ */ -#define _U_(x) x ## U /**< C code: Unsigned integer literal constant value */ -#define _L_(x) x ## L /**< C code: Long integer literal constant value */ -#define _UL_(x) x ## UL /**< C code: Unsigned Long integer literal constant value */ -#else /* Assembler */ -#define _U_(x) x /**< Assembler: Unsigned integer literal constant value */ -#define _L_(x) x /**< Assembler: Long integer literal constant value */ -#define _UL_(x) x /**< Assembler: Unsigned Long integer literal constant value */ -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -#endif /* SKIP_INTEGER_LITERALS */ - -/* ************************************************************************** */ -/** CMSIS DEFINITIONS FOR SAME54P20A */ -/* ************************************************************************** */ -/** \defgroup SAME54P20A_cmsis CMSIS Definitions */ -/*@{*/ - -/** Interrupt Number Definition */ -typedef enum IRQn -{ - /****** Cortex-M4 Processor Exceptions Numbers *******************/ - NonMaskableInt_IRQn = -14,/**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13,/**< 3 Hard Fault Interrupt */ - MemoryManagement_IRQn = -12,/**< 4 Memory Management Interrupt */ - BusFault_IRQn = -11,/**< 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10,/**< 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 System Tick Interrupt */ - /****** SAME54P20A-specific Interrupt Numbers *********************/ - PM_IRQn = 0, /**< 0 SAME54P20A Power Manager (PM) */ - MCLK_IRQn = 1, /**< 1 SAME54P20A Main Clock (MCLK) */ - OSCCTRL_0_IRQn = 2, /**< 2 SAME54P20A Oscillators Control (OSCCTRL) IRQ 0 */ - OSCCTRL_1_IRQn = 3, /**< 3 SAME54P20A Oscillators Control (OSCCTRL) IRQ 1 */ - OSCCTRL_2_IRQn = 4, /**< 4 SAME54P20A Oscillators Control (OSCCTRL) IRQ 2 */ - OSCCTRL_3_IRQn = 5, /**< 5 SAME54P20A Oscillators Control (OSCCTRL) IRQ 3 */ - OSCCTRL_4_IRQn = 6, /**< 6 SAME54P20A Oscillators Control (OSCCTRL) IRQ 4 */ - OSC32KCTRL_IRQn = 7, /**< 7 SAME54P20A 32kHz Oscillators Control (OSC32KCTRL) */ - SUPC_0_IRQn = 8, /**< 8 SAME54P20A Supply Controller (SUPC) IRQ 0 */ - SUPC_1_IRQn = 9, /**< 9 SAME54P20A Supply Controller (SUPC) IRQ 1 */ - WDT_IRQn = 10, /**< 10 SAME54P20A Watchdog Timer (WDT) */ - RTC_IRQn = 11, /**< 11 SAME54P20A Real-Time Counter (RTC) */ - EIC_0_IRQn = 12, /**< 12 SAME54P20A External Interrupt Controller (EIC) IRQ 0 */ - EIC_1_IRQn = 13, /**< 13 SAME54P20A External Interrupt Controller (EIC) IRQ 1 */ - EIC_2_IRQn = 14, /**< 14 SAME54P20A External Interrupt Controller (EIC) IRQ 2 */ - EIC_3_IRQn = 15, /**< 15 SAME54P20A External Interrupt Controller (EIC) IRQ 3 */ - EIC_4_IRQn = 16, /**< 16 SAME54P20A External Interrupt Controller (EIC) IRQ 4 */ - EIC_5_IRQn = 17, /**< 17 SAME54P20A External Interrupt Controller (EIC) IRQ 5 */ - EIC_6_IRQn = 18, /**< 18 SAME54P20A External Interrupt Controller (EIC) IRQ 6 */ - EIC_7_IRQn = 19, /**< 19 SAME54P20A External Interrupt Controller (EIC) IRQ 7 */ - EIC_8_IRQn = 20, /**< 20 SAME54P20A External Interrupt Controller (EIC) IRQ 8 */ - EIC_9_IRQn = 21, /**< 21 SAME54P20A External Interrupt Controller (EIC) IRQ 9 */ - EIC_10_IRQn = 22, /**< 22 SAME54P20A External Interrupt Controller (EIC) IRQ 10 */ - EIC_11_IRQn = 23, /**< 23 SAME54P20A External Interrupt Controller (EIC) IRQ 11 */ - EIC_12_IRQn = 24, /**< 24 SAME54P20A External Interrupt Controller (EIC) IRQ 12 */ - EIC_13_IRQn = 25, /**< 25 SAME54P20A External Interrupt Controller (EIC) IRQ 13 */ - EIC_14_IRQn = 26, /**< 26 SAME54P20A External Interrupt Controller (EIC) IRQ 14 */ - EIC_15_IRQn = 27, /**< 27 SAME54P20A External Interrupt Controller (EIC) IRQ 15 */ - FREQM_IRQn = 28, /**< 28 SAME54P20A Frequency Meter (FREQM) */ - NVMCTRL_0_IRQn = 29, /**< 29 SAME54P20A Non-Volatile Memory Controller (NVMCTRL) IRQ 0 */ - NVMCTRL_1_IRQn = 30, /**< 30 SAME54P20A Non-Volatile Memory Controller (NVMCTRL) IRQ 1 */ - DMAC_0_IRQn = 31, /**< 31 SAME54P20A Direct Memory Access Controller (DMAC) IRQ 0 */ - DMAC_1_IRQn = 32, /**< 32 SAME54P20A Direct Memory Access Controller (DMAC) IRQ 1 */ - DMAC_2_IRQn = 33, /**< 33 SAME54P20A Direct Memory Access Controller (DMAC) IRQ 2 */ - DMAC_3_IRQn = 34, /**< 34 SAME54P20A Direct Memory Access Controller (DMAC) IRQ 3 */ - DMAC_4_IRQn = 35, /**< 35 SAME54P20A Direct Memory Access Controller (DMAC) IRQ 4 */ - EVSYS_0_IRQn = 36, /**< 36 SAME54P20A Event System Interface (EVSYS) IRQ 0 */ - EVSYS_1_IRQn = 37, /**< 37 SAME54P20A Event System Interface (EVSYS) IRQ 1 */ - EVSYS_2_IRQn = 38, /**< 38 SAME54P20A Event System Interface (EVSYS) IRQ 2 */ - EVSYS_3_IRQn = 39, /**< 39 SAME54P20A Event System Interface (EVSYS) IRQ 3 */ - EVSYS_4_IRQn = 40, /**< 40 SAME54P20A Event System Interface (EVSYS) IRQ 4 */ - PAC_IRQn = 41, /**< 41 SAME54P20A Peripheral Access Controller (PAC) */ - RAMECC_IRQn = 45, /**< 45 SAME54P20A RAM ECC (RAMECC) */ - SERCOM0_0_IRQn = 46, /**< 46 SAME54P20A Serial Communication Interface 0 (SERCOM0) IRQ 0 */ - SERCOM0_1_IRQn = 47, /**< 47 SAME54P20A Serial Communication Interface 0 (SERCOM0) IRQ 1 */ - SERCOM0_2_IRQn = 48, /**< 48 SAME54P20A Serial Communication Interface 0 (SERCOM0) IRQ 2 */ - SERCOM0_3_IRQn = 49, /**< 49 SAME54P20A Serial Communication Interface 0 (SERCOM0) IRQ 3 */ - SERCOM1_0_IRQn = 50, /**< 50 SAME54P20A Serial Communication Interface 1 (SERCOM1) IRQ 0 */ - SERCOM1_1_IRQn = 51, /**< 51 SAME54P20A Serial Communication Interface 1 (SERCOM1) IRQ 1 */ - SERCOM1_2_IRQn = 52, /**< 52 SAME54P20A Serial Communication Interface 1 (SERCOM1) IRQ 2 */ - SERCOM1_3_IRQn = 53, /**< 53 SAME54P20A Serial Communication Interface 1 (SERCOM1) IRQ 3 */ - SERCOM2_0_IRQn = 54, /**< 54 SAME54P20A Serial Communication Interface 2 (SERCOM2) IRQ 0 */ - SERCOM2_1_IRQn = 55, /**< 55 SAME54P20A Serial Communication Interface 2 (SERCOM2) IRQ 1 */ - SERCOM2_2_IRQn = 56, /**< 56 SAME54P20A Serial Communication Interface 2 (SERCOM2) IRQ 2 */ - SERCOM2_3_IRQn = 57, /**< 57 SAME54P20A Serial Communication Interface 2 (SERCOM2) IRQ 3 */ - SERCOM3_0_IRQn = 58, /**< 58 SAME54P20A Serial Communication Interface 3 (SERCOM3) IRQ 0 */ - SERCOM3_1_IRQn = 59, /**< 59 SAME54P20A Serial Communication Interface 3 (SERCOM3) IRQ 1 */ - SERCOM3_2_IRQn = 60, /**< 60 SAME54P20A Serial Communication Interface 3 (SERCOM3) IRQ 2 */ - SERCOM3_3_IRQn = 61, /**< 61 SAME54P20A Serial Communication Interface 3 (SERCOM3) IRQ 3 */ - SERCOM4_0_IRQn = 62, /**< 62 SAME54P20A Serial Communication Interface 4 (SERCOM4) IRQ 0 */ - SERCOM4_1_IRQn = 63, /**< 63 SAME54P20A Serial Communication Interface 4 (SERCOM4) IRQ 1 */ - SERCOM4_2_IRQn = 64, /**< 64 SAME54P20A Serial Communication Interface 4 (SERCOM4) IRQ 2 */ - SERCOM4_3_IRQn = 65, /**< 65 SAME54P20A Serial Communication Interface 4 (SERCOM4) IRQ 3 */ - SERCOM5_0_IRQn = 66, /**< 66 SAME54P20A Serial Communication Interface 5 (SERCOM5) IRQ 0 */ - SERCOM5_1_IRQn = 67, /**< 67 SAME54P20A Serial Communication Interface 5 (SERCOM5) IRQ 1 */ - SERCOM5_2_IRQn = 68, /**< 68 SAME54P20A Serial Communication Interface 5 (SERCOM5) IRQ 2 */ - SERCOM5_3_IRQn = 69, /**< 69 SAME54P20A Serial Communication Interface 5 (SERCOM5) IRQ 3 */ - SERCOM6_0_IRQn = 70, /**< 70 SAME54P20A Serial Communication Interface 6 (SERCOM6) IRQ 0 */ - SERCOM6_1_IRQn = 71, /**< 71 SAME54P20A Serial Communication Interface 6 (SERCOM6) IRQ 1 */ - SERCOM6_2_IRQn = 72, /**< 72 SAME54P20A Serial Communication Interface 6 (SERCOM6) IRQ 2 */ - SERCOM6_3_IRQn = 73, /**< 73 SAME54P20A Serial Communication Interface 6 (SERCOM6) IRQ 3 */ - SERCOM7_0_IRQn = 74, /**< 74 SAME54P20A Serial Communication Interface 7 (SERCOM7) IRQ 0 */ - SERCOM7_1_IRQn = 75, /**< 75 SAME54P20A Serial Communication Interface 7 (SERCOM7) IRQ 1 */ - SERCOM7_2_IRQn = 76, /**< 76 SAME54P20A Serial Communication Interface 7 (SERCOM7) IRQ 2 */ - SERCOM7_3_IRQn = 77, /**< 77 SAME54P20A Serial Communication Interface 7 (SERCOM7) IRQ 3 */ - CAN0_IRQn = 78, /**< 78 SAME54P20A Control Area Network 0 (CAN0) */ - CAN1_IRQn = 79, /**< 79 SAME54P20A Control Area Network 1 (CAN1) */ - USB_0_IRQn = 80, /**< 80 SAME54P20A Universal Serial Bus (USB) IRQ 0 */ - USB_1_IRQn = 81, /**< 81 SAME54P20A Universal Serial Bus (USB) IRQ 1 */ - USB_2_IRQn = 82, /**< 82 SAME54P20A Universal Serial Bus (USB) IRQ 2 */ - USB_3_IRQn = 83, /**< 83 SAME54P20A Universal Serial Bus (USB) IRQ 3 */ - GMAC_IRQn = 84, /**< 84 SAME54P20A Ethernet MAC (GMAC) */ - TCC0_0_IRQn = 85, /**< 85 SAME54P20A Timer Counter Control 0 (TCC0) IRQ 0 */ - TCC0_1_IRQn = 86, /**< 86 SAME54P20A Timer Counter Control 0 (TCC0) IRQ 1 */ - TCC0_2_IRQn = 87, /**< 87 SAME54P20A Timer Counter Control 0 (TCC0) IRQ 2 */ - TCC0_3_IRQn = 88, /**< 88 SAME54P20A Timer Counter Control 0 (TCC0) IRQ 3 */ - TCC0_4_IRQn = 89, /**< 89 SAME54P20A Timer Counter Control 0 (TCC0) IRQ 4 */ - TCC0_5_IRQn = 90, /**< 90 SAME54P20A Timer Counter Control 0 (TCC0) IRQ 5 */ - TCC0_6_IRQn = 91, /**< 91 SAME54P20A Timer Counter Control 0 (TCC0) IRQ 6 */ - TCC1_0_IRQn = 92, /**< 92 SAME54P20A Timer Counter Control 1 (TCC1) IRQ 0 */ - TCC1_1_IRQn = 93, /**< 93 SAME54P20A Timer Counter Control 1 (TCC1) IRQ 1 */ - TCC1_2_IRQn = 94, /**< 94 SAME54P20A Timer Counter Control 1 (TCC1) IRQ 2 */ - TCC1_3_IRQn = 95, /**< 95 SAME54P20A Timer Counter Control 1 (TCC1) IRQ 3 */ - TCC1_4_IRQn = 96, /**< 96 SAME54P20A Timer Counter Control 1 (TCC1) IRQ 4 */ - TCC2_0_IRQn = 97, /**< 97 SAME54P20A Timer Counter Control 2 (TCC2) IRQ 0 */ - TCC2_1_IRQn = 98, /**< 98 SAME54P20A Timer Counter Control 2 (TCC2) IRQ 1 */ - TCC2_2_IRQn = 99, /**< 99 SAME54P20A Timer Counter Control 2 (TCC2) IRQ 2 */ - TCC2_3_IRQn = 100, /**< 100 SAME54P20A Timer Counter Control 2 (TCC2) IRQ 3 */ - TCC3_0_IRQn = 101, /**< 101 SAME54P20A Timer Counter Control 3 (TCC3) IRQ 0 */ - TCC3_1_IRQn = 102, /**< 102 SAME54P20A Timer Counter Control 3 (TCC3) IRQ 1 */ - TCC3_2_IRQn = 103, /**< 103 SAME54P20A Timer Counter Control 3 (TCC3) IRQ 2 */ - TCC4_0_IRQn = 104, /**< 104 SAME54P20A Timer Counter Control 4 (TCC4) IRQ 0 */ - TCC4_1_IRQn = 105, /**< 105 SAME54P20A Timer Counter Control 4 (TCC4) IRQ 1 */ - TCC4_2_IRQn = 106, /**< 106 SAME54P20A Timer Counter Control 4 (TCC4) IRQ 2 */ - TC0_IRQn = 107, /**< 107 SAME54P20A Basic Timer Counter 0 (TC0) */ - TC1_IRQn = 108, /**< 108 SAME54P20A Basic Timer Counter 1 (TC1) */ - TC2_IRQn = 109, /**< 109 SAME54P20A Basic Timer Counter 2 (TC2) */ - TC3_IRQn = 110, /**< 110 SAME54P20A Basic Timer Counter 3 (TC3) */ - TC4_IRQn = 111, /**< 111 SAME54P20A Basic Timer Counter 4 (TC4) */ - TC5_IRQn = 112, /**< 112 SAME54P20A Basic Timer Counter 5 (TC5) */ - TC6_IRQn = 113, /**< 113 SAME54P20A Basic Timer Counter 6 (TC6) */ - TC7_IRQn = 114, /**< 114 SAME54P20A Basic Timer Counter 7 (TC7) */ - PDEC_0_IRQn = 115, /**< 115 SAME54P20A Quadrature Decodeur (PDEC) IRQ 0 */ - PDEC_1_IRQn = 116, /**< 116 SAME54P20A Quadrature Decodeur (PDEC) IRQ 1 */ - PDEC_2_IRQn = 117, /**< 117 SAME54P20A Quadrature Decodeur (PDEC) IRQ 2 */ - ADC0_0_IRQn = 118, /**< 118 SAME54P20A Analog Digital Converter 0 (ADC0) IRQ 0 */ - ADC0_1_IRQn = 119, /**< 119 SAME54P20A Analog Digital Converter 0 (ADC0) IRQ 1 */ - ADC1_0_IRQn = 120, /**< 120 SAME54P20A Analog Digital Converter 1 (ADC1) IRQ 0 */ - ADC1_1_IRQn = 121, /**< 121 SAME54P20A Analog Digital Converter 1 (ADC1) IRQ 1 */ - AC_IRQn = 122, /**< 122 SAME54P20A Analog Comparators (AC) */ - DAC_0_IRQn = 123, /**< 123 SAME54P20A Digital-to-Analog Converter (DAC) IRQ 0 */ - DAC_1_IRQn = 124, /**< 124 SAME54P20A Digital-to-Analog Converter (DAC) IRQ 1 */ - DAC_2_IRQn = 125, /**< 125 SAME54P20A Digital-to-Analog Converter (DAC) IRQ 2 */ - DAC_3_IRQn = 126, /**< 126 SAME54P20A Digital-to-Analog Converter (DAC) IRQ 3 */ - DAC_4_IRQn = 127, /**< 127 SAME54P20A Digital-to-Analog Converter (DAC) IRQ 4 */ - I2S_IRQn = 128, /**< 128 SAME54P20A Inter-IC Sound Interface (I2S) */ - PCC_IRQn = 129, /**< 129 SAME54P20A Parallel Capture Controller (PCC) */ - AES_IRQn = 130, /**< 130 SAME54P20A Advanced Encryption Standard (AES) */ - TRNG_IRQn = 131, /**< 131 SAME54P20A True Random Generator (TRNG) */ - ICM_IRQn = 132, /**< 132 SAME54P20A Integrity Check Monitor (ICM) */ - PUKCC_IRQn = 133, /**< 133 SAME54P20A PUblic-Key Cryptography Controller (PUKCC) */ - QSPI_IRQn = 134, /**< 134 SAME54P20A Quad SPI interface (QSPI) */ - SDHC0_IRQn = 135, /**< 135 SAME54P20A SD/MMC Host Controller 0 (SDHC0) */ - SDHC1_IRQn = 136, /**< 136 SAME54P20A SD/MMC Host Controller 1 (SDHC1) */ - - PERIPH_COUNT_IRQn = 137 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNonMaskableInt_Handler; - void* pfnHardFault_Handler; - void* pfnMemManagement_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pvReservedM9; - void* pvReservedM8; - void* pvReservedM7; - void* pvReservedM6; - void* pfnSVCall_Handler; - void* pfnDebugMonitor_Handler; - void* pvReservedM3; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnPM_Handler; /* 0 Power Manager */ - void* pfnMCLK_Handler; /* 1 Main Clock */ - void* pfnOSCCTRL_0_Handler; /* 2 Oscillators Control IRQ 0 */ - void* pfnOSCCTRL_1_Handler; /* 3 Oscillators Control IRQ 1 */ - void* pfnOSCCTRL_2_Handler; /* 4 Oscillators Control IRQ 2 */ - void* pfnOSCCTRL_3_Handler; /* 5 Oscillators Control IRQ 3 */ - void* pfnOSCCTRL_4_Handler; /* 6 Oscillators Control IRQ 4 */ - void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control */ - void* pfnSUPC_0_Handler; /* 8 Supply Controller IRQ 0 */ - void* pfnSUPC_1_Handler; /* 9 Supply Controller IRQ 1 */ - void* pfnWDT_Handler; /* 10 Watchdog Timer */ - void* pfnRTC_Handler; /* 11 Real-Time Counter */ - void* pfnEIC_0_Handler; /* 12 External Interrupt Controller IRQ 0 */ - void* pfnEIC_1_Handler; /* 13 External Interrupt Controller IRQ 1 */ - void* pfnEIC_2_Handler; /* 14 External Interrupt Controller IRQ 2 */ - void* pfnEIC_3_Handler; /* 15 External Interrupt Controller IRQ 3 */ - void* pfnEIC_4_Handler; /* 16 External Interrupt Controller IRQ 4 */ - void* pfnEIC_5_Handler; /* 17 External Interrupt Controller IRQ 5 */ - void* pfnEIC_6_Handler; /* 18 External Interrupt Controller IRQ 6 */ - void* pfnEIC_7_Handler; /* 19 External Interrupt Controller IRQ 7 */ - void* pfnEIC_8_Handler; /* 20 External Interrupt Controller IRQ 8 */ - void* pfnEIC_9_Handler; /* 21 External Interrupt Controller IRQ 9 */ - void* pfnEIC_10_Handler; /* 22 External Interrupt Controller IRQ 10 */ - void* pfnEIC_11_Handler; /* 23 External Interrupt Controller IRQ 11 */ - void* pfnEIC_12_Handler; /* 24 External Interrupt Controller IRQ 12 */ - void* pfnEIC_13_Handler; /* 25 External Interrupt Controller IRQ 13 */ - void* pfnEIC_14_Handler; /* 26 External Interrupt Controller IRQ 14 */ - void* pfnEIC_15_Handler; /* 27 External Interrupt Controller IRQ 15 */ - void* pfnFREQM_Handler; /* 28 Frequency Meter */ - void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller IRQ 0 */ - void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller IRQ 1 */ - void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller IRQ 0 */ - void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller IRQ 1 */ - void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller IRQ 2 */ - void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller IRQ 3 */ - void* pfnDMAC_4_Handler; /* 35 Direct Memory Access Controller IRQ 4 */ - void* pfnEVSYS_0_Handler; /* 36 Event System Interface IRQ 0 */ - void* pfnEVSYS_1_Handler; /* 37 Event System Interface IRQ 1 */ - void* pfnEVSYS_2_Handler; /* 38 Event System Interface IRQ 2 */ - void* pfnEVSYS_3_Handler; /* 39 Event System Interface IRQ 3 */ - void* pfnEVSYS_4_Handler; /* 40 Event System Interface IRQ 4 */ - void* pfnPAC_Handler; /* 41 Peripheral Access Controller */ - void* pvReserved42; - void* pvReserved43; - void* pvReserved44; - void* pfnRAMECC_Handler; /* 45 RAM ECC */ - void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface 0 IRQ 0 */ - void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface 0 IRQ 1 */ - void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface 0 IRQ 2 */ - void* pfnSERCOM0_3_Handler; /* 49 Serial Communication Interface 0 IRQ 3 */ - void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface 1 IRQ 0 */ - void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface 1 IRQ 1 */ - void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface 1 IRQ 2 */ - void* pfnSERCOM1_3_Handler; /* 53 Serial Communication Interface 1 IRQ 3 */ - void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface 2 IRQ 0 */ - void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface 2 IRQ 1 */ - void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface 2 IRQ 2 */ - void* pfnSERCOM2_3_Handler; /* 57 Serial Communication Interface 2 IRQ 3 */ - void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface 3 IRQ 0 */ - void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface 3 IRQ 1 */ - void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface 3 IRQ 2 */ - void* pfnSERCOM3_3_Handler; /* 61 Serial Communication Interface 3 IRQ 3 */ - void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface 4 IRQ 0 */ - void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface 4 IRQ 1 */ - void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface 4 IRQ 2 */ - void* pfnSERCOM4_3_Handler; /* 65 Serial Communication Interface 4 IRQ 3 */ - void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface 5 IRQ 0 */ - void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface 5 IRQ 1 */ - void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface 5 IRQ 2 */ - void* pfnSERCOM5_3_Handler; /* 69 Serial Communication Interface 5 IRQ 3 */ - void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface 6 IRQ 0 */ - void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface 6 IRQ 1 */ - void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface 6 IRQ 2 */ - void* pfnSERCOM6_3_Handler; /* 73 Serial Communication Interface 6 IRQ 3 */ - void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface 7 IRQ 0 */ - void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface 7 IRQ 1 */ - void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface 7 IRQ 2 */ - void* pfnSERCOM7_3_Handler; /* 77 Serial Communication Interface 7 IRQ 3 */ - void* pfnCAN0_Handler; /* 78 Control Area Network 0 */ - void* pfnCAN1_Handler; /* 79 Control Area Network 1 */ - void* pfnUSB_0_Handler; /* 80 Universal Serial Bus IRQ 0 */ - void* pfnUSB_1_Handler; /* 81 Universal Serial Bus IRQ 1 */ - void* pfnUSB_2_Handler; /* 82 Universal Serial Bus IRQ 2 */ - void* pfnUSB_3_Handler; /* 83 Universal Serial Bus IRQ 3 */ - void* pfnGMAC_Handler; /* 84 Ethernet MAC */ - void* pfnTCC0_0_Handler; /* 85 Timer Counter Control 0 IRQ 0 */ - void* pfnTCC0_1_Handler; /* 86 Timer Counter Control 0 IRQ 1 */ - void* pfnTCC0_2_Handler; /* 87 Timer Counter Control 0 IRQ 2 */ - void* pfnTCC0_3_Handler; /* 88 Timer Counter Control 0 IRQ 3 */ - void* pfnTCC0_4_Handler; /* 89 Timer Counter Control 0 IRQ 4 */ - void* pfnTCC0_5_Handler; /* 90 Timer Counter Control 0 IRQ 5 */ - void* pfnTCC0_6_Handler; /* 91 Timer Counter Control 0 IRQ 6 */ - void* pfnTCC1_0_Handler; /* 92 Timer Counter Control 1 IRQ 0 */ - void* pfnTCC1_1_Handler; /* 93 Timer Counter Control 1 IRQ 1 */ - void* pfnTCC1_2_Handler; /* 94 Timer Counter Control 1 IRQ 2 */ - void* pfnTCC1_3_Handler; /* 95 Timer Counter Control 1 IRQ 3 */ - void* pfnTCC1_4_Handler; /* 96 Timer Counter Control 1 IRQ 4 */ - void* pfnTCC2_0_Handler; /* 97 Timer Counter Control 2 IRQ 0 */ - void* pfnTCC2_1_Handler; /* 98 Timer Counter Control 2 IRQ 1 */ - void* pfnTCC2_2_Handler; /* 99 Timer Counter Control 2 IRQ 2 */ - void* pfnTCC2_3_Handler; /* 100 Timer Counter Control 2 IRQ 3 */ - void* pfnTCC3_0_Handler; /* 101 Timer Counter Control 3 IRQ 0 */ - void* pfnTCC3_1_Handler; /* 102 Timer Counter Control 3 IRQ 1 */ - void* pfnTCC3_2_Handler; /* 103 Timer Counter Control 3 IRQ 2 */ - void* pfnTCC4_0_Handler; /* 104 Timer Counter Control 4 IRQ 0 */ - void* pfnTCC4_1_Handler; /* 105 Timer Counter Control 4 IRQ 1 */ - void* pfnTCC4_2_Handler; /* 106 Timer Counter Control 4 IRQ 2 */ - void* pfnTC0_Handler; /* 107 Basic Timer Counter 0 */ - void* pfnTC1_Handler; /* 108 Basic Timer Counter 1 */ - void* pfnTC2_Handler; /* 109 Basic Timer Counter 2 */ - void* pfnTC3_Handler; /* 110 Basic Timer Counter 3 */ - void* pfnTC4_Handler; /* 111 Basic Timer Counter 4 */ - void* pfnTC5_Handler; /* 112 Basic Timer Counter 5 */ - void* pfnTC6_Handler; /* 113 Basic Timer Counter 6 */ - void* pfnTC7_Handler; /* 114 Basic Timer Counter 7 */ - void* pfnPDEC_0_Handler; /* 115 Quadrature Decodeur IRQ 0 */ - void* pfnPDEC_1_Handler; /* 116 Quadrature Decodeur IRQ 1 */ - void* pfnPDEC_2_Handler; /* 117 Quadrature Decodeur IRQ 2 */ - void* pfnADC0_0_Handler; /* 118 Analog Digital Converter 0 IRQ 0 */ - void* pfnADC0_1_Handler; /* 119 Analog Digital Converter 0 IRQ 1 */ - void* pfnADC1_0_Handler; /* 120 Analog Digital Converter 1 IRQ 0 */ - void* pfnADC1_1_Handler; /* 121 Analog Digital Converter 1 IRQ 1 */ - void* pfnAC_Handler; /* 122 Analog Comparators */ - void* pfnDAC_0_Handler; /* 123 Digital-to-Analog Converter IRQ 0 */ - void* pfnDAC_1_Handler; /* 124 Digital-to-Analog Converter IRQ 1 */ - void* pfnDAC_2_Handler; /* 125 Digital-to-Analog Converter IRQ 2 */ - void* pfnDAC_3_Handler; /* 126 Digital-to-Analog Converter IRQ 3 */ - void* pfnDAC_4_Handler; /* 127 Digital-to-Analog Converter IRQ 4 */ - void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface */ - void* pfnPCC_Handler; /* 129 Parallel Capture Controller */ - void* pfnAES_Handler; /* 130 Advanced Encryption Standard */ - void* pfnTRNG_Handler; /* 131 True Random Generator */ - void* pfnICM_Handler; /* 132 Integrity Check Monitor */ - void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller */ - void* pfnQSPI_Handler; /* 134 Quad SPI interface */ - void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller 0 */ - void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller 1 */ -} DeviceVectors; - -/* Cortex-M4 processor handlers */ -void Reset_Handler ( void ); -void NonMaskableInt_Handler ( void ); -void HardFault_Handler ( void ); -void MemManagement_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVCall_Handler ( void ); -void DebugMonitor_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void PM_Handler ( void ); -void MCLK_Handler ( void ); -void OSCCTRL_0_Handler ( void ); -void OSCCTRL_1_Handler ( void ); -void OSCCTRL_2_Handler ( void ); -void OSCCTRL_3_Handler ( void ); -void OSCCTRL_4_Handler ( void ); -void OSC32KCTRL_Handler ( void ); -void SUPC_0_Handler ( void ); -void SUPC_1_Handler ( void ); -void WDT_Handler ( void ); -void RTC_Handler ( void ); -void EIC_0_Handler ( void ); -void EIC_1_Handler ( void ); -void EIC_2_Handler ( void ); -void EIC_3_Handler ( void ); -void EIC_4_Handler ( void ); -void EIC_5_Handler ( void ); -void EIC_6_Handler ( void ); -void EIC_7_Handler ( void ); -void EIC_8_Handler ( void ); -void EIC_9_Handler ( void ); -void EIC_10_Handler ( void ); -void EIC_11_Handler ( void ); -void EIC_12_Handler ( void ); -void EIC_13_Handler ( void ); -void EIC_14_Handler ( void ); -void EIC_15_Handler ( void ); -void FREQM_Handler ( void ); -void NVMCTRL_0_Handler ( void ); -void NVMCTRL_1_Handler ( void ); -void DMAC_0_Handler ( void ); -void DMAC_1_Handler ( void ); -void DMAC_2_Handler ( void ); -void DMAC_3_Handler ( void ); -void DMAC_4_Handler ( void ); -void EVSYS_0_Handler ( void ); -void EVSYS_1_Handler ( void ); -void EVSYS_2_Handler ( void ); -void EVSYS_3_Handler ( void ); -void EVSYS_4_Handler ( void ); -void PAC_Handler ( void ); -void RAMECC_Handler ( void ); -void SERCOM0_0_Handler ( void ); -void SERCOM0_1_Handler ( void ); -void SERCOM0_2_Handler ( void ); -void SERCOM0_3_Handler ( void ); -void SERCOM1_0_Handler ( void ); -void SERCOM1_1_Handler ( void ); -void SERCOM1_2_Handler ( void ); -void SERCOM1_3_Handler ( void ); -void SERCOM2_0_Handler ( void ); -void SERCOM2_1_Handler ( void ); -void SERCOM2_2_Handler ( void ); -void SERCOM2_3_Handler ( void ); -void SERCOM3_0_Handler ( void ); -void SERCOM3_1_Handler ( void ); -void SERCOM3_2_Handler ( void ); -void SERCOM3_3_Handler ( void ); -void SERCOM4_0_Handler ( void ); -void SERCOM4_1_Handler ( void ); -void SERCOM4_2_Handler ( void ); -void SERCOM4_3_Handler ( void ); -void SERCOM5_0_Handler ( void ); -void SERCOM5_1_Handler ( void ); -void SERCOM5_2_Handler ( void ); -void SERCOM5_3_Handler ( void ); -void SERCOM6_0_Handler ( void ); -void SERCOM6_1_Handler ( void ); -void SERCOM6_2_Handler ( void ); -void SERCOM6_3_Handler ( void ); -void SERCOM7_0_Handler ( void ); -void SERCOM7_1_Handler ( void ); -void SERCOM7_2_Handler ( void ); -void SERCOM7_3_Handler ( void ); -void CAN0_Handler ( void ); -void CAN1_Handler ( void ); -void USB_0_Handler ( void ); -void USB_1_Handler ( void ); -void USB_2_Handler ( void ); -void USB_3_Handler ( void ); -void GMAC_Handler ( void ); -void TCC0_0_Handler ( void ); -void TCC0_1_Handler ( void ); -void TCC0_2_Handler ( void ); -void TCC0_3_Handler ( void ); -void TCC0_4_Handler ( void ); -void TCC0_5_Handler ( void ); -void TCC0_6_Handler ( void ); -void TCC1_0_Handler ( void ); -void TCC1_1_Handler ( void ); -void TCC1_2_Handler ( void ); -void TCC1_3_Handler ( void ); -void TCC1_4_Handler ( void ); -void TCC2_0_Handler ( void ); -void TCC2_1_Handler ( void ); -void TCC2_2_Handler ( void ); -void TCC2_3_Handler ( void ); -void TCC3_0_Handler ( void ); -void TCC3_1_Handler ( void ); -void TCC3_2_Handler ( void ); -void TCC4_0_Handler ( void ); -void TCC4_1_Handler ( void ); -void TCC4_2_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void PDEC_0_Handler ( void ); -void PDEC_1_Handler ( void ); -void PDEC_2_Handler ( void ); -void ADC0_0_Handler ( void ); -void ADC0_1_Handler ( void ); -void ADC1_0_Handler ( void ); -void ADC1_1_Handler ( void ); -void AC_Handler ( void ); -void DAC_0_Handler ( void ); -void DAC_1_Handler ( void ); -void DAC_2_Handler ( void ); -void DAC_3_Handler ( void ); -void DAC_4_Handler ( void ); -void I2S_Handler ( void ); -void PCC_Handler ( void ); -void AES_Handler ( void ); -void TRNG_Handler ( void ); -void ICM_Handler ( void ); -void PUKCC_Handler ( void ); -void QSPI_Handler ( void ); -void SDHC0_Handler ( void ); -void SDHC1_Handler ( void ); - -/* - * \brief Configuration of the Cortex-M4 Processor and Core Peripherals - */ - -#define __CM4_REV 1 /*!< Core revision r0p1 */ -#define __DEBUG_LVL 3 /*!< Full debug plus DWT data matching */ -#define __FPU_PRESENT 1 /*!< FPU present or not */ -#define __MPU_PRESENT 1 /*!< MPU present or not */ -#define __NVIC_PRIO_BITS 3 /*!< Number of bits used for Priority Levels */ -#define __TRACE_LVL 2 /*!< Full trace: ITM, DWT triggers and counters, ETM */ -#define __VTOR_PRESENT 1 /*!< VTOR present or not */ -#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ - -/** - * \brief CMSIS includes - */ - -#include -#if !defined DONT_USE_CMSIS_INIT -#include "system_same54.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME54P20A */ -/* ************************************************************************** */ -/** \defgroup SAME54P20A_api Peripheral Software API */ -/*@{*/ - -#include "component/ac.h" -#include "component/adc.h" -#include "component/aes.h" -#include "component/can.h" -#include "component/ccl.h" -#include "component/cmcc.h" -#include "component/dac.h" -#include "component/dmac.h" -#include "component/dsu.h" -#include "component/eic.h" -#include "component/evsys.h" -#include "component/freqm.h" -#include "component/gclk.h" -#include "component/gmac.h" -#include "component/hmatrixb.h" -#include "component/icm.h" -#include "component/i2s.h" -#include "component/mclk.h" -#include "component/nvmctrl.h" -#include "component/oscctrl.h" -#include "component/osc32kctrl.h" -#include "component/pac.h" -#include "component/pcc.h" -#include "component/pdec.h" -#include "component/pm.h" -#include "component/port.h" -#include "component/qspi.h" -#include "component/ramecc.h" -#include "component/rstc.h" -#include "component/rtc.h" -#include "component/sdhc.h" -#include "component/sercom.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/tcc.h" -#include "component/trng.h" -#include "component/usb.h" -#include "component/wdt.h" -/*@}*/ - -/* ************************************************************************** */ -/** REGISTERS ACCESS DEFINITIONS FOR SAME54P20A */ -/* ************************************************************************** */ -/** \defgroup SAME54P20A_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/ac.h" -#include "instance/adc0.h" -#include "instance/adc1.h" -#include "instance/aes.h" -#include "instance/can0.h" -#include "instance/can1.h" -#include "instance/ccl.h" -#include "instance/cmcc.h" -#include "instance/dac.h" -#include "instance/dmac.h" -#include "instance/dsu.h" -#include "instance/eic.h" -#include "instance/evsys.h" -#include "instance/freqm.h" -#include "instance/gclk.h" -#include "instance/gmac.h" -#include "instance/hmatrix.h" -#include "instance/icm.h" -#include "instance/i2s.h" -#include "instance/mclk.h" -#include "instance/nvmctrl.h" -#include "instance/oscctrl.h" -#include "instance/osc32kctrl.h" -#include "instance/pac.h" -#include "instance/pcc.h" -#include "instance/pdec.h" -#include "instance/pm.h" -#include "instance/port.h" -#include "instance/pukcc.h" -#include "instance/qspi.h" -#include "instance/ramecc.h" -#include "instance/rstc.h" -#include "instance/rtc.h" -#include "instance/sdhc0.h" -#include "instance/sdhc1.h" -#include "instance/sercom0.h" -#include "instance/sercom1.h" -#include "instance/sercom2.h" -#include "instance/sercom3.h" -#include "instance/sercom4.h" -#include "instance/sercom5.h" -#include "instance/sercom6.h" -#include "instance/sercom7.h" -#include "instance/supc.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/tc3.h" -#include "instance/tc4.h" -#include "instance/tc5.h" -#include "instance/tc6.h" -#include "instance/tc7.h" -#include "instance/tcc0.h" -#include "instance/tcc1.h" -#include "instance/tcc2.h" -#include "instance/tcc3.h" -#include "instance/tcc4.h" -#include "instance/trng.h" -#include "instance/usb.h" -#include "instance/wdt.h" -/*@}*/ - -/* ************************************************************************** */ -/** PERIPHERAL ID DEFINITIONS FOR SAME54P20A */ -/* ************************************************************************** */ -/** \defgroup SAME54P20A_id Peripheral Ids Definitions */ -/*@{*/ - -// Peripheral instances on HPB0 bridge -#define ID_PAC 0 /**< \brief Peripheral Access Controller (PAC) */ -#define ID_PM 1 /**< \brief Power Manager (PM) */ -#define ID_MCLK 2 /**< \brief Main Clock (MCLK) */ -#define ID_RSTC 3 /**< \brief Reset Controller (RSTC) */ -#define ID_OSCCTRL 4 /**< \brief Oscillators Control (OSCCTRL) */ -#define ID_OSC32KCTRL 5 /**< \brief 32kHz Oscillators Control (OSC32KCTRL) */ -#define ID_SUPC 6 /**< \brief Supply Controller (SUPC) */ -#define ID_GCLK 7 /**< \brief Generic Clock Generator (GCLK) */ -#define ID_WDT 8 /**< \brief Watchdog Timer (WDT) */ -#define ID_RTC 9 /**< \brief Real-Time Counter (RTC) */ -#define ID_EIC 10 /**< \brief External Interrupt Controller (EIC) */ -#define ID_FREQM 11 /**< \brief Frequency Meter (FREQM) */ -#define ID_SERCOM0 12 /**< \brief Serial Communication Interface 0 (SERCOM0) */ -#define ID_SERCOM1 13 /**< \brief Serial Communication Interface 1 (SERCOM1) */ -#define ID_TC0 14 /**< \brief Basic Timer Counter 0 (TC0) */ -#define ID_TC1 15 /**< \brief Basic Timer Counter 1 (TC1) */ - -// Peripheral instances on HPB1 bridge -#define ID_USB 32 /**< \brief Universal Serial Bus (USB) */ -#define ID_DSU 33 /**< \brief Device Service Unit (DSU) */ -#define ID_NVMCTRL 34 /**< \brief Non-Volatile Memory Controller (NVMCTRL) */ -#define ID_CMCC 35 /**< \brief Cortex M Cache Controller (CMCC) */ -#define ID_PORT 36 /**< \brief Port Module (PORT) */ -#define ID_DMAC 37 /**< \brief Direct Memory Access Controller (DMAC) */ -#define ID_HMATRIX 38 /**< \brief HSB Matrix (HMATRIX) */ -#define ID_EVSYS 39 /**< \brief Event System Interface (EVSYS) */ -#define ID_SERCOM2 41 /**< \brief Serial Communication Interface 2 (SERCOM2) */ -#define ID_SERCOM3 42 /**< \brief Serial Communication Interface 3 (SERCOM3) */ -#define ID_TCC0 43 /**< \brief Timer Counter Control 0 (TCC0) */ -#define ID_TCC1 44 /**< \brief Timer Counter Control 1 (TCC1) */ -#define ID_TC2 45 /**< \brief Basic Timer Counter 2 (TC2) */ -#define ID_TC3 46 /**< \brief Basic Timer Counter 3 (TC3) */ -#define ID_RAMECC 48 /**< \brief RAM ECC (RAMECC) */ - -// Peripheral instances on HPB2 bridge -#define ID_CAN0 64 /**< \brief Control Area Network 0 (CAN0) */ -#define ID_CAN1 65 /**< \brief Control Area Network 1 (CAN1) */ -#define ID_GMAC 66 /**< \brief Ethernet MAC (GMAC) */ -#define ID_TCC2 67 /**< \brief Timer Counter Control 2 (TCC2) */ -#define ID_TCC3 68 /**< \brief Timer Counter Control 3 (TCC3) */ -#define ID_TC4 69 /**< \brief Basic Timer Counter 4 (TC4) */ -#define ID_TC5 70 /**< \brief Basic Timer Counter 5 (TC5) */ -#define ID_PDEC 71 /**< \brief Quadrature Decodeur (PDEC) */ -#define ID_AC 72 /**< \brief Analog Comparators (AC) */ -#define ID_AES 73 /**< \brief Advanced Encryption Standard (AES) */ -#define ID_TRNG 74 /**< \brief True Random Generator (TRNG) */ -#define ID_ICM 75 /**< \brief Integrity Check Monitor (ICM) */ -#define ID_PUKCC 76 /**< \brief PUblic-Key Cryptography Controller (PUKCC) */ -#define ID_QSPI 77 /**< \brief Quad SPI interface (QSPI) */ -#define ID_CCL 78 /**< \brief Configurable Custom Logic (CCL) */ - -// Peripheral instances on HPB3 bridge -#define ID_SERCOM4 96 /**< \brief Serial Communication Interface 4 (SERCOM4) */ -#define ID_SERCOM5 97 /**< \brief Serial Communication Interface 5 (SERCOM5) */ -#define ID_SERCOM6 98 /**< \brief Serial Communication Interface 6 (SERCOM6) */ -#define ID_SERCOM7 99 /**< \brief Serial Communication Interface 7 (SERCOM7) */ -#define ID_TCC4 100 /**< \brief Timer Counter Control 4 (TCC4) */ -#define ID_TC6 101 /**< \brief Basic Timer Counter 6 (TC6) */ -#define ID_TC7 102 /**< \brief Basic Timer Counter 7 (TC7) */ -#define ID_ADC0 103 /**< \brief Analog Digital Converter 0 (ADC0) */ -#define ID_ADC1 104 /**< \brief Analog Digital Converter 1 (ADC1) */ -#define ID_DAC 105 /**< \brief Digital-to-Analog Converter (DAC) */ -#define ID_I2S 106 /**< \brief Inter-IC Sound Interface (I2S) */ -#define ID_PCC 107 /**< \brief Parallel Capture Controller (PCC) */ - -// Peripheral instances on AHB (as if on bridge 4) -#define ID_SDHC0 128 /**< \brief SD/MMC Host Controller (SDHC0) */ -#define ID_SDHC1 129 /**< \brief SD/MMC Host Controller (SDHC1) */ - -#define ID_PERIPH_COUNT 130 /**< \brief Max number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/** BASE ADDRESS DEFINITIONS FOR SAME54P20A */ -/* ************************************************************************** */ -/** \defgroup SAME54P20A_base Peripheral Base Address Definitions */ -/*@{*/ - -#if defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__) -#define AC (0x42002000) /**< \brief (AC) APB Base Address */ -#define ADC0 (0x43001C00) /**< \brief (ADC0) APB Base Address */ -#define ADC1 (0x43002000) /**< \brief (ADC1) APB Base Address */ -#define AES (0x42002400) /**< \brief (AES) APB Base Address */ -#define CAN0 (0x42000000) /**< \brief (CAN0) APB Base Address */ -#define CAN1 (0x42000400) /**< \brief (CAN1) APB Base Address */ -#define CCL (0x42003800) /**< \brief (CCL) APB Base Address */ -#define CMCC (0x41006000) /**< \brief (CMCC) APB Base Address */ -#define CMCC_AHB (0x03000000) /**< \brief (CMCC) AHB Base Address */ -#define DAC (0x43002400) /**< \brief (DAC) APB Base Address */ -#define DMAC (0x4100A000) /**< \brief (DMAC) APB Base Address */ -#define DSU (0x41002000) /**< \brief (DSU) APB Base Address */ -#define EIC (0x40002800) /**< \brief (EIC) APB Base Address */ -#define EVSYS (0x4100E000) /**< \brief (EVSYS) APB Base Address */ -#define FREQM (0x40002C00) /**< \brief (FREQM) APB Base Address */ -#define GCLK (0x40001C00) /**< \brief (GCLK) APB Base Address */ -#define GMAC (0x42000800) /**< \brief (GMAC) APB Base Address */ -#define HMATRIX (0x4100C000) /**< \brief (HMATRIX) APB Base Address */ -#define ICM (0x42002C00) /**< \brief (ICM) APB Base Address */ -#define I2S (0x43002800) /**< \brief (I2S) APB Base Address */ -#define MCLK (0x40000800) /**< \brief (MCLK) APB Base Address */ -#define NVMCTRL (0x41004000) /**< \brief (NVMCTRL) APB Base Address */ -#define NVMCTRL_SW0 (0x00800080) /**< \brief (NVMCTRL) SW0 Base Address */ -#define NVMCTRL_TEMP_LOG (0x00800100) /**< \brief (NVMCTRL) TEMP_LOG Base Address */ -#define NVMCTRL_USER (0x00804000) /**< \brief (NVMCTRL) USER Base Address */ -#define OSCCTRL (0x40001000) /**< \brief (OSCCTRL) APB Base Address */ -#define OSC32KCTRL (0x40001400) /**< \brief (OSC32KCTRL) APB Base Address */ -#define PAC (0x40000000) /**< \brief (PAC) APB Base Address */ -#define PCC (0x43002C00) /**< \brief (PCC) APB Base Address */ -#define PDEC (0x42001C00) /**< \brief (PDEC) APB Base Address */ -#define PM (0x40000400) /**< \brief (PM) APB Base Address */ -#define PORT (0x41008000) /**< \brief (PORT) APB Base Address */ -#define PUKCC (0x42003000) /**< \brief (PUKCC) APB Base Address */ -#define PUKCC_AHB (0x02000000) /**< \brief (PUKCC) AHB Base Address */ -#define QSPI (0x42003400) /**< \brief (QSPI) APB Base Address */ -#define QSPI_AHB (0x04000000) /**< \brief (QSPI) AHB Base Address */ -#define RAMECC (0x41020000) /**< \brief (RAMECC) APB Base Address */ -#define RSTC (0x40000C00) /**< \brief (RSTC) APB Base Address */ -#define RTC (0x40002400) /**< \brief (RTC) APB Base Address */ -#define SDHC0 (0x45000000) /**< \brief (SDHC0) AHB Base Address */ -#define SDHC1 (0x46000000) /**< \brief (SDHC1) AHB Base Address */ -#define SERCOM0 (0x40003000) /**< \brief (SERCOM0) APB Base Address */ -#define SERCOM1 (0x40003400) /**< \brief (SERCOM1) APB Base Address */ -#define SERCOM2 (0x41012000) /**< \brief (SERCOM2) APB Base Address */ -#define SERCOM3 (0x41014000) /**< \brief (SERCOM3) APB Base Address */ -#define SERCOM4 (0x43000000) /**< \brief (SERCOM4) APB Base Address */ -#define SERCOM5 (0x43000400) /**< \brief (SERCOM5) APB Base Address */ -#define SERCOM6 (0x43000800) /**< \brief (SERCOM6) APB Base Address */ -#define SERCOM7 (0x43000C00) /**< \brief (SERCOM7) APB Base Address */ -#define SUPC (0x40001800) /**< \brief (SUPC) APB Base Address */ -#define TC0 (0x40003800) /**< \brief (TC0) APB Base Address */ -#define TC1 (0x40003C00) /**< \brief (TC1) APB Base Address */ -#define TC2 (0x4101A000) /**< \brief (TC2) APB Base Address */ -#define TC3 (0x4101C000) /**< \brief (TC3) APB Base Address */ -#define TC4 (0x42001400) /**< \brief (TC4) APB Base Address */ -#define TC5 (0x42001800) /**< \brief (TC5) APB Base Address */ -#define TC6 (0x43001400) /**< \brief (TC6) APB Base Address */ -#define TC7 (0x43001800) /**< \brief (TC7) APB Base Address */ -#define TCC0 (0x41016000) /**< \brief (TCC0) APB Base Address */ -#define TCC1 (0x41018000) /**< \brief (TCC1) APB Base Address */ -#define TCC2 (0x42000C00) /**< \brief (TCC2) APB Base Address */ -#define TCC3 (0x42001000) /**< \brief (TCC3) APB Base Address */ -#define TCC4 (0x43001000) /**< \brief (TCC4) APB Base Address */ -#define TRNG (0x42002800) /**< \brief (TRNG) APB Base Address */ -#define USB (0x41000000) /**< \brief (USB) APB Base Address */ -#define WDT (0x40002000) /**< \brief (WDT) APB Base Address */ -#else -#define AC ((Ac *)0x42002000UL) /**< \brief (AC) APB Base Address */ -#define AC_INST_NUM 1 /**< \brief (AC) Number of instances */ -#define AC_INSTS { AC } /**< \brief (AC) Instances List */ - -#define ADC0 ((Adc *)0x43001C00UL) /**< \brief (ADC0) APB Base Address */ -#define ADC1 ((Adc *)0x43002000UL) /**< \brief (ADC1) APB Base Address */ -#define ADC_INST_NUM 2 /**< \brief (ADC) Number of instances */ -#define ADC_INSTS { ADC0, ADC1 } /**< \brief (ADC) Instances List */ - -#define AES ((Aes *)0x42002400UL) /**< \brief (AES) APB Base Address */ -#define AES_INST_NUM 1 /**< \brief (AES) Number of instances */ -#define AES_INSTS { AES } /**< \brief (AES) Instances List */ - -#define CAN0 ((Can *)0x42000000UL) /**< \brief (CAN0) APB Base Address */ -#define CAN1 ((Can *)0x42000400UL) /**< \brief (CAN1) APB Base Address */ -#define CAN_INST_NUM 2 /**< \brief (CAN) Number of instances */ -#define CAN_INSTS { CAN0, CAN1 } /**< \brief (CAN) Instances List */ - -#define CCL ((Ccl *)0x42003800UL) /**< \brief (CCL) APB Base Address */ -#define CCL_INST_NUM 1 /**< \brief (CCL) Number of instances */ -#define CCL_INSTS { CCL } /**< \brief (CCL) Instances List */ - -#define CMCC ((Cmcc *)0x41006000UL) /**< \brief (CMCC) APB Base Address */ -#define CMCC_AHB (0x03000000UL) /**< \brief (CMCC) AHB Base Address */ -#define CMCC_INST_NUM 1 /**< \brief (CMCC) Number of instances */ -#define CMCC_INSTS { CMCC } /**< \brief (CMCC) Instances List */ - -#define DAC ((Dac *)0x43002400UL) /**< \brief (DAC) APB Base Address */ -#define DAC_INST_NUM 1 /**< \brief (DAC) Number of instances */ -#define DAC_INSTS { DAC } /**< \brief (DAC) Instances List */ - -#define DMAC ((Dmac *)0x4100A000UL) /**< \brief (DMAC) APB Base Address */ -#define DMAC_INST_NUM 1 /**< \brief (DMAC) Number of instances */ -#define DMAC_INSTS { DMAC } /**< \brief (DMAC) Instances List */ - -#define DSU ((Dsu *)0x41002000UL) /**< \brief (DSU) APB Base Address */ -#define DSU_INST_NUM 1 /**< \brief (DSU) Number of instances */ -#define DSU_INSTS { DSU } /**< \brief (DSU) Instances List */ - -#define EIC ((Eic *)0x40002800UL) /**< \brief (EIC) APB Base Address */ -#define EIC_INST_NUM 1 /**< \brief (EIC) Number of instances */ -#define EIC_INSTS { EIC } /**< \brief (EIC) Instances List */ - -#define EVSYS ((Evsys *)0x4100E000UL) /**< \brief (EVSYS) APB Base Address */ -#define EVSYS_INST_NUM 1 /**< \brief (EVSYS) Number of instances */ -#define EVSYS_INSTS { EVSYS } /**< \brief (EVSYS) Instances List */ - -#define FREQM ((Freqm *)0x40002C00UL) /**< \brief (FREQM) APB Base Address */ -#define FREQM_INST_NUM 1 /**< \brief (FREQM) Number of instances */ -#define FREQM_INSTS { FREQM } /**< \brief (FREQM) Instances List */ - -#define GCLK ((Gclk *)0x40001C00UL) /**< \brief (GCLK) APB Base Address */ -#define GCLK_INST_NUM 1 /**< \brief (GCLK) Number of instances */ -#define GCLK_INSTS { GCLK } /**< \brief (GCLK) Instances List */ - -#define GMAC ((Gmac *)0x42000800UL) /**< \brief (GMAC) APB Base Address */ -#define GMAC_INST_NUM 1 /**< \brief (GMAC) Number of instances */ -#define GMAC_INSTS { GMAC } /**< \brief (GMAC) Instances List */ - -#define HMATRIX ((Hmatrixb *)0x4100C000UL) /**< \brief (HMATRIX) APB Base Address */ -#define HMATRIXB_INST_NUM 1 /**< \brief (HMATRIXB) Number of instances */ -#define HMATRIXB_INSTS { HMATRIX } /**< \brief (HMATRIXB) Instances List */ - -#define ICM ((Icm *)0x42002C00UL) /**< \brief (ICM) APB Base Address */ -#define ICM_INST_NUM 1 /**< \brief (ICM) Number of instances */ -#define ICM_INSTS { ICM } /**< \brief (ICM) Instances List */ - -#define I2S ((I2s *)0x43002800UL) /**< \brief (I2S) APB Base Address */ -#define I2S_INST_NUM 1 /**< \brief (I2S) Number of instances */ -#define I2S_INSTS { I2S } /**< \brief (I2S) Instances List */ - -#define MCLK ((Mclk *)0x40000800UL) /**< \brief (MCLK) APB Base Address */ -#define MCLK_INST_NUM 1 /**< \brief (MCLK) Number of instances */ -#define MCLK_INSTS { MCLK } /**< \brief (MCLK) Instances List */ - -#define NVMCTRL ((Nvmctrl *)0x41004000UL) /**< \brief (NVMCTRL) APB Base Address */ -#define NVMCTRL_SW0 (0x00800080UL) /**< \brief (NVMCTRL) SW0 Base Address */ -#define NVMCTRL_TEMP_LOG (0x00800100UL) /**< \brief (NVMCTRL) TEMP_LOG Base Address */ -#define NVMCTRL_USER (0x00804000UL) /**< \brief (NVMCTRL) USER Base Address */ -#define NVMCTRL_INST_NUM 1 /**< \brief (NVMCTRL) Number of instances */ -#define NVMCTRL_INSTS { NVMCTRL } /**< \brief (NVMCTRL) Instances List */ - -#define OSCCTRL ((Oscctrl *)0x40001000UL) /**< \brief (OSCCTRL) APB Base Address */ -#define OSCCTRL_INST_NUM 1 /**< \brief (OSCCTRL) Number of instances */ -#define OSCCTRL_INSTS { OSCCTRL } /**< \brief (OSCCTRL) Instances List */ - -#define OSC32KCTRL ((Osc32kctrl *)0x40001400UL) /**< \brief (OSC32KCTRL) APB Base Address */ -#define OSC32KCTRL_INST_NUM 1 /**< \brief (OSC32KCTRL) Number of instances */ -#define OSC32KCTRL_INSTS { OSC32KCTRL } /**< \brief (OSC32KCTRL) Instances List */ - -#define PAC ((Pac *)0x40000000UL) /**< \brief (PAC) APB Base Address */ -#define PAC_INST_NUM 1 /**< \brief (PAC) Number of instances */ -#define PAC_INSTS { PAC } /**< \brief (PAC) Instances List */ - -#define PCC ((Pcc *)0x43002C00UL) /**< \brief (PCC) APB Base Address */ -#define PCC_INST_NUM 1 /**< \brief (PCC) Number of instances */ -#define PCC_INSTS { PCC } /**< \brief (PCC) Instances List */ - -#define PDEC ((Pdec *)0x42001C00UL) /**< \brief (PDEC) APB Base Address */ -#define PDEC_INST_NUM 1 /**< \brief (PDEC) Number of instances */ -#define PDEC_INSTS { PDEC } /**< \brief (PDEC) Instances List */ - -#define PM ((Pm *)0x40000400UL) /**< \brief (PM) APB Base Address */ -#define PM_INST_NUM 1 /**< \brief (PM) Number of instances */ -#define PM_INSTS { PM } /**< \brief (PM) Instances List */ - -#define PORT ((Port *)0x41008000UL) /**< \brief (PORT) APB Base Address */ -#define PORT_INST_NUM 1 /**< \brief (PORT) Number of instances */ -#define PORT_INSTS { PORT } /**< \brief (PORT) Instances List */ - -#define PUKCC ((void *)0x42003000UL) /**< \brief (PUKCC) APB Base Address */ -#define PUKCC_AHB ((void *)0x02000000UL) /**< \brief (PUKCC) AHB Base Address */ -#define PUKCC_INST_NUM 1 /**< \brief (PUKCC) Number of instances */ -#define PUKCC_INSTS { PUKCC } /**< \brief (PUKCC) Instances List */ - -#define QSPI ((Qspi *)0x42003400UL) /**< \brief (QSPI) APB Base Address */ -#define QSPI_AHB (0x04000000UL) /**< \brief (QSPI) AHB Base Address */ -#define QSPI_INST_NUM 1 /**< \brief (QSPI) Number of instances */ -#define QSPI_INSTS { QSPI } /**< \brief (QSPI) Instances List */ - -#define RAMECC ((Ramecc *)0x41020000UL) /**< \brief (RAMECC) APB Base Address */ -#define RAMECC_INST_NUM 1 /**< \brief (RAMECC) Number of instances */ -#define RAMECC_INSTS { RAMECC } /**< \brief (RAMECC) Instances List */ - -#define RSTC ((Rstc *)0x40000C00UL) /**< \brief (RSTC) APB Base Address */ -#define RSTC_INST_NUM 1 /**< \brief (RSTC) Number of instances */ -#define RSTC_INSTS { RSTC } /**< \brief (RSTC) Instances List */ - -#define RTC ((Rtc *)0x40002400UL) /**< \brief (RTC) APB Base Address */ -#define RTC_INST_NUM 1 /**< \brief (RTC) Number of instances */ -#define RTC_INSTS { RTC } /**< \brief (RTC) Instances List */ - -#define SDHC0 ((Sdhc *)0x45000000UL) /**< \brief (SDHC0) AHB Base Address */ -#define SDHC1 ((Sdhc *)0x46000000UL) /**< \brief (SDHC1) AHB Base Address */ -#define SDHC_INST_NUM 2 /**< \brief (SDHC) Number of instances */ -#define SDHC_INSTS { SDHC0, SDHC1 } /**< \brief (SDHC) Instances List */ - -#define SERCOM0 ((Sercom *)0x40003000UL) /**< \brief (SERCOM0) APB Base Address */ -#define SERCOM1 ((Sercom *)0x40003400UL) /**< \brief (SERCOM1) APB Base Address */ -#define SERCOM2 ((Sercom *)0x41012000UL) /**< \brief (SERCOM2) APB Base Address */ -#define SERCOM3 ((Sercom *)0x41014000UL) /**< \brief (SERCOM3) APB Base Address */ -#define SERCOM4 ((Sercom *)0x43000000UL) /**< \brief (SERCOM4) APB Base Address */ -#define SERCOM5 ((Sercom *)0x43000400UL) /**< \brief (SERCOM5) APB Base Address */ -#define SERCOM6 ((Sercom *)0x43000800UL) /**< \brief (SERCOM6) APB Base Address */ -#define SERCOM7 ((Sercom *)0x43000C00UL) /**< \brief (SERCOM7) APB Base Address */ -#define SERCOM_INST_NUM 8 /**< \brief (SERCOM) Number of instances */ -#define SERCOM_INSTS { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5, SERCOM6, SERCOM7 } /**< \brief (SERCOM) Instances List */ - -#define SUPC ((Supc *)0x40001800UL) /**< \brief (SUPC) APB Base Address */ -#define SUPC_INST_NUM 1 /**< \brief (SUPC) Number of instances */ -#define SUPC_INSTS { SUPC } /**< \brief (SUPC) Instances List */ - -#define TC0 ((Tc *)0x40003800UL) /**< \brief (TC0) APB Base Address */ -#define TC1 ((Tc *)0x40003C00UL) /**< \brief (TC1) APB Base Address */ -#define TC2 ((Tc *)0x4101A000UL) /**< \brief (TC2) APB Base Address */ -#define TC3 ((Tc *)0x4101C000UL) /**< \brief (TC3) APB Base Address */ -#define TC4 ((Tc *)0x42001400UL) /**< \brief (TC4) APB Base Address */ -#define TC5 ((Tc *)0x42001800UL) /**< \brief (TC5) APB Base Address */ -#define TC6 ((Tc *)0x43001400UL) /**< \brief (TC6) APB Base Address */ -#define TC7 ((Tc *)0x43001800UL) /**< \brief (TC7) APB Base Address */ -#define TC_INST_NUM 8 /**< \brief (TC) Number of instances */ -#define TC_INSTS { TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 } /**< \brief (TC) Instances List */ - -#define TCC0 ((Tcc *)0x41016000UL) /**< \brief (TCC0) APB Base Address */ -#define TCC1 ((Tcc *)0x41018000UL) /**< \brief (TCC1) APB Base Address */ -#define TCC2 ((Tcc *)0x42000C00UL) /**< \brief (TCC2) APB Base Address */ -#define TCC3 ((Tcc *)0x42001000UL) /**< \brief (TCC3) APB Base Address */ -#define TCC4 ((Tcc *)0x43001000UL) /**< \brief (TCC4) APB Base Address */ -#define TCC_INST_NUM 5 /**< \brief (TCC) Number of instances */ -#define TCC_INSTS { TCC0, TCC1, TCC2, TCC3, TCC4 } /**< \brief (TCC) Instances List */ - -#define TRNG ((Trng *)0x42002800UL) /**< \brief (TRNG) APB Base Address */ -#define TRNG_INST_NUM 1 /**< \brief (TRNG) Number of instances */ -#define TRNG_INSTS { TRNG } /**< \brief (TRNG) Instances List */ - -#define USB ((Usb *)0x41000000UL) /**< \brief (USB) APB Base Address */ -#define USB_INST_NUM 1 /**< \brief (USB) Number of instances */ -#define USB_INSTS { USB } /**< \brief (USB) Instances List */ - -#define WDT ((Wdt *)0x40002000UL) /**< \brief (WDT) APB Base Address */ -#define WDT_INST_NUM 1 /**< \brief (WDT) Number of instances */ -#define WDT_INSTS { WDT } /**< \brief (WDT) Instances List */ - -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/** PORT DEFINITIONS FOR SAME54P20A */ -/* ************************************************************************** */ -/** \defgroup SAME54P20A_port PORT Definitions */ -/*@{*/ - -#include "pio/same54p20a.h" -/*@}*/ - -/* ************************************************************************** */ -/** MEMORY MAPPING DEFINITIONS FOR SAME54P20A */ -/* ************************************************************************** */ - -#define HSRAM_SIZE _UL_(0x00040000) /* 256 kB */ -#define FLASH_SIZE _UL_(0x00100000) /* 1024 kB */ -#define FLASH_PAGE_SIZE 512 -#define FLASH_NB_OF_PAGES 2048 -#define FLASH_USER_PAGE_SIZE 512 -#define BKUPRAM_SIZE _UL_(0x00002000) /* 8 kB */ -#define QSPI_SIZE _UL_(0x01000000) /* 16384 kB */ - -#define FLASH_ADDR _UL_(0x00000000) /**< FLASH base address */ -#define CMCC_DATARAM_ADDR _UL_(0x03000000) /**< CMCC_DATARAM base address */ -#define CMCC_DATARAM_SIZE _UL_(0x00001000) /**< CMCC_DATARAM size */ -#define CMCC_TAGRAM_ADDR _UL_(0x03001000) /**< CMCC_TAGRAM base address */ -#define CMCC_TAGRAM_SIZE _UL_(0x00000400) /**< CMCC_TAGRAM size */ -#define CMCC_VALIDRAM_ADDR _UL_(0x03002000) /**< CMCC_VALIDRAM base address */ -#define CMCC_VALIDRAM_SIZE _UL_(0x00000040) /**< CMCC_VALIDRAM size */ -#define HSRAM_ADDR _UL_(0x20000000) /**< HSRAM base address */ -#define HSRAM_ETB_ADDR _UL_(0x20000000) /**< HSRAM_ETB base address */ -#define HSRAM_ETB_SIZE _UL_(0x00008000) /**< HSRAM_ETB size */ -#define HSRAM_RET1_ADDR _UL_(0x20000000) /**< HSRAM_RET1 base address */ -#define HSRAM_RET1_SIZE _UL_(0x00008000) /**< HSRAM_RET1 size */ -#define HPB0_ADDR _UL_(0x40000000) /**< HPB0 base address */ -#define HPB1_ADDR _UL_(0x41000000) /**< HPB1 base address */ -#define HPB2_ADDR _UL_(0x42000000) /**< HPB2 base address */ -#define HPB3_ADDR _UL_(0x43000000) /**< HPB3 base address */ -#define SEEPROM_ADDR _UL_(0x44000000) /**< SEEPROM base address */ -#define BKUPRAM_ADDR _UL_(0x47000000) /**< BKUPRAM base address */ -#define PPB_ADDR _UL_(0xE0000000) /**< PPB base address */ - -#define DSU_DID_RESETVALUE _UL_(0x61840300) -#define ADC0_TOUCH_LINES_NUM 32 -#define PORT_GROUPS 4 - -/* ************************************************************************** */ -/** ELECTRICAL DEFINITIONS FOR SAME54P20A */ -/* ************************************************************************** */ - - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* SAME54P20A_H */ diff --git a/software/firmware/oracle_same54n19a/include/system_same54.h b/software/firmware/oracle_same54n19a/include/system_same54.h deleted file mode 100644 index e4535de..0000000 --- a/software/firmware/oracle_same54n19a/include/system_same54.h +++ /dev/null @@ -1,48 +0,0 @@ -/** - * \file - * - * \brief Low-level initialization functions called upon chip startup - * - * Copyright (c) 2019 Microchip Technology Inc. - * - * \asf_license_start - * - * \page License - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the Licence at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * \asf_license_stop - * - */ - -#ifndef _SYSTEM_SAME54_H_INCLUDED_ -#define _SYSTEM_SAME54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -void SystemInit(void); -void SystemCoreClockUpdate(void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_SAME54_H_INCLUDED */ diff --git a/software/firmware/oracle_same54n19a/main.c b/software/firmware/oracle_same54n19a/main.c deleted file mode 100644 index 194c523..0000000 --- a/software/firmware/oracle_same54n19a/main.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "oracle.h" -#include "p_usart.h" -#include "p_i2c.h" - -int main(void) -{ - oracle_init(); - p_i2c_detect(); - for(;;) - { - oracle_service(); - } -} diff --git a/software/firmware/oracle_same54n19a/oracle.c b/software/firmware/oracle_same54n19a/oracle.c deleted file mode 100644 index 9a845a3..0000000 --- a/software/firmware/oracle_same54n19a/oracle.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * oracle.c - * - * Created: 5/3/2020 7:24:09 PM - * Author: Penguin - */ -#include "oracle.h" -#include "p_usart.h" -#include "p_gpio.h" -#include "p_i2c.h" -#include "p_tcc.h" -#include "lvgl/lvgl.h" -#include "p_ssd1963.h" -#include "p_screen.h" - - -void oracle_init(void) -{ - // init mcu - init_mcu(); - // uart init - p_usart_init(); - // i2c init - p_i2c_init(); - // gpio init - p_gpio_init(); - // time init - p_time_init(); - - p_screen_init(); -} - -void oracle_service(void) -{ - p_screen_service(); -} diff --git a/software/firmware/oracle_same54n19a/oracle_same54n19a.zip b/software/firmware/oracle_same54n19a/oracle_same54n19a.zip deleted file mode 100644 index 57c7ac8dbe9c8656108a7340b31aa1589caa4ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255411 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%0D{qcV918vjHA( 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 x&Z8jqVHA3QjuiT`8p+@waYG6OMvuUisd?RrE~ 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 X-jfrlrBB5&qPUOdQG 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

    0G+ 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

    JP^*MTB9rR8WGTk3p(d;y>F-5 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

    %sLQW?Ny+cX8>Ixz}MAKyJ8Wh)G7Yz2_C)|N4D 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

    tv3dwU$&!x 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 eVMb==5^GKgcg#rsVDz<} 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

    GEyo02v89olWy+kyU`dlbg7n-F)gJX3xDx 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�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 j-^R?OR65CY(7&6xXEzrsumu -/********************* - * DEFINES - *********************/ -#define SSD1963_CMD_MODE 0 -#define SSD1963_DATA_MODE 1 - -/********************** - * TYPEDEFS - **********************/ - -/********************** - * STATIC PROTOTYPES - **********************/ -static inline void ssd1963_cmd_mode(void); -static inline void ssd1963_data_mode(void); -static inline void ssd1963_rd(uint8_t reg, uint16_t* data, uint16_t len); -static inline void ssd1963_wr_bytes(uint8_t reg, const uint16_t* data, uint16_t len); -static inline void ssd1963_cmd(uint8_t cmd); -static inline void ssd1963_data(uint8_t data); -static void ssd1963_io_init(void); -static void ssd1963_reset(void); -static void ssd1963_set_clk(void); -static void ssd1963_set_tft_spec(void); -static void ssd1963_init_bl(void); - -/********************** - * STATIC VARIABLES - **********************/ -static bool cmd_mode = true; - -/********************** - * MACROS - **********************/ - -/********************** - * GLOBAL FUNCTIONS - **********************/ - -void ssd1963_init(void) -{ - ssd1963_reset(); - LV_DRV_DISP_PAR_CS(0); - ssd1963_cmd(0xE2); //PLL multiplier, set PLL clock to 120M - //ssd1963_data(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal - //ssd1963_data(0x02); - //ssd1963_data(0x54); - ssd1963_data(0x2F); //N=0x36 for 6.5M, 0x23 for 10M crystal - ssd1963_data(0x03); - ssd1963_data(0x54); - - ssd1963_cmd(0xE0); // PLL enable - ssd1963_data(0x01); - delay_us(100); - ssd1963_cmd(0xE0); - ssd1963_data(0x03); // now, use PLL output as system clock - delay_ms(1); - ssd1963_cmd(0x01); - delay_ms(1); - - ssd1963_cmd(0xE6); //PLL setting for PCLK, depends on resolution - //ssd1963_data(0x04); - //ssd1963_data(0x3A); - //ssd1963_data(0xB6); - //ssd1963_data(0x01); - //ssd1963_data(0x55); - //ssd1963_data(0x54); - ssd1963_data(0x01); - ssd1963_data(0xCC); - ssd1963_data(0xCC); - ssd1963_cmd(0xB0); - ssd1963_data(0x28); // set 18-bit for 7" panel TY700TFT800480 - ssd1963_data(0x80); // set TTL mode - ssd1963_data((SSD1963_HOR_RES-1)>>8); //Set panel size - ssd1963_data(SSD1963_HOR_RES-1); - ssd1963_data((SSD1963_VER_RES-1)>>8); - ssd1963_data(SSD1963_VER_RES-1); - ssd1963_data(0x00); - - ssd1963_cmd(0xF0); //Pixel Data Interface Format - ssd1963_data(0x03); //16-bit(565 format) data - - - ssd1963_cmd(0x3A); //Set the current pixel format for RGB image data - ssd1963_data(0x55); //16-bit/pixel - - ssd1963_cmd(0xb4); //SET HBP, - ssd1963_data(0x02); //SET HSYNC Tatol 525 - ssd1963_data(0x0d); - ssd1963_data(0x00); //SET HBP 43 - ssd1963_data(0x2b); - ssd1963_data(0x28); //SET VBP 41=40+1 - ssd1963_data(0x00); //SET Hsync pulse start position - ssd1963_data(0x00); - ssd1963_data(0x00); //SET Hsync pulse subpixel start position - - ssd1963_cmd(0xb6); //SET VBP, - ssd1963_data(0x01); //SET Vsync total 286=285+1 - ssd1963_data(0x1d); - ssd1963_data(0x00); //SET VBP=12 - ssd1963_data(0x0c); - ssd1963_data(0x09); //SET Vsync pulse 10=9+1 - ssd1963_data(0x00); //SET Vsync pulse start position - ssd1963_data(0x00); - - - ssd1963_cmd(0x2a); //SET column address - ssd1963_data(0x00); //SET start column address=0 - ssd1963_data(0x00); - ssd1963_data(0x01); //SET end column address=479 - ssd1963_data(0xDF); - - ssd1963_cmd(0x2b); //SET page address - ssd1963_data(0x00); //SET start page address=0 - ssd1963_data(0x00); - ssd1963_data(0x01); //SET end page address=271 - ssd1963_data(0x0F); - - ssd1963_cmd(0x29); //display on - ssd1963_cmd(0xBE); - ssd1963_data(0x06); - ssd1963_data(0xFF); - ssd1963_data(0x01); - ssd1963_data(0xFF); - ssd1963_data(0x00); - ssd1963_data(0x01); - - LV_DRV_DISP_PAR_CS(1); -} - -void ssd1963_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p) -{ - - /*Return if the area is out the screen*/ - if(area->x2 < 0) return; - if(area->y2 < 0) return; - if(area->x1 > SSD1963_HOR_RES - 1) return; - if(area->y1 > SSD1963_VER_RES - 1) return; - - /*Truncate the area to the screen*/ - int32_t act_x1 = area->x1 < 0 ? 0 : area->x1; - int32_t act_y1 = area->y1 < 0 ? 0 : area->y1; - int32_t act_x2 = area->x2 > SSD1963_HOR_RES - 1 ? SSD1963_HOR_RES - 1 : area->x2; - int32_t act_y2 = area->y2 > SSD1963_VER_RES - 1 ? SSD1963_VER_RES - 1 : area->y2; - - //Set the rectangular area - ssd1963_cmd(0x002A); - ssd1963_data(act_x1 >> 8); - ssd1963_data(0x00FF & act_x1); - ssd1963_data(act_x2 >> 8); - ssd1963_data(0x00FF & act_x2); - - ssd1963_cmd(0x002B); - ssd1963_data(act_y1 >> 8); - ssd1963_data(0x00FF & act_y1); - ssd1963_data(act_y2 >> 8); - ssd1963_data(0x00FF & act_y2); - - ssd1963_cmd(0x2c); - int16_t i; - uint16_t full_w = area->x2 - area->x1 + 1; - - ssd1963_data_mode(); - LV_DRV_DISP_PAR_CS(0); -#if LV_COLOR_DEPTH == 16 - uint16_t act_w = act_x2 - act_x1 + 1; - for(i = act_y1; i <= act_y2; i++) { - LV_DRV_DISP_PAR_WR_ARRAY((uint16_t *)color_p, act_w); - color_p += full_w; - } - LV_DRV_DISP_PAR_CS(1); -#else - int16_t j; - for(i = act_y1; i <= act_y2; i++) { - for(j = 0; j <= act_x2 - act_x1 + 1; j++) { - LV_DRV_DISP_PAR_WR_WORD(color_p[j]); - color_p += full_w; - } - } -#endif - - lv_disp_flush_ready(disp_drv); -} - -/********************** - * STATIC FUNCTIONS - **********************/ - -static void ssd1963_io_init(void) -{ - LV_DRV_DISP_CMD_DATA(SSD1963_CMD_MODE); - cmd_mode = true; -} - -static void ssd1963_reset(void) -{ - /*Hardware reset*/ - asm volatile("nop"); - LV_DRV_DISP_RST(1); - LV_DRV_DELAY_MS(50); - LV_DRV_DISP_RST(0); - asm volatile("nop"); - LV_DRV_DELAY_MS(50); - LV_DRV_DISP_RST(1); - LV_DRV_DELAY_MS(50); - - asm volatile("nop"); - /*Chip enable*/ - LV_DRV_DISP_PAR_CS(0); - LV_DRV_DELAY_MS(10); - LV_DRV_DISP_PAR_CS(1); - LV_DRV_DELAY_MS(5); - - /*Software reset*/ - ssd1963_cmd(0x01); - LV_DRV_DELAY_MS(20); - - ssd1963_cmd(0x01); - LV_DRV_DELAY_MS(20); - - ssd1963_cmd(0x01); - LV_DRV_DELAY_MS(20); - -} - -/** - * Command mode - */ -static inline void ssd1963_cmd_mode(void) -{ - if(cmd_mode == false) { - LV_DRV_DISP_CMD_DATA(SSD1963_CMD_MODE); - cmd_mode = true; - } -} - -/** - * Data mode - */ -static inline void ssd1963_data_mode(void) -{ - if(cmd_mode != false) { - LV_DRV_DISP_CMD_DATA(SSD1963_DATA_MODE); - cmd_mode = false; - } -} - -/** - * Write command - * @param cmd the command - */ -static inline void ssd1963_cmd(uint8_t cmd) -{ - - LV_DRV_DISP_PAR_CS(0); - ssd1963_cmd_mode(); - LV_DRV_DISP_PAR_WR_WORD(cmd); - LV_DRV_DISP_PAR_CS(1); - -} - -/** - * Write data - * @param data the data - */ -static inline void ssd1963_data(uint8_t data) -{ - - LV_DRV_DISP_PAR_CS(0); - ssd1963_data_mode(); - LV_DRV_DISP_PAR_WR_WORD(data); - LV_DRV_DISP_PAR_CS(1); - -} - -#endif diff --git a/software/firmware/oracle_same54n19a/shared/devices/display/p_ssd1963.h b/software/firmware/oracle_same54n19a/shared/devices/display/p_ssd1963.h deleted file mode 100644 index 3d7eaec..0000000 --- a/software/firmware/oracle_same54n19a/shared/devices/display/p_ssd1963.h +++ /dev/null @@ -1,166 +0,0 @@ -/** - * @file SSD1963.h - * - * Source: https://github.com/lvgl/lv_drivers/tree/master/display - */ - -#ifndef SSD1963_H -#define SSD1963_H -#include "oracle.h" -#ifdef __cplusplus -extern "C" { -#endif - -/*---------------- - * SSD1963 - *--------------*/ -#ifndef USE_SSD1963 -# define USE_SSD1963 1 -#endif - -#if USE_SSD1963 -# define SSD1963_HOR_RES LV_HOR_RES -# define SSD1963_VER_RES LV_VER_RES -# define SSD1963_HT 525 // horizontal total period -# define SSD1963_HPS 480 // non-display period between the start of the hori sync (LLINE) signal -# define SSD1963_LPS 40 // horizontal sync pulse (LLINE) start location -# define SSD1963_HPW 5 // horizontal pulse width -# define SSD1963_VT 288 // vertical total (period) -# define SSD1963_VPS 272 // vertical period start ( non-display period in lines between the start of the frame and the first display data in line.) -# define SSD1963_FPS 8 // vertical sync pulse (LFRAME) start location in lines -# define SSD1963_VPW 8 // vertical sync pulse width -# define SSD1963_HS_NEG 0 /*Negative hsync*/ -# define SSD1963_VS_NEG 0 /*Negative vsync*/ -# define SSD1963_ORI 0 /*0, 90, 180, 270*/ -# define SSD1963_COLOR_DEPTH 16 -#endif - -#if USE_SSD1963 - -#ifdef LV_LVGL_H_INCLUDE_SIMPLE -#include "lvgl.h" -#else -#include "lvgl/lvgl.h" -#endif - - - -/********************* - * DEFINES - *********************/ -// SSD1963 command table -#define CMD_NOP 0x00 //No operation -#define CMD_SOFT_RESET 0x01 //Software reset -#define CMD_GET_PWR_MODE 0x0A //Get the current power mode -#define CMD_GET_ADDR_MODE 0x0B //Get the frame memory to the display panel read order -#define CMD_GET_PIXEL_FORMAT 0x0C //Get the current pixel format -#define CMD_GET_DISPLAY_MODE 0x0D //Returns the display mode -#define CMD_GET_SIGNAL_MODE 0x0E // -#define CMD_GET_DIAGNOSTIC 0x0F -#define CMD_ENT_SLEEP 0x10 -#define CMD_EXIT_SLEEP 0x11 -#define CMD_ENT_PARTIAL_MODE 0x12 -#define CMD_ENT_NORMAL_MODE 0x13 -#define CMD_EXIT_INVERT_MODE 0x20 -#define CMD_ENT_INVERT_MODE 0x21 -#define CMD_SET_GAMMA 0x26 -#define CMD_BLANK_DISPLAY 0x28 -#define CMD_ON_DISPLAY 0x29 -#define CMD_SET_COLUMN 0x2A -#define CMD_SET_PAGE 0x2B -#define CMD_WR_MEMSTART 0x2C -#define CMD_RD_MEMSTART 0x2E -#define CMD_SET_PARTIAL_AREA 0x30 -#define CMD_SET_SCROLL_AREA 0x33 -#define CMD_SET_TEAR_OFF 0x34 //synchronization information is not sent from the display -#define CMD_SET_TEAR_ON 0x35 //sync. information is sent from the display -#define CMD_SET_ADDR_MODE 0x36 //set fram buffer read order to the display panel -#define CMD_SET_SCROLL_START 0x37 -#define CMD_EXIT_IDLE_MODE 0x38 -#define CMD_ENT_IDLE_MODE 0x39 -#define CMD_SET_PIXEL_FORMAT 0x3A //defines how many bits per pixel is used -#define CMD_WR_MEM_AUTO 0x3C -#define CMD_RD_MEM_AUTO 0x3E -#define CMD_SET_TEAR_SCANLINE 0x44 -#define CMD_GET_SCANLINE 0x45 -#define CMD_RD_DDB_START 0xA1 -#define CMD_RD_DDB_AUTO 0xA8 -#define CMD_SET_PANEL_MODE 0xB0 -#define CMD_GET_PANEL_MODE 0xB1 -#define CMD_SET_HOR_PERIOD 0xB4 -#define CMD_GET_HOR_PERIOD 0xB5 -#define CMD_SET_VER_PERIOD 0xB6 -#define CMD_GET_VER_PERIOD 0xB7 -#define CMD_SET_GPIO_CONF 0xB8 -#define CMD_GET_GPIO_CONF 0xB9 -#define CMD_SET_GPIO_VAL 0xBA -#define CMD_GET_GPIO_STATUS 0xBB -#define CMD_SET_POST_PROC 0xBC -#define CMD_GET_POST_PROC 0xBD -#define CMD_SET_PWM_CONF 0xBE -#define CMD_GET_PWM_CONF 0xBF -#define CMD_SET_LCD_GEN0 0xC0 -#define CMD_GET_LCD_GEN0 0xC1 -#define CMD_SET_LCD_GEN1 0xC2 -#define CMD_GET_LCD_GEN1 0xC3 -#define CMD_SET_LCD_GEN2 0xC4 -#define CMD_GET_LCD_GEN2 0xC5 -#define CMD_SET_LCD_GEN3 0xC6 -#define CMD_GET_LCD_GEN3 0xC7 -#define CMD_SET_GPIO0_ROP 0xC8 -#define CMD_GET_GPIO0_ROP 0xC9 -#define CMD_SET_GPIO1_ROP 0xCA -#define CMD_GET_GPIO1_ROP 0xCB -#define CMD_SET_GPIO2_ROP 0xCC -#define CMD_GET_GPIO2_ROP 0xCD -#define CMD_SET_GPIO3_ROP 0xCE -#define CMD_GET_GPIO3_ROP 0xCF -#define CMD_SET_ABC_DBC_CONF 0xD0 -#define CMD_GET_ABC_DBC_CONF 0xD1 -#define CMD_SET_DBC_HISTO_PTR 0xD2 -#define CMD_GET_DBC_HISTO_PTR 0xD3 -#define CMD_SET_DBC_THRES 0xD4 -#define CMD_GET_DBC_THRES 0xD5 -#define CMD_SET_ABM_TMR 0xD6 -#define CMD_GET_ABM_TMR 0xD7 -#define CMD_SET_AMB_LVL0 0xD8 -#define CMD_GET_AMB_LVL0 0xD9 -#define CMD_SET_AMB_LVL1 0xDA -#define CMD_GET_AMB_LVL1 0xDB -#define CMD_SET_AMB_LVL2 0xDC -#define CMD_GET_AMB_LVL2 0xDD -#define CMD_SET_AMB_LVL3 0xDE -#define CMD_GET_AMB_LVL3 0xDF -#define CMD_PLL_START 0xE0 //start the PLL -#define CMD_PLL_STOP 0xE1 //disable the PLL -#define CMD_SET_PLL_MN 0xE2 -#define CMD_GET_PLL_MN 0xE3 -#define CMD_GET_PLL_STATUS 0xE4 //get the current PLL status -#define CMD_ENT_DEEP_SLEEP 0xE5 -#define CMD_SET_PCLK 0xE6 //set pixel clock (LSHIFT signal) frequency -#define CMD_GET_PCLK 0xE7 //get pixel clock (LSHIFT signal) freq. settings -#define CMD_SET_DATA_INTERFACE 0xF0 -#define CMD_GET_DATA_INTERFACE 0xF1 - - -/********************** - * TYPEDEFS - **********************/ - -/********************** - * GLOBAL PROTOTYPES - **********************/ -void ssd1963_init(void); -void ssd1963_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p); - -/********************** - * MACROS - **********************/ - -#endif /* USE_SSD1963 */ - -#ifdef __cplusplus -} extern "C" -#endif - -#endif /* SSD1963_H */ \ No newline at end of file diff --git a/software/firmware/oracle_same54n19a/shared/devices/p_screen.c b/software/firmware/oracle_same54n19a/shared/devices/p_screen.c deleted file mode 100644 index 1be4087..0000000 --- a/software/firmware/oracle_same54n19a/shared/devices/p_screen.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * p_screen.c - * - * Created: 5/28/2020 3:41:15 AM - * Author: Penguin - */ -#include "p_screen.h" -#include "p_ssd1963.h" -#include "lvgl/lvgl.h" -#include "hornet.h" -#include "lv_examples/lv_examples.h" -static lv_disp_buf_t disp_buf; -static lv_color_t buf[LV_HOR_RES_MAX * 10]; /*Declare a buffer for 10 lines*/ - -void p_screen_init(void) -{ - // devices init - lv_init(); - - ssd1963_init(); - - - lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * 10); /*Initialize the display buffer*/ - lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/ - lv_disp_drv_init(&disp_drv); /*Basic initialization*/ - disp_drv.flush_cb = ssd1963_flush; /*Set your driver function*/ - disp_drv.buffer = &disp_buf; /*Assign the buffer to the display*/ - lv_disp_drv_register(&disp_drv); /*Finally register the driver*/ - // - // lv_obj_t* scr = lv_disp_get_scr_act(NULL); - // - // lv_obj_t* hornet_image = lv_img_create(scr, NULL); - // lv_img_set_src(hornet_image, &hornet); - // lv_obj_set_pos(hornet_image, 0, 0); - // - // lv_obj_t* random_text = lv_label_create(scr, NULL); - // lv_obj_set_pos(random_text, 90, 35); - // lv_label_set_text(random_text, "Hello World"); - - lv_demo_benchmark(); - - -} - -void p_screen_service(void) -{ - lv_task_handler(); -} diff --git a/software/firmware/oracle_same54n19a/shared/devices/p_screen.h b/software/firmware/oracle_same54n19a/shared/devices/p_screen.h deleted file mode 100644 index ffc402f..0000000 --- a/software/firmware/oracle_same54n19a/shared/devices/p_screen.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * p_screen.h - * - * Created: 5/28/2020 3:40:40 AM - * Author: Penguin - */ -#ifndef _P_SCREEN_H_ -#define _P_SCREEN_H_ - -#include "oracle.h" - -void p_screen_init(void); - -void p_screen_service(void); -#endif \ No newline at end of file diff --git a/software/firmware/oracle_same54n19a/shared/drivers/p_gpio.c b/software/firmware/oracle_same54n19a/shared/drivers/p_gpio.c deleted file mode 100644 index c571c79..0000000 --- a/software/firmware/oracle_same54n19a/shared/drivers/p_gpio.c +++ /dev/null @@ -1,104 +0,0 @@ -#include "p_gpio.h" - -static void p_weird_delay(void) -{ - for(int x = 0; x < 8; x++) - { - asm volatile("nop"); - } -} -void p_gpio_init(void) -{ - // set data port config - p_port_config data_config; - memset(&data_config, 0, sizeof(data_config)); - data_config.direction = GPIO_DIRECTION_OUT; - data_config.pull_mode = GPIO_PULL_OFF; - data_config.function = GPIO_PIN_FUNCTION_OFF; - p_gpio_set_port_group_config(SSD1963_TFT_DATA_PORT, SSD1963_TFT_DATA_MASK, &data_config); - - // set lcd control pin configs - // Chip select - gpio_set_pin_direction(SSD1963_TFT_CS, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_CS, GPIO_PULL_OFF); - gpio_set_pin_function(SSD1963_TFT_CS, GPIO_PIN_FUNCTION_OFF); - - // Reset pin - gpio_set_pin_direction(SSD1963_TFT_nRST, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_nRST, GPIO_PULL_OFF); - gpio_set_pin_function(SSD1963_TFT_nRST, GPIO_PIN_FUNCTION_OFF); - - // Read pin - gpio_set_pin_direction(SSD1963_TFT_RD, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_RD, GPIO_PULL_OFF); - gpio_set_pin_function(SSD1963_TFT_RD, GPIO_PIN_FUNCTION_OFF); - - - // RSDC pin, aka Read/Send Data/Command pin - gpio_set_pin_direction(SSD1963_TFT_RSDC, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_RSDC, GPIO_PULL_OFF); - gpio_set_pin_function(SSD1963_TFT_RSDC, GPIO_PIN_FUNCTION_OFF); - - - // Write Pin - gpio_set_pin_direction(SSD1963_TFT_WR, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_WR, GPIO_PULL_OFF); - gpio_set_pin_function(SSD1963_TFT_WR, GPIO_PIN_FUNCTION_OFF); - - // TE, tear enable, aka frame sync - gpio_set_pin_direction(SSD1963_TFT_TE, GPIO_DIRECTION_IN); - gpio_set_pin_pull_mode(SSD1963_TFT_TE, GPIO_PULL_DOWN); - gpio_set_pin_function(SSD1963_TFT_TE, GPIO_PIN_FUNCTION_OFF); - - gpio_set_pin_level(SSD1963_TFT_CS, 1); - gpio_set_pin_level(SSD1963_TFT_nRST, 1); - gpio_set_pin_level(SSD1963_TFT_RD, 1); - gpio_set_pin_level(SSD1963_TFT_WR, 1); - - - -} - -void p_gpio_parallel_write(PortGroup* group, uint32_t mask, uint16_t data) -{ - gpio_set_pin_level(SSD1963_TFT_CS, 0); - p_gpio_set_port_data(group, mask, (uint32_t)data); - gpio_set_pin_level(SSD1963_TFT_WR, 0); - gpio_set_pin_level(SSD1963_TFT_WR, 1); - - gpio_set_pin_level(SSD1963_TFT_CS, 1); -} - -void p_gpio_parallel_write_arr(PortGroup* group, uint32_t mask, uint16_t* data, uint16_t len) -{ - for(int ind = 0; ind < len; ind++) - { - p_gpio_parallel_write(group, mask, data[ind]); - } -} - -void p_gpio_set_port_data(PortGroup* const port, const uint32_t mask, const uint32_t data) -{ - // SSD1963_TFT_DATA_FIX() was used for the old project with the old pin layout. The new board doesn't need it. - //uint32_t dword = (uint32_t)(SSD1963_TFT_DATA_FIX(data)); - port->OUTSET.reg = (mask & data); - port->OUTCLR.reg = (mask & ~data); -} - -void p_gpio_set_port_group_config(enum gpio_port port, const uint32_t mask, p_port_config* config) -{ - for(uint8_t i = 0; i < 32; i++) - { - if(mask & (1UL << i)) - { - uint32_t _gpio_pin = GPIO(port, i); - gpio_set_pin_direction(_gpio_pin, config->direction); - gpio_set_pin_pull_mode(_gpio_pin, config->pull_mode); - gpio_set_pin_function(_gpio_pin, config->function); - gpio_set_pin_level(_gpio_pin, 0); - } - - } -} - - diff --git a/software/firmware/oracle_same54n19a/shared/drivers/p_gpio.h b/software/firmware/oracle_same54n19a/shared/drivers/p_gpio.h deleted file mode 100644 index b473bb1..0000000 --- a/software/firmware/oracle_same54n19a/shared/drivers/p_gpio.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _P_GPIO_H_ -#define _P_GPIO_H_ - -#include "oracle.h" - -#define SSD1963_TFT_DATA_FIX(x) ((x & 0x07) | \ - ((x & 0x1F8) << 1) | \ - ((x & 0x1E00) << 5) | \ - ((x & 0xE000) << 13)) - -typedef struct p_port_config -{ - enum gpio_pull_mode pull_mode; - enum gpio_direction direction; - uint32_t function; -}p_port_config; - -void p_gpio_init(void); - -void p_gpio_parallel_write(PortGroup* group, uint32_t mask, uint16_t data); - -void p_gpio_parallel_write_arr(PortGroup* group, uint32_t mask, uint16_t* data, uint16_t len); - -void p_gpio_set_port_data(PortGroup* const port, const uint32_t mask, const uint32_t data); - -void p_gpio_set_port_group_config(enum gpio_port port, const uint32_t mask, p_port_config* config); -#endif diff --git a/software/firmware/oracle_same54n19a/shared/drivers/p_i2c.c b/software/firmware/oracle_same54n19a/shared/drivers/p_i2c.c deleted file mode 100644 index 67bceef..0000000 --- a/software/firmware/oracle_same54n19a/shared/drivers/p_i2c.c +++ /dev/null @@ -1,80 +0,0 @@ -#include "p_i2c.h" -#include "p_usart.h" -#include "hal_init.h" -#include "pc_board.h" - - -struct i2c_m_sync_desc p_i2c_master; - -void p_i2c_init(void) -{ - // clock init - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_CORE, CONF_GCLK_SERCOM3_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_SLOW, CONF_GCLK_SERCOM3_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - - hri_mclk_set_APBBMASK_SERCOM3_bit(MCLK); - - i2c_m_sync_init(&p_i2c_master, SERCOM3); - - // port init - gpio_set_pin_pull_mode(I2C_MASTER_SDA, - // Pull configuration - // pad_pull_config - // Off - // Pull-up - // Pull-down - GPIO_PULL_OFF); - - gpio_set_pin_function(I2C_MASTER_SDA, I2C_MASTER_SDA_MUX); - - gpio_set_pin_pull_mode(I2C_MASTER_SCL, - // Pull configuration - // pad_pull_config - // Off - // Pull-up - // Pull-down - GPIO_PULL_OFF); - - gpio_set_pin_function(I2C_MASTER_SCL, I2C_MASTER_SCL_MUX); - - i2c_m_sync_enable(&p_i2c_master); -} - -int p_i2c_write(const uint8_t* const data, uint16_t data_len) -{ - return io_write(&p_i2c_master.io, data, data_len); -} - -int p_i2c_read(uint8_t* data, uint16_t len) -{ - return io_read(&p_i2c_master.io, data, len); -} - -void p_i2c_detect(void) -{ - PDEBUG(" "); - for(int ind = 0; ind < 16; ind++) - { - PDEBUG(" %02x", ind); - } - uint8_t data = 0x00; - for(int ind = 0; ind <= 119; ind++) - { - if (ind % 16 == 0) - { - PDEBUG("\r\n%02x:", ind & 0xF0); - } - i2c_m_sync_set_slaveaddr(&p_i2c_master, ind, I2C_M_SEVEN); - int ret = p_i2c_write(&data, 1); - if(ret != 1) - { - PDEBUG(" --"); - } - else - { - PDEBUG(" %02x", ind); - } - } - PDEBUG("\r\n"); -} - diff --git a/software/firmware/oracle_same54n19a/shared/drivers/p_i2c.h b/software/firmware/oracle_same54n19a/shared/drivers/p_i2c.h deleted file mode 100644 index 1c1da8d..0000000 --- a/software/firmware/oracle_same54n19a/shared/drivers/p_i2c.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _P_I2C_H_ -#define _P_I2C_H_ - -#include "oracle.h" - -extern struct i2c_m_sync_desc p_i2c_master; - -void p_i2c_init(void); - -void p_i2c_detect(void); -#endif diff --git a/software/firmware/oracle_same54n19a/shared/drivers/p_tcc.c b/software/firmware/oracle_same54n19a/shared/drivers/p_tcc.c deleted file mode 100644 index de85180..0000000 --- a/software/firmware/oracle_same54n19a/shared/drivers/p_tcc.c +++ /dev/null @@ -1,48 +0,0 @@ -#include "p_tcc.h" -#include "lvgl/lvgl.h" -static struct timer_task TIMER_0_task1, TIMER_0_task2; -struct timer_descriptor p_tcc_inst; -#define P_MAX_TIME_STR (64) -static volatile uint32_t sys_time = 0; -static char sys_time_str[64]; - -static void TIMER_0_task1_cb(const struct timer_task *const timer_task) -{ - sys_time++; - lv_tick_inc(1); -} - -void p_time_init(void) -{ - delay_init(SysTick); - hri_mclk_set_APBAMASK_TC0_bit(MCLK); - hri_gclk_write_PCHCTRL_reg(GCLK, TC0_GCLK_ID, CONF_GCLK_TC0_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - - timer_init(&p_tcc_inst, TC0, _tc_get_timer()); - - TIMER_0_task1.interval = 1; - TIMER_0_task1.cb = TIMER_0_task1_cb; - TIMER_0_task1.mode = TIMER_TASK_REPEAT; - - timer_add_task(&p_tcc_inst, &TIMER_0_task1); - timer_start(&p_tcc_inst); -} -uint32_t p_get_time(void) -{ - return sys_time; -} - -const char* p_get_time_str(void) -{ - uint16_t millis = sys_time % 1000; - // remove millis portion - uint32_t current_time = sys_time / 1000; - uint8_t hour = ((current_time % 86400UL) / 3600); // 86400 seconds per day - uint8_t minute = ((current_time % 3600) / 60); - uint8_t _sec = (current_time % 60); - memset(sys_time_str, '\0', P_MAX_TIME_STR); - snprintf(sys_time_str, P_MAX_TIME_STR, "%02u:%02u:%02u:%03u", hour, minute, _sec, millis); - - return sys_time_str; - -} diff --git a/software/firmware/oracle_same54n19a/shared/drivers/p_tcc.h b/software/firmware/oracle_same54n19a/shared/drivers/p_tcc.h deleted file mode 100644 index e325bfa..0000000 --- a/software/firmware/oracle_same54n19a/shared/drivers/p_tcc.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef _P_TCC_H_ -#define _P_TCC_H_ - -#include "oracle.h" -extern struct timer_descriptor p_tcc_inst; - -void p_time_init(void); - -uint32_t p_get_time(void); - -const char* p_get_time_str(void); - - -#endif diff --git a/software/firmware/oracle_same54n19a/shared/drivers/p_usart.c b/software/firmware/oracle_same54n19a/shared/drivers/p_usart.c deleted file mode 100644 index 0cec06f..0000000 --- a/software/firmware/oracle_same54n19a/shared/drivers/p_usart.c +++ /dev/null @@ -1,96 +0,0 @@ -#include "p_usart.h" -#include -#include -#include -#include -#include "lvgl/src/lv_misc/lv_log.h" -#include "p_tcc.h" - -#define DEBUG_USART_EX_BUFF_SIZE 16 -struct usart_async_descriptor p_usart_debug_inst; -static volatile uint32_t data_arrived = 0; -static volatile bool b_tx_complete = true; -/* static uint8_t debug_buffer[DEBUG_MAX_BUFFER_SIZE]; */ -static uint8_t debug_rx_buff[DEBUG_USART_EX_BUFF_SIZE]; - -static void p_lv_log_cb(lv_log_level_t level, const char * file, uint32_t line, const char * desc) -{ - PDEBUG("[LVGL][%s][%s][%s][%d] --\t%s\r\n", p_get_time_str(), level == LV_LOG_LEVEL_TRACE ? "TRACE" : - level == LV_LOG_LEVEL_INFO ? "INFO" : level == LV_LOG_LEVEL_WARN ? "WARN" : - level == LV_LOG_LEVEL_ERROR ? "ERROR" : "NONE", file, (int)line, desc); -} - -// usart debug callbacks -static void debug_tx_cb(const struct usart_async_descriptor *const io_descr) -{ - /* Transfer completed */ - b_tx_complete = true; -} - -static void debug_rx_cb(const struct usart_async_descriptor *const io_descr) -{ - p_set_data_arrived(1); -} - -static void debug_err_cb(const struct usart_async_descriptor *const io_descr) -{ - /* Transfer completed */ -} - -void p_usart_init(void) -{ - // clock init - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM0_GCLK_ID_CORE, CONF_GCLK_SERCOM0_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM0_GCLK_ID_SLOW, CONF_GCLK_SERCOM0_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - - hri_mclk_set_APBAMASK_SERCOM0_bit(MCLK); - - usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL); - - // port init - gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX); - gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX); - - usart_async_register_callback(&p_usart_debug_inst, USART_ASYNC_TXC_CB, debug_tx_cb); - usart_async_register_callback(&p_usart_debug_inst, USART_ASYNC_RXC_CB, debug_rx_cb); - usart_async_register_callback(&p_usart_debug_inst, USART_ASYNC_ERROR_CB, debug_err_cb); - - usart_async_enable(&p_usart_debug_inst); - - lv_log_register_print_cb((lv_log_print_g_cb_t)p_lv_log_cb); - -} - -void p_write(struct usart_async_descriptor* const inst, const uint8_t* data, uint16_t len) -{ - b_tx_complete = false; - io_write(&inst->io, data, len); - while(!b_tx_complete){} -} - -int pprintf(const char* str, ...) -{ - size_t size_str = strlen(str); - if (size_str >= DEBUG_MAX_BUFFER_SIZE) - { - return -1; - } - uint8_t printf_buffer[DEBUG_MAX_BUFFER_SIZE]; - memset(printf_buffer, '\0', DEBUG_MAX_BUFFER_SIZE); - va_list args; - va_start(args, str); - vsprintf((char*)printf_buffer, str, args); - va_end(args); - p_write(&p_usart_debug_inst, (const uint8_t*)printf_buffer, strlen((const char*)printf_buffer)); - return 0; -} - -bool p_data_arrived(void) -{ - return data_arrived; -} - -void p_set_data_arrived(bool status) -{ - data_arrived = status; -} diff --git a/software/firmware/oracle_same54n19a/shared/drivers/p_usart.h b/software/firmware/oracle_same54n19a/shared/drivers/p_usart.h deleted file mode 100644 index 4d096bb..0000000 --- a/software/firmware/oracle_same54n19a/shared/drivers/p_usart.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _P_USART_H_ -#define _P_USART_H_ - -#include "oracle.h" - -extern struct usart_async_descriptor p_usart_debug_inst; - -void p_usart_init(void); - -void p_write(struct usart_async_descriptor* const inst, const uint8_t* data, uint16_t len); - -int pprintf(const char* str, ...); - -bool p_data_arrived(void); - -void p_set_data_arrived(bool status); - -#define PDEBUG(f_, ...) pprintf((f_), ##__VA_ARGS__) - -#endif diff --git a/software/firmware/oracle_same54n19a/shared/thirdparty b/software/firmware/oracle_same54n19a/shared/thirdparty deleted file mode 120000 index 41848cf..0000000 --- a/software/firmware/oracle_same54n19a/shared/thirdparty +++ /dev/null @@ -1 +0,0 @@ -/home/penguin/Projects/Embedded-Graphics-Learning/software/thirdparty \ No newline at end of file diff --git a/software/thirdparty/lv_examples b/software/thirdparty/lv_examples deleted file mode 160000 index c4f15c3..0000000 --- a/software/thirdparty/lv_examples +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c4f15c33a665c8cece51e0b54a800d489a33b109 diff --git a/software/thirdparty/lvgl b/software/thirdparty/lvgl deleted file mode 160000 index 966b4b1..0000000 --- a/software/thirdparty/lvgl +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 966b4b11f62e744106a5f4e9f712ab975a70f18c

    ZVwT$Ln3`bx6+w!6ZrFu??AM69b#_G< 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%0DNyE%;~S(GUX3eSCS$>}oulCJZzJetC5t{7 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 Kau30U$g12NnAa+)p`KH@dYHnw0ThPp@%VnM3 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%0AFrT+^O3Z?!vJ}-#a3G0^`K5t-`blZV{C3_D^L5 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 $%IRjxsGB8BJ~s%D4%mVv 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

    3aEGJS#!))$yn0g`wUyQ*4o$26vruV(Ud4 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 diff --git a/software/firmware/oracle_d21_edition/gcc/hal/src/hal_delay.o b/software/firmware/oracle_d21_edition/gcc/hal/src/hal_delay.o deleted file mode 100644 index 1dda58f64837adc248a9ca72bc4a458d05ae3dbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 687776 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� 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

  3. 9Wnx+VD!; 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 *8ziOmzNu>qIea#byezQ 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 diff --git a/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_sysctrl_d21.h.23E2A1A4DA4BE563.idx b/software/firmware/oracle_d21_edition/.cache/clangd/index/hri_sysctrl_d21.h.23E2A1A4DA4BE563.idx deleted file mode 100644 index 0910ab2d87e2538e997ea95e9372af6af518ba7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118374 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

  4. DW)EHQ@^e4`z*UD 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 z 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�wfn`fjr3=2Su$&^98HQvUe`Id7Rgc=OYT^y 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 DoNsZY literal 0 HcmV?d00001 diff --git a/software/firmware/oracle_d21_edition/hal/documentation/usart_sync.rst b/oracle_d21_edition/hal/documentation/usart_sync.rst similarity index 100% rename from software/firmware/oracle_d21_edition/hal/documentation/usart_sync.rst rename to oracle_d21_edition/hal/documentation/usart_sync.rst diff --git a/software/firmware/oracle_d21_edition/hal/include/hal_atomic.h b/oracle_d21_edition/hal/include/hal_atomic.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hal_atomic.h rename to oracle_d21_edition/hal/include/hal_atomic.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hal_delay.h b/oracle_d21_edition/hal/include/hal_delay.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hal_delay.h rename to oracle_d21_edition/hal/include/hal_delay.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hal_gpio.h b/oracle_d21_edition/hal/include/hal_gpio.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hal_gpio.h rename to oracle_d21_edition/hal/include/hal_gpio.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hal_init.h b/oracle_d21_edition/hal/include/hal_init.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hal_init.h rename to oracle_d21_edition/hal/include/hal_init.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hal_io.h b/oracle_d21_edition/hal/include/hal_io.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hal_io.h rename to oracle_d21_edition/hal/include/hal_io.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hal_sleep.h b/oracle_d21_edition/hal/include/hal_sleep.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hal_sleep.h rename to oracle_d21_edition/hal/include/hal_sleep.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hal_usart_sync.h b/oracle_d21_edition/hal/include/hal_usart_sync.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hal_usart_sync.h rename to oracle_d21_edition/hal/include/hal_usart_sync.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_core.h b/oracle_d21_edition/hal/include/hpl_core.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_core.h rename to oracle_d21_edition/hal/include/hpl_core.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_delay.h b/oracle_d21_edition/hal/include/hpl_delay.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_delay.h rename to oracle_d21_edition/hal/include/hpl_delay.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_dma.h b/oracle_d21_edition/hal/include/hpl_dma.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_dma.h rename to oracle_d21_edition/hal/include/hpl_dma.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_gpio.h b/oracle_d21_edition/hal/include/hpl_gpio.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_gpio.h rename to oracle_d21_edition/hal/include/hpl_gpio.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_i2c_m_async.h b/oracle_d21_edition/hal/include/hpl_i2c_m_async.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_i2c_m_async.h rename to oracle_d21_edition/hal/include/hpl_i2c_m_async.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_i2c_m_sync.h b/oracle_d21_edition/hal/include/hpl_i2c_m_sync.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_i2c_m_sync.h rename to oracle_d21_edition/hal/include/hpl_i2c_m_sync.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_i2c_s_async.h b/oracle_d21_edition/hal/include/hpl_i2c_s_async.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_i2c_s_async.h rename to oracle_d21_edition/hal/include/hpl_i2c_s_async.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_i2c_s_sync.h b/oracle_d21_edition/hal/include/hpl_i2c_s_sync.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_i2c_s_sync.h rename to oracle_d21_edition/hal/include/hpl_i2c_s_sync.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_init.h b/oracle_d21_edition/hal/include/hpl_init.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_init.h rename to oracle_d21_edition/hal/include/hpl_init.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_irq.h b/oracle_d21_edition/hal/include/hpl_irq.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_irq.h rename to oracle_d21_edition/hal/include/hpl_irq.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_missing_features.h b/oracle_d21_edition/hal/include/hpl_missing_features.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_missing_features.h rename to oracle_d21_edition/hal/include/hpl_missing_features.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_reset.h b/oracle_d21_edition/hal/include/hpl_reset.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_reset.h rename to oracle_d21_edition/hal/include/hpl_reset.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_sleep.h b/oracle_d21_edition/hal/include/hpl_sleep.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_sleep.h rename to oracle_d21_edition/hal/include/hpl_sleep.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_spi.h b/oracle_d21_edition/hal/include/hpl_spi.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_spi.h rename to oracle_d21_edition/hal/include/hpl_spi.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_spi_async.h b/oracle_d21_edition/hal/include/hpl_spi_async.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_spi_async.h rename to oracle_d21_edition/hal/include/hpl_spi_async.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_spi_m_async.h b/oracle_d21_edition/hal/include/hpl_spi_m_async.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_spi_m_async.h rename to oracle_d21_edition/hal/include/hpl_spi_m_async.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_spi_m_dma.h b/oracle_d21_edition/hal/include/hpl_spi_m_dma.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_spi_m_dma.h rename to oracle_d21_edition/hal/include/hpl_spi_m_dma.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_spi_m_sync.h b/oracle_d21_edition/hal/include/hpl_spi_m_sync.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_spi_m_sync.h rename to oracle_d21_edition/hal/include/hpl_spi_m_sync.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_spi_s_async.h b/oracle_d21_edition/hal/include/hpl_spi_s_async.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_spi_s_async.h rename to oracle_d21_edition/hal/include/hpl_spi_s_async.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_spi_s_sync.h b/oracle_d21_edition/hal/include/hpl_spi_s_sync.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_spi_s_sync.h rename to oracle_d21_edition/hal/include/hpl_spi_s_sync.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_spi_sync.h b/oracle_d21_edition/hal/include/hpl_spi_sync.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_spi_sync.h rename to oracle_d21_edition/hal/include/hpl_spi_sync.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_usart.h b/oracle_d21_edition/hal/include/hpl_usart.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_usart.h rename to oracle_d21_edition/hal/include/hpl_usart.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_usart_async.h b/oracle_d21_edition/hal/include/hpl_usart_async.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_usart_async.h rename to oracle_d21_edition/hal/include/hpl_usart_async.h diff --git a/software/firmware/oracle_d21_edition/hal/include/hpl_usart_sync.h b/oracle_d21_edition/hal/include/hpl_usart_sync.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/include/hpl_usart_sync.h rename to oracle_d21_edition/hal/include/hpl_usart_sync.h diff --git a/software/firmware/oracle_d21_edition/hal/src/hal_atomic.c b/oracle_d21_edition/hal/src/hal_atomic.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/src/hal_atomic.c rename to oracle_d21_edition/hal/src/hal_atomic.c diff --git a/software/firmware/oracle_d21_edition/hal/src/hal_delay.c b/oracle_d21_edition/hal/src/hal_delay.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/src/hal_delay.c rename to oracle_d21_edition/hal/src/hal_delay.c diff --git a/software/firmware/oracle_d21_edition/hal/src/hal_gpio.c b/oracle_d21_edition/hal/src/hal_gpio.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/src/hal_gpio.c rename to oracle_d21_edition/hal/src/hal_gpio.c diff --git a/software/firmware/oracle_d21_edition/hal/src/hal_init.c b/oracle_d21_edition/hal/src/hal_init.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/src/hal_init.c rename to oracle_d21_edition/hal/src/hal_init.c diff --git a/software/firmware/oracle_d21_edition/hal/src/hal_io.c b/oracle_d21_edition/hal/src/hal_io.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/src/hal_io.c rename to oracle_d21_edition/hal/src/hal_io.c diff --git a/software/firmware/oracle_d21_edition/hal/src/hal_sleep.c b/oracle_d21_edition/hal/src/hal_sleep.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/src/hal_sleep.c rename to oracle_d21_edition/hal/src/hal_sleep.c diff --git a/software/firmware/oracle_d21_edition/hal/src/hal_usart_sync.c b/oracle_d21_edition/hal/src/hal_usart_sync.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/src/hal_usart_sync.c rename to oracle_d21_edition/hal/src/hal_usart_sync.c diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/compiler.h b/oracle_d21_edition/hal/utils/include/compiler.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/compiler.h rename to oracle_d21_edition/hal/utils/include/compiler.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/err_codes.h b/oracle_d21_edition/hal/utils/include/err_codes.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/err_codes.h rename to oracle_d21_edition/hal/utils/include/err_codes.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/events.h b/oracle_d21_edition/hal/utils/include/events.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/events.h rename to oracle_d21_edition/hal/utils/include/events.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/parts.h b/oracle_d21_edition/hal/utils/include/parts.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/parts.h rename to oracle_d21_edition/hal/utils/include/parts.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/utils.h b/oracle_d21_edition/hal/utils/include/utils.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/utils.h rename to oracle_d21_edition/hal/utils/include/utils.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/utils_assert.h b/oracle_d21_edition/hal/utils/include/utils_assert.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/utils_assert.h rename to oracle_d21_edition/hal/utils/include/utils_assert.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/utils_event.h b/oracle_d21_edition/hal/utils/include/utils_event.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/utils_event.h rename to oracle_d21_edition/hal/utils/include/utils_event.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/utils_increment_macro.h b/oracle_d21_edition/hal/utils/include/utils_increment_macro.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/utils_increment_macro.h rename to oracle_d21_edition/hal/utils/include/utils_increment_macro.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/utils_list.h b/oracle_d21_edition/hal/utils/include/utils_list.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/utils_list.h rename to oracle_d21_edition/hal/utils/include/utils_list.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/include/utils_repeat_macro.h b/oracle_d21_edition/hal/utils/include/utils_repeat_macro.h similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/include/utils_repeat_macro.h rename to oracle_d21_edition/hal/utils/include/utils_repeat_macro.h diff --git a/software/firmware/oracle_d21_edition/hal/utils/src/utils_assert.c b/oracle_d21_edition/hal/utils/src/utils_assert.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/src/utils_assert.c rename to oracle_d21_edition/hal/utils/src/utils_assert.c diff --git a/software/firmware/oracle_d21_edition/hal/utils/src/utils_event.c b/oracle_d21_edition/hal/utils/src/utils_event.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/src/utils_event.c rename to oracle_d21_edition/hal/utils/src/utils_event.c diff --git a/software/firmware/oracle_d21_edition/hal/utils/src/utils_list.c b/oracle_d21_edition/hal/utils/src/utils_list.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/src/utils_list.c rename to oracle_d21_edition/hal/utils/src/utils_list.c diff --git a/software/firmware/oracle_d21_edition/hal/utils/src/utils_syscalls.c b/oracle_d21_edition/hal/utils/src/utils_syscalls.c similarity index 100% rename from software/firmware/oracle_d21_edition/hal/utils/src/utils_syscalls.c rename to oracle_d21_edition/hal/utils/src/utils_syscalls.c diff --git a/software/firmware/oracle_d21_edition/hpl/core/hpl_core_m0plus_base.c b/oracle_d21_edition/hpl/core/hpl_core_m0plus_base.c similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/core/hpl_core_m0plus_base.c rename to oracle_d21_edition/hpl/core/hpl_core_m0plus_base.c diff --git a/software/firmware/oracle_d21_edition/hpl/core/hpl_core_port.h b/oracle_d21_edition/hpl/core/hpl_core_port.h similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/core/hpl_core_port.h rename to oracle_d21_edition/hpl/core/hpl_core_port.h diff --git a/software/firmware/oracle_d21_edition/hpl/core/hpl_init.c b/oracle_d21_edition/hpl/core/hpl_init.c similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/core/hpl_init.c rename to oracle_d21_edition/hpl/core/hpl_init.c diff --git a/software/firmware/oracle_d21_edition/hpl/dmac/hpl_dmac.c b/oracle_d21_edition/hpl/dmac/hpl_dmac.c similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/dmac/hpl_dmac.c rename to oracle_d21_edition/hpl/dmac/hpl_dmac.c diff --git a/software/firmware/oracle_d21_edition/hpl/gclk/hpl_gclk.c b/oracle_d21_edition/hpl/gclk/hpl_gclk.c similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/gclk/hpl_gclk.c rename to oracle_d21_edition/hpl/gclk/hpl_gclk.c diff --git a/software/firmware/oracle_d21_edition/hpl/gclk/hpl_gclk_base.h b/oracle_d21_edition/hpl/gclk/hpl_gclk_base.h similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/gclk/hpl_gclk_base.h rename to oracle_d21_edition/hpl/gclk/hpl_gclk_base.h diff --git a/software/firmware/oracle_d21_edition/hpl/pm/hpl_pm.c b/oracle_d21_edition/hpl/pm/hpl_pm.c similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/pm/hpl_pm.c rename to oracle_d21_edition/hpl/pm/hpl_pm.c diff --git a/software/firmware/oracle_d21_edition/hpl/pm/hpl_pm_base.h b/oracle_d21_edition/hpl/pm/hpl_pm_base.h similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/pm/hpl_pm_base.h rename to oracle_d21_edition/hpl/pm/hpl_pm_base.h diff --git a/software/firmware/oracle_d21_edition/hpl/port/hpl_gpio_base.h b/oracle_d21_edition/hpl/port/hpl_gpio_base.h similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/port/hpl_gpio_base.h rename to oracle_d21_edition/hpl/port/hpl_gpio_base.h diff --git a/software/firmware/oracle_d21_edition/hpl/sercom/hpl_sercom.c b/oracle_d21_edition/hpl/sercom/hpl_sercom.c similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/sercom/hpl_sercom.c rename to oracle_d21_edition/hpl/sercom/hpl_sercom.c diff --git a/software/firmware/oracle_d21_edition/hpl/sysctrl/hpl_sysctrl.c b/oracle_d21_edition/hpl/sysctrl/hpl_sysctrl.c similarity index 100% rename from software/firmware/oracle_d21_edition/hpl/sysctrl/hpl_sysctrl.c rename to oracle_d21_edition/hpl/sysctrl/hpl_sysctrl.c diff --git a/software/firmware/oracle_d21_edition/hri/hri_ac_d21.h b/oracle_d21_edition/hri/hri_ac_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_ac_d21.h rename to oracle_d21_edition/hri/hri_ac_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_adc_d21.h b/oracle_d21_edition/hri/hri_adc_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_adc_d21.h rename to oracle_d21_edition/hri/hri_adc_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_d21.h b/oracle_d21_edition/hri/hri_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_d21.h rename to oracle_d21_edition/hri/hri_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_dac_d21.h b/oracle_d21_edition/hri/hri_dac_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_dac_d21.h rename to oracle_d21_edition/hri/hri_dac_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_dmac_d21.h b/oracle_d21_edition/hri/hri_dmac_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_dmac_d21.h rename to oracle_d21_edition/hri/hri_dmac_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_dsu_d21.h b/oracle_d21_edition/hri/hri_dsu_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_dsu_d21.h rename to oracle_d21_edition/hri/hri_dsu_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_eic_d21.h b/oracle_d21_edition/hri/hri_eic_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_eic_d21.h rename to oracle_d21_edition/hri/hri_eic_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_evsys_d21.h b/oracle_d21_edition/hri/hri_evsys_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_evsys_d21.h rename to oracle_d21_edition/hri/hri_evsys_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_gclk_d21.h b/oracle_d21_edition/hri/hri_gclk_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_gclk_d21.h rename to oracle_d21_edition/hri/hri_gclk_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_hmatrixb_d21.h b/oracle_d21_edition/hri/hri_hmatrixb_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_hmatrixb_d21.h rename to oracle_d21_edition/hri/hri_hmatrixb_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_i2s_d21.h b/oracle_d21_edition/hri/hri_i2s_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_i2s_d21.h rename to oracle_d21_edition/hri/hri_i2s_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_mtb_d21.h b/oracle_d21_edition/hri/hri_mtb_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_mtb_d21.h rename to oracle_d21_edition/hri/hri_mtb_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_nvic_d21.h b/oracle_d21_edition/hri/hri_nvic_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_nvic_d21.h rename to oracle_d21_edition/hri/hri_nvic_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_nvmctrl_d21.h b/oracle_d21_edition/hri/hri_nvmctrl_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_nvmctrl_d21.h rename to oracle_d21_edition/hri/hri_nvmctrl_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_pac_d21.h b/oracle_d21_edition/hri/hri_pac_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_pac_d21.h rename to oracle_d21_edition/hri/hri_pac_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_pm_d21.h b/oracle_d21_edition/hri/hri_pm_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_pm_d21.h rename to oracle_d21_edition/hri/hri_pm_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_port_d21.h b/oracle_d21_edition/hri/hri_port_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_port_d21.h rename to oracle_d21_edition/hri/hri_port_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_rtc_d21.h b/oracle_d21_edition/hri/hri_rtc_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_rtc_d21.h rename to oracle_d21_edition/hri/hri_rtc_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_sercom_d21.h b/oracle_d21_edition/hri/hri_sercom_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_sercom_d21.h rename to oracle_d21_edition/hri/hri_sercom_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_sysctrl_d21.h b/oracle_d21_edition/hri/hri_sysctrl_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_sysctrl_d21.h rename to oracle_d21_edition/hri/hri_sysctrl_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_systemcontrol_d21.h b/oracle_d21_edition/hri/hri_systemcontrol_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_systemcontrol_d21.h rename to oracle_d21_edition/hri/hri_systemcontrol_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_systick_d21.h b/oracle_d21_edition/hri/hri_systick_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_systick_d21.h rename to oracle_d21_edition/hri/hri_systick_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_tc_d21.h b/oracle_d21_edition/hri/hri_tc_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_tc_d21.h rename to oracle_d21_edition/hri/hri_tc_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_tcc_d21.h b/oracle_d21_edition/hri/hri_tcc_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_tcc_d21.h rename to oracle_d21_edition/hri/hri_tcc_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_usb_d21.h b/oracle_d21_edition/hri/hri_usb_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_usb_d21.h rename to oracle_d21_edition/hri/hri_usb_d21.h diff --git a/software/firmware/oracle_d21_edition/hri/hri_wdt_d21.h b/oracle_d21_edition/hri/hri_wdt_d21.h similarity index 100% rename from software/firmware/oracle_d21_edition/hri/hri_wdt_d21.h rename to oracle_d21_edition/hri/hri_wdt_d21.h diff --git a/software/firmware/oracle_d21_edition/main.c b/oracle_d21_edition/main.c similarity index 92% rename from software/firmware/oracle_d21_edition/main.c rename to oracle_d21_edition/main.c index 4652da4..f3d2b48 100644 --- a/software/firmware/oracle_d21_edition/main.c +++ b/oracle_d21_edition/main.c @@ -4,6 +4,7 @@ int main(void) { /* Initializes MCU, drivers and middleware */ atmel_start_init(); + dsdsadhjsad /* Replace with your application code */ while (1) { diff --git a/software/firmware/oracle_d21_edition/samd21a/armcc/Device/SAMD21A/Source/ARM/startup_SAMD21.s b/oracle_d21_edition/samd21a/armcc/Device/SAMD21A/Source/ARM/startup_SAMD21.s similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/armcc/Device/SAMD21A/Source/ARM/startup_SAMD21.s rename to oracle_d21_edition/samd21a/armcc/Device/SAMD21A/Source/ARM/startup_SAMD21.s diff --git a/software/firmware/oracle_d21_edition/samd21a/armcc/Device/SAMD21A/Source/system_samd21.c b/oracle_d21_edition/samd21a/armcc/Device/SAMD21A/Source/system_samd21.c similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/armcc/Device/SAMD21A/Source/system_samd21.c rename to oracle_d21_edition/samd21a/armcc/Device/SAMD21A/Source/system_samd21.c diff --git a/software/firmware/oracle_d21_edition/samd21a/gcc/gcc/samd21j18a_flash.ld b/oracle_d21_edition/samd21a/gcc/gcc/samd21j18a_flash.ld similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/gcc/gcc/samd21j18a_flash.ld rename to oracle_d21_edition/samd21a/gcc/gcc/samd21j18a_flash.ld diff --git a/software/firmware/oracle_d21_edition/samd21a/gcc/gcc/samd21j18a_sram.ld b/oracle_d21_edition/samd21a/gcc/gcc/samd21j18a_sram.ld similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/gcc/gcc/samd21j18a_sram.ld rename to oracle_d21_edition/samd21a/gcc/gcc/samd21j18a_sram.ld diff --git a/software/firmware/oracle_d21_edition/samd21a/gcc/gcc/startup_samd21.c b/oracle_d21_edition/samd21a/gcc/gcc/startup_samd21.c similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/gcc/gcc/startup_samd21.c rename to oracle_d21_edition/samd21a/gcc/gcc/startup_samd21.c diff --git a/software/firmware/oracle_d21_edition/samd21a/gcc/system_samd21.c b/oracle_d21_edition/samd21a/gcc/system_samd21.c similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/gcc/system_samd21.c rename to oracle_d21_edition/samd21a/gcc/system_samd21.c diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component-version.h b/oracle_d21_edition/samd21a/include/component-version.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component-version.h rename to oracle_d21_edition/samd21a/include/component-version.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/ac.h b/oracle_d21_edition/samd21a/include/component/ac.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/ac.h rename to oracle_d21_edition/samd21a/include/component/ac.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/adc.h b/oracle_d21_edition/samd21a/include/component/adc.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/adc.h rename to oracle_d21_edition/samd21a/include/component/adc.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/dac.h b/oracle_d21_edition/samd21a/include/component/dac.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/dac.h rename to oracle_d21_edition/samd21a/include/component/dac.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/dmac.h b/oracle_d21_edition/samd21a/include/component/dmac.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/dmac.h rename to oracle_d21_edition/samd21a/include/component/dmac.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/dsu.h b/oracle_d21_edition/samd21a/include/component/dsu.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/dsu.h rename to oracle_d21_edition/samd21a/include/component/dsu.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/eic.h b/oracle_d21_edition/samd21a/include/component/eic.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/eic.h rename to oracle_d21_edition/samd21a/include/component/eic.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/evsys.h b/oracle_d21_edition/samd21a/include/component/evsys.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/evsys.h rename to oracle_d21_edition/samd21a/include/component/evsys.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/gclk.h b/oracle_d21_edition/samd21a/include/component/gclk.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/gclk.h rename to oracle_d21_edition/samd21a/include/component/gclk.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/hmatrixb.h b/oracle_d21_edition/samd21a/include/component/hmatrixb.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/hmatrixb.h rename to oracle_d21_edition/samd21a/include/component/hmatrixb.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/i2s.h b/oracle_d21_edition/samd21a/include/component/i2s.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/i2s.h rename to oracle_d21_edition/samd21a/include/component/i2s.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/mtb.h b/oracle_d21_edition/samd21a/include/component/mtb.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/mtb.h rename to oracle_d21_edition/samd21a/include/component/mtb.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/nvmctrl.h b/oracle_d21_edition/samd21a/include/component/nvmctrl.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/nvmctrl.h rename to oracle_d21_edition/samd21a/include/component/nvmctrl.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/pac.h b/oracle_d21_edition/samd21a/include/component/pac.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/pac.h rename to oracle_d21_edition/samd21a/include/component/pac.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/pm.h b/oracle_d21_edition/samd21a/include/component/pm.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/pm.h rename to oracle_d21_edition/samd21a/include/component/pm.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/port.h b/oracle_d21_edition/samd21a/include/component/port.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/port.h rename to oracle_d21_edition/samd21a/include/component/port.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/rtc.h b/oracle_d21_edition/samd21a/include/component/rtc.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/rtc.h rename to oracle_d21_edition/samd21a/include/component/rtc.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/sercom.h b/oracle_d21_edition/samd21a/include/component/sercom.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/sercom.h rename to oracle_d21_edition/samd21a/include/component/sercom.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/sysctrl.h b/oracle_d21_edition/samd21a/include/component/sysctrl.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/sysctrl.h rename to oracle_d21_edition/samd21a/include/component/sysctrl.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/tc.h b/oracle_d21_edition/samd21a/include/component/tc.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/tc.h rename to oracle_d21_edition/samd21a/include/component/tc.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/tcc.h b/oracle_d21_edition/samd21a/include/component/tcc.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/tcc.h rename to oracle_d21_edition/samd21a/include/component/tcc.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/usb.h b/oracle_d21_edition/samd21a/include/component/usb.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/usb.h rename to oracle_d21_edition/samd21a/include/component/usb.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/component/wdt.h b/oracle_d21_edition/samd21a/include/component/wdt.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/component/wdt.h rename to oracle_d21_edition/samd21a/include/component/wdt.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/ac.h b/oracle_d21_edition/samd21a/include/instance/ac.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/ac.h rename to oracle_d21_edition/samd21a/include/instance/ac.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/adc.h b/oracle_d21_edition/samd21a/include/instance/adc.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/adc.h rename to oracle_d21_edition/samd21a/include/instance/adc.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/dac.h b/oracle_d21_edition/samd21a/include/instance/dac.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/dac.h rename to oracle_d21_edition/samd21a/include/instance/dac.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/dmac.h b/oracle_d21_edition/samd21a/include/instance/dmac.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/dmac.h rename to oracle_d21_edition/samd21a/include/instance/dmac.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/dsu.h b/oracle_d21_edition/samd21a/include/instance/dsu.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/dsu.h rename to oracle_d21_edition/samd21a/include/instance/dsu.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/eic.h b/oracle_d21_edition/samd21a/include/instance/eic.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/eic.h rename to oracle_d21_edition/samd21a/include/instance/eic.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/evsys.h b/oracle_d21_edition/samd21a/include/instance/evsys.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/evsys.h rename to oracle_d21_edition/samd21a/include/instance/evsys.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/gclk.h b/oracle_d21_edition/samd21a/include/instance/gclk.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/gclk.h rename to oracle_d21_edition/samd21a/include/instance/gclk.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/i2s.h b/oracle_d21_edition/samd21a/include/instance/i2s.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/i2s.h rename to oracle_d21_edition/samd21a/include/instance/i2s.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/mtb.h b/oracle_d21_edition/samd21a/include/instance/mtb.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/mtb.h rename to oracle_d21_edition/samd21a/include/instance/mtb.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/nvmctrl.h b/oracle_d21_edition/samd21a/include/instance/nvmctrl.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/nvmctrl.h rename to oracle_d21_edition/samd21a/include/instance/nvmctrl.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/pac0.h b/oracle_d21_edition/samd21a/include/instance/pac0.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/pac0.h rename to oracle_d21_edition/samd21a/include/instance/pac0.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/pac1.h b/oracle_d21_edition/samd21a/include/instance/pac1.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/pac1.h rename to oracle_d21_edition/samd21a/include/instance/pac1.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/pac2.h b/oracle_d21_edition/samd21a/include/instance/pac2.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/pac2.h rename to oracle_d21_edition/samd21a/include/instance/pac2.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/pm.h b/oracle_d21_edition/samd21a/include/instance/pm.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/pm.h rename to oracle_d21_edition/samd21a/include/instance/pm.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/port.h b/oracle_d21_edition/samd21a/include/instance/port.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/port.h rename to oracle_d21_edition/samd21a/include/instance/port.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/ptc.h b/oracle_d21_edition/samd21a/include/instance/ptc.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/ptc.h rename to oracle_d21_edition/samd21a/include/instance/ptc.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/rtc.h b/oracle_d21_edition/samd21a/include/instance/rtc.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/rtc.h rename to oracle_d21_edition/samd21a/include/instance/rtc.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/sbmatrix.h b/oracle_d21_edition/samd21a/include/instance/sbmatrix.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/sbmatrix.h rename to oracle_d21_edition/samd21a/include/instance/sbmatrix.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/sercom0.h b/oracle_d21_edition/samd21a/include/instance/sercom0.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/sercom0.h rename to oracle_d21_edition/samd21a/include/instance/sercom0.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/sercom1.h b/oracle_d21_edition/samd21a/include/instance/sercom1.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/sercom1.h rename to oracle_d21_edition/samd21a/include/instance/sercom1.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/sercom2.h b/oracle_d21_edition/samd21a/include/instance/sercom2.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/sercom2.h rename to oracle_d21_edition/samd21a/include/instance/sercom2.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/sercom3.h b/oracle_d21_edition/samd21a/include/instance/sercom3.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/sercom3.h rename to oracle_d21_edition/samd21a/include/instance/sercom3.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/sercom4.h b/oracle_d21_edition/samd21a/include/instance/sercom4.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/sercom4.h rename to oracle_d21_edition/samd21a/include/instance/sercom4.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/sercom5.h b/oracle_d21_edition/samd21a/include/instance/sercom5.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/sercom5.h rename to oracle_d21_edition/samd21a/include/instance/sercom5.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/sysctrl.h b/oracle_d21_edition/samd21a/include/instance/sysctrl.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/sysctrl.h rename to oracle_d21_edition/samd21a/include/instance/sysctrl.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/tc3.h b/oracle_d21_edition/samd21a/include/instance/tc3.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/tc3.h rename to oracle_d21_edition/samd21a/include/instance/tc3.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/tc4.h b/oracle_d21_edition/samd21a/include/instance/tc4.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/tc4.h rename to oracle_d21_edition/samd21a/include/instance/tc4.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/tc5.h b/oracle_d21_edition/samd21a/include/instance/tc5.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/tc5.h rename to oracle_d21_edition/samd21a/include/instance/tc5.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/tc6.h b/oracle_d21_edition/samd21a/include/instance/tc6.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/tc6.h rename to oracle_d21_edition/samd21a/include/instance/tc6.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/tc7.h b/oracle_d21_edition/samd21a/include/instance/tc7.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/tc7.h rename to oracle_d21_edition/samd21a/include/instance/tc7.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/tcc0.h b/oracle_d21_edition/samd21a/include/instance/tcc0.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/tcc0.h rename to oracle_d21_edition/samd21a/include/instance/tcc0.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/tcc1.h b/oracle_d21_edition/samd21a/include/instance/tcc1.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/tcc1.h rename to oracle_d21_edition/samd21a/include/instance/tcc1.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/tcc2.h b/oracle_d21_edition/samd21a/include/instance/tcc2.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/tcc2.h rename to oracle_d21_edition/samd21a/include/instance/tcc2.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/usb.h b/oracle_d21_edition/samd21a/include/instance/usb.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/usb.h rename to oracle_d21_edition/samd21a/include/instance/usb.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/instance/wdt.h b/oracle_d21_edition/samd21a/include/instance/wdt.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/instance/wdt.h rename to oracle_d21_edition/samd21a/include/instance/wdt.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21e15a.h b/oracle_d21_edition/samd21a/include/pio/samd21e15a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21e15a.h rename to oracle_d21_edition/samd21a/include/pio/samd21e15a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21e16a.h b/oracle_d21_edition/samd21a/include/pio/samd21e16a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21e16a.h rename to oracle_d21_edition/samd21a/include/pio/samd21e16a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21e17a.h b/oracle_d21_edition/samd21a/include/pio/samd21e17a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21e17a.h rename to oracle_d21_edition/samd21a/include/pio/samd21e17a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21e18a.h b/oracle_d21_edition/samd21a/include/pio/samd21e18a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21e18a.h rename to oracle_d21_edition/samd21a/include/pio/samd21e18a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g15a.h b/oracle_d21_edition/samd21a/include/pio/samd21g15a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g15a.h rename to oracle_d21_edition/samd21a/include/pio/samd21g15a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g16a.h b/oracle_d21_edition/samd21a/include/pio/samd21g16a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g16a.h rename to oracle_d21_edition/samd21a/include/pio/samd21g16a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g17a.h b/oracle_d21_edition/samd21a/include/pio/samd21g17a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g17a.h rename to oracle_d21_edition/samd21a/include/pio/samd21g17a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g17au.h b/oracle_d21_edition/samd21a/include/pio/samd21g17au.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g17au.h rename to oracle_d21_edition/samd21a/include/pio/samd21g17au.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g18a.h b/oracle_d21_edition/samd21a/include/pio/samd21g18a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g18a.h rename to oracle_d21_edition/samd21a/include/pio/samd21g18a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g18au.h b/oracle_d21_edition/samd21a/include/pio/samd21g18au.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21g18au.h rename to oracle_d21_edition/samd21a/include/pio/samd21g18au.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21j15a.h b/oracle_d21_edition/samd21a/include/pio/samd21j15a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21j15a.h rename to oracle_d21_edition/samd21a/include/pio/samd21j15a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21j16a.h b/oracle_d21_edition/samd21a/include/pio/samd21j16a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21j16a.h rename to oracle_d21_edition/samd21a/include/pio/samd21j16a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21j17a.h b/oracle_d21_edition/samd21a/include/pio/samd21j17a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21j17a.h rename to oracle_d21_edition/samd21a/include/pio/samd21j17a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/pio/samd21j18a.h b/oracle_d21_edition/samd21a/include/pio/samd21j18a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/pio/samd21j18a.h rename to oracle_d21_edition/samd21a/include/pio/samd21j18a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/sam.h b/oracle_d21_edition/samd21a/include/sam.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/sam.h rename to oracle_d21_edition/samd21a/include/sam.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21.h b/oracle_d21_edition/samd21a/include/samd21.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21.h rename to oracle_d21_edition/samd21a/include/samd21.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21e15a.h b/oracle_d21_edition/samd21a/include/samd21e15a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21e15a.h rename to oracle_d21_edition/samd21a/include/samd21e15a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21e16a.h b/oracle_d21_edition/samd21a/include/samd21e16a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21e16a.h rename to oracle_d21_edition/samd21a/include/samd21e16a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21e17a.h b/oracle_d21_edition/samd21a/include/samd21e17a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21e17a.h rename to oracle_d21_edition/samd21a/include/samd21e17a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21e18a.h b/oracle_d21_edition/samd21a/include/samd21e18a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21e18a.h rename to oracle_d21_edition/samd21a/include/samd21e18a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21g15a.h b/oracle_d21_edition/samd21a/include/samd21g15a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21g15a.h rename to oracle_d21_edition/samd21a/include/samd21g15a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21g16a.h b/oracle_d21_edition/samd21a/include/samd21g16a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21g16a.h rename to oracle_d21_edition/samd21a/include/samd21g16a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21g17a.h b/oracle_d21_edition/samd21a/include/samd21g17a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21g17a.h rename to oracle_d21_edition/samd21a/include/samd21g17a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21g17au.h b/oracle_d21_edition/samd21a/include/samd21g17au.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21g17au.h rename to oracle_d21_edition/samd21a/include/samd21g17au.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21g18a.h b/oracle_d21_edition/samd21a/include/samd21g18a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21g18a.h rename to oracle_d21_edition/samd21a/include/samd21g18a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21g18au.h b/oracle_d21_edition/samd21a/include/samd21g18au.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21g18au.h rename to oracle_d21_edition/samd21a/include/samd21g18au.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21j15a.h b/oracle_d21_edition/samd21a/include/samd21j15a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21j15a.h rename to oracle_d21_edition/samd21a/include/samd21j15a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21j16a.h b/oracle_d21_edition/samd21a/include/samd21j16a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21j16a.h rename to oracle_d21_edition/samd21a/include/samd21j16a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21j17a.h b/oracle_d21_edition/samd21a/include/samd21j17a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21j17a.h rename to oracle_d21_edition/samd21a/include/samd21j17a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/samd21j18a.h b/oracle_d21_edition/samd21a/include/samd21j18a.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/samd21j18a.h rename to oracle_d21_edition/samd21a/include/samd21j18a.h diff --git a/software/firmware/oracle_d21_edition/samd21a/include/system_samd21.h b/oracle_d21_edition/samd21a/include/system_samd21.h similarity index 100% rename from software/firmware/oracle_d21_edition/samd21a/include/system_samd21.h rename to oracle_d21_edition/samd21a/include/system_samd21.h diff --git a/software/firmware/oracle_e54_edition_pre_port/README.md b/oracle_e54_edition_pre_port/README.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/README.md rename to oracle_e54_edition_pre_port/README.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo b/oracle_e54_edition_pre_port/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo rename to oracle_e54_edition_pre_port/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning.atsln b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning.atsln similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning.atsln rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning.atsln diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmel-start-backup/e54_gfx_learning_1.zip b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmel-start-backup/e54_gfx_learning_1.zip similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmel-start-backup/e54_gfx_learning_1.zip rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmel-start-backup/e54_gfx_learning_1.zip diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.env_conf b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.env_conf similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.env_conf rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.env_conf diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.gpdsc b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.gpdsc similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.gpdsc rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/AtmelStart.gpdsc diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/atmel_start_config.atstart b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/atmel_start_config.atstart similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/atmel_start_config.atstart rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/.atmelstart/atmel_start_config.atstart diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/RTE_Components.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/RTE_Components.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/RTE_Components.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/RTE_Components.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_cmcc_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_cmcc_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_cmcc_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_cmcc_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_dmac_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_dmac_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_dmac_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_dmac_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_eic_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_eic_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_eic_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_eic_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_gclk_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_gclk_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_gclk_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_gclk_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_mclk_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_mclk_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_mclk_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_mclk_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_osc32kctrl_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_osc32kctrl_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_osc32kctrl_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_osc32kctrl_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_oscctrl_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_oscctrl_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_oscctrl_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_oscctrl_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_port_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_port_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_port_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_port_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_sercom_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_sercom_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_sercom_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_sercom_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_tc_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_tc_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_tc_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/hpl_tc_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/lv_conf.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/lv_conf.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/lv_conf.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/lv_conf.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/pc_master.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/pc_master.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/pc_master.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/pc_master.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/peripheral_clk_config.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/peripheral_clk_config.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/peripheral_clk_config.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Config/peripheral_clk_config.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug.xml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug.xml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug.xml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug.xml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/.gdb_history b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/.gdb_history similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/.gdb_history rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/.gdb_history diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/Makefile b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/Makefile similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/Makefile rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/Makefile diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/gdb.txt b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/gdb.txt similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/gdb.txt rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/gdb.txt diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/makedep.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/makedep.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/makedep.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/makedep.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/.gdb_history b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/.gdb_history similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/.gdb_history rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/.gdb_history diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/core b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/core similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/core rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/core diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/debug.gdb b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/debug.gdb similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/debug.gdb rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/debug.gdb diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/gdb.txt b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/gdb.txt similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/gdb.txt rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/gdb.txt diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/openocd.cfg b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/openocd.cfg similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/openocd.cfg rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/openocd.cfg diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/push.gdb b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/push.gdb similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/push.gdb rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Debug/scripts/push.gdb diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Default.xml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Default.xml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Default.xml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Default.xml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_flash.ld b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_flash.ld similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_flash.ld rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_flash.ld diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_sram.ld b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_sram.ld similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_sram.ld rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/same54p20a_sram.ld diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/startup_same54.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/startup_same54.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/startup_same54.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/startup_same54.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/system_same54.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/system_same54.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/system_same54.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Device_Startup/system_same54.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Release.xml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Release.xml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Release.xml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/Release.xml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/p_screen.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/p_screen.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/p_screen.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/p_screen.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/p_screen.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/p_screen.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/p_screen.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/devices/p_screen.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/drivers/p_usart.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.componentinfo.xml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.componentinfo.xml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.componentinfo.xml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.componentinfo.xml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/ext_irq.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/ext_irq.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/ext_irq.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/ext_irq.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/i2c_master_sync.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/i2c_master_sync.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/i2c_master_sync.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/i2c_master_sync.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/timer.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/timer.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/timer.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/timer.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/usart_async.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/usart_async.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/usart_async.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/documentation/usart_async.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_atomic.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_atomic.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_atomic.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_atomic.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_cache.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_cache.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_cache.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_cache.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_delay.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_delay.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_delay.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_delay.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_ext_irq.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_ext_irq.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_ext_irq.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_ext_irq.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_gpio.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_gpio.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_gpio.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_gpio.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_i2c_m_sync.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_i2c_m_sync.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_i2c_m_sync.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_i2c_m_sync.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_init.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_init.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_init.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_init.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_io.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_io.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_io.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_io.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_sleep.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_sleep.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_sleep.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_sleep.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_timer.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_timer.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_timer.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_timer.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_usart_async.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_usart_async.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_usart_async.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hal_usart_async.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_cmcc.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_cmcc.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_cmcc.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_cmcc.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_core.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_core.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_core.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_core.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_delay.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_delay.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_delay.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_delay.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_dma.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_dma.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_dma.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_dma.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ext_irq.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ext_irq.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ext_irq.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ext_irq.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_gpio.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_gpio.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_gpio.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_gpio.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_async.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_async.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_async.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_async.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_sync.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_sync.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_sync.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_m_sync.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_async.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_async.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_async.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_async.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_sync.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_sync.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_sync.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_i2c_s_sync.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_init.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_init.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_init.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_init.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_irq.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_irq.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_irq.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_irq.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_missing_features.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_missing_features.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_missing_features.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_missing_features.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_pwm.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_pwm.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_pwm.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_pwm.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ramecc.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ramecc.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ramecc.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_ramecc.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_reset.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_reset.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_reset.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_reset.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_sleep.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_sleep.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_sleep.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_sleep.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_async.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_async.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_async.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_async.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_async.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_async.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_async.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_async.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_dma.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_dma.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_dma.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_dma.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_sync.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_sync.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_sync.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_m_sync.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_async.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_async.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_async.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_async.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_sync.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_sync.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_sync.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_s_sync.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_sync.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_sync.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_sync.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_spi_sync.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_timer.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_timer.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_timer.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_timer.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_async.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_async.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_async.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_async.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_sync.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_sync.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_sync.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/include/hpl_usart_sync.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_atomic.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_atomic.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_atomic.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_atomic.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_cache.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_cache.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_cache.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_cache.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_delay.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_delay.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_delay.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_delay.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_ext_irq.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_ext_irq.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_ext_irq.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_ext_irq.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_gpio.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_gpio.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_gpio.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_gpio.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_i2c_m_sync.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_i2c_m_sync.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_i2c_m_sync.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_i2c_m_sync.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_init.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_init.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_init.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_init.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_io.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_io.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_io.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_io.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_sleep.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_sleep.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_sleep.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_sleep.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_timer.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_timer.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_timer.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_timer.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_usart_async.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_usart_async.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_usart_async.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/src/hal_usart_async.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/compiler.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/compiler.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/compiler.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/compiler.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/err_codes.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/err_codes.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/err_codes.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/err_codes.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/events.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/events.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/events.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/events.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/parts.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/parts.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/parts.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/parts.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_assert.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_assert.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_assert.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_assert.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_event.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_event.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_event.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_event.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_increment_macro.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_increment_macro.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_increment_macro.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_increment_macro.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_list.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_list.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_list.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_list.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_repeat_macro.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_repeat_macro.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_repeat_macro.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_repeat_macro.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_ringbuffer.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_ringbuffer.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_ringbuffer.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/include/utils_ringbuffer.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_assert.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_assert.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_assert.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_assert.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_event.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_event.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_event.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_event.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_list.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_list.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_list.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_list.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_ringbuffer.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_ringbuffer.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_ringbuffer.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_ringbuffer.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_syscalls.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_syscalls.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_syscalls.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hal/utils/src/utils_syscalls.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hornet.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hornet.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hornet.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hornet.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/cmcc/hpl_cmcc.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/cmcc/hpl_cmcc.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/cmcc/hpl_cmcc.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/cmcc/hpl_cmcc.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_m4.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_m4.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_m4.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_m4.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_port.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_port.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_port.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_core_port.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_init.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_init.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_init.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/core/hpl_init.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/dmac/hpl_dmac.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/dmac/hpl_dmac.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/dmac/hpl_dmac.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/dmac/hpl_dmac.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/eic/hpl_eic.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/eic/hpl_eic.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/eic/hpl_eic.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/eic/hpl_eic.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk_base.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk_base.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk_base.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/gclk/hpl_gclk_base.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/mclk/hpl_mclk.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/mclk/hpl_mclk.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/mclk/hpl_mclk.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/mclk/hpl_mclk.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/osc32kctrl/hpl_osc32kctrl.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/osc32kctrl/hpl_osc32kctrl.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/osc32kctrl/hpl_osc32kctrl.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/osc32kctrl/hpl_osc32kctrl.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/oscctrl/hpl_oscctrl.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/oscctrl/hpl_oscctrl.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/oscctrl/hpl_oscctrl.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/oscctrl/hpl_oscctrl.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm_base.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm_base.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm_base.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/pm/hpl_pm_base.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/port/hpl_gpio_base.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/port/hpl_gpio_base.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/port/hpl_gpio_base.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/port/hpl_gpio_base.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/ramecc/hpl_ramecc.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/ramecc/hpl_ramecc.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/ramecc/hpl_ramecc.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/ramecc/hpl_ramecc.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/sercom/hpl_sercom.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/sercom/hpl_sercom.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/sercom/hpl_sercom.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/sercom/hpl_sercom.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc_base.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc_base.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc_base.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hpl/tc/hpl_tc_base.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ac_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ac_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ac_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ac_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_adc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_adc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_adc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_adc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_aes_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_aes_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_aes_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_aes_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_can_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_can_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_can_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_can_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ccl_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ccl_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ccl_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ccl_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_cmcc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_cmcc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_cmcc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_cmcc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dac_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dac_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dac_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dac_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dmac_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dmac_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dmac_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dmac_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dsu_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dsu_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dsu_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_dsu_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_eic_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_eic_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_eic_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_eic_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_evsys_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_evsys_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_evsys_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_evsys_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_freqm_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_freqm_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_freqm_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_freqm_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_gclk_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_gclk_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_gclk_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_gclk_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_gmac_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_gmac_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_gmac_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_gmac_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_hmatrixb_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_hmatrixb_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_hmatrixb_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_hmatrixb_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_i2s_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_i2s_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_i2s_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_i2s_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_icm_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_icm_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_icm_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_icm_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_mclk_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_mclk_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_mclk_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_mclk_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_nvmctrl_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_nvmctrl_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_nvmctrl_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_nvmctrl_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_osc32kctrl_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_osc32kctrl_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_osc32kctrl_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_osc32kctrl_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_oscctrl_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_oscctrl_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_oscctrl_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_oscctrl_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pac_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pac_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pac_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pac_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pcc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pcc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pcc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pcc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pdec_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pdec_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pdec_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pdec_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pm_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pm_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pm_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_pm_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_port_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_port_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_port_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_port_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_qspi_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_qspi_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_qspi_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_qspi_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ramecc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ramecc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ramecc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_ramecc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_rstc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_rstc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_rstc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_rstc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_rtc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_rtc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_rtc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_rtc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_sdhc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_sdhc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_sdhc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_sdhc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_sercom_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_sercom_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_sercom_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_sercom_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_supc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_supc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_supc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_supc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_tc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_tc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_tc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_tc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_tcc_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_tcc_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_tcc_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_tcc_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_trng_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_trng_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_trng_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_trng_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_usb_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_usb_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_usb_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_usb_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_wdt_e54.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_wdt_e54.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_wdt_e54.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/hri/hri_wdt_e54.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/main.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/main.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/main.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/main.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/oracle.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/oracle.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/oracle.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/oracle.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/oracle.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/oracle.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/oracle.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/oracle.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.github/stale.yml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.github/stale.yml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.github/stale.yml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.github/stale.yml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.gitignore b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.gitignore similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.gitignore rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/.gitignore diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/README.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/README.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/README.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/README.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_alpha16.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_alpha16.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_alpha16.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_alpha16.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_argb.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_indexed16.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/img_cogwheel_rgb.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/docs/LICENSE.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/docs/LICENSE.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/docs/LICENSE.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/docs/LICENSE.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_ex_conf_templ.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_ex_conf_templ.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_ex_conf_templ.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_ex_conf_templ.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/lv_examples.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_keypad_encoder/lv_demo_keypad_encoder.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_bright.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_bright.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_bright.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_bright.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_eco.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_eco.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_eco.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_eco.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_hue.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_hue.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_hue.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_hue.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_pc.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_pc.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_pc.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_pc.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_tel.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_tel.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_tel.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_tel.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_wifi.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_wifi.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_wifi.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_icon_wifi.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_btn_bg.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_btn_bg.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_btn_bg.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_btn_bg.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_cloud.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_cloud.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_cloud.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_cloud.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_copy.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_copy.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_copy.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_copy.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_internet.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_internet.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_internet.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_internet.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_mobile.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_mobile.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_mobile.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_mobile.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_no_internet.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_no_internet.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_no_internet.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_no_internet.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_phone.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_phone.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_phone.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_phone.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_print.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_print.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_print.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_print.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_printer2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_printer2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_printer2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_printer2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_ready.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_ready.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_ready.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_ready.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan_example.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan_example.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan_example.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_scan_example.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_setup.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_setup.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_setup.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_setup.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_usb.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_usb.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_usb.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_usb.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_wave.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_wave.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_wave.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/images/lv_demo_printer_img_wave.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_printer/lv_demo_printer_theme.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_stress/lv_demo_stress.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_demo_widgets/lv_demo_widgets.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_get_started/lv_ex_get_started_3.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_10.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_11.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_3.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_4.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_5.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_6.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_7.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_8.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_style/lv_ex_style_9.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_arc/lv_ex_arc_2.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_bar/lv_ex_bar_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btn/lv_ex_btn_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_btnmatrix/lv_ex_btnmatrix_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_calendar/lv_ex_calendar_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_canvas/lv_ex_canvas_2.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_chart/lv_ex_chart_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_checkbox/lv_ex_checkbox_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cont/lv_ex_cont_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_cpicker/lv_ex_cpicker_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_dropdown/lv_ex_dropdown_2.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_gauge/lv_ex_gauge_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_img/lv_ex_img_3.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_blue.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_blue.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_blue.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_blue.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_green.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_green.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_green.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/imgbtn_green.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_imgbtn/lv_ex_imgbtn_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_keyboard/lv_ex_keyboard_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_2.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_label/lv_ex_label_3.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_led/lv_ex_led_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_line/lv_ex_line_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_linemeter/lv_ex_linemeter_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_list/lv_ex_list_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_msgbox/lv_ex_msgbox_2.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_obj/lv_ex_obj_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_objmask/lv_ex_objmask_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_page/lv_ex_page_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_roller/lv_ex_roller_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.gif b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.gif similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.gif rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.gif diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_slider/lv_ex_slider_2.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinbox/lv_ex_spinbox_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_spinner/lv_ex_spinner_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_switch/lv_ex_switch_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_table/lv_ex_table_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tabview/lv_ex_tabview_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_templ.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_templ.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_templ.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_templ.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_textarea/lv_ex_textarea_2.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_tileview/lv_ex_tileview_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_widgets.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_widgets.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_widgets.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_widgets.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/index.rst b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/index.rst similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/index.rst rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/index.rst diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lv_examples/src/lv_ex_widgets/lv_ex_win/lv_ex_win_1.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.editorconfig b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.editorconfig similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.editorconfig rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.editorconfig diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/FUNDING.yml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/FUNDING.yml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/FUNDING.yml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/FUNDING.yml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/all-other-issues.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/all-other-issues.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/all-other-issues.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/all-other-issues.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/bug-report.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/bug-report.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/bug-report.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/bug-report.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/config.yml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/config.yml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/config.yml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/ISSUE_TEMPLATE/config.yml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/stale.yml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/stale.yml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/stale.yml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/stale.yml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/workflows/ccpp.yml b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/workflows/ccpp.yml similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/workflows/ccpp.yml rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.github/workflows/ccpp.yml diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitignore b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitignore similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitignore rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitignore diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitmodules b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitmodules similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitmodules rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/.gitmodules diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/CHANGELOG.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/CHANGELOG.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/CHANGELOG.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/CHANGELOG.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/LICENCE.txt b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/LICENCE.txt similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/LICENCE.txt rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/LICENCE.txt diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/README.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/README.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/README.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/README.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODE_OF_CONDUCT.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODE_OF_CONDUCT.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODE_OF_CONDUCT.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODE_OF_CONDUCT.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODING_STYLE.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODING_STYLE.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODING_STYLE.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CODING_STYLE.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CONTRIBUTING.md b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CONTRIBUTING.md similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CONTRIBUTING.md rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/docs/CONTRIBUTING.md diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/library.json b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/library.json similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/library.json rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/library.json diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lv_conf_template.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lv_conf_template.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lv_conf_template.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lv_conf_template.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/lvgl.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_disp_template.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_fs_template.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/porting/lv_port_indev_template.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/Doxyfile b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/Doxyfile similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/Doxyfile rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/Doxyfile diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/DejaVuSans.ttf b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/DejaVuSans.ttf similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/DejaVuSans.ttf rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/DejaVuSans.ttf diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/Montserrat-Medium.ttf b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/Montserrat-Medium.ttf similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/Montserrat-Medium.ttf rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/Montserrat-Medium.ttf diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/SimSun.woff b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/SimSun.woff similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/SimSun.woff rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/SimSun.woff diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/built_in_font_gen.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/built_in_font_gen.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/built_in_font_gen.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/built_in_font_gen.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/generate_all.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/generate_all.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/generate_all.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/built_in_font/generate_all.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.cfg b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.cfg similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.cfg rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.cfg diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.sh b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.sh similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.sh rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/code-format.sh diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/cppcheck_run.sh b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/cppcheck_run.sh similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/cppcheck_run.sh rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/cppcheck_run.sh diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/infer_run.sh b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/infer_run.sh similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/infer_run.sh rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/infer_run.sh diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/lv_conf_checker.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/lv_conf_checker.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/lv_conf_checker.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/lv_conf_checker.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/release_patch.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/release_patch.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/release_patch.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/scripts/release_patch.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_api_map.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_api_map.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_api_map.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_api_map.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_conf_internal.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_conf_internal.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_conf_internal.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_conf_internal.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_core.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_core.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_core.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_core.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_debug.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_disp.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_group.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_indev.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj_style_dec.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj_style_dec.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj_style_dec.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_obj_style_dec.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_refr.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_core/lv_style.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_arc.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_blend.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_img.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_label.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_line.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_mask.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_rect.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_draw_triangle.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_buf.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_cache.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_draw/lv_img_decoder.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_dejavu_16_persian_hebrew.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_12_subpx.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_14.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_18.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_20.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_22.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_24.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_26.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_28_compressed.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_30.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_32.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_34.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_36.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_38.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_40.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_42.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_44.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_46.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_montserrat_48.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_simsun_16_cjk.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_font_unscii_8.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_symbol_def.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_symbol_def.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_symbol_def.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_font/lv_symbol_def.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_gpu/lv_gpu_stm32_dma2d.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_disp.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_indev.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_hal/lv_hal_tick.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_anim.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_area.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_async.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_bidi.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_color.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_fs.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_gc.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_ll.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_log.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_math.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_mem.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_misc.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_misc.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_misc.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_misc.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_printf.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_task.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_templ.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_txt_ap.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_types.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_types.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_types.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_types.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_misc/lv_utils.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_empty.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_material.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_mono.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_theme_template.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_themes.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_themes.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_themes.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_themes/lv_themes.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_arc.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_bar.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btn.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_btnmatrix.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_calendar.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_canvas.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_chart.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_checkbox.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cont.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_cpicker.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_dropdown.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_gauge.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_img.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_imgbtn.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_keyboard.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_label.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_led.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_line.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_linemeter.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_list.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_msgbox.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objmask.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_objx_templ.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_page.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_roller.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_slider.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinbox.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_spinner.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_switch.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_table.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tabview.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_textarea.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_tileview.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_widgets.mk b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_widgets.mk similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_widgets.mk rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_widgets.mk diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/src/lv_widgets/lv_win.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/Makefile b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/Makefile similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/Makefile rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/Makefile diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/build.py b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/build.py similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/build.py rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/build.py diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon2.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon2.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon2.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/icon2.png diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_assert.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_conf.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_conf.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_conf.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_conf.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_core.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_core/lv_test_style.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_main.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_main.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_main.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_main.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.c b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.c similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.c rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.c diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.h b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.h similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.h rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.h diff --git a/software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_ref_imgs/lv_test_obj_1_1.png b/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_ref_imgs/lv_test_obj_1_1.png similarity index 100% rename from software/firmware/oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_ref_imgs/lv_test_obj_1_1.png rename to oracle_e54_edition_pre_port/e54_gfx_learning/e54_gfx_learning/thirdparty/lvgl/tests/lv_test_ref_imgs/lv_test_obj_1_1.png diff --git a/software/README.md b/software/README.md deleted file mode 100644 index 770948e..0000000 --- a/software/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Software Readme - - - -## Goals - - Fish Tank Controller that will monitor and send updates via wifi (or ethernet idk yet???) - -## To Do - - PCB - - Decide on core reqs (ex: do i want wifi or NOT) - - map pins - - create bare software for pin mappings - - fix asf4 vomit <<>> - - Get make based asf4 project to compile (i have toolchains wtf why no work) -## Info - - diff --git a/software/conf/e54_gfx_learning.atzip b/software/conf/e54_gfx_learning.atzip deleted file mode 100644 index d74adf2ddae28a64205312db03c2c1bf67da0213..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448883 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

    @nVf-Z3oSkdGE42U4SNPH_IK`VRC#tVU<} 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⪙j)_M8ojnbJk~ttiQ= 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

1W_a%HN`q-*mQsI-+$d>RpLt*N!b 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 JS3bQ_{vTCuNfrPA diff --git a/.cache/clangd/index/lv_obj_style_dec.h.29E97610FA544952.idx b/.cache/clangd/index/lv_obj_style_dec.h.29E97610FA544952.idx deleted file mode 100644 index 3f276919c3ba40fa9df4079290078ad78ad1efe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34534 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 diff --git a/.cache/clangd/index/lv_objmask.h.9A70250A36E6754F.idx b/.cache/clangd/index/lv_objmask.h.9A70250A36E6754F.idx deleted file mode 100644 index 5b007cac54ccc4bf4f9d059c55d8871378f005db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1612 zcmYjQ3sjP482&&Y3`9UQ1vD?n&0sg_ka?ge>KpoawgexHPk=E5&{M`kDVZ|I7bB-^24>p7-ChRw4-| z0T7h1Hba@19!~%O(BZ94S0$_Q08A|cAfvJ^YRev@i1n{Jr!Bi5M{hHZ+pV`rN!+~3 zSfiI2H;bArhMAlIQhWXM#Fjt}iTok5MH>9zM#qcFp%RMasfPig&KOfbZr|4qrJAa~ z);%#h>l#I0`iY274Ot9DNjjN3!e{N#N!`yU)J=J2;NCfCct`wh35)A58nvK3(~_1; zc+*Z!@`(+L{OfIfpGJ%C!X?KqH?Yp$`oV3ZfFd5<8rIlwIq-Un_orD0{RX5bbMoeRu!MxO5@E+F-R#9~G$& zz2N^LcJ(qY4FCRHDxSuk-U*YlXueKWhi#)x1)y3v-RoPH z&1ky(=cDoVLy~tvg2M2a#;DZiK7*+Rw^yF&<{R#DRl7@@l?5)zPRaZF^Z$479ZHJlDH`fUKi+G$^QrFGxYJTW<7N2#_iLR*tC>2p12+H`TXiC+AERZCam z%s`PYzO{=pQFA`c;pN29ySn>Clbmoe*7fmks`tgbLi?Mw&0Sj40y( zO9F*N;InXSoOdlv@4UOamjaf;Lub6R4Hh5+02%<0Au{!NDPI3Zqye5KVDqVb8!P~_ zdC}n|J5$#GZA`-&8nA`uJSNW$3-jk&|BhtcoYWX7zy)Ry(uFQqz%szU!wiZ3DaxvF z|1Jt}f(!v(z{CQ^u*Mj9U%dC|*;UwSZT_;@UIZ_DEX-=y*+7kNdP4`E4P1_<0#~dm zNRt!g=1vzAEwE0H*UPOnzwDZ!0!PFUQ^Z`zup;9*45%?gYfEzr=?$U*ci72N%2GNO z<~#Y&apie+%i-Hpz(ooYmgEztKwX4$W3S&Yjp@;nZ-UDh@|w^9g(k8X>X+ zXE|%boC@-Quy}U%b1;=H0TRZ1QnpMaTZ0s+Y`I9j1~rZJaf@fInG^7@@SNHHM3D)r zU=SG0IdtAI$Tqu$;OJ8O%r^-QbP|;<24eF3xY%MxvHOCzmEypUZxVq-w4g$+jJKdd zuAGM|L`wj3nl}LDM9xFlY&(LH-4Hf=jo`zRx>u1A6ZxX-RZ}X9CH4+r3E}}T-xL52AJP8-&(0b# diff --git a/.cache/clangd/index/lv_page.h.2E23B71B2A0EE390.idx b/.cache/clangd/index/lv_page.h.2E23B71B2A0EE390.idx deleted file mode 100644 index b35a8c02f690b64a6dc8d2d48db9b0c2abb2cf8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9334 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 NsMzQjBv#OZ{2yJ`KVtv@ diff --git a/.cache/clangd/index/lv_printf.h.12D4947AF1B38959.idx b/.cache/clangd/index/lv_printf.h.12D4947AF1B38959.idx deleted file mode 100644 index 7449d45c6828b98ed65754dd4538fcec73ddb576..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 918 zcmWIYbaU%tW?*nm@vO*AElFfyU|9zruJ_wU4}kiYMH9{=@F-O=EsH?J`5-X8Ph-4O@( zF0-wWn!D^m*UOAXIk#r!pb3uAQ3tOFT3H@2+oo$(!MymX!M3K>3y%xyuP;8l<$1F& z+yBh9(kUD_KFB$jt81hxv+j64!SUY(XPJga8&U;sH@&iSG2Cb0oEa6Obu(1WjE6(W zqTs?2pPP#_&RG5r(Y>7TXeO)k#^>%KyRN{+h*^*VtS)!(0fll@YZl-j{!y?kfnkx%nVwy|td z+^)0v_|g}mGW(amS}mOZM{X(O>jMU7O}52dN@SWPwKm1Ww_xHGoA+GrPQ1BnQG9u` z$h?O=WqQkPKQA&(Jf5lJ7{tuBH~ztN;{yv{@BI?FY}3mcRv*_*kFr>gc6YbGw%XV} zJ@Q*Jr#S!mto8Meo+;Gd+qH74s=UJSX9uSSgkF98bbsR+`?%|q?<`T=bcbaJi*{mX z@FDq%Kd#qyK1*Hrs^4`r?=`26dwd#hOZ2jYrf&3-dT1%k>RTmntY5l6?~$96U-UQV6ZRq{+kEqBZ2j~)dP?7q4IKHmH+ZW!t&cr?-QZ2@Osi$jM5Lwjl6KFGSDf^$(wq0z`RqCw z?XU9LUs?58e;;3Nd2@OBt{<#RB6$B4SLP;p08`b;J7Mmd|9-s6!@$eH!1a!ew_5FUxYW;N4#a7#LUUg!N3j@f&fk!gMonq!2|%z19Ff6 diff --git a/.cache/clangd/index/lv_refr.h.23C65DD2EF0B7A61.idx b/.cache/clangd/index/lv_refr.h.23C65DD2EF0B7A61.idx deleted file mode 100644 index a4e1cded67d7bd0569a3d5d99a6c8e44315bf04b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1318 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 diff --git a/.cache/clangd/index/lv_slider.h.51CDBBA38D6ED6D6.idx b/.cache/clangd/index/lv_slider.h.51CDBBA38D6ED6D6.idx deleted file mode 100644 index 28756e32834b356a59640179224390fefe2743e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3906 zcmYjS3p|ur8$X9PX3T45Fz)xb2qaC@HIOq18|tNv}ORcpGCNQkWGS~O?ARBPH;6C$kI zvt@p2St#?vpDxA~i+|!dR31)`{C@q=U5DC2!yUf;6>I8j7GAjL7_M-;m$iHEteOH= zsdsjlAk^EM?A=r6(PwFG;~>6!iS!~5|FFW{l+2I)RXOsyyXF2hSN^a+ddM2aWbc?R z{_rVcovjD+rJ~PwpiZ+s)+E*d4(%#Dt{fj(MJ4S2EmzLD=GQxps!FbAnG0fSV*O*H z-#@$Pa_91gj@0HU_fiFqE%Vd<4y{f0wRa8c5zi|>9=o{s^>)q$y~WRL)dhW*6~)!x zyZ?CcO3l8xo`RZAn-6}cUJ~rTm!F!R<8tbppPX>H-|C+)KJRg&b~OfCv@2de7CiOA z91p7%H#23AF3jPt9hg~sU}1W$C~8WvLfA#MtexNQUvVQ|w z)<+#5d)~)Y{?(sSJes2UkKw(#c~@Kb!hzCZCmj7jziT!E046g7x?-d z*Yyz(EEdnu%&x6s{yy&*v#p~np{(H2o5b+1ul@8J&6SvEqdK{E-8TN0qBg_`zxEjq z=HIl-Uh{*}oKG9hd^|}gZZSTyaKpXXV*D2JHZ9T3;K6za+h_$kPelezW@IpGocQtIvN+9CmkfxssJ8e*O(UI8#^j zV$0@trSEl_Y6*iLHjbIPKIVpp&E6(j%X5e0BPv-{jU&S~#o=AoT-~Zt8RnH&f^Y4G zwdVG(zRhxeGt2Tq^pS^C-a40NE^qV{qZol9GK+k@t*neQ8HS2FSe{ztnz&eb^EmyqoE-iqhyGi~Ow>>rK`)E+i2J_LrE!$R$7UTN@ zK0hye|Lh(Pn2J0&5l-r~pgow;9;h8(XV@**tsuc1ga}aynMMnQ&{9&MYvRI-4KQS| z14!U7<`ht#EKhBO(BMFO3zUajs5127pU@$}ER4v3j2tMzsI%qhn$7ko?M|)@93_DV z@*`9cn$iLxbW~WhpG9U~uLp+xZCGF)Lh!kK16m*iZ4~(tKJefD{QjC?Ht<5(TJx;+ zXfdAcve7!9fCu>vEZ~SNP%@MfEock+03ZvY%#pSyfo}~+;EoW9Dv2hvKnPtPla3v#J^WJF z%w-4JU2$~1Tzt$ z0qQqETj>X(G`aHgBrmAnw=70=$c|#I7BSZmID?o2~?1ND1>?!p9j;!D2 zwDz=xE(u%^>MT?{iHF@=$OjK6pTvleYgD2vtD98yboiq)8*NG+i!R;vaLTbZaj)S-ZnLDn&- zk5j{pMR*BaF&@(tsU;l6YRpZ@9OI-^?`m&u*goo=BTG^#kdXq_$KO4b1{rCS*BOwJ zF|l^@y*z5xSrv@JT1G76VbWrPBR5iFOC4bV3QIz19M;?~_S;_`XrF`XE}A9s#J5SJ zO0us(HC$TEcv*!prb~~LRH9Sj{E3hoAiDwTVM6$N=I)$Ut^Ey!*aV3tsDw9gcR;a7 zS_6&+HwC1YbOfvp$k*7~zwRuTLsFi=lYt9~Ryv->lU8<~&J!!4nNWaJCaDn1km>kd zNGifCLNHEiN;FMGO{AS@nrJBBpg{%XkGCOIRKYdqfQw3^E@9UIopD)$7uMXqT%8}rBq>|MmWAIVNeP{Wb0#I@ z7UDT68Rv*O6Ujt)Mfgsvav;co@{_}77eLj?;j>Gi>g4d*XQ3(%Kcu#_r#t5tMRa`? z5L7_vAOir`2i=pTFXMZ{{TRIwNi)W3l1hcVR5+=sEs)a!&2iT8BDejw{{Q1Ba$`+c ztKhd0-~C|d{4b~PB6SKhNP%|P>kjqMX9=60rl1#_0Sz)HHc09=3w2+${kaYv<gaK)s1^$S^x zLAd{+5=%xBu4Q>}i`%o#$6?5%5}`ECkV{2d&D_J3S0S_ai(?H+ni18Xvm*oI{4`?BA%Ei79mu%@jqtG#H{LlWeE!`J1+j_P#KVOc+-(L{UHAKp)IUMiPf#Co z09Op1fgcvykPJ;67!ZX=u9hrfMQdXPk{@;wG4^MJe*j=R{!@l3 RFYjWp-&CZ@+SuBG{{Tet9YX*B diff --git a/.cache/clangd/index/lv_spinbox.h.692EB2B3D9E1C67C.idx b/.cache/clangd/index/lv_spinbox.h.692EB2B3D9E1C67C.idx deleted file mode 100644 index 411d5285d966ddc52981fe3d7ca39bc679b9529e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3502 zcmYjS30M=?7QO=$h%jN1MS>s_2}=SQwj_XvY>6n^4@E(rPy-gCREQEmlpU)9Z7m>` zR|?OqPehT5PoF!8xV&mDS`m?@EENUyiC9t8BE2)rjn4ORzL|4>{&VhG{w$d+uH4}rcEgVSvd62nJYj8Bd-C0_oS~7Ci+$^Tmab=Q(mNZ{tGFL5 z+oJFH&TzHzr{2U{oR<6#amTi$uDP_f_ekQxK%aI47yID#+$}tTzMorwOjlX=hS&Q><(s)V0o;5&HF>C91;RmV)$P;gbHkLGd88ab?aL#Q`L){lVkYB3fI(*{++LD4wNmaEj_THs8Du(DYsX&M|M8%+LZ%) zht|~melDhBdCgX(*Dq}yQ8j~4CZ3nyCvW7M0b8}y0TBV)tOLtjs^H|s9Ts@!lY z_!7rrbY@pmU&ECE9pzsx2Oh-yy$cXX%O ztsu_sL&F@K8+c5-{gcW&CZq8?ogA9R%0B1Ce5UZV2>o>vk9@gcO@Fz)p-|FZ{nFNC z92Z-~=4N|+H(h>OU;UyWG3SR%qxVloChcFkKx3Ngl|B8<+q8^oeL;QLm*>iIt{spy zW`-a4DQ|Z?c%^4_!-uSf#zp--?!wR&~#p%m6!H9+90UWL4tM z>(z;^PCkXzWSwe{w6>@uk2}tLm#mW{uJs?t5eF%oM%A`+{yZI+x3T5YaB}QlrauPv zdlMnyL%l+xoSVJev2W|00nOU6k~)5F(1i=qtg52+hRRve9eBvm$kY7vLC?6U3u-zw zssAb6FZP%dVIoLKc(XXB;YQ9ei*J@acza5|vZS`yVX$6QFmbEpPPw^rWUG zmy|lM&Zt<~>r75Mc}&Rsz41;ES4zp&W$a=C%${@rGM$w^6HLKpSWF3X#z@Tc zOtWL8GoEh*f+2$o;bK7>ErU(|G^ZK7{Q?5`AqE9YK{42xvuOqg1Acr!T1z_t0uiDF zW0hcBh_N!(r!fo0l%%sDtIi07z$gMjU_l#gl*Jb|Y-7I;s4xNoc<#n=v!adme2F^y z)~RVmp++DSp1TsR=CskC$K@(==No@+W(@2BAjP=Ynl>;4n3Ag_yyxbwZOb?8KU_xu zDaulVu{D?toh9x;VKRH#YPixTi;aK_j3VNQtZAc-QaJoo&#ODnF+<=BqxhQm+S6t- z3ILE{r(Tws@5;e60?b8GqFK>YC9F*ex)R0v1{}xx=XV%`nUKR9_qL?XCz+nY*#plf z=IIe&4&sPlMNoNiO$=y`hTHQSzr0ib#t?`hhr5pZRNBxSc61)sT#vboR2n=ZfIs3; zu~bwZ)2DK1j-Ss-uG_vnQf&-)kVA?~XVB)8JZ@CYd~-Y2VLk!85ywG{b&%<+4$X4& zsk7&8*W4TXPl2*_b3j+TyAw9#fV8kjV3_T4z#g#g5% zWGSs+6dN-`n&CC)X777XCs;Etgpe7^sNPL8!aVu#wy6n;>UV>xB1arHbFY$&W5Nq1nGji7@}PzNC7S|L_0;0LR@HwIzf=pqG+*p4oQ_r zCDu*@sR~ksef-j3K!fR{%|Kd$8BA&ja{(kF*px}>VB7|^FK+o)e0T)&SGp<1s5B@= zNJ41|0|rP%APKD=j2}q{bTg8{90b3UWIf#78Kg^)ZnztPiZv7_ns=`N^Y1eu4~=3#v84w4$oR)g_TzX@1# z>k^EInm~}{m~}bE)9xEtg;`f&JniO?2Qlk|7!T<}Z1aIf1H~sfIs_Tv5doEG@}a_l zJdF7P0su`mEGebS2o_(o{GKf5;YR45!JYv%X!2PX&QAV(BFzbwRBA8vM=FJKhJ(VW zHiJjA0BI<_Ml_nSD?>{czxj$qkgm9^A!;i@`m%kEk&F|hLagxrSXjjZ#o~`&>Ed*M zR7&(8FbbvmC<^Kj%!*cd#*gLzqA7hxXw+SZruCfhBQb|)O34u#^%SCMXQG$3ze3=uZybw>xF2WCQ3H_QItxxTpBkpK{P%phkqmQmqAAxRD z+*DgKv=oq?mSu(o?HF{^T8zk36V}C1@9NamYLa?!qs-(ZLN5TgYhQK9W8K`wYb}lA Jx^5zO@HbVlOBMhC diff --git a/.cache/clangd/index/lv_spinner.h.8A37EC7C656E65F0.idx b/.cache/clangd/index/lv_spinner.h.8A37EC7C656E65F0.idx deleted file mode 100644 index c2e1ead26936d5967b3c9578ef95a6601f350950..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3236 zcmYjR3p`Y58-LF@w$6F*^T8D_N^T97s5_4r)UWu}WZ62^;vJ3$%2NwNcWzv^?VD1?a~Zc^I|PRh zPmtvq!|qwR6_%b2b+O65o69xb4F7kf-?_JK;AVA4&Z_re-nl+u#b1ngE{}Uwg$shn zdEx%iojsMT)V3F`W2X&R^E*Dh|C$x{^R3Ji>?Ji}gE!K$pJ_`JTY7tPy2PVVGn#5^ zRBP7%-BM^ea%6p?Uj83KV3~7N`7Int5FrwR!QnB?2|u4@U=WcQih} z|9RY0nl@gx_hI6afK>CYzcgFhUprs^;vnA8So77VBi)9hUT{tG^9;!VXUXH7%cAE~=WpShP~7qkLcEDlMfSd%YuUl`@8!JmXbQDyON$b61w#BQsvj z4DotJ#QA=Tit=myaCdhcTe7VBJKfc`rFt70^lsletpAf+ZQnoZ$cEy&!`%m(4MHzY zL<^gb_YbBO-M&6{>AAGIIksrw{=?n>?Q@`opgPAr}f z92!V5uR0yLaaW`R@5a->JC)sAzP`QxJ|b`E!S8h2C@Zs7d%Xy2z^lFXhckEs0cwSVHLzZpxu@pZUCjh0@HhYu;L!#m zAl#ZlD6ReR>e|`0Cz-$$BK&YaK5eEUW<>W0H|47xV*&$+aKs(;Xfq9=S)}2$zqAG; zfCF6zgoUVu=tG1S!La`ZX3_b&!Sl^w(IpLFJ`0fU+U|z50m@Vz@Wb5{LF_a?Uq}F_ zNe3XaF;+Ha31hI;6z!-=t&YzAR@kvKhY5^e0$P%+Dv8u0M-!je3$st zx-Om?5JH3}!*eEWXoNnESb5~=^|GwqXKKI^BAi%GMzon0BPQAFQp<3GhzVvxgf(t$ zM4M^%i1m&cx4HfjPR$S^d~hFa+Dt=i9>`M|uj7vsz!mjNtSII|gpP)aw-u~3S*tI` zIeT#|0YnIqq?p8k2wj#kjYxg&LCkU#XJ`Nm*bP@rS2k_r-N;;I^dxj{XPp{whgAf! z0%y}^vI_dHh5P+I|Fr5UCcr$DqY_iB#B?A=Zze`(DQ`H{wRqieCnn&-C^oo_5p5=; z&>L7qoMRL(Ez%)?8;TOA7-s+xTuoIv#>qW*UF;d`KL{`%A#yR5T#OGfY&9h>YC9Tr zU!>Q%x>*ol0m7s!rc;%0m^0`o%>&!sg|)OlX98nbi4|^TM4M@qTs6;X_W7P8(g2>Y zBO-N?CT-*$d3o#II)$7!A_6$098yeEiW$Qg+Ug39R2}2jbY49f?b*TvJeb7+ci_@y zS{8|TZNdk*_lUok3gWFSC?YMUI!RWU8!;8SDVoZ>0MQe=DQ+S+;v|etb5Z6;M1*LH zg$RxK2hlR#$xifLxm(wN+aSUS(nr_F9Bn4zA`C+j5rshngl>v`$ZbF2e0J6kLOu-Q ztM6-#{_O7b;cA&h^+)Iq;0HLOYa^DzAQVMW5RcCesgL*fyDJc+2p17(RsXLE1IJ2q3lXR2#Q#GV>(v9RR4QC?A z#)N1{1iYk0E+#;iBw)p6`Irr=m>{K?i4?O!>xv`^Hi6P3bOVC)z&+Tg+XR_zmF_Z? zQi=g7#zG;2fAcWw*g1L=j>;8xWg+PZZ(Ei%bR{tcx;1f4d2f)y!In|-h7zLXfo@9E zkQ+4w?jEgSGC%4Cbko8mbEDKS2qjr42ofvkrj!b~ce)mJR+Pm40t@8e965T|$IH)` z1&w9GT@ok@m}pA~(n;BgiP}Ywfy#kQ6ga=6pz!i`{&k!n-Eg;AXwwN&Y$x_WS0Lb| zKsLslnp7obQi<6ip+vv%PBNjC6^c|6mQP6}Dj#hJ#M6=}^P|B-w@e3R2d7k89CWH~ zFNW7;<7^ES22B;>X-$;*ks!jPlo}#*>u&{1C3U(C=vGozlJ^V|4!S92L};`jFt$t! zWhY1oA)Zn}gqMip!l~y3Nn`@8=5x^r0D`GUo2f@z`6GkeHNpzxQ(q~F8CL~ CYv+Uj diff --git a/.cache/clangd/index/lv_style.h.BB6C5690E3D58F07.idx b/.cache/clangd/index/lv_style.h.BB6C5690E3D58F07.idx deleted file mode 100644 index c3fd35e4dd0e3b472e22c8c45e44cc5c456e58f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20196 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 diff --git a/.cache/clangd/index/lv_switch.h.F624B9C1418BBD1C.idx b/.cache/clangd/index/lv_switch.h.F624B9C1418BBD1C.idx deleted file mode 100644 index bc933335679cde46bf19438740a973fc499546ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2368 zcmYjQ2~bm46n%jZ3HfFr3z&rUhp-4)1O!|lVr`M7qY+#pRD{5wkeVh)K^luzq;)|S zwJwy_K&yzQ3J%4g8Wlm*f`wKEkwS|_sBNVp6&JKGKfJVmCU@RH|K#5L?mb7j^vyRz zsQ@fiFU{4YWv?d#0GRNn&(>{dw*epoe#@=sNJ!drRK}UmZ*4V^aF7XZMt9E*nq2Hry#uM0J17co;8YUI?$y*F9<#FKk-2hfm>TUyD1m z9ot&}!-#7|#|dNDAUnN`*1~b7#{07jgOupXG^R}E+n^9*?M-~@O35t2SIatiE+^|m zj&1JMq(@s9GzyI#CrNwxj_>gnol+NzOV-I(_?+p~n6TRKjct_COTmG+INSxtcgE}= z3|pJ`^H}YTy1u&pl`D@fX`AcVaIDxkH|N0ek6*bW~(!Ob;S&bap)JEG)C>Ycl*zfQ=UZ0fx6Ysur!(z`>S{9Jo!>iltb z$o@z{`*3*l3krSnvk#WtJSz_xzgKkrIAd)_^X{yn(yE=QCpNw#&M1*r)K^6e(h^I{ z_r)aMdd!P0P>$NN?mRkdVXvCs5{LqXUn}v&HVZ9Mf2-idorI7 z{qy_djiIA|?sy`pIo4S9(8xa3d;dkomcLs~F8AW5#vgXHw>JxuvM8o4ArI8bZ{rj# zSKqi6`Nq}LyIONTY+F&#cy{b#G5<3Zq@UFyAq* z(@WEafNyW^Kid&^K7e($xfebdu*QoTM;lfs93p4p*mHoVuhg9c^;fCn*y+=&3FX5j-s z!byRoq_TIKn8g_IBOpkNv5R3r2E$>7+!Zns&SZ5>P)FKmKny?n*!ZxBK;&Q%In>k; zNm%CTF$Qpi3<+7nB?7_Vx(Q(pjZj!Sm0f*;0XUE$Bg>qKKroyL#-=vyy!*3P+{S